flowbite-svelte 0.39.2 → 0.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/Accordion.svelte +2 -1
- package/dist/accordion/Accordion.svelte.d.ts.map +1 -1
- package/dist/accordion/AccordionItem.svelte +13 -4
- package/dist/accordion/AccordionItem.svelte.d.ts.map +1 -1
- package/dist/darkmode/DarkMode.svelte +10 -4
- package/dist/dropdowns/Dropdown.svelte +3 -6
- package/dist/dropdowns/Dropdown.svelte.d.ts +236 -2
- package/dist/dropdowns/Dropdown.svelte.d.ts.map +1 -1
- package/dist/forms/FloatingLabelInput.svelte +1 -10
- package/dist/forms/FloatingLabelInput.svelte.d.ts.map +1 -1
- package/dist/forms/Input.svelte +1 -10
- package/dist/forms/Input.svelte.d.ts.map +1 -1
- package/dist/forms/Toggle.svelte +1 -1
- package/dist/forms/Toggle.svelte.d.ts.map +1 -1
- package/dist/indicators/Indicator.svelte.d.ts +3 -3
- package/dist/indicators/Indicator.svelte.d.ts.map +1 -1
- package/dist/megamenu/MegaMenu.svelte.d.ts +241 -6
- package/dist/megamenu/MegaMenu.svelte.d.ts.map +1 -1
- package/dist/paginations/Pagination.svelte +9 -9
- package/dist/paginations/Pagination.svelte.d.ts +1 -0
- package/dist/paginations/Pagination.svelte.d.ts.map +1 -1
- package/dist/paginations/PaginationItem.svelte +5 -10
- package/dist/paginations/PaginationItem.svelte.d.ts +1 -0
- package/dist/paginations/PaginationItem.svelte.d.ts.map +1 -1
- package/dist/popover/Popover.svelte.d.ts +1 -1
- package/dist/speed-dial/SpeedDial.svelte.d.ts +1 -1
- package/dist/speed-dial/SpeedDial.svelte.d.ts.map +1 -1
- package/dist/speed-dial/SpeedDialButton.svelte.d.ts +1 -1
- package/dist/speed-dial/SpeedDialButton.svelte.d.ts.map +1 -1
- package/dist/tooltips/Tooltip.svelte +4 -2
- package/dist/tooltips/Tooltip.svelte.d.ts +1 -1
- package/dist/tooltips/Tooltip.svelte.d.ts.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/Chevron.svelte.d.ts +1 -1
- package/dist/utils/Chevron.svelte.d.ts.map +1 -1
- package/dist/utils/Frame.svelte +17 -17
- package/dist/utils/Popper.svelte +58 -48
- package/dist/utils/Popper.svelte.d.ts +1 -1
- package/dist/utils/Popper.svelte.d.ts.map +1 -1
- package/dist/utils/focusTrap.d.ts.map +1 -1
- package/package.json +15 -15
package/dist/utils/Popper.svelte
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import createEventDispatcher from './createEventDispatcher';
|
|
1
|
+
<script>import * as dom from '@floating-ui/dom';
|
|
2
|
+
import { onMount } from 'svelte';
|
|
3
|
+
import { twJoin } from 'tailwind-merge';
|
|
5
4
|
import Frame from './Frame.svelte';
|
|
5
|
+
import createEventDispatcher from './createEventDispatcher';
|
|
6
6
|
export let activeContent = false;
|
|
7
7
|
export let arrow = true;
|
|
8
8
|
export let offset = 8;
|
|
@@ -17,9 +17,10 @@ let clickable;
|
|
|
17
17
|
$: clickable = trigger === 'click';
|
|
18
18
|
$: dispatch('show', triggerEl, open);
|
|
19
19
|
let triggerEl;
|
|
20
|
+
let floatingEl;
|
|
21
|
+
let arrowEl;
|
|
20
22
|
let contentEl;
|
|
21
23
|
let triggerEls = [];
|
|
22
|
-
let popper;
|
|
23
24
|
let _blocked = false; // management of the race condition between focusin and click events
|
|
24
25
|
const block = () => ((_blocked = true), setTimeout(() => (_blocked = false), 250));
|
|
25
26
|
const showHandler = (ev) => {
|
|
@@ -33,15 +34,13 @@ const showHandler = (ev) => {
|
|
|
33
34
|
block();
|
|
34
35
|
open = clickable && ev.type === 'click' && !_blocked ? !open : true;
|
|
35
36
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const hasHover = (el) => el.matches && el.matches(':hover');
|
|
40
|
-
const hasFocus = (el) => el.contains && el.contains(document.activeElement);
|
|
37
|
+
const hasHover = (el) => el.matches(':hover');
|
|
38
|
+
const hasFocus = (el) => el.contains(document.activeElement);
|
|
39
|
+
const px = (n) => (n != null ? `${n}px` : '');
|
|
41
40
|
const hideHandler = (ev) => {
|
|
42
41
|
if (activeContent) {
|
|
43
42
|
setTimeout(() => {
|
|
44
|
-
const elements =
|
|
43
|
+
const elements = [triggerEl, floatingEl, arrowEl].filter((x) => x);
|
|
45
44
|
if (ev.type === 'mouseleave' && elements.some(hasHover))
|
|
46
45
|
return;
|
|
47
46
|
if (ev.type === 'focusout' && elements.some(hasFocus))
|
|
@@ -52,33 +51,47 @@ const hideHandler = (ev) => {
|
|
|
52
51
|
else
|
|
53
52
|
open = false;
|
|
54
53
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
let arrowSide;
|
|
55
|
+
const oppositeSideMap = {
|
|
56
|
+
left: 'right',
|
|
57
|
+
right: 'left',
|
|
58
|
+
bottom: 'top',
|
|
59
|
+
top: 'bottom'
|
|
60
|
+
};
|
|
61
|
+
function updatePosition() {
|
|
62
|
+
dom
|
|
63
|
+
.computePosition(triggerEl, floatingEl, {
|
|
58
64
|
placement,
|
|
59
65
|
strategy,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
// for full screen mega menu
|
|
66
|
-
return [yOnly ? popper.width / 2 - reference.width / 2 - reference.x : 0, offset];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
{ name: 'eventListeners', enabled: open },
|
|
71
|
-
{ name: 'flip', enabled: false },
|
|
72
|
-
{ name: 'arrow', enabled: arrow, options: { element: arrowEl, padding: 10 } }
|
|
66
|
+
middleware: [
|
|
67
|
+
dom.flip(),
|
|
68
|
+
dom.shift(),
|
|
69
|
+
dom.offset(+offset),
|
|
70
|
+
arrowEl && dom.arrow({ element: arrowEl, padding: 10 })
|
|
73
71
|
]
|
|
72
|
+
})
|
|
73
|
+
.then(({ x, y, middlewareData, placement, strategy }) => {
|
|
74
|
+
floatingEl.style.position = strategy;
|
|
75
|
+
floatingEl.style.left = yOnly ? '0' : px(x);
|
|
76
|
+
floatingEl.style.top = px(y);
|
|
77
|
+
if (middlewareData.arrow && arrowEl) {
|
|
78
|
+
arrowEl.style.left = px(middlewareData.arrow.x);
|
|
79
|
+
arrowEl.style.top = px(middlewareData.arrow.y);
|
|
80
|
+
arrowSide = oppositeSideMap[placement.split('-')[0]];
|
|
81
|
+
arrowEl.style[arrowSide] = px(-arrowEl.offsetWidth / 2 - ($$props.border ? 1 : 0));
|
|
82
|
+
}
|
|
74
83
|
});
|
|
84
|
+
}
|
|
85
|
+
function init(node, _triggerEl) {
|
|
86
|
+
floatingEl = node;
|
|
87
|
+
let cleanup = dom.autoUpdate(node, _triggerEl, updatePosition);
|
|
75
88
|
return {
|
|
76
89
|
update(_triggerEl) {
|
|
77
|
-
|
|
78
|
-
|
|
90
|
+
cleanup();
|
|
91
|
+
cleanup = dom.autoUpdate(node, _triggerEl, updatePosition);
|
|
79
92
|
},
|
|
80
93
|
destroy() {
|
|
81
|
-
|
|
94
|
+
cleanup();
|
|
82
95
|
}
|
|
83
96
|
};
|
|
84
97
|
}
|
|
@@ -117,10 +130,8 @@ onMount(() => {
|
|
|
117
130
|
function optional(pred, func) {
|
|
118
131
|
return pred ? func : () => undefined;
|
|
119
132
|
}
|
|
120
|
-
let position = 'bottom';
|
|
121
|
-
$: position = placement.split('-', 1)[0];
|
|
122
133
|
let arrowClass;
|
|
123
|
-
$: arrowClass =
|
|
134
|
+
$: arrowClass = twJoin('absolute pointer-events-none block w-[10px] h-[10px] rotate-45 bg-inherit border-inherit', $$props.border && arrowSide === 'bottom' && 'border-b border-r', $$props.border && arrowSide === 'top' && 'border-t border-l ', $$props.border && arrowSide === 'right' && 'border-t border-r ', $$props.border && arrowSide === 'left' && 'border-b border-l ');
|
|
124
135
|
</script>
|
|
125
136
|
|
|
126
137
|
{#if !triggerEl}
|
|
@@ -137,23 +148,22 @@ $: arrowClass = twMerge('after:w-[9px] after:h-[9px] after:rotate-45 bg-inherit
|
|
|
137
148
|
on:focusout={optional(activeContent, hideHandler)}
|
|
138
149
|
on:mouseenter={optional(activeContent && !clickable, showHandler)}
|
|
139
150
|
on:mouseleave={optional(activeContent && !clickable, hideHandler)}
|
|
140
|
-
{...$$restProps}
|
|
141
|
-
class={twMerge('outline-none', $$props.class)}>
|
|
151
|
+
{...$$restProps}>
|
|
142
152
|
<slot />
|
|
143
|
-
{#if arrow}<div class={arrowClass} />{/if}
|
|
153
|
+
{#if arrow}<div class={arrowClass} bind:this={arrowEl} />{/if}
|
|
144
154
|
</Frame>
|
|
145
155
|
{/if}
|
|
146
156
|
|
|
147
157
|
<!--
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
-->
|
|
158
|
+
@component
|
|
159
|
+
## Props
|
|
160
|
+
@prop activeContent: boolean = false;
|
|
161
|
+
@prop arrow: boolean = true;
|
|
162
|
+
@prop offset: number = 8;
|
|
163
|
+
@prop placement: Placement = 'top';
|
|
164
|
+
@prop trigger: 'hover' | 'click' = 'hover';
|
|
165
|
+
@prop triggeredBy: string | undefined = undefined;
|
|
166
|
+
@prop strategy: 'absolute' | 'fixed' = 'absolute';
|
|
167
|
+
@prop open: boolean = false;
|
|
168
|
+
@prop yOnly: boolean = false;
|
|
169
|
+
-->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popper.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/Popper.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;
|
|
1
|
+
{"version":3,"file":"Popper.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/Popper.svelte"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAE5C;AACD,OAAO,KAAK,EAAyB,SAAS,EAAQ,MAAM,kBAAkB,CAAC;AA8L/E,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AACxD,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;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;CAC/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusTrap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/focusTrap.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"focusTrap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/focusTrap.js"],"names":[],"mappings":";AA0Cw1rC,oJAAsM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowbite-svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.1",
|
|
4
4
|
"description": "Flowbite components for Svelte",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"author": {
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@docsearch/js": "^3.5.1",
|
|
33
|
-
"@playwright/test": "^1.
|
|
34
|
-
"@sveltejs/adapter-vercel": "^3.0.
|
|
35
|
-
"@sveltejs/kit": "^1.
|
|
33
|
+
"@playwright/test": "^1.36.0",
|
|
34
|
+
"@sveltejs/adapter-vercel": "^3.0.2",
|
|
35
|
+
"@sveltejs/kit": "^1.22.3",
|
|
36
36
|
"@sveltejs/package": "2.1.0",
|
|
37
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
38
|
-
"@typescript-eslint/parser": "^5.
|
|
37
|
+
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
38
|
+
"@typescript-eslint/parser": "^5.62.0",
|
|
39
39
|
"autoprefixer": "^10.4.14",
|
|
40
40
|
"createprops": "^0.5.5",
|
|
41
41
|
"esbuild": "0.18.10",
|
|
@@ -44,22 +44,22 @@
|
|
|
44
44
|
"eslint-plugin-svelte": "^2.32.2",
|
|
45
45
|
"mdsvex": "^0.11.0",
|
|
46
46
|
"mdsvexamples": "^0.3.3",
|
|
47
|
-
"postcss": "^8.4.
|
|
47
|
+
"postcss": "^8.4.26",
|
|
48
48
|
"postcss-load-config": "^4.0.1",
|
|
49
49
|
"prettier": "^2.8.8",
|
|
50
50
|
"prettier-plugin-svelte": "^2.10.1",
|
|
51
51
|
"prism-themes": "^1.9.0",
|
|
52
|
-
"publint": "^0.1.
|
|
53
|
-
"svelte": "^4.0.
|
|
54
|
-
"svelte-check": "^3.4.
|
|
52
|
+
"publint": "^0.1.16",
|
|
53
|
+
"svelte": "^4.0.5",
|
|
54
|
+
"svelte-check": "^3.4.6",
|
|
55
55
|
"svelte-meta-tags": "^2.8.0",
|
|
56
56
|
"svelte-preprocess": "^5.0.4",
|
|
57
|
-
"svelte2tsx": "^0.6.
|
|
57
|
+
"svelte2tsx": "^0.6.19",
|
|
58
58
|
"tailwind-merge": "^1.13.1",
|
|
59
|
-
"tailwindcss": "^3.3.
|
|
59
|
+
"tailwindcss": "^3.3.3",
|
|
60
60
|
"tslib": "^2.6.0",
|
|
61
61
|
"typescript": "^5.1.6",
|
|
62
|
-
"vite": "^4.
|
|
62
|
+
"vite": "^4.4.4",
|
|
63
63
|
"vitest": "^0.32.4"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
@@ -109,8 +109,8 @@
|
|
|
109
109
|
"url": "https://github.com/themesberg/flowbite-svelte"
|
|
110
110
|
},
|
|
111
111
|
"dependencies": {
|
|
112
|
-
"@
|
|
113
|
-
"flowbite": "^1.
|
|
112
|
+
"@floating-ui/dom": "^1.4.5",
|
|
113
|
+
"flowbite": "^1.7.0",
|
|
114
114
|
"tailwind-merge": "^1.13.2"
|
|
115
115
|
},
|
|
116
116
|
"engines": {
|