[READ-ONLY] Mirror of https://github.com/flo-bit/ui-kit. 🦊 fox ui, svelte 5 and tailwind 4 flo-bit.dev/ui-kit/
svelte tailwindcss ui-components
0

Configure Feed

Select the types of activity you want to include in your feed.

add link card

Florian (Oct 23, 2025, 3:57 AM +0200) 53bab4ca 9b0dd152

+217 -33
+5
.changeset/rotten-lights-hug.md
··· 1 + --- 2 + '@foxui/social': patch 3 + --- 4 + 5 + add linkcard
+5
.changeset/spotty-geckos-add.md
··· 1 + --- 2 + '@foxui/core': patch 3 + --- 4 + 5 + minor fixes
+6
apps/docs/src/lib/site-components/components_social.ts
··· 6 6 import CardStarRating from '$lib/cards/social/CardStarRating.svelte'; 7 7 import CardEmojiPicker from '$lib/cards/social/CardEmojiPicker.svelte'; 8 8 import CardSocialPost from '$lib/cards/social/CardSocialPost.svelte'; 9 + import CardLinkCard from '$lib/cards/social/CardLinkCard.svelte'; 9 10 10 11 export const socialComponents: ComponentCard[] = [ 11 12 { ··· 42 43 component: CardSocialPost, 43 44 label: 'Social Media Post', 44 45 href: 'post' 46 + }, 47 + { 48 + component: CardLinkCard, 49 + label: 'Link Card', 50 + href: 'link-card' 45 51 } 46 52 ].sort((a, b) => a.label.localeCompare(b.label));
+1
packages/social/src/lib/components/index.ts
··· 9 9 export * from './emoji-picker'; 10 10 export * from './bluesky-post'; 11 11 export * from './nested-comments'; 12 + export * from './link-card'; 12 13 13 14 export function numberToHumanReadable(number: number) { 14 15 if (number < 1000) {
+29 -30
apps/docs/src/lib/cards/social/CardBlueskyLogin.svelte
··· 2 2 import { Subheading, Label, Input, Button } from '@foxui/all'; 3 3 </script> 4 4 5 - <div class="flex items-start flex-col"> 6 - <Subheading class="mb-1 inline-flex items-center gap-2 text-xl font-bold"> 7 - <svg 8 - fill="currentColor" 9 - xmlns="http://www.w3.org/2000/svg" 10 - viewBox="-40 -40 680 620" 11 - version="1.1" 12 - class={['text-accent-600 dark:text-accent-400 size-6']} 13 - aria-hidden="true" 5 + <div class="flex flex-col items-start"> 6 + <Subheading class="mb-1 inline-flex items-center gap-2 text-xl font-bold"> 7 + <svg 8 + fill="currentColor" 9 + xmlns="http://www.w3.org/2000/svg" 10 + viewBox="-40 -40 680 620" 11 + version="1.1" 12 + class={['text-accent-600 dark:text-accent-400 size-6']} 13 + aria-hidden="true" 14 + > 15 + <path 16 + d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z" 17 + /> 18 + </svg> 19 + Login with Bluesky</Subheading 14 20 > 15 - <path 16 - d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z" 17 - /> 18 - </svg> 19 - Login with Bluesky</Subheading 20 - > 21 21 22 - <div class="mt-2 w-full"> 23 - <Label for="bluesky-handle" class="text-sm">Your handle</Label> 24 - <div class="mt-2"> 25 - <Input 26 - sizeVariant="sm" 27 - type="text" 28 - name="bluesky-handle" 29 - id="bluesky-handle" 30 - placeholder="yourname.bsky.social" 31 - class="w-full" 32 - /> 22 + <div class="mt-2 w-full"> 23 + <Label for="bluesky-handle" class="text-sm">Your handle</Label> 24 + <div class="mt-2"> 25 + <Input 26 + sizeVariant="sm" 27 + type="text" 28 + name="bluesky-handle" 29 + id="bluesky-handle" 30 + placeholder="yourname.bsky.social" 31 + class="w-full" 32 + /> 33 + </div> 33 34 </div> 35 + 36 + <Button type="submit" size="sm" class="ml-auto mt-2 w-full md:w-auto">{'Login'}</Button> 34 37 </div> 35 - 36 - <Button type="submit" size="sm" class="ml-auto mt-2 w-full md:w-auto">{'Login'}</Button> 37 - 38 - </div>
+14
apps/docs/src/lib/cards/social/CardLinkCard.svelte
··· 1 + <script> 2 + import { LinkCard } from '@foxui/all'; 3 + </script> 4 + 5 + <div class="flex h-full w-full items-center justify-center"> 6 + <div class="scale-85 w-full"> 7 + <LinkCard 8 + meta={{ 9 + title: "hi, i'm florian", 10 + image: 'https://flo-bit.dev/og.jpg' 11 + }} 12 + /> 13 + </div> 14 + </div>
+2 -3
packages/core/src/lib/components/button/Button.svelte
··· 65 65 WithElementRef<HTMLAnchorAttributes> & { 66 66 variant?: ButtonVariant; 67 67 size?: ButtonSize; 68 - checkCurrent?: boolean; 69 68 }; 70 69 </script> 71 70 ··· 85 84 {#if href} 86 85 <a 87 86 bind:this={ref} 88 - class={cn('rounded-box', buttonVariants({ variant, size }), className)} 87 + class={cn(buttonVariants({ variant, size }), className)} 89 88 {href} 90 89 {...restProps} 91 90 > ··· 94 93 {:else} 95 94 <button 96 95 bind:this={ref} 97 - class={cn('rounded-box', buttonVariants({ variant, size }), className)} 96 + class={cn(buttonVariants({ variant, size }), className)} 98 97 {type} 99 98 {...restProps} 100 99 >