@adriansyah/heroui-svelte 0.0.0-stage → 0.0.2

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 (284) hide show
  1. package/README.md +38 -2
  2. package/dist/components/autocomplete/autocomplete-clear-button.svelte +24 -0
  3. package/dist/components/autocomplete/autocomplete-clear-button.svelte.d.ts +3 -0
  4. package/dist/components/autocomplete/autocomplete-filter.svelte +16 -0
  5. package/dist/components/autocomplete/autocomplete-filter.svelte.d.ts +6 -0
  6. package/dist/components/autocomplete/autocomplete-indicator.svelte +21 -0
  7. package/dist/components/autocomplete/autocomplete-indicator.svelte.d.ts +7 -0
  8. package/dist/components/autocomplete/autocomplete-popover.svelte +19 -0
  9. package/dist/components/autocomplete/autocomplete-popover.svelte.d.ts +4 -0
  10. package/dist/components/autocomplete/autocomplete-trigger.svelte +28 -0
  11. package/dist/components/autocomplete/autocomplete-trigger.svelte.d.ts +6 -0
  12. package/dist/components/autocomplete/autocomplete-value.svelte +65 -0
  13. package/dist/components/autocomplete/autocomplete-value.svelte.d.ts +9 -0
  14. package/dist/components/autocomplete/autocomplete.svelte +52 -0
  15. package/dist/components/autocomplete/autocomplete.svelte.d.ts +9 -0
  16. package/dist/components/autocomplete/index.d.ts +8 -0
  17. package/dist/components/autocomplete/index.js +8 -0
  18. package/dist/components/autocomplete/index.svelte.d.ts +26 -0
  19. package/dist/components/autocomplete/index.svelte.js +69 -0
  20. package/dist/components/avatar/avatar-fallback.svelte +19 -0
  21. package/dist/components/avatar/avatar-fallback.svelte.d.ts +6 -0
  22. package/dist/components/avatar/avatar-image.svelte +18 -0
  23. package/dist/components/avatar/avatar-image.svelte.d.ts +4 -0
  24. package/dist/components/avatar/avatar.svelte +16 -0
  25. package/dist/components/avatar/avatar.svelte.d.ts +6 -0
  26. package/dist/components/avatar/context.svelte.d.ts +7 -0
  27. package/dist/components/avatar/context.svelte.js +8 -0
  28. package/dist/components/avatar/index.d.ts +4 -0
  29. package/dist/components/avatar/index.js +4 -0
  30. package/dist/components/button/button.svelte +51 -0
  31. package/dist/components/button/button.svelte.d.ts +6 -0
  32. package/dist/components/button/index.d.ts +2 -0
  33. package/dist/components/button/index.js +2 -0
  34. package/dist/components/button/index.svelte.d.ts +27 -0
  35. package/dist/components/button/index.svelte.js +28 -0
  36. package/dist/components/button-group/button-group-separator.svelte +20 -0
  37. package/dist/components/button-group/button-group-separator.svelte.d.ts +5 -0
  38. package/dist/components/button-group/button-group.svelte +20 -0
  39. package/dist/components/button-group/button-group.svelte.d.ts +6 -0
  40. package/dist/components/button-group/context.svelte.d.ts +7 -0
  41. package/dist/components/button-group/context.svelte.js +8 -0
  42. package/dist/components/button-group/index.d.ts +3 -0
  43. package/dist/components/button-group/index.js +3 -0
  44. package/dist/components/card/card-content.svelte +19 -0
  45. package/dist/components/card/card-content.svelte.d.ts +5 -0
  46. package/dist/components/card/card-description.svelte +19 -0
  47. package/dist/components/card/card-description.svelte.d.ts +5 -0
  48. package/dist/components/card/card-footer.svelte +19 -0
  49. package/dist/components/card/card-footer.svelte.d.ts +5 -0
  50. package/dist/components/card/card-header.svelte +19 -0
  51. package/dist/components/card/card-header.svelte.d.ts +5 -0
  52. package/dist/components/card/card-title.svelte +19 -0
  53. package/dist/components/card/card-title.svelte.d.ts +5 -0
  54. package/dist/components/card/card.svelte +22 -0
  55. package/dist/components/card/card.svelte.d.ts +6 -0
  56. package/dist/components/card/context.svelte.d.ts +6 -0
  57. package/dist/components/card/context.svelte.js +8 -0
  58. package/dist/components/card/index.d.ts +7 -0
  59. package/dist/components/card/index.js +7 -0
  60. package/dist/components/checkbox/checkbox-content.svelte +26 -0
  61. package/dist/components/checkbox/checkbox-content.svelte.d.ts +4 -0
  62. package/dist/components/checkbox/checkbox-control.svelte +25 -0
  63. package/dist/components/checkbox/checkbox-control.svelte.d.ts +5 -0
  64. package/dist/components/checkbox/checkbox-indicator.svelte +54 -0
  65. package/dist/components/checkbox/checkbox-indicator.svelte.d.ts +5 -0
  66. package/dist/components/checkbox/checkbox.svelte +60 -0
  67. package/dist/components/checkbox/checkbox.svelte.d.ts +8 -0
  68. package/dist/components/checkbox/index.d.ts +4 -0
  69. package/dist/components/checkbox/index.js +4 -0
  70. package/dist/components/close-button/close-button.svelte +17 -0
  71. package/dist/components/close-button/close-button.svelte.d.ts +4 -0
  72. package/dist/components/close-button/index.d.ts +1 -0
  73. package/dist/components/close-button/index.js +1 -0
  74. package/dist/components/collection/collection.svelte +77 -0
  75. package/dist/components/collection/collection.svelte.d.ts +47 -0
  76. package/dist/components/collection/index.d.ts +1 -0
  77. package/dist/components/collection/index.js +1 -0
  78. package/dist/components/description/description.svelte +16 -0
  79. package/dist/components/description/description.svelte.d.ts +6 -0
  80. package/dist/components/description/index.d.ts +1 -0
  81. package/dist/components/description/index.js +1 -0
  82. package/dist/components/empty-state/empty-state.svelte +16 -0
  83. package/dist/components/empty-state/empty-state.svelte.d.ts +6 -0
  84. package/dist/components/empty-state/index.d.ts +1 -0
  85. package/dist/components/empty-state/index.js +1 -0
  86. package/dist/components/field-error/field-error.svelte +29 -0
  87. package/dist/components/field-error/field-error.svelte.d.ts +8 -0
  88. package/dist/components/field-error/index.d.ts +1 -0
  89. package/dist/components/field-error/index.js +1 -0
  90. package/dist/components/fieldset/fieldset-actions.svelte +16 -0
  91. package/dist/components/fieldset/fieldset-actions.svelte.d.ts +5 -0
  92. package/dist/components/fieldset/fieldset-group.svelte +16 -0
  93. package/dist/components/fieldset/fieldset-group.svelte.d.ts +5 -0
  94. package/dist/components/fieldset/fieldset-legend.svelte +16 -0
  95. package/dist/components/fieldset/fieldset-legend.svelte.d.ts +5 -0
  96. package/dist/components/fieldset/fieldset.svelte +16 -0
  97. package/dist/components/fieldset/fieldset.svelte.d.ts +5 -0
  98. package/dist/components/fieldset/index.d.ts +4 -0
  99. package/dist/components/fieldset/index.js +4 -0
  100. package/dist/components/filter/filter-not-found.svelte +11 -0
  101. package/dist/components/filter/filter-not-found.svelte.d.ts +5 -0
  102. package/dist/components/filter/filter-provider.svelte +22 -0
  103. package/dist/components/filter/filter-provider.svelte.d.ts +9 -0
  104. package/dist/components/filter/index.d.ts +3 -0
  105. package/dist/components/filter/index.js +3 -0
  106. package/dist/components/filter/index.svelte.d.ts +17 -0
  107. package/dist/components/filter/index.svelte.js +52 -0
  108. package/dist/components/header/header.svelte +16 -0
  109. package/dist/components/header/header.svelte.d.ts +6 -0
  110. package/dist/components/header/index.d.ts +1 -0
  111. package/dist/components/header/index.js +1 -0
  112. package/dist/components/input/index.d.ts +2 -0
  113. package/dist/components/input/index.js +2 -0
  114. package/dist/components/input/index.svelte.d.ts +32 -0
  115. package/dist/components/input/index.svelte.js +48 -0
  116. package/dist/components/input/input.svelte +66 -0
  117. package/dist/components/input/input.svelte.d.ts +8 -0
  118. package/dist/components/input-group/index.d.ts +5 -0
  119. package/dist/components/input-group/index.js +5 -0
  120. package/dist/components/input-group/input-group-input.svelte +32 -0
  121. package/dist/components/input-group/input-group-input.svelte.d.ts +11 -0
  122. package/dist/components/input-group/input-group-prefix.svelte +24 -0
  123. package/dist/components/input-group/input-group-prefix.svelte.d.ts +5 -0
  124. package/dist/components/input-group/input-group-suffix.svelte +24 -0
  125. package/dist/components/input-group/input-group-suffix.svelte.d.ts +5 -0
  126. package/dist/components/input-group/input-group-textarea.svelte +32 -0
  127. package/dist/components/input-group/input-group-textarea.svelte.d.ts +8 -0
  128. package/dist/components/input-group/input-group.svelte +63 -0
  129. package/dist/components/input-group/input-group.svelte.d.ts +9 -0
  130. package/dist/components/label/index.d.ts +1 -0
  131. package/dist/components/label/index.js +1 -0
  132. package/dist/components/label/label.svelte +25 -0
  133. package/dist/components/label/label.svelte.d.ts +9 -0
  134. package/dist/components/list-box/index.d.ts +5 -0
  135. package/dist/components/list-box/index.js +5 -0
  136. package/dist/components/list-box/index.svelte.d.ts +17 -0
  137. package/dist/components/list-box/index.svelte.js +25 -0
  138. package/dist/components/list-box/list-box-item-indicator.svelte +37 -0
  139. package/dist/components/list-box/list-box-item-indicator.svelte.d.ts +4 -0
  140. package/dist/components/list-box/list-box-item.svelte +83 -0
  141. package/dist/components/list-box/list-box-item.svelte.d.ts +9 -0
  142. package/dist/components/list-box/list-box-section.svelte +13 -0
  143. package/dist/components/list-box/list-box-section.svelte.d.ts +4 -0
  144. package/dist/components/list-box/list-box.svelte +39 -0
  145. package/dist/components/list-box/list-box.svelte.d.ts +8 -0
  146. package/dist/components/modal/index.d.ts +14 -0
  147. package/dist/components/modal/index.js +14 -0
  148. package/dist/components/modal/index.svelte.d.ts +15 -0
  149. package/dist/components/modal/index.svelte.js +16 -0
  150. package/dist/components/modal/modal-backdrop.svelte +28 -0
  151. package/dist/components/modal/modal-backdrop.svelte.d.ts +5 -0
  152. package/dist/components/modal/modal-body.svelte +16 -0
  153. package/dist/components/modal/modal-body.svelte.d.ts +4 -0
  154. package/dist/components/modal/modal-close-trigger.svelte +35 -0
  155. package/dist/components/modal/modal-close-trigger.svelte.d.ts +4 -0
  156. package/dist/components/modal/modal-container.svelte +34 -0
  157. package/dist/components/modal/modal-container.svelte.d.ts +4 -0
  158. package/dist/components/modal/modal-content-template.svelte +19 -0
  159. package/dist/components/modal/modal-content-template.svelte.d.ts +3 -0
  160. package/dist/components/modal/modal-content.svelte +30 -0
  161. package/dist/components/modal/modal-content.svelte.d.ts +4 -0
  162. package/dist/components/modal/modal-dialog.svelte +17 -0
  163. package/dist/components/modal/modal-dialog.svelte.d.ts +4 -0
  164. package/dist/components/modal/modal-footer.svelte +16 -0
  165. package/dist/components/modal/modal-footer.svelte.d.ts +4 -0
  166. package/dist/components/modal/modal-header.svelte +18 -0
  167. package/dist/components/modal/modal-header.svelte.d.ts +4 -0
  168. package/dist/components/modal/modal-heading.svelte +18 -0
  169. package/dist/components/modal/modal-heading.svelte.d.ts +4 -0
  170. package/dist/components/modal/modal-icon.svelte +18 -0
  171. package/dist/components/modal/modal-icon.svelte.d.ts +4 -0
  172. package/dist/components/modal/modal-trigger.svelte +23 -0
  173. package/dist/components/modal/modal-trigger.svelte.d.ts +8 -0
  174. package/dist/components/modal/modal.svelte +21 -0
  175. package/dist/components/modal/modal.svelte.d.ts +6 -0
  176. package/dist/components/pagination/index.d.ts +11 -0
  177. package/dist/components/pagination/index.js +11 -0
  178. package/dist/components/pagination/index.svelte.d.ts +26 -0
  179. package/dist/components/pagination/index.svelte.js +59 -0
  180. package/dist/components/pagination/pagination-content.svelte +17 -0
  181. package/dist/components/pagination/pagination-content.svelte.d.ts +4 -0
  182. package/dist/components/pagination/pagination-ellipsis.svelte +18 -0
  183. package/dist/components/pagination/pagination-ellipsis.svelte.d.ts +4 -0
  184. package/dist/components/pagination/pagination-item.svelte +24 -0
  185. package/dist/components/pagination/pagination-item.svelte.d.ts +9 -0
  186. package/dist/components/pagination/pagination-link.svelte +26 -0
  187. package/dist/components/pagination/pagination-link.svelte.d.ts +7 -0
  188. package/dist/components/pagination/pagination-next-icon.svelte +10 -0
  189. package/dist/components/pagination/pagination-next-icon.svelte.d.ts +4 -0
  190. package/dist/components/pagination/pagination-next.svelte +23 -0
  191. package/dist/components/pagination/pagination-next.svelte.d.ts +4 -0
  192. package/dist/components/pagination/pagination-previous-icon.svelte +10 -0
  193. package/dist/components/pagination/pagination-previous-icon.svelte.d.ts +4 -0
  194. package/dist/components/pagination/pagination-previous.svelte +23 -0
  195. package/dist/components/pagination/pagination-previous.svelte.d.ts +4 -0
  196. package/dist/components/pagination/pagination-summary.svelte +23 -0
  197. package/dist/components/pagination/pagination-summary.svelte.d.ts +9 -0
  198. package/dist/components/pagination/pagination.svelte +40 -0
  199. package/dist/components/pagination/pagination.svelte.d.ts +8 -0
  200. package/dist/components/popover/index.d.ts +7 -0
  201. package/dist/components/popover/index.js +7 -0
  202. package/dist/components/popover/index.svelte.d.ts +23 -0
  203. package/dist/components/popover/index.svelte.js +51 -0
  204. package/dist/components/popover/popover-arrow.svelte +42 -0
  205. package/dist/components/popover/popover-arrow.svelte.d.ts +4 -0
  206. package/dist/components/popover/popover-content.svelte +31 -0
  207. package/dist/components/popover/popover-content.svelte.d.ts +5 -0
  208. package/dist/components/popover/popover-dialog.svelte +13 -0
  209. package/dist/components/popover/popover-dialog.svelte.d.ts +4 -0
  210. package/dist/components/popover/popover-heading.svelte +15 -0
  211. package/dist/components/popover/popover-heading.svelte.d.ts +4 -0
  212. package/dist/components/popover/popover-trigger.svelte +17 -0
  213. package/dist/components/popover/popover-trigger.svelte.d.ts +9 -0
  214. package/dist/components/popover/popover.svelte +33 -0
  215. package/dist/components/popover/popover.svelte.d.ts +11 -0
  216. package/dist/components/search-input/index.d.ts +1 -0
  217. package/dist/components/search-input/index.js +1 -0
  218. package/dist/components/search-input/search-input.svelte +92 -0
  219. package/dist/components/search-input/search-input.svelte.d.ts +9 -0
  220. package/dist/components/separator/index.d.ts +1 -0
  221. package/dist/components/separator/index.js +1 -0
  222. package/dist/components/separator/separator.svelte +9 -0
  223. package/dist/components/separator/separator.svelte.d.ts +6 -0
  224. package/dist/components/spinner/index.d.ts +1 -0
  225. package/dist/components/spinner/index.js +1 -0
  226. package/dist/components/spinner/spinner.svelte +59 -0
  227. package/dist/components/spinner/spinner.svelte.d.ts +9 -0
  228. package/dist/components/surface/index.d.ts +1 -0
  229. package/dist/components/surface/index.js +1 -0
  230. package/dist/components/surface/surface.svelte +15 -0
  231. package/dist/components/surface/surface.svelte.d.ts +6 -0
  232. package/dist/components/table/index.d.ts +11 -0
  233. package/dist/components/table/index.js +11 -0
  234. package/dist/components/table/index.svelte.d.ts +10 -0
  235. package/dist/components/table/index.svelte.js +13 -0
  236. package/dist/components/table/table-body.svelte +20 -0
  237. package/dist/components/table/table-body.svelte.d.ts +5 -0
  238. package/dist/components/table/table-cell.svelte +21 -0
  239. package/dist/components/table/table-cell.svelte.d.ts +4 -0
  240. package/dist/components/table/table-column.svelte +22 -0
  241. package/dist/components/table/table-column.svelte.d.ts +6 -0
  242. package/dist/components/table/table-content.svelte +21 -0
  243. package/dist/components/table/table-content.svelte.d.ts +6 -0
  244. package/dist/components/table/table-empty-state.svelte +13 -0
  245. package/dist/components/table/table-empty-state.svelte.d.ts +26 -0
  246. package/dist/components/table/table-footer.svelte +21 -0
  247. package/dist/components/table/table-footer.svelte.d.ts +5 -0
  248. package/dist/components/table/table-header.svelte +23 -0
  249. package/dist/components/table/table-header.svelte.d.ts +6 -0
  250. package/dist/components/table/table-row.svelte +26 -0
  251. package/dist/components/table/table-row.svelte.d.ts +8 -0
  252. package/dist/components/table/table-scroll-container.svelte +20 -0
  253. package/dist/components/table/table-scroll-container.svelte.d.ts +6 -0
  254. package/dist/components/table/table.svelte +18 -0
  255. package/dist/components/table/table.svelte.d.ts +8 -0
  256. package/dist/components/text-field/index.d.ts +1 -0
  257. package/dist/components/text-field/index.js +1 -0
  258. package/dist/components/text-field/text-field.svelte +60 -0
  259. package/dist/components/text-field/text-field.svelte.d.ts +9 -0
  260. package/dist/components/textarea/index.d.ts +1 -0
  261. package/dist/components/textarea/index.js +1 -0
  262. package/dist/components/textarea/textarea.svelte +27 -0
  263. package/dist/components/textarea/textarea.svelte.d.ts +8 -0
  264. package/dist/icons/arrow-icon.svelte +14 -0
  265. package/dist/icons/arrow-icon.svelte.d.ts +4 -0
  266. package/dist/icons/checkmark-icon.svelte +23 -0
  267. package/dist/icons/checkmark-icon.svelte.d.ts +7 -0
  268. package/dist/icons/chevron-down-icon.svelte +22 -0
  269. package/dist/icons/chevron-down-icon.svelte.d.ts +4 -0
  270. package/dist/icons/chevron-left-icon.svelte +22 -0
  271. package/dist/icons/chevron-left-icon.svelte.d.ts +4 -0
  272. package/dist/icons/chevron-right-icon.svelte +22 -0
  273. package/dist/icons/chevron-right-icon.svelte.d.ts +4 -0
  274. package/dist/icons/close-icon.svelte +22 -0
  275. package/dist/icons/close-icon.svelte.d.ts +4 -0
  276. package/dist/icons/dot-icon.svelte +21 -0
  277. package/dist/icons/dot-icon.svelte.d.ts +4 -0
  278. package/dist/icons/index.d.ts +8 -0
  279. package/dist/icons/index.js +8 -0
  280. package/dist/icons/search-icon.svelte +22 -0
  281. package/dist/icons/search-icon.svelte.d.ts +4 -0
  282. package/dist/index.d.ts +29 -0
  283. package/dist/index.js +29 -0
  284. package/package.json +70 -5
@@ -0,0 +1,47 @@
1
+ import type { Snippet } from "svelte";
2
+ import { type Fn, type MaybePromise } from "svelte-utils";
3
+ import type { Attachment } from "svelte/attachments";
4
+ declare function $$render<T>(): {
5
+ props: {
6
+ items: T[];
7
+ key?: (item: T) => string;
8
+ loadMore?: Fn<MaybePromise<T[]>, [{
9
+ offset: number;
10
+ }]>;
11
+ child: Snippet<[{
12
+ item: T;
13
+ isLast: boolean;
14
+ loadMore: Fn;
15
+ loadingMore: boolean;
16
+ index: number;
17
+ key: string;
18
+ }]>;
19
+ sentinel?: Snippet<[{
20
+ attach: Attachment<HTMLElement>;
21
+ loadingMore: boolean;
22
+ loadMore: Fn;
23
+ }]>;
24
+ empty?: Snippet;
25
+ };
26
+ exports: {};
27
+ bindings: "items";
28
+ slots: {};
29
+ events: {};
30
+ };
31
+ declare class __sveltets_Render<T> {
32
+ props(): ReturnType<typeof $$render<T>>['props'];
33
+ events(): ReturnType<typeof $$render<T>>['events'];
34
+ slots(): ReturnType<typeof $$render<T>>['slots'];
35
+ bindings(): "items";
36
+ exports(): {};
37
+ }
38
+ interface $$IsomorphicComponent {
39
+ new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
40
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
41
+ } & ReturnType<__sveltets_Render<T>['exports']>;
42
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
43
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
44
+ }
45
+ declare const Collection: $$IsomorphicComponent;
46
+ type Collection<T> = InstanceType<typeof Collection<T>>;
47
+ export default Collection;
@@ -0,0 +1 @@
1
+ export { default as Collection } from "./collection.svelte";
@@ -0,0 +1 @@
1
+ export { default as Collection } from "./collection.svelte";
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import { descriptionVariants } from "@heroui/styles";
4
+
5
+ interface Props extends HTMLAttributes<HTMLParagraphElement> {}
6
+
7
+ const { ...props }: Props = $props();
8
+ </script>
9
+
10
+ <p
11
+ {...props}
12
+ data-slot="description"
13
+ class={descriptionVariants({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </p>
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ interface Props extends HTMLAttributes<HTMLParagraphElement> {
3
+ }
4
+ declare const Description: import("svelte").Component<Props, {}, "">;
5
+ type Description = ReturnType<typeof Description>;
6
+ export default Description;
@@ -0,0 +1 @@
1
+ export { default as Description } from "./description.svelte";
@@ -0,0 +1 @@
1
+ export { default as Description } from "./description.svelte";
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import { emptyStateVariants } from "@heroui/styles";
4
+
5
+ interface Props extends HTMLAttributes<HTMLElement> {}
6
+
7
+ const { ...props }: Props = $props();
8
+ </script>
9
+
10
+ <div
11
+ {...props}
12
+ data-slot="empty-state"
13
+ class={emptyStateVariants({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </div>
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ interface Props extends HTMLAttributes<HTMLElement> {
3
+ }
4
+ declare const EmptyState: import("svelte").Component<Props, {}, "">;
5
+ type EmptyState = ReturnType<typeof EmptyState>;
6
+ export default EmptyState;
@@ -0,0 +1 @@
1
+ export { default as EmptyState } from "./empty-state.svelte";
@@ -0,0 +1 @@
1
+ export { default as EmptyState } from "./empty-state.svelte";
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import { fieldErrorVariants } from "@heroui/styles";
4
+ import { InputContext } from "../../index.js";
5
+
6
+ type Props = HTMLAttributes<HTMLDivElement>;
7
+
8
+ const {
9
+ visible,
10
+ ...props
11
+ }: Props & {
12
+ visible?: boolean;
13
+ } = $props();
14
+ const input = InputContext.getOr([() => ({})]);
15
+ const show = $derived(visible ?? input.opts.invalid);
16
+ </script>
17
+
18
+ <div
19
+ {...props}
20
+ {...show
21
+ ? {
22
+ "data-visible": true,
23
+ }
24
+ : {}}
25
+ data-slot="field-error"
26
+ class={fieldErrorVariants({ class: ["duration-0", props.class?.toString()] })}
27
+ >
28
+ {@render props.children?.()}
29
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type Props = HTMLAttributes<HTMLDivElement>;
3
+ type $$ComponentProps = Props & {
4
+ visible?: boolean;
5
+ };
6
+ declare const FieldError: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type FieldError = ReturnType<typeof FieldError>;
8
+ export default FieldError;
@@ -0,0 +1 @@
1
+ export { default as FieldError } from "./field-error.svelte";
@@ -0,0 +1 @@
1
+ export { default as FieldError } from "./field-error.svelte";
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { fieldsetVariants } from "@heroui/styles";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAttributes<HTMLDivElement>;
6
+
7
+ const props: Props = $props();
8
+ </script>
9
+
10
+ <div
11
+ {...props}
12
+ data-slot="fieldset-actions"
13
+ class={fieldsetVariants().actions({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </div>
@@ -0,0 +1,5 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type Props = HTMLAttributes<HTMLDivElement>;
3
+ declare const FieldsetActions: import("svelte").Component<Props, {}, "">;
4
+ type FieldsetActions = ReturnType<typeof FieldsetActions>;
5
+ export default FieldsetActions;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { fieldsetVariants } from "@heroui/styles";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAttributes<HTMLDivElement>;
6
+
7
+ const props: Props = $props();
8
+ </script>
9
+
10
+ <div
11
+ {...props}
12
+ data-slot="fieldset-field-group"
13
+ class={fieldsetVariants().fieldGroup({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </div>
@@ -0,0 +1,5 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type Props = HTMLAttributes<HTMLDivElement>;
3
+ declare const FieldsetGroup: import("svelte").Component<Props, {}, "">;
4
+ type FieldsetGroup = ReturnType<typeof FieldsetGroup>;
5
+ export default FieldsetGroup;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { fieldsetVariants } from "@heroui/styles";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAttributes<HTMLElement>;
6
+
7
+ const props: Props = $props();
8
+ </script>
9
+
10
+ <legend
11
+ {...props}
12
+ data-slot="fieldset-legend"
13
+ class={fieldsetVariants().legend({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </legend>
@@ -0,0 +1,5 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type Props = HTMLAttributes<HTMLElement>;
3
+ declare const FieldsetLegend: import("svelte").Component<Props, {}, "">;
4
+ type FieldsetLegend = ReturnType<typeof FieldsetLegend>;
5
+ export default FieldsetLegend;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { fieldsetVariants } from "@heroui/styles";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAttributes<HTMLFieldSetElement>;
6
+
7
+ const props: Props = $props();
8
+ </script>
9
+
10
+ <fieldset
11
+ {...props}
12
+ data-slot="fieldset"
13
+ class={fieldsetVariants().base({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </fieldset>
@@ -0,0 +1,5 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type Props = HTMLAttributes<HTMLFieldSetElement>;
3
+ declare const Fieldset: import("svelte").Component<Props, {}, "">;
4
+ type Fieldset = ReturnType<typeof Fieldset>;
5
+ export default Fieldset;
@@ -0,0 +1,4 @@
1
+ export { default as FieldsetActions } from "./fieldset-actions.svelte";
2
+ export { default as FieldsetGroup } from "./fieldset-group.svelte";
3
+ export { default as FieldsetLegend } from "./fieldset-legend.svelte";
4
+ export { default as Fieldset } from "./fieldset.svelte";
@@ -0,0 +1,4 @@
1
+ export { default as FieldsetActions } from "./fieldset-actions.svelte";
2
+ export { default as FieldsetGroup } from "./fieldset-group.svelte";
3
+ export { default as FieldsetLegend } from "./fieldset-legend.svelte";
4
+ export { default as Fieldset } from "./fieldset.svelte";
@@ -0,0 +1,11 @@
1
+ <script lang="ts">
2
+ import { FilterContext } from "./index.svelte";
3
+
4
+ const ctx = FilterContext.get();
5
+
6
+ const { children } = $props();
7
+ </script>
8
+
9
+ {#if ctx.visible === 0 && ctx.total > 0}
10
+ {@render children?.()}
11
+ {/if}
@@ -0,0 +1,5 @@
1
+ declare const FilterNotFound: import("svelte").Component<{
2
+ children: any;
3
+ }, {}, "">;
4
+ type FilterNotFound = ReturnType<typeof FilterNotFound>;
5
+ export default FilterNotFound;
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+ import { FilterContext, type FilterOpts } from "./index.svelte";
4
+ import { box } from "svelte-utils";
5
+
6
+ type Props = {
7
+ children?: Snippet;
8
+ query?: string;
9
+ } & FilterOpts;
10
+
11
+ let { children, query = $bindable(""), ...props }: Props = $props();
12
+
13
+ new FilterContext(
14
+ () => props,
15
+ box(
16
+ () => query,
17
+ (v) => (query = v),
18
+ ),
19
+ );
20
+ </script>
21
+
22
+ {@render children?.()}
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from "svelte";
2
+ import { type FilterOpts } from "./index.svelte";
3
+ type Props = {
4
+ children?: Snippet;
5
+ query?: string;
6
+ } & FilterOpts;
7
+ declare const FilterProvider: import("svelte").Component<Props, {}, "query">;
8
+ type FilterProvider = ReturnType<typeof FilterProvider>;
9
+ export default FilterProvider;
@@ -0,0 +1,3 @@
1
+ export { default as FilterProvider } from "./filter-provider.svelte";
2
+ export { default as FilterNotFound } from "./filter-not-found.svelte";
3
+ export * from "./index.svelte";
@@ -0,0 +1,3 @@
1
+ export { default as FilterProvider } from "./filter-provider.svelte";
2
+ export { default as FilterNotFound } from "./filter-not-found.svelte";
3
+ export * from "./index.svelte";
@@ -0,0 +1,17 @@
1
+ import { Context, type Box, type Fn, type Getter } from "svelte-utils";
2
+ export type FilterOpts = {
3
+ caseSensitive?: boolean;
4
+ filter?: Fn<boolean, [string, string]>;
5
+ };
6
+ export declare class FilterContext extends Context {
7
+ #private;
8
+ get query(): string;
9
+ set query(value: string);
10
+ get total(): number;
11
+ get visible(): number;
12
+ register: (item: string) => () => void;
13
+ matches: (text: string) => boolean;
14
+ filter: (query: string, text: string) => boolean;
15
+ constructor(opts: Getter<FilterOpts>, query?: Box<string>);
16
+ sync(box: Box<string>): void;
17
+ }
@@ -0,0 +1,52 @@
1
+ import { untrack } from "svelte";
2
+ import { box, Context } from "svelte-utils";
3
+ export class FilterContext extends Context {
4
+ #opts;
5
+ #query;
6
+ get query() { return this.#query.current; }
7
+ set query(value) { this.#query.current = value; }
8
+ #items = $state([]);
9
+ get total() { return this.#items.length; }
10
+ get visible() { return this.#items.filter(this.matches).length; }
11
+ register = (item) => {
12
+ return untrack(() => {
13
+ this.#items.push(item);
14
+ return () => {
15
+ this.#items.splice(this.#items.indexOf(item), 1);
16
+ };
17
+ });
18
+ };
19
+ matches = (text) => {
20
+ const q = this.#opts.caseSensitive ? this.query : this.query.toLowerCase();
21
+ const t = this.#opts.caseSensitive ? text : text.toLowerCase();
22
+ return this.filter(q, t);
23
+ };
24
+ filter = (query, text) => {
25
+ if (this.#opts.filter)
26
+ return this.#opts.filter(query, text);
27
+ return text.includes(query);
28
+ };
29
+ constructor(opts, query = box("")) {
30
+ super();
31
+ this.#opts = $derived.by(opts);
32
+ this.#query = query;
33
+ }
34
+ sync(box) {
35
+ $effect(() => {
36
+ box.current;
37
+ untrack(() => {
38
+ if (box.current === this.query)
39
+ return;
40
+ this.query = box.current;
41
+ });
42
+ });
43
+ $effect(() => {
44
+ this.query;
45
+ untrack(() => {
46
+ if (box.current === this.query)
47
+ return;
48
+ box.current = this.query;
49
+ });
50
+ });
51
+ }
52
+ }
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import { headerVariants } from "@heroui/styles";
4
+
5
+ interface Props extends HTMLAttributes<HTMLElement> {}
6
+
7
+ const { ...props }: Props = $props();
8
+ </script>
9
+
10
+ <header
11
+ {...props}
12
+ data-slot="label"
13
+ class={headerVariants({ class: props.class?.toString() })}
14
+ >
15
+ {@render props.children?.()}
16
+ </header>
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ interface Props extends HTMLAttributes<HTMLElement> {
3
+ }
4
+ declare const Header: import("svelte").Component<Props, {}, "">;
5
+ type Header = ReturnType<typeof Header>;
6
+ export default Header;
@@ -0,0 +1 @@
1
+ export { default as Header } from "./header.svelte";
@@ -0,0 +1 @@
1
+ export { default as Header } from "./header.svelte";
@@ -0,0 +1,2 @@
1
+ export { default as Input } from "./input.svelte";
2
+ export * from "./index.svelte";
@@ -0,0 +1,2 @@
1
+ export { default as Input } from "./input.svelte";
2
+ export * from "./index.svelte";
@@ -0,0 +1,32 @@
1
+ import type { InputVariants } from "@heroui/styles";
2
+ import { Context, type Box, type Getter } from "svelte-utils";
3
+ export type InputValue = string | number | undefined;
4
+ export type InputOpts = InputVariants & {
5
+ disabled?: boolean;
6
+ required?: boolean;
7
+ invalid?: boolean;
8
+ name?: string;
9
+ indeterminate?: boolean;
10
+ };
11
+ export declare class InputContext extends Context {
12
+ #private;
13
+ readonly opts: InputOpts;
14
+ get value(): string | number | undefined;
15
+ set value(value: string | number | undefined);
16
+ get checked(): boolean;
17
+ set checked(checked: boolean);
18
+ constructor(opts: Getter<InputOpts>, value?: Box<InputValue>, checked?: Box<boolean>);
19
+ get props(): {
20
+ indeterminate: boolean | undefined;
21
+ disabled: boolean | undefined;
22
+ required: boolean | undefined;
23
+ "data-invalid": boolean | undefined;
24
+ "data-empty": boolean;
25
+ name: string | undefined;
26
+ };
27
+ get heroui(): {
28
+ variant: "primary" | "secondary" | undefined;
29
+ fullWidth: boolean | undefined;
30
+ };
31
+ get empty(): boolean;
32
+ }
@@ -0,0 +1,48 @@
1
+ import { box, boxLink, coalesce, Context } from "svelte-utils";
2
+ export class InputContext extends Context {
3
+ opts;
4
+ #value;
5
+ #checked;
6
+ get value() {
7
+ return this.#value.current;
8
+ }
9
+ set value(value) {
10
+ this.#value.current = value;
11
+ }
12
+ get checked() {
13
+ return this.#checked.current;
14
+ }
15
+ set checked(checked) {
16
+ this.#checked.current = checked;
17
+ }
18
+ constructor(opts, value = box(""), checked = box(false)) {
19
+ const parent = InputContext.getOr();
20
+ super();
21
+ this.opts = $derived.by(() => coalesce(parent?.opts, opts()));
22
+ this.#value = value;
23
+ this.#checked = checked;
24
+ if (!parent)
25
+ return;
26
+ boxLink(parent.#value, value);
27
+ boxLink(parent.#checked, checked);
28
+ }
29
+ get props() {
30
+ return {
31
+ indeterminate: this.opts.indeterminate,
32
+ disabled: this.opts.disabled,
33
+ required: this.opts.required,
34
+ "data-invalid": this.opts.invalid,
35
+ "data-empty": this.empty,
36
+ name: this.opts.name,
37
+ };
38
+ }
39
+ get heroui() {
40
+ return {
41
+ variant: this.opts.variant,
42
+ fullWidth: this.opts.fullWidth,
43
+ };
44
+ }
45
+ get empty() {
46
+ return this.value === undefined || this.value === "";
47
+ }
48
+ }
@@ -0,0 +1,66 @@
1
+ <script lang="ts">
2
+ import { inputVariants } from "@heroui/styles";
3
+ import type { HTMLInputAttributes } from "svelte/elements";
4
+ import { type InputOpts, InputContext } from "../../index.js";
5
+ import { box } from "svelte-utils";
6
+
7
+ type Props = {
8
+ headless?: boolean;
9
+ } & InputOpts &
10
+ HTMLInputAttributes;
11
+
12
+ let {
13
+ value = $bindable(),
14
+ checked = $bindable(),
15
+ invalid = $bindable(),
16
+ fullWidth,
17
+ variant,
18
+ disabled,
19
+ required,
20
+ name,
21
+ headless,
22
+ indeterminate,
23
+ ...props
24
+ }: Props = $props();
25
+
26
+ const input = new InputContext(
27
+ () => ({
28
+ disabled,
29
+ fullWidth,
30
+ indeterminate,
31
+ invalid,
32
+ name,
33
+ required,
34
+ variant,
35
+ }),
36
+ box(
37
+ () => value,
38
+ (v) => (value = v),
39
+ ),
40
+ box(
41
+ () => !!checked,
42
+ (v) => (checked = v),
43
+ ),
44
+ );
45
+
46
+ const className = $derived.by(() => {
47
+ if (headless) return props.class;
48
+
49
+ return inputVariants({
50
+ ...input.heroui,
51
+ class: props.class?.toString(),
52
+ });
53
+ });
54
+
55
+ const mergedProps = $derived({
56
+ ...props,
57
+ ...input.props,
58
+ class: className,
59
+ });
60
+ </script>
61
+
62
+ {#if props.type === "checkbox"}
63
+ <input {...mergedProps} bind:checked={input.checked} type="checkbox" />
64
+ {:else}
65
+ <input {...mergedProps} bind:value={input.value} />
66
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { HTMLInputAttributes } from "svelte/elements";
2
+ import { type InputOpts } from "../../index.js";
3
+ type Props = {
4
+ headless?: boolean;
5
+ } & InputOpts & HTMLInputAttributes;
6
+ declare const Input: import("svelte").Component<Props, {}, "invalid" | "checked" | "value">;
7
+ type Input = ReturnType<typeof Input>;
8
+ export default Input;
@@ -0,0 +1,5 @@
1
+ export { default as InputGroupInput } from "./input-group-input.svelte";
2
+ export { default as InputGroupTextarea } from "./input-group-textarea.svelte";
3
+ export { default as InputGroupPrefix } from "./input-group-prefix.svelte";
4
+ export { default as InputGroupSuffix } from "./input-group-suffix.svelte";
5
+ export { default as InputGroup } from "./input-group.svelte";
@@ -0,0 +1,5 @@
1
+ export { default as InputGroupInput } from "./input-group-input.svelte";
2
+ export { default as InputGroupTextarea } from "./input-group-textarea.svelte";
3
+ export { default as InputGroupPrefix } from "./input-group-prefix.svelte";
4
+ export { default as InputGroupSuffix } from "./input-group-suffix.svelte";
5
+ export { default as InputGroup } from "./input-group.svelte";
@@ -0,0 +1,32 @@
1
+ <script lang="ts">
2
+ import { inputGroupVariants } from "@heroui/styles";
3
+ import type { ComponentProps } from "svelte";
4
+ import { Input, InputContext } from "../../index.js";
5
+ import { box } from "svelte-utils";
6
+
7
+ let {
8
+ value = $bindable(),
9
+ checked = $bindable(),
10
+ ...props
11
+ }: ComponentProps<typeof Input> = $props();
12
+
13
+ const input = new InputContext(
14
+ () => props,
15
+ box(
16
+ () => value,
17
+ (v) => (value = v),
18
+ ),
19
+ box(
20
+ () => !!checked,
21
+ (v) => (checked = v),
22
+ ),
23
+ );
24
+
25
+ const className = $derived(
26
+ inputGroupVariants(input.heroui).input({
27
+ class: props.class?.toString(),
28
+ }),
29
+ );
30
+ </script>
31
+
32
+ <Input {...props} headless data-slot="input-group-input" class={className} />