@mirai/ui 1.0.4 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +134 -2
  2. package/build/components/Calendar/Calendar.Week.js +26 -25
  3. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  4. package/build/components/Calendar/Calendar.js +3 -3
  5. package/build/components/Calendar/Calendar.js.map +1 -1
  6. package/build/components/Calendar/Calendar.module.css +25 -15
  7. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +2628 -180
  8. package/build/components/Calendar/helpers/getWeekdays.js +1 -1
  9. package/build/components/Calendar/helpers/getWeekdays.js.map +1 -1
  10. package/build/components/InputNumber/InputNumber.js +2 -2
  11. package/build/components/InputNumber/InputNumber.js.map +1 -1
  12. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +10 -5
  13. package/build/components/InputOption/InputOption.constants.js +13 -0
  14. package/build/components/InputOption/InputOption.constants.js.map +1 -0
  15. package/build/components/InputOption/InputOption.js +63 -0
  16. package/build/components/InputOption/InputOption.js.map +1 -0
  17. package/build/components/InputOption/InputOption.module.css +38 -0
  18. package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +232 -0
  19. package/build/components/InputOption/index.js +19 -0
  20. package/build/components/InputOption/index.js.map +1 -0
  21. package/build/components/Modal/Modal.module.css +2 -1
  22. package/build/components/Table/Table.Row.js +76 -0
  23. package/build/components/Table/Table.Row.js.map +1 -0
  24. package/build/components/Table/Table.js +92 -0
  25. package/build/components/Table/Table.js.map +1 -0
  26. package/build/components/Table/Table.module.css +76 -0
  27. package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +2285 -0
  28. package/build/components/Table/helpers/index.js +19 -0
  29. package/build/components/Table/helpers/index.js.map +1 -0
  30. package/build/components/Table/helpers/select.js +29 -0
  31. package/build/components/Table/helpers/select.js.map +1 -0
  32. package/build/components/Table/index.js +19 -0
  33. package/build/components/Table/index.js.map +1 -0
  34. package/build/components/index.js +26 -0
  35. package/build/components/index.js.map +1 -1
  36. package/build/primitives/Checkbox/Checkbox.js +52 -0
  37. package/build/primitives/Checkbox/Checkbox.js.map +1 -0
  38. package/build/primitives/Checkbox/Checkbox.module.css +45 -0
  39. package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +127 -0
  40. package/build/primitives/Checkbox/index.js +19 -0
  41. package/build/primitives/Checkbox/index.js.map +1 -0
  42. package/build/primitives/Icon/Icon.constants.js +3 -1
  43. package/build/primitives/Icon/Icon.constants.js.map +1 -1
  44. package/build/primitives/Input/Input.module.css +4 -0
  45. package/build/primitives/Layer/Layer.js +89 -0
  46. package/build/primitives/Layer/Layer.js.map +1 -0
  47. package/build/primitives/Layer/Layer.module.css +10 -0
  48. package/build/primitives/Layer/LayerContent.js +22 -0
  49. package/build/primitives/Layer/LayerContent.js.map +1 -0
  50. package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +55 -0
  51. package/build/primitives/Layer/helpers/getElementLayout.js +23 -0
  52. package/build/primitives/Layer/helpers/getElementLayout.js.map +1 -0
  53. package/build/primitives/Layer/helpers/getLayerPosition.js +43 -0
  54. package/build/primitives/Layer/helpers/getLayerPosition.js.map +1 -0
  55. package/build/primitives/Layer/helpers/index.js +32 -0
  56. package/build/primitives/Layer/helpers/index.js.map +1 -0
  57. package/build/primitives/Layer/index.js +32 -0
  58. package/build/primitives/Layer/index.js.map +1 -0
  59. package/build/primitives/Radio/Radio.js +49 -0
  60. package/build/primitives/Radio/Radio.js.map +1 -0
  61. package/build/primitives/Radio/Radio.module.css +59 -0
  62. package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +126 -0
  63. package/build/primitives/Radio/index.js +19 -0
  64. package/build/primitives/Radio/index.js.map +1 -0
  65. package/build/primitives/Select/Select.module.css +1 -0
  66. package/build/primitives/Switch/Switch.js +50 -0
  67. package/build/primitives/Switch/Switch.js.map +1 -0
  68. package/build/primitives/Switch/Switch.module.css +57 -0
  69. package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +109 -0
  70. package/build/primitives/Switch/index.js +19 -0
  71. package/build/primitives/Switch/index.js.map +1 -0
  72. package/build/primitives/View/View.js +12 -3
  73. package/build/primitives/View/View.js.map +1 -1
  74. package/build/primitives/index.js +64 -12
  75. package/build/primitives/index.js.map +1 -1
  76. package/build/theme/default.theme.css +8 -1
  77. package/package.json +1 -1
@@ -0,0 +1,92 @@
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.Table = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
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 _helpers2 = require("./helpers");
23
+
24
+ var _TableModule = _interopRequireDefault(require("./Table.module.css"));
25
+
26
+ var _Table = require("./Table.Row");
27
+
28
+ var _excluded = ["dataSource", "schema", "search", "onPress", "onSelect"];
29
+
30
+ var Table = function Table(_ref) {
31
+ var _ref$dataSource = _ref.dataSource,
32
+ dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
33
+ schema = _ref.schema,
34
+ search = _ref.search,
35
+ onPress = _ref.onPress,
36
+ onSelect = _ref.onSelect,
37
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
+
39
+ var _useState = (0, _react.useState)([]),
40
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
+ selected = _useState2[0],
42
+ setSelected = _useState2[1];
43
+
44
+ var _useState3 = (0, _react.useState)({}),
45
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
46
+ sort = _useState4[0],
47
+ setSort = _useState4[1];
48
+
49
+ var handleSelect = function handleSelect(row) {
50
+ setSelected(function () {
51
+ var exists = selected.includes(row);
52
+ var next = selected.filter(function (item) {
53
+ return item !== row;
54
+ });
55
+ if (!exists) next.push(row);
56
+ onSelect(next);
57
+ return next;
58
+ });
59
+ };
60
+
61
+ var handleSort = function handleSort(field) {
62
+ setSort(sort[field] === undefined ? (0, _defineProperty2.default)({}, field, true) : sort[field] ? (0, _defineProperty2.default)({}, field, false) : {});
63
+ };
64
+
65
+ var testId = others['data-testid'];
66
+ return /*#__PURE__*/_react.default.createElement("table", Object.assign({}, others, {
67
+ className: (0, _helpers.styles)(_TableModule.default.table, others.className)
68
+ }), /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement(_Table.TableRow, {
69
+ schema: schema,
70
+ sort: sort,
71
+ onSelect: onSelect ? function () {} : undefined,
72
+ onSort: handleSort
73
+ })), /*#__PURE__*/_react.default.createElement("tbody", null, (0, _react.useMemo)(function () {
74
+ return (0, _helpers2.select)(dataSource, {
75
+ search: search,
76
+ sort: sort
77
+ });
78
+ }, [dataSource, search, sort]).map(function (row, index) {
79
+ return /*#__PURE__*/_react.default.createElement(_Table.TableRow, {
80
+ "data-testid": testId ? "".concat(testId, "-").concat(index) : undefined,
81
+ dataSource: row,
82
+ key: index,
83
+ schema: schema,
84
+ selected: selected.includes(row),
85
+ onPress: onPress,
86
+ onSelect: onSelect ? handleSelect : undefined
87
+ });
88
+ })));
89
+ };
90
+
91
+ exports.Table = Table;
92
+ //# sourceMappingURL=Table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Table/Table.jsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAAuE;AAAA,6BAApEC,UAAoE;AAAA,MAApEA,UAAoE,gCAAvD,EAAuD;AAAA,MAAnDC,MAAmD,QAAnDA,MAAmD;AAAA,MAA3CC,MAA2C,QAA3CA,MAA2C;AAAA,MAAnCC,OAAmC,QAAnCA,OAAmC;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;;AAC1F,kBAAgC,qBAAS,EAAT,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAwB,qBAAS,EAAT,CAAxB;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,OAAb;;AAEA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAS;AAC5BJ,IAAAA,WAAW,CAAC,YAAM;AAChB,UAAMK,MAAM,GAAGN,QAAQ,CAACO,QAAT,CAAkBF,GAAlB,CAAf;AACA,UAAMG,IAAI,GAAGR,QAAQ,CAACS,MAAT,CAAgB,UAACC,IAAD;AAAA,eAAUA,IAAI,KAAKL,GAAnB;AAAA,OAAhB,CAAb;AACA,UAAI,CAACC,MAAL,EAAaE,IAAI,CAACG,IAAL,CAAUN,GAAV;AAEbP,MAAAA,QAAQ,CAACU,IAAD,CAAR;AAEA,aAAOA,IAAP;AACD,KARU,CAAX;AASD,GAVD;;AAYA,MAAMI,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAW;AAC5BV,IAAAA,OAAO,CAACD,IAAI,CAACW,KAAD,CAAJ,KAAgBC,SAAhB,qCAA+BD,KAA/B,EAAuC,IAAvC,IAAgDX,IAAI,CAACW,KAAD,CAAJ,qCAAiBA,KAAjB,EAAyB,KAAzB,IAAmC,EAApF,CAAP;AACD,GAFD;;AAIA,MAAyBE,MAAzB,GAAoChB,MAApC,CAAS,aAAT;AAEA,sBACE,wDAAWA,MAAX;AAAmB,IAAA,SAAS,EAAE,qBAAOiB,qBAAMC,KAAb,EAAoBlB,MAAM,CAACmB,SAA3B;AAA9B,mBACE,yDACE,6BAAC,eAAD;AAAU,IAAA,MAAM,EAAEvB,MAAlB;AAA0B,IAAA,IAAI,EAAEO,IAAhC;AAAsC,IAAA,QAAQ,EAAEJ,QAAQ,GAAG,YAAM,CAAE,CAAX,GAAcgB,SAAtE;AAAiF,IAAA,MAAM,EAAEF;AAAzF,IADF,CADF,eAIE,4CACG,oBAAQ;AAAA,WAAM,sBAAOlB,UAAP,EAAmB;AAAEE,MAAAA,MAAM,EAANA,MAAF;AAAUM,MAAAA,IAAI,EAAJA;AAAV,KAAnB,CAAN;AAAA,GAAR,EAAoD,CAACR,UAAD,EAAaE,MAAb,EAAqBM,IAArB,CAApD,EAAgFiB,GAAhF,CAAoF,UAACd,GAAD,EAAMe,KAAN;AAAA,wBACnF,6BAAC,eAAD;AACE,qBAAaL,MAAM,aAAMA,MAAN,cAAgBK,KAAhB,IAA0BN,SAD/C;AAEE,MAAA,UAAU,EAAET,GAFd;AAGE,MAAA,GAAG,EAAEe,KAHP;AAIE,MAAA,MAAM,EAAEzB,MAJV;AAKE,MAAA,QAAQ,EAAEK,QAAQ,CAACO,QAAT,CAAkBF,GAAlB,CALZ;AAME,MAAA,OAAO,EAAER,OANX;AAOE,MAAA,QAAQ,EAAEC,QAAQ,GAAGM,YAAH,GAAkBU;AAPtC,MADmF;AAAA,GAApF,CADH,CAJF,CADF;AAoBD,CA1CM","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"],"file":"Table.js"}
@@ -0,0 +1,76 @@
1
+ :root {
2
+ --mirai-ui-table-base: var(--mirai-ui-base);
3
+ --mirai-ui-table-border-color: var(--mirai-ui-disabled);
4
+ --mirai-ui-table-content: var(--mirai-ui-content);
5
+ --mirai-ui-table-lighten: var(--mirai-ui-lighten);
6
+ --mirai-ui-table-color-selected: var(--mirai-ui-accent);
7
+ --mirai-ui-table-color-selected-lighten: var(--mirai-ui-accent-lighten);
8
+ }
9
+
10
+ .table {
11
+ background-color: var(--mirai-ui-table-base);
12
+ border-collapse: collapse;
13
+ font-family: var(--mirai-ui-font);
14
+ font-size: var(--mirai-ui-font-size-action);
15
+ table-layout: auto;
16
+ text-align: left;
17
+ width: 100%;
18
+ }
19
+
20
+ .table thead tr {
21
+ color: var(--mirai-ui-table-lighten);
22
+ font-family: var(--mirai-ui-font-bold);
23
+ font-size: var(--mirai-ui-font-size-small);
24
+ font-weight: var(--mirai-ui-font-bold-weight);
25
+ }
26
+
27
+ .table thead tr th {
28
+ height: var(--mirai-ui-space-M);
29
+ }
30
+
31
+ .table thead tr th:hover {
32
+ color: var(--mirai-ui-table-content);
33
+ cursor: pointer;
34
+ }
35
+
36
+ .table tbody tr.selected {
37
+ background-color: var(--mirai-ui-table-color-selected-lighten);
38
+ color: var(--mirai-ui-table-color-selected);
39
+ }
40
+
41
+ .table tbody tr:hover.onPress {
42
+ background-color: var(--mirai-ui-table-border-color);
43
+ cursor: pointer;
44
+ }
45
+
46
+ .table tr:not(:last-child) {
47
+ border-bottom: solid 1px var(--mirai-ui-table-border-color);
48
+ }
49
+
50
+ .table th,
51
+ .table td {
52
+ padding: var(--mirai-ui-space-S) 0;
53
+ }
54
+
55
+ .table th:first-child,
56
+ .table td:first-child {
57
+ padding-left: var(--mirai-ui-space-M);
58
+ }
59
+
60
+ .table th:last-child,
61
+ .table td:last-child {
62
+ padding-right: var(--mirai-ui-space-M);
63
+ }
64
+
65
+ .table th.select,
66
+ .table td.select {
67
+ width: calc(var(--mirai-ui-space-XL) + var(--mirai-ui-space-S));
68
+ }
69
+
70
+ .table th .hideIcon {
71
+ color: var(--mirai-ui-table-base);
72
+ }
73
+
74
+ .table .checkbox {
75
+ margin: 0;
76
+ }