jb-input-react
Advanced tools
Comparing version 2.0.0 to 3.0.0
@@ -5,110 +5,2 @@ import React, { useEffect, useRef, useState, useImperativeHandle, useCallback } from 'react'; | ||
function getDefaultExportFromCjs (x) { | ||
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; | ||
} | ||
function createCommonjsModule(fn, basedir, module) { | ||
return module = { | ||
path: basedir, | ||
exports: {}, | ||
require: function (path, base) { | ||
return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); | ||
} | ||
}, fn(module, module.exports), module.exports; | ||
} | ||
function commonjsRequire () { | ||
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); | ||
} | ||
var _typeof_1 = createCommonjsModule(function (module) { | ||
function _typeof(obj) { | ||
"@babel/helpers - typeof"; | ||
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { | ||
return typeof obj; | ||
} : function (obj) { | ||
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; | ||
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); | ||
} | ||
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var _typeof = /*@__PURE__*/getDefaultExportFromCjs(_typeof_1); | ||
var arrayWithHoles = createCommonjsModule(function (module) { | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var iterableToArrayLimit = createCommonjsModule(function (module) { | ||
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; | ||
} | ||
} | ||
module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var arrayLikeToArray = createCommonjsModule(function (module) { | ||
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; | ||
} | ||
module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var unsupportedIterableToArray = createCommonjsModule(function (module) { | ||
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); | ||
} | ||
module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var nonIterableRest = createCommonjsModule(function (module) { | ||
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."); | ||
} | ||
module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var slicedToArray = createCommonjsModule(function (module) { | ||
function _slicedToArray(arr, i) { | ||
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); | ||
} | ||
module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var _slicedToArray = /*@__PURE__*/getDefaultExportFromCjs(slicedToArray); | ||
function useEvent(dom, event, handler) { | ||
@@ -131,125 +23,122 @@ var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
// eslint-disable-next-line react/display-name | ||
var JBInput = /*#__PURE__*/React.forwardRef(function (props, ref) { | ||
/** | ||
* @type {React.MutableRefObject<HTMLInputElement>} | ||
*/ | ||
var element = useRef(); | ||
var _useState = useState(0), | ||
_useState2 = _slicedToArray(_useState, 2), | ||
refChangeCount = _useState2[0], | ||
refChangeCountSetter = _useState2[1]; | ||
useImperativeHandle(ref, function () { | ||
return element ? element.current : {}; | ||
}, [element]); | ||
//to force rerender for events | ||
useEffect(function () { | ||
refChangeCountSetter(refChangeCount + 1); | ||
}, [element.current]); | ||
var onChange = useCallback(function (e) { | ||
if (typeof props.onChange === "function") { | ||
props.onChange(e); | ||
} | ||
}); | ||
var onKeydown = useCallback(function (e) { | ||
if (typeof props.onKeydown === "function") { | ||
props.onKeydown(e); | ||
} | ||
}, [props.onKeydown]); | ||
var onKeyup = useCallback(function (e) { | ||
if (typeof props.onKeyup === "function") { | ||
props.onKeyup(e); | ||
} | ||
}, [props.onKeyup]); | ||
var onEnter = useCallback(function (e) { | ||
if (props.onEnter) { | ||
props.onEnter(e); | ||
} | ||
}, [props.onEnter]); | ||
var onFocus = useCallback(function (e) { | ||
if (props.onFocus && e instanceof FocusEvent) { | ||
props.onFocus(e); | ||
} | ||
}, [props.onFocus]); | ||
var onBlur = useCallback(function (e) { | ||
if (props.onBlur && e instanceof FocusEvent) { | ||
props.onBlur(e); | ||
} | ||
}, [props.onBlur]); | ||
var onInput = useCallback(function (e) { | ||
if (typeof props.onInput == 'function' && e instanceof InputEvent) { | ||
props.onInput(e); | ||
} | ||
}, [props.onInput]); | ||
var onBeforeInput = useCallback(function (e) { | ||
if (typeof props.onBeforeInput == 'function' && e instanceof InputEvent) { | ||
props.onBeforeInput(e); | ||
} | ||
}, [props.onBeforeInput]); | ||
useEffect(function () { | ||
var value = props.value; | ||
if (props.value == null || props.value === undefined) { | ||
value = ''; | ||
} | ||
element.current.value = value; | ||
}, [props.value]); | ||
useEffect(function () { | ||
element.current.setAttribute('type', props.type); | ||
}, [props.type]); | ||
useEffect(function () { | ||
element.current.validationList = props.validationList || []; | ||
}, [props.validationList]); | ||
useEffect(function () { | ||
element.current.setAttribute('direction', props.direction); | ||
}, [props.direction]); | ||
useEffect(function () { | ||
if (_typeof(props.numberFieldParameter) == "object") { | ||
element.current.setNumberFieldParameter(props.numberFieldParameter); | ||
} | ||
}, [props.numberFieldParameter]); | ||
useEffect(function () { | ||
if (typeof props.disabled == "boolean") { | ||
element.current.setAttribute('disabled', "".concat(props.disabled)); | ||
} | ||
}, [props.disabled]); | ||
useEffect(function () { | ||
if (props.inputmode) { | ||
element.current.setAttribute('inputmode', props.inputmode); | ||
} else { | ||
element.current.removeAttribute('inputmode'); | ||
} | ||
}, [props.inputmode]); | ||
useEvent(element.current, 'change', onChange); | ||
useEvent(element.current, 'keydown', onKeydown); | ||
useEvent(element.current, 'keyup', onKeyup); | ||
useEvent(element.current, 'focus', onFocus); | ||
useEvent(element.current, 'blur', onBlur); | ||
useEvent(element.current, 'enter', onEnter); | ||
useEvent(element.current, 'input', onInput); | ||
useEvent(element.current, 'beforeinput', onBeforeInput); | ||
return /*#__PURE__*/React.createElement("jb-input", { | ||
placeholder: props.placeholder, | ||
ref: element, | ||
"class": props.className, | ||
label: props.label, | ||
message: props.message | ||
}, props.children); | ||
const JBInput = React.forwardRef((props, ref) => { | ||
/** | ||
* @type {React.MutableRefObject<HTMLInputElement>} | ||
*/ | ||
const element = useRef(null); | ||
const [refChangeCount, refChangeCountSetter] = useState(0); | ||
useImperativeHandle(ref, () => (element ? element.current : {}), [element]); | ||
//to force rerender for events | ||
useEffect(() => { | ||
refChangeCountSetter(refChangeCount + 1); | ||
}, [element.current]); | ||
const onChange = useCallback((e) => { | ||
if (typeof props.onChange === "function") { | ||
props.onChange(e); | ||
} | ||
}, [props.onChange]); | ||
const onKeydown = useCallback((e) => { | ||
if (typeof props.onKeydown === "function") { | ||
props.onKeydown(e); | ||
} | ||
}, [props.onKeydown]); | ||
const onKeyup = useCallback((e) => { | ||
if (typeof props.onKeyup === "function") { | ||
props.onKeyup(e); | ||
} | ||
}, [props.onKeyup]); | ||
const onEnter = useCallback((e) => { | ||
if (props.onEnter) { | ||
props.onEnter(e); | ||
} | ||
}, [props.onEnter]); | ||
const onFocus = useCallback((e) => { | ||
if (props.onFocus && e instanceof FocusEvent) { | ||
props.onFocus(e); | ||
} | ||
}, [props.onFocus]); | ||
const onBlur = useCallback((e) => { | ||
if (props.onBlur && e instanceof FocusEvent) { | ||
props.onBlur(e); | ||
} | ||
}, [props.onBlur]); | ||
const onInput = useCallback((e) => { | ||
if (typeof props.onInput == 'function' && e instanceof InputEvent) { | ||
props.onInput(e); | ||
} | ||
}, [props.onInput]); | ||
const onBeforeInput = useCallback((e) => { | ||
if (typeof props.onBeforeinput == 'function' && e instanceof InputEvent) { | ||
props.onBeforeinput(e); | ||
} | ||
}, [props.onBeforeinput]); | ||
useEffect(() => { | ||
let value = props.value; | ||
if (props.value == null || props.value === undefined) { | ||
value = ''; | ||
} | ||
if (element && element.current && element.current.value) { | ||
element.current.value = (value === null || value === void 0 ? void 0 : value.toString()) || ""; | ||
} | ||
}, [props.value]); | ||
useEffect(() => { | ||
var _a; | ||
if (props.type) { | ||
(_a = element === null || element === void 0 ? void 0 : element.current) === null || _a === void 0 ? void 0 : _a.setAttribute('type', props.type); | ||
} | ||
}, [props.type]); | ||
useEffect(() => { | ||
if (element && element.current) { | ||
element.current.validationList = props.validationList || []; | ||
} | ||
}, [props.validationList]); | ||
useEffect(() => { | ||
var _a; | ||
if (typeof props.numberFieldParameter == "object") { | ||
(_a = element === null || element === void 0 ? void 0 : element.current) === null || _a === void 0 ? void 0 : _a.setNumberFieldParameter(props.numberFieldParameter); | ||
} | ||
}, [props.numberFieldParameter]); | ||
useEffect(() => { | ||
var _a; | ||
if (typeof props.disabled == "boolean") { | ||
(_a = element === null || element === void 0 ? void 0 : element.current) === null || _a === void 0 ? void 0 : _a.setAttribute('disabled', `${props.disabled}`); | ||
} | ||
}, [props.disabled]); | ||
useEffect(() => { | ||
var _a, _b; | ||
if (props.inputmode) { | ||
(_a = element.current) === null || _a === void 0 ? void 0 : _a.setAttribute('inputmode', props.inputmode); | ||
} | ||
else { | ||
(_b = element.current) === null || _b === void 0 ? void 0 : _b.removeAttribute('inputmode'); | ||
} | ||
}, [props.inputmode]); | ||
useEvent(element.current, 'change', onChange); | ||
useEvent(element.current, 'keydown', onKeydown); | ||
useEvent(element.current, 'keyup', onKeyup); | ||
useEvent(element.current, 'focus', onFocus); | ||
useEvent(element.current, 'blur', onBlur); | ||
useEvent(element.current, 'enter', onEnter); | ||
useEvent(element.current, 'input', onInput); | ||
useEvent(element.current, 'beforeinput', onBeforeInput); | ||
return (React.createElement("jb-input", { placeholder: props.placeholder, ref: element, class: props.className, label: props.label, message: props.message }, props.children)); | ||
}); | ||
JBInput.propTypes = { | ||
label: PropTypes.string, | ||
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), | ||
type: PropTypes.string, | ||
onChange: PropTypes.func, | ||
onKeyUp: PropTypes.func, | ||
onEnter: PropTypes.func, | ||
onInput: PropTypes.func, | ||
onFocus: PropTypes.func, | ||
onBlur: PropTypes.func, | ||
onBeforeinput: PropTypes.func, | ||
className: PropTypes.string, | ||
validationList: PropTypes.array, | ||
placeholder: PropTypes.string, | ||
direction: PropTypes.string, | ||
numberFieldParameter: PropTypes.object, | ||
disabled: PropTypes.bool, | ||
inputmode: PropTypes.string | ||
label: PropTypes.string, | ||
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), | ||
type: PropTypes.string, | ||
message: PropTypes.string, | ||
onChange: PropTypes.func, | ||
onKeyup: PropTypes.func, | ||
onEnter: PropTypes.func, | ||
onInput: PropTypes.func, | ||
onFocus: PropTypes.func, | ||
onBlur: PropTypes.func, | ||
onBeforeinput: PropTypes.func, | ||
className: PropTypes.string, | ||
validationList: PropTypes.array, | ||
placeholder: PropTypes.string, | ||
numberFieldParameter: PropTypes.object, | ||
disabled: PropTypes.bool, | ||
inputmode: PropTypes.string, | ||
}; | ||
@@ -256,0 +145,0 @@ JBInput.displayName = "JBInput"; |
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('jb-input')) : | ||
typeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', 'jb-input'], factory) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.JBInput = {}, global.React, global.PropTypes)); | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('jb-input')) : | ||
typeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', 'jb-input'], factory) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.JBInput = {}, global.React, global.PropTypes)); | ||
})(this, (function (exports, React, PropTypes) { 'use strict'; | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
var React__default = /*#__PURE__*/_interopDefaultLegacy(React); | ||
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes); | ||
var React__default = /*#__PURE__*/_interopDefaultLegacy(React); | ||
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes); | ||
function getDefaultExportFromCjs (x) { | ||
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; | ||
} | ||
function useEvent(dom, event, handler) { | ||
var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
React.useEffect(function () { | ||
if (dom) { | ||
// initiate the event handler | ||
dom.addEventListener(event, handler, passive); | ||
} | ||
// this will clean up the event every time the component is re-rendered | ||
return function cleanup() { | ||
if (dom) { | ||
dom.removeEventListener(event, handler, passive); | ||
} | ||
}; | ||
}); | ||
} | ||
function createCommonjsModule(fn, basedir, module) { | ||
return module = { | ||
path: basedir, | ||
exports: {}, | ||
require: function (path, base) { | ||
return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); | ||
} | ||
}, fn(module, module.exports), module.exports; | ||
} | ||
// eslint-disable-next-line react/display-name | ||
const JBInput = React__default["default"].forwardRef((props, ref) => { | ||
/** | ||
* @type {React.MutableRefObject<HTMLInputElement>} | ||
*/ | ||
const element = React.useRef(null); | ||
const [refChangeCount, refChangeCountSetter] = React.useState(0); | ||
React.useImperativeHandle(ref, () => (element ? element.current : {}), [element]); | ||
//to force rerender for events | ||
React.useEffect(() => { | ||
refChangeCountSetter(refChangeCount + 1); | ||
}, [element.current]); | ||
const onChange = React.useCallback((e) => { | ||
if (typeof props.onChange === "function") { | ||
props.onChange(e); | ||
} | ||
}, [props.onChange]); | ||
const onKeydown = React.useCallback((e) => { | ||
if (typeof props.onKeydown === "function") { | ||
props.onKeydown(e); | ||
} | ||
}, [props.onKeydown]); | ||
const onKeyup = React.useCallback((e) => { | ||
if (typeof props.onKeyup === "function") { | ||
props.onKeyup(e); | ||
} | ||
}, [props.onKeyup]); | ||
const onEnter = React.useCallback((e) => { | ||
if (props.onEnter) { | ||
props.onEnter(e); | ||
} | ||
}, [props.onEnter]); | ||
const onFocus = React.useCallback((e) => { | ||
if (props.onFocus && e instanceof FocusEvent) { | ||
props.onFocus(e); | ||
} | ||
}, [props.onFocus]); | ||
const onBlur = React.useCallback((e) => { | ||
if (props.onBlur && e instanceof FocusEvent) { | ||
props.onBlur(e); | ||
} | ||
}, [props.onBlur]); | ||
const onInput = React.useCallback((e) => { | ||
if (typeof props.onInput == 'function' && e instanceof InputEvent) { | ||
props.onInput(e); | ||
} | ||
}, [props.onInput]); | ||
const onBeforeInput = React.useCallback((e) => { | ||
if (typeof props.onBeforeinput == 'function' && e instanceof InputEvent) { | ||
props.onBeforeinput(e); | ||
} | ||
}, [props.onBeforeinput]); | ||
React.useEffect(() => { | ||
let value = props.value; | ||
if (props.value == null || props.value === undefined) { | ||
value = ''; | ||
} | ||
if (element && element.current && element.current.value) { | ||
element.current.value = (value === null || value === void 0 ? void 0 : value.toString()) || ""; | ||
} | ||
}, [props.value]); | ||
React.useEffect(() => { | ||
var _a; | ||
if (props.type) { | ||
(_a = element === null || element === void 0 ? void 0 : element.current) === null || _a === void 0 ? void 0 : _a.setAttribute('type', props.type); | ||
} | ||
}, [props.type]); | ||
React.useEffect(() => { | ||
if (element && element.current) { | ||
element.current.validationList = props.validationList || []; | ||
} | ||
}, [props.validationList]); | ||
React.useEffect(() => { | ||
var _a; | ||
if (typeof props.numberFieldParameter == "object") { | ||
(_a = element === null || element === void 0 ? void 0 : element.current) === null || _a === void 0 ? void 0 : _a.setNumberFieldParameter(props.numberFieldParameter); | ||
} | ||
}, [props.numberFieldParameter]); | ||
React.useEffect(() => { | ||
var _a; | ||
if (typeof props.disabled == "boolean") { | ||
(_a = element === null || element === void 0 ? void 0 : element.current) === null || _a === void 0 ? void 0 : _a.setAttribute('disabled', `${props.disabled}`); | ||
} | ||
}, [props.disabled]); | ||
React.useEffect(() => { | ||
var _a, _b; | ||
if (props.inputmode) { | ||
(_a = element.current) === null || _a === void 0 ? void 0 : _a.setAttribute('inputmode', props.inputmode); | ||
} | ||
else { | ||
(_b = element.current) === null || _b === void 0 ? void 0 : _b.removeAttribute('inputmode'); | ||
} | ||
}, [props.inputmode]); | ||
useEvent(element.current, 'change', onChange); | ||
useEvent(element.current, 'keydown', onKeydown); | ||
useEvent(element.current, 'keyup', onKeyup); | ||
useEvent(element.current, 'focus', onFocus); | ||
useEvent(element.current, 'blur', onBlur); | ||
useEvent(element.current, 'enter', onEnter); | ||
useEvent(element.current, 'input', onInput); | ||
useEvent(element.current, 'beforeinput', onBeforeInput); | ||
return (React__default["default"].createElement("jb-input", { placeholder: props.placeholder, ref: element, class: props.className, label: props.label, message: props.message }, props.children)); | ||
}); | ||
JBInput.propTypes = { | ||
label: PropTypes__default["default"].string, | ||
value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]), | ||
type: PropTypes__default["default"].string, | ||
message: PropTypes__default["default"].string, | ||
onChange: PropTypes__default["default"].func, | ||
onKeyup: PropTypes__default["default"].func, | ||
onEnter: PropTypes__default["default"].func, | ||
onInput: PropTypes__default["default"].func, | ||
onFocus: PropTypes__default["default"].func, | ||
onBlur: PropTypes__default["default"].func, | ||
onBeforeinput: PropTypes__default["default"].func, | ||
className: PropTypes__default["default"].string, | ||
validationList: PropTypes__default["default"].array, | ||
placeholder: PropTypes__default["default"].string, | ||
numberFieldParameter: PropTypes__default["default"].object, | ||
disabled: PropTypes__default["default"].bool, | ||
inputmode: PropTypes__default["default"].string, | ||
}; | ||
JBInput.displayName = "JBInput"; | ||
function commonjsRequire () { | ||
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); | ||
} | ||
exports.JBInput = JBInput; | ||
var _typeof_1 = createCommonjsModule(function (module) { | ||
function _typeof(obj) { | ||
"@babel/helpers - typeof"; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { | ||
return typeof obj; | ||
} : function (obj) { | ||
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; | ||
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); | ||
} | ||
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var _typeof = /*@__PURE__*/getDefaultExportFromCjs(_typeof_1); | ||
var arrayWithHoles = createCommonjsModule(function (module) { | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var iterableToArrayLimit = createCommonjsModule(function (module) { | ||
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; | ||
} | ||
} | ||
module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var arrayLikeToArray = createCommonjsModule(function (module) { | ||
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; | ||
} | ||
module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var unsupportedIterableToArray = createCommonjsModule(function (module) { | ||
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); | ||
} | ||
module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var nonIterableRest = createCommonjsModule(function (module) { | ||
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."); | ||
} | ||
module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var slicedToArray = createCommonjsModule(function (module) { | ||
function _slicedToArray(arr, i) { | ||
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); | ||
} | ||
module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; | ||
}); | ||
var _slicedToArray = /*@__PURE__*/getDefaultExportFromCjs(slicedToArray); | ||
function useEvent(dom, event, handler) { | ||
var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
React.useEffect(function () { | ||
if (dom) { | ||
// initiate the event handler | ||
dom.addEventListener(event, handler, passive); | ||
} | ||
// this will clean up the event every time the component is re-rendered | ||
return function cleanup() { | ||
if (dom) { | ||
dom.removeEventListener(event, handler, passive); | ||
} | ||
}; | ||
}); | ||
} | ||
// eslint-disable-next-line react/display-name | ||
var JBInput = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) { | ||
/** | ||
* @type {React.MutableRefObject<HTMLInputElement>} | ||
*/ | ||
var element = React.useRef(); | ||
var _useState = React.useState(0), | ||
_useState2 = _slicedToArray(_useState, 2), | ||
refChangeCount = _useState2[0], | ||
refChangeCountSetter = _useState2[1]; | ||
React.useImperativeHandle(ref, function () { | ||
return element ? element.current : {}; | ||
}, [element]); | ||
//to force rerender for events | ||
React.useEffect(function () { | ||
refChangeCountSetter(refChangeCount + 1); | ||
}, [element.current]); | ||
var onChange = React.useCallback(function (e) { | ||
if (typeof props.onChange === "function") { | ||
props.onChange(e); | ||
} | ||
}); | ||
var onKeydown = React.useCallback(function (e) { | ||
if (typeof props.onKeydown === "function") { | ||
props.onKeydown(e); | ||
} | ||
}, [props.onKeydown]); | ||
var onKeyup = React.useCallback(function (e) { | ||
if (typeof props.onKeyup === "function") { | ||
props.onKeyup(e); | ||
} | ||
}, [props.onKeyup]); | ||
var onEnter = React.useCallback(function (e) { | ||
if (props.onEnter) { | ||
props.onEnter(e); | ||
} | ||
}, [props.onEnter]); | ||
var onFocus = React.useCallback(function (e) { | ||
if (props.onFocus && e instanceof FocusEvent) { | ||
props.onFocus(e); | ||
} | ||
}, [props.onFocus]); | ||
var onBlur = React.useCallback(function (e) { | ||
if (props.onBlur && e instanceof FocusEvent) { | ||
props.onBlur(e); | ||
} | ||
}, [props.onBlur]); | ||
var onInput = React.useCallback(function (e) { | ||
if (typeof props.onInput == 'function' && e instanceof InputEvent) { | ||
props.onInput(e); | ||
} | ||
}, [props.onInput]); | ||
var onBeforeInput = React.useCallback(function (e) { | ||
if (typeof props.onBeforeInput == 'function' && e instanceof InputEvent) { | ||
props.onBeforeInput(e); | ||
} | ||
}, [props.onBeforeInput]); | ||
React.useEffect(function () { | ||
var value = props.value; | ||
if (props.value == null || props.value === undefined) { | ||
value = ''; | ||
} | ||
element.current.value = value; | ||
}, [props.value]); | ||
React.useEffect(function () { | ||
element.current.setAttribute('type', props.type); | ||
}, [props.type]); | ||
React.useEffect(function () { | ||
element.current.validationList = props.validationList || []; | ||
}, [props.validationList]); | ||
React.useEffect(function () { | ||
element.current.setAttribute('direction', props.direction); | ||
}, [props.direction]); | ||
React.useEffect(function () { | ||
if (_typeof(props.numberFieldParameter) == "object") { | ||
element.current.setNumberFieldParameter(props.numberFieldParameter); | ||
} | ||
}, [props.numberFieldParameter]); | ||
React.useEffect(function () { | ||
if (typeof props.disabled == "boolean") { | ||
element.current.setAttribute('disabled', "".concat(props.disabled)); | ||
} | ||
}, [props.disabled]); | ||
React.useEffect(function () { | ||
if (props.inputmode) { | ||
element.current.setAttribute('inputmode', props.inputmode); | ||
} else { | ||
element.current.removeAttribute('inputmode'); | ||
} | ||
}, [props.inputmode]); | ||
useEvent(element.current, 'change', onChange); | ||
useEvent(element.current, 'keydown', onKeydown); | ||
useEvent(element.current, 'keyup', onKeyup); | ||
useEvent(element.current, 'focus', onFocus); | ||
useEvent(element.current, 'blur', onBlur); | ||
useEvent(element.current, 'enter', onEnter); | ||
useEvent(element.current, 'input', onInput); | ||
useEvent(element.current, 'beforeinput', onBeforeInput); | ||
return /*#__PURE__*/React__default["default"].createElement("jb-input", { | ||
placeholder: props.placeholder, | ||
ref: element, | ||
"class": props.className, | ||
label: props.label, | ||
message: props.message | ||
}, props.children); | ||
}); | ||
JBInput.propTypes = { | ||
label: PropTypes__default["default"].string, | ||
value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]), | ||
type: PropTypes__default["default"].string, | ||
onChange: PropTypes__default["default"].func, | ||
onKeyUp: PropTypes__default["default"].func, | ||
onEnter: PropTypes__default["default"].func, | ||
onInput: PropTypes__default["default"].func, | ||
onFocus: PropTypes__default["default"].func, | ||
onBlur: PropTypes__default["default"].func, | ||
onBeforeinput: PropTypes__default["default"].func, | ||
className: PropTypes__default["default"].string, | ||
validationList: PropTypes__default["default"].array, | ||
placeholder: PropTypes__default["default"].string, | ||
direction: PropTypes__default["default"].string, | ||
numberFieldParameter: PropTypes__default["default"].object, | ||
disabled: PropTypes__default["default"].bool, | ||
inputmode: PropTypes__default["default"].string | ||
}; | ||
JBInput.displayName = "JBInput"; | ||
exports.JBInput = JBInput; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
})); | ||
//# sourceMappingURL=JBInput.umd.js.map |
@@ -17,3 +17,3 @@ { | ||
], | ||
"version": "2.0.0", | ||
"version": "3.0.0", | ||
"bugs": "https://github.com/javadbat/jb-input-react/issues", | ||
@@ -33,4 +33,4 @@ "license": "MIT", | ||
"dependencies": { | ||
"jb-input": ">=2.6.0" | ||
"jb-input": ">=2.8.2" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
10
58490
505
1
Updatedjb-input@>=2.8.2