@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.
Files changed (186) hide show
  1. package/README.md +109 -60
  2. package/build/components/Action/Action.js +1 -1
  3. package/build/components/Action/Action.js.map +1 -1
  4. package/build/components/Action/Action.module.css +4 -7
  5. package/build/components/Action/Action.stories.js +1 -1
  6. package/build/components/Action/Action.stories.js.map +1 -1
  7. package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +26 -40
  8. package/build/components/Button/Button.module.css +31 -33
  9. package/build/components/Button/Button.stories.js +9 -0
  10. package/build/components/Button/Button.stories.js.map +1 -1
  11. package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +21 -30
  12. package/build/components/Calendar/Calendar.Month.js +12 -8
  13. package/build/components/Calendar/Calendar.Month.js.map +1 -1
  14. package/build/components/Calendar/Calendar.Week.js +7 -10
  15. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  16. package/build/components/Calendar/Calendar.js +10 -2
  17. package/build/components/Calendar/Calendar.js.map +1 -1
  18. package/build/components/Calendar/Calendar.module.css +8 -9
  19. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +15768 -15800
  20. package/build/components/Form/Form.constants.js +1 -1
  21. package/build/components/Form/Form.constants.js.map +1 -1
  22. package/build/components/Form/Form.js +3 -1
  23. package/build/components/Form/Form.js.map +1 -1
  24. package/build/components/Form/Form.stories.js +6 -1
  25. package/build/components/Form/Form.stories.js.map +1 -1
  26. package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +9 -9
  27. package/build/components/InputDate/__tests__/__snapshots__/InputDate.test.js.snap +42 -42
  28. package/build/components/InputNumber/InputNumber.js +2 -1
  29. package/build/components/InputNumber/InputNumber.js.map +1 -1
  30. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +138 -153
  31. package/build/components/InputOption/InputOption.js +8 -1
  32. package/build/components/InputOption/InputOption.js.map +1 -1
  33. package/build/components/InputOption/InputOption.module.css +13 -2
  34. package/build/components/InputOption/InputOption.stories.js +2 -1
  35. package/build/components/InputOption/InputOption.stories.js.map +1 -1
  36. package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +96 -90
  37. package/build/components/InputPhone/InputPhone.js +23 -20
  38. package/build/components/InputPhone/InputPhone.js.map +1 -1
  39. package/build/components/InputPhone/InputPhone.module.css +19 -6
  40. package/build/components/InputPhone/InputPhone.stories.js +3 -3
  41. package/build/components/InputPhone/InputPhone.stories.js.map +1 -1
  42. package/build/components/InputPhone/__tests__/__snapshots__/InputPhone.test.js.snap +410 -410
  43. package/build/components/InputPhone/helpers/index.js +11 -0
  44. package/build/components/InputPhone/helpers/index.js.map +1 -1
  45. package/build/components/InputPhone/helpers/sanitizePrefixes.js +24 -0
  46. package/build/components/InputPhone/helpers/sanitizePrefixes.js.map +1 -0
  47. package/build/components/InputSelect/InputSelect.js +3 -5
  48. package/build/components/InputSelect/InputSelect.js.map +1 -1
  49. package/build/components/InputSelect/InputSelect.stories.js +1 -0
  50. package/build/components/InputSelect/InputSelect.stories.js.map +1 -1
  51. package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +136 -136
  52. package/build/components/InputSelect/partials/InputSelect.Expand.js +23 -0
  53. package/build/components/InputSelect/partials/InputSelect.Expand.js.map +1 -0
  54. package/build/components/InputSelect/partials/index.js +17 -0
  55. package/build/components/InputSelect/partials/index.js.map +1 -0
  56. package/build/components/InputText/InputText.js +6 -4
  57. package/build/components/InputText/InputText.js.map +1 -1
  58. package/build/components/InputText/InputText.module.css +18 -6
  59. package/build/components/InputText/InputText.stories.js +7 -2
  60. package/build/components/InputText/InputText.stories.js.map +1 -1
  61. package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +142 -143
  62. package/build/components/Menu/__tests__/__snapshots__/Menu.test.jsx.snap +72 -70
  63. package/build/components/Modal/Modal.js +15 -8
  64. package/build/components/Modal/Modal.js.map +1 -1
  65. package/build/components/Modal/Modal.module.css +30 -14
  66. package/build/components/Modal/Modal.stories.js +1 -0
  67. package/build/components/Modal/Modal.stories.js.map +1 -1
  68. package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +92 -98
  69. package/build/components/Notification/Notification.js +20 -12
  70. package/build/components/Notification/Notification.js.map +1 -1
  71. package/build/components/Notification/Notification.module.css +44 -58
  72. package/build/components/Notification/Notification.stories.js +15 -2
  73. package/build/components/Notification/Notification.stories.js.map +1 -1
  74. package/build/components/Notification/__tests__/__snapshots__/Notification.test.js.snap +600 -254
  75. package/build/components/Progress/Progress.js +2 -0
  76. package/build/components/Progress/Progress.js.map +1 -1
  77. package/build/components/Progress/__tests__/__snapshots__/Progress.test.jsx.snap +18 -18
  78. package/build/components/Slider/Slider.constants.js +3 -1
  79. package/build/components/Slider/Slider.constants.js.map +1 -1
  80. package/build/components/Slider/Slider.js +67 -66
  81. package/build/components/Slider/Slider.js.map +1 -1
  82. package/build/components/Slider/Slider.module.css +55 -52
  83. package/build/components/Slider/Slider.stories.js +9 -6
  84. package/build/components/Slider/Slider.stories.js.map +1 -1
  85. package/build/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +714 -333
  86. package/build/components/Table/Table.ColumnFilter.js +17 -14
  87. package/build/components/Table/Table.ColumnFilter.js.map +1 -1
  88. package/build/components/Table/Table.Row.js +2 -1
  89. package/build/components/Table/Table.Row.js.map +1 -1
  90. package/build/components/Table/Table.constants.js +3 -1
  91. package/build/components/Table/Table.constants.js.map +1 -1
  92. package/build/components/Table/Table.js +54 -17
  93. package/build/components/Table/Table.js.map +1 -1
  94. package/build/components/Table/Table.module.css +12 -6
  95. package/build/components/Table/Table.stories.js +39 -19
  96. package/build/components/Table/Table.stories.js.map +1 -1
  97. package/build/components/Table/Table.stories.module.css +4 -5
  98. package/build/components/Table/__tests__/__snapshots__/Table.ColumnFilter.test.js.snap +221 -240
  99. package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +1725 -1085
  100. package/build/components/Table/helpers/exists.js +2 -3
  101. package/build/components/Table/helpers/exists.js.map +1 -1
  102. package/build/components/Table/helpers/select.js +24 -16
  103. package/build/components/Table/helpers/select.js.map +1 -1
  104. package/build/components/Tooltip/Tooltip.js +29 -6
  105. package/build/components/Tooltip/Tooltip.js.map +1 -1
  106. package/build/components/Tooltip/__tests__/__snapshots__/Tooltip.test.jsx.snap +51 -44
  107. package/build/components/index.js +11 -0
  108. package/build/components/index.js.map +1 -1
  109. package/build/helpers/getInputPhoneErrors.js +3 -2
  110. package/build/helpers/getInputPhoneErrors.js.map +1 -1
  111. package/build/hooks/useDevice.js +1 -1
  112. package/build/hooks/useDevice.js.map +1 -1
  113. package/build/primitives/Checkbox/Checkbox.js +4 -3
  114. package/build/primitives/Checkbox/Checkbox.js.map +1 -1
  115. package/build/primitives/Checkbox/Checkbox.module.css +43 -6
  116. package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +47 -16
  117. package/build/primitives/Icon/Icon.constants.js +43 -21
  118. package/build/primitives/Icon/Icon.constants.js.map +1 -1
  119. package/build/primitives/Icon/Icon.js +15 -5
  120. package/build/primitives/Icon/Icon.js.map +1 -1
  121. package/build/primitives/Icon/Icon.module.css +32 -19
  122. package/build/primitives/Icon/Icon.stories.js +5 -0
  123. package/build/primitives/Icon/Icon.stories.js.map +1 -1
  124. package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +291 -100
  125. package/build/primitives/Input/Input.js +9 -3
  126. package/build/primitives/Input/Input.js.map +1 -1
  127. package/build/primitives/Input/Input.stories.js +2 -0
  128. package/build/primitives/Input/Input.stories.js.map +1 -1
  129. package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +22 -0
  130. package/build/primitives/Layer/Layer.js +11 -5
  131. package/build/primitives/Layer/Layer.js.map +1 -1
  132. package/build/primitives/Layer/Layer.module.css +4 -0
  133. package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +78 -42
  134. package/build/primitives/Layer/helpers/index.js +11 -0
  135. package/build/primitives/Layer/helpers/index.js.map +1 -1
  136. package/build/primitives/Layer/helpers/isComponentFixed.js +32 -0
  137. package/build/primitives/Layer/helpers/isComponentFixed.js.map +1 -0
  138. package/build/primitives/Pressable/Pressable.constants.js +1 -1
  139. package/build/primitives/Pressable/Pressable.constants.js.map +1 -1
  140. package/build/primitives/Pressable/Pressable.js +3 -7
  141. package/build/primitives/Pressable/Pressable.js.map +1 -1
  142. package/build/primitives/Pressable/Pressable.module.css +0 -1
  143. package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +10 -14
  144. package/build/primitives/Primitive/Primitive.js +2 -2
  145. package/build/primitives/Primitive/Primitive.js.map +1 -1
  146. package/build/primitives/Primitive/__tests__/__snapshots__/Primitive.test.js.snap +7 -7
  147. package/build/primitives/Primitive/helpers/index.js +0 -11
  148. package/build/primitives/Primitive/helpers/index.js.map +1 -1
  149. package/build/primitives/Radio/Radio.js +1 -1
  150. package/build/primitives/Radio/Radio.js.map +1 -1
  151. package/build/primitives/Radio/Radio.module.css +20 -2
  152. package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +21 -21
  153. package/build/primitives/ScrollView/ScrollView.js +1 -1
  154. package/build/primitives/ScrollView/ScrollView.js.map +1 -1
  155. package/build/primitives/ScrollView/ScrollView.module.css +1 -0
  156. package/build/primitives/ScrollView/ScrollView.stories.js +5 -6
  157. package/build/primitives/ScrollView/ScrollView.stories.js.map +1 -1
  158. package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +20 -20
  159. package/build/primitives/Select/Select.js +13 -6
  160. package/build/primitives/Select/Select.js.map +1 -1
  161. package/build/primitives/Select/Select.stories.js +1 -0
  162. package/build/primitives/Select/Select.stories.js.map +1 -1
  163. package/build/primitives/Select/__tests__/__snapshots__/Select.test.js.snap +36 -0
  164. package/build/primitives/Switch/Switch.js +5 -3
  165. package/build/primitives/Switch/Switch.js.map +1 -1
  166. package/build/primitives/Switch/Switch.module.css +35 -7
  167. package/build/primitives/Switch/Switch.stories.js +1 -0
  168. package/build/primitives/Switch/Switch.stories.js.map +1 -1
  169. package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +88 -25
  170. package/build/primitives/Text/Text.js +12 -5
  171. package/build/primitives/Text/Text.js.map +1 -1
  172. package/build/primitives/Text/Text.module.css +29 -14
  173. package/build/primitives/Text/Text.stories.js +4 -0
  174. package/build/primitives/Text/Text.stories.js.map +1 -1
  175. package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +78 -38
  176. package/build/primitives/View/View.js +1 -1
  177. package/build/primitives/View/View.js.map +1 -1
  178. package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +10 -10
  179. package/build/theme/default.theme.css +54 -53
  180. package/build/theme/theme.constants.js +3 -1
  181. package/build/theme/theme.constants.js.map +1 -1
  182. package/build/theme/theme.js +34 -11
  183. package/build/theme/theme.js.map +1 -1
  184. package/package.json +4 -5
  185. package/build/primitives/Primitive/helpers/getTag.js +0 -33
  186. 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 ? [] : _ref2$options,
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(_InputOption.InputOption, {
147
- name: "search",
148
- type: _InputOption.SWITCH,
149
- checked: form.value === 'true',
150
- onChange: function onChange(value) {
151
- return setForm({
152
- value: value ? 'true' : 'false'
153
- });
154
- },
155
- className: _TableModule.default.input
156
- }) : type === 'options' ? /*#__PURE__*/_react.default.createElement(_primitives.View, {
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
- name: value,
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":"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"}
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
- sort = _useState4[0],
61
- setSort = _useState4[1];
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 ? next : [], event);
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
- onSelect((0, _helpers2.exists)(row, selected) ? selected.filter(function (item) {
95
- return !(0, _helpers2.exists)(row, [item]);
96
- }) : [].concat(_toConsumableArray(selected), [row]), event);
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 _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;
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 = _ref4.length;
142
+ filterFields = _ref5.length;
111
143
  return /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, _objectSpread(_objectSpread({}, others), {}, {
112
144
  role: role,
113
- onScroll: onScroll,
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: calc(var(--mirai-ui-space-XS) / 2);
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: calc(var(--mirai-ui-space-XS) / 2);
145
- padding: calc(var(--mirai-ui-space-XS) / 2) calc(var(--mirai-ui-space-XS) / 2) calc(var(--mirai-ui-space-XS) / 2)
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: 'email',
172
- value: '@mirai.com'
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: 1,
182
- max: 2022
198
+ min: 2021,
199
+ max: 2023
183
200
  }, {
184
201
  field: 'languages',
185
- values: [3, 0]
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