@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.
- package/LICENSE +21 -0
- package/README.md +59 -0
- package/lib/__mocks__/stubs/events.js +166 -0
- package/lib/__mocks__/stubs/events.js.map +1 -0
- package/lib/__mocks__/stubs/location.js +34 -0
- package/lib/__mocks__/stubs/location.js.map +1 -0
- package/lib/__mocks__/stubs/users.js +225 -0
- package/lib/__mocks__/stubs/users.js.map +1 -0
- package/lib/__tests__/components/Pagination/Pagination.test.js +127 -0
- package/lib/__tests__/components/Pagination/Pagination.test.js.map +1 -0
- package/lib/components/Avatar/Avatar-story.js +34 -0
- package/lib/components/Avatar/Avatar-story.js.map +1 -0
- package/lib/components/Avatar/Avatar.d.ts +40 -0
- package/lib/components/Avatar/Avatar.d.ts.map +1 -0
- package/lib/components/Avatar/Avatar.js +91 -0
- package/lib/components/Avatar/Avatar.js.map +1 -0
- package/lib/components/Avatar/UserAvatar.js +45 -0
- package/lib/components/Avatar/UserAvatar.js.map +1 -0
- package/lib/components/BotText/BotText-story.d.ts +2 -0
- package/lib/components/BotText/BotText-story.d.ts.map +1 -0
- package/lib/components/BotText/BotText-story.js +21 -0
- package/lib/components/BotText/BotText-story.js.map +1 -0
- package/lib/components/BotText/BotText.d.ts +12 -0
- package/lib/components/BotText/BotText.d.ts.map +1 -0
- package/lib/components/BotText/BotText.js +52 -0
- package/lib/components/BotText/BotText.js.map +1 -0
- package/lib/components/Button/Button-story.js +109 -0
- package/lib/components/Button/Button-story.js.map +1 -0
- package/lib/components/Button/Button.d.ts +47 -0
- package/lib/components/Button/Button.d.ts.map +1 -0
- package/lib/components/Button/Button.js +155 -0
- package/lib/components/Button/Button.js.map +1 -0
- package/lib/components/ButtonGroup/ButtonGroup-story.js +27 -0
- package/lib/components/ButtonGroup/ButtonGroup-story.js.map +1 -0
- package/lib/components/ButtonGroup/ButtonGroup.d.ts +19 -0
- package/lib/components/ButtonGroup/ButtonGroup.d.ts.map +1 -0
- package/lib/components/ButtonGroup/ButtonGroup.js +64 -0
- package/lib/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/lib/components/Card/Card-story.d.ts +2 -0
- package/lib/components/Card/Card-story.d.ts.map +1 -0
- package/lib/components/Card/Card-story.js +389 -0
- package/lib/components/Card/Card-story.js.map +1 -0
- package/lib/components/Card/Card.d.ts +69 -0
- package/lib/components/Card/Card.d.ts.map +1 -0
- package/lib/components/Card/Card.js +113 -0
- package/lib/components/Card/Card.js.map +1 -0
- package/lib/components/Card/components/CardBody.d.ts +27 -0
- package/lib/components/Card/components/CardBody.d.ts.map +1 -0
- package/lib/components/Card/components/CardBody.js +45 -0
- package/lib/components/Card/components/CardBody.js.map +1 -0
- package/lib/components/Card/components/CardBuilder.d.ts +50 -0
- package/lib/components/Card/components/CardBuilder.d.ts.map +1 -0
- package/lib/components/Card/components/CardBuilder.js +139 -0
- package/lib/components/Card/components/CardBuilder.js.map +1 -0
- package/lib/components/Card/components/CardFooter.d.ts +11 -0
- package/lib/components/Card/components/CardFooter.d.ts.map +1 -0
- package/lib/components/Card/components/CardFooter.js +22 -0
- package/lib/components/Card/components/CardFooter.js.map +1 -0
- package/lib/components/Card/components/CardHeader.d.ts +28 -0
- package/lib/components/Card/components/CardHeader.d.ts.map +1 -0
- package/lib/components/Card/components/CardHeader.js +70 -0
- package/lib/components/Card/components/CardHeader.js.map +1 -0
- package/lib/components/Card/components/CardSection.d.ts +10 -0
- package/lib/components/Card/components/CardSection.d.ts.map +1 -0
- package/lib/components/Card/components/CardSection.js +27 -0
- package/lib/components/Card/components/CardSection.js.map +1 -0
- package/lib/components/Card/components/OnboardingCard.d.ts +27 -0
- package/lib/components/Card/components/OnboardingCard.d.ts.map +1 -0
- package/lib/components/Card/components/OnboardingCard.js +129 -0
- package/lib/components/Card/components/OnboardingCard.js.map +1 -0
- package/lib/components/Card/components/Scores.d.ts +15 -0
- package/lib/components/Card/components/Scores.d.ts.map +1 -0
- package/lib/components/Card/components/Scores.js +39 -0
- package/lib/components/Card/components/Scores.js.map +1 -0
- package/lib/components/Card/index.d.ts +11 -0
- package/lib/components/Card/index.d.ts.map +1 -0
- package/lib/components/Card/index.js +120 -0
- package/lib/components/Card/index.js.map +1 -0
- package/lib/components/CircleLoader/CircleLoader-story.d.ts +2 -0
- package/lib/components/CircleLoader/CircleLoader-story.d.ts.map +1 -0
- package/lib/components/CircleLoader/CircleLoader-story.js +20 -0
- package/lib/components/CircleLoader/CircleLoader-story.js.map +1 -0
- package/lib/components/CircleLoader/CircleLoader.d.ts +13 -0
- package/lib/components/CircleLoader/CircleLoader.d.ts.map +1 -0
- package/lib/components/CircleLoader/CircleLoader.js +28 -0
- package/lib/components/CircleLoader/CircleLoader.js.map +1 -0
- package/lib/components/ContextMenu/ContextMenu-story.js +31 -0
- package/lib/components/ContextMenu/ContextMenu-story.js.map +1 -0
- package/lib/components/ContextMenu/ContextMenu.d.ts +70 -0
- package/lib/components/ContextMenu/ContextMenu.d.ts.map +1 -0
- package/lib/components/ContextMenu/ContextMenu.js +315 -0
- package/lib/components/ContextMenu/ContextMenu.js.map +1 -0
- package/lib/components/Core/components/FeedBuilder/FeedBuilder-story.js +101 -0
- package/lib/components/Core/components/FeedBuilder/FeedBuilder-story.js.map +1 -0
- package/lib/components/Core/components/FeedBuilder/FeedBuilder.js +290 -0
- package/lib/components/Core/components/FeedBuilder/FeedBuilder.js.map +1 -0
- package/lib/components/Core/components/FooterPrimary/FooterPrimary.js +20 -0
- package/lib/components/Core/components/FooterPrimary/FooterPrimary.js.map +1 -0
- package/lib/components/Core/components/FooterPrimary/components/HelpButton/HelpButton.js +52 -0
- package/lib/components/Core/components/FooterPrimary/components/HelpButton/HelpButton.js.map +1 -0
- package/lib/components/Core/components/FooterPrimary/components/Legal/Legal.js +38 -0
- package/lib/components/Core/components/FooterPrimary/components/Legal/Legal.js.map +1 -0
- package/lib/components/Core/components/FooterPrimary/index.js +30 -0
- package/lib/components/Core/components/FooterPrimary/index.js.map +1 -0
- package/lib/components/Core/components/HeaderPrimary/HeaderPrimary-story.js +134 -0
- package/lib/components/Core/components/HeaderPrimary/HeaderPrimary-story.js.map +1 -0
- package/lib/components/Core/components/HeaderPrimary/HeaderPrimary.js +238 -0
- package/lib/components/Core/components/HeaderPrimary/HeaderPrimary.js.map +1 -0
- package/lib/components/Core/components/HeaderPrimary/components/DefaultLockup/DefaultLockup.js +32 -0
- package/lib/components/Core/components/HeaderPrimary/components/DefaultLockup/DefaultLockup.js.map +1 -0
- package/lib/components/Core/components/HeaderPrimary/components/Hamburger/Hamburger.js +58 -0
- package/lib/components/Core/components/HeaderPrimary/components/Hamburger/Hamburger.js.map +1 -0
- package/lib/components/Core/components/HeaderPrimary/components/LocationMenu/LocationMenu.js +169 -0
- package/lib/components/Core/components/HeaderPrimary/components/LocationMenu/LocationMenu.js.map +1 -0
- package/lib/components/Core/components/HeaderPrimary/components/UserMenu/UserMenu.js +56 -0
- package/lib/components/Core/components/HeaderPrimary/components/UserMenu/UserMenu.js.map +1 -0
- package/lib/components/Core/components/ProfileSummary/ProfileSummary-story.js +26 -0
- package/lib/components/Core/components/ProfileSummary/ProfileSummary-story.js.map +1 -0
- package/lib/components/Core/components/ProfileSummary/ProfileSummary.js +46 -0
- package/lib/components/Core/components/ProfileSummary/ProfileSummary.js.map +1 -0
- package/lib/components/Core/components/SaveBar/SaveBar-story.js +68 -0
- package/lib/components/Core/components/SaveBar/SaveBar-story.js.map +1 -0
- package/lib/components/Core/components/SaveBar/SaveBar.js +127 -0
- package/lib/components/Core/components/SaveBar/SaveBar.js.map +1 -0
- package/lib/components/Core/components/Sidebar/Sidebar-story.js +204 -0
- package/lib/components/Core/components/Sidebar/Sidebar-story.js.map +1 -0
- package/lib/components/Core/components/Sidebar/Sidebar.js +87 -0
- package/lib/components/Core/components/Sidebar/Sidebar.js.map +1 -0
- package/lib/components/Core/components/Sidebar/components/SidebarExpander/SidebarExpander.js +48 -0
- package/lib/components/Core/components/Sidebar/components/SidebarExpander/SidebarExpander.js.map +1 -0
- package/lib/components/Core/components/Sidebar/components/SidebarFooter/SidebarFooter.js +25 -0
- package/lib/components/Core/components/Sidebar/components/SidebarFooter/SidebarFooter.js.map +1 -0
- package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.d.ts +12 -0
- package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.d.ts.map +1 -0
- package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.js +47 -0
- package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.js.map +1 -0
- package/lib/components/Core/components/Sidebar/components/SidebarItem/SidebarItem.js +115 -0
- package/lib/components/Core/components/Sidebar/components/SidebarItem/SidebarItem.js.map +1 -0
- package/lib/components/Core/components/Sidebar/components/SidebarSection/SidebarSection.js +38 -0
- package/lib/components/Core/components/Sidebar/components/SidebarSection/SidebarSection.js.map +1 -0
- package/lib/components/Core/index.js +80 -0
- package/lib/components/Core/index.js.map +1 -0
- package/lib/components/Dropzone/Dropzone-story.js +119 -0
- package/lib/components/Dropzone/Dropzone-story.js.map +1 -0
- package/lib/components/Dropzone/Dropzone.js +317 -0
- package/lib/components/Dropzone/Dropzone.js.map +1 -0
- package/lib/components/EmptyState/EmptyState-story.d.ts +2 -0
- package/lib/components/EmptyState/EmptyState-story.d.ts.map +1 -0
- package/lib/components/EmptyState/EmptyState-story.js +60 -0
- package/lib/components/EmptyState/EmptyState-story.js.map +1 -0
- package/lib/components/EmptyState/EmptyState.d.ts +28 -0
- package/lib/components/EmptyState/EmptyState.d.ts.map +1 -0
- package/lib/components/EmptyState/EmptyState.js +54 -0
- package/lib/components/EmptyState/EmptyState.js.map +1 -0
- package/lib/components/EventDetails/EventDetails-story.d.ts +2 -0
- package/lib/components/EventDetails/EventDetails-story.d.ts.map +1 -0
- package/lib/components/EventDetails/EventDetails-story.js +112 -0
- package/lib/components/EventDetails/EventDetails-story.js.map +1 -0
- package/lib/components/EventDetails/EventDetails.d.ts +18 -0
- package/lib/components/EventDetails/EventDetails.d.ts.map +1 -0
- package/lib/components/EventDetails/EventDetails.js +75 -0
- package/lib/components/EventDetails/EventDetails.js.map +1 -0
- package/lib/components/EventDetails/EventDetailsUtilities.d.ts +11 -0
- package/lib/components/EventDetails/EventDetailsUtilities.d.ts.map +1 -0
- package/lib/components/EventDetails/EventDetailsUtilities.js +56 -0
- package/lib/components/EventDetails/EventDetailsUtilities.js.map +1 -0
- package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.d.ts +18 -0
- package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.d.ts.map +1 -0
- package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.js +111 -0
- package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.js.map +1 -0
- package/lib/components/EventDetails/eventDetailsMock.d.ts +10 -0
- package/lib/components/EventDetails/eventDetailsMock.d.ts.map +1 -0
- package/lib/components/EventDetails/eventDetailsMock.js +840 -0
- package/lib/components/EventDetails/eventDetailsMock.js.map +1 -0
- package/lib/components/FontLoader/FontLoader-story.js +16 -0
- package/lib/components/FontLoader/FontLoader-story.js.map +1 -0
- package/lib/components/FontLoader/FontLoader.js +148 -0
- package/lib/components/FontLoader/FontLoader.js.map +1 -0
- package/lib/components/Forms/FormPartials.js +70 -0
- package/lib/components/Forms/FormPartials.js.map +1 -0
- package/lib/components/Forms/Forms-story.js +297 -0
- package/lib/components/Forms/Forms-story.js.map +1 -0
- package/lib/components/Forms/components/Autosuggest/Autosuggest.d.ts +71 -0
- package/lib/components/Forms/components/Autosuggest/Autosuggest.d.ts.map +1 -0
- package/lib/components/Forms/components/Autosuggest/Autosuggest.js +372 -0
- package/lib/components/Forms/components/Autosuggest/Autosuggest.js.map +1 -0
- package/lib/components/Forms/components/Checkbox/Checkbox.d.ts +23 -0
- package/lib/components/Forms/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/lib/components/Forms/components/Checkbox/Checkbox.js +162 -0
- package/lib/components/Forms/components/Checkbox/Checkbox.js.map +1 -0
- package/lib/components/Forms/components/DatePicker/DatePicker.js +236 -0
- package/lib/components/Forms/components/DatePicker/DatePicker.js.map +1 -0
- package/lib/components/Forms/components/DomainInput/DomainInput.js +29 -0
- package/lib/components/Forms/components/DomainInput/DomainInput.js.map +1 -0
- package/lib/components/Forms/components/DurationInput/DurationInput.js +270 -0
- package/lib/components/Forms/components/DurationInput/DurationInput.js.map +1 -0
- package/lib/components/Forms/components/FormBuilder/FormBuilder-story.js +357 -0
- package/lib/components/Forms/components/FormBuilder/FormBuilder-story.js.map +1 -0
- package/lib/components/Forms/components/FormBuilder/FormBuilder.js +121 -0
- package/lib/components/Forms/components/FormBuilder/FormBuilder.js.map +1 -0
- package/lib/components/Forms/components/FormBuilder/components/FormInner/FormInner.js +201 -0
- package/lib/components/Forms/components/FormBuilder/components/FormInner/FormInner.js.map +1 -0
- package/lib/components/Forms/components/FormLayout/FormLayout.js +35 -0
- package/lib/components/Forms/components/FormLayout/FormLayout.js.map +1 -0
- package/lib/components/Forms/components/FormLayout/components/FormLayoutGroup/FormLayoutGroup.js +30 -0
- package/lib/components/Forms/components/FormLayout/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -0
- package/lib/components/Forms/components/FormLayout/components/FormLayoutItem/FormLayoutItem.js +32 -0
- package/lib/components/Forms/components/FormLayout/components/FormLayoutItem/FormLayoutItem.js.map +1 -0
- package/lib/components/Forms/components/FormLayout/index.js +32 -0
- package/lib/components/Forms/components/FormLayout/index.js.map +1 -0
- package/lib/components/Forms/components/PhoneInput/PhoneInput.d.ts +30 -0
- package/lib/components/Forms/components/PhoneInput/PhoneInput.d.ts.map +1 -0
- package/lib/components/Forms/components/PhoneInput/PhoneInput.js +119 -0
- package/lib/components/Forms/components/PhoneInput/PhoneInput.js.map +1 -0
- package/lib/components/Forms/components/Radio/Radio.d.ts +15 -0
- package/lib/components/Forms/components/Radio/Radio.d.ts.map +1 -0
- package/lib/components/Forms/components/Radio/Radio.js +92 -0
- package/lib/components/Forms/components/Radio/Radio.js.map +1 -0
- package/lib/components/Forms/components/Search/Search.js +96 -0
- package/lib/components/Forms/components/Search/Search.js.map +1 -0
- package/lib/components/Forms/components/Select/Select.js +95 -0
- package/lib/components/Forms/components/Select/Select.js.map +1 -0
- package/lib/components/Forms/components/Slider/Slider.js +100 -0
- package/lib/components/Forms/components/Slider/Slider.js.map +1 -0
- package/lib/components/Forms/components/Stars/Stars.js +101 -0
- package/lib/components/Forms/components/Stars/Stars.js.map +1 -0
- package/lib/components/Forms/components/Tag/Tag.js +60 -0
- package/lib/components/Forms/components/Tag/Tag.js.map +1 -0
- package/lib/components/Forms/components/TextArea/TextArea.js +55 -0
- package/lib/components/Forms/components/TextArea/TextArea.js.map +1 -0
- package/lib/components/Forms/components/TextInput/TextInput.d.ts +28 -0
- package/lib/components/Forms/components/TextInput/TextInput.d.ts.map +1 -0
- package/lib/components/Forms/components/TextInput/TextInput.js +57 -0
- package/lib/components/Forms/components/TextInput/TextInput.js.map +1 -0
- package/lib/components/Forms/components/Toggle/Toggle.d.ts +9 -0
- package/lib/components/Forms/components/Toggle/Toggle.d.ts.map +1 -0
- package/lib/components/Forms/components/Toggle/Toggle.js +43 -0
- package/lib/components/Forms/components/Toggle/Toggle.js.map +1 -0
- package/lib/components/Forms/index.d.ts +18 -0
- package/lib/components/Forms/index.d.ts.map +1 -0
- package/lib/components/Forms/index.js +182 -0
- package/lib/components/Forms/index.js.map +1 -0
- package/lib/components/Heading/Heading-story.js +18 -0
- package/lib/components/Heading/Heading-story.js.map +1 -0
- package/lib/components/Heading/Heading.d.ts +13 -0
- package/lib/components/Heading/Heading.d.ts.map +1 -0
- package/lib/components/Heading/Heading.js +32 -0
- package/lib/components/Heading/Heading.js.map +1 -0
- package/lib/components/Icon/Icon-story.d.ts +2 -0
- package/lib/components/Icon/Icon-story.d.ts.map +1 -0
- package/lib/components/Icon/Icon-story.js +44 -0
- package/lib/components/Icon/Icon-story.js.map +1 -0
- package/lib/components/Icon/Icon.d.ts +13 -0
- package/lib/components/Icon/Icon.d.ts.map +1 -0
- package/lib/components/Icon/Icon.js +52 -0
- package/lib/components/Icon/Icon.js.map +1 -0
- package/lib/components/Image/Image.d.ts +11 -0
- package/lib/components/Image/Image.d.ts.map +1 -0
- package/lib/components/Image/Image.js +32 -0
- package/lib/components/Image/Image.js.map +1 -0
- package/lib/components/ImageCropper/ImageCropper-story.js +219 -0
- package/lib/components/ImageCropper/ImageCropper-story.js.map +1 -0
- package/lib/components/ImageCropper/ImageCropper.js +256 -0
- package/lib/components/ImageCropper/ImageCropper.js.map +1 -0
- package/lib/components/ImageSSR/ImageSSR.js +32 -0
- package/lib/components/ImageSSR/ImageSSR.js.map +1 -0
- package/lib/components/Layout/Layout-story.js +128 -0
- package/lib/components/Layout/Layout-story.js.map +1 -0
- package/lib/components/Layout/Layout.js +43 -0
- package/lib/components/Layout/Layout.js.map +1 -0
- package/lib/components/Layout/components/LayoutSection/LayoutSection.js +38 -0
- package/lib/components/Layout/components/LayoutSection/LayoutSection.js.map +1 -0
- package/lib/components/Layout/index.js +24 -0
- package/lib/components/Layout/index.js.map +1 -0
- package/lib/components/List/List-story.d.ts +2 -0
- package/lib/components/List/List-story.d.ts.map +1 -0
- package/lib/components/List/List-story.js +241 -0
- package/lib/components/List/List-story.js.map +1 -0
- package/lib/components/List/List.d.ts +34 -0
- package/lib/components/List/List.d.ts.map +1 -0
- package/lib/components/List/List.js +83 -0
- package/lib/components/List/List.js.map +1 -0
- package/lib/components/List/components/ExpandableListItem/ExpandableListItem.d.ts +27 -0
- package/lib/components/List/components/ExpandableListItem/ExpandableListItem.d.ts.map +1 -0
- package/lib/components/List/components/ExpandableListItem/ExpandableListItem.js +93 -0
- package/lib/components/List/components/ExpandableListItem/ExpandableListItem.js.map +1 -0
- package/lib/components/List/components/ListHeader/ListHeader.d.ts +16 -0
- package/lib/components/List/components/ListHeader/ListHeader.d.ts.map +1 -0
- package/lib/components/List/components/ListHeader/ListHeader.js +51 -0
- package/lib/components/List/components/ListHeader/ListHeader.js.map +1 -0
- package/lib/components/List/components/ListItem/ListItem.d.ts +67 -0
- package/lib/components/List/components/ListItem/ListItem.d.ts.map +1 -0
- package/lib/components/List/components/ListItem/ListItem.js +206 -0
- package/lib/components/List/components/ListItem/ListItem.js.map +1 -0
- package/lib/components/List/components/SortableList/SortableList.d.ts +35 -0
- package/lib/components/List/components/SortableList/SortableList.d.ts.map +1 -0
- package/lib/components/List/components/SortableList/SortableList.js +180 -0
- package/lib/components/List/components/SortableList/SortableList.js.map +1 -0
- package/lib/components/List/index.d.ts +6 -0
- package/lib/components/List/index.d.ts.map +1 -0
- package/lib/components/List/index.js +74 -0
- package/lib/components/List/index.js.map +1 -0
- package/lib/components/Loader/Loader-story.js +30 -0
- package/lib/components/Loader/Loader-story.js.map +1 -0
- package/lib/components/Loader/Loader.js +36 -0
- package/lib/components/Loader/Loader.js.map +1 -0
- package/lib/components/Loader/Loader.test.js +17 -0
- package/lib/components/Loader/Loader.test.js.map +1 -0
- package/lib/components/MarkdownText/MarkdownText.d.ts +8 -0
- package/lib/components/MarkdownText/MarkdownText.d.ts.map +1 -0
- package/lib/components/MarkdownText/MarkdownText.js +26 -0
- package/lib/components/MarkdownText/MarkdownText.js.map +1 -0
- package/lib/components/Message/Message-story.js +135 -0
- package/lib/components/Message/Message-story.js.map +1 -0
- package/lib/components/Message/Message.js +147 -0
- package/lib/components/Message/Message.js.map +1 -0
- package/lib/components/Message/components/MessageBuilder.js +132 -0
- package/lib/components/Message/components/MessageBuilder.js.map +1 -0
- package/lib/components/Message/index.js +24 -0
- package/lib/components/Message/index.js.map +1 -0
- package/lib/components/Modal/Modal-story.js +239 -0
- package/lib/components/Modal/Modal-story.js.map +1 -0
- package/lib/components/Modal/Modal.js +86 -0
- package/lib/components/Modal/Modal.js.map +1 -0
- package/lib/components/Modal/components/ModalBody/ModalBody.js +30 -0
- package/lib/components/Modal/components/ModalBody/ModalBody.js.map +1 -0
- package/lib/components/Modal/components/ModalFooter/ModalFooter.js +31 -0
- package/lib/components/Modal/components/ModalFooter/ModalFooter.js.map +1 -0
- package/lib/components/Modal/components/ModalHeader/ModalHeader.js +84 -0
- package/lib/components/Modal/components/ModalHeader/ModalHeader.js.map +1 -0
- package/lib/components/Page/Page-story.js +115 -0
- package/lib/components/Page/Page-story.js.map +1 -0
- package/lib/components/Page/Page.js +55 -0
- package/lib/components/Page/Page.js.map +1 -0
- package/lib/components/Page/components/PageContent/PageContent.js +22 -0
- package/lib/components/Page/components/PageContent/PageContent.js.map +1 -0
- package/lib/components/Page/components/PageHeader/PageHeader.js +127 -0
- package/lib/components/Page/components/PageHeader/PageHeader.js.map +1 -0
- package/lib/components/Page/index.js +32 -0
- package/lib/components/Page/index.js.map +1 -0
- package/lib/components/PagedModal/PagedModal-story.js +121 -0
- package/lib/components/PagedModal/PagedModal-story.js.map +1 -0
- package/lib/components/PagedModal/PagedModal.js +84 -0
- package/lib/components/PagedModal/PagedModal.js.map +1 -0
- package/lib/components/Pagination/Pagination-story.js +35 -0
- package/lib/components/Pagination/Pagination-story.js.map +1 -0
- package/lib/components/Pagination/Pagination.js +157 -0
- package/lib/components/Pagination/Pagination.js.map +1 -0
- package/lib/components/RecordSelectionList/RecordSelectList-story.js +491 -0
- package/lib/components/RecordSelectionList/RecordSelectList-story.js.map +1 -0
- package/lib/components/RecordSelectionList/RecordSelectionList.d.ts +112 -0
- package/lib/components/RecordSelectionList/RecordSelectionList.d.ts.map +1 -0
- package/lib/components/RecordSelectionList/RecordSelectionList.js +702 -0
- package/lib/components/RecordSelectionList/RecordSelectionList.js.map +1 -0
- package/lib/components/RecordSelectionList/RecordSelectionListItem.d.ts +5 -0
- package/lib/components/RecordSelectionList/RecordSelectionListItem.d.ts.map +1 -0
- package/lib/components/RecordSelectionList/RecordSelectionListItem.js +20 -0
- package/lib/components/RecordSelectionList/RecordSelectionListItem.js.map +1 -0
- package/lib/components/RecordTable/RecordTable-story.d.ts +2 -0
- package/lib/components/RecordTable/RecordTable-story.d.ts.map +1 -0
- package/lib/components/RecordTable/RecordTable-story.js +242 -0
- package/lib/components/RecordTable/RecordTable-story.js.map +1 -0
- package/lib/components/RecordTable/RecordTable.d.ts +133 -0
- package/lib/components/RecordTable/RecordTable.d.ts.map +1 -0
- package/lib/components/RecordTable/RecordTable.js +523 -0
- package/lib/components/RecordTable/RecordTable.js.map +1 -0
- package/lib/components/SplitButton/SplitButton-story.js +60 -0
- package/lib/components/SplitButton/SplitButton-story.js.map +1 -0
- package/lib/components/SplitButton/SplitButton.d.ts +47 -0
- package/lib/components/SplitButton/SplitButton.d.ts.map +1 -0
- package/lib/components/SplitButton/SplitButton.js +296 -0
- package/lib/components/SplitButton/SplitButton.js.map +1 -0
- package/lib/components/Subheading/Subheading-story.js +18 -0
- package/lib/components/Subheading/Subheading-story.js.map +1 -0
- package/lib/components/Subheading/Subheading.js +40 -0
- package/lib/components/Subheading/Subheading.js.map +1 -0
- package/lib/components/Table/Table-story.js +428 -0
- package/lib/components/Table/Table-story.js.map +1 -0
- package/lib/components/Table/Table.d.ts +63 -0
- package/lib/components/Table/Table.d.ts.map +1 -0
- package/lib/components/Table/Table.js +395 -0
- package/lib/components/Table/Table.js.map +1 -0
- package/lib/components/Table/components/TableFilters/TableFilters.js +31 -0
- package/lib/components/Table/components/TableFilters/TableFilters.js.map +1 -0
- package/lib/components/Table/components/TableSearch/TableSearch.d.ts +7 -0
- package/lib/components/Table/components/TableSearch/TableSearch.d.ts.map +1 -0
- package/lib/components/Table/components/TableSearch/TableSearch.js +30 -0
- package/lib/components/Table/components/TableSearch/TableSearch.js.map +1 -0
- package/lib/components/Table/index.d.ts +4 -0
- package/lib/components/Table/index.d.ts.map +1 -0
- package/lib/components/Table/index.js +40 -0
- package/lib/components/Table/index.js.map +1 -0
- package/lib/components/Tabs/Tabs-story.d.ts +2 -0
- package/lib/components/Tabs/Tabs-story.d.ts.map +1 -0
- package/lib/components/Tabs/Tabs-story.js +36 -0
- package/lib/components/Tabs/Tabs-story.js.map +1 -0
- package/lib/components/Tabs/Tabs.d.ts +40 -0
- package/lib/components/Tabs/Tabs.d.ts.map +1 -0
- package/lib/components/Tabs/Tabs.js +244 -0
- package/lib/components/Tabs/Tabs.js.map +1 -0
- package/lib/components/Tabs/components/Tab/Tab.d.ts +26 -0
- package/lib/components/Tabs/components/Tab/Tab.d.ts.map +1 -0
- package/lib/components/Tabs/components/Tab/Tab.js +46 -0
- package/lib/components/Tabs/components/Tab/Tab.js.map +1 -0
- package/lib/components/Text/Text-story.d.ts +2 -0
- package/lib/components/Text/Text-story.d.ts.map +1 -0
- package/lib/components/Text/Text-story.js +51 -0
- package/lib/components/Text/Text-story.js.map +1 -0
- package/lib/components/Text/Text.d.ts +18 -0
- package/lib/components/Text/Text.d.ts.map +1 -0
- package/lib/components/Text/Text.js +123 -0
- package/lib/components/Text/Text.js.map +1 -0
- package/lib/components/TextContainer/TextContainer-story.js +32 -0
- package/lib/components/TextContainer/TextContainer-story.js.map +1 -0
- package/lib/components/TextContainer/TextContainer.js +33 -0
- package/lib/components/TextContainer/TextContainer.js.map +1 -0
- package/lib/components/TextStyle/TextStyle-story.js +28 -0
- package/lib/components/TextStyle/TextStyle-story.js.map +1 -0
- package/lib/components/TextStyle/TextStyle.js +41 -0
- package/lib/components/TextStyle/TextStyle.js.map +1 -0
- package/lib/components/Toast/Toast-story.d.ts +2 -0
- package/lib/components/Toast/Toast-story.d.ts.map +1 -0
- package/lib/components/Toast/Toast-story.js +210 -0
- package/lib/components/Toast/Toast-story.js.map +1 -0
- package/lib/components/Toast/Toast.d.ts +24 -0
- package/lib/components/Toast/Toast.d.ts.map +1 -0
- package/lib/components/Toast/Toast.js +76 -0
- package/lib/components/Toast/Toast.js.map +1 -0
- package/lib/components/Toast/components/ToastWrapper/ToastWrapper.d.ts +24 -0
- package/lib/components/Toast/components/ToastWrapper/ToastWrapper.d.ts.map +1 -0
- package/lib/components/Toast/components/ToastWrapper/ToastWrapper.js +131 -0
- package/lib/components/Toast/components/ToastWrapper/ToastWrapper.js.map +1 -0
- package/lib/components/TruncatedList/TruncatedList-story.js +222 -0
- package/lib/components/TruncatedList/TruncatedList-story.js.map +1 -0
- package/lib/components/TruncatedList/TruncatedList.d.ts +49 -0
- package/lib/components/TruncatedList/TruncatedList.d.ts.map +1 -0
- package/lib/components/TruncatedList/TruncatedList.js +188 -0
- package/lib/components/TruncatedList/TruncatedList.js.map +1 -0
- package/lib/components/View/View-story.js +485 -0
- package/lib/components/View/View-story.js.map +1 -0
- package/lib/components/View/View.d.ts +26 -0
- package/lib/components/View/View.d.ts.map +1 -0
- package/lib/components/View/View.js +91 -0
- package/lib/components/View/View.js.map +1 -0
- package/lib/components/_utilities/Anchor.js +28 -0
- package/lib/components/_utilities/Anchor.js.map +1 -0
- package/lib/custom-types.d.js +2 -0
- package/lib/custom-types.d.js.map +1 -0
- package/lib/icons.js +3328 -0
- package/lib/icons.js.map +1 -0
- package/lib/index.d.ts +46 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +707 -0
- package/lib/index.js.map +1 -0
- package/lib/stubs/events.js +166 -0
- package/lib/stubs/events.js.map +1 -0
- package/lib/stubs/location.js +34 -0
- package/lib/stubs/location.js.map +1 -0
- package/lib/stubs/users.js +225 -0
- package/lib/stubs/users.js.map +1 -0
- package/lib/utilities.js +23 -0
- package/lib/utilities.js.map +1 -0
- package/package.json +174 -0
- package/static/android-chrome-192x192.png +0 -0
- package/static/android-chrome-256x256.png +0 -0
- package/static/apple-touch-icon.png +0 -0
- package/static/assets/bg.jpeg +0 -0
- package/static/assets/icons/Design/Rotate/rotate-back.svg +9 -0
- package/static/assets/icons/Design/Rotate/rotate-forward.svg +9 -0
- package/static/assets/icons/Interface-Essential/Alerts/alert-triangle--16w.svg +3 -0
- package/static/assets/icons/Interface-Essential/Alerts/alert-triangle--56w.svg +5 -0
- package/static/assets/icons/Interface-Essential/Alerts/alert-triangle.svg +3 -0
- package/static/assets/icons/Interface-Essential/Dashboard/gauge-dashboard-1.svg +11 -0
- package/static/assets/icons/Interface-Essential/Date/Calendar/calendar-3.svg +12 -0
- package/static/assets/icons/Interface-Essential/Date/Calendar/calendar-date.svg +9 -0
- package/static/assets/icons/Interface-Essential/Delete/bin.svg +7 -0
- package/static/assets/icons/Interface-Essential/Edit/pencil-write.svg +5 -0
- package/static/assets/icons/Interface-Essential/Form-Edition/paper-write.svg +8 -0
- package/static/assets/icons/Interface-Essential/Form-Validation/check-circle-1.svg +4 -0
- package/static/assets/icons/Interface-Essential/Help/question-help-square--16w.svg +5 -0
- package/static/assets/icons/Interface-Essential/Help/question-help-square.svg +5 -0
- package/static/assets/icons/Interface-Essential/Home/house-1--16w.svg +4 -0
- package/static/assets/icons/Interface-Essential/Home/house-1.svg +4 -0
- package/static/assets/icons/Interface-Essential/Lists/list-bullets-1.svg +8 -0
- package/static/assets/icons/Interface-Essential/Lock/Unlock/Lock/Unlock-4.svg +5 -0
- package/static/assets/icons/Interface-Essential/Lock/Unlock/lock-6--16w.svg +3 -0
- package/static/assets/icons/Interface-Essential/Lock/Unlock/lock-6.svg +5 -0
- package/static/assets/icons/Interface-Essential/Login/Logout/logout.svg +5 -0
- package/static/assets/icons/Interface-Essential/Menu/navigation-menu-horizontal.svg +5 -0
- package/static/assets/icons/Interface-Essential/Select/cursor-select-4.svg +14 -0
- package/static/assets/icons/Interface-Essential/Time/stopwatch.svg +8 -0
- package/static/assets/icons/Interface-Essential/Time-Files/time-clock-file-check.svg +7 -0
- package/static/assets/icons/Interface-Essential/Time-Files/time-clock-file-upload.svg +9 -0
- package/static/assets/icons/Maps-Navigation/Pins/pin-2.svg +4 -0
- package/static/assets/icons/Maps-Navigation/Pins/pin.svg +4 -0
- package/static/assets/icons/Messages-Chat-Smileys/Conversation/conversation-text--16w.svg +8 -0
- package/static/assets/icons/Messages-Chat-Smileys/Conversation/conversation-text.svg +8 -0
- package/static/assets/icons/Messages-Chat-Smileys/Messages-Speech-Bubbles/messages-bubble-square-text.svg +5 -0
- package/static/assets/icons/Phones-Mobile-Devices/Phone/phone-retro-1.svg +7 -0
- package/static/assets/icons/Programming-Apps-Websites/Plugins/Modules/module-puzzle.svg +3 -0
- package/static/assets/icons/Shopping-E-Commerce/Shops/shop-1--56w.svg +6 -0
- package/static/assets/icons/Shopping-E-Commerce/Shops/shop-1.svg +7 -0
- package/static/assets/icons/Social-Medias-Rewards-Rating/Rating/rating-star-1-1.svg +3 -0
- package/static/assets/icons/Social-Medias-Rewards-Rating/Rating/rating-star-1.svg +3 -0
- package/static/assets/icons/Transportation/Aircraft/aircraft-military-plane.svg +18 -0
- package/static/assets/icons/Users/Geometric-Close-Up-Single-User-Actions-Neutral/single-neutral-actions-image--56w.svg +7 -0
- package/static/assets/icons/Users/Geometric-Close-Up-Single-User-Actions-Neutral/single-neutral-actions-up-down.svg +8 -0
- package/static/assets/icons/Users/Geometric-Close-Up-Single-User-Neutral/single-neutral-id-card-3.svg +8 -0
- package/static/assets/icons/Users/Geometric-Full-Body-Multiple-Users/multiple-users-1.svg +8 -0
- package/static/assets/icons/Work-Office-Companies/Human-Resources/human-resources-search-team--16w.svg +8 -0
- package/static/assets/icons/Work-Office-Companies/Human-Resources/human-resources-search-team.svg +8 -0
- package/static/assets/icons/ic_add.svg +5 -0
- package/static/assets/icons/ic_add_circle_outline.svg +3 -0
- package/static/assets/icons/ic_arrow_back.svg +3 -0
- package/static/assets/icons/ic_arrow_drop_down.svg +3 -0
- package/static/assets/icons/ic_arrow_forward.svg +3 -0
- package/static/assets/icons/ic_button.svg +3 -0
- package/static/assets/icons/ic_calendar.svg +12 -0
- package/static/assets/icons/ic_cancel.svg +8 -0
- package/static/assets/icons/ic_caution.svg +3 -0
- package/static/assets/icons/ic_caution_light_large.svg +5 -0
- package/static/assets/icons/ic_check_box.svg +3 -0
- package/static/assets/icons/ic_check_box_outline_blank.svg +3 -0
- package/static/assets/icons/ic_check_circle.svg +3 -0
- package/static/assets/icons/ic_close.svg +3 -0
- package/static/assets/icons/ic_colors.svg +8 -0
- package/static/assets/icons/ic_complete.svg +4 -0
- package/static/assets/icons/ic_css.svg +7 -0
- package/static/assets/icons/ic_dashboard.svg +11 -0
- package/static/assets/icons/ic_date.svg +9 -0
- package/static/assets/icons/ic_date_disable.svg +8 -0
- package/static/assets/icons/ic_delete.svg +7 -0
- package/static/assets/icons/ic_disable.svg +3 -0
- package/static/assets/icons/ic_drag_handle.svg +3 -0
- package/static/assets/icons/ic_drop_light_large.svg +14 -0
- package/static/assets/icons/ic_edit.svg +5 -0
- package/static/assets/icons/ic_email.svg +6 -0
- package/static/assets/icons/ic_fonts.svg +6 -0
- package/static/assets/icons/ic_fullscreen.svg +3 -0
- package/static/assets/icons/ic_fullscreen_exit.svg +3 -0
- package/static/assets/icons/ic_guests.svg +8 -0
- package/static/assets/icons/ic_help.svg +5 -0
- package/static/assets/icons/ic_home.svg +4 -0
- package/static/assets/icons/ic_indeterminate_check_box.svg +3 -0
- package/static/assets/icons/ic_keyboard_arrow_left.svg +3 -0
- package/static/assets/icons/ic_keyboard_arrow_right.svg +3 -0
- package/static/assets/icons/ic_late.svg +5 -0
- package/static/assets/icons/ic_launch.svg +18 -0
- package/static/assets/icons/ic_location.svg +4 -0
- package/static/assets/icons/ic_logout.svg +5 -0
- package/static/assets/icons/ic_menu.svg +3 -0
- package/static/assets/icons/ic_message.svg +5 -0
- package/static/assets/icons/ic_message_failed.svg +7 -0
- package/static/assets/icons/ic_messages.svg +8 -0
- package/static/assets/icons/ic_more.svg +5 -0
- package/static/assets/icons/ic_new_tab.svg +3 -0
- package/static/assets/icons/ic_note.svg +8 -0
- package/static/assets/icons/ic_payment_failed_solid.svg +5 -0
- package/static/assets/icons/ic_payment_success_solid.svg +5 -0
- package/static/assets/icons/ic_phone.svg +7 -0
- package/static/assets/icons/ic_pin.svg +4 -0
- package/static/assets/icons/ic_pin_outline.svg +4 -0
- package/static/assets/icons/ic_power.svg +4 -0
- package/static/assets/icons/ic_private.svg +5 -0
- package/static/assets/icons/ic_profile_image_light_large.svg +7 -0
- package/static/assets/icons/ic_public.svg +5 -0
- package/static/assets/icons/ic_radio_button_checked.svg +3 -0
- package/static/assets/icons/ic_radio_button_unchecked.svg +3 -0
- package/static/assets/icons/ic_rotate_left.svg +9 -0
- package/static/assets/icons/ic_rotate_right.svg +9 -0
- package/static/assets/icons/ic_search.svg +3 -0
- package/static/assets/icons/ic_settings.svg +4 -0
- package/static/assets/icons/ic_shop_light_large.svg +6 -0
- package/static/assets/icons/ic_show.svg +4 -0
- package/static/assets/icons/ic_skill.svg +3 -0
- package/static/assets/icons/ic_star_outline.svg +3 -0
- package/static/assets/icons/ic_star_solid.svg +3 -0
- package/static/assets/icons/ic_status.svg +8 -0
- package/static/assets/icons/ic_store.svg +7 -0
- package/static/assets/icons/ic_switch_users.svg +8 -0
- package/static/assets/icons/ic_team.svg +8 -0
- package/static/assets/icons/ic_teammates.svg +8 -0
- package/static/assets/icons/ic_unordered_list.svg +8 -0
- package/static/assets/icons/ic_upload.svg +8 -0
- package/static/assets/icons/ic_upload_file_light_large.svg +9 -0
- package/static/assets/icons/ic_upload_file_success_light_large.svg +7 -0
- package/static/assets/icons/ic_user_avatar.svg +3 -0
- package/static/assets/icons/ic_wifi.svg +9 -0
- package/static/assets/icons/s-ic_spruce-logo-02.svg +3 -0
- package/static/assets/icons/s-ic_spruce-logo.svg +3 -0
- package/static/assets/logo.png +0 -0
- package/static/assets/users/user-01--96w.png +0 -0
- package/static/assets/users/user-01.png +0 -0
- package/static/assets/users/user-02--96w.png +0 -0
- package/static/assets/users/user-03--96w.png +0 -0
- package/static/assets/users/user-04--96w.png +0 -0
- package/static/assets/users/user-04.png +0 -0
- package/static/assets/users/user-05--96w.png +0 -0
- package/static/assets/users/user-05.png +0 -0
- package/static/assets/users/user-06--96w.png +0 -0
- package/static/assets/users/user-06.png +0 -0
- package/static/assets/users/user-07--96w.png +0 -0
- package/static/assets/users/user-07.png +0 -0
- package/static/assets/users/user-08--96w.png +0 -0
- package/static/assets/users/user-08.png +0 -0
- package/static/assets/users/user-09--96w.png +0 -0
- package/static/assets/users/user-09.png +0 -0
- package/static/assets/users/user-placeholder--96w.png +0 -0
- package/static/assets/users/user-placeholder.png +0 -0
- package/static/browserconfig.xml +9 -0
- package/static/favicon-16x16.png +0 -0
- package/static/favicon-32x32.png +0 -0
- package/static/favicon.ico +0 -0
- package/static/mstile-150x150.png +0 -0
- package/static/safari-pinned-tab.svg +26 -0
- 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"}
|