flowbite-svelte 0.26.0 → 0.26.3
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/CHANGELOG.md +48 -0
- package/alerts/Alert.svelte +7 -49
- package/alerts/Alert.svelte.d.ts +1 -3
- package/cards/Card.svelte +4 -5
- package/dropdowns/Dropdown.svelte +10 -11
- package/footer/FooterIcon.svelte +2 -5
- package/footer/FooterIcon.svelte.d.ts +3 -5
- package/forms/Iconinput.svelte +13 -38
- package/forms/Iconinput.svelte.d.ts +3 -6
- package/forms/Input.svelte +1 -2
- package/index.d.ts +6 -10
- package/index.js +6 -10
- package/list-group/List.svelte +4 -4
- package/modals/Modal.svelte +6 -11
- package/package.json +11 -15
- package/popover/Popover.svelte +0 -1
- package/popover/Popover.svelte.d.ts +0 -3
- package/ratings/Review.svelte +9 -13
- package/ratings/Review.svelte.d.ts +4 -3
- package/sidebars/SidebarDropdownWrapper.svelte +1 -6
- package/sidebars/SidebarDropdownWrapper.svelte.d.ts +1 -2
- package/sidebars/SidebarItem.svelte +2 -9
- package/sidebars/SidebarItem.svelte.d.ts +1 -2
- package/tabs/TabContentItem.svelte +10 -0
- package/tabs/TabContentItem.svelte.d.ts +20 -0
- package/tabs/TabContentWrapper.svelte +8 -0
- package/tabs/TabContentWrapper.svelte.d.ts +16 -0
- package/tabs/TabHead.svelte +27 -0
- package/tabs/TabHead.svelte.d.ts +21 -0
- package/tabs/TabHeadItem.svelte +54 -0
- package/tabs/TabHeadItem.svelte.d.ts +34 -0
- package/tabs/TabWrapper.svelte +10 -0
- package/tabs/TabWrapper.svelte.d.ts +25 -0
- package/toasts/Toast.svelte +7 -24
- package/toasts/Toast.svelte.d.ts +1 -3
- package/types.d.ts +3 -7
- package/typography/A.svelte +4 -3
- package/typography/A.svelte.d.ts +1 -0
- package/utils/Frame.svelte +73 -0
- package/utils/Frame.svelte.d.ts +26 -0
- package/utils/InformationCircle.svelte +37 -0
- package/utils/InformationCircle.svelte.d.ts +22 -0
- package/utils/UserCircle.svelte +37 -0
- package/utils/UserCircle.svelte.d.ts +22 -0
- package/tabs/DefaultTabs.svelte +0 -26
- package/tabs/DefaultTabs.svelte.d.ts +0 -27
- package/tabs/FullWidthTabs.svelte +0 -42
- package/tabs/FullWidthTabs.svelte.d.ts +0 -28
- package/tabs/IconTabs.svelte +0 -33
- package/tabs/IconTabs.svelte.d.ts +0 -28
- package/tabs/InteractiveTabHead.svelte +0 -65
- package/tabs/InteractiveTabHead.svelte.d.ts +0 -54
- package/tabs/InteractiveTabs.svelte +0 -56
- package/tabs/InteractiveTabs.svelte.d.ts +0 -32
- package/tabs/PillTabs.svelte +0 -25
- package/tabs/PillTabs.svelte.d.ts +0 -27
- package/tabs/TabContent.svelte +0 -32
- package/tabs/TabContent.svelte.d.ts +0 -36
- package/tabs/Tabs.svelte +0 -115
- package/tabs/Tabs.svelte.d.ts +0 -39
- package/tabs/UnderlineTabs.svelte +0 -28
- package/tabs/UnderlineTabs.svelte.d.ts +0 -27
- package/tabs/tabStores.js +0 -3
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
size?: string;
|
|
6
|
+
color?: string;
|
|
7
|
+
variation?: 'solid' | 'outline';
|
|
8
|
+
ariaLabel?: string;
|
|
9
|
+
};
|
|
10
|
+
events: {
|
|
11
|
+
click: MouseEvent;
|
|
12
|
+
} & {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {};
|
|
16
|
+
};
|
|
17
|
+
export declare type InformationCircleProps = typeof __propDef.props;
|
|
18
|
+
export declare type InformationCircleEvents = typeof __propDef.events;
|
|
19
|
+
export declare type InformationCircleSlots = typeof __propDef.slots;
|
|
20
|
+
export default class InformationCircle extends SvelteComponentTyped<InformationCircleProps, InformationCircleEvents, InformationCircleSlots> {
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<script>export let size = '24';
|
|
2
|
+
export let color = 'currentColor';
|
|
3
|
+
export let variation = 'outline';
|
|
4
|
+
let viewBox;
|
|
5
|
+
let svgpath;
|
|
6
|
+
let svgoutline = `<path d="M17.9815 18.7248C16.6121 16.9175 14.4424 15.75 12 15.75C9.55761 15.75 7.38789 16.9175 6.01846 18.7248M17.9815 18.7248C19.8335 17.0763 21 14.6744 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 14.6744 4.1665 17.0763 6.01846 18.7248M17.9815 18.7248C16.3915 20.1401 14.2962 21 12 21C9.70383 21 7.60851 20.1401 6.01846 18.7248M15 9.75C15 11.4069 13.6569 12.75 12 12.75C10.3431 12.75 9 11.4069 9 9.75C9 8.09315 10.3431 6.75 12 6.75C13.6569 6.75 15 8.09315 15 9.75Z" stroke="${color}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> `;
|
|
7
|
+
let svgsolid = `<path fill-rule="evenodd" clip-rule="evenodd" d="M18.6854 19.0971C20.5721 17.3191 21.75 14.7971 21.75 12C21.75 6.61522 17.3848 2.25 12 2.25C6.61522 2.25 2.25 6.61522 2.25 12C2.25 14.7971 3.42785 17.3191 5.31463 19.0971C7.06012 20.7419 9.41234 21.75 12 21.75C14.5877 21.75 16.9399 20.7419 18.6854 19.0971ZM6.14512 17.8123C7.51961 16.0978 9.63161 15 12 15C14.3684 15 16.4804 16.0978 17.8549 17.8123C16.3603 19.3178 14.289 20.25 12 20.25C9.711 20.25 7.63973 19.3178 6.14512 17.8123ZM15.75 9C15.75 11.0711 14.0711 12.75 12 12.75C9.92893 12.75 8.25 11.0711 8.25 9C8.25 6.92893 9.92893 5.25 12 5.25C14.0711 5.25 15.75 6.92893 15.75 9Z" fill="${color}"/> `;
|
|
8
|
+
$: switch (variation) {
|
|
9
|
+
case 'outline':
|
|
10
|
+
svgpath = svgoutline;
|
|
11
|
+
viewBox = '0 0 24 24';
|
|
12
|
+
break;
|
|
13
|
+
case 'solid':
|
|
14
|
+
svgpath = svgsolid;
|
|
15
|
+
viewBox = '0 0 24 24';
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
svgpath = svgoutline;
|
|
19
|
+
viewBox = '0 0 24 24';
|
|
20
|
+
}
|
|
21
|
+
export let ariaLabel = 'user circle';
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<svg
|
|
25
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
26
|
+
width={size}
|
|
27
|
+
height={size}
|
|
28
|
+
class={$$props.class}
|
|
29
|
+
{...$$restProps}
|
|
30
|
+
aria-label={ariaLabel}
|
|
31
|
+
fill="none"
|
|
32
|
+
{viewBox}
|
|
33
|
+
stroke-width="2"
|
|
34
|
+
on:click
|
|
35
|
+
>
|
|
36
|
+
{@html svgpath}
|
|
37
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
size?: string;
|
|
6
|
+
color?: string;
|
|
7
|
+
variation?: 'solid' | 'outline';
|
|
8
|
+
ariaLabel?: string;
|
|
9
|
+
};
|
|
10
|
+
events: {
|
|
11
|
+
click: MouseEvent;
|
|
12
|
+
} & {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {};
|
|
16
|
+
};
|
|
17
|
+
export declare type UserCircleProps = typeof __propDef.props;
|
|
18
|
+
export declare type UserCircleEvents = typeof __propDef.events;
|
|
19
|
+
export declare type UserCircleSlots = typeof __propDef.slots;
|
|
20
|
+
export default class UserCircle extends SvelteComponentTyped<UserCircleProps, UserCircleEvents, UserCircleSlots> {
|
|
21
|
+
}
|
|
22
|
+
export {};
|
package/tabs/DefaultTabs.svelte
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<script>export let tabs;
|
|
2
|
-
</script>
|
|
3
|
-
|
|
4
|
-
<ul class="flex flex-wrap border-b border-gray-200 dark:border-gray-700">
|
|
5
|
-
{#each tabs as { name, active, href, rel }}
|
|
6
|
-
<li class="mr-2">
|
|
7
|
-
<a
|
|
8
|
-
{href}
|
|
9
|
-
{rel}
|
|
10
|
-
aria-current="page"
|
|
11
|
-
on:blur
|
|
12
|
-
on:click
|
|
13
|
-
on:focus
|
|
14
|
-
on:keydown
|
|
15
|
-
on:keypress
|
|
16
|
-
on:keyup
|
|
17
|
-
on:mouseenter
|
|
18
|
-
on:mouseleave
|
|
19
|
-
on:mouseover
|
|
20
|
-
class={active
|
|
21
|
-
? 'inline-block py-4 px-4 text-sm font-medium text-center text-blue-600 bg-gray-100 rounded-t-lg active dark:bg-gray-800 dark:text-blue-500'
|
|
22
|
-
: ' inline-block py-4 px-4 text-sm font-medium text-center text-gray-500 rounded-t-lg hover:text-gray-600 hover:bg-gray-50 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-300 '}
|
|
23
|
-
>{name}</a
|
|
24
|
-
>
|
|
25
|
-
</li>{/each}
|
|
26
|
-
</ul>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { TabType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
tabs: TabType[];
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
blur: FocusEvent;
|
|
9
|
-
click: MouseEvent;
|
|
10
|
-
focus: FocusEvent;
|
|
11
|
-
keydown: KeyboardEvent;
|
|
12
|
-
keypress: KeyboardEvent;
|
|
13
|
-
keyup: KeyboardEvent;
|
|
14
|
-
mouseenter: MouseEvent;
|
|
15
|
-
mouseleave: MouseEvent;
|
|
16
|
-
mouseover: MouseEvent;
|
|
17
|
-
} & {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots: {};
|
|
21
|
-
};
|
|
22
|
-
export declare type DefaultTabsProps = typeof __propDef.props;
|
|
23
|
-
export declare type DefaultTabsEvents = typeof __propDef.events;
|
|
24
|
-
export declare type DefaultTabsSlots = typeof __propDef.slots;
|
|
25
|
-
export default class DefaultTabs extends SvelteComponentTyped<DefaultTabsProps, DefaultTabsEvents, DefaultTabsSlots> {
|
|
26
|
-
}
|
|
27
|
-
export {};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script>export let tabs;
|
|
2
|
-
export let tabLabel;
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="sm:hidden">
|
|
6
|
-
<label for="tabs" class="sr-only">{tabLabel}</label>
|
|
7
|
-
<select
|
|
8
|
-
id="tabs"
|
|
9
|
-
class="bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 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"
|
|
10
|
-
>
|
|
11
|
-
{#each tabs as { name }}
|
|
12
|
-
<option>{name}</option>
|
|
13
|
-
{/each}
|
|
14
|
-
</select>
|
|
15
|
-
</div>
|
|
16
|
-
<ul
|
|
17
|
-
class="hidden text-sm font-medium text-center text-gray-500 rounded-lg divide-x divide-gray-200 shadow sm:flex dark:divide-gray-700 dark:text-gray-400"
|
|
18
|
-
>
|
|
19
|
-
{#each tabs as { name, href, rel, active }, i}
|
|
20
|
-
<li class="w-full" data-id={i}>
|
|
21
|
-
<a
|
|
22
|
-
{href}
|
|
23
|
-
{rel}
|
|
24
|
-
class:rounded-l-lg={i === 0}
|
|
25
|
-
class:rounded-r-lg={i === tabs.length - 1}
|
|
26
|
-
class={active
|
|
27
|
-
? 'inline-block p-4 w-full text-gray-900 bg-gray-100 focus:ring-4 focus:ring-blue-300 active focus:outline-none dark:bg-gray-700 dark:text-white'
|
|
28
|
-
: 'inline-block p-4 w-full bg-white hover:text-gray-700 hover:bg-gray-50 focus:ring-4 focus:ring-blue-300 focus:outline-none dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700'}
|
|
29
|
-
aria-current="page"
|
|
30
|
-
on:blur
|
|
31
|
-
on:click
|
|
32
|
-
on:focus
|
|
33
|
-
on:keydown
|
|
34
|
-
on:keypress
|
|
35
|
-
on:keyup
|
|
36
|
-
on:mouseenter
|
|
37
|
-
on:mouseleave
|
|
38
|
-
on:mouseover>{name}</a
|
|
39
|
-
>
|
|
40
|
-
</li>
|
|
41
|
-
{/each}
|
|
42
|
-
</ul>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { TabType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
tabs: TabType[];
|
|
6
|
-
tabLabel: string;
|
|
7
|
-
};
|
|
8
|
-
events: {
|
|
9
|
-
blur: FocusEvent;
|
|
10
|
-
click: MouseEvent;
|
|
11
|
-
focus: FocusEvent;
|
|
12
|
-
keydown: KeyboardEvent;
|
|
13
|
-
keypress: KeyboardEvent;
|
|
14
|
-
keyup: KeyboardEvent;
|
|
15
|
-
mouseenter: MouseEvent;
|
|
16
|
-
mouseleave: MouseEvent;
|
|
17
|
-
mouseover: MouseEvent;
|
|
18
|
-
} & {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
};
|
|
23
|
-
export declare type FullWidthTabsProps = typeof __propDef.props;
|
|
24
|
-
export declare type FullWidthTabsEvents = typeof __propDef.events;
|
|
25
|
-
export declare type FullWidthTabsSlots = typeof __propDef.slots;
|
|
26
|
-
export default class FullWidthTabs extends SvelteComponentTyped<FullWidthTabsProps, FullWidthTabsEvents, FullWidthTabsSlots> {
|
|
27
|
-
}
|
|
28
|
-
export {};
|
package/tabs/IconTabs.svelte
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<script>export let tabs;
|
|
2
|
-
export let iconClass = 'mr-2 w-5 h-5 text-gray-400 group-hover:text-gray-500 dark:text-gray-500 dark:group-hover:text-gray-300';
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="border-b border-gray-200 dark:border-gray-700">
|
|
6
|
-
<ul
|
|
7
|
-
class="flex flex-wrap -mb-px text-sm font-medium text-center text-gray-500 dark:text-gray-400"
|
|
8
|
-
>
|
|
9
|
-
{#each tabs as { name, active, href, rel, icon, iconSize }}
|
|
10
|
-
<li class="mr-2">
|
|
11
|
-
<a
|
|
12
|
-
{href}
|
|
13
|
-
{rel}
|
|
14
|
-
class={active
|
|
15
|
-
? 'inline-flex p-4 text-blue-600 rounded-t-lg border-b-2 border-blue-600 active dark:text-blue-500 dark:border-blue-500 group'
|
|
16
|
-
: ' inline-flex p-4 rounded-t-lg border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300 group '}
|
|
17
|
-
on:blur
|
|
18
|
-
on:click
|
|
19
|
-
on:focus
|
|
20
|
-
on:keydown
|
|
21
|
-
on:keypress
|
|
22
|
-
on:keyup
|
|
23
|
-
on:mouseenter
|
|
24
|
-
on:mouseleave
|
|
25
|
-
on:mouseover
|
|
26
|
-
>
|
|
27
|
-
<svelte:component this={icon} size={iconSize} class={iconClass} />
|
|
28
|
-
{name}
|
|
29
|
-
</a>
|
|
30
|
-
</li>
|
|
31
|
-
{/each}
|
|
32
|
-
</ul>
|
|
33
|
-
</div>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { IconTabType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
tabs: IconTabType[];
|
|
6
|
-
iconClass?: string;
|
|
7
|
-
};
|
|
8
|
-
events: {
|
|
9
|
-
blur: FocusEvent;
|
|
10
|
-
click: MouseEvent;
|
|
11
|
-
focus: FocusEvent;
|
|
12
|
-
keydown: KeyboardEvent;
|
|
13
|
-
keypress: KeyboardEvent;
|
|
14
|
-
keyup: KeyboardEvent;
|
|
15
|
-
mouseenter: MouseEvent;
|
|
16
|
-
mouseleave: MouseEvent;
|
|
17
|
-
mouseover: MouseEvent;
|
|
18
|
-
} & {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
};
|
|
23
|
-
export declare type IconTabsProps = typeof __propDef.props;
|
|
24
|
-
export declare type IconTabsEvents = typeof __propDef.events;
|
|
25
|
-
export declare type IconTabsSlots = typeof __propDef.slots;
|
|
26
|
-
export default class IconTabs extends SvelteComponentTyped<IconTabsProps, IconTabsEvents, IconTabsSlots> {
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
<script>import { tabStore } from './tabStores';
|
|
2
|
-
import classNames from 'classnames';
|
|
3
|
-
export let tabs;
|
|
4
|
-
export let tabId = 'myTab';
|
|
5
|
-
export let activeTabValue = 1;
|
|
6
|
-
export let disabled = false;
|
|
7
|
-
export let divClass = 'mb-4 border-b border-gray-200';
|
|
8
|
-
export let ulClass = 'flex flex-wrap -mb-px text-sm font-medium text-center';
|
|
9
|
-
export let liClass = 'mr-2';
|
|
10
|
-
export let btnClass = 'inline-block py-4 px-4 text-sm font-medium text-center rounded-t-lg border-b-2 border-transparent';
|
|
11
|
-
export let activeClass = 'text-blue-600 hover:text-blue-600 dark:text-blue-500 dark:hover:text-blue-400 border-blue-600 dark:border-blue-500';
|
|
12
|
-
export let inactiveClasses = 'text-gray-500 hover:text-gray-600 dark:text-gray-400 border-gray-100 hover:border-gray-300 dark:border-gray-700 dark:hover:text-gray-300';
|
|
13
|
-
const handleClick = (tabValue) => () => {
|
|
14
|
-
tabStore.update((n) => (n = tabValue));
|
|
15
|
-
activeTabValue = tabValue;
|
|
16
|
-
};
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<!--
|
|
20
|
-
@component
|
|
21
|
-
Header part of Interactive tab component. Use with TabContent.
|
|
22
|
-
|
|
23
|
-
@param tabs: TabHeadType[];
|
|
24
|
-
@param tabId = 'myTab';
|
|
25
|
-
|
|
26
|
-
- Usage:
|
|
27
|
-
|
|
28
|
-
```tsx
|
|
29
|
-
<InteractiveHead>
|
|
30
|
-
<TabContent>
|
|
31
|
-
Some HTML|Component|string
|
|
32
|
-
</TabContent>
|
|
33
|
-
</InteractiveHead>
|
|
34
|
-
```
|
|
35
|
-
-->
|
|
36
|
-
<div class={divClass}>
|
|
37
|
-
<ul class={ulClass} id={tabId} data-tabs-toggle="#myTabContent" role="tablist">
|
|
38
|
-
{#each tabs as { name, id }}
|
|
39
|
-
<li class={liClass} role="presentation">
|
|
40
|
-
<button
|
|
41
|
-
on:click={handleClick(id)}
|
|
42
|
-
class={classNames(btnClass, activeTabValue === id ? activeClass : inactiveClasses)}
|
|
43
|
-
id="{name}-tab"
|
|
44
|
-
data-tabs-target="#{name}"
|
|
45
|
-
type="button"
|
|
46
|
-
role="tab"
|
|
47
|
-
aria-controls={name}
|
|
48
|
-
aria-selected="false"
|
|
49
|
-
on:blur
|
|
50
|
-
on:click
|
|
51
|
-
on:focus
|
|
52
|
-
on:keydown
|
|
53
|
-
on:keypress
|
|
54
|
-
on:keyup
|
|
55
|
-
on:mouseenter
|
|
56
|
-
on:mouseleave
|
|
57
|
-
on:mouseover
|
|
58
|
-
{disabled}>{name}</button
|
|
59
|
-
>
|
|
60
|
-
</li>
|
|
61
|
-
{/each}
|
|
62
|
-
</ul>
|
|
63
|
-
</div>
|
|
64
|
-
|
|
65
|
-
<slot />
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { TabHeadType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
tabs: TabHeadType[];
|
|
6
|
-
tabId?: string;
|
|
7
|
-
activeTabValue?: number;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
divClass?: string;
|
|
10
|
-
ulClass?: string;
|
|
11
|
-
liClass?: string;
|
|
12
|
-
btnClass?: string;
|
|
13
|
-
activeClass?: string;
|
|
14
|
-
inactiveClasses?: string;
|
|
15
|
-
};
|
|
16
|
-
events: {
|
|
17
|
-
blur: FocusEvent;
|
|
18
|
-
click: MouseEvent;
|
|
19
|
-
focus: FocusEvent;
|
|
20
|
-
keydown: KeyboardEvent;
|
|
21
|
-
keypress: KeyboardEvent;
|
|
22
|
-
keyup: KeyboardEvent;
|
|
23
|
-
mouseenter: MouseEvent;
|
|
24
|
-
mouseleave: MouseEvent;
|
|
25
|
-
mouseover: MouseEvent;
|
|
26
|
-
} & {
|
|
27
|
-
[evt: string]: CustomEvent<any>;
|
|
28
|
-
};
|
|
29
|
-
slots: {
|
|
30
|
-
default: {};
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export declare type InteractiveTabHeadProps = typeof __propDef.props;
|
|
34
|
-
export declare type InteractiveTabHeadEvents = typeof __propDef.events;
|
|
35
|
-
export declare type InteractiveTabHeadSlots = typeof __propDef.slots;
|
|
36
|
-
/**
|
|
37
|
-
* Header part of Interactive tab component. Use with TabContent.
|
|
38
|
-
*
|
|
39
|
-
* @param tabs: TabHeadType[];
|
|
40
|
-
* @param tabId = 'myTab';
|
|
41
|
-
*
|
|
42
|
-
* - Usage:
|
|
43
|
-
*
|
|
44
|
-
* ```tsx
|
|
45
|
-
* <InteractiveHead>
|
|
46
|
-
* <TabContent>
|
|
47
|
-
* Some HTML|Component|string
|
|
48
|
-
* </TabContent>
|
|
49
|
-
* </InteractiveHead>
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export default class InteractiveTabHead extends SvelteComponentTyped<InteractiveTabHeadProps, InteractiveTabHeadEvents, InteractiveTabHeadSlots> {
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script>import classNames from 'classnames';
|
|
2
|
-
export let tabId = 'myTab';
|
|
3
|
-
export let activeTabValue = 1;
|
|
4
|
-
export let tabs;
|
|
5
|
-
export let btnClass = 'inline-block py-4 px-4 text-sm font-medium text-center rounded-t-lg border-b-2 border-transparent';
|
|
6
|
-
export let activeClass = 'text-blue-600 hover:text-blue-600 dark:text-blue-500 dark:hover:text-blue-400 border-blue-600 dark:border-blue-500';
|
|
7
|
-
export let inactiveClasses = 'text-gray-500 hover:text-gray-600 dark:text-gray-400 border-gray-100 hover:border-gray-300 dark:border-gray-700 dark:hover:text-gray-300';
|
|
8
|
-
const handleClick = (tabValue) => () => (activeTabValue = tabValue);
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<div class="mb-4 border-b border-gray-200 dark:border-gray-700">
|
|
12
|
-
<ul class="flex flex-wrap -mb-px" id={tabId} role="tablist">
|
|
13
|
-
{#each tabs as { name, id, disabled }}
|
|
14
|
-
<li class="mr-2" role="presentation">
|
|
15
|
-
<button
|
|
16
|
-
on:click={handleClick(id)}
|
|
17
|
-
on:blur
|
|
18
|
-
on:click
|
|
19
|
-
on:focus
|
|
20
|
-
on:keydown
|
|
21
|
-
on:keypress
|
|
22
|
-
on:keyup
|
|
23
|
-
on:mouseenter
|
|
24
|
-
on:mouseleave
|
|
25
|
-
on:mouseover
|
|
26
|
-
class={classNames(btnClass, activeTabValue === id ? activeClass : inactiveClasses)}
|
|
27
|
-
id="{name}-tab"
|
|
28
|
-
type="button"
|
|
29
|
-
role="tab"
|
|
30
|
-
aria-controls={name}
|
|
31
|
-
{disabled}>{name}</button
|
|
32
|
-
>
|
|
33
|
-
</li>
|
|
34
|
-
{/each}
|
|
35
|
-
</ul>
|
|
36
|
-
</div>
|
|
37
|
-
<div id="{tabId}Content">
|
|
38
|
-
{#each tabs as { name, content, id }}
|
|
39
|
-
{#if activeTabValue === id}
|
|
40
|
-
<div
|
|
41
|
-
class="p-4 bg-gray-50 rounded-lg dark:bg-gray-800"
|
|
42
|
-
id={name}
|
|
43
|
-
role="tabpanel"
|
|
44
|
-
aria-labelledby="{name}-tab"
|
|
45
|
-
>
|
|
46
|
-
{#if typeof content === 'string'}
|
|
47
|
-
<p class="text-sm text-gray-500 dark:text-gray-400">
|
|
48
|
-
{@html content}
|
|
49
|
-
</p>
|
|
50
|
-
{:else}
|
|
51
|
-
<svelte:component this={content} />
|
|
52
|
-
{/if}
|
|
53
|
-
</div>
|
|
54
|
-
{/if}
|
|
55
|
-
{/each}
|
|
56
|
-
</div>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { InteractiveTabType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
tabId?: string;
|
|
6
|
-
activeTabValue?: number;
|
|
7
|
-
tabs: InteractiveTabType[];
|
|
8
|
-
btnClass?: string;
|
|
9
|
-
activeClass?: string;
|
|
10
|
-
inactiveClasses?: string;
|
|
11
|
-
};
|
|
12
|
-
events: {
|
|
13
|
-
blur: FocusEvent;
|
|
14
|
-
click: MouseEvent;
|
|
15
|
-
focus: FocusEvent;
|
|
16
|
-
keydown: KeyboardEvent;
|
|
17
|
-
keypress: KeyboardEvent;
|
|
18
|
-
keyup: KeyboardEvent;
|
|
19
|
-
mouseenter: MouseEvent;
|
|
20
|
-
mouseleave: MouseEvent;
|
|
21
|
-
mouseover: MouseEvent;
|
|
22
|
-
} & {
|
|
23
|
-
[evt: string]: CustomEvent<any>;
|
|
24
|
-
};
|
|
25
|
-
slots: {};
|
|
26
|
-
};
|
|
27
|
-
export declare type InteractiveTabsProps = typeof __propDef.props;
|
|
28
|
-
export declare type InteractiveTabsEvents = typeof __propDef.events;
|
|
29
|
-
export declare type InteractiveTabsSlots = typeof __propDef.slots;
|
|
30
|
-
export default class InteractiveTabs extends SvelteComponentTyped<InteractiveTabsProps, InteractiveTabsEvents, InteractiveTabsSlots> {
|
|
31
|
-
}
|
|
32
|
-
export {};
|
package/tabs/PillTabs.svelte
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<script>export let tabs;
|
|
2
|
-
</script>
|
|
3
|
-
|
|
4
|
-
<ul class="flex flex-wrap">
|
|
5
|
-
{#each tabs as { name, selected, href }}
|
|
6
|
-
<li class="mr-2">
|
|
7
|
-
<a
|
|
8
|
-
class="{selected
|
|
9
|
-
? 'active inline-block py-3 px-4 text-sm font-medium text-center text-white bg-blue-600 rounded-lg'
|
|
10
|
-
: 'inline-block py-3 px-4 text-sm font-medium text-center text-gray-500 rounded-lg hover:text-gray-900 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-white'} "
|
|
11
|
-
{href}
|
|
12
|
-
rel="external"
|
|
13
|
-
on:blur
|
|
14
|
-
on:click
|
|
15
|
-
on:focus
|
|
16
|
-
on:keydown
|
|
17
|
-
on:keypress
|
|
18
|
-
on:keyup
|
|
19
|
-
on:mouseenter
|
|
20
|
-
on:mouseleave
|
|
21
|
-
on:mouseover>{name}</a
|
|
22
|
-
>
|
|
23
|
-
</li>
|
|
24
|
-
{/each}
|
|
25
|
-
</ul>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { PillTabType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
tabs: PillTabType[];
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
blur: FocusEvent;
|
|
9
|
-
click: MouseEvent;
|
|
10
|
-
focus: FocusEvent;
|
|
11
|
-
keydown: KeyboardEvent;
|
|
12
|
-
keypress: KeyboardEvent;
|
|
13
|
-
keyup: KeyboardEvent;
|
|
14
|
-
mouseenter: MouseEvent;
|
|
15
|
-
mouseleave: MouseEvent;
|
|
16
|
-
mouseover: MouseEvent;
|
|
17
|
-
} & {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots: {};
|
|
21
|
-
};
|
|
22
|
-
export declare type PillTabsProps = typeof __propDef.props;
|
|
23
|
-
export declare type PillTabsEvents = typeof __propDef.events;
|
|
24
|
-
export declare type PillTabsSlots = typeof __propDef.slots;
|
|
25
|
-
export default class PillTabs extends SvelteComponentTyped<PillTabsProps, PillTabsEvents, PillTabsSlots> {
|
|
26
|
-
}
|
|
27
|
-
export {};
|
package/tabs/TabContent.svelte
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<script>import { tabStore } from './tabStores';
|
|
2
|
-
export let divClass = 'p-4 rounded-lg dark:bg-gray-800';
|
|
3
|
-
export let tab;
|
|
4
|
-
let activeTabValue;
|
|
5
|
-
tabStore.subscribe((value) => {
|
|
6
|
-
activeTabValue = value;
|
|
7
|
-
});
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<!--
|
|
11
|
-
@component
|
|
12
|
-
Content part of Interactive tab component. Use with InteractiveHead.
|
|
13
|
-
|
|
14
|
-
- let tabId = 'myTab';
|
|
15
|
-
- let tabs: TabHeadType;
|
|
16
|
-
- let divClass: string;
|
|
17
|
-
- Usage:
|
|
18
|
-
|
|
19
|
-
```tsx
|
|
20
|
-
<InteractiveHead>
|
|
21
|
-
<TabContent>
|
|
22
|
-
Some HTML|Component|string
|
|
23
|
-
</TabContent>
|
|
24
|
-
</InteractiveHead>
|
|
25
|
-
```
|
|
26
|
-
-->
|
|
27
|
-
|
|
28
|
-
{#if activeTabValue === tab.id}
|
|
29
|
-
<div class={divClass} id="{tab.id}Content" role="tabpanel" aria-labelledby="{tab.name}-tab">
|
|
30
|
-
<slot />
|
|
31
|
-
</div>
|
|
32
|
-
{/if}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { TabHeadType } from '../types';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
divClass?: string;
|
|
6
|
-
tab: TabHeadType;
|
|
7
|
-
};
|
|
8
|
-
events: {
|
|
9
|
-
[evt: string]: CustomEvent<any>;
|
|
10
|
-
};
|
|
11
|
-
slots: {
|
|
12
|
-
default: {};
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
export declare type TabContentProps = typeof __propDef.props;
|
|
16
|
-
export declare type TabContentEvents = typeof __propDef.events;
|
|
17
|
-
export declare type TabContentSlots = typeof __propDef.slots;
|
|
18
|
-
/**
|
|
19
|
-
* Content part of Interactive tab component. Use with InteractiveHead.
|
|
20
|
-
*
|
|
21
|
-
* - let tabId = 'myTab';
|
|
22
|
-
* - let tabs: TabHeadType;
|
|
23
|
-
* - let divClass: string;
|
|
24
|
-
* - Usage:
|
|
25
|
-
*
|
|
26
|
-
* ```tsx
|
|
27
|
-
* <InteractiveHead>
|
|
28
|
-
* <TabContent>
|
|
29
|
-
* Some HTML|Component|string
|
|
30
|
-
* </TabContent>
|
|
31
|
-
* </InteractiveHead>
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export default class TabContent extends SvelteComponentTyped<TabContentProps, TabContentEvents, TabContentSlots> {
|
|
35
|
-
}
|
|
36
|
-
export {};
|