@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,47 @@
|
|
|
1
|
+
import { IHWAction, IHWSplitButton } from '@sprucelabs/spruce-types';
|
|
2
|
+
import React, { Component } from 'react';
|
|
3
|
+
import { IButtonProps } from '../Button/Button';
|
|
4
|
+
export interface ISplitButtonProps extends Omit<IHWSplitButton, 'actions' | 'defaultAction'> {
|
|
5
|
+
defaultAction: IButtonProps;
|
|
6
|
+
/** All the secondary nested actions */
|
|
7
|
+
actions: IButtonProps[];
|
|
8
|
+
/** optional, provide a handler for Actions */
|
|
9
|
+
onAction?: (action: IHWAction) => any;
|
|
10
|
+
}
|
|
11
|
+
interface ISplitButtonState {
|
|
12
|
+
/** Controls whether the actions are visible */
|
|
13
|
+
isVisible: boolean;
|
|
14
|
+
/** Where the menu should be positioned */
|
|
15
|
+
menuPosition: {
|
|
16
|
+
top: number;
|
|
17
|
+
left: number;
|
|
18
|
+
width: number;
|
|
19
|
+
};
|
|
20
|
+
/** Which suggestion is highlighted by arrow key navigation */
|
|
21
|
+
highlightedActionIndex: number;
|
|
22
|
+
}
|
|
23
|
+
export default class SplitButton extends Component<ISplitButtonProps, ISplitButtonState> {
|
|
24
|
+
private static defaultProps;
|
|
25
|
+
ref: React.RefObject<HTMLDivElement>;
|
|
26
|
+
menuRef: React.RefObject<HTMLDivElement>;
|
|
27
|
+
state: {
|
|
28
|
+
isVisible: boolean;
|
|
29
|
+
menuPosition: {
|
|
30
|
+
top: number;
|
|
31
|
+
left: number;
|
|
32
|
+
width: number;
|
|
33
|
+
};
|
|
34
|
+
highlightedActionIndex: number;
|
|
35
|
+
};
|
|
36
|
+
componentWillUnmount: () => void;
|
|
37
|
+
handleClickOutside: (e: any) => void;
|
|
38
|
+
onKeyUp: (e: any) => void;
|
|
39
|
+
manageListeners: () => void;
|
|
40
|
+
getButtonPosition: () => ClientRect | null;
|
|
41
|
+
getMenuPosition: () => void;
|
|
42
|
+
toggleActionsVisibility: () => void;
|
|
43
|
+
handleAction(action: IHWAction): void;
|
|
44
|
+
render(): React.ReactElement;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=SplitButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton.d.ts","sourceRoot":"","sources":["../../../src/components/SplitButton/SplitButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EAET,cAAc,EACd,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAElD,OAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGvD,MAAM,WAAW,iBAChB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,eAAe,CAAC;IACzD,aAAa,EAAE,YAAY,CAAA;IAE3B,uCAAuC;IACvC,OAAO,EAAE,YAAY,EAAE,CAAA;IAEvB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,GAAG,CAAA;CACrC;AAED,UAAU,iBAAiB;IAC1B,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAA;IAElB,0CAA0C;IAC1C,YAAY,EAAE;QACb,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;KACb,CAAA;IAED,8DAA8D;IAC9D,sBAAsB,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS,CACjD,iBAAiB,EACjB,iBAAiB,CACjB;IACA,OAAO,CAAC,MAAM,CAAC,YAAY,CAG1B;IACM,GAAG,kCAAoC;IACvC,OAAO,kCAAoC;IAE3C,KAAK;;;;;;;;MAQX;IAEM,oBAAoB,aAK1B;IAEM,kBAAkB,mBAexB;IAEM,OAAO,mBAgDb;IAEM,eAAe,aAUrB;IAEM,iBAAiB,0BASvB;IAEM,eAAe,aAqBrB;IAEM,uBAAuB,aAW7B;IAEM,YAAY,CAAC,MAAM,EAAE,SAAS;IAY9B,MAAM,IAAI,KAAK,CAAC,YAAY;CAgGnC"}
|
|
@@ -0,0 +1,296 @@
|
|
|
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
23
|
+
|
|
24
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
+
|
|
26
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
28
|
+
var _spruceTypes = require("@sprucelabs/spruce-types");
|
|
29
|
+
|
|
30
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
+
|
|
32
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
33
|
+
|
|
34
|
+
var _reactDom = require("react-dom");
|
|
35
|
+
|
|
36
|
+
var _Button = _interopRequireDefault(require("../Button/Button"));
|
|
37
|
+
|
|
38
|
+
var _ButtonGroup = _interopRequireDefault(require("../ButtonGroup/ButtonGroup"));
|
|
39
|
+
|
|
40
|
+
var SplitButton =
|
|
41
|
+
/*#__PURE__*/
|
|
42
|
+
function (_Component) {
|
|
43
|
+
(0, _inherits2["default"])(SplitButton, _Component);
|
|
44
|
+
|
|
45
|
+
function SplitButton() {
|
|
46
|
+
var _getPrototypeOf2;
|
|
47
|
+
|
|
48
|
+
var _this;
|
|
49
|
+
|
|
50
|
+
(0, _classCallCheck2["default"])(this, SplitButton);
|
|
51
|
+
|
|
52
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
53
|
+
args[_key] = arguments[_key];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
_this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(SplitButton)).call.apply(_getPrototypeOf2, [this].concat(args)));
|
|
57
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "ref", _react["default"].createRef());
|
|
58
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "menuRef", _react["default"].createRef());
|
|
59
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
60
|
+
isVisible: false,
|
|
61
|
+
menuPosition: {
|
|
62
|
+
top: 0,
|
|
63
|
+
left: 0,
|
|
64
|
+
width: 0
|
|
65
|
+
},
|
|
66
|
+
highlightedActionIndex: -1
|
|
67
|
+
});
|
|
68
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "componentWillUnmount", function () {
|
|
69
|
+
if (typeof document !== 'undefined') {
|
|
70
|
+
document.removeEventListener('click', _this.handleClickOutside, false);
|
|
71
|
+
document.removeEventListener('keyup', _this.onKeyUp, false);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickOutside", function (e) {
|
|
75
|
+
if (_this.ref.current && _this.menuRef.current && !_this.ref.current.contains(e.target) && !_this.menuRef.current.contains(e.target)) {
|
|
76
|
+
_this.setState({
|
|
77
|
+
isVisible: false,
|
|
78
|
+
highlightedActionIndex: -1
|
|
79
|
+
}, function () {
|
|
80
|
+
return _this.manageListeners();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyUp", function (e) {
|
|
85
|
+
var actions = _this.props.actions;
|
|
86
|
+
var highlightedActionIndex = _this.state.highlightedActionIndex; // Down arrow
|
|
87
|
+
|
|
88
|
+
if (e.keyCode === 40) {
|
|
89
|
+
// Update the highlighted suggestion
|
|
90
|
+
_this.setState(function (prevState) {
|
|
91
|
+
return {
|
|
92
|
+
highlightedActionIndex: prevState.highlightedActionIndex === actions.length - 1 ? 0 : prevState.highlightedActionIndex + 1
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
} // Up arrow
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
if (e.keyCode === 38) {
|
|
99
|
+
// Update the highlighted suggestion
|
|
100
|
+
_this.setState(function (prevState) {
|
|
101
|
+
return {
|
|
102
|
+
highlightedActionIndex: prevState.highlightedActionIndex <= 0 ? actions.length - 1 : prevState.highlightedActionIndex - 1
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
} // Escape
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
if (e.key === 'Escape') {
|
|
109
|
+
_this.setState({
|
|
110
|
+
isVisible: false,
|
|
111
|
+
highlightedActionIndex: -1
|
|
112
|
+
}, function () {
|
|
113
|
+
return _this.manageListeners();
|
|
114
|
+
});
|
|
115
|
+
} // Enter
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
if (e.keyCode === 13) {
|
|
119
|
+
// Check if an action is highlighted
|
|
120
|
+
if (highlightedActionIndex > -1) {
|
|
121
|
+
var handler = actions[highlightedActionIndex].onClick; // Trigger it if so
|
|
122
|
+
|
|
123
|
+
if (handler) {
|
|
124
|
+
handler();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
_this.toggleActionsVisibility();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "manageListeners", function () {
|
|
132
|
+
if (typeof document !== 'undefined') {
|
|
133
|
+
if (_this.state.isVisible) {
|
|
134
|
+
document.addEventListener('click', _this.handleClickOutside, false);
|
|
135
|
+
document.addEventListener('keyup', _this.onKeyUp, false);
|
|
136
|
+
} else {
|
|
137
|
+
document.removeEventListener('click', _this.handleClickOutside, false);
|
|
138
|
+
document.removeEventListener('keyup', _this.onKeyUp, false);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getButtonPosition", function () {
|
|
143
|
+
var buttonPosition = _this.ref.current && _this.ref.current.getBoundingClientRect();
|
|
144
|
+
|
|
145
|
+
if (buttonPosition) {
|
|
146
|
+
return buttonPosition;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return null;
|
|
150
|
+
});
|
|
151
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getMenuPosition", function () {
|
|
152
|
+
var buttonPosition = _this.getButtonPosition();
|
|
153
|
+
|
|
154
|
+
var scrollTop = typeof document !== 'undefined' && document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : 0;
|
|
155
|
+
|
|
156
|
+
if (!buttonPosition) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
var menuPosition = {
|
|
161
|
+
left: buttonPosition.left,
|
|
162
|
+
top: buttonPosition.bottom + scrollTop + 2,
|
|
163
|
+
width: buttonPosition.width
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
_this.setState({
|
|
167
|
+
menuPosition: menuPosition
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleActionsVisibility", function () {
|
|
171
|
+
_this.getMenuPosition();
|
|
172
|
+
|
|
173
|
+
_this.setState(function (prevState) {
|
|
174
|
+
return {
|
|
175
|
+
isVisible: !prevState.isVisible,
|
|
176
|
+
highlightedActionIndex: prevState.isVisible ? -1 : prevState.highlightedActionIndex
|
|
177
|
+
};
|
|
178
|
+
}, function () {
|
|
179
|
+
return _this.manageListeners();
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
return _this;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
(0, _createClass2["default"])(SplitButton, [{
|
|
186
|
+
key: "handleAction",
|
|
187
|
+
value: function handleAction(action) {
|
|
188
|
+
var onAction = this.props.onAction;
|
|
189
|
+
this.setState({
|
|
190
|
+
isVisible: false,
|
|
191
|
+
highlightedActionIndex: -1
|
|
192
|
+
}, function () {
|
|
193
|
+
return onAction && onAction(action);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}, {
|
|
197
|
+
key: "render",
|
|
198
|
+
value: function render() {
|
|
199
|
+
var _this2 = this;
|
|
200
|
+
|
|
201
|
+
var _this$props = this.props,
|
|
202
|
+
defaultAction = _this$props.defaultAction,
|
|
203
|
+
actions = _this$props.actions,
|
|
204
|
+
kind = _this$props.kind,
|
|
205
|
+
isFullWidth = _this$props.isFullWidth,
|
|
206
|
+
isSmall = _this$props.isSmall,
|
|
207
|
+
usePortal = _this$props.usePortal;
|
|
208
|
+
var _this$state = this.state,
|
|
209
|
+
isVisible = _this$state.isVisible,
|
|
210
|
+
menuPosition = _this$state.menuPosition,
|
|
211
|
+
highlightedActionIndex = _this$state.highlightedActionIndex;
|
|
212
|
+
|
|
213
|
+
if (!actions || actions && actions.length === 0) {
|
|
214
|
+
// TODO: Warn dev if not in production environment; they might wanna use a different component
|
|
215
|
+
return _react["default"].createElement(_Button["default"], (0, _extends2["default"])({
|
|
216
|
+
isFullWidth: isFullWidth,
|
|
217
|
+
isSmall: isSmall
|
|
218
|
+
}, defaultAction, {
|
|
219
|
+
kind: defaultAction.kind || kind,
|
|
220
|
+
onAction: function onAction(action) {
|
|
221
|
+
return _this2.handleAction(action);
|
|
222
|
+
}
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return _react["default"].createElement("div", {
|
|
227
|
+
className: (0, _classnames["default"])('split-button', {
|
|
228
|
+
'split-button--is-full-width': isFullWidth
|
|
229
|
+
}),
|
|
230
|
+
ref: this.ref
|
|
231
|
+
}, _react["default"].createElement("div", {
|
|
232
|
+
className: "split-button__button"
|
|
233
|
+
}, _react["default"].createElement(_Button["default"], (0, _extends2["default"])({
|
|
234
|
+
isSmall: isSmall,
|
|
235
|
+
className: "split-button__default"
|
|
236
|
+
}, defaultAction, {
|
|
237
|
+
kind: defaultAction.kind || kind,
|
|
238
|
+
isFullWidth: false,
|
|
239
|
+
onAction: function onAction(action) {
|
|
240
|
+
return _this2.handleAction(action);
|
|
241
|
+
}
|
|
242
|
+
})), _react["default"].createElement(_Button["default"], {
|
|
243
|
+
isSmall: isSmall,
|
|
244
|
+
className: "split-button__actions",
|
|
245
|
+
icon: {
|
|
246
|
+
name: 'keyboard_arrow_down'
|
|
247
|
+
},
|
|
248
|
+
kind: kind,
|
|
249
|
+
onClick: this.toggleActionsVisibility,
|
|
250
|
+
onAction: function onAction(action) {
|
|
251
|
+
return _this2.handleAction(action);
|
|
252
|
+
}
|
|
253
|
+
})), isVisible && _react["default"].createElement(_react.Fragment, null, typeof document !== 'undefined' && document.body && usePortal ? (0, _reactDom.createPortal)(_react["default"].createElement("div", {
|
|
254
|
+
ref: this.menuRef,
|
|
255
|
+
style: {
|
|
256
|
+
position: 'absolute',
|
|
257
|
+
top: "".concat(menuPosition.top, "px"),
|
|
258
|
+
left: "".concat(menuPosition.left, "px"),
|
|
259
|
+
width: "".concat(menuPosition.width, "px")
|
|
260
|
+
}
|
|
261
|
+
}, _react["default"].createElement(_ButtonGroup["default"], {
|
|
262
|
+
kind: _spruceTypes.IHWButtonGroupKind.Floating,
|
|
263
|
+
isFullWidth: true,
|
|
264
|
+
actions: actions,
|
|
265
|
+
highlightedIndex: highlightedActionIndex,
|
|
266
|
+
onAction: function onAction(action) {
|
|
267
|
+
return _this2.handleAction(action);
|
|
268
|
+
}
|
|
269
|
+
})), document.body) : _react["default"].createElement("div", {
|
|
270
|
+
ref: this.menuRef,
|
|
271
|
+
style: {
|
|
272
|
+
position: 'relative',
|
|
273
|
+
top: '2px',
|
|
274
|
+
left: '0',
|
|
275
|
+
width: "".concat(menuPosition.width, "px")
|
|
276
|
+
}
|
|
277
|
+
}, _react["default"].createElement(_ButtonGroup["default"], {
|
|
278
|
+
kind: _spruceTypes.IHWButtonGroupKind.Floating,
|
|
279
|
+
isFullWidth: true,
|
|
280
|
+
actions: actions,
|
|
281
|
+
highlightedIndex: highlightedActionIndex,
|
|
282
|
+
onAction: function onAction(action) {
|
|
283
|
+
return _this2.handleAction(action);
|
|
284
|
+
}
|
|
285
|
+
}))));
|
|
286
|
+
}
|
|
287
|
+
}]);
|
|
288
|
+
return SplitButton;
|
|
289
|
+
}(_react.Component);
|
|
290
|
+
|
|
291
|
+
exports["default"] = SplitButton;
|
|
292
|
+
(0, _defineProperty2["default"])(SplitButton, "defaultProps", {
|
|
293
|
+
isFullWidth: false,
|
|
294
|
+
isSmall: false
|
|
295
|
+
});
|
|
296
|
+
//# sourceMappingURL=SplitButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"names":["SplitButton","React","createRef","isVisible","menuPosition","top","left","width","highlightedActionIndex","document","removeEventListener","handleClickOutside","onKeyUp","e","ref","current","menuRef","contains","target","setState","manageListeners","actions","props","state","keyCode","prevState","length","key","handler","onClick","toggleActionsVisibility","addEventListener","buttonPosition","getBoundingClientRect","getButtonPosition","scrollTop","documentElement","bottom","getMenuPosition","action","onAction","defaultAction","kind","isFullWidth","isSmall","usePortal","handleAction","name","body","position","IHWButtonGroupKind","Floating","Component"],"mappings":"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","sourcesContent":["import {\n\tIHWAction,\n\tIHWButtonGroupKind,\n\tIHWSplitButton\n} from '@sprucelabs/spruce-types'\nimport cx from 'classnames'\nimport React, { Component, Fragment } from 'react'\nimport { createPortal } from 'react-dom'\nimport Button, { IButtonProps } from '../Button/Button'\nimport ButtonGroup from '../ButtonGroup/ButtonGroup'\n\nexport interface ISplitButtonProps\n\textends Omit<IHWSplitButton, 'actions' | 'defaultAction'> {\n\tdefaultAction: IButtonProps\n\n\t/** All the secondary nested actions */\n\tactions: IButtonProps[]\n\n\t/** optional, provide a handler for Actions */\n\tonAction?: (action: IHWAction) => any\n}\n\ninterface ISplitButtonState {\n\t/** Controls whether the actions are visible */\n\tisVisible: boolean\n\n\t/** Where the menu should be positioned */\n\tmenuPosition: {\n\t\ttop: number\n\t\tleft: number\n\t\twidth: number\n\t}\n\n\t/** Which suggestion is highlighted by arrow key navigation */\n\thighlightedActionIndex: number\n}\n\nexport default class SplitButton extends Component<\n\tISplitButtonProps,\n\tISplitButtonState\n> {\n\tprivate static defaultProps = {\n\t\tisFullWidth: false,\n\t\tisSmall: false\n\t}\n\tpublic ref = React.createRef<HTMLDivElement>()\n\tpublic menuRef = React.createRef<HTMLDivElement>()\n\n\tpublic state = {\n\t\tisVisible: false,\n\t\tmenuPosition: {\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t\twidth: 0\n\t\t},\n\t\thighlightedActionIndex: -1\n\t}\n\n\tpublic componentWillUnmount = () => {\n\t\tif (typeof document !== 'undefined') {\n\t\t\tdocument.removeEventListener('click', this.handleClickOutside, false)\n\t\t\tdocument.removeEventListener('keyup', this.onKeyUp, false)\n\t\t}\n\t}\n\n\tpublic handleClickOutside = (e: any) => {\n\t\tif (\n\t\t\tthis.ref.current &&\n\t\t\tthis.menuRef.current &&\n\t\t\t!this.ref.current.contains(e.target) &&\n\t\t\t!this.menuRef.current.contains(e.target)\n\t\t) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tisVisible: false,\n\t\t\t\t\thighlightedActionIndex: -1\n\t\t\t\t},\n\t\t\t\t() => this.manageListeners()\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic onKeyUp = (e: any) => {\n\t\tconst { actions } = this.props\n\t\tconst { highlightedActionIndex } = this.state\n\t\t// Down arrow\n\t\tif (e.keyCode === 40) {\n\t\t\t// Update the highlighted suggestion\n\t\t\tthis.setState(prevState => ({\n\t\t\t\thighlightedActionIndex:\n\t\t\t\t\tprevState.highlightedActionIndex === actions.length - 1\n\t\t\t\t\t\t? 0\n\t\t\t\t\t\t: prevState.highlightedActionIndex + 1\n\t\t\t}))\n\t\t}\n\n\t\t// Up arrow\n\t\tif (e.keyCode === 38) {\n\t\t\t// Update the highlighted suggestion\n\t\t\tthis.setState(prevState => ({\n\t\t\t\thighlightedActionIndex:\n\t\t\t\t\tprevState.highlightedActionIndex <= 0\n\t\t\t\t\t\t? actions.length - 1\n\t\t\t\t\t\t: prevState.highlightedActionIndex - 1\n\t\t\t}))\n\t\t}\n\n\t\t// Escape\n\t\tif (e.key === 'Escape') {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tisVisible: false,\n\t\t\t\t\thighlightedActionIndex: -1\n\t\t\t\t},\n\t\t\t\t() => this.manageListeners()\n\t\t\t)\n\t\t}\n\n\t\t// Enter\n\t\tif (e.keyCode === 13) {\n\t\t\t// Check if an action is highlighted\n\t\t\tif (highlightedActionIndex > -1) {\n\t\t\t\tconst handler = actions[highlightedActionIndex].onClick\n\t\t\t\t// Trigger it if so\n\t\t\t\tif (handler) {\n\t\t\t\t\thandler()\n\t\t\t\t}\n\t\t\t\tthis.toggleActionsVisibility()\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic manageListeners = () => {\n\t\tif (typeof document !== 'undefined') {\n\t\t\tif (this.state.isVisible) {\n\t\t\t\tdocument.addEventListener('click', this.handleClickOutside, false)\n\t\t\t\tdocument.addEventListener('keyup', this.onKeyUp, false)\n\t\t\t} else {\n\t\t\t\tdocument.removeEventListener('click', this.handleClickOutside, false)\n\t\t\t\tdocument.removeEventListener('keyup', this.onKeyUp, false)\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getButtonPosition = () => {\n\t\tconst buttonPosition =\n\t\t\tthis.ref.current && this.ref.current.getBoundingClientRect()\n\n\t\tif (buttonPosition) {\n\t\t\treturn buttonPosition\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic getMenuPosition = () => {\n\t\tconst buttonPosition = this.getButtonPosition()\n\t\tconst scrollTop =\n\t\t\ttypeof document !== 'undefined' &&\n\t\t\tdocument.documentElement &&\n\t\t\tdocument.documentElement.scrollTop\n\t\t\t\t? document.documentElement.scrollTop\n\t\t\t\t: 0\n\n\t\tif (!buttonPosition) {\n\t\t\treturn\n\t\t}\n\t\tconst menuPosition = {\n\t\t\tleft: buttonPosition.left,\n\t\t\ttop: buttonPosition.bottom + scrollTop + 2,\n\t\t\twidth: buttonPosition.width\n\t\t}\n\n\t\tthis.setState({\n\t\t\tmenuPosition\n\t\t})\n\t}\n\n\tpublic toggleActionsVisibility = () => {\n\t\tthis.getMenuPosition()\n\t\tthis.setState(\n\t\t\tprevState => ({\n\t\t\t\tisVisible: !prevState.isVisible,\n\t\t\t\thighlightedActionIndex: prevState.isVisible\n\t\t\t\t\t? -1\n\t\t\t\t\t: prevState.highlightedActionIndex\n\t\t\t}),\n\t\t\t() => this.manageListeners()\n\t\t)\n\t}\n\n\tpublic handleAction(action: IHWAction) {\n\t\tconst { onAction } = this.props\n\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisVisible: false,\n\t\t\t\thighlightedActionIndex: -1\n\t\t\t},\n\t\t\t() => onAction && onAction(action)\n\t\t)\n\t}\n\n\tpublic render(): React.ReactElement {\n\t\tconst {\n\t\t\tdefaultAction,\n\t\t\tactions,\n\t\t\tkind,\n\t\t\tisFullWidth,\n\t\t\tisSmall,\n\t\t\tusePortal\n\t\t} = this.props\n\t\tconst { isVisible, menuPosition, highlightedActionIndex } = this.state\n\n\t\tif (!actions || (actions && actions.length === 0)) {\n\t\t\t// TODO: Warn dev if not in production environment; they might wanna use a different component\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tisFullWidth={isFullWidth}\n\t\t\t\t\tisSmall={isSmall}\n\t\t\t\t\t{...defaultAction}\n\t\t\t\t\tkind={defaultAction.kind || kind}\n\t\t\t\t\tonAction={action => this.handleAction(action)}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cx('split-button', {\n\t\t\t\t\t'split-button--is-full-width': isFullWidth\n\t\t\t\t})}\n\t\t\t\tref={this.ref}\n\t\t\t>\n\t\t\t\t<div className=\"split-button__button\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisSmall={isSmall}\n\t\t\t\t\t\tclassName=\"split-button__default\"\n\t\t\t\t\t\t{...defaultAction}\n\t\t\t\t\t\tkind={defaultAction.kind || kind}\n\t\t\t\t\t\tisFullWidth={false}\n\t\t\t\t\t\tonAction={action => this.handleAction(action)}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisSmall={isSmall}\n\t\t\t\t\t\tclassName=\"split-button__actions\"\n\t\t\t\t\t\ticon={{ name: 'keyboard_arrow_down' }}\n\t\t\t\t\t\tkind={kind}\n\t\t\t\t\t\tonClick={this.toggleActionsVisibility}\n\t\t\t\t\t\tonAction={action => this.handleAction(action)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{isVisible && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{typeof document !== 'undefined' && document.body && usePortal ? (\n\t\t\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tref={this.menuRef}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\ttop: `${menuPosition.top}px`,\n\t\t\t\t\t\t\t\t\t\tleft: `${menuPosition.left}px`,\n\t\t\t\t\t\t\t\t\t\twidth: `${menuPosition.width}px`\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\t\t<ButtonGroup\n\t\t\t\t\t\t\t\t\t\tkind={IHWButtonGroupKind.Floating}\n\t\t\t\t\t\t\t\t\t\tisFullWidth\n\t\t\t\t\t\t\t\t\t\tactions={actions}\n\t\t\t\t\t\t\t\t\t\thighlightedIndex={highlightedActionIndex}\n\t\t\t\t\t\t\t\t\t\tonAction={action => this.handleAction(action)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>,\n\t\t\t\t\t\t\t\tdocument.body\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tref={this.menuRef}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\ttop: '2px',\n\t\t\t\t\t\t\t\t\tleft: '0',\n\t\t\t\t\t\t\t\t\twidth: `${menuPosition.width}px`\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\t\t\tkind={IHWButtonGroupKind.Floating}\n\t\t\t\t\t\t\t\t\tisFullWidth\n\t\t\t\t\t\t\t\t\tactions={actions}\n\t\t\t\t\t\t\t\t\thighlightedIndex={highlightedActionIndex}\n\t\t\t\t\t\t\t\t\tonAction={action => this.handleAction(action)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}\n}\n"],"file":"SplitButton.js"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@storybook/react");
|
|
8
|
+
|
|
9
|
+
var _react3 = require("@storybook/addon-knobs/react");
|
|
10
|
+
|
|
11
|
+
var _Subheading = _interopRequireDefault(require("./Subheading"));
|
|
12
|
+
|
|
13
|
+
var stories = (0, _react2.storiesOf)('Subheading', module);
|
|
14
|
+
stories.addDecorator(_react3.withKnobs);
|
|
15
|
+
stories.add('Subheading', function () {
|
|
16
|
+
return _react["default"].createElement(_Subheading["default"], null, (0, _react3.text)('children', 'Hello, world'));
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=Subheading-story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Subheading/Subheading-story.js"],"names":["stories","module","addDecorator","withKnobs","add"],"mappings":";;;;AACA;;AACA;;AACA;;AACA;;AACA,IAAMA,OAAO,GAAG,uBAAU,YAAV,EAAwBC,MAAxB,CAAhB;AAEAD,OAAO,CAACE,YAAR,CAAqBC,iBAArB;AAEAH,OAAO,CAACI,GAAR,CAAY,YAAZ,EAA0B;AAAA,SACzB,gCAAC,sBAAD,QAAa,kBAAK,UAAL,EAAiB,cAAjB,CAAb,CADyB;AAAA,CAA1B","sourcesContent":["// @flow\nimport React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { withKnobs, text } from '@storybook/addon-knobs/react'\nimport Subheading from './Subheading'\nconst stories = storiesOf('Subheading', module)\n\nstories.addDecorator(withKnobs)\n\nstories.add('Subheading', () => (\n\t<Subheading>{text('children', 'Hello, world')}</Subheading>\n))\n"],"file":"Subheading-story.js"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
14
|
+
var _Heading = require("../Heading/Heading");
|
|
15
|
+
|
|
16
|
+
var Subheading = function Subheading(props) {
|
|
17
|
+
var children = props.children,
|
|
18
|
+
className = props.className,
|
|
19
|
+
Element = props.element;
|
|
20
|
+
|
|
21
|
+
if (typeof children === 'string') {
|
|
22
|
+
return _react["default"].createElement(Element, {
|
|
23
|
+
className: (0, _classnames["default"])('subheading', className),
|
|
24
|
+
dangerouslySetInnerHTML: {
|
|
25
|
+
__html: children
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return _react["default"].createElement(Element, {
|
|
31
|
+
className: (0, _classnames["default"])('subheading', className)
|
|
32
|
+
}, children);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
Subheading.defaultProps = {
|
|
36
|
+
element: 'h2'
|
|
37
|
+
};
|
|
38
|
+
var _default = Subheading;
|
|
39
|
+
exports["default"] = _default;
|
|
40
|
+
//# sourceMappingURL=Subheading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Subheading/Subheading.js"],"names":["Subheading","props","children","className","Element","element","__html","defaultProps"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAaA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAyB;AAAA,MACnCC,QADmC,GACOD,KADP,CACnCC,QADmC;AAAA,MACzBC,SADyB,GACOF,KADP,CACzBE,SADyB;AAAA,MACLC,OADK,GACOH,KADP,CACdI,OADc;;AAE3C,MAAI,OAAOH,QAAP,KAAoB,QAAxB,EAAkC;AACjC,WACC,gCAAC,OAAD;AACC,MAAA,SAAS,EAAE,4BAAG,YAAH,EAAiBC,SAAjB,CADZ;AAEC,MAAA,uBAAuB,EAAE;AAAEG,QAAAA,MAAM,EAAEJ;AAAV;AAF1B,MADD;AAMA;;AACD,SAAO,gCAAC,OAAD;AAAS,IAAA,SAAS,EAAE,4BAAG,YAAH,EAAiBC,SAAjB;AAApB,KAAkDD,QAAlD,CAAP;AACA,CAXD;;AAaAF,UAAU,CAACO,YAAX,GAA0B;AACzBF,EAAAA,OAAO,EAAE;AADgB,CAA1B;eAIeL,U","sourcesContent":["// @flow\nimport React from 'react'\nimport cx from 'classnames'\nimport { HeadingTagName } from '../Heading/Heading'\n\nexport type TextProps = {\n\t/** Contents of the component. */\n\tchildren: Node,\n\n\t/** Class name for the component */\n\tclassName?: string,\n\n\t/** Wrapping element to use for the subheading */\n\telement?: HeadingTagName\n}\n\nconst Subheading = (props: HeadingProps) => {\n\tconst { children, className, element: Element } = props\n\tif (typeof children === 'string') {\n\t\treturn (\n\t\t\t<Element\n\t\t\t\tclassName={cx('subheading', className)}\n\t\t\t\tdangerouslySetInnerHTML={{ __html: children }}\n\t\t\t/>\n\t\t)\n\t}\n\treturn <Element className={cx('subheading', className)}>{children}</Element>\n}\n\nSubheading.defaultProps = {\n\telement: 'h2'\n}\n\nexport default Subheading\n"],"file":"Subheading.js"}
|