purgetss 7.3.1 → 7.5.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 +259 -36
- package/assets/fonts/FontAwesome7Brands-Regular.ttf +0 -0
- package/assets/fonts/FontAwesome7Free-Regular.ttf +0 -0
- package/assets/fonts/FontAwesome7Free-Solid.ttf +0 -0
- package/dist/fontawesome.js +55 -1
- package/dist/fontawesome.tss +55 -1
- package/dist/purgetss.ui.js +495 -26
- package/dist/utilities.tss +79 -68
- package/experimental/completions2.js +27 -12
- package/lib/templates/fontawesome/free-template.js.cjs +1 -1
- package/lib/templates/fontawesome/free-template.tss +1 -1
- package/lib/templates/purgetss.ui.js.cjs +494 -25
- package/package.json +2 -2
- package/src/core/builders/tailwind-builder.js +1 -0
- package/src/core/builders/tailwind-helpers.js +19 -9
- package/src/fonts/Font Awesome 7 Brands-Regular-400.otf +0 -0
- package/src/fonts/Font Awesome 7 Free-Regular-400.otf +0 -0
- package/src/fonts/Font Awesome 7 Free-Solid-900.otf +0 -0
- package/src/shared/helpers/animation.js +22 -0
- package/src/shared/helpers/utils.js +86 -27
package/README.md
CHANGED
|
@@ -10,64 +10,287 @@
|
|
|
10
10
|
|
|
11
11
|
</div>
|
|
12
12
|
|
|
13
|
-
**PurgeTSS** is a toolkit for building mobile apps with the [Titanium framework](https://titaniumsdk.com). It
|
|
13
|
+
**PurgeTSS** is a toolkit for building mobile apps with the [Titanium framework](https://titaniumsdk.com). It provides utility classes, icon font support, an Animation module, a grid system, and the `shades` command for generating custom colors.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
---
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
- 21,000+ utility classes for styling Titanium views
|
|
18
|
+
- Parses XML files to generate a clean `app.tss` with only the classes your project uses
|
|
19
|
+
- Customizable defaults via `config.cjs`, with JIT classes for arbitrary values
|
|
20
|
+
- Icon font support: Font Awesome, Material Icons, Material Symbols, Framework7-Icons
|
|
21
|
+
- `build-fonts` command generates `fonts.tss` with class definitions and fontFamily selectors
|
|
22
|
+
- `shades` command generates color shades from any hex color
|
|
23
|
+
- Animation module for 2D matrix animations on views or arrays of views
|
|
24
|
+
- Grid system for aligning and distributing elements within views
|
|
18
25
|
|
|
19
26
|
---
|
|
20
27
|
|
|
21
|
-
##
|
|
28
|
+
## Animation Module (`purgetss.ui.js`)
|
|
29
|
+
|
|
30
|
+
Install with `purgetss module` (or `purgetss m`). This places `purgetss.ui.js` in your project's `lib` folder.
|
|
31
|
+
|
|
32
|
+
### Declaring an Animation object
|
|
33
|
+
|
|
34
|
+
```xml
|
|
35
|
+
<Animation id="myAnimation" module="purgetss.ui" class="opacity-0 duration-300 ease-in" />
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
You can use any position, size, color, opacity, or transformation class from `utilities.tss`.
|
|
39
|
+
|
|
40
|
+
### Available methods
|
|
41
|
+
|
|
42
|
+
| Method | Description |
|
|
43
|
+
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `play(views, cb)` / `toggle(views, cb)` | Animate views from current state to the animation state. Toggles `open`/`close` on each call. |
|
|
45
|
+
| `open(views, cb)` | Explicitly run the `open` state animation. |
|
|
46
|
+
| `close(views, cb)` | Explicitly run the `close` state animation. |
|
|
47
|
+
| `apply(views, cb)` | Apply properties instantly without animation. |
|
|
48
|
+
| `draggable(views)` | Make a view or array of views draggable inside their parent. |
|
|
49
|
+
| `undraggable(views)` | Remove draggable behavior and clean up all listeners. |
|
|
50
|
+
| `detectCollisions(views, dragCB, dropCB)` | Enable collision detection on draggable views with hover and drop callbacks. |
|
|
51
|
+
| `swap(view1, view2)` | Animate two views exchanging positions. Auto-normalizes position from margins/right/center via `view.rect`. Inherits `duration`, `delay`, `curve`; fallback: 200ms. |
|
|
52
|
+
| `sequence(views, cb)` | Animate views one after another. Callback fires after the last view. |
|
|
53
|
+
| `shake(view, intensity)` | Bidirectional shake animation for error feedback. Inherits `duration`, `delay`; fallback: 400ms. Default intensity: 10px. |
|
|
54
|
+
| `pulse(view, count)` | Scale-up-and-back pulse animation. Scale from Animation object (default 1.2x). Count: number of pulses (default 1). |
|
|
55
|
+
| `snapTo(view, targets)` | Snap a view to the nearest target by center distance. Auto-normalizes target position. Inherits `duration`, `delay`, `curve`; fallback: 200ms. |
|
|
56
|
+
| `reorder(views, newOrder)` | Animate views to new positions based on index mapping. Auto-normalizes positions. Inherits `duration`, `delay`, `curve`; fallback: 200ms. |
|
|
57
|
+
| `transition(views, layouts)` | Multi-view layout transitions using `Matrix2D.translate().rotate().scale()`. Layout properties: `translation`, `rotate`, `scale`, `zIndex`. Compatible with TiDesigner presets. Views without a layout entry fade out; returning views fade in. |
|
|
58
|
+
|
|
59
|
+
### Callback event object
|
|
60
|
+
|
|
61
|
+
All callbacks (`play`, `open`, `close`, `apply`) receive an enriched event object:
|
|
62
|
+
|
|
63
|
+
```js
|
|
64
|
+
{
|
|
65
|
+
type: String, // event type ('complete' or 'applied')
|
|
66
|
+
bubbles: Boolean,
|
|
67
|
+
cancelBubble: Boolean,
|
|
68
|
+
action: String, // 'play' or 'apply'
|
|
69
|
+
state: String, // 'open' or 'close'
|
|
70
|
+
id: String, // Animation object ID
|
|
71
|
+
targetId: String, // ID of the animated view
|
|
72
|
+
index: Number, // position in array (0-based)
|
|
73
|
+
total: Number, // total views in array
|
|
74
|
+
getTarget: Function // returns the animated view object
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
When animating an **array of views**, the callback is called once per view with the corresponding `index` and `total` values.
|
|
79
|
+
|
|
80
|
+
```js
|
|
81
|
+
$.myAnimation.play([$.card1, $.card2, $.card3], (e) => {
|
|
82
|
+
console.log(`Animated ${e.index + 1} of ${e.total}`) // "Animated 1 of 3", etc.
|
|
83
|
+
if (e.index === e.total - 1) {
|
|
84
|
+
console.log('All done!')
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Multi-state animations
|
|
90
|
+
|
|
91
|
+
Use `open`, `close`, and `complete` modifiers inside `animationProperties` to define different states:
|
|
92
|
+
|
|
93
|
+
```xml
|
|
94
|
+
<Animation id="fadeToggle" module="purgetss.ui" class="duration-300"
|
|
95
|
+
animationProperties="{
|
|
96
|
+
open: { opacity: 1 },
|
|
97
|
+
close: { opacity: 0 }
|
|
98
|
+
}"
|
|
99
|
+
/>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Draggable views
|
|
103
|
+
|
|
104
|
+
```js
|
|
105
|
+
$.myAnimation.draggable($.myView)
|
|
106
|
+
// or with constraints:
|
|
107
|
+
$.myAnimation.draggable([$.card1, $.card2])
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Use `bounds` to restrict movement, and `drag`/`drop` modifiers for drag-state animations. Use `vertical-constraint` or `horizontal-constraint` classes to limit the drag axis.
|
|
111
|
+
|
|
112
|
+
### Collision detection
|
|
113
|
+
|
|
114
|
+
After calling `draggable()`, you can enable collision detection to know when a dragged view overlaps another:
|
|
115
|
+
|
|
116
|
+
```js
|
|
117
|
+
$.myAnimation.draggable(views)
|
|
118
|
+
$.myAnimation.detectCollisions(views, onHover, onDrop)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**`dragCB(source, target)`** is called during drag:
|
|
122
|
+
- `target` is the view under the drag center, or `null` when leaving all targets
|
|
123
|
+
- Use this to show visual feedback (highlights, borders, scaling)
|
|
124
|
+
|
|
125
|
+
**`dropCB(source, target)`** is called on drop:
|
|
126
|
+
- `target` is the view where the source was released
|
|
127
|
+
- If no target is found, the source automatically snaps back to its original position with a 200ms animation
|
|
128
|
+
|
|
129
|
+
### Swap animation
|
|
130
|
+
|
|
131
|
+
Animate two views exchanging positions:
|
|
132
|
+
|
|
133
|
+
```js
|
|
134
|
+
$.myAnimation.swap(view1, view2)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
- Inherits `duration`, `delay`, and `curve` from the Animation object's classes
|
|
138
|
+
- Falls back to 200ms duration, 0ms delay, and ease-in-out curve if not set
|
|
139
|
+
- Handles iOS transform reset automatically
|
|
140
|
+
- Temporarily raises z-index so views animate above siblings
|
|
141
|
+
- Updates internal `_originLeft`/`_originTop` for subsequent drag operations
|
|
142
|
+
|
|
143
|
+
### Sequence animation
|
|
22
144
|
|
|
23
|
-
|
|
145
|
+
Animate views one after another (unlike `play(array)` which runs them in parallel):
|
|
24
146
|
|
|
25
|
-
|
|
147
|
+
```js
|
|
148
|
+
$.fadeIn.sequence([$.title, $.subtitle, $.button], () => {
|
|
149
|
+
console.log('All views animated')
|
|
150
|
+
})
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- Each view fully completes before the next starts
|
|
154
|
+
- Callback fires once after the last view
|
|
155
|
+
- Respects `open`/`close` state (set once for the entire sequence)
|
|
156
|
+
|
|
157
|
+
### Shake animation
|
|
158
|
+
|
|
159
|
+
Quick horizontal shake for error feedback, using native `autoreverse` + `repeat` for smooth performance:
|
|
160
|
+
|
|
161
|
+
```js
|
|
162
|
+
$.myAnimation.shake($.loginButton) // default intensity: 10px
|
|
163
|
+
$.myAnimation.shake($.input, 6) // subtle: 6px
|
|
164
|
+
$.myAnimation.shake($.errorLabel, 20) // strong: 20px
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Snap to nearest target
|
|
168
|
+
|
|
169
|
+
After dragging, snap a view to the closest target by center-to-center distance:
|
|
170
|
+
|
|
171
|
+
```js
|
|
172
|
+
const matched = $.myAnimation.snapTo(draggedView, slotViews)
|
|
173
|
+
if (matched) {
|
|
174
|
+
console.log('Snapped to:', matched.id)
|
|
175
|
+
}
|
|
176
|
+
```
|
|
26
177
|
|
|
27
|
-
|
|
28
|
-
- Generated file: `purgetss/styles/utilities.tss` (was `purgetss/styles/tailwind.tss`)
|
|
29
|
-
- Distribution file: `dist/utilities.tss` (was `dist/tailwind.tss`)
|
|
178
|
+
### Reorder animation
|
|
30
179
|
|
|
31
|
-
|
|
180
|
+
Animate an array of views to new positions based on index mapping:
|
|
32
181
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
182
|
+
```js
|
|
183
|
+
// Reverse order: view[0] goes to position of view[2], view[2] to position of view[0]
|
|
184
|
+
$.myAnimation.reorder(cardViews, [2, 1, 0])
|
|
185
|
+
```
|
|
37
186
|
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
- Uses platform-based detection instead
|
|
187
|
+
- All views animate simultaneously
|
|
188
|
+
- Captures positions before animating to avoid conflicts
|
|
41
189
|
|
|
42
|
-
###
|
|
190
|
+
### Removing draggable behavior
|
|
43
191
|
|
|
44
|
-
|
|
192
|
+
Remove draggable behavior and clean up all event listeners:
|
|
45
193
|
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
# From: purgetss/styles/tailwind.tss
|
|
49
|
-
# To: purgetss/styles/utilities.tss
|
|
194
|
+
```js
|
|
195
|
+
$.myAnimation.undraggable(cardViews)
|
|
50
196
|
```
|
|
51
197
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
198
|
+
### Property inheritance
|
|
199
|
+
|
|
200
|
+
The `swap`, `reorder`, `snapTo`, and `shake` methods inherit animation properties from the `<Animation>` object's classes. This means you can configure behavior declaratively in XML:
|
|
201
|
+
|
|
202
|
+
```xml
|
|
203
|
+
<Animation id="myAnim" module="purgetss.ui" class="curve-animation-ease-out delay-100 duration-150" />
|
|
55
204
|
```
|
|
56
205
|
|
|
206
|
+
| Property | `play`/`toggle`/`open`/`close`/`sequence` | `swap`/`reorder`/`snapTo` | `shake` |
|
|
207
|
+
| ------------- | :---------------------------------------: | :-----------------------: | :-----------------: |
|
|
208
|
+
| `duration` | ✅ | ✅ | ✅ (÷6) |
|
|
209
|
+
| `delay` | ✅ | ✅ | ✅ |
|
|
210
|
+
| `curve` | ✅ | ✅ | fixed `EASE_IN_OUT` |
|
|
211
|
+
| `autoreverse` | ✅ | — | fixed `true` |
|
|
212
|
+
| `repeat` | ✅ | — | fixed `3` |
|
|
213
|
+
|
|
214
|
+
Fallback defaults when not set: `swap`/`reorder`/`snapTo` → 200ms; `shake` → 400ms. All animation timing is controlled declaratively via the `<Animation>` object's classes.
|
|
215
|
+
|
|
216
|
+
- Removes touch and orientation listeners
|
|
217
|
+
- Removes views from collision detection registry
|
|
218
|
+
- Cleans up internal tracking properties
|
|
219
|
+
|
|
220
|
+
### Utility classes for animations
|
|
221
|
+
|
|
222
|
+
| Class pattern | Description |
|
|
223
|
+
| --------------------------------------------------- | ----------------------------- |
|
|
224
|
+
| `duration-{n}` | Animation duration in ms |
|
|
225
|
+
| `delay-{n}` | Delay before animation starts |
|
|
226
|
+
| `rotate-{n}` | 2D rotation in degrees |
|
|
227
|
+
| `scale-{n}` | Scale factor |
|
|
228
|
+
| `repeat-{n}` | Number of repeats |
|
|
229
|
+
| `ease-in`, `ease-out`, `ease-linear`, `ease-in-out` | Timing curve |
|
|
230
|
+
| `zoom-in-{n}`, `zoom-out-{n}` | Zoom animations |
|
|
231
|
+
| `drag-apply`, `drag-animate` | Drag interaction style |
|
|
232
|
+
| `vertical-constraint`, `horizontal-constraint` | Constrain drag axis |
|
|
233
|
+
|
|
234
|
+
### Utility functions
|
|
235
|
+
|
|
236
|
+
| Function | Description |
|
|
237
|
+
| -------------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
238
|
+
| `deviceInfo()` | Logs detailed platform and display information to the console. Works in both Alloy and Classic projects. |
|
|
239
|
+
| `saveComponent({ source, directory })` | Saves a view snapshot as PNG to the photo gallery. |
|
|
240
|
+
|
|
241
|
+
See the full documentation at [purgetss.com/docs/animation-module/introduction](https://purgetss.com/docs/animation-module/introduction).
|
|
242
|
+
|
|
57
243
|
---
|
|
58
244
|
|
|
59
|
-
|
|
245
|
+
## Customizing default components
|
|
246
|
+
|
|
247
|
+
PurgeTSS sets defaults for three components out of the box:
|
|
248
|
+
|
|
249
|
+
| Component | Default |
|
|
250
|
+
| ----------- | --------------------------------------- |
|
|
251
|
+
| `Window` | `backgroundColor: '#FFFFFF'` |
|
|
252
|
+
| `View` | `width: Ti.UI.SIZE, height: Ti.UI.SIZE` |
|
|
253
|
+
| `ImageView` | `hires: true` (iOS only) |
|
|
254
|
+
|
|
255
|
+
Override or extend them in `config.cjs` with `theme.extend`:
|
|
256
|
+
|
|
257
|
+
```js
|
|
258
|
+
module.exports = {
|
|
259
|
+
theme: {
|
|
260
|
+
extend: {
|
|
261
|
+
Window: {
|
|
262
|
+
apply: 'exit-on-close-false bg-surface'
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
If an applied class sets a property that already exists in the defaults (e.g., `bg-surface` vs `backgroundColor: '#FFFFFF'`), the applied value wins. Array-type properties like `extendEdges` and `orientationModes` use bracket notation (`[ ]`) in the generated output.
|
|
60
270
|
|
|
61
|
-
|
|
62
|
-
- **Efficient style management**: It parses all XML files to create a clean `app.tss` containing only the classes used in your project, reducing size and improving performance.
|
|
63
|
-
- **Customization and JIT classes**: You can customize default classes via a config file and use JIT classes for arbitrary values inside views.
|
|
64
|
-
- **Icon fonts integration**: Use icon fonts such as Font Awesome, Material Icons, Material Symbols, and Framework7-Icons in Buttons and Labels.
|
|
65
|
-
- **`fonts.tss` generation**: The `build-fonts` command creates a `fonts.tss` file with class definitions and fontFamily selectors for regular and icon fonts, with simplified options for filenames and icon prefixes.
|
|
66
|
-
- **`shades` command**: Generate custom color shades from a hex color without external tools.
|
|
67
|
-
- **Animation module**: Apply basic 2D matrix animations or transformations to elements or arrays of elements.
|
|
68
|
-
- **Grid system**: A two-dimensional grid system to align and distribute elements within views.
|
|
271
|
+
### Shorthand and explicit forms
|
|
69
272
|
|
|
70
|
-
|
|
273
|
+
Both are equivalent:
|
|
274
|
+
|
|
275
|
+
```js
|
|
276
|
+
// Shorthand
|
|
277
|
+
Window: { apply: 'exit-on-close-false' }
|
|
278
|
+
|
|
279
|
+
// Explicit
|
|
280
|
+
Window: { default: { apply: 'exit-on-close-false' } }
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Use the explicit form when you need platform-specific variants:
|
|
284
|
+
|
|
285
|
+
```js
|
|
286
|
+
Button: {
|
|
287
|
+
default: { apply: 'text-xl' },
|
|
288
|
+
ios: { apply: 'font-bold' },
|
|
289
|
+
android: { apply: 'text-2xl font-semibold', color: 'red' }
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
71
294
|
|
|
72
295
|
### Visit the official documentation site at [purgetss.com](https://purgetss.com) to learn more.
|
|
73
296
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/fontawesome.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Font Awesome Free 7.
|
|
2
|
+
* Font Awesome Free 7.2.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
|
*/
|
|
5
5
|
|
|
@@ -169,6 +169,7 @@ const icons = {
|
|
|
169
169
|
'chartColumn': '\ue0e3',
|
|
170
170
|
'chartGantt': '\ue0e4',
|
|
171
171
|
'clapperboard': '\ue131',
|
|
172
|
+
'closedCaptioningSlash': '\ue135',
|
|
172
173
|
'clover': '\ue139',
|
|
173
174
|
'codeCompare': '\ue13a',
|
|
174
175
|
'codeFork': '\ue13b',
|
|
@@ -489,12 +490,25 @@ const icons = {
|
|
|
489
490
|
'pentagon': '\ue790',
|
|
490
491
|
'nonBinary': '\ue807',
|
|
491
492
|
'spiral': '\ue80a',
|
|
493
|
+
'pictureInPicture': '\ue80b',
|
|
492
494
|
'mobileVibrate': '\ue816',
|
|
493
495
|
'singleQuoteLeft': '\ue81b',
|
|
494
496
|
'singleQuoteRight': '\ue81c',
|
|
495
497
|
'busSide': '\ue81d',
|
|
496
498
|
'septagon': '\ue820',
|
|
497
499
|
'heptagon': '\ue820',
|
|
500
|
+
'aquarius': '\ue845',
|
|
501
|
+
'aries': '\ue846',
|
|
502
|
+
'cancer': '\ue847',
|
|
503
|
+
'capricorn': '\ue848',
|
|
504
|
+
'gemini': '\ue849',
|
|
505
|
+
'leo': '\ue84a',
|
|
506
|
+
'libra': '\ue84b',
|
|
507
|
+
'pisces': '\ue84c',
|
|
508
|
+
'sagittarius': '\ue84d',
|
|
509
|
+
'scorpio': '\ue84e',
|
|
510
|
+
'taurus': '\ue84f',
|
|
511
|
+
'virgo': '\ue850',
|
|
498
512
|
'martiniGlassEmpty': '\uf000',
|
|
499
513
|
'glassMartini': '\uf000',
|
|
500
514
|
'music': '\uf001',
|
|
@@ -1820,6 +1834,8 @@ const icons = {
|
|
|
1820
1834
|
'torah': '\uf6a0',
|
|
1821
1835
|
'toriiGate': '\uf6a1',
|
|
1822
1836
|
'vihara': '\uf6a7',
|
|
1837
|
+
'volume': '\uf6a8',
|
|
1838
|
+
'volumeMedium': '\uf6a8',
|
|
1823
1839
|
'volumeXmark': '\uf6a9',
|
|
1824
1840
|
'volumeMute': '\uf6a9',
|
|
1825
1841
|
'volumeTimes': '\uf6a9',
|
|
@@ -2138,6 +2154,44 @@ const icons = {
|
|
|
2138
2154
|
'squareFigma': '\ue7e4',
|
|
2139
2155
|
'tex': '\ue7ff',
|
|
2140
2156
|
'duolingo': '\ue812',
|
|
2157
|
+
'supportnow': '\ue833',
|
|
2158
|
+
'torBrowser': '\ue838',
|
|
2159
|
+
'typescript': '\ue840',
|
|
2160
|
+
'squareDeskpro': '\ue844',
|
|
2161
|
+
'circleZulip': '\ue851',
|
|
2162
|
+
'julia': '\ue852',
|
|
2163
|
+
'zulip': '\ue853',
|
|
2164
|
+
'unison': '\ue854',
|
|
2165
|
+
'boardGameGeek': '\ue855',
|
|
2166
|
+
'bgg': '\ue855',
|
|
2167
|
+
'koFi': '\ue856',
|
|
2168
|
+
'kubernetes': '\ue857',
|
|
2169
|
+
'postgresql': '\ue858',
|
|
2170
|
+
'scaleway': '\ue859',
|
|
2171
|
+
'venmo': '\ue85a',
|
|
2172
|
+
'venmoV': '\ue85b',
|
|
2173
|
+
'unrealEngine': '\ue85c',
|
|
2174
|
+
'globaleaks': '\ue85d',
|
|
2175
|
+
'solana': '\ue85e',
|
|
2176
|
+
'threema': '\ue85f',
|
|
2177
|
+
'forgejo': '\ue860',
|
|
2178
|
+
'claude': '\ue861',
|
|
2179
|
+
'gitee': '\ue863',
|
|
2180
|
+
'xmpp': '\ue864',
|
|
2181
|
+
'fediverse': '\ue865',
|
|
2182
|
+
'tailwindCss': '\ue866',
|
|
2183
|
+
'archLinux': '\ue867',
|
|
2184
|
+
'svelte': '\ue868',
|
|
2185
|
+
'huggingFace': '\ue869',
|
|
2186
|
+
'leetcode': '\ue86a',
|
|
2187
|
+
'openstreetmap': '\ue86b',
|
|
2188
|
+
'ultralytics': '\ue86d',
|
|
2189
|
+
'ultralyticsHub': '\ue86e',
|
|
2190
|
+
'ultralyticsYolo': '\ue86f',
|
|
2191
|
+
'obsidian': '\ue879',
|
|
2192
|
+
'zoom': '\ue87b',
|
|
2193
|
+
'vim': '\ue88a',
|
|
2194
|
+
'symfonycasts': '\ue8ab',
|
|
2141
2195
|
'squareTwitter': '\uf081',
|
|
2142
2196
|
'twitterSquare': '\uf081',
|
|
2143
2197
|
'squareFacebook': '\uf082',
|
package/dist/fontawesome.tss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Font Awesome Free 7.
|
|
1
|
+
// Font Awesome Free 7.2.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
|
|
@@ -145,6 +145,7 @@
|
|
|
145
145
|
'.fa-chart-column': { text: '\ue0e3', title: '\ue0e3' }
|
|
146
146
|
'.fa-chart-gantt': { text: '\ue0e4', title: '\ue0e4' }
|
|
147
147
|
'.fa-clapperboard': { text: '\ue131', title: '\ue131' }
|
|
148
|
+
'.fa-closed-captioning-slash': { text: '\ue135', title: '\ue135' }
|
|
148
149
|
'.fa-clover': { text: '\ue139', title: '\ue139' }
|
|
149
150
|
'.fa-code-compare': { text: '\ue13a', title: '\ue13a' }
|
|
150
151
|
'.fa-code-fork': { text: '\ue13b', title: '\ue13b' }
|
|
@@ -465,12 +466,25 @@
|
|
|
465
466
|
'.fa-pentagon': { text: '\ue790', title: '\ue790' }
|
|
466
467
|
'.fa-non-binary': { text: '\ue807', title: '\ue807' }
|
|
467
468
|
'.fa-spiral': { text: '\ue80a', title: '\ue80a' }
|
|
469
|
+
'.fa-picture-in-picture': { text: '\ue80b', title: '\ue80b' }
|
|
468
470
|
'.fa-mobile-vibrate': { text: '\ue816', title: '\ue816' }
|
|
469
471
|
'.fa-single-quote-left': { text: '\ue81b', title: '\ue81b' }
|
|
470
472
|
'.fa-single-quote-right': { text: '\ue81c', title: '\ue81c' }
|
|
471
473
|
'.fa-bus-side': { text: '\ue81d', title: '\ue81d' }
|
|
472
474
|
'.fa-septagon': { text: '\ue820', title: '\ue820' }
|
|
473
475
|
'.fa-heptagon': { text: '\ue820', title: '\ue820' }
|
|
476
|
+
'.fa-aquarius': { text: '\ue845', title: '\ue845' }
|
|
477
|
+
'.fa-aries': { text: '\ue846', title: '\ue846' }
|
|
478
|
+
'.fa-cancer': { text: '\ue847', title: '\ue847' }
|
|
479
|
+
'.fa-capricorn': { text: '\ue848', title: '\ue848' }
|
|
480
|
+
'.fa-gemini': { text: '\ue849', title: '\ue849' }
|
|
481
|
+
'.fa-leo': { text: '\ue84a', title: '\ue84a' }
|
|
482
|
+
'.fa-libra': { text: '\ue84b', title: '\ue84b' }
|
|
483
|
+
'.fa-pisces': { text: '\ue84c', title: '\ue84c' }
|
|
484
|
+
'.fa-sagittarius': { text: '\ue84d', title: '\ue84d' }
|
|
485
|
+
'.fa-scorpio': { text: '\ue84e', title: '\ue84e' }
|
|
486
|
+
'.fa-taurus': { text: '\ue84f', title: '\ue84f' }
|
|
487
|
+
'.fa-virgo': { text: '\ue850', title: '\ue850' }
|
|
474
488
|
'.fa-martini-glass-empty': { text: '\uf000', title: '\uf000' }
|
|
475
489
|
'.fa-glass-martini': { text: '\uf000', title: '\uf000' }
|
|
476
490
|
'.fa-music': { text: '\uf001', title: '\uf001' }
|
|
@@ -1796,6 +1810,8 @@
|
|
|
1796
1810
|
'.fa-torah': { text: '\uf6a0', title: '\uf6a0' }
|
|
1797
1811
|
'.fa-torii-gate': { text: '\uf6a1', title: '\uf6a1' }
|
|
1798
1812
|
'.fa-vihara': { text: '\uf6a7', title: '\uf6a7' }
|
|
1813
|
+
'.fa-volume': { text: '\uf6a8', title: '\uf6a8' }
|
|
1814
|
+
'.fa-volume-medium': { text: '\uf6a8', title: '\uf6a8' }
|
|
1799
1815
|
'.fa-volume-xmark': { text: '\uf6a9', title: '\uf6a9' }
|
|
1800
1816
|
'.fa-volume-mute': { text: '\uf6a9', title: '\uf6a9' }
|
|
1801
1817
|
'.fa-volume-times': { text: '\uf6a9', title: '\uf6a9' }
|
|
@@ -2114,6 +2130,44 @@
|
|
|
2114
2130
|
'.fa-square-figma': { text: '\ue7e4', title: '\ue7e4' }
|
|
2115
2131
|
'.fa-tex': { text: '\ue7ff', title: '\ue7ff' }
|
|
2116
2132
|
'.fa-duolingo': { text: '\ue812', title: '\ue812' }
|
|
2133
|
+
'.fa-supportnow': { text: '\ue833', title: '\ue833' }
|
|
2134
|
+
'.fa-tor-browser': { text: '\ue838', title: '\ue838' }
|
|
2135
|
+
'.fa-typescript': { text: '\ue840', title: '\ue840' }
|
|
2136
|
+
'.fa-square-deskpro': { text: '\ue844', title: '\ue844' }
|
|
2137
|
+
'.fa-circle-zulip': { text: '\ue851', title: '\ue851' }
|
|
2138
|
+
'.fa-julia': { text: '\ue852', title: '\ue852' }
|
|
2139
|
+
'.fa-zulip': { text: '\ue853', title: '\ue853' }
|
|
2140
|
+
'.fa-unison': { text: '\ue854', title: '\ue854' }
|
|
2141
|
+
'.fa-board-game-geek': { text: '\ue855', title: '\ue855' }
|
|
2142
|
+
'.fa-bgg': { text: '\ue855', title: '\ue855' }
|
|
2143
|
+
'.fa-ko-fi': { text: '\ue856', title: '\ue856' }
|
|
2144
|
+
'.fa-kubernetes': { text: '\ue857', title: '\ue857' }
|
|
2145
|
+
'.fa-postgresql': { text: '\ue858', title: '\ue858' }
|
|
2146
|
+
'.fa-scaleway': { text: '\ue859', title: '\ue859' }
|
|
2147
|
+
'.fa-venmo': { text: '\ue85a', title: '\ue85a' }
|
|
2148
|
+
'.fa-venmo-v': { text: '\ue85b', title: '\ue85b' }
|
|
2149
|
+
'.fa-unreal-engine': { text: '\ue85c', title: '\ue85c' }
|
|
2150
|
+
'.fa-globaleaks': { text: '\ue85d', title: '\ue85d' }
|
|
2151
|
+
'.fa-solana': { text: '\ue85e', title: '\ue85e' }
|
|
2152
|
+
'.fa-threema': { text: '\ue85f', title: '\ue85f' }
|
|
2153
|
+
'.fa-forgejo': { text: '\ue860', title: '\ue860' }
|
|
2154
|
+
'.fa-claude': { text: '\ue861', title: '\ue861' }
|
|
2155
|
+
'.fa-gitee': { text: '\ue863', title: '\ue863' }
|
|
2156
|
+
'.fa-xmpp': { text: '\ue864', title: '\ue864' }
|
|
2157
|
+
'.fa-fediverse': { text: '\ue865', title: '\ue865' }
|
|
2158
|
+
'.fa-tailwind-css': { text: '\ue866', title: '\ue866' }
|
|
2159
|
+
'.fa-arch-linux': { text: '\ue867', title: '\ue867' }
|
|
2160
|
+
'.fa-svelte': { text: '\ue868', title: '\ue868' }
|
|
2161
|
+
'.fa-hugging-face': { text: '\ue869', title: '\ue869' }
|
|
2162
|
+
'.fa-leetcode': { text: '\ue86a', title: '\ue86a' }
|
|
2163
|
+
'.fa-openstreetmap': { text: '\ue86b', title: '\ue86b' }
|
|
2164
|
+
'.fa-ultralytics': { text: '\ue86d', title: '\ue86d' }
|
|
2165
|
+
'.fa-ultralytics-hub': { text: '\ue86e', title: '\ue86e' }
|
|
2166
|
+
'.fa-ultralytics-yolo': { text: '\ue86f', title: '\ue86f' }
|
|
2167
|
+
'.fa-obsidian': { text: '\ue879', title: '\ue879' }
|
|
2168
|
+
'.fa-zoom': { text: '\ue87b', title: '\ue87b' }
|
|
2169
|
+
'.fa-vim': { text: '\ue88a', title: '\ue88a' }
|
|
2170
|
+
'.fa-symfonycasts': { text: '\ue8ab', title: '\ue8ab' }
|
|
2117
2171
|
'.fa-square-twitter': { text: '\uf081', title: '\uf081' }
|
|
2118
2172
|
'.fa-twitter-square': { text: '\uf081', title: '\uf081' }
|
|
2119
2173
|
'.fa-square-facebook': { text: '\uf082', title: '\uf082' }
|