@workday/canvas-kit-react 6.3.6 → 7.0.0-alpha.0-next.4
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/action-bar/README.md +4 -53
- package/action-bar/index.ts +0 -4
- package/action-bar/lib/ActionBar.tsx +29 -68
- package/banner/index.ts +1 -4
- package/banner/lib/Banner.tsx +86 -111
- package/banner/lib/BannerActionText.tsx +49 -0
- package/banner/lib/BannerIcon.tsx +39 -0
- package/banner/lib/BannerLabel.tsx +29 -0
- package/banner/lib/hooks/index.ts +6 -0
- package/banner/lib/hooks/useBanner.tsx +13 -0
- package/banner/lib/hooks/useBannerActionText.tsx +12 -0
- package/banner/lib/hooks/useBannerIcon.tsx +19 -0
- package/banner/lib/hooks/useBannerLabel.tsx +12 -0
- package/banner/lib/hooks/useBannerModel.tsx +63 -0
- package/banner/lib/hooks/useThemedPalette.ts +53 -0
- package/button/lib/IconButton.tsx +5 -2
- package/button/lib/ToolbarDropdownButton.tsx +1 -2
- package/card/lib/CardHeading.tsx +5 -6
- package/common/lib/styles/hideMouseFocus.ts +3 -2
- package/common/lib/utils/index.ts +1 -0
- package/cookie-banner/lib/CookieBanner.tsx +1 -0
- package/dist/commonjs/action-bar/index.d.ts +0 -3
- package/dist/commonjs/action-bar/index.d.ts.map +1 -1
- package/dist/commonjs/action-bar/index.js +0 -6
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts +5 -10
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/commonjs/action-bar/lib/ActionBar.js +8 -76
- package/dist/commonjs/banner/index.d.ts +1 -3
- package/dist/commonjs/banner/index.d.ts.map +1 -1
- package/dist/commonjs/banner/index.js +1 -6
- package/dist/commonjs/banner/lib/Banner.d.ts +17 -33
- package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/Banner.js +45 -69
- package/dist/commonjs/banner/lib/BannerActionText.d.ts +14 -0
- package/dist/commonjs/banner/lib/BannerActionText.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/BannerActionText.js +48 -0
- package/dist/commonjs/banner/lib/BannerIcon.d.ts +14 -0
- package/dist/commonjs/banner/lib/BannerIcon.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/BannerIcon.js +47 -0
- package/dist/commonjs/banner/lib/BannerLabel.d.ts +13 -0
- package/dist/commonjs/banner/lib/BannerLabel.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/BannerLabel.js +45 -0
- package/dist/commonjs/banner/lib/hooks/index.d.ts +7 -0
- package/dist/commonjs/banner/lib/hooks/index.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/index.js +11 -0
- package/dist/commonjs/banner/lib/hooks/useBanner.d.ts +16 -0
- package/dist/commonjs/banner/lib/hooks/useBanner.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/useBanner.js +14 -0
- package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +15 -0
- package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/useBannerActionText.js +13 -0
- package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +18 -0
- package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/useBannerIcon.js +19 -0
- package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +15 -0
- package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/useBannerLabel.js +13 -0
- package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +37 -0
- package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/useBannerModel.js +22 -0
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +11 -0
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -0
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +39 -0
- package/dist/commonjs/button/lib/IconButton.d.ts +5 -2
- package/dist/commonjs/button/lib/IconButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/ToolbarDropdownButton.js +7 -5
- package/dist/commonjs/card/lib/Card.d.ts +1 -1
- package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
- package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
- package/dist/commonjs/card/lib/CardHeading.d.ts +2 -1
- package/dist/commonjs/card/lib/CardHeading.d.ts.map +1 -1
- package/dist/commonjs/card/lib/CardHeading.js +3 -4
- package/dist/commonjs/common/lib/styles/hideMouseFocus.d.ts +3 -2
- package/dist/commonjs/common/lib/styles/hideMouseFocus.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/index.d.ts +1 -0
- package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/index.js +1 -0
- package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
- package/dist/commonjs/cookie-banner/lib/CookieBanner.js +1 -0
- package/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
- package/dist/commonjs/icon/lib/Svg.d.ts +0 -1
- package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/Svg.js +7 -14
- package/dist/commonjs/modal/lib/Modal.d.ts +2 -1
- package/dist/commonjs/modal/lib/Modal.d.ts.map +1 -1
- package/dist/commonjs/modal/lib/Modal.js +2 -0
- package/dist/commonjs/modal/lib/ModalCard.js +1 -1
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +2 -0
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts.map +1 -0
- package/dist/commonjs/{pagination/lib/Pagination/common/Box.js → modal/lib/ModalOverflowOverlay.js} +10 -32
- package/dist/commonjs/modal/lib/ModalOverlay.d.ts +2 -1
- package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
- package/dist/commonjs/modal/lib/ModalOverlay.js +9 -2
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +21 -7
- package/dist/commonjs/pagination/lib/Pagination/Controls.js +2 -2
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +2 -2
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +12 -4
- package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Nav.js +2 -2
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +4 -4
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/PageList.js +11 -7
- package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +4 -4
- package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +6 -8
- package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/List.js +15 -12
- package/dist/commonjs/popup/lib/Popup.d.ts +1 -1
- package/dist/commonjs/popup/lib/Popup.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/Popup.js +2 -2
- package/dist/commonjs/popup/lib/PopupBody.d.ts +2 -0
- package/dist/commonjs/popup/lib/PopupBody.d.ts.map +1 -0
- package/dist/commonjs/popup/lib/PopupBody.js +29 -0
- package/dist/commonjs/popup/lib/PopupCard.d.ts +2 -1
- package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/PopupCard.js +7 -1
- package/dist/commonjs/popup/lib/PopupHeading.d.ts +3 -1
- package/dist/commonjs/popup/lib/PopupHeading.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
- package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts +5 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts.map +1 -1
- package/dist/commonjs/status-indicator/lib/StatusIndicator.js +5 -5
- package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
- package/dist/commonjs/toast/lib/Toast.js +16 -13
- package/dist/es6/action-bar/index.d.ts +0 -3
- package/dist/es6/action-bar/index.d.ts.map +1 -1
- package/dist/es6/action-bar/index.js +0 -3
- package/dist/es6/action-bar/lib/ActionBar.d.ts +5 -10
- package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/es6/action-bar/lib/ActionBar.js +10 -78
- package/dist/es6/banner/index.d.ts +1 -3
- package/dist/es6/banner/index.d.ts.map +1 -1
- package/dist/es6/banner/index.js +1 -3
- package/dist/es6/banner/lib/Banner.d.ts +17 -33
- package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
- package/dist/es6/banner/lib/Banner.js +47 -71
- package/dist/es6/banner/lib/BannerActionText.d.ts +14 -0
- package/dist/es6/banner/lib/BannerActionText.d.ts.map +1 -0
- package/dist/es6/banner/lib/BannerActionText.js +39 -0
- package/dist/es6/banner/lib/BannerIcon.d.ts +14 -0
- package/dist/es6/banner/lib/BannerIcon.d.ts.map +1 -0
- package/dist/es6/banner/lib/BannerIcon.js +42 -0
- package/dist/es6/banner/lib/BannerLabel.d.ts +13 -0
- package/dist/es6/banner/lib/BannerLabel.d.ts.map +1 -0
- package/dist/es6/banner/lib/BannerLabel.js +36 -0
- package/dist/es6/banner/lib/hooks/index.d.ts +7 -0
- package/dist/es6/banner/lib/hooks/index.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/index.js +6 -0
- package/dist/es6/banner/lib/hooks/useBanner.d.ts +16 -0
- package/dist/es6/banner/lib/hooks/useBanner.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/useBanner.js +12 -0
- package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +15 -0
- package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/useBannerActionText.js +11 -0
- package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +18 -0
- package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/useBannerIcon.js +17 -0
- package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +15 -0
- package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/useBannerLabel.js +11 -0
- package/dist/es6/banner/lib/hooks/useBannerModel.d.ts +37 -0
- package/dist/es6/banner/lib/hooks/useBannerModel.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/useBannerModel.js +20 -0
- package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +11 -0
- package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -0
- package/dist/es6/banner/lib/hooks/useThemedPalette.js +33 -0
- package/dist/es6/button/lib/IconButton.d.ts +5 -2
- package/dist/es6/button/lib/IconButton.d.ts.map +1 -1
- package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
- package/dist/es6/button/lib/ToolbarDropdownButton.js +4 -5
- package/dist/es6/card/lib/Card.d.ts +1 -1
- package/dist/es6/card/lib/CardBody.d.ts +1 -1
- package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
- package/dist/es6/card/lib/CardHeading.d.ts +2 -1
- package/dist/es6/card/lib/CardHeading.d.ts.map +1 -1
- package/dist/es6/card/lib/CardHeading.js +4 -5
- package/dist/es6/common/lib/styles/hideMouseFocus.d.ts +3 -2
- package/dist/es6/common/lib/styles/hideMouseFocus.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/index.d.ts +1 -0
- package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/index.js +1 -0
- package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
- package/dist/es6/cookie-banner/lib/CookieBanner.js +1 -0
- package/dist/es6/dialog/lib/Dialog.d.ts +1 -1
- package/dist/es6/icon/lib/Svg.d.ts +0 -1
- package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
- package/dist/es6/icon/lib/Svg.js +7 -14
- package/dist/es6/modal/lib/Modal.d.ts +2 -1
- package/dist/es6/modal/lib/Modal.d.ts.map +1 -1
- package/dist/es6/modal/lib/Modal.js +2 -0
- package/dist/es6/modal/lib/ModalCard.js +1 -1
- package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +2 -0
- package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts.map +1 -0
- package/dist/es6/modal/lib/ModalOverflowOverlay.js +36 -0
- package/dist/es6/modal/lib/ModalOverlay.d.ts +2 -1
- package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
- package/dist/es6/modal/lib/ModalOverlay.js +9 -2
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +16 -9
- package/dist/es6/pagination/lib/Pagination/Controls.js +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +2 -2
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +5 -4
- package/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/Nav.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/Nav.js +2 -2
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts +4 -4
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/PageList.js +5 -8
- package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +4 -4
- package/dist/es6/pagination/lib/Pagination/common/List.d.ts +6 -8
- package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/common/List.js +15 -12
- package/dist/es6/popup/lib/Popup.d.ts +1 -1
- package/dist/es6/popup/lib/Popup.d.ts.map +1 -1
- package/dist/es6/popup/lib/Popup.js +2 -2
- package/dist/es6/popup/lib/PopupBody.d.ts +2 -0
- package/dist/es6/popup/lib/PopupBody.d.ts.map +1 -0
- package/dist/es6/popup/lib/PopupBody.js +20 -0
- package/dist/es6/popup/lib/PopupCard.d.ts +2 -1
- package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
- package/dist/es6/popup/lib/PopupCard.js +8 -2
- package/dist/es6/popup/lib/PopupHeading.d.ts +3 -1
- package/dist/es6/popup/lib/PopupHeading.d.ts.map +1 -1
- package/dist/es6/popup/lib/PopupHeading.js +1 -1
- package/dist/es6/status-indicator/lib/StatusIndicator.d.ts +5 -0
- package/dist/es6/status-indicator/lib/StatusIndicator.d.ts.map +1 -1
- package/dist/es6/status-indicator/lib/StatusIndicator.js +5 -5
- package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
- package/dist/es6/toast/lib/Toast.js +9 -13
- package/icon/lib/Svg.tsx +13 -22
- package/modal/lib/Modal.tsx +2 -0
- package/modal/lib/ModalCard.tsx +1 -1
- package/modal/lib/ModalOverflowOverlay.tsx +25 -0
- package/modal/lib/ModalOverlay.tsx +11 -3
- package/package.json +5 -5
- package/pagination/lib/Pagination/AdditionalDetails.tsx +24 -18
- package/pagination/lib/Pagination/Controls.tsx +1 -1
- package/pagination/lib/Pagination/GoTo/Form.tsx +4 -5
- package/pagination/lib/Pagination/GoTo/Label.tsx +5 -6
- package/pagination/lib/Pagination/Nav.tsx +2 -2
- package/pagination/lib/Pagination/PageList.tsx +13 -11
- package/pagination/lib/Pagination/common/List.tsx +25 -23
- package/popup/lib/Popup.tsx +2 -2
- package/popup/lib/PopupBody.tsx +11 -0
- package/popup/lib/PopupCard.tsx +17 -3
- package/popup/lib/PopupHeading.tsx +3 -3
- package/status-indicator/lib/StatusIndicator.tsx +20 -9
- package/toast/lib/Toast.tsx +9 -15
- package/ts3.5/dist/commonjs/action-bar/index.d.ts +0 -3
- package/ts3.5/dist/commonjs/action-bar/lib/ActionBar.d.ts +5 -10
- package/ts3.5/dist/commonjs/banner/index.d.ts +1 -3
- package/ts3.5/dist/commonjs/banner/lib/Banner.d.ts +17 -33
- package/ts3.5/dist/commonjs/banner/lib/BannerActionText.d.ts +14 -0
- package/ts3.5/dist/commonjs/banner/lib/BannerIcon.d.ts +14 -0
- package/ts3.5/dist/commonjs/banner/lib/BannerLabel.d.ts +13 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/index.d.ts +7 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/useBanner.d.ts +16 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +15 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +18 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +15 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +37 -0
- package/ts3.5/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +11 -0
- package/ts3.5/dist/commonjs/button/lib/IconButton.d.ts +5 -2
- package/ts3.5/dist/commonjs/card/lib/Card.d.ts +1 -1
- package/ts3.5/dist/commonjs/card/lib/CardBody.d.ts +1 -1
- package/ts3.5/dist/commonjs/card/lib/CardHeading.d.ts +2 -1
- package/ts3.5/dist/commonjs/common/lib/styles/hideMouseFocus.d.ts +3 -2
- package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
- package/ts3.5/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
- package/ts3.5/dist/commonjs/icon/lib/Svg.d.ts +0 -1
- package/ts3.5/dist/commonjs/modal/lib/Modal.d.ts +2 -1
- package/ts3.5/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +2 -0
- package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +2 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +4 -4
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +4 -4
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +6 -8
- package/ts3.5/dist/commonjs/popup/lib/Popup.d.ts +1 -1
- package/ts3.5/dist/commonjs/popup/lib/PopupBody.d.ts +2 -0
- package/ts3.5/dist/commonjs/popup/lib/PopupCard.d.ts +2 -1
- package/ts3.5/dist/commonjs/popup/lib/PopupHeading.d.ts +3 -1
- package/ts3.5/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts +5 -0
- package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
- package/ts3.5/dist/es6/action-bar/index.d.ts +0 -3
- package/ts3.5/dist/es6/action-bar/lib/ActionBar.d.ts +5 -10
- package/ts3.5/dist/es6/banner/index.d.ts +1 -3
- package/ts3.5/dist/es6/banner/lib/Banner.d.ts +17 -33
- package/ts3.5/dist/es6/banner/lib/BannerActionText.d.ts +14 -0
- package/ts3.5/dist/es6/banner/lib/BannerIcon.d.ts +14 -0
- package/ts3.5/dist/es6/banner/lib/BannerLabel.d.ts +13 -0
- package/ts3.5/dist/es6/banner/lib/hooks/index.d.ts +7 -0
- package/ts3.5/dist/es6/banner/lib/hooks/useBanner.d.ts +16 -0
- package/ts3.5/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +15 -0
- package/ts3.5/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +18 -0
- package/ts3.5/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +15 -0
- package/ts3.5/dist/es6/banner/lib/hooks/useBannerModel.d.ts +37 -0
- package/ts3.5/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +11 -0
- package/ts3.5/dist/es6/button/lib/IconButton.d.ts +5 -2
- package/ts3.5/dist/es6/card/lib/Card.d.ts +1 -1
- package/ts3.5/dist/es6/card/lib/CardBody.d.ts +1 -1
- package/ts3.5/dist/es6/card/lib/CardHeading.d.ts +2 -1
- package/ts3.5/dist/es6/common/lib/styles/hideMouseFocus.d.ts +3 -2
- package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
- package/ts3.5/dist/es6/dialog/lib/Dialog.d.ts +1 -1
- package/ts3.5/dist/es6/icon/lib/Svg.d.ts +0 -1
- package/ts3.5/dist/es6/modal/lib/Modal.d.ts +2 -1
- package/ts3.5/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +2 -0
- package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +2 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
- package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
- package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
- package/ts3.5/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +4 -4
- package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +4 -4
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +6 -8
- package/ts3.5/dist/es6/popup/lib/Popup.d.ts +1 -1
- package/ts3.5/dist/es6/popup/lib/PopupBody.d.ts +2 -0
- package/ts3.5/dist/es6/popup/lib/PopupCard.d.ts +2 -1
- package/ts3.5/dist/es6/popup/lib/PopupHeading.d.ts +3 -1
- package/ts3.5/dist/es6/status-indicator/lib/StatusIndicator.d.ts +5 -0
- package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/Box.d.ts +0 -12
- package/dist/commonjs/pagination/lib/Pagination/common/Box.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/Flex.d.ts +0 -6
- package/dist/commonjs/pagination/lib/Pagination/common/Flex.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/Flex.js +0 -32
- package/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts +0 -48
- package/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/Stack.js +0 -87
- package/dist/commonjs/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
- package/dist/commonjs/pagination/lib/Pagination/common/utils/flex.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/flex.js +0 -23
- package/dist/commonjs/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
- package/dist/commonjs/pagination/lib/Pagination/common/utils/layout.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/layout.js +0 -15
- package/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
- package/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.js +0 -37
- package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
- package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/space.js +0 -75
- package/dist/es6/pagination/lib/Pagination/common/Box.d.ts +0 -12
- package/dist/es6/pagination/lib/Pagination/common/Box.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/Box.js +0 -58
- package/dist/es6/pagination/lib/Pagination/common/Flex.d.ts +0 -6
- package/dist/es6/pagination/lib/Pagination/common/Flex.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/Flex.js +0 -27
- package/dist/es6/pagination/lib/Pagination/common/Stack.d.ts +0 -48
- package/dist/es6/pagination/lib/Pagination/common/Stack.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/Stack.js +0 -78
- package/dist/es6/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
- package/dist/es6/pagination/lib/Pagination/common/utils/flex.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/flex.js +0 -21
- package/dist/es6/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
- package/dist/es6/pagination/lib/Pagination/common/utils/layout.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/layout.js +0 -13
- package/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
- package/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.js +0 -34
- package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
- package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/space.js +0 -73
- package/pagination/lib/Pagination/common/Box.tsx +0 -44
- package/pagination/lib/Pagination/common/Flex.tsx +0 -23
- package/pagination/lib/Pagination/common/Stack.tsx +0 -98
- package/pagination/lib/Pagination/common/utils/flex.ts +0 -110
- package/pagination/lib/Pagination/common/utils/layout.ts +0 -40
- package/pagination/lib/Pagination/common/utils/safelySpreadProps.ts +0 -29
- package/pagination/lib/Pagination/common/utils/space.ts +0 -109
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Box.d.ts +0 -12
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Flex.d.ts +0 -6
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts +0 -48
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/Box.d.ts +0 -12
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/Flex.d.ts +0 -6
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/Stack.d.ts +0 -48
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
package/action-bar/README.md
CHANGED
|
@@ -1,55 +1,6 @@
|
|
|
1
|
-
# Canvas Kit Action Bar
|
|
1
|
+
# Canvas Kit React Action Bar
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`ActionBar` contains primary and secondary actions related to a page or task.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
right only in task orchestration and on mobile devices.
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
```sh
|
|
12
|
-
yarn add @workday/canvas-kit-react
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
import * as React from 'react';
|
|
19
|
-
import {PrimaryButton, SecondaryButton} from '@workday/canvas-kit-react/button';
|
|
20
|
-
import {ActionBar} from '@workday/canvas-kit-react/action-bar';
|
|
21
|
-
|
|
22
|
-
<ActionBar>
|
|
23
|
-
<PrimaryButton variant="primary">Button</PrimaryButton>
|
|
24
|
-
<SecondaryButton>Button</SecondaryButton>
|
|
25
|
-
<SecondaryButton>Button</SecondaryButton>
|
|
26
|
-
</ActionBar>;
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Static Properties
|
|
30
|
-
|
|
31
|
-
> None
|
|
32
|
-
|
|
33
|
-
## Component Props
|
|
34
|
-
|
|
35
|
-
### Required
|
|
36
|
-
|
|
37
|
-
> None
|
|
38
|
-
|
|
39
|
-
### Optional
|
|
40
|
-
|
|
41
|
-
#### `fixed: boolean`
|
|
42
|
-
|
|
43
|
-
> Fixes the toolbar to the bottom of the window (uses `position: fixed`)
|
|
44
|
-
|
|
45
|
-
## Responsive Behavior
|
|
46
|
-
|
|
47
|
-
At 575px, responsive styles will take effect:
|
|
48
|
-
|
|
49
|
-
- Applies a flex box to the buttons
|
|
50
|
-
- Makes single-button groups full width
|
|
51
|
-
- All buttons will become the same width (`flex: 1`).
|
|
52
|
-
- Button order will become reversed, making left-aligned primary buttons right-aligned.
|
|
53
|
-
|
|
54
|
-
> When on a mobile form factor, the button placement should flip to have the primary button on the
|
|
55
|
-
> far right.
|
|
5
|
+
For more detailed information on this component, please refer to the
|
|
6
|
+
[storybook documentation](https://workday.github.io/canvas-kit/?path=/docs/components-buttons-action-bar-react--basic)
|
package/action-bar/index.ts
CHANGED
|
@@ -1,76 +1,37 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {styled} from '@workday/canvas-kit-react/common';
|
|
3
|
-
import {
|
|
2
|
+
import {createComponent, styled, StyledType} from '@workday/canvas-kit-react/common';
|
|
3
|
+
import {commonColors, colors, space} from '@workday/canvas-kit-react/tokens';
|
|
4
|
+
import {HStack, HStackProps, StackSpacing} from '@workday/canvas-kit-labs-react';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* If true, fix the ActionBar to the bottom of the screen.
|
|
8
|
-
* @default false
|
|
9
|
-
*/
|
|
10
|
-
fixed?: boolean;
|
|
6
|
+
interface ActionBarProps extends Omit<HStackProps, 'spacing'> {
|
|
7
|
+
spacing?: StackSpacing;
|
|
11
8
|
}
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
? {
|
|
16
|
-
position: 'fixed',
|
|
17
|
-
left: 0,
|
|
18
|
-
bottom: 0,
|
|
19
|
-
right: 0,
|
|
20
|
-
}
|
|
21
|
-
: {};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const ActionBarContainer = styled('div')<ActionBarProps>(
|
|
25
|
-
{
|
|
26
|
-
borderTop: `solid 1px ${colors.soap400}`,
|
|
27
|
-
background: commonColors.background,
|
|
10
|
+
const ResponsiveHStack = styled(HStack)<HStackProps & StyledType>(({theme}) => ({
|
|
11
|
+
[theme.canvas.breakpoints.down('s')]: {
|
|
28
12
|
padding: space.s,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
({fixed, theme}) => {
|
|
32
|
-
return {
|
|
33
|
-
...getFixedStyles(fixed),
|
|
34
|
-
[theme.canvas.breakpoints.down('s')]: {
|
|
35
|
-
padding: space.xxs,
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
const ChildrenContainer = styled('div')(
|
|
42
|
-
{
|
|
43
|
-
display: 'inline-block',
|
|
44
|
-
padding: `0 ${space.m}`,
|
|
45
|
-
'*:not(:first-of-type)': {
|
|
46
|
-
marginLeft: space.s,
|
|
13
|
+
'> *:not(div)': {
|
|
14
|
+
flex: 1,
|
|
47
15
|
},
|
|
48
16
|
},
|
|
49
|
-
|
|
50
|
-
[theme.canvas.breakpoints.down('s')]: {
|
|
51
|
-
display: 'flex',
|
|
52
|
-
padding: space.xxs,
|
|
53
|
-
justifyContent: 'center',
|
|
54
|
-
flexDirection: 'row-reverse',
|
|
55
|
-
'> *': {
|
|
56
|
-
flex: 1,
|
|
57
|
-
'&:not(:first-of-type)': {
|
|
58
|
-
marginRight: space.s,
|
|
59
|
-
marginLeft: 0,
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
})
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
export default class ActionBar extends React.Component<ActionBarProps> {
|
|
67
|
-
public render() {
|
|
68
|
-
const {fixed, children, ...elemProps} = this.props;
|
|
17
|
+
}));
|
|
69
18
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
19
|
+
export const ActionBar = createComponent('div')({
|
|
20
|
+
displayName: 'ActionBar',
|
|
21
|
+
Component: (elemProps: ActionBarProps, ref, Element) => (
|
|
22
|
+
<ResponsiveHStack
|
|
23
|
+
ref={ref}
|
|
24
|
+
as={Element}
|
|
25
|
+
spacing="s"
|
|
26
|
+
depth={1}
|
|
27
|
+
background={commonColors.background}
|
|
28
|
+
borderTop={`solid 1px ${colors.soap400}`}
|
|
29
|
+
padding={`${space.s} ${space.xl} `}
|
|
30
|
+
position="fixed"
|
|
31
|
+
bottom={0}
|
|
32
|
+
left={0}
|
|
33
|
+
right={0}
|
|
34
|
+
{...elemProps}
|
|
35
|
+
/>
|
|
36
|
+
),
|
|
37
|
+
});
|
package/banner/index.ts
CHANGED
package/banner/lib/Banner.tsx
CHANGED
|
@@ -1,127 +1,102 @@
|
|
|
1
|
+
/** @jsxRuntime classic */
|
|
2
|
+
/** @jsx jsx */
|
|
3
|
+
import {jsx} from '@emotion/core';
|
|
1
4
|
import * as React from 'react';
|
|
2
|
-
import {colors, space, borderRadius, type} from '@workday/canvas-kit-react/tokens';
|
|
3
|
-
import {SystemIcon} from '@workday/canvas-kit-react/icon';
|
|
4
|
-
import {exclamationCircleIcon, exclamationTriangleIcon} from '@workday/canvas-system-icons-web';
|
|
5
|
-
import {ErrorType, focusRing, styled, Themeable} from '@workday/canvas-kit-react/common';
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import {borderRadius, CSSProperties, space, type} from '@workday/canvas-kit-react/tokens';
|
|
7
|
+
import {
|
|
8
|
+
createComponent,
|
|
9
|
+
ExtractProps,
|
|
10
|
+
focusRing,
|
|
11
|
+
hideMouseFocus,
|
|
12
|
+
useDefaultModel,
|
|
13
|
+
useIsRTL,
|
|
14
|
+
} from '@workday/canvas-kit-react/common';
|
|
15
|
+
import {Flex} from '@workday/canvas-kit-labs-react/layout';
|
|
11
16
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* The variant of the Banner. Accepts `Full` or `Sticky`.
|
|
23
|
-
* @default BannerVariant.Full
|
|
24
|
-
*/
|
|
25
|
-
variant?: BannerVariant;
|
|
26
|
-
/**
|
|
27
|
-
* The type of error associated with the Banner (if applicable).
|
|
28
|
-
* @default ErrorType.Alert
|
|
29
|
-
*/
|
|
30
|
-
error?: ErrorType;
|
|
17
|
+
import {BannerModel, BannerModelConfig, useBanner, useBannerModel, useThemedPalette} from './hooks';
|
|
18
|
+
|
|
19
|
+
import {BannerIcon} from './BannerIcon';
|
|
20
|
+
import {BannerLabel} from './BannerLabel';
|
|
21
|
+
import {BannerActionText} from './BannerActionText';
|
|
22
|
+
|
|
23
|
+
export const BannerModelContext = React.createContext<BannerModel>({} as any);
|
|
24
|
+
|
|
25
|
+
export interface BannerProps extends BannerModelConfig, ExtractProps<typeof Flex, never> {
|
|
26
|
+
model?: BannerModel;
|
|
31
27
|
/**
|
|
32
|
-
*
|
|
33
|
-
* @default 'View All'
|
|
28
|
+
* Children of the Banner. Should contain a `<Banner.Label>` a <Banner.Icon> and an optional `<Banner.ActionText>`
|
|
34
29
|
*/
|
|
35
|
-
|
|
30
|
+
children?: React.ReactNode;
|
|
36
31
|
}
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
...type.levels.subtext.large,
|
|
41
|
-
fontWeight: type.properties.fontWeights.medium,
|
|
42
|
-
backgroundColor: colors.cantaloupe400,
|
|
43
|
-
boxSizing: 'border-box',
|
|
44
|
-
color: colors.blackPepper400,
|
|
45
|
-
padding: `${space.xxs} ${space.s}`,
|
|
46
|
-
textAlign: 'left',
|
|
47
|
-
border: 0,
|
|
48
|
-
display: 'flex',
|
|
49
|
-
alignItems: 'center',
|
|
50
|
-
transition: 'background-color 120ms',
|
|
51
|
-
'&:focus': {
|
|
52
|
-
outline: 'none',
|
|
53
|
-
...focusRing({separation: 2}),
|
|
54
|
-
},
|
|
55
|
-
'&:hover': {
|
|
56
|
-
cursor: 'pointer',
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
({error, variant}) => ({
|
|
60
|
-
backgroundColor: error === ErrorType.Error ? colors.cinnamon500 : colors.cantaloupe400,
|
|
61
|
-
color: error === ErrorType.Error ? colors.frenchVanilla100 : colors.blackPepper400,
|
|
62
|
-
borderRadius:
|
|
63
|
-
variant === BannerVariant.Sticky ? `${borderRadius.m} 0 0 ${borderRadius.m}` : borderRadius.m,
|
|
64
|
-
width: variant === BannerVariant.Sticky ? '222px' : '328px',
|
|
65
|
-
'&:hover': {
|
|
66
|
-
backgroundColor: error === ErrorType.Error ? colors.cinnamon600 : colors.cantaloupe500,
|
|
67
|
-
},
|
|
68
|
-
})
|
|
69
|
-
);
|
|
33
|
+
// Remove color from our type since it is set on the Flex style attribute
|
|
34
|
+
const {color: _color, ...typeLevelsSubtextLarge} = type.levels.subtext.large;
|
|
70
35
|
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
36
|
+
const styles: CSSProperties = {
|
|
37
|
+
...typeLevelsSubtextLarge,
|
|
38
|
+
cursor: 'pointer',
|
|
39
|
+
fontWeight: type.properties.fontWeights.medium,
|
|
40
|
+
textAlign: 'left',
|
|
41
|
+
transition: 'background-color 120ms',
|
|
42
|
+
'&:focus': {
|
|
43
|
+
outline: 'none',
|
|
44
|
+
...focusRing({separation: 2}),
|
|
45
|
+
},
|
|
46
|
+
...hideMouseFocus,
|
|
47
|
+
};
|
|
74
48
|
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
})
|
|
49
|
+
export const Banner = createComponent('button')({
|
|
50
|
+
displayName: 'Banner',
|
|
51
|
+
Component: ({children, model, ...props}: BannerProps, ref, Element) => {
|
|
52
|
+
const {hasError, isSticky, id, ...elemProps} = props;
|
|
53
|
+
const value = useDefaultModel(model, {hasError, isSticky, id}, useBannerModel);
|
|
78
54
|
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
})
|
|
86
|
-
);
|
|
55
|
+
const palette = useThemedPalette(hasError ? 'error' : 'alert');
|
|
56
|
+
const themedBackgroundStyles: CSSProperties = {
|
|
57
|
+
'&:hover': {
|
|
58
|
+
backgroundColor: palette.hover,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
87
61
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
62
|
+
const isRTL = useIsRTL();
|
|
63
|
+
const borderBottomLeftRadius = isRTL ? 'borderBottomRightRadius' : 'borderBottomLeftRadius';
|
|
64
|
+
const borderTopLeftRadius = isRTL ? 'borderTopRightRadius' : 'borderTopLeftRadius';
|
|
65
|
+
const borderBottomRightRadius = isRTL ? 'borderBottomLeftRadius' : 'borderBottomRightRadius';
|
|
66
|
+
const borderTopRightRadius = isRTL ? 'borderTopLeftRadius' : 'borderTopRightRadius';
|
|
91
67
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
onClick,
|
|
99
|
-
...props
|
|
100
|
-
} = this.props;
|
|
68
|
+
const borderStyleProps = {
|
|
69
|
+
[borderBottomLeftRadius]: borderRadius.m,
|
|
70
|
+
[borderTopLeftRadius]: borderRadius.m,
|
|
71
|
+
[borderBottomRightRadius]: isSticky ? 0 : borderRadius.m,
|
|
72
|
+
[borderTopRightRadius]: isSticky ? 0 : borderRadius.m,
|
|
73
|
+
};
|
|
101
74
|
|
|
102
|
-
const
|
|
103
|
-
const iconColor = error === ErrorType.Error ? colors.frenchVanilla100 : colors.blackPepper400;
|
|
104
|
-
const iconSize = 24;
|
|
75
|
+
const bannerProps = useBanner(value, elemProps, ref);
|
|
105
76
|
|
|
106
77
|
return (
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
78
|
+
<BannerModelContext.Provider value={value}>
|
|
79
|
+
<Flex
|
|
80
|
+
as={Element}
|
|
81
|
+
width={isSticky ? '222px' : '328px'}
|
|
82
|
+
backgroundColor={palette.normal}
|
|
83
|
+
color={palette.contrast}
|
|
84
|
+
padding={`${space.xxs} ${space.s}`}
|
|
85
|
+
border="0"
|
|
86
|
+
display="flex"
|
|
87
|
+
alignItems="center"
|
|
88
|
+
{...borderStyleProps}
|
|
89
|
+
css={[styles, themedBackgroundStyles]}
|
|
90
|
+
{...bannerProps}
|
|
91
|
+
>
|
|
92
|
+
{children}
|
|
93
|
+
</Flex>
|
|
94
|
+
</BannerModelContext.Provider>
|
|
120
95
|
);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
96
|
+
},
|
|
97
|
+
subComponents: {
|
|
98
|
+
Icon: BannerIcon,
|
|
99
|
+
Label: BannerLabel,
|
|
100
|
+
ActionText: BannerActionText,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
ExtractProps,
|
|
5
|
+
createComponent,
|
|
6
|
+
useModelContext,
|
|
7
|
+
styled,
|
|
8
|
+
StyledType,
|
|
9
|
+
} from '@workday/canvas-kit-react/common';
|
|
10
|
+
import {Box} from '@workday/canvas-kit-labs-react/common';
|
|
11
|
+
|
|
12
|
+
import {BannerModelContext} from './Banner';
|
|
13
|
+
import {BannerModel, useBannerActionText} from './hooks';
|
|
14
|
+
|
|
15
|
+
export interface BannerActionTextProps extends ExtractProps<typeof Box, never> {
|
|
16
|
+
model?: BannerModel;
|
|
17
|
+
/**
|
|
18
|
+
* The text of the Banner action.
|
|
19
|
+
* @default 'View All'
|
|
20
|
+
*/
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const StyledActionBarText = styled(Box.as('span'))<StyledType>({
|
|
25
|
+
textDecoration: 'underline',
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export const BannerActionText = createComponent('span')({
|
|
29
|
+
displayName: 'Banner.ActionTextText',
|
|
30
|
+
Component: (
|
|
31
|
+
{children = 'View All', model, ...elemProps}: BannerActionTextProps,
|
|
32
|
+
ref,
|
|
33
|
+
Element
|
|
34
|
+
) => {
|
|
35
|
+
const localModel = useModelContext(BannerModelContext, model);
|
|
36
|
+
const props = useBannerActionText(localModel, elemProps, ref);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<StyledActionBarText
|
|
40
|
+
display={localModel.state.isSticky ? 'none' : 'inline'}
|
|
41
|
+
ref={ref}
|
|
42
|
+
as={Element}
|
|
43
|
+
{...props}
|
|
44
|
+
>
|
|
45
|
+
{children}
|
|
46
|
+
</StyledActionBarText>
|
|
47
|
+
);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {space} from '@workday/canvas-kit-react/tokens';
|
|
3
|
+
import {
|
|
4
|
+
ExtractProps,
|
|
5
|
+
createComponent,
|
|
6
|
+
useModelContext,
|
|
7
|
+
styled,
|
|
8
|
+
} from '@workday/canvas-kit-react/common';
|
|
9
|
+
import {SystemIcon} from '@workday/canvas-kit-react/icon';
|
|
10
|
+
import {exclamationTriangleIcon} from '@workday/canvas-system-icons-web';
|
|
11
|
+
import {CanvasSystemIcon} from '@workday/design-assets-types';
|
|
12
|
+
|
|
13
|
+
import {BannerModelContext} from './Banner';
|
|
14
|
+
import {BannerModel, useBannerIcon} from './hooks';
|
|
15
|
+
|
|
16
|
+
export interface BannerIconProps extends Omit<ExtractProps<typeof SystemIcon, never>, 'icon'> {
|
|
17
|
+
model?: BannerModel;
|
|
18
|
+
/**
|
|
19
|
+
* Icon to show next to label
|
|
20
|
+
* @default exclamationTriangleIcon or exclamationCircleIcon when hasError is true
|
|
21
|
+
*/
|
|
22
|
+
icon?: CanvasSystemIcon;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const StyledBannerIcon = styled(SystemIcon)({
|
|
26
|
+
marginRight: space.xs,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const BannerIcon = createComponent('span')({
|
|
30
|
+
displayName: 'Banner.Icon',
|
|
31
|
+
Component: ({icon = exclamationTriangleIcon, model, ...elemProps}: BannerIconProps, ref) => {
|
|
32
|
+
const localModel = useModelContext(BannerModelContext, model);
|
|
33
|
+
|
|
34
|
+
// SystemIcon is still a class based component so we need to set ref manually.
|
|
35
|
+
const {ref: iconRef, icon: defaultIcon, ...props} = useBannerIcon(localModel, elemProps, ref);
|
|
36
|
+
|
|
37
|
+
return <StyledBannerIcon icon={icon ?? defaultIcon} iconRef={iconRef} {...props} />;
|
|
38
|
+
},
|
|
39
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import {ExtractProps, createComponent, useModelContext} from '@workday/canvas-kit-react/common';
|
|
4
|
+
import {Flex} from '@workday/canvas-kit-labs-react/layout';
|
|
5
|
+
|
|
6
|
+
import {BannerModelContext} from './Banner';
|
|
7
|
+
import {BannerModel, useBannerLabel} from './hooks';
|
|
8
|
+
|
|
9
|
+
export interface BannerLabelProps extends ExtractProps<typeof Flex, never> {
|
|
10
|
+
model?: BannerModel;
|
|
11
|
+
/**
|
|
12
|
+
* The text of the Banner.
|
|
13
|
+
*/
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const BannerLabel = createComponent('div')({
|
|
18
|
+
displayName: 'Banner.Label',
|
|
19
|
+
Component: ({children, model, ...elemProps}: BannerLabelProps, ref, Element) => {
|
|
20
|
+
const localModel = useModelContext(BannerModelContext, model);
|
|
21
|
+
const props = useBannerLabel(localModel, elemProps, ref);
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<Flex as={Element} flex="1 1 0%" {...props}>
|
|
25
|
+
{children}
|
|
26
|
+
</Flex>
|
|
27
|
+
);
|
|
28
|
+
},
|
|
29
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {createHook} from '@workday/canvas-kit-react/common';
|
|
2
|
+
import {BannerModel} from './useBannerModel';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Adds the necessary props to a `Banner` component.
|
|
6
|
+
* Used by the Banner component
|
|
7
|
+
*/
|
|
8
|
+
export const useBanner = createHook(({state}: BannerModel) => {
|
|
9
|
+
return {
|
|
10
|
+
'aria-describedby': `label-${state.id}`,
|
|
11
|
+
'aria-labelledby': `action-${state.id}`,
|
|
12
|
+
};
|
|
13
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {createHook} from '@workday/canvas-kit-react/common';
|
|
2
|
+
import {BannerModel} from './useBannerModel';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Adds the necessary props to a `ActionText` component.
|
|
6
|
+
* Used by the Banner.ActionText subcomponent
|
|
7
|
+
*/
|
|
8
|
+
export const useBannerActionText = createHook(({state}: BannerModel) => {
|
|
9
|
+
return {
|
|
10
|
+
id: `action-${state.id}`,
|
|
11
|
+
};
|
|
12
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {createHook} from '@workday/canvas-kit-react/common';
|
|
2
|
+
import {exclamationCircleIcon, exclamationTriangleIcon} from '@workday/canvas-system-icons-web';
|
|
3
|
+
import {BannerModel} from './useBannerModel';
|
|
4
|
+
import {useThemedPalette} from './useThemedPalette';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Adds the necessary props to a `Icon` component.
|
|
8
|
+
* Used by the Banner.Icon subcomponent
|
|
9
|
+
*/
|
|
10
|
+
export const useBannerIcon = createHook(({state}: BannerModel) => {
|
|
11
|
+
const palette = useThemedPalette(state.hasError ? 'error' : 'alert');
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
icon: state.hasError ? exclamationCircleIcon : exclamationTriangleIcon,
|
|
15
|
+
color: palette.contrast,
|
|
16
|
+
colorHover: palette.contrast,
|
|
17
|
+
size: 24,
|
|
18
|
+
};
|
|
19
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {createHook} from '@workday/canvas-kit-react/common';
|
|
2
|
+
import {BannerModel} from './useBannerModel';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Adds the necessary props to a `Label` component.
|
|
6
|
+
* Used by the Banner.Label subcomponent
|
|
7
|
+
*/
|
|
8
|
+
export const useBannerLabel = createHook(({state}: BannerModel) => {
|
|
9
|
+
return {
|
|
10
|
+
id: `label-${state.id}`,
|
|
11
|
+
};
|
|
12
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createEventMap,
|
|
3
|
+
Model,
|
|
4
|
+
ToModelConfig,
|
|
5
|
+
useEventMap,
|
|
6
|
+
useUniqueId,
|
|
7
|
+
} from '@workday/canvas-kit-react/common';
|
|
8
|
+
|
|
9
|
+
type BannerState = {
|
|
10
|
+
/**
|
|
11
|
+
* Optional flag to denote the banner has an error to display. When true the default `Banner.Icon`
|
|
12
|
+
* will be `exclamationCircleIcon`, and a themed error color will be applied.
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
hasError?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Optional flag to denote the banner is stuck to the side of the screen. When true the default `Banner.ActionText`
|
|
18
|
+
* will be hidden, and some basic styles will be applied.
|
|
19
|
+
* You will still need to manually set the css `position` value.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
isSticky?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Optional `id` provided to `Banner`'s subcomponents as HTML attributes:
|
|
25
|
+
* - `Banner` will set `aria-describedby` to `label-${id}`
|
|
26
|
+
* - `Banner` will set `aria-label` to `action-${id}`
|
|
27
|
+
* - `Banner.Label` will set `id` to `label-${id}`
|
|
28
|
+
* - `Banner.ActionText` will set `id` to `action-${id}`
|
|
29
|
+
*
|
|
30
|
+
* If a value is not provided, a unique id will be automatically created by `useUniqueId()`.
|
|
31
|
+
* @default `useUniqueId()`
|
|
32
|
+
*/
|
|
33
|
+
id?: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
type BannerEvents = {};
|
|
37
|
+
|
|
38
|
+
export type BannerModel = Model<BannerState, BannerEvents>;
|
|
39
|
+
|
|
40
|
+
const BannerEventMap = createEventMap<BannerEvents>()({
|
|
41
|
+
guards: {},
|
|
42
|
+
callbacks: {},
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export type BannerModelConfig = BannerState &
|
|
46
|
+
Partial<ToModelConfig<BannerState, BannerEvents, typeof BannerEventMap>>;
|
|
47
|
+
|
|
48
|
+
export const useBannerModel = (config: BannerModelConfig = {}): BannerModel => {
|
|
49
|
+
const id = useUniqueId(config.id);
|
|
50
|
+
|
|
51
|
+
const state = {
|
|
52
|
+
hasError: config.hasError ?? false,
|
|
53
|
+
isSticky: config.isSticky ?? false,
|
|
54
|
+
id,
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const events = useEventMap(BannerEventMap, state, config, {});
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
state,
|
|
61
|
+
events,
|
|
62
|
+
};
|
|
63
|
+
};
|