@mirai/ui 1.1.0-f → 1.1.1

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 +30 -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 +42 -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 +18 -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 +36 -8
  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
@@ -10,6 +10,6 @@ var DEFAULT_TIMEOUT_ONERROR = 10;
10
10
  exports.DEFAULT_TIMEOUT_ONERROR = DEFAULT_TIMEOUT_ONERROR;
11
11
  var FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];
12
12
  exports.FIELDS_BOOLEAN = FIELDS_BOOLEAN;
13
- var FIELDS_WITHOUT_ERROR = [].concat(FIELDS_BOOLEAN, ['Component:InputNumber']);
13
+ var FIELDS_WITHOUT_ERROR = ['Primitive:Radio', 'Component:InputNumber'];
14
14
  exports.FIELDS_WITHOUT_ERROR = FIELDS_WITHOUT_ERROR;
15
15
  //# sourceMappingURL=Form.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.constants.js","names":["DEFAULT_TIMEOUT_ONCHANGE","DEFAULT_TIMEOUT_ONERROR","FIELDS_BOOLEAN","FIELDS_WITHOUT_ERROR"],"sources":["../../../src/components/Form/Form.constants.js"],"sourcesContent":["const DEFAULT_TIMEOUT_ONCHANGE = 0;\nconst DEFAULT_TIMEOUT_ONERROR = 10;\nconst FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];\nconst FIELDS_WITHOUT_ERROR = [...FIELDS_BOOLEAN, 'Component:InputNumber'];\n\nexport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_BOOLEAN, FIELDS_WITHOUT_ERROR };\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAAC;AAAC;AACnC,IAAMC,uBAAuB,GAAG,EAAE;AAAC;AACnC,IAAMC,cAAc,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;AAAC;AAC9G,IAAMC,oBAAoB,aAAOD,cAAc,GAAE,uBAAuB,EAAC;AAAC"}
1
+ {"version":3,"file":"Form.constants.js","names":["DEFAULT_TIMEOUT_ONCHANGE","DEFAULT_TIMEOUT_ONERROR","FIELDS_BOOLEAN","FIELDS_WITHOUT_ERROR"],"sources":["../../../src/components/Form/Form.constants.js"],"sourcesContent":["const DEFAULT_TIMEOUT_ONCHANGE = 0;\nconst DEFAULT_TIMEOUT_ONERROR = 10;\nconst FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];\nconst FIELDS_WITHOUT_ERROR = ['Primitive:Radio', 'Component:InputNumber'];\n\nexport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_BOOLEAN, FIELDS_WITHOUT_ERROR };\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAAC;AAAC;AACnC,IAAMC,uBAAuB,GAAG,EAAE;AAAC;AACnC,IAAMC,cAAc,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;AAAC;AAC9G,IAAMC,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;AAAC"}
@@ -27,6 +27,7 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
27
27
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
28
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
29
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30
+ var timeoutError;
30
31
  var Form = function Form(_ref) {
31
32
  var children = _ref.children,
32
33
  _ref$debounce = _ref.debounce,
@@ -68,6 +69,7 @@ var Form = function Form(_ref) {
68
69
  if (JSON.stringify(nextChildrenKeys) !== JSON.stringify(Object.keys(initialValue).sort())) {
69
70
  setInitialValue(nextValues);
70
71
  setValues(nextValues);
72
+ clearTimeout(timeoutError);
71
73
  if (validateOnMount) handleError(nextValues);else setError({});
72
74
  setTouched({});
73
75
  } else {
@@ -103,7 +105,7 @@ var Form = function Form(_ref) {
103
105
  var handleChange = function handleChange(field, fieldValue) {
104
106
  var nextValues = _objectSpread(_objectSpread({}, values), {}, _defineProperty({}, field, fieldValue));
105
107
  setValues(nextValues);
106
- setTimeout(function () {
108
+ timeoutError = setTimeout(function () {
107
109
  return handleError(nextValues);
108
110
  }, _Form.DEFAULT_TIMEOUT_ONERROR);
109
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["Form","children","debounce","DEFAULT_TIMEOUT_ONCHANGE","schema","showErrors","tag","validateOnMount","onChange","onEnter","onError","onLeave","onSubmit","others","useState","error","setError","initialValue","setInitialValue","touched","setTouched","values","setValues","useEffect","nextValues","getChildrenValues","nextChildrenKeys","Object","keys","sort","length","JSON","stringify","handleError","collision","some","key","groupState","value","timer","setTimeout","clearTimeout","handleChange","field","fieldValue","DEFAULT_TIMEOUT_ONERROR","next","getChildrenErrors","handleLeave","event","handleSubmit","preventDefault","errors","useMemo","React","createElement","Primitive","role","Children","map","child","index","props","type","displayName","getField","cloneElement","FIELDS_WITHOUT_ERROR","includes","FIELDS_BOOLEAN","undefined","onPress","propTypes","PropTypes","node","number","shape","bool","string","func"],"sources":["../../../src/components/Form/Form.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Primitive } from '../../primitives';\nimport {\n DEFAULT_TIMEOUT_ONCHANGE,\n DEFAULT_TIMEOUT_ONERROR,\n FIELDS_BOOLEAN,\n FIELDS_WITHOUT_ERROR,\n} from './Form.constants';\nimport { getChildrenErrors, getChildrenValues, getField, groupState } from './helpers';\n\nconst Form = ({\n children,\n debounce = DEFAULT_TIMEOUT_ONCHANGE,\n schema = {},\n showErrors = false,\n tag = 'form',\n validateOnMount = false,\n onChange,\n onEnter,\n onError,\n onLeave,\n onSubmit,\n ...others\n}) => {\n const [error, setError] = useState({});\n const [initialValue, setInitialValue] = useState({});\n const [touched, setTouched] = useState({});\n const [values, setValues] = useState({});\n\n useEffect(() => {\n const nextValues = getChildrenValues(children);\n const nextChildrenKeys = Object.keys(nextValues).sort();\n\n if (!Object.keys(nextValues).length) return;\n\n if (JSON.stringify(nextChildrenKeys) !== JSON.stringify(Object.keys(initialValue).sort())) {\n setInitialValue(nextValues);\n setValues(nextValues);\n\n if (validateOnMount) handleError(nextValues);\n else setError({});\n\n setTouched({});\n } else {\n const collision = nextChildrenKeys.some((key) => JSON.stringify(values[key]) !== JSON.stringify(nextValues[key]));\n if (collision) {\n setValues(nextValues);\n handleError(nextValues);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children]);\n\n useEffect(() => {\n if (!onChange || values === initialValue || !Object.keys(values).length) return;\n\n if (!debounce) return onChange(values, groupState({ initialValue, value: values, touched }));\n\n const timer = setTimeout(() => onChange(values, groupState({ initialValue, value: values, touched })), debounce);\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleChange = (field, fieldValue) => {\n const nextValues = { ...values, [field]: fieldValue };\n\n setValues(nextValues);\n setTimeout(() => handleError(nextValues), DEFAULT_TIMEOUT_ONERROR);\n };\n\n const handleError = (values) => {\n const next = getChildrenErrors({ children, schema, values });\n\n setError(next);\n if (JSON.stringify(error) !== JSON.stringify(next)) onError && onError(next);\n\n return next;\n };\n\n const handleLeave = (field, event) => {\n setTouched({ ...touched, [field]: true });\n if (onEnter) onEnter(field, event);\n };\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const errors = handleError(values);\n\n if (Object.keys(errors).length) onError(errors);\n else if (onSubmit) onSubmit(values, groupState({ initialValue, value: values, touched }), event);\n };\n\n return useMemo(\n () =>\n React.createElement(\n Primitive,\n {\n ...others,\n role: others.role || 'form',\n tag,\n onSubmit: handleSubmit,\n },\n React.Children.map(children, (child, index) => {\n if (!child || child === null) return;\n\n const { props = {}, type: { displayName } = {} } = child || {};\n const { type } = props;\n const field = getField(props);\n\n return React.cloneElement(child, {\n key: index,\n ...(field\n ? {\n ...props,\n ...schema[field],\n error: !FIELDS_WITHOUT_ERROR.includes(displayName) && (props.error || (showErrors && !!error[field])),\n value: !FIELDS_BOOLEAN.includes(displayName) ? values[field] : props.value,\n onChange: (value) => handleChange(field, value),\n onEnter: (event) => handleLeave(field, event),\n onLeave: onLeave ? (event) => onLeave(field, event) : undefined,\n }\n : type === 'submit'\n ? { ...props, onPress: handleSubmit }\n : undefined),\n });\n }),\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, error, others, schema],\n );\n};\n\nForm.displayName = 'Component:Form';\n\nForm.propTypes = {\n children: PropTypes.node,\n debounce: PropTypes.number,\n schema: PropTypes.shape({}),\n showErrors: PropTypes.bool,\n tag: PropTypes.string,\n validateOnMount: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["timeoutError","Form","children","debounce","DEFAULT_TIMEOUT_ONCHANGE","schema","showErrors","tag","validateOnMount","onChange","onEnter","onError","onLeave","onSubmit","others","useState","error","setError","initialValue","setInitialValue","touched","setTouched","values","setValues","useEffect","nextValues","getChildrenValues","nextChildrenKeys","Object","keys","sort","length","JSON","stringify","clearTimeout","handleError","collision","some","key","groupState","value","timer","setTimeout","handleChange","field","fieldValue","DEFAULT_TIMEOUT_ONERROR","next","getChildrenErrors","handleLeave","event","handleSubmit","preventDefault","errors","useMemo","React","createElement","Primitive","role","Children","map","child","index","props","type","displayName","getField","cloneElement","FIELDS_WITHOUT_ERROR","includes","FIELDS_BOOLEAN","undefined","onPress","propTypes","PropTypes","node","number","shape","bool","string","func"],"sources":["../../../src/components/Form/Form.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Primitive } from '../../primitives';\nimport {\n DEFAULT_TIMEOUT_ONCHANGE,\n DEFAULT_TIMEOUT_ONERROR,\n FIELDS_BOOLEAN,\n FIELDS_WITHOUT_ERROR,\n} from './Form.constants';\nimport { getChildrenErrors, getChildrenValues, getField, groupState } from './helpers';\n\nlet timeoutError;\n\nconst Form = ({\n children,\n debounce = DEFAULT_TIMEOUT_ONCHANGE,\n schema = {},\n showErrors = false,\n tag = 'form',\n validateOnMount = false,\n onChange,\n onEnter,\n onError,\n onLeave,\n onSubmit,\n ...others\n}) => {\n const [error, setError] = useState({});\n const [initialValue, setInitialValue] = useState({});\n const [touched, setTouched] = useState({});\n const [values, setValues] = useState({});\n\n useEffect(() => {\n const nextValues = getChildrenValues(children);\n const nextChildrenKeys = Object.keys(nextValues).sort();\n\n if (!Object.keys(nextValues).length) return;\n\n if (JSON.stringify(nextChildrenKeys) !== JSON.stringify(Object.keys(initialValue).sort())) {\n setInitialValue(nextValues);\n setValues(nextValues);\n clearTimeout(timeoutError);\n\n if (validateOnMount) handleError(nextValues);\n else setError({});\n\n setTouched({});\n } else {\n const collision = nextChildrenKeys.some((key) => JSON.stringify(values[key]) !== JSON.stringify(nextValues[key]));\n if (collision) {\n setValues(nextValues);\n handleError(nextValues);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children]);\n\n useEffect(() => {\n if (!onChange || values === initialValue || !Object.keys(values).length) return;\n\n if (!debounce) return onChange(values, groupState({ initialValue, value: values, touched }));\n\n const timer = setTimeout(() => onChange(values, groupState({ initialValue, value: values, touched })), debounce);\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleChange = (field, fieldValue) => {\n const nextValues = { ...values, [field]: fieldValue };\n\n setValues(nextValues);\n timeoutError = setTimeout(() => handleError(nextValues), DEFAULT_TIMEOUT_ONERROR);\n };\n\n const handleError = (values) => {\n const next = getChildrenErrors({ children, schema, values });\n\n setError(next);\n if (JSON.stringify(error) !== JSON.stringify(next)) onError && onError(next);\n\n return next;\n };\n\n const handleLeave = (field, event) => {\n setTouched({ ...touched, [field]: true });\n if (onEnter) onEnter(field, event);\n };\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const errors = handleError(values);\n\n if (Object.keys(errors).length) onError(errors);\n else if (onSubmit) onSubmit(values, groupState({ initialValue, value: values, touched }), event);\n };\n\n return useMemo(\n () =>\n React.createElement(\n Primitive,\n {\n ...others,\n role: others.role || 'form',\n tag,\n onSubmit: handleSubmit,\n },\n React.Children.map(children, (child, index) => {\n if (!child || child === null) return;\n\n const { props = {}, type: { displayName } = {} } = child || {};\n const { type } = props;\n const field = getField(props);\n\n return React.cloneElement(child, {\n key: index,\n ...(field\n ? {\n ...props,\n ...schema[field],\n error: !FIELDS_WITHOUT_ERROR.includes(displayName) && (props.error || (showErrors && !!error[field])),\n value: !FIELDS_BOOLEAN.includes(displayName) ? values[field] : props.value,\n onChange: (value) => handleChange(field, value),\n onEnter: (event) => handleLeave(field, event),\n onLeave: onLeave ? (event) => onLeave(field, event) : undefined,\n }\n : type === 'submit'\n ? { ...props, onPress: handleSubmit }\n : undefined),\n });\n }),\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, error, others, schema],\n );\n};\n\nForm.displayName = 'Component:Form';\n\nForm.propTypes = {\n children: PropTypes.node,\n debounce: PropTypes.number,\n schema: PropTypes.shape({}),\n showErrors: PropTypes.bool,\n tag: PropTypes.string,\n validateOnMount: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
@@ -171,7 +171,12 @@ var Story = function Story(props) {
171
171
  type: "checkbox",
172
172
  name: "checkbox",
173
173
  label: "checkbox",
174
- checked: form.checkbox,
174
+ checked: form.checkbox
175
+ }), /*#__PURE__*/_react.default.createElement(_.InputOption, {
176
+ type: "checkbox",
177
+ name: "checkboxRequired",
178
+ label: "checkbox",
179
+ checked: form.checkboxRequired,
175
180
  required: true,
176
181
  showRequired: true
177
182
  }), /*#__PURE__*/_react.default.createElement(_.InputOption, {
@@ -1 +1 @@
1
- {"version":3,"file":"Form.stories.js","names":["title","Story","props","useState","condition","setCondition","email","checkbox","dateOfBirth","switch","radio","form","setForm","error","setError","useEffect","setTimeout","password","phone","handleChange","next","others","console","log","handleEnter","handleError","handleLeave","handleSubmit","value","includes","gender","undefined","bio","children","Array","from","keys","map","index","Object","length","justifyContent","marginTop","marginRight","storyName","args","debounce","schema","showErrors","validateOnMount","testId","style","argTypes"],"sources":["../../../src/components/Form/Form.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, InputDate, InputNumber, InputOption, InputPhone, InputText, InputSelect, Text, View } from '../../';\nimport { Form } from './Form';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [condition, setCondition] = useState(false);\n const [form, setForm] = useState({\n email: 'javi@mirai.com',\n checkbox: true,\n dateOfBirth: '04/10/1980',\n switch: true,\n radio: 'radio-0',\n });\n const [error, setError] = useState({});\n\n useEffect(\n () =>\n setTimeout(() => {\n setForm({\n ...form,\n email: 'javi@hotmail.com',\n password: '1234567890',\n dateOfBirth: '',\n switch: false,\n phone: '+34 61570',\n radio: 'radio-1',\n });\n }, 1000),\n\n [],\n ); // * Simulate a state hydration\n\n const handleChange = (next, ...others) => {\n setForm(next);\n console.log('<Form>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<Form>::onEnter', ...others);\n\n const handleError = (next, ...others) => {\n setError(next);\n console.log('<Form>::onError', next, ...others);\n };\n\n const handleLeave = (...others) => console.log('<Form>::onLeave', ...others);\n\n const handleSubmit = (...others) => console.log('<Form>::onSubmit', ...others);\n\n return (\n <>\n <Form\n {...props}\n onLeave={handleLeave}\n onChange={handleChange}\n onError={handleError}\n onEnter={handleEnter}\n onSubmit={handleSubmit}\n >\n <View row>\n <Text headline>Form component</Text>\n </View>\n\n <InputText\n name=\"email\"\n error={!!error.email}\n test={(value) => value.includes('@mirai.com')}\n label=\"Email\"\n hint=\"Should contains @mirai.com\"\n required\n showRequired\n type=\"email\"\n value={form.email}\n />\n <InputText\n name=\"password\"\n error={!!error.password}\n hint=\"At least 10 chars.\"\n label=\"Password\"\n required\n showRequired\n minLength={10}\n type=\"password\"\n value={form.password}\n />\n <InputSelect\n name=\"gender\"\n emptyOption=\"Select...\"\n error={!!error.gender}\n label=\"Your gender\"\n options={['one', 'two', 'three', 'four', 'five']}\n value={form.gender}\n required\n showRequired\n />\n <InputDate\n name=\"dateOfBirth\"\n error={!!error.dateOfBirth}\n label=\"Your birthdate\"\n max=\"31/12/2022\"\n min=\"10/04/1980\"\n required\n showRequired\n type=\"inputDate\"\n value={form.dateOfBirth}\n />\n <InputPhone\n name=\"phone\"\n emptyOption={!form.phone ? 'Select...' : undefined}\n error={!!error.phone}\n label=\"Phone\"\n labelPrefix=\"Prefix\"\n prefixes={['+34', '+44', '+001', '+999', '+39', '+56']}\n required\n showRequired\n type=\"inputPhone\"\n value={form.phone}\n />\n <InputText name=\"bio\" label=\"Bio\" multiLine value={form.bio} />\n <InputNumber name=\"children\" label=\"Children\" hint=\"Ages 0 - 17\" value={form.children} />\n <InputOption type=\"checkbox\" name=\"checkbox\" label=\"checkbox\" checked={form.checkbox} required showRequired />\n <InputOption type=\"switch\" name=\"switch\" label=\"switch\" checked={form.switch} />\n\n {Array.from(Array(3).keys()).map((index) => (\n <InputOption\n key={index}\n type=\"radio\"\n name=\"radio\"\n value={`radio-${index}`}\n label={`radio-${index}`}\n checked={form.radio === `radio-${index}`}\n />\n ))}\n {condition && <InputText label=\"condition\" name=\"condition\" />}\n\n <Button disabled={Object.keys(error).length !== 0} type=\"submit\" wide>\n Submit\n </Button>\n </Form>\n\n <View row style={{ justifyContent: 'flex-end', marginTop: 'var(--mirai-ui-space-L)' }}>\n <Button small secondary onPress={() => setForm({})} style={{ marginRight: 'var(--mirai-ui-space-M)' }}>\n Reset\n </Button>\n <Button small secondary onPress={() => setCondition(!condition)}>\n {`${condition ? 'Hide' : 'Show'} dynamic field`}\n </Button>\n </View>\n </>\n );\n};\n\nStory.storyName = 'Form';\n\nStory.args = {\n debounce: 0,\n schema: {},\n showErrors: false,\n validateOnMount: false,\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.stories.js","names":["title","Story","props","useState","condition","setCondition","email","checkbox","dateOfBirth","switch","radio","form","setForm","error","setError","useEffect","setTimeout","password","phone","handleChange","next","others","console","log","handleEnter","handleError","handleLeave","handleSubmit","value","includes","gender","undefined","bio","children","checkboxRequired","Array","from","keys","map","index","Object","length","justifyContent","marginTop","marginRight","storyName","args","debounce","schema","showErrors","validateOnMount","testId","style","argTypes"],"sources":["../../../src/components/Form/Form.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, InputDate, InputNumber, InputOption, InputPhone, InputText, InputSelect, Text, View } from '../../';\nimport { Form } from './Form';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [condition, setCondition] = useState(false);\n const [form, setForm] = useState({\n email: 'javi@mirai.com',\n checkbox: true,\n dateOfBirth: '04/10/1980',\n switch: true,\n radio: 'radio-0',\n });\n const [error, setError] = useState({});\n\n useEffect(\n () =>\n setTimeout(() => {\n setForm({\n ...form,\n email: 'javi@hotmail.com',\n password: '1234567890',\n dateOfBirth: '',\n switch: false,\n phone: '+34 61570',\n radio: 'radio-1',\n });\n }, 1000),\n\n [],\n ); // * Simulate a state hydration\n\n const handleChange = (next, ...others) => {\n setForm(next);\n console.log('<Form>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<Form>::onEnter', ...others);\n\n const handleError = (next, ...others) => {\n setError(next);\n console.log('<Form>::onError', next, ...others);\n };\n\n const handleLeave = (...others) => console.log('<Form>::onLeave', ...others);\n\n const handleSubmit = (...others) => console.log('<Form>::onSubmit', ...others);\n\n return (\n <>\n <Form\n {...props}\n onLeave={handleLeave}\n onChange={handleChange}\n onError={handleError}\n onEnter={handleEnter}\n onSubmit={handleSubmit}\n >\n <View row>\n <Text headline>Form component</Text>\n </View>\n\n <InputText\n name=\"email\"\n error={!!error.email}\n test={(value) => value.includes('@mirai.com')}\n label=\"Email\"\n hint=\"Should contains @mirai.com\"\n required\n showRequired\n type=\"email\"\n value={form.email}\n />\n <InputText\n name=\"password\"\n error={!!error.password}\n hint=\"At least 10 chars.\"\n label=\"Password\"\n required\n showRequired\n minLength={10}\n type=\"password\"\n value={form.password}\n />\n <InputSelect\n name=\"gender\"\n emptyOption=\"Select...\"\n error={!!error.gender}\n label=\"Your gender\"\n options={['one', 'two', 'three', 'four', 'five']}\n value={form.gender}\n required\n showRequired\n />\n <InputDate\n name=\"dateOfBirth\"\n error={!!error.dateOfBirth}\n label=\"Your birthdate\"\n max=\"31/12/2022\"\n min=\"10/04/1980\"\n required\n showRequired\n type=\"inputDate\"\n value={form.dateOfBirth}\n />\n <InputPhone\n name=\"phone\"\n emptyOption={!form.phone ? 'Select...' : undefined}\n error={!!error.phone}\n label=\"Phone\"\n labelPrefix=\"Prefix\"\n prefixes={['+34', '+44', '+001', '+999', '+39', '+56']}\n required\n showRequired\n type=\"inputPhone\"\n value={form.phone}\n />\n <InputText name=\"bio\" label=\"Bio\" multiLine value={form.bio} />\n <InputNumber name=\"children\" label=\"Children\" hint=\"Ages 0 - 17\" value={form.children} />\n <InputOption type=\"checkbox\" name=\"checkbox\" label=\"checkbox\" checked={form.checkbox} />\n <InputOption\n type=\"checkbox\"\n name=\"checkboxRequired\"\n label=\"checkbox\"\n checked={form.checkboxRequired}\n required\n showRequired\n />\n <InputOption type=\"switch\" name=\"switch\" label=\"switch\" checked={form.switch} />\n\n {Array.from(Array(3).keys()).map((index) => (\n <InputOption\n key={index}\n type=\"radio\"\n name=\"radio\"\n value={`radio-${index}`}\n label={`radio-${index}`}\n checked={form.radio === `radio-${index}`}\n />\n ))}\n {condition && <InputText label=\"condition\" name=\"condition\" />}\n\n <Button disabled={Object.keys(error).length !== 0} type=\"submit\" wide>\n Submit\n </Button>\n </Form>\n\n <View row style={{ justifyContent: 'flex-end', marginTop: 'var(--mirai-ui-space-L)' }}>\n <Button small secondary onPress={() => setForm({})} style={{ marginRight: 'var(--mirai-ui-space-M)' }}>\n Reset\n </Button>\n <Button small secondary onPress={() => setCondition(!condition)}>\n {`${condition ? 'Hide' : 'Show'} dynamic field`}\n </Button>\n </View>\n </>\n );\n};\n\nStory.storyName = 'Form';\n\nStory.args = {\n debounce: 0,\n schema: {},\n showErrors: false,\n validateOnMount: false,\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
@@ -11,36 +11,36 @@ exports[`component:<Form> inherit:className 1`] = `
11
11
  exports[`component:<Form> prop:children 1`] = `
12
12
  <DocumentFragment>
13
13
  <form>
14
- <ui_view
14
+ <div
15
15
  class="view inputContainer"
16
16
  >
17
- <ui_view
17
+ <div
18
18
  class="view row inputBorder"
19
19
  >
20
- <ui_view
20
+ <div
21
21
  class="view wide content"
22
22
  >
23
- <ui_text
23
+ <span
24
24
  class="text paragraph text label"
25
25
  >
26
26
  label
27
- </ui_text>
27
+ </span>
28
28
  <input
29
29
  class="input input withLabel"
30
30
  name="name"
31
31
  type="text"
32
32
  value=""
33
33
  />
34
- </ui_view>
35
- </ui_view>
36
- </ui_view>
34
+ </div>
35
+ </div>
36
+ </div>
37
37
  </form>
38
38
  </DocumentFragment>
39
39
  `;
40
40
 
41
41
  exports[`component:<Form> prop:tag 1`] = `
42
42
  <DocumentFragment>
43
- <ui_tag />
43
+ <fieldset />
44
44
  </DocumentFragment>
45
45
  `;
46
46
 
@@ -2,13 +2,13 @@
2
2
 
3
3
  exports[`component:<InputDate> inherit:className 1`] = `
4
4
  <DocumentFragment>
5
- <ui_view
5
+ <div
6
6
  class="view inputContainer mirai"
7
7
  >
8
- <ui_view
8
+ <div
9
9
  class="view row inputBorder"
10
10
  >
11
- <ui_view
11
+ <div
12
12
  class="view wide content"
13
13
  >
14
14
  <input
@@ -19,21 +19,21 @@ exports[`component:<InputDate> inherit:className 1`] = `
19
19
  type="text"
20
20
  value=""
21
21
  />
22
- </ui_view>
23
- </ui_view>
24
- </ui_view>
22
+ </div>
23
+ </div>
24
+ </div>
25
25
  </DocumentFragment>
26
26
  `;
27
27
 
28
28
  exports[`component:<InputDate> prop:format 1`] = `
29
29
  <DocumentFragment>
30
- <ui_view
30
+ <div
31
31
  class="view inputContainer"
32
32
  >
33
- <ui_view
33
+ <div
34
34
  class="view row inputBorder"
35
35
  >
36
- <ui_view
36
+ <div
37
37
  class="view wide content"
38
38
  >
39
39
  <input
@@ -44,21 +44,21 @@ exports[`component:<InputDate> prop:format 1`] = `
44
44
  type="text"
45
45
  value=""
46
46
  />
47
- </ui_view>
48
- </ui_view>
49
- </ui_view>
47
+ </div>
48
+ </div>
49
+ </div>
50
50
  </DocumentFragment>
51
51
  `;
52
52
 
53
53
  exports[`component:<InputDate> prop:placeholder 1`] = `
54
54
  <DocumentFragment>
55
- <ui_view
55
+ <div
56
56
  class="view inputContainer"
57
57
  >
58
- <ui_view
58
+ <div
59
59
  class="view row inputBorder"
60
60
  >
61
- <ui_view
61
+ <div
62
62
  class="view wide content"
63
63
  >
64
64
  <input
@@ -69,21 +69,21 @@ exports[`component:<InputDate> prop:placeholder 1`] = `
69
69
  type="text"
70
70
  value=""
71
71
  />
72
- </ui_view>
73
- </ui_view>
74
- </ui_view>
72
+ </div>
73
+ </div>
74
+ </div>
75
75
  </DocumentFragment>
76
76
  `;
77
77
 
78
78
  exports[`component:<InputDate> prop:value & prop:format 1`] = `
79
79
  <DocumentFragment>
80
- <ui_view
80
+ <div
81
81
  class="view inputContainer"
82
82
  >
83
- <ui_view
83
+ <div
84
84
  class="view row inputBorder"
85
85
  >
86
- <ui_view
86
+ <div
87
87
  class="view wide content"
88
88
  >
89
89
  <input
@@ -94,21 +94,21 @@ exports[`component:<InputDate> prop:value & prop:format 1`] = `
94
94
  type="text"
95
95
  value="04/80"
96
96
  />
97
- </ui_view>
98
- </ui_view>
99
- </ui_view>
97
+ </div>
98
+ </div>
99
+ </div>
100
100
  </DocumentFragment>
101
101
  `;
102
102
 
103
103
  exports[`component:<InputDate> prop:value 1`] = `
104
104
  <DocumentFragment>
105
- <ui_view
105
+ <div
106
106
  class="view inputContainer"
107
107
  >
108
- <ui_view
108
+ <div
109
109
  class="view row inputBorder"
110
110
  >
111
- <ui_view
111
+ <div
112
112
  class="view wide content"
113
113
  >
114
114
  <input
@@ -119,21 +119,21 @@ exports[`component:<InputDate> prop:value 1`] = `
119
119
  type="text"
120
120
  value="10/04/1980"
121
121
  />
122
- </ui_view>
123
- </ui_view>
124
- </ui_view>
122
+ </div>
123
+ </div>
124
+ </div>
125
125
  </DocumentFragment>
126
126
  `;
127
127
 
128
128
  exports[`component:<InputDate> renders 1`] = `
129
129
  <DocumentFragment>
130
- <ui_view
130
+ <div
131
131
  class="view inputContainer"
132
132
  >
133
- <ui_view
133
+ <div
134
134
  class="view row inputBorder"
135
135
  >
136
- <ui_view
136
+ <div
137
137
  class="view wide content"
138
138
  >
139
139
  <input
@@ -144,21 +144,21 @@ exports[`component:<InputDate> renders 1`] = `
144
144
  type="text"
145
145
  value=""
146
146
  />
147
- </ui_view>
148
- </ui_view>
149
- </ui_view>
147
+ </div>
148
+ </div>
149
+ </div>
150
150
  </DocumentFragment>
151
151
  `;
152
152
 
153
153
  exports[`component:<InputDate> testId 1`] = `
154
154
  <DocumentFragment>
155
- <ui_view
155
+ <div
156
156
  class="view inputContainer"
157
157
  >
158
- <ui_view
158
+ <div
159
159
  class="view row inputBorder"
160
160
  >
161
- <ui_view
161
+ <div
162
162
  class="view wide content"
163
163
  >
164
164
  <input
@@ -170,8 +170,8 @@ exports[`component:<InputDate> testId 1`] = `
170
170
  type="text"
171
171
  value=""
172
172
  />
173
- </ui_view>
174
- </ui_view>
175
- </ui_view>
173
+ </div>
174
+ </div>
175
+ </div>
176
176
  </DocumentFragment>
177
177
  `;
@@ -63,6 +63,7 @@ var InputNumber = function InputNumber(_ref) {
63
63
  value: _primitives.ICON.REMOVE
64
64
  })), /*#__PURE__*/_react.default.createElement(_primitives.Text, {
65
65
  headline: true,
66
+ tag: "span",
66
67
  className: (0, _helpers.styles)(_InputNumberModule.default.value, disabled && _InputNumberModule.default.disabled)
67
68
  }, typeof value === 'number' ? value : min), /*#__PURE__*/_react.default.createElement(_Button.Button, {
68
69
  disabled: disabled || value >= max,
@@ -77,7 +78,7 @@ var InputNumber = function InputNumber(_ref) {
77
78
  })));
78
79
  };
79
80
  exports.InputNumber = InputNumber;
80
- InputNumber.displayName = 'Component:InputOption';
81
+ InputNumber.displayName = 'Component:InputNumber';
81
82
  InputNumber.propTypes = {
82
83
  disabled: _propTypes.default.bool,
83
84
  hint: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["InputNumber","disabled","hint","label","max","min","name","required","rounded","showRequired","step","value","onChange","others","role","styles","style","inputNumber","className","texts","ICON","REMOVE","ADD","displayName","propTypes","PropTypes","bool","oneOfType","string","array","number","isRequired","func"],"sources":["../../../src/components/InputNumber/InputNumber.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Text, View } from '../../primitives';\nimport { Button } from '../Button';\nimport { Hint, Label } from '../InputText/partials';\nimport style from './InputNumber.module.css';\n\nconst InputNumber = ({\n disabled,\n hint,\n label,\n max,\n min = 0,\n name,\n required,\n rounded = true,\n showRequired = false,\n step = 1,\n value = 0,\n onChange = () => {},\n ...others\n}) => (\n <View {...others} role={others.role || 'input-number'} row className={styles(style.inputNumber, others.className)}>\n <View className={style.texts}>\n {label && <Label {...{ disabled, label, required: showRequired && required }} className={style.label} />}\n {hint && <Hint {...{ disabled, hint }} className={style.hint} />}\n </View>\n <Button\n disabled={disabled || value <= min}\n rounded={rounded}\n secondary\n squared\n onPress={() => onChange(value - step, name)}\n >\n <Icon value={ICON.REMOVE} />\n </Button>\n <Text headline className={styles(style.value, disabled && style.disabled)}>\n {typeof value === 'number' ? value : min}\n </Text>\n <Button\n disabled={disabled || value >= max}\n rounded={rounded}\n secondary\n squared\n onPress={() => onChange(value + step, name)}\n >\n <Icon value={ICON.ADD} />\n </Button>\n </View>\n);\n\nInputNumber.displayName = 'Component:InputOption';\n\nInputNumber.propTypes = {\n disabled: PropTypes.bool,\n hint: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n label: PropTypes.string,\n max: PropTypes.number,\n min: PropTypes.number,\n name: PropTypes.string.isRequired,\n required: PropTypes.bool,\n rounded: PropTypes.bool,\n showRequired: PropTypes.bool,\n step: PropTypes.number,\n value: PropTypes.number,\n onChange: PropTypes.func,\n};\n\nexport { InputNumber };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["InputNumber","disabled","hint","label","max","min","name","required","rounded","showRequired","step","value","onChange","others","role","styles","style","inputNumber","className","texts","ICON","REMOVE","ADD","displayName","propTypes","PropTypes","bool","oneOfType","string","array","number","isRequired","func"],"sources":["../../../src/components/InputNumber/InputNumber.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Text, View } from '../../primitives';\nimport { Button } from '../Button';\nimport { Hint, Label } from '../InputText/partials';\nimport style from './InputNumber.module.css';\n\nconst InputNumber = ({\n disabled,\n hint,\n label,\n max,\n min = 0,\n name,\n required,\n rounded = true,\n showRequired = false,\n step = 1,\n value = 0,\n onChange = () => {},\n ...others\n}) => (\n <View {...others} role={others.role || 'input-number'} row className={styles(style.inputNumber, others.className)}>\n <View className={style.texts}>\n {label && <Label {...{ disabled, label, required: showRequired && required }} className={style.label} />}\n {hint && <Hint {...{ disabled, hint }} className={style.hint} />}\n </View>\n <Button\n disabled={disabled || value <= min}\n rounded={rounded}\n secondary\n squared\n onPress={() => onChange(value - step, name)}\n >\n <Icon value={ICON.REMOVE} />\n </Button>\n <Text headline tag=\"span\" className={styles(style.value, disabled && style.disabled)}>\n {typeof value === 'number' ? value : min}\n </Text>\n <Button\n disabled={disabled || value >= max}\n rounded={rounded}\n secondary\n squared\n onPress={() => onChange(value + step, name)}\n >\n <Icon value={ICON.ADD} />\n </Button>\n </View>\n);\n\nInputNumber.displayName = 'Component:InputNumber';\n\nInputNumber.propTypes = {\n disabled: PropTypes.bool,\n hint: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n label: PropTypes.string,\n max: PropTypes.number,\n min: PropTypes.number,\n name: PropTypes.string.isRequired,\n required: PropTypes.bool,\n rounded: PropTypes.bool,\n showRequired: PropTypes.bool,\n step: PropTypes.number,\n value: PropTypes.number,\n onChange: PropTypes.func,\n};\n\nexport { InputNumber };\n"],"mappings":"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"}