@artsy/palette 37.0.0-canary.1250.29301.0 → 37.0.0-canary.1250.29384.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 (35) hide show
  1. package/dist/elements/Button/Button.js +2 -0
  2. package/dist/elements/Button/Button.js.map +1 -1
  3. package/dist/elements/Input/Input.js +3 -1
  4. package/dist/elements/Input/Input.js.map +1 -1
  5. package/dist/elements/MultiSelect/MultiSelect.js +3 -1
  6. package/dist/elements/MultiSelect/MultiSelect.js.map +1 -1
  7. package/dist/elements/PhoneInput/PhoneInput.js +2 -1
  8. package/dist/elements/PhoneInput/PhoneInput.js.map +1 -1
  9. package/dist/elements/Pill/Pill.d.ts +3 -1
  10. package/dist/elements/Pill/Pill.js +16 -8
  11. package/dist/elements/Pill/Pill.js.map +1 -1
  12. package/dist/elements/Pill/Pill.story.d.ts +1 -0
  13. package/dist/elements/Pill/Pill.story.js +24 -2
  14. package/dist/elements/Pill/Pill.story.js.map +1 -1
  15. package/dist/elements/Pill/tokens.js +2 -2
  16. package/dist/elements/Pill/tokens.js.map +1 -1
  17. package/dist/elements/Select/Select.js +3 -1
  18. package/dist/elements/Select/Select.js.map +1 -1
  19. package/dist/elements/TextArea/TextArea.js +4 -2
  20. package/dist/elements/TextArea/TextArea.js.map +1 -1
  21. package/dist/elements/Tooltip/Tooltip.story.d.ts +10 -0
  22. package/dist/elements/Tooltip/Tooltip.story.js +36 -1
  23. package/dist/elements/Tooltip/Tooltip.story.js.map +1 -1
  24. package/dist/shared/RequiredField.d.ts +3 -1
  25. package/dist/shared/RequiredField.js +1 -1
  26. package/dist/shared/RequiredField.js.map +1 -1
  27. package/dist/utils/useMutationObserver.d.ts +2 -1
  28. package/dist/utils/useMutationObserver.js +6 -4
  29. package/dist/utils/useMutationObserver.js.map +1 -1
  30. package/dist/utils/usePosition.js +8 -9
  31. package/dist/utils/usePosition.js.map +1 -1
  32. package/dist/utils/useResizeObserver.d.ts +2 -1
  33. package/dist/utils/useResizeObserver.js +4 -2
  34. package/dist/utils/useResizeObserver.js.map +1 -1
  35. package/package.json +3 -3
@@ -71,10 +71,12 @@ var Button = /*#__PURE__*/_react.default.forwardRef(function (_ref, forwardedRef
71
71
  }, !success && Icon && /*#__PURE__*/_react.default.createElement(Icon, {
72
72
  fill: "currentColor",
73
73
  mr: 0.5,
74
+ ml: -0.5,
74
75
  "aria-hidden": "true"
75
76
  }), success && /*#__PURE__*/_react.default.createElement(_CheckmarkIcon.default, {
76
77
  fill: "currentColor",
77
78
  mr: 0.5,
79
+ ml: -0.5,
78
80
  "aria-hidden": "true"
79
81
  }), children));
80
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["_composeReactRefs","_interopRequireDefault","require","_react","_interopRequireWildcard","_styledComponents","_styledSystem","_CheckmarkIcon","_themes","_Box","_Spinner","_Text","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Button","React","forwardRef","_ref","forwardedRef","children","loading","success","_ref$size","size","onClick","_ref$alignItems","alignItems","_ref$justifyContent","justifyContent","Icon","rest","ref","useRef","handleClick","event","useEffect","current","_ref$current","blur","createElement","Container","composeRefs","tabIndex","display","Spinner","color","Text","lineHeight","variant","getTextVariant","opacity","width","fill","mr","exports","displayName","defaultProps","buttonMixin","css","styled","button","withConfig","componentId","prop","variants","BUTTON_SIZES","props","hover","BUTTON_VARIANTS","active","focus","disabled","THEME","mediaQueries","boxMixin","BUTTON_TEXT_SIZES","Array","isArray","map","s","large"],"sources":["../../../src/elements/Button/Button.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport React, { useEffect, useRef } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { ResponsiveValue, variant } from \"styled-system\"\nimport CheckmarkIcon from \"@artsy/icons/CheckmarkIcon\"\nimport { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\nimport { THEME } from \"../../themes\"\nimport { boxMixin, BoxProps } from \"../Box\"\nimport { Spinner } from \"../Spinner\"\nimport { Text, TextProps } from \"../Text\"\nimport { BUTTON_SIZES, BUTTON_TEXT_SIZES, BUTTON_VARIANTS } from \"./tokens\"\nimport { ButtonSize, ButtonVariant } from \"./types\"\n\nexport interface ButtonProps\n extends BoxProps,\n React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * @description\n * The theme of the button. It's possible to pass an array that\n * behaves accordingly to the media breakpoints [\"sm\", \"md\", \"lg\", \"xl\"]\n * @example\n * \"primaryBlack\"\n * \"primaryWhite\"\n * [\"primaryGray\", \"secondaryBlack\"]\n * @see {@link ButtonVariant}\n */\n variant?: ResponsiveValue<ButtonVariant>\n /** Size of the button */\n size?: ResponsiveValue<ButtonSize>\n /** Displays a loader in the button */\n loading?: boolean\n /** Forces hover state */\n hover?: boolean\n /** Forces focus state */\n focus?: boolean\n /** Forces active state */\n active?: boolean\n /** Forces success state */\n success?: boolean\n /** Optional icon slot */\n Icon?: React.FunctionComponent<BoxProps & { fill?: ResponsiveValue<string> }>\n}\n\nexport const Button: React.ForwardRefExoticComponent<\n ButtonProps & { ref?: React.Ref<HTMLElement> }\n> = React.forwardRef(\n (\n {\n children,\n loading,\n success,\n size = \"large\",\n onClick,\n alignItems = \"center\",\n justifyContent = \"center\",\n Icon,\n ...rest\n },\n forwardedRef\n ) => {\n const ref = useRef<HTMLButtonElement | null>(null)\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n if (!loading && onClick) {\n onClick(event)\n }\n }\n\n useEffect(() => {\n if (loading && ref.current !== null) {\n ref.current?.blur()\n }\n }, [loading])\n\n return (\n <Container\n ref={composeRefs(ref, forwardedRef) as any}\n onClick={handleClick}\n size={size}\n loading={loading}\n success={success}\n tabIndex={loading ? -1 : 0}\n display=\"inline-flex\"\n alignItems={alignItems}\n justifyContent={justifyContent}\n {...rest}\n >\n {loading && <Spinner size={size} color=\"currentColor\" />}\n\n <Text\n lineHeight={1}\n variant={getTextVariant(size)}\n opacity={loading ? 0 : 1}\n display=\"flex\"\n alignItems={alignItems}\n justifyContent={justifyContent}\n width=\"100%\"\n >\n {!success && Icon && (\n <Icon fill=\"currentColor\" mr={0.5} aria-hidden=\"true\" />\n )}\n\n {success && (\n <CheckmarkIcon fill=\"currentColor\" mr={0.5} aria-hidden=\"true\" />\n )}\n\n {children}\n </Text>\n </Container>\n )\n }\n)\n\nButton.displayName = \"Button\"\n\nButton.defaultProps = {\n size: \"large\",\n variant: \"primaryBlack\",\n}\n\ntype ContainerProps = Pick<\n ButtonProps,\n \"active\" | \"disabled\" | \"focus\" | \"hover\" | \"loading\" | \"size\" | \"success\"\n>\n\nexport const buttonMixin = css`\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n font-weight: normal;\n text-align: center;\n border: 1px solid;\n text-decoration: none;\n transition: color 0.25s ease, border-color 0.25s ease,\n background-color 0.25s ease, box-shadow 0.25s ease;\n`\n\nconst Container = styled.button<ContainerProps & ButtonProps>`\n ${buttonMixin};\n\n /* Handle sizing */\n ${variant({ prop: \"size\", variants: BUTTON_SIZES })}\n\n ${(props) => {\n // Handle props driven states\n if (props.hover) {\n return variant({ variants: BUTTON_VARIANTS.hover })\n }\n\n if (props.active) {\n return variant({ variants: BUTTON_VARIANTS.active })\n }\n\n if (props.success) {\n return variant({ variants: BUTTON_VARIANTS.success })\n }\n\n if (props.focus) {\n return css`\n outline: 0;\n ${variant({ variants: BUTTON_VARIANTS.focus })}\n `\n }\n\n if (props.loading) {\n return css`\n cursor: auto;\n transition: none;\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.loading })}\n `\n }\n\n if (props.disabled) {\n return css`\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.disabled })}\n `\n }\n\n return variant({ variants: BUTTON_VARIANTS.default })\n }}\n\n ${() => {\n // Handle pseudo classes\n return css`\n @media ${THEME.mediaQueries.hover} {\n &:hover {\n ${variant({ variants: BUTTON_VARIANTS.hover })}\n }\n }\n\n &:focus {\n outline: 0;\n ${variant({ variants: BUTTON_VARIANTS.focus })}\n }\n\n &:active {\n ${variant({ variants: BUTTON_VARIANTS.active })}\n }\n\n &:disabled {\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.disabled })}\n }\n `\n }};\n\n ${boxMixin};\n`\n\nconst getTextVariant = (\n size: ResponsiveValue<ButtonSize>\n): TextProps[\"variant\"] => {\n if (typeof size === \"string\") {\n return BUTTON_TEXT_SIZES[size]\n }\n\n if (Array.isArray(size)) {\n return size.map((s) => BUTTON_TEXT_SIZES[s!] as TextVariant)\n }\n\n return BUTTON_TEXT_SIZES.large\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAD,uBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAA2E,IAAAW,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAe,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,4BAAAG,OAAA,EAAAH,GAAA,UAAAI,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAL,GAAA,YAAAI,KAAA,CAAAE,GAAA,CAAAN,GAAA,SAAAO,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAZ,GAAA,QAAAY,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,GAAA,EAAAY,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,GAAA,EAAAY,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAZ,GAAA,CAAAY,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAH,GAAA,MAAAI,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAjB,GAAA,EAAAO,MAAA,YAAAA,MAAA;AAAA,SAAAzB,uBAAAkB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAG,OAAA,EAAAH,GAAA;AAAA,SAAAkB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAiCpE,IAAMe,MAEZ,gBAAGC,cAAK,CAACC,UAAU,CAClB,UAAAC,IAAA,EAYEC,YAAY,EACT;EAAA,IAXDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,SAAA,GAAAL,IAAA,CACPM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA;IACdE,OAAO,GAAAP,IAAA,CAAPO,OAAO;IAAAC,eAAA,GAAAR,IAAA,CACPS,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,QAAQ,GAAAA,eAAA;IAAAE,mBAAA,GAAAV,IAAA,CACrBW,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,QAAQ,GAAAA,mBAAA;IACzBE,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IACDC,IAAI,GAAAzB,wBAAA,CAAAY,IAAA,EAAA7C,SAAA;EAIT,IAAM2D,GAAG,GAAG,IAAAC,aAAM,EAA2B,IAAI,CAAC;EAElD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CACfC,KAAsD,EACnD;IACH,IAAI,CAACd,OAAO,IAAII,OAAO,EAAE;MACvBA,OAAO,CAACU,KAAK,CAAC;IAChB;EACF,CAAC;EAED,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIf,OAAO,IAAIW,GAAG,CAACK,OAAO,KAAK,IAAI,EAAE;MAAA,IAAAC,YAAA;MACnC,CAAAA,YAAA,GAAAN,GAAG,CAACK,OAAO,cAAAC,YAAA,uBAAXA,YAAA,CAAaC,IAAI,EAAE;IACrB;EACF,CAAC,EAAE,CAAClB,OAAO,CAAC,CAAC;EAEb,oBACE1D,MAAA,CAAAmB,OAAA,CAAA0D,aAAA,CAACC,SAAS,EAAA5C,QAAA;IACRmC,GAAG,EAAE,IAAAU,yBAAW,EAACV,GAAG,EAAEb,YAAY,CAAS;IAC3CM,OAAO,EAAES,WAAY;IACrBV,IAAI,EAAEA,IAAK;IACXH,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBqB,QAAQ,EAAEtB,OAAO,GAAG,CAAC,CAAC,GAAG,CAAE;IAC3BuB,OAAO,EAAC,aAAa;IACrBjB,UAAU,EAAEA,UAAW;IACvBE,cAAc,EAAEA;EAAe,GAC3BE,IAAI,GAEPV,OAAO,iBAAI1D,MAAA,CAAAmB,OAAA,CAAA0D,aAAA,CAACtE,QAAA,CAAA2E,OAAO;IAACrB,IAAI,EAAEA,IAAK;IAACsB,KAAK,EAAC;EAAc,EAAG,eAExDnF,MAAA,CAAAmB,OAAA,CAAA0D,aAAA,CAACrE,KAAA,CAAA4E,IAAI;IACHC,UAAU,EAAE,CAAE;IACdC,OAAO,EAAEC,cAAc,CAAC1B,IAAI,CAAE;IAC9B2B,OAAO,EAAE9B,OAAO,GAAG,CAAC,GAAG,CAAE;IACzBuB,OAAO,EAAC,MAAM;IACdjB,UAAU,EAAEA,UAAW;IACvBE,cAAc,EAAEA,cAAe;IAC/BuB,KAAK,EAAC;EAAM,GAEX,CAAC9B,OAAO,IAAIQ,IAAI,iBACfnE,MAAA,CAAAmB,OAAA,CAAA0D,aAAA,CAACV,IAAI;IAACuB,IAAI,EAAC,cAAc;IAACC,EAAE,EAAE,GAAI;IAAC,eAAY;EAAM,EACtD,EAEAhC,OAAO,iBACN3D,MAAA,CAAAmB,OAAA,CAAA0D,aAAA,CAACzE,cAAA,CAAAe,OAAa;IAACuE,IAAI,EAAC,cAAc;IAACC,EAAE,EAAE,GAAI;IAAC,eAAY;EAAM,EAC/D,EAEAlC,QAAQ,CACJ,CACG;AAEhB,CAAC,CACF;AAAAmC,OAAA,CAAAxC,MAAA,GAAAA,MAAA;AAEDA,MAAM,CAACyC,WAAW,GAAG,QAAQ;AAE7BzC,MAAM,CAAC0C,YAAY,GAAG;EACpBjC,IAAI,EAAE,OAAO;EACbyB,OAAO,EAAE;AACX,CAAC;AAOM,IAAMS,WAAW,OAAGC,qBAAG,4OAU7B;AAAAJ,OAAA,CAAAG,WAAA,GAAAA,WAAA;AAED,IAAMjB,SAAS,GAAGmB,yBAAM,CAACC,MAAM,CAAAC,UAAA;EAAAN,WAAA;EAAAO,WAAA;AAAA,kCAC3BL,WAAW,EAGX,IAAAT,qBAAO,EAAC;EAAEe,IAAI,EAAE,MAAM;EAAEC,QAAQ,EAAEC;AAAa,CAAC,CAAC,EAEjD,UAACC,KAAK,EAAK;EACX;EACA,IAAIA,KAAK,CAACC,KAAK,EAAE;IACf,OAAO,IAAAnB,qBAAO,EAAC;MAAEgB,QAAQ,EAAEI,uBAAe,CAACD;IAAM,CAAC,CAAC;EACrD;EAEA,IAAID,KAAK,CAACG,MAAM,EAAE;IAChB,OAAO,IAAArB,qBAAO,EAAC;MAAEgB,QAAQ,EAAEI,uBAAe,CAACC;IAAO,CAAC,CAAC;EACtD;EAEA,IAAIH,KAAK,CAAC7C,OAAO,EAAE;IACjB,OAAO,IAAA2B,qBAAO,EAAC;MAAEgB,QAAQ,EAAEI,uBAAe,CAAC/C;IAAQ,CAAC,CAAC;EACvD;EAEA,IAAI6C,KAAK,CAACI,KAAK,EAAE;IACf,WAAOZ,qBAAG,sBAEN,IAAAV,qBAAO,EAAC;MAAEgB,QAAQ,EAAEI,uBAAe,CAACE;IAAM,CAAC,CAAC;EAElD;EAEA,IAAIJ,KAAK,CAAC9C,OAAO,EAAE;IACjB,WAAOsC,qBAAG,4DAIN,IAAAV,qBAAO,EAAC;MAAEgB,QAAQ,EAAEI,uBAAe,CAAChD;IAAQ,CAAC,CAAC;EAEpD;EAEA,IAAI8C,KAAK,CAACK,QAAQ,EAAE;IAClB,WAAOb,qBAAG,gCAEN,IAAAV,qBAAO,EAAC;MAAEgB,QAAQ,EAAEI,uBAAe,CAACG;IAAS,CAAC,CAAC;EAErD;EAEA,OAAO,IAAAvB,qBAAO,EAAC;IAAEgB,QAAQ,EAAEI,uBAAe,CAACvF;EAAQ,CAAC,CAAC;AACvD,CAAC,EAEC,YAAM;EACN;EACA,WAAO6E,qBAAG,2GACCc,aAAK,CAACC,YAAY,CAACN,KAAK,EAE3B,IAAAnB,qBAAO,EAAC;IAAEgB,QAAQ,EAAEI,uBAAe,CAACD;EAAM,CAAC,CAAC,EAM9C,IAAAnB,qBAAO,EAAC;IAAEgB,QAAQ,EAAEI,uBAAe,CAACE;EAAM,CAAC,CAAC,EAI5C,IAAAtB,qBAAO,EAAC;IAAEgB,QAAQ,EAAEI,uBAAe,CAACC;EAAO,CAAC,CAAC,EAK7C,IAAArB,qBAAO,EAAC;IAAEgB,QAAQ,EAAEI,uBAAe,CAACG;EAAS,CAAC,CAAC;AAGvD,CAAC,EAECG,aAAQ,CACX;AAED,IAAMzB,cAAc,GAAG,SAAjBA,cAAcA,CAClB1B,IAAiC,EACR;EACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOoD,yBAAiB,CAACpD,IAAI,CAAC;EAChC;EAEA,IAAIqD,KAAK,CAACC,OAAO,CAACtD,IAAI,CAAC,EAAE;IACvB,OAAOA,IAAI,CAACuD,GAAG,CAAC,UAACC,CAAC;MAAA,OAAKJ,yBAAiB,CAACI,CAAC,CAAE;IAAA,CAAe,CAAC;EAC9D;EAEA,OAAOJ,yBAAiB,CAACK,KAAK;AAChC,CAAC"}
1
+ {"version":3,"file":"Button.js","names":["_composeReactRefs","_interopRequireDefault","require","_react","_interopRequireWildcard","_styledComponents","_styledSystem","_CheckmarkIcon","_themes","_Box","_Spinner","_Text","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Button","React","forwardRef","_ref","forwardedRef","children","loading","success","_ref$size","size","onClick","_ref$alignItems","alignItems","_ref$justifyContent","justifyContent","Icon","rest","ref","useRef","handleClick","event","useEffect","current","_ref$current","blur","createElement","Container","composeRefs","tabIndex","display","Spinner","color","Text","lineHeight","variant","getTextVariant","opacity","width","fill","mr","ml","exports","displayName","defaultProps","buttonMixin","css","styled","button","withConfig","componentId","prop","variants","BUTTON_SIZES","props","hover","BUTTON_VARIANTS","active","focus","disabled","THEME","mediaQueries","boxMixin","BUTTON_TEXT_SIZES","Array","isArray","map","s","large"],"sources":["../../../src/elements/Button/Button.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport React, { useEffect, useRef } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { ResponsiveValue, variant } from \"styled-system\"\nimport CheckmarkIcon from \"@artsy/icons/CheckmarkIcon\"\nimport { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\nimport { THEME } from \"../../themes\"\nimport { boxMixin, BoxProps } from \"../Box\"\nimport { Spinner } from \"../Spinner\"\nimport { Text, TextProps } from \"../Text\"\nimport { BUTTON_SIZES, BUTTON_TEXT_SIZES, BUTTON_VARIANTS } from \"./tokens\"\nimport { ButtonSize, ButtonVariant } from \"./types\"\n\nexport interface ButtonProps\n extends BoxProps,\n React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * @description\n * The theme of the button. It's possible to pass an array that\n * behaves accordingly to the media breakpoints [\"sm\", \"md\", \"lg\", \"xl\"]\n * @example\n * \"primaryBlack\"\n * \"primaryWhite\"\n * [\"primaryGray\", \"secondaryBlack\"]\n * @see {@link ButtonVariant}\n */\n variant?: ResponsiveValue<ButtonVariant>\n /** Size of the button */\n size?: ResponsiveValue<ButtonSize>\n /** Displays a loader in the button */\n loading?: boolean\n /** Forces hover state */\n hover?: boolean\n /** Forces focus state */\n focus?: boolean\n /** Forces active state */\n active?: boolean\n /** Forces success state */\n success?: boolean\n /** Optional icon slot */\n Icon?: React.FunctionComponent<BoxProps & { fill?: ResponsiveValue<string> }>\n}\n\nexport const Button: React.ForwardRefExoticComponent<\n ButtonProps & { ref?: React.Ref<HTMLElement> }\n> = React.forwardRef(\n (\n {\n children,\n loading,\n success,\n size = \"large\",\n onClick,\n alignItems = \"center\",\n justifyContent = \"center\",\n Icon,\n ...rest\n },\n forwardedRef\n ) => {\n const ref = useRef<HTMLButtonElement | null>(null)\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n if (!loading && onClick) {\n onClick(event)\n }\n }\n\n useEffect(() => {\n if (loading && ref.current !== null) {\n ref.current?.blur()\n }\n }, [loading])\n\n return (\n <Container\n ref={composeRefs(ref, forwardedRef) as any}\n onClick={handleClick}\n size={size}\n loading={loading}\n success={success}\n tabIndex={loading ? -1 : 0}\n display=\"inline-flex\"\n alignItems={alignItems}\n justifyContent={justifyContent}\n {...rest}\n >\n {loading && <Spinner size={size} color=\"currentColor\" />}\n\n <Text\n lineHeight={1}\n variant={getTextVariant(size)}\n opacity={loading ? 0 : 1}\n display=\"flex\"\n alignItems={alignItems}\n justifyContent={justifyContent}\n width=\"100%\"\n >\n {!success && Icon && (\n <Icon fill=\"currentColor\" mr={0.5} ml={-0.5} aria-hidden=\"true\" />\n )}\n\n {success && (\n <CheckmarkIcon\n fill=\"currentColor\"\n mr={0.5}\n ml={-0.5}\n aria-hidden=\"true\"\n />\n )}\n\n {children}\n </Text>\n </Container>\n )\n }\n)\n\nButton.displayName = \"Button\"\n\nButton.defaultProps = {\n size: \"large\",\n variant: \"primaryBlack\",\n}\n\ntype ContainerProps = Pick<\n ButtonProps,\n \"active\" | \"disabled\" | \"focus\" | \"hover\" | \"loading\" | \"size\" | \"success\"\n>\n\nexport const buttonMixin = css`\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n font-weight: normal;\n text-align: center;\n border: 1px solid;\n text-decoration: none;\n transition: color 0.25s ease, border-color 0.25s ease,\n background-color 0.25s ease, box-shadow 0.25s ease;\n`\n\nconst Container = styled.button<ContainerProps & ButtonProps>`\n ${buttonMixin};\n\n /* Handle sizing */\n ${variant({ prop: \"size\", variants: BUTTON_SIZES })}\n\n ${(props) => {\n // Handle props driven states\n if (props.hover) {\n return variant({ variants: BUTTON_VARIANTS.hover })\n }\n\n if (props.active) {\n return variant({ variants: BUTTON_VARIANTS.active })\n }\n\n if (props.success) {\n return variant({ variants: BUTTON_VARIANTS.success })\n }\n\n if (props.focus) {\n return css`\n outline: 0;\n ${variant({ variants: BUTTON_VARIANTS.focus })}\n `\n }\n\n if (props.loading) {\n return css`\n cursor: auto;\n transition: none;\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.loading })}\n `\n }\n\n if (props.disabled) {\n return css`\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.disabled })}\n `\n }\n\n return variant({ variants: BUTTON_VARIANTS.default })\n }}\n\n ${() => {\n // Handle pseudo classes\n return css`\n @media ${THEME.mediaQueries.hover} {\n &:hover {\n ${variant({ variants: BUTTON_VARIANTS.hover })}\n }\n }\n\n &:focus {\n outline: 0;\n ${variant({ variants: BUTTON_VARIANTS.focus })}\n }\n\n &:active {\n ${variant({ variants: BUTTON_VARIANTS.active })}\n }\n\n &:disabled {\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.disabled })}\n }\n `\n }};\n\n ${boxMixin};\n`\n\nconst getTextVariant = (\n size: ResponsiveValue<ButtonSize>\n): TextProps[\"variant\"] => {\n if (typeof size === \"string\") {\n return BUTTON_TEXT_SIZES[size]\n }\n\n if (Array.isArray(size)) {\n return size.map((s) => BUTTON_TEXT_SIZES[s!] as TextVariant)\n }\n\n return BUTTON_TEXT_SIZES.large\n}\n"],"mappings":"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"}
@@ -66,7 +66,8 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
66
66
  color: "black60",
67
67
  textAlign: "right"
68
68
  }, /*#__PURE__*/_react.default.createElement("u", null, "What is this?"))), /*#__PURE__*/_react.default.createElement(_Box.Box, {
69
- position: "relative"
69
+ position: "relative",
70
+ mt: !!title && !description ? 1 : 0
70
71
  }, /*#__PURE__*/_react.default.createElement(StyledInput, _extends({
71
72
  ref: ref,
72
73
  disabled: disabled,
@@ -94,6 +95,7 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
94
95
  mt: 0.5,
95
96
  mx: 1
96
97
  }, required && /*#__PURE__*/_react.default.createElement(_RequiredField.RequiredField, {
98
+ disabled: disabled,
97
99
  flex: 1
98
100
  }), !!(inputProps !== null && inputProps !== void 0 && inputProps.maxLength) && showCounter && /*#__PURE__*/_react.default.createElement(_Text.Text, {
99
101
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["_themeGet","require","_react","_interopRequireDefault","_styledComponents","_interopRequireWildcard","_styledSystem","_RequiredField","_Box","_Text","_Tooltip","_tokens","_helpers","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Input","React","forwardRef","_ref","ref","children","className","description","disabled","error","required","focus","hover","title","height","labelOffset","showCounter","rest","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_React$useState","useState","_React$useState2","charCount","setCharCount","countChars","e","createElement","Box","width","Tooltip","pointer","content","placement","Text","variant","color","textAlign","position","StyledInput","onChange","_inputProps$onChange","maxLength","placeholder","StyledLabel","htmlFor","display","mt","mx","RequiredField","flex","ml","exports","displayName","styled","input","withConfig","componentId","themeGet","systemHeight","props","css","INPUT_STATES","active","completed","label","FORM_ELEMENT_TRANSITION","_ref2"],"sources":["../../../src/elements/Input/Input.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { height as systemHeight } from \"styled-system\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { Box, BoxProps, splitBoxProps } from \"../Box\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { INPUT_STATES } from \"./tokens\"\nimport { FORM_ELEMENT_TRANSITION } from \"../../helpers\"\n\nexport interface InputProps\n extends BoxProps,\n Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"width\" | \"height\" | \"capture\"\n > {\n active?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n required?: boolean\n title?: string\n labelOffset?: number\n showCounter?: boolean\n}\n\n/** Input component */\nexport const Input: React.ForwardRefExoticComponent<\n InputProps & { ref?: React.Ref<HTMLInputElement> }\n> = React.forwardRef(\n (\n {\n children,\n className,\n description,\n disabled,\n error,\n required,\n focus,\n hover,\n title,\n height,\n labelOffset,\n showCounter,\n ...rest\n },\n ref\n ) => {\n const [boxProps, inputProps] = splitBoxProps(rest)\n const [charCount, setCharCount] = React.useState(0)\n\n const countChars = (e: React.ChangeEvent<HTMLInputElement>) => {\n setCharCount(e.target.value.length)\n }\n\n return (\n <Box width=\"100%\" className={className} {...boxProps}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"black60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Box position=\"relative\">\n <StyledInput\n ref={ref as any}\n disabled={disabled}\n focus={focus}\n hover={hover}\n error={!!error}\n required={required}\n height={(height ?? 50) as any}\n name={inputProps.name}\n title={title}\n labelOffset={labelOffset}\n onChange={(e) => {\n inputProps.onChange?.(e)\n if (inputProps.maxLength) {\n countChars(e)\n }\n }}\n placeholder={inputProps.placeholder || \" \"}\n {...inputProps}\n />\n\n {!!title && (\n <StyledLabel labelOffset={labelOffset} htmlFor={inputProps.name}>\n {title}\n <span />\n </StyledLabel>\n )}\n\n {children}\n </Box>\n\n {(required || (inputProps?.maxLength && showCounter)) &&\n !(error && typeof error === \"string\") && (\n <Box display=\"flex\" mt={0.5} mx={1}>\n {required && <RequiredField flex={1} />}\n\n {!!inputProps?.maxLength && showCounter && (\n <Text flex={1} variant=\"xs\" color=\"black60\" textAlign=\"right\">\n {charCount}/{inputProps.maxLength}\n </Text>\n )}\n </Box>\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n }\n)\n\nInput.displayName = \"Input\"\n\ntype StyledInputProps = Pick<\n InputProps,\n \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"active\" | \"title\" | \"labelOffset\"\n>\n\nconst StyledInput = styled.input<StyledInputProps>`\n width: 100%;\n padding: 0 ${themeGet(\"space.1\")};\n appearance: none;\n line-height: 1;\n border: 1px solid;\n border-radius: 3px;\n transition: border-color 0.25s, color 0.25s;\n font-family: ${themeGet(\"fonts.sans\")};\n ${systemHeight};\n\n ::placeholder {\n transition: color 0.25s, opacity 0.25s;\n }\n\n ${(props) => {\n return css`\n ${INPUT_STATES.default}\n ${props.hover && INPUT_STATES.hover}\n ${props.focus && INPUT_STATES.focus}\n ${props.active && INPUT_STATES.active}\n ${props.disabled && INPUT_STATES.disabled}\n ${props.error && INPUT_STATES.error}\n\n &:hover {\n ${INPUT_STATES.hover}\n }\n\n &:not(:placeholder-shown) {\n ${INPUT_STATES.completed}\n ${props.error && INPUT_STATES.error}\n }\n\n &:focus {\n outline: none;\n ${INPUT_STATES.focus}\n\n :not(:placeholder-shown) {\n ${INPUT_STATES.active}\n ${props.error && INPUT_STATES.error}\n }\n }\n\n &:disabled {\n cursor: default;\n ${INPUT_STATES.disabled}\n }\n\n ${props.title &&\n css`\n ::placeholder {\n opacity: 0;\n }\n `}\n `\n }};\n`\n\nconst StyledLabel = styled.label<StyledInputProps>`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n background-color: transparent;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n font-family: ${themeGet(\"fonts.sans\")};\n pointer-events: none;\n\n & > span {\n background-color: ${themeGet(\"colors.white100\")};\n height: 100%;\n width: 100%;\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: height, top;\n transition-delay: 0.1s;\n }\n\n ${({ labelOffset }) =>\n !!labelOffset &&\n css`\n padding-left: ${labelOffset - 5}px;\n `}\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","names":["_themeGet","require","_react","_interopRequireDefault","_styledComponents","_interopRequireWildcard","_styledSystem","_RequiredField","_Box","_Text","_Tooltip","_tokens","_helpers","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Input","React","forwardRef","_ref","ref","children","className","description","disabled","error","required","focus","hover","title","height","labelOffset","showCounter","rest","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_React$useState","useState","_React$useState2","charCount","setCharCount","countChars","e","createElement","Box","width","Tooltip","pointer","content","placement","Text","variant","color","textAlign","position","mt","StyledInput","onChange","_inputProps$onChange","maxLength","placeholder","StyledLabel","htmlFor","display","mx","RequiredField","flex","ml","exports","displayName","styled","input","withConfig","componentId","themeGet","systemHeight","props","css","INPUT_STATES","active","completed","label","FORM_ELEMENT_TRANSITION","_ref2"],"sources":["../../../src/elements/Input/Input.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { height as systemHeight } from \"styled-system\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { Box, BoxProps, splitBoxProps } from \"../Box\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { INPUT_STATES } from \"./tokens\"\nimport { FORM_ELEMENT_TRANSITION } from \"../../helpers\"\n\nexport interface InputProps\n extends BoxProps,\n Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"width\" | \"height\" | \"capture\"\n > {\n active?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n required?: boolean\n title?: string\n labelOffset?: number\n showCounter?: boolean\n}\n\n/** Input component */\nexport const Input: React.ForwardRefExoticComponent<\n InputProps & { ref?: React.Ref<HTMLInputElement> }\n> = React.forwardRef(\n (\n {\n children,\n className,\n description,\n disabled,\n error,\n required,\n focus,\n hover,\n title,\n height,\n labelOffset,\n showCounter,\n ...rest\n },\n ref\n ) => {\n const [boxProps, inputProps] = splitBoxProps(rest)\n const [charCount, setCharCount] = React.useState(0)\n\n const countChars = (e: React.ChangeEvent<HTMLInputElement>) => {\n setCharCount(e.target.value.length)\n }\n\n return (\n <Box width=\"100%\" className={className} {...boxProps}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"black60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Box position=\"relative\" mt={!!title && !description ? 1 : 0}>\n <StyledInput\n ref={ref as any}\n disabled={disabled}\n focus={focus}\n hover={hover}\n error={!!error}\n required={required}\n height={(height ?? 50) as any}\n name={inputProps.name}\n title={title}\n labelOffset={labelOffset}\n onChange={(e) => {\n inputProps.onChange?.(e)\n if (inputProps.maxLength) {\n countChars(e)\n }\n }}\n placeholder={inputProps.placeholder || \" \"}\n {...inputProps}\n />\n\n {!!title && (\n <StyledLabel labelOffset={labelOffset} htmlFor={inputProps.name}>\n {title}\n <span />\n </StyledLabel>\n )}\n\n {children}\n </Box>\n\n {(required || (inputProps?.maxLength && showCounter)) &&\n !(error && typeof error === \"string\") && (\n <Box display=\"flex\" mt={0.5} mx={1}>\n {required && <RequiredField disabled={disabled} flex={1} />}\n\n {!!inputProps?.maxLength && showCounter && (\n <Text flex={1} variant=\"xs\" color=\"black60\" textAlign=\"right\">\n {charCount}/{inputProps.maxLength}\n </Text>\n )}\n </Box>\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n }\n)\n\nInput.displayName = \"Input\"\n\ntype StyledInputProps = Pick<\n InputProps,\n \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"active\" | \"title\" | \"labelOffset\"\n>\n\nconst StyledInput = styled.input<StyledInputProps>`\n width: 100%;\n padding: 0 ${themeGet(\"space.1\")};\n appearance: none;\n line-height: 1;\n border: 1px solid;\n border-radius: 3px;\n transition: border-color 0.25s, color 0.25s;\n font-family: ${themeGet(\"fonts.sans\")};\n ${systemHeight};\n\n ::placeholder {\n transition: color 0.25s, opacity 0.25s;\n }\n\n ${(props) => {\n return css`\n ${INPUT_STATES.default}\n ${props.hover && INPUT_STATES.hover}\n ${props.focus && INPUT_STATES.focus}\n ${props.active && INPUT_STATES.active}\n ${props.disabled && INPUT_STATES.disabled}\n ${props.error && INPUT_STATES.error}\n\n &:hover {\n ${INPUT_STATES.hover}\n }\n\n &:not(:placeholder-shown) {\n ${INPUT_STATES.completed}\n ${props.error && INPUT_STATES.error}\n }\n\n &:focus {\n outline: none;\n ${INPUT_STATES.focus}\n\n :not(:placeholder-shown) {\n ${INPUT_STATES.active}\n ${props.error && INPUT_STATES.error}\n }\n }\n\n &:disabled {\n cursor: default;\n ${INPUT_STATES.disabled}\n }\n\n ${props.title &&\n css`\n ::placeholder {\n opacity: 0;\n }\n `}\n `\n }};\n`\n\nconst StyledLabel = styled.label<StyledInputProps>`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n background-color: transparent;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n font-family: ${themeGet(\"fonts.sans\")};\n pointer-events: none;\n\n & > span {\n background-color: ${themeGet(\"colors.white100\")};\n height: 100%;\n width: 100%;\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: height, top;\n transition-delay: 0.1s;\n }\n\n ${({ labelOffset }) =>\n !!labelOffset &&\n css`\n padding-left: ${labelOffset - 5}px;\n `}\n`\n"],"mappings":"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"}
@@ -125,6 +125,7 @@ var MultiSelect = function MultiSelect(_ref) {
125
125
  color: "black60",
126
126
  textAlign: "right"
127
127
  }, /*#__PURE__*/_react.default.createElement("u", null, "What is this?"))), /*#__PURE__*/_react.default.createElement(Container, _extends({
128
+ mt: !!title && !description ? 1 : 0,
128
129
  ref: anchorRef,
129
130
  onClick: onVisible,
130
131
  complete: complete || selection.length > 0,
@@ -155,7 +156,8 @@ var MultiSelect = function MultiSelect(_ref) {
155
156
  }, option.text);
156
157
  })), required && !(error && typeof error === "string") && /*#__PURE__*/_react.default.createElement(_RequiredField.RequiredField, {
157
158
  mt: 0.5,
158
- ml: 1
159
+ ml: 1,
160
+ disabled: disabled
159
161
  }), error && typeof error === "string" && /*#__PURE__*/_react.default.createElement(_Text.Text, {
160
162
  variant: "xs",
161
163
  mt: 0.5,
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","names":["_themeGet","require","_react","_interopRequireWildcard","_styledComponents","_helpers","_utils","_useUpdateEffect","_useWidthOf2","_Box","_Checkbox","_Select","_Text","_Tooltip","_Clickable","_RequiredField","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiSelect","_ref","complete","description","disabled","error","focus","hover","_ref$name","options","required","title","onSelect","rest","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","selection","setSelection","useUpdateEffect","tooltipRef","current","anchorRef","onVisible","onHide","useEffect","handleKeydown","event","document","addEventListener","removeEventListener","_usePosition","usePosition","position","offset","active","_useWidthOf","useWidthOf","ref","width","useClickOutside","onClickOutside","when","type","handleSelect","option","selected","prevSelection","nextSelection","concat","filter","_ref2","createElement","Box","Tooltip","pointer","content","placement","Text","variant","color","textAlign","Container","onClick","lineHeight","StyledLabel","htmlFor","Options","tabIndex","zIndex","bg","map","Checkbox","height","px","includes","text","RequiredField","mt","ml","exports","displayName","styled","withConfig","componentId","DROP_SHADOW","Clickable","themeGet","props","css","MULTISELECT_STATES","completed","caretMixin","label","FORM_ELEMENT_TRANSITION"],"sources":["../../../src/elements/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React, { useEffect, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { css } from \"styled-components\"\nimport { DROP_SHADOW, FORM_ELEMENT_TRANSITION } from \"../../helpers\"\nimport { useClickOutside, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Checkbox } from \"../Checkbox\"\nimport { caretMixin, Option } from \"../Select\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { Clickable } from \"../Clickable\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { MULTISELECT_STATES } from \"./tokens\"\n\nexport interface MultiSelectProps extends BoxProps {\n complete?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n name?: string\n options: Option[]\n required?: boolean\n title?: string\n onSelect?: (selection: Option[]) => void\n visible?: boolean\n}\n\n/** A drop-down multi-select menu */\nexport const MultiSelect: React.FC<MultiSelectProps> = ({\n complete,\n description,\n disabled,\n error,\n focus,\n hover,\n name = \"Select\",\n options,\n required,\n title,\n onSelect,\n ...rest\n}) => {\n const [visible, setVisible] = useState(false)\n const [selection, setSelection] = useState<Option[]>([])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const onVisible = () => setVisible(true)\n const onHide = () => setVisible(false)\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [])\n\n const { anchorRef, tooltipRef } = usePosition({\n position: \"bottom\",\n offset: 10,\n active: visible,\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: onHide,\n when: visible,\n type: \"click\",\n })\n\n const handleSelect = (option: Option) => {\n return (selected: boolean) => {\n const prevSelection = selection\n const nextSelection = selected\n ? [...prevSelection, option]\n : prevSelection.filter(({ value }) => option.value !== value)\n\n setSelection(nextSelection)\n onSelect?.(nextSelection)\n }\n }\n\n return (\n <Box width=\"100%\" {...rest}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"black60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Container\n ref={anchorRef as any}\n onClick={onVisible}\n complete={complete || selection.length > 0}\n disabled={!!disabled}\n error={error}\n focus={!!focus}\n hover={!!hover}\n title={title}\n visible={visible}\n {...rest}\n >\n <Text variant=\"sm\" lineHeight={1}>\n {selection.length > 0 ? `${selection.length} selected` : name}\n </Text>\n\n {!!title && <StyledLabel htmlFor={name}>{title}</StyledLabel>}\n </Container>\n\n {visible && (\n <Options\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n bg=\"white100\"\n width={width}\n >\n {options.map((option) => {\n return (\n <Checkbox\n key={option.value}\n height={50}\n px={1}\n selected={selection.includes(option)}\n onSelect={handleSelect(option)}\n >\n {option.text}\n </Checkbox>\n )\n })}\n </Options>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n}\n\nconst Options = styled(Box)`\n position: fixed;\n z-index: 1;\n max-height: 300px;\n text-align: left;\n box-shadow: ${DROP_SHADOW};\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n\ntype ContainerProps = Pick<\n MultiSelectProps,\n \"complete\" | \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"visible\"\n>\n\nconst Container = styled(Clickable)<ContainerProps>`\n position: relative;\n width: 100%;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 16px 24px 16px ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border: 1px solid;\n border-radius: 3px;\n border-color: ${themeGet(\"colors.black30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, background-color 0.25s, border-color 0.25s;\n background-color: ${themeGet(\"colors.white100\")};\n\n ${(props) => {\n return css`\n ${MULTISELECT_STATES.default}\n ${props.complete && MULTISELECT_STATES.completed}\n ${props.hover && MULTISELECT_STATES.hover}\n ${props.focus && MULTISELECT_STATES.focus}\n ${props.disabled && MULTISELECT_STATES.disabled}\n ${props.error && MULTISELECT_STATES.error}\n \n &:hover {\n ${MULTISELECT_STATES.hover}\n }\n\n ${props.visible && MULTISELECT_STATES.focus}\n\n &:disabled {\n cursor: default;\n ${MULTISELECT_STATES.disabled}\n }\n\n // Hide text behind title when it's visible\n ${props.title &&\n !props.complete &&\n !props.visible &&\n css`\n color: transparent !important;\n `}\n `\n }}\n\n ${caretMixin}\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n pointer-events: none;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n background-color: ${themeGet(\"colors.white100\")};\n font-family: ${themeGet(\"fonts.sans\")};\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.js","names":["_themeGet","require","_react","_interopRequireWildcard","_styledComponents","_helpers","_utils","_useUpdateEffect","_useWidthOf2","_Box","_Checkbox","_Select","_Text","_Tooltip","_Clickable","_RequiredField","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiSelect","_ref","complete","description","disabled","error","focus","hover","_ref$name","options","required","title","onSelect","rest","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","selection","setSelection","useUpdateEffect","tooltipRef","current","anchorRef","onVisible","onHide","useEffect","handleKeydown","event","document","addEventListener","removeEventListener","_usePosition","usePosition","position","offset","active","_useWidthOf","useWidthOf","ref","width","useClickOutside","onClickOutside","when","type","handleSelect","option","selected","prevSelection","nextSelection","concat","filter","_ref2","createElement","Box","Tooltip","pointer","content","placement","Text","variant","color","textAlign","Container","mt","onClick","lineHeight","StyledLabel","htmlFor","Options","tabIndex","zIndex","bg","map","Checkbox","height","px","includes","text","RequiredField","ml","exports","displayName","styled","withConfig","componentId","DROP_SHADOW","Clickable","themeGet","props","css","MULTISELECT_STATES","completed","caretMixin","label","FORM_ELEMENT_TRANSITION"],"sources":["../../../src/elements/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React, { useEffect, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { css } from \"styled-components\"\nimport { DROP_SHADOW, FORM_ELEMENT_TRANSITION } from \"../../helpers\"\nimport { useClickOutside, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Checkbox } from \"../Checkbox\"\nimport { caretMixin, Option } from \"../Select\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { Clickable } from \"../Clickable\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { MULTISELECT_STATES } from \"./tokens\"\n\nexport interface MultiSelectProps extends BoxProps {\n complete?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n name?: string\n options: Option[]\n required?: boolean\n title?: string\n onSelect?: (selection: Option[]) => void\n visible?: boolean\n}\n\n/** A drop-down multi-select menu */\nexport const MultiSelect: React.FC<MultiSelectProps> = ({\n complete,\n description,\n disabled,\n error,\n focus,\n hover,\n name = \"Select\",\n options,\n required,\n title,\n onSelect,\n ...rest\n}) => {\n const [visible, setVisible] = useState(false)\n const [selection, setSelection] = useState<Option[]>([])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const onVisible = () => setVisible(true)\n const onHide = () => setVisible(false)\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [])\n\n const { anchorRef, tooltipRef } = usePosition({\n position: \"bottom\",\n offset: 10,\n active: visible,\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: onHide,\n when: visible,\n type: \"click\",\n })\n\n const handleSelect = (option: Option) => {\n return (selected: boolean) => {\n const prevSelection = selection\n const nextSelection = selected\n ? [...prevSelection, option]\n : prevSelection.filter(({ value }) => option.value !== value)\n\n setSelection(nextSelection)\n onSelect?.(nextSelection)\n }\n }\n\n return (\n <Box width=\"100%\" {...rest}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"black60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Container\n mt={!!title && !description ? 1 : 0}\n ref={anchorRef as any}\n onClick={onVisible}\n complete={complete || selection.length > 0}\n disabled={!!disabled}\n error={error}\n focus={!!focus}\n hover={!!hover}\n title={title}\n visible={visible}\n {...rest}\n >\n <Text variant=\"sm\" lineHeight={1}>\n {selection.length > 0 ? `${selection.length} selected` : name}\n </Text>\n\n {!!title && <StyledLabel htmlFor={name}>{title}</StyledLabel>}\n </Container>\n\n {visible && (\n <Options\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n bg=\"white100\"\n width={width}\n >\n {options.map((option) => {\n return (\n <Checkbox\n key={option.value}\n height={50}\n px={1}\n selected={selection.includes(option)}\n onSelect={handleSelect(option)}\n >\n {option.text}\n </Checkbox>\n )\n })}\n </Options>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} disabled={disabled} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n}\n\nconst Options = styled(Box)`\n position: fixed;\n z-index: 1;\n max-height: 300px;\n text-align: left;\n box-shadow: ${DROP_SHADOW};\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n\ntype ContainerProps = Pick<\n MultiSelectProps,\n \"complete\" | \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"visible\"\n>\n\nconst Container = styled(Clickable)<ContainerProps>`\n position: relative;\n width: 100%;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 16px 24px 16px ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border: 1px solid;\n border-radius: 3px;\n border-color: ${themeGet(\"colors.black30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, background-color 0.25s, border-color 0.25s;\n background-color: ${themeGet(\"colors.white100\")};\n\n ${(props) => {\n return css`\n ${MULTISELECT_STATES.default}\n ${props.complete && MULTISELECT_STATES.completed}\n ${props.hover && MULTISELECT_STATES.hover}\n ${props.focus && MULTISELECT_STATES.focus}\n ${props.disabled && MULTISELECT_STATES.disabled}\n ${props.error && MULTISELECT_STATES.error}\n \n &:hover {\n ${MULTISELECT_STATES.hover}\n }\n\n ${props.visible && MULTISELECT_STATES.focus}\n\n &:disabled {\n cursor: default;\n ${MULTISELECT_STATES.disabled}\n }\n\n // Hide text behind title when it's visible\n ${props.title &&\n !props.complete &&\n !props.visible &&\n css`\n color: transparent !important;\n `}\n `\n }}\n\n ${caretMixin}\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n pointer-events: none;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n background-color: ${themeGet(\"colors.white100\")};\n font-family: ${themeGet(\"fonts.sans\")};\n`\n"],"mappings":"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"}
@@ -269,7 +269,8 @@ var PhoneInput = /*#__PURE__*/_react.default.forwardRef(function (_ref, forwarde
269
269
  }, option.text), /*#__PURE__*/_react.default.createElement(_Text.Text, null, option.name));
270
270
  }))), required && !(error && typeof error === "string") && /*#__PURE__*/_react.default.createElement(_RequiredField.RequiredField, {
271
271
  mt: 0.5,
272
- ml: 1
272
+ ml: 1,
273
+ disabled: disabled
273
274
  }), error && typeof error === "string" && /*#__PURE__*/_react.default.createElement(_Text.Text, {
274
275
  variant: "xs",
275
276
  mt: 0.5,
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneInput.js","names":["_composeReactRefs","_interopRequireDefault","require","_themeGet","_react","_interopRequireWildcard","_styledComponents","_styledSystem","_helpers","_utils","_Box","_Input","_Text","_tokens","_useKeyboardListNavigation","_RequiredField","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","PhoneInput","React","forwardRef","_ref","forwardedRef","className","options","disabled","error","focus","hover","required","onSelect","dropdownValue","inputValue","rest","Error","inputRef","useRef","searchInputRef","containerRef","countryPickerRef","defaultOption","useMemo","find","option","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_useState","useState","_useState2","isDropdownVisible","setDropdownVisible","_useState3","_useState4","searchQuery","setSearchQuery","_useState5","_useState6","selectedOption","setSelectedOption","filteredOptions","filter","filteredCountry","text","toLowerCase","includes","_usePosition","usePosition","position","offset","active","flip","anchorRef","tooltipRef","_useKeyboardListNavig","useKeyboardListNavigation","ref","list","waitForInteractive","onEnter","_ref2","element","event","preventDefault","stopPropagation","handleSelect","resetUI","reset","_useWidthOf","useWidthOf","width","inputName","optionsWithRefs","map","createRef","setTimeout","_inputRef$current","current","_inputRef$current2","handleFocusChange","useCallback","focused","_useContainsFocus","useContainsFocus","onChange","containsFocusRef","handleCountryPickerKeydown","_countryPickerRef$cur","blur","handleSearchInputKeydown","_searchInputRef$curre","shiftKey","cursor","interactive","createElement","Box","composeRefs","ContainerBox","placeholder","SelectContainer","onClick","tabIndex","onKeyDown","StyledInput","type","autoComplete","maxLength","StyledLabel","htmlFor","SelectDropdown","role","Input","p","pb","autoFocus","e","SelectOptions","_ref3","SelectOption","selected","Text","minWidth","RequiredField","mt","ml","variant","mr","color","textAlign","exports","displayName","caretMixin","css","themeGet","_ref4","styled","withConfig","componentId","props","PHONE_INPUT_STATES","completed","DROP_SHADOW","input","systemHeight","label"],"sources":["../../../src/elements/PhoneInput/PhoneInput.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, { createRef, useCallback, useMemo, useRef, useState } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { height as systemHeight } from \"styled-system\"\nimport { DROP_SHADOW } from \"../../helpers\"\nimport { useContainsFocus, usePosition, useWidthOf } from \"../../utils\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Input, InputProps } from \"../Input\"\nimport { Text } from \"../Text\"\nimport { PHONE_INPUT_STATES } from \"./tokens\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { RequiredField } from \"../../shared/RequiredField\"\n\n/**\n * The option structure for the list in the dropdown menu\n *\n * @interface Option\n * @property {string} `text` is the content that will be displayed as selected option\n * @property {string} `name` is the content that will be displayed in the dropdown list\n * @property {string} `value` is the value that will be passed to onSelect\n */\ninterface Option {\n text: string\n name: string\n value: string\n countryCode?: string\n flag?: string\n}\n\nexport interface PhoneInputProps extends Omit<InputProps, \"onSelect\"> {\n options: Option[]\n onSelect: (option: Option) => void\n active?: boolean\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n required?: boolean\n dropdownValue?: string\n inputValue?: string\n}\n\nexport const PhoneInput: React.ForwardRefExoticComponent<\n PhoneInputProps & { ref?: React.Ref<HTMLInputElement> }\n> = React.forwardRef(\n (\n {\n className,\n options,\n disabled,\n error,\n focus,\n hover,\n required,\n onSelect,\n dropdownValue,\n inputValue,\n ...rest\n },\n forwardedRef\n ) => {\n if (options.length === 0) {\n throw new Error(\n \"Palette PhoneInput requires at least 1 option in the options prop\"\n )\n }\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n const searchInputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const countryPickerRef = useRef<HTMLDivElement | null>(null)\n\n const defaultOption = useMemo(\n () =>\n dropdownValue &&\n options.find((option) => option.value === dropdownValue),\n [dropdownValue, options]\n )\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n const [isDropdownVisible, setDropdownVisible] = useState(false)\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [selectedOption, setSelectedOption] = useState(\n defaultOption || options[0]\n )\n\n const filteredOptions = options.filter((option) => {\n if (searchQuery !== \"\") {\n const filteredCountry =\n option.text.toLowerCase().includes(searchQuery.toLowerCase()) ||\n option.name.toLowerCase().includes(searchQuery.toLowerCase())\n return filteredCountry\n }\n return true\n })\n\n const { anchorRef, tooltipRef } = usePosition({\n key: filteredOptions.length,\n position: \"bottom\",\n offset: 10,\n active: isDropdownVisible,\n flip: false,\n })\n\n const { reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: filteredOptions,\n waitForInteractive: true,\n onEnter: ({ element: option, event }) => {\n event.preventDefault()\n event.stopPropagation()\n if (option) {\n handleSelect(option)\n }\n resetUI()\n },\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const inputName = inputProps.name || \"palette-phone-input\"\n\n const optionsWithRefs = useMemo(() => {\n return filteredOptions.map((option) => ({\n option,\n ref: createRef<HTMLDivElement>(),\n }))\n }, [filteredOptions])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n setDropdownVisible(false)\n }, 100)\n }\n\n const handleSelect = (option: Option) => {\n inputRef.current?.focus()\n setSearchQuery(\"\")\n setSelectedOption(option)\n setDropdownVisible(false)\n onSelect?.(option)\n }\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (focused || !isDropdownVisible) return\n\n setDropdownVisible(false)\n },\n [isDropdownVisible]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n const handleCountryPickerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n setDropdownVisible(false)\n countryPickerRef.current?.blur()\n reset()\n\n return\n\n case \"Enter\":\n case \" \":\n event.preventDefault()\n event.stopPropagation()\n\n if (!disabled) {\n setDropdownVisible(true)\n }\n return\n }\n }\n\n const handleSearchInputKeydown = (\n event: React.KeyboardEvent<HTMLInputElement>\n ) => {\n switch (event.key) {\n case \"Tab\":\n if (event.shiftKey) {\n // ignore\n } else {\n // move down to the list\n event.preventDefault()\n event.stopPropagation()\n reset()\n\n set({ cursor: 0, interactive: true })\n }\n return\n\n case \"Enter\":\n event.preventDefault()\n event.stopPropagation()\n if (filteredOptions.length) {\n handleSelect(filteredOptions[0])\n }\n return\n\n default:\n searchInputRef.current?.focus()\n }\n }\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n width=\"100%\"\n className={className}\n {...boxProps}\n >\n <ContainerBox\n ref={anchorRef as any}\n isDropdownVisible={isDropdownVisible}\n hover={hover}\n focus={focus}\n error={error}\n disabled={disabled}\n placeholder={inputProps.placeholder}\n >\n <SelectContainer\n data-testid=\"country-picker\"\n ref={countryPickerRef as any}\n disabled={disabled}\n onClick={() => {\n setDropdownVisible(!disabled && !isDropdownVisible)\n }}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={handleCountryPickerKeydown}\n >\n {selectedOption.text}\n </SelectContainer>\n\n <StyledInput\n disabled={disabled}\n ref={composeRefs(inputRef, forwardedRef) as any}\n type=\"tel\"\n autoComplete=\"tel-national\"\n required={required}\n name={inputName}\n maxLength={25}\n placeholder={inputProps.placeholder}\n value={inputValue}\n {...inputProps}\n />\n\n <StyledLabel htmlFor={inputName}>\n Phone Number\n <span />\n </StyledLabel>\n </ContainerBox>\n\n {isDropdownVisible && (\n <SelectDropdown ref={tooltipRef as any} role=\"listbox\" width={width}>\n <Input\n ref={searchInputRef}\n p={1}\n pb={0}\n autoFocus\n placeholder=\"Search\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n onKeyDown={handleSearchInputKeydown}\n />\n\n <SelectOptions>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <SelectOption\n key={i}\n ref={ref as any}\n role=\"option\"\n aria-selected={option.value === selectedOption.value}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n selected={option.value === selectedOption.value}\n onClick={() => handleSelect(option)}\n tabIndex={-1}\n >\n <Text minWidth={80}>{option.text}</Text>\n <Text>{option.name}</Text>\n </SelectOption>\n )\n })}\n </SelectOptions>\n </SelectDropdown>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} mr={1} color=\"red100\" textAlign=\"right\">\n {error}\n </Text>\n )}\n </Box>\n )\n }\n)\n\nPhoneInput.displayName = \"PhoneInput\"\n\nconst caretMixin = css`\n &::after {\n content: \"\";\n cursor: inherit;\n width: 0;\n height: 0;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: ${themeGet(\"space.1\")};\n pointer-events: none;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 4px solid\n ${({ disabled }) => {\n return disabled\n ? themeGet(\"colors.black10\")\n : themeGet(\"colors.black60\")\n }};\n }\n`\n\ntype ContainerProps = Pick<\n PhoneInputProps,\n \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"placeholder\"\n> & { isDropdownVisible: boolean }\n\nconst ContainerBox = styled(Box)<ContainerProps>`\n position: relative;\n display: flex;\n flex-direction: row;\n\n ${(props) => {\n return css`\n ${PHONE_INPUT_STATES.default}\n ${props.hover && PHONE_INPUT_STATES.hover}\n ${(props.focus || props.isDropdownVisible) && PHONE_INPUT_STATES.focus}\n ${props.disabled && PHONE_INPUT_STATES.disabled}\n ${props.error && PHONE_INPUT_STATES.error}\n\n &:hover {\n /* Applies hover style if the dropdown is not visible or the input is disabled */\n ${!props.isDropdownVisible &&\n !props.disabled &&\n PHONE_INPUT_STATES.hover}\n }\n\n &:focus-within {\n ${!props.disabled && PHONE_INPUT_STATES.focus}\n\n &:has(input:not(:placeholder-shown)) {\n ${PHONE_INPUT_STATES.active}\n ${props.error && PHONE_INPUT_STATES.error};\n }\n }\n\n &:has(input:not(:placeholder-shown)) {\n ${!!props.placeholder && PHONE_INPUT_STATES.completed}\n ${props.error && PHONE_INPUT_STATES.error};\n }\n `\n }}\n`\n\nconst SelectContainer = styled(Box)<{ disabled?: boolean }>`\n display: flex;\n align-items: center;\n position: relative;\n min-width: 120px;\n border: 1px solid;\n border-right: 0;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 0 24px 0 ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border-radius: 3px 0 0 3px;\n border-color: ${themeGet(\"colors.black30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, border-color 0.25s;\n height: 50px;\n font-size: ${themeGet(\"textVariants.sm-display.fontSize\")};\n color: ${themeGet(\"colors.black100\")};\n\n ${caretMixin}\n`\n\nconst SelectDropdown = styled(Box)`\n box-shadow: ${DROP_SHADOW};\n z-index: 1;\n background: ${themeGet(\"colors.white100\")};\n`\n\nconst SelectOptions = styled(Box)`\n /* 308 = Roughly, 5.5 default sized options */\n max-height: 308px;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n padding: ${themeGet(\"space.1\")};\n`\n\nconst SelectOption = styled(Box)<{ selected?: boolean }>`\n padding: ${themeGet(\"space.1\")} 0;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n align-items: center;\n text-decoration: none;\n color: ${themeGet(\"colors.black60\")};\n transition: color 0.25s, text-decoration 0.25s;\n\n &:hover {\n color: ${themeGet(\"colors.blue100\")};\n text-decoration: underline;\n }\n\n &:focus,\n &:active {\n color: ${themeGet(\"colors.black100\")};\n text-decoration: none;\n }\n\n ${(props) =>\n props.selected &&\n css`\n color: ${themeGet(\"colors.black100\")};\n text-decoration: none;\n `}\n`\n\nconst StyledInput = styled.input`\n width: 100%;\n padding: 0 ${themeGet(\"space.1\")};\n appearance: none;\n outline: none;\n line-height: 1;\n border: 1px solid;\n border-radius: 0 3px 3px 0;\n transition: color 0.25s, border-color 0.25s;\n font-family: ${themeGet(\"fonts.sans\")};\n font-size: ${themeGet(\"textVariants.sm-display.fontSize\")};\n color: ${themeGet(\"colors.black100\")};\n border-color: ${themeGet(\"colors.black30\")};\n ${systemHeight}\n\n ::placeholder {\n color: ${themeGet(\"colors.black60\")};\n transition: color 0.25s;\n }\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 0;\n left: 5px;\n padding: 0 5px;\n background-color: transparent;\n transform: translateY(-50%);\n transition: color 0.25s;\n font-family: ${themeGet(\"fonts.sans\")};\n pointer-events: none;\n font-size: ${themeGet(\"textVariants.xs.fontSize\")};\n color: ${themeGet(\"colors.black60\")};\n\n & > span {\n background-color: ${themeGet(\"colors.white100\")};\n height: 2px;\n width: 100%;\n display: block;\n position: absolute;\n top: 50%;\n left: 0;\n z-index: -1;\n }\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneInput.js","names":["_composeReactRefs","_interopRequireDefault","require","_themeGet","_react","_interopRequireWildcard","_styledComponents","_styledSystem","_helpers","_utils","_Box","_Input","_Text","_tokens","_useKeyboardListNavigation","_RequiredField","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","PhoneInput","React","forwardRef","_ref","forwardedRef","className","options","disabled","error","focus","hover","required","onSelect","dropdownValue","inputValue","rest","Error","inputRef","useRef","searchInputRef","containerRef","countryPickerRef","defaultOption","useMemo","find","option","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_useState","useState","_useState2","isDropdownVisible","setDropdownVisible","_useState3","_useState4","searchQuery","setSearchQuery","_useState5","_useState6","selectedOption","setSelectedOption","filteredOptions","filter","filteredCountry","text","toLowerCase","includes","_usePosition","usePosition","position","offset","active","flip","anchorRef","tooltipRef","_useKeyboardListNavig","useKeyboardListNavigation","ref","list","waitForInteractive","onEnter","_ref2","element","event","preventDefault","stopPropagation","handleSelect","resetUI","reset","_useWidthOf","useWidthOf","width","inputName","optionsWithRefs","map","createRef","setTimeout","_inputRef$current","current","_inputRef$current2","handleFocusChange","useCallback","focused","_useContainsFocus","useContainsFocus","onChange","containsFocusRef","handleCountryPickerKeydown","_countryPickerRef$cur","blur","handleSearchInputKeydown","_searchInputRef$curre","shiftKey","cursor","interactive","createElement","Box","composeRefs","ContainerBox","placeholder","SelectContainer","onClick","tabIndex","onKeyDown","StyledInput","type","autoComplete","maxLength","StyledLabel","htmlFor","SelectDropdown","role","Input","p","pb","autoFocus","e","SelectOptions","_ref3","SelectOption","selected","Text","minWidth","RequiredField","mt","ml","variant","mr","color","textAlign","exports","displayName","caretMixin","css","themeGet","_ref4","styled","withConfig","componentId","props","PHONE_INPUT_STATES","completed","DROP_SHADOW","input","systemHeight","label"],"sources":["../../../src/elements/PhoneInput/PhoneInput.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, { createRef, useCallback, useMemo, useRef, useState } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { height as systemHeight } from \"styled-system\"\nimport { DROP_SHADOW } from \"../../helpers\"\nimport { useContainsFocus, usePosition, useWidthOf } from \"../../utils\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Input, InputProps } from \"../Input\"\nimport { Text } from \"../Text\"\nimport { PHONE_INPUT_STATES } from \"./tokens\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { RequiredField } from \"../../shared/RequiredField\"\n\n/**\n * The option structure for the list in the dropdown menu\n *\n * @interface Option\n * @property {string} `text` is the content that will be displayed as selected option\n * @property {string} `name` is the content that will be displayed in the dropdown list\n * @property {string} `value` is the value that will be passed to onSelect\n */\ninterface Option {\n text: string\n name: string\n value: string\n countryCode?: string\n flag?: string\n}\n\nexport interface PhoneInputProps extends Omit<InputProps, \"onSelect\"> {\n options: Option[]\n onSelect: (option: Option) => void\n active?: boolean\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n required?: boolean\n dropdownValue?: string\n inputValue?: string\n}\n\nexport const PhoneInput: React.ForwardRefExoticComponent<\n PhoneInputProps & { ref?: React.Ref<HTMLInputElement> }\n> = React.forwardRef(\n (\n {\n className,\n options,\n disabled,\n error,\n focus,\n hover,\n required,\n onSelect,\n dropdownValue,\n inputValue,\n ...rest\n },\n forwardedRef\n ) => {\n if (options.length === 0) {\n throw new Error(\n \"Palette PhoneInput requires at least 1 option in the options prop\"\n )\n }\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n const searchInputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const countryPickerRef = useRef<HTMLDivElement | null>(null)\n\n const defaultOption = useMemo(\n () =>\n dropdownValue &&\n options.find((option) => option.value === dropdownValue),\n [dropdownValue, options]\n )\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n const [isDropdownVisible, setDropdownVisible] = useState(false)\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [selectedOption, setSelectedOption] = useState(\n defaultOption || options[0]\n )\n\n const filteredOptions = options.filter((option) => {\n if (searchQuery !== \"\") {\n const filteredCountry =\n option.text.toLowerCase().includes(searchQuery.toLowerCase()) ||\n option.name.toLowerCase().includes(searchQuery.toLowerCase())\n return filteredCountry\n }\n return true\n })\n\n const { anchorRef, tooltipRef } = usePosition({\n key: filteredOptions.length,\n position: \"bottom\",\n offset: 10,\n active: isDropdownVisible,\n flip: false,\n })\n\n const { reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: filteredOptions,\n waitForInteractive: true,\n onEnter: ({ element: option, event }) => {\n event.preventDefault()\n event.stopPropagation()\n if (option) {\n handleSelect(option)\n }\n resetUI()\n },\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const inputName = inputProps.name || \"palette-phone-input\"\n\n const optionsWithRefs = useMemo(() => {\n return filteredOptions.map((option) => ({\n option,\n ref: createRef<HTMLDivElement>(),\n }))\n }, [filteredOptions])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n setDropdownVisible(false)\n }, 100)\n }\n\n const handleSelect = (option: Option) => {\n inputRef.current?.focus()\n setSearchQuery(\"\")\n setSelectedOption(option)\n setDropdownVisible(false)\n onSelect?.(option)\n }\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (focused || !isDropdownVisible) return\n\n setDropdownVisible(false)\n },\n [isDropdownVisible]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n const handleCountryPickerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n setDropdownVisible(false)\n countryPickerRef.current?.blur()\n reset()\n\n return\n\n case \"Enter\":\n case \" \":\n event.preventDefault()\n event.stopPropagation()\n\n if (!disabled) {\n setDropdownVisible(true)\n }\n return\n }\n }\n\n const handleSearchInputKeydown = (\n event: React.KeyboardEvent<HTMLInputElement>\n ) => {\n switch (event.key) {\n case \"Tab\":\n if (event.shiftKey) {\n // ignore\n } else {\n // move down to the list\n event.preventDefault()\n event.stopPropagation()\n reset()\n\n set({ cursor: 0, interactive: true })\n }\n return\n\n case \"Enter\":\n event.preventDefault()\n event.stopPropagation()\n if (filteredOptions.length) {\n handleSelect(filteredOptions[0])\n }\n return\n\n default:\n searchInputRef.current?.focus()\n }\n }\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n width=\"100%\"\n className={className}\n {...boxProps}\n >\n <ContainerBox\n ref={anchorRef as any}\n isDropdownVisible={isDropdownVisible}\n hover={hover}\n focus={focus}\n error={error}\n disabled={disabled}\n placeholder={inputProps.placeholder}\n >\n <SelectContainer\n data-testid=\"country-picker\"\n ref={countryPickerRef as any}\n disabled={disabled}\n onClick={() => {\n setDropdownVisible(!disabled && !isDropdownVisible)\n }}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={handleCountryPickerKeydown}\n >\n {selectedOption.text}\n </SelectContainer>\n\n <StyledInput\n disabled={disabled}\n ref={composeRefs(inputRef, forwardedRef) as any}\n type=\"tel\"\n autoComplete=\"tel-national\"\n required={required}\n name={inputName}\n maxLength={25}\n placeholder={inputProps.placeholder}\n value={inputValue}\n {...inputProps}\n />\n\n <StyledLabel htmlFor={inputName}>\n Phone Number\n <span />\n </StyledLabel>\n </ContainerBox>\n\n {isDropdownVisible && (\n <SelectDropdown ref={tooltipRef as any} role=\"listbox\" width={width}>\n <Input\n ref={searchInputRef}\n p={1}\n pb={0}\n autoFocus\n placeholder=\"Search\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n onKeyDown={handleSearchInputKeydown}\n />\n\n <SelectOptions>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <SelectOption\n key={i}\n ref={ref as any}\n role=\"option\"\n aria-selected={option.value === selectedOption.value}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n selected={option.value === selectedOption.value}\n onClick={() => handleSelect(option)}\n tabIndex={-1}\n >\n <Text minWidth={80}>{option.text}</Text>\n <Text>{option.name}</Text>\n </SelectOption>\n )\n })}\n </SelectOptions>\n </SelectDropdown>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} disabled={disabled} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} mr={1} color=\"red100\" textAlign=\"right\">\n {error}\n </Text>\n )}\n </Box>\n )\n }\n)\n\nPhoneInput.displayName = \"PhoneInput\"\n\nconst caretMixin = css`\n &::after {\n content: \"\";\n cursor: inherit;\n width: 0;\n height: 0;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: ${themeGet(\"space.1\")};\n pointer-events: none;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 4px solid\n ${({ disabled }) => {\n return disabled\n ? themeGet(\"colors.black10\")\n : themeGet(\"colors.black60\")\n }};\n }\n`\n\ntype ContainerProps = Pick<\n PhoneInputProps,\n \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"placeholder\"\n> & { isDropdownVisible: boolean }\n\nconst ContainerBox = styled(Box)<ContainerProps>`\n position: relative;\n display: flex;\n flex-direction: row;\n\n ${(props) => {\n return css`\n ${PHONE_INPUT_STATES.default}\n ${props.hover && PHONE_INPUT_STATES.hover}\n ${(props.focus || props.isDropdownVisible) && PHONE_INPUT_STATES.focus}\n ${props.disabled && PHONE_INPUT_STATES.disabled}\n ${props.error && PHONE_INPUT_STATES.error}\n\n &:hover {\n /* Applies hover style if the dropdown is not visible or the input is disabled */\n ${!props.isDropdownVisible &&\n !props.disabled &&\n PHONE_INPUT_STATES.hover}\n }\n\n &:focus-within {\n ${!props.disabled && PHONE_INPUT_STATES.focus}\n\n &:has(input:not(:placeholder-shown)) {\n ${PHONE_INPUT_STATES.active}\n ${props.error && PHONE_INPUT_STATES.error};\n }\n }\n\n &:has(input:not(:placeholder-shown)) {\n ${!!props.placeholder && PHONE_INPUT_STATES.completed}\n ${props.error && PHONE_INPUT_STATES.error};\n }\n `\n }}\n`\n\nconst SelectContainer = styled(Box)<{ disabled?: boolean }>`\n display: flex;\n align-items: center;\n position: relative;\n min-width: 120px;\n border: 1px solid;\n border-right: 0;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 0 24px 0 ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border-radius: 3px 0 0 3px;\n border-color: ${themeGet(\"colors.black30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, border-color 0.25s;\n height: 50px;\n font-size: ${themeGet(\"textVariants.sm-display.fontSize\")};\n color: ${themeGet(\"colors.black100\")};\n\n ${caretMixin}\n`\n\nconst SelectDropdown = styled(Box)`\n box-shadow: ${DROP_SHADOW};\n z-index: 1;\n background: ${themeGet(\"colors.white100\")};\n`\n\nconst SelectOptions = styled(Box)`\n /* 308 = Roughly, 5.5 default sized options */\n max-height: 308px;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n padding: ${themeGet(\"space.1\")};\n`\n\nconst SelectOption = styled(Box)<{ selected?: boolean }>`\n padding: ${themeGet(\"space.1\")} 0;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n align-items: center;\n text-decoration: none;\n color: ${themeGet(\"colors.black60\")};\n transition: color 0.25s, text-decoration 0.25s;\n\n &:hover {\n color: ${themeGet(\"colors.blue100\")};\n text-decoration: underline;\n }\n\n &:focus,\n &:active {\n color: ${themeGet(\"colors.black100\")};\n text-decoration: none;\n }\n\n ${(props) =>\n props.selected &&\n css`\n color: ${themeGet(\"colors.black100\")};\n text-decoration: none;\n `}\n`\n\nconst StyledInput = styled.input`\n width: 100%;\n padding: 0 ${themeGet(\"space.1\")};\n appearance: none;\n outline: none;\n line-height: 1;\n border: 1px solid;\n border-radius: 0 3px 3px 0;\n transition: color 0.25s, border-color 0.25s;\n font-family: ${themeGet(\"fonts.sans\")};\n font-size: ${themeGet(\"textVariants.sm-display.fontSize\")};\n color: ${themeGet(\"colors.black100\")};\n border-color: ${themeGet(\"colors.black30\")};\n ${systemHeight}\n\n ::placeholder {\n color: ${themeGet(\"colors.black60\")};\n transition: color 0.25s;\n }\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 0;\n left: 5px;\n padding: 0 5px;\n background-color: transparent;\n transform: translateY(-50%);\n transition: color 0.25s;\n font-family: ${themeGet(\"fonts.sans\")};\n pointer-events: none;\n font-size: ${themeGet(\"textVariants.xs.fontSize\")};\n color: ${themeGet(\"colors.black60\")};\n\n & > span {\n background-color: ${themeGet(\"colors.white100\")};\n height: 2px;\n width: 100%;\n display: block;\n position: absolute;\n top: 50%;\n left: 0;\n z-index: -1;\n }\n`\n"],"mappings":"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"}
@@ -20,6 +20,8 @@ export declare type PillProps = ClickableProps & {
20
20
  Icon?: React.FunctionComponent<BoxProps & {
21
21
  fill?: ResponsiveValue<string>;
22
22
  }>;
23
+ /** Optional: Icon positioning */
24
+ iconPosition?: "left" | "right";
23
25
  } & ({
24
26
  variant?: Extract<PillVariant, "default" | "search" | "badge" | "filter" | "gray">;
25
27
  } | {
@@ -43,4 +45,4 @@ export declare type PillProps = ClickableProps & {
43
45
  * It may be used for things like active filters, search states,
44
46
  * or to denote an profile entity (possibly in the context of a card).
45
47
  */
46
- export declare const Pill: React.FC<PillProps>;
48
+ export declare const Pill: React.ForwardRefExoticComponent<PillProps & React.RefAttributes<HTMLAnchorElement & HTMLButtonElement>>;
@@ -6,17 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Pill = exports.PILL_VARIANT_NAMES = void 0;
8
8
  var _themeGet = require("@styled-system/theme-get");
9
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
10
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
11
  var _CloseIcon = _interopRequireDefault(require("@artsy/icons/CloseIcon"));
12
12
  var _Clickable = require("../Clickable");
13
13
  var _Sup = require("../Sup");
14
14
  var _Text = require("../Text");
15
15
  var _tokens = require("./tokens");
16
- var _excluded = ["children", "Icon"];
16
+ var _excluded = ["children", "Icon", "iconPosition"];
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
18
19
  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; }
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
  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); }
21
21
  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; }
22
22
  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; }
@@ -29,12 +29,16 @@ exports.PILL_VARIANT_NAMES = PILL_VARIANT_NAMES;
29
29
  * It may be used for things like active filters, search states,
30
30
  * or to denote an profile entity (possibly in the context of a card).
31
31
  */
32
- var Pill = function Pill(_ref) {
32
+ var Pill = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
33
33
  var children = _ref.children,
34
34
  Icon = _ref.Icon,
35
+ _ref$iconPosition = _ref.iconPosition,
36
+ iconPosition = _ref$iconPosition === void 0 ? "left" : _ref$iconPosition,
35
37
  rest = _objectWithoutProperties(_ref, _excluded);
36
38
  var variant = rest.variant === "profile" && rest.compact ? "gray" : rest.variant;
37
- return /*#__PURE__*/_react.default.createElement(Container, _extends({}, rest, {
39
+ return /*#__PURE__*/_react.default.createElement(Container, _extends({
40
+ ref: forwardedRef
41
+ }, rest, {
38
42
  variant: variant
39
43
  }), rest.variant === "profile" && rest.src && !rest.compact && /*#__PURE__*/_react.default.createElement(Thumbnail, _extends({}, rest.src ? {
40
44
  src: typeof rest.src === "string" ? rest.src : rest.src[0]
@@ -43,20 +47,24 @@ var Pill = function Pill(_ref) {
43
47
  } : {}, {
44
48
  // Intentionally empty string
45
49
  alt: ""
46
- })), Icon && /*#__PURE__*/_react.default.createElement(Icon, {
50
+ })), Icon && iconPosition === "left" && /*#__PURE__*/_react.default.createElement(Icon, {
47
51
  fill: "currentColor",
48
52
  ml: -0.5,
49
53
  mr: 0.5
50
54
  }), /*#__PURE__*/_react.default.createElement(_Text.Text, {
51
55
  variant: rest.variant === "search" ? ["xs", "sm-display"] : "xs",
52
56
  overflowEllipsis: true
53
- }, /*#__PURE__*/_react.default.createElement("span", null, children), rest.variant === "search" && "count" in rest && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, " ", /*#__PURE__*/_react.default.createElement(_Sup.Sup, null, rest.count))), (rest.variant === "filter" && !rest.disabled || rest.variant === "profile" && rest.selected) && /*#__PURE__*/_react.default.createElement(_CloseIcon.default, {
57
+ }, /*#__PURE__*/_react.default.createElement("span", null, children), rest.variant === "search" && "count" in rest && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, " ", /*#__PURE__*/_react.default.createElement(_Sup.Sup, null, rest.count))), Icon && iconPosition === "right" && /*#__PURE__*/_react.default.createElement(Icon, {
58
+ fill: "currentColor",
59
+ ml: 0.5,
60
+ mr: -0.5
61
+ }), (rest.variant === "gray" && rest.selected || rest.variant === "filter" && rest.selected || rest.variant === "profile" && rest.selected) && /*#__PURE__*/_react.default.createElement(_CloseIcon.default, {
54
62
  fill: "currentColor",
55
63
  ml: 0.5,
56
64
  width: 15,
57
65
  height: 15
58
66
  }));
59
- };
67
+ });
60
68
  exports.Pill = Pill;
61
69
  Pill.displayName = "Pill";
62
70
  Pill.defaultProps = {