@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.
Files changed (77) hide show
  1. package/README.md +134 -2
  2. package/build/components/Calendar/Calendar.Week.js +26 -25
  3. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  4. package/build/components/Calendar/Calendar.js +3 -3
  5. package/build/components/Calendar/Calendar.js.map +1 -1
  6. package/build/components/Calendar/Calendar.module.css +25 -15
  7. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +2628 -180
  8. package/build/components/Calendar/helpers/getWeekdays.js +1 -1
  9. package/build/components/Calendar/helpers/getWeekdays.js.map +1 -1
  10. package/build/components/InputNumber/InputNumber.js +2 -2
  11. package/build/components/InputNumber/InputNumber.js.map +1 -1
  12. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +10 -5
  13. package/build/components/InputOption/InputOption.constants.js +13 -0
  14. package/build/components/InputOption/InputOption.constants.js.map +1 -0
  15. package/build/components/InputOption/InputOption.js +63 -0
  16. package/build/components/InputOption/InputOption.js.map +1 -0
  17. package/build/components/InputOption/InputOption.module.css +38 -0
  18. package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +232 -0
  19. package/build/components/InputOption/index.js +19 -0
  20. package/build/components/InputOption/index.js.map +1 -0
  21. package/build/components/Modal/Modal.module.css +2 -1
  22. package/build/components/Table/Table.Row.js +76 -0
  23. package/build/components/Table/Table.Row.js.map +1 -0
  24. package/build/components/Table/Table.js +92 -0
  25. package/build/components/Table/Table.js.map +1 -0
  26. package/build/components/Table/Table.module.css +76 -0
  27. package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +2285 -0
  28. package/build/components/Table/helpers/index.js +19 -0
  29. package/build/components/Table/helpers/index.js.map +1 -0
  30. package/build/components/Table/helpers/select.js +29 -0
  31. package/build/components/Table/helpers/select.js.map +1 -0
  32. package/build/components/Table/index.js +19 -0
  33. package/build/components/Table/index.js.map +1 -0
  34. package/build/components/index.js +26 -0
  35. package/build/components/index.js.map +1 -1
  36. package/build/primitives/Checkbox/Checkbox.js +52 -0
  37. package/build/primitives/Checkbox/Checkbox.js.map +1 -0
  38. package/build/primitives/Checkbox/Checkbox.module.css +45 -0
  39. package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +127 -0
  40. package/build/primitives/Checkbox/index.js +19 -0
  41. package/build/primitives/Checkbox/index.js.map +1 -0
  42. package/build/primitives/Icon/Icon.constants.js +3 -1
  43. package/build/primitives/Icon/Icon.constants.js.map +1 -1
  44. package/build/primitives/Input/Input.module.css +4 -0
  45. package/build/primitives/Layer/Layer.js +89 -0
  46. package/build/primitives/Layer/Layer.js.map +1 -0
  47. package/build/primitives/Layer/Layer.module.css +10 -0
  48. package/build/primitives/Layer/LayerContent.js +22 -0
  49. package/build/primitives/Layer/LayerContent.js.map +1 -0
  50. package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +55 -0
  51. package/build/primitives/Layer/helpers/getElementLayout.js +23 -0
  52. package/build/primitives/Layer/helpers/getElementLayout.js.map +1 -0
  53. package/build/primitives/Layer/helpers/getLayerPosition.js +43 -0
  54. package/build/primitives/Layer/helpers/getLayerPosition.js.map +1 -0
  55. package/build/primitives/Layer/helpers/index.js +32 -0
  56. package/build/primitives/Layer/helpers/index.js.map +1 -0
  57. package/build/primitives/Layer/index.js +32 -0
  58. package/build/primitives/Layer/index.js.map +1 -0
  59. package/build/primitives/Radio/Radio.js +49 -0
  60. package/build/primitives/Radio/Radio.js.map +1 -0
  61. package/build/primitives/Radio/Radio.module.css +59 -0
  62. package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +126 -0
  63. package/build/primitives/Radio/index.js +19 -0
  64. package/build/primitives/Radio/index.js.map +1 -0
  65. package/build/primitives/Select/Select.module.css +1 -0
  66. package/build/primitives/Switch/Switch.js +50 -0
  67. package/build/primitives/Switch/Switch.js.map +1 -0
  68. package/build/primitives/Switch/Switch.module.css +57 -0
  69. package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +109 -0
  70. package/build/primitives/Switch/index.js +19 -0
  71. package/build/primitives/Switch/index.js.map +1 -0
  72. package/build/primitives/View/View.js +12 -3
  73. package/build/primitives/View/View.js.map +1 -1
  74. package/build/primitives/index.js +64 -12
  75. package/build/primitives/index.js.map +1 -1
  76. package/build/theme/default.theme.css +8 -1
  77. 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"}
@@ -10,6 +10,7 @@
10
10
  outline: none;
11
11
  user-select: none;
12
12
 
13
+ appearance: none;
13
14
  -webkit-appearance: none;
14
15
  -moz-appearance: none;
15
16
  }
@@ -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"}