@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.
Files changed (179) hide show
  1. package/dist/cjs/index.js +2 -23
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/react.js +15 -0
  4. package/dist/cjs/react.js.map +1 -0
  5. package/dist/cjs/web.js +2 -0
  6. package/dist/cjs/web.js.map +1 -0
  7. package/dist/es/index.js +8 -0
  8. package/dist/es/index.js.map +1 -0
  9. package/dist/es/react.js +650 -0
  10. package/dist/es/react.js.map +1 -0
  11. package/dist/es/web.js +56 -0
  12. package/dist/es/web.js.map +1 -0
  13. package/dist/index-C8QxOkui.mjs +7940 -0
  14. package/dist/index-C8QxOkui.mjs.map +1 -0
  15. package/dist/index-DEPRHaUt.js +18 -0
  16. package/dist/index-DEPRHaUt.js.map +1 -0
  17. package/dist/tsconfig.build.tsbuildinfo +1 -0
  18. package/dist/types/core/Interact.d.ts +17 -7
  19. package/dist/types/core/Interact.d.ts.map +1 -0
  20. package/dist/types/core/InteractionController.d.ts +19 -0
  21. package/dist/types/core/InteractionController.d.ts.map +1 -0
  22. package/dist/types/core/add.d.ts +4 -3
  23. package/dist/types/core/add.d.ts.map +1 -0
  24. package/dist/types/core/css.d.ts +3 -0
  25. package/dist/types/core/css.d.ts.map +1 -0
  26. package/dist/types/core/remove.d.ts +3 -1
  27. package/dist/types/core/remove.d.ts.map +1 -0
  28. package/dist/types/core/utilities.d.ts +1 -0
  29. package/dist/types/core/utilities.d.ts.map +1 -0
  30. package/dist/types/dom/api.d.ts +3 -0
  31. package/dist/types/dom/api.d.ts.map +1 -0
  32. package/dist/types/handlers/animationEnd.d.ts +3 -2
  33. package/dist/types/handlers/animationEnd.d.ts.map +1 -0
  34. package/dist/types/handlers/click.d.ts +3 -2
  35. package/dist/types/handlers/click.d.ts.map +1 -0
  36. package/dist/types/handlers/hover.d.ts +3 -2
  37. package/dist/types/handlers/hover.d.ts.map +1 -0
  38. package/dist/types/handlers/index.d.ts +1 -0
  39. package/dist/types/handlers/index.d.ts.map +1 -0
  40. package/dist/types/handlers/pointerMove.d.ts +3 -2
  41. package/dist/types/handlers/pointerMove.d.ts.map +1 -0
  42. package/dist/types/handlers/utilities.d.ts +1 -0
  43. package/dist/types/handlers/utilities.d.ts.map +1 -0
  44. package/dist/types/handlers/viewEnter.d.ts +3 -2
  45. package/dist/types/handlers/viewEnter.d.ts.map +1 -0
  46. package/dist/types/handlers/viewProgress.d.ts +4 -3
  47. package/dist/types/handlers/viewProgress.d.ts.map +1 -0
  48. package/dist/types/index.d.ts +3 -2
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/react/Interaction.d.ts +10 -0
  51. package/dist/types/react/Interaction.d.ts.map +1 -0
  52. package/dist/types/react/index.d.ts +8 -0
  53. package/dist/types/react/index.d.ts.map +1 -0
  54. package/dist/types/react/interactRef.d.ts +3 -0
  55. package/dist/types/react/interactRef.d.ts.map +1 -0
  56. package/dist/types/types.d.ts +23 -10
  57. package/dist/types/types.d.ts.map +1 -0
  58. package/dist/types/utils.d.ts +2 -1
  59. package/dist/types/utils.d.ts.map +1 -0
  60. package/dist/types/{InteractElement.d.ts → web/InteractElement.d.ts} +115 -77
  61. package/dist/types/web/InteractElement.d.ts.map +1 -0
  62. package/dist/types/web/defineInteractElement.d.ts +2 -0
  63. package/dist/types/web/defineInteractElement.d.ts.map +1 -0
  64. package/dist/types/web/index.d.ts +6 -0
  65. package/dist/types/web/index.d.ts.map +1 -0
  66. package/docs/README.md +211 -0
  67. package/docs/advanced/README.md +164 -0
  68. package/docs/api/README.md +157 -0
  69. package/docs/api/element-selection.md +607 -0
  70. package/docs/api/functions.md +638 -0
  71. package/docs/api/interact-class.md +663 -0
  72. package/docs/api/interact-element.md +565 -0
  73. package/docs/api/interaction-controller.md +450 -0
  74. package/docs/api/types.md +957 -0
  75. package/docs/examples/README.md +212 -0
  76. package/docs/examples/click-interactions.md +977 -0
  77. package/docs/examples/entrance-animations.md +935 -0
  78. package/docs/examples/hover-effects.md +930 -0
  79. package/docs/examples/list-patterns.md +737 -0
  80. package/docs/guides/README.md +49 -0
  81. package/docs/guides/conditions-and-media-queries.md +1068 -0
  82. package/docs/guides/configuration-structure.md +726 -0
  83. package/docs/guides/custom-elements.md +327 -0
  84. package/docs/guides/effects-and-animations.md +634 -0
  85. package/docs/guides/getting-started.md +379 -0
  86. package/docs/guides/lists-and-dynamic-content.md +713 -0
  87. package/docs/guides/state-management.md +747 -0
  88. package/docs/guides/understanding-triggers.md +690 -0
  89. package/docs/integration/README.md +264 -0
  90. package/docs/integration/react.md +605 -0
  91. package/package.json +73 -56
  92. package/rules/Integration.md +255 -0
  93. package/rules/click-rules.md +533 -0
  94. package/rules/full-lean.md +346 -0
  95. package/rules/hover-rules.md +593 -0
  96. package/rules/pointermove-rules.md +1341 -0
  97. package/rules/scroll-list-rules.md +900 -0
  98. package/rules/viewenter-rules.md +1015 -0
  99. package/rules/viewprogress-rules.md +1044 -0
  100. package/dist/cjs/InteractElement.js +0 -163
  101. package/dist/cjs/InteractElement.js.map +0 -1
  102. package/dist/cjs/__tests__/interact.spec.js +0 -2094
  103. package/dist/cjs/__tests__/interact.spec.js.map +0 -1
  104. package/dist/cjs/__tests__/viewEnter.spec.js +0 -207
  105. package/dist/cjs/__tests__/viewEnter.spec.js.map +0 -1
  106. package/dist/cjs/core/Interact.js +0 -257
  107. package/dist/cjs/core/Interact.js.map +0 -1
  108. package/dist/cjs/core/add.js +0 -250
  109. package/dist/cjs/core/add.js.map +0 -1
  110. package/dist/cjs/core/remove.js +0 -35
  111. package/dist/cjs/core/remove.js.map +0 -1
  112. package/dist/cjs/core/utilities.js +0 -16
  113. package/dist/cjs/core/utilities.js.map +0 -1
  114. package/dist/cjs/external-types.d.js +0 -2
  115. package/dist/cjs/external-types.d.js.map +0 -1
  116. package/dist/cjs/handlers/animationEnd.js +0 -37
  117. package/dist/cjs/handlers/animationEnd.js.map +0 -1
  118. package/dist/cjs/handlers/click.js +0 -122
  119. package/dist/cjs/handlers/click.js.map +0 -1
  120. package/dist/cjs/handlers/hover.js +0 -147
  121. package/dist/cjs/handlers/hover.js.map +0 -1
  122. package/dist/cjs/handlers/index.js +0 -32
  123. package/dist/cjs/handlers/index.js.map +0 -1
  124. package/dist/cjs/handlers/pointerMove.js +0 -49
  125. package/dist/cjs/handlers/pointerMove.js.map +0 -1
  126. package/dist/cjs/handlers/utilities.js +0 -49
  127. package/dist/cjs/handlers/utilities.js.map +0 -1
  128. package/dist/cjs/handlers/viewEnter.js +0 -131
  129. package/dist/cjs/handlers/viewEnter.js.map +0 -1
  130. package/dist/cjs/handlers/viewProgress.js +0 -79
  131. package/dist/cjs/handlers/viewProgress.js.map +0 -1
  132. package/dist/cjs/test-types.d.js +0 -2
  133. package/dist/cjs/test-types.d.js.map +0 -1
  134. package/dist/cjs/types.js +0 -2
  135. package/dist/cjs/types.js.map +0 -1
  136. package/dist/cjs/utils.js +0 -98
  137. package/dist/cjs/utils.js.map +0 -1
  138. package/dist/esm/InteractElement.js +0 -157
  139. package/dist/esm/InteractElement.js.map +0 -1
  140. package/dist/esm/__tests__/interact.spec.js +0 -2102
  141. package/dist/esm/__tests__/interact.spec.js.map +0 -1
  142. package/dist/esm/__tests__/viewEnter.spec.js +0 -210
  143. package/dist/esm/__tests__/viewEnter.spec.js.map +0 -1
  144. package/dist/esm/core/Interact.js +0 -251
  145. package/dist/esm/core/Interact.js.map +0 -1
  146. package/dist/esm/core/add.js +0 -245
  147. package/dist/esm/core/add.js.map +0 -1
  148. package/dist/esm/core/remove.js +0 -30
  149. package/dist/esm/core/remove.js.map +0 -1
  150. package/dist/esm/core/utilities.js +0 -14
  151. package/dist/esm/core/utilities.js.map +0 -1
  152. package/dist/esm/external-types.d.js +0 -2
  153. package/dist/esm/external-types.d.js.map +0 -1
  154. package/dist/esm/handlers/animationEnd.js +0 -33
  155. package/dist/esm/handlers/animationEnd.js.map +0 -1
  156. package/dist/esm/handlers/click.js +0 -122
  157. package/dist/esm/handlers/click.js.map +0 -1
  158. package/dist/esm/handlers/hover.js +0 -147
  159. package/dist/esm/handlers/hover.js.map +0 -1
  160. package/dist/esm/handlers/index.js +0 -27
  161. package/dist/esm/handlers/index.js.map +0 -1
  162. package/dist/esm/handlers/pointerMove.js +0 -48
  163. package/dist/esm/handlers/pointerMove.js.map +0 -1
  164. package/dist/esm/handlers/utilities.js +0 -43
  165. package/dist/esm/handlers/utilities.js.map +0 -1
  166. package/dist/esm/handlers/viewEnter.js +0 -133
  167. package/dist/esm/handlers/viewEnter.js.map +0 -1
  168. package/dist/esm/handlers/viewProgress.js +0 -75
  169. package/dist/esm/handlers/viewProgress.js.map +0 -1
  170. package/dist/esm/index.js +0 -5
  171. package/dist/esm/index.js.map +0 -1
  172. package/dist/esm/test-types.d.js +0 -2
  173. package/dist/esm/test-types.d.js.map +0 -1
  174. package/dist/esm/types.js +0 -2
  175. package/dist/esm/types.js.map +0 -1
  176. package/dist/esm/utils.js +0 -92
  177. package/dist/esm/utils.js.map +0 -1
  178. package/dist/types/__tests__/interact.spec.d.ts +0 -1
  179. 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).