@os-design/core 1.0.175 → 1.0.176

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.
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = require("@emotion/react");
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
- var _react2 = require("@emotion/react");
11
10
  var _styles = require("@os-design/styles");
12
- var _utils = require("@os-design/utils");
13
11
  var _theming = require("@os-design/theming");
14
- var _excluded = ["disabled", "value", "defaultValue", "onChange", "size", "onMouseDown"];
12
+ var _utils = require("@os-design/utils");
13
+ var _react2 = _interopRequireWildcard(require("react"));
14
+ var _excluded = ["disabled", "value", "defaultValue", "onChange", "size", "onMouseDown", "onKeyDown"];
15
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
20
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
21
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -28,28 +28,28 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
28
28
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
29
29
  var FRACTION_DIGITS = 4;
30
30
  var uncheckedStyles = function uncheckedStyles(p) {
31
- return !p.checked && (0, _react2.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n &::after {\n left: ", "em;\n }\n "])), (0, _theming.clr)(p.theme.switchUncheckedColorBg), +((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(FRACTION_DIGITS));
31
+ return !p.checked && (0, _react.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n &::after {\n left: ", "em;\n }\n "])), (0, _theming.clr)(p.theme.switchUncheckedColorBg), +((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(FRACTION_DIGITS));
32
32
  };
33
33
  var checkedStyles = function checkedStyles(p) {
34
- return p.checked && (0, _react2.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: ", ";\n &::after {\n left: ", "em;\n }\n "])), (0, _theming.clr)(p.theme.switchCheckedColorBg), +(p.theme.switchWidth - p.theme.switchCircleSize - (p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(FRACTION_DIGITS));
34
+ return p.checked && (0, _react.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: ", ";\n &::after {\n left: ", "em;\n }\n "])), (0, _theming.clr)(p.theme.switchCheckedColorBg), +(p.theme.switchWidth - p.theme.switchCircleSize - (p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(FRACTION_DIGITS));
35
35
  };
36
36
  var hoverUncheckedStyles = function hoverUncheckedStyles(p) {
37
- return !p.checked && (0, _react2.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchUncheckedColorBgHover));
37
+ return !p.checked && (0, _react.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchUncheckedColorBgHover));
38
38
  };
39
39
  var hoverCheckedStyles = function hoverCheckedStyles(p) {
40
- return p.checked && (0, _react2.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchCheckedColorBgHover));
40
+ return p.checked && (0, _react.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchCheckedColorBgHover));
41
41
  };
42
42
  var hoverStyles = function hoverStyles(p) {
43
- return !p.disabled && (0, _react2.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n @media (hover: hover) {\n &:hover,\n &:focus {\n ", ";\n ", ";\n }\n }\n "])), hoverUncheckedStyles(p), hoverCheckedStyles(p));
43
+ return !p.disabled && (0, _react.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n @media (hover: hover) {\n &:hover,\n &:focus {\n ", ";\n ", ";\n }\n }\n "])), hoverUncheckedStyles(p), hoverCheckedStyles(p));
44
44
  };
45
45
  var disabledUncheckedStyles = function disabledUncheckedStyles(p) {
46
- return !p.checked && (0, _react2.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchDisabledUncheckedColorBg));
46
+ return !p.checked && (0, _react.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchDisabledUncheckedColorBg));
47
47
  };
48
48
  var disabledCheckedStyles = function disabledCheckedStyles(p) {
49
- return p.checked && (0, _react2.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchDisabledCheckedColorBg));
49
+ return p.checked && (0, _react.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.switchDisabledCheckedColorBg));
50
50
  };
51
51
  var disabledStyles = function disabledStyles(p) {
52
- return p.disabled && (0, _react2.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n cursor: not-allowed;\n ", ";\n ", ";\n "])), disabledUncheckedStyles(p), disabledCheckedStyles(p));
52
+ return p.disabled && (0, _react.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n cursor: not-allowed;\n ", ";\n ", ";\n "])), disabledUncheckedStyles(p), disabledCheckedStyles(p));
53
53
  };
54
54
  var StyledSwitch = (0, _styled["default"])('button', (0, _utils.omitEmotionProps)('size', 'checked'))(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n ", ";\n position: relative;\n cursor: pointer;\n user-select: none;\n display: block;\n\n width: ", "em;\n height: ", "em;\n border-radius: ", "em;\n\n &::after {\n position: absolute;\n top: ", "em;\n\n width: ", "em;\n height: ", "em;\n border-radius: 50%;\n\n background-color: ", ";\n content: ' ';\n\n ", ";\n }\n\n ", ";\n ", ";\n ", ";\n ", ";\n\n ", ";\n ", ";\n"])), _styles.resetButtonStyles, function (p) {
55
55
  return p.theme.switchWidth;
@@ -70,7 +70,7 @@ var StyledSwitch = (0, _styled["default"])('button', (0, _utils.omitEmotionProps
70
70
  /**
71
71
  * The switch that can be enabled or disabled.
72
72
  */
73
- var Switch = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
73
+ var Switch = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
74
74
  var _ref$disabled = _ref.disabled,
75
75
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
76
76
  value = _ref.value,
@@ -79,7 +79,9 @@ var Switch = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
79
79
  onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
80
80
  size = _ref.size,
81
81
  _ref$onMouseDown = _ref.onMouseDown,
82
- _onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
82
+ onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
83
+ _ref$onKeyDown = _ref.onKeyDown,
84
+ onKeyDown = _ref$onKeyDown === void 0 ? function () {} : _ref$onKeyDown,
83
85
  rest = _objectWithoutProperties(_ref, _excluded);
84
86
  var _useForwardedState = (0, _utils.useForwardedState)({
85
87
  value: value,
@@ -89,18 +91,26 @@ var Switch = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
89
91
  _useForwardedState2 = _slicedToArray(_useForwardedState, 2),
90
92
  forwardedValue = _useForwardedState2[0],
91
93
  setForwardedValue = _useForwardedState2[1];
92
- return /*#__PURE__*/_react["default"].createElement(StyledSwitch, _extends({
94
+ var clickHandler = (0, _react2.useCallback)(function () {
95
+ if (disabled) return;
96
+ setForwardedValue(!forwardedValue);
97
+ }, [disabled, forwardedValue, setForwardedValue]);
98
+ var mouseDownHandler = (0, _react2.useCallback)(function (e) {
99
+ onMouseDown(e);
100
+ e.preventDefault();
101
+ }, [onMouseDown]);
102
+ var keyDownHandler = (0, _react2.useCallback)(function (e) {
103
+ if (e.key === ' ') setForwardedValue(!forwardedValue);
104
+ onKeyDown(e);
105
+ e.preventDefault();
106
+ }, [forwardedValue, onKeyDown, setForwardedValue]);
107
+ return /*#__PURE__*/_react2["default"].createElement(StyledSwitch, _extends({
93
108
  disabled: disabled,
94
109
  checked: forwardedValue,
95
110
  size: size,
96
- onClick: function onClick() {
97
- if (disabled) return;
98
- setForwardedValue(!forwardedValue);
99
- },
100
- onMouseDown: function onMouseDown(e) {
101
- _onMouseDown(e);
102
- e.preventDefault();
103
- },
111
+ onClick: clickHandler,
112
+ onMouseDown: mouseDownHandler,
113
+ onKeyDown: keyDownHandler,
104
114
  role: "switch",
105
115
  "aria-checked": forwardedValue
106
116
  }, rest, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["FRACTION_DIGITS","uncheckedStyles","p","checked","css","clr","theme","switchUncheckedColorBg","switchHeight","switchCircleSize","toFixed","checkedStyles","switchCheckedColorBg","switchWidth","hoverUncheckedStyles","switchUncheckedColorBgHover","hoverCheckedStyles","switchCheckedColorBgHover","hoverStyles","disabled","disabledUncheckedStyles","switchDisabledUncheckedColorBg","disabledCheckedStyles","switchDisabledCheckedColorBg","disabledStyles","StyledSwitch","styled","omitEmotionProps","resetButtonStyles","switchColorCircleBg","transitionStyles","sizeStyles","Switch","forwardRef","ref","value","defaultValue","onChange","size","onMouseDown","rest","useForwardedState","forwardedValue","setForwardedValue","e","preventDefault","displayName"],"sources":["../../../src/Switch/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\nimport {\n resetButtonStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\n\ntype JsxButtonProps = Omit<\n JSX.IntrinsicElements['button'],\n 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'ref'\n>;\nexport interface SwitchProps extends JsxButtonProps, WithSize {\n /**\n * Whether the switch is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the switch is checked.\n * @default false\n */\n value?: boolean;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: boolean;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: boolean) => void;\n}\n\nconst FRACTION_DIGITS = 4;\n\nconst uncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBg)};\n &::after {\n left: ${+((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n }\n `;\n\nconst checkedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBg)};\n &::after {\n left: ${+(\n p.theme.switchWidth -\n p.theme.switchCircleSize -\n (p.theme.switchHeight - p.theme.switchCircleSize) / 2\n ).toFixed(FRACTION_DIGITS)}em;\n }\n `;\n\nconst hoverUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBgHover)};\n `;\n\nconst hoverCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBgHover)};\n `;\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n ${hoverUncheckedStyles(p)};\n ${hoverCheckedStyles(p)};\n }\n }\n `;\n\nconst disabledUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledUncheckedColorBg)};\n `;\n\nconst disabledCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledCheckedColorBg)};\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n ${disabledUncheckedStyles(p)};\n ${disabledCheckedStyles(p)};\n `;\n\ninterface StyledSwitchProps extends Pick<SwitchProps, 'disabled' | 'size'> {\n checked: SwitchProps['value'];\n}\nconst StyledSwitch = styled(\n 'button',\n omitEmotionProps('size', 'checked')\n)<StyledSwitchProps>`\n ${resetButtonStyles};\n position: relative;\n cursor: pointer;\n user-select: none;\n display: block;\n\n width: ${(p) => p.theme.switchWidth}em;\n height: ${(p) => p.theme.switchHeight}em;\n border-radius: ${(p) => p.theme.switchHeight / 2}em;\n\n &::after {\n position: absolute;\n top: ${(p) =>\n +((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n\n width: ${(p) => p.theme.switchCircleSize}em;\n height: ${(p) => p.theme.switchCircleSize}em;\n border-radius: 50%;\n\n background-color: ${(p) => clr(p.theme.switchColorCircleBg)};\n content: ' ';\n\n ${transitionStyles('left')};\n }\n\n ${uncheckedStyles};\n ${checkedStyles};\n ${hoverStyles};\n ${disabledStyles};\n\n ${sizeStyles};\n ${transitionStyles('background-color')};\n`;\n\n/**\n * The switch that can be enabled or disabled.\n */\nconst Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n onMouseDown = () => {},\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <StyledSwitch\n disabled={disabled}\n checked={forwardedValue}\n size={size}\n onClick={() => {\n if (disabled) return;\n setForwardedValue(!forwardedValue);\n }}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n role='switch'\n aria-checked={forwardedValue}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["FRACTION_DIGITS","uncheckedStyles","p","checked","css","clr","theme","switchUncheckedColorBg","switchHeight","switchCircleSize","toFixed","checkedStyles","switchCheckedColorBg","switchWidth","hoverUncheckedStyles","switchUncheckedColorBgHover","hoverCheckedStyles","switchCheckedColorBgHover","hoverStyles","disabled","disabledUncheckedStyles","switchDisabledUncheckedColorBg","disabledCheckedStyles","switchDisabledCheckedColorBg","disabledStyles","StyledSwitch","styled","omitEmotionProps","resetButtonStyles","switchColorCircleBg","transitionStyles","sizeStyles","Switch","forwardRef","ref","value","defaultValue","onChange","size","onMouseDown","onKeyDown","rest","useForwardedState","forwardedValue","setForwardedValue","clickHandler","useCallback","mouseDownHandler","e","preventDefault","keyDownHandler","key","displayName"],"sources":["../../../src/Switch/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n resetButtonStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport React, { forwardRef, useCallback } from 'react';\n\ntype JsxButtonProps = Omit<\n JSX.IntrinsicElements['button'],\n 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'ref'\n>;\nexport interface SwitchProps extends JsxButtonProps, WithSize {\n /**\n * Whether the switch is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the switch is checked.\n * @default false\n */\n value?: boolean;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: boolean;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: boolean) => void;\n}\n\nconst FRACTION_DIGITS = 4;\n\nconst uncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBg)};\n &::after {\n left: ${+((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n }\n `;\n\nconst checkedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBg)};\n &::after {\n left: ${+(\n p.theme.switchWidth -\n p.theme.switchCircleSize -\n (p.theme.switchHeight - p.theme.switchCircleSize) / 2\n ).toFixed(FRACTION_DIGITS)}em;\n }\n `;\n\nconst hoverUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBgHover)};\n `;\n\nconst hoverCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBgHover)};\n `;\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n ${hoverUncheckedStyles(p)};\n ${hoverCheckedStyles(p)};\n }\n }\n `;\n\nconst disabledUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledUncheckedColorBg)};\n `;\n\nconst disabledCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledCheckedColorBg)};\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n ${disabledUncheckedStyles(p)};\n ${disabledCheckedStyles(p)};\n `;\n\ninterface StyledSwitchProps extends Pick<SwitchProps, 'disabled' | 'size'> {\n checked: SwitchProps['value'];\n}\nconst StyledSwitch = styled(\n 'button',\n omitEmotionProps('size', 'checked')\n)<StyledSwitchProps>`\n ${resetButtonStyles};\n position: relative;\n cursor: pointer;\n user-select: none;\n display: block;\n\n width: ${(p) => p.theme.switchWidth}em;\n height: ${(p) => p.theme.switchHeight}em;\n border-radius: ${(p) => p.theme.switchHeight / 2}em;\n\n &::after {\n position: absolute;\n top: ${(p) =>\n +((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n\n width: ${(p) => p.theme.switchCircleSize}em;\n height: ${(p) => p.theme.switchCircleSize}em;\n border-radius: 50%;\n\n background-color: ${(p) => clr(p.theme.switchColorCircleBg)};\n content: ' ';\n\n ${transitionStyles('left')};\n }\n\n ${uncheckedStyles};\n ${checkedStyles};\n ${hoverStyles};\n ${disabledStyles};\n\n ${sizeStyles};\n ${transitionStyles('background-color')};\n`;\n\n/**\n * The switch that can be enabled or disabled.\n */\nconst Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n onMouseDown = () => {},\n onKeyDown = () => {},\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const clickHandler = useCallback(() => {\n if (disabled) return;\n setForwardedValue(!forwardedValue);\n }, [disabled, forwardedValue, setForwardedValue]);\n\n const mouseDownHandler = useCallback(\n (e) => {\n onMouseDown(e);\n e.preventDefault();\n },\n [onMouseDown]\n );\n\n const keyDownHandler = useCallback(\n (e) => {\n if (e.key === ' ') setForwardedValue(!forwardedValue);\n onKeyDown(e);\n e.preventDefault();\n },\n [forwardedValue, onKeyDown, setForwardedValue]\n );\n\n return (\n <StyledSwitch\n disabled={disabled}\n checked={forwardedValue}\n size={size}\n onClick={clickHandler}\n onMouseDown={mouseDownHandler}\n onKeyDown={keyDownHandler}\n role='switch'\n aria-checked={forwardedValue}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import React, { forwardRef } from 'react';
3
- import styled from '@emotion/styled';
4
2
  import { css } from '@emotion/react';
3
+ import styled from '@emotion/styled';
5
4
  import { resetButtonStyles, sizeStyles, transitionStyles } from '@os-design/styles';
6
- import { omitEmotionProps, useForwardedState } from '@os-design/utils';
7
5
  import { clr } from '@os-design/theming';
6
+ import { omitEmotionProps, useForwardedState } from '@os-design/utils';
7
+ import React, { forwardRef, useCallback } from 'react';
8
8
  const FRACTION_DIGITS = 4;
9
9
  const uncheckedStyles = p => !p.checked && css`
10
10
  background-color: ${clr(p.theme.switchUncheckedColorBg)};
@@ -88,6 +88,7 @@ const Switch = /*#__PURE__*/forwardRef(({
88
88
  onChange = () => {},
89
89
  size,
90
90
  onMouseDown = () => {},
91
+ onKeyDown = () => {},
91
92
  ...rest
92
93
  }, ref) => {
93
94
  const [forwardedValue, setForwardedValue] = useForwardedState({
@@ -95,18 +96,26 @@ const Switch = /*#__PURE__*/forwardRef(({
95
96
  defaultValue,
96
97
  onChange
97
98
  });
99
+ const clickHandler = useCallback(() => {
100
+ if (disabled) return;
101
+ setForwardedValue(!forwardedValue);
102
+ }, [disabled, forwardedValue, setForwardedValue]);
103
+ const mouseDownHandler = useCallback(e => {
104
+ onMouseDown(e);
105
+ e.preventDefault();
106
+ }, [onMouseDown]);
107
+ const keyDownHandler = useCallback(e => {
108
+ if (e.key === ' ') setForwardedValue(!forwardedValue);
109
+ onKeyDown(e);
110
+ e.preventDefault();
111
+ }, [forwardedValue, onKeyDown, setForwardedValue]);
98
112
  return /*#__PURE__*/React.createElement(StyledSwitch, _extends({
99
113
  disabled: disabled,
100
114
  checked: forwardedValue,
101
115
  size: size,
102
- onClick: () => {
103
- if (disabled) return;
104
- setForwardedValue(!forwardedValue);
105
- },
106
- onMouseDown: e => {
107
- onMouseDown(e);
108
- e.preventDefault();
109
- },
116
+ onClick: clickHandler,
117
+ onMouseDown: mouseDownHandler,
118
+ onKeyDown: keyDownHandler,
110
119
  role: "switch",
111
120
  "aria-checked": forwardedValue
112
121
  }, rest, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","styled","css","resetButtonStyles","sizeStyles","transitionStyles","omitEmotionProps","useForwardedState","clr","FRACTION_DIGITS","uncheckedStyles","p","checked","theme","switchUncheckedColorBg","switchHeight","switchCircleSize","toFixed","checkedStyles","switchCheckedColorBg","switchWidth","hoverUncheckedStyles","switchUncheckedColorBgHover","hoverCheckedStyles","switchCheckedColorBgHover","hoverStyles","disabled","disabledUncheckedStyles","switchDisabledUncheckedColorBg","disabledCheckedStyles","switchDisabledCheckedColorBg","disabledStyles","StyledSwitch","switchColorCircleBg","Switch","value","defaultValue","onChange","size","onMouseDown","rest","ref","forwardedValue","setForwardedValue","e","preventDefault","displayName"],"sources":["../../../src/Switch/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\nimport {\n resetButtonStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\n\ntype JsxButtonProps = Omit<\n JSX.IntrinsicElements['button'],\n 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'ref'\n>;\nexport interface SwitchProps extends JsxButtonProps, WithSize {\n /**\n * Whether the switch is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the switch is checked.\n * @default false\n */\n value?: boolean;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: boolean;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: boolean) => void;\n}\n\nconst FRACTION_DIGITS = 4;\n\nconst uncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBg)};\n &::after {\n left: ${+((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n }\n `;\n\nconst checkedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBg)};\n &::after {\n left: ${+(\n p.theme.switchWidth -\n p.theme.switchCircleSize -\n (p.theme.switchHeight - p.theme.switchCircleSize) / 2\n ).toFixed(FRACTION_DIGITS)}em;\n }\n `;\n\nconst hoverUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBgHover)};\n `;\n\nconst hoverCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBgHover)};\n `;\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n ${hoverUncheckedStyles(p)};\n ${hoverCheckedStyles(p)};\n }\n }\n `;\n\nconst disabledUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledUncheckedColorBg)};\n `;\n\nconst disabledCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledCheckedColorBg)};\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n ${disabledUncheckedStyles(p)};\n ${disabledCheckedStyles(p)};\n `;\n\ninterface StyledSwitchProps extends Pick<SwitchProps, 'disabled' | 'size'> {\n checked: SwitchProps['value'];\n}\nconst StyledSwitch = styled(\n 'button',\n omitEmotionProps('size', 'checked')\n)<StyledSwitchProps>`\n ${resetButtonStyles};\n position: relative;\n cursor: pointer;\n user-select: none;\n display: block;\n\n width: ${(p) => p.theme.switchWidth}em;\n height: ${(p) => p.theme.switchHeight}em;\n border-radius: ${(p) => p.theme.switchHeight / 2}em;\n\n &::after {\n position: absolute;\n top: ${(p) =>\n +((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n\n width: ${(p) => p.theme.switchCircleSize}em;\n height: ${(p) => p.theme.switchCircleSize}em;\n border-radius: 50%;\n\n background-color: ${(p) => clr(p.theme.switchColorCircleBg)};\n content: ' ';\n\n ${transitionStyles('left')};\n }\n\n ${uncheckedStyles};\n ${checkedStyles};\n ${hoverStyles};\n ${disabledStyles};\n\n ${sizeStyles};\n ${transitionStyles('background-color')};\n`;\n\n/**\n * The switch that can be enabled or disabled.\n */\nconst Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n onMouseDown = () => {},\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <StyledSwitch\n disabled={disabled}\n checked={forwardedValue}\n size={size}\n onClick={() => {\n if (disabled) return;\n setForwardedValue(!forwardedValue);\n }}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n role='switch'\n aria-checked={forwardedValue}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["css","styled","resetButtonStyles","sizeStyles","transitionStyles","clr","omitEmotionProps","useForwardedState","React","forwardRef","useCallback","FRACTION_DIGITS","uncheckedStyles","p","checked","theme","switchUncheckedColorBg","switchHeight","switchCircleSize","toFixed","checkedStyles","switchCheckedColorBg","switchWidth","hoverUncheckedStyles","switchUncheckedColorBgHover","hoverCheckedStyles","switchCheckedColorBgHover","hoverStyles","disabled","disabledUncheckedStyles","switchDisabledUncheckedColorBg","disabledCheckedStyles","switchDisabledCheckedColorBg","disabledStyles","StyledSwitch","switchColorCircleBg","Switch","value","defaultValue","onChange","size","onMouseDown","onKeyDown","rest","ref","forwardedValue","setForwardedValue","clickHandler","mouseDownHandler","e","preventDefault","keyDownHandler","key","displayName"],"sources":["../../../src/Switch/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n resetButtonStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport React, { forwardRef, useCallback } from 'react';\n\ntype JsxButtonProps = Omit<\n JSX.IntrinsicElements['button'],\n 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'ref'\n>;\nexport interface SwitchProps extends JsxButtonProps, WithSize {\n /**\n * Whether the switch is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the switch is checked.\n * @default false\n */\n value?: boolean;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: boolean;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: boolean) => void;\n}\n\nconst FRACTION_DIGITS = 4;\n\nconst uncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBg)};\n &::after {\n left: ${+((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n }\n `;\n\nconst checkedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBg)};\n &::after {\n left: ${+(\n p.theme.switchWidth -\n p.theme.switchCircleSize -\n (p.theme.switchHeight - p.theme.switchCircleSize) / 2\n ).toFixed(FRACTION_DIGITS)}em;\n }\n `;\n\nconst hoverUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchUncheckedColorBgHover)};\n `;\n\nconst hoverCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchCheckedColorBgHover)};\n `;\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n ${hoverUncheckedStyles(p)};\n ${hoverCheckedStyles(p)};\n }\n }\n `;\n\nconst disabledUncheckedStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledUncheckedColorBg)};\n `;\n\nconst disabledCheckedStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.switchDisabledCheckedColorBg)};\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n ${disabledUncheckedStyles(p)};\n ${disabledCheckedStyles(p)};\n `;\n\ninterface StyledSwitchProps extends Pick<SwitchProps, 'disabled' | 'size'> {\n checked: SwitchProps['value'];\n}\nconst StyledSwitch = styled(\n 'button',\n omitEmotionProps('size', 'checked')\n)<StyledSwitchProps>`\n ${resetButtonStyles};\n position: relative;\n cursor: pointer;\n user-select: none;\n display: block;\n\n width: ${(p) => p.theme.switchWidth}em;\n height: ${(p) => p.theme.switchHeight}em;\n border-radius: ${(p) => p.theme.switchHeight / 2}em;\n\n &::after {\n position: absolute;\n top: ${(p) =>\n +((p.theme.switchHeight - p.theme.switchCircleSize) / 2).toFixed(\n FRACTION_DIGITS\n )}em;\n\n width: ${(p) => p.theme.switchCircleSize}em;\n height: ${(p) => p.theme.switchCircleSize}em;\n border-radius: 50%;\n\n background-color: ${(p) => clr(p.theme.switchColorCircleBg)};\n content: ' ';\n\n ${transitionStyles('left')};\n }\n\n ${uncheckedStyles};\n ${checkedStyles};\n ${hoverStyles};\n ${disabledStyles};\n\n ${sizeStyles};\n ${transitionStyles('background-color')};\n`;\n\n/**\n * The switch that can be enabled or disabled.\n */\nconst Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n onMouseDown = () => {},\n onKeyDown = () => {},\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const clickHandler = useCallback(() => {\n if (disabled) return;\n setForwardedValue(!forwardedValue);\n }, [disabled, forwardedValue, setForwardedValue]);\n\n const mouseDownHandler = useCallback(\n (e) => {\n onMouseDown(e);\n e.preventDefault();\n },\n [onMouseDown]\n );\n\n const keyDownHandler = useCallback(\n (e) => {\n if (e.key === ' ') setForwardedValue(!forwardedValue);\n onKeyDown(e);\n e.preventDefault();\n },\n [forwardedValue, onKeyDown, setForwardedValue]\n );\n\n return (\n <StyledSwitch\n disabled={disabled}\n checked={forwardedValue}\n size={size}\n onClick={clickHandler}\n onMouseDown={mouseDownHandler}\n onKeyDown={keyDownHandler}\n role='switch'\n aria-checked={forwardedValue}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import { WithSize } from '@os-design/styles';
2
+ import React from 'react';
3
3
  declare type JsxButtonProps = Omit<JSX.IntrinsicElements['button'], 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'ref'>;
4
4
  export interface SwitchProps extends JsxButtonProps, WithSize {
5
5
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Switch/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,OAAO,EAIL,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAI3B,aAAK,cAAc,GAAG,IAAI,CACxB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC/B,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAC1D,CAAC;AACF,MAAM,WAAW,WAAY,SAAQ,cAAc,EAAE,QAAQ;IAK3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAKhB,YAAY,CAAC,EAAE,OAAO,CAAC;IAKvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAsHD,QAAA,MAAM,MAAM,uFAuCX,CAAC;AAIF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Switch/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAkC,MAAM,OAAO,CAAC;AAEvD,aAAK,cAAc,GAAG,IAAI,CACxB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC/B,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAC1D,CAAC;AACF,MAAM,WAAW,WAAY,SAAQ,cAAc,EAAE,QAAQ;IAK3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAKhB,YAAY,CAAC,EAAE,OAAO,CAAC;IAKvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAsHD,QAAA,MAAM,MAAM,uFAyDX,CAAC;AAIF,eAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os-design/core",
3
- "version": "1.0.175",
3
+ "version": "1.0.176",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
6
  "main": "dist/cjs/index.js",
@@ -58,5 +58,5 @@
58
58
  "react": ">=18",
59
59
  "react-dom": ">=18"
60
60
  },
61
- "gitHead": "58227706f196414567ac68b7d200d9afe1b1fe59"
61
+ "gitHead": "681678f84141ce5da04e8559a0b9b224e1d50aa7"
62
62
  }