UNPKG

react-inline-styler-processor-rtl

Version:
1 lines 3.99 kB
'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=processor;exports.inlineStylerRTLProccessorHelpers=void 0;require("core-js/modules/es6.symbol");require("core-js/modules/web.dom.iterable");require("core-js/modules/es6.object.assign");require("core-js/modules/es7.object.entries");require("core-js/modules/es6.regexp.replace");var _invariant=_interopRequireDefault(require("invariant"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _slicedToArray(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return _sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}}var reTranslate=/((^|\s)translate(3d|X)?\()(\-?[\d]+)/;var reSkew=/((^|\s)skew(x|y)?\()\s*(\-?[\d]+)(deg|rad|grad)(,\s*(\-?[\d]+)(deg|rad|grad))?/;var UNDEFINED_IS_RTL_ERROR="isRTL is undefined. isRTL should be supplied to the configurations of the react-inline-styler Provider component";var maybeUpperCaseFirst=function maybeUpperCaseFirst(str,cond){return cond?str.charAt(0).toUpperCase()+str.substring(1):str;};var startEndReplacer=function startEndReplacer(str,_ref){var startReplacement=_ref.startReplacement,endReplacement=_ref.endReplacement;if(!str)return;return str.replace(/(s|S)tart|(?:e|E)nd/,function(match,isStart,index){var replacement=isStart?startReplacement:endReplacement,shouldUpperCase=index>0;return maybeUpperCaseFirst(replacement,shouldUpperCase);});};var getLeftRightRepalcements=function getLeftRightRepalcements(isRTL){return{startReplacement:isRTL?'right':'left',endReplacement:isRTL?'left':'right'};};var getDirectionReplacements=function getDirectionReplacements(isRTL){return{startReplacement:isRTL?'rtl':'ltr',endReplacement:isRTL?'ltr':'rtl'};};var attributeKeyReplacementFactory=function attributeKeyReplacementFactory(isRTL){var leftRightReplacements=getLeftRightRepalcements(isRTL);return function(key){return startEndReplacer(key,leftRightReplacements);};};var attributeValueReplacementFactory=function attributeValueReplacementFactory(isRTL){var leftRightReplacements=getLeftRightRepalcements(isRTL);var directionReplacements=getDirectionReplacements(isRTL);return function(attrubuteKey,attrubuteValue){switch(attrubuteKey){case'textAlign':case'float':case'transformOrigin':return startEndReplacer(attrubuteValue,leftRightReplacements);case'direction':return startEndReplacer(attrubuteValue,directionReplacements);default:return attrubuteValue;}};};var inlineStylerRTLProccessorHelpers=function inlineStylerRTLProccessorHelpers(isRTL){var onRTL=function onRTL(rtlStyle,lrtStyle){return isRTL?rtlStyle:lrtStyle;};return{onlyRTL:function onlyRTL(rtl){return onRTL(rtl,null);},onlyLTR:function onlyLTR(lrt){return onRTL(null,lrt);},onRTL:onRTL};};exports.inlineStylerRTLProccessorHelpers=inlineStylerRTLProccessorHelpers;function processor(styleObject,configurations){var isRTL=configurations.isRTL;(0,_invariant.default)(typeof isRTL!=="undefined",UNDEFINED_IS_RTL_ERROR);var transformAttributeKey=attributeKeyReplacementFactory(isRTL);var transformAttributeValue=attributeValueReplacementFactory(isRTL);return Object.entries(styleObject).reduce(function(acc,_ref2){var _ref3=_slicedToArray(_ref2,2),key=_ref3[0],value=_ref3[1];var transformedKey=transformAttributeKey(key);var transformedValue=transformAttributeValue(key,value);return Object.assign(acc,_defineProperty({},transformedKey,transformedValue));},{});}