@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.
- package/dist/cjs/components/AlphaToggleButton/ToggleButton.js +71 -0
- package/dist/cjs/components/AlphaToggleButton/ToggleButton.js.map +1 -0
- package/dist/cjs/components/AlphaToggleButton/ToggleButton.module.scss.js +8 -0
- package/dist/cjs/components/AlphaToggleButton/ToggleButton.module.scss.js.map +1 -0
- package/dist/cjs/components/AlphaToggleButton/ToggleButtonContext.js +11 -0
- package/dist/cjs/components/AlphaToggleButton/ToggleButtonContext.js.map +1 -0
- package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.js +76 -0
- package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.js.map +1 -0
- package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.js +8 -0
- package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.js.map +1 -0
- package/dist/cjs/components/Select/Select.js +2 -0
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Toast/ToastService.js +1 -2
- package/dist/cjs/components/Toast/ToastService.js.map +1 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.js +38 -0
- package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.js +163 -4
- package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/aria-hidden/dist/es2015/index.js +1 -1
- package/dist/cjs/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/Combination.js +1 -2
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +2 -2
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
- package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js +1 -2
- package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js.map +1 -1
- package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +1 -1
- package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
- package/dist/cjs/node_modules/uuid/dist/esm-browser/v4.js +0 -8
- package/dist/cjs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/cjs/utils/number.js +0 -3
- package/dist/cjs/utils/number.js.map +1 -1
- package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs +69 -0
- package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs.map +1 -0
- package/dist/esm/components/AlphaToggleButton/ToggleButton.module.scss.mjs +4 -0
- package/dist/esm/components/AlphaToggleButton/ToggleButton.module.scss.mjs.map +1 -0
- package/dist/esm/components/AlphaToggleButton/ToggleButtonContext.mjs +8 -0
- package/dist/esm/components/AlphaToggleButton/ToggleButtonContext.mjs.map +1 -0
- package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.mjs +74 -0
- package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.mjs.map +1 -0
- package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.mjs +4 -0
- package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss.mjs.map +1 -0
- package/dist/esm/components/Select/Select.mjs +2 -0
- package/dist/esm/components/Select/Select.mjs.map +1 -1
- package/dist/esm/components/TextArea/TextArea.mjs +2 -2
- package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/esm/components/Toast/ToastService.mjs +1 -2
- package/dist/esm/components/Toast/ToastService.mjs.map +1 -1
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs +2 -2
- package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.mjs +35 -0
- package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.mjs +161 -6
- package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.map +1 -1
- package/dist/esm/node_modules/aria-hidden/dist/es2015/index.mjs +1 -1
- package/dist/esm/node_modules/aria-hidden/dist/es2015/index.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/Combination.mjs +1 -2
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/Combination.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs +2 -2
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs.map +1 -1
- package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs +1 -2
- package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs.map +1 -1
- package/dist/esm/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs +1 -1
- package/dist/esm/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs.map +1 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs +0 -8
- package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs.map +1 -1
- package/dist/esm/styles.css +1 -1
- package/dist/esm/utils/number.mjs +0 -3
- package/dist/esm/utils/number.mjs.map +1 -1
- package/dist/types/components/AlphaToggleButton/ToggleButton.d.ts +4 -0
- package/dist/types/components/AlphaToggleButton/ToggleButton.d.ts.map +1 -0
- package/dist/types/components/AlphaToggleButton/ToggleButton.types.d.ts +55 -0
- package/dist/types/components/AlphaToggleButton/ToggleButton.types.d.ts.map +1 -0
- package/dist/types/components/AlphaToggleButton/ToggleButtonContext.d.ts +5 -0
- package/dist/types/components/AlphaToggleButton/ToggleButtonContext.d.ts.map +1 -0
- package/dist/types/components/AlphaToggleButton/index.d.ts +3 -0
- package/dist/types/components/AlphaToggleButton/index.d.ts.map +1 -0
- package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.d.ts +29 -0
- package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -0
- package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.types.d.ts +40 -0
- package/dist/types/components/AlphaToggleButtonGroup/ToggleButtonGroup.types.d.ts.map +1 -0
- package/dist/types/components/AlphaToggleButtonGroup/index.d.ts +3 -0
- package/dist/types/components/AlphaToggleButtonGroup/index.d.ts.map +1 -0
- package/dist/types/components/Select/Select.d.ts.map +1 -1
- package/dist/types/components/Select/Select.types.d.ts +1 -0
- package/dist/types/components/Select/Select.types.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/components/AlphaButton/AlphaButton.stories.tsx +1 -1
- package/src/components/AlphaFloatingButton/AlphaFloatingButton.stories.tsx +1 -1
- package/src/components/AlphaFloatingIconButton/AlphaFloatingIconButton.stories.tsx +1 -1
- package/src/components/AlphaIconButton/AlphaIconButton.stories.tsx +1 -1
- package/src/components/AlphaToggleButton/AlphaToggleButton.stories.tsx +27 -0
- package/src/components/AlphaToggleButton/ToggleButton.module.scss +127 -0
- package/src/components/AlphaToggleButton/ToggleButton.tsx +117 -0
- package/src/components/AlphaToggleButton/ToggleButton.types.ts +76 -0
- package/src/components/AlphaToggleButton/ToggleButtonContext.ts +9 -0
- package/src/components/AlphaToggleButton/index.ts +2 -0
- package/src/components/AlphaToggleButtonGroup/AlphaToggleButtonGroup.stories.tsx +73 -0
- package/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.module.scss +12 -0
- package/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.tsx +92 -0
- package/src/components/AlphaToggleButtonGroup/ToggleButtonGroup.types.ts +66 -0
- package/src/components/AlphaToggleButtonGroup/index.ts +5 -0
- package/src/components/Banner/Banner.stories.tsx +1 -1
- package/src/components/Button/Button.stories.tsx +1 -1
- package/src/components/ButtonGroup/ButtonGroup.stories.tsx +1 -1
- package/src/components/Icon/Icon.stories.tsx +1 -1
- package/src/components/ProgressBar/ProgressBar.stories.tsx +1 -1
- package/src/components/Select/Select.tsx +2 -0
- package/src/components/Select/Select.types.ts +1 -0
- package/src/components/Tabs/Tabs.module.scss +4 -5
- 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 @@
|
|
|
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":"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"}
|
|
@@ -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":"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"}
|
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;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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('
|
|
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 =
|
|
125
|
+
var activeParentNode = getDefaultParent(originalTarget);
|
|
126
126
|
if (!activeParentNode) {
|
|
127
127
|
return function () {
|
|
128
128
|
return null;
|