@mirai/ui 1.1.0-f → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -60
- package/build/components/Action/Action.js +1 -1
- package/build/components/Action/Action.js.map +1 -1
- package/build/components/Action/Action.module.css +4 -7
- package/build/components/Action/Action.stories.js +1 -1
- package/build/components/Action/Action.stories.js.map +1 -1
- package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +26 -40
- package/build/components/Button/Button.module.css +31 -33
- package/build/components/Button/Button.stories.js +9 -0
- package/build/components/Button/Button.stories.js.map +1 -1
- package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +21 -30
- package/build/components/Calendar/Calendar.Month.js +12 -8
- package/build/components/Calendar/Calendar.Month.js.map +1 -1
- package/build/components/Calendar/Calendar.Week.js +7 -10
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +10 -2
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.module.css +8 -9
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +15768 -15800
- package/build/components/Form/Form.constants.js +1 -1
- package/build/components/Form/Form.constants.js.map +1 -1
- package/build/components/Form/Form.js +3 -1
- package/build/components/Form/Form.js.map +1 -1
- package/build/components/Form/Form.stories.js +6 -1
- package/build/components/Form/Form.stories.js.map +1 -1
- package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +9 -9
- package/build/components/InputDate/__tests__/__snapshots__/InputDate.test.js.snap +42 -42
- package/build/components/InputNumber/InputNumber.js +2 -1
- package/build/components/InputNumber/InputNumber.js.map +1 -1
- package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +138 -153
- package/build/components/InputOption/InputOption.js +8 -1
- package/build/components/InputOption/InputOption.js.map +1 -1
- package/build/components/InputOption/InputOption.module.css +13 -2
- package/build/components/InputOption/InputOption.stories.js +2 -1
- package/build/components/InputOption/InputOption.stories.js.map +1 -1
- package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +96 -90
- package/build/components/InputPhone/InputPhone.js +23 -20
- package/build/components/InputPhone/InputPhone.js.map +1 -1
- package/build/components/InputPhone/InputPhone.module.css +19 -6
- package/build/components/InputPhone/InputPhone.stories.js +3 -3
- package/build/components/InputPhone/InputPhone.stories.js.map +1 -1
- package/build/components/InputPhone/__tests__/__snapshots__/InputPhone.test.js.snap +410 -410
- package/build/components/InputPhone/helpers/index.js +11 -0
- package/build/components/InputPhone/helpers/index.js.map +1 -1
- package/build/components/InputPhone/helpers/sanitizePrefixes.js +24 -0
- package/build/components/InputPhone/helpers/sanitizePrefixes.js.map +1 -0
- package/build/components/InputSelect/InputSelect.js +3 -5
- package/build/components/InputSelect/InputSelect.js.map +1 -1
- package/build/components/InputSelect/InputSelect.stories.js +1 -0
- package/build/components/InputSelect/InputSelect.stories.js.map +1 -1
- package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +136 -136
- package/build/components/InputSelect/partials/InputSelect.Expand.js +23 -0
- package/build/components/InputSelect/partials/InputSelect.Expand.js.map +1 -0
- package/build/components/InputSelect/partials/index.js +17 -0
- package/build/components/InputSelect/partials/index.js.map +1 -0
- package/build/components/InputText/InputText.js +6 -4
- package/build/components/InputText/InputText.js.map +1 -1
- package/build/components/InputText/InputText.module.css +18 -6
- package/build/components/InputText/InputText.stories.js +7 -2
- package/build/components/InputText/InputText.stories.js.map +1 -1
- package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +142 -143
- package/build/components/Menu/__tests__/__snapshots__/Menu.test.jsx.snap +72 -70
- package/build/components/Modal/Modal.js +15 -8
- package/build/components/Modal/Modal.js.map +1 -1
- package/build/components/Modal/Modal.module.css +30 -14
- package/build/components/Modal/Modal.stories.js +1 -0
- package/build/components/Modal/Modal.stories.js.map +1 -1
- package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +92 -98
- package/build/components/Notification/Notification.js +20 -12
- package/build/components/Notification/Notification.js.map +1 -1
- package/build/components/Notification/Notification.module.css +44 -58
- package/build/components/Notification/Notification.stories.js +15 -2
- package/build/components/Notification/Notification.stories.js.map +1 -1
- package/build/components/Notification/__tests__/__snapshots__/Notification.test.js.snap +600 -254
- package/build/components/Progress/Progress.js +2 -0
- package/build/components/Progress/Progress.js.map +1 -1
- package/build/components/Progress/__tests__/__snapshots__/Progress.test.jsx.snap +18 -18
- package/build/components/Slider/Slider.constants.js +3 -1
- package/build/components/Slider/Slider.constants.js.map +1 -1
- package/build/components/Slider/Slider.js +67 -66
- package/build/components/Slider/Slider.js.map +1 -1
- package/build/components/Slider/Slider.module.css +55 -52
- package/build/components/Slider/Slider.stories.js +9 -6
- package/build/components/Slider/Slider.stories.js.map +1 -1
- package/build/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +714 -333
- package/build/components/Table/Table.ColumnFilter.js +17 -14
- package/build/components/Table/Table.ColumnFilter.js.map +1 -1
- package/build/components/Table/Table.Row.js +2 -1
- package/build/components/Table/Table.Row.js.map +1 -1
- package/build/components/Table/Table.constants.js +3 -1
- package/build/components/Table/Table.constants.js.map +1 -1
- package/build/components/Table/Table.js +54 -17
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Table/Table.module.css +12 -6
- package/build/components/Table/Table.stories.js +39 -19
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/Table.stories.module.css +4 -5
- package/build/components/Table/__tests__/__snapshots__/Table.ColumnFilter.test.js.snap +221 -240
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +1725 -1085
- package/build/components/Table/helpers/exists.js +2 -3
- package/build/components/Table/helpers/exists.js.map +1 -1
- package/build/components/Table/helpers/select.js +24 -16
- package/build/components/Table/helpers/select.js.map +1 -1
- package/build/components/Tooltip/Tooltip.js +29 -6
- package/build/components/Tooltip/Tooltip.js.map +1 -1
- package/build/components/Tooltip/__tests__/__snapshots__/Tooltip.test.jsx.snap +51 -44
- package/build/components/index.js +11 -0
- package/build/components/index.js.map +1 -1
- package/build/helpers/getInputPhoneErrors.js +3 -2
- package/build/helpers/getInputPhoneErrors.js.map +1 -1
- package/build/hooks/useDevice.js +1 -1
- package/build/hooks/useDevice.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.js +4 -3
- package/build/primitives/Checkbox/Checkbox.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.module.css +43 -6
- package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +47 -16
- package/build/primitives/Icon/Icon.constants.js +43 -21
- package/build/primitives/Icon/Icon.constants.js.map +1 -1
- package/build/primitives/Icon/Icon.js +15 -5
- package/build/primitives/Icon/Icon.js.map +1 -1
- package/build/primitives/Icon/Icon.module.css +32 -19
- package/build/primitives/Icon/Icon.stories.js +5 -0
- package/build/primitives/Icon/Icon.stories.js.map +1 -1
- package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +291 -100
- package/build/primitives/Input/Input.js +9 -3
- package/build/primitives/Input/Input.js.map +1 -1
- package/build/primitives/Input/Input.stories.js +2 -0
- package/build/primitives/Input/Input.stories.js.map +1 -1
- package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +22 -0
- package/build/primitives/Layer/Layer.js +11 -5
- package/build/primitives/Layer/Layer.js.map +1 -1
- package/build/primitives/Layer/Layer.module.css +4 -0
- package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +78 -42
- package/build/primitives/Layer/helpers/index.js +11 -0
- package/build/primitives/Layer/helpers/index.js.map +1 -1
- package/build/primitives/Layer/helpers/isComponentFixed.js +32 -0
- package/build/primitives/Layer/helpers/isComponentFixed.js.map +1 -0
- package/build/primitives/Pressable/Pressable.constants.js +1 -1
- package/build/primitives/Pressable/Pressable.constants.js.map +1 -1
- package/build/primitives/Pressable/Pressable.js +3 -7
- package/build/primitives/Pressable/Pressable.js.map +1 -1
- package/build/primitives/Pressable/Pressable.module.css +0 -1
- package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +10 -14
- package/build/primitives/Primitive/Primitive.js +2 -2
- package/build/primitives/Primitive/Primitive.js.map +1 -1
- package/build/primitives/Primitive/__tests__/__snapshots__/Primitive.test.js.snap +7 -7
- package/build/primitives/Primitive/helpers/index.js +0 -11
- package/build/primitives/Primitive/helpers/index.js.map +1 -1
- package/build/primitives/Radio/Radio.js +1 -1
- package/build/primitives/Radio/Radio.js.map +1 -1
- package/build/primitives/Radio/Radio.module.css +20 -2
- package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +21 -21
- package/build/primitives/ScrollView/ScrollView.js +1 -1
- package/build/primitives/ScrollView/ScrollView.js.map +1 -1
- package/build/primitives/ScrollView/ScrollView.module.css +1 -0
- package/build/primitives/ScrollView/ScrollView.stories.js +5 -6
- package/build/primitives/ScrollView/ScrollView.stories.js.map +1 -1
- package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +20 -20
- package/build/primitives/Select/Select.js +13 -6
- package/build/primitives/Select/Select.js.map +1 -1
- package/build/primitives/Select/Select.stories.js +1 -0
- package/build/primitives/Select/Select.stories.js.map +1 -1
- package/build/primitives/Select/__tests__/__snapshots__/Select.test.js.snap +36 -0
- package/build/primitives/Switch/Switch.js +5 -3
- package/build/primitives/Switch/Switch.js.map +1 -1
- package/build/primitives/Switch/Switch.module.css +35 -7
- package/build/primitives/Switch/Switch.stories.js +1 -0
- package/build/primitives/Switch/Switch.stories.js.map +1 -1
- package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +88 -25
- package/build/primitives/Text/Text.js +12 -5
- package/build/primitives/Text/Text.js.map +1 -1
- package/build/primitives/Text/Text.module.css +29 -14
- package/build/primitives/Text/Text.stories.js +4 -0
- package/build/primitives/Text/Text.stories.js.map +1 -1
- package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +78 -38
- package/build/primitives/View/View.js +1 -1
- package/build/primitives/View/View.js.map +1 -1
- package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +10 -10
- package/build/theme/default.theme.css +54 -53
- package/build/theme/theme.constants.js +3 -1
- package/build/theme/theme.constants.js.map +1 -1
- package/build/theme/theme.js +34 -11
- package/build/theme/theme.js.map +1 -1
- package/package.json +4 -5
- package/build/primitives/Primitive/helpers/getTag.js +0 -33
- package/build/primitives/Primitive/helpers/getTag.js.map +0 -1
|
@@ -75,7 +75,7 @@ var ColumnFilter = function ColumnFilter(_ref) {
|
|
|
75
75
|
var _ref2 = schema[field] || {},
|
|
76
76
|
label = _ref2.label,
|
|
77
77
|
_ref2$options = _ref2.options,
|
|
78
|
-
options = _ref2$options === void 0 ?
|
|
78
|
+
options = _ref2$options === void 0 ? {} : _ref2$options,
|
|
79
79
|
_ref2$type = _ref2.type,
|
|
80
80
|
type = _ref2$type === void 0 ? 'text' : _ref2$type;
|
|
81
81
|
(0, _react.useEffect)(function () {
|
|
@@ -143,17 +143,20 @@ var ColumnFilter = function ColumnFilter(_ref) {
|
|
|
143
143
|
},
|
|
144
144
|
onKeyDown: handleKeyDown,
|
|
145
145
|
className: _TableModule.default.input
|
|
146
|
-
})) : type === 'boolean' ? /*#__PURE__*/_react.default.createElement(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
146
|
+
})) : type === 'boolean' ? /*#__PURE__*/_react.default.createElement(_primitives.View, null, [false, true].map(function (value) {
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_InputOption.InputOption, {
|
|
148
|
+
checked: value && form.value === 'true' || !value && form.value === 'false' || false,
|
|
149
|
+
key: value,
|
|
150
|
+
name: "boolean",
|
|
151
|
+
label: options[value] || value.toString(),
|
|
152
|
+
value: "boolean-".concat(value.toString()),
|
|
153
|
+
onChange: function onChange() {
|
|
154
|
+
return setForm(_objectSpread(_objectSpread({}, form), {}, {
|
|
155
|
+
value: value.toString()
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
})) : type === 'options' ? /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
157
160
|
wide: true
|
|
158
161
|
}, Object.entries(options).map(function (_ref3) {
|
|
159
162
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
@@ -161,10 +164,10 @@ var ColumnFilter = function ColumnFilter(_ref) {
|
|
|
161
164
|
label = _ref4[1];
|
|
162
165
|
var parsedValue = isNaN(value) ? value : parseFloat(value);
|
|
163
166
|
return /*#__PURE__*/_react.default.createElement(_InputOption.InputOption, {
|
|
164
|
-
|
|
167
|
+
checked: form.values.includes(parsedValue) || false,
|
|
165
168
|
key: value,
|
|
169
|
+
name: value,
|
|
166
170
|
label: label,
|
|
167
|
-
checked: form.values.includes(parsedValue) || false,
|
|
168
171
|
onChange: function onChange(active) {
|
|
169
172
|
return setForm({
|
|
170
173
|
values: active ? [].concat(_toConsumableArray(form.values), [parsedValue]) : form.values.filter(function (item) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.ColumnFilter.js","names":["DEFAULT_FORM","max","undefined","min","value","values","ColumnFilter","field","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","visible","propVisible","onFocus","onSubmit","others","useState","form","setForm","setVisible","label","options","type","useEffect","handlePress","event","preventDefault","handleCancel","handleKeyDown","key","handleSubmit","testId","children","divider","style","items","input","SWITCH","Object","entries","map","parsedValue","isNaN","parseFloat","includes","active","filter","item","keys","length","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 DEFAULT_FORM = { max: undefined, min: undefined, value: undefined, values: [] };\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({ ...DEFAULT_FORM });\n const [visible, setVisible] = useState(propVisible);\n const { label, options = [], type = 'text' } = schema[field] || {};\n\n useEffect(() => {\n setVisible(propVisible);\n }, [propVisible]);\n\n useEffect(() => {\n setForm({ ...DEFAULT_FORM, 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 handleKeyDown = (event = {}) => {\n if (event.key === 'Enter') handleSubmit(event);\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 onKeyDown={handleKeyDown}\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 ) : type === 'options' ? (\n <View wide>\n {Object.entries(options).map(([value, label]) => {\n const parsedValue = isNaN(value) ? value : parseFloat(value);\n\n return (\n <InputOption\n name={value}\n key={value}\n label={label}\n checked={form.values.includes(parsedValue) || false}\n onChange={(active) =>\n setForm({\n values: active\n ? [...form.values, parsedValue]\n : form.values.filter((item) => item !== parsedValue),\n })\n }\n />\n );\n })}\n </View>\n ) : (\n <InputText\n name=\"search\"\n type=\"search\"\n value={form.value}\n onChange={(value) => setForm({ value })}\n onKeyDown={handleKeyDown}\n className={style.input}\n />\n ),\n divider: true,\n },\n {\n children: (\n <View row wide className={style.items}>\n <Button secondary wide onPress={handleCancel}>\n {actionCancel}\n </Button>\n <Button\n disabled={\n type !== 'boolean' && !form.value && !form.min && !form.max && !Object.keys(form.values || {}).length\n }\n wide\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {actionSubmit}\n </Button>\n </View>\n ),\n },\n ]}\n bottom\n centered\n visible={visible}\n className={styles(style.menuFilter, others.className)}\n >\n <Pressable onPress={handlePress} style={{ position: 'relative' }}>\n <Icon value={ICON.FILTER} className={styles(style.icon, !visible && style.disabled)} />\n </Pressable>\n </Menu>\n );\n};\n\nColumnFilter.displayName = 'Component:Table:ColumnFilter';\n\nColumnFilter.propTypes = {\n field: PropTypes.string.isRequired,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n visible: PropTypes.bool,\n onFocus: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n};\n\nexport { ColumnFilter };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.ColumnFilter.js","names":["DEFAULT_FORM","max","undefined","min","value","values","ColumnFilter","field","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","visible","propVisible","onFocus","onSubmit","others","useState","form","setForm","setVisible","label","options","type","useEffect","handlePress","event","preventDefault","handleCancel","handleKeyDown","key","handleSubmit","testId","children","divider","style","items","input","map","toString","Object","entries","parsedValue","isNaN","parseFloat","includes","active","filter","item","keys","length","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 } from '../InputOption';\nimport { InputText } from '../InputText';\nimport { Menu } from '../Menu';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst DEFAULT_FORM = { max: undefined, min: undefined, value: undefined, values: [] };\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({ ...DEFAULT_FORM });\n const [visible, setVisible] = useState(propVisible);\n const { label, options = {}, type = 'text' } = schema[field] || {};\n\n useEffect(() => {\n setVisible(propVisible);\n }, [propVisible]);\n\n useEffect(() => {\n setForm({ ...DEFAULT_FORM, 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 handleKeyDown = (event = {}) => {\n if (event.key === 'Enter') handleSubmit(event);\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 onKeyDown={handleKeyDown}\n className={style.input}\n />\n </View>\n ) : type === 'boolean' ? (\n <View>\n {[false, true].map((value) => (\n <InputOption\n checked={(value && form.value === 'true') || (!value && form.value === 'false') || false}\n key={value}\n name=\"boolean\"\n label={options[value] || value.toString()}\n value={`boolean-${value.toString()}`}\n onChange={() => setForm({ ...form, value: value.toString() })}\n />\n ))}\n </View>\n ) : type === 'options' ? (\n <View wide>\n {Object.entries(options).map(([value, label]) => {\n const parsedValue = isNaN(value) ? value : parseFloat(value);\n\n return (\n <InputOption\n checked={form.values.includes(parsedValue) || false}\n key={value}\n name={value}\n label={label}\n onChange={(active) =>\n setForm({\n values: active\n ? [...form.values, parsedValue]\n : form.values.filter((item) => item !== parsedValue),\n })\n }\n />\n );\n })}\n </View>\n ) : (\n <InputText\n name=\"search\"\n type=\"search\"\n value={form.value}\n onChange={(value) => setForm({ value })}\n onKeyDown={handleKeyDown}\n className={style.input}\n />\n ),\n divider: true,\n },\n {\n children: (\n <View row wide className={style.items}>\n <Button secondary wide onPress={handleCancel}>\n {actionCancel}\n </Button>\n <Button\n disabled={\n type !== 'boolean' && !form.value && !form.min && !form.max && !Object.keys(form.values || {}).length\n }\n wide\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {actionSubmit}\n </Button>\n </View>\n ),\n },\n ]}\n bottom\n centered\n visible={visible}\n className={styles(style.menuFilter, others.className)}\n >\n <Pressable onPress={handlePress} style={{ position: 'relative' }}>\n <Icon value={ICON.FILTER} className={styles(style.icon, !visible && style.disabled)} />\n </Pressable>\n </Menu>\n );\n};\n\nColumnFilter.displayName = 'Component:Table:ColumnFilter';\n\nColumnFilter.propTypes = {\n field: PropTypes.string.isRequired,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n visible: PropTypes.bool,\n onFocus: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n};\n\nexport { ColumnFilter };\n"],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ var Row = function Row(_ref) {
|
|
|
52
52
|
_event$target = _event$target === void 0 ? {} : _event$target;
|
|
53
53
|
var type = _event$target.type;
|
|
54
54
|
if (CUSTOM_EVENT_TYPES.includes(type)) return;
|
|
55
|
-
isHead ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;
|
|
55
|
+
isHead && onSort ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;
|
|
56
56
|
};
|
|
57
57
|
var handleFocus = function handleFocus(field) {
|
|
58
58
|
setFocus(field);
|
|
@@ -88,6 +88,7 @@ var Row = function Row(_ref) {
|
|
|
88
88
|
} : undefined
|
|
89
89
|
}, /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
90
90
|
forceRow: true,
|
|
91
|
+
tag: "span",
|
|
91
92
|
className: (0, _helpers.styles)(_TableModule.default.column, onSelect && index === 0 && _TableModule.default.selectable, !isHead && !(onSelect && index === 0) && _TableModule.default[type])
|
|
92
93
|
}, onSelect && index === 0 && /*#__PURE__*/_react.default.createElement(_InputOption.InputOption, {
|
|
93
94
|
checked: checked,
|
|
@@ -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","handleSelect","preventDefault","styles","style","selected","Object","keys","filter","hidden","map","index","hasFilter","label","hasSort","tooltip","fieldFilter","bind","React","createElement","Primitive","tag","key","onClick","column","selectable","value","checkbox","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 { Tooltip } from '../Tooltip';\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 const handleSelect = (dataSource, event) => {\n event.preventDefault();\n onSelect(dataSource, event);\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, tooltip, type = 'text' } = schema[field];\n const fieldFilter = schema[field]?.bind || 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 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) => handleSelect(dataSource, event)}\n className={style.checkbox}\n testId={testId ? `${testId}-checkbox` : undefined}\n />\n )}\n\n {isHead ? (\n tooltip ? (\n <Tooltip text={tooltip}>\n <Primitive className={style.tooltip}>{label}</Primitive>\n </Tooltip>\n ) : (\n label\n )\n ) : (\n dataSource[field]\n )}\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={fieldFilter}\n l10n={l10n}\n schema={schema}\n visible={fieldFilter === 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;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,
|
|
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","handleSelect","preventDefault","styles","style","selected","Object","keys","filter","hidden","map","index","hasFilter","label","hasSort","tooltip","fieldFilter","bind","React","createElement","Primitive","tag","key","onClick","column","selectable","value","checkbox","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 { Tooltip } from '../Tooltip';\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 ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;\n };\n\n const handleFocus = (field) => {\n setFocus(field);\n };\n\n const handleSelect = (dataSource, event) => {\n event.preventDefault();\n onSelect(dataSource, event);\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, tooltip, type = 'text' } = schema[field];\n const fieldFilter = schema[field]?.bind || 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) => handleSelect(dataSource, event)}\n className={style.checkbox}\n testId={testId ? `${testId}-checkbox` : undefined}\n />\n )}\n\n {isHead ? (\n tooltip ? (\n <Tooltip text={tooltip}>\n <Primitive className={style.tooltip}>{label}</Primitive>\n </Tooltip>\n ) : (\n label\n )\n ) : (\n dataSource[field]\n )}\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={fieldFilter}\n l10n={l10n}\n schema={schema}\n visible={fieldFilter === 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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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.STORAGE_KEY = exports.L10N_SHAPE = void 0;
|
|
6
|
+
exports.STORAGE_KEY = exports.PAGINATION_DISPATCHER = exports.L10N_SHAPE = void 0;
|
|
7
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
var L10N_SHAPE = _propTypes.default.shape({
|
|
@@ -13,6 +13,8 @@ var L10N_SHAPE = _propTypes.default.shape({
|
|
|
13
13
|
labelMin: _propTypes.default.string
|
|
14
14
|
});
|
|
15
15
|
exports.L10N_SHAPE = L10N_SHAPE;
|
|
16
|
+
var PAGINATION_DISPATCHER = 90;
|
|
17
|
+
exports.PAGINATION_DISPATCHER = PAGINATION_DISPATCHER;
|
|
16
18
|
var STORAGE_KEY = 'mirai-ui-table';
|
|
17
19
|
exports.STORAGE_KEY = STORAGE_KEY;
|
|
18
20
|
//# sourceMappingURL=Table.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.constants.js","names":["L10N_SHAPE","PropTypes","shape","actionCancel","string","actionSubmit","labelMax","labelMin","STORAGE_KEY"],"sources":["../../../src/components/Table/Table.constants.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst L10N_SHAPE = PropTypes.shape({\n actionCancel: PropTypes.string,\n actionSubmit: PropTypes.string,\n labelMax: PropTypes.string,\n labelMin: PropTypes.string,\n});\n\nconst STORAGE_KEY = 'mirai-ui-table';\n\nexport { L10N_SHAPE, STORAGE_KEY };\n"],"mappings":";;;;;;AAAA;AAAmC;AAEnC,IAAMA,UAAU,GAAGC,kBAAS,CAACC,KAAK,CAAC;EACjCC,YAAY,EAAEF,kBAAS,CAACG,MAAM;EAC9BC,YAAY,EAAEJ,kBAAS,CAACG,MAAM;EAC9BE,QAAQ,EAAEL,kBAAS,CAACG,MAAM;EAC1BG,QAAQ,EAAEN,kBAAS,CAACG;AACtB,CAAC,CAAC;AAAC;AAEH,IAAMI,WAAW,GAAG,gBAAgB;AAAC"}
|
|
1
|
+
{"version":3,"file":"Table.constants.js","names":["L10N_SHAPE","PropTypes","shape","actionCancel","string","actionSubmit","labelMax","labelMin","PAGINATION_DISPATCHER","STORAGE_KEY"],"sources":["../../../src/components/Table/Table.constants.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst L10N_SHAPE = PropTypes.shape({\n actionCancel: PropTypes.string,\n actionSubmit: PropTypes.string,\n labelMax: PropTypes.string,\n labelMin: PropTypes.string,\n});\n\nconst PAGINATION_DISPATCHER = 90;\n\nconst STORAGE_KEY = 'mirai-ui-table';\n\nexport { L10N_SHAPE, PAGINATION_DISPATCHER, STORAGE_KEY };\n"],"mappings":";;;;;;AAAA;AAAmC;AAEnC,IAAMA,UAAU,GAAGC,kBAAS,CAACC,KAAK,CAAC;EACjCC,YAAY,EAAEF,kBAAS,CAACG,MAAM;EAC9BC,YAAY,EAAEJ,kBAAS,CAACG,MAAM;EAC9BE,QAAQ,EAAEL,kBAAS,CAACG,MAAM;EAC1BG,QAAQ,EAAEN,kBAAS,CAACG;AACtB,CAAC,CAAC;AAAC;AAEH,IAAMI,qBAAqB,GAAG,EAAE;AAAC;AAEjC,IAAMC,WAAW,GAAG,gBAAgB;AAAC"}
|
|
@@ -14,7 +14,7 @@ var _Table = require("./Table.constants");
|
|
|
14
14
|
var _Table2 = require("./Table.Filter");
|
|
15
15
|
var _TableModule = _interopRequireDefault(require("./Table.module.css"));
|
|
16
16
|
var _Table3 = require("./Table.Row");
|
|
17
|
-
var _excluded = ["dataSource", "filter", "inline", "l10n", "schema", "search", "selected", "store", "onPress", "onScroll", "onSelect"];
|
|
17
|
+
var _excluded = ["dataSource", "filter", "inline", "id", "l10n", "pagination", "schema", "search", "selected", "sort", "store", "onPress", "onScroll", "onSelect"];
|
|
18
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -41,24 +41,38 @@ var Table = function Table(_ref) {
|
|
|
41
41
|
propFilter = _ref.filter,
|
|
42
42
|
_ref$inline = _ref.inline,
|
|
43
43
|
inline = _ref$inline === void 0 ? true : _ref$inline,
|
|
44
|
+
_ref$id = _ref.id,
|
|
45
|
+
id = _ref$id === void 0 ? false : _ref$id,
|
|
44
46
|
l10n = _ref.l10n,
|
|
47
|
+
pagination = _ref.pagination,
|
|
45
48
|
schema = _ref.schema,
|
|
46
49
|
search = _ref.search,
|
|
47
50
|
_ref$selected = _ref.selected,
|
|
48
51
|
selected = _ref$selected === void 0 ? [] : _ref$selected,
|
|
52
|
+
_ref$sort = _ref.sort,
|
|
53
|
+
propSort = _ref$sort === void 0 ? true : _ref$sort,
|
|
49
54
|
store = _ref.store,
|
|
50
55
|
onPress = _ref.onPress,
|
|
51
|
-
onScroll = _ref.onScroll,
|
|
56
|
+
_ref$onScroll = _ref.onScroll,
|
|
57
|
+
onScroll = _ref$onScroll === void 0 ? function () {} : _ref$onScroll,
|
|
52
58
|
onSelect = _ref.onSelect,
|
|
53
59
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
54
60
|
var _useState = (0, _react.useState)([]),
|
|
55
61
|
_useState2 = _slicedToArray(_useState, 2),
|
|
56
62
|
filter = _useState2[0],
|
|
57
63
|
setFilter = _useState2[1];
|
|
58
|
-
var _useState3 = (0, _react.useState)(
|
|
64
|
+
var _useState3 = (0, _react.useState)(pagination),
|
|
59
65
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
60
|
-
|
|
61
|
-
|
|
66
|
+
limit = _useState4[0],
|
|
67
|
+
setLimit = _useState4[1];
|
|
68
|
+
var _useState5 = (0, _react.useState)(),
|
|
69
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
70
|
+
scrollTo = _useState6[0],
|
|
71
|
+
setScrollTo = _useState6[1];
|
|
72
|
+
var _useState7 = (0, _react.useState)({}),
|
|
73
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
74
|
+
sort = _useState8[0],
|
|
75
|
+
setSort = _useState8[1];
|
|
62
76
|
(0, _react.useEffect)(function () {
|
|
63
77
|
var nextFilter = propFilter;
|
|
64
78
|
if (store) {
|
|
@@ -74,10 +88,12 @@ var Table = function Table(_ref) {
|
|
|
74
88
|
}, [filter, store]);
|
|
75
89
|
var handleAddFilter = function handleAddFilter(item) {
|
|
76
90
|
setFilter([].concat(_toConsumableArray(filter), [item]));
|
|
91
|
+
setScrollTo(0);
|
|
77
92
|
};
|
|
78
93
|
var handleRemoveFilter = function handleRemoveFilter(index) {
|
|
79
94
|
filter === null || filter === void 0 ? void 0 : filter.splice(index, 1);
|
|
80
95
|
setFilter(_toConsumableArray(filter));
|
|
96
|
+
setScrollTo();
|
|
81
97
|
};
|
|
82
98
|
var handleHeadSelect = function handleHeadSelect(row, event) {
|
|
83
99
|
var next = (0, _helpers2.select)({
|
|
@@ -88,12 +104,28 @@ var Table = function Table(_ref) {
|
|
|
88
104
|
selected: selected,
|
|
89
105
|
sort: sort
|
|
90
106
|
});
|
|
91
|
-
onSelect(selected.length !== next.length ?
|
|
107
|
+
onSelect(selected.length !== next.length ? id ? next.map(function (_ref2) {
|
|
108
|
+
var id = _ref2.id;
|
|
109
|
+
return id;
|
|
110
|
+
}) : next : [], event);
|
|
111
|
+
};
|
|
112
|
+
var handleScroll = function handleScroll(event) {
|
|
113
|
+
if (pagination && event.percentY > _Table.PAGINATION_DISPATCHER && limit < dataSource.length) setLimit(limit + pagination);
|
|
114
|
+
onScroll(event);
|
|
92
115
|
};
|
|
93
116
|
var handleSelect = function handleSelect(row, event) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
117
|
+
var updatedSelected;
|
|
118
|
+
if (id) {
|
|
119
|
+
var rowId = row.id;
|
|
120
|
+
updatedSelected = selected.includes(rowId) ? selected.filter(function (selectedId) {
|
|
121
|
+
return selectedId !== rowId;
|
|
122
|
+
}) : [].concat(_toConsumableArray(selected), [rowId]);
|
|
123
|
+
} else {
|
|
124
|
+
updatedSelected = (0, _helpers2.exists)(row, selected) ? selected.filter(function (item) {
|
|
125
|
+
return !(0, _helpers2.exists)(row, [item]);
|
|
126
|
+
}) : [].concat(_toConsumableArray(selected), [row]);
|
|
127
|
+
}
|
|
128
|
+
onSelect(updatedSelected, event);
|
|
97
129
|
};
|
|
98
130
|
var handleSort = function handleSort(field) {
|
|
99
131
|
setSort(sort[field] === undefined ? _defineProperty({}, field, true) : sort[field] ? _defineProperty({}, field, false) : {});
|
|
@@ -102,15 +134,16 @@ var Table = function Table(_ref) {
|
|
|
102
134
|
role = _others$role === void 0 ? 'table' : _others$role,
|
|
103
135
|
testId = others.testId;
|
|
104
136
|
var fields = Object.keys(schema);
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
field =
|
|
137
|
+
var _ref5 = (filter === null || filter === void 0 ? void 0 : filter.filter(function () {
|
|
138
|
+
var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
139
|
+
field = _ref6.field;
|
|
108
140
|
return fields.includes(field);
|
|
109
141
|
})) || {},
|
|
110
|
-
filterFields =
|
|
142
|
+
filterFields = _ref5.length;
|
|
111
143
|
return /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, _objectSpread(_objectSpread({}, others), {}, {
|
|
112
144
|
role: role,
|
|
113
|
-
|
|
145
|
+
scrollTo: scrollTo,
|
|
146
|
+
onScroll: handleScroll,
|
|
114
147
|
className: (0, _helpers.styles)(_TableModule.default.container, !inline && _TableModule.default.outlined, others.className)
|
|
115
148
|
}), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterFields > 0 && /*#__PURE__*/_react.default.createElement(_Table2.Filter, {
|
|
116
149
|
filter: filter,
|
|
@@ -132,7 +165,7 @@ var Table = function Table(_ref) {
|
|
|
132
165
|
sort: sort,
|
|
133
166
|
onFilter: propFilter ? handleAddFilter : undefined,
|
|
134
167
|
onSelect: onSelect ? handleHeadSelect : undefined,
|
|
135
|
-
onSort: handleSort,
|
|
168
|
+
onSort: propSort ? handleSort : undefined,
|
|
136
169
|
testId: testId ? "".concat(testId, "-head") : undefined
|
|
137
170
|
})), /*#__PURE__*/_react.default.createElement(_primitives.Primitive, {
|
|
138
171
|
tag: "tbody"
|
|
@@ -140,12 +173,13 @@ var Table = function Table(_ref) {
|
|
|
140
173
|
return (0, _helpers2.select)({
|
|
141
174
|
dataSource: dataSource,
|
|
142
175
|
filter: filter,
|
|
176
|
+
limit: limit,
|
|
143
177
|
schema: schema,
|
|
144
178
|
search: search,
|
|
145
179
|
selected: selected,
|
|
146
180
|
sort: sort
|
|
147
181
|
});
|
|
148
|
-
}, [dataSource, filter, schema, search, selected, sort]).map(function (row, index) {
|
|
182
|
+
}, [dataSource, filter, limit, schema, search, selected, sort]).map(function (row, index) {
|
|
149
183
|
return /*#__PURE__*/_react.default.createElement(_Table3.Row, {
|
|
150
184
|
checked: (0, _helpers2.exists)(row, selected),
|
|
151
185
|
dataSource: row,
|
|
@@ -163,11 +197,14 @@ Table.propTypes = {
|
|
|
163
197
|
dataSource: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
164
198
|
filter: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
165
199
|
inline: _propTypes.default.bool,
|
|
200
|
+
id: _propTypes.default.bool,
|
|
166
201
|
l10n: _Table.L10N_SHAPE,
|
|
202
|
+
pagination: _propTypes.default.number,
|
|
167
203
|
schema: _propTypes.default.shape({}).isRequired,
|
|
168
204
|
search: _propTypes.default.string,
|
|
169
|
-
store: _propTypes.default.string,
|
|
170
205
|
selected: _propTypes.default.arrayOf(_propTypes.default.shape()),
|
|
206
|
+
sort: _propTypes.default.bool,
|
|
207
|
+
store: _propTypes.default.string,
|
|
171
208
|
onPress: _propTypes.default.func,
|
|
172
209
|
onScroll: _propTypes.default.func,
|
|
173
210
|
onSelect: _propTypes.default.func
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["Table","dataSource","propFilter","filter","inline","l10n","schema","search","selected","store","onPress","onScroll","onSelect","others","useState","setFilter","sort","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","select","handleSelect","exists","handleSort","field","undefined","role","testId","fields","Object","keys","includes","filterFields","React","createElement","ScrollView","className","styles","style","container","outlined","table","useMemo","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 } 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 = [],\n store,\n onPress,\n onScroll,\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\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 = select({ dataSource, filter, schema, search, selected, sort });\n onSelect(selected.length !== next.length ? next : [], event);\n };\n\n const handleSelect = (row, event) => {\n onSelect(exists(row, selected) ? selected.filter((item) => !exists(row, [item])) : [...selected, row], event);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { role = 'table', testId } = others;\n const fields = Object.keys(schema);\n const { length: filterFields } = filter?.filter(({ field } = {}) => fields.includes(field)) || {};\n\n return React.createElement(\n ScrollView,\n {\n ...others,\n role,\n onScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && (\n <Filter filter={filter} schema={schema} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\n <Primitive tag=\"table\" className={style.table}>\n <Primitive tag=\"thead\">\n <Row\n checked={dataSource.length > 0 ? selected.length === dataSource.length : undefined}\n indeterminate={dataSource.length > 0 && selected.length > 0}\n l10n={l10n}\n schema={schema}\n sort={sort}\n onFilter={propFilter ? handleAddFilter : undefined}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={handleSort}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, schema, search, selected, sort }),\n [dataSource, filter, schema, search, selected, sort],\n ).map((row, index) => (\n <Row\n checked={exists(row, selected)}\n dataSource={row}\n key={index}\n schema={schema}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </Primitive>\n </Primitive>\n </>,\n );\n};\n\nTable.displayName = 'Component:Table';\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n inline: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n store: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","names":["Table","dataSource","propFilter","filter","inline","id","l10n","pagination","schema","search","selected","sort","propSort","store","onPress","onScroll","onSelect","others","useState","setFilter","limit","setLimit","scrollTo","setScrollTo","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","select","map","handleScroll","percentY","PAGINATION_DISPATCHER","handleSelect","updatedSelected","rowId","includes","selectedId","exists","handleSort","field","undefined","role","testId","fields","Object","keys","filterFields","React","createElement","ScrollView","className","styles","style","container","outlined","table","useMemo","displayName","propTypes","PropTypes","arrayOf","shape","bool","L10N_SHAPE","number","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 } from '../../primitives';\nimport { exists, select, Storage } from './helpers';\nimport { L10N_SHAPE, PAGINATION_DISPATCHER } 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 id = false,\n l10n,\n pagination,\n schema,\n search,\n selected = [],\n sort: propSort = true,\n store,\n onPress,\n onScroll = () => {},\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\n const [limit, setLimit] = useState(pagination);\n const [scrollTo, setScrollTo] = useState();\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 setScrollTo(0);\n };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n setScrollTo();\n };\n\n const handleHeadSelect = (row, event) => {\n const next = select({ dataSource, filter, schema, search, selected, sort });\n onSelect(selected.length !== next.length ? (id ? next.map(({ id }) => id) : next) : [], event);\n };\n\n const handleScroll = (event) => {\n if (pagination && event.percentY > PAGINATION_DISPATCHER && limit < dataSource.length) setLimit(limit + pagination);\n onScroll(event);\n };\n\n const handleSelect = (row, event) => {\n let updatedSelected;\n\n if (id) {\n const rowId = row.id;\n updatedSelected = selected.includes(rowId)\n ? selected.filter((selectedId) => selectedId !== rowId)\n : [...selected, rowId];\n } else {\n updatedSelected = exists(row, selected) ? selected.filter((item) => !exists(row, [item])) : [...selected, row];\n }\n\n onSelect(updatedSelected, event);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { role = 'table', testId } = others;\n const fields = Object.keys(schema);\n const { length: filterFields } = filter?.filter(({ field } = {}) => fields.includes(field)) || {};\n\n return React.createElement(\n ScrollView,\n {\n ...others,\n role,\n scrollTo: scrollTo,\n onScroll: handleScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && (\n <Filter filter={filter} schema={schema} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\n <Primitive tag=\"table\" className={style.table}>\n <Primitive tag=\"thead\">\n <Row\n checked={dataSource.length > 0 ? selected.length === dataSource.length : undefined}\n indeterminate={dataSource.length > 0 && selected.length > 0}\n l10n={l10n}\n schema={schema}\n sort={sort}\n onFilter={propFilter ? handleAddFilter : undefined}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={propSort ? handleSort : undefined}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, limit, schema, search, selected, sort }),\n [dataSource, filter, limit, 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 id: PropTypes.bool,\n l10n: L10N_SHAPE,\n pagination: PropTypes.number,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n sort: PropTypes.bool,\n store: PropTypes.string,\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
.table th .icons {
|
|
81
|
-
gap:
|
|
81
|
+
gap: var(--mirai-ui-space-XXS);
|
|
82
82
|
margin-left: auto;
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -113,8 +113,6 @@
|
|
|
113
113
|
|
|
114
114
|
.table .checkbox {
|
|
115
115
|
margin: 0;
|
|
116
|
-
max-width: var(--mirai-ui-checkbox-size);
|
|
117
|
-
min-width: var(--mirai-ui-checkbox-size);
|
|
118
116
|
}
|
|
119
117
|
|
|
120
118
|
/* <ColumnFilter> */
|
|
@@ -141,9 +139,8 @@
|
|
|
141
139
|
.filters .item {
|
|
142
140
|
box-shadow: inset 0 0 0 var(--mirai-ui-border-width) var(--mirai-ui-table-border-color);
|
|
143
141
|
border-radius: var(--mirai-ui-border-radius);
|
|
144
|
-
gap:
|
|
145
|
-
padding:
|
|
146
|
-
var(--mirai-ui-space-S);
|
|
142
|
+
gap: var(--mirai-ui-space-XXS);
|
|
143
|
+
padding: var(--mirai-ui-space-XXS) var(--mirai-ui-space-XXS) var(--mirai-ui-space-XXS) var(--mirai-ui-space-S);
|
|
147
144
|
user-select: none;
|
|
148
145
|
}
|
|
149
146
|
|
|
@@ -158,10 +155,19 @@
|
|
|
158
155
|
|
|
159
156
|
/* Mobile */
|
|
160
157
|
@media only screen and (max-width: 430px) {
|
|
158
|
+
.table .checkbox {
|
|
159
|
+
max-width: var(--mirai-ui-checkbox-size-mobile);
|
|
160
|
+
min-width: var(--mirai-ui-checkbox-size-mobile);
|
|
161
|
+
}
|
|
161
162
|
}
|
|
162
163
|
|
|
163
164
|
/* Table & Desktop */
|
|
164
165
|
@media only screen and (min-width: 431px) {
|
|
166
|
+
.table .checkbox {
|
|
167
|
+
max-width: var(--mirai-ui-checkbox-size);
|
|
168
|
+
min-width: var(--mirai-ui-checkbox-size);
|
|
169
|
+
}
|
|
170
|
+
|
|
165
171
|
.table thead tr th:hover {
|
|
166
172
|
color: var(--mirai-ui-table-color);
|
|
167
173
|
cursor: pointer;
|
|
@@ -15,10 +15,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
15
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
16
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
17
|
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."); }
|
|
18
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
-
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; }
|
|
20
18
|
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; } }
|
|
21
19
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
21
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
24
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
25
|
+
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; }
|
|
22
26
|
var _default = {
|
|
23
27
|
title: 'Components'
|
|
24
28
|
};
|
|
@@ -113,7 +117,20 @@ var dataSource = [{
|
|
|
113
117
|
languages: 1,
|
|
114
118
|
tags: tags(['ES']),
|
|
115
119
|
year: 2022
|
|
116
|
-
}]
|
|
120
|
+
}].concat(_toConsumableArray(['Juan', 'Carlos', 'Alejandro', 'Andrés', 'Luis', 'Javier', 'Miguel', 'Daniel', 'José', 'Roberto', 'María', 'Ana', 'Laura', 'Isabel', 'Carmen', 'Patricia', 'Sofía', 'Paula', 'Clara', 'Elena'].map(function (username) {
|
|
121
|
+
return {
|
|
122
|
+
username: username,
|
|
123
|
+
email: "".concat(username.toLowerCase(), "@mirai.com"),
|
|
124
|
+
active: false,
|
|
125
|
+
activeSwitch: /*#__PURE__*/_react.default.createElement(_.Switch, {
|
|
126
|
+
name: "active",
|
|
127
|
+
onChange: handleSwitch
|
|
128
|
+
}),
|
|
129
|
+
languages: 1,
|
|
130
|
+
tags: tags(['ES']),
|
|
131
|
+
year: 2023
|
|
132
|
+
};
|
|
133
|
+
})));
|
|
117
134
|
var Story = function Story(props) {
|
|
118
135
|
var _useState = (0, _react.useState)(),
|
|
119
136
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -148,13 +165,13 @@ var Story = function Story(props) {
|
|
|
148
165
|
(_console3 = console).log.apply(_console3, ['<Table>::onSelect'].concat(others));
|
|
149
166
|
setSelected.apply(void 0, others);
|
|
150
167
|
};
|
|
151
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.InputText, {
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.View, null, /*#__PURE__*/_react.default.createElement(_.InputText, {
|
|
152
169
|
name: "search",
|
|
153
170
|
placeholder: "search...",
|
|
154
171
|
type: "search",
|
|
155
172
|
value: search,
|
|
156
173
|
onChange: setSearch
|
|
157
|
-
}), /*#__PURE__*/_react.default.createElement(_Table.Table, _extends({}, props, {
|
|
174
|
+
})), /*#__PURE__*/_react.default.createElement(_Table.Table, _extends({}, props, {
|
|
158
175
|
search: search,
|
|
159
176
|
selected: selected,
|
|
160
177
|
onPress: handlePress,
|
|
@@ -168,21 +185,21 @@ Story.storyName = 'Table';
|
|
|
168
185
|
Story.args = {
|
|
169
186
|
dataSource: dataSource,
|
|
170
187
|
filter: [{
|
|
171
|
-
field: '
|
|
172
|
-
value: '
|
|
188
|
+
field: 'username',
|
|
189
|
+
value: 'ma'
|
|
190
|
+
}, {
|
|
191
|
+
field: 'username',
|
|
192
|
+
value: 'ja'
|
|
173
193
|
}, {
|
|
174
194
|
field: 'nonExistent',
|
|
175
195
|
value: '@mirai.com'
|
|
176
|
-
}, {
|
|
177
|
-
field: 'email',
|
|
178
|
-
value: '@soyjavi.com'
|
|
179
196
|
}, {
|
|
180
197
|
field: 'year',
|
|
181
|
-
min:
|
|
182
|
-
max:
|
|
198
|
+
min: 2021,
|
|
199
|
+
max: 2023
|
|
183
200
|
}, {
|
|
184
201
|
field: 'languages',
|
|
185
|
-
values: [
|
|
202
|
+
values: [1]
|
|
186
203
|
}],
|
|
187
204
|
inline: true,
|
|
188
205
|
l10n: {
|
|
@@ -191,18 +208,24 @@ Story.args = {
|
|
|
191
208
|
labelMax: 'Max',
|
|
192
209
|
labelMin: 'Min'
|
|
193
210
|
},
|
|
211
|
+
pagination: 14,
|
|
194
212
|
schema: {
|
|
195
213
|
username: {
|
|
196
214
|
label: 'User Name',
|
|
197
215
|
tooltip: 'The name user is recognized.'
|
|
198
216
|
},
|
|
199
217
|
email: {
|
|
200
|
-
label: 'Email'
|
|
218
|
+
label: 'Email',
|
|
219
|
+
OR: true
|
|
201
220
|
},
|
|
202
221
|
active: {
|
|
203
222
|
label: 'Active',
|
|
204
223
|
type: 'boolean',
|
|
205
|
-
hidden: true
|
|
224
|
+
hidden: true,
|
|
225
|
+
options: {
|
|
226
|
+
false: 'Inactive',
|
|
227
|
+
true: 'Active'
|
|
228
|
+
}
|
|
206
229
|
},
|
|
207
230
|
activeSwitch: {
|
|
208
231
|
label: 'Active',
|
|
@@ -251,10 +274,7 @@ Story.args = {
|
|
|
251
274
|
search: '',
|
|
252
275
|
// store: 'mirai',
|
|
253
276
|
// inherited properties
|
|
254
|
-
testId: 'test-story'
|
|
255
|
-
style: {
|
|
256
|
-
background: 'green'
|
|
257
|
-
}
|
|
277
|
+
testId: 'test-story'
|
|
258
278
|
};
|
|
259
279
|
Story.argTypes = {};
|
|
260
280
|
//# sourceMappingURL=Table.stories.js.map
|