flowbite-svelte 1.25.0 → 1.27.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 (110) hide show
  1. package/dist/clipboard-manager/ClipboardManager.svelte +491 -0
  2. package/dist/clipboard-manager/ClipboardManager.svelte.d.ts +4 -0
  3. package/dist/clipboard-manager/index.d.ts +2 -0
  4. package/dist/clipboard-manager/index.js +2 -0
  5. package/dist/clipboard-manager/theme.d.ts +169 -0
  6. package/dist/clipboard-manager/theme.js +73 -0
  7. package/dist/command-palette/CommandPalette.svelte +1 -1
  8. package/dist/command-palette/CommandPalette.svelte.d.ts +1 -1
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.js +3 -2
  11. package/dist/kanban/KanbanBoard.svelte +2 -1
  12. package/dist/kanban/KanbanCard.svelte +1 -1
  13. package/dist/kanban/KanbanCard.svelte.d.ts +1 -1
  14. package/dist/kanban/theme.js +7 -7
  15. package/dist/scroll-spy/ScrollSpy.svelte +1 -1
  16. package/dist/scroll-spy/ScrollSpy.svelte.d.ts +1 -1
  17. package/dist/spinner/Spinner.svelte +72 -14
  18. package/dist/spinner/Spinner.svelte.d.ts +2 -1
  19. package/dist/spinner/theme.d.ts +23 -2
  20. package/dist/spinner/theme.js +29 -22
  21. package/dist/split-pane/Divider.svelte +1 -1
  22. package/dist/split-pane/Divider.svelte.d.ts +1 -1
  23. package/dist/split-pane/Pane.svelte +1 -1
  24. package/dist/split-pane/Pane.svelte.d.ts +1 -1
  25. package/dist/split-pane/SplitPane.svelte +1 -1
  26. package/dist/split-pane/SplitPane.svelte.d.ts +1 -1
  27. package/dist/step-indicator/StepIndicator.svelte +1 -1
  28. package/dist/step-indicator/StepIndicator.svelte.d.ts +1 -1
  29. package/dist/stepper/BreadcrumbStepper.svelte +1 -1
  30. package/dist/stepper/BreadcrumbStepper.svelte.d.ts +1 -1
  31. package/dist/stepper/DetailedStepper.svelte +1 -1
  32. package/dist/stepper/DetailedStepper.svelte.d.ts +1 -1
  33. package/dist/stepper/ProgressStepper.svelte +1 -1
  34. package/dist/stepper/ProgressStepper.svelte.d.ts +1 -1
  35. package/dist/stepper/Stepper.svelte +1 -1
  36. package/dist/stepper/Stepper.svelte.d.ts +1 -1
  37. package/dist/stepper/TimelineStepper.svelte +1 -1
  38. package/dist/stepper/TimelineStepper.svelte.d.ts +1 -1
  39. package/dist/stepper/VerticalStepper.svelte +1 -1
  40. package/dist/stepper/VerticalStepper.svelte.d.ts +1 -1
  41. package/dist/table/Table.svelte +1 -1
  42. package/dist/table/Table.svelte.d.ts +1 -1
  43. package/dist/table/TableBody.svelte +1 -1
  44. package/dist/table/TableBody.svelte.d.ts +1 -1
  45. package/dist/table/TableBodyCell.svelte +1 -1
  46. package/dist/table/TableBodyCell.svelte.d.ts +1 -1
  47. package/dist/table/TableBodyRow.svelte +1 -1
  48. package/dist/table/TableBodyRow.svelte.d.ts +1 -1
  49. package/dist/table/TableHead.svelte +1 -1
  50. package/dist/table/TableHead.svelte.d.ts +1 -1
  51. package/dist/table/TableHeadCell.svelte +1 -1
  52. package/dist/table/TableHeadCell.svelte.d.ts +1 -1
  53. package/dist/table/TableSearch.svelte +1 -1
  54. package/dist/table/TableSearch.svelte.d.ts +1 -1
  55. package/dist/tabs/TabItem.svelte +1 -1
  56. package/dist/tabs/TabItem.svelte.d.ts +1 -1
  57. package/dist/tabs/Tabs.svelte +1 -1
  58. package/dist/tabs/Tabs.svelte.d.ts +1 -1
  59. package/dist/theme/themes.d.ts +6 -5
  60. package/dist/theme/themes.js +6 -6
  61. package/dist/timeline/Activity.svelte +1 -1
  62. package/dist/timeline/Activity.svelte.d.ts +1 -1
  63. package/dist/timeline/ActivityItem.svelte +1 -1
  64. package/dist/timeline/ActivityItem.svelte.d.ts +1 -1
  65. package/dist/timeline/Group.svelte +1 -1
  66. package/dist/timeline/Group.svelte.d.ts +1 -1
  67. package/dist/timeline/GroupItem.svelte +1 -1
  68. package/dist/timeline/GroupItem.svelte.d.ts +1 -1
  69. package/dist/timeline/Timeline.svelte +1 -1
  70. package/dist/timeline/Timeline.svelte.d.ts +1 -1
  71. package/dist/timeline/TimelineItem.svelte +1 -1
  72. package/dist/timeline/TimelineItem.svelte.d.ts +1 -1
  73. package/dist/toast/Toast.svelte +1 -1
  74. package/dist/toast/Toast.svelte.d.ts +1 -1
  75. package/dist/tooltip/Tooltip.svelte +1 -1
  76. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  77. package/dist/types.d.ts +39 -3
  78. package/dist/typography/a/A.svelte +1 -1
  79. package/dist/typography/a/A.svelte.d.ts +1 -1
  80. package/dist/typography/blockquote/Blockquote.svelte +1 -1
  81. package/dist/typography/blockquote/Blockquote.svelte.d.ts +1 -1
  82. package/dist/typography/descriptionlist/DescriptionList.svelte +1 -1
  83. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +1 -1
  84. package/dist/typography/heading/Heading.svelte +1 -1
  85. package/dist/typography/heading/Heading.svelte.d.ts +1 -1
  86. package/dist/typography/img/EnhancedImg.svelte +1 -1
  87. package/dist/typography/img/EnhancedImg.svelte.d.ts +1 -1
  88. package/dist/typography/img/Img.svelte +1 -1
  89. package/dist/typography/img/Img.svelte.d.ts +1 -1
  90. package/dist/typography/layout/Layout.svelte +1 -1
  91. package/dist/typography/layout/Layout.svelte.d.ts +1 -1
  92. package/dist/typography/list/Li.svelte +1 -1
  93. package/dist/typography/list/Li.svelte.d.ts +1 -1
  94. package/dist/typography/list/List.svelte +1 -1
  95. package/dist/typography/list/List.svelte.d.ts +1 -1
  96. package/dist/typography/mark/Mark.svelte +1 -1
  97. package/dist/typography/mark/Mark.svelte.d.ts +1 -1
  98. package/dist/typography/paragraph/P.svelte +1 -1
  99. package/dist/typography/paragraph/P.svelte.d.ts +1 -1
  100. package/dist/typography/secondary/Secondary.svelte +1 -1
  101. package/dist/typography/secondary/Secondary.svelte.d.ts +1 -1
  102. package/dist/typography/span/Span.svelte +1 -1
  103. package/dist/typography/span/Span.svelte.d.ts +1 -1
  104. package/dist/utils/Arrow.svelte +1 -1
  105. package/dist/utils/Arrow.svelte.d.ts +1 -1
  106. package/dist/utils/Popper.svelte +1 -1
  107. package/dist/utils/Popper.svelte.d.ts +1 -1
  108. package/dist/video/Video.svelte +1 -1
  109. package/dist/video/Video.svelte.d.ts +1 -1
  110. package/package.json +6 -1
@@ -0,0 +1,73 @@
1
+ import { tv } from "tailwind-variants";
2
+ export const clipboardManager = tv({
3
+ slots: {
4
+ base: "relative max-w-2xl mx-auto p-4 space-y-4",
5
+ // Input section
6
+ inputSection: "space-y-2",
7
+ inputWrapper: "flex gap-2",
8
+ input: "flex-1 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-blue-500 dark:text-white",
9
+ // Search section
10
+ searchWrapper: "flex gap-2",
11
+ searchContainer: "relative flex-1",
12
+ searchInput: "w-full rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 pl-9 pr-3 py-2 text-sm outline-none focus:ring-2 focus:ring-blue-500 dark:text-white",
13
+ searchIcon: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400",
14
+ // Items list
15
+ itemsList: "space-y-2 max-h-[500px] overflow-y-auto",
16
+ // Empty state
17
+ emptyState: "text-center py-8",
18
+ emptyIcon: "w-12 h-12 mx-auto text-gray-300 dark:text-gray-600 mb-3",
19
+ emptyText: "text-sm text-gray-500 dark:text-gray-400",
20
+ emptySubtext: "text-xs text-gray-400 dark:text-gray-500 mt-1",
21
+ // Item
22
+ item: "group flex items-start gap-3 rounded-lg border border-gray-200 dark:border-gray-700 p-3 transition hover:bg-gray-50 dark:hover:bg-gray-800/50",
23
+ itemContent: "flex-1 min-w-0",
24
+ itemHeader: "flex items-center gap-2 mb-1",
25
+ itemTimestamp: "text-xs text-gray-500 dark:text-gray-400",
26
+ itemText: "text-sm text-gray-900 dark:text-gray-100 break-words line-clamp-2",
27
+ // Actions
28
+ itemActions: "flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",
29
+ actionButton: "p-1.5 rounded hover:bg-gray-200 dark:hover:bg-gray-700 transition flex items-center justify-center",
30
+ actionIcon: "w-4 h-4 flex-shrink-0",
31
+ pinButton: "p-1.5 rounded transition",
32
+ deleteButton: "p-1.5 rounded text-red-500 hover:bg-red-100 dark:hover:bg-red-900/20 transition",
33
+ // Toast
34
+ toastContainer: "fixed top-4 left-1/2 -translate-x-1/2 z-50 animate-[slideIn_0.2s_ease-out]",
35
+ toast: "flex items-center gap-2 px-4 py-2 rounded-lg shadow-lg",
36
+ toastIcon: "w-5 h-5",
37
+ toastText: "text-sm font-medium",
38
+ // buttons
39
+ addToClipboard: "whitespace-nowrap rounded bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:opacity-50",
40
+ clearAll: "rounded bg-red-600 px-4 py-2 text-white hover:bg-red-700",
41
+ // Selection bubble menu
42
+ selectionMenu: "selection-menu fixed z-50 -translate-x-1/2 -translate-y-full",
43
+ selectionBubble: "mb-2 flex items-center gap-2 rounded-lg bg-gray-900 px-3 py-2 text-white shadow-xl",
44
+ selectionText: "max-w-[200px] truncate text-xs",
45
+ selectionButton: "rounded bg-primary-700 px-2 py-1 text-xs font-medium whitespace-nowrap transition hover:bg-primary-500",
46
+ selectionArrow: "absolute bottom-1 left-1/2 h-2 w-2 -translate-x-1/2 rotate-45 bg-gray-900"
47
+ },
48
+ variants: {
49
+ pinned: {
50
+ true: {
51
+ pinButton: "text-blue-600 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-900/20"
52
+ },
53
+ false: {
54
+ pinButton: "hover:bg-gray-200 dark:hover:bg-gray-700"
55
+ }
56
+ },
57
+ type: {
58
+ success: {
59
+ toast: "bg-green-500 text-white"
60
+ },
61
+ error: {
62
+ toast: "bg-red-500 text-white"
63
+ },
64
+ info: {
65
+ toast: "bg-blue-500 text-white"
66
+ }
67
+ }
68
+ },
69
+ defaultVariants: {
70
+ pinned: false,
71
+ type: "success"
72
+ }
73
+ });
@@ -194,7 +194,7 @@
194
194
  @component
195
195
  [Go to docs](https://flowbite-svelte.com/)
196
196
  ## Type
197
- [CommandPaletteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2190)
197
+ [CommandPaletteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2192)
198
198
  ## Props
199
199
  @prop open = $bindable(false)
200
200
  @prop items = []
@@ -2,7 +2,7 @@ import type { CommandPaletteProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [CommandPaletteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2190)
5
+ * [CommandPaletteProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2192)
6
6
  * ## Props
7
7
  * @prop open = $bindable(false)
8
8
  * @prop items = []
package/dist/index.d.ts CHANGED
@@ -78,10 +78,11 @@ export * from "./typography/span";
78
78
  export * from "./video";
79
79
  export * from "./utils";
80
80
  export * from "./types";
81
+ export * from "./clipboard-manager";
81
82
  export * from "./command-palette";
82
- export * from "./virtuallist";
83
83
  export * from "./kanban";
84
+ export * from "./scroll-spy";
84
85
  export * from "./split-pane";
85
86
  export * from "./tour";
86
- export * from "./scroll-spy";
87
+ export * from "./virtuallist";
87
88
  export * from "./virtual-masonry";
package/dist/index.js CHANGED
@@ -84,10 +84,11 @@ export * from "./video";
84
84
  export * from "./utils";
85
85
  export * from "./types";
86
86
  // extend
87
+ export * from "./clipboard-manager";
87
88
  export * from "./command-palette";
88
- export * from "./virtuallist";
89
89
  export * from "./kanban";
90
+ export * from "./scroll-spy";
90
91
  export * from "./split-pane";
91
92
  export * from "./tour";
92
- export * from "./scroll-spy";
93
+ export * from "./virtuallist";
93
94
  export * from "./virtual-masonry";
@@ -9,6 +9,7 @@
9
9
  columns = $bindable([]),
10
10
  onMove = (_card: KanbanCardType, _from: KanbanColumnType, _to: KanbanColumnType) => {},
11
11
  onAddCard = (_col: KanbanColumnType) => {},
12
+ cardProps,
12
13
  class: className,
13
14
  classes,
14
15
  ...restProps
@@ -88,7 +89,7 @@
88
89
 
89
90
  <div class={styles.cardList({ class: clsx(theme?.cardList, classes?.cardList) })} role="list" aria-label={`${col.title} cards`}>
90
91
  {#each col.cards as card (card.id)}
91
- <KanbanCard {card} {classes} isDragging={draggedCard?.id === card.id} onDragStart={() => handleDragStart(card, col.id)} onDragEnd={handleDragEnd} />
92
+ <KanbanCard {card} {classes} {...cardProps} isDragging={draggedCard?.id === card.id} onDragStart={() => handleDragStart(card, col.id)} onDragEnd={handleDragEnd} />
92
93
  {/each}
93
94
  </div>
94
95
 
@@ -47,7 +47,7 @@
47
47
  @component
48
48
  [Go to docs](https://flowbite-svelte.com/)
49
49
  ## Type
50
- [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2119)
50
+ [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2121)
51
51
  ## Props
52
52
  @prop card
53
53
  @prop isDragging = false
@@ -2,7 +2,7 @@ import type { KanbanCardProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2119)
5
+ * [KanbanCardProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2121)
6
6
  * ## Props
7
7
  * @prop card
8
8
  * @prop isDragging = false
@@ -3,14 +3,14 @@ export const kanbanBoard = tv({
3
3
  slots: {
4
4
  container: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-3 md:gap-4 p-2 md:p-4",
5
5
  column: "w-full rounded-xl shadow-sm p-3 md:p-4 flex flex-col bg-surface-elevated text-surface-foreground transition-colors",
6
- columnTitle: "text-sm md:text-base font-semibold mb-2 md:mb-3",
6
+ columnTitle: "text-sm md:text-base font-semibold mb-2 md:mb-3 dark:text-white",
7
7
  cardList: "flex flex-col gap-2 flex-1 min-h-[60px]",
8
8
  card: "bg-surface text-surface-foreground rounded-lg p-2.5 md:p-3 shadow-sm cursor-grab active:cursor-grabbing transition-all hover:bg-surface-hover hover:shadow-md",
9
9
  cardTitle: "font-medium text-sm md:text-base",
10
10
  cardDescription: "text-xs md:text-sm text-muted mt-1",
11
11
  cardTags: "flex flex-wrap gap-1 mt-2",
12
12
  cardTag: "text-[10px] md:text-xs bg-primary/10 text-primary px-1.5 md:px-2 py-0.5 rounded-full",
13
- addButton: "mt-2 md:mt-3 w-full bg-primary text-primary-foreground rounded-lg py-1.5 text-xs md:text-sm font-medium hover:bg-primary/90 transition-colors focus:ring-2 focus:ring-primary focus:ring-offset-2"
13
+ addButton: "mt-2 md:mt-3 w-full bg-primary text-primary-foreground rounded-lg py-1.5 text-xs md:text-sm dark:text-primary-500 font-medium hover:bg-primary/90 transition-colors focus:ring-2 focus:ring-primary focus:ring-offset-2"
14
14
  },
15
15
  variants: {
16
16
  isDragOver: {
@@ -27,11 +27,11 @@ export const kanbanBoard = tv({
27
27
  });
28
28
  export const kanbanCard = tv({
29
29
  slots: {
30
- card: "bg-surface text-surface-foreground rounded-lg p-2.5 md:p-3 shadow-sm cursor-grab active:cursor-grabbing transition-all hover:bg-surface-hover hover:shadow-md",
31
- cardTitle: "font-medium text-sm md:text-base",
32
- cardDescription: "text-xs md:text-sm text-muted mt-1",
33
- cardTags: "flex flex-wrap gap-1 mt-2",
34
- cardTag: "text-[10px] md:text-xs bg-primary/10 text-primary px-1.5 md:px-2 py-0.5 rounded-full"
30
+ card: "bg-surface text-surface-foreground rounded-lg p-2.5 md:p-3 shadow-sm shadow-black/20 dark:shadow-white/10 cursor-grab active:cursor-grabbing transition-all hover:bg-surface-hover hover:shadow-md",
31
+ cardTitle: "font-medium text-sm md:text-base dark:text-white",
32
+ cardDescription: "text-xs md:text-sm text-muted mt-1 dark:text-white",
33
+ cardTags: "flex flex-wrap gap-1 mt-2 dark:text-white",
34
+ cardTag: "text-[10px] md:text-xs bg-primary/10 text-primary px-1.5 md:px-2 py-0.5 rounded-full dark:text-white"
35
35
  },
36
36
  variants: {
37
37
  isDragging: {
@@ -255,7 +255,7 @@
255
255
  @component
256
256
  [Go to docs](https://flowbite-svelte.com/)
257
257
  ## Type
258
- [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2205)
258
+ [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2207)
259
259
  ## Props
260
260
  @prop items
261
261
  @prop position = "top"
@@ -2,7 +2,7 @@ import type { ScrollSpyProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2205)
5
+ * [ScrollSpyProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2207)
6
6
  * ## Props
7
7
  * @prop items
8
8
  * @prop position = "top"
@@ -4,23 +4,80 @@
4
4
  import type { SpinnerProps } from "../types";
5
5
  import { getTheme } from "../theme/themeUtils";
6
6
 
7
- let { color = "primary", size = "8", class: className, currentFill = "currentFill", currentColor = "currentColor", ...restProps }: SpinnerProps = $props();
7
+ let { type = "default", color = "primary", size = "8", class: className, currentFill = "inherit", currentColor = "currentColor", ...restProps }: SpinnerProps = $props();
8
8
 
9
9
  const theme = getTheme("spinner");
10
-
11
- let spinnerClass = $derived(spinner({ color, size, class: clsx(theme, className) }));
10
+ let spinnerClass = $derived(spinner({ type, color, size, class: clsx(theme, className) }));
12
11
  </script>
13
12
 
14
- <svg {...restProps} role="status" class={spinnerClass} viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
15
- <path
16
- d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
17
- fill={currentColor}
18
- />
19
- <path
20
- d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
21
- fill={currentFill}
22
- />
23
- </svg>
13
+ {#if type === "default"}
14
+ <svg {...restProps} role="status" class={spinnerClass} viewBox="0 0 100 101" fill="none">
15
+ <path
16
+ d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
17
+ fill={currentColor}
18
+ />
19
+ <path
20
+ d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
21
+ fill={currentFill}
22
+ />
23
+ </svg>
24
+ {:else if type === "dots"}
25
+ <svg {...restProps} role="status" class={spinnerClass} viewBox="0 0 120 30" fill="currentColor">
26
+ <circle cx="15" cy="15" r="15">
27
+ <animate attributeName="r" values="15;9;15" dur="0.8s" repeatCount="indefinite" />
28
+ <animate attributeName="fill-opacity" values="1;.5;1" dur="0.8s" repeatCount="indefinite" />
29
+ </circle>
30
+ <circle cx="60" cy="15" r="9" fill-opacity="0.3">
31
+ <animate attributeName="r" values="9;15;9" dur="0.8s" begin="0.2s" repeatCount="indefinite" />
32
+ <animate attributeName="fill-opacity" values=".5;1;.5" dur="0.8s" begin="0.2s" repeatCount="indefinite" />
33
+ </circle>
34
+ <circle cx="105" cy="15" r="15">
35
+ <animate attributeName="r" values="15;9;15" dur="0.8s" begin="0.4s" repeatCount="indefinite" />
36
+ <animate attributeName="fill-opacity" values="1;.5;1" dur="0.8s" begin="0.4s" repeatCount="indefinite" />
37
+ </circle>
38
+ </svg>
39
+ {:else if type === "bars"}
40
+ <svg {...restProps} role="status" class={spinnerClass} viewBox="0 0 135 140" fill="currentColor">
41
+ <rect y="10" width="15" height="120" rx="6">
42
+ <animate attributeName="height" values="120;60;120" dur="1.2s" repeatCount="indefinite" />
43
+ <animate attributeName="y" values="10;40;10" dur="1.2s" repeatCount="indefinite" />
44
+ </rect>
45
+ <rect x="30" y="10" width="15" height="120" rx="6">
46
+ <animate attributeName="height" values="120;60;120" dur="1.2s" begin="0.2s" repeatCount="indefinite" />
47
+ <animate attributeName="y" values="10;40;10" dur="1.2s" begin="0.2s" repeatCount="indefinite" />
48
+ </rect>
49
+ <rect x="60" y="10" width="15" height="120" rx="6">
50
+ <animate attributeName="height" values="120;60;120" dur="1.2s" begin="0.4s" repeatCount="indefinite" />
51
+ <animate attributeName="y" values="10;40;10" dur="1.2s" begin="0.4s" repeatCount="indefinite" />
52
+ </rect>
53
+ </svg>
54
+ {:else if type === "pulse"}
55
+ <svg {...restProps} role="status" class={spinnerClass} viewBox="0 0 100 100">
56
+ <circle cx="50" cy="50" r="8" fill={currentFill}>
57
+ <animate attributeName="r" values="8;45" dur="1.5s" repeatCount="indefinite" />
58
+ <animate attributeName="opacity" values="0.9;0" dur="1.5s" repeatCount="indefinite" />
59
+ </circle>
60
+ <circle cx="50" cy="50" r="8" fill={currentFill}>
61
+ <animate attributeName="r" values="8;45" begin="0.5s" dur="1.5s" repeatCount="indefinite" />
62
+ <animate attributeName="opacity" values="0.9;0" begin="0.5s" dur="1.5s" repeatCount="indefinite" />
63
+ </circle>
64
+ <circle cx="50" cy="50" r="8" fill={currentFill}>
65
+ <animate attributeName="r" values="8;45" begin="1s" dur="1.5s" repeatCount="indefinite" />
66
+ <animate attributeName="opacity" values="0.9;0" begin="1s" dur="1.5s" repeatCount="indefinite" />
67
+ </circle>
68
+ </svg>
69
+ {:else if type === "orbit"}
70
+ <svg {...restProps} role="status" class={spinnerClass} viewBox="0 0 100 100" fill="currentColor">
71
+ <g>
72
+ <!-- Three dots evenly spaced around center -->
73
+ <circle cx="50" cy="20" r="8" />
74
+ <circle cx="73.66" cy="65" r="8" />
75
+ <circle cx="26.34" cy="65" r="8" />
76
+
77
+ <animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="1.2s" repeatCount="indefinite" />
78
+ </g>
79
+ </svg>
80
+ {/if}
24
81
 
25
82
  <!--
26
83
  @component
@@ -28,10 +85,11 @@
28
85
  ## Type
29
86
  [SpinnerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1554)
30
87
  ## Props
88
+ @prop type = "default"
31
89
  @prop color = "primary"
32
90
  @prop size = "8"
33
91
  @prop class: className
34
- @prop currentFill = "currentFill"
92
+ @prop currentFill = "inherit"
35
93
  @prop currentColor = "currentColor"
36
94
  @prop ...restProps
37
95
  -->
@@ -4,10 +4,11 @@ import type { SpinnerProps } from "../types";
4
4
  * ## Type
5
5
  * [SpinnerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1554)
6
6
  * ## Props
7
+ * @prop type = "default"
7
8
  * @prop color = "primary"
8
9
  * @prop size = "8"
9
10
  * @prop class: className
10
- * @prop currentFill = "currentFill"
11
+ * @prop currentFill = "inherit"
11
12
  * @prop currentColor = "currentColor"
12
13
  * @prop ...restProps
13
14
  */
@@ -1,6 +1,13 @@
1
1
  import { type VariantProps } from "tailwind-variants";
2
2
  export type SpinnerVaraiants = VariantProps<typeof spinner>;
3
3
  export declare const spinner: import("tailwind-variants").TVReturnType<{
4
+ type: {
5
+ default: string;
6
+ dots: string;
7
+ bars: string;
8
+ pulse: string;
9
+ orbit: string;
10
+ };
4
11
  color: {
5
12
  primary: string;
6
13
  secondary: string;
@@ -32,7 +39,14 @@ export declare const spinner: import("tailwind-variants").TVReturnType<{
32
39
  "12": string;
33
40
  "16": string;
34
41
  };
35
- }, undefined, "inline-block animate-spin text-gray-300", {
42
+ }, undefined, "inline-block", {
43
+ type: {
44
+ default: string;
45
+ dots: string;
46
+ bars: string;
47
+ pulse: string;
48
+ orbit: string;
49
+ };
36
50
  color: {
37
51
  primary: string;
38
52
  secondary: string;
@@ -65,6 +79,13 @@ export declare const spinner: import("tailwind-variants").TVReturnType<{
65
79
  "16": string;
66
80
  };
67
81
  }, undefined, import("tailwind-variants").TVReturnType<{
82
+ type: {
83
+ default: string;
84
+ dots: string;
85
+ bars: string;
86
+ pulse: string;
87
+ orbit: string;
88
+ };
68
89
  color: {
69
90
  primary: string;
70
91
  secondary: string;
@@ -96,4 +117,4 @@ export declare const spinner: import("tailwind-variants").TVReturnType<{
96
117
  "12": string;
97
118
  "16": string;
98
119
  };
99
- }, undefined, "inline-block animate-spin text-gray-300", unknown, unknown, undefined>>;
120
+ }, undefined, "inline-block", unknown, unknown, undefined>>;
@@ -1,29 +1,35 @@
1
1
  import { tv } from "tailwind-variants";
2
2
  export const spinner = tv({
3
- base: "inline-block animate-spin text-gray-300",
3
+ base: "inline-block",
4
4
  variants: {
5
+ type: {
6
+ default: "animate-spin",
7
+ dots: "inline-flex items-center justify-center",
8
+ bars: "inline-flex items-center justify-center",
9
+ pulse: "animate-pulse",
10
+ orbit: ""
11
+ },
5
12
  color: {
6
- // primary, secondary, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
7
- primary: "fill-primary-600",
8
- secondary: "fill-secondary-600",
9
- gray: "fill-gray-600 dark:fill-gray-300",
10
- red: "fill-red-600",
11
- orange: "fill-orange-500",
12
- amber: "fill-amber-500",
13
- yellow: "fill-yellow-400",
14
- lime: "fill-lime-500",
15
- green: "fill-green-500",
16
- emerald: "fill-emerald-500",
17
- teal: "fill-teal-500",
18
- cyan: "fill-cyan-500",
19
- sky: "fill-sky-500",
20
- blue: "fill-blue-600",
21
- indigo: "fill-indigo-600",
22
- violet: "fill-violet-600",
23
- purple: "fill-purple-600",
24
- fuchsia: "fill-fuchsia-600",
25
- pink: "fill-pink-600",
26
- rose: "fill-rose-600"
13
+ primary: "fill-primary-600 text-gray-300",
14
+ secondary: "fill-secondary-600 text-gray-300",
15
+ gray: "fill-gray-600 dark:fill-gray-300 text-gray-300",
16
+ red: "fill-red-600 text-gray-300",
17
+ orange: "fill-orange-500 text-gray-300",
18
+ amber: "fill-amber-500 text-gray-300",
19
+ yellow: "fill-yellow-400 text-gray-300",
20
+ lime: "fill-lime-500 text-gray-300",
21
+ green: "fill-green-500 text-gray-300",
22
+ emerald: "fill-emerald-500 text-gray-300",
23
+ teal: "fill-teal-500 text-gray-300",
24
+ cyan: "fill-cyan-500 text-gray-300",
25
+ sky: "fill-sky-500 text-gray-300",
26
+ blue: "fill-blue-600 text-gray-300",
27
+ indigo: "fill-indigo-600 text-gray-300",
28
+ violet: "fill-violet-600 text-gray-300",
29
+ purple: "fill-purple-600 text-gray-300",
30
+ fuchsia: "fill-fuchsia-600 text-gray-300",
31
+ pink: "fill-pink-600 text-gray-300",
32
+ rose: "fill-rose-600 text-gray-300"
27
33
  },
28
34
  size: {
29
35
  "4": "w-4 h-4",
@@ -36,6 +42,7 @@ export const spinner = tv({
36
42
  }
37
43
  },
38
44
  defaultVariants: {
45
+ type: "default",
39
46
  color: "primary",
40
47
  size: "8"
41
48
  }
@@ -37,7 +37,7 @@
37
37
  @component
38
38
  [Go to docs](https://flowbite-svelte.com/)
39
39
  ## Type
40
- [DividerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2148)
40
+ [DividerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2150)
41
41
  ## Props
42
42
  @prop direction
43
43
  @prop index
@@ -2,7 +2,7 @@ import type { DividerProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [DividerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2148)
5
+ * [DividerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2150)
6
6
  * ## Props
7
7
  * @prop direction
8
8
  * @prop index
@@ -47,7 +47,7 @@
47
47
  @component
48
48
  [Go to docs](https://flowbite-svelte.com/)
49
49
  ## Type
50
- [PaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2142)
50
+ [PaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2144)
51
51
  ## Props
52
52
  @prop children
53
53
  @prop class: className = ""
@@ -2,7 +2,7 @@ import type { PaneProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [PaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2142)
5
+ * [PaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2144)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className = ""
@@ -410,7 +410,7 @@
410
410
  @component
411
411
  [Go to docs](https://flowbite-svelte.com/)
412
412
  ## Type
413
- [SplitPaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2128)
413
+ [SplitPaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2130)
414
414
  ## Props
415
415
  @prop direction = "horizontal"
416
416
  @prop minSize = 100
@@ -15,7 +15,7 @@ import type { SplitPaneProps } from "../types";
15
15
  /**
16
16
  * [Go to docs](https://flowbite-svelte.com/)
17
17
  * ## Type
18
- * [SplitPaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2128)
18
+ * [SplitPaneProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L2130)
19
19
  * ## Props
20
20
  * @prop direction = "horizontal"
21
21
  * @prop minSize = 100
@@ -66,7 +66,7 @@
66
66
  @component
67
67
  [Go to docs](https://flowbite-svelte.com/)
68
68
  ## Type
69
- [StepIndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1562)
69
+ [StepIndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1563)
70
70
  ## Props
71
71
  @prop steps = ["Step 1", "Step 2", "Step 3", "Step 4", "Step 5"]
72
72
  @prop currentStep = 1
@@ -2,7 +2,7 @@ import type { StepIndicatorProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [StepIndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1562)
5
+ * [StepIndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1563)
6
6
  * ## Props
7
7
  * @prop steps = ["Step 1", "Step 2", "Step 3", "Step 4", "Step 5"]
8
8
  * @prop currentStep = 1
@@ -55,7 +55,7 @@
55
55
  @component
56
56
  [Go to docs](https://flowbite-svelte.com/)
57
57
  ## Type
58
- [BreadcrumbStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1642)
58
+ [BreadcrumbStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1643)
59
59
  ## Props
60
60
  @prop children
61
61
  @prop steps = []
@@ -2,7 +2,7 @@ import type { BreadcrumbStepperProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [BreadcrumbStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1642)
5
+ * [BreadcrumbStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1643)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop steps = []
@@ -42,7 +42,7 @@
42
42
  @component
43
43
  [Go to docs](https://flowbite-svelte.com/)
44
44
  ## Type
45
- [DetailedStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1611)
45
+ [DetailedStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1612)
46
46
  ## Props
47
47
  @prop children
48
48
  @prop steps = []
@@ -2,7 +2,7 @@ import type { DetailedStepperProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [DetailedStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1611)
5
+ * [DetailedStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1612)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop steps = []
@@ -54,7 +54,7 @@
54
54
  @component
55
55
  [Go to docs](https://flowbite-svelte.com/)
56
56
  ## Type
57
- [ProgressStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1596)
57
+ [ProgressStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1597)
58
58
  ## Props
59
59
  @prop children
60
60
  @prop steps = []
@@ -2,7 +2,7 @@ import type { ProgressStepperProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ProgressStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1596)
5
+ * [ProgressStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1597)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop steps = []
@@ -58,7 +58,7 @@
58
58
  @component
59
59
  [Go to docs](https://flowbite-svelte.com/)
60
60
  ## Type
61
- [StepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1584)
61
+ [StepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1585)
62
62
  ## Props
63
63
  @prop children
64
64
  @prop steps = []
@@ -2,7 +2,7 @@ import type { StepperProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [StepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1584)
5
+ * [StepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1585)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop steps = []
@@ -54,7 +54,7 @@
54
54
  @component
55
55
  [Go to docs](https://flowbite-svelte.com/)
56
56
  ## Type
57
- [TimelineStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1656)
57
+ [TimelineStepperProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1657)
58
58
  ## Props
59
59
  @prop children
60
60
  @prop steps = []