@channel.io/bezier-react 2.0.8 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/cjs/components/AlphaToggleButton/ToggleButton.js +71 -0
  2. package/dist/cjs/components/AlphaToggleButton/ToggleButton.js.map +1 -0
  3. package/dist/cjs/components/AlphaToggleButton/ToggleButton.module.scss.js +8 -0
  4. package/dist/cjs/components/AlphaToggleButton/ToggleButton.module.scss.js.map +1 -0
  5. package/dist/cjs/components/AlphaToggleButton/ToggleButtonContext.js +11 -0
  6. package/dist/cjs/components/AlphaToggleButton/ToggleButtonContext.js.map +1 -0
  7. package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.js +76 -0
  8. package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.js.map +1 -0
  9. package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.js +8 -0
  10. package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.js.map +1 -0
  11. package/dist/cjs/components/Select/Select.js +2 -0
  12. package/dist/cjs/components/Select/Select.js.map +1 -1
  13. package/dist/cjs/components/Toast/ToastService.js +1 -2
  14. package/dist/cjs/components/Toast/ToastService.js.map +1 -1
  15. package/dist/cjs/index.js +4 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.js +38 -0
  18. package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.js.map +1 -0
  19. package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.js +163 -4
  20. package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.js.map +1 -1
  21. package/dist/cjs/node_modules/aria-hidden/dist/es2015/index.js +1 -1
  22. package/dist/cjs/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  23. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/Combination.js +1 -2
  24. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
  25. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +2 -2
  26. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  27. package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js +1 -2
  28. package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js.map +1 -1
  29. package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +1 -1
  30. package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  31. package/dist/cjs/node_modules/uuid/dist/esm-browser/v4.js +0 -8
  32. package/dist/cjs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  33. package/dist/cjs/styles.css +1 -1
  34. package/dist/cjs/utils/number.js +0 -3
  35. package/dist/cjs/utils/number.js.map +1 -1
  36. package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs +69 -0
  37. package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs.map +1 -0
  38. package/dist/esm/components/AlphaToggleButton/ToggleButton.module.scss.mjs +4 -0
  39. package/dist/esm/components/AlphaToggleButton/ToggleButton.module.scss.mjs.map +1 -0
  40. package/dist/esm/components/AlphaToggleButton/ToggleButtonContext.mjs +8 -0
  41. package/dist/esm/components/AlphaToggleButton/ToggleButtonContext.mjs.map +1 -0
  42. package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.mjs +74 -0
  43. package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.mjs.map +1 -0
  44. package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.mjs +4 -0
  45. package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.mjs.map +1 -0
  46. package/dist/esm/components/Select/Select.mjs +2 -0
  47. package/dist/esm/components/Select/Select.mjs.map +1 -1
  48. package/dist/esm/components/TextArea/TextArea.mjs +2 -2
  49. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  50. package/dist/esm/components/Toast/ToastService.mjs +1 -2
  51. package/dist/esm/components/Toast/ToastService.mjs.map +1 -1
  52. package/dist/esm/index.mjs +2 -0
  53. package/dist/esm/index.mjs.map +1 -1
  54. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs +2 -2
  55. package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.mjs +35 -0
  56. package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.mjs.map +1 -0
  57. package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.mjs +161 -6
  58. package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.map +1 -1
  59. package/dist/esm/node_modules/aria-hidden/dist/es2015/index.mjs +1 -1
  60. package/dist/esm/node_modules/aria-hidden/dist/es2015/index.mjs.map +1 -1
  61. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/Combination.mjs +1 -2
  62. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/Combination.mjs.map +1 -1
  63. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs +2 -2
  64. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs.map +1 -1
  65. package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs +1 -2
  66. package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs.map +1 -1
  67. package/dist/esm/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs +1 -1
  68. package/dist/esm/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs.map +1 -1
  69. package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs +0 -8
  70. package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs.map +1 -1
  71. package/dist/esm/styles.css +1 -1
  72. package/dist/esm/utils/number.mjs +0 -3
  73. package/dist/esm/utils/number.mjs.map +1 -1
  74. package/dist/types/components/AlphaToggleButton/ToggleButton.d.ts +4 -0
  75. package/dist/types/components/AlphaToggleButton/ToggleButton.d.ts.map +1 -0
  76. package/dist/types/components/AlphaToggleButton/ToggleButton.types.d.ts +55 -0
  77. package/dist/types/components/AlphaToggleButton/ToggleButton.types.d.ts.map +1 -0
  78. package/dist/types/components/AlphaToggleButton/ToggleButtonContext.d.ts +5 -0
  79. package/dist/types/components/AlphaToggleButton/ToggleButtonContext.d.ts.map +1 -0
  80. package/dist/types/components/AlphaToggleButton/index.d.ts +3 -0
  81. package/dist/types/components/AlphaToggleButton/index.d.ts.map +1 -0
  82. package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.d.ts +29 -0
  83. package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -0
  84. package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.types.d.ts +40 -0
  85. package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.types.d.ts.map +1 -0
  86. package/dist/types/components/AlphaToggleButtonGroup/index.d.ts +3 -0
  87. package/dist/types/components/AlphaToggleButtonGroup/index.d.ts.map +1 -0
  88. package/dist/types/components/Select/Select.d.ts.map +1 -1
  89. package/dist/types/components/Select/Select.types.d.ts +1 -0
  90. package/dist/types/components/Select/Select.types.d.ts.map +1 -1
  91. package/dist/types/index.d.ts +2 -0
  92. package/dist/types/index.d.ts.map +1 -1
  93. package/package.json +4 -2
  94. package/src/components/AlphaButton/AlphaButton.stories.tsx +1 -1
  95. package/src/components/AlphaFloatingButton/AlphaFloatingButton.stories.tsx +1 -1
  96. package/src/components/AlphaFloatingIconButton/AlphaFloatingIconButton.stories.tsx +1 -1
  97. package/src/components/AlphaIconButton/AlphaIconButton.stories.tsx +1 -1
  98. package/src/components/AlphaToggleButton/AlphaToggleButton.stories.tsx +27 -0
  99. package/src/components/AlphaToggleButton/ToggleButton.module.scss +127 -0
  100. package/src/components/AlphaToggleButton/ToggleButton.tsx +117 -0
  101. package/src/components/AlphaToggleButton/ToggleButton.types.ts +76 -0
  102. package/src/components/AlphaToggleButton/ToggleButtonContext.ts +9 -0
  103. package/src/components/AlphaToggleButton/index.ts +2 -0
  104. package/src/components/AlphaToggleButtonGroup/AlphaToggleButtonGroup.stories.tsx +73 -0
  105. package/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss +12 -0
  106. package/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.tsx +92 -0
  107. package/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.types.ts +66 -0
  108. package/src/components/AlphaToggleButtonGroup/index.ts +5 -0
  109. package/src/components/Banner/Banner.stories.tsx +1 -1
  110. package/src/components/Button/Button.stories.tsx +1 -1
  111. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +1 -1
  112. package/src/components/Icon/Icon.stories.tsx +1 -1
  113. package/src/components/ProgressBar/ProgressBar.stories.tsx +1 -1
  114. package/src/components/Select/Select.tsx +2 -0
  115. package/src/components/Select/Select.types.ts +1 -0
  116. package/src/components/Tabs/Tabs.module.scss +4 -5
  117. package/src/index.ts +2 -0
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var bezierIcons = require('@channel.io/bezier-icons');
5
+ var index = require('../../node_modules/@radix-ui/react-toggle/dist/index.js');
6
+ var index$1 = require('../../node_modules/classnames/index.js');
7
+ var ToggleButtonContext = require('./ToggleButtonContext.js');
8
+ var ToggleButton_module = require('./ToggleButton.module.scss.js');
9
+ var Text = require('../Text/Text.js');
10
+ var Spinner = require('../AlphaSpinner/Spinner.js');
11
+ var BaseButton = require('../BaseButton/BaseButton.js');
12
+ var Icon = require('../Icon/Icon.js');
13
+
14
+ function SideContent({
15
+ size,
16
+ content
17
+ }) {
18
+ return bezierIcons.isBezierIcon(content) ? /*#__PURE__*/React.createElement(Icon.Icon, {
19
+ source: content,
20
+ size: size,
21
+ className: ToggleButton_module.default.ButtonIcon
22
+ }) : content;
23
+ }
24
+ const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton({
25
+ as = BaseButton.BaseButton,
26
+ text,
27
+ prefixContent,
28
+ suffixContent,
29
+ variant = 'primary',
30
+ shape: shapeProps,
31
+ size = 'm',
32
+ className,
33
+ loading,
34
+ onSelectedChange,
35
+ ...rest
36
+ }, forwardedRef) {
37
+ const {
38
+ shape: shapeContext
39
+ } = ToggleButtonContext.useToggleButtonContext();
40
+ const shape = shapeProps ?? shapeContext ?? 'capsule';
41
+ const Comp = as;
42
+ const ICON_SIZE = 's';
43
+ return /*#__PURE__*/React.createElement(index.Root, Object.assign({
44
+ asChild: true,
45
+ onPressedChange: onSelectedChange
46
+ }, rest), /*#__PURE__*/React.createElement(Comp, {
47
+ ref: forwardedRef,
48
+ className: index$1.default(ToggleButton_module.default.Button, ToggleButton_module.default[`size-${size}`], ToggleButton_module.default[`variant-${variant}`], shape && ToggleButton_module.default[`shape-${shape}`], className)
49
+ }, /*#__PURE__*/React.createElement("div", {
50
+ className: index$1.default(ToggleButton_module.default.ButtonContent, loading && ToggleButton_module.default.loading)
51
+ }, /*#__PURE__*/React.createElement(SideContent, {
52
+ size: ICON_SIZE,
53
+ content: prefixContent
54
+ }), /*#__PURE__*/React.createElement(Text.Text, {
55
+ className: ToggleButton_module.default.ButtonText,
56
+ typo: "14",
57
+ "data-text": text,
58
+ truncated: true
59
+ }, text), /*#__PURE__*/React.createElement(SideContent, {
60
+ size: ICON_SIZE,
61
+ content: suffixContent
62
+ })), loading && /*#__PURE__*/React.createElement("div", {
63
+ className: index$1.default(ToggleButton_module.default.ButtonLoader, ToggleButton_module.default[`size-${ICON_SIZE}`])
64
+ }, /*#__PURE__*/React.createElement(Spinner.Spinner, {
65
+ className: ToggleButton_module.default.Spinner,
66
+ variant: "secondary"
67
+ }))));
68
+ });
69
+
70
+ exports.ToggleButton = ToggleButton;
71
+ //# sourceMappingURL=ToggleButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleButton.js","sources":["../../../../src/components/AlphaToggleButton/ToggleButton.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport classNames from 'classnames'\n\nimport { AlphaSpinner } from '~/src/components/AlphaSpinner'\nimport { useToggleButtonContext } from '~/src/components/AlphaToggleButton/ToggleButtonContext'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon, type IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type ToggleButtonProps } from './ToggleButton.types'\n\nimport styles from './ToggleButton.module.scss'\n\nfunction SideContent({\n size,\n content,\n}: {\n size: IconSize\n content?: ToggleButtonProps['prefixContent']\n}) {\n return isBezierIcon(content) ? (\n <Icon\n source={content}\n size={size}\n className={styles.ButtonIcon}\n />\n ) : (\n content\n )\n}\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>(\n function ToggleButton(\n {\n as = BaseButton,\n text,\n prefixContent,\n suffixContent,\n variant = 'primary',\n shape: shapeProps,\n size = 'm',\n className,\n loading,\n onSelectedChange,\n ...rest\n },\n forwardedRef\n ) {\n const { shape: shapeContext } = useToggleButtonContext()\n const shape = shapeProps ?? shapeContext ?? 'capsule'\n const Comp = as as typeof BaseButton\n const ICON_SIZE = 's'\n\n return (\n <TogglePrimitive.Root\n asChild\n onPressedChange={onSelectedChange}\n {...rest}\n >\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.Button,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n shape && styles[`shape-${shape}`],\n className\n )}\n >\n <div\n className={classNames(\n styles.ButtonContent,\n loading && styles.loading\n )}\n >\n <SideContent\n size={ICON_SIZE}\n content={prefixContent}\n />\n\n {/* TODO: use AlphaText later, add typo */}\n <Text\n className={styles.ButtonText}\n typo=\"14\"\n data-text={text}\n truncated\n >\n {text}\n </Text>\n\n <SideContent\n size={ICON_SIZE}\n content={suffixContent}\n />\n </div>\n\n {loading && (\n <div\n className={classNames(\n styles.ButtonLoader,\n styles[`size-${ICON_SIZE}`]\n )}\n >\n <AlphaSpinner\n className={styles.Spinner}\n variant=\"secondary\"\n />\n </div>\n )}\n </Comp>\n </TogglePrimitive.Root>\n )\n }\n)\n"],"names":["SideContent","size","content","isBezierIcon","React","createElement","Icon","source","className","styles","ButtonIcon","ToggleButton","forwardRef","as","BaseButton","text","prefixContent","suffixContent","variant","shape","shapeProps","loading","onSelectedChange","rest","forwardedRef","shapeContext","useToggleButtonContext","Comp","ICON_SIZE","TogglePrimitive","Object","assign","asChild","onPressedChange","ref","classNames","Button","ButtonContent","Text","ButtonText","typo","truncated","ButtonLoader","AlphaSpinner","Spinner"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styles = {"Icon":"b-IeE6h","size-xxxs":"b-PNc-m","size-xxs":"b-MX6T7","size-xs":"b-O1HAU","size-s":"b-19s1t","size-m":"b-uiuB9","size-l":"b-CGM60","size-xl":"b-jYKcF","Button":"b-Uff8c","ButtonText":"b-XEr1t","variant-primary":"b-0Kyle","variant-secondary":"b-xS5Uj","shape-rectangle":"b-K7FY1","shape-capsule":"b-fR1nh","ButtonIcon":"b-NsnxS","ButtonContent":"b--czc7","loading":"b-N4M8g","ButtonLoader":"b-dvDDy","Spinner":"b-VsR6-"};
6
+
7
+ exports.default = styles;
8
+ //# sourceMappingURL=ToggleButton.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleButton.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var react = require('../../utils/react.js');
4
+
5
+ const [ToggleButtonProvider, useToggleButtonContext] = react.createContext({
6
+ shape: undefined
7
+ });
8
+
9
+ exports.ToggleButtonProvider = ToggleButtonProvider;
10
+ exports.useToggleButtonContext = useToggleButtonContext;
11
+ //# sourceMappingURL=ToggleButtonContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleButtonContext.js","sources":["../../../../src/components/AlphaToggleButton/ToggleButtonContext.ts"],"sourcesContent":["import { createContext } from '~/src/utils/react'\n\nimport { type ToggleButtonProps } from '~/src/components/AlphaToggleButton/ToggleButton.types'\n\nconst [ToggleButtonProvider, useToggleButtonContext] = createContext<\n Pick<ToggleButtonProps, 'shape'>\n>({ shape: undefined })\n\nexport { ToggleButtonProvider, useToggleButtonContext }\n"],"names":["ToggleButtonProvider","useToggleButtonContext","createContext","shape","undefined"],"mappings":";;;;AAIA,MAAM,CAACA,oBAAoB,EAAEC,sBAAsB,CAAC,GAAGC,mBAAa,CAElE;AAAEC,EAAAA,KAAK,EAAEC,SAAAA;AAAU,CAAC;;;;;"}
@@ -0,0 +1,76 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var index = require('../../node_modules/@radix-ui/react-toggle-group/dist/index.js');
5
+ var index$1 = require('../../node_modules/classnames/index.js');
6
+ var ToggleButtonContext = require('../AlphaToggleButton/ToggleButtonContext.js');
7
+ var ToggleButtonGroup_module = require('./ToggleButtonGroup.module.scss.js');
8
+
9
+ /**
10
+ * `ToggleButtonGroup` is a group of two-state buttons that can be toggled.
11
+ * Notice that it keeps at least one button selected.
12
+ * @example
13
+ *
14
+ * ```tsx
15
+ * <ToggleButtonGroup
16
+ * shape="rectangle"
17
+ * value="two"
18
+ * >
19
+ * <ToggleButton
20
+ * value="one"
21
+ * text="left"
22
+ * />
23
+ * <ToggleButton
24
+ * value="two"
25
+ * text="center"
26
+ * />
27
+ * <ToggleButton
28
+ * value="three"
29
+ * text="right"
30
+ * />
31
+ * </ToggleButtonGroup>
32
+ * ```
33
+ */
34
+ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGroup(props, forwardedRef) {
35
+ const {
36
+ children,
37
+ shape,
38
+ className,
39
+ fullWidth,
40
+ onValueChange,
41
+ ...rest
42
+ } = props;
43
+ const handleValueChange = value => {
44
+ if (!props.onValueChange || !value.length) {
45
+ return;
46
+ }
47
+ if (props.type === 'single' && typeof value === 'string') {
48
+ props.onValueChange(value);
49
+ } else if (props.type === 'multiple' && Array.isArray(value)) {
50
+ props.onValueChange(value);
51
+ }
52
+ };
53
+ const ToggleButtons = React.Children.map(children, toggleButton => {
54
+ if (! /*#__PURE__*/React.isValidElement(toggleButton)) {
55
+ return null;
56
+ }
57
+ return /*#__PURE__*/React.createElement(index.Item, {
58
+ asChild: true,
59
+ value: toggleButton.props.value,
60
+ key: toggleButton.props.value,
61
+ className: ToggleButtonGroup_module.default.item
62
+ }, toggleButton);
63
+ });
64
+ return /*#__PURE__*/React.createElement(index.Root, Object.assign({
65
+ ref: forwardedRef,
66
+ className: index$1.default(ToggleButtonGroup_module.default.ToggleButtonGroup, fullWidth && ToggleButtonGroup_module.default.fullWidth, className),
67
+ onValueChange: handleValueChange
68
+ }, rest), /*#__PURE__*/React.createElement(ToggleButtonContext.ToggleButtonProvider, {
69
+ value: React.useMemo(() => ({
70
+ shape
71
+ }), [shape])
72
+ }, ToggleButtons));
73
+ });
74
+
75
+ exports.ToggleButtonGroup = ToggleButtonGroup;
76
+ //# sourceMappingURL=ToggleButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleButtonGroup.js","sources":["../../../../src/components/AlphaToggleButtonGroup/ToggleButtonGroup.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react'\n\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\nimport classNames from 'classnames'\n\nimport { type ToggleButtonProps } from '~/src/components/AlphaToggleButton/ToggleButton.types'\nimport { ToggleButtonProvider } from '~/src/components/AlphaToggleButton/ToggleButtonContext'\nimport {\n type ToggleButtonMultipleGroupProps,\n type ToggleButtonSingleGroupProps,\n} from '~/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.types'\n\nimport styles from './ToggleButtonGroup.module.scss'\n\n/**\n * `ToggleButtonGroup` is a group of two-state buttons that can be toggled.\n * Notice that it keeps at least one button selected.\n * @example\n *\n * ```tsx\n * <ToggleButtonGroup\n * shape=\"rectangle\"\n * value=\"two\"\n * >\n * <ToggleButton\n * value=\"one\"\n * text=\"left\"\n * />\n * <ToggleButton\n * value=\"two\"\n * text=\"center\"\n * />\n * <ToggleButton\n * value=\"three\"\n * text=\"right\"\n * />\n * </ToggleButtonGroup>\n * ```\n */\nexport const ToggleButtonGroup = forwardRef<\n HTMLDivElement,\n ToggleButtonMultipleGroupProps | ToggleButtonSingleGroupProps\n>(function ToggleButtonGroup(props, forwardedRef) {\n const { children, shape, className, fullWidth, onValueChange, ...rest } =\n props\n\n const handleValueChange = (value: string | string[]) => {\n if (!props.onValueChange || !value.length) {\n return\n }\n\n if (props.type === 'single' && typeof value === 'string') {\n props.onValueChange(value)\n } else if (props.type === 'multiple' && Array.isArray(value)) {\n props.onValueChange(value)\n }\n }\n\n const ToggleButtons = React.Children.map(children, (toggleButton) => {\n if (!React.isValidElement<ToggleButtonProps>(toggleButton)) {\n return null\n }\n\n return (\n <ToggleGroupPrimitive.Item\n asChild\n value={toggleButton.props.value}\n key={toggleButton.props.value}\n className={styles.item}\n >\n {toggleButton}\n </ToggleGroupPrimitive.Item>\n )\n })\n\n return (\n <ToggleGroupPrimitive.Root\n ref={forwardedRef}\n className={classNames(\n styles.ToggleButtonGroup,\n fullWidth && styles.fullWidth,\n className\n )}\n onValueChange={handleValueChange}\n {...rest}\n >\n <ToggleButtonProvider value={useMemo(() => ({ shape }), [shape])}>\n {ToggleButtons}\n </ToggleButtonProvider>\n </ToggleGroupPrimitive.Root>\n )\n})\n"],"names":["ToggleButtonGroup","forwardRef","props","forwardedRef","children","shape","className","fullWidth","onValueChange","rest","handleValueChange","value","length","type","Array","isArray","ToggleButtons","React","Children","map","toggleButton","isValidElement","createElement","ToggleGroupPrimitive","asChild","key","styles","item","Object","assign","ref","classNames","ToggleButtonProvider","useMemo"],"mappings":";;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,iBAAiB,gBAAGC,gBAAU,CAGzC,SAASD,iBAAiBA,CAACE,KAAK,EAAEC,YAAY,EAAE;EAChD,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,SAAS;IAAEC,SAAS;IAAEC,aAAa;IAAE,GAAGC,IAAAA;AAAK,GAAC,GACrEP,KAAK,CAAA;EAEP,MAAMQ,iBAAiB,GAAIC,KAAwB,IAAK;IACtD,IAAI,CAACT,KAAK,CAACM,aAAa,IAAI,CAACG,KAAK,CAACC,MAAM,EAAE;AACzC,MAAA,OAAA;AACF,KAAA;IAEA,IAAIV,KAAK,CAACW,IAAI,KAAK,QAAQ,IAAI,OAAOF,KAAK,KAAK,QAAQ,EAAE;AACxDT,MAAAA,KAAK,CAACM,aAAa,CAACG,KAAK,CAAC,CAAA;AAC5B,KAAC,MAAM,IAAIT,KAAK,CAACW,IAAI,KAAK,UAAU,IAAIC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;AAC5DT,MAAAA,KAAK,CAACM,aAAa,CAACG,KAAK,CAAC,CAAA;AAC5B,KAAA;GACD,CAAA;EAED,MAAMK,aAAa,GAAGC,KAAK,CAACC,QAAQ,CAACC,GAAG,CAACf,QAAQ,EAAGgB,YAAY,IAAK;AACnE,IAAA,IAAI,eAACH,KAAK,CAACI,cAAc,CAAoBD,YAAY,CAAC,EAAE;AAC1D,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,oBACEH,KAAA,CAAAK,aAAA,CAACC,UAAyB,EAAA;MACxBC,OAAO,EAAA,IAAA;AACPb,MAAAA,KAAK,EAAES,YAAY,CAAClB,KAAK,CAACS,KAAM;AAChCc,MAAAA,GAAG,EAAEL,YAAY,CAAClB,KAAK,CAACS,KAAM;MAC9BL,SAAS,EAAEoB,gCAAM,CAACC,IAAAA;AAAK,KAAA,EAEtBP,YACwB,CAAC,CAAA;AAEhC,GAAC,CAAC,CAAA;EAEF,oBACEH,KAAA,CAAAK,aAAA,CAACC,UAAyB,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACxBC,IAAAA,GAAG,EAAE3B,YAAa;AAClBG,IAAAA,SAAS,EAAEyB,eAAU,CACnBL,gCAAM,CAAC1B,iBAAiB,EACxBO,SAAS,IAAImB,gCAAM,CAACnB,SAAS,EAC7BD,SACF,CAAE;AACFE,IAAAA,aAAa,EAAEE,iBAAAA;AAAkB,GAAA,EAC7BD,IAAI,CAERQ,eAAAA,KAAA,CAAAK,aAAA,CAACU,wCAAoB,EAAA;IAACrB,KAAK,EAAEsB,aAAO,CAAC,OAAO;AAAE5B,MAAAA,KAAAA;AAAM,KAAC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAA;GAC5DW,EAAAA,aACmB,CACG,CAAC,CAAA;AAEhC,CAAC;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styles = {"ToggleButtonGroup":"b-ttwJQ","fullWidth":"b-n0gBh","item":"b-QJoda"};
6
+
7
+ exports.default = styles;
8
+ //# sourceMappingURL=ToggleButtonGroup.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleButtonGroup.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -33,6 +33,7 @@ const Select = /*#__PURE__*/React.forwardRef(function Select({
33
33
  dropdownMarginY = 6,
34
34
  dropdownZIndex = 'overlay',
35
35
  dropdownPosition = 'bottom-left',
36
+ dropdownKeepInContainer = false,
36
37
  onClickTrigger,
37
38
  onHideDropdown,
38
39
  ...rest
@@ -112,6 +113,7 @@ const Select = /*#__PURE__*/React.forwardRef(function Select({
112
113
  target: triggerRef.current,
113
114
  container: dropdownContainer || containerRef.current,
114
115
  position: dropdownPosition,
116
+ keepInContainer: dropdownKeepInContainer,
115
117
  "data-testid": SELECT_DROPDOWN_TEST_ID,
116
118
  onHide: handleHideDropdown
117
119
  }, children));
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n getFormFieldSizeClassName,\n getZIndexClassName,\n} from '~/src/types/props-helpers'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Overlay } from '~/src/components/Overlay'\nimport { Text } from '~/src/components/Text'\n\nimport { type SelectProps, type SelectRef } from './Select.types'\n\nimport styles from './Select.module.scss'\n\nexport const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown'\n\nexport const Select = forwardRef<SelectRef, SelectProps>(function Select(\n {\n children,\n style,\n className,\n size: sizeProps,\n defaultFocus = false,\n placeholder = '',\n leftContent,\n rightContent,\n iconColor = 'txt-black-dark',\n text,\n textColor = 'txt-black-darkest',\n withoutChevron = false,\n dropdownStyle,\n dropdownClassName,\n dropdownContainer,\n dropdownMarginX,\n dropdownMarginY = 6,\n dropdownZIndex = 'overlay',\n dropdownPosition = 'bottom-left',\n onClickTrigger,\n onHideDropdown,\n ...rest\n },\n forwardedRef\n) {\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const [isDropdownOpened, setIsDropdownOpened] = useState(false)\n\n const handleClickTrigger = useCallback(\n (event: React.MouseEvent) => {\n if (!disabled && !readOnly) {\n setIsDropdownOpened((prevState) => !prevState)\n onClickTrigger?.(event)\n }\n },\n [disabled, readOnly, onClickTrigger]\n )\n\n const handleHideDropdown = useCallback(() => {\n setIsDropdownOpened(false)\n onHideDropdown?.()\n }, [onHideDropdown])\n\n const getDOMNode = useCallback(() => triggerRef.current, [])\n\n const handle = useMemo(\n (): SelectRef => ({\n handleClickTrigger,\n handleHideDropdown,\n getDOMNode,\n }),\n [handleClickTrigger, handleHideDropdown, getDOMNode]\n )\n\n useEffect(\n function handleDefaultFocus() {\n if (defaultFocus && !disabled && !readOnly) {\n setIsDropdownOpened(true)\n }\n },\n [defaultFocus, disabled, readOnly]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n const hasContent = !isEmpty(text)\n\n return (\n <div\n style={style}\n className={classNames(styles.SelectContainer, className)}\n ref={containerRef}\n >\n <BaseButton\n className={classNames(\n styles.SelectTrigger,\n getFormFieldSizeClassName(size),\n hasError && styles.invalid,\n readOnly && styles.readonly,\n isDropdownOpened && styles.active\n )}\n ref={triggerRef}\n disabled={disabled}\n onClick={handleClickTrigger}\n {...ownProps}\n >\n <div className={styles.SelectMainContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n source={leftContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n leftContent\n )}\n\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color={hasContent ? textColor : 'txt-black-dark'}\n >\n {hasContent ? text : placeholder}\n </Text>\n\n {isBezierIcon(rightContent) ? (\n <Icon\n source={rightContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n rightContent\n )}\n </div>\n\n {!withoutChevron && (\n <Icon\n source={isDropdownOpened ? ChevronUpIcon : ChevronDownIcon}\n size=\"xs\"\n color={readOnly ? 'txt-black-dark' : 'txt-black-darker'}\n marginLeft={6}\n />\n )}\n </BaseButton>\n\n <Overlay\n style={dropdownStyle}\n className={classNames(\n styles.SelectDropdown,\n getZIndexClassName(dropdownZIndex),\n dropdownClassName\n )}\n withTransition\n show={isDropdownOpened && !disabled}\n marginX={dropdownMarginX}\n marginY={dropdownMarginY}\n target={triggerRef.current}\n container={dropdownContainer || containerRef.current}\n position={dropdownPosition}\n data-testid={SELECT_DROPDOWN_TEST_ID}\n onHide={handleHideDropdown}\n >\n {children}\n </Overlay>\n </div>\n )\n})\n"],"names":["SELECT_DROPDOWN_TEST_ID","Select","forwardRef","children","style","className","size","sizeProps","defaultFocus","placeholder","leftContent","rightContent","iconColor","text","textColor","withoutChevron","dropdownStyle","dropdownClassName","dropdownContainer","dropdownMarginX","dropdownMarginY","dropdownZIndex","dropdownPosition","onClickTrigger","onHideDropdown","rest","forwardedRef","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","containerRef","useRef","triggerRef","isDropdownOpened","setIsDropdownOpened","useState","handleClickTrigger","useCallback","event","prevState","handleHideDropdown","getDOMNode","current","handle","useMemo","useEffect","handleDefaultFocus","useImperativeHandle","hasContent","isEmpty","React","createElement","classNames","styles","SelectContainer","ref","BaseButton","Object","assign","SelectTrigger","getFormFieldSizeClassName","invalid","readonly","active","onClick","SelectMainContent","isBezierIcon","Icon","source","marginRight","color","Text","typo","truncated","ChevronUpIcon","ChevronDownIcon","marginLeft","Overlay","SelectDropdown","getZIndexClassName","withTransition","show","marginX","marginY","target","container","position","onHide"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n getFormFieldSizeClassName,\n getZIndexClassName,\n} from '~/src/types/props-helpers'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Overlay } from '~/src/components/Overlay'\nimport { Text } from '~/src/components/Text'\n\nimport { type SelectProps, type SelectRef } from './Select.types'\n\nimport styles from './Select.module.scss'\n\nexport const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown'\n\nexport const Select = forwardRef<SelectRef, SelectProps>(function Select(\n {\n children,\n style,\n className,\n size: sizeProps,\n defaultFocus = false,\n placeholder = '',\n leftContent,\n rightContent,\n iconColor = 'txt-black-dark',\n text,\n textColor = 'txt-black-darkest',\n withoutChevron = false,\n dropdownStyle,\n dropdownClassName,\n dropdownContainer,\n dropdownMarginX,\n dropdownMarginY = 6,\n dropdownZIndex = 'overlay',\n dropdownPosition = 'bottom-left',\n dropdownKeepInContainer = false,\n onClickTrigger,\n onHideDropdown,\n ...rest\n },\n forwardedRef\n) {\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const [isDropdownOpened, setIsDropdownOpened] = useState(false)\n\n const handleClickTrigger = useCallback(\n (event: React.MouseEvent) => {\n if (!disabled && !readOnly) {\n setIsDropdownOpened((prevState) => !prevState)\n onClickTrigger?.(event)\n }\n },\n [disabled, readOnly, onClickTrigger]\n )\n\n const handleHideDropdown = useCallback(() => {\n setIsDropdownOpened(false)\n onHideDropdown?.()\n }, [onHideDropdown])\n\n const getDOMNode = useCallback(() => triggerRef.current, [])\n\n const handle = useMemo(\n (): SelectRef => ({\n handleClickTrigger,\n handleHideDropdown,\n getDOMNode,\n }),\n [handleClickTrigger, handleHideDropdown, getDOMNode]\n )\n\n useEffect(\n function handleDefaultFocus() {\n if (defaultFocus && !disabled && !readOnly) {\n setIsDropdownOpened(true)\n }\n },\n [defaultFocus, disabled, readOnly]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n const hasContent = !isEmpty(text)\n\n return (\n <div\n style={style}\n className={classNames(styles.SelectContainer, className)}\n ref={containerRef}\n >\n <BaseButton\n className={classNames(\n styles.SelectTrigger,\n getFormFieldSizeClassName(size),\n hasError && styles.invalid,\n readOnly && styles.readonly,\n isDropdownOpened && styles.active\n )}\n ref={triggerRef}\n disabled={disabled}\n onClick={handleClickTrigger}\n {...ownProps}\n >\n <div className={styles.SelectMainContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n source={leftContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n leftContent\n )}\n\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color={hasContent ? textColor : 'txt-black-dark'}\n >\n {hasContent ? text : placeholder}\n </Text>\n\n {isBezierIcon(rightContent) ? (\n <Icon\n source={rightContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n rightContent\n )}\n </div>\n\n {!withoutChevron && (\n <Icon\n source={isDropdownOpened ? ChevronUpIcon : ChevronDownIcon}\n size=\"xs\"\n color={readOnly ? 'txt-black-dark' : 'txt-black-darker'}\n marginLeft={6}\n />\n )}\n </BaseButton>\n\n <Overlay\n style={dropdownStyle}\n className={classNames(\n styles.SelectDropdown,\n getZIndexClassName(dropdownZIndex),\n dropdownClassName\n )}\n withTransition\n show={isDropdownOpened && !disabled}\n marginX={dropdownMarginX}\n marginY={dropdownMarginY}\n target={triggerRef.current}\n container={dropdownContainer || containerRef.current}\n position={dropdownPosition}\n keepInContainer={dropdownKeepInContainer}\n data-testid={SELECT_DROPDOWN_TEST_ID}\n onHide={handleHideDropdown}\n >\n {children}\n </Overlay>\n </div>\n )\n})\n"],"names":["SELECT_DROPDOWN_TEST_ID","Select","forwardRef","children","style","className","size","sizeProps","defaultFocus","placeholder","leftContent","rightContent","iconColor","text","textColor","withoutChevron","dropdownStyle","dropdownClassName","dropdownContainer","dropdownMarginX","dropdownMarginY","dropdownZIndex","dropdownPosition","dropdownKeepInContainer","onClickTrigger","onHideDropdown","rest","forwardedRef","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","containerRef","useRef","triggerRef","isDropdownOpened","setIsDropdownOpened","useState","handleClickTrigger","useCallback","event","prevState","handleHideDropdown","getDOMNode","current","handle","useMemo","useEffect","handleDefaultFocus","useImperativeHandle","hasContent","isEmpty","React","createElement","classNames","styles","SelectContainer","ref","BaseButton","Object","assign","SelectTrigger","getFormFieldSizeClassName","invalid","readonly","active","onClick","SelectMainContent","isBezierIcon","Icon","source","marginRight","color","Text","typo","truncated","ChevronUpIcon","ChevronDownIcon","marginLeft","Overlay","SelectDropdown","getZIndexClassName","withTransition","show","marginX","marginY","target","container","position","keepInContainer","onHide"],"mappings":";;;;;;;;;;;;;;AAiCO,MAAMA,uBAAuB,GAAG,yBAAwB;MAElDC,MAAM,gBAAGC,gBAAU,CAAyB,SAASD,MAAMA,CACtE;EACEE,QAAQ;EACRC,KAAK;EACLC,SAAS;AACTC,EAAAA,IAAI,EAAEC,SAAS;AACfC,EAAAA,YAAY,GAAG,KAAK;AACpBC,EAAAA,WAAW,GAAG,EAAE;EAChBC,WAAW;EACXC,YAAY;AACZC,EAAAA,SAAS,GAAG,gBAAgB;EAC5BC,IAAI;AACJC,EAAAA,SAAS,GAAG,mBAAmB;AAC/BC,EAAAA,cAAc,GAAG,KAAK;EACtBC,aAAa;EACbC,iBAAiB;EACjBC,iBAAiB;EACjBC,eAAe;AACfC,EAAAA,eAAe,GAAG,CAAC;AACnBC,EAAAA,cAAc,GAAG,SAAS;AAC1BC,EAAAA,gBAAgB,GAAG,aAAa;AAChCC,EAAAA,uBAAuB,GAAG,KAAK;EAC/BC,cAAc;EACdC,cAAc;EACd,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IACJC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;AACRxB,IAAAA,IAAI,EAAEyB,aAAa;IACnB,GAAGC,QAAAA;AACL,GAAC,GAAGC,6BAAiB,CAACP,IAAI,CAAC,CAAA;AAE3B,EAAA,MAAMQ,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;AACjD,EAAA,MAAMC,UAAU,GAAGD,YAAM,CAAoB,IAAI,CAAC,CAAA;AAElD,EAAA,MAAM7B,IAAI,GAAGC,SAAS,IAAIwB,aAAa,IAAI,GAAG,CAAA;EAE9C,MAAM,CAACM,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;AAE/D,EAAA,MAAMC,kBAAkB,GAAGC,iBAAW,CACnCC,KAAuB,IAAK;AAC3B,IAAA,IAAI,CAACd,QAAQ,IAAI,CAACC,QAAQ,EAAE;AAC1BS,MAAAA,mBAAmB,CAAEK,SAAS,IAAK,CAACA,SAAS,CAAC,CAAA;MAC9CnB,cAAc,GAAGkB,KAAK,CAAC,CAAA;AACzB,KAAA;GACD,EACD,CAACd,QAAQ,EAAEC,QAAQ,EAAEL,cAAc,CACrC,CAAC,CAAA;AAED,EAAA,MAAMoB,kBAAkB,GAAGH,iBAAW,CAAC,MAAM;IAC3CH,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAC1Bb,IAAAA,cAAc,IAAI,CAAA;AACpB,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC,CAAA;EAEpB,MAAMoB,UAAU,GAAGJ,iBAAW,CAAC,MAAML,UAAU,CAACU,OAAO,EAAE,EAAE,CAAC,CAAA;AAE5D,EAAA,MAAMC,MAAM,GAAGC,aAAO,CACpB,OAAkB;IAChBR,kBAAkB;IAClBI,kBAAkB;AAClBC,IAAAA,UAAAA;GACD,CAAC,EACF,CAACL,kBAAkB,EAAEI,kBAAkB,EAAEC,UAAU,CACrD,CAAC,CAAA;AAEDI,EAAAA,eAAS,CACP,SAASC,kBAAkBA,GAAG;AAC5B,IAAA,IAAI1C,YAAY,IAAI,CAACoB,QAAQ,IAAI,CAACC,QAAQ,EAAE;MAC1CS,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,KAAA;GACD,EACD,CAAC9B,YAAY,EAAEoB,QAAQ,EAAEC,QAAQ,CACnC,CAAC,CAAA;AAEDsB,EAAAA,yBAAmB,CAACxB,YAAY,EAAE,MAAMoB,MAAM,CAAC,CAAA;AAE/C,EAAA,MAAMK,UAAU,GAAG,CAACC,YAAO,CAACxC,IAAI,CAAC,CAAA;EAEjC,oBACEyC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEnD,IAAAA,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEmD,aAAU,CAACC,qBAAM,CAACC,eAAe,EAAErD,SAAS,CAAE;AACzDsD,IAAAA,GAAG,EAAEzB,YAAAA;GAELoB,eAAAA,KAAA,CAAAC,aAAA,CAACK,qBAAU,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACTzD,IAAAA,SAAS,EAAEmD,aAAU,CACnBC,qBAAM,CAACM,aAAa,EACpBC,sCAAyB,CAAC1D,IAAI,CAAC,EAC/BwB,QAAQ,IAAI2B,qBAAM,CAACQ,OAAO,EAC1BpC,QAAQ,IAAI4B,qBAAM,CAACS,QAAQ,EAC3B7B,gBAAgB,IAAIoB,qBAAM,CAACU,MAC7B,CAAE;AACFR,IAAAA,GAAG,EAAEvB,UAAW;AAChBR,IAAAA,QAAQ,EAAEA,QAAS;AACnBwC,IAAAA,OAAO,EAAE5B,kBAAAA;AAAmB,GAAA,EACxBR,QAAQ,CAAA,eAEZsB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKlD,SAAS,EAAEoD,qBAAM,CAACY,iBAAAA;GACpBC,EAAAA,wBAAY,CAAC5D,WAAW,CAAC,gBACxB4C,KAAA,CAAAC,aAAA,CAACgB,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAE9D,WAAY;AACpBJ,IAAAA,IAAI,EAAC,IAAI;AACTmE,IAAAA,WAAW,EAAE,CAAE;AACfC,IAAAA,KAAK,EAAE9D,SAAAA;GACR,CAAC,GAEFF,WACD,eAED4C,KAAA,CAAAC,aAAA,CAACoB,SAAI,EAAA;AACH,IAAA,aAAA,EAAY,4BAA4B;AACxCC,IAAAA,IAAI,EAAC,IAAI;IACTC,SAAS,EAAA,IAAA;AACTH,IAAAA,KAAK,EAAEtB,UAAU,GAAGtC,SAAS,GAAG,gBAAA;AAAiB,GAAA,EAEhDsC,UAAU,GAAGvC,IAAI,GAAGJ,WACjB,CAAC,EAEN6D,wBAAY,CAAC3D,YAAY,CAAC,gBACzB2C,KAAA,CAAAC,aAAA,CAACgB,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAE7D,YAAa;AACrBL,IAAAA,IAAI,EAAC,IAAI;AACTmE,IAAAA,WAAW,EAAE,CAAE;AACfC,IAAAA,KAAK,EAAE9D,SAAAA;AAAU,GAClB,CAAC,GAEFD,YAEC,CAAC,EAEL,CAACI,cAAc,iBACduC,KAAA,CAAAC,aAAA,CAACgB,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAEnC,gBAAgB,GAAGyC,yBAAa,GAAGC,2BAAgB;AAC3DzE,IAAAA,IAAI,EAAC,IAAI;AACToE,IAAAA,KAAK,EAAE7C,QAAQ,GAAG,gBAAgB,GAAG,kBAAmB;AACxDmD,IAAAA,UAAU,EAAE,CAAA;AAAE,GACf,CAEO,CAAC,eAEb1B,KAAA,CAAAC,aAAA,CAAC0B,eAAO,EAAA;AACN7E,IAAAA,KAAK,EAAEY,aAAc;AACrBX,IAAAA,SAAS,EAAEmD,aAAU,CACnBC,qBAAM,CAACyB,cAAc,EACrBC,+BAAkB,CAAC9D,cAAc,CAAC,EAClCJ,iBACF,CAAE;IACFmE,cAAc,EAAA,IAAA;AACdC,IAAAA,IAAI,EAAEhD,gBAAgB,IAAI,CAACT,QAAS;AACpC0D,IAAAA,OAAO,EAAEnE,eAAgB;AACzBoE,IAAAA,OAAO,EAAEnE,eAAgB;IACzBoE,MAAM,EAAEpD,UAAU,CAACU,OAAQ;AAC3B2C,IAAAA,SAAS,EAAEvE,iBAAiB,IAAIgB,YAAY,CAACY,OAAQ;AACrD4C,IAAAA,QAAQ,EAAEpE,gBAAiB;AAC3BqE,IAAAA,eAAe,EAAEpE,uBAAwB;AACzC,IAAA,aAAA,EAAavB,uBAAwB;AACrC4F,IAAAA,MAAM,EAAEhD,kBAAAA;GAEPzC,EAAAA,QACM,CACN,CAAC,CAAA;AAEV,CAAC;;;;;"}
@@ -73,7 +73,6 @@ class ToastService {
73
73
  this.setToasts([]);
74
74
  };
75
75
  }
76
- var ToastService$1 = ToastService;
77
76
 
78
- exports.default = ToastService$1;
77
+ exports.default = ToastService;
79
78
  //# sourceMappingURL=ToastService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastService.js","sources":["../../../../src/components/Toast/ToastService.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type ToastContent,\n type ToastId,\n type ToastOptions,\n type ToastType,\n} from './Toast.types'\n\nconst defaultOptions: ToastOptions = {\n autoDismiss: false,\n rightSide: false,\n}\n\n/* ToastService를 사용하는 이유\nNotion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#82b94a73d2f34257ab4799cdeccbc70c\n*/\n\nclass ToastService {\n toasts: ToastType[] = []\n\n getToasts = () => this.toasts\n\n setToasts = (newToasts: ToastType[]) => {\n this.toasts = newToasts\n }\n\n has = (toastId: ToastId) => {\n if (!this.toasts.length) {\n return false\n }\n return this.toasts.reduce(\n (flag, toast) => (toast.id === toastId ? true : flag),\n false\n )\n }\n\n add = (content: ToastContent, options: ToastOptions = defaultOptions) => {\n const newId: ToastId = uuid()\n\n if (this.has(newId)) {\n return ''\n }\n\n const newToast: ToastType = {\n id: newId,\n content,\n version: 0,\n ...options,\n }\n const newToasts: ToastType[] = [...this.toasts, newToast]\n this.setToasts(newToasts)\n return newId\n }\n\n update = (\n toastId: ToastId,\n content: ToastContent,\n options: ToastOptions = {}\n ) => {\n if (!this.has(toastId)) {\n return ''\n }\n\n const newToasts: ToastType[] = this.toasts.map((toast) => {\n if (toast.id === toastId) {\n return {\n ...toast,\n ...options,\n version: toast?.version != null ? toast.version + 1 : 0,\n content,\n }\n }\n return toast\n })\n this.setToasts(newToasts)\n return toastId\n }\n\n remove = (id: ToastId): boolean => {\n if (!this.has(id)) {\n return false\n }\n const newToasts: ToastType[] = this.toasts.filter(\n (toast) => toast.id !== id\n )\n this.setToasts(newToasts)\n return true // remove success\n }\n\n removeAll = () => {\n if (!this.toasts.length) {\n return\n }\n\n this.setToasts([])\n }\n}\n\nexport default ToastService\n"],"names":["defaultOptions","autoDismiss","rightSide","ToastService","toasts","getToasts","setToasts","newToasts","has","toastId","length","reduce","flag","toast","id","add","content","options","newId","uuid","newToast","version","update","map","remove","filter","removeAll"],"mappings":"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"}
1
+ {"version":3,"file":"ToastService.js","sources":["../../../../src/components/Toast/ToastService.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type ToastContent,\n type ToastId,\n type ToastOptions,\n type ToastType,\n} from './Toast.types'\n\nconst defaultOptions: ToastOptions = {\n autoDismiss: false,\n rightSide: false,\n}\n\n/* ToastService를 사용하는 이유\nNotion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#82b94a73d2f34257ab4799cdeccbc70c\n*/\n\nclass ToastService {\n toasts: ToastType[] = []\n\n getToasts = () => this.toasts\n\n setToasts = (newToasts: ToastType[]) => {\n this.toasts = newToasts\n }\n\n has = (toastId: ToastId) => {\n if (!this.toasts.length) {\n return false\n }\n return this.toasts.reduce(\n (flag, toast) => (toast.id === toastId ? true : flag),\n false\n )\n }\n\n add = (content: ToastContent, options: ToastOptions = defaultOptions) => {\n const newId: ToastId = uuid()\n\n if (this.has(newId)) {\n return ''\n }\n\n const newToast: ToastType = {\n id: newId,\n content,\n version: 0,\n ...options,\n }\n const newToasts: ToastType[] = [...this.toasts, newToast]\n this.setToasts(newToasts)\n return newId\n }\n\n update = (\n toastId: ToastId,\n content: ToastContent,\n options: ToastOptions = {}\n ) => {\n if (!this.has(toastId)) {\n return ''\n }\n\n const newToasts: ToastType[] = this.toasts.map((toast) => {\n if (toast.id === toastId) {\n return {\n ...toast,\n ...options,\n version: toast?.version != null ? toast.version + 1 : 0,\n content,\n }\n }\n return toast\n })\n this.setToasts(newToasts)\n return toastId\n }\n\n remove = (id: ToastId): boolean => {\n if (!this.has(id)) {\n return false\n }\n const newToasts: ToastType[] = this.toasts.filter(\n (toast) => toast.id !== id\n )\n this.setToasts(newToasts)\n return true // remove success\n }\n\n removeAll = () => {\n if (!this.toasts.length) {\n return\n }\n\n this.setToasts([])\n }\n}\n\nexport default ToastService\n"],"names":["defaultOptions","autoDismiss","rightSide","ToastService","toasts","getToasts","setToasts","newToasts","has","toastId","length","reduce","flag","toast","id","add","content","options","newId","uuid","newToast","version","update","map","remove","filter","removeAll"],"mappings":";;;;;;AASA,MAAMA,cAA4B,GAAG;AACnCC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC,CAAA;;AAED;AACA;AACA;;AAEA,MAAMC,YAAY,CAAC;AACjBC,EAAAA,MAAM,GAAgB,EAAE,CAAA;AAExBC,EAAAA,SAAS,GAAGA,MAAM,IAAI,CAACD,MAAM,CAAA;EAE7BE,SAAS,GAAIC,SAAsB,IAAK;IACtC,IAAI,CAACH,MAAM,GAAGG,SAAS,CAAA;GACxB,CAAA;EAEDC,GAAG,GAAIC,OAAgB,IAAK;AAC1B,IAAA,IAAI,CAAC,IAAI,CAACL,MAAM,CAACM,MAAM,EAAE;AACvB,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;IACA,OAAO,IAAI,CAACN,MAAM,CAACO,MAAM,CACvB,CAACC,IAAI,EAAEC,KAAK,KAAMA,KAAK,CAACC,EAAE,KAAKL,OAAO,GAAG,IAAI,GAAGG,IAAK,EACrD,KACF,CAAC,CAAA;GACF,CAAA;AAEDG,EAAAA,GAAG,GAAGA,CAACC,OAAqB,EAAEC,OAAqB,GAAGjB,cAAc,KAAK;AACvE,IAAA,MAAMkB,KAAc,GAAGC,UAAI,EAAE,CAAA;AAE7B,IAAA,IAAI,IAAI,CAACX,GAAG,CAACU,KAAK,CAAC,EAAE;AACnB,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AAEA,IAAA,MAAME,QAAmB,GAAG;AAC1BN,MAAAA,EAAE,EAAEI,KAAK;MACTF,OAAO;AACPK,MAAAA,OAAO,EAAE,CAAC;MACV,GAAGJ,OAAAA;KACJ,CAAA;IACD,MAAMV,SAAsB,GAAG,CAAC,GAAG,IAAI,CAACH,MAAM,EAAEgB,QAAQ,CAAC,CAAA;AACzD,IAAA,IAAI,CAACd,SAAS,CAACC,SAAS,CAAC,CAAA;AACzB,IAAA,OAAOW,KAAK,CAAA;GACb,CAAA;EAEDI,MAAM,GAAGA,CACPb,OAAgB,EAChBO,OAAqB,EACrBC,OAAqB,GAAG,EAAE,KACvB;AACH,IAAA,IAAI,CAAC,IAAI,CAACT,GAAG,CAACC,OAAO,CAAC,EAAE;AACtB,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;IAEA,MAAMF,SAAsB,GAAG,IAAI,CAACH,MAAM,CAACmB,GAAG,CAAEV,KAAK,IAAK;AACxD,MAAA,IAAIA,KAAK,CAACC,EAAE,KAAKL,OAAO,EAAE;QACxB,OAAO;AACL,UAAA,GAAGI,KAAK;AACR,UAAA,GAAGI,OAAO;AACVI,UAAAA,OAAO,EAAER,KAAK,EAAEQ,OAAO,IAAI,IAAI,GAAGR,KAAK,CAACQ,OAAO,GAAG,CAAC,GAAG,CAAC;AACvDL,UAAAA,OAAAA;SACD,CAAA;AACH,OAAA;AACA,MAAA,OAAOH,KAAK,CAAA;AACd,KAAC,CAAC,CAAA;AACF,IAAA,IAAI,CAACP,SAAS,CAACC,SAAS,CAAC,CAAA;AACzB,IAAA,OAAOE,OAAO,CAAA;GACf,CAAA;EAEDe,MAAM,GAAIV,EAAW,IAAc;AACjC,IAAA,IAAI,CAAC,IAAI,CAACN,GAAG,CAACM,EAAE,CAAC,EAAE;AACjB,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACA,IAAA,MAAMP,SAAsB,GAAG,IAAI,CAACH,MAAM,CAACqB,MAAM,CAC9CZ,KAAK,IAAKA,KAAK,CAACC,EAAE,KAAKA,EAC1B,CAAC,CAAA;AACD,IAAA,IAAI,CAACR,SAAS,CAACC,SAAS,CAAC,CAAA;AACzB,IAAA,OAAO,IAAI,CAAC;GACb,CAAA;EAEDmB,SAAS,GAAGA,MAAM;AAChB,IAAA,IAAI,CAAC,IAAI,CAACtB,MAAM,CAACM,MAAM,EAAE;AACvB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAI,CAACJ,SAAS,CAAC,EAAE,CAAC,CAAA;GACnB,CAAA;AACH;;;;"}
package/dist/cjs/index.js CHANGED
@@ -10,6 +10,8 @@ var FloatingButton = require('./components/AlphaFloatingButton/FloatingButton.js
10
10
  var FloatingIconButton = require('./components/AlphaFloatingIconButton/FloatingIconButton.js');
11
11
  var IconButton = require('./components/AlphaIconButton/IconButton.js');
12
12
  var Spinner = require('./components/AlphaSpinner/Spinner.js');
13
+ var ToggleButton = require('./components/AlphaToggleButton/ToggleButton.js');
14
+ var ToggleButtonGroup = require('./components/AlphaToggleButtonGroup/ToggleButtonGroup.js');
13
15
  var TooltipPrimitive = require('./components/AlphaTooltipPrimitive/TooltipPrimitive.js');
14
16
  var AppProvider = require('./components/AppProvider/AppProvider.js');
15
17
  var AutoFocus = require('./components/AutoFocus/AutoFocus.js');
@@ -93,6 +95,8 @@ exports.AlphaFloatingButton = FloatingButton.FloatingButton;
93
95
  exports.AlphaFloatingIconButton = FloatingIconButton.FloatingIconButton;
94
96
  exports.AlphaIconButton = IconButton.IconButton;
95
97
  exports.AlphaSpinner = Spinner.Spinner;
98
+ exports.AlphaToggleButton = ToggleButton.ToggleButton;
99
+ exports.ToggleButtonGroup = ToggleButtonGroup.ToggleButtonGroup;
96
100
  exports.AlphaTooltipPrimitive = TooltipPrimitive.TooltipPrimitive;
97
101
  exports.AlphaTooltipPrimitiveArrow = TooltipPrimitive.TooltipPrimitiveArrow;
98
102
  exports.AlphaTooltipPrimitiveContent = TooltipPrimitive.TooltipPrimitiveContent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var _extends = require('../../../@babel/runtime/helpers/esm/extends.js');
4
+ var React = require('react');
5
+ var index$2 = require('../../primitive/dist/index.js');
6
+ var index = require('../../react-use-controllable-state/dist/index.js');
7
+ var index$1 = require('../../react-primitive/dist/index.js');
8
+
9
+ const $b3bbe2732c13b576$export$bea8ebba691c5813 = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
10
+ const {
11
+ pressed: pressedProp,
12
+ defaultPressed = false,
13
+ onPressedChange: onPressedChange,
14
+ ...buttonProps
15
+ } = props;
16
+ const [pressed = false, setPressed] = index.useControllableState({
17
+ prop: pressedProp,
18
+ onChange: onPressedChange,
19
+ defaultProp: defaultPressed
20
+ });
21
+ return /*#__PURE__*/React.createElement(index$1.Primitive.button, _extends.default({
22
+ type: "button",
23
+ "aria-pressed": pressed,
24
+ "data-state": pressed ? 'on' : 'off',
25
+ "data-disabled": props.disabled ? '' : undefined
26
+ }, buttonProps, {
27
+ ref: forwardedRef,
28
+ onClick: index$2.composeEventHandlers(props.onClick, () => {
29
+ if (!props.disabled) setPressed(!pressed);
30
+ })
31
+ }));
32
+ });
33
+ /* ---------------------------------------------------------------------------------------------- */
34
+ const $b3bbe2732c13b576$export$be92b6f5f03c0fe9 = $b3bbe2732c13b576$export$bea8ebba691c5813;
35
+
36
+ exports.Root = $b3bbe2732c13b576$export$be92b6f5f03c0fe9;
37
+ exports.Toggle = $b3bbe2732c13b576$export$bea8ebba691c5813;
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,19 +1,178 @@
1
1
  'use strict';
2
2
 
3
- require('react');
3
+ var _extends = require('../../../@babel/runtime/helpers/esm/extends.js');
4
+ var React = require('react');
4
5
  var index = require('../../react-context/dist/index.js');
6
+ var index$4 = require('../../react-primitive/dist/index.js');
5
7
  var index$1 = require('../../react-roving-focus/dist/index.js');
8
+ var index$5 = require('../../react-toggle/dist/index.js');
9
+ var index$2 = require('../../react-use-controllable-state/dist/index.js');
10
+ var index$3 = require('../../react-direction/dist/index.js');
6
11
 
7
12
  /* -------------------------------------------------------------------------------------------------
8
13
  * ToggleGroup
9
14
  * -----------------------------------------------------------------------------------------------*/
10
15
  const $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME = 'ToggleGroup';
11
16
  const [$6c1fd9e6a8969628$var$createToggleGroupContext, $6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4] = index.createContextScope($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME, [index$1.createRovingFocusGroupScope]);
12
- index$1.createRovingFocusGroupScope();
17
+ const $6c1fd9e6a8969628$var$useRovingFocusGroupScope = index$1.createRovingFocusGroupScope();
18
+ const $6c1fd9e6a8969628$export$af3ec21f6cfb5e30 = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
19
+ const {
20
+ type: type,
21
+ ...toggleGroupProps
22
+ } = props;
23
+ if (type === 'single') {
24
+ const singleProps = toggleGroupProps;
25
+ return /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupImplSingle, _extends.default({}, singleProps, {
26
+ ref: forwardedRef
27
+ }));
28
+ }
29
+ if (type === 'multiple') {
30
+ const multipleProps = toggleGroupProps;
31
+ return /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupImplMultiple, _extends.default({}, multipleProps, {
32
+ ref: forwardedRef
33
+ }));
34
+ }
35
+ throw new Error(`Missing prop \`type\` expected on \`${$6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME}\``);
36
+ });
13
37
  /* -----------------------------------------------------------------------------------------------*/
14
- $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
38
+ const [$6c1fd9e6a8969628$var$ToggleGroupValueProvider, $6c1fd9e6a8969628$var$useToggleGroupValueContext] = $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
39
+ const $6c1fd9e6a8969628$var$ToggleGroupImplSingle = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
40
+ const {
41
+ value: valueProp,
42
+ defaultValue: defaultValue,
43
+ onValueChange = () => {},
44
+ ...toggleGroupSingleProps
45
+ } = props;
46
+ const [value, setValue] = index$2.useControllableState({
47
+ prop: valueProp,
48
+ defaultProp: defaultValue,
49
+ onChange: onValueChange
50
+ });
51
+ return /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider, {
52
+ scope: props.__scopeToggleGroup,
53
+ type: "single",
54
+ value: value ? [value] : [],
55
+ onItemActivate: setValue,
56
+ onItemDeactivate: React.useCallback(() => setValue(''), [setValue])
57
+ }, /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupImpl, _extends.default({}, toggleGroupSingleProps, {
58
+ ref: forwardedRef
59
+ })));
60
+ });
61
+ const $6c1fd9e6a8969628$var$ToggleGroupImplMultiple = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
62
+ const {
63
+ value: valueProp,
64
+ defaultValue: defaultValue,
65
+ onValueChange = () => {},
66
+ ...toggleGroupMultipleProps
67
+ } = props;
68
+ const [value1 = [], setValue] = index$2.useControllableState({
69
+ prop: valueProp,
70
+ defaultProp: defaultValue,
71
+ onChange: onValueChange
72
+ });
73
+ const handleButtonActivate = React.useCallback(itemValue => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]);
74
+ const handleButtonDeactivate = React.useCallback(itemValue => setValue((prevValue = []) => prevValue.filter(value => value !== itemValue)), [setValue]);
75
+ return /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider, {
76
+ scope: props.__scopeToggleGroup,
77
+ type: "multiple",
78
+ value: value1,
79
+ onItemActivate: handleButtonActivate,
80
+ onItemDeactivate: handleButtonDeactivate
81
+ }, /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupImpl, _extends.default({}, toggleGroupMultipleProps, {
82
+ ref: forwardedRef
83
+ })));
84
+ });
15
85
  /* -----------------------------------------------------------------------------------------------*/
16
- $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
86
+ const [$6c1fd9e6a8969628$var$ToggleGroupContext, $6c1fd9e6a8969628$var$useToggleGroupContext] = $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
87
+ const $6c1fd9e6a8969628$var$ToggleGroupImpl = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
88
+ const {
89
+ __scopeToggleGroup: __scopeToggleGroup,
90
+ disabled = false,
91
+ rovingFocus = true,
92
+ orientation: orientation,
93
+ dir: dir,
94
+ loop = true,
95
+ ...toggleGroupProps
96
+ } = props;
97
+ const rovingFocusGroupScope = $6c1fd9e6a8969628$var$useRovingFocusGroupScope(__scopeToggleGroup);
98
+ const direction = index$3.useDirection(dir);
99
+ const commonProps = {
100
+ role: 'group',
101
+ dir: direction,
102
+ ...toggleGroupProps
103
+ };
104
+ return /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupContext, {
105
+ scope: __scopeToggleGroup,
106
+ rovingFocus: rovingFocus,
107
+ disabled: disabled
108
+ }, rovingFocus ? /*#__PURE__*/React.createElement(index$1.Root, _extends.default({
109
+ asChild: true
110
+ }, rovingFocusGroupScope, {
111
+ orientation: orientation,
112
+ dir: direction,
113
+ loop: loop
114
+ }), /*#__PURE__*/React.createElement(index$4.Primitive.div, _extends.default({}, commonProps, {
115
+ ref: forwardedRef
116
+ }))) : /*#__PURE__*/React.createElement(index$4.Primitive.div, _extends.default({}, commonProps, {
117
+ ref: forwardedRef
118
+ })));
119
+ });
120
+ /* -------------------------------------------------------------------------------------------------
121
+ * ToggleGroupItem
122
+ * -----------------------------------------------------------------------------------------------*/
123
+ const $6c1fd9e6a8969628$var$ITEM_NAME = 'ToggleGroupItem';
124
+ const $6c1fd9e6a8969628$export$b453109e13abe10b = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
125
+ const valueContext = $6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME, props.__scopeToggleGroup);
126
+ const context = $6c1fd9e6a8969628$var$useToggleGroupContext($6c1fd9e6a8969628$var$ITEM_NAME, props.__scopeToggleGroup);
127
+ const rovingFocusGroupScope = $6c1fd9e6a8969628$var$useRovingFocusGroupScope(props.__scopeToggleGroup);
128
+ const pressed = valueContext.value.includes(props.value);
129
+ const disabled = context.disabled || props.disabled;
130
+ const commonProps = {
131
+ ...props,
132
+ pressed: pressed,
133
+ disabled: disabled
134
+ };
135
+ const ref = React.useRef(null);
136
+ return context.rovingFocus ? /*#__PURE__*/React.createElement(index$1.Item, _extends.default({
137
+ asChild: true
138
+ }, rovingFocusGroupScope, {
139
+ focusable: !disabled,
140
+ active: pressed,
141
+ ref: ref
142
+ }), /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl, _extends.default({}, commonProps, {
143
+ ref: forwardedRef
144
+ }))) : /*#__PURE__*/React.createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl, _extends.default({}, commonProps, {
145
+ ref: forwardedRef
146
+ }));
147
+ });
148
+ /* -----------------------------------------------------------------------------------------------*/
149
+ const $6c1fd9e6a8969628$var$ToggleGroupItemImpl = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
150
+ const {
151
+ __scopeToggleGroup: __scopeToggleGroup,
152
+ value: value,
153
+ ...itemProps
154
+ } = props;
155
+ const valueContext = $6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME, __scopeToggleGroup);
156
+ const singleProps = {
157
+ role: 'radio',
158
+ 'aria-checked': props.pressed,
159
+ 'aria-pressed': undefined
160
+ };
161
+ const typeProps = valueContext.type === 'single' ? singleProps : undefined;
162
+ return /*#__PURE__*/React.createElement(index$5.Toggle, _extends.default({}, typeProps, itemProps, {
163
+ ref: forwardedRef,
164
+ onPressedChange: pressed => {
165
+ if (pressed) valueContext.onItemActivate(value);else valueContext.onItemDeactivate(value);
166
+ }
167
+ }));
168
+ });
169
+ /* -----------------------------------------------------------------------------------------------*/
170
+ const $6c1fd9e6a8969628$export$be92b6f5f03c0fe9 = $6c1fd9e6a8969628$export$af3ec21f6cfb5e30;
171
+ const $6c1fd9e6a8969628$export$6d08773d2e66f8f2 = $6c1fd9e6a8969628$export$b453109e13abe10b;
17
172
 
173
+ exports.Item = $6c1fd9e6a8969628$export$6d08773d2e66f8f2;
174
+ exports.Root = $6c1fd9e6a8969628$export$be92b6f5f03c0fe9;
175
+ exports.ToggleGroup = $6c1fd9e6a8969628$export$af3ec21f6cfb5e30;
176
+ exports.ToggleGroupItem = $6c1fd9e6a8969628$export$b453109e13abe10b;
18
177
  exports.createToggleGroupScope = $6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4;
19
178
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -122,7 +122,7 @@ var hideOthers = function (originalTarget, parentNode, markerName) {
122
122
  markerName = 'data-aria-hidden';
123
123
  }
124
124
  var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
125
- var activeParentNode = parentNode || getDefaultParent(originalTarget);
125
+ var activeParentNode = getDefaultParent(originalTarget);
126
126
  if (!activeParentNode) {
127
127
  return function () {
128
128
  return null;