@channel.io/bezier-react 2.0.0-alpha.19 → 2.0.0-alpha.20

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 (112) hide show
  1. package/dist/cjs/alpha-components/DialogPrimitive/DialogPrimitive.js +53 -0
  2. package/dist/cjs/alpha-components/DialogPrimitive/DialogPrimitive.js.map +1 -0
  3. package/dist/cjs/alpha-components/TooltipPrimitive/TooltipPrimitive.js +41 -0
  4. package/dist/cjs/alpha-components/TooltipPrimitive/TooltipPrimitive.js.map +1 -0
  5. package/dist/cjs/alpha-components/index.js +22 -0
  6. package/dist/cjs/alpha-components/index.js.map +1 -0
  7. package/dist/cjs/components/Avatar/Avatar.js +2 -2
  8. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  9. package/dist/cjs/components/AvatarGroup/AvatarGroup.js +2 -2
  10. package/dist/cjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  11. package/dist/cjs/components/Modal/Modal.js +15 -15
  12. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  13. package/dist/cjs/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.js → SmoothCornersBox/SmoothCornersBox.js} +7 -7
  14. package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.js.map +1 -0
  15. package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.module.scss.js +8 -0
  16. package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.module.scss.js.map +1 -0
  17. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  18. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  19. package/dist/cjs/index.js +2 -2
  20. package/dist/cjs/node_modules/@radix-ui/react-arrow/dist/index.js +29 -0
  21. package/dist/cjs/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -0
  22. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.js +0 -16
  23. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
  24. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js +55 -0
  25. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  26. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js +17 -10
  27. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -1
  28. package/dist/cjs/styles.css +1 -1
  29. package/dist/esm/alpha-components/DialogPrimitive/DialogPrimitive.mjs +44 -0
  30. package/dist/esm/alpha-components/DialogPrimitive/DialogPrimitive.mjs.map +1 -0
  31. package/dist/esm/alpha-components/TooltipPrimitive/TooltipPrimitive.mjs +34 -0
  32. package/dist/esm/alpha-components/TooltipPrimitive/TooltipPrimitive.mjs.map +1 -0
  33. package/dist/esm/alpha-components/index.mjs +3 -0
  34. package/dist/esm/alpha-components/index.mjs.map +1 -0
  35. package/dist/esm/components/Avatar/Avatar.mjs +2 -2
  36. package/dist/esm/components/Avatar/Avatar.mjs.map +1 -1
  37. package/dist/esm/components/AvatarGroup/AvatarGroup.mjs +2 -2
  38. package/dist/esm/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
  39. package/dist/esm/components/Modal/Modal.mjs +9 -9
  40. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  41. package/dist/esm/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.mjs → SmoothCornersBox/SmoothCornersBox.mjs} +6 -6
  42. package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.mjs.map +1 -0
  43. package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.module.scss.mjs +4 -0
  44. package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.module.scss.mjs.map +1 -0
  45. package/dist/esm/components/Tooltip/Tooltip.mjs +6 -6
  46. package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  47. package/dist/esm/index.mjs +1 -1
  48. package/dist/esm/node_modules/@radix-ui/react-arrow/dist/index.mjs +26 -0
  49. package/dist/esm/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +1 -0
  50. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs +1 -9
  51. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs.map +1 -1
  52. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs +54 -1
  53. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs.map +1 -1
  54. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs +18 -7
  55. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs.map +1 -1
  56. package/dist/esm/styles.css +1 -1
  57. package/dist/types/alpha-components/DialogPrimitive/DialogPrimitive.d.ts +34 -0
  58. package/dist/types/alpha-components/DialogPrimitive/DialogPrimitive.d.ts.map +1 -0
  59. package/dist/types/alpha-components/DialogPrimitive/DialogPrimitive.types.d.ts +34 -0
  60. package/dist/types/alpha-components/DialogPrimitive/DialogPrimitive.types.d.ts.map +1 -0
  61. package/dist/types/alpha-components/DialogPrimitive/index.d.ts +3 -0
  62. package/dist/types/alpha-components/DialogPrimitive/index.d.ts.map +1 -0
  63. package/dist/types/alpha-components/TooltipPrimitive/TooltipPrimitive.d.ts +26 -0
  64. package/dist/types/alpha-components/TooltipPrimitive/TooltipPrimitive.d.ts.map +1 -0
  65. package/dist/types/alpha-components/TooltipPrimitive/TooltipPrimitive.types.d.ts +26 -0
  66. package/dist/types/alpha-components/TooltipPrimitive/TooltipPrimitive.types.d.ts.map +1 -0
  67. package/dist/types/alpha-components/TooltipPrimitive/index.d.ts +3 -0
  68. package/dist/types/alpha-components/TooltipPrimitive/index.d.ts.map +1 -0
  69. package/dist/types/alpha-components/index.d.ts +3 -0
  70. package/dist/types/alpha-components/index.d.ts.map +1 -0
  71. package/dist/types/components/Modal/Modal.d.ts.map +1 -1
  72. package/dist/types/components/SmoothCornersBox/SmoothCornersBox.d.ts +15 -0
  73. package/dist/types/components/SmoothCornersBox/SmoothCornersBox.d.ts.map +1 -0
  74. package/dist/types/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.types.d.ts → SmoothCornersBox/SmoothCornersBox.types.d.ts} +3 -3
  75. package/dist/types/components/SmoothCornersBox/SmoothCornersBox.types.d.ts.map +1 -0
  76. package/dist/types/components/SmoothCornersBox/index.d.ts +3 -0
  77. package/dist/types/components/SmoothCornersBox/index.d.ts.map +1 -0
  78. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  79. package/dist/types/index.d.ts +1 -1
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/package.json +14 -2
  82. package/src/alpha-components/DialogPrimitive/DialogPrimitive.tsx +50 -0
  83. package/src/alpha-components/DialogPrimitive/DialogPrimitive.types.ts +50 -0
  84. package/src/alpha-components/DialogPrimitive/index.ts +20 -0
  85. package/src/alpha-components/TooltipPrimitive/TooltipPrimitive.tsx +38 -0
  86. package/src/alpha-components/TooltipPrimitive/TooltipPrimitive.types.ts +38 -0
  87. package/src/alpha-components/TooltipPrimitive/index.ts +16 -0
  88. package/src/alpha-components/index.ts +2 -0
  89. package/src/components/Avatar/Avatar.tsx +6 -6
  90. package/src/components/AvatarGroup/AvatarGroup.tsx +3 -3
  91. package/src/components/Modal/Modal.tsx +28 -18
  92. package/src/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.stories.tsx → SmoothCornersBox/SmoothCornersBox.stories.tsx} +7 -7
  93. package/src/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.test.tsx → SmoothCornersBox/SmoothCornersBox.test.tsx} +6 -6
  94. package/src/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.tsx → SmoothCornersBox/SmoothCornersBox.tsx} +5 -5
  95. package/src/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.types.ts → SmoothCornersBox/SmoothCornersBox.types.ts} +3 -3
  96. package/src/components/{AlphaSmoothCornersBox/__snapshots__/AlphaSmoothCornersBox.test.tsx.snap → SmoothCornersBox/__snapshots__/SmoothCornersBox.test.tsx.snap} +1 -1
  97. package/src/components/SmoothCornersBox/index.ts +2 -0
  98. package/src/components/Tooltip/Tooltip.tsx +19 -13
  99. package/src/index.ts +1 -1
  100. package/dist/cjs/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.js.map +0 -1
  101. package/dist/cjs/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.module.scss.js +0 -8
  102. package/dist/cjs/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.module.scss.js.map +0 -1
  103. package/dist/esm/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.mjs.map +0 -1
  104. package/dist/esm/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.module.scss.mjs +0 -4
  105. package/dist/esm/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.module.scss.mjs.map +0 -1
  106. package/dist/types/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.d.ts +0 -15
  107. package/dist/types/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.d.ts.map +0 -1
  108. package/dist/types/components/AlphaSmoothCornersBox/AlphaSmoothCornersBox.types.d.ts.map +0 -1
  109. package/dist/types/components/AlphaSmoothCornersBox/index.d.ts +0 -3
  110. package/dist/types/components/AlphaSmoothCornersBox/index.d.ts.map +0 -1
  111. package/src/components/AlphaSmoothCornersBox/index.ts +0 -2
  112. /package/src/components/{AlphaSmoothCornersBox/AlphaSmoothCornersBox.module.scss → SmoothCornersBox/SmoothCornersBox.module.scss} +0 -0
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var index = require('../../node_modules/@radix-ui/react-dialog/dist/index.js');
4
+
5
+ /**
6
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#root}
7
+ */
8
+ const DialogPrimitive = index.Dialog;
9
+
10
+ /**
11
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#close}
12
+ */
13
+ const DialogPrimitiveClose = index.DialogClose;
14
+
15
+ /**
16
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#content}
17
+ */
18
+ const DialogPrimitiveContent = index.DialogContent;
19
+
20
+ /**
21
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#description}
22
+ */
23
+ const DialogPrimitiveDescription = index.DialogDescription;
24
+
25
+ /**
26
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#overlay}
27
+ */
28
+ const DialogPrimitiveOverlay = index.DialogOverlay;
29
+
30
+ /**
31
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#portal}
32
+ */
33
+ const DialogPrimitivePortal = index.DialogPortal;
34
+
35
+ /**
36
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#title}
37
+ */
38
+ const DialogPrimitiveTitle = index.DialogTitle;
39
+
40
+ /**
41
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#trigger}
42
+ */
43
+ const DialogPrimitiveTrigger = index.DialogTrigger;
44
+
45
+ exports.DialogPrimitive = DialogPrimitive;
46
+ exports.DialogPrimitiveClose = DialogPrimitiveClose;
47
+ exports.DialogPrimitiveContent = DialogPrimitiveContent;
48
+ exports.DialogPrimitiveDescription = DialogPrimitiveDescription;
49
+ exports.DialogPrimitiveOverlay = DialogPrimitiveOverlay;
50
+ exports.DialogPrimitivePortal = DialogPrimitivePortal;
51
+ exports.DialogPrimitiveTitle = DialogPrimitiveTitle;
52
+ exports.DialogPrimitiveTrigger = DialogPrimitiveTrigger;
53
+ //# sourceMappingURL=DialogPrimitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogPrimitive.js","sources":["../../../../src/alpha-components/DialogPrimitive/DialogPrimitive.tsx"],"sourcesContent":["import {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog'\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#root}\n */\nexport const DialogPrimitive = Dialog\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#close}\n */\nexport const DialogPrimitiveClose = DialogClose\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#content}\n */\nexport const DialogPrimitiveContent = DialogContent\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#description}\n */\nexport const DialogPrimitiveDescription = DialogDescription\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#overlay}\n */\nexport const DialogPrimitiveOverlay = DialogOverlay\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#portal}\n */\nexport const DialogPrimitivePortal = DialogPortal\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#title}\n */\nexport const DialogPrimitiveTitle = DialogTitle\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/dialog#trigger}\n */\nexport const DialogPrimitiveTrigger = DialogTrigger\n"],"names":["DialogPrimitive","Dialog","DialogPrimitiveClose","DialogClose","DialogPrimitiveContent","DialogContent","DialogPrimitiveDescription","DialogDescription","DialogPrimitiveOverlay","DialogOverlay","DialogPrimitivePortal","DialogPortal","DialogPrimitiveTitle","DialogTitle","DialogPrimitiveTrigger","DialogTrigger"],"mappings":";;;;AAWA;AACA;AACA;AACO,MAAMA,eAAe,GAAGC,aAAM;;AAErC;AACA;AACA;AACO,MAAMC,oBAAoB,GAAGC,kBAAW;;AAE/C;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGC,oBAAa;;AAEnD;AACA;AACA;AACO,MAAMC,0BAA0B,GAAGC,wBAAiB;;AAE3D;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGC,oBAAa;;AAEnD;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGC,mBAAY;;AAEjD;AACA;AACA;AACO,MAAMC,oBAAoB,GAAGC,kBAAW;;AAE/C;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGC;;;;;;;;;;;"}
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var index = require('../../node_modules/@radix-ui/react-tooltip/dist/index.js');
4
+
5
+ /**
6
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#provider}
7
+ */
8
+ const TooltipPrimitiveProvider = index.TooltipProvider;
9
+
10
+ /**
11
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#root}
12
+ */
13
+ const TooltipPrimitive = index.Tooltip;
14
+
15
+ /**
16
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#trigger}
17
+ */
18
+ const TooltipPrimitiveTrigger = index.TooltipTrigger;
19
+
20
+ /**
21
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#portal}
22
+ */
23
+ const TooltipPrimitivePortal = index.TooltipPortal;
24
+
25
+ /**
26
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#content}
27
+ */
28
+ const TooltipPrimitiveContent = index.TooltipContent;
29
+
30
+ /**
31
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#arrow}
32
+ */
33
+ const TooltipPrimitiveArrow = index.TooltipArrow;
34
+
35
+ exports.TooltipPrimitive = TooltipPrimitive;
36
+ exports.TooltipPrimitiveArrow = TooltipPrimitiveArrow;
37
+ exports.TooltipPrimitiveContent = TooltipPrimitiveContent;
38
+ exports.TooltipPrimitivePortal = TooltipPrimitivePortal;
39
+ exports.TooltipPrimitiveProvider = TooltipPrimitiveProvider;
40
+ exports.TooltipPrimitiveTrigger = TooltipPrimitiveTrigger;
41
+ //# sourceMappingURL=TooltipPrimitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipPrimitive.js","sources":["../../../../src/alpha-components/TooltipPrimitive/TooltipPrimitive.tsx"],"sourcesContent":["import {\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n} from '@radix-ui/react-tooltip'\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#provider}\n */\nexport const TooltipPrimitiveProvider = TooltipProvider\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#root}\n */\nexport const TooltipPrimitive = Tooltip\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#trigger}\n */\nexport const TooltipPrimitiveTrigger = TooltipTrigger\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#portal}\n */\nexport const TooltipPrimitivePortal = TooltipPortal\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#content}\n */\nexport const TooltipPrimitiveContent = TooltipContent\n\n/**\n * @see {@link https://www.radix-ui.com/primitives/docs/components/tooltip#arrow}\n */\nexport const TooltipPrimitiveArrow = TooltipArrow\n"],"names":["TooltipPrimitiveProvider","TooltipProvider","TooltipPrimitive","Tooltip","TooltipPrimitiveTrigger","TooltipTrigger","TooltipPrimitivePortal","TooltipPortal","TooltipPrimitiveContent","TooltipContent","TooltipPrimitiveArrow","TooltipArrow"],"mappings":";;;;AASA;AACA;AACA;AACO,MAAMA,wBAAwB,GAAGC,sBAAe;;AAEvD;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGC,cAAO;;AAEvC;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGC,qBAAc;;AAErD;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGC,oBAAa;;AAEnD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGC,qBAAc;;AAErD;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGC;;;;;;;;;"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var DialogPrimitive = require('./DialogPrimitive/DialogPrimitive.js');
4
+ var TooltipPrimitive = require('./TooltipPrimitive/TooltipPrimitive.js');
5
+
6
+
7
+
8
+ exports.DialogPrimitive = DialogPrimitive.DialogPrimitive;
9
+ exports.DialogPrimitiveClose = DialogPrimitive.DialogPrimitiveClose;
10
+ exports.DialogPrimitiveContent = DialogPrimitive.DialogPrimitiveContent;
11
+ exports.DialogPrimitiveDescription = DialogPrimitive.DialogPrimitiveDescription;
12
+ exports.DialogPrimitiveOverlay = DialogPrimitive.DialogPrimitiveOverlay;
13
+ exports.DialogPrimitivePortal = DialogPrimitive.DialogPrimitivePortal;
14
+ exports.DialogPrimitiveTitle = DialogPrimitive.DialogPrimitiveTitle;
15
+ exports.DialogPrimitiveTrigger = DialogPrimitive.DialogPrimitiveTrigger;
16
+ exports.TooltipPrimitive = TooltipPrimitive.TooltipPrimitive;
17
+ exports.TooltipPrimitiveArrow = TooltipPrimitive.TooltipPrimitiveArrow;
18
+ exports.TooltipPrimitiveContent = TooltipPrimitive.TooltipPrimitiveContent;
19
+ exports.TooltipPrimitivePortal = TooltipPrimitive.TooltipPrimitivePortal;
20
+ exports.TooltipPrimitiveProvider = TooltipPrimitive.TooltipPrimitiveProvider;
21
+ exports.TooltipPrimitiveTrigger = TooltipPrimitive.TooltipPrimitiveTrigger;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@ var defaultAvatar = require('./assets/default-avatar.svg.js');
7
7
  var useProgressiveImage = require('./useProgressiveImage.js');
8
8
  var Avatar_module = require('./Avatar.module.scss.js');
9
9
  var ThemeProvider = require('../ThemeProvider/ThemeProvider.js');
10
- var AlphaSmoothCornersBox = require('../AlphaSmoothCornersBox/AlphaSmoothCornersBox.js');
10
+ var SmoothCornersBox = require('../SmoothCornersBox/SmoothCornersBox.js');
11
11
  var Status = require('../Status/Status.js');
12
12
 
13
13
  const shadow = {
@@ -84,7 +84,7 @@ const Avatar = /*#__PURE__*/React.forwardRef(function Avatar({
84
84
  className: index.default(Avatar_module.default.Avatar, Avatar_module.default[`size-${size}`], disabled && Avatar_module.default.disabled, className),
85
85
  "data-disabled": disabled,
86
86
  "data-testid": AVATAR_WRAPPER_TEST_ID
87
- }, rest), /*#__PURE__*/React.createElement(AlphaSmoothCornersBox.AlphaSmoothCornersBox, {
87
+ }, rest), /*#__PURE__*/React.createElement(SmoothCornersBox.SmoothCornersBox, {
88
88
  ref: forwardedRef,
89
89
  "aria-label": name,
90
90
  className: index.default(Avatar_module.default.AvatarImage, Number(size) >= 72 && Avatar_module.default['big-size'], showBorder && Avatar_module.default.bordered),
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useMemo,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n AlphaSmoothCornersBox,\n type AlphaSmoothCornersBoxProps,\n} from '~/src/components/AlphaSmoothCornersBox'\nimport {\n Status,\n type StatusSize,\n} from '~/src/components/Status'\nimport { useTokens } from '~/src/components/ThemeProvider'\n\nimport type { AvatarProps } from './Avatar.types'\nimport defaultAvatarUrl from './assets/default-avatar.svg'\nimport useProgressiveImage from './useProgressiveImage'\n\nimport styles from './Avatar.module.scss'\n\nconst shadow: AlphaSmoothCornersBoxProps['shadow'] = {\n spreadRadius: 2,\n color: 'bg-white-high',\n}\n\nexport function useAvatarRadiusToken() {\n return useTokens().global.radius['radius-42-p']\n}\n\nexport const AVATAR_WRAPPER_TEST_ID = 'bezier-avatar-wrapper'\nexport const AVATAR_TEST_ID = 'bezier-avatar'\nexport const STATUS_WRAPPER_TEST_ID = 'bezier-status-wrapper'\n\n/**\n * `Avatar` is a component for representing some profile image.\n * @example\n *\n * ```tsx\n * <Avatar\n * avatarUrl=\"'https://cf.channel.io/thumb/200x200/pub-file/1/606d87d059a6093594c0/ch-symbol-filled-smiley-bg.png\"\n * name=\"channel\"\n * size=\"48\"\n * showBorder\n * disabled\n * />\n * ```\n */\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar({\n avatarUrl = '',\n fallbackUrl = defaultAvatarUrl,\n size = '24',\n name,\n disabled = false,\n showBorder = false,\n smoothCorners = true,\n status,\n className,\n children,\n ...rest\n}, forwardedRef) {\n const loadedAvatarUrl = useProgressiveImage(avatarUrl, fallbackUrl)\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const StatusComponent = useMemo(() => {\n if (\n (isEmpty(children) && !status)\n || (children && !React.isValidElement(children))\n ) {\n return null\n }\n\n const statusSize: StatusSize = (() => {\n switch (size) {\n case '90':\n case '120':\n return 'l'\n default:\n return 'm'\n }\n })()\n\n const Contents = (() => {\n if (children) { return children }\n if (status) {\n return (\n <Status\n type={status}\n size={statusSize}\n />\n )\n }\n return null\n })()\n\n return Contents && (\n <div\n className={styles.StatusWrapper}\n data-testid={STATUS_WRAPPER_TEST_ID}\n >\n { Contents }\n </div>\n )\n }, [\n status,\n size,\n children,\n ])\n\n return (\n <div\n className={classNames(\n styles.Avatar,\n styles[`size-${size}`],\n disabled && styles.disabled,\n className,\n )}\n data-disabled={disabled}\n data-testid={AVATAR_WRAPPER_TEST_ID}\n {...rest}\n >\n <AlphaSmoothCornersBox\n ref={forwardedRef}\n aria-label={name}\n className={classNames(\n styles.AvatarImage,\n Number(size) >= 72 && styles['big-size'],\n showBorder && styles.bordered,\n )}\n disabled={!smoothCorners}\n borderRadius={AVATAR_BORDER_RADIUS}\n shadow={showBorder ? shadow : undefined}\n backgroundColor=\"bg-white-normal\"\n backgroundImage={loadedAvatarUrl}\n data-testid={AVATAR_TEST_ID}\n >\n { StatusComponent }\n </AlphaSmoothCornersBox>\n </div>\n )\n})\n"],"names":["shadow","spreadRadius","color","useAvatarRadiusToken","useTokens","global","radius","AVATAR_WRAPPER_TEST_ID","AVATAR_TEST_ID","STATUS_WRAPPER_TEST_ID","Avatar","forwardRef","avatarUrl","fallbackUrl","defaultAvatarUrl","size","name","disabled","showBorder","smoothCorners","status","className","children","rest","forwardedRef","loadedAvatarUrl","useProgressiveImage","AVATAR_BORDER_RADIUS","StatusComponent","useMemo","isEmpty","React","isValidElement","statusSize","Contents","createElement","Status","type","styles","StatusWrapper","Object","assign","classNames","AlphaSmoothCornersBox","ref","AvatarImage","Number","bordered","borderRadius","undefined","backgroundColor","backgroundImage"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useMemo,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n SmoothCornersBox,\n type SmoothCornersBoxProps,\n} from '~/src/components/SmoothCornersBox'\nimport {\n Status,\n type StatusSize,\n} from '~/src/components/Status'\nimport { useTokens } from '~/src/components/ThemeProvider'\n\nimport type { AvatarProps } from './Avatar.types'\nimport defaultAvatarUrl from './assets/default-avatar.svg'\nimport useProgressiveImage from './useProgressiveImage'\n\nimport styles from './Avatar.module.scss'\n\nconst shadow: SmoothCornersBoxProps['shadow'] = {\n spreadRadius: 2,\n color: 'bg-white-high',\n}\n\nexport function useAvatarRadiusToken() {\n return useTokens().global.radius['radius-42-p']\n}\n\nexport const AVATAR_WRAPPER_TEST_ID = 'bezier-avatar-wrapper'\nexport const AVATAR_TEST_ID = 'bezier-avatar'\nexport const STATUS_WRAPPER_TEST_ID = 'bezier-status-wrapper'\n\n/**\n * `Avatar` is a component for representing some profile image.\n * @example\n *\n * ```tsx\n * <Avatar\n * avatarUrl=\"'https://cf.channel.io/thumb/200x200/pub-file/1/606d87d059a6093594c0/ch-symbol-filled-smiley-bg.png\"\n * name=\"channel\"\n * size=\"48\"\n * showBorder\n * disabled\n * />\n * ```\n */\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar({\n avatarUrl = '',\n fallbackUrl = defaultAvatarUrl,\n size = '24',\n name,\n disabled = false,\n showBorder = false,\n smoothCorners = true,\n status,\n className,\n children,\n ...rest\n}, forwardedRef) {\n const loadedAvatarUrl = useProgressiveImage(avatarUrl, fallbackUrl)\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const StatusComponent = useMemo(() => {\n if (\n (isEmpty(children) && !status)\n || (children && !React.isValidElement(children))\n ) {\n return null\n }\n\n const statusSize: StatusSize = (() => {\n switch (size) {\n case '90':\n case '120':\n return 'l'\n default:\n return 'm'\n }\n })()\n\n const Contents = (() => {\n if (children) { return children }\n if (status) {\n return (\n <Status\n type={status}\n size={statusSize}\n />\n )\n }\n return null\n })()\n\n return Contents && (\n <div\n className={styles.StatusWrapper}\n data-testid={STATUS_WRAPPER_TEST_ID}\n >\n { Contents }\n </div>\n )\n }, [\n status,\n size,\n children,\n ])\n\n return (\n <div\n className={classNames(\n styles.Avatar,\n styles[`size-${size}`],\n disabled && styles.disabled,\n className,\n )}\n data-disabled={disabled}\n data-testid={AVATAR_WRAPPER_TEST_ID}\n {...rest}\n >\n <SmoothCornersBox\n ref={forwardedRef}\n aria-label={name}\n className={classNames(\n styles.AvatarImage,\n Number(size) >= 72 && styles['big-size'],\n showBorder && styles.bordered,\n )}\n disabled={!smoothCorners}\n borderRadius={AVATAR_BORDER_RADIUS}\n shadow={showBorder ? shadow : undefined}\n backgroundColor=\"bg-white-normal\"\n backgroundImage={loadedAvatarUrl}\n data-testid={AVATAR_TEST_ID}\n >\n { StatusComponent }\n </SmoothCornersBox>\n </div>\n )\n})\n"],"names":["shadow","spreadRadius","color","useAvatarRadiusToken","useTokens","global","radius","AVATAR_WRAPPER_TEST_ID","AVATAR_TEST_ID","STATUS_WRAPPER_TEST_ID","Avatar","forwardRef","avatarUrl","fallbackUrl","defaultAvatarUrl","size","name","disabled","showBorder","smoothCorners","status","className","children","rest","forwardedRef","loadedAvatarUrl","useProgressiveImage","AVATAR_BORDER_RADIUS","StatusComponent","useMemo","isEmpty","React","isValidElement","statusSize","Contents","createElement","Status","type","styles","StatusWrapper","Object","assign","classNames","SmoothCornersBox","ref","AvatarImage","Number","bordered","borderRadius","undefined","backgroundColor","backgroundImage"],"mappings":"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"}
@@ -7,7 +7,7 @@ var array = require('../../utils/array.js');
7
7
  var style = require('../../utils/style.js');
8
8
  var AvatarGroup_module = require('./AvatarGroup.module.scss.js');
9
9
  var Avatar = require('../Avatar/Avatar.js');
10
- var AlphaSmoothCornersBox = require('../AlphaSmoothCornersBox/AlphaSmoothCornersBox.js');
10
+ var SmoothCornersBox = require('../SmoothCornersBox/SmoothCornersBox.js');
11
11
  var Icon = require('../Icon/Icon.js');
12
12
  var Text = require('../Text/Text.js');
13
13
 
@@ -110,7 +110,7 @@ const AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup({
110
110
  onMouseEnter: onMouseEnterEllipsis,
111
111
  onMouseLeave: onMouseLeaveEllipsis,
112
112
  "data-testid": AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID
113
- }, /*#__PURE__*/React.createElement(AlphaSmoothCornersBox.AlphaSmoothCornersBox, {
113
+ }, /*#__PURE__*/React.createElement(SmoothCornersBox.SmoothCornersBox, {
114
114
  borderRadius: AVATAR_BORDER_RADIUS,
115
115
  backgroundColor: "bgtxt-absolute-black-lightest",
116
116
  className: AvatarGroup_module.default.AvatarEllipsisIcon
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n} from 'react'\n\nimport { MoreIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isLastIndex } from '~/src/utils/array'\nimport { px } from '~/src/utils/style'\n\nimport { AlphaSmoothCornersBox } from '~/src/components/AlphaSmoothCornersBox'\nimport {\n type AvatarProps,\n type AvatarSize,\n useAvatarRadiusToken,\n} from '~/src/components/Avatar'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type AvatarGroupProps } from './AvatarGroup.types'\n\nimport styles from './AvatarGroup.module.scss'\n\nconst MAX_AVATAR_LIST_COUNT = 99\nconst AVATAR_GROUP_DEFAULT_SPACING = 4\nexport const AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID = 'bezier-avatar-group-ellipsis-icon'\n\nfunction getRestAvatarListCountText(count: number, max: number) {\n const restCount = count - max\n return `+${restCount > MAX_AVATAR_LIST_COUNT ? MAX_AVATAR_LIST_COUNT : restCount}`\n}\n\n// TODO: Not specified\nfunction getProperIconSize(avatarSize: AvatarSize) {\n return ({\n 20: 'xxs',\n 24: 'xs',\n 30: 's',\n 36: 'm',\n 42: 'm',\n 48: 'l',\n 72: 'l',\n 90: 'l',\n 120: 'l',\n } as const)[avatarSize]\n}\n\n// TODO: Not specified\nfunction getProperTypoSize(avatarSize: AvatarSize) {\n return ({\n 20: '12',\n 24: '13',\n 30: '15',\n 36: '16',\n 42: '18',\n 48: '24',\n 72: '24',\n 90: '24',\n 120: '24',\n } as const)[avatarSize]\n}\n\n/**\n * `AvatarGroup` is a component for grouping `Avatar` components\n * @example\n *\n * ```tsx\n * <AvatarGroup\n * max={2}\n * spacing={4}\n * ellipsisType=\"icon\"\n * >\n * <Avatar />\n * <Avatar />\n * <Avatar />\n * </AvatarGroup>\n * ```\n */\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(function AvatarGroup({\n max,\n size = '24',\n spacing = AVATAR_GROUP_DEFAULT_SPACING,\n ellipsisType = 'icon',\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n style,\n className,\n children,\n ...rest\n}, forwardedRef) {\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const renderAvatarElement = useCallback((\n avatar: React.ReactElement<AvatarProps>,\n avatarListCount: number,\n ) => {\n const key = avatar.key ?? `${avatar.props.name}-${avatar.props.avatarUrl}`\n const shouldShowBorder = avatarListCount > 1 && spacing < 0\n const showBorder = avatar.props.showBorder || shouldShowBorder\n return React.cloneElement(avatar, { key, size, showBorder })\n }, [\n size,\n spacing,\n ])\n\n const avatarListCount = useMemo(() => (\n React.Children.count(children)\n ), [children])\n\n const AvatarListComponent = useMemo(() => {\n if (avatarListCount <= max) {\n return React.Children.map(children, (avatar) => (\n React.isValidElement<AvatarProps>(avatar) && renderAvatarElement(avatar, avatarListCount)\n ))\n }\n\n const sliceEndIndex = max - avatarListCount\n const slicedAvatarList = React.Children.toArray(children).slice(0, sliceEndIndex)\n\n return slicedAvatarList.map((avatar, index, arr) => {\n if (!React.isValidElement<AvatarProps>(avatar)) { return null }\n\n const AvatarElement = renderAvatarElement(avatar, slicedAvatarList.length)\n\n if (!isLastIndex(arr, index)) {\n return AvatarElement\n }\n\n if (ellipsisType === 'icon') {\n return (\n <div\n key=\"ellipsis\"\n className={styles.AvatarEllipsisIconWrapper}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n data-testid={AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID}\n >\n <AlphaSmoothCornersBox\n borderRadius={AVATAR_BORDER_RADIUS}\n backgroundColor=\"bgtxt-absolute-black-lightest\"\n className={styles.AvatarEllipsisIcon}\n >\n <Icon\n source={MoreIcon}\n size={getProperIconSize(size)}\n color=\"bgtxt-absolute-white-dark\"\n />\n </AlphaSmoothCornersBox>\n { AvatarElement }\n </div>\n )\n }\n\n if (ellipsisType === 'count') {\n return (\n <React.Fragment key=\"ellipsis\">\n { AvatarElement }\n <div\n style={{\n '--b-avatar-group-ellipsis-ml': px(Math.max(spacing, AVATAR_GROUP_DEFAULT_SPACING)),\n } as React.CSSProperties}\n className={classNames(\n styles.AvatarEllipsisCountWrapper,\n styles[`size-${size}`],\n )}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n >\n <Text\n typo={getProperTypoSize(size)}\n color=\"txt-black-dark\"\n className={styles.AvatarEllipsisCount}\n >\n { getRestAvatarListCountText(avatarListCount, max) }\n </Text>\n </div>\n </React.Fragment>\n )\n }\n\n return null\n })\n }, [\n avatarListCount,\n max,\n children,\n renderAvatarElement,\n ellipsisType,\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n AVATAR_BORDER_RADIUS,\n size,\n spacing,\n ])\n\n return (\n <div\n role=\"group\"\n ref={forwardedRef}\n className={classNames(\n styles.AvatarGroup,\n styles[`size-${size}`],\n className,\n )}\n style={{\n '--b-avatar-group-spacing': px(spacing),\n ...style,\n } as React.CSSProperties}\n {...rest}\n >\n { AvatarListComponent }\n </div>\n )\n})\n"],"names":["MAX_AVATAR_LIST_COUNT","AVATAR_GROUP_DEFAULT_SPACING","AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID","getRestAvatarListCountText","count","max","restCount","getProperIconSize","avatarSize","getProperTypoSize","AvatarGroup","forwardRef","size","spacing","ellipsisType","onMouseEnterEllipsis","onMouseLeaveEllipsis","style","className","children","rest","forwardedRef","AVATAR_BORDER_RADIUS","useAvatarRadiusToken","renderAvatarElement","useCallback","avatar","avatarListCount","key","props","name","avatarUrl","shouldShowBorder","showBorder","React","cloneElement","useMemo","Children","AvatarListComponent","map","isValidElement","sliceEndIndex","slicedAvatarList","toArray","slice","index","arr","AvatarElement","length","isLastIndex","createElement","styles","AvatarEllipsisIconWrapper","onMouseEnter","onMouseLeave","AlphaSmoothCornersBox","borderRadius","backgroundColor","AvatarEllipsisIcon","Icon","source","MoreIcon","color","Fragment","px","Math","classNames","AvatarEllipsisCountWrapper","Text","typo","AvatarEllipsisCount","Object","assign","role","ref"],"mappings":"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"}
1
+ {"version":3,"file":"AvatarGroup.js","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n} from 'react'\n\nimport { MoreIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isLastIndex } from '~/src/utils/array'\nimport { px } from '~/src/utils/style'\n\nimport {\n type AvatarProps,\n type AvatarSize,\n useAvatarRadiusToken,\n} from '~/src/components/Avatar'\nimport { Icon } from '~/src/components/Icon'\nimport { SmoothCornersBox } from '~/src/components/SmoothCornersBox'\nimport { Text } from '~/src/components/Text'\n\nimport { type AvatarGroupProps } from './AvatarGroup.types'\n\nimport styles from './AvatarGroup.module.scss'\n\nconst MAX_AVATAR_LIST_COUNT = 99\nconst AVATAR_GROUP_DEFAULT_SPACING = 4\nexport const AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID = 'bezier-avatar-group-ellipsis-icon'\n\nfunction getRestAvatarListCountText(count: number, max: number) {\n const restCount = count - max\n return `+${restCount > MAX_AVATAR_LIST_COUNT ? MAX_AVATAR_LIST_COUNT : restCount}`\n}\n\n// TODO: Not specified\nfunction getProperIconSize(avatarSize: AvatarSize) {\n return ({\n 20: 'xxs',\n 24: 'xs',\n 30: 's',\n 36: 'm',\n 42: 'm',\n 48: 'l',\n 72: 'l',\n 90: 'l',\n 120: 'l',\n } as const)[avatarSize]\n}\n\n// TODO: Not specified\nfunction getProperTypoSize(avatarSize: AvatarSize) {\n return ({\n 20: '12',\n 24: '13',\n 30: '15',\n 36: '16',\n 42: '18',\n 48: '24',\n 72: '24',\n 90: '24',\n 120: '24',\n } as const)[avatarSize]\n}\n\n/**\n * `AvatarGroup` is a component for grouping `Avatar` components\n * @example\n *\n * ```tsx\n * <AvatarGroup\n * max={2}\n * spacing={4}\n * ellipsisType=\"icon\"\n * >\n * <Avatar />\n * <Avatar />\n * <Avatar />\n * </AvatarGroup>\n * ```\n */\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(function AvatarGroup({\n max,\n size = '24',\n spacing = AVATAR_GROUP_DEFAULT_SPACING,\n ellipsisType = 'icon',\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n style,\n className,\n children,\n ...rest\n}, forwardedRef) {\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const renderAvatarElement = useCallback((\n avatar: React.ReactElement<AvatarProps>,\n avatarListCount: number,\n ) => {\n const key = avatar.key ?? `${avatar.props.name}-${avatar.props.avatarUrl}`\n const shouldShowBorder = avatarListCount > 1 && spacing < 0\n const showBorder = avatar.props.showBorder || shouldShowBorder\n return React.cloneElement(avatar, { key, size, showBorder })\n }, [\n size,\n spacing,\n ])\n\n const avatarListCount = useMemo(() => (\n React.Children.count(children)\n ), [children])\n\n const AvatarListComponent = useMemo(() => {\n if (avatarListCount <= max) {\n return React.Children.map(children, (avatar) => (\n React.isValidElement<AvatarProps>(avatar) && renderAvatarElement(avatar, avatarListCount)\n ))\n }\n\n const sliceEndIndex = max - avatarListCount\n const slicedAvatarList = React.Children.toArray(children).slice(0, sliceEndIndex)\n\n return slicedAvatarList.map((avatar, index, arr) => {\n if (!React.isValidElement<AvatarProps>(avatar)) { return null }\n\n const AvatarElement = renderAvatarElement(avatar, slicedAvatarList.length)\n\n if (!isLastIndex(arr, index)) {\n return AvatarElement\n }\n\n if (ellipsisType === 'icon') {\n return (\n <div\n key=\"ellipsis\"\n className={styles.AvatarEllipsisIconWrapper}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n data-testid={AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID}\n >\n <SmoothCornersBox\n borderRadius={AVATAR_BORDER_RADIUS}\n backgroundColor=\"bgtxt-absolute-black-lightest\"\n className={styles.AvatarEllipsisIcon}\n >\n <Icon\n source={MoreIcon}\n size={getProperIconSize(size)}\n color=\"bgtxt-absolute-white-dark\"\n />\n </SmoothCornersBox>\n { AvatarElement }\n </div>\n )\n }\n\n if (ellipsisType === 'count') {\n return (\n <React.Fragment key=\"ellipsis\">\n { AvatarElement }\n <div\n style={{\n '--b-avatar-group-ellipsis-ml': px(Math.max(spacing, AVATAR_GROUP_DEFAULT_SPACING)),\n } as React.CSSProperties}\n className={classNames(\n styles.AvatarEllipsisCountWrapper,\n styles[`size-${size}`],\n )}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n >\n <Text\n typo={getProperTypoSize(size)}\n color=\"txt-black-dark\"\n className={styles.AvatarEllipsisCount}\n >\n { getRestAvatarListCountText(avatarListCount, max) }\n </Text>\n </div>\n </React.Fragment>\n )\n }\n\n return null\n })\n }, [\n avatarListCount,\n max,\n children,\n renderAvatarElement,\n ellipsisType,\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n AVATAR_BORDER_RADIUS,\n size,\n spacing,\n ])\n\n return (\n <div\n role=\"group\"\n ref={forwardedRef}\n className={classNames(\n styles.AvatarGroup,\n styles[`size-${size}`],\n className,\n )}\n style={{\n '--b-avatar-group-spacing': px(spacing),\n ...style,\n } as React.CSSProperties}\n {...rest}\n >\n { AvatarListComponent }\n </div>\n )\n})\n"],"names":["MAX_AVATAR_LIST_COUNT","AVATAR_GROUP_DEFAULT_SPACING","AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID","getRestAvatarListCountText","count","max","restCount","getProperIconSize","avatarSize","getProperTypoSize","AvatarGroup","forwardRef","size","spacing","ellipsisType","onMouseEnterEllipsis","onMouseLeaveEllipsis","style","className","children","rest","forwardedRef","AVATAR_BORDER_RADIUS","useAvatarRadiusToken","renderAvatarElement","useCallback","avatar","avatarListCount","key","props","name","avatarUrl","shouldShowBorder","showBorder","React","cloneElement","useMemo","Children","AvatarListComponent","map","isValidElement","sliceEndIndex","slicedAvatarList","toArray","slice","index","arr","AvatarElement","length","isLastIndex","createElement","styles","AvatarEllipsisIconWrapper","onMouseEnter","onMouseLeave","SmoothCornersBox","borderRadius","backgroundColor","AvatarEllipsisIcon","Icon","source","MoreIcon","color","Fragment","px","Math","classNames","AvatarEllipsisCountWrapper","Text","typo","AvatarEllipsisCount","Object","assign","role","ref"],"mappings":"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"}
@@ -2,14 +2,14 @@
2
2
 
3
3
  var React = require('react');
4
4
  var bezierIcons = require('@channel.io/bezier-icons');
5
- var index = require('../../node_modules/@radix-ui/react-dialog/dist/index.js');
6
- var index$1 = require('../../node_modules/classnames/index.js');
5
+ var index = require('../../node_modules/classnames/index.js');
7
6
  var useMergeRefs = require('../../hooks/useMergeRefs.js');
8
7
  var propsHelpers = require('../../types/props-helpers.js');
9
8
  var react = require('../../utils/react.js');
10
9
  var style = require('../../utils/style.js');
11
10
  var type = require('../../utils/type.js');
12
11
  var Modal_module = require('./Modal.module.scss.js');
12
+ var DialogPrimitive = require('../../alpha-components/DialogPrimitive/DialogPrimitive.js');
13
13
  var WindowProvider = require('../WindowProvider/WindowProvider.js');
14
14
  var ThemeProvider = require('../ThemeProvider/ThemeProvider.js');
15
15
  var Button = require('../Button/Button.js');
@@ -52,7 +52,7 @@ function Modal({
52
52
  const callback = open ? onShow : onHide;
53
53
  callback?.();
54
54
  }, [onShow, onHide]);
55
- return /*#__PURE__*/React.createElement(index.Root, {
55
+ return /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitive, {
56
56
  open: show,
57
57
  defaultOpen: defaultShow,
58
58
  onOpenChange: onOpenChange
@@ -112,14 +112,14 @@ const ModalContent = /*#__PURE__*/React.forwardRef(function ModalContent({
112
112
  const propsContextValue = React.useMemo(() => ({
113
113
  showCloseIcon
114
114
  }), [showCloseIcon]);
115
- return /*#__PURE__*/React.createElement(index.Portal, {
115
+ return /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitivePortal, {
116
116
  container: container
117
117
  }, /*#__PURE__*/React.createElement(ThemeProvider.ThemeProvider, {
118
118
  themeName: ThemeProvider.useThemeName()
119
- }, /*#__PURE__*/React.createElement(index.Overlay, {
119
+ }, /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitiveOverlay, {
120
120
  style: overlayStyle,
121
- className: index$1.default(Modal_module.default.ModalOverlay, propsHelpers.getZIndexClassName(zIndex))
122
- }, /*#__PURE__*/React.createElement(index.Content, {
121
+ className: index.default(Modal_module.default.ModalOverlay, propsHelpers.getZIndexClassName(zIndex))
122
+ }, /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitiveContent, {
123
123
  asChild: true,
124
124
  onPointerDownOutside: e => {
125
125
  if (preventHideOnOutsideClick) {
@@ -139,7 +139,7 @@ const ModalContent = /*#__PURE__*/React.forwardRef(function ModalContent({
139
139
  '--b-modal-height': style.cssDimension(height),
140
140
  ...style$1
141
141
  },
142
- className: index$1.default(Modal_module.default.ModalContent, className)
142
+ className: index.default(Modal_module.default.ModalContent, className)
143
143
  }, rest), /*#__PURE__*/React.createElement("section", {
144
144
  className: Modal_module.default.ModalSection
145
145
  }, /*#__PURE__*/React.createElement(ModalContainerContextProvider, {
@@ -175,7 +175,7 @@ function ModalHeaderTitle({
175
175
  bold: true,
176
176
  color: "txt-black-darkest"
177
177
  }, children);
178
- return /*#__PURE__*/React.createElement(index.Title, {
178
+ return /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitiveTitle, {
179
179
  asChild: true
180
180
  }, !type.isNil(subtitle) ? /*#__PURE__*/React.createElement("hgroup", {
181
181
  className: Modal_module.default.HeadingGroup,
@@ -211,7 +211,7 @@ const ModalHeader = /*#__PURE__*/React.forwardRef(function ModalHeader({
211
211
  const Hidden = hidden ? VisuallyHidden.VisuallyHidden : React.Fragment;
212
212
  return /*#__PURE__*/React.createElement(Hidden, null, /*#__PURE__*/React.createElement("header", Object.assign({
213
213
  ref: forwardedRef,
214
- className: index$1.default(Modal_module.default.ModalHeader, hidden && Modal_module.default.hidden, className)
214
+ className: index.default(Modal_module.default.ModalHeader, hidden && Modal_module.default.hidden, className)
215
215
  }, rest), hasTitleArea && /*#__PURE__*/React.createElement("div", {
216
216
  className: Modal_module.default.TitleContainer
217
217
  }, title && /*#__PURE__*/React.createElement(ModalHeaderTitle, {
@@ -221,7 +221,7 @@ const ModalHeader = /*#__PURE__*/React.forwardRef(function ModalHeader({
221
221
  className: Modal_module.default.CloseIconButtonSpacer,
222
222
  as: "div",
223
223
  size: "m"
224
- })), description && /*#__PURE__*/React.createElement(index.Description, {
224
+ })), description && /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitiveDescription, {
225
225
  asChild: true
226
226
  }, /*#__PURE__*/React.createElement(Text.Text, {
227
227
  as: "p",
@@ -240,7 +240,7 @@ const ModalBody = /*#__PURE__*/React.forwardRef(function ModalBody({
240
240
  }, forwardedRef) {
241
241
  return /*#__PURE__*/React.createElement("div", Object.assign({
242
242
  ref: forwardedRef,
243
- className: index$1.default(Modal_module.default.ModalBody, className)
243
+ className: index.default(Modal_module.default.ModalBody, className)
244
244
  }, rest), children);
245
245
  });
246
246
 
@@ -256,7 +256,7 @@ const ModalFooter = /*#__PURE__*/React.forwardRef(function ModalFooter({
256
256
  }, forwardedRef) {
257
257
  return /*#__PURE__*/React.createElement("footer", Object.assign({
258
258
  ref: forwardedRef,
259
- className: index$1.default(Modal_module.default.ModalFooter, className)
259
+ className: index.default(Modal_module.default.ModalFooter, className)
260
260
  }, rest), leftContent && /*#__PURE__*/React.createElement("div", {
261
261
  className: Modal_module.default.FooterLeftContent
262
262
  }, leftContent), rightContent && /*#__PURE__*/React.createElement("div", {
@@ -273,7 +273,7 @@ const ModalFooter = /*#__PURE__*/React.forwardRef(function ModalFooter({
273
273
  function ModalTrigger({
274
274
  children
275
275
  }) {
276
- return /*#__PURE__*/React.createElement(index.Trigger, {
276
+ return /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitiveTrigger, {
277
277
  asChild: true
278
278
  }, children);
279
279
  }
@@ -285,7 +285,7 @@ function ModalTrigger({
285
285
  function ModalClose({
286
286
  children
287
287
  }) {
288
- return /*#__PURE__*/React.createElement(index.Close, {
288
+ return /*#__PURE__*/React.createElement(DialogPrimitive.DialogPrimitiveClose, {
289
289
  asChild: true
290
290
  }, children);
291
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n} from 'react'\n\nimport { CancelIcon } from '@channel.io/bezier-icons'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport classNames from 'classnames'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { getZIndexClassName } from '~/src/types/props-helpers'\nimport { createContext } from '~/src/utils/react'\nimport { cssDimension } from '~/src/utils/style'\nimport {\n isNil,\n isNumber,\n} from '~/src/utils/type'\n\nimport { Button } from '~/src/components/Button'\nimport { Text } from '~/src/components/Text'\nimport {\n ThemeProvider,\n useThemeName,\n} from '~/src/components/ThemeProvider'\nimport { VisuallyHidden } from '~/src/components/VisuallyHidden'\nimport { useRootElement } from '~/src/components/WindowProvider'\n\nimport {\n type ModalBodyProps,\n type ModalCloseProps,\n type ModalContentProps,\n type ModalContentPropsContextValue,\n type ModalFooterProps,\n type ModalHeaderProps,\n type ModalProps,\n type ModalTitleSize,\n type ModalTriggerProps,\n} from './Modal.types'\n\nimport styles from './Modal.module.scss'\n\nconst [\n ModalContainerContextProvider,\n useModalContainerContext,\n] = createContext<HTMLElement | undefined>(undefined)\n\nexport { useModalContainerContext }\n\nconst [\n ModalContentPropsContextProvider,\n useModalContentPropsContext,\n] = createContext<ModalContentPropsContextValue>({\n showCloseIcon: false,\n})\n\n/**\n * `Modal` is a dialog that appears on top of the page.\n *\n * `Modal` is a context of the Modal-related components. It doesn't render any DOM node.\n * It controls the visibility of the entire component and provides\n * handlers and accessibility properties to Modal-related components.\n * @example\n *\n * ```tsx\n * // Anatomy of the Modal\n * <Modal>\n * <ModalTrigger />\n * <ModalContent>\n * <ModalHeader />\n * <ModalBody />\n * <ModalFooter />\n * </ModalContent>\n * </Modal>\n * ```\n */\nexport function Modal({\n children,\n show,\n defaultShow,\n onShow,\n onHide,\n}: ModalProps) {\n const onOpenChange = useCallback<NonNullable<DialogPrimitive.DialogProps['onOpenChange']>>((open) => {\n const callback = open ? onShow : onHide\n callback?.()\n }, [\n onShow,\n onHide,\n ])\n\n return (\n <DialogPrimitive.Root\n open={show}\n defaultOpen={defaultShow}\n onOpenChange={onOpenChange}\n >\n { children }\n </DialogPrimitive.Root>\n )\n}\n\n/**\n * `ModalContent` is a container of the modal content.\n * It creates a portal to render the modal content outside of the DOM tree\n * and renders overlay behind the modal content too.\n */\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(function ModalContent({\n children,\n style,\n className,\n container: givenContainer,\n showCloseIcon = false,\n preventHideOnOutsideClick = false,\n width = 'max-content',\n height = 'fit-content',\n zIndex = 'modal',\n collisionPadding = { top: 40, bottom: 40 },\n ...rest\n}, forwardedRef) {\n const rootElement = useRootElement()\n const container = givenContainer ?? rootElement\n const [contentContainer, setContentContainer] = useState<HTMLElement>()\n\n const contentRef = useMergeRefs(\n forwardedRef,\n useCallback((node: HTMLElement | null) => {\n setContentContainer(node ?? undefined)\n }, []),\n )\n\n const overlayStyle = (() => {\n const padding = (() => {\n if (isNumber(collisionPadding)) {\n return `${collisionPadding}px`\n }\n\n const { top, right, bottom, left } = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...collisionPadding,\n }\n\n return `${top}px ${right}px ${bottom}px ${left}px`\n })()\n\n return ({\n '--b-modal-collision-padding': padding,\n } as React.CSSProperties)\n })()\n\n const propsContextValue = useMemo((): ModalContentPropsContextValue => ({\n showCloseIcon,\n }), [showCloseIcon])\n\n return (\n <DialogPrimitive.Portal container={container}>\n <ThemeProvider themeName={useThemeName()}>\n <DialogPrimitive.Overlay\n style={overlayStyle}\n className={classNames(\n styles.ModalOverlay,\n getZIndexClassName(zIndex),\n )}\n >\n <DialogPrimitive.Content\n asChild\n onPointerDownOutside={(e) => {\n if (preventHideOnOutsideClick) {\n e.preventDefault()\n }\n }}\n onInteractOutside={(e) => {\n if (preventHideOnOutsideClick) {\n e.preventDefault()\n }\n }}\n >\n <div\n aria-modal=\"true\"\n ref={contentRef}\n style={{\n '--b-modal-width': cssDimension(width),\n '--b-modal-height': cssDimension(height),\n ...style,\n } as React.CSSProperties}\n className={classNames(\n styles.ModalContent,\n className,\n )}\n {...rest}\n >\n <section className={styles.ModalSection}>\n <ModalContainerContextProvider value={contentContainer}>\n <ModalContentPropsContextProvider value={propsContextValue}>\n { children }\n </ModalContentPropsContextProvider>\n </ModalContainerContextProvider>\n\n { /* NOTE: To prevent focusing first on the close button when opening the modal, place the close button behind. */ }\n { showCloseIcon && (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n <ModalClose>\n <Button\n className={styles.CloseIconButton}\n size=\"m\"\n leftContent={CancelIcon}\n colorVariant=\"monochrome-dark\"\n styleVariant=\"tertiary\"\n />\n </ModalClose>\n ) }\n </section>\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Overlay>\n </ThemeProvider>\n </DialogPrimitive.Portal>\n )\n})\n\nfunction getTitleTypo(size: ModalTitleSize) {\n return ({\n l: '24',\n m: '16',\n } as const)[size]\n}\n\nfunction ModalHeaderTitle({\n children,\n size,\n subtitle,\n}: React.PropsWithChildren<Pick<ModalHeaderProps, 'subtitle'> & {\n size: NonNullable<ModalHeaderProps['titleSize']>\n}>) {\n const Title = (\n <Text\n className={styles.Title}\n as=\"h2\"\n typo={getTitleTypo(size)}\n bold\n color=\"txt-black-darkest\"\n >\n { children }\n </Text>\n )\n\n return (\n <DialogPrimitive.Title asChild>\n { !isNil(subtitle)\n ? (\n <hgroup\n className={styles.HeadingGroup}\n role=\"group\"\n aria-roledescription=\"Heading group\"\n >\n { Title }\n\n <Text\n aria-roledescription=\"subtitle\"\n as=\"p\"\n bold\n color=\"txt-black-dark\"\n typo=\"13\"\n >\n { subtitle }\n </Text>\n </hgroup>\n )\n : Title }\n </DialogPrimitive.Title>\n )\n}\n\n/**\n * `ModalHeader` is a header of the modal content.\n * It renders the accessible title and description of the modal.\n * If you want to hide the title and description, use `hidden` prop.\n */\nexport const ModalHeader = forwardRef<HTMLElement, ModalHeaderProps>(function ModalHeader({\n className,\n title,\n subtitle,\n description,\n titleSize = 'l',\n hidden = false,\n ...rest\n}, forwardedRef) {\n const { showCloseIcon } = useModalContentPropsContext()\n const hasTitleArea = title || showCloseIcon\n const Hidden = hidden ? VisuallyHidden : React.Fragment\n\n return (\n <Hidden>\n <header\n ref={forwardedRef}\n className={classNames(\n styles.ModalHeader,\n hidden && styles.hidden,\n className,\n )}\n {...rest}\n >\n { hasTitleArea && (\n <div className={styles.TitleContainer}>\n { title && (\n <ModalHeaderTitle\n size={titleSize}\n subtitle={subtitle}\n >\n { title }\n </ModalHeaderTitle>\n ) }\n\n { showCloseIcon && (\n <Button\n className={styles.CloseIconButtonSpacer}\n as=\"div\"\n size=\"m\"\n />\n ) }\n </div>\n ) }\n\n { description && (\n <DialogPrimitive.Description asChild>\n <Text\n as=\"p\"\n color=\"txt-black-darkest\"\n typo=\"15\"\n >\n { description }\n </Text>\n </DialogPrimitive.Description>\n ) }\n </header>\n </Hidden>\n )\n})\n\n/**\n * `ModalBody` is a simple wrapper of the main modal content.\n */\nexport const ModalBody = forwardRef(function ModalBody({\n children,\n className,\n ...rest\n}: ModalBodyProps, forwardedRef: React.Ref<HTMLDivElement>) {\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n styles.ModalBody,\n className,\n )}\n {...rest}\n >\n { children }\n </div>\n )\n})\n\n/**\n * `ModalFooter` is a simple wrapper of the footer of the modal content.\n * Usually, it contains the action buttons of the modal.\n */\nexport const ModalFooter = forwardRef<HTMLElement, ModalFooterProps>(function ModalFooter({\n className,\n leftContent,\n rightContent,\n ...rest\n}, forwardedRef) {\n return (\n <footer\n ref={forwardedRef}\n className={classNames(\n styles.ModalFooter,\n className,\n )}\n {...rest}\n >\n { leftContent && (\n <div className={styles.FooterLeftContent}>\n { leftContent }\n </div>\n ) }\n\n { rightContent && (\n <div className={styles.FooterRightContent}>\n { rightContent }\n </div>\n ) }\n </footer>\n )\n})\n\n/**\n * `ModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**\n * It passes the handler that opens the modal and accessibility properties to the children.\n *\n * It **must** be placed outside of the `ModalContent`.\n */\nexport function ModalTrigger({ children }: ModalTriggerProps) {\n return (\n <DialogPrimitive.Trigger asChild>\n { children }\n </DialogPrimitive.Trigger>\n )\n}\n\n/**\n * `ModalClose` is a button that closes the modal. **It doesn't render any DOM node.**\n * It passes the handler that closes the modal to the children.\n */\nexport function ModalClose({ children }: ModalCloseProps) {\n return (\n <DialogPrimitive.Close asChild>\n { children }\n </DialogPrimitive.Close>\n )\n}\n"],"names":["ModalContainerContextProvider","useModalContainerContext","createContext","undefined","ModalContentPropsContextProvider","useModalContentPropsContext","showCloseIcon","Modal","children","show","defaultShow","onShow","onHide","onOpenChange","useCallback","open","callback","React","createElement","DialogPrimitive","defaultOpen","ModalContent","forwardRef","style","className","container","givenContainer","preventHideOnOutsideClick","width","height","zIndex","collisionPadding","top","bottom","rest","forwardedRef","rootElement","useRootElement","contentContainer","setContentContainer","useState","contentRef","useMergeRefs","node","overlayStyle","padding","isNumber","right","left","propsContextValue","useMemo","ThemeProvider","themeName","useThemeName","classNames","styles","ModalOverlay","getZIndexClassName","asChild","onPointerDownOutside","e","preventDefault","onInteractOutside","Object","assign","ref","cssDimension","ModalSection","value","ModalClose","Button","CloseIconButton","size","leftContent","CancelIcon","colorVariant","styleVariant","getTitleTypo","l","m","ModalHeaderTitle","subtitle","Title","Text","as","typo","bold","color","isNil","HeadingGroup","role","ModalHeader","title","description","titleSize","hidden","hasTitleArea","Hidden","VisuallyHidden","Fragment","TitleContainer","CloseIconButtonSpacer","ModalBody","ModalFooter","rightContent","FooterLeftContent","FooterRightContent","ModalTrigger"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n} from 'react'\n\nimport { CancelIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { getZIndexClassName } from '~/src/types/props-helpers'\nimport { createContext } from '~/src/utils/react'\nimport { cssDimension } from '~/src/utils/style'\nimport {\n isNil,\n isNumber,\n} from '~/src/utils/type'\n\nimport {\n DialogPrimitive,\n DialogPrimitiveClose,\n DialogPrimitiveContent,\n DialogPrimitiveDescription,\n DialogPrimitiveOverlay,\n DialogPrimitivePortal,\n type DialogPrimitiveProps,\n DialogPrimitiveTitle,\n DialogPrimitiveTrigger,\n} from '~/src/alpha-components/DialogPrimitive'\nimport { Button } from '~/src/components/Button'\nimport { Text } from '~/src/components/Text'\nimport {\n ThemeProvider,\n useThemeName,\n} from '~/src/components/ThemeProvider'\nimport { VisuallyHidden } from '~/src/components/VisuallyHidden'\nimport { useRootElement } from '~/src/components/WindowProvider'\n\nimport {\n type ModalBodyProps,\n type ModalCloseProps,\n type ModalContentProps,\n type ModalContentPropsContextValue,\n type ModalFooterProps,\n type ModalHeaderProps,\n type ModalProps,\n type ModalTitleSize,\n type ModalTriggerProps,\n} from './Modal.types'\n\nimport styles from './Modal.module.scss'\n\nconst [\n ModalContainerContextProvider,\n useModalContainerContext,\n] = createContext<HTMLElement | undefined>(undefined)\n\nexport { useModalContainerContext }\n\nconst [\n ModalContentPropsContextProvider,\n useModalContentPropsContext,\n] = createContext<ModalContentPropsContextValue>({\n showCloseIcon: false,\n})\n\n/**\n * `Modal` is a dialog that appears on top of the page.\n *\n * `Modal` is a context of the Modal-related components. It doesn't render any DOM node.\n * It controls the visibility of the entire component and provides\n * handlers and accessibility properties to Modal-related components.\n * @example\n *\n * ```tsx\n * // Anatomy of the Modal\n * <Modal>\n * <ModalTrigger />\n * <ModalContent>\n * <ModalHeader />\n * <ModalBody />\n * <ModalFooter />\n * </ModalContent>\n * </Modal>\n * ```\n */\nexport function Modal({\n children,\n show,\n defaultShow,\n onShow,\n onHide,\n}: ModalProps) {\n const onOpenChange = useCallback<NonNullable<DialogPrimitiveProps['onOpenChange']>>((open) => {\n const callback = open ? onShow : onHide\n callback?.()\n }, [\n onShow,\n onHide,\n ])\n\n return (\n <DialogPrimitive\n open={show}\n defaultOpen={defaultShow}\n onOpenChange={onOpenChange}\n >\n { children }\n </DialogPrimitive>\n )\n}\n\n/**\n * `ModalContent` is a container of the modal content.\n * It creates a portal to render the modal content outside of the DOM tree\n * and renders overlay behind the modal content too.\n */\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(function ModalContent({\n children,\n style,\n className,\n container: givenContainer,\n showCloseIcon = false,\n preventHideOnOutsideClick = false,\n width = 'max-content',\n height = 'fit-content',\n zIndex = 'modal',\n collisionPadding = { top: 40, bottom: 40 },\n ...rest\n}, forwardedRef) {\n const rootElement = useRootElement()\n const container = givenContainer ?? rootElement\n const [contentContainer, setContentContainer] = useState<HTMLElement>()\n\n const contentRef = useMergeRefs(\n forwardedRef,\n useCallback((node: HTMLElement | null) => {\n setContentContainer(node ?? undefined)\n }, []),\n )\n\n const overlayStyle = (() => {\n const padding = (() => {\n if (isNumber(collisionPadding)) {\n return `${collisionPadding}px`\n }\n\n const { top, right, bottom, left } = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...collisionPadding,\n }\n\n return `${top}px ${right}px ${bottom}px ${left}px`\n })()\n\n return ({\n '--b-modal-collision-padding': padding,\n } as React.CSSProperties)\n })()\n\n const propsContextValue = useMemo((): ModalContentPropsContextValue => ({\n showCloseIcon,\n }), [showCloseIcon])\n\n return (\n <DialogPrimitivePortal container={container}>\n <ThemeProvider themeName={useThemeName()}>\n <DialogPrimitiveOverlay\n style={overlayStyle}\n className={classNames(\n styles.ModalOverlay,\n getZIndexClassName(zIndex),\n )}\n >\n <DialogPrimitiveContent\n asChild\n onPointerDownOutside={(e) => {\n if (preventHideOnOutsideClick) {\n e.preventDefault()\n }\n }}\n onInteractOutside={(e) => {\n if (preventHideOnOutsideClick) {\n e.preventDefault()\n }\n }}\n >\n <div\n aria-modal=\"true\"\n ref={contentRef}\n style={{\n '--b-modal-width': cssDimension(width),\n '--b-modal-height': cssDimension(height),\n ...style,\n } as React.CSSProperties}\n className={classNames(\n styles.ModalContent,\n className,\n )}\n {...rest}\n >\n <section className={styles.ModalSection}>\n <ModalContainerContextProvider value={contentContainer}>\n <ModalContentPropsContextProvider value={propsContextValue}>\n { children }\n </ModalContentPropsContextProvider>\n </ModalContainerContextProvider>\n\n { /* NOTE: To prevent focusing first on the close button when opening the modal, place the close button behind. */ }\n { showCloseIcon && (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n <ModalClose>\n <Button\n className={styles.CloseIconButton}\n size=\"m\"\n leftContent={CancelIcon}\n colorVariant=\"monochrome-dark\"\n styleVariant=\"tertiary\"\n />\n </ModalClose>\n ) }\n </section>\n </div>\n </DialogPrimitiveContent>\n </DialogPrimitiveOverlay>\n </ThemeProvider>\n </DialogPrimitivePortal>\n )\n})\n\nfunction getTitleTypo(size: ModalTitleSize) {\n return ({\n l: '24',\n m: '16',\n } as const)[size]\n}\n\nfunction ModalHeaderTitle({\n children,\n size,\n subtitle,\n}: React.PropsWithChildren<Pick<ModalHeaderProps, 'subtitle'> & {\n size: NonNullable<ModalHeaderProps['titleSize']>\n}>) {\n const Title = (\n <Text\n className={styles.Title}\n as=\"h2\"\n typo={getTitleTypo(size)}\n bold\n color=\"txt-black-darkest\"\n >\n { children }\n </Text>\n )\n\n return (\n <DialogPrimitiveTitle asChild>\n { !isNil(subtitle)\n ? (\n <hgroup\n className={styles.HeadingGroup}\n role=\"group\"\n aria-roledescription=\"Heading group\"\n >\n { Title }\n\n <Text\n aria-roledescription=\"subtitle\"\n as=\"p\"\n bold\n color=\"txt-black-dark\"\n typo=\"13\"\n >\n { subtitle }\n </Text>\n </hgroup>\n )\n : Title }\n </DialogPrimitiveTitle>\n )\n}\n\n/**\n * `ModalHeader` is a header of the modal content.\n * It renders the accessible title and description of the modal.\n * If you want to hide the title and description, use `hidden` prop.\n */\nexport const ModalHeader = forwardRef<HTMLElement, ModalHeaderProps>(function ModalHeader({\n className,\n title,\n subtitle,\n description,\n titleSize = 'l',\n hidden = false,\n ...rest\n}, forwardedRef) {\n const { showCloseIcon } = useModalContentPropsContext()\n const hasTitleArea = title || showCloseIcon\n const Hidden = hidden ? VisuallyHidden : React.Fragment\n\n return (\n <Hidden>\n <header\n ref={forwardedRef}\n className={classNames(\n styles.ModalHeader,\n hidden && styles.hidden,\n className,\n )}\n {...rest}\n >\n { hasTitleArea && (\n <div className={styles.TitleContainer}>\n { title && (\n <ModalHeaderTitle\n size={titleSize}\n subtitle={subtitle}\n >\n { title }\n </ModalHeaderTitle>\n ) }\n\n { showCloseIcon && (\n <Button\n className={styles.CloseIconButtonSpacer}\n as=\"div\"\n size=\"m\"\n />\n ) }\n </div>\n ) }\n\n { description && (\n <DialogPrimitiveDescription asChild>\n <Text\n as=\"p\"\n color=\"txt-black-darkest\"\n typo=\"15\"\n >\n { description }\n </Text>\n </DialogPrimitiveDescription>\n ) }\n </header>\n </Hidden>\n )\n})\n\n/**\n * `ModalBody` is a simple wrapper of the main modal content.\n */\nexport const ModalBody = forwardRef(function ModalBody({\n children,\n className,\n ...rest\n}: ModalBodyProps, forwardedRef: React.Ref<HTMLDivElement>) {\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n styles.ModalBody,\n className,\n )}\n {...rest}\n >\n { children }\n </div>\n )\n})\n\n/**\n * `ModalFooter` is a simple wrapper of the footer of the modal content.\n * Usually, it contains the action buttons of the modal.\n */\nexport const ModalFooter = forwardRef<HTMLElement, ModalFooterProps>(function ModalFooter({\n className,\n leftContent,\n rightContent,\n ...rest\n}, forwardedRef) {\n return (\n <footer\n ref={forwardedRef}\n className={classNames(\n styles.ModalFooter,\n className,\n )}\n {...rest}\n >\n { leftContent && (\n <div className={styles.FooterLeftContent}>\n { leftContent }\n </div>\n ) }\n\n { rightContent && (\n <div className={styles.FooterRightContent}>\n { rightContent }\n </div>\n ) }\n </footer>\n )\n})\n\n/**\n * `ModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**\n * It passes the handler that opens the modal and accessibility properties to the children.\n *\n * It **must** be placed outside of the `ModalContent`.\n */\nexport function ModalTrigger({ children }: ModalTriggerProps) {\n return (\n <DialogPrimitiveTrigger asChild>\n { children }\n </DialogPrimitiveTrigger>\n )\n}\n\n/**\n * `ModalClose` is a button that closes the modal. **It doesn't render any DOM node.**\n * It passes the handler that closes the modal to the children.\n */\nexport function ModalClose({ children }: ModalCloseProps) {\n return (\n <DialogPrimitiveClose asChild>\n { children }\n </DialogPrimitiveClose>\n )\n}\n"],"names":["ModalContainerContextProvider","useModalContainerContext","createContext","undefined","ModalContentPropsContextProvider","useModalContentPropsContext","showCloseIcon","Modal","children","show","defaultShow","onShow","onHide","onOpenChange","useCallback","open","callback","React","createElement","DialogPrimitive","defaultOpen","ModalContent","forwardRef","style","className","container","givenContainer","preventHideOnOutsideClick","width","height","zIndex","collisionPadding","top","bottom","rest","forwardedRef","rootElement","useRootElement","contentContainer","setContentContainer","useState","contentRef","useMergeRefs","node","overlayStyle","padding","isNumber","right","left","propsContextValue","useMemo","DialogPrimitivePortal","ThemeProvider","themeName","useThemeName","DialogPrimitiveOverlay","classNames","styles","ModalOverlay","getZIndexClassName","DialogPrimitiveContent","asChild","onPointerDownOutside","e","preventDefault","onInteractOutside","Object","assign","ref","cssDimension","ModalSection","value","ModalClose","Button","CloseIconButton","size","leftContent","CancelIcon","colorVariant","styleVariant","getTitleTypo","l","m","ModalHeaderTitle","subtitle","Title","Text","as","typo","bold","color","DialogPrimitiveTitle","isNil","HeadingGroup","role","ModalHeader","title","description","titleSize","hidden","hasTitleArea","Hidden","VisuallyHidden","Fragment","TitleContainer","CloseIconButtonSpacer","DialogPrimitiveDescription","ModalBody","ModalFooter","rightContent","FooterLeftContent","FooterRightContent","ModalTrigger","DialogPrimitiveTrigger","DialogPrimitiveClose"],"mappings":"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"}
@@ -3,22 +3,22 @@
3
3
  var React = require('react');
4
4
  var index = require('../../node_modules/classnames/index.js');
5
5
  var style = require('../../utils/style.js');
6
- var AlphaSmoothCornersBox_module = require('./AlphaSmoothCornersBox.module.scss.js');
6
+ var SmoothCornersBox_module = require('./SmoothCornersBox.module.scss.js');
7
7
  var FeatureProvider = require('../FeatureProvider/FeatureProvider.js');
8
8
  var FeatureProvider_types = require('../FeatureProvider/FeatureProvider.types.js');
9
9
 
10
10
  /**
11
- * `AlphaSmoothCornersBox` is a simple `div` element with smooth corners.
11
+ * `SmoothCornersBox` is a simple `div` element with smooth corners.
12
12
  * It is available by enabling the `SmoothCornersFeature`.
13
13
  * @example
14
14
  *
15
15
  * ```tsx
16
16
  * <AppProvider features={[SmoothCornersFeature]}>
17
- * <AlphaSmoothCornersBox />
17
+ * <SmoothCornersBox />
18
18
  * </AppProvider>
19
19
  * ```
20
20
  */
21
- const AlphaSmoothCornersBox = /*#__PURE__*/React.forwardRef(function AlphaSmoothCornersBox({
21
+ const SmoothCornersBox = /*#__PURE__*/React.forwardRef(function SmoothCornersBox({
22
22
  children,
23
23
  style: style$1,
24
24
  className,
@@ -51,10 +51,10 @@ const AlphaSmoothCornersBox = /*#__PURE__*/React.forwardRef(function AlphaSmooth
51
51
  '--b-smooth-corners-box-background-color': style.cssVar(backgroundColor),
52
52
  '--b-smooth-corners-box-background-image': style.cssUrl(backgroundImage)
53
53
  },
54
- className: index.default(AlphaSmoothCornersBox_module.default.SmoothCornersBox, className),
54
+ className: index.default(SmoothCornersBox_module.default.SmoothCornersBox, className),
55
55
  "data-state": FeatureProvider.useFeatureFlag(FeatureProvider_types.FeatureType.SmoothCorners) && !disabled ? 'enabled' : 'disabled'
56
56
  }), children);
57
57
  });
58
58
 
59
- exports.AlphaSmoothCornersBox = AlphaSmoothCornersBox;
60
- //# sourceMappingURL=AlphaSmoothCornersBox.js.map
59
+ exports.SmoothCornersBox = SmoothCornersBox;
60
+ //# sourceMappingURL=SmoothCornersBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmoothCornersBox.js","sources":["../../../../src/components/SmoothCornersBox/SmoothCornersBox.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport {\n cssUrl,\n cssVar,\n px,\n} from '~/src/utils/style'\n\nimport {\n FeatureType,\n useFeatureFlag,\n} from '~/src/components/FeatureProvider'\n\nimport { type SmoothCornersBoxProps } from './SmoothCornersBox.types'\n\nimport styles from './SmoothCornersBox.module.scss'\n\n/**\n * `SmoothCornersBox` is a simple `div` element with smooth corners.\n * It is available by enabling the `SmoothCornersFeature`.\n * @example\n *\n * ```tsx\n * <AppProvider features={[SmoothCornersFeature]}>\n * <SmoothCornersBox />\n * </AppProvider>\n * ```\n */\nexport const SmoothCornersBox = forwardRef<HTMLDivElement, SmoothCornersBoxProps>(function SmoothCornersBox({\n children,\n style,\n className,\n disabled,\n borderRadius,\n margin,\n shadow,\n backgroundColor,\n backgroundImage,\n ...rest\n}, forwardedRef) {\n const shadowBlurRadius = shadow?.blurRadius ?? 0\n const shadowSpreadRadius = shadow?.spreadRadius ?? 0\n\n return (\n <div\n {...rest}\n ref={forwardedRef}\n style={{\n ...style,\n '--b-smooth-corners-box-border-radius': borderRadius,\n '--b-smooth-corners-box-shadow-offset-x': px(shadow?.offsetX),\n '--b-smooth-corners-box-shadow-offset-y': px(shadow?.offsetY),\n '--b-smooth-corners-box-shadow-blur-radius': `${shadowBlurRadius}px`,\n '--b-smooth-corners-box-shadow-spread-radius': `${shadowSpreadRadius}px`,\n '--b-smooth-corners-box-shadow-color': cssVar(shadow?.color),\n /**\n * NOTE: Calculate in javascript because it cannot access calculated values via CSS calc() in the paint worklet.\n * @see {@link ~/src/features/SmoothCorners/smoothCornersScript.ts}\n */\n '--b-smooth-corners-box-padding': `${Math.max(shadowBlurRadius, shadowSpreadRadius) * 2}px`,\n '--b-smooth-corners-box-margin': `${margin ?? 0}px`,\n '--b-smooth-corners-box-background-color': cssVar(backgroundColor),\n '--b-smooth-corners-box-background-image': cssUrl(backgroundImage),\n } as React.CSSProperties}\n className={classNames(\n styles.SmoothCornersBox,\n className,\n )}\n data-state={\n useFeatureFlag(FeatureType.SmoothCorners) && !disabled\n ? 'enabled'\n : 'disabled'\n }\n >\n { children }\n </div>\n )\n})\n"],"names":["SmoothCornersBox","forwardRef","children","style","className","disabled","borderRadius","margin","shadow","backgroundColor","backgroundImage","rest","forwardedRef","shadowBlurRadius","blurRadius","shadowSpreadRadius","spreadRadius","React","createElement","Object","assign","ref","px","offsetX","offsetY","cssVar","color","Math","max","cssUrl","classNames","styles","useFeatureFlag","FeatureType","SmoothCorners"],"mappings":";;;;;;;;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,gBAAgB,gBAAGC,gBAAU,CAAwC,SAASD,gBAAgBA,CAAC;EAC1GE,QAAQ;SACRC,OAAK;EACLC,SAAS;EACTC,QAAQ;EACRC,YAAY;EACZC,MAAM;EACNC,MAAM;EACNC,eAAe;EACfC,eAAe;EACf,GAAGC,IAAAA;AACL,CAAC,EAAEC,YAAY,EAAE;AACf,EAAA,MAAMC,gBAAgB,GAAGL,MAAM,EAAEM,UAAU,IAAI,CAAC,CAAA;AAChD,EAAA,MAAMC,kBAAkB,GAAGP,MAAM,EAAEQ,YAAY,IAAI,CAAC,CAAA;EAEpD,oBACEC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,MAAA,CAAAC,MAAA,KACMT,IAAI,EAAA;AACRU,IAAAA,GAAG,EAAET,YAAa;AAClBT,IAAAA,KAAK,EAAE;AACL,MAAA,GAAGA,OAAK;AACR,MAAA,sCAAsC,EAAEG,YAAY;AACpD,MAAA,wCAAwC,EAAEgB,QAAE,CAACd,MAAM,EAAEe,OAAO,CAAC;AAC7D,MAAA,wCAAwC,EAAED,QAAE,CAACd,MAAM,EAAEgB,OAAO,CAAC;MAC7D,2CAA2C,EAAG,CAAEX,EAAAA,gBAAiB,CAAG,EAAA,CAAA;MACpE,6CAA6C,EAAG,CAAEE,EAAAA,kBAAmB,CAAG,EAAA,CAAA;AACxE,MAAA,qCAAqC,EAAEU,YAAM,CAACjB,MAAM,EAAEkB,KAAK,CAAC;AAC5D;AACR;AACA;AACA;AACQ,MAAA,gCAAgC,EAAG,CAAA,EAAEC,IAAI,CAACC,GAAG,CAACf,gBAAgB,EAAEE,kBAAkB,CAAC,GAAG,CAAE,CAAG,EAAA,CAAA;AAC3F,MAAA,+BAA+B,EAAG,CAAA,EAAER,MAAM,IAAI,CAAE,CAAG,EAAA,CAAA;AACnD,MAAA,yCAAyC,EAAEkB,YAAM,CAAChB,eAAe,CAAC;MAClE,yCAAyC,EAAEoB,YAAM,CAACnB,eAAe,CAAA;KAC1C;IACzBN,SAAS,EAAE0B,aAAU,CACnBC,+BAAM,CAAC/B,gBAAgB,EACvBI,SACF,CAAE;IACF,YACE4B,EAAAA,8BAAc,CAACC,iCAAW,CAACC,aAAa,CAAC,IAAI,CAAC7B,QAAQ,GAClD,SAAS,GACT,UAAA;AACL,GAAA,CAAA,EAECH,QACC,CAAC,CAAA;AAEV,CAAC;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styles = {"SmoothCornersBox":"b-18BEw"};
6
+
7
+ exports.default = styles;
8
+ //# sourceMappingURL=SmoothCornersBox.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmoothCornersBox.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('../../node_modules/@radix-ui/react-tooltip/dist/index.js');
5
4
  var type = require('../../utils/type.js');
6
5
  var Tooltip_module = require('./Tooltip.module.scss.js');
7
6
  var WindowProvider = require('../WindowProvider/WindowProvider.js');
7
+ var TooltipPrimitive = require('../../alpha-components/TooltipPrimitive/TooltipPrimitive.js');
8
8
  var ThemeProvider = require('../ThemeProvider/ThemeProvider.js');
9
9
  var Stack = require('../Stack/Stack.js');
10
10
  var Text = require('../Text/Text.js');
@@ -159,19 +159,19 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip({
159
159
  }
160
160
  onHide();
161
161
  }, [shouldBeHidden, delayHide, onShow, onHide]);
162
- return /*#__PURE__*/React.createElement(index.Provider, {
162
+ return /*#__PURE__*/React.createElement(TooltipPrimitive.TooltipPrimitiveProvider, {
163
163
  skipDelayDuration: 0
164
- }, /*#__PURE__*/React.createElement(index.Root, {
164
+ }, /*#__PURE__*/React.createElement(TooltipPrimitive.TooltipPrimitive, {
165
165
  open: show,
166
166
  defaultOpen: defaultShow,
167
167
  delayDuration: delayShow,
168
168
  disableHoverableContent: !allowHover,
169
169
  onOpenChange: onOpenChange
170
- }, /*#__PURE__*/React.createElement(index.Trigger, {
170
+ }, /*#__PURE__*/React.createElement(TooltipPrimitive.TooltipPrimitiveTrigger, {
171
171
  asChild: true
172
- }, children), /*#__PURE__*/React.createElement(index.Portal, {
172
+ }, children), /*#__PURE__*/React.createElement(TooltipPrimitive.TooltipPrimitivePortal, {
173
173
  container: container
174
- }, /*#__PURE__*/React.createElement(ThemeProvider.InvertedThemeProvider, null, /*#__PURE__*/React.createElement(index.Content, Object.assign({}, rest, getSideAndAlign(placement), {
174
+ }, /*#__PURE__*/React.createElement(ThemeProvider.InvertedThemeProvider, null, /*#__PURE__*/React.createElement(TooltipPrimitive.TooltipPrimitiveContent, Object.assign({}, rest, getSideAndAlign(placement), {
175
175
  asChild: true,
176
176
  ref: forwardedRef,
177
177
  sideOffset: offset,