@channel.io/bezier-react 3.1.5 → 3.3.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 (28) hide show
  1. package/dist/cjs/components/Checkbox/Checkbox.js +6 -3
  2. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  3. package/dist/cjs/components/Checkbox/Checkbox.module.scss.js +1 -1
  4. package/dist/cjs/components/Select/Select.js +23 -8
  5. package/dist/cjs/components/Select/Select.js.map +1 -1
  6. package/dist/cjs/styles.css +1 -1
  7. package/dist/esm/components/Checkbox/Checkbox.mjs +6 -3
  8. package/dist/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  9. package/dist/esm/components/Checkbox/Checkbox.module.scss.mjs +1 -1
  10. package/dist/esm/components/Select/Select.mjs +23 -8
  11. package/dist/esm/components/Select/Select.mjs.map +1 -1
  12. package/dist/esm/styles.css +1 -1
  13. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  14. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  15. package/dist/types/components/Checkbox/Checkbox.types.d.ts +3 -2
  16. package/dist/types/components/Checkbox/Checkbox.types.d.ts.map +1 -1
  17. package/dist/types/components/Checkbox/index.d.ts +1 -1
  18. package/dist/types/components/Checkbox/index.d.ts.map +1 -1
  19. package/dist/types/components/Select/Select.d.ts.map +1 -1
  20. package/dist/types/components/Select/Select.types.d.ts +2 -1
  21. package/dist/types/components/Select/Select.types.d.ts.map +1 -1
  22. package/package.json +2 -2
  23. package/src/components/Checkbox/Checkbox.module.scss +11 -2
  24. package/src/components/Checkbox/Checkbox.tsx +4 -4
  25. package/src/components/Checkbox/Checkbox.types.ts +4 -0
  26. package/src/components/Checkbox/index.ts +5 -1
  27. package/src/components/Select/Select.tsx +31 -8
  28. package/src/components/Select/Select.types.ts +3 -1
@@ -23,7 +23,6 @@ const CheckIcon = /*#__PURE__*/React.forwardRef(function CheckIcon(props, forwar
23
23
  className: Checkbox_module.default.CheckIcon,
24
24
  ref: forwardedRef,
25
25
  source: !isIndeterminate ? bezierIcons.CheckBoldIcon : bezierIcons.HyphenBoldIcon,
26
- size: "xs",
27
26
  color: isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark',
28
27
  ...props
29
28
  });
@@ -32,6 +31,7 @@ function CheckboxImpl({
32
31
  children,
33
32
  className,
34
33
  checked,
34
+ size = 'm',
35
35
  id: idProp,
36
36
  ...rest
37
37
  }, forwardedRef) {
@@ -41,11 +41,12 @@ function CheckboxImpl({
41
41
  ...formFieldProps
42
42
  } = FormControl.useFormFieldProps(rest);
43
43
  const id = useId.default(idProp !== null && idProp !== void 0 ? idProp : formFieldId, 'bezier-checkbox');
44
+ const iconSize = size === 's' ? 'xxs' : 'xs';
44
45
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
45
46
  className: index.default(Checkbox_module.default.Container, propsHelpers.getFormFieldSizeClassName('m')),
46
47
  children: [/*#__PURE__*/jsxRuntime.jsx(index$1.Root, {
47
48
  asChild: true,
48
- className: index.default(Checkbox_module.default.Checkbox, className),
49
+ className: index.default(Checkbox_module.default.Checkbox, Checkbox_module.default[`size-${size}`], className),
49
50
  ref: forwardedRef,
50
51
  id: id,
51
52
  checked: checked,
@@ -56,7 +57,9 @@ function CheckboxImpl({
56
57
  asChild: true
57
58
  /* NOTE: To allow the icon to be rendered even if unchecked. */,
58
59
  forceMount: true,
59
- children: /*#__PURE__*/jsxRuntime.jsx(CheckIcon, {})
60
+ children: /*#__PURE__*/jsxRuntime.jsx(CheckIcon, {
61
+ size: iconSize
62
+ })
60
63
  })
61
64
  })
62
65
  }), children && /*#__PURE__*/jsxRuntime.jsx(Text.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client'\nimport { forwardRef } from 'react'\nimport * as React from 'react'\n\nimport { CheckBoldIcon, HyphenBoldIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type CheckboxProps, type CheckedState } from './Checkbox.types'\n\nimport styles from './Checkbox.module.scss'\n\ninterface CheckIconProps {\n style: React.CSSProperties\n 'data-state': 'checked' | 'unchecked' | 'indeterminate'\n 'data-disabled': boolean | undefined\n}\n\n/* NOTE: Props are injected at runtime by `CheckboxPrimitive.Indicator`. */\nconst CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(\n function CheckIcon(props, forwardedRef) {\n // eslint-disable-next-line react/destructuring-assignment\n const state = props['data-state']\n const isUnchecked = state === 'unchecked'\n const isIndeterminate = state === 'indeterminate'\n\n return (\n <Icon\n className={styles.CheckIcon}\n ref={forwardedRef}\n source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}\n size=\"xs\"\n color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}\n {...props}\n />\n )\n }\n)\n\nfunction CheckboxImpl<Checked extends CheckedState>(\n { children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const {\n id: formFieldId,\n hasError,\n ...formFieldProps\n } = useFormFieldProps(rest)\n\n const id = useId(idProp ?? formFieldId, 'bezier-checkbox')\n\n return (\n <div\n className={classNames(styles.Container, getFormFieldSizeClassName('m'))}\n >\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n checked={checked}\n data-invalid={formFieldProps['aria-invalid']}\n {...formFieldProps}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n /* NOTE: To allow the icon to be rendered even if unchecked. */\n forceMount\n >\n {/* @ts-expect-error */}\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </BaseButton>\n </CheckboxPrimitive.Root>\n {children && (\n <Text\n as=\"label\"\n // TODO: Apply polymorphic types to `as` prop.\n // @ts-expect-error\n htmlFor={id}\n className={styles.Label}\n typo=\"14\"\n color=\"txt-black-darkest\"\n >\n {children}\n </Text>\n )}\n </div>\n )\n}\n\n/* NOTE: This is a workaround to avoid infinite type recursion when directly using `ReturnType` */\ntype ReturnTypeOfCheckboxImpl<Checked extends CheckedState> = ReturnType<\n typeof CheckboxImpl<Checked>\n>\n\n/**\n * `Checkbox` is a control that allows the user to toggle between checked and not checked.\n * It can be used with labels or standalone.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled / With label\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * >\n * Label\n * </Checkbox>\n * // Controlled / Standalone\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <Checkbox\n * defaultChecked={true}\n * >\n * Label\n * </Checkbox>\n * ```\n */\nexport const Checkbox = forwardRef(CheckboxImpl) as <\n Checked extends CheckedState,\n>(\n props: CheckboxProps<Checked> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => ReturnTypeOfCheckboxImpl<Checked>\n"],"names":["CheckIcon","forwardRef","props","forwardedRef","state","isUnchecked","isIndeterminate","_jsx","Icon","className","styles","ref","source","CheckBoldIcon","HyphenBoldIcon","size","color","CheckboxImpl","children","checked","id","idProp","rest","formFieldId","hasError","formFieldProps","useFormFieldProps","useId","_jsxs","classNames","Container","getFormFieldSizeClassName","CheckboxPrimitive","asChild","Checkbox","BaseButton","forceMount","Text","as","htmlFor","Label","typo"],"mappings":";;;;;;;;;;;;;;;AA0BA;AACA,MAAMA,SAAS,gBAAGC,gBAAU,CAC1B,SAASD,SAASA,CAACE,KAAK,EAAEC,YAAY,EAAE;AACtC;AACA,EAAA,MAAMC,KAAK,GAAGF,KAAK,CAAC,YAAY,CAAC;AACjC,EAAA,MAAMG,WAAW,GAAGD,KAAK,KAAK,WAAW;AACzC,EAAA,MAAME,eAAe,GAAGF,KAAK,KAAK,eAAe;EAEjD,oBACEG,cAAA,CAACC,SAAI,EAAA;IACHC,SAAS,EAAEC,uBAAM,CAACV,SAAU;AAC5BW,IAAAA,GAAG,EAAER,YAAa;AAClBS,IAAAA,MAAM,EAAE,CAACN,eAAe,GAAGO,yBAAa,GAAGC,0BAAe;AAC1DC,IAAAA,IAAI,EAAC,IAAI;AACTC,IAAAA,KAAK,EAAEX,WAAW,GAAG,eAAe,GAAG,2BAA4B;IAAA,GAC/DH;AAAK,GACV,CAAC;AAEN,CACF,CAAC;AAED,SAASe,YAAYA,CACnB;EAAEC,QAAQ;EAAET,SAAS;EAAEU,OAAO;AAAEC,EAAAA,EAAE,EAAEC,MAAM;EAAE,GAAGC;AAA6B,CAAC,EAC7EnB,YAA0C,EAC1C;EACA,MAAM;AACJiB,IAAAA,EAAE,EAAEG,WAAW;IACfC,QAAQ;IACR,GAAGC;AACL,GAAC,GAAGC,6BAAiB,CAACJ,IAAI,CAAC;AAE3B,EAAA,MAAMF,EAAE,GAAGO,aAAK,CAACN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAANA,MAAM,GAAIE,WAAW,EAAE,iBAAiB,CAAC;AAE1D,EAAA,oBACEK,eAAA,CAAA,KAAA,EAAA;IACEnB,SAAS,EAAEoB,aAAU,CAACnB,uBAAM,CAACoB,SAAS,EAAEC,sCAAyB,CAAC,GAAG,CAAC,CAAE;AAAAb,IAAAA,QAAA,EAExEX,cAAAA,cAAA,CAACyB,YAAsB,EAAA;MACrBC,OAAO,EAAA,IAAA;MACPxB,SAAS,EAAEoB,aAAU,CAACnB,uBAAM,CAACwB,QAAQ,EAAEzB,SAAS,CAAE;AAClDE,MAAAA,GAAG,EAAER,YAAa;AAClBiB,MAAAA,EAAE,EAAEA,EAAG;AACPD,MAAAA,OAAO,EAAEA,OAAQ;MACjB,cAAcM,EAAAA,cAAc,CAAC,cAAc,CAAE;AAAA,MAAA,GACzCA,cAAc;MAAAP,QAAA,eAElBX,cAAA,CAAC4B,qBAAU,EAAA;AAAAjB,QAAAA,QAAA,eACTX,cAAA,CAACyB,iBAA2B,EAAA;UAC1BC,OAAO,EAAA;AACP;UACAG,UAAU,EAAA,IAAA;AAAAlB,UAAAA,QAAA,eAGVX,cAAA,CAACP,SAAS,EAAE,EAAA;SACe;OACnB;AAAC,KACS,CAAC,EACxBkB,QAAQ,iBACPX,cAAA,CAAC8B,SAAI,EAAA;AACHC,MAAAA,EAAE,EAAC;AACH;AACA;AAAA;AACAC,MAAAA,OAAO,EAAEnB,EAAG;MACZX,SAAS,EAAEC,uBAAM,CAAC8B,KAAM;AACxBC,MAAAA,IAAI,EAAC,IAAI;AACTzB,MAAAA,KAAK,EAAC,mBAAmB;AAAAE,MAAAA,QAAA,EAExBA;AAAQ,KACL,CACP;AAAA,GACE,CAAC;AAEV;;AAEA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACagB,QAAQ,gBAAGjC,gBAAU,CAACgB,YAAY;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client'\nimport { forwardRef } from 'react'\nimport * as React from 'react'\n\nimport { CheckBoldIcon, HyphenBoldIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type CheckboxProps, type CheckedState } from './Checkbox.types'\n\nimport styles from './Checkbox.module.scss'\n\ninterface CheckIconProps {\n style: React.CSSProperties\n 'data-state': 'checked' | 'unchecked' | 'indeterminate'\n 'data-disabled': boolean | undefined\n}\n\n/* NOTE: Props are injected at runtime by `CheckboxPrimitive.Indicator`. */\nconst CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(\n function CheckIcon(props, forwardedRef) {\n // eslint-disable-next-line react/destructuring-assignment\n const state = props['data-state']\n const isUnchecked = state === 'unchecked'\n const isIndeterminate = state === 'indeterminate'\n\n return (\n <Icon\n className={styles.CheckIcon}\n ref={forwardedRef}\n source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}\n color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}\n {...props}\n />\n )\n }\n)\n\nfunction CheckboxImpl<Checked extends CheckedState>(\n { children, className, checked, size = 'm', id: idProp, ...rest }: CheckboxProps<Checked>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const {\n id: formFieldId,\n hasError,\n ...formFieldProps\n } = useFormFieldProps(rest)\n\n const id = useId(idProp ?? formFieldId, 'bezier-checkbox')\n const iconSize = size === 's' ? 'xxs' : 'xs'\n\n return (\n <div\n className={classNames(styles.Container, getFormFieldSizeClassName('m'))}\n >\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, styles[`size-${size}`], className)}\n ref={forwardedRef}\n id={id}\n checked={checked}\n data-invalid={formFieldProps['aria-invalid']}\n {...formFieldProps}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n /* NOTE: To allow the icon to be rendered even if unchecked. */\n forceMount\n >\n {/* @ts-expect-error */}\n <CheckIcon size={iconSize} />\n </CheckboxPrimitive.Indicator>\n </BaseButton>\n </CheckboxPrimitive.Root>\n {children && (\n <Text\n as=\"label\"\n // TODO: Apply polymorphic types to `as` prop.\n // @ts-expect-error\n htmlFor={id}\n className={styles.Label}\n typo=\"14\"\n color=\"txt-black-darkest\"\n >\n {children}\n </Text>\n )}\n </div>\n )\n}\n\n/* NOTE: This is a workaround to avoid infinite type recursion when directly using `ReturnType` */\ntype ReturnTypeOfCheckboxImpl<Checked extends CheckedState> = ReturnType<\n typeof CheckboxImpl<Checked>\n>\n\n/**\n * `Checkbox` is a control that allows the user to toggle between checked and not checked.\n * It can be used with labels or standalone.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled / With label\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * >\n * Label\n * </Checkbox>\n * // Controlled / Standalone\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <Checkbox\n * defaultChecked={true}\n * >\n * Label\n * </Checkbox>\n * ```\n */\nexport const Checkbox = forwardRef(CheckboxImpl) as <\n Checked extends CheckedState,\n>(\n props: CheckboxProps<Checked> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => ReturnTypeOfCheckboxImpl<Checked>\n"],"names":["CheckIcon","forwardRef","props","forwardedRef","state","isUnchecked","isIndeterminate","_jsx","Icon","className","styles","ref","source","CheckBoldIcon","HyphenBoldIcon","color","CheckboxImpl","children","checked","size","id","idProp","rest","formFieldId","hasError","formFieldProps","useFormFieldProps","useId","iconSize","_jsxs","classNames","Container","getFormFieldSizeClassName","CheckboxPrimitive","asChild","Checkbox","BaseButton","forceMount","Text","as","htmlFor","Label","typo"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var styles = {"CheckIcon":"b-MJZuf","Checkbox":"b-t-gE3","Container":"b-TKPSV","Label":"b-obxaB"};
5
+ var styles = {"CheckIcon":"b-MJZuf","Checkbox":"b-t-gE3","size-s":"b--VPIJ","size-m":"b-Ro4Oe","Container":"b-TKPSV","Label":"b-obxaB"};
6
6
 
7
7
  exports.default = styles;
8
8
  //# sourceMappingURL=Checkbox.module.scss.js.map
@@ -10,8 +10,8 @@ var jsxRuntime = require('react/jsx-runtime');
10
10
  var FormControl = require('../FormControl/FormControl.js');
11
11
  var BaseButton = require('../BaseButton/BaseButton.js');
12
12
  var Icon = require('../Icon/Icon.js');
13
- var Text = require('../Text/Text.js');
14
13
  var Overlay = require('../Overlay/Overlay.js');
14
+ var Text = require('../Text/Text.js');
15
15
 
16
16
  const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown';
17
17
  const Select = /*#__PURE__*/React.forwardRef(function Select({
@@ -74,6 +74,27 @@ const Select = /*#__PURE__*/React.forwardRef(function Select({
74
74
  }, [defaultFocus, disabled, readOnly]);
75
75
  React.useImperativeHandle(forwardedRef, () => handle);
76
76
  const hasContent = !type.isEmpty(text);
77
+ const Content = (() => {
78
+ if (!hasContent) {
79
+ return /*#__PURE__*/jsxRuntime.jsx(Text.Text, {
80
+ "data-testid": "bezier-select-trigger-text",
81
+ typo: "14",
82
+ truncated: true,
83
+ color: "txt-black-dark",
84
+ children: placeholder
85
+ });
86
+ }
87
+ if (typeof text === 'string') {
88
+ return /*#__PURE__*/jsxRuntime.jsx(Text.Text, {
89
+ "data-testid": "bezier-select-trigger-text",
90
+ typo: "14",
91
+ truncated: true,
92
+ color: textColor,
93
+ children: text
94
+ });
95
+ }
96
+ return text;
97
+ })();
77
98
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
78
99
  style: style,
79
100
  className: index.default(Select_module.default.SelectContainer, className),
@@ -91,13 +112,7 @@ const Select = /*#__PURE__*/React.forwardRef(function Select({
91
112
  size: "xs",
92
113
  marginRight: 6,
93
114
  color: iconColor
94
- }) : leftContent, /*#__PURE__*/jsxRuntime.jsx(Text.Text, {
95
- "data-testid": "bezier-select-trigger-text",
96
- typo: "14",
97
- truncated: true,
98
- color: hasContent ? textColor : 'txt-black-dark',
99
- children: hasContent ? text : placeholder
100
- }), bezierIcons.isBezierIcon(rightContent) ? /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
115
+ }) : leftContent, Content, bezierIcons.isBezierIcon(rightContent) ? /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
101
116
  source: rightContent,
102
117
  size: "xs",
103
118
  marginRight: 6,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["'use client'\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport * as React from 'react'\n\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Overlay } from '~/src/components/Overlay'\nimport { Text } from '~/src/components/Text'\n\nimport { type SelectProps, type SelectRef } from './Select.types'\n\nimport styles from './Select.module.scss'\n\nexport const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown'\n\nexport const Select = forwardRef<SelectRef, SelectProps>(function Select(\n {\n children,\n style,\n className,\n size: sizeProps,\n defaultFocus = false,\n placeholder = '',\n leftContent,\n rightContent,\n iconColor = 'txt-black-dark',\n text,\n textColor = 'txt-black-darkest',\n withoutChevron = false,\n dropdownStyle,\n dropdownClassName,\n dropdownContainer,\n dropdownMarginX,\n dropdownMarginY = 6,\n dropdownZIndex = 'overlay',\n dropdownPosition = 'bottom-left',\n dropdownKeepInContainer = false,\n onClickTrigger,\n onHideDropdown,\n ...rest\n },\n forwardedRef\n) {\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const [isDropdownOpened, setIsDropdownOpened] = useState(false)\n\n const handleClickTrigger = useCallback(\n (event: React.MouseEvent) => {\n if (!disabled && !readOnly) {\n setIsDropdownOpened((prevState) => !prevState)\n onClickTrigger?.(event)\n }\n },\n [disabled, readOnly, onClickTrigger]\n )\n\n const handleHideDropdown = useCallback(() => {\n setIsDropdownOpened(false)\n onHideDropdown?.()\n }, [onHideDropdown])\n\n const getDOMNode = useCallback(() => triggerRef.current, [])\n\n const handle = useMemo(\n (): SelectRef => ({\n handleClickTrigger,\n handleHideDropdown,\n getDOMNode,\n }),\n [handleClickTrigger, handleHideDropdown, getDOMNode]\n )\n\n useEffect(\n function handleDefaultFocus() {\n if (defaultFocus && !disabled && !readOnly) {\n setIsDropdownOpened(true)\n }\n },\n [defaultFocus, disabled, readOnly]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n const hasContent = !isEmpty(text)\n\n return (\n <div\n style={style}\n className={classNames(styles.SelectContainer, className)}\n ref={containerRef}\n >\n <BaseButton\n className={classNames(\n styles.SelectTrigger,\n getFormFieldSizeClassName(size),\n hasError && styles.invalid,\n readOnly && styles.readonly,\n isDropdownOpened && styles.active\n )}\n ref={triggerRef}\n disabled={disabled}\n onClick={handleClickTrigger}\n {...ownProps}\n >\n <div className={styles.SelectMainContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n source={leftContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n leftContent\n )}\n\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color={hasContent ? textColor : 'txt-black-dark'}\n >\n {hasContent ? text : placeholder}\n </Text>\n\n {isBezierIcon(rightContent) ? (\n <Icon\n source={rightContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n rightContent\n )}\n </div>\n\n {!withoutChevron && (\n <Icon\n source={isDropdownOpened ? ChevronUpIcon : ChevronDownIcon}\n size=\"xs\"\n color={readOnly ? 'txt-black-dark' : 'txt-black-darker'}\n marginLeft={6}\n />\n )}\n </BaseButton>\n\n <Overlay\n zIndex={dropdownZIndex}\n style={dropdownStyle}\n className={classNames(styles.SelectDropdown, dropdownClassName)}\n withTransition\n show={isDropdownOpened && !disabled}\n marginX={dropdownMarginX}\n marginY={dropdownMarginY}\n target={triggerRef.current}\n container={dropdownContainer || containerRef.current}\n position={dropdownPosition}\n keepInContainer={dropdownKeepInContainer}\n data-testid={SELECT_DROPDOWN_TEST_ID}\n onHide={handleHideDropdown}\n >\n {children}\n </Overlay>\n </div>\n )\n})\n"],"names":["SELECT_DROPDOWN_TEST_ID","Select","forwardRef","children","style","className","size","sizeProps","defaultFocus","placeholder","leftContent","rightContent","iconColor","text","textColor","withoutChevron","dropdownStyle","dropdownClassName","dropdownContainer","dropdownMarginX","dropdownMarginY","dropdownZIndex","dropdownPosition","dropdownKeepInContainer","onClickTrigger","onHideDropdown","rest","forwardedRef","_ref","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","containerRef","useRef","triggerRef","isDropdownOpened","setIsDropdownOpened","useState","handleClickTrigger","useCallback","event","prevState","handleHideDropdown","getDOMNode","current","handle","useMemo","useEffect","handleDefaultFocus","useImperativeHandle","hasContent","isEmpty","_jsxs","classNames","styles","SelectContainer","ref","BaseButton","SelectTrigger","getFormFieldSizeClassName","invalid","readonly","active","onClick","SelectMainContent","isBezierIcon","_jsx","Icon","source","marginRight","color","Text","typo","truncated","ChevronUpIcon","ChevronDownIcon","marginLeft","Overlay","zIndex","SelectDropdown","withTransition","show","marginX","marginY","target","container","position","keepInContainer","onHide"],"mappings":";;;;;;;;;;;;;;;AAiCO,MAAMA,uBAAuB,GAAG;MAE1BC,MAAM,gBAAGC,gBAAU,CAAyB,SAASD,MAAMA,CACtE;EACEE,QAAQ;EACRC,KAAK;EACLC,SAAS;AACTC,EAAAA,IAAI,EAAEC,SAAS;AACfC,EAAAA,YAAY,GAAG,KAAK;AACpBC,EAAAA,WAAW,GAAG,EAAE;EAChBC,WAAW;EACXC,YAAY;AACZC,EAAAA,SAAS,GAAG,gBAAgB;EAC5BC,IAAI;AACJC,EAAAA,SAAS,GAAG,mBAAmB;AAC/BC,EAAAA,cAAc,GAAG,KAAK;EACtBC,aAAa;EACbC,iBAAiB;EACjBC,iBAAiB;EACjBC,eAAe;AACfC,EAAAA,eAAe,GAAG,CAAC;AACnBC,EAAAA,cAAc,GAAG,SAAS;AAC1BC,EAAAA,gBAAgB,GAAG,aAAa;AAChCC,EAAAA,uBAAuB,GAAG,KAAK;EAC/BC,cAAc;EACdC,cAAc;EACd,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;AAAA,EAAA,IAAAC,IAAA;EACA,MAAM;IACJC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;AACRzB,IAAAA,IAAI,EAAE0B,aAAa;IACnB,GAAGC;AACL,GAAC,GAAGC,6BAAiB,CAACR,IAAI,CAAC;AAE3B,EAAA,MAAMS,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC;AACjD,EAAA,MAAMC,UAAU,GAAGD,YAAM,CAAoB,IAAI,CAAC;AAElD,EAAA,MAAM9B,IAAI,GAAAsB,CAAAA,IAAA,GAAGrB,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAIyB,aAAa,MAAAJ,IAAAA,IAAAA,IAAA,KAAAA,KAAAA,CAAAA,GAAAA,IAAA,GAAI,GAAG;EAE9C,MAAM,CAACU,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE/D,EAAA,MAAMC,kBAAkB,GAAGC,iBAAW,CACnCC,KAAuB,IAAK;AAC3B,IAAA,IAAI,CAACd,QAAQ,IAAI,CAACC,QAAQ,EAAE;AAC1BS,MAAAA,mBAAmB,CAAEK,SAAS,IAAK,CAACA,SAAS,CAAC;AAC9CpB,MAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,IAAdA,cAAc,CAAGmB,KAAK,CAAC;AACzB;GACD,EACD,CAACd,QAAQ,EAAEC,QAAQ,EAAEN,cAAc,CACrC,CAAC;AAED,EAAA,MAAMqB,kBAAkB,GAAGH,iBAAW,CAAC,MAAM;IAC3CH,mBAAmB,CAAC,KAAK,CAAC;AAC1Bd,IAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,IAAAA,cAAc,EAAI;AACpB,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,MAAMqB,UAAU,GAAGJ,iBAAW,CAAC,MAAML,UAAU,CAACU,OAAO,EAAE,EAAE,CAAC;AAE5D,EAAA,MAAMC,MAAM,GAAGC,aAAO,CACpB,OAAkB;IAChBR,kBAAkB;IAClBI,kBAAkB;AAClBC,IAAAA;GACD,CAAC,EACF,CAACL,kBAAkB,EAAEI,kBAAkB,EAAEC,UAAU,CACrD,CAAC;AAEDI,EAAAA,eAAS,CACP,SAASC,kBAAkBA,GAAG;AAC5B,IAAA,IAAI3C,YAAY,IAAI,CAACqB,QAAQ,IAAI,CAACC,QAAQ,EAAE;MAC1CS,mBAAmB,CAAC,IAAI,CAAC;AAC3B;GACD,EACD,CAAC/B,YAAY,EAAEqB,QAAQ,EAAEC,QAAQ,CACnC,CAAC;AAEDsB,EAAAA,yBAAmB,CAACzB,YAAY,EAAE,MAAMqB,MAAM,CAAC;AAE/C,EAAA,MAAMK,UAAU,GAAG,CAACC,YAAO,CAACzC,IAAI,CAAC;AAEjC,EAAA,oBACE0C,eAAA,CAAA,KAAA,EAAA;AACEnD,IAAAA,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEmD,aAAU,CAACC,qBAAM,CAACC,eAAe,EAAErD,SAAS,CAAE;AACzDsD,IAAAA,GAAG,EAAExB,YAAa;IAAAhC,QAAA,EAAA,cAElBoD,eAAA,CAACK,qBAAU,EAAA;AACTvD,MAAAA,SAAS,EAAEmD,aAAU,CACnBC,qBAAM,CAACI,aAAa,EACpBC,sCAAyB,CAACxD,IAAI,CAAC,EAC/ByB,QAAQ,IAAI0B,qBAAM,CAACM,OAAO,EAC1BjC,QAAQ,IAAI2B,qBAAM,CAACO,QAAQ,EAC3B1B,gBAAgB,IAAImB,qBAAM,CAACQ,MAC7B,CAAE;AACFN,MAAAA,GAAG,EAAEtB,UAAW;AAChBR,MAAAA,QAAQ,EAAEA,QAAS;AACnBqC,MAAAA,OAAO,EAAEzB,kBAAmB;AAAA,MAAA,GACxBR,QAAQ;AAAA9B,MAAAA,QAAA,gBAEZoD,eAAA,CAAA,KAAA,EAAA;QAAKlD,SAAS,EAAEoD,qBAAM,CAACU,iBAAkB;QAAAhE,QAAA,EAAA,CACtCiE,wBAAY,CAAC1D,WAAW,CAAC,gBACxB2D,cAAA,CAACC,SAAI,EAAA;AACHC,UAAAA,MAAM,EAAE7D,WAAY;AACpBJ,UAAAA,IAAI,EAAC,IAAI;AACTkE,UAAAA,WAAW,EAAE,CAAE;AACfC,UAAAA,KAAK,EAAE7D;AAAU,SAClB,CAAC,GAEFF,WACD,eAED2D,cAAA,CAACK,SAAI,EAAA;AACH,UAAA,aAAA,EAAY,4BAA4B;AACxCC,UAAAA,IAAI,EAAC,IAAI;UACTC,SAAS,EAAA,IAAA;AACTH,UAAAA,KAAK,EAAEpB,UAAU,GAAGvC,SAAS,GAAG,gBAAiB;AAAAX,UAAAA,QAAA,EAEhDkD,UAAU,GAAGxC,IAAI,GAAGJ;SACjB,CAAC,EAEN2D,wBAAY,CAACzD,YAAY,CAAC,gBACzB0D,cAAA,CAACC,SAAI,EAAA;AACHC,UAAAA,MAAM,EAAE5D,YAAa;AACrBL,UAAAA,IAAI,EAAC,IAAI;AACTkE,UAAAA,WAAW,EAAE,CAAE;AACfC,UAAAA,KAAK,EAAE7D;SACR,CAAC,GAEFD,YACD;AAAA,OACE,CAAC,EAEL,CAACI,cAAc,iBACdsD,cAAA,CAACC,SAAI,EAAA;AACHC,QAAAA,MAAM,EAAEjC,gBAAgB,GAAGuC,yBAAa,GAAGC,2BAAgB;AAC3DxE,QAAAA,IAAI,EAAC,IAAI;AACTmE,QAAAA,KAAK,EAAE3C,QAAQ,GAAG,gBAAgB,GAAG,kBAAmB;AACxDiD,QAAAA,UAAU,EAAE;AAAE,OACf,CACF;AAAA,KACS,CAAC,eAEbV,cAAA,CAACW,eAAO,EAAA;AACNC,MAAAA,MAAM,EAAE5D,cAAe;AACvBjB,MAAAA,KAAK,EAAEY,aAAc;MACrBX,SAAS,EAAEmD,aAAU,CAACC,qBAAM,CAACyB,cAAc,EAAEjE,iBAAiB,CAAE;MAChEkE,cAAc,EAAA,IAAA;AACdC,MAAAA,IAAI,EAAE9C,gBAAgB,IAAI,CAACT,QAAS;AACpCwD,MAAAA,OAAO,EAAElE,eAAgB;AACzBmE,MAAAA,OAAO,EAAElE,eAAgB;MACzBmE,MAAM,EAAElD,UAAU,CAACU,OAAQ;AAC3ByC,MAAAA,SAAS,EAAEtE,iBAAiB,IAAIiB,YAAY,CAACY,OAAQ;AACrD0C,MAAAA,QAAQ,EAAEnE,gBAAiB;AAC3BoE,MAAAA,eAAe,EAAEnE,uBAAwB;AACzC,MAAA,aAAA,EAAavB,uBAAwB;AACrC2F,MAAAA,MAAM,EAAE9C,kBAAmB;AAAA1C,MAAAA,QAAA,EAE1BA;AAAQ,KACF,CAAC;AAAA,GACP,CAAC;AAEV,CAAC;;;;;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["'use client'\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport * as React from 'react'\n\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Overlay } from '~/src/components/Overlay'\nimport { Text } from '~/src/components/Text'\n\nimport { type SelectProps, type SelectRef } from './Select.types'\n\nimport styles from './Select.module.scss'\n\nexport const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown'\n\nexport const Select = forwardRef<SelectRef, SelectProps>(function Select(\n {\n children,\n style,\n className,\n size: sizeProps,\n defaultFocus = false,\n placeholder = '',\n leftContent,\n rightContent,\n iconColor = 'txt-black-dark',\n text,\n textColor = 'txt-black-darkest',\n withoutChevron = false,\n dropdownStyle,\n dropdownClassName,\n dropdownContainer,\n dropdownMarginX,\n dropdownMarginY = 6,\n dropdownZIndex = 'overlay',\n dropdownPosition = 'bottom-left',\n dropdownKeepInContainer = false,\n onClickTrigger,\n onHideDropdown,\n ...rest\n },\n forwardedRef\n) {\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const [isDropdownOpened, setIsDropdownOpened] = useState(false)\n\n const handleClickTrigger = useCallback(\n (event: React.MouseEvent) => {\n if (!disabled && !readOnly) {\n setIsDropdownOpened((prevState) => !prevState)\n onClickTrigger?.(event)\n }\n },\n [disabled, readOnly, onClickTrigger]\n )\n\n const handleHideDropdown = useCallback(() => {\n setIsDropdownOpened(false)\n onHideDropdown?.()\n }, [onHideDropdown])\n\n const getDOMNode = useCallback(() => triggerRef.current, [])\n\n const handle = useMemo(\n (): SelectRef => ({\n handleClickTrigger,\n handleHideDropdown,\n getDOMNode,\n }),\n [handleClickTrigger, handleHideDropdown, getDOMNode]\n )\n\n useEffect(\n function handleDefaultFocus() {\n if (defaultFocus && !disabled && !readOnly) {\n setIsDropdownOpened(true)\n }\n },\n [defaultFocus, disabled, readOnly]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n const hasContent = !isEmpty(text)\n\n const Content = (() => {\n if (!hasContent) {\n return (\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color=\"txt-black-dark\"\n >\n {placeholder}\n </Text>\n )\n }\n\n if (typeof text === 'string') {\n return (\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color={textColor}\n >\n {text}\n </Text>\n )\n }\n\n return text\n })()\n\n return (\n <div\n style={style}\n className={classNames(styles.SelectContainer, className)}\n ref={containerRef}\n >\n <BaseButton\n className={classNames(\n styles.SelectTrigger,\n getFormFieldSizeClassName(size),\n hasError && styles.invalid,\n readOnly && styles.readonly,\n isDropdownOpened && styles.active\n )}\n ref={triggerRef}\n disabled={disabled}\n onClick={handleClickTrigger}\n {...ownProps}\n >\n <div className={styles.SelectMainContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n source={leftContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n leftContent\n )}\n\n {Content}\n\n {isBezierIcon(rightContent) ? (\n <Icon\n source={rightContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n rightContent\n )}\n </div>\n\n {!withoutChevron && (\n <Icon\n source={isDropdownOpened ? ChevronUpIcon : ChevronDownIcon}\n size=\"xs\"\n color={readOnly ? 'txt-black-dark' : 'txt-black-darker'}\n marginLeft={6}\n />\n )}\n </BaseButton>\n\n <Overlay\n zIndex={dropdownZIndex}\n style={dropdownStyle}\n className={classNames(styles.SelectDropdown, dropdownClassName)}\n withTransition\n show={isDropdownOpened && !disabled}\n marginX={dropdownMarginX}\n marginY={dropdownMarginY}\n target={triggerRef.current}\n container={dropdownContainer || containerRef.current}\n position={dropdownPosition}\n keepInContainer={dropdownKeepInContainer}\n data-testid={SELECT_DROPDOWN_TEST_ID}\n onHide={handleHideDropdown}\n >\n {children}\n </Overlay>\n </div>\n )\n})\n"],"names":["SELECT_DROPDOWN_TEST_ID","Select","forwardRef","children","style","className","size","sizeProps","defaultFocus","placeholder","leftContent","rightContent","iconColor","text","textColor","withoutChevron","dropdownStyle","dropdownClassName","dropdownContainer","dropdownMarginX","dropdownMarginY","dropdownZIndex","dropdownPosition","dropdownKeepInContainer","onClickTrigger","onHideDropdown","rest","forwardedRef","_ref","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","containerRef","useRef","triggerRef","isDropdownOpened","setIsDropdownOpened","useState","handleClickTrigger","useCallback","event","prevState","handleHideDropdown","getDOMNode","current","handle","useMemo","useEffect","handleDefaultFocus","useImperativeHandle","hasContent","isEmpty","Content","_jsx","Text","typo","truncated","color","_jsxs","classNames","styles","SelectContainer","ref","BaseButton","SelectTrigger","getFormFieldSizeClassName","invalid","readonly","active","onClick","SelectMainContent","isBezierIcon","Icon","source","marginRight","ChevronUpIcon","ChevronDownIcon","marginLeft","Overlay","zIndex","SelectDropdown","withTransition","show","marginX","marginY","target","container","position","keepInContainer","onHide"],"mappings":"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"}