@foxui/core 0.4.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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/dist/components/accordion/accordion-content.svelte +22 -0
  4. package/dist/components/accordion/accordion-content.svelte.d.ts +4 -0
  5. package/dist/components/accordion/accordion-item.svelte +35 -0
  6. package/dist/components/accordion/accordion-item.svelte.d.ts +9 -0
  7. package/dist/components/accordion/accordion-trigger.svelte +40 -0
  8. package/dist/components/accordion/accordion-trigger.svelte.d.ts +7 -0
  9. package/dist/components/accordion/index.d.ts +6 -0
  10. package/dist/components/accordion/index.js +6 -0
  11. package/dist/components/alert/alert-description.svelte +16 -0
  12. package/dist/components/alert/alert-description.svelte.d.ts +5 -0
  13. package/dist/components/alert/alert-title.svelte +25 -0
  14. package/dist/components/alert/alert-title.svelte.d.ts +8 -0
  15. package/dist/components/alert/alert.svelte +122 -0
  16. package/dist/components/alert/alert.svelte.d.ts +79 -0
  17. package/dist/components/alert/index.d.ts +5 -0
  18. package/dist/components/alert/index.js +5 -0
  19. package/dist/components/avatar/Avatar.svelte +73 -0
  20. package/dist/components/avatar/Avatar.svelte.d.ts +14 -0
  21. package/dist/components/avatar/AvatarGroup.svelte +43 -0
  22. package/dist/components/avatar/AvatarGroup.svelte.d.ts +16 -0
  23. package/dist/components/avatar/index.d.ts +3 -0
  24. package/dist/components/avatar/index.js +3 -0
  25. package/dist/components/badge/Badge.svelte +80 -0
  26. package/dist/components/badge/Badge.svelte.d.ts +100 -0
  27. package/dist/components/badge/index.d.ts +1 -0
  28. package/dist/components/badge/index.js +1 -0
  29. package/dist/components/box/Box.svelte +23 -0
  30. package/dist/components/box/Box.svelte.d.ts +5 -0
  31. package/dist/components/box/index.d.ts +1 -0
  32. package/dist/components/box/index.js +1 -0
  33. package/dist/components/button/Button.svelte +103 -0
  34. package/dist/components/button/Button.svelte.d.ts +110 -0
  35. package/dist/components/button/index.d.ts +1 -0
  36. package/dist/components/button/index.js +1 -0
  37. package/dist/components/card/ImageCard.svelte +62 -0
  38. package/dist/components/card/ImageCard.svelte.d.ts +12 -0
  39. package/dist/components/card/index.d.ts +1 -0
  40. package/dist/components/card/index.js +1 -0
  41. package/dist/components/chat-bubble/ChatBubble.svelte +96 -0
  42. package/dist/components/chat-bubble/ChatBubble.svelte.d.ts +95 -0
  43. package/dist/components/chat-bubble/index.d.ts +1 -0
  44. package/dist/components/chat-bubble/index.js +1 -0
  45. package/dist/components/checkbox/checkbox.svelte +91 -0
  46. package/dist/components/checkbox/checkbox.svelte.d.ts +42 -0
  47. package/dist/components/checkbox/index.d.ts +1 -0
  48. package/dist/components/checkbox/index.js +1 -0
  49. package/dist/components/copy-code-button/AddCopyCodeButtons.svelte +35 -0
  50. package/dist/components/copy-code-button/AddCopyCodeButtons.svelte.d.ts +6 -0
  51. package/dist/components/copy-code-button/CopyCodeButton.svelte +69 -0
  52. package/dist/components/copy-code-button/CopyCodeButton.svelte.d.ts +7 -0
  53. package/dist/components/copy-code-button/index.d.ts +2 -0
  54. package/dist/components/copy-code-button/index.js +2 -0
  55. package/dist/components/head/Head.svelte +49 -0
  56. package/dist/components/head/Head.svelte.d.ts +10 -0
  57. package/dist/components/head/index.d.ts +1 -0
  58. package/dist/components/head/index.js +1 -0
  59. package/dist/components/heading/Heading.svelte +24 -0
  60. package/dist/components/heading/Heading.svelte.d.ts +8 -0
  61. package/dist/components/heading/Subheading.svelte +24 -0
  62. package/dist/components/heading/Subheading.svelte.d.ts +8 -0
  63. package/dist/components/heading/index.d.ts +3 -0
  64. package/dist/components/heading/index.js +3 -0
  65. package/dist/components/image/Image.svelte +80 -0
  66. package/dist/components/image/Image.svelte.d.ts +12 -0
  67. package/dist/components/image/index.d.ts +2 -0
  68. package/dist/components/image/index.js +1 -0
  69. package/dist/components/image-container/ImageContainer.svelte +15 -0
  70. package/dist/components/image-container/ImageContainer.svelte.d.ts +4 -0
  71. package/dist/components/image-container/index.d.ts +1 -0
  72. package/dist/components/image-container/index.js +1 -0
  73. package/dist/components/index.d.ts +34 -0
  74. package/dist/components/index.js +34 -0
  75. package/dist/components/input/Input.svelte +60 -0
  76. package/dist/components/input/Input.svelte.d.ts +46 -0
  77. package/dist/components/input/index.d.ts +2 -0
  78. package/dist/components/input/index.js +2 -0
  79. package/dist/components/label/Label.svelte +19 -0
  80. package/dist/components/label/Label.svelte.d.ts +4 -0
  81. package/dist/components/label/index.d.ts +1 -0
  82. package/dist/components/label/index.js +1 -0
  83. package/dist/components/modal/Modal.svelte +167 -0
  84. package/dist/components/modal/Modal.svelte.d.ts +33 -0
  85. package/dist/components/modal/index.d.ts +2 -0
  86. package/dist/components/modal/index.js +1 -0
  87. package/dist/components/navbar/Navbar.svelte +63 -0
  88. package/dist/components/navbar/Navbar.svelte.d.ts +8 -0
  89. package/dist/components/navbar/index.d.ts +1 -0
  90. package/dist/components/navbar/index.js +1 -0
  91. package/dist/components/number-input/NumberInput.svelte +201 -0
  92. package/dist/components/number-input/NumberInput.svelte.d.ts +98 -0
  93. package/dist/components/number-input/index.d.ts +2 -0
  94. package/dist/components/number-input/index.js +1 -0
  95. package/dist/components/paragraph/Paragraph.svelte +20 -0
  96. package/dist/components/paragraph/Paragraph.svelte.d.ts +5 -0
  97. package/dist/components/paragraph/index.d.ts +2 -0
  98. package/dist/components/paragraph/index.js +2 -0
  99. package/dist/components/popover/Popover.svelte +63 -0
  100. package/dist/components/popover/Popover.svelte.d.ts +14 -0
  101. package/dist/components/popover/index.d.ts +8 -0
  102. package/dist/components/popover/index.js +7 -0
  103. package/dist/components/popover/popover-content.svelte +28 -0
  104. package/dist/components/popover/popover-content.svelte.d.ts +7 -0
  105. package/dist/components/prose/Prose.svelte +107 -0
  106. package/dist/components/prose/Prose.svelte.d.ts +35 -0
  107. package/dist/components/prose/ProseCopyButton.svelte +12 -0
  108. package/dist/components/prose/ProseCopyButton.svelte.d.ts +8 -0
  109. package/dist/components/prose/index.d.ts +4 -0
  110. package/dist/components/prose/index.js +2 -0
  111. package/dist/components/scroll-area/BodyScrollArea.svelte +3 -0
  112. package/dist/components/scroll-area/BodyScrollArea.svelte.d.ts +19 -0
  113. package/dist/components/scroll-area/ScrollArea.svelte +71 -0
  114. package/dist/components/scroll-area/ScrollArea.svelte.d.ts +8 -0
  115. package/dist/components/scroll-area/index.d.ts +1 -0
  116. package/dist/components/scroll-area/index.js +1 -0
  117. package/dist/components/scroll-area/style.css +41 -0
  118. package/dist/components/select/Select.svelte +88 -0
  119. package/dist/components/select/Select.svelte.d.ts +13 -0
  120. package/dist/components/select/SelectChildren.svelte +29 -0
  121. package/dist/components/select/SelectChildren.svelte.d.ts +8 -0
  122. package/dist/components/select/SelectItem.svelte +31 -0
  123. package/dist/components/select/SelectItem.svelte.d.ts +4 -0
  124. package/dist/components/select/index.d.ts +3 -0
  125. package/dist/components/select/index.js +3 -0
  126. package/dist/components/select-2/Select.svelte +46 -0
  127. package/dist/components/select-2/Select.svelte.d.ts +12 -0
  128. package/dist/components/select-2/index.d.ts +1 -0
  129. package/dist/components/select-2/index.js +1 -0
  130. package/dist/components/sidebar/Sidebar.svelte +69 -0
  131. package/dist/components/sidebar/Sidebar.svelte.d.ts +9 -0
  132. package/dist/components/sidebar/index.d.ts +1 -0
  133. package/dist/components/sidebar/index.js +1 -0
  134. package/dist/components/slider/Slider.svelte +65 -0
  135. package/dist/components/slider/Slider.svelte.d.ts +4 -0
  136. package/dist/components/slider/SliderNumber.svelte +40 -0
  137. package/dist/components/slider/SliderNumber.svelte.d.ts +4 -0
  138. package/dist/components/slider/index.d.ts +3 -0
  139. package/dist/components/slider/index.js +3 -0
  140. package/dist/components/sonner/Toaster.svelte +73 -0
  141. package/dist/components/sonner/Toaster.svelte.d.ts +10 -0
  142. package/dist/components/sonner/index.d.ts +2 -0
  143. package/dist/components/sonner/index.js +2 -0
  144. package/dist/components/switch/index.d.ts +2 -0
  145. package/dist/components/switch/index.js +2 -0
  146. package/dist/components/switch/switch.svelte +27 -0
  147. package/dist/components/switch/switch.svelte.d.ts +4 -0
  148. package/dist/components/tabs/TabItem.svelte +56 -0
  149. package/dist/components/tabs/TabItem.svelte.d.ts +9 -0
  150. package/dist/components/tabs/Tabs.svelte +29 -0
  151. package/dist/components/tabs/Tabs.svelte.d.ts +12 -0
  152. package/dist/components/tabs/index.d.ts +2 -0
  153. package/dist/components/tabs/index.js +2 -0
  154. package/dist/components/textarea/index.d.ts +19 -0
  155. package/dist/components/textarea/index.js +2 -0
  156. package/dist/components/textarea/textarea.svelte +57 -0
  157. package/dist/components/textarea/textarea.svelte.d.ts +47 -0
  158. package/dist/components/theme-toggle/ThemeToggle.svelte +105 -0
  159. package/dist/components/theme-toggle/ThemeToggle.svelte.d.ts +7 -0
  160. package/dist/components/theme-toggle/index.d.ts +2 -0
  161. package/dist/components/theme-toggle/index.js +2 -0
  162. package/dist/components/toggle/index.d.ts +3 -0
  163. package/dist/components/toggle/index.js +3 -0
  164. package/dist/components/toggle/toggle.svelte +49 -0
  165. package/dist/components/toggle/toggle.svelte.d.ts +40 -0
  166. package/dist/components/toggle-group/index.d.ts +3 -0
  167. package/dist/components/toggle-group/index.js +3 -0
  168. package/dist/components/toggle-group/toggle-group-item.svelte +30 -0
  169. package/dist/components/toggle-group/toggle-group-item.svelte.d.ts +6 -0
  170. package/dist/components/toggle-group/toggle-group.svelte +41 -0
  171. package/dist/components/toggle-group/toggle-group.svelte.d.ts +8 -0
  172. package/dist/components/tooltip/index.d.ts +7 -0
  173. package/dist/components/tooltip/index.js +9 -0
  174. package/dist/components/tooltip/tooltip-content.svelte +21 -0
  175. package/dist/components/tooltip/tooltip-content.svelte.d.ts +4 -0
  176. package/dist/components/tooltip/tooltip.svelte +62 -0
  177. package/dist/components/tooltip/tooltip.svelte.d.ts +12 -0
  178. package/dist/index.d.ts +2 -0
  179. package/dist/index.js +3 -0
  180. package/dist/types.d.ts +1 -0
  181. package/dist/utils.d.ts +2 -0
  182. package/dist/utils.js +5 -0
  183. package/package.json +82 -0
@@ -0,0 +1,6 @@
1
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
2
+ import { type ToggleVariants } from "../toggle/";
3
+ type $$ComponentProps = ToggleGroupPrimitive.ItemProps & ToggleVariants;
4
+ declare const ToggleGroupItem: import("svelte").Component<$$ComponentProps, {}, "ref" | "value">;
5
+ type ToggleGroupItem = ReturnType<typeof ToggleGroupItem>;
6
+ export default ToggleGroupItem;
@@ -0,0 +1,41 @@
1
+ <script lang="ts" module>
2
+ import { getContext, setContext } from "svelte";
3
+ import type { ToggleVariants } from "../toggle/";
4
+ export function setToggleGroupCtx(props: ToggleVariants) {
5
+ setContext("toggleGroup", props);
6
+ }
7
+
8
+ export function getToggleGroupCtx() {
9
+ return getContext<ToggleVariants>("toggleGroup");
10
+ }
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
15
+ import { cn } from "../../utils";
16
+
17
+ let {
18
+ ref = $bindable(null),
19
+ value = $bindable(),
20
+ class: className,
21
+ size = "default",
22
+ variant = "default",
23
+ ...restProps
24
+ }: ToggleGroupPrimitive.RootProps & ToggleVariants = $props();
25
+
26
+ setToggleGroupCtx({
27
+ variant,
28
+ size,
29
+ });
30
+ </script>
31
+
32
+ <!--
33
+ Discriminated Unions + Destructing (required for bindable) do not
34
+ get along, so we shut typescript up by casting `value` to `never`.
35
+ -->
36
+ <ToggleGroupPrimitive.Root
37
+ bind:value={value as never}
38
+ bind:ref
39
+ class={cn("flex items-center justify-center gap-1", className)}
40
+ {...restProps}
41
+ />
@@ -0,0 +1,8 @@
1
+ import type { ToggleVariants } from "../toggle/";
2
+ export declare function setToggleGroupCtx(props: ToggleVariants): void;
3
+ export declare function getToggleGroupCtx(): ToggleVariants;
4
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
5
+ type $$ComponentProps = ToggleGroupPrimitive.RootProps & ToggleVariants;
6
+ declare const ToggleGroup: import("svelte").Component<$$ComponentProps, {}, "ref" | "value">;
7
+ type ToggleGroup = ReturnType<typeof ToggleGroup>;
8
+ export default ToggleGroup;
@@ -0,0 +1,7 @@
1
+ import { Tooltip as TooltipPrimitive } from 'bits-ui';
2
+ import Content from './tooltip-content.svelte';
3
+ import Tooltip from './tooltip.svelte';
4
+ declare const Root: import("svelte").Component<TooltipPrimitive.RootProps, {}, "open">;
5
+ declare const Trigger: import("svelte").Component<TooltipPrimitive.TriggerProps, {}, "ref">;
6
+ declare const Provider: import("svelte").Component<TooltipPrimitive.ProviderProps, {}, "">;
7
+ export { Root as TooltipRoot, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Tooltip };
@@ -0,0 +1,9 @@
1
+ import { Tooltip as TooltipPrimitive } from 'bits-ui';
2
+ import Content from './tooltip-content.svelte';
3
+ import Tooltip from './tooltip.svelte';
4
+ const Root = TooltipPrimitive.Root;
5
+ const Trigger = TooltipPrimitive.Trigger;
6
+ const Provider = TooltipPrimitive.Provider;
7
+ export { Root as TooltipRoot, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider,
8
+ //
9
+ Tooltip };
@@ -0,0 +1,21 @@
1
+ <script lang="ts">
2
+ import { Tooltip as TooltipPrimitive } from 'bits-ui';
3
+ import { cn } from '../../utils';
4
+
5
+ let {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ sideOffset = 4,
9
+ ...restProps
10
+ }: TooltipPrimitive.ContentProps = $props();
11
+ </script>
12
+
13
+ <TooltipPrimitive.Content
14
+ bind:ref
15
+ {sideOffset}
16
+ class={cn(
17
+ 'border-base-200 bg-base-100 text-base-900 motion-safe:animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-base-800 dark:bg-base-900 dark:text-base-50 z-50 overflow-hidden rounded-2xl border px-3 py-1.5 text-sm',
18
+ className
19
+ )}
20
+ {...restProps}
21
+ />
@@ -0,0 +1,4 @@
1
+ import { Tooltip as TooltipPrimitive } from 'bits-ui';
2
+ declare const TooltipContent: import("svelte").Component<TooltipPrimitive.ContentProps, {}, "ref">;
3
+ type TooltipContent = ReturnType<typeof TooltipContent>;
4
+ export default TooltipContent;
@@ -0,0 +1,62 @@
1
+ <script lang="ts">
2
+ import { Tooltip } from 'bits-ui';
3
+ import { type Snippet } from 'svelte';
4
+ import { TooltipContent } from '.';
5
+
6
+ type Props = Tooltip.RootProps & {
7
+ withContext?: boolean;
8
+
9
+ triggerProps?: Tooltip.TriggerProps;
10
+
11
+ contentProps?: Tooltip.ContentProps;
12
+
13
+ content?: Snippet;
14
+ text?: string;
15
+ } & Tooltip.TriggerProps;
16
+
17
+ let {
18
+ open = $bindable(false),
19
+ child: myChild,
20
+
21
+ withContext = false,
22
+
23
+ triggerProps = {},
24
+
25
+ content,
26
+ contentProps = {},
27
+ text,
28
+ ...restProps
29
+ }: Props = $props();
30
+ </script>
31
+
32
+ {#snippet root()}
33
+ <Tooltip.Root bind:open {...restProps}>
34
+ <Tooltip.Trigger {...triggerProps}>
35
+ {#snippet child({ props })}
36
+ {@render myChild?.({ props })}
37
+ {/snippet}
38
+ </Tooltip.Trigger>
39
+
40
+ <Tooltip.Portal>
41
+ <TooltipContent
42
+ sideOffset={contentProps.sideOffset ?? 6}
43
+ side={contentProps.side ?? 'top'}
44
+ class={contentProps.class}
45
+ >
46
+ {#if content}
47
+ {@render content()}
48
+ {:else}
49
+ {text}
50
+ {/if}
51
+ </TooltipContent>
52
+ </Tooltip.Portal>
53
+ </Tooltip.Root>
54
+ {/snippet}
55
+
56
+ {#if withContext}
57
+ <Tooltip.Provider>
58
+ {@render root()}
59
+ </Tooltip.Provider>
60
+ {:else}
61
+ {@render root()}
62
+ {/if}
@@ -0,0 +1,12 @@
1
+ import { Tooltip } from 'bits-ui';
2
+ import { type Snippet } from 'svelte';
3
+ type Props = Tooltip.RootProps & {
4
+ withContext?: boolean;
5
+ triggerProps?: Tooltip.TriggerProps;
6
+ contentProps?: Tooltip.ContentProps;
7
+ content?: Snippet;
8
+ text?: string;
9
+ } & Tooltip.TriggerProps;
10
+ declare const Tooltip: import("svelte").Component<Props, {}, "open">;
11
+ type Tooltip = ReturnType<typeof Tooltip>;
12
+ export default Tooltip;
@@ -0,0 +1,2 @@
1
+ export { cn } from './utils';
2
+ export * from './components/';
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { cn } from './utils';
2
+ // base components
3
+ export * from './components/';
@@ -0,0 +1 @@
1
+ export * from './index';
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
package/dist/utils.js ADDED
@@ -0,0 +1,5 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "@foxui/core",
3
+ "private": false,
4
+ "version": "0.4.0",
5
+ "type": "module",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "sideEffects": [
10
+ "**/*.css"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/types.d.ts",
15
+ "svelte": "./dist/index.js"
16
+ }
17
+ },
18
+ "types": "./dist/types.d.ts",
19
+ "svelte": "./dist/index.js",
20
+ "devDependencies": {
21
+ "@eslint/compat": "^1.2.5",
22
+ "@eslint/js": "^9.18.0",
23
+ "@sveltejs/adapter-auto": "^6.0.0",
24
+ "@sveltejs/kit": "^2.16.0",
25
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
26
+ "@tailwindcss/forms": "^0.5.9",
27
+ "@tailwindcss/typography": "^0.5.15",
28
+ "@tailwindcss/vite": "^4.1.5",
29
+ "eslint": "^9.18.0",
30
+ "eslint-config-prettier": "^10.0.1",
31
+ "eslint-plugin-svelte": "^3.0.0",
32
+ "globals": "^16.0.0",
33
+ "prettier": "^3.4.2",
34
+ "prettier-plugin-svelte": "^3.3.3",
35
+ "prettier-plugin-tailwindcss": "^0.6.11",
36
+ "svelte": "^5.0.0",
37
+ "svelte-check": "^4.0.0",
38
+ "tailwindcss": "^4.1.5",
39
+ "typescript": "^5.0.0",
40
+ "typescript-eslint": "^8.20.0",
41
+ "vite": "^6.2.6",
42
+ "@sveltejs/adapter-static": "^3.0.8",
43
+ "@sveltejs/package": "^2.3.11"
44
+ },
45
+ "dependencies": {
46
+ "@number-flow/svelte": "^0.3.7",
47
+ "bits-ui": "^1.4.3",
48
+ "clsx": "^2.1.1",
49
+ "svelte-sonner": "^0.3.28",
50
+ "tailwind-merge": "^3.2.0",
51
+ "tailwind-variants": "^1.0.0"
52
+ },
53
+ "peerDependencies": {
54
+ "svelte": ">=5",
55
+ "tailwindcss": ">=3"
56
+ },
57
+ "keywords": [
58
+ "svelte",
59
+ "ui-kit",
60
+ "3d",
61
+ "components"
62
+ ],
63
+ "description": "ui kit - svelte 5 + tailwind 4 - base components",
64
+ "homepage": "https://flo-bit.dev/ui-kit",
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/flo-bit/ui-kit.git"
68
+ },
69
+ "author": "flo-bit (http://flo-bit.dev/)",
70
+ "bugs": "https://github.com/flo-bit/ui-kit/issues",
71
+ "license": "MIT",
72
+ "scripts": {
73
+ "dev": "vite dev",
74
+ "build": "vite build && npm run prepack",
75
+ "build:package": "vite build && npm run prepack",
76
+ "preview": "vite preview",
77
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
78
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
79
+ "format": "prettier --write .",
80
+ "lint": "prettier --check . && eslint ."
81
+ }
82
+ }