@maccesar/titools 2.2.11 → 2.3.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.
- package/README.md +255 -713
- package/bin/titools.js +1 -1
- package/lib/commands/update.js +5 -6
- package/lib/config.js +1 -0
- package/lib/downloader.js +10 -0
- package/package.json +1 -1
- package/skills/alloy-guides/SKILL.md +46 -48
- package/skills/alloy-guides/references/CONTROLLERS.md +4 -6
- package/skills/alloy-guides/references/MODELS.md +340 -184
- package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +3 -4
- package/skills/alloy-guides/references/VIEWS_STYLES.md +44 -46
- package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +4 -5
- package/skills/alloy-guides/references/VIEWS_XML.md +51 -17
- package/skills/alloy-guides/references/WIDGETS.md +1 -1
- package/skills/alloy-howtos/SKILL.md +12 -13
- package/skills/alloy-howtos/references/cli_reference.md +40 -41
- package/skills/alloy-howtos/references/samples.md +3 -4
- package/skills/purgetss/SKILL.md +369 -356
- package/skills/purgetss/references/EXAMPLES.md +24 -25
- package/skills/purgetss/references/animation-advanced.md +555 -0
- package/skills/purgetss/references/animation-system.md +395 -995
- package/skills/purgetss/references/apply-directive.md +111 -141
- package/skills/purgetss/references/arbitrary-values.md +206 -480
- package/skills/purgetss/references/class-categories.md +277 -0
- package/skills/purgetss/references/class-index.md +1 -420
- package/skills/purgetss/references/cli-commands.md +446 -556
- package/skills/purgetss/references/configurable-properties.md +163 -599
- package/skills/purgetss/references/custom-rules.md +33 -76
- package/skills/purgetss/references/customization-deep-dive.md +319 -518
- package/skills/purgetss/references/dynamic-component-creation.md +33 -37
- package/skills/purgetss/references/grid-layout.md +42 -371
- package/skills/purgetss/references/icon-fonts.md +82 -475
- package/skills/purgetss/references/installation-setup.md +159 -331
- package/skills/purgetss/references/migration-guide.md +54 -109
- package/skills/purgetss/references/opacity-modifier.md +25 -222
- package/skills/purgetss/references/performance-tips.md +2 -2
- package/skills/purgetss/references/platform-modifiers.md +21 -407
- package/skills/purgetss/references/tikit-components.md +237 -104
- package/skills/purgetss/references/titanium-resets.md +20 -21
- package/skills/purgetss/references/ui-ux-design.md +171 -1702
- package/skills/ti-api/SKILL.md +109 -0
- package/skills/ti-api/references/api-android.md +675 -0
- package/skills/ti-api/references/api-app-platform.md +636 -0
- package/skills/ti-api/references/api-core.md +764 -0
- package/skills/ti-api/references/api-data-network.md +641 -0
- package/skills/ti-api/references/api-media.md +655 -0
- package/skills/ti-api/references/api-modules-ble-bluetooth.md +657 -0
- package/skills/ti-api/references/api-modules-coremotion-urlsession.md +411 -0
- package/skills/ti-api/references/api-modules-map.md +632 -0
- package/skills/ti-api/references/api-modules-nfc.md +725 -0
- package/skills/ti-api/references/api-modules-social-misc.md +526 -0
- package/skills/ti-api/references/api-services.md +700 -0
- package/skills/ti-api/references/api-ui-android.md +499 -0
- package/skills/ti-api/references/api-ui-extras.md +702 -0
- package/skills/ti-api/references/api-ui-ios-animator.md +378 -0
- package/skills/ti-api/references/api-ui-ios.md +756 -0
- package/skills/ti-api/references/api-ui-lists.md +581 -0
- package/skills/ti-api/references/api-ui-text-input.md +607 -0
- package/skills/ti-api/references/api-ui-views.md +572 -0
- package/skills/ti-api/references/api-ui-windows-navigation.md +676 -0
- package/skills/ti-api/references/api-xml-global.md +743 -0
- package/skills/ti-expert/SKILL.md +106 -138
- package/skills/ti-expert/references/adaptive-layouts.md +414 -0
- package/skills/ti-expert/references/alloy-builtins.md +16 -20
- package/skills/ti-expert/references/alloy-structure.md +40 -42
- package/skills/ti-expert/references/anti-patterns.md +34 -0
- package/skills/ti-expert/references/architecture-tiers.md +248 -0
- package/skills/ti-expert/references/code-conventions.md +5 -3
- package/skills/ti-expert/references/error-handling.md +14 -7
- package/skills/ti-expert/references/examples.md +4 -2
- package/skills/ti-expert/references/performance-optimization.md +26 -24
- package/skills/ti-expert/references/security-device.md +17 -14
- package/skills/ti-expert/references/security-fundamentals.md +60 -101
- package/skills/ti-expert/references/state-management.md +15 -14
- package/skills/ti-expert/references/testing-e2e-ci.md +30 -21
- package/skills/ti-expert/references/theming.md +12 -20
- package/skills/ti-guides/SKILL.md +13 -17
- package/skills/ti-guides/references/advanced-data-and-images.md +30 -10
- package/skills/ti-guides/references/application-frameworks.md +3 -3
- package/skills/ti-guides/references/coding-best-practices.md +31 -2
- package/skills/ti-guides/references/commonjs-advanced.md +46 -4
- package/skills/ti-guides/references/hello-world.md +9 -13
- package/skills/ti-guides/references/hyperloop-native-access.md +4 -1
- package/skills/ti-guides/references/javascript-primer.md +13 -5
- package/skills/ti-guides/references/resources.md +0 -2
- package/skills/ti-guides/references/style-and-conventions.md +1 -0
- package/skills/ti-guides/references/tiapp-config.md +0 -32
- package/skills/ti-howtos/SKILL.md +43 -45
- package/skills/ti-howtos/references/buffer-codec-streams.md +25 -3
- package/skills/ti-howtos/references/debugging-profiling.md +14 -25
- package/skills/ti-howtos/references/google-maps-v2.md +3 -3
- package/skills/ti-howtos/references/ios-map-kit.md +8 -1
- package/skills/ti-howtos/references/notification-services.md +0 -1
- package/skills/ti-howtos/references/webpack-build-pipeline.md +3 -0
- package/skills/ti-ui/SKILL.md +47 -49
- package/skills/ti-ui/references/application-structures.md +3 -2
- package/skills/ti-ui/references/orientation.md +17 -9
- package/skills/ti-ui/references/platform-ui-ios.md +63 -0
- package/skills/ti-ui/references/scrolling-views.md +39 -0
|
@@ -1,599 +1,163 @@
|
|
|
1
|
-
# Configurable Properties
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
All color properties inherit
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- `
|
|
20
|
-
- `
|
|
21
|
-
- `
|
|
22
|
-
- `
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- `
|
|
28
|
-
- `
|
|
29
|
-
- `
|
|
30
|
-
- `
|
|
31
|
-
- `
|
|
32
|
-
- `
|
|
33
|
-
- `
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- `
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
43
|
-
- `
|
|
44
|
-
- `
|
|
45
|
-
- `
|
|
46
|
-
- `
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- `
|
|
50
|
-
- `
|
|
51
|
-
- `
|
|
52
|
-
- `
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- `
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- `
|
|
59
|
-
- `
|
|
60
|
-
- `
|
|
61
|
-
- `
|
|
62
|
-
- `
|
|
63
|
-
- `
|
|
64
|
-
- `
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- `
|
|
79
|
-
- `
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- `
|
|
85
|
-
- `
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
- `
|
|
89
|
-
- `
|
|
90
|
-
- `
|
|
91
|
-
- `
|
|
92
|
-
- `
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- `
|
|
98
|
-
- `
|
|
99
|
-
- `
|
|
100
|
-
- `
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- `
|
|
104
|
-
- `
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- `
|
|
108
|
-
- `
|
|
109
|
-
- `
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- `
|
|
114
|
-
- `
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
- `
|
|
120
|
-
- `
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
- `
|
|
125
|
-
- `
|
|
126
|
-
- `
|
|
127
|
-
- `
|
|
128
|
-
- `
|
|
129
|
-
- `
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
- `
|
|
136
|
-
- `
|
|
137
|
-
- `
|
|
138
|
-
- `
|
|
139
|
-
- `
|
|
140
|
-
- `
|
|
141
|
-
- `
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
- `
|
|
148
|
-
- `
|
|
149
|
-
- `
|
|
150
|
-
- `
|
|
151
|
-
- `
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
- `scaleY` - Y axis scale
|
|
165
|
-
- `origin` - Transform origin point
|
|
166
|
-
|
|
167
|
-
**Class examples:** `rotate-45`, `scale-110`, `origin-center`
|
|
168
|
-
|
|
169
|
-
## Animation Properties
|
|
170
|
-
|
|
171
|
-
- `duration` - Animation duration (milliseconds)
|
|
172
|
-
- `delay` - Animation delay (milliseconds)
|
|
173
|
-
- `repeat` / `repeatCount` - Repeat count
|
|
174
|
-
- `timeout` - Timeout duration
|
|
175
|
-
- `countDownDuration` - Countdown timer duration
|
|
176
|
-
|
|
177
|
-
**Class examples:** `duration-300`, `delay-150`, `repeat-3`
|
|
178
|
-
|
|
179
|
-
## Z-Index & Layering
|
|
180
|
-
|
|
181
|
-
- `zIndex` / `z` - Stack order
|
|
182
|
-
|
|
183
|
-
**Class examples:** `z-10`, `z-50`, `z-auto`
|
|
184
|
-
|
|
185
|
-
## Shadow Properties
|
|
186
|
-
|
|
187
|
-
- `shadowRadius` - Shadow blur radius
|
|
188
|
-
- `elevation` - Android elevation (shadow)
|
|
189
|
-
|
|
190
|
-
## Section Properties
|
|
191
|
-
|
|
192
|
-
- `sectionHeaderTopPadding` - Section header padding
|
|
193
|
-
|
|
194
|
-
## Separator Properties
|
|
195
|
-
|
|
196
|
-
- `separatorHeight` - Separator line height
|
|
197
|
-
|
|
198
|
-
## Paging Properties
|
|
199
|
-
|
|
200
|
-
- `pagingControlHeight` - Paging control height
|
|
201
|
-
- `pagingControlAlpha` - Paging control opacity
|
|
202
|
-
- `pagingControlTimeout` - Paging auto-scroll timeout
|
|
203
|
-
|
|
204
|
-
## Zoom Properties
|
|
205
|
-
|
|
206
|
-
- `zoomScale` - Current zoom level
|
|
207
|
-
- `minZoomScale` - Minimum zoom
|
|
208
|
-
- `maxZoomScale` - Maximum zoom
|
|
209
|
-
- `scalesPageToFit` - Auto-scale to fit
|
|
210
|
-
|
|
211
|
-
## Button Properties
|
|
212
|
-
|
|
213
|
-
- `leftButtonPadding` - Left button padding
|
|
214
|
-
- `rightButtonPadding` - Right button padding
|
|
215
|
-
|
|
216
|
-
## Left/Right Width
|
|
217
|
-
|
|
218
|
-
- `leftWidth` / `lw` - Left width
|
|
219
|
-
- `rightWidth` / `rw` - Right width
|
|
220
|
-
|
|
221
|
-
## Cache Properties
|
|
222
|
-
|
|
223
|
-
- `cacheSize` - Cache size limit
|
|
224
|
-
|
|
225
|
-
## Other Properties
|
|
226
|
-
|
|
227
|
-
- `activeTab` - Active tab index
|
|
228
|
-
- `indentionLevel` - Indentation level
|
|
229
|
-
- `keyboardToolbarHeight` - Keyboard toolbar height
|
|
230
|
-
- `shiftMode` - Shift mode for text fields
|
|
231
|
-
|
|
232
|
-
## Quick Reference Table
|
|
233
|
-
|
|
234
|
-
| Category | Property | Class Prefix Example |
|
|
235
|
-
| -------------- | --------------------- | ---------------------------------------- |
|
|
236
|
-
| **Background** | backgroundColor | `bg-*` |
|
|
237
|
-
| | backgroundGradient | `from-*`, `to-*` |
|
|
238
|
-
| **Text** | color/textColor | `text-*` |
|
|
239
|
-
| | hintTextColor | `placeholder-*` |
|
|
240
|
-
| **Border** | borderColor | `border-*` |
|
|
241
|
-
| | borderWidth | `border-*` |
|
|
242
|
-
| | borderRadius | `rounded-*` |
|
|
243
|
-
| **Spacing** | margin | `m-*`, `mt-*`, `mb-*`, `ml-*`, `mr-*` |
|
|
244
|
-
| | padding | `p-*`, `pt-*`, `pb-*`, `pl-*`, `pr-*` |
|
|
245
|
-
| **Dimensions** | width | `w-*` |
|
|
246
|
-
| | height | `h-*` |
|
|
247
|
-
| **Position** | top/right/bottom/left | `top-*`, `right-*`, `bottom-*`, `left-*` |
|
|
248
|
-
| **Typography** | fontFamily | `font-*` |
|
|
249
|
-
| | fontSize | `text-*`, `text-size-*` |
|
|
250
|
-
| **Transform** | rotate | `rotate-*` |
|
|
251
|
-
| | scale | `scale-*` |
|
|
252
|
-
| **Animation** | duration | `duration-*` |
|
|
253
|
-
| | delay | `delay-*` |
|
|
254
|
-
| **Z-Index** | zIndex | `z-*` |
|
|
255
|
-
|
|
256
|
-
## Customizing in config.cjs
|
|
257
|
-
|
|
258
|
-
### Override Default Values
|
|
259
|
-
|
|
260
|
-
```javascript
|
|
261
|
-
theme: {
|
|
262
|
-
spacing: {
|
|
263
|
-
sm: 8,
|
|
264
|
-
md: 12,
|
|
265
|
-
lg: 16,
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
### Extend Default Values
|
|
271
|
-
|
|
272
|
-
```javascript
|
|
273
|
-
theme: {
|
|
274
|
-
extend: {
|
|
275
|
-
colors: {
|
|
276
|
-
brand: '#007AFF',
|
|
277
|
-
},
|
|
278
|
-
spacing: {
|
|
279
|
-
'72': '18rem',
|
|
280
|
-
'84': '21rem',
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### Mix Override and Extend
|
|
287
|
-
|
|
288
|
-
```javascript
|
|
289
|
-
theme: {
|
|
290
|
-
// Override default opacity
|
|
291
|
-
opacity: {
|
|
292
|
-
15: '0.15',
|
|
293
|
-
35: '0.35',
|
|
294
|
-
},
|
|
295
|
-
// Extend colors
|
|
296
|
-
extend: {
|
|
297
|
-
colors: {
|
|
298
|
-
brand: '#007AFF',
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
## Practical Examples
|
|
305
|
-
|
|
306
|
-
### Complete Brand Color System
|
|
307
|
-
|
|
308
|
-
```javascript
|
|
309
|
-
// config.cjs
|
|
310
|
-
module.exports = {
|
|
311
|
-
theme: {
|
|
312
|
-
extend: {
|
|
313
|
-
colors: {
|
|
314
|
-
brand: {
|
|
315
|
-
50: '#edfaff',
|
|
316
|
-
100: '#d6f2ff',
|
|
317
|
-
200: '#b5eaff',
|
|
318
|
-
300: '#83dfff',
|
|
319
|
-
400: '#48cbff',
|
|
320
|
-
500: '#1eacff',
|
|
321
|
-
600: '#068eff',
|
|
322
|
-
700: '#007aff', // Primary
|
|
323
|
-
800: '#085dc5',
|
|
324
|
-
900: '#0d519b',
|
|
325
|
-
950: '#0e315d',
|
|
326
|
-
DEFAULT: '#007aff' // Allows 'bg-brand' without shade
|
|
327
|
-
},
|
|
328
|
-
success: '#22c55e',
|
|
329
|
-
warning: '#f59e0b',
|
|
330
|
-
error: '#ef4444',
|
|
331
|
-
info: '#3b82f6'
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
**Usage:**
|
|
339
|
-
```xml
|
|
340
|
-
<Button class="bg-brand text-white" />
|
|
341
|
-
<Button class="bg-brand-700 text-brand-100" />
|
|
342
|
-
<Label class="text-success" text="Saved!" />
|
|
343
|
-
<Label class="text-error" text="Error occurred" />
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### Custom Spacing Scale
|
|
347
|
-
|
|
348
|
-
```javascript
|
|
349
|
-
// config.cjs
|
|
350
|
-
module.exports = {
|
|
351
|
-
theme: {
|
|
352
|
-
spacing: {
|
|
353
|
-
// Mobile-first spacing
|
|
354
|
-
'xs': 4,
|
|
355
|
-
'sm': 8,
|
|
356
|
-
'md': 16,
|
|
357
|
-
'lg': 24,
|
|
358
|
-
'xl': 32,
|
|
359
|
-
'2xl': 48,
|
|
360
|
-
'3xl': 64,
|
|
361
|
-
// Screen percentages
|
|
362
|
-
'screen-10': '10%',
|
|
363
|
-
'screen-25': '25%',
|
|
364
|
-
'screen-50': '50%'
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
**Generated classes:**
|
|
371
|
-
```tss
|
|
372
|
-
/* Width */
|
|
373
|
-
'.w-xs': { width: 4 }
|
|
374
|
-
'.w-sm': { width: 8 }
|
|
375
|
-
'.w-screen-50': { width: '50%' }
|
|
376
|
-
|
|
377
|
-
/* Margin */
|
|
378
|
-
'.m-md': { top: 16, right: 16, bottom: 16, left: 16 }
|
|
379
|
-
'.mt-lg': { top: 24 }
|
|
380
|
-
|
|
381
|
-
/* Padding */
|
|
382
|
-
'.p-xl': { padding: { top: 32, right: 32, bottom: 32, left: 32 } }
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
### Custom Font Family System
|
|
386
|
-
|
|
387
|
-
```javascript
|
|
388
|
-
// config.cjs
|
|
389
|
-
module.exports = {
|
|
390
|
-
theme: {
|
|
391
|
-
fontFamily: {
|
|
392
|
-
'sans': 'Roboto-Regular',
|
|
393
|
-
'sans-medium': 'Roboto-Medium',
|
|
394
|
-
'sans-bold': 'Roboto-Bold',
|
|
395
|
-
'serif': 'Merriweather-Regular',
|
|
396
|
-
'mono': 'FiraCode-Regular',
|
|
397
|
-
'display': 'Montserrat-Bold'
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
**Usage:**
|
|
404
|
-
```xml
|
|
405
|
-
<Label class="font-sans text-lg" />
|
|
406
|
-
<Label class="font-display text-3xl" />
|
|
407
|
-
<Label class="font-mono text-sm" />
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
### Custom Border Radius Scale
|
|
411
|
-
|
|
412
|
-
```javascript
|
|
413
|
-
// config.cjs
|
|
414
|
-
module.exports = {
|
|
415
|
-
theme: {
|
|
416
|
-
borderRadius: {
|
|
417
|
-
'none': 0,
|
|
418
|
-
'sm': 4,
|
|
419
|
-
'DEFAULT': 8,
|
|
420
|
-
'md': 12,
|
|
421
|
-
'lg': 16,
|
|
422
|
-
'xl': 24,
|
|
423
|
-
'2xl': 32,
|
|
424
|
-
'card': 20,
|
|
425
|
-
'button': 12,
|
|
426
|
-
'input': 8
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
**Usage:**
|
|
433
|
-
```xml
|
|
434
|
-
<View class="rounded-card bg-white" />
|
|
435
|
-
<Button class="rounded-button bg-brand" />
|
|
436
|
-
<TextField class="rounded-input border-gray-300" />
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
### Complete Card Component via Ti Element
|
|
440
|
-
|
|
441
|
-
```javascript
|
|
442
|
-
// config.cjs
|
|
443
|
-
module.exports = {
|
|
444
|
-
purge: { mode: 'all' }, // Required for Ti Elements
|
|
445
|
-
theme: {
|
|
446
|
-
// Style all Views with specific patterns
|
|
447
|
-
View: {
|
|
448
|
-
DEFAULT: {
|
|
449
|
-
width: 'Ti.UI.SIZE',
|
|
450
|
-
height: 'Ti.UI.SIZE'
|
|
451
|
-
}
|
|
452
|
-
},
|
|
453
|
-
// Custom card class
|
|
454
|
-
'.card': {
|
|
455
|
-
DEFAULT: {
|
|
456
|
-
backgroundColor: '#ffffff',
|
|
457
|
-
borderRadius: 16,
|
|
458
|
-
borderWidth: 1,
|
|
459
|
-
borderColor: '#e5e7eb'
|
|
460
|
-
},
|
|
461
|
-
ios: {
|
|
462
|
-
clipMode: 'Ti.UI.iOS.CLIP_MODE_ENABLED'
|
|
463
|
-
},
|
|
464
|
-
android: {
|
|
465
|
-
elevation: 4
|
|
466
|
-
}
|
|
467
|
-
},
|
|
468
|
-
'.card-header': {
|
|
469
|
-
apply: 'p-4 border-b border-gray-200'
|
|
470
|
-
},
|
|
471
|
-
'.card-body': {
|
|
472
|
-
apply: 'p-4'
|
|
473
|
-
},
|
|
474
|
-
'.card-footer': {
|
|
475
|
-
apply: 'p-4 border-t border-gray-100 bg-gray-50'
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
**Usage:**
|
|
482
|
-
```xml
|
|
483
|
-
<View class="card m-4">
|
|
484
|
-
<View class="card-header vertical">
|
|
485
|
-
<Label class="text-lg font-bold text-gray-900" text="Card Title" />
|
|
486
|
-
</View>
|
|
487
|
-
<View class="card-body vertical">
|
|
488
|
-
<Label class="text-gray-600" text="Card content goes here" />
|
|
489
|
-
</View>
|
|
490
|
-
<View class="card-footer">
|
|
491
|
-
<Button class="bg-brand rounded-lg text-white" title="Action" />
|
|
492
|
-
</View>
|
|
493
|
-
</View>
|
|
494
|
-
```
|
|
495
|
-
|
|
496
|
-
### Button System with Variants
|
|
497
|
-
|
|
498
|
-
```javascript
|
|
499
|
-
// config.cjs
|
|
500
|
-
module.exports = {
|
|
501
|
-
theme: {
|
|
502
|
-
extend: {
|
|
503
|
-
colors: {
|
|
504
|
-
brand: { 500: '#007aff', 600: '#0066dd', 100: '#e0f0ff' }
|
|
505
|
-
}
|
|
506
|
-
},
|
|
507
|
-
// Base button
|
|
508
|
-
'.btn': {
|
|
509
|
-
apply: 'font-bold rounded-lg h-12 px-6'
|
|
510
|
-
},
|
|
511
|
-
// Variants
|
|
512
|
-
'.btn-primary': {
|
|
513
|
-
apply: 'bg-brand-500 text-white'
|
|
514
|
-
},
|
|
515
|
-
'.btn-secondary': {
|
|
516
|
-
apply: 'bg-gray-200 text-gray-800'
|
|
517
|
-
},
|
|
518
|
-
'.btn-outline': {
|
|
519
|
-
apply: 'border-2 border-brand-500 text-brand-500 bg-transparent'
|
|
520
|
-
},
|
|
521
|
-
'.btn-ghost': {
|
|
522
|
-
apply: 'bg-transparent text-brand-500'
|
|
523
|
-
},
|
|
524
|
-
// Sizes
|
|
525
|
-
'.btn-sm': {
|
|
526
|
-
apply: 'h-8 px-3 text-sm'
|
|
527
|
-
},
|
|
528
|
-
'.btn-lg': {
|
|
529
|
-
apply: 'h-14 px-8 text-lg'
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
```
|
|
534
|
-
|
|
535
|
-
**Usage:**
|
|
536
|
-
```xml
|
|
537
|
-
<Button class="btn btn-primary" title="Submit" />
|
|
538
|
-
<Button class="btn btn-outline" title="Cancel" />
|
|
539
|
-
<Button class="btn btn-secondary btn-sm" title="Small" />
|
|
540
|
-
<Button class="btn btn-primary btn-lg" title="Large Action" />
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
### Form Input System
|
|
544
|
-
|
|
545
|
-
```javascript
|
|
546
|
-
// config.cjs
|
|
547
|
-
module.exports = {
|
|
548
|
-
theme: {
|
|
549
|
-
TextField: {
|
|
550
|
-
DEFAULT: {
|
|
551
|
-
height: 48,
|
|
552
|
-
borderRadius: 8,
|
|
553
|
-
borderWidth: 1,
|
|
554
|
-
borderColor: '#d1d5db',
|
|
555
|
-
paddingLeft: 16,
|
|
556
|
-
paddingRight: 16,
|
|
557
|
-
backgroundColor: '#ffffff',
|
|
558
|
-
color: '#111827',
|
|
559
|
-
hintTextColor: '#9ca3af'
|
|
560
|
-
},
|
|
561
|
-
android: {
|
|
562
|
-
touchFeedback: true
|
|
563
|
-
}
|
|
564
|
-
},
|
|
565
|
-
TextArea: {
|
|
566
|
-
DEFAULT: {
|
|
567
|
-
borderRadius: 8,
|
|
568
|
-
borderWidth: 1,
|
|
569
|
-
borderColor: '#d1d5db',
|
|
570
|
-
padding: { top: 12, right: 16, bottom: 12, left: 16 },
|
|
571
|
-
backgroundColor: '#ffffff',
|
|
572
|
-
color: '#111827',
|
|
573
|
-
hintTextColor: '#9ca3af'
|
|
574
|
-
}
|
|
575
|
-
},
|
|
576
|
-
'.input-error': {
|
|
577
|
-
apply: 'border-red-500 bg-red-50'
|
|
578
|
-
},
|
|
579
|
-
'.input-success': {
|
|
580
|
-
apply: 'border-green-500 bg-green-50'
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
```
|
|
585
|
-
|
|
586
|
-
**Usage:**
|
|
587
|
-
```xml
|
|
588
|
-
<TextField hintText="Email address" />
|
|
589
|
-
<TextField class="input-error" hintText="Invalid email" />
|
|
590
|
-
<TextArea hintText="Your message..." />
|
|
591
|
-
```
|
|
592
|
-
|
|
593
|
-
## Related References
|
|
594
|
-
|
|
595
|
-
- [Deep Customization](customization-deep-dive.md) - Config.cjs structure and usage
|
|
596
|
-
- [Arbitrary Values](arbitrary-values.md) - Using custom values with parentheses notation
|
|
597
|
-
- [Platform Modifiers](platform-modifiers.md) - Platform-specific customization
|
|
598
|
-
- [Apply Directive](apply-directive.md) - Extracting utility combinations
|
|
599
|
-
- [Custom Rules](custom-rules.md) - Styling Ti Elements, IDs, and classes
|
|
1
|
+
# Configurable Properties
|
|
2
|
+
|
|
3
|
+
This reference lists all customizable properties from the official PurgeTSS configuration guide. Add these under `theme` in `config.cjs` to override defaults, or under `theme.extend` to add new values while keeping defaults.
|
|
4
|
+
|
|
5
|
+
## Global Properties
|
|
6
|
+
|
|
7
|
+
- All color properties inherit from `theme.colors`.
|
|
8
|
+
- All spacing properties inherit from `theme.spacing`.
|
|
9
|
+
|
|
10
|
+
You can customize any of the following properties individually by adding them in the `theme` section of your `config.cjs` file, or by extending them in the `theme.extend` section.
|
|
11
|
+
|
|
12
|
+
## Color Properties
|
|
13
|
+
|
|
14
|
+
- `activeTintColor`
|
|
15
|
+
- `activeTitleColor`
|
|
16
|
+
- `backgroundColor`
|
|
17
|
+
- `backgroundDisabledColor`
|
|
18
|
+
- `backgroundFocusedColor`
|
|
19
|
+
- `backgroundGradient`
|
|
20
|
+
- `backgroundSelectedColor`
|
|
21
|
+
- `backgroundSelectedGradient`
|
|
22
|
+
- `badgeColor`
|
|
23
|
+
- `barColor`
|
|
24
|
+
- `borderColor`
|
|
25
|
+
- `color`
|
|
26
|
+
- `colors`
|
|
27
|
+
- `contentScrimColor`
|
|
28
|
+
- `currentPageIndicatorColor`
|
|
29
|
+
- `dateTimeColor`
|
|
30
|
+
- `disabledColor`
|
|
31
|
+
- `highlightedColor`
|
|
32
|
+
- `hintTextColor`
|
|
33
|
+
- `iconColor`
|
|
34
|
+
- `imageTouchFeedbackColor`
|
|
35
|
+
- `indicatorColor`
|
|
36
|
+
- `keyboardToolbarColor`
|
|
37
|
+
- `lightColor`
|
|
38
|
+
- `navigationIconColor`
|
|
39
|
+
- `navTintColor`
|
|
40
|
+
- `onTintColor`
|
|
41
|
+
- `pageIndicatorColor`
|
|
42
|
+
- `pagingControlColor`
|
|
43
|
+
- `pullBackgroundColor`
|
|
44
|
+
- `resultsBackgroundColor`
|
|
45
|
+
- `resultsSeparatorColor`
|
|
46
|
+
- `selectedBackgroundColor`
|
|
47
|
+
- `selectedButtonColor`
|
|
48
|
+
- `selectedColor`
|
|
49
|
+
- `selectedSubtitleColor`
|
|
50
|
+
- `selectedTextColor`
|
|
51
|
+
- `separatorColor`
|
|
52
|
+
- `shadowColor`
|
|
53
|
+
- `statusBarBackgroundColor`
|
|
54
|
+
- `subtitleColor`
|
|
55
|
+
- `subtitleTextColor`
|
|
56
|
+
- `tabsBackgroundColor`
|
|
57
|
+
- `tabsBackgroundSelectedColor`
|
|
58
|
+
- `thumbTintColor`
|
|
59
|
+
- `tint`
|
|
60
|
+
- `tintColor`
|
|
61
|
+
- `titleAttributes`
|
|
62
|
+
- `titleColor`
|
|
63
|
+
- `titleTextColor`
|
|
64
|
+
- `touchFeedbackColor`
|
|
65
|
+
- `trackTintColor`
|
|
66
|
+
- `viewShadowColor`
|
|
67
|
+
|
|
68
|
+
> **ℹ️ `backgroundGradient`**
|
|
69
|
+
> For custom gradient rules, `backgroundGradient.colors` can use arrays of `{ color, offset }` objects. PurgeTSS v7.4.0 fixed serialization for those nested object arrays in `utilities.tss`.
|
|
70
|
+
|
|
71
|
+
## Configurable Properties
|
|
72
|
+
|
|
73
|
+
- `activeTab`
|
|
74
|
+
- `backgroundLeftCap`
|
|
75
|
+
- `backgroundPaddingBottom`
|
|
76
|
+
- `backgroundPaddingLeft`
|
|
77
|
+
- `backgroundPaddingRight`
|
|
78
|
+
- `backgroundPaddingTop`
|
|
79
|
+
- `backgroundTopCap`
|
|
80
|
+
- `borderRadius`
|
|
81
|
+
- `borderWidth`
|
|
82
|
+
- `bottom`
|
|
83
|
+
- `cacheSize`
|
|
84
|
+
- `columnCount`
|
|
85
|
+
- `contentHeight`
|
|
86
|
+
- `contentWidth`
|
|
87
|
+
- `countDownDuration`
|
|
88
|
+
- `delay`
|
|
89
|
+
- `duration`
|
|
90
|
+
- `elevation`
|
|
91
|
+
- `fontSize`
|
|
92
|
+
- `height`
|
|
93
|
+
- `horizontalMargin`
|
|
94
|
+
- `indentionLevel`
|
|
95
|
+
- `keyboardToolbarHeight`
|
|
96
|
+
- `left`
|
|
97
|
+
- `leftButtonPadding`
|
|
98
|
+
- `leftTrackLeftCap`
|
|
99
|
+
- `leftTrackTopCap`
|
|
100
|
+
- `leftWidth`
|
|
101
|
+
- `lineHeightMultiple`
|
|
102
|
+
- `lines`
|
|
103
|
+
- `lineSpacing`
|
|
104
|
+
- `maxElevation`
|
|
105
|
+
- `maximumLineHeight`
|
|
106
|
+
- `maxLines`
|
|
107
|
+
- `maxRowHeight`
|
|
108
|
+
- `maxZoomScale`
|
|
109
|
+
- `minimumFontSize`
|
|
110
|
+
- `minimumLineHeight`
|
|
111
|
+
- `minRowHeight`
|
|
112
|
+
- `minZoomScale`
|
|
113
|
+
- `opacity`
|
|
114
|
+
- `padding`
|
|
115
|
+
- `paddingBottom`
|
|
116
|
+
- `paddingLeft`
|
|
117
|
+
- `paddingRight`
|
|
118
|
+
- `paddingTop`
|
|
119
|
+
- `pageHeight`
|
|
120
|
+
- `pageWidth`
|
|
121
|
+
- `pagingControlAlpha`
|
|
122
|
+
- `pagingControlHeight`
|
|
123
|
+
- `pagingControlTimeout`
|
|
124
|
+
- `paragraphSpacingAfter`
|
|
125
|
+
- `paragraphSpacingBefore`
|
|
126
|
+
- `repeat`
|
|
127
|
+
- `repeatCount`
|
|
128
|
+
- `right`
|
|
129
|
+
- `rightButtonPadding`
|
|
130
|
+
- `rightTrackLeftCap`
|
|
131
|
+
- `rightTrackTopCap`
|
|
132
|
+
- `rightWidth`
|
|
133
|
+
- `rotate`
|
|
134
|
+
- `rowCount`
|
|
135
|
+
- `rowHeight`
|
|
136
|
+
- `scale`
|
|
137
|
+
- `scalesPageToFit`
|
|
138
|
+
- `scaleX`
|
|
139
|
+
- `scaleY`
|
|
140
|
+
- `sectionHeaderTopPadding`
|
|
141
|
+
- `separatorHeight`
|
|
142
|
+
- `shadowRadius`
|
|
143
|
+
- `shiftMode`
|
|
144
|
+
- `timeout`
|
|
145
|
+
- `top`
|
|
146
|
+
- `uprightHeight`
|
|
147
|
+
- `uprightWidth`
|
|
148
|
+
- `verticalMargin`
|
|
149
|
+
- `width`
|
|
150
|
+
- `xOffset`
|
|
151
|
+
- `yOffset`
|
|
152
|
+
- `zIndex`
|
|
153
|
+
- `zoomScale`
|
|
154
|
+
|
|
155
|
+
> **WARNING: Titanium Padding Constraint**
|
|
156
|
+
> Titanium does not support native `padding` on `View`, `Window`, `ScrollView`, or `TableView`. Even if `padding*` is configurable, use margins on children for those elements.
|
|
157
|
+
|
|
158
|
+
> **WARNING: Width Fill Constraint**
|
|
159
|
+
> For full-width Titanium layouts, prefer `w-screen` (`Ti.UI.FILL`) instead of `w-full` (`100%`).
|
|
160
|
+
|
|
161
|
+
## Custom Rules and Ti Elements
|
|
162
|
+
|
|
163
|
+
Create your own custom rules and include Ti Elements with any number of attributes or conditional statements. See [Custom Rules](./custom-rules.md) for rule syntax and examples.
|