dce-reactkit 3.2.3 → 3.2.5

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.
package/dist/cjs/index.js CHANGED
@@ -3027,8 +3027,45 @@ const genHumanReadableName = (machineReadableName) => {
3027
3027
  }
3028
3028
  humanReadableName += char;
3029
3029
  });
3030
- // Trim and return
3031
- return humanReadableName.trim();
3030
+ const words = (humanReadableName
3031
+ .trim()
3032
+ // Split into words
3033
+ .split(' ')
3034
+ // Filter out whitespace
3035
+ .filter((word) => {
3036
+ return (word.length > 0);
3037
+ })
3038
+ // Capitalize first letter
3039
+ .map((word) => {
3040
+ if (word.length <= 1) {
3041
+ return word;
3042
+ }
3043
+ return `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`;
3044
+ }));
3045
+ // Handle acronyms by piling words together
3046
+ const consolidatedWords = [];
3047
+ let acronym = '';
3048
+ words.forEach((word) => {
3049
+ if (word.length === 1) {
3050
+ // Add on to acronym
3051
+ acronym += word;
3052
+ }
3053
+ else {
3054
+ // Wrap up acronym
3055
+ if (acronym.length > 0) {
3056
+ consolidatedWords.push(acronym);
3057
+ acronym = '';
3058
+ }
3059
+ // Full word. Just add it
3060
+ consolidatedWords.push(word);
3061
+ }
3062
+ });
3063
+ // Add trailing acronym
3064
+ if (acronym.length > 0) {
3065
+ consolidatedWords.push(acronym);
3066
+ }
3067
+ // Return
3068
+ return consolidatedWords.join(' ');
3032
3069
  };
3033
3070
  /* ------------- Actions ------------ */
3034
3071
  // Types of actions
@@ -4066,46 +4103,56 @@ const HOUR_IN_MS = 3600000;
4066
4103
  */
4067
4104
  const DAY_IN_MS = 86400000;
4068
4105
 
4106
+ // True if user is on mobile or tablet
4107
+ let cachedResult = undefined;
4069
4108
  /**
4070
- * Check if the user is on mobile
4109
+ * Check if the user is on a mobile device or tablet
4071
4110
  * from https://stackoverflow.com/questions/11381673/detecting-a-mobile-browser
4072
4111
  * @returns true if user is on a mobile device
4073
4112
  */
4074
- const checkIfMobileOrTablet = () => {
4113
+ const isMobileOrTablet = () => {
4075
4114
  var _a;
4115
+ if (cachedResult !== undefined) {
4116
+ return cachedResult;
4117
+ }
4076
4118
  try {
4077
4119
  let check = false;
4078
4120
  ((a) => { if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)))
4079
4121
  check = true; })((navigator !== null && navigator !== void 0 ? navigator : {}).userAgent || (navigator !== null && navigator !== void 0 ? navigator : {}).vendor || ((_a = window) !== null && _a !== void 0 ? _a : {}).opera);
4080
- return check;
4122
+ cachedResult = check;
4123
+ return cachedResult;
4081
4124
  }
4082
4125
  catch (err) {
4083
4126
  // Probably this code is being executed on a server
4084
- return false;
4127
+ cachedResult = false;
4128
+ return cachedResult;
4085
4129
  }
4086
4130
  };
4087
- const isMobileOrTablet = checkIfMobileOrTablet();
4131
+
4132
+ // Import shared types
4133
+ // Check if mobile
4134
+ const isMobile = isMobileOrTablet();
4088
4135
  /**
4089
4136
  * Dynamic words determined by the user's platform
4090
4137
  * @author Gabe Abrams
4091
4138
  */
4092
4139
  const DynamicWord = {
4093
- Click: (isMobileOrTablet
4140
+ Click: (isMobile
4094
4141
  ? 'tap'
4095
4142
  : 'click'),
4096
- ClickCapitalized: (isMobileOrTablet
4143
+ ClickCapitalized: (isMobile
4097
4144
  ? 'Tap'
4098
4145
  : 'Click'),
4099
- App: (isMobileOrTablet
4146
+ App: (isMobile
4100
4147
  ? 'app'
4101
4148
  : 'application'),
4102
- AppCapitalized: (isMobileOrTablet
4149
+ AppCapitalized: (isMobile
4103
4150
  ? 'App'
4104
4151
  : 'Application'),
4105
- Device: (isMobileOrTablet
4152
+ Device: (isMobile
4106
4153
  ? 'device'
4107
4154
  : 'computer'),
4108
- DeviceCapitalized: (isMobileOrTablet
4155
+ DeviceCapitalized: (isMobile
4109
4156
  ? 'Device'
4110
4157
  : 'Computer'),
4111
4158
  };
@@ -5555,6 +5602,7 @@ exports.handleError = handleError;
5555
5602
  exports.handleSuccess = handleSuccess;
5556
5603
  exports.initLogCollection = initLogCollection;
5557
5604
  exports.initServer = initServer;
5605
+ exports.isMobileOrTablet = isMobileOrTablet;
5558
5606
  exports.logClientEvent = logClientEvent;
5559
5607
  exports.onlyKeepLetters = onlyKeepLetters;
5560
5608
  exports.padDecimalZeros = padDecimalZeros;