@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
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type CheckboxProps, type CheckedState } from './Checkbox.types';
3
- declare function CheckboxImpl<Checked extends CheckedState>({ children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>, forwardedRef: React.Ref<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
3
+ declare function CheckboxImpl<Checked extends CheckedState>({ children, className, checked, size, id: idProp, ...rest }: CheckboxProps<Checked>, forwardedRef: React.Ref<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
4
4
  type ReturnTypeOfCheckboxImpl<Checked extends CheckedState> = ReturnType<typeof CheckboxImpl<Checked>>;
5
5
  /**
6
6
  * `Checkbox` is a control that allows the user to toggle between checked and not checked.
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAc9B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AA+BxE,iBAAS,YAAY,CAAC,OAAO,SAAS,YAAY,EAChD,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7E,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,2CAiD3C;AAGD,KAAK,wBAAwB,CAAC,OAAO,SAAS,YAAY,IAAI,UAAU,CACtE,OAAO,YAAY,CAAC,OAAO,CAAC,CAC7B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,QAAQ,EAA+B,CAClD,OAAO,SAAS,YAAY,EAE5B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;IAC9B,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAC5C,KACE,wBAAwB,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAc9B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AA8BxE,iBAAS,YAAY,CAAC,OAAO,SAAS,YAAY,EAChD,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EACzF,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,2CAkD3C;AAGD,KAAK,wBAAwB,CAAC,OAAO,SAAS,YAAY,IAAI,UAAU,CACtE,OAAO,YAAY,CAAC,OAAO,CAAC,CAC7B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,QAAQ,EAA+B,CAClD,OAAO,SAAS,YAAY,EAE5B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;IAC9B,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAC5C,KACE,wBAAwB,CAAC,OAAO,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
- import { type BezierComponentProps, type ChildrenProps, type FormFieldProps } from "../../types/props";
1
+ import { type BezierComponentProps, type ChildrenProps, type FormFieldProps, type SizeProps } from "../../types/props";
2
2
  export type CheckedState = boolean | 'indeterminate';
3
+ export type CheckboxSize = 's' | 'm';
3
4
  interface CheckboxOwnProps<Checked extends CheckedState> {
4
5
  /**
5
6
  * The controlled checked state of the checkbox.
@@ -31,7 +32,7 @@ interface CheckboxOwnProps<Checked extends CheckedState> {
31
32
  */
32
33
  onCheckedChange?: (checked: Checked) => void;
33
34
  }
34
- export interface CheckboxProps<Checked extends CheckedState> extends Omit<BezierComponentProps<'button'>, keyof CheckboxOwnProps<Checked>>, ChildrenProps, FormFieldProps, CheckboxOwnProps<Checked> {
35
+ export interface CheckboxProps<Checked extends CheckedState> extends Omit<BezierComponentProps<'button'>, keyof CheckboxOwnProps<Checked>>, ChildrenProps, FormFieldProps, SizeProps<CheckboxSize>, CheckboxOwnProps<Checked> {
35
36
  }
36
37
  export {};
37
38
  //# sourceMappingURL=Checkbox.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,0BAAyB;AAE1B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,eAAe,CAAA;AAEpD,UAAU,gBAAgB,CAAC,OAAO,SAAS,YAAY;IACrD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,YAAY,CACzD,SAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3E,aAAa,EACb,cAAc,EACd,gBAAgB,CAAC,OAAO,CAAC;CAAG"}
1
+ {"version":3,"file":"Checkbox.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,0BAAyB;AAE1B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,eAAe,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,GAAG,CAAA;AAEpC,UAAU,gBAAgB,CAAC,OAAO,SAAS,YAAY;IACrD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,YAAY,CACzD,SAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3E,aAAa,EACb,cAAc,EACd,SAAS,CAAC,YAAY,CAAC,EACvB,gBAAgB,CAAC,OAAO,CAAC;CAAG"}
@@ -1,3 +1,3 @@
1
1
  export { Checkbox } from './Checkbox';
2
- export type { CheckboxProps, CheckedState } from './Checkbox.types';
2
+ export type { CheckboxProps, CheckedState, CheckboxSize, } from './Checkbox.types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkB9B,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAIjE,eAAO,MAAM,uBAAuB,2BAA2B,CAAA;AAE/D,eAAO,MAAM,MAAM,+EAmKjB,CAAA"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkB9B,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAIjE,eAAO,MAAM,uBAAuB,2BAA2B,CAAA;AAE/D,eAAO,MAAM,MAAM,+EA0LjB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from 'react';
1
2
  import { type BezierIcon } from '@channel.io/bezier-icons';
2
3
  import type { AdditionalColorProps, AdditionalOverridableStyleProps, BezierComponentProps, ChildrenProps, FormFieldProps, FormFieldSize, SideContentProps, SizeProps } from "../../types/props";
3
4
  import { type ZIndex } from "../../types/tokens";
@@ -10,7 +11,7 @@ export interface SelectRef {
10
11
  interface SelectOwnProps {
11
12
  defaultFocus?: boolean;
12
13
  placeholder?: string;
13
- text?: string;
14
+ text?: ReactNode;
14
15
  withoutChevron?: boolean;
15
16
  dropdownContainer?: HTMLElement | null;
16
17
  dropdownMarginX?: OverlayProps['marginX'];
@@ -1 +1 @@
1
- {"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAC/B,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,SAAS,EACV,0BAAyB;AAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,2BAA0B;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAgC;AAE5D,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IACjD,kBAAkB,IAAI,IAAI,CAAA;IAC1B,UAAU,IAAI,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA;CACpC;AAED,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iBAAiB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IACtC,eAAe,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IAC3C,uBAAuB,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;IACzD,cAAc,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,WACf,SAAQ,oBAAoB,CAAC,QAAQ,CAAC,EACpC,aAAa,EACb,cAAc,EACd,SAAS,CAAC,aAAa,CAAC,EACxB,gBAAgB,CACd,UAAU,GAAG,KAAK,CAAC,SAAS,EAC5B,UAAU,GAAG,KAAK,CAAC,SAAS,CAC7B,EACD,+BAA+B,CAAC,UAAU,CAAC,EAC3C,oBAAoB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,cAAc;CAAG"}
1
+ {"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAC/B,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,SAAS,EACV,0BAAyB;AAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,2BAA0B;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAgC;AAE5D,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;IACjD,kBAAkB,IAAI,IAAI,CAAA;IAC1B,UAAU,IAAI,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA;CACpC;AAED,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iBAAiB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IACtC,eAAe,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IAC3C,uBAAuB,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;IACzD,cAAc,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,WACf,SAAQ,oBAAoB,CAAC,QAAQ,CAAC,EACpC,aAAa,EACb,cAAc,EACd,SAAS,CAAC,aAAa,CAAC,EACxB,gBAAgB,CACd,UAAU,GAAG,KAAK,CAAC,SAAS,EAC5B,UAAU,GAAG,KAAK,CAAC,SAAS,CAC7B,EACD,+BAA+B,CAAC,UAAU,CAAC,EAC3C,oBAAoB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,cAAc;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@channel.io/bezier-react",
3
- "version": "3.1.5",
3
+ "version": "3.3.0",
4
4
  "description": "React components library that implements Bezier design system.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,7 +63,7 @@
63
63
  "@babel/preset-env": "^7.26.0",
64
64
  "@babel/preset-react": "^7.26.3",
65
65
  "@babel/preset-typescript": "^7.26.0",
66
- "@channel.io/bezier-icons": "0.45.0",
66
+ "@channel.io/bezier-icons": "0.47.0",
67
67
  "@chromatic-com/storybook": "^3.2.2",
68
68
  "@figma/code-connect": "^1.2.4",
69
69
  "@rollup/plugin-alias": "^5.1.1",
@@ -23,8 +23,6 @@
23
23
  box-shadow: inset 0 0 0 2px var(--bdr-black-dark);
24
24
 
25
25
  /* stylelint-disable-next-line order/order */
26
- @include dimension.square(18px);
27
-
28
26
  @include interaction.touchable-hover {
29
27
  &:where(:not([data-disabled], [data-state='unchecked'])) {
30
28
  background-color: var(--bgtxt-green-dark);
@@ -35,6 +33,17 @@
35
33
  }
36
34
  }
37
35
 
36
+ &:where(.size-s) {
37
+ border-radius: 4.6px;
38
+
39
+ /* stylelint-disable-next-line order/order */
40
+ @include dimension.square(16px);
41
+ }
42
+
43
+ &:where(.size-m) {
44
+ @include dimension.square(18px);
45
+ }
46
+
38
47
  &:where([data-disabled]) {
39
48
  background-color: var(--bg-black-dark);
40
49
  box-shadow: none;
@@ -37,7 +37,6 @@ const CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(
37
37
  className={styles.CheckIcon}
38
38
  ref={forwardedRef}
39
39
  source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}
40
- size="xs"
41
40
  color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}
42
41
  {...props}
43
42
  />
@@ -46,7 +45,7 @@ const CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(
46
45
  )
47
46
 
48
47
  function CheckboxImpl<Checked extends CheckedState>(
49
- { children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>,
48
+ { children, className, checked, size = 'm', id: idProp, ...rest }: CheckboxProps<Checked>,
50
49
  forwardedRef: React.Ref<HTMLButtonElement>
51
50
  ) {
52
51
  const {
@@ -56,6 +55,7 @@ function CheckboxImpl<Checked extends CheckedState>(
56
55
  } = useFormFieldProps(rest)
57
56
 
58
57
  const id = useId(idProp ?? formFieldId, 'bezier-checkbox')
58
+ const iconSize = size === 's' ? 'xxs' : 'xs'
59
59
 
60
60
  return (
61
61
  <div
@@ -63,7 +63,7 @@ function CheckboxImpl<Checked extends CheckedState>(
63
63
  >
64
64
  <CheckboxPrimitive.Root
65
65
  asChild
66
- className={classNames(styles.Checkbox, className)}
66
+ className={classNames(styles.Checkbox, styles[`size-${size}`], className)}
67
67
  ref={forwardedRef}
68
68
  id={id}
69
69
  checked={checked}
@@ -77,7 +77,7 @@ function CheckboxImpl<Checked extends CheckedState>(
77
77
  forceMount
78
78
  >
79
79
  {/* @ts-expect-error */}
80
- <CheckIcon />
80
+ <CheckIcon size={iconSize} />
81
81
  </CheckboxPrimitive.Indicator>
82
82
  </BaseButton>
83
83
  </CheckboxPrimitive.Root>
@@ -2,10 +2,13 @@ import {
2
2
  type BezierComponentProps,
3
3
  type ChildrenProps,
4
4
  type FormFieldProps,
5
+ type SizeProps,
5
6
  } from '~/src/types/props'
6
7
 
7
8
  export type CheckedState = boolean | 'indeterminate'
8
9
 
10
+ export type CheckboxSize = 's' | 'm'
11
+
9
12
  interface CheckboxOwnProps<Checked extends CheckedState> {
10
13
  /**
11
14
  * The controlled checked state of the checkbox.
@@ -42,4 +45,5 @@ export interface CheckboxProps<Checked extends CheckedState>
42
45
  extends Omit<BezierComponentProps<'button'>, keyof CheckboxOwnProps<Checked>>,
43
46
  ChildrenProps,
44
47
  FormFieldProps,
48
+ SizeProps<CheckboxSize>,
45
49
  CheckboxOwnProps<Checked> {}
@@ -1,2 +1,6 @@
1
1
  export { Checkbox } from './Checkbox'
2
- export type { CheckboxProps, CheckedState } from './Checkbox.types'
2
+ export type {
3
+ CheckboxProps,
4
+ CheckedState,
5
+ CheckboxSize,
6
+ } from './Checkbox.types'
@@ -115,6 +115,36 @@ export const Select = forwardRef<SelectRef, SelectProps>(function Select(
115
115
 
116
116
  const hasContent = !isEmpty(text)
117
117
 
118
+ const Content = (() => {
119
+ if (!hasContent) {
120
+ return (
121
+ <Text
122
+ data-testid="bezier-select-trigger-text"
123
+ typo="14"
124
+ truncated
125
+ color="txt-black-dark"
126
+ >
127
+ {placeholder}
128
+ </Text>
129
+ )
130
+ }
131
+
132
+ if (typeof text === 'string') {
133
+ return (
134
+ <Text
135
+ data-testid="bezier-select-trigger-text"
136
+ typo="14"
137
+ truncated
138
+ color={textColor}
139
+ >
140
+ {text}
141
+ </Text>
142
+ )
143
+ }
144
+
145
+ return text
146
+ })()
147
+
118
148
  return (
119
149
  <div
120
150
  style={style}
@@ -146,14 +176,7 @@ export const Select = forwardRef<SelectRef, SelectProps>(function Select(
146
176
  leftContent
147
177
  )}
148
178
 
149
- <Text
150
- data-testid="bezier-select-trigger-text"
151
- typo="14"
152
- truncated
153
- color={hasContent ? textColor : 'txt-black-dark'}
154
- >
155
- {hasContent ? text : placeholder}
156
- </Text>
179
+ {Content}
157
180
 
158
181
  {isBezierIcon(rightContent) ? (
159
182
  <Icon
@@ -1,3 +1,5 @@
1
+ import { type ReactNode } from 'react'
2
+
1
3
  import { type BezierIcon } from '@channel.io/bezier-icons'
2
4
 
3
5
  import type {
@@ -23,7 +25,7 @@ export interface SelectRef {
23
25
  interface SelectOwnProps {
24
26
  defaultFocus?: boolean
25
27
  placeholder?: string
26
- text?: string
28
+ text?: ReactNode
27
29
  withoutChevron?: boolean
28
30
  dropdownContainer?: HTMLElement | null
29
31
  dropdownMarginX?: OverlayProps['marginX']