flowbite-svelte 1.13.16 → 1.14.0

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.
Files changed (55) hide show
  1. package/dist/tabs/TabItem.svelte +28 -8
  2. package/dist/tabs/TabItem.svelte.d.ts +2 -1
  3. package/dist/tabs/Tabs.svelte +45 -14
  4. package/dist/tabs/Tabs.svelte.d.ts +2 -1
  5. package/dist/timeline/Activity.svelte +1 -1
  6. package/dist/timeline/Activity.svelte.d.ts +1 -1
  7. package/dist/timeline/ActivityItem.svelte +1 -1
  8. package/dist/timeline/ActivityItem.svelte.d.ts +1 -1
  9. package/dist/timeline/Group.svelte +1 -1
  10. package/dist/timeline/Group.svelte.d.ts +1 -1
  11. package/dist/timeline/GroupItem.svelte +1 -1
  12. package/dist/timeline/GroupItem.svelte.d.ts +1 -1
  13. package/dist/timeline/Timeline.svelte +1 -1
  14. package/dist/timeline/Timeline.svelte.d.ts +1 -1
  15. package/dist/timeline/TimelineItem.svelte +1 -1
  16. package/dist/timeline/TimelineItem.svelte.d.ts +1 -1
  17. package/dist/toast/Toast.svelte +1 -1
  18. package/dist/toast/Toast.svelte.d.ts +1 -1
  19. package/dist/tooltip/Tooltip.svelte +1 -1
  20. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  21. package/dist/types.d.ts +2 -0
  22. package/dist/typography/a/A.svelte +1 -1
  23. package/dist/typography/a/A.svelte.d.ts +1 -1
  24. package/dist/typography/blockquote/Blockquote.svelte +1 -1
  25. package/dist/typography/blockquote/Blockquote.svelte.d.ts +1 -1
  26. package/dist/typography/descriptionlist/DescriptionList.svelte +1 -1
  27. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +1 -1
  28. package/dist/typography/heading/Heading.svelte +1 -1
  29. package/dist/typography/heading/Heading.svelte.d.ts +1 -1
  30. package/dist/typography/img/EnhancedImg.svelte +1 -1
  31. package/dist/typography/img/EnhancedImg.svelte.d.ts +1 -1
  32. package/dist/typography/img/Img.svelte +1 -1
  33. package/dist/typography/img/Img.svelte.d.ts +1 -1
  34. package/dist/typography/layout/Layout.svelte +1 -1
  35. package/dist/typography/layout/Layout.svelte.d.ts +1 -1
  36. package/dist/typography/list/Li.svelte +1 -1
  37. package/dist/typography/list/Li.svelte.d.ts +1 -1
  38. package/dist/typography/list/List.svelte +1 -1
  39. package/dist/typography/list/List.svelte.d.ts +1 -1
  40. package/dist/typography/mark/Mark.svelte +1 -1
  41. package/dist/typography/mark/Mark.svelte.d.ts +1 -1
  42. package/dist/typography/paragraph/P.svelte +1 -1
  43. package/dist/typography/paragraph/P.svelte.d.ts +1 -1
  44. package/dist/typography/secondary/Secondary.svelte +1 -1
  45. package/dist/typography/secondary/Secondary.svelte.d.ts +1 -1
  46. package/dist/typography/span/Span.svelte +1 -1
  47. package/dist/typography/span/Span.svelte.d.ts +1 -1
  48. package/dist/utils/Arrow.svelte +1 -1
  49. package/dist/utils/Arrow.svelte.d.ts +1 -1
  50. package/dist/utils/Popper.svelte +1 -1
  51. package/dist/utils/Popper.svelte.d.ts +1 -1
  52. package/dist/utils/singleselection.svelte.js +2 -1
  53. package/dist/video/Video.svelte +1 -1
  54. package/dist/video/Video.svelte.d.ts +1 -1
  55. package/package.json +5 -5
@@ -6,32 +6,51 @@
6
6
  import { getContext } from "svelte";
7
7
  import { tabItem, tabs } from ".";
8
8
 
9
- let { children, titleSlot, open = $bindable(false), title = "Tab title", activeClass, inactiveClass, class: className, classes, disabled, tabStyle, ...restProps }: TabitemProps = $props();
9
+ let { children, titleSlot, open = $bindable(false), title = "Tab title", key, activeClass, inactiveClass, class: className, classes, disabled, tabStyle, ...restProps }: TabitemProps = $props();
10
10
 
11
11
  const theme = getTheme("tabItem");
12
-
13
12
  const activeClasses = getContext<string>("activeClasses");
14
13
  const ctx: TabCtxType = getContext("ctx");
15
- let compoTabStyle = $derived(tabStyle ? tabStyle : ctx.tabStyle || "full");
16
14
 
15
+ const compoTabStyle = $derived(tabStyle ?? ctx.tabStyle ?? "full");
17
16
  const { active, inactive } = $derived(tabs({ tabStyle: compoTabStyle, hasDivider: true }));
18
17
 
19
- // Generate a unique ID for this tab button
20
18
  const tabId = $props.id();
21
- const self = $state({ id: `tab-${tabId}`, snippet: children });
19
+ const tabIdentifier = key ?? tabId;
20
+ const self: SelectedTab = { id: tabIdentifier, snippet: children };
21
+
22
+ const registerTab = getContext<(tab: SelectedTab) => void>("registerTab");
23
+ const unregisterTab = getContext<(tabId: string) => void>("unregisterTab");
22
24
 
23
25
  const updateSingleSelection = useSingleSelection<SelectedTab>((value) => (open = value?.id === self.id));
24
26
 
25
27
  $effect(() => {
26
- // monitor if open changes out side of that component
27
28
  updateSingleSelection(open, self);
29
+ registerTab?.(self);
30
+
31
+ return () => {
32
+ if (self.id) {
33
+ unregisterTab?.(self.id);
34
+ }
35
+ };
28
36
  });
29
37
 
30
38
  const { base, button } = $derived(tabItem({ open, disabled }));
31
39
  </script>
32
40
 
33
41
  <li {...restProps} class={base({ class: clsx(theme?.base, className) })} role="presentation">
34
- <button type="button" onclick={() => (open = true)} role="tab" id={self.id} aria-controls={ctx.panelId} aria-selected={open} {disabled} class={button({ class: clsx(open ? (activeClass ?? active({ class: activeClasses })) : (inactiveClass ?? inactive()), theme?.button, classes?.button) })}>
42
+ <button
43
+ type="button"
44
+ onclick={() => (open = true)}
45
+ role="tab"
46
+ id={self.id}
47
+ aria-controls={ctx.panelId}
48
+ aria-selected={open}
49
+ {disabled}
50
+ class={button({
51
+ class: clsx(open ? (activeClass ?? active({ class: activeClasses })) : (inactiveClass ?? inactive()), theme?.button, classes?.button)
52
+ })}
53
+ >
35
54
  {#if titleSlot}
36
55
  {@render titleSlot()}
37
56
  {:else}
@@ -44,12 +63,13 @@
44
63
  @component
45
64
  [Go to docs](https://flowbite-svelte.com/)
46
65
  ## Type
47
- [TabitemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1729)
66
+ [TabitemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1730)
48
67
  ## Props
49
68
  @prop children
50
69
  @prop titleSlot
51
70
  @prop open = $bindable(false)
52
71
  @prop title = "Tab title"
72
+ @prop key
53
73
  @prop activeClass
54
74
  @prop inactiveClass
55
75
  @prop class: className
@@ -2,12 +2,13 @@ import { type TabitemProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TabitemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1729)
5
+ * [TabitemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1730)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop titleSlot
9
9
  * @prop open = $bindable(false)
10
10
  * @prop title = "Tab title"
11
+ * @prop key
11
12
  * @prop activeClass
12
13
  * @prop inactiveClass
13
14
  * @prop class: className
@@ -3,37 +3,66 @@
3
3
  import type { SelectedTab, TabCtxType, TabsProps } from "../types";
4
4
  import { createSingleSelectionContext, useSingleSelection } from "../utils/singleselection.svelte";
5
5
  import clsx from "clsx";
6
- import { setContext, type Snippet } from "svelte";
6
+ import { setContext } from "svelte";
7
7
  import { tabs } from ".";
8
8
 
9
- let { children, tabStyle = "none", ulClass, contentClass, divider = true, class: className, classes, ...restProps }: TabsProps = $props();
9
+ let { children, selected = $bindable(), tabStyle = "none", ulClass, contentClass, divider = true, class: className, classes, ...restProps }: TabsProps = $props();
10
10
 
11
11
  if (classes?.active) {
12
12
  setContext("activeClasses", classes.active);
13
13
  }
14
14
 
15
- // base, content, divider, active, inactive
16
15
  warnThemeDeprecation("Tabs", { ulClass, contentClass }, { ulClass: "class", contentClass: "content" });
17
- const styling = $derived(classes ?? { content: contentClass });
18
16
 
19
17
  const theme = getTheme("tabs");
20
-
18
+ const styling = $derived(classes ?? { content: contentClass });
21
19
  const { base, content, divider: dividerClass } = $derived(tabs({ tabStyle, hasDivider: divider }));
22
20
 
23
- // Generate a unique ID for the tab panel
24
21
  const uuid = $props.id();
25
22
  const panelId = `tab-panel-${uuid}`;
26
-
27
23
  const ctx: TabCtxType = $state({ tabStyle, panelId });
28
-
29
- let dividerBool = $derived(["full", "pill"].includes(tabStyle) ? false : divider);
24
+ const dividerBool = $derived(["full", "pill"].includes(tabStyle) ? false : divider);
30
25
 
31
26
  setContext("ctx", ctx);
32
-
33
27
  createSingleSelectionContext<SelectedTab>();
34
28
 
35
- let selected: SelectedTab = $state({});
36
- useSingleSelection<SelectedTab>((v) => (selected = v ?? {}));
29
+ const tabRegistry = $state(new Map<string, SelectedTab>());
30
+ let selectedTab: SelectedTab = $state({});
31
+
32
+ const updateSelection = useSingleSelection<SelectedTab>((v) => {
33
+ selectedTab = v ?? {};
34
+ selected = v?.id;
35
+ });
36
+
37
+ // Handle external changes to selected
38
+ $effect(() => {
39
+ if (selected && selected !== selectedTab.id) {
40
+ const targetTab = tabRegistry.get(selected);
41
+ if (targetTab) {
42
+ updateSelection(true, targetTab);
43
+ }
44
+ }
45
+ });
46
+
47
+ // Auto-select logic
48
+ $effect(() => {
49
+ if (tabRegistry.size > 0 && !selectedTab.id) {
50
+ const targetTab = selected ? tabRegistry.get(selected) : tabRegistry.values().next().value;
51
+ if (targetTab) {
52
+ updateSelection(true, targetTab);
53
+ }
54
+ }
55
+ });
56
+
57
+ setContext("registerTab", (tabData: SelectedTab) => {
58
+ if (tabData.id) {
59
+ tabRegistry.set(tabData.id, tabData);
60
+ }
61
+ });
62
+
63
+ setContext("unregisterTab", (tabId: string) => {
64
+ tabRegistry.delete(tabId);
65
+ });
37
66
  </script>
38
67
 
39
68
  <ul role="tablist" {...restProps} class={base({ class: clsx(theme?.base, className ?? ulClass) })}>
@@ -42,8 +71,9 @@
42
71
  {#if dividerBool}
43
72
  <div class={dividerClass({ class: clsx(theme?.divider, classes?.divider) })}></div>
44
73
  {/if}
45
- <div id={panelId} class={content({ class: clsx(theme?.content, styling.content) })} role="tabpanel" aria-labelledby={selected.id}>
46
- {@render selected.snippet?.()}
74
+
75
+ <div id={panelId} class={content({ class: clsx(theme?.content, styling.content) })} role="tabpanel" aria-labelledby={selectedTab.id}>
76
+ {@render selectedTab.snippet?.()}
47
77
  </div>
48
78
 
49
79
  <!--
@@ -53,6 +83,7 @@
53
83
  [TabsProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1721)
54
84
  ## Props
55
85
  @prop children
86
+ @prop selected = $bindable()
56
87
  @prop tabStyle = "none"
57
88
  @prop ulClass
58
89
  @prop contentClass
@@ -5,6 +5,7 @@ import type { TabsProps } from "../types";
5
5
  * [TabsProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1721)
6
6
  * ## Props
7
7
  * @prop children
8
+ * @prop selected = $bindable()
8
9
  * @prop tabStyle = "none"
9
10
  * @prop ulClass
10
11
  * @prop contentClass
@@ -13,6 +14,6 @@ import type { TabsProps } from "../types";
13
14
  * @prop classes
14
15
  * @prop ...restProps
15
16
  */
16
- declare const Tabs: import("svelte").Component<TabsProps, {}, "">;
17
+ declare const Tabs: import("svelte").Component<TabsProps, {}, "selected">;
17
18
  type Tabs = ReturnType<typeof Tabs>;
18
19
  export default Tabs;
@@ -17,7 +17,7 @@
17
17
  @component
18
18
  [Go to docs](https://flowbite-svelte.com/)
19
19
  ## Type
20
- [ActivityProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1765)
20
+ [ActivityProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1767)
21
21
  ## Props
22
22
  @prop children
23
23
  @prop class: className
@@ -2,7 +2,7 @@ import type { ActivityProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ActivityProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1765)
5
+ * [ActivityProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1767)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -62,7 +62,7 @@
62
62
  @component
63
63
  [Go to docs](https://flowbite-svelte.com/)
64
64
  ## Type
65
- [ActivityItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1769)
65
+ [ActivityItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1771)
66
66
  ## Props
67
67
  @prop activities
68
68
  @prop liClass
@@ -2,7 +2,7 @@ import type { ActivityItemProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ActivityItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1769)
5
+ * [ActivityItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1771)
6
6
  * ## Props
7
7
  * @prop activities
8
8
  * @prop liClass
@@ -36,7 +36,7 @@
36
36
  @component
37
37
  [Go to docs](https://flowbite-svelte.com/)
38
38
  ## Type
39
- [GroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1781)
39
+ [GroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1783)
40
40
  ## Props
41
41
  @prop children
42
42
  @prop divClass
@@ -2,7 +2,7 @@ import type { GroupProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [GroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1781)
5
+ * [GroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1783)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop divClass
@@ -66,7 +66,7 @@
66
66
  @component
67
67
  [Go to docs](https://flowbite-svelte.com/)
68
68
  ## Type
69
- [GroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1789)
69
+ [GroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1791)
70
70
  ## Props
71
71
  @prop timelines
72
72
  @prop aClass
@@ -2,7 +2,7 @@ import type { GroupItemProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [GroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1789)
5
+ * [GroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1791)
6
6
  * ## Props
7
7
  * @prop timelines
8
8
  * @prop aClass
@@ -21,7 +21,7 @@
21
21
  @component
22
22
  [Go to docs](https://flowbite-svelte.com/)
23
23
  ## Type
24
- [TimelineProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1809)
24
+ [TimelineProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1811)
25
25
  ## Props
26
26
  @prop children
27
27
  @prop order = "default"
@@ -2,7 +2,7 @@ import type { TimelineProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TimelineProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1809)
5
+ * [TimelineProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1811)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop order = "default"
@@ -97,7 +97,7 @@
97
97
  @component
98
98
  [Go to docs](https://flowbite-svelte.com/)
99
99
  ## Type
100
- [TimelineItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1814)
100
+ [TimelineItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1816)
101
101
  ## Props
102
102
  @prop children
103
103
  @prop orientationSlot
@@ -2,7 +2,7 @@ import type { TimelineItemProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TimelineItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1814)
5
+ * [TimelineItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1816)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop orientationSlot
@@ -62,7 +62,7 @@
62
62
  @component
63
63
  [Go to docs](https://flowbite-svelte.com/)
64
64
  ## Type
65
- [ToastProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1828)
65
+ [ToastProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1830)
66
66
  ## Props
67
67
  @prop children
68
68
  @prop icon
@@ -2,7 +2,7 @@ import type { ToastProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ToastProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1828)
5
+ * [ToastProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1830)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop icon
@@ -28,7 +28,7 @@
28
28
  @component
29
29
  [Go to docs](https://flowbite-svelte.com/)
30
30
  ## Type
31
- [TooltipProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1844)
31
+ [TooltipProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1846)
32
32
  ## Props
33
33
  @prop type = "dark"
34
34
  @prop color = undefined
@@ -2,7 +2,7 @@ import type { TooltipProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TooltipProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1844)
5
+ * [TooltipProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1846)
6
6
  * ## Props
7
7
  * @prop type = "dark"
8
8
  * @prop color = undefined
package/dist/types.d.ts CHANGED
@@ -1487,6 +1487,7 @@ export interface TableSearchProps extends TableSearchVariants, HTMLTableAttribut
1487
1487
  }
1488
1488
  export interface TabsProps extends TabsVaraints, HTMLAttributes<HTMLUListElement> {
1489
1489
  children: Snippet;
1490
+ selected?: string;
1490
1491
  tabStyle?: TabsVaraints["tabStyle"];
1491
1492
  ulClass?: ClassValue;
1492
1493
  contentClass?: ClassValue;
@@ -1497,6 +1498,7 @@ export interface TabitemProps extends TabItemVariants, HTMLLiAttributes {
1497
1498
  titleSlot?: Snippet;
1498
1499
  open?: boolean;
1499
1500
  title?: string;
1501
+ key?: string;
1500
1502
  activeClass?: ClassValue;
1501
1503
  inactiveClass?: ClassValue;
1502
1504
  disabled?: boolean;
@@ -43,7 +43,7 @@
43
43
  @component
44
44
  [Go to docs](https://flowbite-svelte.com/)
45
45
  ## Type
46
- [AnchorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1852)
46
+ [AnchorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1854)
47
47
  ## Props
48
48
  @prop children
49
49
  @prop color = "primary"
@@ -2,7 +2,7 @@ import type { AnchorProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [AnchorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1852)
5
+ * [AnchorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1854)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop color = "primary"
@@ -28,7 +28,7 @@
28
28
  @component
29
29
  [Go to docs](https://flowbite-svelte.com/)
30
30
  ## Type
31
- [BlockquoteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1881)
31
+ [BlockquoteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1883)
32
32
  ## Props
33
33
  @prop children
34
34
  @prop class: className
@@ -2,7 +2,7 @@ import type { BlockquoteProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [BlockquoteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1881)
5
+ * [BlockquoteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1883)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -24,7 +24,7 @@
24
24
  @component
25
25
  [Go to docs](https://flowbite-svelte.com/)
26
26
  ## Type
27
- [DescriptionListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1891)
27
+ [DescriptionListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1893)
28
28
  ## Props
29
29
  @prop children
30
30
  @prop tag
@@ -2,7 +2,7 @@ import type { DescriptionListProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [DescriptionListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1891)
5
+ * [DescriptionListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1893)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop tag
@@ -19,7 +19,7 @@
19
19
  @component
20
20
  [Go to docs](https://flowbite-svelte.com/)
21
21
  ## Type
22
- [HeadingProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1897)
22
+ [HeadingProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1899)
23
23
  ## Props
24
24
  @prop children
25
25
  @prop tag = "h1"
@@ -2,7 +2,7 @@ import type { HeadingProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [HeadingProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1897)
5
+ * [HeadingProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1899)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop tag = "h1"
@@ -49,7 +49,7 @@
49
49
  @component
50
50
  [Go to docs](https://flowbite-svelte.com/)
51
51
  ## Type
52
- [EnhandedImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1937)
52
+ [EnhandedImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1939)
53
53
  ## Props
54
54
  @prop src
55
55
  @prop href
@@ -2,7 +2,7 @@ import type { EnhandedImgProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [EnhandedImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1937)
5
+ * [EnhandedImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1939)
6
6
  * ## Props
7
7
  * @prop src
8
8
  * @prop href
@@ -49,7 +49,7 @@
49
49
  @component
50
50
  [Go to docs](https://flowbite-svelte.com/)
51
51
  ## Type
52
- [ImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1928)
52
+ [ImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1930)
53
53
  ## Props
54
54
  @prop size = "none"
55
55
  @prop effect = "none"
@@ -2,7 +2,7 @@ import type { ImgProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1928)
5
+ * [ImgProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1930)
6
6
  * ## Props
7
7
  * @prop size = "none"
8
8
  * @prop effect = "none"
@@ -19,7 +19,7 @@
19
19
  @component
20
20
  [Go to docs](https://flowbite-svelte.com/)
21
21
  ## Type
22
- [LayoutProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1950)
22
+ [LayoutProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1952)
23
23
  ## Props
24
24
  @prop children
25
25
  @prop class: className
@@ -2,7 +2,7 @@ import type { LayoutProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [LayoutProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1950)
5
+ * [LayoutProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1952)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -18,7 +18,7 @@
18
18
  @component
19
19
  [Go to docs](https://flowbite-svelte.com/)
20
20
  ## Type
21
- [LiProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1963)
21
+ [LiProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1965)
22
22
  ## Props
23
23
  @prop children
24
24
  @prop icon
@@ -2,7 +2,7 @@ import type { LiProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [LiProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1963)
5
+ * [LiProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1965)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop icon
@@ -28,7 +28,7 @@
28
28
  @component
29
29
  [Go to docs](https://flowbite-svelte.com/)
30
30
  ## Type
31
- [ListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1955)
31
+ [ListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1957)
32
32
  ## Props
33
33
  @prop children
34
34
  @prop tag = "ul"
@@ -2,7 +2,7 @@ import type { ListProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1955)
5
+ * [ListProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1957)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop tag = "ul"
@@ -17,7 +17,7 @@
17
17
  @component
18
18
  [Go to docs](https://flowbite-svelte.com/)
19
19
  ## Type
20
- [MarkProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1969)
20
+ [MarkProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1971)
21
21
  ## Props
22
22
  @prop children
23
23
  @prop class: className
@@ -2,7 +2,7 @@ import type { MarkProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [MarkProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1969)
5
+ * [MarkProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1971)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -19,7 +19,7 @@
19
19
  @component
20
20
  [Go to docs](https://flowbite-svelte.com/)
21
21
  ## Type
22
- [ParagraphProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1974)
22
+ [ParagraphProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1976)
23
23
  ## Props
24
24
  @prop children
25
25
  @prop class: className = "text-gray-900 dark:text-white"
@@ -2,7 +2,7 @@ import type { ParagraphProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ParagraphProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1974)
5
+ * [ParagraphProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1976)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className = "text-gray-900 dark:text-white"
@@ -17,7 +17,7 @@
17
17
  @component
18
18
  [Go to docs](https://flowbite-svelte.com/)
19
19
  ## Type
20
- [SecondaryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1982)
20
+ [SecondaryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1984)
21
21
  ## Props
22
22
  @prop children
23
23
  @prop class: className
@@ -2,7 +2,7 @@ import type { SecondaryProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [SecondaryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1982)
5
+ * [SecondaryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1984)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -34,7 +34,7 @@
34
34
  @component
35
35
  [Go to docs](https://flowbite-svelte.com/)
36
36
  ## Type
37
- [SpanProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1987)
37
+ [SpanProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1989)
38
38
  ## Props
39
39
  @prop children
40
40
  @prop class: className
@@ -2,7 +2,7 @@ import type { SpanProps } from "../../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [SpanProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1987)
5
+ * [SpanProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1989)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -50,7 +50,7 @@
50
50
  @component
51
51
  [Go to docs](https://flowbite-svelte.com/)
52
52
  ## Type
53
- [ArrowProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2029)
53
+ [ArrowProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2031)
54
54
  ## Props
55
55
  @prop placement = "top"
56
56
  @prop cords
@@ -2,7 +2,7 @@ import { type ArrowProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ArrowProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2029)
5
+ * [ArrowProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2031)
6
6
  * ## Props
7
7
  * @prop placement = "top"
8
8
  * @prop cords
@@ -213,7 +213,7 @@
213
213
  @component
214
214
  [Go to docs](https://flowbite-svelte.com/)
215
215
  ## Type
216
- [PopperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2009)
216
+ [PopperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2011)
217
217
  ## Props
218
218
  @prop triggeredBy
219
219
  @prop triggerDelay = 200
@@ -2,7 +2,7 @@ import type { PopperProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [PopperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2009)
5
+ * [PopperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2011)
6
6
  * ## Props
7
7
  * @prop triggeredBy
8
8
  * @prop triggerDelay = 200
@@ -41,7 +41,8 @@ function setSelected(context, open, value) {
41
41
  */
42
42
  export function useSingleSelection(callback) {
43
43
  const context = getContext(SINGLE_SELECTION_KEY) ?? createSingleSelectionContext(false);
44
- if (!Object.prototype.hasOwnProperty.call(context, "value")) return () => context; // non-reactive context, do nothing
44
+
45
+ if (!context.hasOwnProperty?.("value")) return () => context;
45
46
 
46
47
  $effect(() => {
47
48
  if (context.value !== null) callback(context.value);
@@ -21,7 +21,7 @@
21
21
  @component
22
22
  [Go to docs](https://flowbite-svelte.com/)
23
23
  ## Type
24
- [VideoProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1996)
24
+ [VideoProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1998)
25
25
  ## Props
26
26
  @prop children
27
27
  @prop type = "video/mp4"
@@ -2,7 +2,7 @@ import type { VideoProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [VideoProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1996)
5
+ * [VideoProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1998)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop type = "video/mp4"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowbite-svelte",
3
- "version": "1.13.16",
3
+ "version": "1.14.0",
4
4
  "description": "Flowbite components for Svelte",
5
5
  "main": "dist/index.js",
6
6
  "author": {
@@ -20,13 +20,13 @@
20
20
  "@flowbite-svelte-plugins/chart": "^0.2.4",
21
21
  "@flowbite-svelte-plugins/datatable": "^0.4.0",
22
22
  "@flowbite-svelte-plugins/texteditor": "^0.25.5",
23
- "@playwright/test": "^1.55.0",
23
+ "@playwright/test": "^1.55.1",
24
24
  "@resvg/resvg-js": "^2.6.2",
25
25
  "@sveltejs/adapter-auto": "^6.1.0",
26
26
  "@sveltejs/adapter-vercel": "^5.10.2",
27
27
  "@sveltejs/enhanced-img": "0.6.1",
28
- "@sveltejs/kit": "^2.43.1",
29
- "@sveltejs/package": "^2.5.3",
28
+ "@sveltejs/kit": "^2.43.2",
29
+ "@sveltejs/package": "^2.5.4",
30
30
  "@sveltejs/vite-plugin-svelte": "^6.2.0",
31
31
  "@svitejs/changesets-changelog-github-compact": "^1.2.0",
32
32
  "@tailwindcss/vite": "^4.1.13",
@@ -62,7 +62,7 @@
62
62
  "satori-html": "^0.3.2",
63
63
  "simple-datatables": "^10.0.0",
64
64
  "super-sitemap": "^1.0.5",
65
- "svelte": "^5.39.4",
65
+ "svelte": "^5.39.5",
66
66
  "svelte-check": "^4.3.2",
67
67
  "svelte-doc-llm": "^0.4.1",
68
68
  "svelte-lib-helpers": "^0.4.31",