@mirai/ui 1.0.4 → 1.0.7
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/README.md +134 -2
- package/build/components/Calendar/Calendar.Week.js +26 -25
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +3 -3
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.module.css +25 -15
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +2628 -180
- package/build/components/Calendar/helpers/getWeekdays.js +1 -1
- package/build/components/Calendar/helpers/getWeekdays.js.map +1 -1
- package/build/components/InputNumber/InputNumber.js +2 -2
- package/build/components/InputNumber/InputNumber.js.map +1 -1
- package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +10 -5
- package/build/components/InputOption/InputOption.constants.js +13 -0
- package/build/components/InputOption/InputOption.constants.js.map +1 -0
- package/build/components/InputOption/InputOption.js +63 -0
- package/build/components/InputOption/InputOption.js.map +1 -0
- package/build/components/InputOption/InputOption.module.css +38 -0
- package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +232 -0
- package/build/components/InputOption/index.js +19 -0
- package/build/components/InputOption/index.js.map +1 -0
- package/build/components/Modal/Modal.module.css +2 -1
- package/build/components/Table/Table.Row.js +76 -0
- package/build/components/Table/Table.Row.js.map +1 -0
- package/build/components/Table/Table.js +92 -0
- package/build/components/Table/Table.js.map +1 -0
- package/build/components/Table/Table.module.css +76 -0
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +2285 -0
- package/build/components/Table/helpers/index.js +19 -0
- package/build/components/Table/helpers/index.js.map +1 -0
- package/build/components/Table/helpers/select.js +29 -0
- package/build/components/Table/helpers/select.js.map +1 -0
- package/build/components/Table/index.js +19 -0
- package/build/components/Table/index.js.map +1 -0
- package/build/components/index.js +26 -0
- package/build/components/index.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.js +52 -0
- package/build/primitives/Checkbox/Checkbox.js.map +1 -0
- package/build/primitives/Checkbox/Checkbox.module.css +45 -0
- package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +127 -0
- package/build/primitives/Checkbox/index.js +19 -0
- package/build/primitives/Checkbox/index.js.map +1 -0
- package/build/primitives/Icon/Icon.constants.js +3 -1
- package/build/primitives/Icon/Icon.constants.js.map +1 -1
- package/build/primitives/Input/Input.module.css +4 -0
- package/build/primitives/Layer/Layer.js +89 -0
- package/build/primitives/Layer/Layer.js.map +1 -0
- package/build/primitives/Layer/Layer.module.css +10 -0
- package/build/primitives/Layer/LayerContent.js +22 -0
- package/build/primitives/Layer/LayerContent.js.map +1 -0
- package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +55 -0
- package/build/primitives/Layer/helpers/getElementLayout.js +23 -0
- package/build/primitives/Layer/helpers/getElementLayout.js.map +1 -0
- package/build/primitives/Layer/helpers/getLayerPosition.js +43 -0
- package/build/primitives/Layer/helpers/getLayerPosition.js.map +1 -0
- package/build/primitives/Layer/helpers/index.js +32 -0
- package/build/primitives/Layer/helpers/index.js.map +1 -0
- package/build/primitives/Layer/index.js +32 -0
- package/build/primitives/Layer/index.js.map +1 -0
- package/build/primitives/Radio/Radio.js +49 -0
- package/build/primitives/Radio/Radio.js.map +1 -0
- package/build/primitives/Radio/Radio.module.css +59 -0
- package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +126 -0
- package/build/primitives/Radio/index.js +19 -0
- package/build/primitives/Radio/index.js.map +1 -0
- package/build/primitives/Select/Select.module.css +1 -0
- package/build/primitives/Switch/Switch.js +50 -0
- package/build/primitives/Switch/Switch.js.map +1 -0
- package/build/primitives/Switch/Switch.module.css +57 -0
- package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +109 -0
- package/build/primitives/Switch/index.js +19 -0
- package/build/primitives/Switch/index.js.map +1 -0
- package/build/primitives/View/View.js +12 -3
- package/build/primitives/View/View.js.map +1 -1
- package/build/primitives/index.js +64 -12
- package/build/primitives/index.js.map +1 -1
- package/build/theme/default.theme.css +8 -1
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getLayerPosition = void 0;
|
|
7
|
+
|
|
8
|
+
var getLayerPosition = function getLayerPosition() {
|
|
9
|
+
var componentLayout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
10
|
+
var contentLayout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
11
|
+
var device = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
12
|
+
var _componentLayout$left = componentLayout.left,
|
|
13
|
+
componentLeft = _componentLayout$left === void 0 ? 0 : _componentLayout$left,
|
|
14
|
+
_componentLayout$top = componentLayout.top,
|
|
15
|
+
componentTop = _componentLayout$top === void 0 ? 0 : _componentLayout$top,
|
|
16
|
+
_componentLayout$widt = componentLayout.width,
|
|
17
|
+
componentWidth = _componentLayout$widt === void 0 ? 0 : _componentLayout$widt,
|
|
18
|
+
_componentLayout$heig = componentLayout.height,
|
|
19
|
+
componentHeight = _componentLayout$heig === void 0 ? 0 : _componentLayout$heig;
|
|
20
|
+
var _contentLayout$width = contentLayout.width,
|
|
21
|
+
contentWidth = _contentLayout$width === void 0 ? 0 : _contentLayout$width,
|
|
22
|
+
_contentLayout$height = contentLayout.height,
|
|
23
|
+
contentHeight = _contentLayout$height === void 0 ? 0 : _contentLayout$height;
|
|
24
|
+
var _device$height = device.height,
|
|
25
|
+
height = _device$height === void 0 ? 0 : _device$height,
|
|
26
|
+
_device$width = device.width,
|
|
27
|
+
width = _device$width === void 0 ? 0 : _device$width;
|
|
28
|
+
var top = componentTop + componentHeight;
|
|
29
|
+
var gapTop = componentTop;
|
|
30
|
+
var gapBottom = height - top;
|
|
31
|
+
if (gapTop > gapBottom) top = componentTop - contentHeight;
|
|
32
|
+
var left = componentLeft;
|
|
33
|
+
var gapLeft = componentLeft + componentWidth;
|
|
34
|
+
var gapRight = width - componentLeft;
|
|
35
|
+
if (gapLeft > gapRight) left = componentLeft - contentWidth + componentWidth;
|
|
36
|
+
return {
|
|
37
|
+
left: left,
|
|
38
|
+
top: top
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
exports.getLayerPosition = getLayerPosition;
|
|
43
|
+
//# sourceMappingURL=getLayerPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/primitives/Layer/helpers/getLayerPosition.js"],"names":["getLayerPosition","componentLayout","contentLayout","device","left","componentLeft","top","componentTop","width","componentWidth","height","componentHeight","contentWidth","contentHeight","gapTop","gapBottom","gapLeft","gapRight"],"mappings":";;;;;;;AAAO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAA2D;AAAA,MAA1DC,eAA0D,uEAAxC,EAAwC;AAAA,MAApCC,aAAoC,uEAApB,EAAoB;AAAA,MAAhBC,MAAgB,uEAAP,EAAO;AACzF,8BAKIF,eALJ,CACEG,IADF;AAAA,MACQC,aADR,sCACwB,CADxB;AAAA,6BAKIJ,eALJ,CAEEK,GAFF;AAAA,MAEOC,YAFP,qCAEsB,CAFtB;AAAA,8BAKIN,eALJ,CAGEO,KAHF;AAAA,MAGSC,cAHT,sCAG0B,CAH1B;AAAA,8BAKIR,eALJ,CAIES,MAJF;AAAA,MAIUC,eAJV,sCAI4B,CAJ5B;AAMA,6BAA+DT,aAA/D,CAAQM,KAAR;AAAA,MAAeI,YAAf,qCAA8B,CAA9B;AAAA,8BAA+DV,aAA/D,CAAiCQ,MAAjC;AAAA,MAAyCG,aAAzC,sCAAyD,CAAzD;AACA,uBAAkCV,MAAlC,CAAQO,MAAR;AAAA,MAAQA,MAAR,+BAAiB,CAAjB;AAAA,sBAAkCP,MAAlC,CAAoBK,KAApB;AAAA,MAAoBA,KAApB,8BAA4B,CAA5B;AAEA,MAAIF,GAAG,GAAGC,YAAY,GAAGI,eAAzB;AACA,MAAMG,MAAM,GAAGP,YAAf;AACA,MAAMQ,SAAS,GAAGL,MAAM,GAAGJ,GAA3B;AACA,MAAIQ,MAAM,GAAGC,SAAb,EAAwBT,GAAG,GAAGC,YAAY,GAAGM,aAArB;AAExB,MAAIT,IAAI,GAAGC,aAAX;AACA,MAAMW,OAAO,GAAGX,aAAa,GAAGI,cAAhC;AACA,MAAMQ,QAAQ,GAAGT,KAAK,GAAGH,aAAzB;AACA,MAAIW,OAAO,GAAGC,QAAd,EAAwBb,IAAI,GAAGC,aAAa,GAAGO,YAAhB,GAA+BH,cAAtC;AAExB,SAAO;AAAEL,IAAAA,IAAI,EAAJA,IAAF;AAAQE,IAAAA,GAAG,EAAHA;AAAR,GAAP;AACD,CArBM","sourcesContent":["export const getLayerPosition = (componentLayout = {}, contentLayout = {}, device = {}) => {\n const {\n left: componentLeft = 0,\n top: componentTop = 0,\n width: componentWidth = 0,\n height: componentHeight = 0,\n } = componentLayout;\n const { width: contentWidth = 0, height: contentHeight = 0 } = contentLayout;\n const { height = 0, width = 0 } = device;\n\n let top = componentTop + componentHeight;\n const gapTop = componentTop;\n const gapBottom = height - top;\n if (gapTop > gapBottom) top = componentTop - contentHeight;\n\n let left = componentLeft;\n const gapLeft = componentLeft + componentWidth;\n const gapRight = width - componentLeft;\n if (gapLeft > gapRight) left = componentLeft - contentWidth + componentWidth;\n\n return { left, top };\n};\n"],"file":"getLayerPosition.js"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _getElementLayout = require("./getElementLayout");
|
|
8
|
+
|
|
9
|
+
Object.keys(_getElementLayout).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _getElementLayout[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _getElementLayout[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
var _getLayerPosition = require("./getLayerPosition");
|
|
21
|
+
|
|
22
|
+
Object.keys(_getLayerPosition).forEach(function (key) {
|
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
|
24
|
+
if (key in exports && exports[key] === _getLayerPosition[key]) return;
|
|
25
|
+
Object.defineProperty(exports, key, {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function get() {
|
|
28
|
+
return _getLayerPosition[key];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/primitives/Layer/helpers/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './getElementLayout';\nexport * from './getLayerPosition';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _Layer = require("./Layer");
|
|
8
|
+
|
|
9
|
+
Object.keys(_Layer).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _Layer[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Layer[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
var _LayerContent = require("./LayerContent");
|
|
21
|
+
|
|
22
|
+
Object.keys(_LayerContent).forEach(function (key) {
|
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
|
24
|
+
if (key in exports && exports[key] === _LayerContent[key]) return;
|
|
25
|
+
Object.defineProperty(exports, key, {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function get() {
|
|
28
|
+
return _LayerContent[key];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/Layer/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Layer';\nexport * from './LayerContent';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Radio = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _helpers = require("../../helpers");
|
|
15
|
+
|
|
16
|
+
var _RadioModule = _interopRequireDefault(require("./Radio.module.css"));
|
|
17
|
+
|
|
18
|
+
var _excluded = ["checked", "disabled", "name", "value", "onChange"];
|
|
19
|
+
|
|
20
|
+
var Radio = function Radio(_ref) {
|
|
21
|
+
var checked = _ref.checked,
|
|
22
|
+
disabled = _ref.disabled,
|
|
23
|
+
name = _ref.name,
|
|
24
|
+
_ref$value = _ref.value,
|
|
25
|
+
value = _ref$value === void 0 ? '' : _ref$value,
|
|
26
|
+
onChange = _ref.onChange,
|
|
27
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
28
|
+
|
|
29
|
+
var handleChange = function handleChange(event) {
|
|
30
|
+
onChange && onChange(value, event);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
+
className: (0, _helpers.styles)(_RadioModule.default.radio, others.className)
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement("input", Object.assign({}, others, {
|
|
36
|
+
checked: checked,
|
|
37
|
+
disabled: disabled,
|
|
38
|
+
name: name,
|
|
39
|
+
type: "radio",
|
|
40
|
+
value: value,
|
|
41
|
+
onChange: !disabled ? handleChange : undefined
|
|
42
|
+
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
43
|
+
className: _RadioModule.default.checkmark
|
|
44
|
+
}));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.Radio = Radio;
|
|
48
|
+
Radio.displayName = 'Primitive:Radio';
|
|
49
|
+
//# sourceMappingURL=Radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/Radio/Radio.jsx"],"names":["Radio","checked","disabled","name","value","onChange","others","handleChange","event","style","radio","className","undefined","checkmark","displayName"],"mappings":";;;;;;;;;;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAAkE;AAAA,MAA/DC,OAA+D,QAA/DA,OAA+D;AAAA,MAAtDC,QAAsD,QAAtDA,QAAsD;AAAA,MAA5CC,IAA4C,QAA5CA,IAA4C;AAAA,wBAAtCC,KAAsC;AAAA,MAAtCA,KAAsC,2BAA9B,EAA8B;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;;AAC9E,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;AAC9BH,IAAAA,QAAQ,IAAIA,QAAQ,CAACD,KAAD,EAAQI,KAAR,CAApB;AACD,GAFD;;AAIA,sBACE;AAAK,IAAA,SAAS,EAAE,qBAAOC,qBAAMC,KAAb,EAAoBJ,MAAM,CAACK,SAA3B;AAAhB,kBACE,wDACML,MADN;AAEE,IAAA,OAAO,EAAEL,OAFX;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,IAAI,EAAEC,IAJR;AAKE,IAAA,IAAI,EAAC,OALP;AAME,IAAA,KAAK,EAAEC,KANT;AAOE,IAAA,QAAQ,EAAE,CAACF,QAAD,GAAYK,YAAZ,GAA2BK;AAPvC,KADF,eAUE;AAAM,IAAA,SAAS,EAAEH,qBAAMI;AAAvB,IAVF,CADF;AAcD,CAnBD;;;AAqBAb,KAAK,CAACc,WAAN,GAAoB,iBAApB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './Radio.module.css';\n\nconst Radio = ({ checked, disabled, name, value = '', onChange, ...others }) => {\n const handleChange = (event) => {\n onChange && onChange(value, event);\n };\n\n return (\n <div className={styles(style.radio, others.className)}>\n <input\n {...others}\n checked={checked}\n disabled={disabled}\n name={name}\n type=\"radio\"\n value={value}\n onChange={!disabled ? handleChange : undefined}\n />\n <span className={style.checkmark} />\n </div>\n );\n};\n\nRadio.displayName = 'Primitive:Radio';\n\nRadio.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nexport { Radio };\n"],"file":"Radio.js"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--mirai-ui-checkbox-base: var(--mirai-ui-base);
|
|
3
|
+
--mirai-ui-radio-border-color: var(--mirai-ui-lighten);
|
|
4
|
+
--mirai-ui-radio-checked-color: var(--mirai-ui-accent);
|
|
5
|
+
--mirai-ui-radio-disabled: var(--mirai-ui-disabled);
|
|
6
|
+
--mirai-ui-radio-size: var(--mirai-ui-space-L);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.radio {
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
position: relative;
|
|
12
|
+
height: var(--mirai-ui-radio-size);
|
|
13
|
+
width: var(--mirai-ui-radio-size);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.radio input {
|
|
17
|
+
background-color: var(--mirai-ui-radio-base);
|
|
18
|
+
border: 2px solid var(--mirai-ui-radio-border-color);
|
|
19
|
+
border-radius: 50%;
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
height: var(--mirai-ui-radio-size);
|
|
22
|
+
margin: 0;
|
|
23
|
+
outline: none;
|
|
24
|
+
user-select: none;
|
|
25
|
+
transition: border-color var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
|
|
26
|
+
width: var(--mirai-ui-radio-size);
|
|
27
|
+
|
|
28
|
+
appearance: none;
|
|
29
|
+
-webkit-appearance: none;
|
|
30
|
+
-moz-appearance: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.radio .checkmark {
|
|
34
|
+
border-radius: 50%;
|
|
35
|
+
margin: calc(var(--mirai-ui-radio-size) / 4);
|
|
36
|
+
height: calc(var(--mirai-ui-radio-size) / 2);
|
|
37
|
+
left: 0;
|
|
38
|
+
pointer-events: none;
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: 0;
|
|
41
|
+
transition: background-color var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
|
|
42
|
+
width: calc(var(--mirai-ui-radio-size) / 2);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.radio input:disabled {
|
|
46
|
+
border-color: var(--mirai-ui-checkbox-disabled);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.radio input:checked:not(:disabled) {
|
|
50
|
+
border-color: var(--mirai-ui-radio-checked-color);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.radio input:checked:disabled ~ .checkmark {
|
|
54
|
+
background-color: var(--mirai-ui-checkbox-disabled);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.radio input:checked:not(:disabled) ~ .checkmark {
|
|
58
|
+
background-color: var(--mirai-ui-radio-checked-color);
|
|
59
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`primitive:<Radio> inherit:className 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<div
|
|
6
|
+
class="radio mirai"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
class="mirai"
|
|
10
|
+
name="name"
|
|
11
|
+
type="radio"
|
|
12
|
+
value=""
|
|
13
|
+
/>
|
|
14
|
+
<span
|
|
15
|
+
class="checkmark"
|
|
16
|
+
/>
|
|
17
|
+
</div>
|
|
18
|
+
</DocumentFragment>
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
exports[`primitive:<Radio> prop:checked && disabled 1`] = `
|
|
22
|
+
<DocumentFragment>
|
|
23
|
+
<div
|
|
24
|
+
class="radio"
|
|
25
|
+
>
|
|
26
|
+
<input
|
|
27
|
+
checked=""
|
|
28
|
+
disabled=""
|
|
29
|
+
name="name"
|
|
30
|
+
type="radio"
|
|
31
|
+
value=""
|
|
32
|
+
/>
|
|
33
|
+
<span
|
|
34
|
+
class="checkmark"
|
|
35
|
+
/>
|
|
36
|
+
</div>
|
|
37
|
+
</DocumentFragment>
|
|
38
|
+
`;
|
|
39
|
+
|
|
40
|
+
exports[`primitive:<Radio> prop:checked 1`] = `
|
|
41
|
+
<DocumentFragment>
|
|
42
|
+
<div
|
|
43
|
+
class="radio"
|
|
44
|
+
>
|
|
45
|
+
<input
|
|
46
|
+
checked=""
|
|
47
|
+
name="name"
|
|
48
|
+
type="radio"
|
|
49
|
+
value=""
|
|
50
|
+
/>
|
|
51
|
+
<span
|
|
52
|
+
class="checkmark"
|
|
53
|
+
/>
|
|
54
|
+
</div>
|
|
55
|
+
</DocumentFragment>
|
|
56
|
+
`;
|
|
57
|
+
|
|
58
|
+
exports[`primitive:<Radio> prop:disabled 1`] = `
|
|
59
|
+
<DocumentFragment>
|
|
60
|
+
<div
|
|
61
|
+
class="radio"
|
|
62
|
+
>
|
|
63
|
+
<input
|
|
64
|
+
disabled=""
|
|
65
|
+
name="name"
|
|
66
|
+
type="radio"
|
|
67
|
+
value=""
|
|
68
|
+
/>
|
|
69
|
+
<span
|
|
70
|
+
class="checkmark"
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
</DocumentFragment>
|
|
74
|
+
`;
|
|
75
|
+
|
|
76
|
+
exports[`primitive:<Radio> prop:value 1`] = `
|
|
77
|
+
<DocumentFragment>
|
|
78
|
+
<div
|
|
79
|
+
class="radio"
|
|
80
|
+
>
|
|
81
|
+
<input
|
|
82
|
+
name="name"
|
|
83
|
+
type="radio"
|
|
84
|
+
value="value"
|
|
85
|
+
/>
|
|
86
|
+
<span
|
|
87
|
+
class="checkmark"
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
</DocumentFragment>
|
|
91
|
+
`;
|
|
92
|
+
|
|
93
|
+
exports[`primitive:<Radio> render 1`] = `
|
|
94
|
+
<DocumentFragment>
|
|
95
|
+
<div
|
|
96
|
+
class="radio"
|
|
97
|
+
>
|
|
98
|
+
<input
|
|
99
|
+
name="name"
|
|
100
|
+
type="radio"
|
|
101
|
+
value=""
|
|
102
|
+
/>
|
|
103
|
+
<span
|
|
104
|
+
class="checkmark"
|
|
105
|
+
/>
|
|
106
|
+
</div>
|
|
107
|
+
</DocumentFragment>
|
|
108
|
+
`;
|
|
109
|
+
|
|
110
|
+
exports[`primitive:<Radio> testID 1`] = `
|
|
111
|
+
<DocumentFragment>
|
|
112
|
+
<div
|
|
113
|
+
class="radio"
|
|
114
|
+
>
|
|
115
|
+
<input
|
|
116
|
+
data-testid="mirai"
|
|
117
|
+
name="name"
|
|
118
|
+
type="radio"
|
|
119
|
+
value=""
|
|
120
|
+
/>
|
|
121
|
+
<span
|
|
122
|
+
class="checkmark"
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
125
|
+
</DocumentFragment>
|
|
126
|
+
`;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _Radio = require("./Radio");
|
|
8
|
+
|
|
9
|
+
Object.keys(_Radio).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _Radio[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Radio[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/Radio/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Radio';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Switch = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _helpers = require("../../helpers");
|
|
15
|
+
|
|
16
|
+
var _SwitchModule = _interopRequireDefault(require("./Switch.module.css"));
|
|
17
|
+
|
|
18
|
+
var _excluded = ["checked", "disabled", "name", "onChange"];
|
|
19
|
+
|
|
20
|
+
var Switch = function Switch(_ref) {
|
|
21
|
+
var _ref$checked = _ref.checked,
|
|
22
|
+
checked = _ref$checked === void 0 ? false : _ref$checked,
|
|
23
|
+
disabled = _ref.disabled,
|
|
24
|
+
name = _ref.name,
|
|
25
|
+
onChange = _ref.onChange,
|
|
26
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
27
|
+
|
|
28
|
+
var handleChange = function handleChange(event) {
|
|
29
|
+
onChange && onChange(!checked, event);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, others, {
|
|
33
|
+
className: (0, _helpers.styles)(_SwitchModule.default.switch, others.className),
|
|
34
|
+
onClick: !disabled ? handleChange : undefined
|
|
35
|
+
}), /*#__PURE__*/_react.default.createElement("input", {
|
|
36
|
+
checked: checked,
|
|
37
|
+
disabled: disabled,
|
|
38
|
+
name: name,
|
|
39
|
+
type: "checkbox",
|
|
40
|
+
className: _SwitchModule.default.input
|
|
41
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
42
|
+
className: _SwitchModule.default.area
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
44
|
+
className: _SwitchModule.default.toggle
|
|
45
|
+
})));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.Switch = Switch;
|
|
49
|
+
Switch.displayName = 'Primitive:Switch';
|
|
50
|
+
//# sourceMappingURL=Switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/Switch/Switch.jsx"],"names":["Switch","checked","disabled","name","onChange","others","handleChange","event","style","switch","className","undefined","input","area","toggle","displayName"],"mappings":";;;;;;;;;;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAA8D;AAAA,0BAA3DC,OAA2D;AAAA,MAA3DA,OAA2D,6BAAjD,KAAiD;AAAA,MAA1CC,QAA0C,QAA1CA,QAA0C;AAAA,MAAhCC,IAAgC,QAAhCA,IAAgC;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;;AAC3E,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;AAC9BH,IAAAA,QAAQ,IAAIA,QAAQ,CAAC,CAACH,OAAF,EAAWM,KAAX,CAApB;AACD,GAFD;;AAIA,sBACE,sDAASF,MAAT;AAAiB,IAAA,SAAS,EAAE,qBAAOG,sBAAMC,MAAb,EAAqBJ,MAAM,CAACK,SAA5B,CAA5B;AAAoE,IAAA,OAAO,EAAE,CAACR,QAAD,GAAYI,YAAZ,GAA2BK;AAAxG,mBACE;AAAO,IAAA,OAAO,EAAEV,OAAhB;AAAyB,IAAA,QAAQ,EAAEC,QAAnC;AAA6C,IAAA,IAAI,EAAEC,IAAnD;AAAyD,IAAA,IAAI,EAAC,UAA9D;AAAyE,IAAA,SAAS,EAAEK,sBAAMI;AAA1F,IADF,eAEE;AAAK,IAAA,SAAS,EAAEJ,sBAAMK;AAAtB,kBACE;AAAM,IAAA,SAAS,EAAEL,sBAAMM;AAAvB,IADF,CAFF,CADF;AAQD,CAbD;;;AAeAd,MAAM,CAACe,WAAP,GAAqB,kBAArB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './Switch.module.css';\n\nconst Switch = ({ checked = false, disabled, name, onChange, ...others }) => {\n const handleChange = (event) => {\n onChange && onChange(!checked, event);\n };\n\n return (\n <div {...others} className={styles(style.switch, others.className)} onClick={!disabled ? handleChange : undefined}>\n <input checked={checked} disabled={disabled} name={name} type=\"checkbox\" className={style.input} />\n <div className={style.area}>\n <span className={style.toggle}></span>\n </div>\n </div>\n );\n};\n\nSwitch.displayName = 'Primitive:Switch';\n\nSwitch.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n};\n\nexport { Switch };\n"],"file":"Switch.js"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--mirai-ui-switch-border: 2px;
|
|
3
|
+
--mirai-ui-switch-radius: var(--mirai-ui-space-L);
|
|
4
|
+
--mirai-ui-switch-size: var(--mirai-ui-space-L);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.switch {
|
|
8
|
+
align-self: flex-start;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.switch .input {
|
|
13
|
+
height: 0;
|
|
14
|
+
pointer-events: none;
|
|
15
|
+
visibility: hidden;
|
|
16
|
+
width: 0;
|
|
17
|
+
position: absolute;
|
|
18
|
+
outline: none;
|
|
19
|
+
user-select: none;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.switch .area {
|
|
23
|
+
align-items: center;
|
|
24
|
+
justify-content: center;
|
|
25
|
+
background-color: var(--mirai-ui-lighten);
|
|
26
|
+
border-radius: var(--mirai-ui-switch-radius);
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
display: flex;
|
|
29
|
+
height: calc(var(--mirai-ui-switch-size) + calc(var(--mirai-ui-switch-border) * 2));
|
|
30
|
+
position: relative;
|
|
31
|
+
transition: background-color var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
|
|
32
|
+
width: calc(var(--mirai-ui-switch-size) * 2);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.switch .toggle {
|
|
36
|
+
background-color: var(--mirai-ui-base);
|
|
37
|
+
border-radius: calc(var(--mirai-ui-switch-radius) - var(--mirai-ui-switch-border));
|
|
38
|
+
height: var(--mirai-ui-switch-size);
|
|
39
|
+
left: var(--mirai-ui-switch-border);
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: var(--mirai-ui-switch-border);
|
|
42
|
+
transition: var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
|
|
43
|
+
width: var(--mirai-ui-switch-size);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.switch .input:disabled + .area {
|
|
47
|
+
background-color: var(--mirai-ui-lighten);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.switch .input:checked + .area {
|
|
51
|
+
background-color: var(--mirai-ui-accent);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.switch .input:checked + .area .toggle {
|
|
55
|
+
left: calc(100% - var(--mirai-ui-switch-border));
|
|
56
|
+
transform: translateX(-100%);
|
|
57
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`primitive:<Switch> inherit:className 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<div
|
|
6
|
+
class="switch mirai"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
class="input"
|
|
10
|
+
name="name"
|
|
11
|
+
type="checkbox"
|
|
12
|
+
/>
|
|
13
|
+
<div
|
|
14
|
+
class="area"
|
|
15
|
+
>
|
|
16
|
+
<span
|
|
17
|
+
class="toggle"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</DocumentFragment>
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
exports[`primitive:<Switch> prop:checked 1`] = `
|
|
25
|
+
<DocumentFragment>
|
|
26
|
+
<div
|
|
27
|
+
class="switch"
|
|
28
|
+
>
|
|
29
|
+
<input
|
|
30
|
+
checked=""
|
|
31
|
+
class="input"
|
|
32
|
+
name="name"
|
|
33
|
+
type="checkbox"
|
|
34
|
+
/>
|
|
35
|
+
<div
|
|
36
|
+
class="area"
|
|
37
|
+
>
|
|
38
|
+
<span
|
|
39
|
+
class="toggle"
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</DocumentFragment>
|
|
44
|
+
`;
|
|
45
|
+
|
|
46
|
+
exports[`primitive:<Switch> prop:disabled 1`] = `
|
|
47
|
+
<DocumentFragment>
|
|
48
|
+
<div
|
|
49
|
+
class="switch"
|
|
50
|
+
>
|
|
51
|
+
<input
|
|
52
|
+
class="input"
|
|
53
|
+
disabled=""
|
|
54
|
+
name="name"
|
|
55
|
+
type="checkbox"
|
|
56
|
+
/>
|
|
57
|
+
<div
|
|
58
|
+
class="area"
|
|
59
|
+
>
|
|
60
|
+
<span
|
|
61
|
+
class="toggle"
|
|
62
|
+
/>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</DocumentFragment>
|
|
66
|
+
`;
|
|
67
|
+
|
|
68
|
+
exports[`primitive:<Switch> render 1`] = `
|
|
69
|
+
<DocumentFragment>
|
|
70
|
+
<div
|
|
71
|
+
class="switch"
|
|
72
|
+
>
|
|
73
|
+
<input
|
|
74
|
+
class="input"
|
|
75
|
+
name="name"
|
|
76
|
+
type="checkbox"
|
|
77
|
+
/>
|
|
78
|
+
<div
|
|
79
|
+
class="area"
|
|
80
|
+
>
|
|
81
|
+
<span
|
|
82
|
+
class="toggle"
|
|
83
|
+
/>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</DocumentFragment>
|
|
87
|
+
`;
|
|
88
|
+
|
|
89
|
+
exports[`primitive:<Switch> testID 1`] = `
|
|
90
|
+
<DocumentFragment>
|
|
91
|
+
<div
|
|
92
|
+
class="switch"
|
|
93
|
+
data-testid="mirai"
|
|
94
|
+
>
|
|
95
|
+
<input
|
|
96
|
+
class="input"
|
|
97
|
+
name="name"
|
|
98
|
+
type="checkbox"
|
|
99
|
+
/>
|
|
100
|
+
<div
|
|
101
|
+
class="area"
|
|
102
|
+
>
|
|
103
|
+
<span
|
|
104
|
+
class="toggle"
|
|
105
|
+
/>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</DocumentFragment>
|
|
109
|
+
`;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _Switch = require("./Switch.jsx");
|
|
8
|
+
|
|
9
|
+
Object.keys(_Switch).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _Switch[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Switch[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/Switch/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Switch.jsx';\n"],"file":"index.js"}
|