@mirai/ui 1.0.94 → 1.0.96

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.
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.FIELDS_WITHOUT_ERRORS = exports.DEFAULT_TIMEOUT_ONERROR = exports.DEFAULT_TIMEOUT_ONCHANGE = void 0;
6
+ exports.FIELDS_WITHOUT_ERRORS = exports.FIELDS_BOOLEAN = exports.DEFAULT_TIMEOUT_ONERROR = exports.DEFAULT_TIMEOUT_ONCHANGE = void 0;
7
7
  var DEFAULT_TIMEOUT_ONCHANGE = 0;
8
8
  exports.DEFAULT_TIMEOUT_ONCHANGE = DEFAULT_TIMEOUT_ONCHANGE;
9
9
  var DEFAULT_TIMEOUT_ONERROR = 10;
10
10
  exports.DEFAULT_TIMEOUT_ONERROR = DEFAULT_TIMEOUT_ONERROR;
11
+ var FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];
12
+ exports.FIELDS_BOOLEAN = FIELDS_BOOLEAN;
11
13
  var FIELDS_WITHOUT_ERRORS = ['Component:InputOption', 'Component:InputNumber'];
12
14
  exports.FIELDS_WITHOUT_ERRORS = FIELDS_WITHOUT_ERRORS;
13
15
  //# sourceMappingURL=Form.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.constants.js","names":["DEFAULT_TIMEOUT_ONCHANGE","DEFAULT_TIMEOUT_ONERROR","FIELDS_WITHOUT_ERRORS"],"sources":["../../../src/components/Form/Form.constants.js"],"sourcesContent":["const DEFAULT_TIMEOUT_ONCHANGE = 0;\nconst DEFAULT_TIMEOUT_ONERROR = 10;\nconst FIELDS_WITHOUT_ERRORS = ['Component:InputOption', 'Component:InputNumber'];\n\nexport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_WITHOUT_ERRORS };\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAAC;AAAC;AACnC,IAAMC,uBAAuB,GAAG,EAAE;AAAC;AACnC,IAAMC,qBAAqB,GAAG,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;AAAC"}
1
+ {"version":3,"file":"Form.constants.js","names":["DEFAULT_TIMEOUT_ONCHANGE","DEFAULT_TIMEOUT_ONERROR","FIELDS_BOOLEAN","FIELDS_WITHOUT_ERRORS"],"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_ERRORS = ['Component:InputOption', 'Component:InputNumber'];\n\nexport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_BOOLEAN, FIELDS_WITHOUT_ERRORS };\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,qBAAqB,GAAG,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;AAAC"}
@@ -87,6 +87,11 @@ var Form = function Form(_ref) {
87
87
  }, [children]);
88
88
  (0, _react.useEffect)(function () {
89
89
  if (!onChange || values === initialValue || !Object.keys(values).length) return;
90
+ if (!debounce) return onChange(values, (0, _helpers.groupState)({
91
+ initialValue: initialValue,
92
+ value: values,
93
+ touched: touched
94
+ }));
90
95
  var timer = setTimeout(function () {
91
96
  return onChange(values, (0, _helpers.groupState)({
92
97
  initialValue: initialValue,
@@ -143,26 +148,27 @@ var Form = function Form(_ref) {
143
148
  return /*#__PURE__*/_react.default.createElement("form", _extends({}, others, {
144
149
  onSubmit: handleSubmit
145
150
  }), _react.default.Children.map(children, function (child, index) {
151
+ var _objectSpread4;
146
152
  if (!child || child === null) return;
147
153
  var _ref2 = child || {},
148
154
  _ref2$props = _ref2.props,
149
- props = _ref2$props === void 0 ? {} : _ref2$props;
155
+ props = _ref2$props === void 0 ? {} : _ref2$props,
156
+ _ref2$type = _ref2.type;
157
+ _ref2$type = _ref2$type === void 0 ? {} : _ref2$type;
158
+ var displayName = _ref2$type.displayName;
150
159
  var type = props.type;
151
160
  var field = (0, _helpers.getField)(props);
152
161
  return /*#__PURE__*/_react.default.cloneElement(child, _objectSpread({
153
162
  key: index
154
- }, field ? _objectSpread(_objectSpread(_objectSpread({}, props), schema[field]), {}, {
155
- error: !_Form.FIELDS_WITHOUT_ERRORS.includes(child.type.displayName) ? props.error || showErrors && error[field] : undefined,
156
- onBlur: onBlur ? function (event) {
157
- return onBlur(field, event);
158
- } : undefined,
159
- onChange: function onChange(value) {
160
- return handleChange(field, value);
161
- },
162
- onFocus: function onFocus(event) {
163
- return handleFocus(field, event);
164
- }
165
- }) : type === 'submit' ? _objectSpread(_objectSpread({}, props), {}, {
163
+ }, field ? _objectSpread(_objectSpread(_objectSpread({}, props), schema[field]), {}, (_objectSpread4 = {
164
+ error: !_Form.FIELDS_WITHOUT_ERRORS.includes(displayName) ? props.error || showErrors && error[field] : undefined
165
+ }, _defineProperty(_objectSpread4, _Form.FIELDS_BOOLEAN.includes(displayName) ? 'checked' : 'value', values[field]), _defineProperty(_objectSpread4, "onBlur", onBlur ? function (event) {
166
+ return onBlur(field, event);
167
+ } : undefined), _defineProperty(_objectSpread4, "onChange", function onChange(value) {
168
+ return handleChange(field, value);
169
+ }), _defineProperty(_objectSpread4, "onFocus", function onFocus(event) {
170
+ return handleFocus(field, event);
171
+ }), _objectSpread4)) : type === 'submit' ? _objectSpread(_objectSpread({}, props), {}, {
166
172
  onPress: handleSubmit
167
173
  }) : undefined));
168
174
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["Form","children","debounce","DEFAULT_TIMEOUT_ONCHANGE","schema","showErrors","validateOnMount","onBlur","onChange","onError","onFocus","onSubmit","others","useState","error","setError","initialValue","setInitialValue","touched","setTouched","values","setValues","useEffect","nextValues","getChildrenValues","nextChildrenKeys","Object","keys","sort","length","JSON","stringify","nextError","getChildrenErrors","collision","some","key","timer","setTimeout","groupState","value","clearTimeout","handleChange","field","fieldValue","handleError","DEFAULT_TIMEOUT_ONERROR","hasError","changed","errors","handleFocus","event","handleSubmit","preventDefault","useMemo","React","Children","map","child","index","props","type","getField","cloneElement","FIELDS_WITHOUT_ERRORS","includes","displayName","undefined","onPress","propTypes","PropTypes","node","number","shape","bool","func"],"sources":["../../../src/components/Form/Form.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_WITHOUT_ERRORS } from './Form.constants';\nimport { getChildrenErrors, getChildrenValues, getField, groupState } from './helpers';\n\nconst Form = ({\n children,\n debounce = DEFAULT_TIMEOUT_ONCHANGE,\n schema = {},\n showErrors,\n validateOnMount = false,\n onBlur,\n onChange,\n onError,\n onFocus,\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) {\n const nextError = getChildrenErrors({ children, schema, values: nextValues });\n setError(nextError);\n onError && onError(nextError);\n } else {\n setError({});\n }\n setTouched({});\n } else {\n const collision = nextChildrenKeys.some((key) => JSON.stringify(values[key]) !== JSON.stringify(nextValues[key]));\n if (collision) setValues(nextValues);\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 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 nextError = getChildrenErrors({ children, schema, values });\n const hasError = Object.keys(nextError).length > 0;\n const changed = JSON.stringify(error) !== JSON.stringify(nextError);\n\n if (changed) {\n setError(nextError);\n onError && onError(nextError, hasError);\n }\n\n return { changed, errors: nextError, hasError };\n };\n\n const handleFocus = (field, event) => {\n setTouched({ ...touched, [field]: true });\n if (onFocus) onFocus(field, event);\n };\n\n const handleSubmit = (event) => {\n const { errors, hasError } = handleError(values);\n\n if (hasError && onError) onError(errors, hasError);\n else if (onSubmit) onSubmit(values, groupState({ initialValue, value: values, touched }), event);\n event.preventDefault();\n };\n\n return useMemo(\n () => (\n <form {...others} onSubmit={handleSubmit}>\n {React.Children.map(children, (child, index) => {\n if (!child || child === null) return;\n\n const { props = {} } = 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_ERRORS.includes(child.type.displayName)\n ? props.error || (showErrors && error[field])\n : undefined,\n onBlur: onBlur ? (event) => onBlur(field, event) : undefined,\n onChange: (value) => handleChange(field, value),\n onFocus: (event) => handleFocus(field, event),\n }\n : type === 'submit'\n ? { ...props, onPress: handleSubmit }\n : undefined),\n });\n })}\n </form>\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 validateOnMount: PropTypes.bool,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onFocus: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["Form","children","debounce","DEFAULT_TIMEOUT_ONCHANGE","schema","showErrors","validateOnMount","onBlur","onChange","onError","onFocus","onSubmit","others","useState","error","setError","initialValue","setInitialValue","touched","setTouched","values","setValues","useEffect","nextValues","getChildrenValues","nextChildrenKeys","Object","keys","sort","length","JSON","stringify","nextError","getChildrenErrors","collision","some","key","groupState","value","timer","setTimeout","clearTimeout","handleChange","field","fieldValue","handleError","DEFAULT_TIMEOUT_ONERROR","hasError","changed","errors","handleFocus","event","handleSubmit","preventDefault","useMemo","React","Children","map","child","index","props","type","displayName","getField","cloneElement","FIELDS_WITHOUT_ERRORS","includes","undefined","FIELDS_BOOLEAN","onPress","propTypes","PropTypes","node","number","shape","bool","func"],"sources":["../../../src/components/Form/Form.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport {\n DEFAULT_TIMEOUT_ONCHANGE,\n DEFAULT_TIMEOUT_ONERROR,\n FIELDS_BOOLEAN,\n FIELDS_WITHOUT_ERRORS,\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,\n validateOnMount = false,\n onBlur,\n onChange,\n onError,\n onFocus,\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) {\n const nextError = getChildrenErrors({ children, schema, values: nextValues });\n setError(nextError);\n onError && onError(nextError);\n } else {\n setError({});\n }\n setTouched({});\n } else {\n const collision = nextChildrenKeys.some((key) => JSON.stringify(values[key]) !== JSON.stringify(nextValues[key]));\n if (collision) setValues(nextValues);\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 nextError = getChildrenErrors({ children, schema, values });\n const hasError = Object.keys(nextError).length > 0;\n const changed = JSON.stringify(error) !== JSON.stringify(nextError);\n\n if (changed) {\n setError(nextError);\n onError && onError(nextError, hasError);\n }\n\n return { changed, errors: nextError, hasError };\n };\n\n const handleFocus = (field, event) => {\n setTouched({ ...touched, [field]: true });\n if (onFocus) onFocus(field, event);\n };\n\n const handleSubmit = (event) => {\n const { errors, hasError } = handleError(values);\n\n if (hasError && onError) onError(errors, hasError);\n else if (onSubmit) onSubmit(values, groupState({ initialValue, value: values, touched }), event);\n event.preventDefault();\n };\n\n return useMemo(\n () => (\n <form {...others} onSubmit={handleSubmit}>\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_ERRORS.includes(displayName)\n ? props.error || (showErrors && error[field])\n : undefined,\n [FIELDS_BOOLEAN.includes(displayName) ? 'checked' : 'value']: values[field],\n onBlur: onBlur ? (event) => onBlur(field, event) : undefined,\n onChange: (value) => handleChange(field, value),\n onFocus: (event) => handleFocus(field, event),\n }\n : type === 'submit'\n ? { ...props, onPress: handleSubmit }\n : undefined),\n });\n })}\n </form>\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 validateOnMount: PropTypes.bool,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onFocus: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
@@ -99,7 +99,6 @@ var InputText = function InputText(_ref) {
99
99
  className: _InputTextModule.default.icons
100
100
  }, (is.password || is.search) && !disabled && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
101
101
  tabIndex: -1,
102
- tag: "button",
103
102
  onPress: handlePress
104
103
  }, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
105
104
  value: is.password ? password ? _primitives.ICON.EYE_CLOSE : _primitives.ICON.EYE_OPEN : _primitives.ICON.CLOSE,
@@ -1 +1 @@
1
- {"version":3,"file":"InputText.js","names":["InputText","disabled","error","hint","icon","label","showState","success","type","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","password","setPassword","handleChange","value","event","handleEnter","handleLeave","handlePress","is","search","undefined","has","length","stateIcon","styles","style","inputContainer","className","inputBorder","text","withIcon","withValue","ICON","SEARCH","left","input","withLabel","iconLeft","icons","EYE_CLOSE","EYE_OPEN","CLOSE","pressable","getIconState","displayName","propTypes","PropTypes","bool","string","func","multiLine","name","isRequired"],"sources":["../../../src/components/InputText/InputText.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { getIconState, styles } from '../../helpers';\nimport { ICON, Icon, Input, Pressable, Text, View } from '../../primitives';\nimport style from './InputText.module.css';\n\nconst InputText = ({\n disabled,\n error,\n hint,\n icon,\n label,\n showState = true,\n success,\n type,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [password, setPassword] = useState(true);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = () => {\n setFocus(false);\n onLeave(event);\n };\n\n const handlePress = (event) => {\n if (is.password) setPassword(!password);\n else if (is.search) onChange(undefined, event);\n };\n\n const is = {\n password: type === 'password',\n search: type === 'search',\n };\n\n const has = {\n icon: !!icon || is.search,\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View className={styles(style.inputContainer, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n error && style.error,\n focus && !error && style.focus,\n )}\n >\n {label && (\n <Text\n className={styles(\n style.text,\n style.label,\n disabled && style.disabled,\n focus && style.focus,\n error && style.error,\n has.icon && style.withIcon,\n (focus || error || has.value) && style.withValue,\n )}\n >\n {label}\n </Text>\n )}\n\n {has.icon && (\n <Icon\n value={icon || ICON.SEARCH}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n\n <Input\n {...others}\n disabled={disabled}\n type={!is.password || password ? type : 'text'}\n value={others.value || ''}\n className={styles(style.input, has.label && style.withLabel, has.icon && style.iconLeft)}\n style={undefined}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n\n {(((is.password || is.search) && !disabled) || has.stateIcon) && (\n <View row className={style.icons}>\n {(is.password || is.search) && !disabled && (\n <Pressable tabIndex={-1} tag=\"button\" onPress={handlePress}>\n <Icon\n value={is.password ? (password ? ICON.EYE_CLOSE : ICON.EYE_OPEN) : ICON.CLOSE}\n className={styles(style.icon, style.pressable)}\n />\n </Pressable>\n )}\n\n {has.stateIcon && (\n <Icon\n value={getIconState({ error, success, warning })}\n className={styles(\n style.icon,\n error ? style.error : warning ? style.warning : success ? style.success : undefined,\n )}\n />\n )}\n </View>\n )}\n </View>\n\n {hint && (\n <Text small className={styles(style.text, style.hint, disabled && style.disabled, error && style.error)}>\n {hint}\n </Text>\n )}\n </View>\n );\n};\n\nInputText.displayName = 'Component:InputText';\n\nInputText.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n type: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputText };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputText.js","names":["InputText","disabled","error","hint","icon","label","showState","success","type","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","password","setPassword","handleChange","value","event","handleEnter","handleLeave","handlePress","is","search","undefined","has","length","stateIcon","styles","style","inputContainer","className","inputBorder","text","withIcon","withValue","ICON","SEARCH","left","input","withLabel","iconLeft","icons","EYE_CLOSE","EYE_OPEN","CLOSE","pressable","getIconState","displayName","propTypes","PropTypes","bool","string","func","multiLine","name","isRequired"],"sources":["../../../src/components/InputText/InputText.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { getIconState, styles } from '../../helpers';\nimport { ICON, Icon, Input, Pressable, Text, View } from '../../primitives';\nimport style from './InputText.module.css';\n\nconst InputText = ({\n disabled,\n error,\n hint,\n icon,\n label,\n showState = true,\n success,\n type,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [password, setPassword] = useState(true);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = () => {\n setFocus(false);\n onLeave(event);\n };\n\n const handlePress = (event) => {\n if (is.password) setPassword(!password);\n else if (is.search) onChange(undefined, event);\n };\n\n const is = {\n password: type === 'password',\n search: type === 'search',\n };\n\n const has = {\n icon: !!icon || is.search,\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View className={styles(style.inputContainer, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n error && style.error,\n focus && !error && style.focus,\n )}\n >\n {label && (\n <Text\n className={styles(\n style.text,\n style.label,\n disabled && style.disabled,\n focus && style.focus,\n error && style.error,\n has.icon && style.withIcon,\n (focus || error || has.value) && style.withValue,\n )}\n >\n {label}\n </Text>\n )}\n\n {has.icon && (\n <Icon\n value={icon || ICON.SEARCH}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n\n <Input\n {...others}\n disabled={disabled}\n type={!is.password || password ? type : 'text'}\n value={others.value || ''}\n className={styles(style.input, has.label && style.withLabel, has.icon && style.iconLeft)}\n style={undefined}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n\n {(((is.password || is.search) && !disabled) || has.stateIcon) && (\n <View row className={style.icons}>\n {(is.password || is.search) && !disabled && (\n <Pressable tabIndex={-1} onPress={handlePress}>\n <Icon\n value={is.password ? (password ? ICON.EYE_CLOSE : ICON.EYE_OPEN) : ICON.CLOSE}\n className={styles(style.icon, style.pressable)}\n />\n </Pressable>\n )}\n\n {has.stateIcon && (\n <Icon\n value={getIconState({ error, success, warning })}\n className={styles(\n style.icon,\n error ? style.error : warning ? style.warning : success ? style.success : undefined,\n )}\n />\n )}\n </View>\n )}\n </View>\n\n {hint && (\n <Text small className={styles(style.text, style.hint, disabled && style.disabled, error && style.error)}>\n {hint}\n </Text>\n )}\n </View>\n );\n};\n\nInputText.displayName = 'Component:InputText';\n\nInputText.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n type: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputText };\n"],"mappings":"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"}
@@ -294,7 +294,7 @@ exports[`component:<InputText> prop:type 1`] = `
294
294
  <div
295
295
  class="view row icons"
296
296
  >
297
- <button
297
+ <div
298
298
  class="pressable"
299
299
  tabindex="-1"
300
300
  >
@@ -319,7 +319,7 @@ exports[`component:<InputText> prop:type 1`] = `
319
319
  />
320
320
  </svg>
321
321
  </span>
322
- </button>
322
+ </div>
323
323
  </div>
324
324
  </div>
325
325
  </div>
@@ -6,11 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Input = void 0;
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
10
  var _helpers = require("../../helpers");
11
11
  var _helpers2 = require("./helpers");
12
12
  var _InputModule = _interopRequireDefault(require("./Input.module.css"));
13
13
  var _excluded = ["disabled", "multiLine", "type", "onChange", "onEnter", "onError", "onLeave"];
14
+ 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); }
15
+ 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; }
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -29,10 +31,13 @@ var Input = function Input(_ref) {
29
31
  onError = _ref.onError,
30
32
  onLeave = _ref.onLeave,
31
33
  others = _objectWithoutProperties(_ref, _excluded);
32
- var errors = (0, _helpers.getInputErrors)(_objectSpread(_objectSpread({}, others), {}, {
33
- type: type
34
- }));
35
- if (errors && onError) onError(errors);
34
+ (0, _react.useEffect)(function () {
35
+ var errors = (0, _helpers.getInputErrors)(_objectSpread(_objectSpread({}, others), {}, {
36
+ type: type
37
+ }));
38
+ if (errors && onError) onError(errors);
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ }, []);
36
41
  var handleChange = function handleChange() {
37
42
  var next = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
38
43
  var event = arguments.length > 1 ? arguments[1] : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["Input","disabled","multiLine","type","onChange","onEnter","onError","onLeave","others","errors","getInputErrors","handleChange","next","event","isNaN","value","parseValue","React","createElement","test","undefined","className","styles","style","input","target","onFocus","onBlur","displayName","propTypes","PropTypes","bool","name","string","isRequired","func"],"sources":["../../../src/primitives/Input/Input.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { getInputErrors, styles } from '../../helpers';\nimport { parseValue } from './helpers';\nimport style from './Input.module.css';\n\nconst Input = ({ disabled, multiLine, type = 'text', onChange, onEnter, onError, onLeave, ...others }) => {\n const errors = getInputErrors({ ...others, type });\n if (errors && onError) onError(errors);\n\n const handleChange = (next = '', event) => {\n if (type === 'number' && isNaN(next)) return;\n const value = parseValue(next, type, others);\n\n onError && onError(getInputErrors({ ...others, type, value }));\n onChange && onChange(value || '', event);\n };\n\n return React.createElement(multiLine ? 'textarea' : 'input', {\n ...others,\n disabled,\n test: undefined,\n type,\n value: others.value || '',\n className: styles(style.input, others.className),\n ...(!disabled\n ? {\n onChange: (event) => handleChange(event.target.value, event),\n onFocus: onEnter,\n onBlur: onLeave,\n }\n : {}),\n });\n};\n\nInput.displayName = 'Primitive:Input';\n\nInput.propTypes = {\n disabled: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n type: PropTypes.string,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { Input };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,KAAK,GAAG,SAARA,KAAK,OAA+F;EAAA,IAAzFC,QAAQ,QAARA,QAAQ;IAAEC,SAAS,QAATA,SAAS;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,MAAM;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,OAAO,QAAPA,OAAO;IAAEC,OAAO,QAAPA,OAAO;IAAEC,OAAO,QAAPA,OAAO;IAAKC,MAAM;EACjG,IAAMC,MAAM,GAAG,IAAAC,uBAAc,kCAAMF,MAAM;IAAEL,IAAI,EAAJA;EAAI,GAAG;EAClD,IAAIM,MAAM,IAAIH,OAAO,EAAEA,OAAO,CAACG,MAAM,CAAC;EAEtC,IAAME,YAAY,GAAG,SAAfA,YAAY,GAAyB;IAAA,IAArBC,IAAI,uEAAG,EAAE;IAAA,IAAEC,KAAK;IACpC,IAAIV,IAAI,KAAK,QAAQ,IAAIW,KAAK,CAACF,IAAI,CAAC,EAAE;IACtC,IAAMG,KAAK,GAAG,IAAAC,oBAAU,EAACJ,IAAI,EAAET,IAAI,EAAEK,MAAM,CAAC;IAE5CF,OAAO,IAAIA,OAAO,CAAC,IAAAI,uBAAc,kCAAMF,MAAM;MAAEL,IAAI,EAAJA,IAAI;MAAEY,KAAK,EAALA;IAAK,GAAG,CAAC;IAC9DX,QAAQ,IAAIA,QAAQ,CAACW,KAAK,IAAI,EAAE,EAAEF,KAAK,CAAC;EAC1C,CAAC;EAED,oBAAOI,cAAK,CAACC,aAAa,CAAChB,SAAS,GAAG,UAAU,GAAG,OAAO,kCACtDM,MAAM;IACTP,QAAQ,EAARA,QAAQ;IACRkB,IAAI,EAAEC,SAAS;IACfjB,IAAI,EAAJA,IAAI;IACJY,KAAK,EAAEP,MAAM,CAACO,KAAK,IAAI,EAAE;IACzBM,SAAS,EAAE,IAAAC,eAAM,EAACC,oBAAK,CAACC,KAAK,EAAEhB,MAAM,CAACa,SAAS;EAAC,GAC5C,CAACpB,QAAQ,GACT;IACEG,QAAQ,EAAE,kBAACS,KAAK;MAAA,OAAKF,YAAY,CAACE,KAAK,CAACY,MAAM,CAACV,KAAK,EAAEF,KAAK,CAAC;IAAA;IAC5Da,OAAO,EAAErB,OAAO;IAChBsB,MAAM,EAAEpB;EACV,CAAC,GACD,CAAC,CAAC,EACN;AACJ,CAAC;AAAC;AAEFP,KAAK,CAAC4B,WAAW,GAAG,iBAAiB;AAErC5B,KAAK,CAAC6B,SAAS,GAAG;EAChB5B,QAAQ,EAAE6B,kBAAS,CAACC,IAAI;EACxB7B,SAAS,EAAE4B,kBAAS,CAACC,IAAI;EACzBC,IAAI,EAAEF,kBAAS,CAACG,MAAM,CAACC,UAAU;EACjC/B,IAAI,EAAE2B,kBAAS,CAACG,MAAM;EACtB7B,QAAQ,EAAE0B,kBAAS,CAACK,IAAI;EACxB9B,OAAO,EAAEyB,kBAAS,CAACK,IAAI;EACvB7B,OAAO,EAAEwB,kBAAS,CAACK,IAAI;EACvB5B,OAAO,EAAEuB,kBAAS,CAACK;AACrB,CAAC"}
1
+ {"version":3,"file":"Input.js","names":["Input","disabled","multiLine","type","onChange","onEnter","onError","onLeave","others","useEffect","errors","getInputErrors","handleChange","next","event","isNaN","value","parseValue","React","createElement","test","undefined","className","styles","style","input","target","onFocus","onBlur","displayName","propTypes","PropTypes","bool","name","string","isRequired","func"],"sources":["../../../src/primitives/Input/Input.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getInputErrors, styles } from '../../helpers';\nimport { parseValue } from './helpers';\nimport style from './Input.module.css';\n\nconst Input = ({ disabled, multiLine, type = 'text', onChange, onEnter, onError, onLeave, ...others }) => {\n useEffect(() => {\n const errors = getInputErrors({ ...others, type });\n if (errors && onError) onError(errors);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChange = (next = '', event) => {\n if (type === 'number' && isNaN(next)) return;\n const value = parseValue(next, type, others);\n\n onError && onError(getInputErrors({ ...others, type, value }));\n onChange && onChange(value || '', event);\n };\n\n return React.createElement(multiLine ? 'textarea' : 'input', {\n ...others,\n disabled,\n test: undefined,\n type,\n value: others.value || '',\n className: styles(style.input, others.className),\n ...(!disabled\n ? {\n onChange: (event) => handleChange(event.target.value, event),\n onFocus: onEnter,\n onBlur: onLeave,\n }\n : {}),\n });\n};\n\nInput.displayName = 'Primitive:Input';\n\nInput.propTypes = {\n disabled: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n type: PropTypes.string,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { Input };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,KAAK,GAAG,SAARA,KAAK,OAA+F;EAAA,IAAzFC,QAAQ,QAARA,QAAQ;IAAEC,SAAS,QAATA,SAAS;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,MAAM;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,OAAO,QAAPA,OAAO;IAAEC,OAAO,QAAPA,OAAO;IAAEC,OAAO,QAAPA,OAAO;IAAKC,MAAM;EACjG,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMC,MAAM,GAAG,IAAAC,uBAAc,kCAAMH,MAAM;MAAEL,IAAI,EAAJA;IAAI,GAAG;IAClD,IAAIO,MAAM,IAAIJ,OAAO,EAAEA,OAAO,CAACI,MAAM,CAAC;IACtC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAME,YAAY,GAAG,SAAfA,YAAY,GAAyB;IAAA,IAArBC,IAAI,uEAAG,EAAE;IAAA,IAAEC,KAAK;IACpC,IAAIX,IAAI,KAAK,QAAQ,IAAIY,KAAK,CAACF,IAAI,CAAC,EAAE;IACtC,IAAMG,KAAK,GAAG,IAAAC,oBAAU,EAACJ,IAAI,EAAEV,IAAI,EAAEK,MAAM,CAAC;IAE5CF,OAAO,IAAIA,OAAO,CAAC,IAAAK,uBAAc,kCAAMH,MAAM;MAAEL,IAAI,EAAJA,IAAI;MAAEa,KAAK,EAALA;IAAK,GAAG,CAAC;IAC9DZ,QAAQ,IAAIA,QAAQ,CAACY,KAAK,IAAI,EAAE,EAAEF,KAAK,CAAC;EAC1C,CAAC;EAED,oBAAOI,cAAK,CAACC,aAAa,CAACjB,SAAS,GAAG,UAAU,GAAG,OAAO,kCACtDM,MAAM;IACTP,QAAQ,EAARA,QAAQ;IACRmB,IAAI,EAAEC,SAAS;IACflB,IAAI,EAAJA,IAAI;IACJa,KAAK,EAAER,MAAM,CAACQ,KAAK,IAAI,EAAE;IACzBM,SAAS,EAAE,IAAAC,eAAM,EAACC,oBAAK,CAACC,KAAK,EAAEjB,MAAM,CAACc,SAAS;EAAC,GAC5C,CAACrB,QAAQ,GACT;IACEG,QAAQ,EAAE,kBAACU,KAAK;MAAA,OAAKF,YAAY,CAACE,KAAK,CAACY,MAAM,CAACV,KAAK,EAAEF,KAAK,CAAC;IAAA;IAC5Da,OAAO,EAAEtB,OAAO;IAChBuB,MAAM,EAAErB;EACV,CAAC,GACD,CAAC,CAAC,EACN;AACJ,CAAC;AAAC;AAEFP,KAAK,CAAC6B,WAAW,GAAG,iBAAiB;AAErC7B,KAAK,CAAC8B,SAAS,GAAG;EAChB7B,QAAQ,EAAE8B,kBAAS,CAACC,IAAI;EACxB9B,SAAS,EAAE6B,kBAAS,CAACC,IAAI;EACzBC,IAAI,EAAEF,kBAAS,CAACG,MAAM,CAACC,UAAU;EACjChC,IAAI,EAAE4B,kBAAS,CAACG,MAAM;EACtB9B,QAAQ,EAAE2B,kBAAS,CAACK,IAAI;EACxB/B,OAAO,EAAE0B,kBAAS,CAACK,IAAI;EACvB9B,OAAO,EAAEyB,kBAAS,CAACK,IAAI;EACvB7B,OAAO,EAAEwB,kBAAS,CAACK;AACrB,CAAC"}
@@ -44,7 +44,7 @@ var ScrollView = function ScrollView(_ref) {
44
44
  var _ref2 = ref || {},
45
45
  _ref2$current = _ref2.current,
46
46
  current = _ref2$current === void 0 ? {} : _ref2$current;
47
- if (!current.scrollTo || !scrollTo) return;
47
+ if (!current.scrollTo || scrollTo === undefined) return;
48
48
  current.scrollTo((_current$scrollTo = {}, _defineProperty(_current$scrollTo, horizontal ? 'left' : 'top', scrollTo), _defineProperty(_current$scrollTo, "behavior", behavior), _current$scrollTo));
49
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
50
50
  }, [scrollTo]);
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollView.js","names":["ScrollView","behavior","children","height","horizontal","scrollEventThrottle","scrollIndicator","scrollTo","snap","tag","width","onScroll","others","ref","useRef","timeout","useEffect","current","handleScroll","target","clientHeight","clientWidth","scrollHeight","scrollWidth","scrollTop","scrollLeft","x","parseInt","y","offsetX","offsetY","clearTimeout","setTimeout","percentX","percentY","React","createElement","className","styles","style","scrollview","indicator","undefined","displayName","propTypes","PropTypes","string","node","isRequired","number","bool","func"],"sources":["../../../src/primitives/ScrollView/ScrollView.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './ScrollView.module.css';\n\nconst ScrollView = ({\n behavior = 'smooth',\n children,\n height,\n horizontal,\n scrollEventThrottle = 16, // * 60fps\n scrollIndicator,\n scrollTo,\n snap = true,\n tag = 'div',\n width,\n onScroll,\n ...others\n}) => {\n const ref = useRef();\n\n let timeout = null;\n\n useEffect(() => {\n const { current = {} } = ref || {};\n if (!current.scrollTo || !scrollTo) return;\n\n current.scrollTo({ [horizontal ? 'left' : 'top']: scrollTo, behavior });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [scrollTo]);\n\n const handleScroll = ({\n target: { clientHeight, clientWidth, scrollHeight, scrollWidth, scrollTop, scrollLeft } = {},\n }) => {\n const x = parseInt(scrollLeft, 10);\n const y = parseInt(scrollTop, 10);\n const offsetX = scrollWidth - clientWidth;\n const offsetY = scrollHeight - clientHeight;\n\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n onScroll({\n x,\n y,\n percentX: offsetX ? parseInt((x * 100) / offsetX, 10) : 0,\n percentY: offsetY ? parseInt((y * 100) / offsetY, 10) : 0,\n });\n }, scrollEventThrottle);\n };\n\n return React.createElement(\n tag,\n {\n ...others,\n ref,\n className: styles(\n style.scrollview,\n snap && style.snap,\n horizontal && style.horizontal,\n scrollIndicator && style.indicator,\n others.className,\n ),\n style: { ...others.style, height, width },\n onScroll: onScroll ? handleScroll : undefined,\n },\n children,\n );\n};\n\nScrollView.displayName = 'Primitive:ScrollView';\n\nScrollView.propTypes = {\n behavior: PropTypes.string,\n children: PropTypes.node.isRequired,\n height: PropTypes.number,\n horizontal: PropTypes.bool,\n scrollEventThrottle: PropTypes.number,\n scrollIndicator: PropTypes.bool,\n scrollTo: PropTypes.number,\n snap: PropTypes.bool,\n tag: PropTypes.string,\n width: PropTypes.number,\n onScroll: PropTypes.func,\n};\n\nexport { ScrollView };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScrollView.js","names":["ScrollView","behavior","children","height","horizontal","scrollEventThrottle","scrollIndicator","scrollTo","snap","tag","width","onScroll","others","ref","useRef","timeout","useEffect","current","undefined","handleScroll","target","clientHeight","clientWidth","scrollHeight","scrollWidth","scrollTop","scrollLeft","x","parseInt","y","offsetX","offsetY","clearTimeout","setTimeout","percentX","percentY","React","createElement","className","styles","style","scrollview","indicator","displayName","propTypes","PropTypes","string","node","isRequired","number","bool","func"],"sources":["../../../src/primitives/ScrollView/ScrollView.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './ScrollView.module.css';\n\nconst ScrollView = ({\n behavior = 'smooth',\n children,\n height,\n horizontal,\n scrollEventThrottle = 16, // * 60fps\n scrollIndicator,\n scrollTo,\n snap = true,\n tag = 'div',\n width,\n onScroll,\n ...others\n}) => {\n const ref = useRef();\n\n let timeout = null;\n\n useEffect(() => {\n const { current = {} } = ref || {};\n if (!current.scrollTo || scrollTo === undefined) return;\n\n current.scrollTo({ [horizontal ? 'left' : 'top']: scrollTo, behavior });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [scrollTo]);\n\n const handleScroll = ({\n target: { clientHeight, clientWidth, scrollHeight, scrollWidth, scrollTop, scrollLeft } = {},\n }) => {\n const x = parseInt(scrollLeft, 10);\n const y = parseInt(scrollTop, 10);\n const offsetX = scrollWidth - clientWidth;\n const offsetY = scrollHeight - clientHeight;\n\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n onScroll({\n x,\n y,\n percentX: offsetX ? parseInt((x * 100) / offsetX, 10) : 0,\n percentY: offsetY ? parseInt((y * 100) / offsetY, 10) : 0,\n });\n }, scrollEventThrottle);\n };\n\n return React.createElement(\n tag,\n {\n ...others,\n ref,\n className: styles(\n style.scrollview,\n snap && style.snap,\n horizontal && style.horizontal,\n scrollIndicator && style.indicator,\n others.className,\n ),\n style: { ...others.style, height, width },\n onScroll: onScroll ? handleScroll : undefined,\n },\n children,\n );\n};\n\nScrollView.displayName = 'Primitive:ScrollView';\n\nScrollView.propTypes = {\n behavior: PropTypes.string,\n children: PropTypes.node.isRequired,\n height: PropTypes.number,\n horizontal: PropTypes.bool,\n scrollEventThrottle: PropTypes.number,\n scrollIndicator: PropTypes.bool,\n scrollTo: PropTypes.number,\n snap: PropTypes.bool,\n tag: PropTypes.string,\n width: PropTypes.number,\n onScroll: PropTypes.func,\n};\n\nexport { ScrollView };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.94",
3
+ "version": "1.0.96",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",