purgetss 3.1.3 → 3.2.0

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.
Files changed (37) hide show
  1. package/README.md +25 -11
  2. package/assets/fonts/FontAwesome6Brands-Regular.ttf +0 -0
  3. package/assets/fonts/FontAwesome6Free-Regular.ttf +0 -0
  4. package/assets/fonts/FontAwesome6Free-Solid.ttf +0 -0
  5. package/assets/images/mapicon-font.png +0 -0
  6. package/assets/images/microns-font.png +0 -0
  7. package/bin/purgetss +11 -1
  8. package/dist/fontawesome.js +1439 -759
  9. package/dist/fontawesome.tss +1451 -767
  10. package/dist/purgetss.ui.js +6 -5
  11. package/dist/tailwind.tss +816 -691
  12. package/docs/configuring-guide.md +5 -8
  13. package/docs/whats-new/v2.5.0.md +2 -2
  14. package/docs/whats-new/v3.1.5.md +266 -0
  15. package/docs/whats-new/v3.1.7.md +17 -0
  16. package/docs/whats-new/v3.2.0.md +161 -0
  17. package/index.js +379 -42
  18. package/lib/build-fontawesome-free-js.js +2 -2
  19. package/lib/build-fontawesome-free-tss.js +2 -2
  20. package/lib/build-fonts-folder.js +3 -3
  21. package/lib/build-tailwind.js +6 -2
  22. package/lib/helpers.js +148 -46
  23. package/lib/templates/custom-icon-fonts/reset.tss +2 -0
  24. package/lib/templates/custom-icon-fonts/template.js +3 -0
  25. package/lib/templates/custom-icon-fonts/template.tss +1 -0
  26. package/lib/templates/fontawesome/beta-reset.tss +6 -0
  27. package/lib/templates/fontawesome/free-reset.tss +12 -8
  28. package/lib/templates/fontawesome/free-template.js +1 -1
  29. package/lib/templates/fontawesome/free-template.tss +1 -1
  30. package/lib/templates/fontawesome/pro-reset.tss +19 -11
  31. package/lib/templates/fontawesome/pro-template.js +1 -1
  32. package/lib/templates/fontawesome/pro-template.tss +1 -1
  33. package/lib/templates/tailwind/template.tss +1 -1
  34. package/package.json +4 -5
  35. package/assets/fonts/FontAwesome5Brands-Regular.ttf +0 -0
  36. package/assets/fonts/FontAwesome5Free-Regular.ttf +0 -0
  37. package/assets/fonts/FontAwesome5Free-Solid.ttf +0 -0
@@ -84,6 +84,7 @@ if (!fs.existsSync('./dist')) {
84
84
  convertedStyles += helpers.dropShadow();
85
85
  convertedStyles += helpers.dropShadowColor(combinedColors);
86
86
  convertedStyles += helpers.editable();
87
+ convertedStyles += helpers.elevation(combinedSpacing);
87
88
  convertedStyles += helpers.ellipsize();
88
89
  convertedStyles += helpers.enableCopy();
89
90
  convertedStyles += helpers.enableReturnKey();
@@ -128,6 +129,7 @@ if (!fs.existsSync('./dist')) {
128
129
  convertedStyles += helpers.loginKeyboardType();
129
130
  convertedStyles += helpers.loginReturnKeyType();
130
131
  convertedStyles += helpers.margin(combinedSpacing);
132
+ convertedStyles += helpers.maxElevation(combinedSpacing);
131
133
  convertedStyles += helpers.modal();
132
134
  convertedStyles += helpers.navBarHidden();
133
135
  convertedStyles += helpers.navTintColor(combinedColors);
@@ -147,6 +149,7 @@ if (!fs.existsSync('./dist')) {
147
149
  convertedStyles += helpers.pickerType();
148
150
  convertedStyles += helpers.placeholderColor(combinedColors);
149
151
  convertedStyles += helpers.placement();
152
+ convertedStyles += helpers.preventCornerOverlap();
150
153
  convertedStyles += helpers.preventDefaultImage();
151
154
  convertedStyles += helpers.radialGradient();
152
155
  convertedStyles += helpers.repeat();
@@ -166,6 +169,7 @@ if (!fs.existsSync('./dist')) {
166
169
  convertedStyles += helpers.statusBar();
167
170
  convertedStyles += helpers.sustainedPerformanceMode();
168
171
  convertedStyles += helpers.swipeToClose();
172
+ convertedStyles += helpers.useCompatPadding();
169
173
  convertedStyles += helpers.tabBarHidden();
170
174
  convertedStyles += helpers.tabGroupStyle();
171
175
  convertedStyles += helpers.tabsBackgroundColor(combinedColors);
@@ -178,8 +182,8 @@ if (!fs.existsSync('./dist')) {
178
182
  convertedStyles += helpers.titleColor(combinedColors);
179
183
  convertedStyles += helpers.touchFeedbackColor(combinedColors);
180
184
  convertedStyles += helpers.transition();
181
- convertedStyles += helpers.transitionDelay({ ...{ '0': '0ms', '25': '25ms', '50': '50ms', '2000': '2000ms', '3000': '3000ms', '4000': '4000ms', '5000': '5000ms' }, ...defaultTheme.transitionDelay });
182
- convertedStyles += helpers.transitionDuration({ ...{ 0: '0ms', 25: '25ms', 50: '50ms' }, ...defaultTheme.transitionDuration });
185
+ convertedStyles += helpers.transitionDelay({ ...{ '0': '0ms', '25': '25ms', '50': '50ms', '250': '250ms', '350': '350ms', '400': '400ms', '450': '450ms', '600': '600ms', '800': '800ms', '900': '900ms', '2000': '2000ms', '3000': '3000ms', '4000': '4000ms', '5000': '5000ms' }, ...defaultTheme.transitionDelay });
186
+ convertedStyles += helpers.transitionDuration({ ...{ '0': '0ms', '25': '25ms', '50': '50ms', '250': '250ms', '350': '350ms', '400': '400ms', '450': '450ms', '600': '600ms', '800': '800ms', '900': '900ms', '2000': '2000ms', '3000': '3000ms', '4000': '4000ms', '5000': '5000ms' }, ...defaultTheme.transitionDuration });
183
187
  convertedStyles += helpers.translucent();
184
188
  convertedStyles += helpers.useSpinner();
185
189
  convertedStyles += helpers.verticalAlignment();
package/lib/helpers.js CHANGED
@@ -65,40 +65,57 @@ function barColor(modifiersAndValues) {
65
65
  }
66
66
  exports.barColor = barColor;
67
67
 
68
- function shadow(shadowValue = '#59000000') {
69
- let convertedStyles = processComments({ 'prop': 'viewShadowOffset, viewShadowRadius, viewShadowColor - Box Shadow in Tailwind', 'component': 'Ti.UI.View' });
70
- convertedStyles += `'.shadow-xs': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: 1, viewShadowColor: '${shadowValue}' }\n`;
71
- convertedStyles += `'.shadow-sm': { viewShadowOffset: { x: 0, y: 1 }, viewShadowRadius: 1, viewShadowColor: '${shadowValue}' }\n`;
72
- convertedStyles += `'.shadow': { viewShadowOffset: { x: 0, y: 2 }, viewShadowRadius: 2, viewShadowColor: '${shadowValue}' }\n`;
73
- convertedStyles += `'.shadow-md': { viewShadowOffset: { x: 0, y: 3 }, viewShadowRadius: 3, viewShadowColor: '${shadowValue}' }\n`;
74
- convertedStyles += `'.shadow-lg': { viewShadowOffset: { x: 0, y: 4 }, viewShadowRadius: 4, viewShadowColor: '${shadowValue}' }\n`;
75
- convertedStyles += `'.shadow-xl': { viewShadowOffset: { x: 0, y: 6 }, viewShadowRadius: 6, viewShadowColor: '${shadowValue}' }\n`;
76
- convertedStyles += `'.shadow-2xl': { viewShadowOffset: { x: 0, y: 8 }, viewShadowRadius: 8, viewShadowColor: '${shadowValue}' }\n`;
77
-
78
- convertedStyles += `'.shadow-inner': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: null, viewShadowColor: null }\n`;
79
- convertedStyles += `'.shadow-outline': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: 2, viewShadowColor: '${shadowValue}' }\n`;
80
- convertedStyles += `'.shadow-none': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: null, viewShadowColor: null }\n`;
68
+ function shadow(shadowValue = '#80000000') {
69
+ let convertedStyles = processComments({ 'prop': 'viewShadowOffset, viewShadowRadius, viewShadowColor - Box Shadow Effect in Tailwind - iOS Only', 'component': 'Ti.UI.View' });
70
+ convertedStyles += `'.shadow-xs[platform=ios]': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: 1, viewShadowColor: '${shadowValue}' }\n`;
71
+ convertedStyles += `'.shadow-sm[platform=ios]': { viewShadowOffset: { x: 0, y: 1 }, viewShadowRadius: 2, viewShadowColor: '${shadowValue}' }\n`;
72
+ convertedStyles += `'.shadow[platform=ios]': { viewShadowOffset: { x: 0, y: 2 }, viewShadowRadius: 4, viewShadowColor: '${shadowValue}' }\n`;
73
+ convertedStyles += `'.shadow-md[platform=ios]': { viewShadowOffset: { x: 0, y: 3 }, viewShadowRadius: 6, viewShadowColor: '${shadowValue}' }\n`;
74
+ convertedStyles += `'.shadow-lg[platform=ios]': { viewShadowOffset: { x: 0, y: 4 }, viewShadowRadius: 8, viewShadowColor: '${shadowValue}' }\n`;
75
+ convertedStyles += `'.shadow-xl[platform=ios]': { viewShadowOffset: { x: 0, y: 6 }, viewShadowRadius: 12, viewShadowColor: '${shadowValue}' }\n`;
76
+ convertedStyles += `'.shadow-2xl[platform=ios]': { viewShadowOffset: { x: 0, y: 8 }, viewShadowRadius: 14, viewShadowColor: '${shadowValue}' }\n`;
77
+
78
+ convertedStyles += `'.shadow-inner[platform=ios]': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: null, viewShadowColor: null }\n`;
79
+ convertedStyles += `'.shadow-outline[platform=ios]': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: 4, viewShadowColor: '${shadowValue}' }\n`;
80
+ convertedStyles += `'.shadow-none[platform=ios]': { viewShadowOffset: { x: 0, y: 0 }, viewShadowRadius: null, viewShadowColor: null }\n`;
81
+
82
+ convertedStyles += processComments({ 'prop': 'elevation - Box Shadow Effect in Tailwind - Android Only', 'component': 'Ti.UI.Android.CardView, Ti.UI.Animation, Ti.UI.View' });
83
+ convertedStyles += `'.shadow-xs[platform=android]': { elevation: 4 }\n`;
84
+ convertedStyles += `'.shadow-sm[platform=android]': { elevation: 8 }\n`;
85
+ convertedStyles += `'.shadow[platform=android]': { elevation: 16 }\n`;
86
+ convertedStyles += `'.shadow-md[platform=android]': { elevation: 24 }\n`;
87
+ convertedStyles += `'.shadow-lg[platform=android]': { elevation: 26 }\n`;
88
+ convertedStyles += `'.shadow-xl[platform=android]': { elevation: 34 }\n`;
89
+ convertedStyles += `'.shadow-2xl[platform=android]': { elevation: 38 }\n`;
90
+
91
+ convertedStyles += `'.shadow-inner[platform=android]': { elevation: 0 }\n`;
92
+ convertedStyles += `'.shadow-outline[platform=android]': { elevation: 16 }\n`;
93
+ convertedStyles += `'.shadow-none[platform=android]': { elevation: 0 }\n`;
81
94
 
82
95
  return convertedStyles;
83
96
  }
84
97
  exports.shadow = shadow;
85
98
 
86
99
  function shadowColor(modifiersAndValues) {
87
- return processProperties({ 'prop': 'viewShadowColor - Box Shadow in Tailwind', 'component': 'Ti.UI.View' }, {
88
- 'shadow': '{ viewShadowColor: {value} }',
89
- }, modifiersAndValues);
100
+ return processProperties({ 'prop': 'viewShadowColor - Box Shadow Color in Tailwind - iOS Only', 'component': 'Ti.UI.View' }, {
101
+ 'default': '{ viewShadowColor: {value} }',
102
+ }, {
103
+ 'shadow': {
104
+ 'ios': modifiersAndValues
105
+ }
106
+ });
90
107
  }
91
108
  exports.shadowColor = shadowColor;
92
109
 
93
- function dropShadow(shadowValue = '#59000000') {
110
+ function dropShadow(shadowValue = '#80000000') {
94
111
  let convertedStyles = processComments({ 'prop': 'shadowOffset, shadowRadius, shadowColor - Drop Shadow in Tailwind', 'component': 'Ti.UI.Button, Ti.UI.Label' });
95
112
  convertedStyles += `'.drop-shadow-xs': { shadowOffset: { x: 0, y: 0 }, shadowRadius: 1, shadowColor: '${shadowValue}' }\n`;
96
- convertedStyles += `'.drop-shadow-sm': { shadowOffset: { x: 0, y: 1 }, shadowRadius: 1, shadowColor: '${shadowValue}' }\n`;
97
- convertedStyles += `'.drop-shadow': { shadowOffset: { x: 0, y: 2 }, shadowRadius: 2, shadowColor: '${shadowValue}' }\n`;
98
- convertedStyles += `'.drop-shadow-md': { shadowOffset: { x: 0, y: 3 }, shadowRadius: 3, shadowColor: '${shadowValue}' }\n`;
99
- convertedStyles += `'.drop-shadow-lg': { shadowOffset: { x: 0, y: 4 }, shadowRadius: 4, shadowColor: '${shadowValue}' }\n`;
100
- convertedStyles += `'.drop-shadow-xl': { shadowOffset: { x: 0, y: 6 }, shadowRadius: 6, shadowColor: '${shadowValue}' }\n`;
101
- convertedStyles += `'.drop-shadow-2xl': { shadowOffset: { x: 0, y: 8 }, shadowRadius: 8, shadowColor: '${shadowValue}' }\n`;
113
+ convertedStyles += `'.drop-shadow-sm': { shadowOffset: { x: 0, y: 1 }, shadowRadius: 2, shadowColor: '${shadowValue}' }\n`;
114
+ convertedStyles += `'.drop-shadow': { shadowOffset: { x: 0, y: 2 }, shadowRadius: 4, shadowColor: '${shadowValue}' }\n`;
115
+ convertedStyles += `'.drop-shadow-md': { shadowOffset: { x: 0, y: 3 }, shadowRadius: 6, shadowColor: '${shadowValue}' }\n`;
116
+ convertedStyles += `'.drop-shadow-lg': { shadowOffset: { x: 0, y: 4 }, shadowRadius: 8, shadowColor: '${shadowValue}' }\n`;
117
+ convertedStyles += `'.drop-shadow-xl': { shadowOffset: { x: 0, y: 6 }, shadowRadius: 12, shadowColor: '${shadowValue}' }\n`;
118
+ convertedStyles += `'.drop-shadow-2xl': { shadowOffset: { x: 0, y: 8 }, shadowRadius: 14, shadowColor: '${shadowValue}' }\n`;
102
119
  convertedStyles += `'.drop-shadow-none': { shadowOffset: { x: 0, y: 0 }, shadowRadius: null, shadowColor: null }\n`;
103
120
 
104
121
  return convertedStyles;
@@ -112,16 +129,16 @@ function dropShadowColor(modifiersAndValues) {
112
129
  }
113
130
  exports.dropShadowColor = dropShadowColor;
114
131
 
115
- function barTitleShadow(shadowValue = '#59000000') {
132
+ function barTitleShadow(shadowValue = '#80000000') {
116
133
 
117
134
  let convertedStyles = processComments({ 'prop': 'titleAttributes: shadow, offset, blurRadius - Bar Title Shadow', 'component': 'Ti.UI.TabGroup, Ti.UI.Window' });
118
135
  convertedStyles += `'.bar-shadow-xs': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 0 }, blurRadius: 1 } } }\n`;
119
- convertedStyles += `'.bar-shadow-sm': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 1 }, blurRadius: 1 } } }\n`;
120
- convertedStyles += `'.bar-shadow': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 2 }, blurRadius: 2 } } }\n`;
121
- convertedStyles += `'.bar-shadow-md': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 3 }, blurRadius: 3 } } }\n`;
122
- convertedStyles += `'.bar-shadow-lg': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 4 }, blurRadius: 4 } } }\n`;
123
- convertedStyles += `'.bar-shadow-xl': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 6 }, blurRadius: 6 } } }\n`;
124
- convertedStyles += `'.bar-shadow-2xl': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 8 }, blurRadius: 8 } } }\n`;
136
+ convertedStyles += `'.bar-shadow-sm': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 1 }, blurRadius: 2 } } }\n`;
137
+ convertedStyles += `'.bar-shadow': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 2 }, blurRadius: 4 } } }\n`;
138
+ convertedStyles += `'.bar-shadow-md': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 3 }, blurRadius: 6 } } }\n`;
139
+ convertedStyles += `'.bar-shadow-lg': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 4 }, blurRadius: 8 } } }\n`;
140
+ convertedStyles += `'.bar-shadow-xl': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 6 }, blurRadius: 12 } } }\n`;
141
+ convertedStyles += `'.bar-shadow-2xl': { titleAttributes: { shadow: { color: '${shadowValue}', offset: { width: 0, height: 8 }, blurRadius: 14 } } }\n`;
125
142
  convertedStyles += `'.bar-shadow-none': { titleAttributes: { shadow: { color: null, offset: { width: 0, height: 0 }, blurRadius: null } } }\n`;
126
143
 
127
144
  return convertedStyles;
@@ -143,8 +160,8 @@ function barTitleColor(modifiersAndValues) {
143
160
  return processProperties({ 'prop': 'titleAttributes', 'component': 'Ti.UI.TabGroup, Ti.UI.Window' }, {
144
161
  'bar': '{ titleAttributes: { color: {value} } }'
145
162
  }, {
146
- title: {
147
- ios: { ...modifiersAndValues }
163
+ 'title': {
164
+ 'ios': { ...modifiersAndValues }
148
165
  }
149
166
  });
150
167
  }
@@ -287,6 +304,58 @@ function borderRadiusExtraStyles({ ...modifiersAndValues }) {
287
304
  }
288
305
  exports.borderRadiusExtraStyles = borderRadiusExtraStyles;
289
306
 
307
+ function elevation({ ...modifiersAndValues }) {
308
+ // SOME CLEANUP... SOME VALUES NOT NEEDED HERE!.
309
+ delete modifiersAndValues[0];
310
+ delete modifiersAndValues.auto;
311
+ delete modifiersAndValues.full;
312
+ delete modifiersAndValues.screen;
313
+
314
+ _.each(modifiersAndValues, (value, key) => {
315
+ if (key.includes('/')) {
316
+ delete modifiersAndValues[key];
317
+ } else if (['sm', 'md', 'lg', 'xl', '2xl', '3xl', 'px', 'DEFAULT'].includes(key)) {
318
+ } else {
319
+ modifiersAndValues[key] = 8 * parseFloat(value);
320
+ }
321
+ });
322
+
323
+ return processProperties({ 'prop': 'elevation - Android Only', 'component': 'Ti.UI.Android.CardView, Ti.UI.Animation, Ti.UI.View' }, {
324
+ 'default': '{ elevation: {value} }',
325
+ }, {
326
+ 'elevation': {
327
+ 'android': modifiersAndValues
328
+ }
329
+ });
330
+ }
331
+ exports.elevation = elevation;
332
+
333
+ function maxElevation({ ...modifiersAndValues }) {
334
+ // SOME CLEANUP... SOME VALUES NOT NEEDED HERE!.
335
+ delete modifiersAndValues[0];
336
+ delete modifiersAndValues.auto;
337
+ delete modifiersAndValues.full;
338
+ delete modifiersAndValues.screen;
339
+
340
+ _.each(modifiersAndValues, (value, key) => {
341
+ if (key.includes('/')) {
342
+ delete modifiersAndValues[key];
343
+ } else if (['sm', 'md', 'lg', 'xl', '2xl', '3xl', 'px', 'DEFAULT'].includes(key)) {
344
+ } else {
345
+ modifiersAndValues[key] = 8 * parseFloat(value);
346
+ }
347
+ });
348
+
349
+ return processProperties({ 'prop': 'maxElevation - Android Only', 'component': 'Ti.UI.Android.CardView' }, {
350
+ 'max': '{ maxElevation: {value} }',
351
+ }, {
352
+ 'elevation': {
353
+ 'android': modifiersAndValues
354
+ }
355
+ });
356
+ }
357
+ exports.maxElevation = maxElevation;
358
+
290
359
  function borderWidth({ ...modifiersAndValues }) {
291
360
  _.each(modifiersAndValues, (value, key) => {
292
361
  modifiersAndValues[key] = parseInt(value);
@@ -299,7 +368,8 @@ function borderWidth({ ...modifiersAndValues }) {
299
368
  exports.borderWidth = borderWidth;
300
369
 
301
370
  function scale(modifiersAndValues) {
302
- return processProperties({ 'prop': 'scale', 'component': 'Ti.UI.ScrollView' }, {
371
+ modifiersAndValues[1] = '.01';
372
+ return processProperties({ 'prop': 'scale', 'component': 'Ti.UI.ScrollView, MatrixCreationDict' }, {
303
373
  'scale': '{ scale: \'{value}\' }'
304
374
  }, modifiersAndValues);
305
375
  }
@@ -346,17 +416,6 @@ function gap({ ...modifiersAndValues }) {
346
416
  }
347
417
  exports.gap = gap;
348
418
 
349
- function transitionDuration(modifiersAndValues) {
350
- modifiersAndValues[0] = '0ms';
351
- modifiersAndValues[25] = '25ms';
352
- modifiersAndValues[50] = '50ms';
353
-
354
- return processProperties({ 'prop': 'duration', 'component': 'Ti.UI.Animation' }, {
355
- 'duration': '{ duration: {value} }'
356
- }, modifiersAndValues);
357
- }
358
- exports.transitionDuration = transitionDuration;
359
-
360
419
  function transitionDelay(modifiersAndValues) {
361
420
  return processProperties({ 'prop': 'delay', 'component': 'Ti.UI.Animation' }, {
362
421
  'delay': '{ delay: {value} }'
@@ -364,6 +423,13 @@ function transitionDelay(modifiersAndValues) {
364
423
  }
365
424
  exports.transitionDelay = transitionDelay;
366
425
 
426
+ function transitionDuration(modifiersAndValues) {
427
+ return processProperties({ 'prop': 'duration', 'component': 'Ti.UI.Animation' }, {
428
+ 'duration': '{ duration: {value} }'
429
+ }, modifiersAndValues);
430
+ }
431
+ exports.transitionDuration = transitionDuration;
432
+
367
433
  function pagingControlTimeout(modifiersAndValues) {
368
434
  return processProperties({ 'prop': 'pagingControlTimeout', 'component': 'Ti.UI.ScrollableView' }, {
369
435
  'paging-timeout': '{ pagingControlTimeout: {value} }'
@@ -727,6 +793,26 @@ function extendSafeArea() {
727
793
  }
728
794
  exports.extendSafeArea = extendSafeArea;
729
795
 
796
+ function preventCornerOverlap() {
797
+ return processProperties({ 'prop': 'preventCornerOverlap - Android Only', 'component': 'Ti.UI.Android.CardView' }, {
798
+ 'default': '{ preventCornerOverlap: {value} }'
799
+ }, {
800
+ 'prevent-corner-overlap[platform=android]': true,
801
+ 'dont-prevent-corner-overlap[platform=android]': false,
802
+ });
803
+ }
804
+ exports.preventCornerOverlap = preventCornerOverlap;
805
+
806
+ function useCompatPadding() {
807
+ return processProperties({ 'prop': 'useCompatPadding - Android Only', 'component': 'Ti.UI.Android.CardView' }, {
808
+ 'default': '{ useCompatPadding: {value} }'
809
+ }, {
810
+ 'use-compat-padding[platform=android]': true,
811
+ 'dont-use-compat-padding[platform=android]': false,
812
+ });
813
+ }
814
+ exports.useCompatPadding = useCompatPadding;
815
+
730
816
  function flagSecure() {
731
817
  return processProperties({ 'prop': 'flagSecure', 'component': 'Ti.UI.Window' }, {
732
818
  'default': '{ flagSecure: {value} }'
@@ -1216,6 +1302,20 @@ function tiMedia() {
1216
1302
  'contain': 'Ti.Media.IMAGE_SCALING_ASPECT_FIT'
1217
1303
  });
1218
1304
 
1305
+ convertedStyles += processProperties({
1306
+ 'prop': 'scalingMode',
1307
+ 'component': 'Ti.UI.ImageView',
1308
+ 'description': 'Object Fit for compatibility with Tailwind classes'
1309
+ }, {
1310
+ 'object': '{ scalingMode: {value} }'
1311
+ }, {
1312
+ 'auto': 'Ti.Media.IMAGE_SCALING_AUTO',
1313
+ 'fill': 'Ti.Media.IMAGE_SCALING_FILL',
1314
+ 'none': 'Ti.Media.IMAGE_SCALING_NONE',
1315
+ 'cover': 'Ti.Media.IMAGE_SCALING_ASPECT_FILL',
1316
+ 'contain': 'Ti.Media.IMAGE_SCALING_ASPECT_FIT',
1317
+ });
1318
+
1219
1319
  convertedStyles += processProperties({
1220
1320
  'prop': 'scalingMode',
1221
1321
  'component': 'Ti.UI.ImageView',
@@ -2515,8 +2615,8 @@ function processProperties(info, selectorAndDeclarationBlock, selectorsAndValues
2515
2615
  _.each(__value, (___value, fourthSelector) => {
2516
2616
  let valores = _.replace(declarationBlock, new RegExp("{value}", "g"), parseValue(___value, minusSigns));
2517
2617
  convertedStyles += (mainSelector === 'default') ?
2518
- `'.${selectorSign}${setModifier(secondSelector)}${setModifier(thirdSelector)}${setModifier(fourthSelector)}${setModifier(modifier)}': ${valores} \n` :
2519
- `'.${selectorSign}${mainSelector}-${secondSelector}${setModifier(thirdSelector)}${setModifier(fourthSelector)}${setModifier(modifier)}': ${valores} \n`;
2618
+ `'.${selectorSign}${secondSelector}${setModifier(thirdSelector)}${setModifier(fourthSelector)}${setModifier(modifier)}': ${valores}\n` :
2619
+ `'.${selectorSign}${mainSelector}-${secondSelector}${setModifier(thirdSelector)}${setModifier(fourthSelector)}${setModifier(modifier)}': ${valores}\n`;
2520
2620
  });
2521
2621
  } else {
2522
2622
  let valores = _.replace(declarationBlock, new RegExp("{value}", "g"), parseValue(__value, minusSigns));
@@ -2790,6 +2890,7 @@ const arbitraryValuesTable = {
2790
2890
  'delay': 'delay: {value}',
2791
2891
  'drop-shadow': 'shadowColor: {value} }',
2792
2892
  'duration': 'duration: {value}',
2893
+ 'elevation': 'elevation: {value}',
2793
2894
  'feedback': 'touchFeedback: true, touchFeedbackColor: {value}',
2794
2895
  'font': 'font: { fontWeight: {value} }',
2795
2896
  'from': 'backgroundGradient: { colors: [ {value1}, {value} ] }',
@@ -2799,6 +2900,7 @@ const arbitraryValuesTable = {
2799
2900
  'indicator': 'indicatorColor: {value}',
2800
2901
  'left': 'left: {value}',
2801
2902
  'm': 'top: {value}, right: {value}, bottom: {value}, left: {value}',
2903
+ 'max-elevation': 'maxElevation: {value}',
2802
2904
  'max-scale': 'maxZoomScale: {value}',
2803
2905
  'mb': 'bottom: {value}',
2804
2906
  'min-scale': 'minZoomScale: {value}',
@@ -0,0 +1,2 @@
1
+ // Font Icons
2
+ // To use your Custom Icon Fonts in Buttons AND Labels each class sets 'text' and 'title' properties
@@ -0,0 +1,3 @@
1
+ /**
2
+ * Custom Icon Fonts
3
+ */
@@ -0,0 +1 @@
1
+ // Custom Icon Fonts
@@ -6,6 +6,12 @@
6
6
  '.far': { font: { fontFamily: 'FontAwesome6Pro-Regular' } }
7
7
  '.fab': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
8
8
 
9
+ '.fa-thin': { font: { fontFamily: 'FontAwesome6Pro-Thin' } }
10
+ '.fa-solid': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
11
+ '.fa-light': { font: { fontFamily: 'FontAwesome6Pro-Light' } }
12
+ '.fa-regular': { font: { fontFamily: 'FontAwesome6Pro-Regular' } }
13
+ '.fa-brands': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
14
+
9
15
  '.fontawesome': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
10
16
  '.fontawesome-thin': { font: { fontFamily: 'FontAwesome6Pro-Thin' } }
11
17
  '.fontawesome-solid': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
@@ -1,13 +1,17 @@
1
1
  // Font Families
2
- '.fa':{ font: { fontFamily: 'FontAwesome5Free-Solid' } }
3
- '.fas': { font: { fontFamily: 'FontAwesome5Free-Solid' } }
4
- '.far': { font: { fontFamily: 'FontAwesome5Free-Regular' } }
5
- '.fab': { font: { fontFamily: 'FontAwesome5Brands-Regular' } }
2
+ '.fa':{ font: { fontFamily: 'FontAwesome6Free-Solid' } }
3
+ '.fas': { font: { fontFamily: 'FontAwesome6Free-Solid' } }
4
+ '.far': { font: { fontFamily: 'FontAwesome6Free-Regular' } }
5
+ '.fab': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
6
6
 
7
- '.fontawesome': { font: { fontFamily: 'FontAwesome5Free-Solid' } }
8
- '.fontawesome-solid': { font: { fontFamily: 'FontAwesome5Free-Solid' } }
9
- '.fontawesome-regular': { font: { fontFamily: 'FontAwesome5Free-Regular' } }
10
- '.fontawesome-brands': { font: { fontFamily: 'FontAwesome5Brands-Regular' } }
7
+ '.fa-solid': { font: { fontFamily: 'FontAwesome6Free-Solid' } }
8
+ '.fa-regular': { font: { fontFamily: 'FontAwesome6Free-Regular' } }
9
+ '.fa-brands': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
10
+
11
+ '.fontawesome': { font: { fontFamily: 'FontAwesome6Free-Solid' } }
12
+ '.fontawesome-solid': { font: { fontFamily: 'FontAwesome6Free-Solid' } }
13
+ '.fontawesome-regular': { font: { fontFamily: 'FontAwesome6Free-Regular' } }
14
+ '.fontawesome-brands': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
11
15
 
12
16
  // Font Sizes
13
17
  '.fa-lg': { font: { fontSize: 21 } }
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
4
  */
@@ -1,4 +1,4 @@
1
- // Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
1
+ // Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com
2
2
  // License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
3
3
 
4
4
  // Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons
@@ -1,15 +1,23 @@
1
- // Font Families Pro 5.15.4
2
- '.fa':{ font: { fontFamily: 'FontAwesome5Pro-Solid' } }
3
- '.fas': { font: { fontFamily: 'FontAwesome5Pro-Solid' } }
4
- '.fal': { font: { fontFamily: 'FontAwesome5Pro-Light' } }
5
- '.far': { font: { fontFamily: 'FontAwesome5Pro-Regular' } }
6
- '.fab': { font: { fontFamily: 'FontAwesome5Brands-Regular' } }
1
+ // Font Families Pro 6.0.0
2
+ '.fa':{ font: { fontFamily: 'FontAwesome6Pro-Solid' } }
3
+ '.fat': { font: { fontFamily: 'FontAwesome6Pro-Thin' } }
4
+ '.fas': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
5
+ '.fal': { font: { fontFamily: 'FontAwesome6Pro-Light' } }
6
+ '.far': { font: { fontFamily: 'FontAwesome6Pro-Regular' } }
7
+ '.fab': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
7
8
 
8
- '.fontawesome': { font: { fontFamily: 'FontAwesome5Pro-Solid' } }
9
- '.fontawesome-solid': { font: { fontFamily: 'FontAwesome5Pro-Solid' } }
10
- '.fontawesome-light': { font: { fontFamily: 'FontAwesome5Pro-Light' } }
11
- '.fontawesome-regular': { font: { fontFamily: 'FontAwesome5Pro-Regular' } }
12
- '.fontawesome-brands': { font: { fontFamily: 'FontAwesome5Brands-Regular' } }
9
+ '.fa-thin': { font: { fontFamily: 'FontAwesome6Pro-Thin' } }
10
+ '.fa-solid': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
11
+ '.fa-light': { font: { fontFamily: 'FontAwesome6Pro-Light' } }
12
+ '.fa-regular': { font: { fontFamily: 'FontAwesome6Pro-Regular' } }
13
+ '.fa-brands': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
14
+
15
+ '.fontawesome': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
16
+ '.fontawesome-thin': { font: { fontFamily: 'FontAwesome6Pro-Thin' } }
17
+ '.fontawesome-solid': { font: { fontFamily: 'FontAwesome6Pro-Solid' } }
18
+ '.fontawesome-light': { font: { fontFamily: 'FontAwesome6Pro-Light' } }
19
+ '.fontawesome-regular': { font: { fontFamily: 'FontAwesome6Pro-Regular' } }
20
+ '.fontawesome-brands': { font: { fontFamily: 'FontAwesome6Brands-Regular' } }
13
21
 
14
22
  // Font Sizes
15
23
  '.fa-lg': { font: { fontSize: 21 } }
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
4
  */
@@ -1,4 +1,4 @@
1
- // Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
1
+ // Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com
2
2
  // License - https://fontawesome.com/license (Commercial License)
3
3
 
4
4
  // Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons
@@ -1,2 +1,2 @@
1
- // Tailwind CSS v3.0.18: A utility-first CSS framework for rapidly building custom designs. ( https://tailwindcss.com )
1
+ // Tailwind CSS v3.0.22: A utility-first CSS framework for rapidly building custom designs. ( https://tailwindcss.com )
2
2
  // Created by Adam Wathan ( https://twitter.com/adamwathan ).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "purgetss",
3
- "version": "3.1.3",
3
+ "version": "3.2.0",
4
4
  "description": "An extension for Titanium SDK that generates a set of Tailwind-like classes and values to easily and quickly create beautifully designed mobile apps.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -48,14 +48,13 @@
48
48
  },
49
49
  "homepage": "https://github.com/macCesar/purgeTSS#readme",
50
50
  "dependencies": {
51
- "@fortawesome/fontawesome-free": "^5.15.4",
51
+ "@fortawesome/fontawesome-free": "^6.0.0",
52
52
  "@tabler/icons": "^1.53.0",
53
- "arg": "^5.0.1",
54
- "autoprefixer": "^10.4.2",
55
53
  "boxicons": "^2.1.1",
56
54
  "caporal": "^1.4.0",
57
55
  "chalk": "^4.1.2",
58
56
  "command-exists": "^1.2.9",
57
+ "fontname": "^1.0.0",
59
58
  "framework7-icons": "^5.0.5",
60
59
  "glob": "^7.2.0",
61
60
  "junk": "3.1.0",
@@ -63,7 +62,7 @@
63
62
  "path": "^0.12.7",
64
63
  "prompts": "^2.4.2",
65
64
  "read-css": "^0.3.0",
66
- "tailwindcss": "^3.0.18",
65
+ "tailwindcss": "^3.0.22",
67
66
  "traverse": "^0.6.6",
68
67
  "update-notifier": "^5.1.0",
69
68
  "xml-js": "^1.6.11"