@mirai/ui 1.0.3 → 1.0.6

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 (86) hide show
  1. package/README.md +134 -2
  2. package/build/components/Button/Button.js +3 -2
  3. package/build/components/Button/Button.js.map +1 -1
  4. package/build/components/Button/Button.module.css +8 -4
  5. package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +1 -1
  6. package/build/components/Calendar/Calendar.Week.js +26 -25
  7. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  8. package/build/components/Calendar/Calendar.js +3 -3
  9. package/build/components/Calendar/Calendar.js.map +1 -1
  10. package/build/components/Calendar/Calendar.module.css +25 -15
  11. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +3840 -1392
  12. package/build/components/Calendar/helpers/getWeekdays.js +1 -1
  13. package/build/components/Calendar/helpers/getWeekdays.js.map +1 -1
  14. package/build/components/InputNumber/InputNumber.js +2 -2
  15. package/build/components/InputNumber/InputNumber.js.map +1 -1
  16. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +12 -7
  17. package/build/components/InputOption/InputOption.constants.js +13 -0
  18. package/build/components/InputOption/InputOption.constants.js.map +1 -0
  19. package/build/components/InputOption/InputOption.js +63 -0
  20. package/build/components/InputOption/InputOption.js.map +1 -0
  21. package/build/components/InputOption/InputOption.module.css +38 -0
  22. package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +232 -0
  23. package/build/components/InputOption/index.js +19 -0
  24. package/build/components/InputOption/index.js.map +1 -0
  25. package/build/components/Modal/Modal.module.css +2 -1
  26. package/build/components/Table/Table.Row.js +76 -0
  27. package/build/components/Table/Table.Row.js.map +1 -0
  28. package/build/components/Table/Table.js +92 -0
  29. package/build/components/Table/Table.js.map +1 -0
  30. package/build/components/Table/Table.module.css +76 -0
  31. package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +2285 -0
  32. package/build/components/Table/helpers/index.js +19 -0
  33. package/build/components/Table/helpers/index.js.map +1 -0
  34. package/build/components/Table/helpers/select.js +29 -0
  35. package/build/components/Table/helpers/select.js.map +1 -0
  36. package/build/components/Table/index.js +19 -0
  37. package/build/components/Table/index.js.map +1 -0
  38. package/build/components/index.js +26 -0
  39. package/build/components/index.js.map +1 -1
  40. package/build/primitives/Checkbox/Checkbox.js +52 -0
  41. package/build/primitives/Checkbox/Checkbox.js.map +1 -0
  42. package/build/primitives/Checkbox/Checkbox.module.css +45 -0
  43. package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +127 -0
  44. package/build/primitives/Checkbox/index.js +19 -0
  45. package/build/primitives/Checkbox/index.js.map +1 -0
  46. package/build/primitives/Icon/Icon.constants.js +3 -1
  47. package/build/primitives/Icon/Icon.constants.js.map +1 -1
  48. package/build/primitives/Input/Input.module.css +4 -0
  49. package/build/primitives/Layer/Layer.js +89 -0
  50. package/build/primitives/Layer/Layer.js.map +1 -0
  51. package/build/primitives/Layer/Layer.module.css +10 -0
  52. package/build/primitives/Layer/LayerContent.js +22 -0
  53. package/build/primitives/Layer/LayerContent.js.map +1 -0
  54. package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +55 -0
  55. package/build/primitives/Layer/helpers/getElementLayout.js +23 -0
  56. package/build/primitives/Layer/helpers/getElementLayout.js.map +1 -0
  57. package/build/primitives/Layer/helpers/getLayerPosition.js +43 -0
  58. package/build/primitives/Layer/helpers/getLayerPosition.js.map +1 -0
  59. package/build/primitives/Layer/helpers/index.js +32 -0
  60. package/build/primitives/Layer/helpers/index.js.map +1 -0
  61. package/build/primitives/Layer/index.js +32 -0
  62. package/build/primitives/Layer/index.js.map +1 -0
  63. package/build/primitives/Pressable/Pressable.js +1 -1
  64. package/build/primitives/Pressable/Pressable.js.map +1 -1
  65. package/build/primitives/Pressable/Pressable.module.css +1 -1
  66. package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +1 -1
  67. package/build/primitives/Radio/Radio.js +49 -0
  68. package/build/primitives/Radio/Radio.js.map +1 -0
  69. package/build/primitives/Radio/Radio.module.css +59 -0
  70. package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +126 -0
  71. package/build/primitives/Radio/index.js +19 -0
  72. package/build/primitives/Radio/index.js.map +1 -0
  73. package/build/primitives/Select/Select.module.css +1 -0
  74. package/build/primitives/Switch/Switch.js +50 -0
  75. package/build/primitives/Switch/Switch.js.map +1 -0
  76. package/build/primitives/Switch/Switch.module.css +57 -0
  77. package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +109 -0
  78. package/build/primitives/Switch/index.js +19 -0
  79. package/build/primitives/Switch/index.js.map +1 -0
  80. package/build/primitives/View/View.js +12 -3
  81. package/build/primitives/View/View.js.map +1 -1
  82. package/build/primitives/View/View.module.css +1 -0
  83. package/build/primitives/index.js +64 -12
  84. package/build/primitives/index.js.map +1 -1
  85. package/build/theme/default.theme.css +9 -2
  86. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _select = require("./select");
8
+
9
+ Object.keys(_select).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _select[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _select[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Table/helpers/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './select';\n"],"file":"index.js"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.select = void 0;
7
+
8
+ var select = function select() {
9
+ var dataSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
10
+
11
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
12
+ search = _ref.search,
13
+ _ref$sort = _ref.sort,
14
+ sort = _ref$sort === void 0 ? {} : _ref$sort;
15
+
16
+ var values = dataSource.filter(function (row) {
17
+ return search ? JSON.stringify(row).includes(search) : true;
18
+ });
19
+ Object.keys(sort).forEach(function (key) {
20
+ var order = sort[key] ? 1 : -1;
21
+ values.sort(function (a, b) {
22
+ return a[key] >= b[key] ? 1 * order : -1 * order;
23
+ });
24
+ });
25
+ return values;
26
+ };
27
+
28
+ exports.select = select;
29
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Table/helpers/select.js"],"names":["select","dataSource","search","sort","values","filter","row","JSON","stringify","includes","Object","keys","forEach","key","order","a","b"],"mappings":";;;;;;;AAAO,IAAMA,MAAM,GAAG,SAATA,MAAS,GAAiD;AAAA,MAAhDC,UAAgD,uEAAnC,EAAmC;;AAAA,iFAAP,EAAO;AAAA,MAA7BC,MAA6B,QAA7BA,MAA6B;AAAA,uBAArBC,IAAqB;AAAA,MAArBA,IAAqB,0BAAd,EAAc;;AACrE,MAAMC,MAAM,GAAGH,UAAU,CAACI,MAAX,CAAkB,UAACC,GAAD;AAAA,WAAUJ,MAAM,GAAGK,IAAI,CAACC,SAAL,CAAeF,GAAf,EAAoBG,QAApB,CAA6BP,MAA7B,CAAH,GAA0C,IAA1D;AAAA,GAAlB,CAAf;AAEAQ,EAAAA,MAAM,CAACC,IAAP,CAAYR,IAAZ,EAAkBS,OAAlB,CAA0B,UAACC,GAAD,EAAS;AACjC,QAAMC,KAAK,GAAGX,IAAI,CAACU,GAAD,CAAJ,GAAY,CAAZ,GAAgB,CAAC,CAA/B;AAEAT,IAAAA,MAAM,CAACD,IAAP,CAAY,UAACY,CAAD,EAAIC,CAAJ;AAAA,aAAWD,CAAC,CAACF,GAAD,CAAD,IAAUG,CAAC,CAACH,GAAD,CAAX,GAAmB,IAAIC,KAAvB,GAA+B,CAAC,CAAD,GAAKA,KAA/C;AAAA,KAAZ;AACD,GAJD;AAMA,SAAOV,MAAP;AACD,CAVM","sourcesContent":["export const select = (dataSource = [], { search, sort = {} } = {}) => {\n const values = dataSource.filter((row) => (search ? JSON.stringify(row).includes(search) : true));\n\n Object.keys(sort).forEach((key) => {\n const order = sort[key] ? 1 : -1;\n\n values.sort((a, b) => (a[key] >= b[key] ? 1 * order : -1 * order));\n });\n\n return values;\n};\n"],"file":"select.js"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Table = require("./Table");
8
+
9
+ Object.keys(_Table).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Table[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Table[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Table/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Table';\n"],"file":"index.js"}
@@ -56,6 +56,19 @@ Object.keys(_InputNumber).forEach(function (key) {
56
56
  });
57
57
  });
58
58
 
59
+ var _InputOption = require("./InputOption");
60
+
61
+ Object.keys(_InputOption).forEach(function (key) {
62
+ if (key === "default" || key === "__esModule") return;
63
+ if (key in exports && exports[key] === _InputOption[key]) return;
64
+ Object.defineProperty(exports, key, {
65
+ enumerable: true,
66
+ get: function get() {
67
+ return _InputOption[key];
68
+ }
69
+ });
70
+ });
71
+
59
72
  var _InputSelect = require("./InputSelect");
60
73
 
61
74
  Object.keys(_InputSelect).forEach(function (key) {
@@ -94,4 +107,17 @@ Object.keys(_Modal).forEach(function (key) {
94
107
  }
95
108
  });
96
109
  });
110
+
111
+ var _Table = require("./Table");
112
+
113
+ Object.keys(_Table).forEach(function (key) {
114
+ if (key === "default" || key === "__esModule") return;
115
+ if (key in exports && exports[key] === _Table[key]) return;
116
+ Object.defineProperty(exports, key, {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _Table[key];
120
+ }
121
+ });
122
+ });
97
123
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/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;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Button';\nexport * from './Calendar';\nexport * from './Form';\nexport * from './InputNumber';\nexport * from './InputSelect';\nexport * from './InputText';\nexport * from './Modal';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/components/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;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Button';\nexport * from './Calendar';\nexport * from './Form';\nexport * from './InputNumber';\nexport * from './InputOption';\nexport * from './InputSelect';\nexport * from './InputText';\nexport * from './Modal';\nexport * from './Table';\n"],"file":"index.js"}
@@ -0,0 +1,52 @@
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.Checkbox = 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 _CheckboxModule = _interopRequireDefault(require("./Checkbox.module.css"));
17
+
18
+ var _excluded = ["checked", "children", "disabled", "name", "value", "onChange"];
19
+
20
+ var Checkbox = function Checkbox(_ref) {
21
+ var checked = _ref.checked,
22
+ children = _ref.children,
23
+ disabled = _ref.disabled,
24
+ name = _ref.name,
25
+ _ref$value = _ref.value,
26
+ value = _ref$value === void 0 ? '' : _ref$value,
27
+ onChange = _ref.onChange,
28
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
29
+
30
+ var handleChange = function handleChange(event) {
31
+ var _event$target = event.target,
32
+ value = _event$target.value,
33
+ checked = _event$target.checked;
34
+ onChange && onChange(value, checked, event);
35
+ };
36
+
37
+ return /*#__PURE__*/_react.default.createElement("div", {
38
+ className: (0, _helpers.styles)(_CheckboxModule.default.checkbox, others.className)
39
+ }, /*#__PURE__*/_react.default.createElement("input", Object.assign({}, others, {
40
+ checked: checked,
41
+ disabled: disabled,
42
+ name: name,
43
+ type: "checkbox",
44
+ value: value,
45
+ className: (0, _helpers.styles)(checked && _CheckboxModule.default.checked),
46
+ onChange: !disabled ? handleChange : undefined
47
+ })), children);
48
+ };
49
+
50
+ exports.Checkbox = Checkbox;
51
+ Checkbox.displayName = 'Primitive:Checkbox';
52
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Checkbox/Checkbox.jsx"],"names":["Checkbox","checked","children","disabled","name","value","onChange","others","handleChange","event","target","style","checkbox","className","undefined","displayName"],"mappings":";;;;;;;;;;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAA4E;AAAA,MAAzEC,OAAyE,QAAzEA,OAAyE;AAAA,MAAhEC,QAAgE,QAAhEA,QAAgE;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;;AAC3F,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;AAC9B,wBAEIA,KAFJ,CACEC,MADF;AAAA,QACYL,KADZ,iBACYA,KADZ;AAAA,QACmBJ,OADnB,iBACmBA,OADnB;AAIAK,IAAAA,QAAQ,IAAIA,QAAQ,CAACD,KAAD,EAAQJ,OAAR,EAAiBQ,KAAjB,CAApB;AACD,GAND;;AAQA,sBACE;AAAK,IAAA,SAAS,EAAE,qBAAOE,wBAAMC,QAAb,EAAuBL,MAAM,CAACM,SAA9B;AAAhB,kBACE,wDACMN,MADN;AAEE,IAAA,OAAO,EAAEN,OAFX;AAGE,IAAA,QAAQ,EAAEE,QAHZ;AAIE,IAAA,IAAI,EAAEC,IAJR;AAKE,IAAA,IAAI,EAAC,UALP;AAME,IAAA,KAAK,EAAEC,KANT;AAOE,IAAA,SAAS,EAAE,qBAAOJ,OAAO,IAAIU,wBAAMV,OAAxB,CAPb;AAQE,IAAA,QAAQ,EAAE,CAACE,QAAD,GAAYK,YAAZ,GAA2BM;AARvC,KADF,EAWGZ,QAXH,CADF;AAeD,CAxBD;;;AA0BAF,QAAQ,CAACe,WAAT,GAAuB,oBAAvB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './Checkbox.module.css';\n\nconst Checkbox = ({ checked, children, disabled, name, value = '', onChange, ...others }) => {\n const handleChange = (event) => {\n const {\n target: { value, checked },\n } = event;\n\n onChange && onChange(value, checked, event);\n };\n\n return (\n <div className={styles(style.checkbox, others.className)}>\n <input\n {...others}\n checked={checked}\n disabled={disabled}\n name={name}\n type=\"checkbox\"\n value={value}\n className={styles(checked && style.checked)}\n onChange={!disabled ? handleChange : undefined}\n />\n {children}\n </div>\n );\n};\n\nCheckbox.displayName = 'Primitive:Checkbox';\n\nCheckbox.propTypes = {\n checked: PropTypes.bool,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nexport { Checkbox };\n"],"file":"Checkbox.js"}
@@ -0,0 +1,45 @@
1
+ :root {
2
+ --mirai-ui-checkbox-base: var(--mirai-ui-base);
3
+ --mirai-ui-checkbox-border-color: var(--mirai-ui-lighten);
4
+ --mirai-ui-checkbox-border-radius: var(--mirai-ui-border-radius);
5
+ --mirai-ui-checkbox-checked-color: var(--mirai-ui-accent);
6
+ --mirai-ui-checkbox-disabled: var(--mirai-ui-disabled);
7
+ --mirai-ui-checkbox-size: var(--mirai-ui-space-L);
8
+ }
9
+
10
+ .checkbox {
11
+ cursor: pointer;
12
+ height: var(--mirai-ui-checkbox-size);
13
+ width: var(--mirai-ui-checkbox-size);
14
+ }
15
+
16
+ .checkbox input {
17
+ background-color: var(--mirai-ui-checkbox-base);
18
+ border: 2px solid var(--mirai-ui-checkbox-border-color);
19
+ border-radius: var(--mirai-ui-checkbox-border-radius);
20
+ box-sizing: border-box;
21
+ height: var(--mirai-ui-checkbox-size);
22
+ margin: 0;
23
+ outline: none;
24
+ transition: background-color var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing),
25
+ border-color var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
26
+ user-select: none;
27
+ width: var(--mirai-ui-checkbox-size);
28
+
29
+ appearance: none;
30
+ -webkit-appearance: none;
31
+ -moz-appearance: none;
32
+ }
33
+
34
+ .checkbox input:disabled {
35
+ border-color: var(--mirai-ui-checkbox-disabled);
36
+ }
37
+
38
+ .checkbox input:disabled.checked {
39
+ background-color: var(--mirai-ui-checkbox-disabled);
40
+ }
41
+
42
+ .checkbox input:not(:disabled).checked {
43
+ background-color: var(--mirai-ui-checkbox-checked-color);
44
+ border-color: var(--mirai-ui-checkbox-checked-color);
45
+ }
@@ -0,0 +1,127 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`primitive:<Checkbox> inherit:className 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="checkbox mirai"
7
+ >
8
+ <input
9
+ class=""
10
+ name="name"
11
+ type="checkbox"
12
+ value=""
13
+ />
14
+ </div>
15
+ </DocumentFragment>
16
+ `;
17
+
18
+ exports[`primitive:<Checkbox> prop:checked && disabled 1`] = `
19
+ <DocumentFragment>
20
+ <div
21
+ class="checkbox"
22
+ >
23
+ <input
24
+ checked=""
25
+ class="checked"
26
+ disabled=""
27
+ name="name"
28
+ type="checkbox"
29
+ value=""
30
+ />
31
+ </div>
32
+ </DocumentFragment>
33
+ `;
34
+
35
+ exports[`primitive:<Checkbox> prop:checked 1`] = `
36
+ <DocumentFragment>
37
+ <div
38
+ class="checkbox"
39
+ >
40
+ <input
41
+ checked=""
42
+ class="checked"
43
+ name="name"
44
+ type="checkbox"
45
+ value=""
46
+ />
47
+ </div>
48
+ </DocumentFragment>
49
+ `;
50
+
51
+ exports[`primitive:<Checkbox> prop:children 1`] = `
52
+ <DocumentFragment>
53
+ <div
54
+ class="checkbox"
55
+ >
56
+ <input
57
+ class=""
58
+ name="name"
59
+ type="checkbox"
60
+ value=""
61
+ />
62
+ <div />
63
+ </div>
64
+ </DocumentFragment>
65
+ `;
66
+
67
+ exports[`primitive:<Checkbox> prop:disabled 1`] = `
68
+ <DocumentFragment>
69
+ <div
70
+ class="checkbox"
71
+ >
72
+ <input
73
+ class=""
74
+ disabled=""
75
+ name="name"
76
+ type="checkbox"
77
+ value=""
78
+ />
79
+ </div>
80
+ </DocumentFragment>
81
+ `;
82
+
83
+ exports[`primitive:<Checkbox> prop:value 1`] = `
84
+ <DocumentFragment>
85
+ <div
86
+ class="checkbox"
87
+ >
88
+ <input
89
+ class=""
90
+ name="name"
91
+ type="checkbox"
92
+ value="value"
93
+ />
94
+ </div>
95
+ </DocumentFragment>
96
+ `;
97
+
98
+ exports[`primitive:<Checkbox> render 1`] = `
99
+ <DocumentFragment>
100
+ <div
101
+ class="checkbox"
102
+ >
103
+ <input
104
+ class=""
105
+ name="name"
106
+ type="checkbox"
107
+ value=""
108
+ />
109
+ </div>
110
+ </DocumentFragment>
111
+ `;
112
+
113
+ exports[`primitive:<Checkbox> testID 1`] = `
114
+ <DocumentFragment>
115
+ <div
116
+ class="checkbox"
117
+ >
118
+ <input
119
+ class=""
120
+ data-testid="mirai"
121
+ name="name"
122
+ type="checkbox"
123
+ value=""
124
+ />
125
+ </div>
126
+ </DocumentFragment>
127
+ `;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Checkbox = require("./Checkbox");
8
+
9
+ Object.keys(_Checkbox).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Checkbox[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Checkbox[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Checkbox/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Checkbox';\n"],"file":"index.js"}
@@ -21,7 +21,9 @@ var ICONS = {
21
21
  Minus: _fi.FiMinus,
22
22
  // Eye
23
23
  EyeOpen: _fi.FiEye,
24
- EyeClose: _fi.FiEyeOff
24
+ EyeClose: _fi.FiEyeOff,
25
+ // Check
26
+ Check: _fi.FiCheck
25
27
  };
26
28
  exports.ICONS = ICONS;
27
29
  //# sourceMappingURL=Icon.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/Icon/Icon.constants.js"],"names":["ICONS","Left","Right","Up","Down","Close","CloseArrow","Plus","Minus","EyeOpen","EyeClose"],"mappings":";;;;;;;AAAA;;AAaA,IAAMA,KAAK,GAAG;AACZ;AACAC,EAAAA,IAAI,EAAJA,eAFY;AAGZC,EAAAA,KAAK,EAALA,gBAHY;AAIZC,EAAAA,EAAE,EAAFA,aAJY;AAKZC,EAAAA,IAAI,EAAJA,eALY;AAMZ;AACAC,EAAAA,KAAK,EAALA,OAPY;AAQZC,EAAAA,UAAU,EAAVA,iBARY;AASZ;AACAC,EAAAA,IAAI,EAAJA,UAVY;AAWZC,EAAAA,KAAK,EAALA,WAXY;AAYZ;AACAC,EAAAA,OAAO,EAAPA,SAbY;AAcZC,EAAAA,QAAQ,EAARA;AAdY,CAAd","sourcesContent":["import {\n FiArrowUp as Up,\n FiArrowDown as Down,\n FiArrowLeft as Left,\n FiArrowRight as Right,\n FiChevronDown as CloseArrow,\n FiX as Close,\n FiEye as EyeOpen,\n FiEyeOff as EyeClose,\n FiPlus as Plus,\n FiMinus as Minus,\n} from 'react-icons/fi';\n\nconst ICONS = {\n // directions\n Left,\n Right,\n Up,\n Down,\n // Close\n Close,\n CloseArrow,\n // Calc\n Plus,\n Minus,\n // Eye\n EyeOpen,\n EyeClose,\n};\n\nexport { ICONS };\n"],"file":"Icon.constants.js"}
1
+ {"version":3,"sources":["../../../src/primitives/Icon/Icon.constants.js"],"names":["ICONS","Left","Right","Up","Down","Close","CloseArrow","Plus","Minus","EyeOpen","EyeClose","Check"],"mappings":";;;;;;;AAAA;;AAcA,IAAMA,KAAK,GAAG;AACZ;AACAC,EAAAA,IAAI,EAAJA,eAFY;AAGZC,EAAAA,KAAK,EAALA,gBAHY;AAIZC,EAAAA,EAAE,EAAFA,aAJY;AAKZC,EAAAA,IAAI,EAAJA,eALY;AAMZ;AACAC,EAAAA,KAAK,EAALA,OAPY;AAQZC,EAAAA,UAAU,EAAVA,iBARY;AASZ;AACAC,EAAAA,IAAI,EAAJA,UAVY;AAWZC,EAAAA,KAAK,EAALA,WAXY;AAYZ;AACAC,EAAAA,OAAO,EAAPA,SAbY;AAcZC,EAAAA,QAAQ,EAARA,YAdY;AAeZ;AACAC,EAAAA,KAAK,EAALA;AAhBY,CAAd","sourcesContent":["import {\n FiArrowUp as Up,\n FiArrowDown as Down,\n FiArrowLeft as Left,\n FiArrowRight as Right,\n FiChevronDown as CloseArrow,\n FiX as Close,\n FiEye as EyeOpen,\n FiEyeOff as EyeClose,\n FiPlus as Plus,\n FiMinus as Minus,\n FiCheck as Check,\n} from 'react-icons/fi';\n\nconst ICONS = {\n // directions\n Left,\n Right,\n Up,\n Down,\n // Close\n Close,\n CloseArrow,\n // Calc\n Plus,\n Minus,\n // Eye\n EyeOpen,\n EyeClose,\n // Check\n Check,\n};\n\nexport { ICONS };\n"],"file":"Icon.constants.js"}
@@ -9,6 +9,10 @@
9
9
  margin: 0;
10
10
  outline: none;
11
11
  user-select: none;
12
+
13
+ appearance: none;
14
+ -webkit-appearance: none;
15
+ -moz-appearance: none;
12
16
  }
13
17
 
14
18
  .input:disabled {
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.Layer = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _helpers = require("../../helpers");
21
+
22
+ var _hooks = require("../../hooks");
23
+
24
+ var _helpers2 = require("./helpers");
25
+
26
+ var _LayerModule = _interopRequireDefault(require("./Layer.module.css"));
27
+
28
+ var _LayerContent = require("./LayerContent");
29
+
30
+ var _excluded = ["visible"];
31
+
32
+ var Layer = function Layer(_ref) {
33
+ var visible = _ref.visible,
34
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
+ var device = (0, _hooks.useDevice)();
36
+ var componentRef = (0, _react.useRef)(null);
37
+ var contentRef = (0, _react.useRef)(null);
38
+
39
+ var _useState = (0, _react.useState)({}),
40
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
+ position = _useState2[0],
42
+ setPosition = _useState2[1];
43
+
44
+ (0, _react.useEffect)(function () {
45
+ if (visible) {
46
+ var _componentRef$current = componentRef.current;
47
+ _componentRef$current = _componentRef$current === void 0 ? {} : _componentRef$current;
48
+ var componentEl = _componentRef$current.firstChild;
49
+ var _contentRef$current = contentRef.current;
50
+ _contentRef$current = _contentRef$current === void 0 ? {} : _contentRef$current;
51
+ var contentEl = _contentRef$current.firstChild;
52
+ if (!componentEl || !contentEl) return;
53
+
54
+ var _getLayerPosition = (0, _helpers2.getLayerPosition)((0, _helpers2.getElementLayout)(componentEl), (0, _helpers2.getElementLayout)(contentEl), device),
55
+ _getLayerPosition$lef = _getLayerPosition.left,
56
+ left = _getLayerPosition$lef === void 0 ? 0 : _getLayerPosition$lef,
57
+ _getLayerPosition$top = _getLayerPosition.top,
58
+ top = _getLayerPosition$top === void 0 ? 0 : _getLayerPosition$top;
59
+
60
+ setPosition({
61
+ left: "".concat(left, "px"),
62
+ top: "".concat(top, "px")
63
+ });
64
+ }
65
+ }, [device, visible]);
66
+
67
+ var children = _react.default.Children.map(others.children || [], function (child) {
68
+ return child;
69
+ });
70
+
71
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
72
+ ref: componentRef
73
+ }, children.find(function (_ref2) {
74
+ var name = _ref2.type.name;
75
+ return name !== _LayerContent.LayerContent.name;
76
+ })), visible && /*#__PURE__*/_react.default.createElement("div", {
77
+ className: (0, _helpers.styles)(_LayerModule.default.layerContent, others.className),
78
+ style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others.style), position)
79
+ }, /*#__PURE__*/_react.default.createElement("div", {
80
+ ref: contentRef
81
+ }, children.find(function (_ref3) {
82
+ var name = _ref3.type.name;
83
+ return name === _LayerContent.LayerContent.name;
84
+ }))));
85
+ };
86
+
87
+ exports.Layer = Layer;
88
+ Layer.displayName = 'Primitive:Layer';
89
+ //# sourceMappingURL=Layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Layer/Layer.jsx"],"names":["Layer","visible","others","device","componentRef","contentRef","position","setPosition","current","componentEl","firstChild","contentEl","left","top","children","React","Children","map","child","find","name","type","LayerContent","style","layerContent","className","displayName"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAA4B;AAAA,MAAzBC,OAAyB,QAAzBA,OAAyB;AAAA,MAAbC,MAAa;AACxC,MAAMC,MAAM,GAAG,uBAAf;AACA,MAAMC,YAAY,GAAG,mBAAO,IAAP,CAArB;AACA,MAAMC,UAAU,GAAG,mBAAO,IAAP,CAAnB;;AAEA,kBAAgC,qBAAS,EAAT,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AAEA,wBAAU,YAAM;AACd,QAAIN,OAAJ,EAAa;AACX,kCAAsDG,YAAtD,CAAQI,OAAR;AAAA,iEAA+C,EAA/C;AAAA,UAA+BC,WAA/B,yBAAmBC,UAAnB;AACA,gCAAoDL,UAApD,CAAQG,OAAR;AAAA,6DAA6C,EAA7C;AAAA,UAA+BG,SAA/B,uBAAmBD,UAAnB;AAEA,UAAI,CAACD,WAAD,IAAgB,CAACE,SAArB,EAAgC;;AAEhC,8BAA8B,gCAC5B,gCAAiBF,WAAjB,CAD4B,EAE5B,gCAAiBE,SAAjB,CAF4B,EAG5BR,MAH4B,CAA9B;AAAA,oDAAQS,IAAR;AAAA,UAAQA,IAAR,sCAAe,CAAf;AAAA,oDAAkBC,GAAlB;AAAA,UAAkBA,GAAlB,sCAAwB,CAAxB;;AAKAN,MAAAA,WAAW,CAAC;AAAEK,QAAAA,IAAI,YAAKA,IAAL,OAAN;AAAqBC,QAAAA,GAAG,YAAKA,GAAL;AAAxB,OAAD,CAAX;AACD;AACF,GAdD,EAcG,CAACV,MAAD,EAASF,OAAT,CAdH;;AAgBA,MAAMa,QAAQ,GAAGC,eAAMC,QAAN,CAAeC,GAAf,CAAmBf,MAAM,CAACY,QAAP,IAAmB,EAAtC,EAA0C,UAACI,KAAD;AAAA,WAAWA,KAAX;AAAA,GAA1C,CAAjB;;AAEA,sBACE,yEACG;AAAK,IAAA,GAAG,EAAEd;AAAV,KAAyBU,QAAQ,CAACK,IAAT,CAAc;AAAA,QAAWC,IAAX,SAAGC,IAAH,CAAWD,IAAX;AAAA,WAAwBA,IAAI,KAAKE,2BAAaF,IAA9C;AAAA,GAAd,CAAzB,CADH,EAEGnB,OAAO,iBACN;AAAK,IAAA,SAAS,EAAE,qBAAOsB,qBAAMC,YAAb,EAA2BtB,MAAM,CAACuB,SAAlC,CAAhB;AAA8D,IAAA,KAAK,8DAAOvB,MAAM,CAACqB,KAAd,GAAwBjB,QAAxB;AAAnE,kBACG;AAAK,IAAA,GAAG,EAAED;AAAV,KAAuBS,QAAQ,CAACK,IAAT,CAAc;AAAA,QAAWC,IAAX,SAAGC,IAAH,CAAWD,IAAX;AAAA,WAAwBA,IAAI,KAAKE,2BAAaF,IAA9C;AAAA,GAAd,CAAvB,CADH,CAHJ,CADF;AAUD,CAnCD;;;AAqCApB,KAAK,CAAC0B,WAAN,GAAoB,iBAApB","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { getElementLayout, getLayerPosition } from './helpers';\nimport style from './Layer.module.css';\nimport { LayerContent } from './LayerContent';\n\nconst Layer = ({ visible, ...others }) => {\n const device = useDevice();\n const componentRef = useRef(null);\n const contentRef = useRef(null);\n\n const [position, setPosition] = useState({});\n\n useEffect(() => {\n if (visible) {\n const { current: { firstChild: componentEl } = {} } = componentRef;\n const { current: { firstChild: contentEl } = {} } = contentRef;\n\n if (!componentEl || !contentEl) return;\n\n const { left = 0, top = 0 } = getLayerPosition(\n getElementLayout(componentEl),\n getElementLayout(contentEl),\n device,\n );\n setPosition({ left: `${left}px`, top: `${top}px` });\n }\n }, [device, visible]);\n\n const children = React.Children.map(others.children || [], (child) => child);\n\n return (\n <>\n {<div ref={componentRef}>{children.find(({ type: { name } }) => name !== LayerContent.name)}</div>}\n {visible && (\n <div className={styles(style.layerContent, others.className)} style={{ ...others.style, ...position }}>\n {<div ref={contentRef}>{children.find(({ type: { name } }) => name === LayerContent.name)}</div>}\n </div>\n )}\n </>\n );\n};\n\nLayer.displayName = 'Primitive:Layer';\n\nLayer.propTypes = {\n children: PropTypes.node,\n visible: PropTypes.bool,\n};\n\nexport { Layer };\n"],"file":"Layer.js"}
@@ -0,0 +1,10 @@
1
+ :root {
2
+ --mirai-ui-layer-content: var(--mirai-ui-layer-XL);
3
+ }
4
+
5
+ .layerContent {
6
+ position: fixed;
7
+ transition: left var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing),
8
+ top var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
9
+ z-index: var(--mirai-ui-layer-content);
10
+ }
@@ -0,0 +1,22 @@
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.LayerContent = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var LayerContent = function LayerContent(_ref) {
13
+ var children = _ref.children;
14
+ return children;
15
+ };
16
+
17
+ exports.LayerContent = LayerContent;
18
+ LayerContent.displayName = 'Primitive:LayerContent';
19
+ LayerContent.propTypes = {
20
+ children: _propTypes.default.node
21
+ };
22
+ //# sourceMappingURL=LayerContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Layer/LayerContent.jsx"],"names":["LayerContent","children","displayName","propTypes","PropTypes","node"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,SAAkBA,QAAlB;AAAA,CAArB;;;AAEAD,YAAY,CAACE,WAAb,GAA2B,wBAA3B;AAEAF,YAAY,CAACG,SAAb,GAAyB;AACvBF,EAAAA,QAAQ,EAAEG,mBAAUC;AADG,CAAzB","sourcesContent":["import PropTypes from 'prop-types';\n\nconst LayerContent = ({ children }) => children;\n\nLayerContent.displayName = 'Primitive:LayerContent';\n\nLayerContent.propTypes = {\n children: PropTypes.node,\n};\n\nexport { LayerContent };\n"],"file":"LayerContent.js"}
@@ -0,0 +1,55 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`primitive:<Layer> renders 1`] = `
4
+ <DocumentFragment>
5
+ <div />
6
+ </DocumentFragment>
7
+ `;
8
+
9
+ exports[`primitive:<Layer> w/ component & <LayerContent> 1`] = `
10
+ <DocumentFragment>
11
+ <div>
12
+ <button
13
+ class="pressable button"
14
+ >
15
+ Action
16
+ </button>
17
+ </div>
18
+ </DocumentFragment>
19
+ `;
20
+
21
+ exports[`primitive:<Layer> w/ component 1`] = `
22
+ <DocumentFragment>
23
+ <div>
24
+ <button
25
+ class="pressable button"
26
+ >
27
+ Action
28
+ </button>
29
+ </div>
30
+ </DocumentFragment>
31
+ `;
32
+
33
+ exports[`primitive:<Layer> w/ visible 1`] = `
34
+ <DocumentFragment>
35
+ <div>
36
+ <button
37
+ class="pressable button"
38
+ >
39
+ Action
40
+ </button>
41
+ </div>
42
+ <div
43
+ class="layerContent"
44
+ style="left: 0px; top: 0px;"
45
+ >
46
+ <div>
47
+ <span
48
+ class="text paragraph"
49
+ >
50
+ Mirai
51
+ </span>
52
+ </div>
53
+ </div>
54
+ </DocumentFragment>
55
+ `;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getElementLayout = void 0;
7
+
8
+ var getElementLayout = function getElementLayout() {
9
+ var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10
+ var left = element.offsetLeft,
11
+ top = element.offsetTop,
12
+ height = element.offsetHeight,
13
+ width = element.offsetWidth;
14
+ return {
15
+ left: left,
16
+ top: top,
17
+ height: height,
18
+ width: width
19
+ };
20
+ };
21
+
22
+ exports.getElementLayout = getElementLayout;
23
+ //# sourceMappingURL=getElementLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/primitives/Layer/helpers/getElementLayout.js"],"names":["getElementLayout","element","left","offsetLeft","top","offsetTop","height","offsetHeight","width","offsetWidth"],"mappings":";;;;;;;AAAO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAkB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AAChD,MAAoBC,IAApB,GAAuFD,OAAvF,CAAQE,UAAR;AAAA,MAAqCC,GAArC,GAAuFH,OAAvF,CAA0BI,SAA1B;AAAA,MAAwDC,MAAxD,GAAuFL,OAAvF,CAA0CM,YAA1C;AAAA,MAA6EC,KAA7E,GAAuFP,OAAvF,CAAgEQ,WAAhE;AAEA,SAAO;AAAEP,IAAAA,IAAI,EAAJA,IAAF;AAAQE,IAAAA,GAAG,EAAHA,GAAR;AAAaE,IAAAA,MAAM,EAANA,MAAb;AAAqBE,IAAAA,KAAK,EAALA;AAArB,GAAP;AACD,CAJM","sourcesContent":["export const getElementLayout = (element = {}) => {\n const { offsetLeft: left, offsetTop: top, offsetHeight: height, offsetWidth: width } = element;\n\n return { left, top, height, width };\n};\n"],"file":"getElementLayout.js"}