@sproutsocial/racine 16.0.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/__flow__/EnumLogoNames.flow.js +1 -1
  3. package/__flow__/Icon/Icon.flow.js +2 -2
  4. package/__flow__/LogoViewBoxes.js +14 -0
  5. package/__flow__/PartnerLogo/PartnerLogo.flow.js +7 -2
  6. package/__flow__/PartnerLogo/index.flow.js +1 -2
  7. package/__flow__/Toast/Toast.flow.js +2 -2
  8. package/__flow__/index.flow.js +1 -2
  9. package/commonjs/Card/Card.js +14 -9
  10. package/commonjs/Card/index.js +8 -1
  11. package/commonjs/Card/styles.js +40 -12
  12. package/commonjs/Card/subComponents.js +38 -5
  13. package/commonjs/Card/utils.js +9 -5
  14. package/commonjs/Icon/Icon.js +3 -2
  15. package/commonjs/LogoViewBoxes.js +14 -0
  16. package/commonjs/PartnerLogo/PartnerLogo.js +34 -29
  17. package/commonjs/PartnerLogo/PartnerLogoTypes.js +14 -3
  18. package/commonjs/PartnerLogo/index.flow.js +0 -11
  19. package/commonjs/Switch/styles.js +1 -1
  20. package/commonjs/iconNames.js +8 -0
  21. package/commonjs/illustrationNames.js +8 -0
  22. package/commonjs/index.js +24 -0
  23. package/commonjs/logoNames.js +8 -0
  24. package/dist/logo.svg +1 -1
  25. package/dist/logoList.js +1 -1
  26. package/dist/types/Card/Card.d.ts.map +1 -1
  27. package/dist/types/Card/CardTypes.d.ts +9 -0
  28. package/dist/types/Card/CardTypes.d.ts.map +1 -1
  29. package/dist/types/Card/index.d.ts +1 -1
  30. package/dist/types/Card/index.d.ts.map +1 -1
  31. package/dist/types/Card/styles.d.ts +8 -0
  32. package/dist/types/Card/styles.d.ts.map +1 -1
  33. package/dist/types/Card/subComponents.d.ts +5 -0
  34. package/dist/types/Card/subComponents.d.ts.map +1 -1
  35. package/dist/types/Card/utils.d.ts +2 -1
  36. package/dist/types/Card/utils.d.ts.map +1 -1
  37. package/dist/types/EnumLogoNames.d.ts +1 -1
  38. package/dist/types/EnumLogoNames.d.ts.map +1 -1
  39. package/dist/types/Icon/Icon.d.ts.map +1 -1
  40. package/dist/types/Icon/IconTypes.d.ts +2 -2
  41. package/dist/types/Icon/IconTypes.d.ts.map +1 -1
  42. package/dist/types/PartnerLogo/PartnerLogo.d.ts.map +1 -1
  43. package/dist/types/PartnerLogo/PartnerLogoTypes.d.ts +13 -4
  44. package/dist/types/PartnerLogo/PartnerLogoTypes.d.ts.map +1 -1
  45. package/dist/types/Switch/styles.d.ts.map +1 -1
  46. package/dist/types/Toast/ToastTypes.d.ts +2 -2
  47. package/dist/types/Toast/ToastTypes.d.ts.map +1 -1
  48. package/dist/types/iconNames.d.ts +3 -0
  49. package/dist/types/iconNames.d.ts.map +1 -0
  50. package/dist/types/illustrationNames.d.ts +3 -0
  51. package/dist/types/illustrationNames.d.ts.map +1 -0
  52. package/dist/types/index.d.ts +3 -0
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/types/logoNames.d.ts +3 -0
  55. package/dist/types/logoNames.d.ts.map +1 -0
  56. package/lib/Card/Card.js +15 -10
  57. package/lib/Card/index.js +1 -1
  58. package/lib/Card/styles.js +38 -12
  59. package/lib/Card/subComponents.js +34 -4
  60. package/lib/Card/utils.js +9 -5
  61. package/lib/Icon/Icon.js +3 -2
  62. package/lib/LogoViewBoxes.js +14 -0
  63. package/lib/PartnerLogo/PartnerLogo.js +34 -27
  64. package/lib/PartnerLogo/PartnerLogoTypes.js +13 -2
  65. package/lib/PartnerLogo/index.flow.js +1 -2
  66. package/lib/Switch/styles.js +1 -1
  67. package/lib/iconNames.js +1 -0
  68. package/lib/illustrationNames.js +1 -0
  69. package/lib/index.js +4 -0
  70. package/lib/logoNames.js +1 -0
  71. package/package.json +3 -2
  72. package/__flow__/PartnerLogo/TypePartnerNames.flow.js +0 -3
  73. package/commonjs/PartnerLogo/TypePartnerNames.flow.js +0 -1
  74. package/lib/PartnerLogo/TypePartnerNames.flow.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # Change Log
2
2
 
3
+ ## 17.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 5234f32d: Accessibility updates to Card based on Perkins review.
8
+
9
+ **Breaking changes**
10
+
11
+ - Card using role='link' will no longer work without the `CardLink` subcomponent
12
+
13
+ **Enhancements**
14
+
15
+ - Cards with `role='link'` should now wrap link text in the `CardLink` subcomponent
16
+ - Improves screen reader accessiblity by pairing Cards as links with the new `CardLink` subcomponent
17
+ - Adds `CardLink` subcomponent
18
+ - Link text wrapped in CardLink renders an anchor tag as a child of Card
19
+ - Preserves the behavior that allows the user to click the whole Card as the link
20
+ - Handles navigating to the href using default link behavior.
21
+ - Includes an `affordance` prop that makes composing a Card as a link easy and visually appealing
22
+
23
+ ### Minor Changes
24
+
25
+ - 99b984a6: Add the following Partner Logos:
26
+ - android
27
+ - apple
28
+ - github
29
+ - github-alien
30
+ - salesforce-cloud
31
+ - 6c2753bc: Adds Tableau symbol and lockup to the `PartnerLogo` component
32
+
33
+ ### Patch Changes
34
+
35
+ - b31737fa: Fixed automation for `PartnerLogo` names and type, which updated `PartnerLogoNames` and `EnumLogoNames` so they now include all logos.
36
+
37
+ **Deprecation Warning**:
38
+
39
+ - `PartnerNames` is now deprecated in favor of `PartnerLogoNames`
40
+ - `TypePartnerNames` is now deprecated in favor of `EnumLogoNames`
41
+
42
+ - fb536bed: Applies `box-sizing: content-box` property to Switch loading state in order to avoid conflicts with global CSS reset properties
43
+ - adec46fc: Updates Toast to accept Partner Logo names for 'icon' prop
44
+ - Toast erroneously did not accept Partner Logo names for the 'icon' prop, even after the Icon component was updated to render PartnerLogos.
45
+ - The Flow and Typescript types have been updated to add all partner names to the valid values for the 'icon' prop.
46
+
3
47
  ## 16.0.0
4
48
 
5
49
  ### Major Changes
@@ -1,2 +1,2 @@
1
1
  // @flow
2
- export type EnumLogoNames = "adobe-experience-manager-dark" | "adobe-experience-manager" | "apple-app-store-dark" | "apple-app-store" | "bigcommerce-dark" | "bigcommerce-lockup-dark" | "bigcommerce-lockup" | "bigcommerce" | "bitly-dark" | "bitly" | "bynder-dark" | "bynder" | "canva-dark" | "canva" | "dropbox-dark" | "dropbox-lockup-dark" | "dropbox-lockup" | "dropbox-wordmark-dark" | "dropbox-wordmark" | "dropbox" | "facebook-audience-network-dark" | "facebook-audience-network" | "facebook-dark" | "facebook-groups-dark" | "facebook-groups" | "facebook-shops-dark" | "facebook-shops" | "facebook" | "feedly-dark" | "feedly" | "glassdoor-dark" | "glassdoor" | "google-analytics-dark" | "google-analytics" | "google-business-messages-dark" | "google-business-messages" | "google-drive-dark" | "google-drive" | "google-my-business-dark" | "google-my-business" | "google-play-store-dark" | "google-play-store" | "hubspot-dark" | "hubspot" | "instagram-dark" | "instagram" | "linkedin-audience-network-dark" | "linkedin-audience-network" | "linkedin-dark" | "linkedin" | "marketo-dark" | "marketo" | "messenger-dark" | "messenger" | "microsoft-dynamics-dark" | "microsoft-dynamics" | "pinterest-dark" | "pinterest" | "reddit-dark" | "reddit" | "salesforce-dark" | "salesforce" | "shopify-dark" | "shopify" | "slack-dark" | "slack" | "sproutsocial-dark" | "sproutsocial-lockup-dark" | "sproutsocial-lockup" | "sproutsocial-wordmark-dark" | "sproutsocial-wordmark" | "sproutsocial" | "tiktok-dark" | "tiktok" | "tripadvisor-dark" | "tripadvisor" | "tumblr-dark" | "tumblr" | "twitter-audience-network-dark" | "twitter-audience-network" | "twitter-dark" | "twitter" | "whatsapp-dark" | "whatsapp" | "woocommerce-dark" | "woocommerce" | "yelp-dark" | "yelp" | "youtube-dark" | "youtube" | "zendesk-dark" | "zendesk-lockup-dark" | "zendesk-lockup" | "zendesk-wordmark-dark" | "zendesk-wordmark" | "zendesk";
2
+ export type EnumLogoNames = "adobe-experience-manager" | "android" | "apple-app-store" | "apple" | "bigcommerce" | "bitly" | "bynder" | "canva" | "dropbox" | "facebook-audience-network" | "facebook" | "facebook-groups" | "facebook-shops" | "feedly" | "github" | "glassdoor" | "google-analytics" | "google-business-messages" | "google-drive" | "google-my-business" | "google-play-store" | "hubspot" | "instagram" | "linkedin-audience-network" | "linkedin" | "marketo" | "messenger" | "microsoft-dynamics" | "pinterest" | "reddit-alien" | "reddit" | "salesforce-cloud" | "salesforce" | "shopify" | "slack" | "sproutsocial" | "tableau" | "tiktok" | "tripadvisor" | "tumblr" | "twitter-audience-network" | "twitter" | "whatsapp" | "woocommerce" | "yelp" | "youtube" | "zendesk";
@@ -2,10 +2,10 @@
2
2
  import * as React from 'react';
3
3
  import type { StyledComponent } from 'styled-components';
4
4
  import type { EnumIconNames } from "../EnumIconNames.flow";
5
+ import type { EnumLogoNames } from "../EnumLogoNames.flow";
5
6
  import type { TypeWithDisplayName } from "../types/shared.flow";
6
7
  import type { TypeTheme } from "../types/theme.flow";
7
8
  import deprecatedIcons from "./deprecatedIcons.flow";
8
- import type { TypePartnerNames } from "../PartnerLogo/TypePartnerNames.flow";
9
9
  export type TypeIconSize = 'mini' // 12x12
10
10
  // TODO: deprecate default in favor of small in future release
11
11
  | 'default' // 16x16
@@ -14,7 +14,7 @@ export type TypeIconSize = 'mini' // 12x12
14
14
  | 'large' // 32x32
15
15
  | 'jumbo'; // 64x64
16
16
 
17
- export type TypeIconName = EnumIconNames | $Keys<typeof deprecatedIcons> | TypePartnerNames;
17
+ export type TypeIconName = EnumIconNames | $Keys<typeof deprecatedIcons> | EnumLogoNames;
18
18
  export type TypeIconProps = {
19
19
  /** Name of the icon in the svg sprite */
20
20
  name: TypeIconName,
@@ -1,8 +1,12 @@
1
1
  module.exports = {
2
2
  "adobe-experience-manager-dark": "0 0 16 17",
3
3
  "adobe-experience-manager": "0 0 16 17",
4
+ "android-dark": "0 0 18 18",
5
+ "android": "0 0 18 18",
4
6
  "apple-app-store-dark": "0 0 140 140",
5
7
  "apple-app-store": "0 0 140 140",
8
+ "apple-dark": "0 0 18 18",
9
+ "apple": "0 0 18 18",
6
10
  "bigcommerce-dark": "0 0 140 140",
7
11
  "bigcommerce-lockup-dark": "0 0 291 66",
8
12
  "bigcommerce-lockup": "0 0 291 66",
@@ -29,6 +33,8 @@ module.exports = {
29
33
  "facebook": "0 0 141 139",
30
34
  "feedly-dark": "0 0 141 123",
31
35
  "feedly": "0 0 141 123",
36
+ "github-dark": "0 0 18 18",
37
+ "github": "0 0 18 18",
32
38
  "glassdoor-dark": "0 0 140 196",
33
39
  "glassdoor": "0 0 140 196",
34
40
  "google-analytics-dark": "0 0 140 160",
@@ -57,8 +63,12 @@ module.exports = {
57
63
  "microsoft-dynamics": "0 0 140 227",
58
64
  "pinterest-dark": "0 0 140 141",
59
65
  "pinterest": "0 0 140 141",
66
+ "reddit-alien-dark": "0 0 18 18",
67
+ "reddit-alien": "0 0 18 18",
60
68
  "reddit-dark": "0 0 140 140",
61
69
  "reddit": "0 0 140 140",
70
+ "salesforce-cloud-dark": "0 0 20 18",
71
+ "salesforce-cloud": "0 0 20 18",
62
72
  "salesforce-dark": "0 0 140 99",
63
73
  "salesforce": "0 0 140 99",
64
74
  "shopify-dark": "0 0 140 159",
@@ -71,6 +81,10 @@ module.exports = {
71
81
  "sproutsocial-wordmark-dark": "0 0 320 52",
72
82
  "sproutsocial-wordmark": "0 0 320 52",
73
83
  "sproutsocial": "0 0 140 174",
84
+ "tableau-dark": "0 0 18 18",
85
+ "tableau-lockup-dark": "0 0 291 56",
86
+ "tableau-lockup": "0 0 291 56",
87
+ "tableau": "0 0 18 18",
74
88
  "tiktok-dark": "0 0 140 159",
75
89
  "tiktok": "0 0 140 159",
76
90
  "tripadvisor-dark": "0 0 140 140",
@@ -1,9 +1,14 @@
1
1
  // @flow
2
2
  import * as React from 'react';
3
- import type { TypePartnerNames } from "./TypePartnerNames.flow";
3
+ import type { EnumLogoNames } from "../EnumLogoNames.flow";
4
+
5
+ /**
6
+ * @deprecated Use EnumLogoNames instead
7
+ */
8
+ export type TypePartnerNames = EnumLogoNames;
4
9
  export type TypePartnerLogoProps = {
5
10
  /** The name of the partner whose logo you want to render. */
6
- partnerName: TypePartnerNames,
11
+ partnerName: EnumLogoNames,
7
12
  /** Manually override the default mode behavior by rendering a logo based on the background it's displayed on. */
8
13
  backgroundType?: 'dark' | 'light',
9
14
  logoType?: 'symbol' | 'wordmark' | 'lockup',
@@ -1,3 +1,2 @@
1
1
  // @flow
2
- export * from "./PartnerLogo.flow";
3
- export * from "./TypePartnerNames.flow";
2
+ export * from "./PartnerLogo.flow";
@@ -1,13 +1,13 @@
1
1
  // @flow
2
2
  import * as React from 'react';
3
3
  import type { TypeColor } from "../types/theme.flow";
4
- import type { EnumIconNames } from "../EnumIconNames.flow";
4
+ import type { TypeIconName } from "../Icon/Icon.flow";
5
5
  export type TypeToastTheme = 'info' | 'success' | 'warning' | 'error';
6
6
  export type TypeToastProps = {|
7
7
  theme?: TypeToastTheme,
8
8
  content: React.Node,
9
9
  color?: TypeColor,
10
- icon?: EnumIconNames,
10
+ icon?: TypeIconName,
11
11
  |};
12
12
  export type TypeToastOptions = {|
13
13
  ...TypeToastProps,
@@ -105,8 +105,7 @@ export type { EnumDensities, TypeMessageProps } from "./Message/index.flow";
105
105
  export type { TypeModalProps, TypeModalContentProps, TypeModalFooterProps, TypeModalHeaderProps } from "./Modal/index.flow";
106
106
  export type { TypeNumeralProps } from "./Numeral/index.flow";
107
107
  export type { TypeOverflowListProps, TypeVirtualizedListProps } from "./OverflowList/index.flow";
108
- export type { TypePartnerLogoProps } from "./PartnerLogo/index.flow";
109
- export type { TypePartnerNames } from "./PartnerLogo/TypePartnerNames.flow";
108
+ export type { TypePartnerLogoProps, TypePartnerNames } from "./PartnerLogo/index.flow";
110
109
  export type { EnumPlacements, TypePopoutProps } from "./Popout/index.flow";
111
110
  export type { TypeRadioProps } from "./Radio/index.flow";
112
111
  export type { TypeSegmentedControlProps, TypeSegmentedControlItemProps } from "./SegmentedControl/index.flow";
@@ -51,13 +51,17 @@ var Card = function Card(_ref) {
51
51
  hasSubComponent = _useState2[0],
52
52
  setHasSubComponent = _useState2[1];
53
53
  var containerRef = (0, _react.useRef)(null);
54
+ var linkRef = (0, _react.useRef)(null);
55
+ var isRoleLink = role === 'link';
54
56
  var checkedConditions = role === 'checkbox' ? selected : undefined;
57
+ var cardContext = {
58
+ setHasSubComponent: setHasSubComponent,
59
+ href: href,
60
+ linkRef: linkRef
61
+ };
55
62
  var handleClickConditions = function handleClickConditions(e) {
56
- return role === 'link' ? (0, _utils.navigateTo)({
57
- e: e,
58
- href: href,
59
- ref: containerRef
60
- }) : onClick === null || onClick === void 0 ? void 0 : onClick(e);
63
+ var _linkRef$current;
64
+ return isRoleLink ? (_linkRef$current = linkRef.current) === null || _linkRef$current === void 0 ? void 0 : _linkRef$current.click() : onClick === null || onClick === void 0 ? void 0 : onClick(e);
61
65
  };
62
66
  var handleKeyDown = function handleKeyDown(e) {
63
67
  return (0, _utils.onKeyDown)({
@@ -69,8 +73,8 @@ var Card = function Card(_ref) {
69
73
  });
70
74
  };
71
75
  return /*#__PURE__*/_react.default.createElement(_styles.StyledCard, _extends({
72
- tabIndex: 0,
73
- role: role,
76
+ tabIndex: isRoleLink ? -1 : 0,
77
+ role: isRoleLink ? undefined : role,
74
78
  onClick: handleClickConditions,
75
79
  onKeyDown: handleKeyDown,
76
80
  $elevation: elevation,
@@ -79,11 +83,12 @@ var Card = function Card(_ref) {
79
83
  "aria-checked": checkedConditions,
80
84
  $disabled: disabled,
81
85
  "aria-disabled": disabled && disabled,
82
- $compositionalComponents: hasSubComponent
86
+ $compositionalComponents: hasSubComponent,
87
+ $isRoleLink: isRoleLink
83
88
  }, rest), /*#__PURE__*/_react.default.createElement(_subComponents.SelectedIcon, {
84
89
  $selected: selected
85
90
  }), /*#__PURE__*/_react.default.createElement(_utils.SubComponentContext.Provider, {
86
- value: setHasSubComponent
91
+ value: cardContext
87
92
  }, children));
88
93
  };
89
94
  var _default = Card;
@@ -7,7 +7,8 @@ var _exportNames = {
7
7
  Card: true,
8
8
  CardHeader: true,
9
9
  CardContent: true,
10
- CardFooter: true
10
+ CardFooter: true,
11
+ CardLink: true
11
12
  };
12
13
  Object.defineProperty(exports, "Card", {
13
14
  enumerable: true,
@@ -33,6 +34,12 @@ Object.defineProperty(exports, "CardHeader", {
33
34
  return _subComponents.CardHeader;
34
35
  }
35
36
  });
37
+ Object.defineProperty(exports, "CardLink", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _subComponents.CardLink;
41
+ }
42
+ });
36
43
  exports.default = void 0;
37
44
  var _Card = _interopRequireDefault(require("./Card"));
38
45
  var _subComponents = require("./subComponents");
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.StyledSelectedIcon = exports.StyledCardHeader = exports.StyledCardFooter = exports.StyledCardContent = exports.StyledCard = exports.SelectedIconWrapper = void 0;
6
+ exports.StyledSelectedIcon = exports.StyledCardLink = exports.StyledCardHeader = exports.StyledCardFooter = exports.StyledCardContent = exports.StyledCardAffordance = exports.StyledCard = exports.SelectedIconWrapper = void 0;
7
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
8
8
  var _styledSystem = require("styled-system");
9
9
  var _mixins = require("../utils/mixins");
@@ -69,10 +69,23 @@ var StyledSelectedIcon = (0, _styledComponents.default)(_Icon.default).withConfi
69
69
  return $selected && "\n opacity: 1;\n ";
70
70
  });
71
71
  exports.StyledSelectedIcon = StyledSelectedIcon;
72
+ var StyledCardLink = _styledComponents.default.a.withConfig({
73
+ displayName: "styles__StyledCardLink",
74
+ componentId: "sc-9tyqu4-5"
75
+ })(["font-family:", ";font-weight:", ";color:", ";", ";", " ", ""], function (p) {
76
+ return p.theme.fontFamily;
77
+ }, function (p) {
78
+ return p.theme.fontWeights.bold;
79
+ }, function (p) {
80
+ return p.theme.colors.text.headline;
81
+ }, function (p) {
82
+ return p.theme.typography[400];
83
+ }, _styledSystem.color, _styledSystem.typography);
84
+ exports.StyledCardLink = StyledCardLink;
72
85
  var StyledCard = _styledComponents.default.div.withConfig({
73
86
  displayName: "styles__StyledCard",
74
- componentId: "sc-9tyqu4-5"
75
- })(["position:relative;display:flex;flex-direction:column;box-sizing:border-box;margin:0;background:", ";border:", " solid ", ";padding:", ";border-radius:", ";transition:box-shadow ", ",border ", ";&[role='link'],&[role='button'],&[role='checkbox']{cursor:pointer;}&:hover{box-shadow:", ";}&:focus{", "}", " ", " ", " ", " ", " ", " ", " ", " ", ""], function (_ref11) {
87
+ componentId: "sc-9tyqu4-6"
88
+ })(["position:relative;display:flex;flex-direction:column;box-sizing:border-box;margin:0;background:", ";border:", " solid ", ";padding:", ";border-radius:", ";transition:box-shadow ", ",border ", ";&[role='button'],&[role='checkbox']{cursor:pointer;}", " &:hover{box-shadow:", ";}&:focus-within{", " ", ":focus{border:none;box-shadow:none;outline:none;}}&:focus{", "}", " ", " ", " ", " ", " ", " ", " ", " ", ""], function (_ref11) {
76
89
  var theme = _ref11.theme;
77
90
  return theme.colors.container.background.base;
78
91
  }, function (_ref12) {
@@ -95,16 +108,31 @@ var StyledCard = _styledComponents.default.div.withConfig({
95
108
  var theme = _ref17.theme;
96
109
  return theme.duration.medium;
97
110
  }, function (_ref18) {
98
- var theme = _ref18.theme,
99
- _ref18$$elevation = _ref18.$elevation,
100
- $elevation = _ref18$$elevation === void 0 ? 'low' : _ref18$$elevation;
111
+ var $isRoleLink = _ref18.$isRoleLink;
112
+ return $isRoleLink && "\n\t\tcursor: pointer;\n\t";
113
+ }, function (_ref19) {
114
+ var theme = _ref19.theme,
115
+ _ref19$$elevation = _ref19.$elevation,
116
+ $elevation = _ref19$$elevation === void 0 ? 'low' : _ref19$$elevation;
101
117
  return theme.shadows[$elevation];
102
- }, _mixins.focusRing, function (_ref19) {
103
- var $disabled = _ref19.$disabled;
104
- return $disabled && "\n ".concat(_mixins.disabled, "\n ");
105
118
  }, function (_ref20) {
106
- var $selected = _ref20.$selected,
107
- theme = _ref20.theme;
119
+ var $isRoleLink = _ref20.$isRoleLink;
120
+ return $isRoleLink ? _mixins.focusRing : null;
121
+ }, StyledCardLink, _mixins.focusRing, function (_ref21) {
122
+ var $disabled = _ref21.$disabled;
123
+ return $disabled && "\n ".concat(_mixins.disabled, "\n ");
124
+ }, function (_ref22) {
125
+ var $selected = _ref22.$selected,
126
+ theme = _ref22.theme;
108
127
  return $selected && "\n border: ".concat(theme.borderWidths[500], " solid ").concat(theme.colors.container.border.selected, "; \n ");
109
128
  }, _styledSystem.border, _styledSystem.color, _styledSystem.flexbox, _styledSystem.grid, _styledSystem.layout, _styledSystem.position, _styledSystem.space);
110
- exports.StyledCard = StyledCard;
129
+ exports.StyledCard = StyledCard;
130
+ var StyledCardAffordance = (0, _styledComponents.default)(_Icon.default).withConfig({
131
+ displayName: "styles__StyledCardAffordance",
132
+ componentId: "sc-9tyqu4-7"
133
+ })(["", ":hover &{transform:translateX(", ");}transition:", ";"], StyledCard, function (p) {
134
+ return p.theme.space[200];
135
+ }, function (p) {
136
+ return p.theme.duration.medium;
137
+ });
138
+ exports.StyledCardAffordance = StyledCardAffordance;
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.SelectedIcon = exports.CardHeader = exports.CardFooter = exports.CardContent = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ exports.SelectedIcon = exports.CardLink = exports.CardHeader = exports.CardFooter = exports.CardContent = exports.CardAffordance = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _utils = require("./utils");
9
10
  var _styles = require("./styles");
10
11
  var _excluded = ["children"],
11
12
  _excluded2 = ["children"],
12
- _excluded3 = ["children"];
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ _excluded3 = ["children"],
14
+ _excluded4 = ["affordance", "children"];
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
18
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
21
  var CardContent = function CardContent(_ref) {
@@ -45,4 +50,32 @@ var SelectedIcon = function SelectedIcon(_ref4) {
45
50
  $selected: $selected
46
51
  }));
47
52
  };
48
- exports.SelectedIcon = SelectedIcon;
53
+ exports.SelectedIcon = SelectedIcon;
54
+ var CardAffordance = function CardAffordance(_ref5) {
55
+ var rest = _extends({}, (_objectDestructuringEmpty(_ref5), _ref5));
56
+ return /*#__PURE__*/_react.default.createElement(_styles.StyledCardAffordance, _extends({}, rest, {
57
+ size: "mini",
58
+ name: "arrow-right",
59
+ "aria-hidden": true
60
+ }));
61
+ };
62
+
63
+ // jsdocs, never types?
64
+ exports.CardAffordance = CardAffordance;
65
+ var CardLink = function CardLink(_ref6) {
66
+ var affordance = _ref6.affordance,
67
+ children = _ref6.children,
68
+ rest = _objectWithoutProperties(_ref6, _excluded4);
69
+ var _useContext = (0, _react.useContext)(_utils.SubComponentContext),
70
+ href = _useContext.href,
71
+ linkRef = _useContext.linkRef;
72
+ return /*#__PURE__*/_react.default.createElement(_styles.StyledCardLink, _extends({}, rest, {
73
+ target: "_blank",
74
+ rel: "noreferrer",
75
+ href: href,
76
+ ref: linkRef
77
+ }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children, affordance ? /*#__PURE__*/_react.default.createElement(CardAffordance, {
78
+ ml: 300
79
+ }) : null));
80
+ };
81
+ exports.CardLink = CardLink;
@@ -7,13 +7,17 @@ exports.onKeyDown = exports.navigateTo = exports.SubComponentContext = void 0;
7
7
  exports.useChildContext = useChildContext;
8
8
  var _react = require("react");
9
9
  var _utils = require("../utils");
10
- var SubComponentContext = /*#__PURE__*/(0, _react.createContext)(
11
- // eslint-disable-next-line @typescript-eslint/no-empty-function
12
- function () {});
10
+ var SubComponentContext = /*#__PURE__*/(0, _react.createContext)({
11
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
12
+ setHasSubComponent: function setHasSubComponent() {},
13
+ href: '',
14
+ linkRef: null
15
+ });
13
16
  exports.SubComponentContext = SubComponentContext;
14
17
  function useChildContext() {
15
- var setHasSubComponent = (0, _react.useContext)(SubComponentContext);
16
- setHasSubComponent(true);
18
+ var _useContext = (0, _react.useContext)(SubComponentContext),
19
+ setHasSubComponent = _useContext.setHasSubComponent;
20
+ setHasSubComponent && setHasSubComponent(true);
17
21
  }
18
22
  var navigateTo = function navigateTo(_ref) {
19
23
  var _ref$current, _window$open;
@@ -9,8 +9,9 @@ var React = _interopRequireWildcard(require("react"));
9
9
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
10
10
  var _IconViewBoxes = _interopRequireDefault(require("../IconViewBoxes"));
11
11
  var _Box = _interopRequireDefault(require("../Box"));
12
- var _PartnerLogo = _interopRequireWildcard(require("../PartnerLogo"));
12
+ var _PartnerLogo = _interopRequireDefault(require("../PartnerLogo"));
13
13
  var _utils = require("../utils");
14
+ var _logoNames = _interopRequireDefault(require("../logoNames"));
14
15
  var _deprecatedIcons = _interopRequireDefault(require("./deprecatedIcons"));
15
16
  var _styles = _interopRequireDefault(require("./styles"));
16
17
  var _excluded = ["name", "size", "fixedWidth", "ariaLabel", "color", "svgProps"],
@@ -31,7 +32,7 @@ var Icon = function Icon(_ref) {
31
32
  color = _ref.color,
32
33
  svgProps = _ref.svgProps,
33
34
  rest = _objectWithoutProperties(_ref, _excluded);
34
- if ((0, _utils.includes)(_PartnerLogo.PartnerNames, name)) {
35
+ if ((0, _utils.includes)(_logoNames.default, name)) {
35
36
  // Icon's "default" size is equivalent to PartnerLogo's "small" size
36
37
  var logoSize = size === 'default' ? 'small' : size;
37
38
  var logoProps = {
@@ -3,8 +3,12 @@
3
3
  module.exports = {
4
4
  "adobe-experience-manager-dark": "0 0 16 17",
5
5
  "adobe-experience-manager": "0 0 16 17",
6
+ "android-dark": "0 0 18 18",
7
+ "android": "0 0 18 18",
6
8
  "apple-app-store-dark": "0 0 140 140",
7
9
  "apple-app-store": "0 0 140 140",
10
+ "apple-dark": "0 0 18 18",
11
+ "apple": "0 0 18 18",
8
12
  "bigcommerce-dark": "0 0 140 140",
9
13
  "bigcommerce-lockup-dark": "0 0 291 66",
10
14
  "bigcommerce-lockup": "0 0 291 66",
@@ -31,6 +35,8 @@ module.exports = {
31
35
  "facebook": "0 0 141 139",
32
36
  "feedly-dark": "0 0 141 123",
33
37
  "feedly": "0 0 141 123",
38
+ "github-dark": "0 0 18 18",
39
+ "github": "0 0 18 18",
34
40
  "glassdoor-dark": "0 0 140 196",
35
41
  "glassdoor": "0 0 140 196",
36
42
  "google-analytics-dark": "0 0 140 160",
@@ -59,8 +65,12 @@ module.exports = {
59
65
  "microsoft-dynamics": "0 0 140 227",
60
66
  "pinterest-dark": "0 0 140 141",
61
67
  "pinterest": "0 0 140 141",
68
+ "reddit-alien-dark": "0 0 18 18",
69
+ "reddit-alien": "0 0 18 18",
62
70
  "reddit-dark": "0 0 140 140",
63
71
  "reddit": "0 0 140 140",
72
+ "salesforce-cloud-dark": "0 0 20 18",
73
+ "salesforce-cloud": "0 0 20 18",
64
74
  "salesforce-dark": "0 0 140 99",
65
75
  "salesforce": "0 0 140 99",
66
76
  "shopify-dark": "0 0 140 159",
@@ -73,6 +83,10 @@ module.exports = {
73
83
  "sproutsocial-wordmark-dark": "0 0 320 52",
74
84
  "sproutsocial-wordmark": "0 0 320 52",
75
85
  "sproutsocial": "0 0 140 174",
86
+ "tableau-dark": "0 0 18 18",
87
+ "tableau-lockup-dark": "0 0 291 56",
88
+ "tableau-lockup": "0 0 291 56",
89
+ "tableau": "0 0 18 18",
76
90
  "tiktok-dark": "0 0 140 159",
77
91
  "tiktok": "0 0 140 159",
78
92
  "tripadvisor-dark": "0 0 140 140",
@@ -1,47 +1,52 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
7
  var _react = _interopRequireDefault(require("react"));
9
8
  var _styledComponents = require("styled-components");
10
- var logoViewBoxes = _interopRequireWildcard(require("../LogoViewBoxes"));
9
+ var _LogoViewBoxes = _interopRequireDefault(require("../LogoViewBoxes"));
11
10
  var _styles = _interopRequireDefault(require("./styles"));
12
11
  var _excluded = ["partnerName", "backgroundType", "logoType", "height", "width", "size", "aria-label", "svgProps"];
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
13
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
14
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
15
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
- var PartnerLogo = function PartnerLogo(_ref) {
20
- var partnerName = _ref.partnerName,
21
- backgroundType = _ref.backgroundType,
22
- _ref$logoType = _ref.logoType,
23
- logoType = _ref$logoType === void 0 ? 'symbol' : _ref$logoType,
24
- height = _ref.height,
25
- width = _ref.width,
26
- size = _ref.size,
27
- ariaLabel = _ref['aria-label'],
28
- svgProps = _ref.svgProps,
29
- rest = _objectWithoutProperties(_ref, _excluded);
16
+ var whichLogo = function whichLogo(_ref, mode) {
17
+ var backgroundType = _ref.backgroundType,
18
+ logoType = _ref.logoType,
19
+ partnerName = _ref.partnerName;
20
+ var logo = logoType && logoType !== 'symbol' ? partnerName + '-' + logoType : partnerName;
21
+ if (backgroundType && backgroundType === 'dark') {
22
+ return "".concat(logo, "-dark");
23
+ } else if (backgroundType && backgroundType === 'light') {
24
+ return logo;
25
+ } else if (mode === 'dark') {
26
+ return "".concat(logo, "-dark");
27
+ } else {
28
+ return logo;
29
+ }
30
+ };
31
+ var PartnerLogo = function PartnerLogo(_ref2) {
32
+ var partnerName = _ref2.partnerName,
33
+ backgroundType = _ref2.backgroundType,
34
+ _ref2$logoType = _ref2.logoType,
35
+ logoType = _ref2$logoType === void 0 ? 'symbol' : _ref2$logoType,
36
+ height = _ref2.height,
37
+ width = _ref2.width,
38
+ size = _ref2.size,
39
+ ariaLabel = _ref2['aria-label'],
40
+ svgProps = _ref2.svgProps,
41
+ rest = _objectWithoutProperties(_ref2, _excluded);
30
42
  var _useTheme = (0, _styledComponents.useTheme)(),
31
43
  mode = _useTheme.mode;
32
- var whichLogo = function whichLogo(type) {
33
- var logo = logoType && logoType !== 'symbol' ? partnerName + '-' + logoType : partnerName;
34
- if (type && type === 'dark') {
35
- return "".concat(logo, "-dark");
36
- } else if (type && type === 'light') {
37
- return logo;
38
- } else if (mode === 'dark') {
39
- return "".concat(logo, "-dark");
40
- } else {
41
- return logo;
42
- }
43
- };
44
- var logoViewBox = logoViewBoxes[whichLogo(backgroundType)];
44
+ var logo = whichLogo({
45
+ backgroundType: backgroundType,
46
+ logoType: logoType,
47
+ partnerName: partnerName
48
+ }, mode);
49
+ var logoViewBox = _LogoViewBoxes.default[logo];
45
50
  var viewBoxCoordinates = (logoViewBox === null || logoViewBox === void 0 ? void 0 : logoViewBox.split(' ')) || [];
46
51
  var defaultWidth = viewBoxCoordinates[2];
47
52
  var defaultHeight = viewBoxCoordinates[3];
@@ -61,7 +66,7 @@ var PartnerLogo = function PartnerLogo(_ref) {
61
66
  "data-qa-logo-svg": "".concat(partnerName, "-svg")
62
67
  }, svgProps), /*#__PURE__*/_react.default.createElement("use", {
63
68
  xmlnsXlink: "http://www.w3.org/1999/xlink",
64
- xlinkHref: "#sslogosvg-".concat(whichLogo(backgroundType))
69
+ xlinkHref: "#sslogosvg-".concat(logo)
65
70
  })));
66
71
  };
67
72
  var _default = PartnerLogo;
@@ -3,8 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PartnerNames = exports.PartnerLogoSizes = void 0;
7
- var PartnerNames = ['apple-app-store', 'bigcommerce', 'bitly', 'bynder', 'canva', 'dropbox', 'facebook', 'facebook-audience-network', 'facebook-groups', 'facebook-shops', 'feedly', 'glassdoor', 'google-analytics', 'google-business-messages', 'google-drive', 'google-my-business', 'google-play-store', 'hubspot', 'instagram', 'linkedin', 'linkedin-audience-network', 'marketo', 'messenger', 'microsoft-dynamics', 'pinterest', 'reddit', 'salesforce', 'shopify', 'slack', 'sproutsocial', 'tiktok', 'tripadvisor', 'tumblr', 'twitter', 'twitter-audience-network', 'whatsapp', 'woocommerce', 'yelp', 'youtube', 'zendesk'];
6
+ exports.PartnerNames = exports.PartnerLogoTypes = exports.PartnerLogoSizes = void 0;
7
+ var _logoNames = _interopRequireDefault(require("../logoNames"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ /**
10
+ * @deprecated Use PartnerLogoNames instead
11
+ */
12
+ var PartnerNames = _logoNames.default;
13
+
14
+ /**
15
+ * @deprecated Use EnumLogoNames instead
16
+ */
8
17
  exports.PartnerNames = PartnerNames;
9
18
  var PartnerLogoSizes = {
10
19
  mini: '12px',
@@ -13,4 +22,6 @@ var PartnerLogoSizes = {
13
22
  large: '32px',
14
23
  jumbo: '64px'
15
24
  };
16
- exports.PartnerLogoSizes = PartnerLogoSizes;
25
+ exports.PartnerLogoSizes = PartnerLogoSizes;
26
+ var PartnerLogoTypes = ['symbol', 'wordmark', 'lockup'];
27
+ exports.PartnerLogoTypes = PartnerLogoTypes;
@@ -13,15 +13,4 @@ Object.keys(_PartnerLogo).forEach(function (key) {
13
13
  return _PartnerLogo[key];
14
14
  }
15
15
  });
16
- });
17
- var _TypePartnerNames = require("./TypePartnerNames.flow");
18
- Object.keys(_TypePartnerNames).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _TypePartnerNames[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _TypePartnerNames[key];
25
- }
26
- });
27
16
  });