@mirai/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +349 -0
  2. package/build/components/Button/Button.js +44 -0
  3. package/build/components/Button/Button.js.map +1 -0
  4. package/build/components/Button/Button.module.css +79 -0
  5. package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +113 -0
  6. package/build/components/Button/index.js +19 -0
  7. package/build/components/Button/index.js.map +1 -0
  8. package/build/components/Calendar/Calendar.Month.js +101 -0
  9. package/build/components/Calendar/Calendar.Month.js.map +1 -0
  10. package/build/components/Calendar/Calendar.Week.js +144 -0
  11. package/build/components/Calendar/Calendar.Week.js.map +1 -0
  12. package/build/components/Calendar/Calendar.constants.js +11 -0
  13. package/build/components/Calendar/Calendar.constants.js.map +1 -0
  14. package/build/components/Calendar/Calendar.js +146 -0
  15. package/build/components/Calendar/Calendar.js.map +1 -0
  16. package/build/components/Calendar/Calendar.module.css +96 -0
  17. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +17853 -0
  18. package/build/components/Calendar/helpers/getFirstDateOfMonth.js +16 -0
  19. package/build/components/Calendar/helpers/getFirstDateOfMonth.js.map +1 -0
  20. package/build/components/Calendar/helpers/getFirstDateOfWeek.js +20 -0
  21. package/build/components/Calendar/helpers/getFirstDateOfWeek.js.map +1 -0
  22. package/build/components/Calendar/helpers/getHeader.js +23 -0
  23. package/build/components/Calendar/helpers/getHeader.js.map +1 -0
  24. package/build/components/Calendar/helpers/getToday.js +15 -0
  25. package/build/components/Calendar/helpers/getToday.js.map +1 -0
  26. package/build/components/Calendar/helpers/getWeekNumber.js +17 -0
  27. package/build/components/Calendar/helpers/getWeekNumber.js.map +1 -0
  28. package/build/components/Calendar/helpers/getWeekdays.js +27 -0
  29. package/build/components/Calendar/helpers/getWeekdays.js.map +1 -0
  30. package/build/components/Calendar/helpers/index.js +97 -0
  31. package/build/components/Calendar/helpers/index.js.map +1 -0
  32. package/build/components/Calendar/helpers/isJest.js +9 -0
  33. package/build/components/Calendar/helpers/isJest.js.map +1 -0
  34. package/build/components/Calendar/index.js +19 -0
  35. package/build/components/Calendar/index.js.map +1 -0
  36. package/build/components/Form/Form.js +184 -0
  37. package/build/components/Form/Form.js.map +1 -0
  38. package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +47 -0
  39. package/build/components/Form/helpers/getChildrenErrors.js +47 -0
  40. package/build/components/Form/helpers/getChildrenErrors.js.map +1 -0
  41. package/build/components/Form/helpers/getChildrenValues.js +46 -0
  42. package/build/components/Form/helpers/getChildrenValues.js.map +1 -0
  43. package/build/components/Form/helpers/getField.js +17 -0
  44. package/build/components/Form/helpers/getField.js.map +1 -0
  45. package/build/components/Form/helpers/groupState.js +29 -0
  46. package/build/components/Form/helpers/groupState.js.map +1 -0
  47. package/build/components/Form/helpers/index.js +58 -0
  48. package/build/components/Form/helpers/index.js.map +1 -0
  49. package/build/components/Form/index.js +19 -0
  50. package/build/components/Form/index.js.map +1 -0
  51. package/build/components/InputNumber/InputNumber.js +71 -0
  52. package/build/components/InputNumber/InputNumber.js.map +1 -0
  53. package/build/components/InputNumber/InputNumber.module.css +13 -0
  54. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +616 -0
  55. package/build/components/InputNumber/index.js +19 -0
  56. package/build/components/InputNumber/index.js.map +1 -0
  57. package/build/components/InputText/InputText.js +100 -0
  58. package/build/components/InputText/InputText.js.map +1 -0
  59. package/build/components/InputText/InputText.module.css +68 -0
  60. package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +212 -0
  61. package/build/components/InputText/index.js +19 -0
  62. package/build/components/InputText/index.js.map +1 -0
  63. package/build/components/Modal/Modal.js +50 -0
  64. package/build/components/Modal/Modal.js.map +1 -0
  65. package/build/components/Modal/Modal.module.css +70 -0
  66. package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +150 -0
  67. package/build/components/Modal/index.js +19 -0
  68. package/build/components/Modal/index.js.map +1 -0
  69. package/build/components/index.js +84 -0
  70. package/build/components/index.js.map +1 -0
  71. package/build/helpers/getInputErrors.js +45 -0
  72. package/build/helpers/getInputErrors.js.map +1 -0
  73. package/build/helpers/index.js +32 -0
  74. package/build/helpers/index.js.map +1 -0
  75. package/build/helpers/isValidDate.js +58 -0
  76. package/build/helpers/isValidDate.js.map +1 -0
  77. package/build/helpers/isValidEmail.js +15 -0
  78. package/build/helpers/isValidEmail.js.map +1 -0
  79. package/build/helpers/isValidPhone.js +25 -0
  80. package/build/helpers/isValidPhone.js.map +1 -0
  81. package/build/helpers/styles.js +21 -0
  82. package/build/helpers/styles.js.map +1 -0
  83. package/build/hooks/helpers/getNavigator.js +33 -0
  84. package/build/hooks/helpers/getNavigator.js.map +1 -0
  85. package/build/hooks/helpers/getResolution.js +22 -0
  86. package/build/hooks/helpers/getResolution.js.map +1 -0
  87. package/build/hooks/helpers/index.js +32 -0
  88. package/build/hooks/helpers/index.js.map +1 -0
  89. package/build/hooks/index.js +19 -0
  90. package/build/hooks/index.js.map +1 -0
  91. package/build/hooks/useDevice.js +48 -0
  92. package/build/hooks/useDevice.js.map +1 -0
  93. package/build/index.js +71 -0
  94. package/build/index.js.map +1 -0
  95. package/build/primitives/Icon/Icon.constants.js +27 -0
  96. package/build/primitives/Icon/Icon.constants.js.map +1 -0
  97. package/build/primitives/Icon/Icon.js +34 -0
  98. package/build/primitives/Icon/Icon.js.map +1 -0
  99. package/build/primitives/Icon/Icon.module.css +11 -0
  100. package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +133 -0
  101. package/build/primitives/Icon/index.js +31 -0
  102. package/build/primitives/Icon/index.js.map +1 -0
  103. package/build/primitives/Input/Input.js +66 -0
  104. package/build/primitives/Input/Input.js.map +1 -0
  105. package/build/primitives/Input/Input.module.css +25 -0
  106. package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +74 -0
  107. package/build/primitives/Input/helpers/index.js +19 -0
  108. package/build/primitives/Input/helpers/index.js.map +1 -0
  109. package/build/primitives/Input/helpers/parseValue.js +17 -0
  110. package/build/primitives/Input/helpers/parseValue.js.map +1 -0
  111. package/build/primitives/Input/index.js +19 -0
  112. package/build/primitives/Input/index.js.map +1 -0
  113. package/build/primitives/Pressable/Pressable.constants.js +9 -0
  114. package/build/primitives/Pressable/Pressable.constants.js.map +1 -0
  115. package/build/primitives/Pressable/Pressable.js +50 -0
  116. package/build/primitives/Pressable/Pressable.js.map +1 -0
  117. package/build/primitives/Pressable/Pressable.module.css +18 -0
  118. package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +53 -0
  119. package/build/primitives/Pressable/index.js +19 -0
  120. package/build/primitives/Pressable/index.js.map +1 -0
  121. package/build/primitives/ScrollView/ScrollView.js +89 -0
  122. package/build/primitives/ScrollView/ScrollView.js.map +1 -0
  123. package/build/primitives/ScrollView/ScrollView.module.css +35 -0
  124. package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +535 -0
  125. package/build/primitives/ScrollView/index.js +19 -0
  126. package/build/primitives/ScrollView/index.js.map +1 -0
  127. package/build/primitives/Text/Text.js +40 -0
  128. package/build/primitives/Text/Text.js.map +1 -0
  129. package/build/primitives/Text/Text.module.css +36 -0
  130. package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +102 -0
  131. package/build/primitives/Text/index.js +19 -0
  132. package/build/primitives/Text/index.js.map +1 -0
  133. package/build/primitives/View/View.js +36 -0
  134. package/build/primitives/View/View.js.map +1 -0
  135. package/build/primitives/View/View.module.css +16 -0
  136. package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +62 -0
  137. package/build/primitives/View/index.js +19 -0
  138. package/build/primitives/View/index.js.map +1 -0
  139. package/build/primitives/index.js +84 -0
  140. package/build/primitives/index.js.map +1 -0
  141. package/build/theme/default.theme.css +37 -0
  142. package/build/theme/helpers/camelcase.js +16 -0
  143. package/build/theme/helpers/camelcase.js.map +1 -0
  144. package/build/theme/helpers/index.js +19 -0
  145. package/build/theme/helpers/index.js.map +1 -0
  146. package/build/theme/index.js +19 -0
  147. package/build/theme/index.js.map +1 -0
  148. package/build/theme/theme.js +43 -0
  149. package/build/theme/theme.js.map +1 -0
  150. package/package.json +51 -0
@@ -0,0 +1,34 @@
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.Icon = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _helpers = require("../../helpers");
17
+
18
+ var _Icon = require("./Icon.constants");
19
+
20
+ var _IconModule = _interopRequireDefault(require("./Icon.module.css"));
21
+
22
+ var _excluded = ["name"];
23
+
24
+ var Icon = function Icon(_ref) {
25
+ var name = _ref.name,
26
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
27
+ return /*#__PURE__*/_react.default.createElement('span', (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
28
+ className: (0, _helpers.styles)(_IconModule.default.icon, others.className)
29
+ }), _Icon.ICONS[name] ? /*#__PURE__*/_react.default.createElement(_Icon.ICONS[name]) : undefined);
30
+ };
31
+
32
+ exports.Icon = Icon;
33
+ Icon.displayName = 'Primitive:Icon';
34
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Icon/Icon.jsx"],"names":["Icon","name","others","React","createElement","className","style","icon","ICONS","undefined","displayName"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,MAAGC,IAAH,QAAGA,IAAH;AAAA,MAAYC,MAAZ;AAAA,sBACXC,eAAMC,aAAN,CACE,MADF,8DAGOF,MAHP;AAIIG,IAAAA,SAAS,EAAE,qBAAOC,oBAAMC,IAAb,EAAmBL,MAAM,CAACG,SAA1B;AAJf,MAMEG,YAAMP,IAAN,iBAAcE,eAAMC,aAAN,CAAoBI,YAAMP,IAAN,CAApB,CAAd,GAAiDQ,SANnD,CADW;AAAA,CAAb;;;AAUAT,IAAI,CAACU,WAAL,GAAmB,gBAAnB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { ICONS } from './Icon.constants';\nimport style from './Icon.module.css';\n\nconst Icon = ({ name, ...others }) =>\n React.createElement(\n 'span',\n {\n ...others,\n className: styles(style.icon, others.className),\n },\n ICONS[name] ? React.createElement(ICONS[name]) : undefined,\n );\n\nIcon.displayName = 'Primitive:Icon';\n\nIcon.propTypes = {\n name: PropTypes.oneOf(Object.keys(ICONS)).isRequired,\n};\n\nexport { Icon };\n"],"file":"Icon.js"}
@@ -0,0 +1,11 @@
1
+ :root {
2
+ --mirai-ui-icon: var(--mirai-ui-font-size-paragraph);
3
+ }
4
+
5
+ .icon {
6
+ display: block;
7
+ line-height: var(--mirai-ui-icon);
8
+ height: var(--mirai-ui-icon);
9
+ width: var(--mirai-ui-icon);
10
+ font-size: var(--mirai-ui-icon);
11
+ }
@@ -0,0 +1,133 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`primitive:<Icon> inherit:className 1`] = `
4
+ <DocumentFragment>
5
+ <span
6
+ class="icon mirai"
7
+ >
8
+ <svg
9
+ fill="none"
10
+ height="1em"
11
+ stroke="currentColor"
12
+ stroke-linecap="round"
13
+ stroke-linejoin="round"
14
+ stroke-width="2"
15
+ viewBox="0 0 24 24"
16
+ width="1em"
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ >
19
+ <line
20
+ x1="19"
21
+ x2="5"
22
+ y1="12"
23
+ y2="12"
24
+ />
25
+ <polyline
26
+ points="12 19 5 12 12 5"
27
+ />
28
+ </svg>
29
+ </span>
30
+ </DocumentFragment>
31
+ `;
32
+
33
+ exports[`primitive:<Icon> prop:name (invalid) 1`] = `
34
+ <DocumentFragment>
35
+ <span
36
+ class="icon"
37
+ />
38
+ </DocumentFragment>
39
+ `;
40
+
41
+ exports[`primitive:<Icon> prop:name 1`] = `
42
+ <DocumentFragment>
43
+ <span
44
+ class="icon"
45
+ >
46
+ <svg
47
+ fill="none"
48
+ height="1em"
49
+ stroke="currentColor"
50
+ stroke-linecap="round"
51
+ stroke-linejoin="round"
52
+ stroke-width="2"
53
+ viewBox="0 0 24 24"
54
+ width="1em"
55
+ xmlns="http://www.w3.org/2000/svg"
56
+ >
57
+ <line
58
+ x1="18"
59
+ x2="6"
60
+ y1="6"
61
+ y2="18"
62
+ />
63
+ <line
64
+ x1="6"
65
+ x2="18"
66
+ y1="6"
67
+ y2="18"
68
+ />
69
+ </svg>
70
+ </span>
71
+ </DocumentFragment>
72
+ `;
73
+
74
+ exports[`primitive:<Icon> renders 1`] = `
75
+ <DocumentFragment>
76
+ <span
77
+ class="icon"
78
+ >
79
+ <svg
80
+ fill="none"
81
+ height="1em"
82
+ stroke="currentColor"
83
+ stroke-linecap="round"
84
+ stroke-linejoin="round"
85
+ stroke-width="2"
86
+ viewBox="0 0 24 24"
87
+ width="1em"
88
+ xmlns="http://www.w3.org/2000/svg"
89
+ >
90
+ <line
91
+ x1="19"
92
+ x2="5"
93
+ y1="12"
94
+ y2="12"
95
+ />
96
+ <polyline
97
+ points="12 19 5 12 12 5"
98
+ />
99
+ </svg>
100
+ </span>
101
+ </DocumentFragment>
102
+ `;
103
+
104
+ exports[`primitive:<Icon> testID 1`] = `
105
+ <DocumentFragment>
106
+ <span
107
+ class="icon"
108
+ data-testid="mirai"
109
+ >
110
+ <svg
111
+ fill="none"
112
+ height="1em"
113
+ stroke="currentColor"
114
+ stroke-linecap="round"
115
+ stroke-linejoin="round"
116
+ stroke-width="2"
117
+ viewBox="0 0 24 24"
118
+ width="1em"
119
+ xmlns="http://www.w3.org/2000/svg"
120
+ >
121
+ <line
122
+ x1="19"
123
+ x2="5"
124
+ y1="12"
125
+ y2="12"
126
+ />
127
+ <polyline
128
+ points="12 19 5 12 12 5"
129
+ />
130
+ </svg>
131
+ </span>
132
+ </DocumentFragment>
133
+ `;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ ICONS: true
8
+ };
9
+ Object.defineProperty(exports, "ICONS", {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return _Icon2.ICONS;
13
+ }
14
+ });
15
+
16
+ var _Icon = require("./Icon");
17
+
18
+ Object.keys(_Icon).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
+ if (key in exports && exports[key] === _Icon[key]) return;
22
+ Object.defineProperty(exports, key, {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _Icon[key];
26
+ }
27
+ });
28
+ });
29
+
30
+ var _Icon2 = require("./Icon.constants");
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Icon/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA","sourcesContent":["export * from './Icon';\nexport { ICONS } from './Icon.constants';\n"],"file":"index.js"}
@@ -0,0 +1,66 @@
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.Input = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _helpers = require("../../helpers");
17
+
18
+ var _helpers2 = require("./helpers");
19
+
20
+ var _InputModule = _interopRequireDefault(require("./Input.module.css"));
21
+
22
+ var _excluded = ["disabled", "multiLine", "type", "onChange", "onEnter", "onError", "onLeave"];
23
+
24
+ var Input = function Input(_ref) {
25
+ var disabled = _ref.disabled,
26
+ multiLine = _ref.multiLine,
27
+ _ref$type = _ref.type,
28
+ type = _ref$type === void 0 ? 'text' : _ref$type,
29
+ onChange = _ref.onChange,
30
+ onEnter = _ref.onEnter,
31
+ onError = _ref.onError,
32
+ onLeave = _ref.onLeave,
33
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
+ var errors = (0, _helpers.getInputErrors)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
35
+ type: type
36
+ }));
37
+ if (errors && onError) onError(errors);
38
+
39
+ var handleChange = function handleChange() {
40
+ var next = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
41
+ var event = arguments.length > 1 ? arguments[1] : undefined;
42
+ if (type === 'number' && isNaN(next)) return;
43
+ var value = (0, _helpers2.parseValue)(next, type, others);
44
+ onError && onError((0, _helpers.getInputErrors)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
45
+ type: type,
46
+ value: value
47
+ })));
48
+ onChange && onChange(value || '', event);
49
+ };
50
+
51
+ return /*#__PURE__*/_react.default.createElement(multiLine ? 'textarea' : 'input', (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
52
+ disabled: disabled,
53
+ className: (0, _helpers.styles)(_InputModule.default.input, others.className),
54
+ type: type
55
+ }, !disabled ? {
56
+ onChange: function onChange(event) {
57
+ return handleChange(event.target.value, event);
58
+ },
59
+ onFocus: onEnter,
60
+ onBlur: onLeave
61
+ } : {}));
62
+ };
63
+
64
+ exports.Input = Input;
65
+ Input.displayName = 'Primitive:Input';
66
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Input/Input.jsx"],"names":["Input","disabled","multiLine","type","onChange","onEnter","onError","onLeave","others","errors","handleChange","next","event","isNaN","value","React","createElement","className","style","input","target","onFocus","onBlur","displayName"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAA4F;AAAA,MAAzFC,QAAyF,QAAzFA,QAAyF;AAAA,MAA/EC,SAA+E,QAA/EA,SAA+E;AAAA,uBAApEC,IAAoE;AAAA,MAApEA,IAAoE,0BAA7D,MAA6D;AAAA,MAArDC,QAAqD,QAArDA,QAAqD;AAAA,MAA3CC,OAA2C,QAA3CA,OAA2C;AAAA,MAAlCC,OAAkC,QAAlCA,OAAkC;AAAA,MAAzBC,OAAyB,QAAzBA,OAAyB;AAAA,MAAbC,MAAa;AACxG,MAAMC,MAAM,GAAG,yFAAoBD,MAApB;AAA4BL,IAAAA,IAAI,EAAJA;AAA5B,KAAf;AACA,MAAIM,MAAM,IAAIH,OAAd,EAAuBA,OAAO,CAACG,MAAD,CAAP;;AAEvB,MAAMC,YAAY,GAAG,SAAfA,YAAe,GAAsB;AAAA,QAArBC,IAAqB,uEAAd,EAAc;AAAA,QAAVC,KAAU;AACzC,QAAIT,IAAI,KAAK,QAAT,IAAqBU,KAAK,CAACF,IAAD,CAA9B,EAAsC;AACtC,QAAMG,KAAK,GAAG,0BAAWH,IAAX,EAAiBR,IAAjB,EAAuBK,MAAvB,CAAd;AAEAF,IAAAA,OAAO,IAAIA,OAAO,CAAC,yFAAoBE,MAApB;AAA4BL,MAAAA,IAAI,EAAJA,IAA5B;AAAkCW,MAAAA,KAAK,EAALA;AAAlC,OAAD,CAAlB;AACAV,IAAAA,QAAQ,IAAIA,QAAQ,CAACU,KAAK,IAAI,EAAV,EAAcF,KAAd,CAApB;AACD,GAND;;AAQA,sBAAOG,eAAMC,aAAN,CAAoBd,SAAS,GAAG,UAAH,GAAgB,OAA7C,8DACFM,MADE;AAELP,IAAAA,QAAQ,EAARA,QAFK;AAGLgB,IAAAA,SAAS,EAAE,qBAAOC,qBAAMC,KAAb,EAAoBX,MAAM,CAACS,SAA3B,CAHN;AAILd,IAAAA,IAAI,EAAJA;AAJK,KAKD,CAACF,QAAD,GACA;AACEG,IAAAA,QAAQ,EAAE,kBAACQ,KAAD;AAAA,aAAWF,YAAY,CAACE,KAAK,CAACQ,MAAN,CAAaN,KAAd,EAAqBF,KAArB,CAAvB;AAAA,KADZ;AAEES,IAAAA,OAAO,EAAEhB,OAFX;AAGEiB,IAAAA,MAAM,EAAEf;AAHV,GADA,GAMA,EAXC,EAAP;AAaD,CAzBD;;;AA0BAP,KAAK,CAACuB,WAAN,GAAoB,iBAApB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { getInputErrors, styles } from '../../helpers';\nimport { parseValue } from './helpers';\nimport style from './Input.module.css';\n\nconst Input = ({ disabled, multiLine, type = 'text', onChange, onEnter, onError, onLeave, ...others }) => {\n const errors = getInputErrors({ ...others, type });\n if (errors && onError) onError(errors);\n\n const handleChange = (next = '', event) => {\n if (type === 'number' && isNaN(next)) return;\n const value = parseValue(next, type, others);\n\n onError && onError(getInputErrors({ ...others, type, value }));\n onChange && onChange(value || '', event);\n };\n\n return React.createElement(multiLine ? 'textarea' : 'input', {\n ...others,\n disabled,\n className: styles(style.input, others.className),\n type,\n ...(!disabled\n ? {\n onChange: (event) => handleChange(event.target.value, event),\n onFocus: onEnter,\n onBlur: onLeave,\n }\n : {}),\n });\n};\nInput.displayName = 'Primitive:Input';\n\nInput.propTypes = {\n disabled: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n type: PropTypes.string,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { Input };\n"],"file":"Input.js"}
@@ -0,0 +1,25 @@
1
+ :root {
2
+ --mirai-ui-input-font: var(--mirai-ui-font);
3
+ --mirai-ui-input-font-size: var(--mirai-ui-font-size-paragraph);
4
+ }
5
+
6
+ .input {
7
+ background-color: var(--mirai-ui-base);
8
+ border: none;
9
+ box-sizing: border-box;
10
+ color: var(--mirai-ui-content);
11
+ font-family: var(--mirai-ui-input-font);
12
+ font-size: var(--mirai-ui-input-font-size);
13
+ width: 100%;
14
+ margin: 0;
15
+ outline: none;
16
+ user-select: none;
17
+ }
18
+
19
+ .input:disabled {
20
+ color: var(--mirai-ui-lighten);
21
+ }
22
+
23
+ .input::placeholder {
24
+ color: var(--mirai-ui-lighten);
25
+ }
@@ -0,0 +1,74 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`primitive:<Input> inherit:className 1`] = `
4
+ <DocumentFragment>
5
+ <input
6
+ class="input mirai"
7
+ name="name"
8
+ type="text"
9
+ />
10
+ </DocumentFragment>
11
+ `;
12
+
13
+ exports[`primitive:<Input> prop:disabled 1`] = `
14
+ <DocumentFragment>
15
+ <input
16
+ class="input"
17
+ disabled=""
18
+ name="name"
19
+ type="text"
20
+ />
21
+ </DocumentFragment>
22
+ `;
23
+
24
+ exports[`primitive:<Input> prop:multiLine 1`] = `
25
+ <DocumentFragment>
26
+ <textarea
27
+ class="input"
28
+ name="name"
29
+ type="text"
30
+ />
31
+ </DocumentFragment>
32
+ `;
33
+
34
+ exports[`primitive:<Input> prop:type 1`] = `
35
+ <DocumentFragment>
36
+ <input
37
+ class="input"
38
+ name="name"
39
+ type="password"
40
+ />
41
+ </DocumentFragment>
42
+ `;
43
+
44
+ exports[`primitive:<Input> prop:value 1`] = `
45
+ <DocumentFragment>
46
+ <input
47
+ class="input"
48
+ name="name"
49
+ type="text"
50
+ value="value"
51
+ />
52
+ </DocumentFragment>
53
+ `;
54
+
55
+ exports[`primitive:<Input> renders 1`] = `
56
+ <DocumentFragment>
57
+ <input
58
+ class="input"
59
+ name="name"
60
+ type="text"
61
+ />
62
+ </DocumentFragment>
63
+ `;
64
+
65
+ exports[`primitive:<Input> testID 1`] = `
66
+ <DocumentFragment>
67
+ <input
68
+ class="input"
69
+ data-testid="mirai"
70
+ name="name"
71
+ type="text"
72
+ />
73
+ </DocumentFragment>
74
+ `;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _parseValue = require("./parseValue");
8
+
9
+ Object.keys(_parseValue).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _parseValue[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _parseValue[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/primitives/Input/helpers/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './parseValue';\n"],"file":"index.js"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseValue = void 0;
7
+
8
+ var parseValue = function parseValue(value, type) {
9
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
10
+ _ref$trimSpaces = _ref.trimSpaces,
11
+ trimSpaces = _ref$trimSpaces === void 0 ? false : _ref$trimSpaces;
12
+
13
+ return value && value.toString().trim().length > 0 ? type !== 'number' ? (trimSpaces ? value.trim() : value).toString() : !isNaN(value) ? parseFloat(value, 10) : undefined : undefined;
14
+ };
15
+
16
+ exports.parseValue = parseValue;
17
+ //# sourceMappingURL=parseValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/primitives/Input/helpers/parseValue.js"],"names":["parseValue","value","type","trimSpaces","toString","trim","length","isNaN","parseFloat","undefined"],"mappings":";;;;;;;AAAO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAQC,IAAR;AAAA,iFAAuC,EAAvC;AAAA,6BAAgBC,UAAhB;AAAA,MAAgBA,UAAhB,gCAA6B,KAA7B;;AAAA,SACxBF,KAAK,IAAIA,KAAK,CAACG,QAAN,GAAiBC,IAAjB,GAAwBC,MAAxB,GAAiC,CAA1C,GACIJ,IAAI,KAAK,QAAT,GACE,CAACC,UAAU,GAAGF,KAAK,CAACI,IAAN,EAAH,GAAkBJ,KAA7B,EAAoCG,QAApC,EADF,GAEE,CAACG,KAAK,CAACN,KAAD,CAAN,GACAO,UAAU,CAACP,KAAD,EAAQ,EAAR,CADV,GAEAQ,SALN,GAMIA,SAPoB;AAAA,CAAnB","sourcesContent":["export const parseValue = (value, type, { trimSpaces = false } = {}) =>\n value && value.toString().trim().length > 0\n ? type !== 'number'\n ? (trimSpaces ? value.trim() : value).toString()\n : !isNaN(value)\n ? parseFloat(value, 10)\n : undefined\n : undefined;\n"],"file":"parseValue.js"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Input = require("./Input");
8
+
9
+ Object.keys(_Input).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Input[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Input[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Input/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Input';\n"],"file":"index.js"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KEY_ENTER = void 0;
7
+ var KEY_ENTER = 13;
8
+ exports.KEY_ENTER = KEY_ENTER;
9
+ //# sourceMappingURL=Pressable.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Pressable/Pressable.constants.js"],"names":["KEY_ENTER"],"mappings":";;;;;;AAAA,IAAMA,SAAS,GAAG,EAAlB","sourcesContent":["const KEY_ENTER = 13;\n\nexport { KEY_ENTER };\n"],"file":"Pressable.constants.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.Pressable = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _helpers = require("../../helpers");
17
+
18
+ var _Pressable = require("./Pressable.constants");
19
+
20
+ var _PressableModule = _interopRequireDefault(require("./Pressable.module.css"));
21
+
22
+ var _excluded = ["children", "disabled", "tag", "onEnter", "onLeave", "onPress"];
23
+
24
+ var Pressable = function Pressable(_ref) {
25
+ var children = _ref.children,
26
+ disabled = _ref.disabled,
27
+ _ref$tag = _ref.tag,
28
+ tag = _ref$tag === void 0 ? 'button' : _ref$tag,
29
+ onEnter = _ref.onEnter,
30
+ onLeave = _ref.onLeave,
31
+ _ref$onPress = _ref.onPress,
32
+ onPress = _ref$onPress === void 0 ? function () {} : _ref$onPress,
33
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
+ return /*#__PURE__*/_react.default.createElement(tag, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
35
+ disabled: disabled,
36
+ className: (0, _helpers.styles)(_PressableModule.default.pressable, disabled && _PressableModule.default.disabled, others.className)
37
+ }, !disabled ? {
38
+ onClick: onPress,
39
+ onKeyPress: function onKeyPress(_ref2) {
40
+ var keyCode = _ref2.keyCode;
41
+ return keyCode === _Pressable.KEY_ENTER ? onPress() : undefined;
42
+ },
43
+ onMouseEnter: onEnter,
44
+ onMouseLeave: onLeave
45
+ } : {}), children);
46
+ };
47
+
48
+ exports.Pressable = Pressable;
49
+ Pressable.displayName = 'Primitive:Pressable';
50
+ //# sourceMappingURL=Pressable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Pressable/Pressable.jsx"],"names":["Pressable","children","disabled","tag","onEnter","onLeave","onPress","others","React","createElement","className","style","pressable","onClick","onKeyPress","keyCode","KEY_ENTER","undefined","onMouseEnter","onMouseLeave","displayName"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,QAAb,QAAaA,QAAb;AAAA,sBAAuBC,GAAvB;AAAA,MAAuBA,GAAvB,yBAA6B,QAA7B;AAAA,MAAuCC,OAAvC,QAAuCA,OAAvC;AAAA,MAAgDC,OAAhD,QAAgDA,OAAhD;AAAA,0BAAyDC,OAAzD;AAAA,MAAyDA,OAAzD,6BAAmE,YAAM,CAAE,CAA3E;AAAA,MAAgFC,MAAhF;AAAA,sBAChBC,eAAMC,aAAN,CACEN,GADF,8DAGOI,MAHP;AAIIL,IAAAA,QAAQ,EAARA,QAJJ;AAKIQ,IAAAA,SAAS,EAAE,qBAAOC,yBAAMC,SAAb,EAAwBV,QAAQ,IAAIS,yBAAMT,QAA1C,EAAoDK,MAAM,CAACG,SAA3D;AALf,KAMQ,CAACR,QAAD,GACA;AACEW,IAAAA,OAAO,EAAEP,OADX;AAEEQ,IAAAA,UAAU,EAAE;AAAA,UAAGC,OAAH,SAAGA,OAAH;AAAA,aAAkBA,OAAO,KAAKC,oBAAZ,GAAwBV,OAAO,EAA/B,GAAoCW,SAAtD;AAAA,KAFd;AAGEC,IAAAA,YAAY,EAAEd,OAHhB;AAIEe,IAAAA,YAAY,EAAEd;AAJhB,GADA,GAOA,EAbR,GAeEJ,QAfF,CADgB;AAAA,CAAlB;;;AAmBAD,SAAS,CAACoB,WAAV,GAAwB,qBAAxB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { KEY_ENTER } from './Pressable.constants';\nimport style from './Pressable.module.css';\n\nconst Pressable = ({ children, disabled, tag = 'button', onEnter, onLeave, onPress = () => {}, ...others }) =>\n React.createElement(\n tag,\n {\n ...others,\n disabled,\n className: styles(style.pressable, disabled && style.disabled, others.className),\n ...(!disabled\n ? {\n onClick: onPress,\n onKeyPress: ({ keyCode }) => (keyCode === KEY_ENTER ? onPress() : undefined),\n onMouseEnter: onEnter,\n onMouseLeave: onLeave,\n }\n : {}),\n },\n children,\n );\n\nPressable.displayName = 'Primitive:Pressable';\n\nPressable.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n tag: PropTypes.string,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Pressable };\n"],"file":"Pressable.js"}
@@ -0,0 +1,18 @@
1
+ .pressable {
2
+ appearance: none;
3
+ background-color: transparent;
4
+ border: none;
5
+ cursor: pointer;
6
+ display: inline-block;
7
+ height: fit-content;
8
+ margin: 0;
9
+ overflow: hidden;
10
+ padding: 0;
11
+ user-select: none;
12
+ width: fit-content;
13
+ }
14
+
15
+ .disabled {
16
+ cursor: unset;
17
+ outline: none;
18
+ }
@@ -0,0 +1,53 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`primitive:<Pressable> inherit:className 1`] = `
4
+ <DocumentFragment>
5
+ <button
6
+ class="pressable mirai"
7
+ >
8
+ children
9
+ </button>
10
+ </DocumentFragment>
11
+ `;
12
+
13
+ exports[`primitive:<Pressable> prop:disabled 1`] = `
14
+ <DocumentFragment>
15
+ <button
16
+ class="pressable disabled"
17
+ disabled=""
18
+ >
19
+ children
20
+ </button>
21
+ </DocumentFragment>
22
+ `;
23
+
24
+ exports[`primitive:<Pressable> prop:tag 1`] = `
25
+ <DocumentFragment>
26
+ <a
27
+ class="pressable"
28
+ >
29
+ children
30
+ </a>
31
+ </DocumentFragment>
32
+ `;
33
+
34
+ exports[`primitive:<Pressable> renders 1`] = `
35
+ <DocumentFragment>
36
+ <button
37
+ class="pressable"
38
+ >
39
+ children
40
+ </button>
41
+ </DocumentFragment>
42
+ `;
43
+
44
+ exports[`primitive:<Pressable> testID 1`] = `
45
+ <DocumentFragment>
46
+ <button
47
+ class="pressable"
48
+ data-testid="mirai"
49
+ >
50
+ children
51
+ </button>
52
+ </DocumentFragment>
53
+ `;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Pressable = require("./Pressable");
8
+
9
+ Object.keys(_Pressable).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Pressable[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Pressable[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/primitives/Pressable/index.js"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './Pressable';\n"],"file":"index.js"}