@mirai/ui 1.0.12 → 1.0.13

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 (228) hide show
  1. package/build/components/Button/Button.js +67 -0
  2. package/build/components/Button/Button.js.map +1 -0
  3. package/build/components/Button/Button.module.css +90 -0
  4. package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +113 -0
  5. package/build/components/Button/index.js +19 -0
  6. package/build/components/Button/index.js.map +1 -0
  7. package/build/components/Calendar/Calendar.Month.js +129 -0
  8. package/build/components/Calendar/Calendar.Month.js.map +1 -0
  9. package/build/components/Calendar/Calendar.Week.js +177 -0
  10. package/build/components/Calendar/Calendar.Week.js.map +1 -0
  11. package/build/components/Calendar/Calendar.Weekdays.js +45 -0
  12. package/build/components/Calendar/Calendar.Weekdays.js.map +1 -0
  13. package/build/components/Calendar/Calendar.constants.js +11 -0
  14. package/build/components/Calendar/Calendar.constants.js.map +1 -0
  15. package/build/components/Calendar/Calendar.js +196 -0
  16. package/build/components/Calendar/Calendar.js.map +1 -0
  17. package/build/components/Calendar/Calendar.module.css +127 -0
  18. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +20477 -0
  19. package/build/components/Calendar/helpers/getFirstDateOfMonth.js +16 -0
  20. package/build/components/Calendar/helpers/getFirstDateOfMonth.js.map +1 -0
  21. package/build/components/Calendar/helpers/getFirstDateOfWeek.js +20 -0
  22. package/build/components/Calendar/helpers/getFirstDateOfWeek.js.map +1 -0
  23. package/build/components/Calendar/helpers/getHeader.js +23 -0
  24. package/build/components/Calendar/helpers/getHeader.js.map +1 -0
  25. package/build/components/Calendar/helpers/getToday.js +15 -0
  26. package/build/components/Calendar/helpers/getToday.js.map +1 -0
  27. package/build/components/Calendar/helpers/getWeekDays.js +27 -0
  28. package/build/components/Calendar/helpers/getWeekDays.js.map +1 -0
  29. package/build/components/Calendar/helpers/getWeekNumber.js +17 -0
  30. package/build/components/Calendar/helpers/getWeekNumber.js.map +1 -0
  31. package/build/components/Calendar/helpers/index.js +97 -0
  32. package/build/components/Calendar/helpers/index.js.map +1 -0
  33. package/build/components/Calendar/helpers/isJest.js +9 -0
  34. package/build/components/Calendar/helpers/isJest.js.map +1 -0
  35. package/build/components/Calendar/index.js +19 -0
  36. package/build/components/Calendar/index.js.map +1 -0
  37. package/build/components/Form/Form.js +217 -0
  38. package/build/components/Form/Form.js.map +1 -0
  39. package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +47 -0
  40. package/build/components/Form/helpers/getChildrenErrors.js +51 -0
  41. package/build/components/Form/helpers/getChildrenErrors.js.map +1 -0
  42. package/build/components/Form/helpers/getChildrenValues.js +51 -0
  43. package/build/components/Form/helpers/getChildrenValues.js.map +1 -0
  44. package/build/components/Form/helpers/getField.js +17 -0
  45. package/build/components/Form/helpers/getField.js.map +1 -0
  46. package/build/components/Form/helpers/groupState.js +29 -0
  47. package/build/components/Form/helpers/groupState.js.map +1 -0
  48. package/build/components/Form/helpers/index.js +58 -0
  49. package/build/components/Form/helpers/index.js.map +1 -0
  50. package/build/components/Form/index.js +19 -0
  51. package/build/components/Form/index.js.map +1 -0
  52. package/build/components/InputNumber/InputNumber.js +91 -0
  53. package/build/components/InputNumber/InputNumber.js.map +1 -0
  54. package/build/components/InputNumber/InputNumber.module.css +25 -0
  55. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +698 -0
  56. package/build/components/InputNumber/index.js +19 -0
  57. package/build/components/InputNumber/index.js.map +1 -0
  58. package/build/components/InputOption/InputOption.constants.js +13 -0
  59. package/build/components/InputOption/InputOption.constants.js.map +1 -0
  60. package/build/components/InputOption/InputOption.js +80 -0
  61. package/build/components/InputOption/InputOption.js.map +1 -0
  62. package/build/components/InputOption/InputOption.module.css +43 -0
  63. package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +232 -0
  64. package/build/components/InputOption/index.js +19 -0
  65. package/build/components/InputOption/index.js.map +1 -0
  66. package/build/components/InputSelect/InputSelect.js +123 -0
  67. package/build/components/InputSelect/InputSelect.js.map +1 -0
  68. package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +490 -0
  69. package/build/components/InputSelect/index.js +19 -0
  70. package/build/components/InputSelect/index.js.map +1 -0
  71. package/build/components/InputText/InputText.js +141 -0
  72. package/build/components/InputText/InputText.js.map +1 -0
  73. package/build/components/InputText/InputText.module.css +107 -0
  74. package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +255 -0
  75. package/build/components/InputText/index.js +19 -0
  76. package/build/components/InputText/index.js.map +1 -0
  77. package/build/components/Menu/Menu.Option.js +58 -0
  78. package/build/components/Menu/Menu.Option.js.map +1 -0
  79. package/build/components/Menu/Menu.js +73 -0
  80. package/build/components/Menu/Menu.js.map +1 -0
  81. package/build/components/Menu/Menu.module.css +50 -0
  82. package/build/components/Menu/__tests__/__snapshots__/Menu.test.jsx.snap +178 -0
  83. package/build/components/Menu/index.js +19 -0
  84. package/build/components/Menu/index.js.map +1 -0
  85. package/build/components/Modal/Modal.js +61 -0
  86. package/build/components/Modal/Modal.js.map +1 -0
  87. package/build/components/Modal/Modal.module.css +72 -0
  88. package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +150 -0
  89. package/build/components/Modal/index.js +19 -0
  90. package/build/components/Modal/index.js.map +1 -0
  91. package/build/components/Table/Table.Row.js +92 -0
  92. package/build/components/Table/Table.Row.js.map +1 -0
  93. package/build/components/Table/Table.js +119 -0
  94. package/build/components/Table/Table.js.map +1 -0
  95. package/build/components/Table/Table.module.css +78 -0
  96. package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +2285 -0
  97. package/build/components/Table/helpers/index.js +19 -0
  98. package/build/components/Table/helpers/index.js.map +1 -0
  99. package/build/components/Table/helpers/select.js +29 -0
  100. package/build/components/Table/helpers/select.js.map +1 -0
  101. package/build/components/Table/index.js +19 -0
  102. package/build/components/Table/index.js.map +1 -0
  103. package/build/components/Tooltip/Tooltip.js +95 -0
  104. package/build/components/Tooltip/Tooltip.js.map +1 -0
  105. package/build/components/Tooltip/Tooltip.module.css +26 -0
  106. package/build/components/Tooltip/__tests__/__snapshots__/Tooltip.test.jsx.snap +117 -0
  107. package/build/components/Tooltip/index.js +19 -0
  108. package/build/components/Tooltip/index.js.map +1 -0
  109. package/build/components/index.js +149 -0
  110. package/build/components/index.js.map +1 -0
  111. package/build/helpers/getInputErrors.js +45 -0
  112. package/build/helpers/getInputErrors.js.map +1 -0
  113. package/build/helpers/index.js +32 -0
  114. package/build/helpers/index.js.map +1 -0
  115. package/build/helpers/isValidDate.js +72 -0
  116. package/build/helpers/isValidDate.js.map +1 -0
  117. package/build/helpers/isValidEmail.js +15 -0
  118. package/build/helpers/isValidEmail.js.map +1 -0
  119. package/build/helpers/isValidPhone.js +25 -0
  120. package/build/helpers/isValidPhone.js.map +1 -0
  121. package/build/helpers/styles.js +21 -0
  122. package/build/helpers/styles.js.map +1 -0
  123. package/build/hooks/helpers/getNavigator.js +33 -0
  124. package/build/hooks/helpers/getNavigator.js.map +1 -0
  125. package/build/hooks/helpers/getResolution.js +22 -0
  126. package/build/hooks/helpers/getResolution.js.map +1 -0
  127. package/build/hooks/helpers/index.js +32 -0
  128. package/build/hooks/helpers/index.js.map +1 -0
  129. package/build/hooks/index.js +19 -0
  130. package/build/hooks/index.js.map +1 -0
  131. package/build/hooks/useDevice.js +60 -0
  132. package/build/hooks/useDevice.js.map +1 -0
  133. package/build/index.js +71 -0
  134. package/build/index.js.map +1 -0
  135. package/build/primitives/Checkbox/Checkbox.js +66 -0
  136. package/build/primitives/Checkbox/Checkbox.js.map +1 -0
  137. package/build/primitives/Checkbox/Checkbox.module.css +45 -0
  138. package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +127 -0
  139. package/build/primitives/Checkbox/index.js +19 -0
  140. package/build/primitives/Checkbox/index.js.map +1 -0
  141. package/build/primitives/Icon/Icon.constants.js +30 -0
  142. package/build/primitives/Icon/Icon.constants.js.map +1 -0
  143. package/build/primitives/Icon/Icon.js +46 -0
  144. package/build/primitives/Icon/Icon.js.map +1 -0
  145. package/build/primitives/Icon/Icon.module.css +11 -0
  146. package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +133 -0
  147. package/build/primitives/Icon/index.js +31 -0
  148. package/build/primitives/Icon/index.js.map +1 -0
  149. package/build/primitives/Input/Input.js +85 -0
  150. package/build/primitives/Input/Input.js.map +1 -0
  151. package/build/primitives/Input/Input.module.css +32 -0
  152. package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +74 -0
  153. package/build/primitives/Input/helpers/index.js +19 -0
  154. package/build/primitives/Input/helpers/index.js.map +1 -0
  155. package/build/primitives/Input/helpers/parseValue.js +17 -0
  156. package/build/primitives/Input/helpers/parseValue.js.map +1 -0
  157. package/build/primitives/Input/index.js +19 -0
  158. package/build/primitives/Input/index.js.map +1 -0
  159. package/build/primitives/Layer/Layer.js +115 -0
  160. package/build/primitives/Layer/Layer.js.map +1 -0
  161. package/build/primitives/Layer/Layer.module.css +10 -0
  162. package/build/primitives/Layer/LayerContent.js +22 -0
  163. package/build/primitives/Layer/LayerContent.js.map +1 -0
  164. package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +89 -0
  165. package/build/primitives/Layer/helpers/getElementLayout.js +23 -0
  166. package/build/primitives/Layer/helpers/getElementLayout.js.map +1 -0
  167. package/build/primitives/Layer/helpers/getLayerPosition.js +45 -0
  168. package/build/primitives/Layer/helpers/getLayerPosition.js.map +1 -0
  169. package/build/primitives/Layer/helpers/index.js +32 -0
  170. package/build/primitives/Layer/helpers/index.js.map +1 -0
  171. package/build/primitives/Layer/index.js +32 -0
  172. package/build/primitives/Layer/index.js.map +1 -0
  173. package/build/primitives/Pressable/Pressable.constants.js +9 -0
  174. package/build/primitives/Pressable/Pressable.constants.js.map +1 -0
  175. package/build/primitives/Pressable/Pressable.js +67 -0
  176. package/build/primitives/Pressable/Pressable.js.map +1 -0
  177. package/build/primitives/Pressable/Pressable.module.css +18 -0
  178. package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +53 -0
  179. package/build/primitives/Pressable/index.js +19 -0
  180. package/build/primitives/Pressable/index.js.map +1 -0
  181. package/build/primitives/Radio/Radio.js +62 -0
  182. package/build/primitives/Radio/Radio.js.map +1 -0
  183. package/build/primitives/Radio/Radio.module.css +60 -0
  184. package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +125 -0
  185. package/build/primitives/Radio/index.js +19 -0
  186. package/build/primitives/Radio/index.js.map +1 -0
  187. package/build/primitives/ScrollView/ScrollView.js +112 -0
  188. package/build/primitives/ScrollView/ScrollView.js.map +1 -0
  189. package/build/primitives/ScrollView/ScrollView.module.css +35 -0
  190. package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +535 -0
  191. package/build/primitives/ScrollView/index.js +19 -0
  192. package/build/primitives/ScrollView/index.js.map +1 -0
  193. package/build/primitives/Select/Select.js +95 -0
  194. package/build/primitives/Select/Select.js.map +1 -0
  195. package/build/primitives/Select/Select.module.css +27 -0
  196. package/build/primitives/Select/__tests__/__snapshots__/Select.test.js.snap +178 -0
  197. package/build/primitives/Select/index.js +19 -0
  198. package/build/primitives/Select/index.js.map +1 -0
  199. package/build/primitives/Switch/Switch.js +60 -0
  200. package/build/primitives/Switch/Switch.js.map +1 -0
  201. package/build/primitives/Switch/Switch.module.css +65 -0
  202. package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +104 -0
  203. package/build/primitives/Switch/index.js +19 -0
  204. package/build/primitives/Switch/index.js.map +1 -0
  205. package/build/primitives/Text/Text.js +57 -0
  206. package/build/primitives/Text/Text.js.map +1 -0
  207. package/build/primitives/Text/Text.module.css +33 -0
  208. package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +92 -0
  209. package/build/primitives/Text/index.js +19 -0
  210. package/build/primitives/Text/index.js.map +1 -0
  211. package/build/primitives/View/View.js +52 -0
  212. package/build/primitives/View/View.js.map +1 -0
  213. package/build/primitives/View/View.module.css +17 -0
  214. package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +62 -0
  215. package/build/primitives/View/index.js +19 -0
  216. package/build/primitives/View/index.js.map +1 -0
  217. package/build/primitives/index.js +149 -0
  218. package/build/primitives/index.js.map +1 -0
  219. package/build/theme/default.theme.css +55 -0
  220. package/build/theme/helpers/camelcase.js +16 -0
  221. package/build/theme/helpers/camelcase.js.map +1 -0
  222. package/build/theme/helpers/index.js +19 -0
  223. package/build/theme/helpers/index.js.map +1 -0
  224. package/build/theme/index.js +19 -0
  225. package/build/theme/index.js.map +1 -0
  226. package/build/theme/theme.js +53 -0
  227. package/build/theme/theme.js.map +1 -0
  228. package/package.json +3 -1
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Table = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _helpers = require("../../helpers");
15
+
16
+ var _helpers2 = require("./helpers");
17
+
18
+ var _TableModule = _interopRequireDefault(require("./Table.module.css"));
19
+
20
+ var _Table = require("./Table.Row");
21
+
22
+ var _excluded = ["dataSource", "schema", "search", "onPress", "onSelect"];
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
30
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
+
38
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
39
+
40
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
41
+
42
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
47
+
48
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
49
+
50
+ var Table = function Table(_ref) {
51
+ var _ref$dataSource = _ref.dataSource,
52
+ dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
53
+ schema = _ref.schema,
54
+ search = _ref.search,
55
+ onPress = _ref.onPress,
56
+ onSelect = _ref.onSelect,
57
+ others = _objectWithoutProperties(_ref, _excluded);
58
+
59
+ var _useState = (0, _react.useState)([]),
60
+ _useState2 = _slicedToArray(_useState, 2),
61
+ selected = _useState2[0],
62
+ setSelected = _useState2[1];
63
+
64
+ var _useState3 = (0, _react.useState)({}),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ sort = _useState4[0],
67
+ setSort = _useState4[1];
68
+
69
+ var handleSelect = function handleSelect(row) {
70
+ setSelected(function () {
71
+ var exists = selected.includes(row);
72
+ var next = selected.filter(function (item) {
73
+ return item !== row;
74
+ });
75
+ if (!exists) next.push(row);
76
+ onSelect(next);
77
+ return next;
78
+ });
79
+ };
80
+
81
+ var handleSort = function handleSort(field) {
82
+ setSort(sort[field] === undefined ? _defineProperty({}, field, true) : sort[field] ? _defineProperty({}, field, false) : {});
83
+ };
84
+
85
+ var testId = others['data-testid'];
86
+ return /*#__PURE__*/_react.default.createElement("table", _extends({}, others, {
87
+ className: (0, _helpers.styles)(_TableModule.default.table, others.className)
88
+ }), /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement(_Table.TableRow, {
89
+ schema: schema,
90
+ sort: sort,
91
+ onSelect: onSelect ? function () {} : undefined,
92
+ onSort: handleSort
93
+ })), /*#__PURE__*/_react.default.createElement("tbody", null, (0, _react.useMemo)(function () {
94
+ return (0, _helpers2.select)(dataSource, {
95
+ search: search,
96
+ sort: sort
97
+ });
98
+ }, [dataSource, search, sort]).map(function (row, index) {
99
+ return /*#__PURE__*/_react.default.createElement(_Table.TableRow, {
100
+ "data-testid": testId ? "".concat(testId, "-").concat(index) : undefined,
101
+ dataSource: row,
102
+ key: index,
103
+ schema: schema,
104
+ selected: selected.includes(row),
105
+ onPress: onPress,
106
+ onSelect: onSelect ? handleSelect : undefined
107
+ });
108
+ })));
109
+ };
110
+
111
+ exports.Table = Table;
112
+ Table.propTypes = {
113
+ dataSource: _propTypes.default.arrayOf(_propTypes.default.shape({})),
114
+ schema: _propTypes.default.shape({}).isRequired,
115
+ search: _propTypes.default.string,
116
+ onPress: _propTypes.default.func,
117
+ onSelect: _propTypes.default.func
118
+ };
119
+ //# sourceMappingURL=Table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.js","names":["Table","dataSource","schema","search","onPress","onSelect","others","selected","setSelected","sort","setSort","handleSelect","row","exists","includes","next","filter","item","push","handleSort","field","undefined","testId","style","table","className","map","index","propTypes","PropTypes","arrayOf","shape","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useMemo, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { select } from './helpers';\nimport style from './Table.module.css';\nimport { TableRow } from './Table.Row';\n\nexport const Table = ({ dataSource = [], schema, search, onPress, onSelect, ...others }) => {\n const [selected, setSelected] = useState([]);\n const [sort, setSort] = useState({});\n\n const handleSelect = (row) => {\n setSelected(() => {\n const exists = selected.includes(row);\n const next = selected.filter((item) => item !== row);\n if (!exists) next.push(row);\n\n onSelect(next);\n\n return next;\n });\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { ['data-testid']: testId } = others;\n\n return (\n <table {...others} className={styles(style.table, others.className)}>\n <thead>\n <TableRow schema={schema} sort={sort} onSelect={onSelect ? () => {} : undefined} onSort={handleSort} />\n </thead>\n <tbody>\n {useMemo(() => select(dataSource, { search, sort }), [dataSource, search, sort]).map((row, index) => (\n <TableRow\n data-testid={testId ? `${testId}-${index}` : undefined}\n dataSource={row}\n key={index}\n schema={schema}\n selected={selected.includes(row)}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n />\n ))}\n </tbody>\n </table>\n );\n};\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAAuE;EAAA,2BAApEC,UAAoE;EAAA,IAApEA,UAAoE,gCAAvD,EAAuD;EAAA,IAAnDC,MAAmD,QAAnDA,MAAmD;EAAA,IAA3CC,MAA2C,QAA3CA,MAA2C;EAAA,IAAnCC,OAAmC,QAAnCA,OAAmC;EAAA,IAA1BC,QAA0B,QAA1BA,QAA0B;EAAA,IAAbC,MAAa;;EAC1F,gBAAgC,qBAAS,EAAT,CAAhC;EAAA;EAAA,IAAOC,QAAP;EAAA,IAAiBC,WAAjB;;EACA,iBAAwB,qBAAS,EAAT,CAAxB;EAAA;EAAA,IAAOC,IAAP;EAAA,IAAaC,OAAb;;EAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAS;IAC5BJ,WAAW,CAAC,YAAM;MAChB,IAAMK,MAAM,GAAGN,QAAQ,CAACO,QAAT,CAAkBF,GAAlB,CAAf;MACA,IAAMG,IAAI,GAAGR,QAAQ,CAACS,MAAT,CAAgB,UAACC,IAAD;QAAA,OAAUA,IAAI,KAAKL,GAAnB;MAAA,CAAhB,CAAb;MACA,IAAI,CAACC,MAAL,EAAaE,IAAI,CAACG,IAAL,CAAUN,GAAV;MAEbP,QAAQ,CAACU,IAAD,CAAR;MAEA,OAAOA,IAAP;IACD,CARU,CAAX;EASD,CAVD;;EAYA,IAAMI,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAW;IAC5BV,OAAO,CAACD,IAAI,CAACW,KAAD,CAAJ,KAAgBC,SAAhB,uBAA+BD,KAA/B,EAAuC,IAAvC,IAAgDX,IAAI,CAACW,KAAD,CAAJ,uBAAiBA,KAAjB,EAAyB,KAAzB,IAAmC,EAApF,CAAP;EACD,CAFD;;EAIA,IAAyBE,MAAzB,GAAoChB,MAApC,CAAS,aAAT;EAEA,oBACE,mDAAWA,MAAX;IAAmB,SAAS,EAAE,qBAAOiB,qBAAMC,KAAb,EAAoBlB,MAAM,CAACmB,SAA3B;EAA9B,iBACE,yDACE,6BAAC,eAAD;IAAU,MAAM,EAAEvB,MAAlB;IAA0B,IAAI,EAAEO,IAAhC;IAAsC,QAAQ,EAAEJ,QAAQ,GAAG,YAAM,CAAE,CAAX,GAAcgB,SAAtE;IAAiF,MAAM,EAAEF;EAAzF,EADF,CADF,eAIE,4CACG,oBAAQ;IAAA,OAAM,sBAAOlB,UAAP,EAAmB;MAAEE,MAAM,EAANA,MAAF;MAAUM,IAAI,EAAJA;IAAV,CAAnB,CAAN;EAAA,CAAR,EAAoD,CAACR,UAAD,EAAaE,MAAb,EAAqBM,IAArB,CAApD,EAAgFiB,GAAhF,CAAoF,UAACd,GAAD,EAAMe,KAAN;IAAA,oBACnF,6BAAC,eAAD;MACE,eAAaL,MAAM,aAAMA,MAAN,cAAgBK,KAAhB,IAA0BN,SAD/C;MAEE,UAAU,EAAET,GAFd;MAGE,GAAG,EAAEe,KAHP;MAIE,MAAM,EAAEzB,MAJV;MAKE,QAAQ,EAAEK,QAAQ,CAACO,QAAT,CAAkBF,GAAlB,CALZ;MAME,OAAO,EAAER,OANX;MAOE,QAAQ,EAAEC,QAAQ,GAAGM,YAAH,GAAkBU;IAPtC,EADmF;EAAA,CAApF,CADH,CAJF,CADF;AAoBD,CA1CM;;;AA4CPrB,KAAK,CAAC4B,SAAN,GAAkB;EAChB3B,UAAU,EAAE4B,mBAAUC,OAAV,CAAkBD,mBAAUE,KAAV,CAAgB,EAAhB,CAAlB,CADI;EAEhB7B,MAAM,EAAE2B,mBAAUE,KAAV,CAAgB,EAAhB,EAAoBC,UAFZ;EAGhB7B,MAAM,EAAE0B,mBAAUI,MAHF;EAIhB7B,OAAO,EAAEyB,mBAAUK,IAJH;EAKhB7B,QAAQ,EAAEwB,mBAAUK;AALJ,CAAlB"}
@@ -0,0 +1,78 @@
1
+ :root {
2
+ --mirai-ui-table-base: var(--mirai-ui-base);
3
+ --mirai-ui-table-border-color: var(--mirai-ui-content-300);
4
+ --mirai-ui-table-content: var(--mirai-ui-content);
5
+ --mirai-ui-table-hover-background: var(--mirai-ui-accent-300);
6
+ --mirai-ui-table-head-color: var(--mirai-ui-content-400);
7
+ --mirai-ui-table-padding-x: var(--mirai-ui-space-M);
8
+ --mirai-ui-table-padding-y: var(--mirai-ui-space-M);
9
+ --mirai-ui-table-selected-background: var(--mirai-ui-accent-200);
10
+ --mirai-ui-table-selected-color: var(--mirai-ui-accent);
11
+ }
12
+
13
+ .table {
14
+ background-color: var(--mirai-ui-table-base);
15
+ border-collapse: collapse;
16
+ font-family: var(--mirai-ui-font);
17
+ font-size: var(--mirai-ui-font-size-action);
18
+ table-layout: auto;
19
+ text-align: left;
20
+ width: 100%;
21
+ }
22
+
23
+ .table thead tr {
24
+ color: var(--mirai-ui-table-head-color);
25
+ font-family: var(--mirai-ui-font-bold);
26
+ font-size: var(--mirai-ui-font-size-small);
27
+ font-weight: var(--mirai-ui-font-bold-weight);
28
+ }
29
+
30
+ .table tbody tr.selected {
31
+ background-color: var(--mirai-ui-table-selected-background);
32
+ color: var(--mirai-ui-table-selected-color);
33
+ }
34
+
35
+ .table tr:not(:last-child) {
36
+ border-bottom: solid 1px var(--mirai-ui-table-border-color);
37
+ }
38
+
39
+ .table th,
40
+ .table td {
41
+ padding: var(--mirai-ui-table-padding-y) 0;
42
+ }
43
+
44
+ .table th:first-child,
45
+ .table td:first-child {
46
+ padding-left: var(--mirai-ui-table-padding-x);
47
+ }
48
+
49
+ .table th:last-child,
50
+ .table td:last-child {
51
+ padding-right: var(--mirai-ui-table-padding-x);
52
+ }
53
+
54
+ .table th.select,
55
+ .table td.select {
56
+ width: var(--mirai-ui-checkbox-size);
57
+ padding-right: var(--mirai-ui-table-padding-x);
58
+ }
59
+
60
+ .table th .hideIcon {
61
+ color: var(--mirai-ui-table-base);
62
+ }
63
+
64
+ .table .checkbox {
65
+ margin: 0;
66
+ }
67
+
68
+ @media only screen and (min-width: 600px) {
69
+ .table thead tr th:hover {
70
+ color: var(--mirai-ui-table-content);
71
+ cursor: pointer;
72
+ }
73
+
74
+ .table tbody tr:hover.onPress {
75
+ background-color: var(--mirai-ui-table-hover-background);
76
+ cursor: pointer;
77
+ }
78
+ }