@mirai/ui 1.0.184 → 1.0.186

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.
@@ -11,7 +11,8 @@ var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
12
  var _Tooltip = require("../Tooltip");
13
13
  var _ButtonModule = _interopRequireDefault(require("./Button.module.css"));
14
- var _excluded = ["busy", "children", "disabled", "fixed", "large", "rounded", "secondary", "small", "squared", "tag", "transparent", "tooltip", "wide", "onPress"];
14
+ var _excluded = ["busy", "children", "disabled", "large", "rounded", "secondary", "small", "squared", "tag", "transparent", "tooltip", "wide", "onPress"],
15
+ _excluded2 = ["fixed", "left", "right", "top"];
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17
  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; }
17
18
  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,7 +25,6 @@ var Button = function Button(_ref) {
24
25
  var busy = _ref.busy,
25
26
  children = _ref.children,
26
27
  disabled = _ref.disabled,
27
- fixed = _ref.fixed,
28
28
  large = _ref.large,
29
29
  rounded = _ref.rounded,
30
30
  secondary = _ref.secondary,
@@ -38,10 +38,18 @@ var Button = function Button(_ref) {
38
38
  tooltip = _ref.tooltip,
39
39
  wide = _ref.wide,
40
40
  onPress = _ref.onPress,
41
- others = _objectWithoutProperties(_ref, _excluded);
41
+ inherit = _objectWithoutProperties(_ref, _excluded);
42
+ var fixed = inherit.fixed,
43
+ left = inherit.left,
44
+ right = inherit.right,
45
+ top = inherit.top,
46
+ others = _objectWithoutProperties(inherit, _excluded2);
42
47
  return /*#__PURE__*/_react.default.createElement(tooltip ? _Tooltip.Tooltip : _react.default.Fragment, tooltip ? {
48
+ fixed: fixed,
49
+ left: left,
50
+ right: right,
43
51
  text: tooltip,
44
- fixed: fixed
52
+ top: top
45
53
  } : undefined, /*#__PURE__*/_react.default.createElement(_primitives.Pressable, _objectSpread(_objectSpread({}, others), {}, {
46
54
  disabled: disabled || busy,
47
55
  role: others.role || 'button',
@@ -63,7 +71,6 @@ Button.propTypes = {
63
71
  busy: _propTypes.default.bool,
64
72
  children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
65
73
  disabled: _propTypes.default.bool,
66
- fixed: _propTypes.default.bool,
67
74
  large: _propTypes.default.bool,
68
75
  rounded: _propTypes.default.bool,
69
76
  secondary: _propTypes.default.bool,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["Button","busy","children","disabled","fixed","large","rounded","secondary","small","squared","tag","transparent","tooltip","wide","onPress","others","React","createElement","Tooltip","Fragment","text","undefined","Pressable","role","className","styles","style","button","busyContainer","active","spinner","displayName","propTypes","PropTypes","bool","oneOfType","string","node","onEnter","func","onLeave"],"sources":["../../../src/components/Button/Button.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport style from './Button.module.css';\n\nconst Button = ({\n busy,\n children,\n disabled,\n fixed,\n large,\n rounded,\n secondary,\n small,\n squared = false,\n tag = 'button',\n transparent = false,\n tooltip,\n wide,\n onPress,\n ...others\n}) =>\n React.createElement(\n tooltip ? Tooltip : React.Fragment,\n tooltip ? { text: tooltip, fixed } : undefined,\n React.createElement(\n Pressable,\n {\n ...others,\n disabled: disabled || busy,\n role: others.role || 'button',\n tag,\n onPress,\n className: styles(\n style.button,\n busy && !disabled && style.busy,\n large && style.large,\n small && style.small,\n rounded && style.rounded,\n squared && style.squared,\n secondary && !transparent && !disabled && style.secondary,\n transparent && style.transparent,\n (disabled || busy) && style.disabled,\n wide && style.wide,\n others.className,\n ),\n },\n busy === undefined ? (\n children\n ) : (\n <>\n <View className={styles(style.busyContainer, busy && style.active)}>\n <View className={style.spinner} />\n </View>\n <View row className={style.children}>\n {children}\n </View>\n </>\n ),\n ),\n );\n\nButton.displayName = 'Component:Button';\n\nButton.propTypes = {\n busy: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n fixed: PropTypes.bool,\n large: PropTypes.bool,\n rounded: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n tooltip: PropTypes.string,\n transparent: PropTypes.bool,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["Button","busy","children","disabled","large","rounded","secondary","small","squared","tag","transparent","tooltip","wide","onPress","inherit","fixed","left","right","top","others","React","createElement","Tooltip","Fragment","text","undefined","Pressable","role","className","styles","style","button","busyContainer","active","spinner","displayName","propTypes","PropTypes","bool","oneOfType","string","node","onEnter","func","onLeave"],"sources":["../../../src/components/Button/Button.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport style from './Button.module.css';\n\nconst Button = ({\n busy,\n children,\n disabled,\n large,\n rounded,\n secondary,\n small,\n squared = false,\n tag = 'button',\n transparent = false,\n tooltip,\n wide,\n onPress,\n ...inherit\n}) => {\n const { fixed, left, right, top, ...others } = inherit;\n\n return React.createElement(\n tooltip ? Tooltip : React.Fragment,\n tooltip ? { fixed, left, right, text: tooltip, top } : undefined,\n React.createElement(\n Pressable,\n {\n ...others,\n disabled: disabled || busy,\n role: others.role || 'button',\n tag,\n onPress,\n className: styles(\n style.button,\n busy && !disabled && style.busy,\n large && style.large,\n small && style.small,\n rounded && style.rounded,\n squared && style.squared,\n secondary && !transparent && !disabled && style.secondary,\n transparent && style.transparent,\n (disabled || busy) && style.disabled,\n wide && style.wide,\n others.className,\n ),\n },\n busy === undefined ? (\n children\n ) : (\n <>\n <View className={styles(style.busyContainer, busy && style.active)}>\n <View className={style.spinner} />\n </View>\n <View row className={style.children}>\n {children}\n </View>\n </>\n ),\n ),\n );\n};\n\nButton.displayName = 'Component:Button';\nButton.propTypes = {\n busy: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n large: PropTypes.bool,\n rounded: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n tooltip: PropTypes.string,\n transparent: PropTypes.bool,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"mappings":"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"}
@@ -23,7 +23,7 @@ button.button:disabled:not(.busy) {
23
23
  color: var(--mirai-ui-button-disabled-color);
24
24
  }
25
25
 
26
- button.button:not(.transparent):hover {
26
+ button.button:not(.transparent):not(:disabled):hover {
27
27
  color: var(--mirai-ui-button-color);
28
28
  }
29
29
 
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
12
  var _Button = require("../Button");
13
+ var _InputOption = require("../InputOption");
13
14
  var _InputText = require("../InputText");
14
15
  var _Menu = require("../Menu");
15
16
  var _Table = require("./Table.constants");
@@ -44,11 +45,8 @@ var ColumnFilter = function ColumnFilter(_ref) {
44
45
  labelMax = _ref$l10n$labelMax === void 0 ? '$max' : _ref$l10n$labelMax,
45
46
  _ref$l10n$labelMin = _ref$l10n.labelMin,
46
47
  labelMin = _ref$l10n$labelMin === void 0 ? '$min' : _ref$l10n$labelMin,
47
- _ref$schema = _ref.schema;
48
- _ref$schema = _ref$schema === void 0 ? {} : _ref$schema;
49
- var label = _ref$schema.label,
50
- _ref$schema$type = _ref$schema.type,
51
- type = _ref$schema$type === void 0 ? 'text' : _ref$schema$type,
48
+ _ref$schema = _ref.schema,
49
+ schema = _ref$schema === void 0 ? {} : _ref$schema,
52
50
  _ref$visible = _ref.visible,
53
51
  propVisible = _ref$visible === void 0 ? false : _ref$visible,
54
52
  _ref$onFocus = _ref.onFocus,
@@ -64,11 +62,18 @@ var ColumnFilter = function ColumnFilter(_ref) {
64
62
  _useState4 = _slicedToArray(_useState3, 2),
65
63
  visible = _useState4[0],
66
64
  setVisible = _useState4[1];
65
+ var _ref2 = schema[field] || {},
66
+ label = _ref2.label,
67
+ _ref2$type = _ref2.type,
68
+ type = _ref2$type === void 0 ? 'text' : _ref2$type;
67
69
  (0, _react.useEffect)(function () {
68
70
  setVisible(propVisible);
69
71
  }, [propVisible]);
70
72
  (0, _react.useEffect)(function () {
71
- setForm({});
73
+ setForm({
74
+ value: type === 'boolean' ? 'false' : undefined
75
+ });
76
+ // eslint-disable-next-line react-hooks/exhaustive-deps
72
77
  }, [visible]);
73
78
  var handlePress = function handlePress(event) {
74
79
  event.preventDefault();
@@ -120,7 +125,17 @@ var ColumnFilter = function ColumnFilter(_ref) {
120
125
  }));
121
126
  },
122
127
  className: _TableModule.default.input
123
- })) : /*#__PURE__*/_react.default.createElement(_InputText.InputText, {
128
+ })) : type === 'boolean' ? /*#__PURE__*/_react.default.createElement(_InputOption.InputOption, {
129
+ name: "search",
130
+ type: _InputOption.SWITCH,
131
+ checked: form.value === 'true',
132
+ onChange: function onChange(value) {
133
+ return setForm({
134
+ value: value ? 'true' : 'false'
135
+ });
136
+ },
137
+ className: _TableModule.default.input
138
+ }) : /*#__PURE__*/_react.default.createElement(_InputText.InputText, {
124
139
  name: "search",
125
140
  type: "search",
126
141
  value: form.value,
@@ -166,10 +181,7 @@ ColumnFilter.displayName = 'Component:Table:ColumnFilter';
166
181
  ColumnFilter.propTypes = {
167
182
  field: _propTypes.default.string.isRequired,
168
183
  l10n: _Table.L10N_SHAPE,
169
- schema: _propTypes.default.shape({
170
- label: _propTypes.default.string,
171
- type: _propTypes.default.string
172
- }).isRequired,
184
+ schema: _propTypes.default.shape({}).isRequired,
173
185
  visible: _propTypes.default.bool,
174
186
  onFocus: _propTypes.default.func.isRequired,
175
187
  onSubmit: _propTypes.default.func.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"Table.ColumnFilter.js","names":["ColumnFilter","field","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","label","type","visible","propVisible","onFocus","onSubmit","others","useState","form","setForm","setVisible","useEffect","handlePress","event","preventDefault","undefined","handleCancel","handleSubmit","testId","children","divider","style","items","min","input","max","value","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 { 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: { label, type = 'text' } = {},\n visible: propVisible = false,\n onFocus = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const [form, setForm] = useState({});\n const [visible, setVisible] = useState(propVisible);\n\n useEffect(() => {\n setVisible(propVisible);\n }, [propVisible]);\n\n useEffect(() => {\n setForm({});\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 ) : (\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 onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\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({\n label: PropTypes.string,\n type: PropTypes.string,\n }).isRequired,\n visible: PropTypes.bool,\n onFocus: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n};\n\nexport { ColumnFilter };\n"],"mappings":"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"}
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 onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\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":"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"}
@@ -29,6 +29,7 @@ var Filter = function Filter(_ref) {
29
29
  }), filter.sort(function (a, b) {
30
30
  return a.field >= b.field;
31
31
  }).map(function () {
32
+ var _schema$field;
32
33
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
33
34
  field = _ref2.field,
34
35
  value = _ref2.value,
@@ -42,7 +43,7 @@ var Filter = function Filter(_ref) {
42
43
  }, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
43
44
  lighten: true,
44
45
  tiny: true
45
- }, field), value && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
46
+ }, (((_schema$field = schema[field]) === null || _schema$field === void 0 ? void 0 : _schema$field.label) || field).toLowerCase()), value && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
46
47
  bold: true,
47
48
  small: true
48
49
  }, value), min && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.Filter.js","names":["Filter","filter","schema","onRemove","others","fields","Object","keys","style","filters","sort","a","b","field","map","value","min","max","index","includes","item","buttonRemove","ICON","CLOSE","displayName","propTypes","PropTypes","arrayOf","shape","isRequired","func"],"sources":["../../../src/components/Table/Table.Filter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport style from './Table.module.css';\n\nconst Filter = ({ filter = [], schema = {}, onRemove = () => {}, ...others }) => {\n const fields = Object.keys(schema);\n\n return (\n <View {...others} row wide className={style.filters}>\n {filter\n .sort((a, b) => a.field >= b.field)\n .map(({ field, value, min, max } = {}, index) =>\n fields.includes(field) ? (\n <View row key={index} className={style.item}>\n <Text lighten tiny>\n {field}\n </Text>\n {value && (\n <Text bold small>\n {value}\n </Text>\n )}\n {min && (\n <Text bold small>\n {`${max ? '' : '≥ '}${min}`}\n </Text>\n )}\n {max && (\n <Text bold small>\n {`${min ? ' - ' : '≤ '}${max}`}\n </Text>\n )}\n\n <Pressable onPress={() => onRemove(index)} className={style.buttonRemove}>\n <Icon action value={ICON.CLOSE} />\n </Pressable>\n </View>\n ) : null,\n )}\n </View>\n );\n};\n\nFilter.displayName = 'Component:Table:Filter';\n\nFilter.propTypes = {\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n schema: PropTypes.shape({}).isRequired,\n onRemove: PropTypes.func.isRequired,\n};\n\nexport { Filter };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,MAAM,GAAG,SAATA,MAAM,OAAqE;EAAA,uBAA/DC,MAAM;IAANA,MAAM,4BAAG,EAAE;IAAA,mBAAEC,MAAM;IAANA,MAAM,4BAAG,CAAC,CAAC;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAKC,MAAM;EACxE,IAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC;EAElC,oBACE,6BAAC,gBAAI,eAAKE,MAAM;IAAE,GAAG;IAAC,IAAI;IAAC,SAAS,EAAEI,oBAAK,CAACC;EAAQ,IACjDR,MAAM,CACJS,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACE,KAAK,IAAID,CAAC,CAACC,KAAK;EAAA,EAAC,CAClCC,GAAG,CAAC;IAAA,gFAA8B,CAAC,CAAC;MAA7BD,KAAK,SAALA,KAAK;MAAEE,KAAK,SAALA,KAAK;MAAEC,GAAG,SAAHA,GAAG;MAAEC,GAAG,SAAHA,GAAG;IAAA,IAASC,KAAK;IAAA,OAC1Cb,MAAM,CAACc,QAAQ,CAACN,KAAK,CAAC,gBACpB,6BAAC,gBAAI;MAAC,GAAG;MAAC,GAAG,EAAEK,KAAM;MAAC,SAAS,EAAEV,oBAAK,CAACY;IAAK,gBAC1C,6BAAC,gBAAI;MAAC,OAAO;MAAC,IAAI;IAAA,GACfP,KAAK,CACD,EACNE,KAAK,iBACJ,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,GACbA,KAAK,CAET,EACAC,GAAG,iBACF,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,aACVC,GAAG,GAAG,EAAE,GAAG,IAAI,SAAGD,GAAG,EAE5B,EACAC,GAAG,iBACF,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,aACVD,GAAG,GAAG,KAAK,GAAG,IAAI,SAAGC,GAAG,EAE/B,eAED,6BAAC,qBAAS;MAAC,OAAO,EAAE;QAAA,OAAMd,QAAQ,CAACe,KAAK,CAAC;MAAA,CAAC;MAAC,SAAS,EAAEV,oBAAK,CAACa;IAAa,gBACvE,6BAAC,gBAAI;MAAC,MAAM;MAAC,KAAK,EAAEC,gBAAI,CAACC;IAAM,EAAG,CACxB,CACP,GACL,IAAI;EAAA,EACT,CACE;AAEX,CAAC;AAAC;AAEFvB,MAAM,CAACwB,WAAW,GAAG,wBAAwB;AAE7CxB,MAAM,CAACyB,SAAS,GAAG;EACjBxB,MAAM,EAAEyB,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C1B,MAAM,EAAEwB,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,UAAU;EACtC1B,QAAQ,EAAEuB,kBAAS,CAACI,IAAI,CAACD;AAC3B,CAAC"}
1
+ {"version":3,"file":"Table.Filter.js","names":["Filter","filter","schema","onRemove","others","fields","Object","keys","style","filters","sort","a","b","field","map","value","min","max","index","includes","item","label","toLowerCase","buttonRemove","ICON","CLOSE","displayName","propTypes","PropTypes","arrayOf","shape","isRequired","func"],"sources":["../../../src/components/Table/Table.Filter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport style from './Table.module.css';\n\nconst Filter = ({ filter = [], schema = {}, onRemove = () => {}, ...others }) => {\n const fields = Object.keys(schema);\n\n return (\n <View {...others} row wide className={style.filters}>\n {filter\n .sort((a, b) => a.field >= b.field)\n .map(({ field, value, min, max } = {}, index) =>\n fields.includes(field) ? (\n <View row key={index} className={style.item}>\n <Text lighten tiny>\n {(schema[field]?.label || field).toLowerCase()}\n </Text>\n {value && (\n <Text bold small>\n {value}\n </Text>\n )}\n {min && (\n <Text bold small>\n {`${max ? '' : '≥ '}${min}`}\n </Text>\n )}\n {max && (\n <Text bold small>\n {`${min ? ' - ' : '≤ '}${max}`}\n </Text>\n )}\n\n <Pressable onPress={() => onRemove(index)} className={style.buttonRemove}>\n <Icon action value={ICON.CLOSE} />\n </Pressable>\n </View>\n ) : null,\n )}\n </View>\n );\n};\n\nFilter.displayName = 'Component:Table:Filter';\n\nFilter.propTypes = {\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n schema: PropTypes.shape({}).isRequired,\n onRemove: PropTypes.func.isRequired,\n};\n\nexport { Filter };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,MAAM,GAAG,SAATA,MAAM,OAAqE;EAAA,uBAA/DC,MAAM;IAANA,MAAM,4BAAG,EAAE;IAAA,mBAAEC,MAAM;IAANA,MAAM,4BAAG,CAAC,CAAC;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAKC,MAAM;EACxE,IAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC;EAElC,oBACE,6BAAC,gBAAI,eAAKE,MAAM;IAAE,GAAG;IAAC,IAAI;IAAC,SAAS,EAAEI,oBAAK,CAACC;EAAQ,IACjDR,MAAM,CACJS,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACE,KAAK,IAAID,CAAC,CAACC,KAAK;EAAA,EAAC,CAClCC,GAAG,CAAC;IAAA;IAAA,gFAA8B,CAAC,CAAC;MAA7BD,KAAK,SAALA,KAAK;MAAEE,KAAK,SAALA,KAAK;MAAEC,GAAG,SAAHA,GAAG;MAAEC,GAAG,SAAHA,GAAG;IAAA,IAASC,KAAK;IAAA,OAC1Cb,MAAM,CAACc,QAAQ,CAACN,KAAK,CAAC,gBACpB,6BAAC,gBAAI;MAAC,GAAG;MAAC,GAAG,EAAEK,KAAM;MAAC,SAAS,EAAEV,oBAAK,CAACY;IAAK,gBAC1C,6BAAC,gBAAI;MAAC,OAAO;MAAC,IAAI;IAAA,GACf,CAAC,kBAAAlB,MAAM,CAACW,KAAK,CAAC,kDAAb,cAAeQ,KAAK,KAAIR,KAAK,EAAES,WAAW,EAAE,CACzC,EACNP,KAAK,iBACJ,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,GACbA,KAAK,CAET,EACAC,GAAG,iBACF,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,aACVC,GAAG,GAAG,EAAE,GAAG,IAAI,SAAGD,GAAG,EAE5B,EACAC,GAAG,iBACF,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,aACVD,GAAG,GAAG,KAAK,GAAG,IAAI,SAAGC,GAAG,EAE/B,eAED,6BAAC,qBAAS;MAAC,OAAO,EAAE;QAAA,OAAMd,QAAQ,CAACe,KAAK,CAAC;MAAA,CAAC;MAAC,SAAS,EAAEV,oBAAK,CAACe;IAAa,gBACvE,6BAAC,gBAAI;MAAC,MAAM;MAAC,KAAK,EAAEC,gBAAI,CAACC;IAAM,EAAG,CACxB,CACP,GACL,IAAI;EAAA,EACT,CACE;AAEX,CAAC;AAAC;AAEFzB,MAAM,CAAC0B,WAAW,GAAG,wBAAwB;AAE7C1B,MAAM,CAAC2B,SAAS,GAAG;EACjB1B,MAAM,EAAE2B,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C5B,MAAM,EAAE0B,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,UAAU;EACtC5B,QAAQ,EAAEyB,kBAAS,CAACI,IAAI,CAACD;AAC3B,CAAC"}
@@ -61,38 +61,47 @@ var Row = function Row(_ref) {
61
61
  }, others, {
62
62
  className: (0, _helpers.styles)(checked && _TableModule.default.selected, onPress && _TableModule.default.onPress)
63
63
  }), Object.keys(schema).filter(function (field) {
64
- return schema[field].type !== 'hidden';
64
+ return !schema[field].hidden;
65
65
  }).map(function (field, index) {
66
+ var _schema$field2;
67
+ var _schema$field = schema[field],
68
+ _schema$field$filter = _schema$field.filter,
69
+ hasFilter = _schema$field$filter === void 0 ? true : _schema$field$filter,
70
+ label = _schema$field.label,
71
+ _schema$field$sort = _schema$field.sort,
72
+ hasSort = _schema$field$sort === void 0 ? true : _schema$field$sort,
73
+ _schema$field$type = _schema$field.type,
74
+ type = _schema$field$type === void 0 ? 'text' : _schema$field$type;
66
75
  return /*#__PURE__*/_react.default.createElement(_primitives.Primitive, {
67
76
  tag: isHead ? 'th' : 'td',
68
77
  testId: testId ? "".concat(testId, "-").concat(field) : undefined,
69
78
  key: field,
70
- onClick: function onClick(event) {
79
+ onClick: !isHead || hasSort ? function (event) {
71
80
  return handlePress(field, event);
72
- }
81
+ } : undefined
73
82
  }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
74
83
  forceRow: true,
75
84
  tag: "span",
76
- className: (0, _helpers.styles)(_TableModule.default.column, onSelect && index === 0 && _TableModule.default.selectable, !isHead && !(onSelect && index === 0) && _TableModule.default[schema[field].type || 'text'])
85
+ className: (0, _helpers.styles)(_TableModule.default.column, onSelect && index === 0 && _TableModule.default.selectable, !isHead && !(onSelect && index === 0) && _TableModule.default[type])
77
86
  }, onSelect && index === 0 && /*#__PURE__*/_react.default.createElement(_InputOption.InputOption, {
78
87
  checked: checked,
79
88
  indeterminate: indeterminate,
80
89
  name: "checkbox",
81
- onChange: function onChange(event) {
90
+ onChange: function onChange(value, event) {
82
91
  return onSelect(dataSource, event);
83
92
  },
84
93
  className: _TableModule.default.checkbox,
85
94
  testId: testId ? "".concat(testId, "-checkbox") : undefined
86
- }), isHead ? schema[field].label : dataSource[field], isHead && (onSort || onFilter) && /*#__PURE__*/_react.default.createElement(_primitives.View, {
95
+ }), isHead ? label : dataSource[field], isHead && (onSort && hasSort || onFilter && hasFilter) && /*#__PURE__*/_react.default.createElement(_primitives.View, {
87
96
  row: true,
88
97
  className: _TableModule.default.icons
89
- }, onSort && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
98
+ }, onSort && hasSort && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
90
99
  value: sort[field] === false ? _primitives.ICON.UP : _primitives.ICON.DOWN,
91
100
  className: (0, _helpers.styles)(_TableModule.default.icon, sort[field] === undefined && _TableModule.default.disabled)
92
- }), onFilter && /*#__PURE__*/_react.default.createElement(_Table.ColumnFilter, {
93
- field: field,
101
+ }), onFilter && hasFilter && /*#__PURE__*/_react.default.createElement(_Table.ColumnFilter, {
102
+ field: ((_schema$field2 = schema[field]) === null || _schema$field2 === void 0 ? void 0 : _schema$field2.bind) || field,
94
103
  l10n: l10n,
95
- schema: schema[field],
104
+ schema: schema,
96
105
  visible: field === focus,
97
106
  onFocus: handleFocus,
98
107
  onSubmit: onFilter
@@ -1 +1 @@
1
- {"version":3,"file":"Table.Row.js","names":["CUSTOM_EVENT_TYPES","Row","checked","dataSource","indeterminate","l10n","schema","sort","onFilter","onPress","onSelect","onSort","others","useState","focus","setFocus","isHead","undefined","testId","handlePress","field","event","target","type","includes","handleFocus","styles","style","selected","Object","keys","filter","map","index","React","createElement","Primitive","tag","key","onClick","column","selectable","checkbox","label","icons","ICON","UP","DOWN","icon","disabled","displayName","propTypes","PropTypes","bool","shape","L10N_SHAPE","isRequired","func"],"sources":["../../../src/components/Table/Table.Row.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Primitive, View } from '../../primitives';\nimport { InputOption } from '../InputOption';\nimport { ColumnFilter } from './Table.ColumnFilter';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst CUSTOM_EVENT_TYPES = ['button', 'checkbox', 'input', 'radio', 'submit'];\n\nconst Row = ({\n checked,\n dataSource,\n indeterminate,\n l10n,\n schema,\n sort = {},\n onFilter,\n onPress,\n onSelect,\n onSort,\n ...others\n}) => {\n const [focus, setFocus] = useState();\n\n const isHead = dataSource === undefined;\n const { testId } = others;\n\n const handlePress = (field, event) => {\n const { target: { type } = {} } = event;\n if (CUSTOM_EVENT_TYPES.includes(type)) return;\n\n isHead ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;\n };\n\n const handleFocus = (field) => {\n setFocus(field);\n };\n\n return (\n <Primitive tag=\"tr\" {...others} className={styles(checked && style.selected, onPress && style.onPress)}>\n {Object.keys(schema)\n .filter((field) => schema[field].type !== 'hidden')\n .map((field, index) =>\n React.createElement(\n Primitive,\n {\n tag: isHead ? 'th' : 'td',\n testId: testId ? `${testId}-${field}` : undefined,\n key: field,\n onClick: (event) => handlePress(field, event),\n },\n <View\n forceRow\n tag=\"span\"\n className={styles(\n style.column,\n onSelect && index === 0 && style.selectable,\n !isHead && !(onSelect && index === 0) && style[schema[field].type || 'text'],\n )}\n >\n {onSelect && index === 0 && (\n <InputOption\n checked={checked}\n indeterminate={indeterminate}\n name=\"checkbox\"\n onChange={(event) => onSelect(dataSource, event)}\n className={style.checkbox}\n testId={testId ? `${testId}-checkbox` : undefined}\n />\n )}\n\n {isHead ? schema[field].label : dataSource[field]}\n\n {isHead && (onSort || onFilter) && (\n <View row className={style.icons}>\n {onSort && (\n <Icon\n value={sort[field] === false ? ICON.UP : ICON.DOWN}\n className={styles(style.icon, sort[field] === undefined && style.disabled)}\n />\n )}\n {onFilter && (\n <ColumnFilter\n field={field}\n l10n={l10n}\n schema={schema[field]}\n visible={field === focus}\n onFocus={handleFocus}\n onSubmit={onFilter}\n />\n )}\n </View>\n )}\n </View>,\n ),\n )}\n </Primitive>\n );\n};\n\nRow.displayName = 'Component:Table:Row';\n\nRow.propTypes = {\n checked: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n indeterminate: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n sort: PropTypes.shape({}),\n onFilter: PropTypes.func,\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n onSort: PropTypes.func,\n};\n\nexport { Row };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,kBAAkB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;AAE7E,IAAMC,GAAG,GAAG,SAANA,GAAG,OAYH;EAAA,IAXJC,OAAO,QAAPA,OAAO;IACPC,UAAU,QAAVA,UAAU;IACVC,aAAa,QAAbA,aAAa;IACbC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,iBACNC,IAAI;IAAJA,IAAI,0BAAG,CAAC,CAAC;IACTC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,QAAQ,QAARA,QAAQ;IACRC,MAAM,QAANA,MAAM;IACHC,MAAM;EAET,gBAA0B,IAAAC,eAAQ,GAAE;IAAA;IAA7BC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,MAAM,GAAGb,UAAU,KAAKc,SAAS;EACvC,IAAQC,MAAM,GAAKN,MAAM,CAAjBM,MAAM;EAEd,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAAK,EAAEC,KAAK,EAAK;IACpC,oBAAkCA,KAAK,CAA/BC,MAAM;IAAd,2CAA2B,CAAC,CAAC;IAA7B,IAAkBC,IAAI,iBAAJA,IAAI;IACtB,IAAIvB,kBAAkB,CAACwB,QAAQ,CAACD,IAAI,CAAC,EAAE;IAEvCP,MAAM,GAAGL,MAAM,CAACS,KAAK,CAAC,GAAGX,OAAO,GAAGA,OAAO,CAACN,UAAU,EAAEkB,KAAK,CAAC,GAAGJ,SAAS;EAC3E,CAAC;EAED,IAAMQ,WAAW,GAAG,SAAdA,WAAW,CAAIL,KAAK,EAAK;IAC7BL,QAAQ,CAACK,KAAK,CAAC;EACjB,CAAC;EAED,oBACE,6BAAC,qBAAS;IAAC,GAAG,EAAC;EAAI,GAAKR,MAAM;IAAE,SAAS,EAAE,IAAAc,eAAM,EAACxB,OAAO,IAAIyB,oBAAK,CAACC,QAAQ,EAAEnB,OAAO,IAAIkB,oBAAK,CAAClB,OAAO;EAAE,IACpGoB,MAAM,CAACC,IAAI,CAACxB,MAAM,CAAC,CACjByB,MAAM,CAAC,UAACX,KAAK;IAAA,OAAKd,MAAM,CAACc,KAAK,CAAC,CAACG,IAAI,KAAK,QAAQ;EAAA,EAAC,CAClDS,GAAG,CAAC,UAACZ,KAAK,EAAEa,KAAK;IAAA,oBAChBC,cAAK,CAACC,aAAa,CACjBC,qBAAS,EACT;MACEC,GAAG,EAAErB,MAAM,GAAG,IAAI,GAAG,IAAI;MACzBE,MAAM,EAAEA,MAAM,aAAMA,MAAM,cAAIE,KAAK,IAAKH,SAAS;MACjDqB,GAAG,EAAElB,KAAK;MACVmB,OAAO,EAAE,iBAAClB,KAAK;QAAA,OAAKF,WAAW,CAACC,KAAK,EAAEC,KAAK,CAAC;MAAA;IAC/C,CAAC,eACD,6BAAC,gBAAI;MACH,QAAQ;MACR,GAAG,EAAC,MAAM;MACV,SAAS,EAAE,IAAAK,eAAM,EACfC,oBAAK,CAACa,MAAM,EACZ9B,QAAQ,IAAIuB,KAAK,KAAK,CAAC,IAAIN,oBAAK,CAACc,UAAU,EAC3C,CAACzB,MAAM,IAAI,EAAEN,QAAQ,IAAIuB,KAAK,KAAK,CAAC,CAAC,IAAIN,oBAAK,CAACrB,MAAM,CAACc,KAAK,CAAC,CAACG,IAAI,IAAI,MAAM,CAAC;IAC5E,GAEDb,QAAQ,IAAIuB,KAAK,KAAK,CAAC,iBACtB,6BAAC,wBAAW;MACV,OAAO,EAAE/B,OAAQ;MACjB,aAAa,EAAEE,aAAc;MAC7B,IAAI,EAAC,UAAU;MACf,QAAQ,EAAE,kBAACiB,KAAK;QAAA,OAAKX,QAAQ,CAACP,UAAU,EAAEkB,KAAK,CAAC;MAAA,CAAC;MACjD,SAAS,EAAEM,oBAAK,CAACe,QAAS;MAC1B,MAAM,EAAExB,MAAM,aAAMA,MAAM,iBAAcD;IAAU,EAErD,EAEAD,MAAM,GAAGV,MAAM,CAACc,KAAK,CAAC,CAACuB,KAAK,GAAGxC,UAAU,CAACiB,KAAK,CAAC,EAEhDJ,MAAM,KAAKL,MAAM,IAAIH,QAAQ,CAAC,iBAC7B,6BAAC,gBAAI;MAAC,GAAG;MAAC,SAAS,EAAEmB,oBAAK,CAACiB;IAAM,GAC9BjC,MAAM,iBACL,6BAAC,gBAAI;MACH,KAAK,EAAEJ,IAAI,CAACa,KAAK,CAAC,KAAK,KAAK,GAAGyB,gBAAI,CAACC,EAAE,GAAGD,gBAAI,CAACE,IAAK;MACnD,SAAS,EAAE,IAAArB,eAAM,EAACC,oBAAK,CAACqB,IAAI,EAAEzC,IAAI,CAACa,KAAK,CAAC,KAAKH,SAAS,IAAIU,oBAAK,CAACsB,QAAQ;IAAE,EAE9E,EACAzC,QAAQ,iBACP,6BAAC,mBAAY;MACX,KAAK,EAAEY,KAAM;MACb,IAAI,EAAEf,IAAK;MACX,MAAM,EAAEC,MAAM,CAACc,KAAK,CAAE;MACtB,OAAO,EAAEA,KAAK,KAAKN,KAAM;MACzB,OAAO,EAAEW,WAAY;MACrB,QAAQ,EAAEjB;IAAS,EAEtB,CAEJ,CACI,CACR;EAAA,EACF,CACO;AAEhB,CAAC;AAAC;AAEFP,GAAG,CAACiD,WAAW,GAAG,qBAAqB;AAEvCjD,GAAG,CAACkD,SAAS,GAAG;EACdjD,OAAO,EAAEkD,kBAAS,CAACC,IAAI;EACvBlD,UAAU,EAAEiD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/BlD,aAAa,EAAEgD,kBAAS,CAACC,IAAI;EAC7BhD,IAAI,EAAEkD,kBAAU;EAChBjD,MAAM,EAAE8C,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAACE,UAAU;EACtCjD,IAAI,EAAE6C,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EACzB9C,QAAQ,EAAE4C,kBAAS,CAACK,IAAI;EACxBhD,OAAO,EAAE2C,kBAAS,CAACK,IAAI;EACvB/C,QAAQ,EAAE0C,kBAAS,CAACK,IAAI;EACxB9C,MAAM,EAAEyC,kBAAS,CAACK;AACpB,CAAC"}
1
+ {"version":3,"file":"Table.Row.js","names":["CUSTOM_EVENT_TYPES","Row","checked","dataSource","indeterminate","l10n","schema","sort","onFilter","onPress","onSelect","onSort","others","useState","focus","setFocus","isHead","undefined","testId","handlePress","field","event","target","type","includes","handleFocus","styles","style","selected","Object","keys","filter","hidden","map","index","hasFilter","label","hasSort","React","createElement","Primitive","tag","key","onClick","column","selectable","value","checkbox","icons","ICON","UP","DOWN","icon","disabled","bind","displayName","propTypes","PropTypes","bool","shape","L10N_SHAPE","isRequired","func"],"sources":["../../../src/components/Table/Table.Row.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Primitive, View } from '../../primitives';\nimport { InputOption } from '../InputOption';\nimport { ColumnFilter } from './Table.ColumnFilter';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst CUSTOM_EVENT_TYPES = ['button', 'checkbox', 'input', 'radio', 'submit'];\n\nconst Row = ({\n checked,\n dataSource,\n indeterminate,\n l10n,\n schema,\n sort = {},\n onFilter,\n onPress,\n onSelect,\n onSort,\n ...others\n}) => {\n const [focus, setFocus] = useState();\n\n const isHead = dataSource === undefined;\n const { testId } = others;\n\n const handlePress = (field, event) => {\n const { target: { type } = {} } = event;\n if (CUSTOM_EVENT_TYPES.includes(type)) return;\n\n isHead ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;\n };\n\n const handleFocus = (field) => {\n setFocus(field);\n };\n\n return (\n <Primitive tag=\"tr\" {...others} className={styles(checked && style.selected, onPress && style.onPress)}>\n {Object.keys(schema)\n .filter((field) => !schema[field].hidden)\n .map((field, index) => {\n const { filter: hasFilter = true, label, sort: hasSort = true, type = 'text' } = schema[field];\n\n return React.createElement(\n Primitive,\n {\n tag: isHead ? 'th' : 'td',\n testId: testId ? `${testId}-${field}` : undefined,\n key: field,\n onClick: !isHead || hasSort ? (event) => handlePress(field, event) : undefined,\n },\n <View\n forceRow\n tag=\"span\"\n className={styles(\n style.column,\n onSelect && index === 0 && style.selectable,\n !isHead && !(onSelect && index === 0) && style[type],\n )}\n >\n {onSelect && index === 0 && (\n <InputOption\n checked={checked}\n indeterminate={indeterminate}\n name=\"checkbox\"\n onChange={(value, event) => onSelect(dataSource, event)}\n className={style.checkbox}\n testId={testId ? `${testId}-checkbox` : undefined}\n />\n )}\n\n {isHead ? label : dataSource[field]}\n\n {isHead && ((onSort && hasSort) || (onFilter && hasFilter)) && (\n <View row className={style.icons}>\n {onSort && hasSort && (\n <Icon\n value={sort[field] === false ? ICON.UP : ICON.DOWN}\n className={styles(style.icon, sort[field] === undefined && style.disabled)}\n />\n )}\n {onFilter && hasFilter && (\n <ColumnFilter\n field={schema[field]?.bind || field}\n l10n={l10n}\n schema={schema}\n visible={field === focus}\n onFocus={handleFocus}\n onSubmit={onFilter}\n />\n )}\n </View>\n )}\n </View>,\n );\n })}\n </Primitive>\n );\n};\n\nRow.displayName = 'Component:Table:Row';\n\nRow.propTypes = {\n checked: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n indeterminate: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n sort: PropTypes.shape({}),\n onFilter: PropTypes.func,\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n onSort: PropTypes.func,\n};\n\nexport { Row };\n"],"mappings":"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"}
@@ -86,34 +86,35 @@ var Table = function Table(_ref) {
86
86
  setFilter(_toConsumableArray(filter));
87
87
  };
88
88
  var handleHeadSelect = function handleHeadSelect(row, event) {
89
- setSelected(function () {
90
- var next = selected.length !== dataSource.length ? dataSource : [];
91
- onSelect(next, event);
92
- return next;
93
- });
89
+ var next = selected.length !== dataSource.length ? dataSource : [];
90
+ onSelect(next, event);
91
+ setSelected(next);
94
92
  };
95
93
  var handleSelect = function handleSelect(row, event) {
96
- setSelected(function () {
97
- var exists = selected.includes(row);
98
- var next = selected.filter(function (item) {
99
- return item !== row;
100
- });
101
- if (!exists) next.push(row);
102
- onSelect(next, event);
103
- return next;
104
- });
94
+ var next = (0, _helpers2.exists)(row, selected) ? selected.filter(function (item) {
95
+ return !(0, _helpers2.exists)(row, [item]);
96
+ }) : [].concat(_toConsumableArray(selected), [row]);
97
+ onSelect(next, event);
98
+ setSelected(next);
105
99
  };
106
100
  var handleSort = function handleSort(field) {
107
101
  setSort(sort[field] === undefined ? _defineProperty({}, field, true) : sort[field] ? _defineProperty({}, field, false) : {});
108
102
  };
109
103
  var testId = others.testId;
104
+ var fields = Object.keys(schema);
105
+ var _ref4 = (filter === null || filter === void 0 ? void 0 : filter.filter(function () {
106
+ var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
107
+ field = _ref5.field;
108
+ return fields.includes(field);
109
+ })) || {},
110
+ filterFields = _ref4.length;
110
111
  return /*#__PURE__*/_react.default.createElement(onScroll ? _primitives.ScrollView : _primitives.View, onScroll || !inline ? _objectSpread(_objectSpread({}, others), {}, {
111
112
  role: others.role || 'table',
112
113
  onScroll: onScroll,
113
114
  className: (0, _helpers.styles)(!inline && _TableModule.default.outlined, others.className)
114
115
  }) : {
115
116
  className: others.className
116
- }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (filter === null || filter === void 0 ? void 0 : filter.length) > 0 && /*#__PURE__*/_react.default.createElement(_Table2.Filter, {
117
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterFields > 0 && /*#__PURE__*/_react.default.createElement(_Table2.Filter, {
117
118
  filter: filter,
118
119
  schema: schema,
119
120
  role: "table-filter",
@@ -145,11 +146,12 @@ var Table = function Table(_ref) {
145
146
  filter: filter,
146
147
  schema: schema,
147
148
  search: search,
149
+ selected: selected,
148
150
  sort: sort
149
151
  });
150
- }, [dataSource, filter, schema, search, sort]).map(function (row, index) {
152
+ }, [dataSource, filter, schema, search, selected, sort]).map(function (row, index) {
151
153
  return /*#__PURE__*/_react.default.createElement(_Table3.Row, {
152
- checked: (0, _helpers2.isChecked)(row, selected),
154
+ checked: (0, _helpers2.exists)(row, selected),
153
155
  dataSource: row,
154
156
  key: index,
155
157
  schema: schema,
@@ -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","includes","push","handleSort","field","undefined","testId","React","createElement","ScrollView","View","role","className","styles","style","outlined","table","useMemo","select","map","isChecked","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 { isChecked, 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 setSelected(() => {\n const next = selected.length !== dataSource.length ? dataSource : [];\n onSelect(next, event);\n\n return next;\n });\n };\n\n const handleSelect = (row, event) => {\n setSelected(() => {\n const exists = selected.includes(row);\n const next = selected.filter((item) => item !== row);\n if (!exists) next.push(row);\n onSelect(next, event);\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 { testId } = others;\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 {filter?.length > 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, sort }),\n [dataSource, filter, schema, search, sort],\n ).map((row, index) => (\n <Row\n checked={isChecked(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","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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"}
@@ -50,7 +50,7 @@ var dataSource = [{
50
50
  checked: true,
51
51
  onChange: handleSwitch
52
52
  }),
53
- year: 1,
53
+ year: undefined,
54
54
  languages: ['ES', 'EN'],
55
55
  tags: tags(['ES', 'EN']),
56
56
  action: null
@@ -87,7 +87,11 @@ var dataSource = [{
87
87
  username: 'javi',
88
88
  email: 'hi@soyjavi.com',
89
89
  active: true,
90
- activeSwitch: null,
90
+ activeSwitch: /*#__PURE__*/_react.default.createElement(_.Switch, {
91
+ name: "active",
92
+ checked: true,
93
+ onChange: handleSwitch
94
+ }),
91
95
  tags: null,
92
96
  languages: ['EU', 'ES', 'EN', 'TH']
93
97
  }, _defineProperty(_ref, "tags", tags(['EU', 'ES', 'EN', 'TH'])), _defineProperty(_ref, "year", 2022), _defineProperty(_ref, "twitter", 'soyjavi'), _defineProperty(_ref, "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."), _ref), {
@@ -189,20 +193,21 @@ Story.args = {
189
193
  },
190
194
  schema: {
191
195
  username: {
192
- label: 'User Name',
193
- type: 'text'
196
+ label: 'User Name'
194
197
  },
195
198
  email: {
196
199
  label: 'Email'
197
200
  },
198
201
  active: {
199
202
  label: 'Active',
200
- type: 'hidden'
203
+ type: 'boolean',
204
+ hidden: true
201
205
  },
202
206
  activeSwitch: {
203
207
  label: 'Active',
204
208
  type: 'component',
205
- bind: 'active'
209
+ bind: 'active',
210
+ sort: false
206
211
  },
207
212
  tags: {
208
213
  label: /*#__PURE__*/_react.default.createElement(_.View, {
@@ -213,8 +218,8 @@ Story.args = {
213
218
  bind: 'languages'
214
219
  },
215
220
  languages: {
216
- label: 'Languages (hidden)',
217
- type: 'hidden'
221
+ label: 'Languages',
222
+ hidden: true
218
223
  },
219
224
  year: {
220
225
  label: 'Year',
@@ -229,11 +234,8 @@ Story.args = {
229
234
  action: {
230
235
  label: 'Action',
231
236
  type: 'component',
232
- bind: 'actionTitle'
233
- },
234
- actionTitle: {
235
- label: 'Action (hidden)',
236
- type: 'hidden'
237
+ sort: false,
238
+ filter: false
237
239
  }
238
240
  },
239
241
  search: '',
@@ -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","languages","action","twitter","undefined","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","bind","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: 1,\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: null,\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', type: 'text' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'hidden' },\n activeSwitch: { label: 'Active', type: 'component', bind: 'active' },\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)', type: 'hidden' },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', bind: 'actionTitle' },\n actionTitle: { label: 'Action (hidden)', type: 'hidden' },\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: 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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"}
@@ -294,7 +294,7 @@ exports[`component:<Table>:<ColumnFilter> prop:schema type:number 1`] = `
294
294
  <span
295
295
  class="text bold small"
296
296
  >
297
- number
297
+ field
298
298
  </span>
299
299
  </div>
300
300
  </div>
@@ -305,52 +305,41 @@ exports[`component:<Table>:<ColumnFilter> prop:schema type:number 1`] = `
305
305
  class="view row wide content"
306
306
  >
307
307
  <div
308
- class="view row items"
308
+ class="view inputContainer input"
309
309
  >
310
310
  <div
311
- class="view inputContainer input"
311
+ class="view row inputBorder"
312
312
  >
313
- <div
314
- class="view row inputBorder"
313
+ <span
314
+ class="icon headline-3 icon left"
315
315
  >
316
- <div
317
- class="view wide content"
316
+ <svg
317
+ fill="currentColor"
318
+ height="1em"
319
+ stroke="currentColor"
320
+ stroke-width="0"
321
+ viewBox="0 0 24 24"
322
+ width="1em"
323
+ xmlns="http://www.w3.org/2000/svg"
318
324
  >
319
- <span
320
- class="text paragraph text label"
321
- >
322
- Min
323
- </span>
324
- <input
325
- class="input input withLabel"
326
- name="min"
327
- type="number"
328
- value=""
325
+ <path
326
+ d="M0 0h24v24H0V0z"
327
+ fill="none"
329
328
  />
330
- </div>
331
- </div>
332
- </div>
333
- <div
334
- class="view inputContainer input"
335
- >
329
+ <path
330
+ d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
331
+ />
332
+ </svg>
333
+ </span>
336
334
  <div
337
- class="view row inputBorder"
335
+ class="view wide content"
338
336
  >
339
- <div
340
- class="view wide content"
341
- >
342
- <span
343
- class="text paragraph text label"
344
- >
345
- Max
346
- </span>
347
- <input
348
- class="input input withLabel"
349
- name="max"
350
- type="number"
351
- value=""
352
- />
353
- </div>
337
+ <input
338
+ class="input input"
339
+ name="search"
340
+ type="search"
341
+ value=""
342
+ />
354
343
  </div>
355
344
  </div>
356
345
  </div>
@@ -429,7 +418,7 @@ exports[`component:<Table>:<ColumnFilter> prop:schema type:text 1`] = `
429
418
  <span
430
419
  class="text bold small"
431
420
  >
432
- text
421
+ field
433
422
  </span>
434
423
  </div>
435
424
  </div>
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isChecked = void 0;
6
+ exports.exists = void 0;
7
7
  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); }
8
8
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
9
  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."); }
@@ -11,7 +11,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
11
11
  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; }
12
12
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
13
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
- var TYPES = ['string', 'number', 'boolean'];
14
+ var TYPES = ['string', 'number'];
15
15
  var reduce = function reduce() {
16
16
  var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17
17
  return JSON.stringify(Object.entries(row).reduce(function (result, _ref) {
@@ -22,12 +22,12 @@ var reduce = function reduce() {
22
22
  return result;
23
23
  }, {}));
24
24
  };
25
- var isChecked = function isChecked(row) {
25
+ var exists = function exists(row) {
26
26
  var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
27
27
  var reducedRow = reduce(row);
28
28
  return !!values.find(function (item) {
29
29
  return reduce(item) === reducedRow;
30
30
  });
31
31
  };
32
- exports.isChecked = isChecked;
33
- //# sourceMappingURL=isChecked.js.map
32
+ exports.exists = exists;
33
+ //# sourceMappingURL=exists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exists.js","names":["TYPES","reduce","row","JSON","stringify","Object","entries","result","key","value","includes","exists","values","reducedRow","find","item"],"sources":["../../../../src/components/Table/helpers/exists.js"],"sourcesContent":["const TYPES = ['string', 'number'];\n\nconst reduce = (row = {}) =>\n JSON.stringify(\n Object.entries(row).reduce((result, [key, value]) => {\n if (TYPES.includes(typeof value)) result[key] = value;\n\n return result;\n }, {}),\n );\n\nexport const exists = (row, values = []) => {\n const reducedRow = reduce(row);\n\n return !!values.find((item) => reduce(item) === reducedRow);\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAMA,KAAK,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAElC,IAAMC,MAAM,GAAG,SAATA,MAAM;EAAA,IAAIC,GAAG,uEAAG,CAAC,CAAC;EAAA,OACtBC,IAAI,CAACC,SAAS,CACZC,MAAM,CAACC,OAAO,CAACJ,GAAG,CAAC,CAACD,MAAM,CAAC,UAACM,MAAM,QAAmB;IAAA;MAAhBC,GAAG;MAAEC,KAAK;IAC7C,IAAIT,KAAK,CAACU,QAAQ,SAAQD,KAAK,EAAC,EAAEF,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAK;IAErD,OAAOF,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC,CACP;AAAA;AAEI,IAAMI,MAAM,GAAG,SAATA,MAAM,CAAIT,GAAG,EAAkB;EAAA,IAAhBU,MAAM,uEAAG,EAAE;EACrC,IAAMC,UAAU,GAAGZ,MAAM,CAACC,GAAG,CAAC;EAE9B,OAAO,CAAC,CAACU,MAAM,CAACE,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKd,MAAM,CAACc,IAAI,CAAC,KAAKF,UAAU;EAAA,EAAC;AAC7D,CAAC;AAAC"}
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _isChecked = require("./isChecked");
7
- Object.keys(_isChecked).forEach(function (key) {
6
+ var _exists = require("./exists");
7
+ Object.keys(_exists).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _isChecked[key]) return;
9
+ if (key in exports && exports[key] === _exists[key]) return;
10
10
  Object.defineProperty(exports, key, {
11
11
  enumerable: true,
12
12
  get: function get() {
13
- return _isChecked[key];
13
+ return _exists[key];
14
14
  }
15
15
  });
16
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Table/helpers/index.js"],"sourcesContent":["export * from './isChecked';\nexport * from './select';\nexport * from './storage';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Table/helpers/index.js"],"sourcesContent":["export * from './exists';\nexport * from './select';\nexport * from './storage';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -60,6 +60,7 @@ var select = function select() {
60
60
  value = _ref4.value;
61
61
  var fieldValue = row[schema[field].bind || field];
62
62
  if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ');
63
+ if (typeof fieldValue === 'boolean') fieldValue = fieldValue ? 'true' : 'false';
63
64
  return value ? !Array.isArray(value) ? (_fieldValue = fieldValue) === null || _fieldValue === void 0 ? void 0 : _fieldValue.toLowerCase().includes(value.toLowerCase()) : value.some(function (item) {
64
65
  var _fieldValue2;
65
66
  return (_fieldValue2 = fieldValue) === null || _fieldValue2 === void 0 ? void 0 : _fieldValue2.toLowerCase().includes(item.toLowerCase());
@@ -70,8 +71,8 @@ var select = function select() {
70
71
  if (search) {
71
72
  flatten.forEach(function (row, index) {
72
73
  var rowValues = Object.keys(row).filter(function (key) {
73
- var _schema$key;
74
- return ((_schema$key = schema[key]) === null || _schema$key === void 0 ? void 0 : _schema$key.type) !== 'component';
74
+ var _schema$key, _schema$key2;
75
+ return !((_schema$key = schema[key]) !== null && _schema$key !== void 0 && _schema$key.bind) && ((_schema$key2 = schema[key]) === null || _schema$key2 === void 0 ? void 0 : _schema$key2.type) !== 'component';
75
76
  }).map(function (key) {
76
77
  return row[key];
77
78
  });
@@ -83,8 +84,12 @@ var select = function select() {
83
84
  Object.keys(sort).forEach(function (key) {
84
85
  var fieldKey = schema[key].bind || key;
85
86
  var order = sort[key] ? 1 : -1;
86
- values.sort(function (a, b) {
87
- return a[fieldKey] >= b[fieldKey] ? 1 * order : -1 * order;
87
+ values.sort(function () {
88
+ var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
89
+ a = _ref5[fieldKey];
90
+ var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
91
+ b = _ref6[fieldKey];
92
+ return (a === undefined || a < b ? -1 : b === undefined || a > b ? 1 : 0) * order;
88
93
  });
89
94
  });
90
95
  return values;
@@ -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","Infinity","min","fieldValue","bind","join","toLowerCase","some","forEach","index","rowValues","key","type","map","JSON","stringify","fieldKey","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 = Infinity, min = -Infinity, value }) => {\n let fieldValue = row[schema[field].bind || field];\n if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ');\n\n return value\n ? !Array.isArray(value)\n ? fieldValue?.toLowerCase().includes(value.toLowerCase())\n : value.some((item) => fieldValue?.toLowerCase().includes(item.toLowerCase()))\n : min || max\n ? row[field] >= min && row[field] <= max\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]?.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((a, b) => (a[fieldKey] >= b[fieldKey] ? 1 * order : -1 * order));\n });\n\n return values;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAO,IAAMA,MAAM,GAAG,SAATA,MAAM,GAA8E;EAAA,+EAAP,CAAC,CAAC;IAAA,uBAAnEC,UAAU;IAAVA,UAAU,gCAAG,EAAE;IAAA,mBAAEC,MAAM;IAANA,MAAM,4BAAG,EAAE;IAAA,mBAAEC,MAAM;IAANA,MAAM,4BAAG,CAAC,CAAC;IAAEC,MAAM,QAANA,MAAM;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,CAAC,CAAC;EACnF,IAAIC,OAAO,sBAAOL,UAAU,CAAC;EAC7B,IAAIM,MAAM,GAAG,EAAE;EAEf,IAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACP,MAAM,CAAC;EAElC,IAAI,CAAAD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,MAAM,IAAG,CAAC,EAAE;IACtB,IAAMC,aAAa,GAAG,mBAAIV,MAAM,EAC7BA,MAAM,CAAC;MAAA,IAAGW,KAAK,SAALA,KAAK;MAAA,OAAOL,MAAM,CAACM,QAAQ,CAACD,KAAK,CAAC;IAAA,EAAC,CAC7CE,MAAM,CAAC,UAACC,KAAK,EAAgB;MAAA,IAAdC,IAAI,uEAAG,CAAC,CAAC;MACvB,IAAMC,SAAS,GAAGF,KAAK,CAACG,IAAI,CAAC;QAAA,IAAGN,KAAK,SAALA,KAAK;QAAA,OAAOI,IAAI,CAACJ,KAAK,KAAKA,KAAK;MAAA,EAAC;MAEjE,IAAIK,SAAS,IAAID,IAAI,CAACG,KAAK,EAAE;QAC3B,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,SAAS,CAACE,KAAK,CAAC,EAAEF,SAAS,CAACE,KAAK,GAAG,CAACF,SAAS,CAACE,KAAK,CAAC;QACxEF,SAAS,CAACE,KAAK,CAACG,IAAI,CAACN,IAAI,CAACG,KAAK,CAAC;MAClC,CAAC,MAAM;QACLJ,KAAK,CAACO,IAAI,mBAAMN,IAAI,EAAG;MACzB;MAEA,OAAOD,KAAK;IACd,CAAC,EAAE,EAAE,CAAC;IAERV,OAAO,GAAGA,OAAO,CAACJ,MAAM,CAAC;MAAA,IAACsB,GAAG,uEAAG,CAAC,CAAC;MAAA,OAChCZ,aAAa,CAACa,KAAK,CAAC,iBAAuD;QAAA;QAAA,IAApDZ,KAAK,SAALA,KAAK;UAAA,kBAAEa,GAAG;UAAHA,GAAG,0BAAGC,QAAQ;UAAA,kBAAEC,GAAG;UAAHA,GAAG,0BAAG,CAACD,QAAQ;UAAEP,KAAK,SAALA,KAAK;QAClE,IAAIS,UAAU,GAAGL,GAAG,CAACrB,MAAM,CAACU,KAAK,CAAC,CAACiB,IAAI,IAAIjB,KAAK,CAAC;QACjD,IAAIQ,KAAK,CAACC,OAAO,CAACO,UAAU,CAAC,EAAEA,UAAU,GAAGA,UAAU,CAACE,IAAI,CAAC,GAAG,CAAC;QAEhE,OAAOX,KAAK,GACR,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,kBACnBS,UAAU,gDAAV,YAAYG,WAAW,EAAE,CAAClB,QAAQ,CAACM,KAAK,CAACY,WAAW,EAAE,CAAC,GACvDZ,KAAK,CAACa,IAAI,CAAC,UAAChB,IAAI;UAAA;UAAA,uBAAKY,UAAU,iDAAV,aAAYG,WAAW,EAAE,CAAClB,QAAQ,CAACG,IAAI,CAACe,WAAW,EAAE,CAAC;QAAA,EAAC,GAC9EJ,GAAG,IAAIF,GAAG,GACVF,GAAG,CAACX,KAAK,CAAC,IAAIe,GAAG,IAAIJ,GAAG,CAACX,KAAK,CAAC,IAAIa,GAAG,GACtC,KAAK;MACX,CAAC,CAAC;IAAA,EACH;EACH;EAEA,IAAItB,MAAM,EAAE;IACVE,OAAO,CAAC4B,OAAO,CAAC,UAACV,GAAG,EAAEW,KAAK,EAAK;MAC9B,IAAMC,SAAS,GAAG3B,MAAM,CAACC,IAAI,CAACc,GAAG,CAAC,CAC/BtB,MAAM,CAAC,UAACmC,GAAG;QAAA;QAAA,OAAK,gBAAAlC,MAAM,CAACkC,GAAG,CAAC,gDAAX,YAAaC,IAAI,MAAK,WAAW;MAAA,EAAC,CAClDC,GAAG,CAAC,UAACF,GAAG;QAAA,OAAKb,GAAG,CAACa,GAAG,CAAC;MAAA,EAAC;MAEzB,IAAIG,IAAI,CAACC,SAAS,CAACL,SAAS,CAAC,CAACJ,WAAW,EAAE,CAAClB,QAAQ,CAACV,MAAM,CAAC4B,WAAW,EAAE,CAAC,EAAEzB,MAAM,CAACgB,IAAI,CAACjB,OAAO,CAAC6B,KAAK,CAAC,CAAC;IACzG,CAAC,CAAC;EACJ,CAAC,MAAM;IACL5B,MAAM,sBAAOD,OAAO,CAAC;EACvB;EAEAG,MAAM,CAACC,IAAI,CAACL,IAAI,CAAC,CAAC6B,OAAO,CAAC,UAACG,GAAG,EAAK;IACjC,IAAMK,QAAQ,GAAGvC,MAAM,CAACkC,GAAG,CAAC,CAACP,IAAI,IAAIO,GAAG;IACxC,IAAMM,KAAK,GAAGtC,IAAI,CAACgC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhC9B,MAAM,CAACF,IAAI,CAAC,UAACuC,CAAC,EAAEC,CAAC;MAAA,OAAMD,CAAC,CAACF,QAAQ,CAAC,IAAIG,CAAC,CAACH,QAAQ,CAAC,GAAG,CAAC,GAAGC,KAAK,GAAG,CAAC,CAAC,GAAGA,KAAK;IAAA,CAAC,CAAC;EAC9E,CAAC,CAAC;EAEF,OAAOpC,MAAM;AACf,CAAC;AAAC"}
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","Infinity","min","fieldValue","bind","join","toLowerCase","some","forEach","index","rowValues","key","type","map","JSON","stringify","fieldKey","order","a","b","undefined"],"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 = Infinity, min = -Infinity, value }) => {\n let fieldValue = row[schema[field].bind || field];\n if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ');\n if (typeof fieldValue === 'boolean') fieldValue = fieldValue ? 'true' : 'false';\n\n return value\n ? !Array.isArray(value)\n ? fieldValue?.toLowerCase().includes(value.toLowerCase())\n : value.some((item) => fieldValue?.toLowerCase().includes(item.toLowerCase()))\n : min || max\n ? row[field] >= min && row[field] <= max\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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"}
@@ -12,7 +12,7 @@ var _primitives = require("../../primitives");
12
12
  var _helpers2 = require("./helpers");
13
13
  var _TooltipModule = _interopRequireDefault(require("./Tooltip.module.css"));
14
14
  var _excluded = ["children", "left", "pressable", "right", "Template", "text", "timestamp", "top", "visible"],
15
- _excluded2 = ["testId"];
15
+ _excluded2 = ["fixed", "role", "testId"];
16
16
  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); }
17
17
  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; }
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -42,7 +42,7 @@ var Tooltip = function Tooltip(_ref) {
42
42
  propTop = _ref.top,
43
43
  _ref$visible = _ref.visible,
44
44
  propVisible = _ref$visible === void 0 ? false : _ref$visible,
45
- others = _objectWithoutProperties(_ref, _excluded);
45
+ inherit = _objectWithoutProperties(_ref, _excluded);
46
46
  var _useState = (0, _react.useState)(propVisible),
47
47
  _useState2 = _slicedToArray(_useState, 2),
48
48
  visible = _useState2[0],
@@ -51,23 +51,27 @@ var Tooltip = function Tooltip(_ref) {
51
51
  _useState4 = _slicedToArray(_useState3, 2),
52
52
  position = _useState4[0],
53
53
  setPosition = _useState4[1];
54
- var testId = others.testId,
55
- rest = _objectWithoutProperties(others, _excluded2);
54
+ var fixed = inherit.fixed,
55
+ _inherit$role = inherit.role,
56
+ role = _inherit$role === void 0 ? 'tooltip' : _inherit$role,
57
+ testId = inherit.testId,
58
+ others = _objectWithoutProperties(inherit, _excluded2);
56
59
  var left = position.left,
57
60
  right = position.right,
58
61
  _position$top = position.top,
59
62
  top = _position$top === void 0 ? propTop : _position$top;
60
63
  return text || Template ? /*#__PURE__*/_react.default.createElement(_primitives.Layer, {
64
+ fixed: fixed,
65
+ role: role,
66
+ testId: testId,
67
+ timestamp: timestamp,
68
+ top: top,
69
+ visible: visible,
61
70
  centered: true,
62
71
  forceRender: false,
63
72
  left: propLeft,
64
73
  right: propRight,
65
- role: others.role || 'tooltip',
66
- timestamp: timestamp,
67
- top: top,
68
- visible: visible,
69
- onPosition: setPosition,
70
- testId: testId
74
+ onPosition: setPosition
71
75
  }, _react.default.Children.map(children, function (child, index) {
72
76
  var _objectSpread2;
73
77
  return /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
@@ -81,8 +85,8 @@ var Tooltip = function Tooltip(_ref) {
81
85
  } : undefined), _defineProperty(_objectSpread2, (0, _helpers2.isPressableInstance)(child) ? 'onLeave' : 'onMouseLeave', function () {
82
86
  return setVisible(false);
83
87
  }), _defineProperty(_objectSpread2, "className", (0, _helpers.styles)(_TooltipModule.default.dispatcher, child.props.className)), _defineProperty(_objectSpread2, "testId", testId ? "".concat(testId, "-dispatcher") : undefined), _objectSpread2)));
84
- }), /*#__PURE__*/_react.default.createElement(_primitives.LayerContent, null, /*#__PURE__*/_react.default.createElement(_primitives.View, _extends({}, rest, {
85
- className: (0, _helpers.styles)(_TooltipModule.default.tooltip, (propLeft || propRight) && _TooltipModule.default.aline, left && _TooltipModule.default.left, right && _TooltipModule.default.right, top ? _TooltipModule.default.top : _TooltipModule.default.bottom, rest.className)
88
+ }), /*#__PURE__*/_react.default.createElement(_primitives.LayerContent, null, /*#__PURE__*/_react.default.createElement(_primitives.View, _extends({}, others, {
89
+ className: (0, _helpers.styles)(_TooltipModule.default.tooltip, (propLeft || propRight) && _TooltipModule.default.aline, left && _TooltipModule.default.left, right && _TooltipModule.default.right, top ? _TooltipModule.default.top : _TooltipModule.default.bottom, others.className)
86
90
  }), Template ? /*#__PURE__*/_react.default.createElement(Template, null) : /*#__PURE__*/_react.default.createElement(_primitives.Text, {
87
91
  bold: true,
88
92
  small: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["Tooltip","children","propLeft","left","pressable","propRight","right","Template","text","timestamp","propTop","top","visible","propVisible","others","useState","setVisible","position","setPosition","testId","rest","role","React","Children","map","child","index","cloneElement","key","props","onClick","undefined","isPressableInstance","styles","style","dispatcher","className","tooltip","aline","bottom","propTypes","PropTypes","node","isRequired","bool","oneOfType","func","string","number"],"sources":["../../../src/components/Tooltip/Tooltip.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Layer, LayerContent, Text, View } from '../../primitives';\nimport { isPressableInstance } from './helpers';\nimport style from './Tooltip.module.css';\n\nconst Tooltip = ({\n children,\n left: propLeft,\n pressable = false,\n right: propRight,\n Template,\n text,\n timestamp,\n top: propTop,\n visible: propVisible = false,\n ...others\n}) => {\n const [visible, setVisible] = useState(propVisible);\n const [position, setPosition] = useState({});\n\n const { testId, ...rest } = others;\n\n const { left, right, top = propTop } = position;\n\n return text || Template ? (\n <Layer\n centered\n forceRender={false}\n left={propLeft}\n right={propRight}\n role={others.role || 'tooltip'}\n timestamp={timestamp}\n top={top}\n visible={visible}\n onPosition={setPosition}\n testId={testId}\n >\n {React.Children.map(children, (child, index) =>\n React.cloneElement(child, {\n key: index,\n ...child.props,\n onClick: pressable ? () => setVisible(!visible) : undefined,\n [isPressableInstance(child) ? 'onEnter' : 'onMouseEnter']: !pressable ? () => setVisible(true) : undefined,\n [isPressableInstance(child) ? 'onLeave' : 'onMouseLeave']: () => setVisible(false),\n className: styles(style.dispatcher, child.props.className),\n testId: testId ? `${testId}-dispatcher` : undefined,\n }),\n )}\n\n <LayerContent>\n <View\n {...rest}\n className={styles(\n style.tooltip,\n (propLeft || propRight) && style.aline,\n left && style.left,\n right && style.right,\n top ? style.top : style.bottom,\n rest.className,\n )}\n >\n {Template ? (\n <Template />\n ) : (\n <Text bold small className={style.text}>\n {text}\n </Text>\n )}\n </View>\n </LayerContent>\n </Layer>\n ) : (\n <>{children}</>\n );\n};\n\nTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n left: PropTypes.bool,\n pressable: PropTypes.bool,\n right: PropTypes.bool,\n Template: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n text: PropTypes.string,\n timestamp: PropTypes.number,\n top: PropTypes.bool,\n visible: PropTypes.bool,\n};\n\nexport { Tooltip };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","names":["Tooltip","children","propLeft","left","pressable","propRight","right","Template","text","timestamp","propTop","top","visible","propVisible","inherit","useState","setVisible","position","setPosition","fixed","role","testId","others","React","Children","map","child","index","cloneElement","key","props","onClick","undefined","isPressableInstance","styles","style","dispatcher","className","tooltip","aline","bottom","propTypes","PropTypes","node","isRequired","bool","oneOfType","func","string","number"],"sources":["../../../src/components/Tooltip/Tooltip.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Layer, LayerContent, Text, View } from '../../primitives';\nimport { isPressableInstance } from './helpers';\nimport style from './Tooltip.module.css';\n\nconst Tooltip = ({\n children,\n left: propLeft,\n pressable = false,\n right: propRight,\n Template,\n text,\n timestamp,\n top: propTop,\n visible: propVisible = false,\n ...inherit\n}) => {\n const [visible, setVisible] = useState(propVisible);\n const [position, setPosition] = useState({});\n\n const { fixed, role = 'tooltip', testId, ...others } = inherit;\n const { left, right, top = propTop } = position;\n\n return text || Template ? (\n <Layer\n {...{ fixed, role, testId, timestamp, top, visible }}\n centered\n forceRender={false}\n left={propLeft}\n right={propRight}\n onPosition={setPosition}\n >\n {React.Children.map(children, (child, index) =>\n React.cloneElement(child, {\n key: index,\n ...child.props,\n onClick: pressable ? () => setVisible(!visible) : undefined,\n [isPressableInstance(child) ? 'onEnter' : 'onMouseEnter']: !pressable ? () => setVisible(true) : undefined,\n [isPressableInstance(child) ? 'onLeave' : 'onMouseLeave']: () => setVisible(false),\n className: styles(style.dispatcher, child.props.className),\n testId: testId ? `${testId}-dispatcher` : undefined,\n }),\n )}\n\n <LayerContent>\n <View\n {...others}\n className={styles(\n style.tooltip,\n (propLeft || propRight) && style.aline,\n left && style.left,\n right && style.right,\n top ? style.top : style.bottom,\n others.className,\n )}\n >\n {Template ? (\n <Template />\n ) : (\n <Text bold small className={style.text}>\n {text}\n </Text>\n )}\n </View>\n </LayerContent>\n </Layer>\n ) : (\n <>{children}</>\n );\n};\n\nTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n left: PropTypes.bool,\n pressable: PropTypes.bool,\n right: PropTypes.bool,\n Template: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n text: PropTypes.string,\n timestamp: PropTypes.number,\n top: PropTypes.bool,\n visible: PropTypes.bool,\n};\n\nexport { Tooltip };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.184",
3
+ "version": "1.0.186",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- {"version":3,"file":"isChecked.js","names":["TYPES","reduce","row","JSON","stringify","Object","entries","result","key","value","includes","isChecked","values","reducedRow","find","item"],"sources":["../../../../src/components/Table/helpers/isChecked.js"],"sourcesContent":["const TYPES = ['string', 'number', 'boolean'];\n\nconst reduce = (row = {}) =>\n JSON.stringify(\n Object.entries(row).reduce((result, [key, value]) => {\n if (TYPES.includes(typeof value)) result[key] = value;\n\n return result;\n }, {}),\n );\n\nexport const isChecked = (row, values = []) => {\n const reducedRow = reduce(row);\n\n return !!values.find((item) => reduce(item) === reducedRow);\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAMA,KAAK,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;AAE7C,IAAMC,MAAM,GAAG,SAATA,MAAM;EAAA,IAAIC,GAAG,uEAAG,CAAC,CAAC;EAAA,OACtBC,IAAI,CAACC,SAAS,CACZC,MAAM,CAACC,OAAO,CAACJ,GAAG,CAAC,CAACD,MAAM,CAAC,UAACM,MAAM,QAAmB;IAAA;MAAhBC,GAAG;MAAEC,KAAK;IAC7C,IAAIT,KAAK,CAACU,QAAQ,SAAQD,KAAK,EAAC,EAAEF,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAK;IAErD,OAAOF,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC,CACP;AAAA;AAEI,IAAMI,SAAS,GAAG,SAAZA,SAAS,CAAIT,GAAG,EAAkB;EAAA,IAAhBU,MAAM,uEAAG,EAAE;EACxC,IAAMC,UAAU,GAAGZ,MAAM,CAACC,GAAG,CAAC;EAE9B,OAAO,CAAC,CAACU,MAAM,CAACE,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKd,MAAM,CAACc,IAAI,CAAC,KAAKF,UAAU;EAAA,EAAC;AAC7D,CAAC;AAAC"}