@channel.io/bezier-react 3.1.2 → 3.1.4

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 (139) hide show
  1. package/dist/cjs/components/AlphaAvatar/Avatar.js +0 -2
  2. package/dist/cjs/components/AlphaAvatar/Avatar.js.map +1 -1
  3. package/dist/cjs/components/Avatar/Avatar.js +0 -2
  4. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  5. package/dist/cjs/components/Badge/Badge.js +0 -1
  6. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  7. package/dist/cjs/components/Checkbox/Checkbox.js +2 -0
  8. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  9. package/dist/cjs/components/Divider/Divider.js +1 -1
  10. package/dist/cjs/components/Divider/Divider.js.map +1 -1
  11. package/dist/cjs/components/Emoji/Emoji.js +0 -1
  12. package/dist/cjs/components/Emoji/Emoji.js.map +1 -1
  13. package/dist/cjs/components/FormControl/FormControl.js +0 -1
  14. package/dist/cjs/components/FormControl/FormControl.js.map +1 -1
  15. package/dist/cjs/components/FormHelperText/FormHelperText.js +4 -2
  16. package/dist/cjs/components/FormHelperText/FormHelperText.js.map +1 -1
  17. package/dist/cjs/components/NavGroup/NavGroup.js +4 -2
  18. package/dist/cjs/components/NavGroup/NavGroup.js.map +1 -1
  19. package/dist/cjs/components/NavItem/NavItem.js +4 -2
  20. package/dist/cjs/components/NavItem/NavItem.js.map +1 -1
  21. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +10 -3
  22. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  23. package/dist/cjs/components/Switch/Switch.js +0 -1
  24. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  25. package/dist/cjs/components/Tag/Tag.js +5 -2
  26. package/dist/cjs/components/Tag/Tag.js.map +1 -1
  27. package/dist/cjs/components/TextField/TextField.js +5 -2
  28. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  29. package/dist/cjs/styles.css +1 -1
  30. package/dist/esm/components/AlphaAvatar/Avatar.mjs +1 -1
  31. package/dist/esm/components/AlphaAvatar/Avatar.mjs.map +1 -1
  32. package/dist/esm/components/Avatar/Avatar.mjs +1 -1
  33. package/dist/esm/components/Avatar/Avatar.mjs.map +1 -1
  34. package/dist/esm/components/Badge/Badge.mjs +1 -1
  35. package/dist/esm/components/Badge/Badge.mjs.map +1 -1
  36. package/dist/esm/components/Checkbox/Checkbox.mjs +2 -0
  37. package/dist/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  38. package/dist/esm/components/Divider/Divider.mjs +2 -1
  39. package/dist/esm/components/Divider/Divider.mjs.map +1 -1
  40. package/dist/esm/components/Emoji/Emoji.mjs +1 -1
  41. package/dist/esm/components/Emoji/Emoji.mjs.map +1 -1
  42. package/dist/esm/components/FormControl/FormControl.mjs +1 -1
  43. package/dist/esm/components/FormControl/FormControl.mjs.map +1 -1
  44. package/dist/esm/components/FormHelperText/FormHelperText.mjs +5 -1
  45. package/dist/esm/components/FormHelperText/FormHelperText.mjs.map +1 -1
  46. package/dist/esm/components/NavGroup/NavGroup.mjs +5 -1
  47. package/dist/esm/components/NavGroup/NavGroup.mjs.map +1 -1
  48. package/dist/esm/components/NavItem/NavItem.mjs +5 -1
  49. package/dist/esm/components/NavItem/NavItem.mjs.map +1 -1
  50. package/dist/esm/components/SegmentedControl/SegmentedControl.mjs +10 -3
  51. package/dist/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  52. package/dist/esm/components/Switch/Switch.mjs +1 -1
  53. package/dist/esm/components/Switch/Switch.mjs.map +1 -1
  54. package/dist/esm/components/Tag/Tag.mjs +6 -1
  55. package/dist/esm/components/Tag/Tag.mjs.map +1 -1
  56. package/dist/esm/components/TextField/TextField.mjs +6 -1
  57. package/dist/esm/components/TextField/TextField.mjs.map +1 -1
  58. package/dist/esm/styles.css +1 -1
  59. package/dist/types/components/AlphaAvatar/Avatar.d.ts +0 -2
  60. package/dist/types/components/AlphaAvatar/Avatar.d.ts.map +1 -1
  61. package/dist/types/components/Avatar/Avatar.d.ts +0 -2
  62. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  63. package/dist/types/components/Badge/Badge.d.ts +0 -1
  64. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  65. package/dist/types/components/Checkbox/Checkbox.d.ts +2 -1
  66. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  67. package/dist/types/components/Divider/Divider.d.ts +0 -1
  68. package/dist/types/components/Divider/Divider.d.ts.map +1 -1
  69. package/dist/types/components/Emoji/Emoji.d.ts +0 -1
  70. package/dist/types/components/Emoji/Emoji.d.ts.map +1 -1
  71. package/dist/types/components/FormControl/FormControl.d.ts +0 -1
  72. package/dist/types/components/FormControl/FormControl.d.ts.map +1 -1
  73. package/dist/types/components/FormHelperText/FormHelperText.d.ts +0 -2
  74. package/dist/types/components/FormHelperText/FormHelperText.d.ts.map +1 -1
  75. package/dist/types/components/NavGroup/NavGroup.d.ts +0 -2
  76. package/dist/types/components/NavGroup/NavGroup.d.ts.map +1 -1
  77. package/dist/types/components/NavItem/NavItem.d.ts +0 -2
  78. package/dist/types/components/NavItem/NavItem.d.ts.map +1 -1
  79. package/dist/types/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  80. package/dist/types/components/Switch/Switch.d.ts +0 -1
  81. package/dist/types/components/Switch/Switch.d.ts.map +1 -1
  82. package/dist/types/components/Tag/Tag.d.ts +0 -2
  83. package/dist/types/components/Tag/Tag.d.ts.map +1 -1
  84. package/dist/types/components/TextField/TextField.d.ts +0 -2
  85. package/dist/types/components/TextField/TextField.d.ts.map +1 -1
  86. package/package.json +2 -3
  87. package/src/components/AlphaAvatar/Avatar.test.tsx +1 -71
  88. package/src/components/AlphaAvatar/Avatar.tsx +2 -2
  89. package/src/components/AlphaAvatarGroup/AvatarGroup.test.tsx +0 -12
  90. package/src/components/Avatar/Avatar.test.tsx +1 -71
  91. package/src/components/Avatar/Avatar.tsx +2 -2
  92. package/src/components/AvatarGroup/AvatarGroup.test.tsx +0 -12
  93. package/src/components/Badge/Badge.tsx +2 -2
  94. package/src/components/Checkbox/Checkbox.tsx +6 -1
  95. package/src/components/Divider/Divider.test.tsx +11 -12
  96. package/src/components/Divider/Divider.tsx +5 -1
  97. package/src/components/Emoji/Emoji.tsx +4 -1
  98. package/src/components/FormControl/FormControl.test.tsx +1 -39
  99. package/src/components/FormControl/FormControl.tsx +1 -1
  100. package/src/components/FormHelperText/FormHelperText.test.tsx +11 -30
  101. package/src/components/FormHelperText/FormHelperText.tsx +9 -2
  102. package/src/components/FormLabel/FormLabel.test.tsx +0 -7
  103. package/src/components/Help/Help.test.tsx +0 -14
  104. package/src/components/LegacyTooltip/LegacyTooltip.test.tsx +0 -12
  105. package/src/components/Modal/Modal.test.tsx +8 -1
  106. package/src/components/NavGroup/NavGroup.tsx +9 -2
  107. package/src/components/NavItem/NavItem.tsx +9 -2
  108. package/src/components/SegmentedControl/SegmentedControl.module.scss +1 -1
  109. package/src/components/SegmentedControl/SegmentedControl.tsx +16 -3
  110. package/src/components/Slider/Slider.test.tsx +1 -8
  111. package/src/components/SmoothCornersBox/SmoothCornersBox.test.tsx +0 -5
  112. package/src/components/Switch/Switch.test.tsx +17 -17
  113. package/src/components/Switch/Switch.tsx +4 -1
  114. package/src/components/Tag/Tag.test.tsx +11 -15
  115. package/src/components/Tag/Tag.tsx +10 -2
  116. package/src/components/TextField/TextField.test.tsx +5 -5
  117. package/src/components/TextField/TextField.tsx +10 -2
  118. package/src/components/AlphaAvatar/__snapshots__/Avatar.test.tsx.snap +0 -93
  119. package/src/components/AlphaAvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +0 -215
  120. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -93
  121. package/src/components/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +0 -215
  122. package/src/components/Badge/Badge.test.tsx +0 -27
  123. package/src/components/Badge/__snapshots__/Badge.test.tsx.snap +0 -8
  124. package/src/components/Emoji/Emoji.test.tsx +0 -32
  125. package/src/components/Emoji/__snapshots__/Emoji.test.tsx.snap +0 -11
  126. package/src/components/FormControl/__snapshots__/FormControl.test.tsx.snap +0 -249
  127. package/src/components/FormGroup/FormGroup.test.tsx +0 -24
  128. package/src/components/FormGroup/__snapshots__/FormGroup.test.tsx.snap +0 -10
  129. package/src/components/FormHelperText/__snapshots__/FormHelperText.test.tsx.snap +0 -24
  130. package/src/components/FormLabel/__snapshots__/FormLabel.test.tsx.snap +0 -11
  131. package/src/components/Help/__snapshots__/Help.test.tsx.snap +0 -21
  132. package/src/components/LegacyTooltip/__snapshots__/LegacyTooltip.test.tsx.snap +0 -37
  133. package/src/components/NavGroup/NavGroup.test.tsx +0 -75
  134. package/src/components/NavGroup/__snapshots__/NavGroup.test.tsx.snap +0 -121
  135. package/src/components/NavItem/NavItem.test.tsx +0 -66
  136. package/src/components/NavItem/__snapshots__/NavItem.test.tsx.snap +0 -75
  137. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +0 -50
  138. package/src/components/SmoothCornersBox/__snapshots__/SmoothCornersBox.test.tsx.snap +0 -11
  139. package/src/components/Tag/__snapshots__/Tag.test.tsx.snap +0 -8
@@ -54,5 +54,5 @@ const Switch = /*#__PURE__*/forwardRef(function Switch({
54
54
  });
55
55
  });
56
56
 
57
- export { SWITCH_TEST_ID, Switch };
57
+ export { Switch };
58
58
  //# sourceMappingURL=Switch.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.mjs","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef } from 'react'\n\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport classNames from 'classnames'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport { type SwitchProps } from './Switch.types'\n\nimport styles from './Switch.module.scss'\n\nexport const SWITCH_TEST_ID = 'bezier-switch'\n\n/**\n * `Switch` is an input component where user can toggle checked state of the element.\n * @example\n * ```tsx\n * <Switch\n * size=\"m\"\n * checked\n * />\n * ```\n */\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n function Switch(\n {\n checked,\n defaultChecked = false,\n onCheckedChange,\n size = 'm',\n className,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, required, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n return (\n <SwitchPrimitive.Root\n asChild\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n required={required}\n disabled={disabled}\n data-testid={SWITCH_TEST_ID}\n {...ownProps}\n >\n <BaseButton\n ref={forwardedRef}\n className={classNames(\n styles.Switch,\n styles[`size-${size}`],\n className\n )}\n >\n <SwitchPrimitive.Thumb asChild>\n <span className={styles.SwitchThumb} />\n </SwitchPrimitive.Thumb>\n </BaseButton>\n </SwitchPrimitive.Root>\n )\n }\n)\n"],"names":["SWITCH_TEST_ID","Switch","forwardRef","checked","defaultChecked","onCheckedChange","size","className","rest","forwardedRef","disabled","required","hasError","ownProps","useFormFieldProps","_jsx","SwitchPrimitive","asChild","children","BaseButton","ref","classNames","styles","SwitchThumb"],"mappings":";;;;;;;;AAcO,MAAMA,cAAc,GAAG;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaC,MAAM,gBAAGC,UAAU,CAC9B,SAASD,MAAMA,CACb;EACEE,OAAO;AACPC,EAAAA,cAAc,GAAG,KAAK;EACtBC,eAAe;AACfC,EAAAA,IAAI,GAAG,GAAG;EACVC,SAAS;EACT,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;AAAS,GAAC,GACjDC,iBAAiB,CAACN,IAAI,CAAC;AAEzB,EAAA,oBACEO,GAAA,CAACC,IAAoB,EAAA;IACnBC,OAAO,EAAA,IAAA;AACPd,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCM,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,QAAQ,EAAEA,QAAS;AACnB,IAAA,aAAA,EAAaV,cAAe;AAAA,IAAA,GACxBa,QAAQ;IAAAK,QAAA,eAEZH,GAAA,CAACI,UAAU,EAAA;AACTC,MAAAA,GAAG,EAAEX,YAAa;AAClBF,MAAAA,SAAS,EAAEc,UAAU,CACnBC,MAAM,CAACrB,MAAM,EACbqB,MAAM,CAAC,QAAQhB,IAAI,CAAA,CAAE,CAAC,EACtBC,SACF,CAAE;AAAAW,MAAAA,QAAA,eAEFH,GAAA,CAACC,KAAqB,EAAA;QAACC,OAAO,EAAA,IAAA;AAAAC,QAAAA,QAAA,eAC5BH,GAAA,CAAA,MAAA,EAAA;UAAMR,SAAS,EAAEe,MAAM,CAACC;SAAc;OACjB;KACb;AAAC,GACO,CAAC;AAE3B,CACF;;;;"}
1
+ {"version":3,"file":"Switch.mjs","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef } from 'react'\n\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport classNames from 'classnames'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport { type SwitchProps } from './Switch.types'\n\nimport styles from './Switch.module.scss'\n\n/**\n * @deprecated\n */\nconst SWITCH_TEST_ID = 'bezier-switch'\n\n/**\n * `Switch` is an input component where user can toggle checked state of the element.\n * @example\n * ```tsx\n * <Switch\n * size=\"m\"\n * checked\n * />\n * ```\n */\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n function Switch(\n {\n checked,\n defaultChecked = false,\n onCheckedChange,\n size = 'm',\n className,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, required, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n return (\n <SwitchPrimitive.Root\n asChild\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n required={required}\n disabled={disabled}\n data-testid={SWITCH_TEST_ID}\n {...ownProps}\n >\n <BaseButton\n ref={forwardedRef}\n className={classNames(\n styles.Switch,\n styles[`size-${size}`],\n className\n )}\n >\n <SwitchPrimitive.Thumb asChild>\n <span className={styles.SwitchThumb} />\n </SwitchPrimitive.Thumb>\n </BaseButton>\n </SwitchPrimitive.Root>\n )\n }\n)\n"],"names":["SWITCH_TEST_ID","Switch","forwardRef","checked","defaultChecked","onCheckedChange","size","className","rest","forwardedRef","disabled","required","hasError","ownProps","useFormFieldProps","_jsx","SwitchPrimitive","asChild","children","BaseButton","ref","classNames","styles","SwitchThumb"],"mappings":";;;;;;;;AAiBA,MAAMA,cAAc,GAAG,eAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaC,MAAM,gBAAGC,UAAU,CAC9B,SAASD,MAAMA,CACb;EACEE,OAAO;AACPC,EAAAA,cAAc,GAAG,KAAK;EACtBC,eAAe;AACfC,EAAAA,IAAI,GAAG,GAAG;EACVC,SAAS;EACT,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;AAAS,GAAC,GACjDC,iBAAiB,CAACN,IAAI,CAAC;AAEzB,EAAA,oBACEO,GAAA,CAACC,IAAoB,EAAA;IACnBC,OAAO,EAAA,IAAA;AACPd,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCM,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,QAAQ,EAAEA,QAAS;AACnB,IAAA,aAAA,EAAaV,cAAe;AAAA,IAAA,GACxBa,QAAQ;IAAAK,QAAA,eAEZH,GAAA,CAACI,UAAU,EAAA;AACTC,MAAAA,GAAG,EAAEX,YAAa;AAClBF,MAAAA,SAAS,EAAEc,UAAU,CACnBC,MAAM,CAACrB,MAAM,EACbqB,MAAM,CAAC,QAAQhB,IAAI,CAAA,CAAE,CAAC,EACtBC,SACF,CAAE;AAAAW,MAAAA,QAAA,eAEFH,GAAA,CAACC,KAAqB,EAAA;QAACC,OAAO,EAAA,IAAA;AAAAC,QAAAA,QAAA,eAC5BH,GAAA,CAAA,MAAA,EAAA;UAAMR,SAAS,EAAEe,MAAM,CAACC;SAAc;OACjB;KACb;AAAC,GACO,CAAC;AAE3B,CACF;;;;"}
@@ -7,6 +7,10 @@ import { BaseTagBadge, BaseTagBadgeText } from '../BaseTagBadge/BaseTagBadge.mjs
7
7
  import { Icon } from '../Icon/Icon.mjs';
8
8
 
9
9
  const TAG_TEST_ID = 'bezier-tag';
10
+
11
+ /**
12
+ * @deprecated
13
+ */
10
14
  const TAG_DELETE_TEST_ID = 'bezier-tag-delete-icon';
11
15
 
12
16
  /**
@@ -42,6 +46,7 @@ const Tag = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Tag({
42
46
  children: children
43
47
  }), !isNil(onDelete) && /*#__PURE__*/jsx(Icon, {
44
48
  role: "button",
49
+ "aria-label": "delete",
45
50
  tabIndex: 0,
46
51
  className: styles.TagDeleteIcon,
47
52
  source: CancelSmallIcon,
@@ -56,5 +61,5 @@ const Tag = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Tag({
56
61
  });
57
62
  }));
58
63
 
59
- export { TAG_DELETE_TEST_ID, TAG_TEST_ID, Tag };
64
+ export { Tag };
60
65
  //# sourceMappingURL=Tag.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.mjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef, memo } from 'react'\n\nimport { CancelSmallIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type TagProps } from './Tag.types'\n\nimport styles from './Tag.module.scss'\n\nexport const TAG_TEST_ID = 'bezier-tag'\nexport const TAG_DELETE_TEST_ID = 'bezier-tag-delete-icon'\n\n/**\n * `Tag` is a component for representing tag, which shows close icon when `onDelete` property is specified.\n * @example\n * ```tsx\n * <Tag\n * size=\"m\"\n * variant=\"default\"\n * onDelete={handleDelete}\n * >\n * Payment\n * </Tag>\n * ```\n */\nexport const Tag = memo(\n forwardRef<HTMLDivElement, TagProps>(function Tag(\n { size = 'm', variant = 'default', children, onDelete, ...rest },\n forwardedRef\n ) {\n return (\n <BaseTagBadge\n ref={forwardedRef}\n size={size}\n variant={variant}\n data-testid={TAG_TEST_ID}\n {...rest}\n >\n {!isEmpty(children) && (\n <BaseTagBadgeText\n size={size}\n marginHorizontal={2}\n color=\"txt-black-darkest\"\n >\n {children}\n </BaseTagBadgeText>\n )}\n\n {!isNil(onDelete) && (\n <Icon\n role=\"button\"\n tabIndex={0}\n className={styles.TagDeleteIcon}\n source={CancelSmallIcon}\n size=\"xs\"\n color=\"txt-black-darker\"\n onClick={(e) => {\n e.stopPropagation()\n onDelete(e)\n }}\n data-testid={TAG_DELETE_TEST_ID}\n />\n )}\n </BaseTagBadge>\n )\n })\n)\n"],"names":["TAG_TEST_ID","TAG_DELETE_TEST_ID","Tag","memo","forwardRef","size","variant","children","onDelete","rest","forwardedRef","_jsxs","BaseTagBadge","ref","isEmpty","_jsx","BaseTagBadgeText","marginHorizontal","color","isNil","Icon","role","tabIndex","className","styles","TagDeleteIcon","source","CancelSmallIcon","onClick","e","stopPropagation"],"mappings":";;;;;;;;AAeO,MAAMA,WAAW,GAAG;AACpB,MAAMC,kBAAkB,GAAG;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,GAAG,gBAAGC,IAAI,cACrBC,UAAU,CAA2B,SAASF,GAAGA,CAC/C;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAChEC,YAAY,EACZ;EACA,oBACEC,IAAA,CAACC,YAAY,EAAA;AACXC,IAAAA,GAAG,EAAEH,YAAa;AAClBL,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,aAAA,EAAaN,WAAY;AAAA,IAAA,GACrBS,IAAI;IAAAF,QAAA,EAAA,CAEP,CAACO,OAAO,CAACP,QAAQ,CAAC,iBACjBQ,GAAA,CAACC,gBAAgB,EAAA;AACfX,MAAAA,IAAI,EAAEA,IAAK;AACXY,MAAAA,gBAAgB,EAAE,CAAE;AACpBC,MAAAA,KAAK,EAAC,mBAAmB;AAAAX,MAAAA,QAAA,EAExBA;KACe,CACnB,EAEA,CAACY,KAAK,CAACX,QAAQ,CAAC,iBACfO,GAAA,CAACK,IAAI,EAAA;AACHC,MAAAA,IAAI,EAAC,QAAQ;AACbC,MAAAA,QAAQ,EAAE,CAAE;MACZC,SAAS,EAAEC,MAAM,CAACC,aAAc;AAChCC,MAAAA,MAAM,EAAEC,eAAgB;AACxBtB,MAAAA,IAAI,EAAC,IAAI;AACTa,MAAAA,KAAK,EAAC,kBAAkB;MACxBU,OAAO,EAAGC,CAAC,IAAK;QACdA,CAAC,CAACC,eAAe,EAAE;QACnBtB,QAAQ,CAACqB,CAAC,CAAC;OACX;MACF,aAAa5B,EAAAA;AAAmB,KACjC,CACF;AAAA,GACW,CAAC;AAEnB,CAAC,CACH;;;;"}
1
+ {"version":3,"file":"Tag.mjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef, memo } from 'react'\n\nimport { CancelSmallIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type TagProps } from './Tag.types'\n\nimport styles from './Tag.module.scss'\n\n/**\n * @deprecated\n */\nconst TAG_TEST_ID = 'bezier-tag'\n\n/**\n * @deprecated\n */\nconst TAG_DELETE_TEST_ID = 'bezier-tag-delete-icon'\n\n/**\n * `Tag` is a component for representing tag, which shows close icon when `onDelete` property is specified.\n * @example\n * ```tsx\n * <Tag\n * size=\"m\"\n * variant=\"default\"\n * onDelete={handleDelete}\n * >\n * Payment\n * </Tag>\n * ```\n */\nexport const Tag = memo(\n forwardRef<HTMLDivElement, TagProps>(function Tag(\n { size = 'm', variant = 'default', children, onDelete, ...rest },\n forwardedRef\n ) {\n return (\n <BaseTagBadge\n ref={forwardedRef}\n size={size}\n variant={variant}\n data-testid={TAG_TEST_ID}\n {...rest}\n >\n {!isEmpty(children) && (\n <BaseTagBadgeText\n size={size}\n marginHorizontal={2}\n color=\"txt-black-darkest\"\n >\n {children}\n </BaseTagBadgeText>\n )}\n\n {!isNil(onDelete) && (\n <Icon\n role=\"button\"\n aria-label=\"delete\"\n tabIndex={0}\n className={styles.TagDeleteIcon}\n source={CancelSmallIcon}\n size=\"xs\"\n color=\"txt-black-darker\"\n onClick={(e) => {\n e.stopPropagation()\n onDelete(e)\n }}\n data-testid={TAG_DELETE_TEST_ID}\n />\n )}\n </BaseTagBadge>\n )\n })\n)\n"],"names":["TAG_TEST_ID","TAG_DELETE_TEST_ID","Tag","memo","forwardRef","size","variant","children","onDelete","rest","forwardedRef","_jsxs","BaseTagBadge","ref","isEmpty","_jsx","BaseTagBadgeText","marginHorizontal","color","isNil","Icon","role","tabIndex","className","styles","TagDeleteIcon","source","CancelSmallIcon","onClick","e","stopPropagation"],"mappings":";;;;;;;;AAkBA,MAAMA,WAAW,GAAG,YAAY;;AAEhC;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,wBAAwB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,GAAG,gBAAGC,IAAI,cACrBC,UAAU,CAA2B,SAASF,GAAGA,CAC/C;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAChEC,YAAY,EACZ;EACA,oBACEC,IAAA,CAACC,YAAY,EAAA;AACXC,IAAAA,GAAG,EAAEH,YAAa;AAClBL,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,aAAA,EAAaN,WAAY;AAAA,IAAA,GACrBS,IAAI;IAAAF,QAAA,EAAA,CAEP,CAACO,OAAO,CAACP,QAAQ,CAAC,iBACjBQ,GAAA,CAACC,gBAAgB,EAAA;AACfX,MAAAA,IAAI,EAAEA,IAAK;AACXY,MAAAA,gBAAgB,EAAE,CAAE;AACpBC,MAAAA,KAAK,EAAC,mBAAmB;AAAAX,MAAAA,QAAA,EAExBA;KACe,CACnB,EAEA,CAACY,KAAK,CAACX,QAAQ,CAAC,iBACfO,GAAA,CAACK,IAAI,EAAA;AACHC,MAAAA,IAAI,EAAC,QAAQ;AACb,MAAA,YAAA,EAAW,QAAQ;AACnBC,MAAAA,QAAQ,EAAE,CAAE;MACZC,SAAS,EAAEC,MAAM,CAACC,aAAc;AAChCC,MAAAA,MAAM,EAAEC,eAAgB;AACxBtB,MAAAA,IAAI,EAAC,IAAI;AACTa,MAAAA,KAAK,EAAC,kBAAkB;MACxBU,OAAO,EAAGC,CAAC,IAAK;QACdA,CAAC,CAACC,eAAe,EAAE;QACnBtB,QAAQ,CAACqB,CAAC,CAAC;OACX;MACF,aAAa5B,EAAAA;AAAmB,KACjC,CACF;AAAA,GACW,CAAC;AAEnB,CAAC,CACH;;;;"}
@@ -15,6 +15,10 @@ import { Icon } from '../Icon/Icon.mjs';
15
15
  import v4 from '../../node_modules/uuid/dist/esm-browser/v4.mjs';
16
16
 
17
17
  const TEXT_INPUT_TEST_ID = 'bezier-text-input';
18
+
19
+ /**
20
+ * @deprecated
21
+ */
18
22
  const TEXT_INPUT_CLEAR_ICON_TEST_ID = 'bezier-text-input-clear-icon';
19
23
 
20
24
  /**
@@ -291,6 +295,7 @@ const TextField = /*#__PURE__*/forwardRef(function TextField({
291
295
  className: styles.CloseIconWrapper,
292
296
  tabIndex: 0,
293
297
  onClick: handleClear,
298
+ "aria-label": "Clear input",
294
299
  children: /*#__PURE__*/jsx(Icon, {
295
300
  className: styles.CloseIcon,
296
301
  "data-testid": TEXT_INPUT_CLEAR_ICON_TEST_ID,
@@ -307,5 +312,5 @@ const TextField = /*#__PURE__*/forwardRef(function TextField({
307
312
  );
308
313
  });
309
314
 
310
- export { TEXT_INPUT_CLEAR_ICON_TEST_ID, TEXT_INPUT_TEST_ID, TextField };
315
+ export { TextField };
311
316
  //# sourceMappingURL=TextField.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.mjs","sources":["../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["'use client'\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\nimport * as React from 'react'\n\nimport { CancelCircleFilledIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\nimport { v4 as uuid } from 'uuid'\n\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport { type FormFieldSize } from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { toString } from '~/src/utils/string'\nimport { isArray, isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { useWindow } from '~/src/components/WindowProvider'\n\nimport {\n type SelectionRangeDirections,\n type TextFieldItemProps,\n type TextFieldProps,\n type TextFieldRef,\n} from './TextField.types'\n\nimport styles from './TextField.module.scss'\n\nexport const TEXT_INPUT_TEST_ID = 'bezier-text-input'\nexport const TEXT_INPUT_CLEAR_ICON_TEST_ID = 'bezier-text-input-clear-icon'\n\n/**\n * FIXME: This mapping constant was defined for UI consistency,\n * and it should be removed with size attribute\n */\nconst INPUT_LENGTH_BY_SIZE: Record<FormFieldSize, number> = {\n xs: 28,\n m: 36,\n l: 44,\n xl: 54,\n}\n\nfunction TextFieldLeftContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['leftContent']\n wrapperStyle: TextFieldProps['leftWrapperStyle']\n wrapperClassName: TextFieldProps['leftWrapperClassName']\n withoutWrapper: TextFieldProps['withoutLeftContentWrapper']\n}) {\n if (isNil(children)) {\n return null\n }\n\n const Content = (() => {\n if ('icon' in children) {\n return (\n <Icon\n className={!isNil(children.onClick) ? styles.clickable : undefined}\n source={children.icon}\n size=\"s\"\n color={children.iconColor ?? 'txt-black-dark'}\n onClick={children.onClick}\n />\n )\n }\n\n return children\n })()\n\n if (withoutWrapper) {\n return Content\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.LeftContentWrapper, wrapperClassName)}\n >\n {Content}\n </div>\n )\n}\n\nfunction TextFieldRightContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['rightContent']\n wrapperStyle: TextFieldProps['rightWrapperStyle']\n wrapperClassName: TextFieldProps['rightWrapperClassName']\n withoutWrapper: TextFieldProps['withoutRightContentWrapper']\n}) {\n const renderRightItem = useCallback(\n (item: TextFieldItemProps, key?: string) => {\n if ('icon' in item) {\n const Comp = !isNil(item.onClick) ? BaseButton : 'div'\n\n return (\n <Comp\n key={key}\n className={styles.RightItemWrapper}\n onClick={item.onClick}\n >\n <Icon\n source={item.icon}\n size=\"xs\"\n color={item.iconColor ?? 'txt-black-dark'}\n />\n </Comp>\n )\n }\n\n return React.cloneElement(item, { key })\n },\n []\n )\n\n if (isNil(children) || isEmpty(children)) {\n return null\n }\n\n const contents = isArray(children)\n ? children.map((item) => renderRightItem(item, uuid()))\n : renderRightItem(children)\n\n if (withoutWrapper) {\n return <>{contents}</>\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.RightContentWrapper, wrapperClassName)}\n >\n {contents}\n </div>\n )\n}\n\nexport const TextField = forwardRef<TextFieldRef, TextFieldProps>(\n function TextField(\n {\n type,\n size: sizeProps,\n autoFocus,\n autoComplete = 'off',\n variant = 'primary',\n allowClear = false,\n selectAllOnInit = false,\n selectAllOnFocus = false,\n leftContent,\n rightContent,\n withoutLeftContentWrapper = false,\n withoutRightContentWrapper = false,\n style,\n className,\n wrapperStyle,\n wrapperClassName,\n leftWrapperStyle,\n leftWrapperClassName,\n rightWrapperStyle,\n rightWrapperClassName,\n value,\n onFocus,\n onChange,\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { window } = useWindow()\n\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const focusTimeout = useRef<ReturnType<Window['setTimeout']>>(undefined)\n const blurTimeout = useRef<ReturnType<Window['setTimeout']>>(undefined)\n\n const normalizedValue = isNil(value) ? undefined : toString(value)\n const activeInput = !disabled && !readOnly\n const activeClear = activeInput && allowClear && !isEmpty(normalizedValue)\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n\n const focus = useCallback(() => {\n clearTimeout(focusTimeout.current)\n focusTimeout.current = window.setTimeout(() => {\n inputRef.current?.focus()\n }, 0)\n }, [window])\n\n const blur = useCallback(() => {\n clearTimeout(blurTimeout.current)\n blurTimeout.current = window.setTimeout(() => {\n inputRef.current?.blur()\n }, 0)\n }, [window])\n\n const setSelectionRange = useCallback(\n (start?: number, end?: number, direction?: SelectionRangeDirections) => {\n if (type && ['number', 'email', 'hidden'].includes(type)) {\n return\n }\n inputRef.current?.setSelectionRange(\n start || 0,\n end || 0,\n direction || 'none'\n )\n },\n [type]\n )\n\n const getSelectionRange = useCallback(\n (): [number, number] => [\n inputRef.current?.selectionStart || 0,\n inputRef.current?.selectionEnd || 0,\n ],\n []\n )\n\n const selectAll = useCallback(() => {\n focus()\n if (inputRef.current) {\n setSelectionRange(0, inputRef.current.value.length, 'backward')\n }\n }, [focus, setSelectionRange])\n\n const unselect = useCallback(() => {\n focus()\n if (inputRef.current) {\n const valueLen = inputRef.current.value.length\n setSelectionRange(valueLen, valueLen)\n }\n }, [focus, setSelectionRange])\n\n const getBoundingClientRect = useCallback((): DOMRect => {\n if (inputRef.current) {\n return inputRef.current.getBoundingClientRect()\n }\n return new DOMRect(undefined, undefined, 0, 0)\n }, [])\n\n const getDOMNode = useCallback(() => inputRef.current, [])\n\n const handle = useMemo(\n (): TextFieldRef => ({\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n }),\n [\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n ]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n useEffect(() => {\n if (autoFocus) {\n focus()\n }\n if (selectAllOnInit) {\n focus()\n selectAll()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n if (!activeInput) {\n return\n }\n if (selectAllOnFocus) {\n selectAll()\n }\n if (onFocus) {\n onFocus(event)\n }\n },\n [selectAllOnFocus, selectAll, activeInput, onFocus]\n )\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (activeInput && onChange) {\n onChange(event)\n }\n },\n [activeInput, onChange]\n )\n\n const {\n handleKeyDown: handleKeyDownWrappedWithComposingLocker,\n handleKeyUp: handleKeyUpWrappedWithComposingLocker,\n } = useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyDownWrappedWithComposingLocker) {\n handleKeyDownWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyDownWrappedWithComposingLocker]\n )\n\n const handleKeyUp = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyUpWrappedWithComposingLocker) {\n handleKeyUpWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyUpWrappedWithComposingLocker]\n )\n\n const handleClear = useCallback(() => {\n const input = inputRef.current\n if (activeInput && input) {\n const setValue = Object?.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value'\n )?.set\n const event = new Event('input', { bubbles: true })\n setValue?.call(input, '')\n input.dispatchEvent(event)\n }\n }, [activeInput])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n style={wrapperStyle}\n className={classNames(\n styles.TextFieldWrapper,\n styles[`variant-${variant}`],\n styles[`size-${size}`],\n getFormFieldSizeClassName(size),\n wrapperClassName\n )}\n data-testid={TEXT_INPUT_TEST_ID}\n onMouseDown={focus}\n >\n <TextFieldLeftContent\n wrapperStyle={leftWrapperStyle}\n wrapperClassName={leftWrapperClassName}\n withoutWrapper={withoutLeftContentWrapper}\n >\n {leftContent}\n </TextFieldLeftContent>\n\n <input\n style={style}\n className={classNames(styles.TextFieldInput, className)}\n ref={inputRef}\n type={type}\n value={normalizedValue}\n /**\n * Invalid size attribute\n * FIXME: https://github.com/channel-io/bezier-react/issues/1053\n */\n size={INPUT_LENGTH_BY_SIZE[size]}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onFocus={handleFocus}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n {...ownProps}\n />\n\n {activeClear && (\n <BaseButton\n className={styles.CloseIconWrapper}\n tabIndex={0}\n onClick={handleClear}\n >\n <Icon\n className={styles.CloseIcon}\n data-testid={TEXT_INPUT_CLEAR_ICON_TEST_ID}\n source={CancelCircleFilledIcon}\n size=\"xs\"\n />\n </BaseButton>\n )}\n\n <TextFieldRightContent\n wrapperStyle={rightWrapperStyle}\n withoutWrapper={withoutRightContentWrapper}\n wrapperClassName={rightWrapperClassName}\n >\n {rightContent}\n </TextFieldRightContent>\n </div>\n )\n }\n)\n"],"names":["TEXT_INPUT_TEST_ID","TEXT_INPUT_CLEAR_ICON_TEST_ID","INPUT_LENGTH_BY_SIZE","xs","m","l","xl","TextFieldLeftContent","children","wrapperStyle","wrapperClassName","withoutWrapper","isNil","Content","_children$iconColor","_jsx","Icon","className","onClick","styles","clickable","undefined","source","icon","size","color","iconColor","style","classNames","LeftContentWrapper","TextFieldRightContent","renderRightItem","useCallback","item","key","_item$iconColor","Comp","BaseButton","RightItemWrapper","React","cloneElement","isEmpty","contents","isArray","map","uuid","_Fragment","RightContentWrapper","TextField","forwardRef","type","sizeProps","autoFocus","autoComplete","variant","allowClear","selectAllOnInit","selectAllOnFocus","leftContent","rightContent","withoutLeftContentWrapper","withoutRightContentWrapper","leftWrapperStyle","leftWrapperClassName","rightWrapperStyle","rightWrapperClassName","value","onFocus","onChange","onKeyDown","onKeyUp","rest","forwardedRef","_ref","window","useWindow","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","focusTimeout","useRef","blurTimeout","normalizedValue","toString","activeInput","activeClear","inputRef","focus","clearTimeout","current","setTimeout","_inputRef$current","blur","_inputRef$current2","setSelectionRange","start","end","direction","_inputRef$current3","includes","getSelectionRange","_inputRef$current4","_inputRef$current5","selectionStart","selectionEnd","selectAll","length","unselect","valueLen","getBoundingClientRect","DOMRect","getDOMNode","handle","useMemo","useImperativeHandle","useEffect","handleFocus","event","handleChange","handleKeyDown","handleKeyDownWrappedWithComposingLocker","handleKeyUp","handleKeyUpWrappedWithComposingLocker","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","handleClear","input","_Object$getOwnPropert","setValue","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","Event","bubbles","call","dispatchEvent","_jsxs","TextFieldWrapper","getFormFieldSizeClassName","onMouseDown","TextFieldInput","ref","CloseIconWrapper","tabIndex","CloseIcon","CancelCircleFilledIcon"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.mjs","sources":["../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["'use client'\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\nimport * as React from 'react'\n\nimport { CancelCircleFilledIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\nimport { v4 as uuid } from 'uuid'\n\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport { type FormFieldSize } from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { toString } from '~/src/utils/string'\nimport { isArray, isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { useWindow } from '~/src/components/WindowProvider'\n\nimport {\n type SelectionRangeDirections,\n type TextFieldItemProps,\n type TextFieldProps,\n type TextFieldRef,\n} from './TextField.types'\n\nimport styles from './TextField.module.scss'\n\n/**\n * @deprecated\n */\nconst TEXT_INPUT_TEST_ID = 'bezier-text-input'\n\n/**\n * @deprecated\n */\nconst TEXT_INPUT_CLEAR_ICON_TEST_ID = 'bezier-text-input-clear-icon'\n\n/**\n * FIXME: This mapping constant was defined for UI consistency,\n * and it should be removed with size attribute\n */\nconst INPUT_LENGTH_BY_SIZE: Record<FormFieldSize, number> = {\n xs: 28,\n m: 36,\n l: 44,\n xl: 54,\n}\n\nfunction TextFieldLeftContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['leftContent']\n wrapperStyle: TextFieldProps['leftWrapperStyle']\n wrapperClassName: TextFieldProps['leftWrapperClassName']\n withoutWrapper: TextFieldProps['withoutLeftContentWrapper']\n}) {\n if (isNil(children)) {\n return null\n }\n\n const Content = (() => {\n if ('icon' in children) {\n return (\n <Icon\n className={!isNil(children.onClick) ? styles.clickable : undefined}\n source={children.icon}\n size=\"s\"\n color={children.iconColor ?? 'txt-black-dark'}\n onClick={children.onClick}\n />\n )\n }\n\n return children\n })()\n\n if (withoutWrapper) {\n return Content\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.LeftContentWrapper, wrapperClassName)}\n >\n {Content}\n </div>\n )\n}\n\nfunction TextFieldRightContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['rightContent']\n wrapperStyle: TextFieldProps['rightWrapperStyle']\n wrapperClassName: TextFieldProps['rightWrapperClassName']\n withoutWrapper: TextFieldProps['withoutRightContentWrapper']\n}) {\n const renderRightItem = useCallback(\n (item: TextFieldItemProps, key?: string) => {\n if ('icon' in item) {\n const Comp = !isNil(item.onClick) ? BaseButton : 'div'\n\n return (\n <Comp\n key={key}\n className={styles.RightItemWrapper}\n onClick={item.onClick}\n >\n <Icon\n source={item.icon}\n size=\"xs\"\n color={item.iconColor ?? 'txt-black-dark'}\n />\n </Comp>\n )\n }\n\n return React.cloneElement(item, { key })\n },\n []\n )\n\n if (isNil(children) || isEmpty(children)) {\n return null\n }\n\n const contents = isArray(children)\n ? children.map((item) => renderRightItem(item, uuid()))\n : renderRightItem(children)\n\n if (withoutWrapper) {\n return <>{contents}</>\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.RightContentWrapper, wrapperClassName)}\n >\n {contents}\n </div>\n )\n}\n\nexport const TextField = forwardRef<TextFieldRef, TextFieldProps>(\n function TextField(\n {\n type,\n size: sizeProps,\n autoFocus,\n autoComplete = 'off',\n variant = 'primary',\n allowClear = false,\n selectAllOnInit = false,\n selectAllOnFocus = false,\n leftContent,\n rightContent,\n withoutLeftContentWrapper = false,\n withoutRightContentWrapper = false,\n style,\n className,\n wrapperStyle,\n wrapperClassName,\n leftWrapperStyle,\n leftWrapperClassName,\n rightWrapperStyle,\n rightWrapperClassName,\n value,\n onFocus,\n onChange,\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { window } = useWindow()\n\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const focusTimeout = useRef<ReturnType<Window['setTimeout']>>(undefined)\n const blurTimeout = useRef<ReturnType<Window['setTimeout']>>(undefined)\n\n const normalizedValue = isNil(value) ? undefined : toString(value)\n const activeInput = !disabled && !readOnly\n const activeClear = activeInput && allowClear && !isEmpty(normalizedValue)\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n\n const focus = useCallback(() => {\n clearTimeout(focusTimeout.current)\n focusTimeout.current = window.setTimeout(() => {\n inputRef.current?.focus()\n }, 0)\n }, [window])\n\n const blur = useCallback(() => {\n clearTimeout(blurTimeout.current)\n blurTimeout.current = window.setTimeout(() => {\n inputRef.current?.blur()\n }, 0)\n }, [window])\n\n const setSelectionRange = useCallback(\n (start?: number, end?: number, direction?: SelectionRangeDirections) => {\n if (type && ['number', 'email', 'hidden'].includes(type)) {\n return\n }\n inputRef.current?.setSelectionRange(\n start || 0,\n end || 0,\n direction || 'none'\n )\n },\n [type]\n )\n\n const getSelectionRange = useCallback(\n (): [number, number] => [\n inputRef.current?.selectionStart || 0,\n inputRef.current?.selectionEnd || 0,\n ],\n []\n )\n\n const selectAll = useCallback(() => {\n focus()\n if (inputRef.current) {\n setSelectionRange(0, inputRef.current.value.length, 'backward')\n }\n }, [focus, setSelectionRange])\n\n const unselect = useCallback(() => {\n focus()\n if (inputRef.current) {\n const valueLen = inputRef.current.value.length\n setSelectionRange(valueLen, valueLen)\n }\n }, [focus, setSelectionRange])\n\n const getBoundingClientRect = useCallback((): DOMRect => {\n if (inputRef.current) {\n return inputRef.current.getBoundingClientRect()\n }\n return new DOMRect(undefined, undefined, 0, 0)\n }, [])\n\n const getDOMNode = useCallback(() => inputRef.current, [])\n\n const handle = useMemo(\n (): TextFieldRef => ({\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n }),\n [\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n ]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n useEffect(() => {\n if (autoFocus) {\n focus()\n }\n if (selectAllOnInit) {\n focus()\n selectAll()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n if (!activeInput) {\n return\n }\n if (selectAllOnFocus) {\n selectAll()\n }\n if (onFocus) {\n onFocus(event)\n }\n },\n [selectAllOnFocus, selectAll, activeInput, onFocus]\n )\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (activeInput && onChange) {\n onChange(event)\n }\n },\n [activeInput, onChange]\n )\n\n const {\n handleKeyDown: handleKeyDownWrappedWithComposingLocker,\n handleKeyUp: handleKeyUpWrappedWithComposingLocker,\n } = useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyDownWrappedWithComposingLocker) {\n handleKeyDownWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyDownWrappedWithComposingLocker]\n )\n\n const handleKeyUp = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyUpWrappedWithComposingLocker) {\n handleKeyUpWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyUpWrappedWithComposingLocker]\n )\n\n const handleClear = useCallback(() => {\n const input = inputRef.current\n if (activeInput && input) {\n const setValue = Object?.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value'\n )?.set\n const event = new Event('input', { bubbles: true })\n setValue?.call(input, '')\n input.dispatchEvent(event)\n }\n }, [activeInput])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n style={wrapperStyle}\n className={classNames(\n styles.TextFieldWrapper,\n styles[`variant-${variant}`],\n styles[`size-${size}`],\n getFormFieldSizeClassName(size),\n wrapperClassName\n )}\n data-testid={TEXT_INPUT_TEST_ID}\n onMouseDown={focus}\n >\n <TextFieldLeftContent\n wrapperStyle={leftWrapperStyle}\n wrapperClassName={leftWrapperClassName}\n withoutWrapper={withoutLeftContentWrapper}\n >\n {leftContent}\n </TextFieldLeftContent>\n\n <input\n style={style}\n className={classNames(styles.TextFieldInput, className)}\n ref={inputRef}\n type={type}\n value={normalizedValue}\n /**\n * Invalid size attribute\n * FIXME: https://github.com/channel-io/bezier-react/issues/1053\n */\n size={INPUT_LENGTH_BY_SIZE[size]}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onFocus={handleFocus}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n {...ownProps}\n />\n\n {activeClear && (\n <BaseButton\n className={styles.CloseIconWrapper}\n tabIndex={0}\n onClick={handleClear}\n aria-label=\"Clear input\"\n >\n <Icon\n className={styles.CloseIcon}\n data-testid={TEXT_INPUT_CLEAR_ICON_TEST_ID}\n source={CancelCircleFilledIcon}\n size=\"xs\"\n />\n </BaseButton>\n )}\n\n <TextFieldRightContent\n wrapperStyle={rightWrapperStyle}\n withoutWrapper={withoutRightContentWrapper}\n wrapperClassName={rightWrapperClassName}\n >\n {rightContent}\n </TextFieldRightContent>\n </div>\n )\n }\n)\n"],"names":["TEXT_INPUT_TEST_ID","TEXT_INPUT_CLEAR_ICON_TEST_ID","INPUT_LENGTH_BY_SIZE","xs","m","l","xl","TextFieldLeftContent","children","wrapperStyle","wrapperClassName","withoutWrapper","isNil","Content","_children$iconColor","_jsx","Icon","className","onClick","styles","clickable","undefined","source","icon","size","color","iconColor","style","classNames","LeftContentWrapper","TextFieldRightContent","renderRightItem","useCallback","item","key","_item$iconColor","Comp","BaseButton","RightItemWrapper","React","cloneElement","isEmpty","contents","isArray","map","uuid","_Fragment","RightContentWrapper","TextField","forwardRef","type","sizeProps","autoFocus","autoComplete","variant","allowClear","selectAllOnInit","selectAllOnFocus","leftContent","rightContent","withoutLeftContentWrapper","withoutRightContentWrapper","leftWrapperStyle","leftWrapperClassName","rightWrapperStyle","rightWrapperClassName","value","onFocus","onChange","onKeyDown","onKeyUp","rest","forwardedRef","_ref","window","useWindow","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","focusTimeout","useRef","blurTimeout","normalizedValue","toString","activeInput","activeClear","inputRef","focus","clearTimeout","current","setTimeout","_inputRef$current","blur","_inputRef$current2","setSelectionRange","start","end","direction","_inputRef$current3","includes","getSelectionRange","_inputRef$current4","_inputRef$current5","selectionStart","selectionEnd","selectAll","length","unselect","valueLen","getBoundingClientRect","DOMRect","getDOMNode","handle","useMemo","useImperativeHandle","useEffect","handleFocus","event","handleChange","handleKeyDown","handleKeyDownWrappedWithComposingLocker","handleKeyUp","handleKeyUpWrappedWithComposingLocker","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","handleClear","input","_Object$getOwnPropert","setValue","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","Event","bubbles","call","dispatchEvent","_jsxs","TextFieldWrapper","getFormFieldSizeClassName","onMouseDown","TextFieldInput","ref","CloseIconWrapper","tabIndex","CloseIcon","CancelCircleFilledIcon"],"mappings":"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"}