@unbxd-ui/unbxd-react-components 0.2.140 → 0.2.141

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.
@@ -11,7 +11,7 @@ var _Form = require("./Form");
11
11
  var _FormElementWrapper = _interopRequireDefault(require("./FormElementWrapper"));
12
12
  var _Validators = _interopRequireDefault(require("../../core/Validators"));
13
13
  var _utils = _interopRequireDefault(require("../../core/utils"));
14
- var _excluded = ["label", "name", "type", "className", "value", "defaultValue", "placeholder", "appearance", "onChange", "validations", "autoComplete", "showLabel"];
14
+ var _excluded = ["label", "name", "type", "className", "value", "defaultValue", "placeholder", "appearance", "language", "onChange", "validations", "autoComplete", "showLabel"];
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -41,6 +41,7 @@ var Input = function Input(props, ref) {
41
41
  defaultValue = props.defaultValue,
42
42
  placeholder = props.placeholder,
43
43
  appearance = props.appearance,
44
+ language = props.language,
44
45
  onChange = props.onChange,
45
46
  validations = props.validations,
46
47
  autoComplete = props.autoComplete,
@@ -48,6 +49,10 @@ var Input = function Input(props, ref) {
48
49
  restProps = _objectWithoutProperties(props, _excluded);
49
50
  var _useContext = (0, _react.useContext)(_Form.FormContext),
50
51
  onValueChange = _useContext.onValueChange;
52
+ var _useState3 = (0, _react.useState)(language === "ar" ? 'rtl' : 'ltr'),
53
+ _useState4 = _slicedToArray(_useState3, 2),
54
+ textDirection = _useState4[0],
55
+ setTextDirection = _useState4[1];
51
56
  var postFormValueChange = function postFormValueChange(value, error) {
52
57
  typeof onValueChange === "function" && onValueChange(name, value, error);
53
58
  };
@@ -61,6 +66,11 @@ var Input = function Input(props, ref) {
61
66
  } else {
62
67
  setError(error);
63
68
  }
69
+ if (language === "ar" && _utils["default"].isRTL(value, language)) {
70
+ setTextDirection("rtl");
71
+ } else {
72
+ setTextDirection("ltr");
73
+ }
64
74
  if (typeof onChange === "function") {
65
75
  onChange(value, error);
66
76
  }
@@ -81,7 +91,7 @@ var Input = function Input(props, ref) {
81
91
  defaultValue: defaultValue,
82
92
  placeholder: placeholder,
83
93
  autoComplete: autoComplete,
84
- className: "RCB-form-el",
94
+ className: "RCB-form-el ".concat(error ? "error" : "", " ").concat(textDirection),
85
95
  onChange: onInputChange,
86
96
  ref: ref
87
97
  }, restProps);
@@ -96,7 +106,7 @@ var Input = function Input(props, ref) {
96
106
  className: "RCB-form-el-label",
97
107
  htmlFor: name
98
108
  }, label), /*#__PURE__*/_react["default"].createElement("input", inputProps), error && /*#__PURE__*/_react["default"].createElement("div", {
99
- className: "RCB-form-error"
109
+ className: "RCB-form-error ".concat(textDirection)
100
110
  }, error));
101
111
  };
102
112
  Input = /*#__PURE__*/(0, _react.forwardRef)(Input);
@@ -9,7 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _Form = require("./Form");
11
11
  var _FormElementWrapper = _interopRequireDefault(require("./FormElementWrapper"));
12
- var _excluded = ["label", "name", "className", "value", "defaultValue", "placeholder", "appearance", "onChange"];
12
+ var _utils = _interopRequireDefault(require("../../core/utils"));
13
+ var _excluded = ["label", "name", "className", "value", "defaultValue", "placeholder", "appearance", "onChange", "language"];
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -18,6 +19,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
18
19
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
20
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
20
21
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
23
+ 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."); }
24
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
25
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
26
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
28
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
22
29
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
23
30
  var Textarea = function Textarea(props) {
@@ -29,9 +36,14 @@ var Textarea = function Textarea(props) {
29
36
  placeholder = props.placeholder,
30
37
  appearance = props.appearance,
31
38
  onChange = props.onChange,
39
+ language = props.language,
32
40
  restProps = _objectWithoutProperties(props, _excluded);
33
41
  var _useContext = (0, _react.useContext)(_Form.FormContext),
34
42
  onValueChange = _useContext.onValueChange;
43
+ var _useState = (0, _react.useState)(language === "ar" ? 'rtl' : 'ltr'),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ textDirection = _useState2[0],
46
+ setTextDirection = _useState2[1];
35
47
  var postFormValueChange = function postFormValueChange(value) {
36
48
  typeof onValueChange === "function" && onValueChange(name, value);
37
49
  };
@@ -43,6 +55,11 @@ var Textarea = function Textarea(props) {
43
55
  if (typeof onChange === "function") {
44
56
  onChange(value);
45
57
  }
58
+ if (language === "ar" && _utils["default"].isRTL(value, language)) {
59
+ setTextDirection("rtl");
60
+ } else {
61
+ setTextDirection("ltr");
62
+ }
46
63
  postFormValueChange(value);
47
64
  };
48
65
  (0, _react.useEffect)(function () {
@@ -56,7 +73,7 @@ var Textarea = function Textarea(props) {
56
73
  id: name,
57
74
  defaultValue: defaultValue,
58
75
  placeholder: placeholder,
59
- className: "RCB-form-el",
76
+ className: "RCB-form-el ".concat(textDirection),
60
77
  onChange: onInputChange
61
78
  }, restProps);
62
79
  if (typeof onChange === "function") {
package/core/utils.js CHANGED
@@ -98,6 +98,11 @@ var utils = {
98
98
  },
99
99
  isArray: function isArray(value) {
100
100
  return Object.prototype.toString.call(value) === "[object Array]";
101
+ },
102
+ isRTL: function isRTL(text, language) {
103
+ // check if the first non-digit character is RTL
104
+ var rtlRegex = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
105
+ return rtlRegex.test(text) || text === "" && language === "ar"; // along with fallback check for default direction
101
106
  }
102
107
  };
103
108
  var _default = exports["default"] = utils;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbxd-ui/unbxd-react-components",
3
- "version": "0.2.140",
3
+ "version": "0.2.141",
4
4
  "description": "React components library",
5
5
  "keywords": [
6
6
  "react components",