flowbite-svelte 0.44.17 → 0.44.19
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/alert/Alert.svelte +1 -1
- package/dist/buttons/Button.svelte +79 -17
- package/dist/buttons/Button.svelte.d.ts +7 -3
- package/dist/buttons/Button.svelte.d.ts.map +1 -1
- package/dist/carousel/Carousel.svelte +65 -20
- package/dist/carousel/Carousel.svelte.d.ts +10 -3
- package/dist/carousel/Carousel.svelte.d.ts.map +1 -1
- package/dist/carousel/CarouselSlide.d.ts +6 -0
- package/dist/carousel/CarouselSlide.d.ts.map +1 -0
- package/dist/carousel/CarouselSlide.js +7 -0
- package/dist/carousel/Controls.svelte +28 -7
- package/dist/carousel/Controls.svelte.d.ts +1 -1
- package/dist/carousel/Controls.svelte.d.ts.map +1 -1
- package/dist/carousel/Slide.svelte +29 -9
- package/dist/carousel/Slide.svelte.d.ts +2 -2
- package/dist/carousel/Slide.svelte.d.ts.map +1 -1
- package/dist/carousel/Thumbnails.svelte +19 -3
- package/dist/carousel/Thumbnails.svelte.d.ts +5 -0
- package/dist/carousel/Thumbnails.svelte.d.ts.map +1 -1
- package/dist/datepicker/Datepicker.svelte +3 -0
- package/dist/datepicker/Datepicker.svelte.d.ts +11 -0
- package/dist/datepicker/Datepicker.svelte.d.ts.map +1 -1
- package/dist/footer/Footer.svelte +2 -2
- package/dist/footer/Footer.svelte.d.ts +2 -2
- package/dist/footer/Footer.svelte.d.ts.map +1 -1
- package/dist/forms/CheckboxButton.svelte +84 -0
- package/dist/forms/CheckboxButton.svelte.d.ts +54 -0
- package/dist/forms/CheckboxButton.svelte.d.ts.map +1 -0
- package/dist/forms/FloatingLabelInput.svelte +1 -3
- package/dist/forms/FloatingLabelInput.svelte.d.ts +3 -3
- package/dist/forms/FloatingLabelInput.svelte.d.ts.map +1 -1
- package/dist/forms/RadioButton.svelte +49 -0
- package/dist/forms/RadioButton.svelte.d.ts +52 -0
- package/dist/forms/RadioButton.svelte.d.ts.map +1 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +2 -3
- package/dist/indicators/Indicator.svelte +1 -1
- package/dist/indicators/Indicator.svelte.d.ts +3 -3
- package/dist/indicators/Indicator.svelte.d.ts.map +1 -1
- package/dist/modal/Modal.svelte +3 -3
- package/dist/modal/Modal.svelte.d.ts +6 -1
- package/dist/modal/Modal.svelte.d.ts.map +1 -1
- package/dist/navbar/NavContainer.svelte +14 -0
- package/dist/navbar/NavContainer.svelte.d.ts +25 -0
- package/dist/navbar/NavContainer.svelte.d.ts.map +1 -0
- package/dist/navbar/NavHamburger.svelte +9 -4
- package/dist/navbar/NavHamburger.svelte.d.ts +2 -4
- package/dist/navbar/NavHamburger.svelte.d.ts.map +1 -1
- package/dist/navbar/NavUl.svelte +11 -8
- package/dist/navbar/NavUl.svelte.d.ts +1 -1
- package/dist/navbar/NavUl.svelte.d.ts.map +1 -1
- package/dist/navbar/Navbar.svelte +11 -13
- package/dist/navbar/Navbar.svelte.d.ts +2 -5
- package/dist/navbar/Navbar.svelte.d.ts.map +1 -1
- package/dist/timeline/TimelineItem.svelte +17 -59
- package/dist/timeline/TimelineItem.svelte.d.ts +1 -1
- package/dist/timeline/TimelineItem.svelte.d.ts.map +1 -1
- package/dist/toolbar/Toolbar.svelte +1 -1
- package/dist/types.d.ts +0 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/focusTrap.d.ts.map +1 -1
- package/package.json +32 -32
- package/dist/timeline/TimelineHorizontal.svelte +0 -15
- package/dist/timeline/TimelineHorizontal.svelte.d.ts +0 -25
- package/dist/timeline/TimelineHorizontal.svelte.d.ts.map +0 -1
- package/dist/timeline/TimelineItemHorizontal.svelte +0 -71
- package/dist/timeline/TimelineItemHorizontal.svelte.d.ts +0 -46
- package/dist/timeline/TimelineItemHorizontal.svelte.d.ts.map +0 -1
- package/dist/timeline/TimelineItemVertical.svelte +0 -42
- package/dist/timeline/TimelineItemVertical.svelte.d.ts +0 -36
- package/dist/timeline/TimelineItemVertical.svelte.d.ts.map +0 -1
package/dist/alert/Alert.svelte
CHANGED
|
@@ -37,7 +37,7 @@ $: {
|
|
|
37
37
|
|
|
38
38
|
{#if dismissable}
|
|
39
39
|
<slot name="close-button" {close}>
|
|
40
|
-
<CloseButton class="-
|
|
40
|
+
<CloseButton class="ml-auto -mr-1.5 -my-1.5 dark:hover:bg-gray-700" color={$$restProps.color} on:click={close} on:click on:change on:keydown on:keyup on:focus on:blur on:mouseenter on:mouseleave />
|
|
41
41
|
</slot>
|
|
42
42
|
{/if}
|
|
43
43
|
</Frame>
|
|
@@ -8,8 +8,10 @@ export let href = undefined;
|
|
|
8
8
|
export let type = 'button';
|
|
9
9
|
export let color = group ? (outline ? 'dark' : 'alternative') : 'primary';
|
|
10
10
|
export let shadow = false;
|
|
11
|
+
export let tag = 'button';
|
|
12
|
+
export let checked = undefined;
|
|
11
13
|
const colorClasses = {
|
|
12
|
-
alternative: 'text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 hover:text-primary-700 focus:text-primary-700 dark:focus:text-white dark:hover:text-white',
|
|
14
|
+
alternative: 'text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 hover:text-primary-700 focus-within:text-primary-700 dark:focus-within:text-white dark:hover:text-white',
|
|
13
15
|
blue: 'text-white bg-blue-700 hover:bg-blue-800 dark:bg-blue-600 dark:hover:bg-blue-700',
|
|
14
16
|
dark: 'text-white bg-gray-800 hover:bg-gray-900 dark:bg-gray-800 dark:hover:bg-gray-700',
|
|
15
17
|
green: 'text-white bg-green-700 hover:bg-green-800 dark:bg-green-600 dark:hover:bg-green-700',
|
|
@@ -20,16 +22,28 @@ const colorClasses = {
|
|
|
20
22
|
yellow: 'text-white bg-yellow-400 hover:bg-yellow-500 ',
|
|
21
23
|
none: ''
|
|
22
24
|
};
|
|
25
|
+
const colorCheckedClasses = {
|
|
26
|
+
alternative: 'text-primary-700 border dark:text-primary-500 bg-gray-100 dark:bg-gray-700 border-gray-300 shadow-gray-300 dark:shadow-gray-800 shadow-inner',
|
|
27
|
+
blue: 'text-blue-900 bg-blue-400 dark:bg-blue-500 shadow-blue-700 dark:shadow-blue-800 shadow-inner',
|
|
28
|
+
dark: 'text-white bg-gray-500 dark:bg-gray-600 shadow-gray-800 dark:shadow-gray-900 shadow-inner',
|
|
29
|
+
green: 'text-green-900 bg-green-400 dark:bg-green-500 shadow-green-700 dark:shadow-green-800 shadow-inner',
|
|
30
|
+
light: 'text-gray-900 bg-gray-100 border border-gray-300 dark:bg-gray-500 dark:text-gray-900 dark:border-gray-700 shadow-gray-300 dark:shadow-gray-700 shadow-inner',
|
|
31
|
+
primary: 'text-primary-900 bg-primary-400 dark:bg-primary-500 shadow-primary-700 dark:shadow-primary-800 shadow-inner',
|
|
32
|
+
purple: 'text-purple-900 bg-purple-400 dark:bg-purple-500 shadow-purple-700 dark:shadow-purple-800 shadow-inner',
|
|
33
|
+
red: 'text-red-900 bg-red-400 dark:bg-red-500 shadow-red-700 dark:shadow-red-800 shadow-inner',
|
|
34
|
+
yellow: 'text-yellow-900 bg-yellow-300 dark:bg-yellow-400 shadow-yellow-500 dark:shadow-yellow-700 shadow-inner',
|
|
35
|
+
none: ''
|
|
36
|
+
};
|
|
23
37
|
const coloredFocusClasses = {
|
|
24
|
-
alternative: 'focus:ring-gray-200 dark:focus:ring-gray-700',
|
|
25
|
-
blue: 'focus:ring-blue-300 dark:focus:ring-blue-800',
|
|
26
|
-
dark: 'focus:ring-gray-300 dark:focus:ring-gray-700',
|
|
27
|
-
green: 'focus:ring-green-300 dark:focus:ring-green-800',
|
|
28
|
-
light: 'focus:ring-gray-200 dark:focus:ring-gray-700',
|
|
29
|
-
primary: 'focus:ring-primary-300 dark:focus:ring-primary-800',
|
|
30
|
-
purple: 'focus:ring-purple-300 dark:focus:ring-purple-900',
|
|
31
|
-
red: 'focus:ring-red-300 dark:focus:ring-red-900',
|
|
32
|
-
yellow: 'focus:ring-yellow-300 dark:focus:ring-yellow-900',
|
|
38
|
+
alternative: 'focus-within:ring-gray-200 dark:focus-within:ring-gray-700',
|
|
39
|
+
blue: 'focus-within:ring-blue-300 dark:focus-within:ring-blue-800',
|
|
40
|
+
dark: 'focus-within:ring-gray-300 dark:focus-within:ring-gray-700',
|
|
41
|
+
green: 'focus-within:ring-green-300 dark:focus-within:ring-green-800',
|
|
42
|
+
light: 'focus-within:ring-gray-200 dark:focus-within:ring-gray-700',
|
|
43
|
+
primary: 'focus-within:ring-primary-300 dark:focus-within:ring-primary-800',
|
|
44
|
+
purple: 'focus-within:ring-purple-300 dark:focus-within:ring-purple-900',
|
|
45
|
+
red: 'focus-within:ring-red-300 dark:focus-within:ring-red-900',
|
|
46
|
+
yellow: 'focus-within:ring-yellow-300 dark:focus-within:ring-yellow-900',
|
|
33
47
|
none: ''
|
|
34
48
|
};
|
|
35
49
|
const coloredShadowClasses = {
|
|
@@ -45,9 +59,9 @@ const coloredShadowClasses = {
|
|
|
45
59
|
none: ''
|
|
46
60
|
};
|
|
47
61
|
const outlineClasses = {
|
|
48
|
-
alternative: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:bg-gray-900 focus:text-white focus:ring-gray-300 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-800',
|
|
62
|
+
alternative: 'text-gray-900 dark:text-gray-400 hover:text-white border border-gray-800 hover:bg-gray-900 focus-within:bg-gray-900 focus-within:text-white focus-within:ring-gray-300 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600 dark:focus-within:ring-gray-800',
|
|
49
63
|
blue: 'text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-600',
|
|
50
|
-
dark: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus:bg-gray-900 focus:text-white dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600',
|
|
64
|
+
dark: 'text-gray-900 hover:text-white border border-gray-800 hover:bg-gray-900 focus-within:bg-gray-900 focus-within:text-white dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-600',
|
|
51
65
|
green: 'text-green-700 hover:text-white border border-green-700 hover:bg-green-800 dark:border-green-500 dark:text-green-500 dark:hover:text-white dark:hover:bg-green-600',
|
|
52
66
|
light: 'text-gray-500 hover:text-gray-900 bg-white border border-gray-200 dark:border-gray-600 dark:hover:text-white dark:text-gray-400 hover:bg-gray-50 dark:bg-gray-700 dark:hover:bg-gray-600',
|
|
53
67
|
primary: 'text-primary-700 hover:text-white border border-primary-700 hover:bg-primary-700 dark:border-primary-500 dark:text-primary-500 dark:hover:text-white dark:hover:bg-primary-600',
|
|
@@ -65,12 +79,58 @@ const sizeClasses = {
|
|
|
65
79
|
};
|
|
66
80
|
const hasBorder = () => outline || color === 'alternative' || color === 'light';
|
|
67
81
|
let buttonClass;
|
|
68
|
-
$: buttonClass = twMerge('text-center font-medium', group ? 'focus:ring-2' : 'focus:ring-4', group && 'focus:z-10', group || 'focus:outline-none', 'inline-flex items-center justify-center ' + sizeClasses[size], outline
|
|
82
|
+
$: buttonClass = twMerge('text-center font-medium', group ? 'focus-within:ring-2' : 'focus-within:ring-4', group && 'focus-within:z-10', group || 'focus-within:outline-none', 'inline-flex items-center justify-center ' + sizeClasses[size], outline && checked && 'border dark:border-gray-900', outline && checked && colorCheckedClasses[color], outline && !checked && outlineClasses[color], !outline && checked && colorCheckedClasses[color], !outline && !checked && colorClasses[color], color === 'alternative' &&
|
|
83
|
+
(group && !checked
|
|
84
|
+
? 'dark:bg-gray-700 dark:text-white dark:border-gray-700 dark:hover:border-gray-600 dark:hover:bg-gray-600'
|
|
85
|
+
: 'dark:bg-transparent dark:border-gray-600 dark:hover:border-gray-700'), outline &&
|
|
86
|
+
color === 'dark' &&
|
|
87
|
+
(group
|
|
88
|
+
? checked
|
|
89
|
+
? 'bg-gray-900 border-gray-800 dark:border-white dark:bg-gray-600'
|
|
90
|
+
: 'dark:text-white border-gray-800 dark:border-white'
|
|
91
|
+
: 'dark:text-gray-400 dark:border-gray-700'), coloredFocusClasses[color], hasBorder() && group && 'border-l-0 first:border-l', group
|
|
92
|
+
? (pill && 'first:rounded-l-full last:rounded-r-full') || 'first:rounded-l-lg last:rounded-r-lg'
|
|
93
|
+
: (pill && 'rounded-full') || 'rounded-lg', shadow && 'shadow-lg', shadow && coloredShadowClasses[color], $$props.disabled && 'cursor-not-allowed opacity-50', $$props.class);
|
|
69
94
|
</script>
|
|
70
95
|
|
|
71
|
-
|
|
72
|
-
<
|
|
73
|
-
|
|
96
|
+
{#if href}
|
|
97
|
+
<a
|
|
98
|
+
{href}
|
|
99
|
+
{...$$restProps}
|
|
100
|
+
class={buttonClass}
|
|
101
|
+
role="button"
|
|
102
|
+
on:click
|
|
103
|
+
on:change
|
|
104
|
+
on:keydown
|
|
105
|
+
on:keyup
|
|
106
|
+
on:touchstart|passive
|
|
107
|
+
on:touchend
|
|
108
|
+
on:touchcancel
|
|
109
|
+
on:mouseenter
|
|
110
|
+
on:mouseleave>
|
|
111
|
+
<slot />
|
|
112
|
+
</a>
|
|
113
|
+
{:else if tag === 'button'}
|
|
114
|
+
<button
|
|
115
|
+
{type}
|
|
116
|
+
{...$$restProps}
|
|
117
|
+
class={buttonClass}
|
|
118
|
+
on:click
|
|
119
|
+
on:change
|
|
120
|
+
on:keydown
|
|
121
|
+
on:keyup
|
|
122
|
+
on:touchstart|passive
|
|
123
|
+
on:touchend
|
|
124
|
+
on:touchcancel
|
|
125
|
+
on:mouseenter
|
|
126
|
+
on:mouseleave>
|
|
127
|
+
<slot />
|
|
128
|
+
</button>
|
|
129
|
+
{:else}
|
|
130
|
+
<svelte:element this={tag} {...$$restProps} class={buttonClass}>
|
|
131
|
+
<slot />
|
|
132
|
+
</svelte:element>
|
|
133
|
+
{/if}
|
|
74
134
|
|
|
75
135
|
<!--
|
|
76
136
|
@component
|
|
@@ -80,7 +140,9 @@ $: buttonClass = twMerge('text-center font-medium', group ? 'focus:ring-2' : 'fo
|
|
|
80
140
|
@prop export let outline: boolean = false;
|
|
81
141
|
@prop export let size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = group ? 'sm' : 'md';
|
|
82
142
|
@prop export let href: string | undefined = undefined;
|
|
83
|
-
@prop export let type:
|
|
143
|
+
@prop export let type: HTMLButtonAttributes['type'] = 'button';
|
|
84
144
|
@prop export let color: ButtonColor = group ? (outline ? 'dark' : 'alternative') : 'primary';
|
|
85
145
|
@prop export let shadow: boolean = false;
|
|
146
|
+
@prop export let tag: string = 'button';
|
|
147
|
+
@prop export let checked: boolean | undefined = undefined;
|
|
86
148
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
-
import type {
|
|
2
|
+
import type { HTMLButtonAttributes } from 'svelte/elements';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
[x: string]: any;
|
|
@@ -7,9 +7,11 @@ declare const __propDef: {
|
|
|
7
7
|
outline?: boolean | undefined;
|
|
8
8
|
size?: "xs" | "sm" | "lg" | "xl" | "md" | undefined;
|
|
9
9
|
href?: string | undefined;
|
|
10
|
-
type?:
|
|
10
|
+
type?: HTMLButtonAttributes['type'];
|
|
11
11
|
color?: "red" | "yellow" | "green" | "purple" | "blue" | "light" | "dark" | "primary" | "none" | "alternative" | undefined;
|
|
12
12
|
shadow?: boolean | undefined;
|
|
13
|
+
tag?: string | undefined;
|
|
14
|
+
checked?: boolean | undefined;
|
|
13
15
|
};
|
|
14
16
|
events: {
|
|
15
17
|
click: MouseEvent;
|
|
@@ -38,9 +40,11 @@ export type ButtonSlots = typeof __propDef.slots;
|
|
|
38
40
|
* @prop export let outline: boolean = false;
|
|
39
41
|
* @prop export let size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = group ? 'sm' : 'md';
|
|
40
42
|
* @prop export let href: string | undefined = undefined;
|
|
41
|
-
* @prop export let type:
|
|
43
|
+
* @prop export let type: HTMLButtonAttributes['type'] = 'button';
|
|
42
44
|
* @prop export let color: ButtonColor = group ? (outline ? 'dark' : 'alternative') : 'primary';
|
|
43
45
|
* @prop export let shadow: boolean = false;
|
|
46
|
+
* @prop export let tag: string = 'button';
|
|
47
|
+
* @prop export let checked: boolean | undefined = undefined;
|
|
44
48
|
*/
|
|
45
49
|
export default class Button extends SvelteComponent<ButtonProps, ButtonEvents, ButtonSlots> {
|
|
46
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/buttons/Button.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;
|
|
1
|
+
{"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/buttons/Button.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAID,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAgK5D,QAAA,MAAM,SAAS;;;;;;eAD6N,MAAM,GAAG,SAAS;eAAS,oBAAoB,CAAC,MAAM,CAAC;;;;kBAAiE,OAAO,GAAG,SAAS;;;;;;;;;;;;;;;;;;CACzS,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC1F"}
|
|
@@ -2,32 +2,63 @@
|
|
|
2
2
|
</script>
|
|
3
3
|
|
|
4
4
|
<script>import { createEventDispatcher, onMount, setContext } from 'svelte';
|
|
5
|
-
import { quintOut } from 'svelte/easing';
|
|
6
5
|
import { writable } from 'svelte/store';
|
|
7
|
-
import { fade } from 'svelte/transition';
|
|
8
6
|
import { twMerge } from 'tailwind-merge';
|
|
9
7
|
import Controls from './Controls.svelte';
|
|
10
8
|
import Indicators from './Indicators.svelte';
|
|
11
9
|
import Slide from './Slide.svelte';
|
|
10
|
+
import { canChangeSlide } from './CarouselSlide';
|
|
11
|
+
const SLIDE_DURATION_RATIO = 0.25; // TODO: Expose one day?
|
|
12
12
|
export let images;
|
|
13
13
|
export let index = 0;
|
|
14
|
-
export let
|
|
14
|
+
export let slideDuration = 1000;
|
|
15
|
+
export let transition;
|
|
15
16
|
export let duration = 0;
|
|
16
17
|
export let ariaLabel = 'Draggable Carousel';
|
|
17
18
|
// Carousel
|
|
18
|
-
let divClass = 'overflow-hidden relative rounded-lg h-56 sm:h-64 xl:h-80 2xl:h-96';
|
|
19
|
+
let divClass = 'grid overflow-hidden relative rounded-lg h-56 sm:h-64 xl:h-80 2xl:h-96';
|
|
20
|
+
export let imgClass = '';
|
|
19
21
|
const dispatch = createEventDispatcher();
|
|
20
|
-
const { set, subscribe, update } = writable({ images, index });
|
|
21
|
-
const state = { set: (
|
|
22
|
+
const { set, subscribe, update } = writable({ images, index, forward: true, slideDuration, lastSlideChange: new Date() });
|
|
23
|
+
const state = { set: (_state) => set({ index: _state.index, images: _state.images, lastSlideChange: new Date(), slideDuration, forward }), subscribe, update };
|
|
24
|
+
let forward = true;
|
|
22
25
|
setContext('state', state);
|
|
23
|
-
subscribe((
|
|
24
|
-
index =
|
|
26
|
+
subscribe((_state) => {
|
|
27
|
+
index = _state.index;
|
|
28
|
+
forward = _state.forward;
|
|
25
29
|
dispatch('change', images[index]);
|
|
26
30
|
});
|
|
27
|
-
onMount(() =>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
onMount(() => {
|
|
32
|
+
dispatch('change', images[index]);
|
|
33
|
+
});
|
|
34
|
+
let prevIndex = index;
|
|
35
|
+
$: {
|
|
36
|
+
if (!prevIndex || prevIndex < index) {
|
|
37
|
+
update((_state) => ({ ..._state, forward: true, index }));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
update((_state) => ({ ..._state, forward: false, index }));
|
|
41
|
+
}
|
|
42
|
+
prevIndex = index;
|
|
43
|
+
}
|
|
44
|
+
const nextSlide = () => {
|
|
45
|
+
update((_state) => {
|
|
46
|
+
if (!canChangeSlide({ lastSlideChange: _state.lastSlideChange, slideDuration, slideDurationRatio: SLIDE_DURATION_RATIO }))
|
|
47
|
+
return _state;
|
|
48
|
+
_state.index = _state.index >= images.length - 1 ? 0 : _state.index + 1;
|
|
49
|
+
_state.lastSlideChange = new Date();
|
|
50
|
+
return { ..._state };
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
const prevSlide = () => {
|
|
54
|
+
update((_state) => {
|
|
55
|
+
if (!canChangeSlide({ lastSlideChange: _state.lastSlideChange, slideDuration, slideDurationRatio: SLIDE_DURATION_RATIO }))
|
|
56
|
+
return _state;
|
|
57
|
+
_state.index = _state.index <= 0 ? images.length - 1 : _state.index - 1;
|
|
58
|
+
_state.lastSlideChange = new Date();
|
|
59
|
+
return { ..._state };
|
|
60
|
+
});
|
|
61
|
+
};
|
|
31
62
|
const loop = (node, duration) => {
|
|
32
63
|
carouselDiv = node; // used by DragStart
|
|
33
64
|
// loop timer
|
|
@@ -58,7 +89,7 @@ const getPositionFromEvent = (evt) => {
|
|
|
58
89
|
};
|
|
59
90
|
const onDragStart = (evt) => {
|
|
60
91
|
touchEvent = evt;
|
|
61
|
-
evt.preventDefault();
|
|
92
|
+
evt.cancelable && evt.preventDefault();
|
|
62
93
|
const start = getPositionFromEvent(evt);
|
|
63
94
|
const width = carouselDiv.getBoundingClientRect().width;
|
|
64
95
|
if (start === undefined || width === undefined)
|
|
@@ -104,10 +135,13 @@ $: onDragStop =
|
|
|
104
135
|
else if (percentOffset < -DRAG_MIN_PERCENT)
|
|
105
136
|
nextSlide();
|
|
106
137
|
else {
|
|
107
|
-
//
|
|
108
|
-
touchEvent?.
|
|
109
|
-
|
|
110
|
-
|
|
138
|
+
// Only issue click event for touches
|
|
139
|
+
if (touchEvent?.constructor.name === 'TouchEvent') {
|
|
140
|
+
// The gesture is a tap not drag, so manually issue a click event to trigger tap click gestures lost via preventDefault
|
|
141
|
+
touchEvent?.target?.dispatchEvent(new Event('click', {
|
|
142
|
+
bubbles: true
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
111
145
|
}
|
|
112
146
|
}
|
|
113
147
|
percentOffset = 0;
|
|
@@ -116,12 +150,21 @@ $: onDragStop =
|
|
|
116
150
|
};
|
|
117
151
|
</script>
|
|
118
152
|
|
|
153
|
+
<!-- Preload all Carousel images for improved responsivity -->
|
|
154
|
+
<svelte:head>
|
|
155
|
+
{#if images.length > 0}
|
|
156
|
+
{#each images as image}
|
|
157
|
+
<link rel="preload" href={image.src} as="image" />
|
|
158
|
+
{/each}
|
|
159
|
+
{/if}
|
|
160
|
+
</svelte:head>
|
|
161
|
+
|
|
119
162
|
<!-- The move listeners go here, so things keep working if the touch strays out of the element. -->
|
|
120
163
|
<svelte:document on:mousemove={onDragMove} on:mouseup={onDragStop} on:touchmove={onDragMove} on:touchend={onDragStop} />
|
|
121
|
-
<div bind:this={carouselDiv} class="relative" on:mousedown={onDragStart} on:touchstart|
|
|
164
|
+
<div bind:this={carouselDiv} class="relative" on:mousedown|nonpassive={onDragStart} on:touchstart|nonpassive={onDragStart} on:mousemove={onDragMove} on:mouseup={onDragStop} on:touchmove={onDragMove} on:touchend={onDragStop} role="button" aria-label={ariaLabel} tabindex="0">
|
|
122
165
|
<div {...$$restProps} class={twMerge(divClass, activeDragGesture === undefined ? 'transition-transform' : '', $$props.class)} use:loop={duration}>
|
|
123
166
|
<slot name="slide" {Slide} {index}>
|
|
124
|
-
<Slide image={images[index]} {transition} />
|
|
167
|
+
<Slide image={images[index]} class={imgClass} {transition} />
|
|
125
168
|
</slot>
|
|
126
169
|
</div>
|
|
127
170
|
<slot {index} {Controls} {Indicators} />
|
|
@@ -133,7 +176,9 @@ $: onDragStop =
|
|
|
133
176
|
## Props
|
|
134
177
|
@prop export let images: HTMLImgAttributes[];
|
|
135
178
|
@prop export let index: number = 0;
|
|
136
|
-
@prop export let
|
|
179
|
+
@prop export let slideDuration: number = 1000;
|
|
180
|
+
@prop export let transition: TransitionFunc | null;
|
|
137
181
|
@prop export let duration: number = 0;
|
|
138
182
|
@prop export let ariaLabel: string = 'Draggable Carousel';
|
|
183
|
+
@prop export let imgClass: string = '';
|
|
139
184
|
-->
|
|
@@ -2,9 +2,12 @@ import { SvelteComponent } from "svelte";
|
|
|
2
2
|
export type State = {
|
|
3
3
|
images: HTMLImgAttributes[];
|
|
4
4
|
index: number;
|
|
5
|
+
lastSlideChange: Date;
|
|
6
|
+
slideDuration: number;
|
|
7
|
+
forward: boolean;
|
|
5
8
|
};
|
|
6
9
|
import type { HTMLImgAttributes } from 'svelte/elements';
|
|
7
|
-
import {
|
|
10
|
+
import type { TransitionConfig } from 'svelte/transition';
|
|
8
11
|
import Controls from './Controls.svelte';
|
|
9
12
|
import Indicators from './Indicators.svelte';
|
|
10
13
|
import Slide from './Slide.svelte';
|
|
@@ -13,9 +16,11 @@ declare const __propDef: {
|
|
|
13
16
|
[x: string]: any;
|
|
14
17
|
images: HTMLImgAttributes[];
|
|
15
18
|
index?: number | undefined;
|
|
16
|
-
|
|
19
|
+
slideDuration?: number | undefined;
|
|
20
|
+
transition: ((node: HTMLElement, params: any) => TransitionConfig) | null;
|
|
17
21
|
duration?: number | undefined;
|
|
18
22
|
ariaLabel?: string | undefined;
|
|
23
|
+
imgClass?: string | undefined;
|
|
19
24
|
};
|
|
20
25
|
events: {
|
|
21
26
|
change: CustomEvent<any>;
|
|
@@ -42,9 +47,11 @@ export type CarouselSlots = typeof __propDef.slots;
|
|
|
42
47
|
* ## Props
|
|
43
48
|
* @prop export let images: HTMLImgAttributes[];
|
|
44
49
|
* @prop export let index: number = 0;
|
|
45
|
-
* @prop export let
|
|
50
|
+
* @prop export let slideDuration: number = 1000;
|
|
51
|
+
* @prop export let transition: TransitionFunc | null;
|
|
46
52
|
* @prop export let duration: number = 0;
|
|
47
53
|
* @prop export let ariaLabel: string = 'Draggable Carousel';
|
|
54
|
+
* @prop export let imgClass: string = '';
|
|
48
55
|
*/
|
|
49
56
|
export default class Carousel extends SvelteComponent<CarouselProps, CarouselEvents, CarouselSlots> {
|
|
50
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Carousel.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACC,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Carousel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Carousel.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACC,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAIJ,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,MAAM,gBAAgB,CAAC;AA+MnC,QAAA,MAAM,SAAS;;;gBADsK,iBAAiB,EAAE;;;4BAhMzK,WAAW,UAAU,GAAG,KAAK,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAiME,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,eAAe,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;CAClG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CarouselSlide.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/CarouselSlide.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;qBAKR,IAAI;mBACN,MAAM;;aAStB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const canChangeSlide = ({ lastSlideChange, slideDuration, slideDurationRatio = 1 }) => {
|
|
2
|
+
if (lastSlideChange && new Date().getTime() - lastSlideChange.getTime() < slideDuration * slideDurationRatio) {
|
|
3
|
+
console.warn("Can't change slide yet, too soon");
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
return true;
|
|
7
|
+
};
|
|
@@ -1,17 +1,38 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
2
|
import ControlButton from './ControlButton.svelte';
|
|
3
|
-
import {
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import { canChangeSlide } from './CarouselSlide';
|
|
4
5
|
const state = getContext('state');
|
|
6
|
+
const { update } = state;
|
|
5
7
|
function changeSlide(forward) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
if (!canChangeSlide({
|
|
9
|
+
lastSlideChange: $state.lastSlideChange,
|
|
10
|
+
slideDuration: $state.slideDuration,
|
|
11
|
+
slideDurationRatio: 0.75
|
|
12
|
+
})) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (forward) {
|
|
16
|
+
update((_state) => {
|
|
17
|
+
_state.forward = true;
|
|
18
|
+
_state.index = _state.index >= _state.images.length - 1 ? 0 : _state.index + 1;
|
|
19
|
+
_state.lastSlideChange = new Date();
|
|
20
|
+
return { ..._state };
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
update((_state) => {
|
|
25
|
+
_state.forward = false;
|
|
26
|
+
_state.index = _state.index <= 0 ? _state.images.length - 1 : _state.index - 1;
|
|
27
|
+
_state.lastSlideChange = new Date();
|
|
28
|
+
return { ..._state };
|
|
29
|
+
});
|
|
30
|
+
}
|
|
10
31
|
}
|
|
11
32
|
</script>
|
|
12
33
|
|
|
13
34
|
<!-- Slider controls -->
|
|
14
35
|
<slot {ControlButton} {changeSlide}>
|
|
15
|
-
<ControlButton name="Previous" forward={false} on:click={changeSlide(false)} class={
|
|
16
|
-
<ControlButton name="Next" forward={true} on:click={changeSlide(true)} class={
|
|
36
|
+
<ControlButton name="Previous" forward={false} on:click={() => changeSlide(false)} class={twMerge($$props.class)} />
|
|
37
|
+
<ControlButton name="Next" forward={true} on:click={() => changeSlide(true)} class={twMerge($$props.class)} />
|
|
17
38
|
</slot>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controls.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Controls.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAID,OAAO,aAAa,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"Controls.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Controls.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AAID,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAoDnD,QAAA,MAAM,SAAS;;;;;;;;;;mCArCiB,OAAO;;;CAqCuC,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,eAAe,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;CAClG"}
|
|
@@ -1,20 +1,40 @@
|
|
|
1
|
-
<script>import {
|
|
2
|
-
import { fade } from 'svelte/transition';
|
|
1
|
+
<script>import { fly } from 'svelte/transition';
|
|
3
2
|
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
import { getContext } from 'svelte';
|
|
4
|
+
const state = getContext('state');
|
|
4
5
|
export let image;
|
|
5
|
-
export let transition =
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
export let transition = null; // Optional transition function, overrides default slide transition
|
|
7
|
+
$: transitionSlideIn = {
|
|
8
|
+
x: $state.forward ? '100%' : '-100%',
|
|
9
|
+
opacity: 1,
|
|
10
|
+
width: '100%',
|
|
11
|
+
height: '100%',
|
|
12
|
+
duration: $state.slideDuration
|
|
13
|
+
};
|
|
14
|
+
$: transitionSlideOut = {
|
|
15
|
+
x: $state.forward ? '-100%' : '100%',
|
|
16
|
+
opacity: 0.9,
|
|
17
|
+
width: '100%',
|
|
18
|
+
height: '100%',
|
|
19
|
+
duration: $state.slideDuration
|
|
20
|
+
};
|
|
21
|
+
$: imgClass = twMerge('absolute block !w-full h-full object-cover', $$props.class);
|
|
8
22
|
</script>
|
|
9
23
|
|
|
10
|
-
{#
|
|
11
|
-
|
|
12
|
-
{
|
|
24
|
+
{#if transition}
|
|
25
|
+
{#key image}
|
|
26
|
+
<img alt="..." {...image} transition:transition={{}} {...$$restProps} class={imgClass} />
|
|
27
|
+
{/key}
|
|
28
|
+
{:else}
|
|
29
|
+
{#key image}
|
|
30
|
+
<img alt="..." {...image} {...$$restProps} out:fly={transitionSlideOut} in:fly={transitionSlideIn} class={imgClass} />
|
|
31
|
+
{/key}
|
|
32
|
+
{/if}
|
|
13
33
|
|
|
14
34
|
<!--
|
|
15
35
|
@component
|
|
16
36
|
[Go to docs](https://flowbite-svelte.com/)
|
|
17
37
|
## Props
|
|
18
38
|
@prop export let image: HTMLImgAttributes;
|
|
19
|
-
@prop export let transition: TransitionFunc
|
|
39
|
+
@prop export let transition: TransitionFunc | null = null;
|
|
20
40
|
-->
|
|
@@ -5,7 +5,7 @@ declare const __propDef: {
|
|
|
5
5
|
props: {
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
image: HTMLImgAttributes;
|
|
8
|
-
transition?: ((node: HTMLElement, params: any) => TransitionConfig) | undefined;
|
|
8
|
+
transition?: ((node: HTMLElement, params: any) => TransitionConfig) | null | undefined;
|
|
9
9
|
};
|
|
10
10
|
events: {
|
|
11
11
|
[evt: string]: CustomEvent<any>;
|
|
@@ -19,7 +19,7 @@ export type SlideSlots = typeof __propDef.slots;
|
|
|
19
19
|
* [Go to docs](https://flowbite-svelte.com/)
|
|
20
20
|
* ## Props
|
|
21
21
|
* @prop export let image: HTMLImgAttributes;
|
|
22
|
-
* @prop export let transition: TransitionFunc
|
|
22
|
+
* @prop export let transition: TransitionFunc | null = null;
|
|
23
23
|
*/
|
|
24
24
|
export default class Slide extends SvelteComponent<SlideProps, SlideEvents, SlideSlots> {
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slide.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Slide.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;
|
|
1
|
+
{"version":3,"file":"Slide.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Slide.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAO,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsD/D,QAAA,MAAM,SAAS;;;eADoD,iBAAiB;6BArCrD,WAAW,UAAU,GAAG,KAAK,gBAAgB;;;;;;CAsCE,CAAC;AAC/E,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;CACtF"}
|
|
@@ -3,6 +3,20 @@ import Thumbnail from './Thumbnail.svelte';
|
|
|
3
3
|
export let images = [];
|
|
4
4
|
export let index = 0;
|
|
5
5
|
export let ariaLabel = 'Click to view image';
|
|
6
|
+
export let imgClass = '';
|
|
7
|
+
export let throttleDelay = 650; // ms
|
|
8
|
+
let lastClickedAt = new Date();
|
|
9
|
+
const btnClick = (idx) => {
|
|
10
|
+
if (new Date().getTime() - lastClickedAt.getTime() < throttleDelay) {
|
|
11
|
+
console.warn('Thumbnail action throttled');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (idx === index) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
index = idx;
|
|
18
|
+
lastClickedAt = new Date();
|
|
19
|
+
};
|
|
6
20
|
$: index = (index + images.length) % images.length;
|
|
7
21
|
</script>
|
|
8
22
|
|
|
@@ -10,9 +24,9 @@ $: index = (index + images.length) % images.length;
|
|
|
10
24
|
{#each images as image, idx}
|
|
11
25
|
{@const selected = index === idx}
|
|
12
26
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
13
|
-
<button on:click={() => (
|
|
14
|
-
<slot {Thumbnail} {image} {selected}>
|
|
15
|
-
<Thumbnail {...image} {selected} />
|
|
27
|
+
<button on:click={() => btnClick(idx)} aria-label={ariaLabel}>
|
|
28
|
+
<slot {Thumbnail} {image} {selected} {imgClass}>
|
|
29
|
+
<Thumbnail {...image} {selected} class={imgClass} />
|
|
16
30
|
</slot>
|
|
17
31
|
</button>
|
|
18
32
|
{/each}
|
|
@@ -25,4 +39,6 @@ $: index = (index + images.length) % images.length;
|
|
|
25
39
|
@prop export let images: HTMLImgAttributes[] = [];
|
|
26
40
|
@prop export let index: number = 0;
|
|
27
41
|
@prop export let ariaLabel: string = 'Click to view image';
|
|
42
|
+
@prop export let imgClass: string = '';
|
|
43
|
+
@prop export let throttleDelay: number = 650;
|
|
28
44
|
-->
|
|
@@ -7,6 +7,8 @@ declare const __propDef: {
|
|
|
7
7
|
images?: HTMLImgAttributes[] | undefined;
|
|
8
8
|
index?: number | undefined;
|
|
9
9
|
ariaLabel?: string | undefined;
|
|
10
|
+
imgClass?: string | undefined;
|
|
11
|
+
throttleDelay?: number | undefined;
|
|
10
12
|
};
|
|
11
13
|
events: {
|
|
12
14
|
[evt: string]: CustomEvent<any>;
|
|
@@ -16,6 +18,7 @@ declare const __propDef: {
|
|
|
16
18
|
Thumbnail: typeof Thumbnail;
|
|
17
19
|
image: HTMLImgAttributes;
|
|
18
20
|
selected: any;
|
|
21
|
+
imgClass: string;
|
|
19
22
|
};
|
|
20
23
|
};
|
|
21
24
|
};
|
|
@@ -28,6 +31,8 @@ export type ThumbnailsSlots = typeof __propDef.slots;
|
|
|
28
31
|
* @prop export let images: HTMLImgAttributes[] = [];
|
|
29
32
|
* @prop export let index: number = 0;
|
|
30
33
|
* @prop export let ariaLabel: string = 'Click to view image';
|
|
34
|
+
* @prop export let imgClass: string = '';
|
|
35
|
+
* @prop export let throttleDelay: number = 650;
|
|
31
36
|
*/
|
|
32
37
|
export default class Thumbnails extends SvelteComponent<ThumbnailsProps, ThumbnailsEvents, ThumbnailsSlots> {
|
|
33
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thumbnails.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Thumbnails.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Thumbnails.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/carousel/Thumbnails.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AA+C3C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;CAA+D,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAe,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,CAAC;CAC1G"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare module 'svelte/elements' {
|
|
3
|
+
interface HTMLAttributes<T> {
|
|
4
|
+
[x: `data-${string}`]: any;
|
|
5
|
+
'date-rangepicker'?: boolean;
|
|
6
|
+
datepicker?: boolean;
|
|
7
|
+
'datepicker-buttons'?: boolean;
|
|
8
|
+
'datepicker-format'?: string;
|
|
9
|
+
'datepicker-orientation'?: string;
|
|
10
|
+
'datepicker-title'?: string;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
2
13
|
declare const __propDef: {
|
|
3
14
|
props: {
|
|
4
15
|
[x: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Datepicker.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/datepicker/Datepicker.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;
|
|
1
|
+
{"version":3,"file":"Datepicker.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/datepicker/Datepicker.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAEvC;AACC,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,cAAc,CAAC,CAAC;QACxB,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,GAAG,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;AAkEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;CAA+D,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAe,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,CAAC;CAC1G"}
|