@cleartrip/ct-design-checkbox 4.0.0 → 5.0.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.
@@ -1,58 +1,116 @@
1
- import { __rest, __assign } from 'tslib';
2
1
  import { jsxs, jsx } from 'react/jsx-runtime';
3
2
  import { forwardRef } from 'react';
4
- import styled from 'styled-components';
5
3
  import { Container } from '@cleartrip/ct-design-container';
6
- import { CheckboxMinus, CheckboxTick } from '@cleartrip/ct-design-icons';
7
- import { useTheme } from '@cleartrip/ct-design-theme';
8
- import { colors } from '@cleartrip/ct-design-tokens';
9
- import classNames from 'classnames';
4
+ import { TypographyColor, Typography, TypographyVariant } from '@cleartrip/ct-design-typography';
5
+ import { CheckboxTick } from '@cleartrip/ct-design-icons';
6
+ import { makeStyles, useStyles, useWebMergeStyles } from '@cleartrip/ct-design-style-manager';
7
+ import { css } from '@emotion/css';
10
8
 
11
- var getCheckboxRootStyles = function (_a) {
12
- _a.width; _a.height; _a.theme; var disabled = _a.disabled, rest = __rest(_a, ["width", "height", "theme", "disabled"]);
13
- return (__assign({ display: 'flex', width: 'fit-content', cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: 'center', alignItems: 'center', position: 'relative' }, rest));
9
+ const getBorderStyles = (theme, isSelected, isDisabled) => {
10
+ switch (true) {
11
+ case isDisabled: {
12
+ if (isSelected) {
13
+ return {
14
+ borderWidth: theme.border.width.none,
15
+ backgroundColor: theme.color.background.disabledSecondary,
16
+ cursor: 'not-allowed',
17
+ };
18
+ }
19
+ return {
20
+ borderWidth: theme.border.width.sm,
21
+ borderColor: theme.color.border.disabled,
22
+ cursor: 'not-allowed',
23
+ backgroundColor: theme.color.background.disabled,
24
+ };
25
+ }
26
+ case isSelected: {
27
+ return {
28
+ borderWidth: theme.border.width.none,
29
+ backgroundColor: theme.color.background.primary,
30
+ cursor: 'pointer',
31
+ };
32
+ }
33
+ default: {
34
+ return {
35
+ borderWidth: theme.border.width.sm,
36
+ borderColor: theme.color.border.defaultDark,
37
+ backgroundColor: theme.color.background.neutral,
38
+ cursor: 'pointer',
39
+ };
40
+ }
41
+ }
14
42
  };
15
- var getCheckboxInputStyles = function (_a) {
16
- _a.width; _a.height; var theme = _a.theme, disabled = _a.disabled, rest = __rest(_a, ["width", "height", "theme", "disabled"]);
17
- return (__assign({ cursor: disabled ? 'not-allowed' : 'pointer', opacity: 0, zIndex: 1, margin: 0, height: '20px', width: '20px', left: theme.spacing[4], display: 'initial' }, rest));
18
- };
19
- var getCheckboxColor = function (theme, disabled, checked) { return ({
20
- background: checked
21
- ? disabled
22
- ? theme.color.background.disabledDark
23
- : theme.color.background.primary
24
- : theme.color.background.neutral,
25
- cursor: disabled ? 'not-allowed' : 'pointer',
26
- }); };
27
- var getCheckboxStyles = function (_a) {
28
- var width = _a.width, height = _a.height, theme = _a.theme, checked = _a.checked, disabled = _a.disabled, rest = __rest(_a, ["width", "height", "theme", "checked", "disabled"]);
29
- return (__assign(__assign({ position: 'absolute', left: 0, borderRadius: '4px', border: !checked
30
- ? "1px solid ".concat(disabled ? theme.color.border.disabledDark : theme.color.border.defaultDark)
31
- : "1px solid transparent", width: width, height: height, display: 'flex', justifyContent: 'center', alignItems: 'center', marginRight: theme.spacing[3] }, getCheckboxColor(theme, !!disabled, !!checked)), rest));
43
+ const getLabelColor = (isDisabled) => {
44
+ if (isDisabled) {
45
+ return TypographyColor.DISABLED;
46
+ }
47
+ return TypographyColor.PRIMARY;
32
48
  };
33
49
 
34
- var StyledRoot = styled.div(function (_a) {
35
- var css = _a.css, rest = __rest(_a, ["css"]);
36
- return getCheckboxRootStyles(__assign(__assign({}, rest), css));
37
- });
38
- var StyledCheckbox = styled.div(function (_a) {
39
- var theme = _a.theme, css = _a.css, rest = __rest(_a, ["theme", "css"]);
40
- return getCheckboxStyles(__assign(__assign(__assign({}, rest), css), { theme: theme }));
41
- });
42
- var Input = styled.input(function (_a) {
43
- var theme = _a.theme, disabled = _a.disabled, _b = _a.css, css = _b === void 0 ? {} : _b;
44
- return (__assign(__assign({}, getCheckboxInputStyles({ theme: theme, disabled: disabled })), css));
45
- });
46
- var Checkbox = forwardRef(function (_a, forwardedRef) {
47
- _a.children; var checked = _a.checked, selectAll = _a.selectAll, id = _a.id, label = _a.label, _b = _a.width, width = _b === void 0 ? '18px' : _b, _c = _a.height, height = _c === void 0 ? '18px' : _c, onChange = _a.onChange, onClick = _a.onClick, disabled = _a.disabled, rootClassNames = _a.rootClassNames, _d = _a.isFullClickEnabled, isFullClickEnabled = _d === void 0 ? true : _d, _e = _a.styleConfig, styleConfig = _e === void 0 ? {} : _e, rest = __rest(_a, ["children", "checked", "selectAll", "id", "label", "width", "height", "onChange", "onClick", "disabled", "rootClassNames", "isFullClickEnabled", "styleConfig"]);
48
- var theme = useTheme();
49
- var root = styleConfig.root, input = styleConfig.input, checkboxIconContainer = styleConfig.checkboxIconContainer;
50
- var checkBoxSize = {
51
- height: height,
52
- width: width,
50
+ const webStaticStyles = {
51
+ disabledRoot: css({
52
+ cursor: 'not-allowed',
53
+ }),
54
+ };
55
+ const staticCheckboxStyles = makeStyles((theme) => ({
56
+ root: {
57
+ display: 'flex',
58
+ flexDirection: 'row',
59
+ alignItems: 'center',
60
+ gap: theme === null || theme === void 0 ? void 0 : theme.spacing[2],
61
+ cursor: 'pointer',
62
+ userSelect: 'none',
63
+ },
64
+ hiddenInput: {
65
+ position: 'absolute',
66
+ opacity: 0,
67
+ width: 0,
68
+ height: 0,
69
+ margin: 0,
70
+ padding: 0,
71
+ border: 'none',
72
+ pointerEvents: 'none',
73
+ },
74
+ checkboxIconContainer: {
75
+ width: theme === null || theme === void 0 ? void 0 : theme.spacing[5],
76
+ height: theme === null || theme === void 0 ? void 0 : theme.spacing[5],
77
+ borderRadius: theme === null || theme === void 0 ? void 0 : theme.border.radius[4],
78
+ borderStyle: theme === null || theme === void 0 ? void 0 : theme.border.style.solid,
79
+ display: 'flex',
80
+ alignItems: 'center',
81
+ justifyContent: 'center',
82
+ },
83
+ }));
84
+ const Checkbox = forwardRef(({ id, label, disabled = false, onChange, checked = false, styleConfig, isFullClickEnabled = true, rootProps = {} }, ref) => {
85
+ const dynamicStyles = useStyles((theme) => ({
86
+ checkboxIconContainer: getBorderStyles(theme, checked, disabled),
87
+ label: {
88
+ color: getLabelColor(disabled),
89
+ },
90
+ }), [checked, disabled]);
91
+ const { root: customRootStyles = [], checkboxIconContainer: customCheckboxIconStyles = [], labelContainer: customLabelContainerStyles = [], } = styleConfig || {};
92
+ const handleCheckboxChange = () => {
93
+ if (disabled)
94
+ return;
95
+ onChange === null || onChange === void 0 ? void 0 : onChange({ id, label, disabled, checked: !checked });
96
+ };
97
+ const handleRootClick = () => {
98
+ if (disabled || !isFullClickEnabled)
99
+ return;
100
+ handleCheckboxChange();
101
+ };
102
+ const handleIconClick = (event) => {
103
+ if (isFullClickEnabled)
104
+ return;
105
+ event.stopPropagation();
106
+ handleCheckboxChange();
53
107
  };
54
- return (jsxs(StyledRoot, __assign({ disabled: disabled, color: disabled ? colors.disabledText : colors.neutral900, onClick: disabled || !isFullClickEnabled ? undefined : onClick, className: classNames(rootClassNames, root === null || root === void 0 ? void 0 : root.className), css: root === null || root === void 0 ? void 0 : root.css }, { children: [jsx(Input, __assign({ ref: forwardedRef, type: 'checkbox', onChange: onChange, onClick: disabled || isFullClickEnabled ? undefined : onClick, id: id, theme: theme, disabled: disabled }, checkBoxSize, rest, { className: input === null || input === void 0 ? void 0 : input.className, css: input === null || input === void 0 ? void 0 : input.css })), jsx(StyledCheckbox, __assign({ checked: checked, theme: theme }, checkBoxSize, { disabled: disabled, className: checkboxIconContainer === null || checkboxIconContainer === void 0 ? void 0 : checkboxIconContainer.className, css: checkboxIconContainer === null || checkboxIconContainer === void 0 ? void 0 : checkboxIconContainer.css }, { children: selectAll && checked ? jsx(CheckboxMinus, {}) : jsx(CheckboxTick, {}) })), jsx(Container, { className: 'ml-3' }), label] })));
108
+ const mergedRootClassName = useWebMergeStyles([staticCheckboxStyles.root, ...(disabled ? [webStaticStyles.disabledRoot] : []), ...customRootStyles], [disabled, customRootStyles]);
109
+ const mergedInputClassName = useWebMergeStyles([staticCheckboxStyles.hiddenInput], []);
110
+ const mergedCheckboxIconClassName = useWebMergeStyles([staticCheckboxStyles.checkboxIconContainer, dynamicStyles.checkboxIconContainer, ...customCheckboxIconStyles], [dynamicStyles.checkboxIconContainer, customCheckboxIconStyles]);
111
+ return (jsxs("div", Object.assign({ id: `${id}-root`, className: mergedRootClassName, onClick: handleRootClick }, rootProps, { children: [jsx("input", { ref: ref, id: id, type: 'checkbox', checked: checked, disabled: disabled, onChange: handleCheckboxChange, className: mergedInputClassName, "aria-labelledby": `${id}-label` }), jsx("span", { className: mergedCheckboxIconClassName, onClick: handleIconClick, children: checked && jsx(CheckboxTick, {}) }), jsx(Container, { styleConfig: { root: customLabelContainerStyles }, children: typeof label === 'string' ? (jsx(Typography, { variant: TypographyVariant.P2, styleConfig: { root: [dynamicStyles.label] }, children: label })) : (label) })] })));
55
112
  });
113
+ Checkbox.displayName = 'Checkbox';
56
114
 
57
115
  export { Checkbox };
58
116
  //# sourceMappingURL=ct-design-checkbox.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-checkbox.esm.js","sources":["../packages/components/Checkbox/src/style.ts","../packages/components/Checkbox/src/Checkbox.tsx"],"sourcesContent":[null,null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-checkbox.esm.js","sources":["../packages/components/Checkbox/src/style.ts","../packages/components/Checkbox/src/Checkbox.tsx"],"sourcesContent":[null,null],"names":["_jsxs","_jsx"],"mappings":"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"}