@wix/interact 1.93.0 → 2.0.0-rc.2
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 +2 -23
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react.js +15 -0
- package/dist/cjs/react.js.map +1 -0
- package/dist/cjs/web.js +2 -0
- package/dist/cjs/web.js.map +1 -0
- package/dist/es/index.js +8 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/react.js +650 -0
- package/dist/es/react.js.map +1 -0
- package/dist/es/web.js +56 -0
- package/dist/es/web.js.map +1 -0
- package/dist/index-C8QxOkui.mjs +7940 -0
- package/dist/index-C8QxOkui.mjs.map +1 -0
- package/dist/index-DEPRHaUt.js +18 -0
- package/dist/index-DEPRHaUt.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/core/Interact.d.ts +17 -7
- package/dist/types/core/Interact.d.ts.map +1 -0
- package/dist/types/core/InteractionController.d.ts +19 -0
- package/dist/types/core/InteractionController.d.ts.map +1 -0
- package/dist/types/core/add.d.ts +4 -3
- package/dist/types/core/add.d.ts.map +1 -0
- package/dist/types/core/css.d.ts +3 -0
- package/dist/types/core/css.d.ts.map +1 -0
- package/dist/types/core/remove.d.ts +3 -1
- package/dist/types/core/remove.d.ts.map +1 -0
- package/dist/types/core/utilities.d.ts +1 -0
- package/dist/types/core/utilities.d.ts.map +1 -0
- package/dist/types/dom/api.d.ts +3 -0
- package/dist/types/dom/api.d.ts.map +1 -0
- package/dist/types/handlers/animationEnd.d.ts +3 -2
- package/dist/types/handlers/animationEnd.d.ts.map +1 -0
- package/dist/types/handlers/click.d.ts +3 -2
- package/dist/types/handlers/click.d.ts.map +1 -0
- package/dist/types/handlers/hover.d.ts +3 -2
- package/dist/types/handlers/hover.d.ts.map +1 -0
- package/dist/types/handlers/index.d.ts +1 -0
- package/dist/types/handlers/index.d.ts.map +1 -0
- package/dist/types/handlers/pointerMove.d.ts +3 -2
- package/dist/types/handlers/pointerMove.d.ts.map +1 -0
- package/dist/types/handlers/utilities.d.ts +1 -0
- package/dist/types/handlers/utilities.d.ts.map +1 -0
- package/dist/types/handlers/viewEnter.d.ts +3 -2
- package/dist/types/handlers/viewEnter.d.ts.map +1 -0
- package/dist/types/handlers/viewProgress.d.ts +4 -3
- package/dist/types/handlers/viewProgress.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/react/Interaction.d.ts +10 -0
- package/dist/types/react/Interaction.d.ts.map +1 -0
- package/dist/types/react/index.d.ts +8 -0
- package/dist/types/react/index.d.ts.map +1 -0
- package/dist/types/react/interactRef.d.ts +3 -0
- package/dist/types/react/interactRef.d.ts.map +1 -0
- package/dist/types/types.d.ts +23 -10
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils.d.ts +2 -1
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/{InteractElement.d.ts → web/InteractElement.d.ts} +115 -77
- package/dist/types/web/InteractElement.d.ts.map +1 -0
- package/dist/types/web/defineInteractElement.d.ts +2 -0
- package/dist/types/web/defineInteractElement.d.ts.map +1 -0
- package/dist/types/web/index.d.ts +6 -0
- package/dist/types/web/index.d.ts.map +1 -0
- package/docs/README.md +211 -0
- package/docs/advanced/README.md +164 -0
- package/docs/api/README.md +157 -0
- package/docs/api/element-selection.md +607 -0
- package/docs/api/functions.md +638 -0
- package/docs/api/interact-class.md +663 -0
- package/docs/api/interact-element.md +565 -0
- package/docs/api/interaction-controller.md +450 -0
- package/docs/api/types.md +957 -0
- package/docs/examples/README.md +212 -0
- package/docs/examples/click-interactions.md +977 -0
- package/docs/examples/entrance-animations.md +935 -0
- package/docs/examples/hover-effects.md +930 -0
- package/docs/examples/list-patterns.md +737 -0
- package/docs/guides/README.md +49 -0
- package/docs/guides/conditions-and-media-queries.md +1068 -0
- package/docs/guides/configuration-structure.md +726 -0
- package/docs/guides/custom-elements.md +327 -0
- package/docs/guides/effects-and-animations.md +634 -0
- package/docs/guides/getting-started.md +379 -0
- package/docs/guides/lists-and-dynamic-content.md +713 -0
- package/docs/guides/state-management.md +747 -0
- package/docs/guides/understanding-triggers.md +690 -0
- package/docs/integration/README.md +264 -0
- package/docs/integration/react.md +605 -0
- package/package.json +73 -56
- package/rules/Integration.md +255 -0
- package/rules/click-rules.md +533 -0
- package/rules/full-lean.md +346 -0
- package/rules/hover-rules.md +593 -0
- package/rules/pointermove-rules.md +1341 -0
- package/rules/scroll-list-rules.md +900 -0
- package/rules/viewenter-rules.md +1015 -0
- package/rules/viewprogress-rules.md +1044 -0
- package/dist/cjs/InteractElement.js +0 -163
- package/dist/cjs/InteractElement.js.map +0 -1
- package/dist/cjs/__tests__/interact.spec.js +0 -2094
- package/dist/cjs/__tests__/interact.spec.js.map +0 -1
- package/dist/cjs/__tests__/viewEnter.spec.js +0 -207
- package/dist/cjs/__tests__/viewEnter.spec.js.map +0 -1
- package/dist/cjs/core/Interact.js +0 -257
- package/dist/cjs/core/Interact.js.map +0 -1
- package/dist/cjs/core/add.js +0 -250
- package/dist/cjs/core/add.js.map +0 -1
- package/dist/cjs/core/remove.js +0 -35
- package/dist/cjs/core/remove.js.map +0 -1
- package/dist/cjs/core/utilities.js +0 -16
- package/dist/cjs/core/utilities.js.map +0 -1
- package/dist/cjs/external-types.d.js +0 -2
- package/dist/cjs/external-types.d.js.map +0 -1
- package/dist/cjs/handlers/animationEnd.js +0 -37
- package/dist/cjs/handlers/animationEnd.js.map +0 -1
- package/dist/cjs/handlers/click.js +0 -122
- package/dist/cjs/handlers/click.js.map +0 -1
- package/dist/cjs/handlers/hover.js +0 -147
- package/dist/cjs/handlers/hover.js.map +0 -1
- package/dist/cjs/handlers/index.js +0 -32
- package/dist/cjs/handlers/index.js.map +0 -1
- package/dist/cjs/handlers/pointerMove.js +0 -49
- package/dist/cjs/handlers/pointerMove.js.map +0 -1
- package/dist/cjs/handlers/utilities.js +0 -49
- package/dist/cjs/handlers/utilities.js.map +0 -1
- package/dist/cjs/handlers/viewEnter.js +0 -131
- package/dist/cjs/handlers/viewEnter.js.map +0 -1
- package/dist/cjs/handlers/viewProgress.js +0 -79
- package/dist/cjs/handlers/viewProgress.js.map +0 -1
- package/dist/cjs/test-types.d.js +0 -2
- package/dist/cjs/test-types.d.js.map +0 -1
- package/dist/cjs/types.js +0 -2
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/utils.js +0 -98
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/InteractElement.js +0 -157
- package/dist/esm/InteractElement.js.map +0 -1
- package/dist/esm/__tests__/interact.spec.js +0 -2102
- package/dist/esm/__tests__/interact.spec.js.map +0 -1
- package/dist/esm/__tests__/viewEnter.spec.js +0 -210
- package/dist/esm/__tests__/viewEnter.spec.js.map +0 -1
- package/dist/esm/core/Interact.js +0 -251
- package/dist/esm/core/Interact.js.map +0 -1
- package/dist/esm/core/add.js +0 -245
- package/dist/esm/core/add.js.map +0 -1
- package/dist/esm/core/remove.js +0 -30
- package/dist/esm/core/remove.js.map +0 -1
- package/dist/esm/core/utilities.js +0 -14
- package/dist/esm/core/utilities.js.map +0 -1
- package/dist/esm/external-types.d.js +0 -2
- package/dist/esm/external-types.d.js.map +0 -1
- package/dist/esm/handlers/animationEnd.js +0 -33
- package/dist/esm/handlers/animationEnd.js.map +0 -1
- package/dist/esm/handlers/click.js +0 -122
- package/dist/esm/handlers/click.js.map +0 -1
- package/dist/esm/handlers/hover.js +0 -147
- package/dist/esm/handlers/hover.js.map +0 -1
- package/dist/esm/handlers/index.js +0 -27
- package/dist/esm/handlers/index.js.map +0 -1
- package/dist/esm/handlers/pointerMove.js +0 -48
- package/dist/esm/handlers/pointerMove.js.map +0 -1
- package/dist/esm/handlers/utilities.js +0 -43
- package/dist/esm/handlers/utilities.js.map +0 -1
- package/dist/esm/handlers/viewEnter.js +0 -133
- package/dist/esm/handlers/viewEnter.js.map +0 -1
- package/dist/esm/handlers/viewProgress.js +0 -75
- package/dist/esm/handlers/viewProgress.js.map +0 -1
- package/dist/esm/index.js +0 -5
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/test-types.d.js +0 -2
- package/dist/esm/test-types.d.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/utils.js +0 -92
- package/dist/esm/utils.js.map +0 -1
- package/dist/types/__tests__/interact.spec.d.ts +0 -1
- package/dist/types/__tests__/viewEnter.spec.d.ts +0 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# Examples & Patterns
|
|
2
|
+
|
|
3
|
+
Practical examples and common interaction patterns for `@wix/interact`. All examples are ready to copy and use in your projects.
|
|
4
|
+
|
|
5
|
+
## Quick Start Examples
|
|
6
|
+
|
|
7
|
+
### Basic Entrance Animation
|
|
8
|
+
```typescript
|
|
9
|
+
import { Interact } from '@wix/interact';
|
|
10
|
+
|
|
11
|
+
const config = {
|
|
12
|
+
interactions: [{
|
|
13
|
+
trigger: 'viewEnter',
|
|
14
|
+
key: 'hero',
|
|
15
|
+
effects: [{ effectId: 'fade-in' }]
|
|
16
|
+
}],
|
|
17
|
+
effects: {
|
|
18
|
+
'fade-in': {
|
|
19
|
+
duration: 1000,
|
|
20
|
+
keyframeEffect: {
|
|
21
|
+
name: 'fade-in',
|
|
22
|
+
keyframes: [
|
|
23
|
+
{ opacity: 0, transform: 'translateY(20px)' },
|
|
24
|
+
{ opacity: 1, transform: 'translateY(0)' }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
Interact.create(config);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```html
|
|
35
|
+
<interact-element data-interact-key="hero">
|
|
36
|
+
<div class="hero-content">Welcome to our site!</div>
|
|
37
|
+
</interact-element>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Example Categories
|
|
41
|
+
|
|
42
|
+
### 🎬 **Entrance Animations**
|
|
43
|
+
Perfect for landing pages and content reveals.
|
|
44
|
+
|
|
45
|
+
- [**Fade Animations**](entrance-animations.md#fade) - Opacity transitions
|
|
46
|
+
- [**Slide Animations**](entrance-animations.md#slide) - Directional movement
|
|
47
|
+
- [**Scale Animations**](entrance-animations.md#scale) - Size transitions
|
|
48
|
+
- [**Rotate Animations**](entrance-animations.md#rotate) - Rotation effects
|
|
49
|
+
- [**Complex Sequences**](entrance-animations.md#sequences) - Multi-step animations
|
|
50
|
+
|
|
51
|
+
### 🖱️ **Click Interactions**
|
|
52
|
+
Interactive elements that respond to user clicks.
|
|
53
|
+
|
|
54
|
+
- [**Button Feedback**](click-interactions.md#buttons) - Visual feedback on press
|
|
55
|
+
- [**Toggle States**](click-interactions.md#toggles) - On/off interactions
|
|
56
|
+
- [**Progressive Disclosure**](click-interactions.md#disclosure) - Reveal content
|
|
57
|
+
- [**Action Confirmations**](click-interactions.md#confirmations) - Success states
|
|
58
|
+
|
|
59
|
+
### 🎯 **Hover Effects**
|
|
60
|
+
Subtle feedback for interactive elements.
|
|
61
|
+
|
|
62
|
+
- [**Card Hover Effects**](hover-effects.md#cards) - Elevation and highlighting
|
|
63
|
+
- [**Button Hover States**](hover-effects.md#buttons) - Interactive feedback
|
|
64
|
+
- [**Image Overlays**](hover-effects.md#images) - Content reveals
|
|
65
|
+
- [**Navigation Hovers**](hover-effects.md#navigation) - Menu interactions
|
|
66
|
+
|
|
67
|
+
### 📜 **Scroll Animations**
|
|
68
|
+
Effects triggered by scroll position and progress.
|
|
69
|
+
|
|
70
|
+
- [**Parallax Effects**](scroll-animations.md#parallax) - Background movement
|
|
71
|
+
- [**Progress Indicators**](scroll-animations.md#progress) - Scroll-based bars
|
|
72
|
+
- [**Staggered Reveals**](scroll-animations.md#staggered) - Sequential animations
|
|
73
|
+
- [**Scroll-driven Timelines**](scroll-animations.md#timelines) - Complex sequences
|
|
74
|
+
|
|
75
|
+
### 📱 **Responsive Interactions**
|
|
76
|
+
Adaptive animations for different screen sizes.
|
|
77
|
+
|
|
78
|
+
- [**Mobile-first Animations**](responsive-interactions.md#mobile) - Touch-friendly effects
|
|
79
|
+
- [**Desktop Enhancements**](responsive-interactions.md#desktop) - Mouse-specific interactions
|
|
80
|
+
- [**Conditional Effects**](responsive-interactions.md#conditional) - Media query based
|
|
81
|
+
- [**Container Queries**](responsive-interactions.md#container) - Element-based conditions
|
|
82
|
+
|
|
83
|
+
### 📋 **List Patterns**
|
|
84
|
+
Comprehensive patterns for lists and dynamic content.
|
|
85
|
+
|
|
86
|
+
- [**Entrance Animations**](list-patterns.md#entrance-animations) - Fade, slide, scale effects
|
|
87
|
+
- [**Staggered Effects**](list-patterns.md#staggered-effects) - Progressive delays and waves
|
|
88
|
+
- [**Hover Interactions**](list-patterns.md#hover-interactions) - Card lifts, zooms, overlays
|
|
89
|
+
- [**Dynamic Management**](list-patterns.md#dynamic-list-management) - Add/remove animations
|
|
90
|
+
- [**Infinite Scroll**](list-patterns.md#infinite-scroll) - Load more patterns
|
|
91
|
+
- [**Filtering & Sorting**](list-patterns.md#filtering--sorting) - Animated transitions
|
|
92
|
+
- [**Grid Layouts**](list-patterns.md#grid-layouts) - Masonry and responsive grids
|
|
93
|
+
- [**Real-World Examples**](list-patterns.md#real-world-examples) - E-commerce and more
|
|
94
|
+
|
|
95
|
+
## Advanced Patterns
|
|
96
|
+
|
|
97
|
+
### 🔄 **Animation Sequences**
|
|
98
|
+
Complex multi-step animations.
|
|
99
|
+
|
|
100
|
+
- [**Chained Effects**](advanced-patterns.md#chaining) - Sequential animations
|
|
101
|
+
- [**Parallel Effects**](advanced-patterns.md#parallel) - Simultaneous animations
|
|
102
|
+
- [**Conditional Sequences**](advanced-patterns.md#conditional) - Branching logic
|
|
103
|
+
- [**Loop Animations**](advanced-patterns.md#loops) - Repeating effects
|
|
104
|
+
|
|
105
|
+
### 🎭 **State Management**
|
|
106
|
+
Managing complex interaction states.
|
|
107
|
+
|
|
108
|
+
- [**Multi-state Elements**](advanced-patterns.md#multi-state) - Multiple effect states
|
|
109
|
+
- [**State Transitions**](advanced-patterns.md#transitions) - Smooth state changes
|
|
110
|
+
- [**Global State**](advanced-patterns.md#global) - Cross-element coordination
|
|
111
|
+
- [**Persistent States**](advanced-patterns.md#persistent) - Maintaining state
|
|
112
|
+
|
|
113
|
+
### 🧩 **Component Patterns**
|
|
114
|
+
Reusable interaction components.
|
|
115
|
+
|
|
116
|
+
- [**Interactive Cards**](component-patterns.md#cards) - Complete card interactions
|
|
117
|
+
- [**Navigation Components**](component-patterns.md#navigation) - Menu and nav effects
|
|
118
|
+
- [**Form Elements**](component-patterns.md#forms) - Input and validation feedback
|
|
119
|
+
- [**Modal Dialogs**](component-patterns.md#modals) - Overlay interactions
|
|
120
|
+
|
|
121
|
+
## Real-world Examples
|
|
122
|
+
|
|
123
|
+
### E-commerce
|
|
124
|
+
- [**Product Gallery**](real-world.md#product-gallery) - Image hover and click effects
|
|
125
|
+
- [**Add to Cart**](real-world.md#add-to-cart) - Button feedback and confirmation
|
|
126
|
+
- [**Shopping Cart**](real-world.md#shopping-cart) - Item addition/removal animations
|
|
127
|
+
|
|
128
|
+
### Landing Pages
|
|
129
|
+
- [**Hero Sections**](real-world.md#hero-sections) - Impressive entrance animations
|
|
130
|
+
- [**Feature Highlights**](real-world.md#features) - Scroll-triggered reveals
|
|
131
|
+
- [**Call-to-Action**](real-world.md#cta) - Engaging button interactions
|
|
132
|
+
|
|
133
|
+
### Dashboards
|
|
134
|
+
- [**Data Visualization**](real-world.md#data-viz) - Chart and graph animations
|
|
135
|
+
- [**Status Updates**](real-world.md#status) - Real-time feedback effects
|
|
136
|
+
- [**Interactive Tables**](real-world.md#tables) - Row hover and selection
|
|
137
|
+
|
|
138
|
+
## Performance Examples
|
|
139
|
+
|
|
140
|
+
### Optimized Animations
|
|
141
|
+
- [**GPU Acceleration**](performance-examples.md#gpu) - Transform-based animations
|
|
142
|
+
- [**Efficient Selectors**](performance-examples.md#selectors) - Optimal element targeting
|
|
143
|
+
- [**Minimal Reflows**](performance-examples.md#reflows) - Layout-safe animations
|
|
144
|
+
- [**Debounced Events**](performance-examples.md#debouncing) - Event optimization
|
|
145
|
+
|
|
146
|
+
## Code Templates
|
|
147
|
+
|
|
148
|
+
### Basic Templates
|
|
149
|
+
```typescript
|
|
150
|
+
// Entrance animation template
|
|
151
|
+
const entranceConfig = {
|
|
152
|
+
interactions: [{
|
|
153
|
+
trigger: 'viewEnter',
|
|
154
|
+
key: 'element',
|
|
155
|
+
params: { type: 'once', threshold: 0.1 },
|
|
156
|
+
effects: [{ effectId: 'entrance-effect' }]
|
|
157
|
+
}],
|
|
158
|
+
effects: {
|
|
159
|
+
'entrance-effect': {
|
|
160
|
+
duration: 800,
|
|
161
|
+
easing: 'ease-out',
|
|
162
|
+
keyframeEffect: {
|
|
163
|
+
name: 'entrance-effect', // Put your effect's name here
|
|
164
|
+
keyframes: [
|
|
165
|
+
// Add your keyframes here
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// Hover interaction template
|
|
173
|
+
const hoverConfig = {
|
|
174
|
+
interactions: [{
|
|
175
|
+
trigger: 'hover',
|
|
176
|
+
key: 'element',
|
|
177
|
+
effects: [{ effectId: 'hover-effect' }]
|
|
178
|
+
}],
|
|
179
|
+
effects: {
|
|
180
|
+
'hover-effect': {
|
|
181
|
+
duration: 200,
|
|
182
|
+
keyframeEffect: {
|
|
183
|
+
name: 'hover-effect', // Put your effect's name here
|
|
184
|
+
keyframes: [
|
|
185
|
+
// Add your hover keyframes here
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Testing Examples
|
|
194
|
+
|
|
195
|
+
### Unit Tests
|
|
196
|
+
- [**Testing Configurations**](testing-examples.md#config) - Validate interaction setup
|
|
197
|
+
- [**Mock Animations**](testing-examples.md#mocks) - Testing without real animations
|
|
198
|
+
- [**State Assertions**](testing-examples.md#state) - Verify effect states
|
|
199
|
+
|
|
200
|
+
### Integration Tests
|
|
201
|
+
- [**End-to-end Tests**](testing-examples.md#e2e) - Full interaction testing
|
|
202
|
+
- [**Performance Tests**](testing-examples.md#performance) - Animation performance
|
|
203
|
+
- [**Accessibility Tests**](testing-examples.md#a11y) - Inclusive interaction testing
|
|
204
|
+
|
|
205
|
+
## Next Steps
|
|
206
|
+
|
|
207
|
+
- **Try the Examples** - Copy and modify examples for your use case
|
|
208
|
+
- **Explore Patterns** - Learn from common interaction patterns
|
|
209
|
+
- **Check Performance** - Use the performance examples for optimization
|
|
210
|
+
- **Read the Guides** - Understand the concepts behind the examples
|
|
211
|
+
|
|
212
|
+
For more detailed information, see the [API Reference](../api/README.md) or [Integration Guides](../integration/README.md).
|