@mirai/ui 1.0.186 → 1.0.188
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.
- package/build/components/Table/Table.ColumnFilter.js +1 -0
- package/build/components/Table/Table.ColumnFilter.js.map +1 -1
- package/build/components/Table/Table.js +14 -14
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Table/Table.module.css +19 -7
- package/build/components/Table/Table.stories.js +1 -1
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/Table.stories.module.css +5 -3
- package/build/components/Table/__tests__/__snapshots__/Table.ColumnFilter.test.js.snap +12 -6
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +12 -12
- package/build/components/Table/helpers/select.js +8 -8
- package/build/components/Table/helpers/select.js.map +1 -1
- package/package.json +1 -1
|
@@ -157,6 +157,7 @@ var ColumnFilter = function ColumnFilter(_ref) {
|
|
|
157
157
|
wide: true,
|
|
158
158
|
onPress: handleCancel
|
|
159
159
|
}, actionCancel), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
160
|
+
disabled: type !== 'boolean' && !form.value && !form.min && !form.max,
|
|
160
161
|
wide: true,
|
|
161
162
|
onPress: handleSubmit,
|
|
162
163
|
testId: testId ? "".concat(testId, "-submit") : undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.ColumnFilter.js","names":["ColumnFilter","field","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","visible","propVisible","onFocus","onSubmit","others","useState","form","setForm","setVisible","label","type","useEffect","value","undefined","handlePress","event","preventDefault","handleCancel","handleSubmit","testId","children","divider","style","items","min","input","max","SWITCH","styles","menuFilter","className","position","ICON","FILTER","icon","disabled","displayName","propTypes","PropTypes","string","isRequired","L10N_SHAPE","shape","bool","func"],"sources":["../../../src/components/Table/Table.ColumnFilter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { Button } from '../Button';\nimport { InputOption, SWITCH } from '../InputOption';\nimport { InputText } from '../InputText';\nimport { Menu } from '../Menu';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst ColumnFilter = ({\n field,\n l10n: { actionCancel = '$Cancel', actionSubmit = '$Submit', labelMax = '$max', labelMin = '$min' } = {},\n schema = {},\n visible: propVisible = false,\n onFocus = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const [form, setForm] = useState({});\n const [visible, setVisible] = useState(propVisible);\n\n const { label, type = 'text' } = schema[field] || {};\n\n useEffect(() => {\n setVisible(propVisible);\n }, [propVisible]);\n\n useEffect(() => {\n setForm({ value: type === 'boolean' ? 'false' : undefined });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n const handlePress = (event) => {\n event.preventDefault();\n setVisible(!visible);\n onFocus(!visible ? field : undefined);\n };\n\n const handleCancel = () => {\n setVisible(false);\n };\n\n const handleSubmit = (event) => {\n event.preventDefault();\n setVisible(false);\n onSubmit({ field, type, ...form }, event);\n };\n\n const { testId } = others;\n\n return (\n <Menu\n {...others}\n options={[\n {\n children: (\n <Text bold small>\n {label || field}\n </Text>\n ),\n divider: true,\n },\n {\n children:\n type === 'number' ? (\n <View row className={style.items}>\n <InputText\n label={labelMin}\n name=\"min\"\n type=\"number\"\n value={form.min}\n onChange={(min) => setForm({ ...form, min })}\n className={style.input}\n />\n <InputText\n label={labelMax}\n name=\"max\"\n type=\"number\"\n value={form.max}\n onChange={(max) => setForm({ ...form, max })}\n className={style.input}\n />\n </View>\n ) : type === 'boolean' ? (\n <InputOption\n name=\"search\"\n type={SWITCH}\n checked={form.value === 'true'}\n onChange={(value) => setForm({ value: value ? 'true' : 'false' })}\n className={style.input}\n />\n ) : (\n <InputText\n name=\"search\"\n type=\"search\"\n value={form.value}\n onChange={(value) => setForm({ value })}\n className={style.input}\n />\n ),\n divider: true,\n },\n {\n children: (\n <View row wide className={style.items}>\n <Button secondary wide onPress={handleCancel}>\n {actionCancel}\n </Button>\n <Button wide
|
|
1
|
+
{"version":3,"file":"Table.ColumnFilter.js","names":["ColumnFilter","field","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","visible","propVisible","onFocus","onSubmit","others","useState","form","setForm","setVisible","label","type","useEffect","value","undefined","handlePress","event","preventDefault","handleCancel","handleSubmit","testId","children","divider","style","items","min","input","max","SWITCH","styles","menuFilter","className","position","ICON","FILTER","icon","disabled","displayName","propTypes","PropTypes","string","isRequired","L10N_SHAPE","shape","bool","func"],"sources":["../../../src/components/Table/Table.ColumnFilter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { Button } from '../Button';\nimport { InputOption, SWITCH } from '../InputOption';\nimport { InputText } from '../InputText';\nimport { Menu } from '../Menu';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst ColumnFilter = ({\n field,\n l10n: { actionCancel = '$Cancel', actionSubmit = '$Submit', labelMax = '$max', labelMin = '$min' } = {},\n schema = {},\n visible: propVisible = false,\n onFocus = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const [form, setForm] = useState({});\n const [visible, setVisible] = useState(propVisible);\n\n const { label, type = 'text' } = schema[field] || {};\n\n useEffect(() => {\n setVisible(propVisible);\n }, [propVisible]);\n\n useEffect(() => {\n setForm({ value: type === 'boolean' ? 'false' : undefined });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n const handlePress = (event) => {\n event.preventDefault();\n setVisible(!visible);\n onFocus(!visible ? field : undefined);\n };\n\n const handleCancel = () => {\n setVisible(false);\n };\n\n const handleSubmit = (event) => {\n event.preventDefault();\n setVisible(false);\n onSubmit({ field, type, ...form }, event);\n };\n\n const { testId } = others;\n\n return (\n <Menu\n {...others}\n options={[\n {\n children: (\n <Text bold small>\n {label || field}\n </Text>\n ),\n divider: true,\n },\n {\n children:\n type === 'number' ? (\n <View row className={style.items}>\n <InputText\n label={labelMin}\n name=\"min\"\n type=\"number\"\n value={form.min}\n onChange={(min) => setForm({ ...form, min })}\n className={style.input}\n />\n <InputText\n label={labelMax}\n name=\"max\"\n type=\"number\"\n value={form.max}\n onChange={(max) => setForm({ ...form, max })}\n className={style.input}\n />\n </View>\n ) : type === 'boolean' ? (\n <InputOption\n name=\"search\"\n type={SWITCH}\n checked={form.value === 'true'}\n onChange={(value) => setForm({ value: value ? 'true' : 'false' })}\n className={style.input}\n />\n ) : (\n <InputText\n name=\"search\"\n type=\"search\"\n value={form.value}\n onChange={(value) => setForm({ value })}\n className={style.input}\n />\n ),\n divider: true,\n },\n {\n children: (\n <View row wide className={style.items}>\n <Button secondary wide onPress={handleCancel}>\n {actionCancel}\n </Button>\n <Button\n disabled={type !== 'boolean' && !form.value && !form.min && !form.max}\n wide\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {actionSubmit}\n </Button>\n </View>\n ),\n },\n ]}\n bottom\n centered\n visible={visible}\n className={styles(style.menuFilter, others.className)}\n >\n <Pressable onPress={handlePress} style={{ position: 'relative' }}>\n <Icon value={ICON.FILTER} className={styles(style.icon, !visible && style.disabled)} />\n </Pressable>\n </Menu>\n );\n};\n\nColumnFilter.displayName = 'Component:Table:ColumnFilter';\n\nColumnFilter.propTypes = {\n field: PropTypes.string.isRequired,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n visible: PropTypes.bool,\n onFocus: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n};\n\nexport { ColumnFilter };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,YAAY,GAAG,SAAfA,YAAY,OAQZ;EAAA,IAPJC,KAAK,QAALA,KAAK;IAAA,iBACLC,IAAI;EAAA,mCAAiG,CAAC,CAAC;EAAA,sCAA/FC,YAAY;IAAZA,YAAY,sCAAG,SAAS;IAAA,kCAAEC,YAAY;IAAZA,YAAY,sCAAG,SAAS;IAAA,+BAAEC,QAAQ;IAARA,QAAQ,mCAAG,MAAM;IAAA,+BAAEC,QAAQ;IAARA,QAAQ,mCAAG,MAAM;IAAA,mBAChGC,MAAM;IAANA,MAAM,4BAAG,CAAC,CAAC;IAAA,oBACXC,OAAO;IAAEC,WAAW,6BAAG,KAAK;IAAA,oBAC5BC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IAAA,qBAClBC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAChBC,MAAM;EAET,gBAAwB,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;IAAA;IAA7BC,IAAI;IAAEC,OAAO;EACpB,iBAA8B,IAAAF,eAAQ,EAACJ,WAAW,CAAC;IAAA;IAA5CD,OAAO;IAAEQ,UAAU;EAE1B,YAAiCT,MAAM,CAACN,KAAK,CAAC,IAAI,CAAC,CAAC;IAA5CgB,KAAK,SAALA,KAAK;IAAA,mBAAEC,IAAI;IAAJA,IAAI,2BAAG,MAAM;EAE5B,IAAAC,gBAAS,EAAC,YAAM;IACdH,UAAU,CAACP,WAAW,CAAC;EACzB,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAAU,gBAAS,EAAC,YAAM;IACdJ,OAAO,CAAC;MAAEK,KAAK,EAAEF,IAAI,KAAK,SAAS,GAAG,OAAO,GAAGG;IAAU,CAAC,CAAC;IAC5D;EACF,CAAC,EAAE,CAACb,OAAO,CAAC,CAAC;EAEb,IAAMc,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAAK,EAAK;IAC7BA,KAAK,CAACC,cAAc,EAAE;IACtBR,UAAU,CAAC,CAACR,OAAO,CAAC;IACpBE,OAAO,CAAC,CAACF,OAAO,GAAGP,KAAK,GAAGoB,SAAS,CAAC;EACvC,CAAC;EAED,IAAMI,YAAY,GAAG,SAAfA,YAAY,GAAS;IACzBT,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,IAAMU,YAAY,GAAG,SAAfA,YAAY,CAAIH,KAAK,EAAK;IAC9BA,KAAK,CAACC,cAAc,EAAE;IACtBR,UAAU,CAAC,KAAK,CAAC;IACjBL,QAAQ;MAAGV,KAAK,EAALA,KAAK;MAAEiB,IAAI,EAAJA;IAAI,GAAKJ,IAAI,GAAIS,KAAK,CAAC;EAC3C,CAAC;EAED,IAAQI,MAAM,GAAKf,MAAM,CAAjBe,MAAM;EAEd,oBACE,6BAAC,UAAI,eACCf,MAAM;IACV,OAAO,EAAE,CACP;MACEgB,QAAQ,eACN,6BAAC,gBAAI;QAAC,IAAI;QAAC,KAAK;MAAA,GACbX,KAAK,IAAIhB,KAAK,CAElB;MACD4B,OAAO,EAAE;IACX,CAAC,EACD;MACED,QAAQ,EACNV,IAAI,KAAK,QAAQ,gBACf,6BAAC,gBAAI;QAAC,GAAG;QAAC,SAAS,EAAEY,oBAAK,CAACC;MAAM,gBAC/B,6BAAC,oBAAS;QACR,KAAK,EAAEzB,QAAS;QAChB,IAAI,EAAC,KAAK;QACV,IAAI,EAAC,QAAQ;QACb,KAAK,EAAEQ,IAAI,CAACkB,GAAI;QAChB,QAAQ,EAAE,kBAACA,GAAG;UAAA,OAAKjB,OAAO,iCAAMD,IAAI;YAAEkB,GAAG,EAAHA;UAAG,GAAG;QAAA,CAAC;QAC7C,SAAS,EAAEF,oBAAK,CAACG;MAAM,EACvB,eACF,6BAAC,oBAAS;QACR,KAAK,EAAE5B,QAAS;QAChB,IAAI,EAAC,KAAK;QACV,IAAI,EAAC,QAAQ;QACb,KAAK,EAAES,IAAI,CAACoB,GAAI;QAChB,QAAQ,EAAE,kBAACA,GAAG;UAAA,OAAKnB,OAAO,iCAAMD,IAAI;YAAEoB,GAAG,EAAHA;UAAG,GAAG;QAAA,CAAC;QAC7C,SAAS,EAAEJ,oBAAK,CAACG;MAAM,EACvB,CACG,GACLf,IAAI,KAAK,SAAS,gBACpB,6BAAC,wBAAW;QACV,IAAI,EAAC,QAAQ;QACb,IAAI,EAAEiB,mBAAO;QACb,OAAO,EAAErB,IAAI,CAACM,KAAK,KAAK,MAAO;QAC/B,QAAQ,EAAE,kBAACA,KAAK;UAAA,OAAKL,OAAO,CAAC;YAAEK,KAAK,EAAEA,KAAK,GAAG,MAAM,GAAG;UAAQ,CAAC,CAAC;QAAA,CAAC;QAClE,SAAS,EAAEU,oBAAK,CAACG;MAAM,EACvB,gBAEF,6BAAC,oBAAS;QACR,IAAI,EAAC,QAAQ;QACb,IAAI,EAAC,QAAQ;QACb,KAAK,EAAEnB,IAAI,CAACM,KAAM;QAClB,QAAQ,EAAE,kBAACA,KAAK;UAAA,OAAKL,OAAO,CAAC;YAAEK,KAAK,EAALA;UAAM,CAAC,CAAC;QAAA,CAAC;QACxC,SAAS,EAAEU,oBAAK,CAACG;MAAM,EAE1B;MACHJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,QAAQ,eACN,6BAAC,gBAAI;QAAC,GAAG;QAAC,IAAI;QAAC,SAAS,EAAEE,oBAAK,CAACC;MAAM,gBACpC,6BAAC,cAAM;QAAC,SAAS;QAAC,IAAI;QAAC,OAAO,EAAEN;MAAa,GAC1CtB,YAAY,CACN,eACT,6BAAC,cAAM;QACL,QAAQ,EAAEe,IAAI,KAAK,SAAS,IAAI,CAACJ,IAAI,CAACM,KAAK,IAAI,CAACN,IAAI,CAACkB,GAAG,IAAI,CAAClB,IAAI,CAACoB,GAAI;QACtE,IAAI;QACJ,OAAO,EAAER,YAAa;QACtB,MAAM,EAAEC,MAAM,aAAMA,MAAM,eAAYN;MAAU,GAE/CjB,YAAY,CACN;IAGf,CAAC,CACD;IACF,MAAM;IACN,QAAQ;IACR,OAAO,EAAEI,OAAQ;IACjB,SAAS,EAAE,IAAA4B,eAAM,EAACN,oBAAK,CAACO,UAAU,EAAEzB,MAAM,CAAC0B,SAAS;EAAE,iBAEtD,6BAAC,qBAAS;IAAC,OAAO,EAAEhB,WAAY;IAAC,KAAK,EAAE;MAAEiB,QAAQ,EAAE;IAAW;EAAE,gBAC/D,6BAAC,gBAAI;IAAC,KAAK,EAAEC,gBAAI,CAACC,MAAO;IAAC,SAAS,EAAE,IAAAL,eAAM,EAACN,oBAAK,CAACY,IAAI,EAAE,CAAClC,OAAO,IAAIsB,oBAAK,CAACa,QAAQ;EAAE,EAAG,CAC7E,CACP;AAEX,CAAC;AAAC;AAEF3C,YAAY,CAAC4C,WAAW,GAAG,8BAA8B;AAEzD5C,YAAY,CAAC6C,SAAS,GAAG;EACvB5C,KAAK,EAAE6C,kBAAS,CAACC,MAAM,CAACC,UAAU;EAClC9C,IAAI,EAAE+C,iBAAU;EAChB1C,MAAM,EAAEuC,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC,CAACF,UAAU;EACtCxC,OAAO,EAAEsC,kBAAS,CAACK,IAAI;EACvBzC,OAAO,EAAEoC,kBAAS,CAACM,IAAI,CAACJ,UAAU;EAClCrC,QAAQ,EAAEmC,kBAAS,CAACM,IAAI,CAACJ;AAC3B,CAAC"}
|
|
@@ -18,7 +18,6 @@ var _excluded = ["dataSource", "filter", "inline", "l10n", "schema", "search", "
|
|
|
18
18
|
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); }
|
|
19
19
|
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; }
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
22
21
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
23
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -74,6 +73,9 @@ var Table = function Table(_ref) {
|
|
|
74
73
|
setFilter(nextFilter);
|
|
75
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
75
|
}, []);
|
|
76
|
+
(0, _react.useEffect)(function () {
|
|
77
|
+
if (!_helpers.IS_JEST) setSelected(propSelected);
|
|
78
|
+
}, [propSelected]);
|
|
77
79
|
(0, _react.useEffect)(function () {
|
|
78
80
|
if (!store) return;
|
|
79
81
|
_helpers2.Storage.set("".concat(store, ":filter"), filter);
|
|
@@ -100,7 +102,9 @@ var Table = function Table(_ref) {
|
|
|
100
102
|
var handleSort = function handleSort(field) {
|
|
101
103
|
setSort(sort[field] === undefined ? _defineProperty({}, field, true) : sort[field] ? _defineProperty({}, field, false) : {});
|
|
102
104
|
};
|
|
103
|
-
var
|
|
105
|
+
var _others$role = others.role,
|
|
106
|
+
role = _others$role === void 0 ? 'table' : _others$role,
|
|
107
|
+
testId = others.testId;
|
|
104
108
|
var fields = Object.keys(schema);
|
|
105
109
|
var _ref4 = (filter === null || filter === void 0 ? void 0 : filter.filter(function () {
|
|
106
110
|
var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
@@ -108,29 +112,25 @@ var Table = function Table(_ref) {
|
|
|
108
112
|
return fields.includes(field);
|
|
109
113
|
})) || {},
|
|
110
114
|
filterFields = _ref4.length;
|
|
111
|
-
return /*#__PURE__*/_react.default.createElement(onScroll ? _primitives.ScrollView : _primitives.View,
|
|
112
|
-
role:
|
|
115
|
+
return /*#__PURE__*/_react.default.createElement(onScroll ? _primitives.ScrollView : _primitives.View, _objectSpread(_objectSpread({}, others), {}, {
|
|
116
|
+
role: role,
|
|
113
117
|
onScroll: onScroll,
|
|
114
|
-
className: (0, _helpers.styles)(!inline && _TableModule.default.outlined, others.className)
|
|
115
|
-
})
|
|
116
|
-
className: others.className
|
|
117
|
-
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterFields > 0 && /*#__PURE__*/_react.default.createElement(_Table2.Filter, {
|
|
118
|
+
className: (0, _helpers.styles)(_TableModule.default.container, !inline && _TableModule.default.outlined, others.className)
|
|
119
|
+
}), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterFields > 0 && /*#__PURE__*/_react.default.createElement(_Table2.Filter, {
|
|
118
120
|
filter: filter,
|
|
119
121
|
schema: schema,
|
|
120
122
|
role: "table-filter",
|
|
121
123
|
onRemove: function onRemove(index) {
|
|
122
124
|
return handleRemoveFilter(index);
|
|
123
125
|
}
|
|
124
|
-
}), /*#__PURE__*/_react.default.createElement(_primitives.Primitive, _extends({
|
|
125
|
-
role: "table",
|
|
126
|
-
tag: "table"
|
|
127
|
-
}, !onScroll ? others : undefined, {
|
|
128
|
-
className: (0, _helpers.styles)(_TableModule.default.table, !onScroll && !inline && others.className)
|
|
129
126
|
}), /*#__PURE__*/_react.default.createElement(_primitives.Primitive, {
|
|
127
|
+
tag: "table",
|
|
128
|
+
className: _TableModule.default.table
|
|
129
|
+
}, /*#__PURE__*/_react.default.createElement(_primitives.Primitive, {
|
|
130
130
|
tag: "thead"
|
|
131
131
|
}, /*#__PURE__*/_react.default.createElement(_Table3.Row, {
|
|
132
132
|
checked: dataSource.length > 0 ? selected.length === dataSource.length : undefined,
|
|
133
|
-
indeterminate: selected.length > 0,
|
|
133
|
+
indeterminate: dataSource.length > 0 && selected.length > 0,
|
|
134
134
|
l10n: l10n,
|
|
135
135
|
schema: schema,
|
|
136
136
|
sort: sort,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["Table","dataSource","filter","propFilter","inline","l10n","schema","search","selected","propSelected","store","onPress","onScroll","onSelect","others","useState","setFilter","setSelected","sort","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","handleSelect","exists","handleSort","field","undefined","testId","fields","Object","keys","includes","filterFields","React","createElement","ScrollView","View","role","className","styles","style","outlined","table","useMemo","select","map","displayName","propTypes","PropTypes","arrayOf","shape","bool","L10N_SHAPE","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useMemo, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView, View } from '../../primitives';\nimport { exists, select, Storage } from './helpers';\nimport { L10N_SHAPE } from './Table.constants';\nimport { Filter } from './Table.Filter';\nimport style from './Table.module.css';\nimport { Row } from './Table.Row';\n\nexport const Table = ({\n dataSource = [],\n filter: propFilter = [],\n inline = true,\n l10n,\n schema,\n search,\n selected: propSelected = [],\n store,\n onPress,\n onScroll,\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\n const [selected, setSelected] = useState(propSelected);\n const [sort, setSort] = useState({});\n\n useEffect(() => {\n let nextFilter = propFilter;\n if (store) {\n const storeFilter = Storage.get(`${store}:filter`);\n if (storeFilter?.length) nextFilter = storeFilter;\n }\n\n setFilter(nextFilter);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!store) return;\n Storage.set(`${store}:filter`, filter);\n }, [filter, store]);\n\n const handleAddFilter = (item) => {\n setFilter([...filter, item]);\n };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n };\n\n const handleHeadSelect = (row, event) => {\n const next = selected.length !== dataSource.length ? dataSource : [];\n\n onSelect(next, event);\n setSelected(next);\n };\n\n const handleSelect = (row, event) => {\n const next = exists(row, selected) ? selected.filter((item) => !exists(row, [item])) : [...selected, row];\n\n onSelect(next, event);\n setSelected(next);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { testId } = others;\n const fields = Object.keys(schema);\n const { length: filterFields } = filter?.filter(({ field } = {}) => fields.includes(field)) || {};\n\n return React.createElement(\n onScroll ? ScrollView : View,\n onScroll || !inline\n ? {\n ...others,\n role: others.role || 'table',\n onScroll,\n className: styles(!inline && style.outlined, others.className),\n }\n : { className: others.className },\n <>\n {filterFields > 0 && (\n <Filter filter={filter} schema={schema} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\n <Primitive\n role=\"table\"\n tag=\"table\"\n {...(!onScroll ? others : undefined)}\n className={styles(style.table, !onScroll && !inline && others.className)}\n >\n <Primitive tag=\"thead\">\n <Row\n checked={dataSource.length > 0 ? selected.length === dataSource.length : undefined}\n indeterminate={selected.length > 0}\n l10n={l10n}\n schema={schema}\n sort={sort}\n onFilter={handleAddFilter}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={handleSort}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, schema, search, selected, sort }),\n [dataSource, filter, schema, search, selected, sort],\n ).map((row, index) => (\n <Row\n checked={exists(row, selected)}\n dataSource={row}\n key={index}\n schema={schema}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </Primitive>\n </Primitive>\n </>,\n );\n};\n\nTable.displayName = 'Component:Table';\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n inline: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n store: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","names":["Table","dataSource","filter","propFilter","inline","l10n","schema","search","selected","propSelected","store","onPress","onScroll","onSelect","others","useState","setFilter","setSelected","sort","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","IS_JEST","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","handleSelect","exists","handleSort","field","undefined","role","testId","fields","Object","keys","includes","filterFields","React","createElement","ScrollView","View","className","styles","style","container","outlined","table","useMemo","select","map","displayName","propTypes","PropTypes","arrayOf","shape","bool","L10N_SHAPE","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useMemo, useState } from 'react';\n\nimport { IS_JEST, styles } from '../../helpers';\nimport { Primitive, ScrollView, View } from '../../primitives';\nimport { exists, select, Storage } from './helpers';\nimport { L10N_SHAPE } from './Table.constants';\nimport { Filter } from './Table.Filter';\nimport style from './Table.module.css';\nimport { Row } from './Table.Row';\n\nexport const Table = ({\n dataSource = [],\n filter: propFilter = [],\n inline = true,\n l10n,\n schema,\n search,\n selected: propSelected = [],\n store,\n onPress,\n onScroll,\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\n const [selected, setSelected] = useState(propSelected);\n const [sort, setSort] = useState({});\n\n useEffect(() => {\n let nextFilter = propFilter;\n if (store) {\n const storeFilter = Storage.get(`${store}:filter`);\n if (storeFilter?.length) nextFilter = storeFilter;\n }\n\n setFilter(nextFilter);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!IS_JEST) setSelected(propSelected);\n }, [propSelected]);\n\n useEffect(() => {\n if (!store) return;\n Storage.set(`${store}:filter`, filter);\n }, [filter, store]);\n\n const handleAddFilter = (item) => {\n setFilter([...filter, item]);\n };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n };\n\n const handleHeadSelect = (row, event) => {\n const next = selected.length !== dataSource.length ? dataSource : [];\n\n onSelect(next, event);\n setSelected(next);\n };\n\n const handleSelect = (row, event) => {\n const next = exists(row, selected) ? selected.filter((item) => !exists(row, [item])) : [...selected, row];\n\n onSelect(next, event);\n setSelected(next);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { role = 'table', testId } = others;\n const fields = Object.keys(schema);\n const { length: filterFields } = filter?.filter(({ field } = {}) => fields.includes(field)) || {};\n\n return React.createElement(\n onScroll ? ScrollView : View,\n {\n ...others,\n role,\n onScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && (\n <Filter filter={filter} schema={schema} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\n <Primitive tag=\"table\" className={style.table}>\n <Primitive tag=\"thead\">\n <Row\n checked={dataSource.length > 0 ? selected.length === dataSource.length : undefined}\n indeterminate={dataSource.length > 0 && selected.length > 0}\n l10n={l10n}\n schema={schema}\n sort={sort}\n onFilter={handleAddFilter}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={handleSort}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, schema, search, selected, sort }),\n [dataSource, filter, schema, search, selected, sort],\n ).map((row, index) => (\n <Row\n checked={exists(row, selected)}\n dataSource={row}\n key={index}\n schema={schema}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </Primitive>\n </Primitive>\n </>,\n );\n};\n\nTable.displayName = 'Component:Table';\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n inline: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n store: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
width: 100%;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.container.outlined {
|
|
6
|
+
border: solid var(--mirai-ui-border-width) var(--mirai-ui-table-border-color);
|
|
7
|
+
border-radius: var(--mirai-ui-table-border-radius);
|
|
8
|
+
}
|
|
9
|
+
|
|
1
10
|
.table {
|
|
2
11
|
background-color: var(--mirai-ui-table-background);
|
|
3
12
|
border-collapse: collapse;
|
|
@@ -12,13 +21,13 @@
|
|
|
12
21
|
|
|
13
22
|
.table thead {
|
|
14
23
|
background-color: var(--mirai-ui-table-background);
|
|
24
|
+
box-shadow: 0 var(--mirai-ui-border-width) var(--mirai-ui-table-border-color);
|
|
15
25
|
position: sticky;
|
|
16
26
|
top: 0;
|
|
17
27
|
z-index: var(--mirai-ui-layer-L);
|
|
18
28
|
}
|
|
19
29
|
|
|
20
30
|
.table thead tr {
|
|
21
|
-
box-shadow: 0 var(--mirai-ui-border-width) var(--mirai-ui-table-border-color);
|
|
22
31
|
font-family: var(--mirai-ui-font-bold);
|
|
23
32
|
font-size: var(--mirai-ui-font-size-small);
|
|
24
33
|
font-weight: var(--mirai-ui-font-bold-weight);
|
|
@@ -104,12 +113,6 @@
|
|
|
104
113
|
min-width: var(--mirai-ui-checkbox-size);
|
|
105
114
|
}
|
|
106
115
|
|
|
107
|
-
.outlined {
|
|
108
|
-
border: solid var(--mirai-ui-border-width) var(--mirai-ui-table-border-color);
|
|
109
|
-
border-radius: var(--mirai-ui-table-border-radius);
|
|
110
|
-
overflow-y: hidden;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
116
|
/* <ColumnFilter> */
|
|
114
117
|
.table .menuFilter .items {
|
|
115
118
|
gap: var(--mirai-ui-space-M);
|
|
@@ -149,9 +152,11 @@
|
|
|
149
152
|
width: var(--mirai-ui-space-L);
|
|
150
153
|
}
|
|
151
154
|
|
|
155
|
+
/* Mobile */
|
|
152
156
|
@media only screen and (max-width: 430px) {
|
|
153
157
|
}
|
|
154
158
|
|
|
159
|
+
/* Table & Desktop */
|
|
155
160
|
@media only screen and (min-width: 431px) {
|
|
156
161
|
.table thead tr th:hover {
|
|
157
162
|
color: var(--mirai-ui-table-color);
|
|
@@ -176,3 +181,10 @@
|
|
|
176
181
|
background-color: var(--mirai-ui-content-background);
|
|
177
182
|
}
|
|
178
183
|
}
|
|
184
|
+
|
|
185
|
+
/* Safari */
|
|
186
|
+
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
|
187
|
+
.table thead {
|
|
188
|
+
border-bottom: solid var(--mirai-ui-border-width) var(--mirai-ui-table-border-color);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.stories.js","names":["title","tags","value","map","language","style","tag","handleSwitch","event","stopPropagation","console","log","dataSource","username","email","active","activeSwitch","year","undefined","languages","action","twitter","actionTitle","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","handlePress","handleSelect","table","storyName","args","filter","field","min","max","inline","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","label","type","hidden","bind","sort","bio","store","testId","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, Icon, ICON, InputText, Switch, Text, View } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nconst tags = (value) =>\n value.map((language) => (\n <Text key={language} bold tiny className={style.tag}>\n {language}\n </Text>\n ));\n\nconst handleSwitch = (value, event) => {\n event.stopPropagation();\n console.log('::switch::', value);\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n year: undefined,\n languages: ['ES', 'EN'],\n tags: tags(['ES', 'EN']),\n action: null,\n },\n {\n username: 'mario/1',\n email: 'mario.1@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: ['ES'],\n tags: null,\n year: 2005,\n },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n tags: tags(['RU', 'ES', 'EN']),\n languages: ['RU', 'ES', 'EN'],\n year: 2021,\n twitter: undefined,\n action: <Button small>Click Me</Button>,\n actionTitle: 'Click Me',\n },\n {\n username: 'javi',\n email: 'hi@soyjavi.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n tags: null,\n languages: ['EU', 'ES', 'EN', 'TH'],\n tags: tags(['EU', 'ES', 'EN', 'TH']),\n year: 2022,\n twitter: 'soyjavi',\n bio: \"Hi, I'm Javi. For as long as I can remember, I have always loved build software and helping people through it. I strive to design simple, clean, and beautiful products in the hope that they will make a difference in the world.\",\n },\n {\n username: 'victor',\n email: 'victor@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: ['ES'],\n tags: tags(['ES']),\n year: 2021,\n },\n {\n username: 'mario/2',\n email: 'mario.2@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: ['ES'],\n tags: tags(['ES']),\n year: 2022,\n },\n];\n\nexport const Story = (props) => {\n const [selected, setSelected] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n setSearch(props.search);\n }, [props.search]);\n\n const handleScroll = (...others) => console.log('<Table>::onScroll', ...others);\n\n const handlePress = (...others) => console.log('<Table>::onPress', ...others);\n\n const handleSelect = (...others) => {\n console.log('<Table>::onSelect', ...others);\n setSelected(...others);\n };\n\n return (\n <>\n <InputText name=\"search\" placeholder=\"search...\" type=\"search\" value={search} onChange={setSearch} />\n\n <Table\n {...props}\n search={search}\n selected={selected}\n onPress={handlePress}\n onScroll={handleScroll}\n onSelect={handleSelect}\n className={style.table}\n />\n </>\n );\n};\n\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'nonExistent', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 2020, max: 2023 },\n ],\n inline: true,\n l10n: {\n actionCancel: 'Cancel',\n actionSubmit: 'Submit',\n labelMax: 'Max',\n labelMin: 'Min',\n },\n schema: {\n username: { label: 'User Name' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'boolean', hidden: true },\n activeSwitch: { label: 'Active', type: 'component', bind: 'active', sort: false },\n tags: {\n label: (\n <View row className={style.label}>\n <Text>🏷️</Text>\n Tags\n </View>\n ),\n type: 'component',\n bind: 'languages',\n },\n languages: { label: 'Languages', hidden: true },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', sort: false, filter: false },\n },\n search: '',\n store: 'mirai',\n // inherited properties\n testId: 'test-story',\n style: {\n background: 'green',\n },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.stories.js","names":["title","tags","value","map","language","style","tag","handleSwitch","event","stopPropagation","console","log","dataSource","username","email","active","activeSwitch","year","undefined","languages","action","twitter","actionTitle","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","handlePress","handleSelect","table","storyName","args","filter","field","min","max","inline","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","label","type","hidden","bind","sort","bio","store","testId","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, Icon, ICON, InputText, Switch, Text, View } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nconst tags = (value) =>\n value.map((language) => (\n <Text key={language} bold tiny className={style.tag}>\n {language}\n </Text>\n ));\n\nconst handleSwitch = (value, event) => {\n event.stopPropagation();\n console.log('::switch::', value);\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n year: undefined,\n languages: ['ES', 'EN'],\n tags: tags(['ES', 'EN']),\n action: null,\n },\n {\n username: 'mario/1',\n email: 'mario.1@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: ['ES'],\n tags: null,\n year: 0,\n },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n tags: tags(['RU', 'ES', 'EN']),\n languages: ['RU', 'ES', 'EN'],\n year: 2021,\n twitter: undefined,\n action: <Button small>Click Me</Button>,\n actionTitle: 'Click Me',\n },\n {\n username: 'javi',\n email: 'hi@soyjavi.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n tags: null,\n languages: ['EU', 'ES', 'EN', 'TH'],\n tags: tags(['EU', 'ES', 'EN', 'TH']),\n year: 2022,\n twitter: 'soyjavi',\n bio: \"Hi, I'm Javi. For as long as I can remember, I have always loved build software and helping people through it. I strive to design simple, clean, and beautiful products in the hope that they will make a difference in the world.\",\n },\n {\n username: 'victor',\n email: 'victor@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: ['ES'],\n tags: tags(['ES']),\n year: 2021,\n },\n {\n username: 'mario/2',\n email: 'mario.2@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: ['ES'],\n tags: tags(['ES']),\n year: 2022,\n },\n];\n\nexport const Story = (props) => {\n const [selected, setSelected] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n setSearch(props.search);\n }, [props.search]);\n\n const handleScroll = (...others) => console.log('<Table>::onScroll', ...others);\n\n const handlePress = (...others) => console.log('<Table>::onPress', ...others);\n\n const handleSelect = (...others) => {\n console.log('<Table>::onSelect', ...others);\n setSelected(...others);\n };\n\n return (\n <>\n <InputText name=\"search\" placeholder=\"search...\" type=\"search\" value={search} onChange={setSearch} />\n\n <Table\n {...props}\n search={search}\n selected={selected}\n onPress={handlePress}\n onScroll={handleScroll}\n onSelect={handleSelect}\n className={style.table}\n />\n </>\n );\n};\n\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'nonExistent', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 2020, max: 2023 },\n ],\n inline: true,\n l10n: {\n actionCancel: 'Cancel',\n actionSubmit: 'Submit',\n labelMax: 'Max',\n labelMin: 'Min',\n },\n schema: {\n username: { label: 'User Name' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'boolean', hidden: true },\n activeSwitch: { label: 'Active', type: 'component', bind: 'active', sort: false },\n tags: {\n label: (\n <View row className={style.label}>\n <Text>🏷️</Text>\n Tags\n </View>\n ),\n type: 'component',\n bind: 'languages',\n },\n languages: { label: 'Languages', hidden: true },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', sort: false, filter: false },\n },\n search: '',\n store: 'mirai',\n // inherited properties\n testId: 'test-story',\n style: {\n background: 'green',\n },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
|
|
@@ -22,15 +22,17 @@
|
|
|
22
22
|
gap: var(--mirai-ui-space-XS);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
/* Mobile */
|
|
25
26
|
@media only screen and (max-width: 430px) {
|
|
26
27
|
.table {
|
|
27
28
|
width: 100%;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
/* Tablet & Desktop */
|
|
33
|
+
@media only screen and (min-width: 431px) {
|
|
32
34
|
.table {
|
|
33
|
-
max-height:
|
|
34
|
-
width:
|
|
35
|
+
max-height: 40vh;
|
|
36
|
+
width: 80vw;
|
|
35
37
|
}
|
|
36
38
|
}
|
|
@@ -112,7 +112,8 @@ exports[`component:<Table>:<ColumnFilter> inherit:className 1`] = `
|
|
|
112
112
|
$Cancel
|
|
113
113
|
</button>
|
|
114
114
|
<button
|
|
115
|
-
class="pressable button wide"
|
|
115
|
+
class="pressable disabled button disabled wide"
|
|
116
|
+
disabled=""
|
|
116
117
|
>
|
|
117
118
|
$Submit
|
|
118
119
|
</button>
|
|
@@ -236,7 +237,8 @@ exports[`component:<Table>:<ColumnFilter> prop:l10n 1`] = `
|
|
|
236
237
|
Cancel
|
|
237
238
|
</button>
|
|
238
239
|
<button
|
|
239
|
-
class="pressable button wide"
|
|
240
|
+
class="pressable disabled button disabled wide"
|
|
241
|
+
disabled=""
|
|
240
242
|
>
|
|
241
243
|
Submit
|
|
242
244
|
</button>
|
|
@@ -360,7 +362,8 @@ exports[`component:<Table>:<ColumnFilter> prop:schema type:number 1`] = `
|
|
|
360
362
|
Cancel
|
|
361
363
|
</button>
|
|
362
364
|
<button
|
|
363
|
-
class="pressable button wide"
|
|
365
|
+
class="pressable disabled button disabled wide"
|
|
366
|
+
disabled=""
|
|
364
367
|
>
|
|
365
368
|
Submit
|
|
366
369
|
</button>
|
|
@@ -484,7 +487,8 @@ exports[`component:<Table>:<ColumnFilter> prop:schema type:text 1`] = `
|
|
|
484
487
|
Cancel
|
|
485
488
|
</button>
|
|
486
489
|
<button
|
|
487
|
-
class="pressable button wide"
|
|
490
|
+
class="pressable disabled button disabled wide"
|
|
491
|
+
disabled=""
|
|
488
492
|
>
|
|
489
493
|
Submit
|
|
490
494
|
</button>
|
|
@@ -608,7 +612,8 @@ exports[`component:<Table>:<ColumnFilter> renders 1`] = `
|
|
|
608
612
|
$Cancel
|
|
609
613
|
</button>
|
|
610
614
|
<button
|
|
611
|
-
class="pressable button wide"
|
|
615
|
+
class="pressable disabled button disabled wide"
|
|
616
|
+
disabled=""
|
|
612
617
|
>
|
|
613
618
|
$Submit
|
|
614
619
|
</button>
|
|
@@ -737,8 +742,9 @@ exports[`component:<Table>:<ColumnFilter> testId 1`] = `
|
|
|
737
742
|
$Cancel
|
|
738
743
|
</button>
|
|
739
744
|
<button
|
|
740
|
-
class="pressable button wide"
|
|
745
|
+
class="pressable disabled button disabled wide"
|
|
741
746
|
data-testid="mirai-submit"
|
|
747
|
+
disabled=""
|
|
742
748
|
>
|
|
743
749
|
$Submit
|
|
744
750
|
</button>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports[`component:<Table> inherit:className 1`] = `
|
|
4
4
|
<DocumentFragment>
|
|
5
5
|
<div
|
|
6
|
-
class="view mirai"
|
|
6
|
+
class="view container mirai"
|
|
7
7
|
>
|
|
8
8
|
<table
|
|
9
9
|
class="table"
|
|
@@ -559,7 +559,7 @@ exports[`component:<Table> inherit:className 1`] = `
|
|
|
559
559
|
exports[`component:<Table> prop:filter 1`] = `
|
|
560
560
|
<DocumentFragment>
|
|
561
561
|
<div
|
|
562
|
-
class="view"
|
|
562
|
+
class="view container"
|
|
563
563
|
>
|
|
564
564
|
<div
|
|
565
565
|
class="view row wide filters"
|
|
@@ -1142,7 +1142,7 @@ exports[`component:<Table> prop:filter 1`] = `
|
|
|
1142
1142
|
exports[`component:<Table> prop:inline (false 1`] = `
|
|
1143
1143
|
<DocumentFragment>
|
|
1144
1144
|
<div
|
|
1145
|
-
class="view outlined"
|
|
1145
|
+
class="view container outlined"
|
|
1146
1146
|
>
|
|
1147
1147
|
<table
|
|
1148
1148
|
class="table"
|
|
@@ -1698,7 +1698,7 @@ exports[`component:<Table> prop:inline (false 1`] = `
|
|
|
1698
1698
|
exports[`component:<Table> prop:onScroll 1`] = `
|
|
1699
1699
|
<DocumentFragment>
|
|
1700
1700
|
<div
|
|
1701
|
-
class="scrollview snap"
|
|
1701
|
+
class="scrollview snap container"
|
|
1702
1702
|
data-testid="onScroll"
|
|
1703
1703
|
>
|
|
1704
1704
|
<table
|
|
@@ -2351,11 +2351,11 @@ exports[`component:<Table> prop:onScroll 1`] = `
|
|
|
2351
2351
|
exports[`component:<Table> prop:onSelect 1`] = `
|
|
2352
2352
|
<DocumentFragment>
|
|
2353
2353
|
<div
|
|
2354
|
-
class="view"
|
|
2354
|
+
class="view container"
|
|
2355
|
+
data-testid="onSelect"
|
|
2355
2356
|
>
|
|
2356
2357
|
<table
|
|
2357
2358
|
class="table"
|
|
2358
|
-
data-testid="onSelect"
|
|
2359
2359
|
>
|
|
2360
2360
|
<thead>
|
|
2361
2361
|
<tr
|
|
@@ -3124,7 +3124,7 @@ exports[`component:<Table> prop:onSelect 1`] = `
|
|
|
3124
3124
|
exports[`component:<Table> prop:search 1`] = `
|
|
3125
3125
|
<DocumentFragment>
|
|
3126
3126
|
<div
|
|
3127
|
-
class="view"
|
|
3127
|
+
class="view container"
|
|
3128
3128
|
>
|
|
3129
3129
|
<table
|
|
3130
3130
|
class="table"
|
|
@@ -3478,7 +3478,7 @@ exports[`component:<Table> prop:search 1`] = `
|
|
|
3478
3478
|
exports[`component:<Table> prop:selected 1`] = `
|
|
3479
3479
|
<DocumentFragment>
|
|
3480
3480
|
<div
|
|
3481
|
-
class="view"
|
|
3481
|
+
class="view container"
|
|
3482
3482
|
>
|
|
3483
3483
|
<table
|
|
3484
3484
|
class="table"
|
|
@@ -4036,7 +4036,7 @@ exports[`component:<Table> prop:selected 1`] = `
|
|
|
4036
4036
|
exports[`component:<Table> prop:store 1`] = `
|
|
4037
4037
|
<DocumentFragment>
|
|
4038
4038
|
<div
|
|
4039
|
-
class="view"
|
|
4039
|
+
class="view container"
|
|
4040
4040
|
>
|
|
4041
4041
|
<div
|
|
4042
4042
|
class="view row wide filters"
|
|
@@ -4402,7 +4402,7 @@ exports[`component:<Table> prop:store 1`] = `
|
|
|
4402
4402
|
exports[`component:<Table> renders 1`] = `
|
|
4403
4403
|
<DocumentFragment>
|
|
4404
4404
|
<div
|
|
4405
|
-
class="view"
|
|
4405
|
+
class="view container"
|
|
4406
4406
|
>
|
|
4407
4407
|
<table
|
|
4408
4408
|
class="table"
|
|
@@ -4958,11 +4958,11 @@ exports[`component:<Table> renders 1`] = `
|
|
|
4958
4958
|
exports[`component:<Table> testId 1`] = `
|
|
4959
4959
|
<DocumentFragment>
|
|
4960
4960
|
<div
|
|
4961
|
-
class="view"
|
|
4961
|
+
class="view container"
|
|
4962
|
+
data-testid="mirai"
|
|
4962
4963
|
>
|
|
4963
4964
|
<table
|
|
4964
4965
|
class="table"
|
|
4965
|
-
data-testid="mirai"
|
|
4966
4966
|
>
|
|
4967
4967
|
<thead>
|
|
4968
4968
|
<tr
|
|
@@ -53,18 +53,18 @@ var select = function select() {
|
|
|
53
53
|
return filterGrouped.every(function (_ref4) {
|
|
54
54
|
var _fieldValue;
|
|
55
55
|
var field = _ref4.field,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
_ref4$min = _ref4.min,
|
|
59
|
-
min = _ref4$min === void 0 ? -Infinity : _ref4$min,
|
|
56
|
+
max = _ref4.max,
|
|
57
|
+
min = _ref4.min,
|
|
60
58
|
value = _ref4.value;
|
|
59
|
+
var fieldKey = schema[field].bind || field;
|
|
60
|
+
var type = schema[fieldKey].type;
|
|
61
61
|
var fieldValue = row[schema[field].bind || field];
|
|
62
|
-
if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ');
|
|
63
|
-
if (
|
|
62
|
+
if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ').toLowerCase();
|
|
63
|
+
if (type === 'boolean') fieldValue = fieldValue ? 'true' : 'false';
|
|
64
64
|
return value ? !Array.isArray(value) ? (_fieldValue = fieldValue) === null || _fieldValue === void 0 ? void 0 : _fieldValue.toLowerCase().includes(value.toLowerCase()) : value.some(function (item) {
|
|
65
65
|
var _fieldValue2;
|
|
66
|
-
return (_fieldValue2 = fieldValue) === null || _fieldValue2 === void 0 ? void 0 : _fieldValue2.
|
|
67
|
-
}) :
|
|
66
|
+
return (_fieldValue2 = fieldValue) === null || _fieldValue2 === void 0 ? void 0 : _fieldValue2.includes(item.toLowerCase());
|
|
67
|
+
}) : type === 'number' ? (fieldValue === undefined ? false : fieldValue >= (min || -Infinity)) && (fieldValue === undefined ? false : fieldValue <= (max || Infinity)) : false;
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["select","dataSource","filter","schema","search","sort","flatten","values","fields","Object","keys","length","filterGrouped","field","includes","reduce","group","item","itemFound","find","value","Array","isArray","push","row","every","max","
|
|
1
|
+
{"version":3,"file":"select.js","names":["select","dataSource","filter","schema","search","sort","flatten","values","fields","Object","keys","length","filterGrouped","field","includes","reduce","group","item","itemFound","find","value","Array","isArray","push","row","every","max","min","fieldKey","bind","type","fieldValue","join","toLowerCase","some","undefined","Infinity","forEach","index","rowValues","key","map","JSON","stringify","order","a","b"],"sources":["../../../../src/components/Table/helpers/select.js"],"sourcesContent":["export const select = ({ dataSource = [], filter = [], schema = {}, search, sort = {} } = {}) => {\n let flatten = [...dataSource];\n let values = [];\n\n const fields = Object.keys(schema);\n\n if (filter?.length > 0) {\n const filterGrouped = [...filter]\n .filter(({ field }) => fields.includes(field))\n .reduce((group, item = {}) => {\n const itemFound = group.find(({ field }) => item.field === field);\n\n if (itemFound && item.value) {\n if (!Array.isArray(itemFound.value)) itemFound.value = [itemFound.value];\n itemFound.value.push(item.value);\n } else {\n group.push({ ...item });\n }\n\n return group;\n }, []);\n\n flatten = flatten.filter((row = {}) =>\n filterGrouped.every(({ field, max, min, value }) => {\n const fieldKey = schema[field].bind || field;\n const { type } = schema[fieldKey];\n let fieldValue = row[schema[field].bind || field];\n\n if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ').toLowerCase();\n if (type === 'boolean') fieldValue = fieldValue ? 'true' : 'false';\n\n return value\n ? !Array.isArray(value)\n ? fieldValue?.toLowerCase().includes(value.toLowerCase())\n : value.some((item) => fieldValue?.includes(item.toLowerCase()))\n : type === 'number'\n ? (fieldValue === undefined ? false : fieldValue >= (min || -Infinity)) &&\n (fieldValue === undefined ? false : fieldValue <= (max || Infinity))\n : false;\n }),\n );\n }\n\n if (search) {\n flatten.forEach((row, index) => {\n const rowValues = Object.keys(row)\n .filter((key) => !schema[key]?.bind && schema[key]?.type !== 'component')\n .map((key) => row[key]);\n\n if (JSON.stringify(rowValues).toLowerCase().includes(search.toLowerCase())) values.push(flatten[index]);\n });\n } else {\n values = [...flatten];\n }\n\n Object.keys(sort).forEach((key) => {\n const fieldKey = schema[key].bind || key;\n const order = sort[key] ? 1 : -1;\n\n values.sort(\n ({ [fieldKey]: a } = {}, { [fieldKey]: b } = {}) =>\n (a === undefined || a < b ? -1 : b === undefined || a > b ? 1 : 0) * order,\n );\n });\n\n return values;\n};\n"],"mappings":"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"}
|