@squirkle-ui/swiper 0.0.0-stage → 0.1.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 KheangLov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,36 @@
1
- # Temporary Holding Version
1
+ # @squirkle-ui/swiper
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Carousel / slider for [Squirkle UI](https://www.npmjs.com/package/squirkle-ui). Works with Vue 3 and Vue 2.7.
4
+
5
+ ## Install
6
+ ```bash
7
+ npm i @squirkle-ui/swiper @squirkle-ui/ui
8
+ ```
9
+ Or get every component and add-on with [`squirkle-ui`](https://www.npmjs.com/package/squirkle-ui) and import from `squirkle-ui/swiper`.
10
+
11
+ Peer dependencies: `vue`, `@squirkle-ui/ui`. Set up `@squirkle-ui/ui` first (`app.use(createSquirkle())` and `@squirkle-ui/ui/styles.css`).
12
+
13
+ ## Usage
14
+ ```ts
15
+ import { SqSwiper } from '@squirkle-ui/swiper' // Vue 3
16
+ // import { SqSwiper } from '@squirkle-ui/swiper/vue2' // Vue 2.7
17
+ import '@squirkle-ui/swiper/styles.css'
18
+ ```
19
+ ```vue
20
+ <template>
21
+ <SqSwiper v-model="index" :items="slides" :slides-per-view="1.2" :space-between="16" loop>
22
+ <template #default="{ item }"><img :src="item.src" :alt="item.alt" /></template>
23
+ </SqSwiper>
24
+ </template>
25
+ <script setup lang="ts">
26
+ import { ref } from 'vue'
27
+ import { SqSwiper } from '@squirkle-ui/swiper'
28
+ const index = ref(0)
29
+ const slides = [{ src: '/a.jpg', alt: 'A' }, { src: '/b.jpg', alt: 'B' }]
30
+ </script>
31
+ ```
32
+ Key props: `items`, `itemKey`, `slidesPerView`, `spaceBetween`, `breakpoints`, `effect`, `loop`, `pagination` (`dots` · `fraction` · `progress` · `false`).
33
+
34
+
35
+ ## License
36
+ MIT © KheangLov · [Source and issues](https://github.com/KheangLov/squirkle-ui)
@@ -0,0 +1,47 @@
1
+
2
+ .sq-swiper { position: relative; overflow: hidden; outline: none; touch-action: pan-y; user-select: none;
3
+ }
4
+ .sq-swiper--vertical { touch-action: pan-x;
5
+ }
6
+ .sq-swiper:focus-visible { box-shadow: var(--sq-focus-ring);
7
+ }
8
+ .sq-swiper__track { position: relative; width: 100%; height: 100%; cursor: grab;
9
+ }
10
+ .sq-swiper--dragging .sq-swiper__track { cursor: grabbing;
11
+ }
12
+ .sq-swiper__slide { position: absolute; top: 0; left: 0; height: 100%; transition-property: transform, opacity; transition-timing-function: var(--sq-ease); will-change: transform;
13
+ }
14
+ .sq-swiper--vertical .sq-swiper__slide { width: 100%; height: auto;
15
+ }
16
+ .sq-swiper__slide--jump { transition: none !important;
17
+ }
18
+ .sq-swiper__slide > * { width: 100%; height: 100%;
19
+ }
20
+ .sq-swiper--fade .sq-swiper__slide, .sq-swiper--cards .sq-swiper__slide { width: 100% !important;
21
+ }
22
+ .sq-swiper--cards { overflow: visible; --sq-bg: transparent;
23
+ }
24
+ .sq-swiper__nav { position: absolute; top: 50%; z-index: 120; transform: translateY(-50%);
25
+ }
26
+ .sq-swiper__nav--prev { left: var(--sq-space-3);
27
+ }
28
+ .sq-swiper__nav--next { right: var(--sq-space-3);
29
+ }
30
+ .sq-swiper--vertical .sq-swiper__nav { left: 50%; top: auto; transform: translateX(-50%);
31
+ }
32
+ .sq-swiper--vertical .sq-swiper__nav--prev { top: var(--sq-space-3);
33
+ }
34
+ .sq-swiper--vertical .sq-swiper__nav--next { bottom: var(--sq-space-3);
35
+ }
36
+ .sq-swiper__dots { position: absolute; z-index: 120; left: 50%; bottom: var(--sq-space-3); transform: translateX(-50%); display: flex; gap: 6px; padding: 6px 8px; border-radius: var(--sq-radius-pill); background: color-mix(in srgb, var(--sq-overlay) 28%, transparent); backdrop-filter: blur(8px);
37
+ }
38
+ .sq-swiper__dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: var(--sq-radius-pill); background: rgb(255 255 255 / 0.55); cursor: pointer; transition: width var(--sq-duration) var(--sq-ease), background var(--sq-duration);
39
+ }
40
+ .sq-swiper__dot--active { width: 22px; background: #fff;
41
+ }
42
+ .sq-swiper__fraction { position: absolute; z-index: 120; right: var(--sq-space-3); bottom: var(--sq-space-3); padding: 2px 10px; border-radius: var(--sq-radius-pill); background: color-mix(in srgb, var(--sq-overlay) 45%, transparent); color: #fff; font-size: var(--sq-text-xs); font-weight: var(--sq-weight-semibold);
43
+ }
44
+ .sq-swiper__progress { position: absolute; z-index: 120; left: 0; right: 0; bottom: 0; height: 4px; background: color-mix(in srgb, var(--sq-overlay) 20%, transparent);
45
+ }
46
+ .sq-swiper__progress > div { height: 100%; background: var(--sq-primary); transition: width var(--sq-duration-slow) var(--sq-ease);
47
+ }
@@ -0,0 +1,503 @@
1
+ import { type PropType } from 'vue';
2
+ type Effect = 'slide' | 'fade' | 'coverflow' | 'cards';
3
+ interface Responsive {
4
+ slidesPerView?: number;
5
+ spaceBetween?: number;
6
+ }
7
+ /**
8
+ * Touch/mouse swiper. `loop` is a real infinite loop without cloned slides: every slide is positioned
9
+ * at its wrapped offset from the active index, and slides that wrap around jump without animating.
10
+ */
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
14
+ modelValue: {
15
+ type: NumberConstructor;
16
+ default: number;
17
+ };
18
+ items: {
19
+ type: PropType<unknown[]>;
20
+ default: () => never[];
21
+ };
22
+ itemKey: {
23
+ type: StringConstructor;
24
+ default: undefined;
25
+ };
26
+ slidesPerView: {
27
+ type: NumberConstructor;
28
+ default: number;
29
+ };
30
+ spaceBetween: {
31
+ type: NumberConstructor;
32
+ default: number;
33
+ };
34
+ /** { 640: { slidesPerView: 2 }, 1024: { slidesPerView: 3 } } — keys are min container widths. */
35
+ breakpoints: {
36
+ type: PropType<Record<number, Responsive>>;
37
+ default: undefined;
38
+ };
39
+ effect: {
40
+ type: PropType<Effect>;
41
+ default: string;
42
+ };
43
+ loop: BooleanConstructor;
44
+ centered: BooleanConstructor;
45
+ vertical: BooleanConstructor;
46
+ /** Autoplay delay in ms; 0 disables. */
47
+ autoplay: {
48
+ type: NumberConstructor;
49
+ default: number;
50
+ };
51
+ pauseOnHover: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ speed: {
56
+ type: NumberConstructor;
57
+ default: number;
58
+ };
59
+ navigation: {
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ };
63
+ pagination: {
64
+ type: PropType<"dots" | "fraction" | "progress" | false>;
65
+ default: string;
66
+ };
67
+ height: {
68
+ type: (NumberConstructor | StringConstructor)[];
69
+ default: number;
70
+ };
71
+ rounded: {
72
+ type: (NumberConstructor | StringConstructor)[];
73
+ default: string;
74
+ };
75
+ label: {
76
+ type: StringConstructor;
77
+ default: string;
78
+ };
79
+ }>, {
80
+ root: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
81
+ list: import("vue").ComputedRef<unknown[]>;
82
+ keyOf: (item: unknown, i: number) => string | number;
83
+ normIndex: import("vue").ComputedRef<number>;
84
+ pageCount: import("vue").ComputedRef<number>;
85
+ canPrev: import("vue").ComputedRef<boolean>;
86
+ canNext: import("vue").ComputedRef<boolean>;
87
+ slideStyle: (i: number) => Record<string, string>;
88
+ isVisible: (i: number) => boolean;
89
+ goTo: (i: number) => void;
90
+ next: () => number | void;
91
+ prev: () => number | false | void;
92
+ onDown: (e: PointerEvent) => void;
93
+ dragging: import("vue").Ref<boolean, boolean>;
94
+ hovering: import("vue").Ref<boolean, boolean>;
95
+ jumping: import("vue").Ref<Set<number> & Omit<Set<number>, keyof Set<any>>, Set<number> | (Set<number> & Omit<Set<number>, keyof Set<any>>)>;
96
+ rootStyle: import("vue").ComputedRef<{
97
+ height: string;
98
+ '--sq-r': string;
99
+ '--sq-bg': string;
100
+ }>;
101
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
102
+ modelValue: {
103
+ type: NumberConstructor;
104
+ default: number;
105
+ };
106
+ items: {
107
+ type: PropType<unknown[]>;
108
+ default: () => never[];
109
+ };
110
+ itemKey: {
111
+ type: StringConstructor;
112
+ default: undefined;
113
+ };
114
+ slidesPerView: {
115
+ type: NumberConstructor;
116
+ default: number;
117
+ };
118
+ spaceBetween: {
119
+ type: NumberConstructor;
120
+ default: number;
121
+ };
122
+ /** { 640: { slidesPerView: 2 }, 1024: { slidesPerView: 3 } } — keys are min container widths. */
123
+ breakpoints: {
124
+ type: PropType<Record<number, Responsive>>;
125
+ default: undefined;
126
+ };
127
+ effect: {
128
+ type: PropType<Effect>;
129
+ default: string;
130
+ };
131
+ loop: BooleanConstructor;
132
+ centered: BooleanConstructor;
133
+ vertical: BooleanConstructor;
134
+ /** Autoplay delay in ms; 0 disables. */
135
+ autoplay: {
136
+ type: NumberConstructor;
137
+ default: number;
138
+ };
139
+ pauseOnHover: {
140
+ type: BooleanConstructor;
141
+ default: boolean;
142
+ };
143
+ speed: {
144
+ type: NumberConstructor;
145
+ default: number;
146
+ };
147
+ navigation: {
148
+ type: BooleanConstructor;
149
+ default: boolean;
150
+ };
151
+ pagination: {
152
+ type: PropType<"dots" | "fraction" | "progress" | false>;
153
+ default: string;
154
+ };
155
+ height: {
156
+ type: (NumberConstructor | StringConstructor)[];
157
+ default: number;
158
+ };
159
+ rounded: {
160
+ type: (NumberConstructor | StringConstructor)[];
161
+ default: string;
162
+ };
163
+ label: {
164
+ type: StringConstructor;
165
+ default: string;
166
+ };
167
+ }>> & Readonly<{
168
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
169
+ onChange?: ((...args: any[]) => any) | undefined;
170
+ }>, {
171
+ rounded: string | number;
172
+ loop: boolean;
173
+ centered: boolean;
174
+ vertical: boolean;
175
+ modelValue: number;
176
+ items: unknown[];
177
+ itemKey: string;
178
+ slidesPerView: number;
179
+ spaceBetween: number;
180
+ breakpoints: Record<number, Responsive>;
181
+ effect: Effect;
182
+ autoplay: number;
183
+ pauseOnHover: boolean;
184
+ speed: number;
185
+ navigation: boolean;
186
+ pagination: false | "dots" | "fraction" | "progress";
187
+ height: string | number;
188
+ label: string;
189
+ }, {}, {
190
+ SqBtn: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
191
+ text: {
192
+ type: StringConstructor;
193
+ default: undefined;
194
+ };
195
+ variant: {
196
+ type: PropType<import("@squirkle-ui/ui").Variant>;
197
+ default: import("@squirkle-ui/ui").Variant;
198
+ };
199
+ color: {
200
+ default: string;
201
+ type: StringConstructor;
202
+ };
203
+ size: {
204
+ type: PropType<import("@squirkle-ui/ui").Size>;
205
+ default: string;
206
+ };
207
+ rounded: {
208
+ type: PropType<import("@squirkle-ui/ui").Rounded>;
209
+ default: undefined;
210
+ };
211
+ icon: {
212
+ type: (BooleanConstructor | StringConstructor)[];
213
+ default: undefined;
214
+ };
215
+ prependIcon: {
216
+ type: StringConstructor;
217
+ default: undefined;
218
+ };
219
+ appendIcon: {
220
+ type: StringConstructor;
221
+ default: undefined;
222
+ };
223
+ block: BooleanConstructor;
224
+ loading: BooleanConstructor;
225
+ disabled: BooleanConstructor;
226
+ active: {
227
+ type: BooleanConstructor;
228
+ default: undefined;
229
+ };
230
+ elevation: {
231
+ type: (StringConstructor | NumberConstructor)[];
232
+ default: undefined;
233
+ };
234
+ href: {
235
+ type: StringConstructor;
236
+ default: undefined;
237
+ };
238
+ to: {
239
+ type: (ObjectConstructor | StringConstructor)[];
240
+ default: undefined;
241
+ };
242
+ type: {
243
+ type: PropType<"button" | "submit" | "reset">;
244
+ default: string;
245
+ };
246
+ value: {
247
+ type: (ObjectConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[];
248
+ default: undefined;
249
+ };
250
+ }>, {
251
+ tag: import("vue").ComputedRef<"button" | "router-link" | "a">;
252
+ style: import("vue").ComputedRef<{
253
+ "--sq-shadow"?: undefined;
254
+ "--sq-shadow-filter"?: undefined;
255
+ "--sq-r": string;
256
+ } | {
257
+ "--sq-shadow": string;
258
+ "--sq-shadow-filter": string;
259
+ "--sq-r": string;
260
+ }>;
261
+ classes: import("vue").ComputedRef<(string | {
262
+ "sq-btn--icon": boolean;
263
+ "sq-btn--block": boolean;
264
+ "sq-btn--loading": boolean;
265
+ "sq-btn--active": boolean;
266
+ "sq-disabled": boolean;
267
+ })[]>;
268
+ iconName: import("vue").ComputedRef<string | undefined>;
269
+ isActive: import("vue").ComputedRef<boolean>;
270
+ isDisabled: import("vue").ComputedRef<boolean>;
271
+ toggleable: boolean;
272
+ onClick: (e: MouseEvent) => void;
273
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
274
+ text: {
275
+ type: StringConstructor;
276
+ default: undefined;
277
+ };
278
+ variant: {
279
+ type: PropType<import("@squirkle-ui/ui").Variant>;
280
+ default: import("@squirkle-ui/ui").Variant;
281
+ };
282
+ color: {
283
+ default: string;
284
+ type: StringConstructor;
285
+ };
286
+ size: {
287
+ type: PropType<import("@squirkle-ui/ui").Size>;
288
+ default: string;
289
+ };
290
+ rounded: {
291
+ type: PropType<import("@squirkle-ui/ui").Rounded>;
292
+ default: undefined;
293
+ };
294
+ icon: {
295
+ type: (BooleanConstructor | StringConstructor)[];
296
+ default: undefined;
297
+ };
298
+ prependIcon: {
299
+ type: StringConstructor;
300
+ default: undefined;
301
+ };
302
+ appendIcon: {
303
+ type: StringConstructor;
304
+ default: undefined;
305
+ };
306
+ block: BooleanConstructor;
307
+ loading: BooleanConstructor;
308
+ disabled: BooleanConstructor;
309
+ active: {
310
+ type: BooleanConstructor;
311
+ default: undefined;
312
+ };
313
+ elevation: {
314
+ type: (StringConstructor | NumberConstructor)[];
315
+ default: undefined;
316
+ };
317
+ href: {
318
+ type: StringConstructor;
319
+ default: undefined;
320
+ };
321
+ to: {
322
+ type: (ObjectConstructor | StringConstructor)[];
323
+ default: undefined;
324
+ };
325
+ type: {
326
+ type: PropType<"button" | "submit" | "reset">;
327
+ default: string;
328
+ };
329
+ value: {
330
+ type: (ObjectConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[];
331
+ default: undefined;
332
+ };
333
+ }>> & Readonly<{
334
+ onClick?: ((...args: any[]) => any) | undefined;
335
+ }>, {
336
+ loading: boolean;
337
+ icon: string | boolean;
338
+ type: "button" | "submit" | "reset";
339
+ active: boolean;
340
+ text: string;
341
+ size: import("@squirkle-ui/ui").Size;
342
+ color: string;
343
+ rounded: import("@squirkle-ui/ui").Rounded;
344
+ block: boolean;
345
+ disabled: boolean;
346
+ variant: import("@squirkle-ui/ui").Variant;
347
+ prependIcon: string;
348
+ appendIcon: string;
349
+ elevation: string | number;
350
+ href: string;
351
+ to: string | Record<string, any>;
352
+ value: string | number | boolean | Record<string, any>;
353
+ }, {}, {
354
+ SqShape: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
355
+ watchKey: {
356
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
357
+ default: undefined;
358
+ };
359
+ clip: BooleanConstructor;
360
+ }>, {
361
+ active: import("vue").Ref<boolean, boolean>;
362
+ w: import("vue").Ref<number, number>;
363
+ h: import("vue").Ref<number, number>;
364
+ bw: import("vue").Ref<number, number>;
365
+ d: import("vue").ComputedRef<string>;
366
+ strokeD: import("vue").ComputedRef<string>;
367
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
368
+ watchKey: {
369
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
370
+ default: undefined;
371
+ };
372
+ clip: BooleanConstructor;
373
+ }>> & Readonly<{}>, {
374
+ clip: boolean;
375
+ watchKey: string | number | boolean | unknown[] | Record<string, any>;
376
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
377
+ SqIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
378
+ icon: {
379
+ type: StringConstructor;
380
+ default: undefined;
381
+ };
382
+ size: {
383
+ type: (StringConstructor | NumberConstructor)[];
384
+ default: string;
385
+ };
386
+ color: {
387
+ type: StringConstructor;
388
+ default: undefined;
389
+ };
390
+ label: {
391
+ type: StringConstructor;
392
+ default: undefined;
393
+ };
394
+ clickable: BooleanConstructor;
395
+ }>, {
396
+ resolved: import("vue").ComputedRef<import("@squirkle-ui/ui/dist/types/icons").ResolvedIcon>;
397
+ style: import("vue").ComputedRef<{
398
+ "--sq-icon-size": string;
399
+ color: string | undefined;
400
+ }>;
401
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
402
+ icon: {
403
+ type: StringConstructor;
404
+ default: undefined;
405
+ };
406
+ size: {
407
+ type: (StringConstructor | NumberConstructor)[];
408
+ default: string;
409
+ };
410
+ color: {
411
+ type: StringConstructor;
412
+ default: undefined;
413
+ };
414
+ label: {
415
+ type: StringConstructor;
416
+ default: undefined;
417
+ };
418
+ clickable: BooleanConstructor;
419
+ }>> & Readonly<{}>, {
420
+ label: string;
421
+ icon: string;
422
+ clickable: boolean;
423
+ size: string | number;
424
+ color: string;
425
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
426
+ SqProgressCircular: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
427
+ modelValue: {
428
+ type: NumberConstructor;
429
+ default: number;
430
+ };
431
+ indeterminate: BooleanConstructor;
432
+ size: {
433
+ type: (StringConstructor | NumberConstructor)[];
434
+ default: number;
435
+ };
436
+ width: {
437
+ type: NumberConstructor;
438
+ default: number;
439
+ };
440
+ color: {
441
+ type: StringConstructor;
442
+ default: string;
443
+ };
444
+ }>, {
445
+ r: import("vue").ComputedRef<number>;
446
+ circ: import("vue").ComputedRef<number>;
447
+ offset: import("vue").ComputedRef<number>;
448
+ style: import("vue").ComputedRef<{
449
+ width: string | undefined;
450
+ height: string | undefined;
451
+ color: string | undefined;
452
+ }>;
453
+ has: (n: string) => boolean;
454
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
455
+ modelValue: {
456
+ type: NumberConstructor;
457
+ default: number;
458
+ };
459
+ indeterminate: BooleanConstructor;
460
+ size: {
461
+ type: (StringConstructor | NumberConstructor)[];
462
+ default: number;
463
+ };
464
+ width: {
465
+ type: NumberConstructor;
466
+ default: number;
467
+ };
468
+ color: {
469
+ type: StringConstructor;
470
+ default: string;
471
+ };
472
+ }>> & Readonly<{}>, {
473
+ width: number;
474
+ size: string | number;
475
+ color: string;
476
+ indeterminate: boolean;
477
+ modelValue: number;
478
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
479
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
480
+ SqShape: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
481
+ watchKey: {
482
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
483
+ default: undefined;
484
+ };
485
+ clip: BooleanConstructor;
486
+ }>, {
487
+ active: import("vue").Ref<boolean, boolean>;
488
+ w: import("vue").Ref<number, number>;
489
+ h: import("vue").Ref<number, number>;
490
+ bw: import("vue").Ref<number, number>;
491
+ d: import("vue").ComputedRef<string>;
492
+ strokeD: import("vue").ComputedRef<string>;
493
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
494
+ watchKey: {
495
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
496
+ default: undefined;
497
+ };
498
+ clip: BooleanConstructor;
499
+ }>> & Readonly<{}>, {
500
+ clip: boolean;
501
+ watchKey: string | number | boolean | unknown[] | Record<string, any>;
502
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
503
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,4 @@
1
+ import SqSwiper from './SqSwiper.vue';
2
+ export { SqSwiper };
3
+ export declare const componentNames: readonly ["SqSwiper"];
4
+ export default SqSwiper;