@foxui/social 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 (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/components/blog-entry/BlogEntry.svelte +80 -0
  4. package/dist/components/blog-entry/BlogEntry.svelte.d.ts +14 -0
  5. package/dist/components/blog-entry/index.d.ts +1 -0
  6. package/dist/components/blog-entry/index.js +1 -0
  7. package/dist/components/bluesky-login/BlueskyLogin.svelte +23 -0
  8. package/dist/components/bluesky-login/BlueskyLogin.svelte.d.ts +4 -0
  9. package/dist/components/bluesky-login/BlueskyLoginModal.svelte +141 -0
  10. package/dist/components/bluesky-login/BlueskyLoginModal.svelte.d.ts +9 -0
  11. package/dist/components/bluesky-login/index.d.ts +8 -0
  12. package/dist/components/bluesky-login/index.js +3 -0
  13. package/dist/components/bluesky-post/BlueskyPost.svelte +36 -0
  14. package/dist/components/bluesky-post/BlueskyPost.svelte.d.ts +10 -0
  15. package/dist/components/bluesky-post/index.d.ts +5 -0
  16. package/dist/components/bluesky-post/index.js +110 -0
  17. package/dist/components/chat/Chat.svelte +0 -0
  18. package/dist/components/chat/Chat.svelte.d.ts +26 -0
  19. package/dist/components/chat/ChatMessage.svelte +0 -0
  20. package/dist/components/chat/ChatMessage.svelte.d.ts +26 -0
  21. package/dist/components/chat/index.d.ts +1 -0
  22. package/dist/components/chat/index.js +1 -0
  23. package/dist/components/emoji-picker/EmojiPicker.svelte +91 -0
  24. package/dist/components/emoji-picker/EmojiPicker.svelte.d.ts +11 -0
  25. package/dist/components/emoji-picker/PopoverEmojiPicker.svelte +24 -0
  26. package/dist/components/emoji-picker/PopoverEmojiPicker.svelte.d.ts +11 -0
  27. package/dist/components/emoji-picker/emoji.d.ts +7 -0
  28. package/dist/components/emoji-picker/emoji.js +56 -0
  29. package/dist/components/emoji-picker/index.d.ts +2 -0
  30. package/dist/components/emoji-picker/index.js +2 -0
  31. package/dist/components/github-corner/GithubCorner.svelte +62 -0
  32. package/dist/components/github-corner/GithubCorner.svelte.d.ts +4 -0
  33. package/dist/components/github-corner/index.d.ts +1 -0
  34. package/dist/components/github-corner/index.js +1 -0
  35. package/dist/components/index.d.ts +12 -0
  36. package/dist/components/index.js +20 -0
  37. package/dist/components/nested-comments/Comment.svelte +151 -0
  38. package/dist/components/nested-comments/Comment.svelte.d.ts +9 -0
  39. package/dist/components/nested-comments/NestedComments.svelte +14 -0
  40. package/dist/components/nested-comments/NestedComments.svelte.d.ts +7 -0
  41. package/dist/components/nested-comments/index.d.ts +1 -0
  42. package/dist/components/nested-comments/index.js +1 -0
  43. package/dist/components/post/Post.svelte +294 -0
  44. package/dist/components/post/Post.svelte.d.ts +23 -0
  45. package/dist/components/post/PostAction.svelte +27 -0
  46. package/dist/components/post/PostAction.svelte.d.ts +9 -0
  47. package/dist/components/post/embeds/Embed.svelte +24 -0
  48. package/dist/components/post/embeds/Embed.svelte.d.ts +7 -0
  49. package/dist/components/post/embeds/External.svelte +39 -0
  50. package/dist/components/post/embeds/External.svelte.d.ts +7 -0
  51. package/dist/components/post/embeds/Images.svelte +38 -0
  52. package/dist/components/post/embeds/Images.svelte.d.ts +7 -0
  53. package/dist/components/post/embeds/Video.svelte +45 -0
  54. package/dist/components/post/embeds/Video.svelte.d.ts +7 -0
  55. package/dist/components/post/index.d.ts +63 -0
  56. package/dist/components/post/index.js +1 -0
  57. package/dist/components/social-icons/All.svelte +47 -0
  58. package/dist/components/social-icons/All.svelte.d.ts +12 -0
  59. package/dist/components/social-icons/Bluesky.svelte +37 -0
  60. package/dist/components/social-icons/Bluesky.svelte.d.ts +8 -0
  61. package/dist/components/social-icons/Discord.svelte +37 -0
  62. package/dist/components/social-icons/Discord.svelte.d.ts +8 -0
  63. package/dist/components/social-icons/Facebook.svelte +37 -0
  64. package/dist/components/social-icons/Facebook.svelte.d.ts +8 -0
  65. package/dist/components/social-icons/Github.svelte +38 -0
  66. package/dist/components/social-icons/Github.svelte.d.ts +8 -0
  67. package/dist/components/social-icons/Twitter.svelte +37 -0
  68. package/dist/components/social-icons/Twitter.svelte.d.ts +8 -0
  69. package/dist/components/social-icons/Youtube.svelte +36 -0
  70. package/dist/components/social-icons/Youtube.svelte.d.ts +8 -0
  71. package/dist/components/social-icons/index.d.ts +7 -0
  72. package/dist/components/social-icons/index.js +8 -0
  73. package/dist/components/star-rating/StarRating.svelte +104 -0
  74. package/dist/components/star-rating/StarRating.svelte.d.ts +13 -0
  75. package/dist/components/star-rating/index.d.ts +1 -0
  76. package/dist/components/star-rating/index.js +1 -0
  77. package/dist/components/swiper-cards/CardSwiper.svelte +235 -0
  78. package/dist/components/swiper-cards/CardSwiper.svelte.d.ts +18 -0
  79. package/dist/components/swiper-cards/index.d.ts +14 -0
  80. package/dist/components/swiper-cards/index.js +1 -0
  81. package/dist/components/user-profile/UserProfile.svelte +60 -0
  82. package/dist/components/user-profile/UserProfile.svelte.d.ts +13 -0
  83. package/dist/components/user-profile/index.d.ts +1 -0
  84. package/dist/components/user-profile/index.js +1 -0
  85. package/dist/index.d.ts +1 -0
  86. package/dist/index.js +1 -0
  87. package/dist/types.d.ts +1 -0
  88. package/package.json +79 -0
@@ -0,0 +1,18 @@
1
+ import { type Snippet } from 'svelte';
2
+ import type { CardData, Direction, SwipeEventData } from '.';
3
+ type $$ComponentProps = {
4
+ card?: Snippet<[CardData]>;
5
+ cardData: (index: number) => CardData;
6
+ onswipe?: (cardInfo: SwipeEventData) => void;
7
+ swipe?: (direction: Direction) => void;
8
+ minSwipeDistance?: number;
9
+ minSwipeVelocity?: number;
10
+ arrowKeys?: boolean;
11
+ thresholdPassed?: number;
12
+ anchor?: number | null;
13
+ rotate?: boolean;
14
+ cardCount?: number;
15
+ };
16
+ declare const CardSwiper: import("svelte").Component<$$ComponentProps, {}, "swipe" | "thresholdPassed">;
17
+ type CardSwiper = ReturnType<typeof CardSwiper>;
18
+ export default CardSwiper;
@@ -0,0 +1,14 @@
1
+ export type CardData = {
2
+ title?: string;
3
+ description?: string;
4
+ image?: string;
5
+ [key: string]: unknown;
6
+ };
7
+ export type SwipeEventData = {
8
+ direction: Direction;
9
+ data: CardData;
10
+ index: number;
11
+ element: HTMLElement;
12
+ };
13
+ export type Direction = 'left' | 'right';
14
+ export { default as CardSwiper } from './CardSwiper.svelte';
@@ -0,0 +1 @@
1
+ export { default as CardSwiper } from './CardSwiper.svelte';
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ import { Avatar, Button, cn } from '@foxui/core';
3
+
4
+ let { profile, class: className }: { profile: {
5
+ banner?: string;
6
+ avatar?: string;
7
+ displayName?: string;
8
+ handle?: string;
9
+ description?: string;
10
+ }, class: string; } = $props();
11
+ </script>
12
+
13
+ {#if profile}
14
+ <div class={cn("mx-auto max-w-full sm:max-w-2xl sm:py-6", className)}>
15
+ <div>
16
+ {#if profile.banner}
17
+ <img
18
+ class="aspect-[3/1] w-full border-b border-base-800 object-cover sm:rounded-xl sm:border"
19
+ src={profile.banner}
20
+ alt=""
21
+ />
22
+ {:else}
23
+ <div class="aspect-[8/1] w-full"></div>
24
+ {/if}
25
+ </div>
26
+ <div
27
+ class={cn(
28
+ profile.banner ? '-mt-11' : '-mt-8',
29
+ 'flex max-w-full items-end space-x-5 px-4 sm:-mt-16 sm:px-6 lg:px-8'
30
+ )}
31
+ >
32
+ <Avatar src={profile.avatar} class="border-base-50 dark:border-base-950 border-2 size-24 sm:size-32" />
33
+ <div
34
+ class="flex min-w-0 flex-1 flex-row sm:flex-row sm:items-center sm:justify-end sm:space-x-6 sm:pb-1"
35
+ >
36
+ <div
37
+ class={cn(
38
+ profile.banner ? 'mt-4 sm:mt-0' : '-mt-[4.5rem] sm:-mt-[6.5rem]',
39
+ 'flex min-w-0 max-w-full flex-1 flex-col items-baseline'
40
+ )}
41
+ >
42
+ <h1
43
+ class="max-w-full truncate text-lg font-bold text-base-900 dark:text-base-100 sm:text-xl"
44
+ >
45
+ {profile.displayName || profile.handle}
46
+ </h1>
47
+ <div class="truncate text-xs text-base-900 dark:text-base-400 sm:text-sm">
48
+ {profile.handle}
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <!-- <Button>Follow</Button> -->
54
+ </div>
55
+
56
+ <div class="px-4 sm:px-6 lg:px-8 py-4 text-xs sm:text-sm text-base-800 dark:text-base-200">
57
+ {@html profile.description?.replaceAll('\n', '<br/>')}
58
+ </div>
59
+ </div>
60
+ {/if}
@@ -0,0 +1,13 @@
1
+ type $$ComponentProps = {
2
+ profile: {
3
+ banner?: string;
4
+ avatar?: string;
5
+ displayName?: string;
6
+ handle?: string;
7
+ description?: string;
8
+ };
9
+ class: string;
10
+ };
11
+ declare const UserProfile: import("svelte").Component<$$ComponentProps, {}, "">;
12
+ type UserProfile = ReturnType<typeof UserProfile>;
13
+ export default UserProfile;
@@ -0,0 +1 @@
1
+ export { default as UserProfile } from './UserProfile.svelte';
@@ -0,0 +1 @@
1
+ export { default as UserProfile } from './UserProfile.svelte';
@@ -0,0 +1 @@
1
+ export * from './components';
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1 @@
1
+ export * from './index';
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@foxui/social",
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/adapter-static": "^3.0.8",
25
+ "@sveltejs/kit": "^2.16.0",
26
+ "@sveltejs/package": "^2.3.11",
27
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
28
+ "@tailwindcss/forms": "^0.5.9",
29
+ "@tailwindcss/typography": "^0.5.15",
30
+ "@tailwindcss/vite": "^4.1.5",
31
+ "eslint": "^9.18.0",
32
+ "eslint-config-prettier": "^10.0.1",
33
+ "eslint-plugin-svelte": "^3.0.0",
34
+ "globals": "^16.0.0",
35
+ "prettier": "^3.4.2",
36
+ "prettier-plugin-svelte": "^3.3.3",
37
+ "prettier-plugin-tailwindcss": "^0.6.11",
38
+ "svelte": "^5.0.0",
39
+ "svelte-check": "^4.0.0",
40
+ "tailwindcss": "^4.1.5",
41
+ "typescript": "^5.0.0",
42
+ "typescript-eslint": "^8.20.0",
43
+ "vite": "^6.2.6"
44
+ },
45
+ "dependencies": {
46
+ "@atproto/api": "^0.15.5",
47
+ "@use-gesture/vanilla": "^10.3.1",
48
+ "bits-ui": "^1.4.3",
49
+ "emoji-picker-element": "^1.26.3",
50
+ "hls.js": "^1.6.2",
51
+ "is-emoji-supported": "^0.0.5",
52
+ "plyr": "^3.7.8",
53
+ "@foxui/core": "0.4.0",
54
+ "@foxui/time": "0.4.0"
55
+ },
56
+ "peerDependencies": {
57
+ "svelte": ">=5",
58
+ "tailwindcss": ">=3"
59
+ },
60
+ "description": "ui kit - svelte 5 + tailwind 4 - social components",
61
+ "homepage": "https://flo-bit.dev/ui-kit",
62
+ "repository": {
63
+ "type": "git",
64
+ "url": "git+https://github.com/flo-bit/ui-kit.git"
65
+ },
66
+ "author": "flo-bit (http://flo-bit.dev/)",
67
+ "bugs": "https://github.com/flo-bit/ui-kit/issues",
68
+ "license": "MIT",
69
+ "scripts": {
70
+ "dev": "vite dev",
71
+ "build": "vite build && npm run prepack",
72
+ "build:package": "vite build && npm run prepack",
73
+ "preview": "vite preview",
74
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
75
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
76
+ "format": "prettier --write .",
77
+ "lint": "prettier --check . && eslint ."
78
+ }
79
+ }