flowbite-svelte 0.27.16 → 0.27.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/CHANGELOG.md +12 -0
- package/buttons/Button.svelte +1 -0
- package/forms/Checkbox.svelte +14 -2
- package/forms/Checkbox.svelte.d.ts +1 -0
- package/forms/Toggle.svelte.d.ts +1 -1
- package/index.d.ts +2 -0
- package/index.js +3 -0
- package/package.json +3 -1
- package/speed-dial/SpeedDial.svelte +44 -0
- package/speed-dial/SpeedDial.svelte.d.ts +32 -0
- package/speed-dial/SpeedDialButton.svelte +33 -0
- package/speed-dial/SpeedDialButton.svelte.d.ts +25 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.27.17](https://github.com/themesberg/flowbite-svelte/compare/v0.27.16...v0.27.17) (2022-11-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add SpeedDial component ([a959c5e](https://github.com/themesberg/flowbite-svelte/commit/a959c5edd96e56145453f0558f19be7f7a7fa8b5))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* checkbox group ([#427](https://github.com/themesberg/flowbite-svelte/issues/427)) ([58c6660](https://github.com/themesberg/flowbite-svelte/commit/58c66600abcb943c730dbd64e6e4ca920bc06f8e))
|
|
16
|
+
|
|
5
17
|
### [0.27.16](https://github.com/themesberg/flowbite-svelte/compare/v0.27.15...v0.27.16) (2022-11-14)
|
|
6
18
|
|
|
7
19
|
### [0.27.15](https://github.com/themesberg/flowbite-svelte/compare/v0.27.14...v0.27.15) (2022-11-13)
|
package/buttons/Button.svelte
CHANGED
|
@@ -50,6 +50,7 @@ const coloredShadowClasses = {
|
|
|
50
50
|
};
|
|
51
51
|
const outlineClasses = {
|
|
52
52
|
blue: 'text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 focus:ring-blue-300 dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-600 dark:focus:ring-blue-800',
|
|
53
|
+
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 focus:ring-4 focus:ring-gray-300 dark:focus:ring-gray-400",
|
|
53
54
|
dark: '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',
|
|
54
55
|
green: 'text-green-700 hover:text-white border border-green-700 hover:bg-green-800 focus:ring-green-300 dark:border-green-500 dark:text-green-500 dark:hover:text-white dark:hover:bg-green-600 dark:focus:ring-green-800',
|
|
55
56
|
red: 'text-red-700 hover:text-white border border-red-700 hover:bg-red-800 focus:ring-red-300 dark:border-red-500 dark:text-red-500 dark:hover:text-white dark:hover:bg-red-600 dark:focus:ring-red-900',
|
package/forms/Checkbox.svelte
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
|
-
import
|
|
2
|
+
import { labelClass, inputClass } from './Radio.svelte';
|
|
3
3
|
import Label from './Label.svelte';
|
|
4
4
|
// properties forwarding
|
|
5
5
|
export let color = 'blue';
|
|
@@ -10,7 +10,16 @@ export let value = '';
|
|
|
10
10
|
export let checked = false;
|
|
11
11
|
// tinted if put in component having its own background
|
|
12
12
|
let background = getContext('background');
|
|
13
|
-
|
|
13
|
+
// react on external group changes
|
|
14
|
+
function init(_, _group) {
|
|
15
|
+
checked = _group.includes(value);
|
|
16
|
+
return {
|
|
17
|
+
update(_group) {
|
|
18
|
+
checked = _group.includes(value);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function onChange() {
|
|
14
23
|
// There's a bug in Svelte and bind:group is not working with wrapped checkbox
|
|
15
24
|
// This workaround is taken from:
|
|
16
25
|
// https://svelte.dev/repl/de117399559f4e7e9e14e2fc9ab243cc?version=3.12.1
|
|
@@ -34,6 +43,7 @@ $: {
|
|
|
34
43
|
|
|
35
44
|
<Label class={labelClass(inline, $$props.class)} show={!!$$slots.default}>
|
|
36
45
|
<input
|
|
46
|
+
use:init={group}
|
|
37
47
|
type="checkbox"
|
|
38
48
|
bind:checked
|
|
39
49
|
on:keyup
|
|
@@ -46,6 +56,8 @@ $: {
|
|
|
46
56
|
on:mouseenter
|
|
47
57
|
on:mouseleave
|
|
48
58
|
on:paste
|
|
59
|
+
on:change={onChange}
|
|
60
|
+
on:change
|
|
49
61
|
{value}
|
|
50
62
|
{...$$restProps}
|
|
51
63
|
class={inputClass(custom, color, true, background, $$slots.default || $$props.class)} /><slot />
|
package/forms/Toggle.svelte.d.ts
CHANGED
package/index.d.ts
CHANGED
|
@@ -81,6 +81,8 @@ export { default as TestimonialPlaceholder } from './skeleton/TestimonialPlaceho
|
|
|
81
81
|
export { default as TextPlaceholder } from './skeleton/TextPlaceholder.svelte';
|
|
82
82
|
export { default as VideoPlaceholder } from './skeleton/VideoPlaceholder.svelte';
|
|
83
83
|
export { default as WidgetPlaceholder } from './skeleton/WidgetPlaceholder.svelte';
|
|
84
|
+
export { default as SpeedDial } from './speed-dial/SpeedDial.svelte';
|
|
85
|
+
export { default as SpeedDialButton } from './speed-dial/SpeedDialButton.svelte';
|
|
84
86
|
export { default as Spinner } from './spinners/Spinner.svelte';
|
|
85
87
|
export { default as Table } from './tables/Table.svelte';
|
|
86
88
|
export { default as TableBody } from './tables/TableBody.svelte';
|
package/index.js
CHANGED
|
@@ -107,6 +107,9 @@ export { default as TestimonialPlaceholder } from './skeleton/TestimonialPlaceho
|
|
|
107
107
|
export { default as TextPlaceholder } from './skeleton/TextPlaceholder.svelte';
|
|
108
108
|
export { default as VideoPlaceholder } from './skeleton/VideoPlaceholder.svelte';
|
|
109
109
|
export { default as WidgetPlaceholder } from './skeleton/WidgetPlaceholder.svelte';
|
|
110
|
+
// Speed dial
|
|
111
|
+
export { default as SpeedDial } from './speed-dial/SpeedDial.svelte';
|
|
112
|
+
export { default as SpeedDialButton } from './speed-dial/SpeedDialButton.svelte';
|
|
110
113
|
// Spin
|
|
111
114
|
export { default as Spinner } from './spinners/Spinner.svelte';
|
|
112
115
|
// Tables
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowbite-svelte",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.17",
|
|
4
4
|
"description": "Flowbite components for Svelte",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": {
|
|
@@ -196,6 +196,8 @@
|
|
|
196
196
|
"./skeleton/TextPlaceholder.svelte": "./skeleton/TextPlaceholder.svelte",
|
|
197
197
|
"./skeleton/VideoPlaceholder.svelte": "./skeleton/VideoPlaceholder.svelte",
|
|
198
198
|
"./skeleton/WidgetPlaceholder.svelte": "./skeleton/WidgetPlaceholder.svelte",
|
|
199
|
+
"./speed-dial/SpeedDial.svelte": "./speed-dial/SpeedDial.svelte",
|
|
200
|
+
"./speed-dial/SpeedDialButton.svelte": "./speed-dial/SpeedDialButton.svelte",
|
|
199
201
|
"./spinners/Spinner.svelte": "./spinners/Spinner.svelte",
|
|
200
202
|
"./tables/Table.svelte": "./tables/Table.svelte",
|
|
201
203
|
"./tables/TableBody.svelte": "./tables/TableBody.svelte",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<script context="module">export {};
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<script>import classNames from 'classnames';
|
|
5
|
+
import Button from '../buttons/Button.svelte';
|
|
6
|
+
import Popper from '../utils/Popper.svelte';
|
|
7
|
+
import { setContext } from 'svelte';
|
|
8
|
+
import generateId from '../utils/generateId';
|
|
9
|
+
export let defaultClass = 'fixed right-6 bottom-6';
|
|
10
|
+
export let placement = 'top';
|
|
11
|
+
export let pill = true;
|
|
12
|
+
export let tooltip = 'left';
|
|
13
|
+
export let trigger = 'hover';
|
|
14
|
+
export let textOutside = false;
|
|
15
|
+
export let id = generateId();
|
|
16
|
+
setContext('speed-dial', { pill, tooltip, textOutside });
|
|
17
|
+
let divClass;
|
|
18
|
+
$: divClass = classNames(defaultClass, 'group', $$props.class);
|
|
19
|
+
let poperClass;
|
|
20
|
+
$: poperClass = classNames('flex items-center mb-4 gap-2', ['top', 'bottom'].includes(placement) && 'flex-col');
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<div class={divClass}>
|
|
24
|
+
<Button {pill} name="Open actions menu" aria-controls={id} aria-expanded="false" color="blue" class="!p-3">
|
|
25
|
+
<slot name="icon">
|
|
26
|
+
<svg
|
|
27
|
+
aria-hidden="true"
|
|
28
|
+
class="w-8 h-8 transition-transform group-hover:rotate-45"
|
|
29
|
+
fill="none"
|
|
30
|
+
stroke="currentColor"
|
|
31
|
+
viewBox="0 0 24 24"
|
|
32
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
33
|
+
><path
|
|
34
|
+
stroke-linecap="round"
|
|
35
|
+
stroke-linejoin="round"
|
|
36
|
+
stroke-width="2"
|
|
37
|
+
d="M12 6v6m0 0v6m0-6h6m-6 0H6" /></svg>
|
|
38
|
+
</slot>
|
|
39
|
+
<span class="sr-only">Open actions menu</span>
|
|
40
|
+
</Button>
|
|
41
|
+
<Popper {id} {trigger} arrow={false} color="none" activeContent {placement} class={poperClass}>
|
|
42
|
+
<slot />
|
|
43
|
+
</Popper>
|
|
44
|
+
</div>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { Placement } from '@popperjs/core';
|
|
3
|
+
export interface SpeedCtxType {
|
|
4
|
+
pill: boolean;
|
|
5
|
+
tooltip: Placement | 'none';
|
|
6
|
+
textOutside: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const __propDef: {
|
|
9
|
+
props: {
|
|
10
|
+
[x: string]: any;
|
|
11
|
+
defaultClass?: string | undefined;
|
|
12
|
+
placement?: Placement | undefined;
|
|
13
|
+
pill?: boolean | undefined;
|
|
14
|
+
tooltip?: "none" | Placement | undefined;
|
|
15
|
+
trigger?: "click" | "hover" | undefined;
|
|
16
|
+
textOutside?: boolean | undefined;
|
|
17
|
+
id?: string | undefined;
|
|
18
|
+
};
|
|
19
|
+
events: {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
};
|
|
22
|
+
slots: {
|
|
23
|
+
icon: {};
|
|
24
|
+
default: {};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export declare type SpeedDialProps = typeof __propDef.props;
|
|
28
|
+
export declare type SpeedDialEvents = typeof __propDef.events;
|
|
29
|
+
export declare type SpeedDialSlots = typeof __propDef.slots;
|
|
30
|
+
export default class SpeedDial extends SvelteComponentTyped<SpeedDialProps, SpeedDialEvents, SpeedDialSlots> {
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script>import Button from '../buttons/Button.svelte';
|
|
2
|
+
import Tooltip from '../tooltips/Tooltip.svelte';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { getContext } from 'svelte';
|
|
5
|
+
export let name = '';
|
|
6
|
+
export let tooltip;
|
|
7
|
+
export let pill = undefined;
|
|
8
|
+
export let textOutside = undefined;
|
|
9
|
+
const context = getContext('speed-dial');
|
|
10
|
+
$: {
|
|
11
|
+
// set defaults
|
|
12
|
+
pill = pill ?? context?.pill ?? true;
|
|
13
|
+
tooltip = tooltip ?? context?.tooltip ?? 'left';
|
|
14
|
+
textOutside = textOutside ?? context?.textOutside ?? false;
|
|
15
|
+
}
|
|
16
|
+
let btnClass;
|
|
17
|
+
$: btnClass = classNames('w-[52px] h-[52px] shadow-sm !p-2', tooltip === 'none' && 'flex-col', textOutside && 'relative', $$props.class);
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<Button {pill} outline color="light" {...$$restProps} class={btnClass} on:click>
|
|
21
|
+
<slot />
|
|
22
|
+
{#if tooltip !== 'none'}
|
|
23
|
+
<span class="sr-only">{name}</span>
|
|
24
|
+
{:else if textOutside}
|
|
25
|
+
<span class="block absolute -left-14 top-1/2 mb-px text-sm font-medium -translate-y-1/2">{name}</span>
|
|
26
|
+
{:else}
|
|
27
|
+
<span class="block mb-px text-xs font-medium">{name}</span>
|
|
28
|
+
{/if}
|
|
29
|
+
</Button>
|
|
30
|
+
|
|
31
|
+
{#if tooltip !== 'none'}
|
|
32
|
+
<Tooltip placement={tooltip} style="dark">{name}</Tooltip>
|
|
33
|
+
{/if}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { Placement } from '@popperjs/core';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
name?: string | undefined;
|
|
7
|
+
tooltip: Placement | 'none';
|
|
8
|
+
pill?: boolean | undefined;
|
|
9
|
+
textOutside?: boolean | undefined;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
click: MouseEvent;
|
|
13
|
+
} & {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
};
|
|
16
|
+
slots: {
|
|
17
|
+
default: {};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare type SpeedDialButtonProps = typeof __propDef.props;
|
|
21
|
+
export declare type SpeedDialButtonEvents = typeof __propDef.events;
|
|
22
|
+
export declare type SpeedDialButtonSlots = typeof __propDef.slots;
|
|
23
|
+
export default class SpeedDialButton extends SvelteComponentTyped<SpeedDialButtonProps, SpeedDialButtonEvents, SpeedDialButtonSlots> {
|
|
24
|
+
}
|
|
25
|
+
export {};
|