@royaloperahouse/harmonic 0.18.4 → 0.18.6

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [0.18.6]
2
+ - CastFilter: Add greyscale option to cast filter
3
+
4
+ ## [0.18.5]
5
+ - PeopleListing, PersonCard: Added person-headshot-grayscale class to display headshots in grayscale
6
+
1
7
  ## [0.18.4]
2
8
  - Access Icons: Add Captioned, Family Friendly, and Touch Tour icons
3
9
 
package/README.GIT CHANGED
@@ -22,7 +22,7 @@ The Storybook for the latest version of the library is hosted at [Storybook - Ha
22
22
 
23
23
  * You can find these values at:
24
24
 
25
- *AWS 'Your Applications' page -> 'Royal Opera House' -> 'Developer Access' -> 'Command line or programmatic access'*
25
+ *AWS access portal/ Accounts tab -> 'Royal Opera House' -> 'Access keys' -> 'Option 2: Add a profile to your AWS credentials file'*
26
26
 
27
27
  * **To deploy a preview** for demo / QA you will need:
28
28
 
@@ -151,8 +151,7 @@ To publish a snapshot use:
151
151
  ```bash
152
152
  NPM_ROH_TOKEN={NPM_TOKEN} RELEASE_VERSION={RELEASE_VERSION} yarn publish-snapshot
153
153
  ```
154
-
155
- The version published to NPM will be named, e.g. `1.42.0-a-harmonic-development`, use this to install the snapshot package in the frontend repos.
154
+ Use the version name to install the package in a frontend repo.
156
155
 
157
156
  ### **2. To release a stable version**
158
157
 
@@ -10,6 +10,7 @@ export declare const PersonToggle: import("styled-components").StyledComponent<"
10
10
  }, never>;
11
11
  export declare const PersonImage: import("styled-components").StyledComponent<"img", any, {
12
12
  isDefaultPlaceholder?: boolean | undefined;
13
+ greyscale?: boolean | undefined;
13
14
  }, never>;
14
15
  export declare const PersonName: import("styled-components").StyledComponent<"div", any, {}, never>;
15
16
  export declare const Decal: import("styled-components").StyledComponent<"div", any, {
@@ -1,5 +1,7 @@
1
1
  export declare const ReplacementWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
2
  export declare const CreditListingWrapper: import("styled-components").StyledComponent<"div", any, {
3
+ $largeDesktopColumns?: 3 | 4 | undefined;
4
+ } & {
3
5
  columnCount: number;
4
6
  }, never>;
5
7
  export declare const DescriptionWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IPeopleListing } from '../../../types/types';
3
- declare const PeopleListing: ({ roles, className }: IPeopleListing) => React.JSX.Element;
3
+ declare const PeopleListing: ({ roles, className, greyscale, largeDesktopColumns }: IPeopleListing) => React.JSX.Element;
4
4
  export default PeopleListing;
@@ -1 +1,3 @@
1
- export declare const PeopleListingGrid: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ export declare const PeopleListingGrid: import("styled-components").StyledComponent<"div", any, {
2
+ $largeDesktopColumns?: 3 | 4 | undefined;
3
+ }, never>;
@@ -1,2 +1,4 @@
1
1
  export declare const PersonWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export declare const HeadshotWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const HeadshotWrapper: import("styled-components").StyledComponent<"div", any, {
3
+ greyscale?: boolean | undefined;
4
+ }, never>;
@@ -2,7 +2,7 @@ import React, { FunctionComponent } from 'react';
2
2
  import { DropdownIndicatorProps } from 'react-select';
3
3
  import { ISelect2Props } from '../../../types/formTypes';
4
4
  export declare const DropdownIndicator: (props: DropdownIndicatorProps) => React.JSX.Element;
5
- interface IWrapperProps extends Pick<ISelect2Props, 'label' | 'error' | 'width' | 'darkMode'> {
5
+ interface IWrapperProps extends Pick<ISelect2Props, 'label' | 'error' | 'width' | 'darkMode' | 'className'> {
6
6
  children: React.ReactNode;
7
7
  }
8
8
  export declare const WrapperComponent: FunctionComponent<IWrapperProps>;
@@ -1,6 +1,6 @@
1
1
  interface FocusableTabProps {
2
2
  hide?: boolean;
3
3
  }
4
- export declare const FocusableTab: import("styled-components").StyledComponent<({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, tabLinkId, color, dataTestId, isOpen, }: import("../../../types/types").ITabProps) => import("react").JSX.Element, any, FocusableTabProps, never>;
4
+ export declare const FocusableTab: import("styled-components").StyledComponent<({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, color, dataTestId, isOpen, }: import("../../../types/types").ITabProps) => import("react").JSX.Element, any, FocusableTabProps, never>;
5
5
  export declare const HiddenBlock: import("styled-components").StyledComponent<"div", any, {}, never>;
6
6
  export {};
@@ -5979,21 +5979,69 @@ var Accordion = function Accordion(_ref) {
5979
5979
  var content = React.useRef(null);
5980
5980
  var timeoutRef = React.useRef(null);
5981
5981
  var rafRef = React.useRef(null);
5982
+ var resizeObserverRef = React.useRef(null);
5983
+ var intervalRef = React.useRef(null);
5982
5984
  React.useEffect(function () {
5983
- if (content != null && content.current && initOpen) {
5985
+ if (content.current && initOpen) {
5984
5986
  setTextHeight(content.current.scrollHeight + "px");
5985
5987
  }
5986
- }, [content, initOpen]);
5988
+ }, [initOpen]);
5987
5989
  React.useEffect(function () {
5988
- if (openAccordion && content != null && content.current) {
5989
- rafRef.current = window.requestAnimationFrame(function () {
5990
- var _content$current$scro, _content$current;
5991
- setTextHeight(((_content$current$scro = (_content$current = content.current) == null ? void 0 : _content$current.scrollHeight) != null ? _content$current$scro : 0) + "px");
5992
- });
5993
- } else if (!openAccordion) {
5990
+ var cleanup = function cleanup() {
5991
+ return undefined;
5992
+ };
5993
+ var el = content.current;
5994
+ if (!el) return cleanup;
5995
+ if (!openAccordion) {
5994
5996
  setTextHeight('0px');
5997
+ if (resizeObserverRef.current) {
5998
+ resizeObserverRef.current.disconnect();
5999
+ resizeObserverRef.current = null;
6000
+ }
6001
+ if (intervalRef.current) {
6002
+ window.clearInterval(intervalRef.current);
6003
+ intervalRef.current = null;
6004
+ }
6005
+ if (rafRef.current) {
6006
+ window.cancelAnimationFrame(rafRef.current);
6007
+ rafRef.current = null;
6008
+ }
6009
+ return cleanup;
6010
+ }
6011
+ var updateHeight = function updateHeight() {
6012
+ setTextHeight(el.scrollHeight + "px");
6013
+ };
6014
+ rafRef.current = window.requestAnimationFrame(updateHeight);
6015
+ if (typeof ResizeObserver !== 'undefined') {
6016
+ var ro = new ResizeObserver(updateHeight);
6017
+ ro.observe(el);
6018
+ resizeObserverRef.current = ro;
6019
+ intervalRef.current = window.setInterval(updateHeight, 200);
6020
+ return function () {
6021
+ ro.disconnect();
6022
+ resizeObserverRef.current = null;
6023
+ if (intervalRef.current) {
6024
+ window.clearInterval(intervalRef.current);
6025
+ intervalRef.current = null;
6026
+ }
6027
+ if (rafRef.current) {
6028
+ window.cancelAnimationFrame(rafRef.current);
6029
+ rafRef.current = null;
6030
+ }
6031
+ };
5995
6032
  }
5996
- }, [openAccordion, childrenVisibility, content]);
6033
+ intervalRef.current = window.setInterval(updateHeight, 200);
6034
+ return function () {
6035
+ if (intervalRef.current) {
6036
+ window.clearInterval(intervalRef.current);
6037
+ intervalRef.current = null;
6038
+ }
6039
+ if (rafRef.current) {
6040
+ window.cancelAnimationFrame(rafRef.current);
6041
+ rafRef.current = null;
6042
+ }
6043
+ };
6044
+ }, [openAccordion, childrenVisibility, children]);
5997
6045
  React.useEffect(function () {
5998
6046
  return function () {
5999
6047
  if (timeoutRef.current) {
@@ -6004,6 +6052,14 @@ var Accordion = function Accordion(_ref) {
6004
6052
  window.cancelAnimationFrame(rafRef.current);
6005
6053
  rafRef.current = null;
6006
6054
  }
6055
+ if (resizeObserverRef.current) {
6056
+ resizeObserverRef.current.disconnect();
6057
+ resizeObserverRef.current = null;
6058
+ }
6059
+ if (intervalRef.current) {
6060
+ window.clearInterval(intervalRef.current);
6061
+ intervalRef.current = null;
6062
+ }
6007
6063
  };
6008
6064
  }, []);
6009
6065
  var toggleAccordion = function toggleAccordion() {
@@ -6549,17 +6605,20 @@ var PersonToggle = /*#__PURE__*/styled__default.div(_templateObject8$4 || (_temp
6549
6605
  var isSelected = _ref.isSelected;
6550
6606
  return isSelected ? 'var(--color-primary-red)' : 'var(--color-base-light-grey)';
6551
6607
  });
6552
- var PersonImage = /*#__PURE__*/styled__default.img(_templateObject9$3 || (_templateObject9$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n margin: 4px;\n object-fit: cover;\n border-radius: 50%;\n\n // This is really specific to the SVG that we have been provided\n // as a fallback person image. I don't think there's a simpler and\n // more general way to handle this, so if we're given a new placeholder\n // image later, we may have to change the scale here\n ", "\n"])), function (_ref2) {
6553
- var isDefaultPlaceholder = _ref2.isDefaultPlaceholder;
6608
+ var PersonImage = /*#__PURE__*/styled__default.img(_templateObject9$3 || (_templateObject9$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n margin: 4px;\n object-fit: cover;\n border-radius: 50%;\n filter: ", ";\n\n // This is really specific to the SVG that we have been provided\n // as a fallback person image. I don't think there's a simpler and\n // more general way to handle this, so if we're given a new placeholder\n // image later, we may have to change the scale here\n ", "\n"])), function (_ref2) {
6609
+ var greyscale = _ref2.greyscale;
6610
+ return greyscale ? 'grayscale(100%)' : 'none';
6611
+ }, function (_ref3) {
6612
+ var isDefaultPlaceholder = _ref3.isDefaultPlaceholder;
6554
6613
  return isDefaultPlaceholder && "\n transform: scale(1.24);\n ";
6555
6614
  });
6556
6615
  var PersonName = /*#__PURE__*/styled__default.div(_templateObject0$3 || (_templateObject0$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: 86px;\n display: flex;\n flex-wrap: wrap;\n text-align: center;\n\n @media ", " {\n max-width: unset;\n text-align: left;\n font-size: 17px;\n line-height: 24px;\n }\n"])), devices.mobile);
6557
- var Decal = /*#__PURE__*/styled__default.div(_templateObject1$2 || (_templateObject1$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--color-primary-red);\n display: ", ";\n position: absolute;\n top: 6px;\n right: -6px;\n align-items: center;\n justify-content: center;\n\n span {\n display: ", ";\n width: 65%;\n height: 65%;\n }\n"])), function (_ref3) {
6558
- var isSelected = _ref3.isSelected;
6559
- return isSelected ? 'flex' : 'none';
6560
- }, function (_ref4) {
6616
+ var Decal = /*#__PURE__*/styled__default.div(_templateObject1$2 || (_templateObject1$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--color-primary-red);\n display: ", ";\n position: absolute;\n top: 6px;\n right: -6px;\n align-items: center;\n justify-content: center;\n\n span {\n display: ", ";\n width: 65%;\n height: 65%;\n }\n"])), function (_ref4) {
6561
6617
  var isSelected = _ref4.isSelected;
6562
6618
  return isSelected ? 'flex' : 'none';
6619
+ }, function (_ref5) {
6620
+ var isSelected = _ref5.isSelected;
6621
+ return isSelected ? 'flex' : 'none';
6563
6622
  });
6564
6623
  var EmptySelectionTextSpacer = /*#__PURE__*/styled__default.div(_templateObject10$2 || (_templateObject10$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: hidden;\n\n @media ", " {\n visibility: visible;\n min-height: var(--button-height);\n }\n"])), devices.mobile);
6565
6624
 
@@ -6967,6 +7026,8 @@ var CastFilters = function CastFilters(_ref) {
6967
7026
  onSelect = _ref.onSelect,
6968
7027
  onApply = _ref.onApply,
6969
7028
  onClear = _ref.onClear,
7029
+ _ref$greyscale = _ref.greyscale,
7030
+ greyscale = _ref$greyscale === void 0 ? false : _ref$greyscale,
6970
7031
  _ref$selectedIndices = _ref.selectedIndices,
6971
7032
  selectedIndices = _ref$selectedIndices === void 0 ? [] : _ref$selectedIndices;
6972
7033
  var _useViewport = useViewport(),
@@ -7107,7 +7168,8 @@ var CastFilters = function CastFilters(_ref) {
7107
7168
  src: personImage,
7108
7169
  alt: image ? name : "Placeholder image for " + name,
7109
7170
  draggable: false,
7110
- isDefaultPlaceholder: !(!!image || !!placeholderImage)
7171
+ isDefaultPlaceholder: !(!!image || !!placeholderImage),
7172
+ greyscale: greyscale
7111
7173
  }), /*#__PURE__*/React__default.createElement(Decal, {
7112
7174
  isSelected: isSelected
7113
7175
  }, /*#__PURE__*/React__default.createElement(Icon, {
@@ -8628,7 +8690,10 @@ var Pagination = function Pagination(_ref) {
8628
8690
  };
8629
8691
 
8630
8692
  var _templateObject$Y;
8631
- var PeopleListingGrid = /*#__PURE__*/styled__default(Grid)(_templateObject$Y || (_templateObject$Y = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n gap: 40px 36px;\n\n grid-template-columns: 1fr 1fr 1fr;\n\n @media ", " {\n grid-template-columns: 1fr;\n }\n\n @media ", " {\n grid-template-columns: 1fr 1fr;\n }\n\n @media ", " {\n grid-template-columns: 1fr 1fr 1fr 1fr;\n }\n"])), devices.mobile, devices.tablet, devices.largeDesktop);
8693
+ var PeopleListingGrid = /*#__PURE__*/styled__default(Grid)(_templateObject$Y || (_templateObject$Y = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n gap: 40px 36px;\n\n grid-template-columns: 1fr 1fr 1fr;\n\n @media ", " {\n grid-template-columns: 1fr;\n }\n\n @media ", " {\n grid-template-columns: 1fr 1fr;\n }\n\n @media ", " {\n grid-template-columns: ", ";\n }\n"])), devices.mobile, devices.tablet, devices.largeDesktop, function (_ref) {
8694
+ var $largeDesktopColumns = _ref.$largeDesktopColumns;
8695
+ return "repeat(" + ($largeDesktopColumns != null ? $largeDesktopColumns : 4) + ", 1fr)";
8696
+ });
8632
8697
 
8633
8698
  var _templateObject$Z, _templateObject2$M;
8634
8699
  var TextWrapper$2 = /*#__PURE__*/styled__default.div(_templateObject$Z || (_templateObject$Z = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n && {\n color: var(--color-primary-black);\n }\n grid-area: role-person;\n break-inside: avoid;\n"])));
@@ -8677,11 +8742,15 @@ var PersonDetails = function PersonDetails(_ref) {
8677
8742
 
8678
8743
  var _templateObject$$, _templateObject2$O;
8679
8744
  var PersonWrapper$1 = /*#__PURE__*/styled__default.div(_templateObject$$ || (_templateObject$$ = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: grid;\n grid-template-columns: 82px 1fr;\n grid-template-areas: 'headshot role-person';\n grid-column-gap: 16px;\n"])));
8680
- var HeadshotWrapper = /*#__PURE__*/styled__default.div(_templateObject2$O || (_templateObject2$O = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n grid-area: headshot;\n img {\n width: 82px;\n height: 82px;\n }\n"])));
8745
+ var HeadshotWrapper = /*#__PURE__*/styled__default.div(_templateObject2$O || (_templateObject2$O = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n grid-area: headshot;\n img {\n width: 82px;\n height: 82px;\n filter: ", ";\n }\n"])), function (_ref) {
8746
+ var greyscale = _ref.greyscale;
8747
+ return greyscale ? 'grayscale(100%)' : 'none';
8748
+ });
8681
8749
 
8682
8750
  var PersonCard = function PersonCard(_ref) {
8683
8751
  var role = _ref.role,
8684
- className = _ref.className;
8752
+ className = _ref.className,
8753
+ greyscale = _ref.greyscale;
8685
8754
  var hasHeadshot = React__default.useMemo(function () {
8686
8755
  var _role$people;
8687
8756
  var firstPerson = (_role$people = role.people) == null ? void 0 : _role$people[0];
@@ -8689,7 +8758,9 @@ var PersonCard = function PersonCard(_ref) {
8689
8758
  }, [role]);
8690
8759
  if (hasHeadshot) return /*#__PURE__*/React__default.createElement(PersonWrapper$1, {
8691
8760
  className: className
8692
- }, /*#__PURE__*/React__default.createElement(HeadshotWrapper, null, /*#__PURE__*/React__default.createElement("img", {
8761
+ }, /*#__PURE__*/React__default.createElement(HeadshotWrapper, {
8762
+ greyscale: greyscale
8763
+ }, /*#__PURE__*/React__default.createElement("img", {
8693
8764
  src: role.people[0].headshot,
8694
8765
  alt: role.people[0].name
8695
8766
  })), /*#__PURE__*/React__default.createElement(PersonDetails, {
@@ -8703,14 +8774,19 @@ var PersonCard = function PersonCard(_ref) {
8703
8774
 
8704
8775
  var PeopleListing = function PeopleListing(_ref) {
8705
8776
  var roles = _ref.roles,
8706
- className = _ref.className;
8777
+ className = _ref.className,
8778
+ greyscale = _ref.greyscale,
8779
+ largeDesktopColumns = _ref.largeDesktopColumns;
8707
8780
  return /*#__PURE__*/React__default.createElement(PeopleListingGrid, {
8708
- className: className
8781
+ className: className,
8782
+ "$largeDesktopColumns": largeDesktopColumns
8709
8783
  }, roles.map(function (role, index) {
8710
8784
  return /*#__PURE__*/React__default.createElement(GridItem, {
8711
8785
  key: role.name + "-" + index
8712
8786
  }, /*#__PURE__*/React__default.createElement(PersonCard, {
8713
- role: role
8787
+ role: role,
8788
+ className: className,
8789
+ greyscale: greyscale
8714
8790
  }));
8715
8791
  }));
8716
8792
  };
@@ -9994,35 +10070,35 @@ function Select(_ref3) {
9994
10070
 
9995
10071
  var _templateObject$1a, _templateObject2$U, _templateObject3$G, _templateObject4$y;
9996
10072
  var Container$4 = /*#__PURE__*/styled__default.div(_templateObject$1a || (_templateObject$1a = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
9997
- var SelectWrapper$1 = /*#__PURE__*/styled__default.div(_templateObject2$U || (_templateObject2$U = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: auto;\n max-width: ", ";\n\n .harmonic-select__control {\n min-height: 48px;\n border-radius: 0;\n transition: none;\n border: ", ";\n &:hover {\n border-color: ", ";\n }\n }\n .harmonic-select__control--is-focused {\n border-color: var(--base-color-dark-grey);\n box-shadow: ", ";\n }\n .harmonic-select__control--menu-is-open {\n .harmonic-select__indicator {\n svg {\n transform: rotate(180deg);\n }\n }\n }\n .harmonic-select__indicator {\n font-size: 25px;\n padding: 0;\n margin-right: 12px;\n color: var(--base-color-black);\n svg {\n height: 1em;\n width: 1em;\n color: inherit;\n path {\n fill: currentColor;\n color: inherit;\n }\n }\n }\n .harmonic-select__single-value,\n .harmonic-select__placeholder {\n margin-left: 0;\n margin-right: 0;\n font-family: var(--font-family-altHeader);\n font-feature-settings: var(--font-feature-settings-altHeader);\n font-size: var(--font-size-altHeader-6);\n font-weight: var(--font-weight-altHeader-6);\n letter-spacing: var(--letter-spacing-altHeader-6);\n line-height: var(--line-height-altHeader-6);\n text-transform: var(--text-transform-altHeader);\n }\n .harmonic-select__placeholder {\n color: var(--base-color-dark-grey);\n }\n .harmonic-select__single-value {\n color: var(--base-color-black);\n }\n .harmonic-select__value-container {\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 1px;\n padding-bottom: 0px;\n }\n .harmonic-select--is-disabled {\n .harmonic-select__control {\n border: 1px solid var(--base-color-light-grey);\n background: var(--base-color-light-grey);\n }\n .harmonic-select__indicator,\n .harmonic-select__single-value {\n color: var(--base-color-dark-grey);\n }\n }\n .harmonic-select__menu {\n margin-top: -1px;\n box-shadow: none;\n border-radius: 0;\n border: 1px solid var(--base-color-dark-grey);\n background: var(--base-color-light-grey);\n }\n .harmonic-select__menu-list {\n padding-top: 0;\n padding-bottom: 0;\n }\n .harmonic-select__option {\n padding: 10px 20px;\n font-family: var(--font-family-altHeader);\n font-feature-settings: var(--font-feature-settings-altHeader);\n font-size: var(--font-size-altHeader-6);\n font-weight: var(--font-weight-altHeader-6);\n letter-spacing: var(--letter-spacing-altHeader-6);\n line-height: var(--line-height-altHeader-6);\n text-transform: var(--text-transform-altHeader);\n color: var(--base-color-black);\n &:active,\n &.harmonic-select__option--is-focused {\n background: var(--base-color-mid-grey);\n }\n }\n .harmonic-select__option--is-selected {\n color: var(--base-color-black);\n background: none;\n }\n .harmonic-select__input-container {\n margin: 0;\n padding-top: 0;\n padding-bottom: 0;\n font-family: var(--font-family-altHeader);\n font-feature-settings: var(--font-feature-settings-altHeader);\n font-size: var(--font-size-altHeader-6);\n font-weight: var(--font-weight-altHeader-6);\n letter-spacing: var(--letter-spacing-altHeader-6);\n line-height: var(--line-height-altHeader-6);\n text-transform: var(--text-transform-altHeader);\n color: var(--base-color-black);\n }\n .harmonic-select__menu-notice {\n padding: 20px 20px;\n font-family: var(--font-family-body);\n font-feature-settings: var(--font-feature-settings-body);\n font-size: var(--font-size-body-1);\n font-weight: var(--font-weight-body-1);\n letter-spacing: var(--letter-spacing-body-1);\n line-height: var(--line-height-body-1);\n text-transform: var(--text-transform-body);\n color: var(--base-color-black);\n text-align: left;\n }\n .harmonic-select__menu-notice--loading {\n font-style: italic;\n }\n"])), function (_ref) {
10073
+ var SelectWrapper$1 = /*#__PURE__*/styled__default.div(_templateObject2$U || (_templateObject2$U = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: auto;\n max-width: ", ";\n\n .harmonic-select__control {\n min-height: 48px;\n border-radius: 0;\n transition: none;\n border: ", ";\n &:hover {\n border-color: ", ";\n }\n }\n\n .harmonic-select__control--is-focused {\n border-color: var(--color-base-dark-grey);\n box-shadow: ", ";\n }\n\n .harmonic-select__control--menu-is-open {\n .harmonic-select__indicator {\n svg {\n transform: rotate(180deg);\n }\n }\n }\n\n .harmonic-select__indicator {\n font-size: 25px;\n padding: 0;\n margin-right: 12px;\n color: var(--color-primary-black);\n svg {\n height: 1em;\n width: 1em;\n color: inherit;\n path {\n fill: currentColor;\n color: inherit;\n }\n }\n }\n\n .harmonic-select__single-value,\n .harmonic-select__placeholder {\n margin-left: 0;\n margin-right: 0;\n font-family: var(--font-family-sans);\n font-weight: 400;\n font-size: 19px;\n line-height: 26px;\n letter-spacing: -0.5px;\n\n @media ", " {\n font-size: 17px;\n }\n }\n\n .harmonic-select__placeholder {\n color: var(--color-primary-black);\n }\n\n .harmonic-select__single-value {\n color: var(--color-primary-black);\n }\n\n .harmonic-select__value-container {\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 1px;\n padding-bottom: 0px;\n }\n\n .harmonic-select--is-disabled {\n .harmonic-select__control {\n border: 1px solid var(--color-base-light-grey);\n background: var(--color-base-light-grey);\n }\n .harmonic-select__indicator,\n .harmonic-select__single-value {\n color: var(--color-base-dark-grey);\n }\n }\n\n .harmonic-select__menu {\n margin-top: -1px;\n box-shadow: none;\n border-radius: 0;\n border: 1px solid var(--color-base-mid-grey);\n }\n\n .harmonic-select__menu-list {\n padding: 10px 0;\n }\n\n .harmonic-select__option {\n padding: 10px 20px;\n font-family: var(--font-family-sans);\n font-weight: 400;\n font-size: 19px;\n line-height: 26px;\n letter-spacing: -0.5px;\n color: var(--color-primary-black);\n\n @media ", " {\n font-size: 17px;\n }\n\n &:active,\n &.harmonic-select__option--is-focused {\n background: var(--color-base-light-grey);\n }\n }\n\n .harmonic-select__option--is-selected {\n color: var(--color-primary-black);\n background: none;\n }\n\n .harmonic-select__input-container {\n margin: 0;\n padding-top: 0;\n padding-bottom: 0;\n color: var(--color-primary-black);\n }\n\n .harmonic-select__menu-notice {\n color: var(--color-primary-black);\n padding: 20px 20px;\n text-align: left;\n }\n\n .harmonic-select__menu-notice--loading {\n font-style: italic;\n }\n"])), function (_ref) {
9998
10074
  var width = _ref.width;
9999
10075
  if (!width) return 'none';
10000
10076
  return width + "px";
10001
10077
  }, function (_ref2) {
10002
10078
  var error = _ref2.error;
10003
- if (error !== undefined) return "1px solid var(--base-color-errorstate)";
10004
- return "1px solid var(--base-color-dark-grey)";
10079
+ if (error !== undefined) return "1px solid var(--color-state-error)";
10080
+ return "1px solid var(--color-base-mid-grey)";
10005
10081
  }, function (_ref3) {
10006
10082
  var error = _ref3.error;
10007
- if (error !== undefined) return "var(--base-color-errorstate)";
10008
- return "var(--base-color-dark-grey)";
10083
+ if (error !== undefined) return "var(--color-state-error)";
10084
+ return "var(--color-base-dark-grey)";
10009
10085
  }, function (_ref4) {
10010
10086
  var darkMode = _ref4.darkMode;
10011
- if (darkMode) return "0 0 0 4px var(--base-color-lemonchiffon)";
10087
+ if (darkMode) return "0 0 0 1px var(--color-state-medium)";
10012
10088
  return "0 0 0 3px var(--base-color-lapislazuli)";
10013
- });
10014
- var TextLabel$4 = /*#__PURE__*/styled__default.div(_templateObject3$G || (_templateObject3$G = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0 0 20px;\n color: ", ";\n"])), function (_ref5) {
10089
+ }, devices.mobile, devices.mobile);
10090
+ var TextLabel$4 = /*#__PURE__*/styled__default.div(_templateObject3$G || (_templateObject3$G = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0 0 20px;\n color: ", ";\n\n @media ", " {\n margin: 0 0 12px;\n }\n"])), function (_ref5) {
10015
10091
  var darkMode = _ref5.darkMode;
10016
- if (darkMode) return "var(--base-color-white)";
10017
- return "var(--base-color-black)";
10018
- });
10092
+ if (darkMode) return "var(--color-base-white)";
10093
+ return "var(--color-primary-black)";
10094
+ }, devices.mobile);
10019
10095
  var ErrorLabel$5 = /*#__PURE__*/styled__default.div(_templateObject4$y || (_templateObject4$y = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 20px 0 0;\n color: ", ";\n"])), function (_ref6) {
10020
10096
  var darkMode = _ref6.darkMode;
10021
- if (darkMode) return "var(--base-color-white)";
10022
- return "var(--base-color-errorstate)";
10097
+ if (darkMode) return "var(--color-base-white)";
10098
+ return "var(--color-state-error)";
10023
10099
  });
10024
10100
 
10025
- var _excluded$o = ["label", "error", "width", "darkMode", "isSearchable", "components"];
10101
+ var _excluded$o = ["label", "error", "width", "darkMode", "isSearchable", "components", "className"];
10026
10102
  var DropdownIndicator = function DropdownIndicator(props) {
10027
10103
  return /*#__PURE__*/React__default.createElement(Select$1.components.DropdownIndicator, Object.assign({}, props), /*#__PURE__*/React__default.createElement(Icon, {
10028
10104
  iconName: "DropdownArrow"
@@ -10033,12 +10109,15 @@ var WrapperComponent = function WrapperComponent(_ref) {
10033
10109
  error = _ref.error,
10034
10110
  width = _ref.width,
10035
10111
  darkMode = _ref.darkMode,
10036
- children = _ref.children;
10037
- return /*#__PURE__*/React__default.createElement(Container$4, null, /*#__PURE__*/React__default.createElement("label", null, !!label && (/*#__PURE__*/React__default.createElement(TextLabel$4, {
10112
+ children = _ref.children,
10113
+ className = _ref.className;
10114
+ return /*#__PURE__*/React__default.createElement(Container$4, {
10115
+ className: className
10116
+ }, /*#__PURE__*/React__default.createElement("label", null, !!label && (/*#__PURE__*/React__default.createElement(TextLabel$4, {
10038
10117
  darkMode: darkMode,
10039
10118
  "data-testid": "select2-text-label"
10040
- }, /*#__PURE__*/React__default.createElement(AltHeader, {
10041
- level: 6
10119
+ }, /*#__PURE__*/React__default.createElement(BodyCopyHarmonic, {
10120
+ size: "large"
10042
10121
  }, label))), /*#__PURE__*/React__default.createElement(SelectWrapper$1, {
10043
10122
  width: width,
10044
10123
  error: error,
@@ -10046,8 +10125,8 @@ var WrapperComponent = function WrapperComponent(_ref) {
10046
10125
  }, children)), !!error && (/*#__PURE__*/React__default.createElement(ErrorLabel$5, {
10047
10126
  darkMode: darkMode,
10048
10127
  "data-testid": "select2-error-label"
10049
- }, /*#__PURE__*/React__default.createElement(AltHeader, {
10050
- level: 6
10128
+ }, /*#__PURE__*/React__default.createElement(BodyCopyHarmonic, {
10129
+ size: "medium"
10051
10130
  }, error))));
10052
10131
  };
10053
10132
  /**
@@ -10073,12 +10152,14 @@ var SelectComponent = function SelectComponent(_ref2) {
10073
10152
  _ref2$isSearchable = _ref2.isSearchable,
10074
10153
  isSearchable = _ref2$isSearchable === void 0 ? false : _ref2$isSearchable,
10075
10154
  components = _ref2.components,
10155
+ className = _ref2.className,
10076
10156
  selectProps = _objectWithoutPropertiesLoose(_ref2, _excluded$o);
10077
10157
  return /*#__PURE__*/React__default.createElement(WrapperComponent, {
10078
10158
  label: label,
10079
10159
  error: error,
10080
10160
  width: width,
10081
- darkMode: darkMode
10161
+ darkMode: darkMode,
10162
+ className: className
10082
10163
  }, /*#__PURE__*/React__default.createElement(Select$1__default, Object.assign({}, selectProps, {
10083
10164
  components: _extends({
10084
10165
  DropdownIndicator: DropdownIndicator,