@snack-uikit/toggles 0.10.4 → 0.10.5-preview-1f246c4a.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/Checkbox/Checkbox.js +78 -0
- package/dist/cjs/components/Checkbox/index.js +25 -0
- package/dist/cjs/components/Favorite/Favorite.js +64 -0
- package/dist/cjs/components/Favorite/index.js +25 -0
- package/dist/cjs/components/Radio/Radio.js +50 -0
- package/dist/cjs/components/Radio/index.js +25 -0
- package/dist/cjs/components/Switch/Switch.js +71 -0
- package/dist/cjs/components/Switch/index.js +25 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroup.js +51 -0
- package/dist/cjs/components/ToggleGroup/hooks.js +36 -0
- package/dist/cjs/components/ToggleGroup/index.js +26 -0
- package/dist/cjs/components/TogglePrivate/TogglePrivate.js +77 -0
- package/dist/cjs/components/TogglePrivate/index.js +25 -0
- package/dist/cjs/components/index.js +29 -0
- package/dist/cjs/constants.js +22 -0
- package/dist/cjs/context.js +15 -0
- package/dist/cjs/helperComponents/Spinner/Spinner.js +27 -0
- package/dist/cjs/helperComponents/Spinner/index.js +25 -0
- package/dist/cjs/helperComponents/index.js +25 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/utils.js +28 -0
- package/dist/esm/components/Checkbox/Checkbox.d.ts +8 -0
- package/dist/esm/components/Checkbox/index.js +1 -0
- package/dist/esm/components/Favorite/Favorite.d.ts +6 -0
- package/dist/esm/components/Favorite/index.js +1 -0
- package/dist/esm/components/Radio/Radio.d.ts +3 -0
- package/dist/esm/components/Radio/index.js +1 -0
- package/dist/esm/components/Switch/Switch.d.ts +7 -0
- package/dist/esm/components/Switch/index.js +1 -0
- package/dist/esm/components/ToggleGroup/ToggleGroup.d.ts +22 -0
- package/dist/esm/components/ToggleGroup/hooks.d.ts +9 -0
- package/dist/esm/components/ToggleGroup/index.js +2 -0
- package/dist/esm/components/TogglePrivate/TogglePrivate.d.ts +20 -0
- package/dist/esm/components/TogglePrivate/index.js +1 -0
- package/dist/esm/components/index.js +5 -0
- package/dist/esm/constants.d.ts +16 -0
- package/dist/esm/context.d.ts +9 -0
- package/dist/esm/helperComponents/Spinner/Spinner.d.ts +1 -0
- package/dist/esm/helperComponents/index.d.ts +1 -0
- package/dist/esm/helperComponents/index.js +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/types.d.ts +51 -0
- package/dist/esm/utils.d.ts +3 -0
- package/package.json +9 -7
- package/dist/components/Checkbox/styles.module.css +0 -89
- package/dist/components/Favorite/styles.module.css +0 -50
- package/dist/components/Radio/styles.module.css +0 -90
- package/dist/components/Switch/styles.module.css +0 -159
- package/dist/components/TogglePrivate/styles.module.css +0 -30
- package/dist/components/styles.module.css +0 -0
- package/dist/helperComponents/Spinner/styles.module.css +0 -14
- /package/dist/{components → cjs/components}/Checkbox/Checkbox.d.ts +0 -0
- /package/dist/{components → cjs/components}/Checkbox/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/Favorite/Favorite.d.ts +0 -0
- /package/dist/{components → cjs/components}/Favorite/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/Radio/Radio.d.ts +0 -0
- /package/dist/{components → cjs/components}/Radio/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/Switch/Switch.d.ts +0 -0
- /package/dist/{components → cjs/components}/Switch/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/ToggleGroup/ToggleGroup.d.ts +0 -0
- /package/dist/{components → cjs/components}/ToggleGroup/hooks.d.ts +0 -0
- /package/dist/{components → cjs/components}/ToggleGroup/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/TogglePrivate/TogglePrivate.d.ts +0 -0
- /package/dist/{components → cjs/components}/TogglePrivate/index.d.ts +0 -0
- /package/dist/{components → cjs/components}/index.d.ts +0 -0
- /package/dist/{constants.d.ts → cjs/constants.d.ts} +0 -0
- /package/dist/{context.d.ts → cjs/context.d.ts} +0 -0
- /package/dist/{helperComponents → cjs/helperComponents}/Spinner/Spinner.d.ts +0 -0
- /package/dist/{helperComponents → cjs/helperComponents}/Spinner/index.d.ts +0 -0
- /package/dist/{helperComponents → cjs/helperComponents}/index.d.ts +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
- /package/dist/{utils.d.ts → cjs/utils.d.ts} +0 -0
- /package/dist/{components → esm/components}/Checkbox/Checkbox.js +0 -0
- /package/dist/{components/Checkbox/index.js → esm/components/Checkbox/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/Favorite/Favorite.js +0 -0
- /package/dist/{components/Favorite/index.js → esm/components/Favorite/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/Radio/Radio.js +0 -0
- /package/dist/{components/Radio/index.js → esm/components/Radio/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/Switch/Switch.js +0 -0
- /package/dist/{components/Switch/index.js → esm/components/Switch/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/ToggleGroup/ToggleGroup.js +0 -0
- /package/dist/{components → esm/components}/ToggleGroup/hooks.js +0 -0
- /package/dist/{components/ToggleGroup/index.js → esm/components/ToggleGroup/index.d.ts} +0 -0
- /package/dist/{components → esm/components}/TogglePrivate/TogglePrivate.js +0 -0
- /package/dist/{components/TogglePrivate/index.js → esm/components/TogglePrivate/index.d.ts} +0 -0
- /package/dist/{components/index.js → esm/components/index.d.ts} +0 -0
- /package/dist/{constants.js → esm/constants.js} +0 -0
- /package/dist/{context.js → esm/context.js} +0 -0
- /package/dist/{helperComponents → esm/helperComponents}/Spinner/Spinner.js +0 -0
- /package/dist/{helperComponents/Spinner/index.js → esm/helperComponents/Spinner/index.d.ts} +0 -0
- /package/dist/{helperComponents → esm/helperComponents/Spinner}/index.js +0 -0
- /package/dist/{index.js → esm/index.d.ts} +0 -0
- /package/dist/{types.js → esm/types.js} +0 -0
- /package/dist/{utils.js → esm/utils.js} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
12
|
+
return mod && mod.__esModule ? mod : {
|
|
13
|
+
"default": mod
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.Checkbox = Checkbox;
|
|
20
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
21
|
+
const merge_refs_1 = __importDefault(require("merge-refs"));
|
|
22
|
+
const react_1 = require("react");
|
|
23
|
+
const uncontrollable_1 = require("uncontrollable");
|
|
24
|
+
const icons_1 = require("@snack-uikit/icons");
|
|
25
|
+
const constants_1 = require("../../constants");
|
|
26
|
+
const utils_1 = require("../../utils");
|
|
27
|
+
const TogglePrivate_1 = require("../TogglePrivate");
|
|
28
|
+
const styles_module_scss_1 = __importDefault({});
|
|
29
|
+
function Checkbox(_a) {
|
|
30
|
+
var {
|
|
31
|
+
inputRef,
|
|
32
|
+
indeterminate: indeterminateProp,
|
|
33
|
+
indeterminateDefault,
|
|
34
|
+
onChange: onChangeProp,
|
|
35
|
+
'data-test-id': dataTestId,
|
|
36
|
+
size = constants_1.SIZE.M
|
|
37
|
+
} = _a,
|
|
38
|
+
restProps = __rest(_a, ["inputRef", "indeterminate", "indeterminateDefault", "onChange", 'data-test-id', "size"]);
|
|
39
|
+
const localRef = (0, react_1.useRef)(null);
|
|
40
|
+
const ref = (0, merge_refs_1.default)(localRef, inputRef);
|
|
41
|
+
const [indeterminate, setIndeterminate] = (0, uncontrollable_1.useUncontrolledProp)(indeterminateProp, indeterminateDefault);
|
|
42
|
+
const onChange = (0, react_1.useCallback)(checked => {
|
|
43
|
+
onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(checked);
|
|
44
|
+
setIndeterminate(false);
|
|
45
|
+
}, [onChangeProp, setIndeterminate]);
|
|
46
|
+
(0, react_1.useEffect)(() => {
|
|
47
|
+
if (localRef.current) {
|
|
48
|
+
localRef.current.indeterminate = Boolean(indeterminate);
|
|
49
|
+
}
|
|
50
|
+
}, [localRef, indeterminate]);
|
|
51
|
+
const iconSize = (0, react_1.useMemo)(() => (0, utils_1.getIconSize)(size), [size]);
|
|
52
|
+
return (0, jsx_runtime_1.jsx)(TogglePrivate_1.TogglePrivate, Object.assign({}, restProps, {
|
|
53
|
+
size: size,
|
|
54
|
+
onChange: onChange,
|
|
55
|
+
"data-test-id": dataTestId,
|
|
56
|
+
ref: ref,
|
|
57
|
+
render: function Checkbox(visualState) {
|
|
58
|
+
const data = (0, utils_1.getVisualStateAttributes)(Object.assign(Object.assign({}, visualState), {
|
|
59
|
+
indeterminate: Boolean(indeterminate)
|
|
60
|
+
}));
|
|
61
|
+
return (0, jsx_runtime_1.jsxs)("div", Object.assign({
|
|
62
|
+
className: styles_module_scss_1.default.container
|
|
63
|
+
}, data, {
|
|
64
|
+
children: [(0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
65
|
+
className: styles_module_scss_1.default.box
|
|
66
|
+
}, data)), (0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
67
|
+
className: styles_module_scss_1.default.icon
|
|
68
|
+
}, data, {
|
|
69
|
+
children: indeterminate ? (0, jsx_runtime_1.jsx)(icons_1.MinusSVG, {
|
|
70
|
+
size: iconSize
|
|
71
|
+
}) : (0, jsx_runtime_1.jsx)(icons_1.CheckSVG, {
|
|
72
|
+
size: iconSize
|
|
73
|
+
})
|
|
74
|
+
}))]
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Checkbox"), exports);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
12
|
+
return mod && mod.__esModule ? mod : {
|
|
13
|
+
"default": mod
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.Favorite = Favorite;
|
|
20
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
21
|
+
const react_1 = require("react");
|
|
22
|
+
const icons_1 = require("@snack-uikit/icons");
|
|
23
|
+
const constants_1 = require("../../constants");
|
|
24
|
+
const utils_1 = require("../../utils");
|
|
25
|
+
const TogglePrivate_1 = require("../TogglePrivate");
|
|
26
|
+
const styles_module_scss_1 = __importDefault({});
|
|
27
|
+
const CHECKED_ICONS = {
|
|
28
|
+
[constants_1.FAVORITE_ICON.Star]: icons_1.StarFilledSVG,
|
|
29
|
+
[constants_1.FAVORITE_ICON.Heart]: icons_1.HeartFilledSVG
|
|
30
|
+
};
|
|
31
|
+
const UNCHECKED_ICONS = {
|
|
32
|
+
[constants_1.FAVORITE_ICON.Star]: icons_1.StarSVG,
|
|
33
|
+
[constants_1.FAVORITE_ICON.Heart]: icons_1.HeartSVG
|
|
34
|
+
};
|
|
35
|
+
function Favorite(_a) {
|
|
36
|
+
var {
|
|
37
|
+
inputRef,
|
|
38
|
+
'data-test-id': dataTestId,
|
|
39
|
+
size = constants_1.SIZE.M,
|
|
40
|
+
icon = constants_1.FAVORITE_ICON.Heart
|
|
41
|
+
} = _a,
|
|
42
|
+
restProps = __rest(_a, ["inputRef", 'data-test-id', "size", "icon"]);
|
|
43
|
+
const iconSize = (0, react_1.useMemo)(() => (0, utils_1.getIconSize)(size), [size]);
|
|
44
|
+
return (0, jsx_runtime_1.jsx)(TogglePrivate_1.TogglePrivate, Object.assign({}, restProps, {
|
|
45
|
+
"data-test-id": dataTestId,
|
|
46
|
+
ref: inputRef,
|
|
47
|
+
size: size,
|
|
48
|
+
render: function Favorite(visualState) {
|
|
49
|
+
const Icon = visualState.checked ? CHECKED_ICONS[icon] : UNCHECKED_ICONS[icon];
|
|
50
|
+
const data = (0, utils_1.getVisualStateAttributes)(Object.assign(Object.assign({}, visualState), {
|
|
51
|
+
icon
|
|
52
|
+
}));
|
|
53
|
+
return (0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
54
|
+
className: styles_module_scss_1.default.container
|
|
55
|
+
}, data, {
|
|
56
|
+
children: (0, jsx_runtime_1.jsx)(Icon, Object.assign({
|
|
57
|
+
className: styles_module_scss_1.default.icon
|
|
58
|
+
}, data, {
|
|
59
|
+
size: iconSize
|
|
60
|
+
}))
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Favorite"), exports);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
12
|
+
return mod && mod.__esModule ? mod : {
|
|
13
|
+
"default": mod
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.Radio = Radio;
|
|
20
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
21
|
+
const constants_1 = require("../../constants");
|
|
22
|
+
const utils_1 = require("../../utils");
|
|
23
|
+
const TogglePrivate_1 = require("../TogglePrivate");
|
|
24
|
+
const styles_module_scss_1 = __importDefault({});
|
|
25
|
+
function Radio(_a) {
|
|
26
|
+
var {
|
|
27
|
+
inputRef,
|
|
28
|
+
'data-test-id': dataTestId
|
|
29
|
+
} = _a,
|
|
30
|
+
restProps = __rest(_a, ["inputRef", 'data-test-id']);
|
|
31
|
+
return (0, jsx_runtime_1.jsx)(TogglePrivate_1.TogglePrivate, Object.assign({}, restProps, {
|
|
32
|
+
"data-test-id": dataTestId,
|
|
33
|
+
mode: constants_1.MODE.Radio,
|
|
34
|
+
ref: inputRef,
|
|
35
|
+
render: function Radio(visualState) {
|
|
36
|
+
const data = (0, utils_1.getVisualStateAttributes)(visualState);
|
|
37
|
+
return (0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
38
|
+
className: styles_module_scss_1.default.container
|
|
39
|
+
}, data, {
|
|
40
|
+
children: (0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
41
|
+
className: styles_module_scss_1.default.box
|
|
42
|
+
}, data, {
|
|
43
|
+
children: (0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
44
|
+
className: styles_module_scss_1.default.flag
|
|
45
|
+
}, data))
|
|
46
|
+
}))
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Radio"), exports);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
12
|
+
return mod && mod.__esModule ? mod : {
|
|
13
|
+
"default": mod
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.Switch = Switch;
|
|
20
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
21
|
+
const icons_1 = require("@snack-uikit/icons");
|
|
22
|
+
const constants_1 = require("../../constants");
|
|
23
|
+
const helperComponents_1 = require("../../helperComponents");
|
|
24
|
+
const utils_1 = require("../../utils");
|
|
25
|
+
const TogglePrivate_1 = require("../TogglePrivate");
|
|
26
|
+
const styles_module_scss_1 = __importDefault({});
|
|
27
|
+
function Switch(_a) {
|
|
28
|
+
var {
|
|
29
|
+
inputRef,
|
|
30
|
+
'data-test-id': dataTestId,
|
|
31
|
+
showIcon,
|
|
32
|
+
loading,
|
|
33
|
+
size = constants_1.SIZE.M
|
|
34
|
+
} = _a,
|
|
35
|
+
restProps = __rest(_a, ["inputRef", 'data-test-id', "showIcon", "loading", "size"]);
|
|
36
|
+
return (0, jsx_runtime_1.jsx)(TogglePrivate_1.TogglePrivate, Object.assign({}, restProps, {
|
|
37
|
+
size: size,
|
|
38
|
+
"data-test-id": dataTestId,
|
|
39
|
+
ref: inputRef,
|
|
40
|
+
render: function Switch(visualState) {
|
|
41
|
+
const data = (0, utils_1.getVisualStateAttributes)(visualState);
|
|
42
|
+
return (0, jsx_runtime_1.jsxs)("div", Object.assign({
|
|
43
|
+
className: styles_module_scss_1.default.container
|
|
44
|
+
}, data, {
|
|
45
|
+
children: [(0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
46
|
+
className: styles_module_scss_1.default.box
|
|
47
|
+
}, data)), (0, jsx_runtime_1.jsxs)("div", Object.assign({
|
|
48
|
+
className: styles_module_scss_1.default.containerFlag
|
|
49
|
+
}, data, {
|
|
50
|
+
children: [(0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
51
|
+
className: styles_module_scss_1.default.flag
|
|
52
|
+
}, data)), (showIcon || loading) && (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, {
|
|
53
|
+
children: [(0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
54
|
+
className: styles_module_scss_1.default.flag_icon_off
|
|
55
|
+
}, data, {
|
|
56
|
+
children: loading ? (0, jsx_runtime_1.jsx)(helperComponents_1.Spinner, {}) : (0, jsx_runtime_1.jsx)(icons_1.CrossSVG, {
|
|
57
|
+
size: 16
|
|
58
|
+
})
|
|
59
|
+
})), (0, jsx_runtime_1.jsx)("div", Object.assign({
|
|
60
|
+
className: styles_module_scss_1.default.flag_icon_on
|
|
61
|
+
}, data, {
|
|
62
|
+
children: loading ? (0, jsx_runtime_1.jsx)(helperComponents_1.Spinner, {}) : (0, jsx_runtime_1.jsx)(icons_1.CheckSVG, {
|
|
63
|
+
size: 16
|
|
64
|
+
})
|
|
65
|
+
}))]
|
|
66
|
+
})]
|
|
67
|
+
}))]
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Switch"), exports);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToggleGroup = ToggleGroup;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const uncontrollable_1 = require("uncontrollable");
|
|
10
|
+
const constants_1 = require("../../constants");
|
|
11
|
+
const context_1 = require("../../context");
|
|
12
|
+
function ToggleGroup(_ref) {
|
|
13
|
+
let {
|
|
14
|
+
children,
|
|
15
|
+
value: valueProp,
|
|
16
|
+
onChange: onChangeProp,
|
|
17
|
+
selectionMode = constants_1.SELECTION_MODE.Single,
|
|
18
|
+
defaultValue
|
|
19
|
+
} = _ref;
|
|
20
|
+
const [value, setValue] = (0, uncontrollable_1.useUncontrolledProp)(valueProp, defaultValue, cb => {
|
|
21
|
+
onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(cb(value));
|
|
22
|
+
});
|
|
23
|
+
const onChange = (0, react_1.useCallback)(newValue => {
|
|
24
|
+
if (selectionMode === constants_1.SELECTION_MODE.Single) {
|
|
25
|
+
return setValue(oldValue => {
|
|
26
|
+
if (newValue !== oldValue) {
|
|
27
|
+
return newValue;
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return setValue(function () {
|
|
33
|
+
let oldValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
34
|
+
if (Array.isArray(oldValues)) {
|
|
35
|
+
if (oldValues.includes(newValue)) {
|
|
36
|
+
return oldValues.filter(oldValue => oldValue !== newValue);
|
|
37
|
+
}
|
|
38
|
+
return oldValues.concat(newValue);
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
});
|
|
42
|
+
}, [selectionMode, setValue]);
|
|
43
|
+
return (0, jsx_runtime_1.jsx)(context_1.ToggleGroupContext.Provider, {
|
|
44
|
+
value: {
|
|
45
|
+
value,
|
|
46
|
+
onChange,
|
|
47
|
+
selectionMode
|
|
48
|
+
},
|
|
49
|
+
children: children
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useToggleGroup = useToggleGroup;
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const context_1 = require("../../context");
|
|
10
|
+
function useToggleGroup(_ref) {
|
|
11
|
+
let {
|
|
12
|
+
value: itemValue
|
|
13
|
+
} = _ref;
|
|
14
|
+
const {
|
|
15
|
+
value,
|
|
16
|
+
onChange,
|
|
17
|
+
selectionMode
|
|
18
|
+
} = (0, context_1.useToggleGroupContext)();
|
|
19
|
+
const isChecked = (0, react_1.useMemo)(() => {
|
|
20
|
+
if (typeof value === 'string') {
|
|
21
|
+
return value === itemValue;
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(value)) {
|
|
24
|
+
return value.includes(itemValue);
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}, [value, itemValue]);
|
|
28
|
+
const handleClick = (0, react_1.useCallback)(() => {
|
|
29
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(itemValue);
|
|
30
|
+
}, [itemValue, onChange]);
|
|
31
|
+
return {
|
|
32
|
+
isChecked,
|
|
33
|
+
handleClick,
|
|
34
|
+
multipleSelection: selectionMode === constants_1.SELECTION_MODE.Multiple
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./ToggleGroup"), exports);
|
|
26
|
+
__exportStar(require("./hooks"), exports);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
12
|
+
return mod && mod.__esModule ? mod : {
|
|
13
|
+
"default": mod
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.TogglePrivate = void 0;
|
|
20
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
21
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
22
|
+
const react_1 = require("react");
|
|
23
|
+
const uncontrollable_1 = require("uncontrollable");
|
|
24
|
+
const constants_1 = require("../../constants");
|
|
25
|
+
const utils_1 = require("../../utils");
|
|
26
|
+
const styles_module_scss_1 = __importDefault({});
|
|
27
|
+
exports.TogglePrivate = (0, react_1.forwardRef)(function TogglePrivate(_a, ref) {
|
|
28
|
+
var {
|
|
29
|
+
render,
|
|
30
|
+
checked: checkedProp,
|
|
31
|
+
defaultChecked,
|
|
32
|
+
onChange,
|
|
33
|
+
onBlur,
|
|
34
|
+
onFocus,
|
|
35
|
+
disabled,
|
|
36
|
+
className,
|
|
37
|
+
size = constants_1.SIZE.M,
|
|
38
|
+
mode = constants_1.MODE.Checkbox,
|
|
39
|
+
'data-test-id': testId
|
|
40
|
+
} = _a,
|
|
41
|
+
otherProps = __rest(_a, ["render", "checked", "defaultChecked", "onChange", "onBlur", "onFocus", "disabled", "className", "size", "mode", 'data-test-id']);
|
|
42
|
+
const [checked, setChecked] = (0, uncontrollable_1.useUncontrolledProp)(checkedProp, Boolean(defaultChecked), onChange);
|
|
43
|
+
const [focusVisible, setFocusVisible] = (0, react_1.useState)(false);
|
|
44
|
+
const [hover, setHover] = (0, react_1.useState)(false);
|
|
45
|
+
const visualState = {
|
|
46
|
+
disabled: Boolean(disabled),
|
|
47
|
+
focusVisible,
|
|
48
|
+
checked,
|
|
49
|
+
hover,
|
|
50
|
+
size
|
|
51
|
+
};
|
|
52
|
+
return (0, jsx_runtime_1.jsxs)("span", Object.assign({
|
|
53
|
+
className: (0, classnames_1.default)(className, styles_module_scss_1.default.toggleLayout),
|
|
54
|
+
"data-size": size,
|
|
55
|
+
"data-test-id": testId,
|
|
56
|
+
onMouseEnter: () => setHover(true),
|
|
57
|
+
onMouseLeave: () => setHover(false)
|
|
58
|
+
}, (0, utils_1.getVisualStateAttributes)(visualState), {
|
|
59
|
+
children: [render(visualState), (0, jsx_runtime_1.jsx)("input", Object.assign({}, otherProps, {
|
|
60
|
+
"data-test-id": `${testId}-native-input`,
|
|
61
|
+
ref: ref,
|
|
62
|
+
type: mode,
|
|
63
|
+
className: styles_module_scss_1.default.togglePrivate,
|
|
64
|
+
checked: checked,
|
|
65
|
+
disabled: disabled,
|
|
66
|
+
onChange: e => setChecked(e.target.checked),
|
|
67
|
+
onFocus: event => {
|
|
68
|
+
setFocusVisible(event.target.matches(':focus-visible'));
|
|
69
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
70
|
+
},
|
|
71
|
+
onBlur: event => {
|
|
72
|
+
setFocusVisible(false);
|
|
73
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
74
|
+
}
|
|
75
|
+
}))]
|
|
76
|
+
}));
|
|
77
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./TogglePrivate"), exports);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
});
|
|
25
|
+
__exportStar(require("./Checkbox"), exports);
|
|
26
|
+
__exportStar(require("./Switch"), exports);
|
|
27
|
+
__exportStar(require("./Radio"), exports);
|
|
28
|
+
__exportStar(require("./Favorite"), exports);
|
|
29
|
+
__exportStar(require("./ToggleGroup"), exports);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SELECTION_MODE = exports.FAVORITE_ICON = exports.SIZE = exports.MODE = void 0;
|
|
7
|
+
exports.MODE = {
|
|
8
|
+
Checkbox: 'checkbox',
|
|
9
|
+
Radio: 'radio'
|
|
10
|
+
};
|
|
11
|
+
exports.SIZE = {
|
|
12
|
+
S: 's',
|
|
13
|
+
M: 'm'
|
|
14
|
+
};
|
|
15
|
+
exports.FAVORITE_ICON = {
|
|
16
|
+
Star: 'star',
|
|
17
|
+
Heart: 'heart'
|
|
18
|
+
};
|
|
19
|
+
exports.SELECTION_MODE = {
|
|
20
|
+
Single: 'single',
|
|
21
|
+
Multiple: 'multiple'
|
|
22
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useToggleGroupContext = exports.ToggleGroupContext = void 0;
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
exports.ToggleGroupContext = (0, react_1.createContext)({
|
|
10
|
+
value: undefined,
|
|
11
|
+
onChange: undefined,
|
|
12
|
+
selectionMode: constants_1.SELECTION_MODE.Single
|
|
13
|
+
});
|
|
14
|
+
const useToggleGroupContext = () => (0, react_1.useContext)(exports.ToggleGroupContext);
|
|
15
|
+
exports.useToggleGroupContext = useToggleGroupContext;
|