flowbite-svelte 0.46.15 → 0.46.17
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/accordion/AccordionItem.svelte.d.ts +13 -13
- package/dist/avatar/Avatar.svelte +1 -1
- package/dist/avatar/Avatar.svelte.d.ts +6 -6
- package/dist/badge/Badge.svelte +11 -20
- package/dist/badge/Badge.svelte.d.ts +16 -18
- package/dist/banner/Banner.svelte.d.ts +8 -8
- package/dist/bottom-navigation/BottomNav.svelte.d.ts +6 -6
- package/dist/bottom-navigation/BottomNavHeader.svelte.d.ts +2 -2
- package/dist/bottom-navigation/BottomNavHeaderItem.svelte.d.ts +4 -4
- package/dist/bottom-navigation/BottomNavItem.svelte.d.ts +5 -5
- package/dist/breadcrumb/Breadcrumb.svelte.d.ts +5 -5
- package/dist/breadcrumb/BreadcrumbItem.svelte.d.ts +4 -4
- package/dist/button-group/ButtonGroup.svelte.d.ts +2 -2
- package/dist/buttons/Button.svelte.d.ts +7 -7
- package/dist/buttons/GradientButton.svelte.d.ts +2 -2
- package/dist/cards/Card.svelte.d.ts +1 -0
- package/dist/carousel/Carousel.svelte.d.ts +7 -7
- package/dist/carousel/Indicators.svelte.d.ts +2 -2
- package/dist/carousel/Slide.svelte.d.ts +1 -1
- package/dist/carousel/Thumbnail.svelte +6 -4
- package/dist/carousel/Thumbnail.svelte.d.ts +7 -5
- package/dist/carousel/Thumbnails.svelte.d.ts +5 -5
- package/dist/charts/Chart.svelte +2 -1
- package/dist/charts/Chart.svelte.d.ts +2 -0
- package/dist/darkmode/DarkMode.svelte.d.ts +3 -3
- package/dist/datepicker/Datepicker.svelte.d.ts +7 -7
- package/dist/device-mockups/Android.svelte.d.ts +7 -7
- package/dist/device-mockups/DefaultMockup.svelte.d.ts +6 -6
- package/dist/device-mockups/Desktop.svelte.d.ts +4 -4
- package/dist/device-mockups/Ios.svelte.d.ts +6 -6
- package/dist/device-mockups/Laptop.svelte.d.ts +4 -4
- package/dist/device-mockups/Smartwatch.svelte.d.ts +6 -6
- package/dist/device-mockups/Tablet.svelte.d.ts +6 -6
- package/dist/drawer/Drawer.svelte.d.ts +15 -15
- package/dist/dropdown/Dropdown.svelte.d.ts +12 -12
- package/dist/dropdown/DropdownDivider.svelte.d.ts +1 -1
- package/dist/dropdown/DropdownHeader.svelte.d.ts +2 -2
- package/dist/dropdown/DropdownItem.svelte.d.ts +1 -1
- package/dist/footer/FooterBrand.svelte.d.ts +7 -7
- package/dist/footer/FooterCopyright.svelte.d.ts +6 -6
- package/dist/footer/FooterIcon.svelte.d.ts +3 -3
- package/dist/footer/FooterLink.svelte.d.ts +3 -3
- package/dist/footer/FooterLinkGroup.svelte.d.ts +1 -1
- package/dist/forms/Checkbox.svelte.d.ts +9 -9
- package/dist/forms/CheckboxButton.svelte.d.ts +6 -6
- package/dist/forms/Dropzone.svelte.d.ts +2 -2
- package/dist/forms/Fileupload.svelte.d.ts +2 -2
- package/dist/forms/FloatingLabelInput.svelte +1 -1
- package/dist/forms/FloatingLabelInput.svelte.d.ts +5 -5
- package/dist/forms/Helper.svelte.d.ts +2 -2
- package/dist/forms/Input.svelte +20 -6
- package/dist/forms/Input.svelte.d.ts +7 -5
- package/dist/forms/Label.svelte.d.ts +3 -3
- package/dist/forms/MultiSelect.svelte +2 -2
- package/dist/forms/MultiSelect.svelte.d.ts +5 -5
- package/dist/forms/NumberInput.svelte.d.ts +1 -1
- package/dist/forms/Radio.svelte +5 -0
- package/dist/forms/Radio.svelte.d.ts +7 -5
- package/dist/forms/RadioButton.svelte.d.ts +6 -6
- package/dist/forms/Range.svelte.d.ts +1 -1
- package/dist/forms/Search.svelte.d.ts +3 -3
- package/dist/forms/Select.svelte.d.ts +6 -6
- package/dist/forms/Textarea.svelte.d.ts +5 -5
- package/dist/forms/Toggle.svelte +2 -1
- package/dist/forms/Toggle.svelte.d.ts +5 -4
- package/dist/gallery/Gallery.svelte.d.ts +2 -2
- package/dist/indicators/Indicator.svelte.d.ts +5 -5
- package/dist/kbd/ArrowKeyDown.svelte.d.ts +1 -1
- package/dist/kbd/ArrowKeyLeft.svelte.d.ts +1 -1
- package/dist/kbd/ArrowKeyRight.svelte.d.ts +1 -1
- package/dist/kbd/ArrowKeyUp.svelte.d.ts +1 -1
- package/dist/kbd/Kbd.svelte.d.ts +1 -1
- package/dist/list-group/Listgroup.svelte +2 -2
- package/dist/list-group/Listgroup.svelte.d.ts +12 -12
- package/dist/list-group/ListgroupItem.svelte.d.ts +10 -10
- package/dist/marquee/Marquee.svelte.d.ts +3 -3
- package/dist/navbar/Menu.svelte.d.ts +4 -4
- package/dist/navbar/NavBrand.svelte.d.ts +1 -1
- package/dist/navbar/NavHamburger.svelte.d.ts +1 -1
- package/dist/navbar/NavLi.svelte.d.ts +1 -1
- package/dist/navbar/NavUl.svelte.d.ts +6 -6
- package/dist/pagination/Pagination.svelte.d.ts +7 -7
- package/dist/pagination/PaginationItem.svelte.d.ts +4 -4
- package/dist/progress/Progressbar.svelte +5 -3
- package/dist/progress/Progressbar.svelte.d.ts +13 -11
- package/dist/rating/AdvancedRating.svelte.d.ts +7 -7
- package/dist/rating/Heart.svelte.d.ts +7 -7
- package/dist/rating/Rating.svelte +19 -15
- package/dist/rating/Rating.svelte.d.ts +14 -10
- package/dist/rating/Review.svelte.d.ts +5 -5
- package/dist/rating/Star.svelte.d.ts +7 -7
- package/dist/rating/Thumbup.svelte.d.ts +7 -7
- package/dist/sidebar/Sidebar.svelte.d.ts +5 -5
- package/dist/sidebar/SidebarBrand.svelte.d.ts +3 -3
- package/dist/sidebar/SidebarCta.svelte.d.ts +4 -4
- package/dist/sidebar/SidebarDropdownItem.svelte.d.ts +5 -5
- package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +7 -7
- package/dist/sidebar/SidebarGroup.svelte.d.ts +3 -3
- package/dist/sidebar/SidebarItem.svelte.d.ts +3 -3
- package/dist/sidebar/SidebarWrapper.svelte.d.ts +1 -1
- package/dist/skeleton/CardPlaceholder.svelte.d.ts +2 -2
- package/dist/skeleton/ImagePlaceholder.svelte.d.ts +3 -3
- package/dist/skeleton/ListPlaceholder.svelte.d.ts +1 -1
- package/dist/skeleton/Skeleton.svelte.d.ts +2 -2
- package/dist/skeleton/TestimonialPlaceholder.svelte.d.ts +1 -1
- package/dist/skeleton/TextPlaceholder.svelte.d.ts +2 -2
- package/dist/skeleton/VideoPlaceholder.svelte.d.ts +2 -2
- package/dist/skeleton/WidgetPlaceholder.svelte.d.ts +1 -1
- package/dist/speed-dial/SpeedDial.svelte.d.ts +11 -11
- package/dist/speed-dial/SpeedDialButton.svelte.d.ts +7 -7
- package/dist/spinner/Spinner.svelte.d.ts +5 -5
- package/dist/steps/StepIndicator.svelte.d.ts +8 -8
- package/dist/table/Table.svelte +47 -1
- package/dist/table/Table.svelte.d.ts +35 -16
- package/dist/table/TableBody.svelte +11 -1
- package/dist/table/TableBody.svelte.d.ts +12 -9
- package/dist/table/TableBodyCell.svelte.d.ts +1 -1
- package/dist/table/TableBodyRow.svelte.d.ts +1 -1
- package/dist/table/TableHead.svelte.d.ts +2 -2
- package/dist/table/TableHeadCell.svelte +34 -1
- package/dist/table/TableHeadCell.svelte.d.ts +18 -10
- package/dist/table/TableSearch.svelte.d.ts +12 -12
- package/dist/tabs/TabItem.svelte +3 -1
- package/dist/tabs/TabItem.svelte.d.ts +5 -3
- package/dist/tabs/Tabs.svelte.d.ts +6 -6
- package/dist/timeline/Activity.svelte.d.ts +1 -1
- package/dist/timeline/ActivityItem.svelte.d.ts +8 -8
- package/dist/timeline/Group.svelte.d.ts +3 -3
- package/dist/timeline/GroupItem.svelte +4 -0
- package/dist/timeline/GroupItem.svelte.d.ts +7 -5
- package/dist/timeline/Timeline.svelte.d.ts +1 -1
- package/dist/timeline/TimelineItem.svelte.d.ts +3 -3
- package/dist/toast/Toast.svelte +2 -1
- package/dist/toast/Toast.svelte.d.ts +10 -10
- package/dist/toolbar/ToolbarButton.svelte.d.ts +2 -2
- package/dist/toolbar/ToolbarGroup.svelte.d.ts +1 -1
- package/dist/typography/A.svelte.d.ts +3 -3
- package/dist/typography/Blockquote.svelte.d.ts +8 -8
- package/dist/typography/DescriptionList.svelte.d.ts +2 -2
- package/dist/typography/Heading.svelte.d.ts +3 -3
- package/dist/typography/Hr.svelte.d.ts +6 -6
- package/dist/typography/Img.svelte.d.ts +7 -7
- package/dist/typography/Layout.svelte.d.ts +2 -2
- package/dist/typography/Li.svelte.d.ts +2 -2
- package/dist/typography/List.svelte.d.ts +2 -2
- package/dist/typography/Mark.svelte.d.ts +3 -3
- package/dist/typography/P.svelte.d.ts +10 -10
- package/dist/typography/Secondary.svelte.d.ts +2 -2
- package/dist/typography/Span.svelte.d.ts +9 -9
- package/dist/utils/CloseButton.svelte.d.ts +1 -1
- package/dist/utils/Popper.svelte +18 -17
- package/dist/utils/Wrapper.svelte.d.ts +2 -2
- package/dist/video/Video.svelte.d.ts +4 -4
- package/package.json +35 -35
|
@@ -2,10 +2,10 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divWrapperClass?: string;
|
|
6
|
-
divClass?: string;
|
|
7
|
-
spanClass?: string;
|
|
8
|
-
label?: string;
|
|
5
|
+
divWrapperClass?: string | undefined;
|
|
6
|
+
divClass?: string | undefined;
|
|
7
|
+
spanClass?: string | undefined;
|
|
8
|
+
label?: string | undefined;
|
|
9
9
|
};
|
|
10
10
|
events: {
|
|
11
11
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,11 +2,11 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
aClass?: string;
|
|
6
|
-
href?: string;
|
|
7
|
-
label?: string;
|
|
8
|
-
activeClass?: string;
|
|
9
|
-
active?: boolean;
|
|
5
|
+
aClass?: string | undefined;
|
|
6
|
+
href?: string | undefined;
|
|
7
|
+
label?: string | undefined;
|
|
8
|
+
activeClass?: string | undefined;
|
|
9
|
+
active?: boolean | undefined;
|
|
10
10
|
};
|
|
11
11
|
events: {
|
|
12
12
|
blur: FocusEvent;
|
|
@@ -3,13 +3,13 @@ import type { TransitionTypes, TransitionParamTypes } from '../types';
|
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
[x: string]: any;
|
|
6
|
-
btnClass?: string;
|
|
7
|
-
label?: string;
|
|
8
|
-
spanClass?: string;
|
|
9
|
-
ulClass?: string;
|
|
10
|
-
transitionType?: TransitionTypes;
|
|
11
|
-
transitionParams?: TransitionParamTypes;
|
|
12
|
-
isOpen?: boolean;
|
|
6
|
+
btnClass?: string | undefined;
|
|
7
|
+
label?: string | undefined;
|
|
8
|
+
spanClass?: string | undefined;
|
|
9
|
+
ulClass?: string | undefined;
|
|
10
|
+
transitionType?: TransitionTypes | undefined;
|
|
11
|
+
transitionParams?: TransitionParamTypes | undefined;
|
|
12
|
+
isOpen?: boolean | undefined;
|
|
13
13
|
};
|
|
14
14
|
events: {
|
|
15
15
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,9 +2,9 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
ulClass?: string;
|
|
6
|
-
borderClass?: string;
|
|
7
|
-
border?: boolean;
|
|
5
|
+
ulClass?: string | undefined;
|
|
6
|
+
borderClass?: string | undefined;
|
|
7
|
+
border?: boolean | undefined;
|
|
8
8
|
};
|
|
9
9
|
events: {
|
|
10
10
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,9 +2,9 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
href?: string;
|
|
6
|
-
label?: string;
|
|
7
|
-
spanClass?: string;
|
|
5
|
+
href?: string | undefined;
|
|
6
|
+
label?: string | undefined;
|
|
7
|
+
spanClass?: string | undefined;
|
|
8
8
|
activeClass?: string | undefined;
|
|
9
9
|
nonActiveClass?: string | undefined;
|
|
10
10
|
};
|
|
@@ -2,8 +2,8 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divClass?: string;
|
|
6
|
-
size?: string | number;
|
|
5
|
+
divClass?: string | undefined;
|
|
6
|
+
size?: (string | number) | undefined;
|
|
7
7
|
};
|
|
8
8
|
events: {
|
|
9
9
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,9 +2,9 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divClass?: string;
|
|
6
|
-
imgHeight?: string;
|
|
7
|
-
imgOnly?: boolean;
|
|
5
|
+
divClass?: string | undefined;
|
|
6
|
+
imgHeight?: string | undefined;
|
|
7
|
+
imgOnly?: boolean | undefined;
|
|
8
8
|
};
|
|
9
9
|
events: {
|
|
10
10
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,8 +2,8 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divClass?: string;
|
|
6
|
-
size?: string | number;
|
|
5
|
+
divClass?: string | undefined;
|
|
6
|
+
size?: (string | number) | undefined;
|
|
7
7
|
};
|
|
8
8
|
events: {
|
|
9
9
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,8 +2,8 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divClass?: string;
|
|
6
|
-
size?: string | number;
|
|
5
|
+
divClass?: string | undefined;
|
|
6
|
+
size?: (string | number) | undefined;
|
|
7
7
|
};
|
|
8
8
|
events: {
|
|
9
9
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,8 +2,8 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divClass?: string;
|
|
6
|
-
size?: string | number;
|
|
5
|
+
divClass?: string | undefined;
|
|
6
|
+
size?: (string | number) | undefined;
|
|
7
7
|
};
|
|
8
8
|
events: {
|
|
9
9
|
[evt: string]: CustomEvent<any>;
|
|
@@ -8,17 +8,17 @@ export interface SpeedCtxType {
|
|
|
8
8
|
declare const __propDef: {
|
|
9
9
|
props: {
|
|
10
10
|
[x: string]: any;
|
|
11
|
-
defaultClass?: string;
|
|
12
|
-
popperDefaultClass?: string;
|
|
13
|
-
placement?: Placement;
|
|
14
|
-
pill?: boolean;
|
|
15
|
-
tooltip?: Placement | "none";
|
|
16
|
-
trigger?: "hover" | "click" | "focus";
|
|
17
|
-
textOutside?: boolean;
|
|
18
|
-
id?: string;
|
|
19
|
-
name?: string;
|
|
20
|
-
gradient?: boolean;
|
|
21
|
-
open?: boolean;
|
|
11
|
+
defaultClass?: string | undefined;
|
|
12
|
+
popperDefaultClass?: string | undefined;
|
|
13
|
+
placement?: Placement | undefined;
|
|
14
|
+
pill?: boolean | undefined;
|
|
15
|
+
tooltip?: (Placement | "none") | undefined;
|
|
16
|
+
trigger?: ("hover" | "click" | "focus") | undefined;
|
|
17
|
+
textOutside?: boolean | undefined;
|
|
18
|
+
id?: string | undefined;
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
gradient?: boolean | undefined;
|
|
21
|
+
open?: boolean | undefined;
|
|
22
22
|
};
|
|
23
23
|
events: {
|
|
24
24
|
[evt: string]: CustomEvent<any>;
|
|
@@ -3,13 +3,13 @@ import type { Placement } from '@floating-ui/dom';
|
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
[x: string]: any;
|
|
6
|
-
btnDefaultClass?: string;
|
|
7
|
-
name?: string;
|
|
8
|
-
tooltip?: Placement | "none";
|
|
9
|
-
pill?: boolean;
|
|
10
|
-
textOutside?: boolean;
|
|
11
|
-
textOutsideClass?: string;
|
|
12
|
-
textDefaultClass?: string;
|
|
6
|
+
btnDefaultClass?: string | undefined;
|
|
7
|
+
name?: string | undefined;
|
|
8
|
+
tooltip?: (Placement | "none") | undefined;
|
|
9
|
+
pill?: boolean | undefined;
|
|
10
|
+
textOutside?: boolean | undefined;
|
|
11
|
+
textOutsideClass?: string | undefined;
|
|
12
|
+
textDefaultClass?: string | undefined;
|
|
13
13
|
};
|
|
14
14
|
events: {
|
|
15
15
|
click: MouseEvent;
|
|
@@ -3,11 +3,11 @@ declare const __propDef: {
|
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
5
|
color?: "primary" | "blue" | "gray" | "green" | "red" | "yellow" | "pink" | "purple" | "white" | "custom" | undefined;
|
|
6
|
-
bg?: string;
|
|
7
|
-
customColor?: string;
|
|
8
|
-
size?: string | number;
|
|
9
|
-
currentFill?: string;
|
|
10
|
-
currentColor?: string;
|
|
6
|
+
bg?: string | undefined;
|
|
7
|
+
customColor?: string | undefined;
|
|
8
|
+
size?: (string | number) | undefined;
|
|
9
|
+
currentFill?: string | undefined;
|
|
10
|
+
currentColor?: string | undefined;
|
|
11
11
|
};
|
|
12
12
|
events: {
|
|
13
13
|
[evt: string]: CustomEvent<any>;
|
|
@@ -2,14 +2,14 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
steps?: string[];
|
|
6
|
-
currentStep?: number;
|
|
7
|
-
size?: string;
|
|
8
|
-
color?: "primary" | "secondary" | "gray" | "red" | "yellow" | "green" | "indigo" | "purple" | "pink" | "blue" | "custom";
|
|
9
|
-
glow?: boolean;
|
|
10
|
-
hideLabel?: boolean;
|
|
11
|
-
completedCustom?: string;
|
|
12
|
-
currentCustom?: string;
|
|
5
|
+
steps?: string[] | undefined;
|
|
6
|
+
currentStep?: number | undefined;
|
|
7
|
+
size?: string | undefined;
|
|
8
|
+
color?: ("primary" | "secondary" | "gray" | "red" | "yellow" | "green" | "indigo" | "purple" | "pink" | "blue" | "custom") | undefined;
|
|
9
|
+
glow?: boolean | undefined;
|
|
10
|
+
hideLabel?: boolean | undefined;
|
|
11
|
+
completedCustom?: string | undefined;
|
|
12
|
+
currentCustom?: string | undefined;
|
|
13
13
|
};
|
|
14
14
|
events: {
|
|
15
15
|
[evt: string]: CustomEvent<any>;
|
package/dist/table/Table.svelte
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script generics="T">import { writable } from "svelte/store";
|
|
2
|
+
import { twMerge, twJoin } from "tailwind-merge";
|
|
2
3
|
import { setContext } from "svelte";
|
|
3
4
|
export let divClass = "relative overflow-x-auto";
|
|
4
5
|
export let striped = false;
|
|
@@ -7,6 +8,17 @@ export let noborder = false;
|
|
|
7
8
|
export let shadow = false;
|
|
8
9
|
export let color = "default";
|
|
9
10
|
export let customeColor = "";
|
|
11
|
+
export let items = [];
|
|
12
|
+
export let filter = null;
|
|
13
|
+
export let placeholder = "Search";
|
|
14
|
+
export let innerDivClass = "p-4";
|
|
15
|
+
export let searchClass = "relative mt-1";
|
|
16
|
+
export let svgDivClass = "absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none";
|
|
17
|
+
export let svgClass = "w-5 h-5 text-gray-500 dark:text-gray-400";
|
|
18
|
+
export let inputClass = "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500";
|
|
19
|
+
let searchTerm = "";
|
|
20
|
+
let inputCls = twMerge(inputClass, $$props.classInput);
|
|
21
|
+
let svgDivCls = twMerge(svgDivClass, $$props.classSvgDiv);
|
|
10
22
|
const colors = {
|
|
11
23
|
default: "text-gray-500 dark:text-gray-400",
|
|
12
24
|
blue: "text-blue-100 dark:text-blue-100",
|
|
@@ -22,9 +34,35 @@ $: setContext("striped", striped);
|
|
|
22
34
|
$: setContext("hoverable", hoverable);
|
|
23
35
|
$: setContext("noborder", noborder);
|
|
24
36
|
$: setContext("color", color);
|
|
37
|
+
$: setContext("items", items);
|
|
38
|
+
const searchTermStore = writable(searchTerm);
|
|
39
|
+
const filterStore = writable(filter);
|
|
40
|
+
setContext("searchTerm", searchTermStore);
|
|
41
|
+
setContext("filter", filterStore);
|
|
42
|
+
$: searchTermStore.set(searchTerm);
|
|
43
|
+
$: filterStore.set(filter);
|
|
44
|
+
setContext("sorter", writable(null));
|
|
25
45
|
</script>
|
|
26
46
|
|
|
27
47
|
<div class={twJoin(divClass, shadow && 'shadow-md sm:rounded-lg')}>
|
|
48
|
+
{#if filter}
|
|
49
|
+
<slot name="search">
|
|
50
|
+
<div class={innerDivClass}>
|
|
51
|
+
<label for="table-search" class="sr-only">Search</label>
|
|
52
|
+
<div class={searchClass}>
|
|
53
|
+
<div class={svgDivCls}>
|
|
54
|
+
<slot name="svgSearch">
|
|
55
|
+
<svg class={svgClass} fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
56
|
+
<path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd" />
|
|
57
|
+
</svg>
|
|
58
|
+
</slot>
|
|
59
|
+
</div>
|
|
60
|
+
<input bind:value={searchTerm} type="text" id="table-search" class={inputCls} {placeholder} />
|
|
61
|
+
</div>
|
|
62
|
+
<slot name="header" />
|
|
63
|
+
</div>
|
|
64
|
+
</slot>
|
|
65
|
+
{/if}
|
|
28
66
|
<table {...$$restProps} class={twMerge('w-full text-left text-sm', colors[color], $$props.class)}>
|
|
29
67
|
<slot />
|
|
30
68
|
</table>
|
|
@@ -41,4 +79,12 @@ $: setContext("color", color);
|
|
|
41
79
|
@prop export let shadow: boolean = false;
|
|
42
80
|
@prop export let color: TableColorType = 'default';
|
|
43
81
|
@prop export let customeColor: string = '';
|
|
82
|
+
@prop export let items: T[] = [];
|
|
83
|
+
@prop export let filter: ((t: T, term: string) => boolean) | null = null;
|
|
84
|
+
@prop export let placeholder: string = 'Search';
|
|
85
|
+
@prop export let innerDivClass: string = 'p-4';
|
|
86
|
+
@prop export let searchClass: string = 'relative mt-1';
|
|
87
|
+
@prop export let svgDivClass: string = 'absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none';
|
|
88
|
+
@prop export let svgClass: string = 'w-5 h-5 text-gray-500 dark:text-gray-400';
|
|
89
|
+
@prop export let inputClass: string = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500';
|
|
44
90
|
-->
|
|
@@ -1,26 +1,37 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
2
|
import type { TableColorType } from '../types';
|
|
3
|
-
declare
|
|
4
|
-
props: {
|
|
3
|
+
declare class __sveltets_Render<T> {
|
|
4
|
+
props(): {
|
|
5
5
|
[x: string]: any;
|
|
6
|
-
divClass?: string;
|
|
7
|
-
striped?: boolean;
|
|
8
|
-
hoverable?: boolean;
|
|
9
|
-
noborder?: boolean;
|
|
10
|
-
shadow?: boolean;
|
|
11
|
-
color?: TableColorType;
|
|
12
|
-
customeColor?: string;
|
|
6
|
+
divClass?: string | undefined;
|
|
7
|
+
striped?: boolean | undefined;
|
|
8
|
+
hoverable?: boolean | undefined;
|
|
9
|
+
noborder?: boolean | undefined;
|
|
10
|
+
shadow?: boolean | undefined;
|
|
11
|
+
color?: TableColorType | undefined;
|
|
12
|
+
customeColor?: string | undefined;
|
|
13
|
+
items?: T[] | undefined;
|
|
14
|
+
filter?: ((t: T, term: string) => boolean) | null | undefined;
|
|
15
|
+
placeholder?: string | undefined;
|
|
16
|
+
innerDivClass?: string | undefined;
|
|
17
|
+
searchClass?: string | undefined;
|
|
18
|
+
svgDivClass?: string | undefined;
|
|
19
|
+
svgClass?: string | undefined;
|
|
20
|
+
inputClass?: string | undefined;
|
|
13
21
|
};
|
|
14
|
-
events: {
|
|
22
|
+
events(): {} & {
|
|
15
23
|
[evt: string]: CustomEvent<any>;
|
|
16
24
|
};
|
|
17
|
-
slots: {
|
|
25
|
+
slots(): {
|
|
26
|
+
search: {};
|
|
27
|
+
svgSearch: {};
|
|
28
|
+
header: {};
|
|
18
29
|
default: {};
|
|
19
30
|
};
|
|
20
|
-
}
|
|
21
|
-
export type TableProps =
|
|
22
|
-
export type TableEvents =
|
|
23
|
-
export type TableSlots =
|
|
31
|
+
}
|
|
32
|
+
export type TableProps<T> = ReturnType<__sveltets_Render<T>['props']>;
|
|
33
|
+
export type TableEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
|
|
34
|
+
export type TableSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
|
|
24
35
|
/**
|
|
25
36
|
* [Go to docs](https://flowbite-svelte.com/)
|
|
26
37
|
* ## Props
|
|
@@ -31,7 +42,15 @@ export type TableSlots = typeof __propDef.slots;
|
|
|
31
42
|
* @prop export let shadow: boolean = false;
|
|
32
43
|
* @prop export let color: TableColorType = 'default';
|
|
33
44
|
* @prop export let customeColor: string = '';
|
|
45
|
+
* @prop export let items: T[] = [];
|
|
46
|
+
* @prop export let filter: ((t: T, term: string) => boolean) | null = null;
|
|
47
|
+
* @prop export let placeholder: string = 'Search';
|
|
48
|
+
* @prop export let innerDivClass: string = 'p-4';
|
|
49
|
+
* @prop export let searchClass: string = 'relative mt-1';
|
|
50
|
+
* @prop export let svgDivClass: string = 'absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none';
|
|
51
|
+
* @prop export let svgClass: string = 'w-5 h-5 text-gray-500 dark:text-gray-400';
|
|
52
|
+
* @prop export let inputClass: string = 'bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-80 p-2.5 ps-10 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500';
|
|
34
53
|
*/
|
|
35
|
-
export default class Table extends SvelteComponentTyped<TableProps
|
|
54
|
+
export default class Table<T> extends SvelteComponentTyped<TableProps<T>, TableEvents<T>, TableSlots<T>> {
|
|
36
55
|
}
|
|
37
56
|
export {};
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
<script>
|
|
1
|
+
<script generics="T">import { getContext } from "svelte";
|
|
2
|
+
export let tableBodyClass = void 0;
|
|
3
|
+
$: items = getContext("items") || [];
|
|
4
|
+
let filter = getContext("filter");
|
|
5
|
+
let searchTerm = getContext("searchTerm");
|
|
6
|
+
$: filtered = $filter ? items.filter((item) => $filter(item, $searchTerm)) : items;
|
|
7
|
+
let sorter = getContext("sorter");
|
|
8
|
+
$: sorted = $sorter ? filtered.toSorted((a, b) => $sorter.sortDirection * $sorter.sort(a, b)) : filtered;
|
|
2
9
|
</script>
|
|
3
10
|
|
|
4
11
|
<tbody class={tableBodyClass}>
|
|
5
12
|
<slot />
|
|
13
|
+
{#each sorted as item}
|
|
14
|
+
<slot name="row" {item} />
|
|
15
|
+
{/each}
|
|
6
16
|
</tbody>
|
|
7
17
|
|
|
8
18
|
<!--
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare
|
|
3
|
-
props: {
|
|
2
|
+
declare class __sveltets_Render<T> {
|
|
3
|
+
props(): {
|
|
4
4
|
tableBodyClass?: string | undefined;
|
|
5
5
|
};
|
|
6
|
-
events: {
|
|
6
|
+
events(): {} & {
|
|
7
7
|
[evt: string]: CustomEvent<any>;
|
|
8
8
|
};
|
|
9
|
-
slots: {
|
|
9
|
+
slots(): {
|
|
10
10
|
default: {};
|
|
11
|
+
row: {
|
|
12
|
+
item: T;
|
|
13
|
+
};
|
|
11
14
|
};
|
|
12
|
-
}
|
|
13
|
-
export type TableBodyProps =
|
|
14
|
-
export type TableBodyEvents =
|
|
15
|
-
export type TableBodySlots =
|
|
15
|
+
}
|
|
16
|
+
export type TableBodyProps<T> = ReturnType<__sveltets_Render<T>['props']>;
|
|
17
|
+
export type TableBodyEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
|
|
18
|
+
export type TableBodySlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
|
|
16
19
|
/**
|
|
17
20
|
* [Go to docs](https://flowbite-svelte.com/)
|
|
18
21
|
* ## Props
|
|
19
22
|
* @prop export let tableBodyClass: string | undefined = undefined;
|
|
20
23
|
*/
|
|
21
|
-
export default class TableBody extends SvelteComponentTyped<TableBodyProps
|
|
24
|
+
export default class TableBody<T> extends SvelteComponentTyped<TableBodyProps<T>, TableBodyEvents<T>, TableBodySlots<T>> {
|
|
22
25
|
}
|
|
23
26
|
export {};
|
|
@@ -2,7 +2,7 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
color?: "blue" | "green" | "red" | "yellow" | "purple" | "default" | "custom";
|
|
5
|
+
color?: ("blue" | "green" | "red" | "yellow" | "purple" | "default" | "custom") | undefined;
|
|
6
6
|
};
|
|
7
7
|
events: {
|
|
8
8
|
click: MouseEvent;
|
|
@@ -2,8 +2,8 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
theadClass?: string;
|
|
6
|
-
defaultRow?: boolean;
|
|
5
|
+
theadClass?: string | undefined;
|
|
6
|
+
defaultRow?: boolean | undefined;
|
|
7
7
|
};
|
|
8
8
|
events: {
|
|
9
9
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,14 +1,47 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script generics="T">import { getContext } from "svelte";
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
2
3
|
export let padding = "px-6 py-3";
|
|
4
|
+
export let sort = null;
|
|
5
|
+
export let defaultDirection = "asc";
|
|
6
|
+
export let defaultSort = false;
|
|
7
|
+
export let direction = defaultSort ? defaultDirection : null;
|
|
8
|
+
let sorter = getContext("sorter");
|
|
9
|
+
let sortId = Math.random().toString(36).substring(2);
|
|
10
|
+
$: direction = $sorter?.id === sortId ? $sorter.sortDirection === 1 ? "asc" : "desc" : null;
|
|
11
|
+
if (defaultSort) {
|
|
12
|
+
sortItems();
|
|
13
|
+
}
|
|
14
|
+
function sortItems() {
|
|
15
|
+
if (!sort || !sorter) return;
|
|
16
|
+
sorter.update((sorter2) => {
|
|
17
|
+
return {
|
|
18
|
+
id: sortId,
|
|
19
|
+
sort,
|
|
20
|
+
sortDirection: sorter2?.id === sortId ? -sorter2.sortDirection : defaultDirection === "asc" ? 1 : -1
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
}
|
|
3
24
|
</script>
|
|
4
25
|
|
|
26
|
+
{#if sort && sorter}
|
|
27
|
+
<th {...$$restProps} class={$$props.class} on:click on:focus on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover aria-sort={direction ? `${direction}ending` : undefined}>
|
|
28
|
+
<button class={twMerge('w-full text-left', 'after:absolute after:pl-3', direction === 'asc' && 'after:content-["▲"]', direction === 'desc' && 'after:content-["▼"]', padding)} on:click={sortItems}>
|
|
29
|
+
<slot />
|
|
30
|
+
</button>
|
|
31
|
+
</th>
|
|
32
|
+
{:else}
|
|
5
33
|
<th {...$$restProps} class={twMerge(padding, $$props.class)} on:click on:focus on:keydown on:keypress on:keyup on:mouseenter on:mouseleave on:mouseover>
|
|
6
34
|
<slot />
|
|
7
35
|
</th>
|
|
36
|
+
{/if}
|
|
8
37
|
|
|
9
38
|
<!--
|
|
10
39
|
@component
|
|
11
40
|
[Go to docs](https://flowbite-svelte.com/)
|
|
12
41
|
## Props
|
|
13
42
|
@prop export let padding: string = 'px-6 py-3';
|
|
43
|
+
@prop export let sort: ((a: T, b: T) => number) | null = null;
|
|
44
|
+
@prop export let defaultDirection: 'asc' | 'desc' = 'asc';
|
|
45
|
+
@prop export let defaultSort: boolean = false;
|
|
46
|
+
@prop export let direction: 'asc' | 'desc' | null = defaultSort ? defaultDirection : null;
|
|
14
47
|
-->
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare
|
|
3
|
-
props: {
|
|
2
|
+
declare class __sveltets_Render<T> {
|
|
3
|
+
props(): {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
padding?: string;
|
|
5
|
+
padding?: string | undefined;
|
|
6
|
+
sort?: ((a: T, b: T) => number) | null | undefined;
|
|
7
|
+
defaultDirection?: ("asc" | "desc") | undefined;
|
|
8
|
+
defaultSort?: boolean | undefined;
|
|
9
|
+
direction?: ("asc" | "desc" | null) | undefined;
|
|
6
10
|
};
|
|
7
|
-
events: {
|
|
11
|
+
events(): {
|
|
8
12
|
click: MouseEvent;
|
|
9
13
|
focus: FocusEvent;
|
|
10
14
|
keydown: KeyboardEvent;
|
|
@@ -16,18 +20,22 @@ declare const __propDef: {
|
|
|
16
20
|
} & {
|
|
17
21
|
[evt: string]: CustomEvent<any>;
|
|
18
22
|
};
|
|
19
|
-
slots: {
|
|
23
|
+
slots(): {
|
|
20
24
|
default: {};
|
|
21
25
|
};
|
|
22
|
-
}
|
|
23
|
-
export type TableHeadCellProps =
|
|
24
|
-
export type TableHeadCellEvents =
|
|
25
|
-
export type TableHeadCellSlots =
|
|
26
|
+
}
|
|
27
|
+
export type TableHeadCellProps<T> = ReturnType<__sveltets_Render<T>['props']>;
|
|
28
|
+
export type TableHeadCellEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
|
|
29
|
+
export type TableHeadCellSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
|
|
26
30
|
/**
|
|
27
31
|
* [Go to docs](https://flowbite-svelte.com/)
|
|
28
32
|
* ## Props
|
|
29
33
|
* @prop export let padding: string = 'px-6 py-3';
|
|
34
|
+
* @prop export let sort: ((a: T, b: T) => number) | null = null;
|
|
35
|
+
* @prop export let defaultDirection: 'asc' | 'desc' = 'asc';
|
|
36
|
+
* @prop export let defaultSort: boolean = false;
|
|
37
|
+
* @prop export let direction: 'asc' | 'desc' | null = defaultSort ? defaultDirection : null;
|
|
30
38
|
*/
|
|
31
|
-
export default class TableHeadCell extends SvelteComponentTyped<TableHeadCellProps
|
|
39
|
+
export default class TableHeadCell<T> extends SvelteComponentTyped<TableHeadCellProps<T>, TableHeadCellEvents<T>, TableHeadCellSlots<T>> {
|
|
32
40
|
}
|
|
33
41
|
export {};
|
|
@@ -2,18 +2,18 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
divClass?: string;
|
|
6
|
-
inputValue?: string;
|
|
7
|
-
striped?: boolean;
|
|
8
|
-
hoverable?: boolean;
|
|
9
|
-
placeholder?: string;
|
|
10
|
-
customColor?: string;
|
|
11
|
-
color?: "blue" | "green" | "red" | "yellow" | "purple" | "default" | "custom";
|
|
12
|
-
innerDivClass?: string;
|
|
13
|
-
searchClass?: string;
|
|
14
|
-
svgDivClass?: string;
|
|
15
|
-
svgClass?: string;
|
|
16
|
-
inputClass?: string;
|
|
5
|
+
divClass?: string | undefined;
|
|
6
|
+
inputValue?: string | undefined;
|
|
7
|
+
striped?: boolean | undefined;
|
|
8
|
+
hoverable?: boolean | undefined;
|
|
9
|
+
placeholder?: string | undefined;
|
|
10
|
+
customColor?: string | undefined;
|
|
11
|
+
color?: ("blue" | "green" | "red" | "yellow" | "purple" | "default" | "custom") | undefined;
|
|
12
|
+
innerDivClass?: string | undefined;
|
|
13
|
+
searchClass?: string | undefined;
|
|
14
|
+
svgDivClass?: string | undefined;
|
|
15
|
+
svgClass?: string | undefined;
|
|
16
|
+
inputClass?: string | undefined;
|
|
17
17
|
};
|
|
18
18
|
events: {
|
|
19
19
|
[evt: string]: CustomEvent<any>;
|