move.gl 0.0.1

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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/css/move.gl.css +2 -0
  4. package/css/move.gl.min.css +2 -0
  5. package/package.json +55 -0
  6. package/scss/classes/_animations.scss +576 -0
  7. package/scss/classes/_index.scss +0 -0
  8. package/scss/classes/_transforms.scss +124 -0
  9. package/scss/classes/keyboard.scss +18 -0
  10. package/scss/classes/screensaver.scss +15 -0
  11. package/scss/dev/_banner.scss +36 -0
  12. package/scss/dev/_debug.scss +18 -0
  13. package/scss/dev/_deprecation.scss +10 -0
  14. package/scss/dev/_index.scss +8 -0
  15. package/scss/dev/_modules.scss +24 -0
  16. package/scss/effects/_filter.scss +176 -0
  17. package/scss/effects/_index.scss +23 -0
  18. package/scss/effects/_opacity.scss +62 -0
  19. package/scss/effects/_shadow.scss +175 -0
  20. package/scss/functions/_index.scss +0 -0
  21. package/scss/functions/scenes/_bubble.scss +19 -0
  22. package/scss/functions/scenes/_index.scss +20 -0
  23. package/scss/index.scss +0 -0
  24. package/scss/keyframes/_beat.scss +26 -0
  25. package/scss/keyframes/_index.scss +0 -0
  26. package/scss/maps/_index.scss +0 -0
  27. package/scss/maps/_mouse.scss +96 -0
  28. package/scss/mixins/_accessibility.scss +70 -0
  29. package/scss/mixins/_boot.scss +51 -0
  30. package/scss/mixins/_hover.scss +51 -0
  31. package/scss/mixins/_index.scss +0 -0
  32. package/scss/mixins/_selection.scss +321 -0
  33. package/scss/mixins/_shape.scss +44 -0
  34. package/scss/mixins/_touch.scss +95 -0
  35. package/scss/mixins/animations/--hover.scss +107 -0
  36. package/scss/mixins/animations/_base.scss +337 -0
  37. package/scss/mixins/animations/_beat.scss +119 -0
  38. package/scss/mixins/animations/_blink.scss +151 -0
  39. package/scss/mixins/animations/_bounce.scss +192 -0
  40. package/scss/mixins/animations/_elastic.scss +65 -0
  41. package/scss/mixins/animations/_fade.scss +154 -0
  42. package/scss/mixins/animations/_flash.scss +177 -0
  43. package/scss/mixins/animations/_flip.scss +72 -0
  44. package/scss/mixins/animations/_float.scss +126 -0
  45. package/scss/mixins/animations/_glow.scss +179 -0
  46. package/scss/mixins/animations/_heartbeat.scss +175 -0
  47. package/scss/mixins/animations/_hinge.scss +119 -0
  48. package/scss/mixins/animations/_index.scss +37 -0
  49. package/scss/mixins/animations/_jello.scss +129 -0
  50. package/scss/mixins/animations/_jiggle.scss +163 -0
  51. package/scss/mixins/animations/_lightspeed.scss +130 -0
  52. package/scss/mixins/animations/_nod.scss +161 -0
  53. package/scss/mixins/animations/_pop.scss +150 -0
  54. package/scss/mixins/animations/_pulse.scss +213 -0
  55. package/scss/mixins/animations/_ripple.scss +169 -0
  56. package/scss/mixins/animations/_roll.scss +261 -0
  57. package/scss/mixins/animations/_rotate.scss +428 -0
  58. package/scss/mixins/animations/_rubber.scss +116 -0
  59. package/scss/mixins/animations/_scale.scss +113 -0
  60. package/scss/mixins/animations/_shake.scss +182 -0
  61. package/scss/mixins/animations/_slide.scss +294 -0
  62. package/scss/mixins/animations/_spin.scss +219 -0
  63. package/scss/mixins/animations/_sway.scss +167 -0
  64. package/scss/mixins/animations/_swing.scss +247 -0
  65. package/scss/mixins/animations/_tada.scss +233 -0
  66. package/scss/mixins/animations/_twist.scss +177 -0
  67. package/scss/mixins/animations/_wave.scss +166 -0
  68. package/scss/mixins/animations/_wobble.scss +254 -0
  69. package/scss/mixins/animations/_zoom.scss +166 -0
  70. package/scss/mixins/effects/_filter.scss +148 -0
  71. package/scss/mixins/effects/_index.scss +0 -0
  72. package/scss/mixins/effects/_shadow.scss +21 -0
  73. package/scss/mixins/loaders/_index.scss +0 -0
  74. package/scss/mixins/loaders/_progress.scss +174 -0
  75. package/scss/mixins/loaders/_spinner.scss +101 -0
  76. package/scss/mixins/loaders/circle_01.scss +22 -0
  77. package/scss/mixins/loaders/circle_02.scss +19 -0
  78. package/scss/mixins/loaders/circle_03.scss +29 -0
  79. package/scss/mixins/loaders/circle_inner_01.scss +33 -0
  80. package/scss/mixins/loaders/circle_inner_02.scss +33 -0
  81. package/scss/mixins/loaders/circle_inner_03.scss +34 -0
  82. package/scss/mixins/mouse/_cursor.scss +182 -0
  83. package/scss/mixins/mouse/_index.scss +0 -0
  84. package/scss/mixins/mouse/_pointer.scss +258 -0
  85. package/scss/mixins/scroll/_index.scss +0 -0
  86. package/scss/mixins/scroll/_scroll.scss +104 -0
  87. package/scss/mixins/scroll/_scrollbar.scss +249 -0
  88. package/scss/mixins/transforms/_flip.scss +76 -0
  89. package/scss/mixins/transforms/_index.scss +23 -0
  90. package/scss/mixins/transforms/_matrix.scss +1 -0
  91. package/scss/mixins/transforms/_perspective.scss +11 -0
  92. package/scss/mixins/transforms/_rotate.scss +101 -0
  93. package/scss/mixins/transforms/_scale.scss +11 -0
  94. package/scss/mixins/transforms/_skew.scss +13 -0
  95. package/scss/mixins/transforms/_translate.scss +13 -0
  96. package/scss/mixins/transitions/_index.scss +0 -0
  97. package/scss/mixins/transitions/_transition.scss +13 -0
  98. package/scss/variables/_animation.scss +91 -0
  99. package/scss/variables/_index.scss +0 -0
  100. package/ts/ARContent.ts +27 -0
  101. package/ts/ARInteraction.ts +34 -0
  102. package/ts/AdaptiveUI.ts +25 -0
  103. package/ts/ContentStreaming.ts +20 -0
  104. package/ts/Draggable.ts +71 -0
  105. package/ts/DynamicEnvironment.ts +60 -0
  106. package/ts/Gesture.ts +168 -0
  107. package/ts/ImmersiveAudio.ts +40 -0
  108. package/ts/InteractiveCanvas.ts +177 -0
  109. package/ts/InteractiveVideo.ts +29 -0
  110. package/ts/Keyboard.ts +162 -0
  111. package/ts/RealTimeCollaboration.ts +25 -0
  112. package/ts/Screensaver.ts +140 -0
  113. package/ts/SpatialNavigation.ts +38 -0
  114. package/ts/UserProfile.ts +27 -0
  115. package/ts/VRExperience.ts +58 -0
  116. package/ts/VideoOverlay.ts +116 -0
  117. package/ts/index.ts +0 -0
@@ -0,0 +1,249 @@
1
+
2
+
3
+ // ============================================================================
4
+ // Scrollbar
5
+ // ============================================================================
6
+ @use "../variables" as *;
7
+ @use "../mixins" as *;
8
+
9
+ /*
10
+ ::-webkit-scrollbar {}
11
+ ::-webkit-scrollbar-button {}
12
+ ::-webkit-scrollbar-track {}
13
+ ::-webkit-scrollbar-track-piece {}
14
+ ::-webkit-scrollbar-thumb {}
15
+ ::-webkit-scrollbar-corner {}
16
+ ::-webkit-resizer {}
17
+ https://gist.github.com/JuanMaRuiz/7927982
18
+
19
+
20
+ ::-webkit-scrollbar — the entire scrollbar.
21
+ ::-webkit-scrollbar-button — the buttons on the scrollbar (arrows pointing upwards and downwards).
22
+ ::-webkit-scrollbar-thumb — the draggable scrolling handle.
23
+ ::-webkit-scrollbar-track — the track (progress bar) of the scrollbar.
24
+ ::-webkit-scrollbar-track-piece — the part of the track (progress bar) not covered by the handle.
25
+ ::-webkit-scrollbar-corner — the bottom corner of the scrollbar, where both horizontal and vertical scrollbars meet.
26
+ ::-webkit-resizer — the draggable resizing handle that appears at the bottom corner of some elements.
27
+ */
28
+
29
+
30
+ // width
31
+ *::-webkit-scrollbar {
32
+ // width: $q * 2;
33
+ // //width: 0px;
34
+ // background: transparent;
35
+ // overflow: visible;
36
+ // background-color: transparent;
37
+ // display: none;
38
+ width: 12px;
39
+
40
+ // width: 3px !important;
41
+ background-color: transparent;
42
+ }
43
+
44
+ // Track
45
+ *::-webkit-scrollbar-track {
46
+ //background: $color_01;
47
+ // opacity: 0.0;
48
+ // // opacity: 1.0;
49
+ // background-color: transparent;
50
+ // //width: 0px;
51
+ // //background: rgba(0, 0, 0, 0.2);
52
+ // display: none;
53
+ // -webkit-box-shadow: none;
54
+
55
+ // display: none;
56
+ -webkit-box-shadow: none !important;
57
+ background-color: transparent;
58
+ }
59
+
60
+ // Track Piece
61
+ *::-webkit-scrollbar-track-piece{
62
+ //display: none;
63
+ // width: 8px;
64
+ // display: none;
65
+
66
+ -webkit-border-radius: 6px;
67
+ }
68
+
69
+ // Handle
70
+ *::-webkit-scrollbar-thumb {
71
+ //height:30px;
72
+ //background-color: rgba(0, 0, 0, 0.2);
73
+ //border: solid $color_02;
74
+ // border-radius: $q;
75
+ // opacity: 0.5;
76
+ // display: block;
77
+ // background-color: transparent;
78
+
79
+ // background:$color_02;
80
+ // -webkit-box-shadow: none;
81
+ }
82
+
83
+ *::-webkit-scrollbar-thumb:window-inactive {
84
+ background: none;
85
+ }
86
+
87
+ // Handle on hover
88
+ *::-webkit-scrollbar-thumb:hover {
89
+ //background:$color_02;
90
+ //opacity: 1;
91
+
92
+ }
93
+
94
+
95
+ ::-webkit-scrollbar-thumb:vertical {
96
+ ///height: 50px;
97
+ //background-color: #333333;
98
+ //-webkit-border-radius: 8px;
99
+ }
100
+
101
+
102
+
103
+
104
+ ::-webkit-scrollbar-button:start:decrement,
105
+ body::-webkit-scrollbar-button:end:increment {
106
+ //display: block;
107
+ //height: 0;
108
+ //background-color: transparent;
109
+ }
110
+
111
+
112
+
113
+
114
+ // SCSS Mixin for Custom Scrollbars
115
+ // This mixin allows for customization of the scrollbar's appearance. Note that scrollbar customization is primarily supported in WebKit-based browsers (like Chrome and Safari) and partially in Firefox.
116
+ /// @name custom-scrollbar
117
+ /// Customizes the appearance of scrollbars in WebKit browsers.
118
+ /// @param {Color} $thumb-color - The color of the scrollbar thumb.
119
+ /// @param {Color} $track-color - The color of the scrollbar track.
120
+ /// @param {Number|Unit} $width - The width of the scrollbar (default: 8px).
121
+ /// @example scss - Usage
122
+ /// @include custom-scrollbar(#888, #ccc, 10px);
123
+ @mixin custom-scrollbar($width: 12px, $track-color: #f1f1f1, $thumb-color: #888) {
124
+ // For WebKit-based browsers
125
+ &::-webkit-scrollbar {
126
+ width: $width;
127
+ height: $width;
128
+ }
129
+
130
+ &::-webkit-scrollbar-track {
131
+ background: $track-color;
132
+ }
133
+
134
+ &::-webkit-scrollbar-thumb {
135
+ background: $thumb-color;
136
+ border-radius: $width / 2;
137
+ border: 2px solid $track-color;
138
+ &:hover {
139
+ background: darken($thumb-color, 10%);
140
+ }
141
+ }
142
+
143
+ // For Firefox
144
+ scrollbar-width: thin;
145
+ scrollbar-color: $thumb-color $track-color;
146
+
147
+ // For other browsers, there's limited support for customization.
148
+ }
149
+
150
+
151
+ // Usage Example
152
+ // You can apply this mixin to any element that has overflow content, such as a container with scrollable content.
153
+
154
+
155
+ .scrollable-content {
156
+ @include custom-scrollbar(10px, #e0e0e0, #4A4A4A); // Customize the width, track color, and thumb color
157
+ max-height: 300px;
158
+ overflow-y: scroll;
159
+ }
160
+
161
+
162
+
163
+
164
+
165
+ // Extended Custom Scrollbar Mixin
166
+ // This extended version includes additional styling options for the scrollbar thumb, including hover and active states, and introduces a more detailed approach to styling the scrollbar track and corner.
167
+
168
+
169
+ @mixin extended-custom-scrollbar(
170
+ $width: 12px,
171
+ $track-color: #f1f1f1,
172
+ $thumb-color: #888,
173
+ $thumb-hover-color: darken($thumb-color, 10%),
174
+ $thumb-active-color: darken($thumb-color, 20%)
175
+ ) {
176
+ // Scrollbar track
177
+ &::-webkit-scrollbar {
178
+ width: $width;
179
+ height: $width; // For horizontal scrollbars
180
+ }
181
+
182
+ &::-webkit-scrollbar-track {
183
+ background: $track-color;
184
+ border-radius: $width / 2;
185
+ box-shadow: inset 0 0 5px grey; // Optional: adds inset shadow to the track
186
+ }
187
+
188
+ // Scrollbar thumb
189
+ &::-webkit-scrollbar-thumb {
190
+ background: $thumb-color;
191
+ border-radius: $width / 2;
192
+ border: 3px solid $track-color; // Creates a margin between the track and thumb
193
+
194
+ &:hover {
195
+ background: $thumb-hover-color;
196
+ }
197
+
198
+ &:active {
199
+ background: $thumb-active-color;
200
+ }
201
+ }
202
+
203
+ // Scrollbar corner (where horizontal and vertical scrollbars meet)
204
+ &::-webkit-scrollbar-corner {
205
+ background: $track-color;
206
+ }
207
+
208
+ // Firefox
209
+ scrollbar-width: auto;
210
+ scrollbar-color: $thumb-color $track-color;
211
+
212
+ // More detailed styling for Firefox can be achieved with properties like `scrollbar-width` and `scrollbar-color`
213
+ }
214
+ // Usage Example with Extended Options
215
+ // Apply this mixin to any scrollable element to enhance its appearance with a custom scrollbar that includes interactive states for better user engagement.
216
+
217
+
218
+ .detailed-scrollable-content {
219
+ @include extended-custom-scrollbar(8px, #eaeaea, #bcbcbc, #a8a8a8, #989898);
220
+ max-height: 400px;
221
+ overflow-y: auto;
222
+ }
223
+ // Advanced Customization for Specific Elements
224
+ // You can also target specific parts of the scrollbar for even more detailed customization. For instance, you might want to style only the vertical or horizontal scrollbar, or apply unique styles to the scrollbar buttons (arrows), which some browsers display.
225
+
226
+
227
+ .unique-vertical-scrollbar {
228
+ &::-webkit-scrollbar {
229
+ width: 10px;
230
+ }
231
+
232
+ &::-webkit-scrollbar-thumb {
233
+ background: linear-gradient(180deg, #ff8a00, #e52e71);
234
+ border-radius: 5px;
235
+ }
236
+ }
237
+
238
+ .unique-horizontal-scrollbar {
239
+ &::-webkit-scrollbar {
240
+ height: 10px;
241
+ }
242
+
243
+ &::-webkit-scrollbar-thumb {
244
+ background: linear-gradient(90deg, #ff8a00, #e52e71);
245
+ border-radius: 5px;
246
+ }
247
+ }
248
+
249
+
@@ -0,0 +1,76 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Flip Transforms Mixin Module
8
+ /// ===========================================================================
9
+ /// This module provides mixins for flipping elements in various directions,
10
+ /// such as horizontally, vertically, or both. These mixins can be used to
11
+ /// easily apply flip transforms throughout your project.
12
+ ///
13
+ /// @group Transforms
14
+ /// @author Scape Agency
15
+ /// @link https://move.gl
16
+ /// @since 0.1.0 initial release
17
+ /// @todo None
18
+ /// @access public
19
+ ///
20
+ ////
21
+
22
+
23
+
24
+ // ============================================================================
25
+ // Use
26
+ // ============================================================================
27
+
28
+ @use "../dev" as *;
29
+ @use "../variables" as *;
30
+ @use "../keyframes" as *;
31
+ @use "base" as *;
32
+
33
+
34
+
35
+ // ============================================================================
36
+ // Mixins
37
+ // ============================================================================
38
+
39
+
40
+ ///
41
+ /// Mixin for flipping elements horizontally.
42
+ /// Applies a horizontal flip by scaling the element along the X-axis.
43
+ ///
44
+ /// @name transform_flip_horizontal
45
+ /// @example scss - Usage
46
+ /// .transform_flip_horizontal { @include transform_flip_horizontal(); }
47
+ ///
48
+ @mixin transform_flip_horizontal {
49
+ transform: scale(-1, 1);
50
+ }
51
+
52
+
53
+ ///
54
+ /// Mixin for flipping elements vertically.
55
+ /// Applies a vertical flip by scaling the element along the Y-axis.
56
+ ///
57
+ /// @name transform_flip_vertical
58
+ /// @example scss - Usage
59
+ /// .transform_flip_vertical { @include transform_flip_vertical(); }
60
+ ///
61
+ @mixin transform_flip_vertical {
62
+ transform: scale(1, -1);
63
+ }
64
+
65
+
66
+ ///
67
+ /// Mixin for flipping elements both horizontally and vertically.
68
+ /// Combines horizontal and vertical flips to mirror the element.
69
+ ///
70
+ /// @name transform_flip_both
71
+ /// @example scss - Usage
72
+ /// .transform_flip_both { @include transform_flip_both(); }
73
+ ///
74
+ @mixin transform_flip_both {
75
+ transform: scale(-1, -1);
76
+ }
@@ -0,0 +1,23 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Transforms Mixin Module
8
+ /// ===========================================================================
9
+ /// This module provides reusable mixins for applying transformations such as
10
+ /// rotations and flips to elements. It includes mixins for rotating elements
11
+ /// by a specified degree, as well as predefined classes for common rotation
12
+ /// angles. This module is designed to facilitate the application of CSS
13
+ /// transforms in a consistent and maintainable manner throughout your project.
14
+ ///
15
+ /// @group Transforms
16
+ /// @author Scape Agency
17
+ /// @link https://move.gl
18
+ /// @since 0.1.0 initial release
19
+ /// @todo None
20
+ /// @access public
21
+ ///
22
+ ////
23
+
@@ -0,0 +1 @@
1
+ https://developer.mozilla.org/en-US/docs/Web/CSS/transform
@@ -0,0 +1,11 @@
1
+ ///
2
+ /// Mixin for setting perspective on elements, useful for 3D transforms.
3
+ ///
4
+ /// @mixin perspective
5
+ /// @param {Number} $value [$default-perspective] - The perspective value for 3D transformations.
6
+ /// @example scss - Usage
7
+ /// .icon-perspective { @include perspective(1000px); } // Applies a perspective of 1000px
8
+ ///
9
+ @mixin perspective($value: $default-perspective) {
10
+ perspective: $value;
11
+ }
@@ -0,0 +1,101 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Rotate Transforms Mixin Module
8
+ /// ===========================================================================
9
+ ///
10
+ /// @group Transforms
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @todo None
15
+ /// @access public
16
+ ///
17
+ ////
18
+
19
+
20
+
21
+ // ============================================================================
22
+ // Use
23
+ // ============================================================================
24
+
25
+ @use "../dev" as *;
26
+ @use "../variables" as *;
27
+ @use "../keyframes" as *;
28
+ @use "base" as *;
29
+
30
+
31
+
32
+ // ============================================================================
33
+ // Mixins
34
+ // ============================================================================
35
+
36
+
37
+ ///
38
+ /// Mixin for rotating elements by a specified degree.
39
+ /// Applies a CSS rotation transform to the element.
40
+ ///
41
+ /// @name transform_rotate
42
+ /// @param {Number} $degrees [0deg] - The degree to rotate the element.
43
+ /// @example scss - Usage
44
+ /// .icon_rotate { @include transform_rotate(90deg); } // Rotates icon by 90 degrees
45
+ ///
46
+ @mixin transform_rotate($degrees: 0deg) {
47
+ transform: rotate($degrees);
48
+ }
49
+
50
+
51
+ ///
52
+ /// Mixin for rotating elements based on a dynamic value from a CSS variable.
53
+ /// This allows for rotations that can be adjusted at runtime using CSS variables.
54
+ ///
55
+ /// @name transform_rotate_dynamic
56
+ /// @param {String} $variable [--rotation-angle] - The CSS variable to use for dynamic rotation.
57
+ /// @example scss - Usage
58
+ /// .transform_rotate_dynamic { @include transform_rotate_dynamic('--my_custom_rotation'); }
59
+ ///
60
+ @mixin transform_rotate_dynamic($variable: '--rotation_angle') {
61
+ transform: rotate(var(#{$variable}));
62
+ }
63
+
64
+
65
+
66
+
67
+ ///
68
+ /// Mixin for rotating elements along the X-axis.
69
+ ///
70
+ /// @name transform_rotate_x
71
+ /// @param {Number} $degrees [$default-rotation] - The degree to rotate the element along the X-axis.
72
+ /// @example scss - Usage
73
+ /// .icon-transform_rotate_x { @include transform_rotate_x(45deg); } // Rotates the element 45 degrees along the X-axis
74
+ ///
75
+ @mixin transform_rotate_x($degrees: $default-rotation) {
76
+ transform: rotateX($degrees);
77
+ }
78
+
79
+ ///
80
+ /// Mixin for rotating elements along the Y-axis.
81
+ ///
82
+ /// @name transform_rotate_y
83
+ /// @param {Number} $degrees [$default-rotation] - The degree to rotate the element along the Y-axis.
84
+ /// @example scss - Usage
85
+ /// .icon-transform_rotate_y { @include transform_rotate_y(45deg); } // Rotates the element 45 degrees along the Y-axis
86
+ ///
87
+ @mixin transform_rotate_y($degrees: $default-rotation) {
88
+ transform: rotateY($degrees);
89
+ }
90
+
91
+ ///
92
+ /// Mixin for rotating elements along the Z-axis.
93
+ ///
94
+ /// @name transform_rotate_z
95
+ /// @param {Number} $degrees [$default-rotation] - The degree to rotate the element along the Z-axis.
96
+ /// @example scss - Usage
97
+ /// .icon-transform_rotate_z { @include transform_rotate_z(45deg); } // Rotates the element 45 degrees along the Z-axis
98
+ ///
99
+ @mixin transform_rotate_z($degrees: $default-rotation) {
100
+ transform: rotateZ($degrees);
101
+ }
@@ -0,0 +1,11 @@
1
+ ///
2
+ /// Mixin for scaling elements by a specified factor.
3
+ ///
4
+ /// @mixin scale
5
+ /// @param {Number} $factor [1] - The scaling factor.
6
+ /// @example scss - Usage
7
+ /// .icon_scale { @include scale(1.5); } // Scales the element by 1.5
8
+ ///
9
+ @mixin scale($factor: 1) {
10
+ transform: scale($factor);
11
+ }
@@ -0,0 +1,13 @@
1
+
2
+ ///
3
+ /// Mixin for skewing elements by specified angles along X and Y axes.
4
+ ///
5
+ /// @mixin skew
6
+ /// @param {Number} $x [$default-skew] - The angle to skew along the X-axis.
7
+ /// @param {Number} $y [$default-skew] - The angle to skew along the Y-axis.
8
+ /// @example scss - Usage
9
+ /// .icon-skew { @include skew(10deg, 5deg); } // Skews the element 10deg on X-axis and 5deg on Y-axis
10
+ ///
11
+ @mixin skew($x: $default-skew, $y: $default-skew) {
12
+ transform: skew($x, $y);
13
+ }
@@ -0,0 +1,13 @@
1
+
2
+ ///
3
+ /// Mixin for translating elements by a specified distance along X and Y axes.
4
+ ///
5
+ /// @mixin translate
6
+ /// @param {Number} $x [$default-translate] - The distance to translate along the X-axis.
7
+ /// @param {Number} $y [$default-translate] - The distance to translate along the Y-axis.
8
+ /// @example scss - Usage
9
+ /// .icon-translate { @include translate(10px, 20px); } // Moves the element 10px right and 20px down
10
+ ///
11
+ @mixin translate($x: $default-translate, $y: $default-translate) {
12
+ transform: translate($x, $y);
13
+ }
File without changes
@@ -0,0 +1,13 @@
1
+ ///
2
+ /// Applies a transition to an element.
3
+ ///
4
+ /// @name transition
5
+ /// @param {String} $property - The CSS property to transition.
6
+ /// @param {String} $duration - The duration of the transition (default: 0.3s).
7
+ /// @param {String} $timing-function - The timing function of the transition (default: ease).
8
+ /// @example scss - Usage
9
+ /// @include transition('all', '0.3s', 'ease-in-out');
10
+ ///
11
+ @mixin transition($property, $duration: 0.3s, $timing-function: ease) {
12
+ transition: #{$property} #{$duration} #{$timing-function};
13
+ }
@@ -0,0 +1,91 @@
1
+
2
+ // ============================================================================
3
+ // StyleScape | Animations | Base
4
+ // ============================================================================
5
+
6
+ @use "../dev" as *;
7
+
8
+
9
+ // Default Variables
10
+ // ----------------------------------------------------------------------------
11
+
12
+ $animate_base_duration: 1s !default;
13
+ $animate_base_duration_fast: 0.5s !default;
14
+ $animate_base_duration_slow: 2s !default;
15
+
16
+ $animate_base_delay: 0s !default;
17
+ $animate_base_timing_function: ease-in-out !default;
18
+ $animate_base_iteration_count: infinite !default;
19
+ $animate_base_direction: normal !default;
20
+ $animate_base_color_start: #ffffff !default;
21
+ $animate_base_color_end: #000000 !default;
22
+ $animate_base_color_glow_01: $N2405 !default;
23
+ $animate_base_color_glow_02: $N3005 !default;
24
+ $animate_base_color_glow_03: $N3605 !default;
25
+
26
+
27
+ // ============================================================================
28
+
29
+ $transition_duration_00: 0.5s;
30
+ $transition_duration_01: 1.0s;
31
+ $transition_duration_02: 1.5s;
32
+ $transition_duration_03: 2.0s;
33
+
34
+
35
+
36
+ $slideshow-time: 6s;
37
+
38
+
39
+
40
+ // ============================================================================
41
+
42
+ /// Default animation durations
43
+ $animate-base-duration: 0.5s !default;
44
+ $animate-base-duration-slow: 1s !default;
45
+ $animate-base-duration-fast: 0.25s !default;
46
+
47
+ /// Default timing functions
48
+ $animate-base-timing-function: ease-in-out !default;
49
+ $animate-base-timing-function-fade: cubic-bezier(.4, 0, .6, 1) !default;
50
+
51
+ /// Default iteration counts
52
+ $animate-base-iteration-count: infinite !default;
53
+
54
+ /// Default scale values
55
+ $animate-scale-base: 1 !default;
56
+ $animate-scale-beat: 1.25 !default;
57
+ $animate-scale-beat-fade: 1.125 !default;
58
+ $animate-scale-beat-double-small: 0.8 !default;
59
+ $animate-scale-beat-double-large: 1.5 !default;
60
+
61
+ /// Default opacity values
62
+ $animate-opacity-fade: 0.4 !default;
63
+
64
+ /// Default angles
65
+ $animate-angle-twist: 10deg !default;
66
+ $animate-angle-gentle: 5deg !default;
67
+ $animate-angle-rapid: 15deg !default;
68
+
69
+
70
+
71
+
72
+
73
+
74
+ /// Animation Durations
75
+ $animate-base-duration: 0.5s !default;
76
+ $animate-base-duration-slow: 1s !default;
77
+ $animate-base-duration-fast: 0.25s !default;
78
+
79
+ /// Timing Functions
80
+ $animate-base-timing-function: step-end !default;
81
+ $animate-timing-function-rapid: steps(2, end) !default;
82
+ $animate-timing-function-soft: ease-in-out !default;
83
+ $animate-timing-function-alternate: linear !default;
84
+
85
+ /// Iteration Count
86
+ $animate-base-iteration-count: infinite !default;
87
+
88
+ /// Opacity Levels
89
+ $animate-opacity-start: 1 !default;
90
+ $animate-opacity-blink: 0 !default;
91
+ $animate-opacity-soft-blink: 0.3 !default;
File without changes
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @title Augmented Reality Content Manager
3
+ * @notice Manages the lifecycle and interaction of AR content in web applications.
4
+ * @dev Supports dynamic content updates, positioning, and user interaction in an augmented reality context.
5
+ */
6
+ class ARContentManager {
7
+ private scene: any; // Placeholder for an AR framework scene object, like AR.js or similar.
8
+
9
+ constructor(scene: any) {
10
+ this.scene = scene;
11
+ }
12
+
13
+ public addContent(modelUrl: string, lat: number, lon: number) {
14
+ console.log(`Adding AR content at [${lat}, ${lon}] from ${modelUrl}`);
15
+ // Here you'd add the model to the scene at the specified geolocation.
16
+ }
17
+
18
+ public updateContent(modelId: string, properties: any) {
19
+ console.log(`Updating content ${modelId} with properties`, properties);
20
+ // Update properties like scale, rotation, or interactive elements.
21
+ }
22
+
23
+ public removeContent(modelId: string) {
24
+ console.log(`Removing content ${modelId}`);
25
+ // Remove a model from the scene.
26
+ }
27
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @title AR Interaction Handler
3
+ * @notice Manages Augmented Reality overlays and interactions using the WebXR Device API.
4
+ * @dev Provides functionalities to place and interact with virtual objects in the real world through the user's camera.
5
+ */
6
+ class ARInteractionHandler {
7
+ private xrSession: XRSession | null = null;
8
+
9
+ constructor() {
10
+ this.checkARSupport();
11
+ }
12
+
13
+ private async checkARSupport() {
14
+ if (navigator.xr && await navigator.xr.isSessionSupported('immersive-ar')) {
15
+ console.log("AR is supported.");
16
+ this.initAR();
17
+ } else {
18
+ console.error("AR is not supported on this device.");
19
+ }
20
+ }
21
+
22
+ private async initAR() {
23
+ this.xrSession = await navigator.xr.requestSession('immersive-ar');
24
+ this.setupARSession();
25
+ }
26
+
27
+ private setupARSession() {
28
+ // Initialize and configure AR session settings
29
+ }
30
+
31
+ public addARObjectAt(x: number, y: number, z: number, object: HTMLElement) {
32
+ // Translate screen coordinates to real-world coordinates and add an object there
33
+ }
34
+ }