flowbite-svelte 1.5.3 → 1.5.5

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 (203) hide show
  1. package/dist/datepicker/Datepicker.svelte +1 -1
  2. package/dist/forms/input-addon/InputAddon.svelte +1 -1
  3. package/dist/forms/input-addon/InputAddon.svelte.d.ts +1 -1
  4. package/dist/forms/input-field/Input.svelte +37 -7
  5. package/dist/forms/input-field/theme.d.ts +3 -0
  6. package/dist/forms/input-field/theme.js +2 -1
  7. package/dist/forms/label/Label.svelte +1 -1
  8. package/dist/forms/label/Label.svelte.d.ts +1 -1
  9. package/dist/forms/range/Range.svelte +1 -1
  10. package/dist/forms/range/Range.svelte.d.ts +1 -1
  11. package/dist/forms/search/Search.svelte +1 -1
  12. package/dist/forms/search/Search.svelte.d.ts +1 -1
  13. package/dist/forms/search/theme.js +1 -1
  14. package/dist/forms/tags/Tags.svelte +1 -1
  15. package/dist/forms/tags/Tags.svelte.d.ts +1 -1
  16. package/dist/forms/textarea/Textarea.svelte +12 -4
  17. package/dist/forms/textarea/Textarea.svelte.d.ts +3 -1
  18. package/dist/forms/textarea/theme.d.ts +3 -0
  19. package/dist/forms/textarea/theme.js +1 -0
  20. package/dist/forms/timepicker/Timepicker.svelte +1 -1
  21. package/dist/forms/timepicker/Timepicker.svelte.d.ts +1 -1
  22. package/dist/forms/toggle/Toggle.svelte +1 -1
  23. package/dist/forms/toggle/Toggle.svelte.d.ts +1 -1
  24. package/dist/gallery/Gallery.svelte +1 -1
  25. package/dist/gallery/Gallery.svelte.d.ts +1 -1
  26. package/dist/indicator/Indicator.svelte +1 -1
  27. package/dist/indicator/Indicator.svelte.d.ts +1 -1
  28. package/dist/kbd/Kbd.svelte +1 -1
  29. package/dist/kbd/Kbd.svelte.d.ts +1 -1
  30. package/dist/list-group/Listgroup.svelte +1 -1
  31. package/dist/list-group/Listgroup.svelte.d.ts +1 -1
  32. package/dist/list-group/ListgroupItem.svelte +1 -1
  33. package/dist/list-group/ListgroupItem.svelte.d.ts +1 -1
  34. package/dist/mega-menu/MegaMenu.svelte +1 -1
  35. package/dist/mega-menu/MegaMenu.svelte.d.ts +1 -1
  36. package/dist/modal/Modal.svelte +1 -1
  37. package/dist/modal/Modal.svelte.d.ts +1 -1
  38. package/dist/navbar/Menu.svelte +1 -1
  39. package/dist/navbar/Menu.svelte.d.ts +1 -1
  40. package/dist/navbar/NavBrand.svelte +1 -1
  41. package/dist/navbar/NavBrand.svelte.d.ts +1 -1
  42. package/dist/navbar/NavContainer.svelte +1 -1
  43. package/dist/navbar/NavContainer.svelte.d.ts +1 -1
  44. package/dist/navbar/NavHamburger.svelte +1 -1
  45. package/dist/navbar/NavHamburger.svelte.d.ts +1 -1
  46. package/dist/navbar/NavLi.svelte +1 -1
  47. package/dist/navbar/NavLi.svelte.d.ts +1 -1
  48. package/dist/navbar/NavUl.svelte +1 -1
  49. package/dist/navbar/NavUl.svelte.d.ts +1 -1
  50. package/dist/navbar/Navbar.svelte +1 -1
  51. package/dist/navbar/Navbar.svelte.d.ts +1 -1
  52. package/dist/pagination/Pagination.svelte +1 -1
  53. package/dist/pagination/Pagination.svelte.d.ts +1 -1
  54. package/dist/pagination/PaginationButton.svelte +1 -1
  55. package/dist/pagination/PaginationButton.svelte.d.ts +1 -1
  56. package/dist/pagination/PaginationItem.svelte +1 -1
  57. package/dist/pagination/PaginationItem.svelte.d.ts +1 -1
  58. package/dist/pagination/PaginationNav.svelte +1 -1
  59. package/dist/pagination/PaginationNav.svelte.d.ts +1 -1
  60. package/dist/popover/Popover.svelte +1 -1
  61. package/dist/popover/Popover.svelte.d.ts +1 -1
  62. package/dist/progress/Progressbar.svelte +1 -1
  63. package/dist/progress/Progressbar.svelte.d.ts +1 -1
  64. package/dist/progress/Progressradial.svelte +1 -1
  65. package/dist/progress/Progressradial.svelte.d.ts +1 -1
  66. package/dist/progress/theme.js +2 -2
  67. package/dist/rating/AdvancedRating.svelte +1 -1
  68. package/dist/rating/AdvancedRating.svelte.d.ts +1 -1
  69. package/dist/rating/CustomIcon.svelte +1 -1
  70. package/dist/rating/CustomIcon.svelte.d.ts +1 -1
  71. package/dist/rating/Heart.svelte +1 -1
  72. package/dist/rating/Heart.svelte.d.ts +1 -1
  73. package/dist/rating/Rating.svelte +1 -1
  74. package/dist/rating/Rating.svelte.d.ts +1 -1
  75. package/dist/rating/RatingComment.svelte +1 -1
  76. package/dist/rating/RatingComment.svelte.d.ts +1 -1
  77. package/dist/rating/Review.svelte +1 -1
  78. package/dist/rating/Review.svelte.d.ts +1 -1
  79. package/dist/rating/ScoreRating.svelte +1 -1
  80. package/dist/rating/ScoreRating.svelte.d.ts +1 -1
  81. package/dist/rating/Star.svelte +1 -1
  82. package/dist/rating/Star.svelte.d.ts +1 -1
  83. package/dist/rating/Thumbup.svelte +1 -1
  84. package/dist/rating/Thumbup.svelte.d.ts +1 -1
  85. package/dist/sidebar/Sidebar.svelte +1 -1
  86. package/dist/sidebar/Sidebar.svelte.d.ts +1 -1
  87. package/dist/sidebar/SidebarBrand.svelte +1 -1
  88. package/dist/sidebar/SidebarBrand.svelte.d.ts +1 -1
  89. package/dist/sidebar/SidebarButton.svelte +1 -1
  90. package/dist/sidebar/SidebarButton.svelte.d.ts +1 -1
  91. package/dist/sidebar/SidebarCta.svelte +1 -1
  92. package/dist/sidebar/SidebarCta.svelte.d.ts +1 -1
  93. package/dist/sidebar/SidebarDropdownWrapper.svelte +3 -3
  94. package/dist/sidebar/SidebarDropdownWrapper.svelte.d.ts +3 -3
  95. package/dist/sidebar/SidebarGroup.svelte +1 -1
  96. package/dist/sidebar/SidebarGroup.svelte.d.ts +1 -1
  97. package/dist/sidebar/SidebarItem.svelte +1 -1
  98. package/dist/sidebar/SidebarItem.svelte.d.ts +1 -1
  99. package/dist/skeleton/CardPlaceholder.svelte +1 -1
  100. package/dist/skeleton/CardPlaceholder.svelte.d.ts +1 -1
  101. package/dist/skeleton/ImagePlaceholder.svelte +1 -1
  102. package/dist/skeleton/ImagePlaceholder.svelte.d.ts +1 -1
  103. package/dist/skeleton/ListPlaceholder.svelte +1 -1
  104. package/dist/skeleton/ListPlaceholder.svelte.d.ts +1 -1
  105. package/dist/skeleton/Skeleton.svelte +1 -1
  106. package/dist/skeleton/Skeleton.svelte.d.ts +1 -1
  107. package/dist/skeleton/TestimonialPlaceholder.svelte +1 -1
  108. package/dist/skeleton/TestimonialPlaceholder.svelte.d.ts +1 -1
  109. package/dist/skeleton/TextPlaceholder.svelte +1 -1
  110. package/dist/skeleton/TextPlaceholder.svelte.d.ts +1 -1
  111. package/dist/skeleton/VideoPlaceholder.svelte +1 -1
  112. package/dist/skeleton/VideoPlaceholder.svelte.d.ts +1 -1
  113. package/dist/skeleton/WidgetPlaceholder.svelte +1 -1
  114. package/dist/skeleton/WidgetPlaceholder.svelte.d.ts +1 -1
  115. package/dist/speed-dial/SpeedDial.svelte +1 -1
  116. package/dist/speed-dial/SpeedDial.svelte.d.ts +1 -1
  117. package/dist/speed-dial/SpeedDialButton.svelte +1 -1
  118. package/dist/speed-dial/SpeedDialButton.svelte.d.ts +1 -1
  119. package/dist/speed-dial/SpeedDialTrigger.svelte +1 -1
  120. package/dist/speed-dial/SpeedDialTrigger.svelte.d.ts +1 -1
  121. package/dist/spinner/Spinner.svelte +1 -1
  122. package/dist/spinner/Spinner.svelte.d.ts +1 -1
  123. package/dist/stepindicator/StepIndicator.svelte +1 -1
  124. package/dist/stepindicator/StepIndicator.svelte.d.ts +1 -1
  125. package/dist/table/Table.svelte +1 -1
  126. package/dist/table/Table.svelte.d.ts +1 -1
  127. package/dist/table/TableBody.svelte +1 -1
  128. package/dist/table/TableBody.svelte.d.ts +1 -1
  129. package/dist/table/TableBodyCell.svelte +1 -1
  130. package/dist/table/TableBodyCell.svelte.d.ts +1 -1
  131. package/dist/table/TableBodyRow.svelte +1 -1
  132. package/dist/table/TableBodyRow.svelte.d.ts +1 -1
  133. package/dist/table/TableHead.svelte +1 -1
  134. package/dist/table/TableHead.svelte.d.ts +1 -1
  135. package/dist/table/TableHeadCell.svelte +1 -1
  136. package/dist/table/TableHeadCell.svelte.d.ts +1 -1
  137. package/dist/table/TableSearch.svelte +1 -1
  138. package/dist/table/TableSearch.svelte.d.ts +1 -1
  139. package/dist/tabs/TabItem.svelte +1 -1
  140. package/dist/tabs/TabItem.svelte.d.ts +1 -1
  141. package/dist/tabs/Tabs.svelte +1 -1
  142. package/dist/tabs/Tabs.svelte.d.ts +1 -1
  143. package/dist/theme/Theme.svelte +1 -1
  144. package/dist/theme/Theme.svelte.d.ts +1 -1
  145. package/dist/theme/index.d.ts +6 -0
  146. package/dist/timeline/Activity.svelte +1 -1
  147. package/dist/timeline/Activity.svelte.d.ts +1 -1
  148. package/dist/timeline/ActivityItem.svelte +1 -1
  149. package/dist/timeline/ActivityItem.svelte.d.ts +1 -1
  150. package/dist/timeline/Group.svelte +1 -1
  151. package/dist/timeline/Group.svelte.d.ts +1 -1
  152. package/dist/timeline/GroupItem.svelte +1 -1
  153. package/dist/timeline/GroupItem.svelte.d.ts +1 -1
  154. package/dist/timeline/Timeline.svelte +1 -1
  155. package/dist/timeline/Timeline.svelte.d.ts +1 -1
  156. package/dist/timeline/TimelineItem.svelte +1 -1
  157. package/dist/timeline/TimelineItem.svelte.d.ts +1 -1
  158. package/dist/toast/Toast.svelte +1 -1
  159. package/dist/toast/Toast.svelte.d.ts +1 -1
  160. package/dist/toolbar/Toolbar.svelte +1 -1
  161. package/dist/toolbar/Toolbar.svelte.d.ts +1 -1
  162. package/dist/toolbar/ToolbarButton.svelte +1 -1
  163. package/dist/toolbar/ToolbarButton.svelte.d.ts +1 -1
  164. package/dist/toolbar/ToolbarGroup.svelte +1 -1
  165. package/dist/toolbar/ToolbarGroup.svelte.d.ts +1 -1
  166. package/dist/tooltip/Tooltip.svelte +1 -1
  167. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  168. package/dist/types.d.ts +8 -0
  169. package/dist/typography/anchor/A.svelte +1 -1
  170. package/dist/typography/anchor/A.svelte.d.ts +1 -1
  171. package/dist/typography/blockquote/Blockquote.svelte +1 -1
  172. package/dist/typography/blockquote/Blockquote.svelte.d.ts +1 -1
  173. package/dist/typography/descriptionlist/DescriptionList.svelte +1 -1
  174. package/dist/typography/descriptionlist/DescriptionList.svelte.d.ts +1 -1
  175. package/dist/typography/heading/Heading.svelte +1 -1
  176. package/dist/typography/heading/Heading.svelte.d.ts +1 -1
  177. package/dist/typography/hr/Hr.svelte +1 -1
  178. package/dist/typography/hr/Hr.svelte.d.ts +1 -1
  179. package/dist/typography/img/EnhancedImg.svelte +1 -1
  180. package/dist/typography/img/EnhancedImg.svelte.d.ts +1 -1
  181. package/dist/typography/img/Img.svelte +1 -1
  182. package/dist/typography/img/Img.svelte.d.ts +1 -1
  183. package/dist/typography/layout/Layout.svelte +1 -1
  184. package/dist/typography/layout/Layout.svelte.d.ts +1 -1
  185. package/dist/typography/list/Li.svelte +1 -1
  186. package/dist/typography/list/Li.svelte.d.ts +1 -1
  187. package/dist/typography/list/List.svelte +1 -1
  188. package/dist/typography/list/List.svelte.d.ts +1 -1
  189. package/dist/typography/mark/Mark.svelte +1 -1
  190. package/dist/typography/mark/Mark.svelte.d.ts +1 -1
  191. package/dist/typography/paragraph/P.svelte +1 -1
  192. package/dist/typography/paragraph/P.svelte.d.ts +1 -1
  193. package/dist/typography/secondary/Secondary.svelte +1 -1
  194. package/dist/typography/secondary/Secondary.svelte.d.ts +1 -1
  195. package/dist/typography/span/Span.svelte +1 -1
  196. package/dist/typography/span/Span.svelte.d.ts +1 -1
  197. package/dist/utils/Arrow.svelte +1 -1
  198. package/dist/utils/Arrow.svelte.d.ts +1 -1
  199. package/dist/utils/Popper.svelte +46 -19
  200. package/dist/utils/Popper.svelte.d.ts +2 -1
  201. package/dist/video/Video.svelte +1 -1
  202. package/dist/video/Video.svelte.d.ts +1 -1
  203. package/package.json +1 -1
@@ -183,7 +183,7 @@
183
183
  <div bind:this={datepickerContainerElement} class={["relative", inline && "inline-block"]}>
184
184
  {#if !inline}
185
185
  <div class="relative">
186
- <input bind:this={inputElement} type="text" class={cn(input({ color }), inputClass)} {placeholder} value={range ? `${formatDate(rangeFrom)} - ${formatDate(rangeTo)}` : formatDate(value)} onfocus={() => (isOpen = true)} oninput={handleInputChange} onkeydown={handleInputKeydown} {disabled} {required} aria-haspopup="dialog" />
186
+ <input bind:this={inputElement} type="text" class={cn(input({ color }), inputClass)} {placeholder} value={range ? `${formatDate(rangeFrom)} - ${formatDate(rangeTo)}` : formatDate(value)} onfocus={() => (isOpen = true)} oninput={handleInputChange} onkeydown={handleInputKeydown} {disabled} {required} inputmode="none" aria-haspopup="dialog" />
187
187
  <button type="button" class={cn(button(), btnClass)} onclick={() => (isOpen = !isOpen)} {disabled} aria-label={isOpen ? "Close date picker" : "Open date picker"}>
188
188
  <svg class="h-4 w-4 text-gray-500 dark:text-gray-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
189
189
  <path d="M20 4a2 2 0 0 0-2-2h-2V1a1 1 0 0 0-2 0v1h-3V1a1 1 0 0 0-2 0v1H6V1a1 1 0 0 0-2 0v1H2a2 2 0 0 0-2 2v2h20V4ZM0 18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8H0v10Zm5-8h10a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z"></path>
@@ -39,7 +39,7 @@
39
39
  @component
40
40
  [Go to docs](https://flowbite-svelte.com/)
41
41
  ## Type
42
- [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L778)
42
+ [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L783)
43
43
  ## Props
44
44
  @prop children
45
45
  @prop class: className
@@ -2,7 +2,7 @@ import { type InputAddonProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L778)
5
+ * [InputAddonProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L783)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -3,7 +3,7 @@
3
3
  import { CloseButton, type SizeType, type InputProps, type InputValue, cn } from "../..";
4
4
  import { input, clampSize } from ".";
5
5
 
6
- let { children, left, right, value = $bindable(), elementRef = $bindable(), clearable = false, size, color = "default", class: className, wrapperClass, leftClass, rightClass, divClass, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, data = [], maxSuggestions = 5, onSelect, comboClass, ...restProps }: InputProps<InputValue> = $props();
6
+ let { children, left, right, value = $bindable(), elementRef = $bindable(), clearable = false, size, color = "default", class: className, wrapperClass, leftClass, rightClass, divClass, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, data = [], maxSuggestions = 5, onSelect, comboClass, comboItemClass, onInput, onFocus, onBlur, onKeydown, ...restProps }: InputProps<InputValue> = $props();
7
7
 
8
8
  // Automatically enable combobox when data is provided
9
9
  const isCombobox = $derived(Array.isArray(data) && data.length > 0);
@@ -19,7 +19,7 @@
19
19
  let _size = $derived(size || clampSize(group?.size) || "md");
20
20
  const _color = $derived(color === "default" && background ? "tinted" : color);
21
21
 
22
- const { base, input: inputCls, left: leftCls, right: rightCls, clearbtn, combo } = $derived(input({ size: _size, color: _color, group: isGroup }));
22
+ const { base, input: inputCls, left: leftCls, right: rightCls, clearbtn, combo, comboItem } = $derived(input({ size: _size, color: _color, group: isGroup }));
23
23
 
24
24
  const clearAll = () => {
25
25
  if (elementRef) {
@@ -80,7 +80,8 @@
80
80
  }
81
81
  });
82
82
 
83
- function handleInput() {
83
+ // Default event handlers
84
+ function defaultHandleInput(event: Event) {
84
85
  // Reset backspace flag if user starts typing again
85
86
  if ((value as string).length > 0) {
86
87
  backspaceUsed = false;
@@ -88,12 +89,12 @@
88
89
  updateSuggestions();
89
90
  }
90
91
 
91
- function handleFocus() {
92
+ function defaultHandleFocus(event: FocusEvent) {
92
93
  isFocused = true;
93
94
  updateSuggestions();
94
95
  }
95
96
 
96
- function handleBlur() {
97
+ function defaultHandleBlur(event: FocusEvent) {
97
98
  // Small delay to allow click on suggestion to fire first
98
99
  setTimeout(() => {
99
100
  isFocused = false;
@@ -102,7 +103,7 @@
102
103
  }, 200);
103
104
  }
104
105
 
105
- function handleKeydown(event: KeyboardEvent) {
106
+ function defaultHandleKeydown(event: KeyboardEvent) {
106
107
  if (!isCombobox) return;
107
108
 
108
109
  // Special handling for backspace/delete - track when it's used to clear the input
@@ -138,6 +139,35 @@
138
139
  }
139
140
  }
140
141
 
142
+ // Combined event handlers that call custom handlers first, then default behavior
143
+ function handleInput(event: Event) {
144
+ if (onInput) {
145
+ onInput(event);
146
+ }
147
+ defaultHandleInput(event);
148
+ }
149
+
150
+ function handleFocus(event: FocusEvent) {
151
+ if (onFocus) {
152
+ onFocus(event);
153
+ }
154
+ defaultHandleFocus(event);
155
+ }
156
+
157
+ function handleBlur(event: FocusEvent) {
158
+ if (onBlur) {
159
+ onBlur(event);
160
+ }
161
+ defaultHandleBlur(event);
162
+ }
163
+
164
+ function handleKeydown(event: KeyboardEvent) {
165
+ if (onKeydown) {
166
+ onKeydown(event);
167
+ }
168
+ defaultHandleKeydown(event);
169
+ }
170
+
141
171
  function selectItem(item: string) {
142
172
  value = item;
143
173
 
@@ -172,7 +202,7 @@
172
202
  <div class={cn(combo(), comboClass)}>
173
203
  {#each filteredSuggestions as item, i}
174
204
  <button type="button" class="w-full px-3 py-2 text-left {i === selectedIndex ? 'bg-gray-100 dark:bg-gray-700' : 'hover:bg-gray-50 dark:hover:bg-gray-700'} focus:outline-none" onclick={() => selectItem(item)} onmouseenter={() => (selectedIndex = i)}>
175
- {item}
205
+ <p class={cn(comboItem(), comboItemClass)}>{item}</p>
176
206
  </button>
177
207
  {/each}
178
208
  </div>
@@ -95,6 +95,7 @@ export declare const input: import("tailwind-variants").TVReturnType<{
95
95
  right: string;
96
96
  clearbtn: string;
97
97
  combo: string;
98
+ comboItem: string;
98
99
  }, undefined, {
99
100
  size: {
100
101
  sm: {
@@ -190,6 +191,7 @@ export declare const input: import("tailwind-variants").TVReturnType<{
190
191
  right: string;
191
192
  clearbtn: string;
192
193
  combo: string;
194
+ comboItem: string;
193
195
  }, import("tailwind-variants").TVReturnType<{
194
196
  size: {
195
197
  sm: {
@@ -285,4 +287,5 @@ export declare const input: import("tailwind-variants").TVReturnType<{
285
287
  right: string;
286
288
  clearbtn: string;
287
289
  combo: string;
290
+ comboItem: string;
288
291
  }, undefined, unknown, unknown, undefined>>;
@@ -6,7 +6,8 @@ export const input = tv({
6
6
  left: "flex absolute inset-y-0 items-center text-gray-500 dark:text-gray-400 pointer-events-none start-0 p-2.5",
7
7
  right: "flex absolute inset-y-0 items-center text-gray-500 dark:text-gray-400 end-0 p-2.5",
8
8
  clearbtn: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black",
9
- combo: "absolute top-full right-0 left-0 z-20 mt-1 max-h-60 overflow-y-auto rounded-md border border-gray-200 bg-white shadow-lg dark:border-gray-700 dark:bg-gray-800"
9
+ combo: "absolute top-full right-0 left-0 z-20 mt-1 max-h-60 overflow-y-auto rounded-md border border-gray-200 bg-white shadow-lg dark:border-gray-700 dark:bg-gray-800",
10
+ comboItem: "text-gray-900 dark:text-gray-50"
10
11
  },
11
12
  variants: {
12
13
  size: {
@@ -19,7 +19,7 @@
19
19
  @component
20
20
  [Go to docs](https://flowbite-svelte.com/)
21
21
  ## Type
22
- [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L784)
22
+ [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L789)
23
23
  ## Props
24
24
  @prop children
25
25
  @prop color = "gray"
@@ -2,7 +2,7 @@ import { type LabelProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L784)
5
+ * [LabelProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L789)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop color = "gray"
@@ -13,7 +13,7 @@
13
13
  @component
14
14
  [Go to docs](https://flowbite-svelte.com/)
15
15
  ## Type
16
- [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L812)
16
+ [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L817)
17
17
  ## Props
18
18
  @prop value = $bindable()
19
19
  @prop appearance = "none"
@@ -2,7 +2,7 @@ import { type RangeProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L812)
5
+ * [RangeProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L817)
6
6
  * ## Props
7
7
  * @prop value = $bindable()
8
8
  * @prop appearance = "none"
@@ -36,7 +36,7 @@
36
36
  @component
37
37
  [Go to docs](https://flowbite-svelte.com/)
38
38
  ## Type
39
- [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L818)
39
+ [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L823)
40
40
  ## Props
41
41
  @prop children
42
42
  @prop inputClass
@@ -2,7 +2,7 @@ import { type SearchProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L818)
5
+ * [SearchProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L823)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop inputClass
@@ -5,7 +5,7 @@ export const search = tv({
5
5
  leftDiv: "absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none",
6
6
  icon: "text-gray-500 dark:text-gray-400",
7
7
  content: "absolute inset-y-0 end-0 flex items-center text-gray-500 dark:text-gray-400",
8
- input: "block w-full text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",
8
+ input: "block w-full text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-primary-500 focus:border-primary-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500",
9
9
  clearbtn: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black"
10
10
  },
11
11
  variants: {
@@ -65,7 +65,7 @@
65
65
  @component
66
66
  [Go to docs](https://flowbite-svelte.com/)
67
67
  ## Type
68
- [TagsProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L862)
68
+ [TagsProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L867)
69
69
  ## Props
70
70
  @prop value = $bindable([])
71
71
  @prop itemClass
@@ -2,7 +2,7 @@ import { type TagsProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TagsProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L862)
5
+ * [TagsProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L867)
6
6
  * ## Props
7
7
  * @prop value = $bindable([])
8
8
  * @prop itemClass
@@ -2,13 +2,14 @@
2
2
  import { textarea } from ".";
3
3
  import { type TextareaProps, CloseButton, cn } from "../..";
4
4
 
5
- let { header, footer, value = $bindable(), elementRef = $bindable(), divClass, innerClass, headerClass, footerClass, disabled, class: className, cols, clearable, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, textareaClass, ...restProps }: TextareaProps = $props();
5
+ let { header, footer, addon, value = $bindable(), elementRef = $bindable(), divClass, innerClass, headerClass, footerClass, addonClass, disabled, class: className, cols, clearable, clearableSvgClass, clearableColor = "none", clearableClass, clearableOnClick, textareaClass, ...restProps }: TextareaProps = $props();
6
6
 
7
7
  let hasHeader = $derived(!!header);
8
8
  let hasFooter = $derived(!!footer);
9
- let wrapped: boolean = $derived(hasHeader || hasFooter);
9
+ let hasAddon = $derived(!!addon);
10
+ let wrapped: boolean = $derived(hasHeader || hasFooter || hasAddon);
10
11
 
11
- const { divWrapper, base, wrapper, innerWrapper, headerCls, footerCls, clearbtn } = $derived(textarea({ wrapped, hasHeader, hasFooter, cols: !!cols }));
12
+ const { divWrapper, base, wrapper, innerWrapper, headerCls, footerCls, addonCls, clearbtn } = $derived(textarea({ wrapped, hasHeader, hasFooter, cols: !!cols }));
12
13
 
13
14
  const clearAll = () => {
14
15
  if (elementRef) {
@@ -30,6 +31,11 @@
30
31
  </div>
31
32
  {/if}
32
33
  <div class={cn(innerWrapper(), innerClass)}>
34
+ {#if addon}
35
+ <div class={cn(addonCls(), addonClass)}>
36
+ {@render addon()}
37
+ </div>
38
+ {/if}
33
39
  <textarea bind:value bind:this={elementRef} {disabled} {...restProps} class={cn(base(), textareaClass)}></textarea>
34
40
  </div>
35
41
  {#if footer}
@@ -48,16 +54,18 @@
48
54
  @component
49
55
  [Go to docs](https://flowbite-svelte.com/)
50
56
  ## Type
51
- [TextareaProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L908)
57
+ [TextareaProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L913)
52
58
  ## Props
53
59
  @prop header
54
60
  @prop footer
61
+ @prop addon
55
62
  @prop value = $bindable()
56
63
  @prop elementRef = $bindable()
57
64
  @prop divClass
58
65
  @prop innerClass
59
66
  @prop headerClass
60
67
  @prop footerClass
68
+ @prop addonClass
61
69
  @prop disabled
62
70
  @prop class: className
63
71
  @prop cols
@@ -2,16 +2,18 @@ import { type TextareaProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TextareaProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L908)
5
+ * [TextareaProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L913)
6
6
  * ## Props
7
7
  * @prop header
8
8
  * @prop footer
9
+ * @prop addon
9
10
  * @prop value = $bindable()
10
11
  * @prop elementRef = $bindable()
11
12
  * @prop divClass
12
13
  * @prop innerClass
13
14
  * @prop headerClass
14
15
  * @prop footerClass
16
+ * @prop addonClass
15
17
  * @prop disabled
16
18
  * @prop class: className
17
19
  * @prop cols
@@ -35,6 +35,7 @@ export declare const textarea: import("tailwind-variants").TVReturnType<{
35
35
  innerWrapper: string;
36
36
  headerCls: string;
37
37
  footerCls: string;
38
+ addonCls: string;
38
39
  clearbtn: string;
39
40
  }, undefined, {
40
41
  cols: {
@@ -71,6 +72,7 @@ export declare const textarea: import("tailwind-variants").TVReturnType<{
71
72
  innerWrapper: string;
72
73
  headerCls: string;
73
74
  footerCls: string;
75
+ addonCls: string;
74
76
  clearbtn: string;
75
77
  }, import("tailwind-variants").TVReturnType<{
76
78
  cols: {
@@ -107,5 +109,6 @@ export declare const textarea: import("tailwind-variants").TVReturnType<{
107
109
  innerWrapper: string;
108
110
  headerCls: string;
109
111
  footerCls: string;
112
+ addonCls: string;
110
113
  clearbtn: string;
111
114
  }, undefined, unknown, unknown, undefined>>;
@@ -7,6 +7,7 @@ export const textarea = tv({
7
7
  innerWrapper: "py-2 px-4 bg-white dark:bg-gray-800",
8
8
  headerCls: "py-2 px-3 border-gray-200 dark:border-gray-500",
9
9
  footerCls: "py-2 px-3 border-gray-200 dark:border-gray-500",
10
+ addonCls: "absolute top-2 right-2 z-10",
10
11
  clearbtn: "absolute right-2 top-5 -translate-y-1/2 text-gray-400 hover:text-black"
11
12
  },
12
13
  variants: {
@@ -220,7 +220,7 @@
220
220
  @component
221
221
  [Go to docs](https://flowbite-svelte.com/)
222
222
  ## Type
223
- [TimepickerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L880)
223
+ [TimepickerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L885)
224
224
  ## Props
225
225
  @prop id = "time"
226
226
  @prop endId = "end-time"
@@ -2,7 +2,7 @@ import { type TimepickerProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [TimepickerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L880)
5
+ * [TimepickerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L885)
6
6
  * ## Props
7
7
  * @prop id = "time"
8
8
  * @prop endId = "end-time"
@@ -22,7 +22,7 @@
22
22
  @component
23
23
  [Go to docs](https://flowbite-svelte.com/)
24
24
  ## Type
25
- [ToggleProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L928)
25
+ [ToggleProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L935)
26
26
  ## Props
27
27
  @prop children
28
28
  @prop size = "default"
@@ -2,7 +2,7 @@ import { type ToggleProps } from "../..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ToggleProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L928)
5
+ * [ToggleProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L935)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop size = "default"
@@ -35,7 +35,7 @@
35
35
  @component
36
36
  [Go to docs](https://flowbite-svelte.com/)
37
37
  ## Type
38
- [GalleryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L945)
38
+ [GalleryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L952)
39
39
  ## Props
40
40
  @prop children
41
41
  @prop figure
@@ -2,7 +2,7 @@ import { type GalleryProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [GalleryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L945)
5
+ * [GalleryProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L952)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop figure
@@ -28,7 +28,7 @@
28
28
  @component
29
29
  [Go to docs](https://flowbite-svelte.com/)
30
30
  ## Type
31
- [IndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L956)
31
+ [IndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L963)
32
32
  ## Props
33
33
  @prop children
34
34
  @prop color = "primary"
@@ -2,7 +2,7 @@ import { type IndicatorProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [IndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L956)
5
+ * [IndicatorProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L963)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop color = "primary"
@@ -14,7 +14,7 @@
14
14
  @component
15
15
  [Go to docs](https://flowbite-svelte.com/)
16
16
  ## Type
17
- [KbdProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L967)
17
+ [KbdProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L974)
18
18
  ## Props
19
19
  @prop children
20
20
  @prop class: className
@@ -2,7 +2,7 @@ import { type KbdProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [KbdProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L967)
5
+ * [KbdProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L974)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -42,7 +42,7 @@
42
42
  @component
43
43
  [Go to docs](https://flowbite-svelte.com/)
44
44
  ## Type
45
- [ListgroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L986)
45
+ [ListgroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L993)
46
46
  ## Props
47
47
  @prop children
48
48
  @prop items
@@ -2,7 +2,7 @@ import { type ListgroupProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ListgroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L986)
5
+ * [ListgroupProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L993)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop items
@@ -41,7 +41,7 @@
41
41
  @component
42
42
  [Go to docs](https://flowbite-svelte.com/)
43
43
  ## Type
44
- [ListgroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L997)
44
+ [ListgroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1004)
45
45
  ## Props
46
46
  @prop children
47
47
  @prop active
@@ -2,7 +2,7 @@ import { type ListgroupItemProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ListgroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L997)
5
+ * [ListgroupItemProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1004)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop active
@@ -31,7 +31,7 @@
31
31
  @component
32
32
  [Go to docs](https://flowbite-svelte.com/)
33
33
  ## Type
34
- [MegaMenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1008)
34
+ [MegaMenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1015)
35
35
  ## Props
36
36
  @prop children
37
37
  @prop extra
@@ -2,7 +2,7 @@ import { type MegaMenuProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [MegaMenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1008)
5
+ * [MegaMenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1015)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop extra
@@ -91,7 +91,7 @@
91
91
  @component
92
92
  [Go to docs](https://flowbite-svelte.com/)
93
93
  ## Type
94
- [ModalProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1019)
94
+ [ModalProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1026)
95
95
  ## Props
96
96
  @prop children
97
97
  @prop oncancel
@@ -2,7 +2,7 @@ import { type ModalProps } from "..";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [ModalProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1019)
5
+ * [ModalProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1026)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop oncancel
@@ -33,7 +33,7 @@
33
33
  @component
34
34
  [Go to docs](https://flowbite-svelte.com/)
35
35
  ## Type
36
- [MenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1037)
36
+ [MenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1044)
37
37
  ## Props
38
38
  @prop size = "24"
39
39
  @prop color = "currentColor"
@@ -2,7 +2,7 @@ import type { MenuProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [MenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1037)
5
+ * [MenuProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1044)
6
6
  * ## Props
7
7
  * @prop size = "24"
8
8
  * @prop color = "currentColor"
@@ -15,7 +15,7 @@
15
15
  @component
16
16
  [Go to docs](https://flowbite-svelte.com/)
17
17
  ## Type
18
- [NavBrandProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1057)
18
+ [NavBrandProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1064)
19
19
  ## Props
20
20
  @prop children
21
21
  @prop class: className
@@ -2,7 +2,7 @@ import type { NavBrandProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [NavBrandProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1057)
5
+ * [NavBrandProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1064)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop class: className
@@ -15,7 +15,7 @@
15
15
  @component
16
16
  [Go to docs](https://flowbite-svelte.com/)
17
17
  ## Type
18
- [NavContainerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1059)
18
+ [NavContainerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1066)
19
19
  ## Props
20
20
  @prop children
21
21
  @prop fluid
@@ -2,7 +2,7 @@ import type { NavContainerProps } from "../types";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [NavContainerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1059)
5
+ * [NavContainerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1066)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop fluid
@@ -26,7 +26,7 @@
26
26
  @component
27
27
  [Go to docs](https://flowbite-svelte.com/)
28
28
  ## Type
29
- [NavHamburgerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1063)
29
+ [NavHamburgerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1070)
30
30
  ## Props
31
31
  @prop children
32
32
  @prop onclick
@@ -2,7 +2,7 @@ import clsx from "clsx";
2
2
  /**
3
3
  * [Go to docs](https://flowbite-svelte.com/)
4
4
  * ## Type
5
- * [NavHamburgerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1063)
5
+ * [NavHamburgerProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1070)
6
6
  * ## Props
7
7
  * @prop children
8
8
  * @prop onclick
@@ -36,7 +36,7 @@
36
36
  @component
37
37
  [Go to docs](https://flowbite-svelte.com/)
38
38
  ## Type
39
- [NavLiProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1083)
39
+ [NavLiProps](https://github.com/themesberg/flowbite-svelte/blob/main/src/lib/types.ts#L1090)
40
40
  ## Props
41
41
  @prop children
42
42
  @prop activeClass