@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,491 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
8
+
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
12
+
13
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
+
15
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
16
+
17
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
+
19
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
+
21
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
22
+
23
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
24
+
25
+ var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
26
+
27
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
28
+
29
+ var _react = _interopRequireWildcard(require("react"));
30
+
31
+ var _lodash = require("lodash");
32
+
33
+ var _react2 = require("@storybook/react");
34
+
35
+ var _react3 = require("@storybook/addon-knobs/react");
36
+
37
+ var _tableData = require("../../../.storybook/data/tableData");
38
+
39
+ var _RecordSelectionList = _interopRequireDefault(require("../RecordSelectionList/RecordSelectionList"));
40
+
41
+ var _Modal = _interopRequireDefault(require("../Modal/Modal"));
42
+
43
+ var _Card = _interopRequireWildcard(require("../Card"));
44
+
45
+ var stories = (0, _react2.storiesOf)('RecordSelectionList', module);
46
+ stories.addDecorator(_react3.withKnobs);
47
+
48
+ var RecordListItemsExample =
49
+ /*#__PURE__*/
50
+ function (_Component) {
51
+ (0, _inherits2["default"])(RecordListItemsExample, _Component);
52
+
53
+ function RecordListItemsExample(props) {
54
+ var _this;
55
+
56
+ (0, _classCallCheck2["default"])(this, RecordListItemsExample);
57
+ _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf3["default"])(RecordListItemsExample).call(this, props));
58
+ var selectedIds = props.locations.map(function (loc) {
59
+ return loc.node.id;
60
+ });
61
+
62
+ if (props.canSelect === 'one') {
63
+ selectedIds = (0, _lodash.sampleSize)(selectedIds, 1);
64
+ } else {
65
+ selectedIds = (0, _lodash.sampleSize)(selectedIds, Math.floor(selectedIds.length / 2));
66
+ }
67
+
68
+ var unselectedIds = props.locations.map(function (loc) {
69
+ return loc.node.id;
70
+ }).filter(function (locationId) {
71
+ return selectedIds.indexOf(locationId) === -1;
72
+ });
73
+ var unselectableIds = (0, _lodash.sampleSize)(unselectedIds, unselectedIds.length / 2);
74
+ _this.state = {
75
+ selectedIds: selectedIds,
76
+ locations: props.locations,
77
+ unselectableIds: unselectableIds
78
+ };
79
+ return _this;
80
+ }
81
+
82
+ (0, _createClass2["default"])(RecordListItemsExample, [{
83
+ key: "render",
84
+ value: function render() {
85
+ var _this2 = this;
86
+
87
+ var _this$props = this.props,
88
+ _this$props$canSearch = _this$props.canSearch,
89
+ canSearch = _this$props$canSearch === void 0 ? true : _this$props$canSearch,
90
+ canSelect = _this$props.canSelect,
91
+ canRemove = _this$props.canRemove,
92
+ totalRecordCount = _this$props.totalRecordCount,
93
+ onSearchChange = _this$props.onSearchChange,
94
+ maxRowsVisible = _this$props.maxRowsVisible,
95
+ searchValue = _this$props.searchValue;
96
+ var _this$state = this.state,
97
+ selectedIds = _this$state.selectedIds,
98
+ locations = _this$state.locations,
99
+ unselectableIds = _this$state.unselectableIds;
100
+ return _react["default"].createElement(_RecordSelectionList["default"], {
101
+ searchValue: searchValue,
102
+ onSearchChange: onSearchChange,
103
+ canSearch: canSearch,
104
+ searchLabel: 'Search Label',
105
+ selectedIds: selectedIds,
106
+ unselectableIds: unselectableIds,
107
+ loadRecordListItems:
108
+ /*#__PURE__*/
109
+ function () {
110
+ var _ref2 = (0, _asyncToGenerator2["default"])(
111
+ /*#__PURE__*/
112
+ _regenerator["default"].mark(function _callee(_ref) {
113
+ var limit, offset, search, results, filteredLocations, recordListItems;
114
+ return _regenerator["default"].wrap(function _callee$(_context) {
115
+ while (1) {
116
+ switch (_context.prev = _context.next) {
117
+ case 0:
118
+ limit = _ref.limit, offset = _ref.offset, search = _ref.search;
119
+ _context.next = 3;
120
+ return new Promise(function (resolve) {
121
+ return setTimeout(function () {
122
+ resolve();
123
+ }, Math.random() * 1000);
124
+ });
125
+
126
+ case 3:
127
+ results = [];
128
+
129
+ if (search) {
130
+ filteredLocations = locations.filter(function (location) {
131
+ return location.node.publicName.match(new RegExp(search, 'ig'));
132
+ });
133
+ results = filteredLocations.slice(offset, offset + limit);
134
+ } else {
135
+ results = locations.slice(offset, offset + limit);
136
+ }
137
+
138
+ recordListItems = results.map(function (result) {
139
+ return {
140
+ id: result.node.id,
141
+ title: result.node.publicName,
142
+ subtitle: result.node.address,
143
+ isDisabled: unselectableIds.indexOf(result.node.id) >= 0,
144
+ note: unselectableIds.indexOf(result.node.id) >= 0 && 'Location already in group!'
145
+ };
146
+ });
147
+ return _context.abrupt("return", recordListItems);
148
+
149
+ case 7:
150
+ case "end":
151
+ return _context.stop();
152
+ }
153
+ }
154
+ }, _callee);
155
+ }));
156
+
157
+ return function (_x) {
158
+ return _ref2.apply(this, arguments);
159
+ };
160
+ }(),
161
+ canSelect: canSelect,
162
+ canRemove: canRemove,
163
+ onSelect: function onSelect(id) {
164
+ // Typically you'd want "many" or "one", so you'd only need one side
165
+ // of this conditional.
166
+ if (canSelect === 'many') {
167
+ if (selectedIds.indexOf(id) >= 0) {
168
+ _this2.setState({
169
+ selectedIds: selectedIds.filter(function (selectedId) {
170
+ return selectedId !== id;
171
+ })
172
+ });
173
+ } else {
174
+ _this2.setState({
175
+ selectedIds: [].concat((0, _toConsumableArray2["default"])(selectedIds), [id])
176
+ });
177
+ }
178
+ } else if (canSelect === 'one') {
179
+ _this2.setState({
180
+ selectedIds: [id]
181
+ });
182
+ }
183
+ },
184
+ onRemove: function onRemove(id) {
185
+ // The component maintains state of the records it has loaded, but
186
+ // it's up to you to remove them from your list in your local state.
187
+ // Also, if for some reason you want to have selection alongside deletion,
188
+ // you should be sure to clear out the selection at the same time.
189
+ _this2.setState({
190
+ selectedIds: selectedIds.filter(function (selectedId) {
191
+ return selectedId !== id;
192
+ }),
193
+ locations: locations.filter(function (location) {
194
+ return location.id !== id;
195
+ })
196
+ });
197
+ },
198
+ totalRecordCount: totalRecordCount,
199
+ maxRowsVisible: maxRowsVisible && maxRowsVisible !== 'auto' ? parseInt(maxRowsVisible, 10) : maxRowsVisible,
200
+ noSearchResultsEmptyState: {
201
+ headline: "Nothin' here...",
202
+ icon: 'no_matches',
203
+ primaryAction: {
204
+ text: "Show all, y'all!"
205
+ }
206
+ }
207
+ });
208
+ }
209
+ }]);
210
+ return RecordListItemsExample;
211
+ }(_react.Component);
212
+
213
+ stories.add('In a Card', function () {
214
+ return _react["default"].createElement("div", {
215
+ style: {
216
+ width: '320px',
217
+ padding: '8px'
218
+ }
219
+ }, _react["default"].createElement(_Card["default"], null, _react["default"].createElement(_Card.CardHeader, {
220
+ title: "Card Title"
221
+ }), _react["default"].createElement(_Card.CardBody, null, _react["default"].createElement(RecordListItemsExample, {
222
+ canSelect: (0, _react3.select)('Can Select', [null, 'many', 'one'], null),
223
+ canRemove: (0, _react3["boolean"])('Can Remove', false),
224
+ locations: (0, _lodash.map)((0, _tableData.generateLocations)({
225
+ amount: 50
226
+ }), function (o) {
227
+ return {
228
+ node: (0, _objectSpread2["default"])({}, o)
229
+ };
230
+ }),
231
+ totalRecordCount: 50,
232
+ maxRowsVisible: (0, _react3.select)('Max Rows Visible', [null, 3, 'auto'], 3)
233
+ }))));
234
+ });
235
+
236
+ var ExternalStateExample =
237
+ /*#__PURE__*/
238
+ function (_React$Component) {
239
+ (0, _inherits2["default"])(ExternalStateExample, _React$Component);
240
+
241
+ function ExternalStateExample() {
242
+ var _getPrototypeOf2;
243
+
244
+ var _this3;
245
+
246
+ (0, _classCallCheck2["default"])(this, ExternalStateExample);
247
+
248
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
249
+ args[_key] = arguments[_key];
250
+ }
251
+
252
+ _this3 = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(ExternalStateExample)).call.apply(_getPrototypeOf2, [this].concat(args)));
253
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "state", {
254
+ searchValue: ''
255
+ });
256
+ return _this3;
257
+ }
258
+
259
+ (0, _createClass2["default"])(ExternalStateExample, [{
260
+ key: "render",
261
+ value: function render() {
262
+ var _this4 = this;
263
+
264
+ var searchValue = this.state.searchValue;
265
+ return _react["default"].createElement("div", {
266
+ style: {
267
+ width: '320px',
268
+ padding: '8px'
269
+ }
270
+ }, _react["default"].createElement("p", null, "This input will control the search of the following RecordSelectionList"), _react["default"].createElement("input", {
271
+ type: "text",
272
+ value: searchValue,
273
+ onChange: function onChange(e) {
274
+ _this4.setState({
275
+ searchValue: e.target.value
276
+ });
277
+ }
278
+ }), _react["default"].createElement("br", null), _react["default"].createElement("br", null), _react["default"].createElement(_Card["default"], null, _react["default"].createElement(_Card.CardHeader, {
279
+ title: "Card Title"
280
+ }), _react["default"].createElement(_Card.CardBody, null, _react["default"].createElement(RecordListItemsExample, {
281
+ canSearch: false,
282
+ searchValue: searchValue,
283
+ onSearchChange: function onSearchChange(newSearchValue) {
284
+ _this4.setState({
285
+ searchValue: newSearchValue
286
+ });
287
+ },
288
+ canSelect: (0, _react3.select)('Can Select', [null, 'many', 'one'], null),
289
+ canRemove: (0, _react3["boolean"])('Can Remove', false),
290
+ locations: (0, _lodash.map)((0, _tableData.generateLocations)({
291
+ amount: 50
292
+ }), function (o) {
293
+ return {
294
+ node: (0, _objectSpread2["default"])({}, o)
295
+ };
296
+ }),
297
+ totalRecordCount: 50,
298
+ maxRowsVisible: (0, _react3.select)('Max Rows Visible', [null, 3, 'auto'], 3)
299
+ }))));
300
+ }
301
+ }]);
302
+ return ExternalStateExample;
303
+ }(_react["default"].Component);
304
+
305
+ stories.add('Search Controlled by External State', function () {
306
+ return _react["default"].createElement(ExternalStateExample, null);
307
+ });
308
+ stories.add('In a Modal', function () {
309
+ return _react["default"].createElement(_Modal["default"], {
310
+ isOpen: true,
311
+ onAfterOpen: function onAfterOpen() {
312
+ return null;
313
+ },
314
+ onRequestClose: function onRequestClose() {
315
+ return null;
316
+ }
317
+ }, _react["default"].createElement(_Modal["default"].Header, {
318
+ title: "Modal title",
319
+ onRequestClose: function onRequestClose() {
320
+ return null;
321
+ }
322
+ }), _react["default"].createElement(_Modal["default"].Body, null, _react["default"].createElement(RecordListItemsExample, {
323
+ canSelect: (0, _react3.select)('Can Select', [null, 'many', 'one'], 'many'),
324
+ canRemove: (0, _react3["boolean"])('Can Remove', true),
325
+ locations: (0, _lodash.map)((0, _tableData.generateLocations)({
326
+ amount: 100
327
+ }), function (o) {
328
+ return {
329
+ node: (0, _objectSpread2["default"])({}, o)
330
+ };
331
+ }),
332
+ totalRecordCount: 100,
333
+ maxRowsVisible: (0, _react3.select)('Max Rows Visible', [null, 3, 'auto'], 3)
334
+ })));
335
+ });
336
+ stories.add('Empty State', function () {
337
+ return _react["default"].createElement("div", {
338
+ style: {
339
+ width: '320px',
340
+ padding: '8px'
341
+ }
342
+ }, _react["default"].createElement(_Card["default"], null, _react["default"].createElement(_Card.CardHeader, {
343
+ title: "Card Title"
344
+ }), _react["default"].createElement(_Card.CardBody, {
345
+ isSectioned: false,
346
+ hasBottomPadding: false
347
+ }, _react["default"].createElement(_RecordSelectionList["default"], {
348
+ canSearch: false,
349
+ selectedIds: [],
350
+ unselectableIds: [],
351
+ loadRecordListItems:
352
+ /*#__PURE__*/
353
+ (0, _asyncToGenerator2["default"])(
354
+ /*#__PURE__*/
355
+ _regenerator["default"].mark(function _callee2() {
356
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
357
+ while (1) {
358
+ switch (_context2.prev = _context2.next) {
359
+ case 0:
360
+ return _context2.abrupt("return", []);
361
+
362
+ case 1:
363
+ case "end":
364
+ return _context2.stop();
365
+ }
366
+ }
367
+ }, _callee2);
368
+ })),
369
+ noDataEmptyState: {
370
+ headline: (0, _react3.text)('emptyState:headline', 'Nothing to see here'),
371
+ subheadline: (0, _react3.text)('emptyState:subheadline', 'There is none of that here'),
372
+ icon: (0, _react3.text)('emptyState:icon', 'team'),
373
+ isLineIcon: true,
374
+ primaryAction: {
375
+ text: (0, _react3.text)('emptyState:primaryAction text', 'Do something about it')
376
+ }
377
+ }
378
+ }))));
379
+ });
380
+
381
+ var RecordSelectionListSearchExample =
382
+ /*#__PURE__*/
383
+ function (_Component2) {
384
+ (0, _inherits2["default"])(RecordSelectionListSearchExample, _Component2);
385
+
386
+ function RecordSelectionListSearchExample() {
387
+ (0, _classCallCheck2["default"])(this, RecordSelectionListSearchExample);
388
+ return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf3["default"])(RecordSelectionListSearchExample).apply(this, arguments));
389
+ }
390
+
391
+ (0, _createClass2["default"])(RecordSelectionListSearchExample, [{
392
+ key: "render",
393
+ value: function render() {
394
+ var locations = this.props.locations;
395
+ return _react["default"].createElement(_RecordSelectionList["default"], {
396
+ searchLabel: 'Search Label',
397
+ loadRecordListItems:
398
+ /*#__PURE__*/
399
+ function () {
400
+ var _ref5 = (0, _asyncToGenerator2["default"])(
401
+ /*#__PURE__*/
402
+ _regenerator["default"].mark(function _callee3(_ref4) {
403
+ var limit, offset, search, results, filteredLocations, recordListItems;
404
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
405
+ while (1) {
406
+ switch (_context3.prev = _context3.next) {
407
+ case 0:
408
+ limit = _ref4.limit, offset = _ref4.offset, search = _ref4.search;
409
+
410
+ if (search) {
411
+ _context3.next = 3;
412
+ break;
413
+ }
414
+
415
+ return _context3.abrupt("return", []);
416
+
417
+ case 3:
418
+ _context3.next = 5;
419
+ return new Promise(function (resolve) {
420
+ return setTimeout(function () {
421
+ resolve();
422
+ }, Math.random() * 1000);
423
+ });
424
+
425
+ case 5:
426
+ results = [];
427
+
428
+ if (search) {
429
+ filteredLocations = locations.filter(function (location) {
430
+ return location.node.publicName.match(new RegExp(search, 'ig'));
431
+ });
432
+ results = filteredLocations.slice(offset, offset + limit);
433
+ } else {
434
+ results = locations.slice(offset, offset + limit);
435
+ }
436
+
437
+ recordListItems = results.map(function (result) {
438
+ return {
439
+ id: result.node.id,
440
+ title: result.node.publicName,
441
+ subtitle: result.node.address
442
+ };
443
+ });
444
+ return _context3.abrupt("return", recordListItems);
445
+
446
+ case 9:
447
+ case "end":
448
+ return _context3.stop();
449
+ }
450
+ }
451
+ }, _callee3);
452
+ }));
453
+
454
+ return function (_x2) {
455
+ return _ref5.apply(this, arguments);
456
+ };
457
+ }(),
458
+ canSearch: true,
459
+ maxRowsVisible: 5,
460
+ noSearchResultsEmptyState: {
461
+ headline: "Nothin' here...",
462
+ icon: 'no_matches',
463
+ primaryAction: {
464
+ text: "Show all, y'all!"
465
+ }
466
+ }
467
+ });
468
+ }
469
+ }]);
470
+ return RecordSelectionListSearchExample;
471
+ }(_react.Component);
472
+
473
+ stories.add('Only Showing Records When Searching', function () {
474
+ return _react["default"].createElement("div", {
475
+ style: {
476
+ width: '320px',
477
+ padding: '8px'
478
+ }
479
+ }, _react["default"].createElement(_Card["default"], null, _react["default"].createElement(_Card.CardHeader, {
480
+ title: "Card Title"
481
+ }), _react["default"].createElement(_Card.CardBody, null, _react["default"].createElement(RecordSelectionListSearchExample, {
482
+ locations: (0, _lodash.map)((0, _tableData.generateLocations)({
483
+ amount: 50
484
+ }), function (o) {
485
+ return {
486
+ node: (0, _objectSpread2["default"])({}, o)
487
+ };
488
+ })
489
+ }))));
490
+ });
491
+ //# sourceMappingURL=RecordSelectList-story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/RecordSelectionList/RecordSelectList-story.js"],"names":["stories","module","addDecorator","withKnobs","RecordListItemsExample","props","selectedIds","locations","map","loc","node","id","canSelect","Math","floor","length","unselectedIds","filter","locationId","indexOf","unselectableIds","state","canSearch","canRemove","totalRecordCount","onSearchChange","maxRowsVisible","searchValue","limit","offset","search","Promise","resolve","setTimeout","random","results","filteredLocations","location","publicName","match","RegExp","slice","recordListItems","result","title","subtitle","address","isDisabled","note","setState","selectedId","parseInt","headline","icon","primaryAction","text","Component","add","width","padding","amount","o","ExternalStateExample","e","target","value","newSearchValue","React","subheadline","isLineIcon","RecordSelectionListSearchExample"],"mappings":"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","sourcesContent":["// @flow\nimport React, { Component } from 'react'\nimport { map, sampleSize } from 'lodash'\nimport { storiesOf } from '@storybook/react'\nimport { withKnobs, boolean, select, text } from '@storybook/addon-knobs/react'\n\nimport { generateLocations } from '../../../.storybook/data/tableData'\nimport RecordSelectionList from '../RecordSelectionList/RecordSelectionList'\nimport Modal from '../Modal/Modal'\nimport Card, { CardHeader, CardBody } from '../Card'\n\nconst stories = storiesOf('RecordSelectionList', module)\n\nstories.addDecorator(withKnobs)\n\ntype RSLExampleProps = {\n\tcanSelect?: 'many' | 'one',\n\tcanRemove: boolean,\n\tlocations: Array<Object>,\n\ttotalRecordCount: number,\n\tmaxRowsVisible?: number | 'auto'\n}\n\ntype RSLExampleState = {\n\tisModalOpen?: boolean,\n\tselectedIds: Array<string>,\n\tunselectableIds: Array<string>,\n\tlocations: Array<Object>,\n\temptyState: any\n}\n\nclass RecordListItemsExample extends Component<\n\tRSLExampleProps,\n\tRSLExampleState\n> {\n\tconstructor(props) {\n\t\tsuper(props)\n\n\t\tlet selectedIds = props.locations.map(loc => loc.node.id)\n\n\t\tif (props.canSelect === 'one') {\n\t\t\tselectedIds = sampleSize(selectedIds, 1)\n\t\t} else {\n\t\t\tselectedIds = sampleSize(selectedIds, Math.floor(selectedIds.length / 2))\n\t\t}\n\n\t\tconst unselectedIds = props.locations\n\t\t\t.map(loc => loc.node.id)\n\t\t\t.filter(locationId => selectedIds.indexOf(locationId) === -1)\n\n\t\tconst unselectableIds = sampleSize(unselectedIds, unselectedIds.length / 2)\n\n\t\tthis.state = { selectedIds, locations: props.locations, unselectableIds }\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tcanSearch = true,\n\t\t\tcanSelect,\n\t\t\tcanRemove,\n\t\t\ttotalRecordCount,\n\t\t\tonSearchChange,\n\t\t\tmaxRowsVisible,\n\t\t\tsearchValue\n\t\t} = this.props\n\n\t\tconst { selectedIds, locations, unselectableIds } = this.state\n\n\t\treturn (\n\t\t\t<RecordSelectionList\n\t\t\t\tsearchValue={searchValue}\n\t\t\t\tonSearchChange={onSearchChange}\n\t\t\t\tcanSearch={canSearch}\n\t\t\t\tsearchLabel={'Search Label'}\n\t\t\t\tselectedIds={selectedIds}\n\t\t\t\tunselectableIds={unselectableIds}\n\t\t\t\tloadRecordListItems={async ({ limit, offset, search }) => {\n\t\t\t\t\t// Artificial API wait time\n\t\t\t\t\tawait new Promise(resolve =>\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t}, Math.random() * 1000)\n\t\t\t\t\t)\n\n\t\t\t\t\tlet results = []\n\n\t\t\t\t\tif (search) {\n\t\t\t\t\t\tconst filteredLocations = locations.filter(location => {\n\t\t\t\t\t\t\treturn location.node.publicName.match(new RegExp(search, 'ig'))\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresults = filteredLocations.slice(offset, offset + limit)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresults = locations.slice(offset, offset + limit)\n\t\t\t\t\t}\n\n\t\t\t\t\tconst recordListItems = results.map(result => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: result.node.id,\n\t\t\t\t\t\t\ttitle: result.node.publicName,\n\t\t\t\t\t\t\tsubtitle: result.node.address,\n\t\t\t\t\t\t\tisDisabled: unselectableIds.indexOf(result.node.id) >= 0,\n\t\t\t\t\t\t\tnote:\n\t\t\t\t\t\t\t\tunselectableIds.indexOf(result.node.id) >= 0 &&\n\t\t\t\t\t\t\t\t'Location already in group!'\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\treturn recordListItems\n\t\t\t\t}}\n\t\t\t\tcanSelect={canSelect}\n\t\t\t\tcanRemove={canRemove}\n\t\t\t\tonSelect={id => {\n\t\t\t\t\t// Typically you'd want \"many\" or \"one\", so you'd only need one side\n\t\t\t\t\t// of this conditional.\n\t\t\t\t\tif (canSelect === 'many') {\n\t\t\t\t\t\tif (selectedIds.indexOf(id) >= 0) {\n\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\tselectedIds: selectedIds.filter(selectedId => selectedId !== id)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.setState({ selectedIds: [...selectedIds, id] })\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (canSelect === 'one') {\n\t\t\t\t\t\tthis.setState({ selectedIds: [id] })\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonRemove={id => {\n\t\t\t\t\t// The component maintains state of the records it has loaded, but\n\t\t\t\t\t// it's up to you to remove them from your list in your local state.\n\t\t\t\t\t// Also, if for some reason you want to have selection alongside deletion,\n\t\t\t\t\t// you should be sure to clear out the selection at the same time.\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tselectedIds: selectedIds.filter(selectedId => selectedId !== id),\n\t\t\t\t\t\tlocations: locations.filter(location => location.id !== id)\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\ttotalRecordCount={totalRecordCount}\n\t\t\t\tmaxRowsVisible={\n\t\t\t\t\tmaxRowsVisible && maxRowsVisible !== 'auto'\n\t\t\t\t\t\t? parseInt(maxRowsVisible, 10)\n\t\t\t\t\t\t: maxRowsVisible\n\t\t\t\t}\n\t\t\t\tnoSearchResultsEmptyState={{\n\t\t\t\t\theadline: \"Nothin' here...\",\n\t\t\t\t\ticon: 'no_matches',\n\t\t\t\t\tprimaryAction: {\n\t\t\t\t\t\ttext: \"Show all, y'all!\"\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t}\n}\n\nstories.add('In a Card', () => (\n\t<div style={{ width: '320px', padding: '8px' }}>\n\t\t<Card>\n\t\t\t<CardHeader title=\"Card Title\" />\n\t\t\t<CardBody>\n\t\t\t\t<RecordListItemsExample\n\t\t\t\t\tcanSelect={select('Can Select', [null, 'many', 'one'], null)}\n\t\t\t\t\tcanRemove={boolean('Can Remove', false)}\n\t\t\t\t\tlocations={map(generateLocations({ amount: 50 }), o => ({\n\t\t\t\t\t\tnode: { ...o }\n\t\t\t\t\t}))}\n\t\t\t\t\ttotalRecordCount={50}\n\t\t\t\t\tmaxRowsVisible={select('Max Rows Visible', [null, 3, 'auto'], 3)}\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t</div>\n))\n\nclass ExternalStateExample extends React.Component {\n\tstate = { searchValue: '' }\n\n\trender() {\n\t\tconst { searchValue } = this.state\n\n\t\treturn (\n\t\t\t<div style={{ width: '320px', padding: '8px' }}>\n\t\t\t\t<p>\n\t\t\t\t\tThis input will control the search of the following\n\t\t\t\t\tRecordSelectionList\n\t\t\t\t</p>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\tonChange={e => {\n\t\t\t\t\t\tthis.setState({ searchValue: e.target.value })\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<br />\n\t\t\t\t<br />\n\n\t\t\t\t<Card>\n\t\t\t\t\t<CardHeader title=\"Card Title\" />\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<RecordListItemsExample\n\t\t\t\t\t\t\tcanSearch={false}\n\t\t\t\t\t\t\tsearchValue={searchValue}\n\t\t\t\t\t\t\tonSearchChange={newSearchValue => {\n\t\t\t\t\t\t\t\tthis.setState({ searchValue: newSearchValue })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcanSelect={select('Can Select', [null, 'many', 'one'], null)}\n\t\t\t\t\t\t\tcanRemove={boolean('Can Remove', false)}\n\t\t\t\t\t\t\tlocations={map(generateLocations({ amount: 50 }), o => ({\n\t\t\t\t\t\t\t\tnode: { ...o }\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\ttotalRecordCount={50}\n\t\t\t\t\t\t\tmaxRowsVisible={select('Max Rows Visible', [null, 3, 'auto'], 3)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t</div>\n\t\t)\n\t}\n}\n\nstories.add('Search Controlled by External State', () => {\n\treturn <ExternalStateExample />\n})\n\nstories.add('In a Modal', () => (\n\t<Modal isOpen onAfterOpen={() => null} onRequestClose={() => null}>\n\t\t<Modal.Header title=\"Modal title\" onRequestClose={() => null} />\n\t\t<Modal.Body>\n\t\t\t<RecordListItemsExample\n\t\t\t\tcanSelect={select('Can Select', [null, 'many', 'one'], 'many')}\n\t\t\t\tcanRemove={boolean('Can Remove', true)}\n\t\t\t\tlocations={map(generateLocations({ amount: 100 }), o => ({\n\t\t\t\t\tnode: { ...o }\n\t\t\t\t}))}\n\t\t\t\ttotalRecordCount={100}\n\t\t\t\tmaxRowsVisible={select('Max Rows Visible', [null, 3, 'auto'], 3)}\n\t\t\t/>\n\t\t</Modal.Body>\n\t</Modal>\n))\n\nstories.add('Empty State', () => (\n\t<div style={{ width: '320px', padding: '8px' }}>\n\t\t<Card>\n\t\t\t<CardHeader title=\"Card Title\" />\n\t\t\t<CardBody isSectioned={false} hasBottomPadding={false}>\n\t\t\t\t<RecordSelectionList\n\t\t\t\t\tcanSearch={false}\n\t\t\t\t\tselectedIds={[]}\n\t\t\t\t\tunselectableIds={[]}\n\t\t\t\t\tloadRecordListItems={async () => []}\n\t\t\t\t\tnoDataEmptyState={{\n\t\t\t\t\t\theadline: text('emptyState:headline', 'Nothing to see here'),\n\t\t\t\t\t\tsubheadline: text(\n\t\t\t\t\t\t\t'emptyState:subheadline',\n\t\t\t\t\t\t\t'There is none of that here'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: text('emptyState:icon', 'team'),\n\t\t\t\t\t\tisLineIcon: true,\n\t\t\t\t\t\tprimaryAction: {\n\t\t\t\t\t\t\ttext: text(\n\t\t\t\t\t\t\t\t'emptyState:primaryAction text',\n\t\t\t\t\t\t\t\t'Do something about it'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t</div>\n))\n\ninterface RecordSelectionListSearchExampleProps {\n\tlocations: Array<Object>;\n}\ninterface RecordSelectionListSearchExampleState {}\n\nclass RecordSelectionListSearchExample extends Component<\n\tRecordSelectionListSearchExampleProps,\n\tRecordSelectionListSearchExampleState\n> {\n\trender() {\n\t\tconst { locations } = this.props\n\n\t\treturn (\n\t\t\t<RecordSelectionList\n\t\t\t\tsearchLabel={'Search Label'}\n\t\t\t\tloadRecordListItems={async ({ limit, offset, search }) => {\n\t\t\t\t\tif (!search) {\n\t\t\t\t\t\treturn []\n\t\t\t\t\t}\n\n\t\t\t\t\t// Artificial API wait time\n\t\t\t\t\tawait new Promise(resolve =>\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t}, Math.random() * 1000)\n\t\t\t\t\t)\n\n\t\t\t\t\tlet results = []\n\n\t\t\t\t\tif (search) {\n\t\t\t\t\t\tconst filteredLocations = locations.filter(location => {\n\t\t\t\t\t\t\treturn location.node.publicName.match(new RegExp(search, 'ig'))\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresults = filteredLocations.slice(offset, offset + limit)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresults = locations.slice(offset, offset + limit)\n\t\t\t\t\t}\n\n\t\t\t\t\tconst recordListItems = results.map(result => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: result.node.id,\n\t\t\t\t\t\t\ttitle: result.node.publicName,\n\t\t\t\t\t\t\tsubtitle: result.node.address\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\treturn recordListItems\n\t\t\t\t}}\n\t\t\t\tcanSearch\n\t\t\t\tmaxRowsVisible={5}\n\t\t\t\tnoSearchResultsEmptyState={{\n\t\t\t\t\theadline: \"Nothin' here...\",\n\t\t\t\t\ticon: 'no_matches',\n\t\t\t\t\tprimaryAction: {\n\t\t\t\t\t\ttext: \"Show all, y'all!\"\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t}\n}\n\nstories.add('Only Showing Records When Searching', () => (\n\t<div style={{ width: '320px', padding: '8px' }}>\n\t\t<Card>\n\t\t\t<CardHeader title=\"Card Title\" />\n\t\t\t<CardBody>\n\t\t\t\t<RecordSelectionListSearchExample\n\t\t\t\t\tlocations={map(generateLocations({ amount: 50 }), o => ({\n\t\t\t\t\t\tnode: { ...o }\n\t\t\t\t\t}))}\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t</div>\n))\n"],"file":"RecordSelectList-story.js"}
@@ -0,0 +1,112 @@
1
+ import React, { Component } from 'react';
2
+ import { IListItemProps } from '../List/components/ListItem/ListItem';
3
+ import { IEmptyStateProps } from '../EmptyState/EmptyState';
4
+ export interface IRecordSelectionListItemProps extends IListItemProps {
5
+ id: string;
6
+ }
7
+ export interface IRecordSelectionListProps {
8
+ /** DEPRECATED Required method to render a record into a node */
9
+ renderRecord?: (record: any) => React.ReactElement;
10
+ /** DEPRECATED Get a unique ID for a record; given that data may be shaped in an unpredictable manner,
11
+ * you must implement this at each usage if using loadRecords method.
12
+ */
13
+ getRecordId?: (record: any) => string;
14
+ /** DEPRECATED Load custom records data for the offset/limit provided */
15
+ loadRecords?: (options: {
16
+ offset: number;
17
+ limit: number;
18
+ search?: string;
19
+ }) => Promise<any[]>;
20
+ /** Load records as list items for the offset/limit provided */
21
+ loadRecordListItems?: ({ offset, limit, search }: {
22
+ offset: number;
23
+ limit: number;
24
+ search?: string;
25
+ }) => Promise<IRecordSelectionListItemProps[]>;
26
+ /** How many records should be retrieved from the server at one time? */
27
+ recordsPerRequest: number;
28
+ /** Total number of records that could be in this list.
29
+ * Optional, but optimizes infinite load and adds supplementary UI */
30
+ totalRecordCount?: number;
31
+ /** Array of IDs in this collection of records that should be marked as selected */
32
+ selectedIds?: string[];
33
+ /** Can the search the records in the list? */
34
+ canSearch?: boolean;
35
+ /** If provided, controls the value of the search string */
36
+ searchValue?: string;
37
+ /** Respond to changes to the search value */
38
+ onSearchChange?: (value: string) => any;
39
+ /** delays invoking search until after a certain ms have elapsed since the last time the
40
+ * search was invoked */
41
+ searchDelayMs?: number;
42
+ /** Array of IDs that should not be selectable */
43
+ unselectableIds?: string[];
44
+ /** Can the user select many or one records in this list? */
45
+ canSelect?: 'many' | 'one';
46
+ /** Can the user remove records from this list? */
47
+ canRemove?: boolean;
48
+ /** Optionally provide a label for the search input */
49
+ searchLabel?: string;
50
+ /** Optionally provide a placeholder to the search input */
51
+ searchPlaceholder?: string;
52
+ /** Set to false to hide "# selected" text - defaults to true */
53
+ showSelectedCount?: boolean;
54
+ /** Callback for selection of a record */
55
+ onSelect?: (RecordId: any, Record: any) => void;
56
+ /** Callback for when user requests to remove a record from the list. */
57
+ onRemove?: (RecordId: any, Record: any) => void;
58
+ /** When set, list will become infinitely scrollable
59
+ /* A number value will set the max height of the list to the number of rows specified
60
+ /* A value of 'auto' will allow the list to fill the height of the parent container */
61
+ maxRowsVisible?: number | 'auto';
62
+ /** Should the no-data empty state be hidden? */
63
+ hideDataEmptyState?: boolean;
64
+ /** Should the no-result empty state be hidden? */
65
+ hideSearchResultsEmptyState?: boolean;
66
+ /** Props for the no-result empty state */
67
+ noSearchResultsEmptyState?: IEmptyStateProps;
68
+ /** Props for the no-data empty state */
69
+ noDataEmptyState?: IEmptyStateProps;
70
+ }
71
+ interface IRecordSelectionListState {
72
+ /** Records that have been loaded into state via `loadRecords` */
73
+ loadedRecords: Record<string, any>[];
74
+ /** Is the list loading data? */
75
+ isLoading: boolean;
76
+ /** Search value */
77
+ search?: string;
78
+ /** ID to manage the last request to loadRecords */
79
+ loadingId?: string;
80
+ listHeight: number;
81
+ }
82
+ export default class RecordSelectionList extends Component<IRecordSelectionListProps, IRecordSelectionListState> {
83
+ static defaultProps: {
84
+ showSelectedCount: boolean;
85
+ hideSearchResultsEmptyState: boolean;
86
+ hideDataEmptyState: boolean;
87
+ recordsPerRequest: number;
88
+ };
89
+ private listContainer;
90
+ private virtualizedList;
91
+ private infiniteLoader;
92
+ private cache;
93
+ private loadSearchResults;
94
+ constructor(props: IRecordSelectionListProps);
95
+ componentDidMount(): Promise<void>;
96
+ componentDidUpdate(prevProps: IRecordSelectionListProps): void;
97
+ reset({ persistSearch }?: {
98
+ /** Persist the value of the search when resetting. Defaults `false`. */
99
+ persistSearch?: boolean;
100
+ }): Promise<void>;
101
+ getVisibleRecordHeight: () => number;
102
+ render(): React.ReactElement;
103
+ private updateSearchValue;
104
+ private resetVirtualizedList;
105
+ private loadRecordsRequest;
106
+ private renderRow;
107
+ private renderInnerRow;
108
+ private handleInfiniteLoad;
109
+ private handleRemoveSelection;
110
+ }
111
+ export {};
112
+ //# sourceMappingURL=RecordSelectionList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordSelectionList.d.ts","sourceRoot":"","sources":["../../../src/components/RecordSelectionList/RecordSelectionList.tsx"],"names":[],"mappings":"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"}