aural-ui 4.2.5 → 4.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 (30) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +4 -4
  2. package/dist/components/badge/Badge.stories.tsx +3 -3
  3. package/dist/components/button/Button.stories.tsx +288 -366
  4. package/dist/components/button/index.tsx +3 -43
  5. package/dist/components/card/Card.stories.tsx +2 -2
  6. package/dist/components/card/index.tsx +1 -1
  7. package/dist/components/clamp-lines/index.tsx +0 -1
  8. package/dist/components/drawer/index.tsx +1 -1
  9. package/dist/components/hover-card/HoverCard.stories.tsx +7 -7
  10. package/dist/components/marquee/Marquee.stories.tsx +2 -6
  11. package/dist/components/otp-inputs/OtpInputs.stories.tsx +1 -1
  12. package/dist/components/popover/Popover.stories.tsx +1 -1
  13. package/dist/components/slider/index.tsx +1 -6
  14. package/dist/components/table/Table.stories.tsx +4 -4
  15. package/dist/components/toggle/Toggle.stories.tsx +4 -4
  16. package/dist/components/tooltip/index.tsx +1 -2
  17. package/dist/components/typography/Typography.stories.tsx +7 -19
  18. package/dist/components/typography/index.tsx +0 -2
  19. package/dist/fonts/LabGrotesque-Medium.ttf +0 -0
  20. package/dist/icons/all-icons.tsx +9 -7
  21. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +3 -3
  22. package/dist/index.cjs +86 -86
  23. package/dist/index.js +86 -86
  24. package/package.json +4 -4
  25. package/dist/fonts/LabGrotesqueTRIAL-Bold.otf +0 -0
  26. package/dist/fonts/LabGrotesqueTRIAL-Light.otf +0 -0
  27. package/dist/fonts/LabGrotesqueTRIAL-Medium.otf +0 -0
  28. package/dist/fonts/LabGrotesqueTRIAL-Regular.otf +0 -0
  29. package/dist/fonts/PPSupplySans-Regular (1).otf +0 -0
  30. package/dist/fonts/PPSupplySans-Ultralight.otf +0 -0
@@ -80,18 +80,6 @@ export const innerButtonVariants = cva(
80
80
  },
81
81
  },
82
82
  compoundVariants: [
83
- {
84
- variant: "primary",
85
- noise: "low",
86
- className:
87
- "[background-image:var(--button-fm-noise-low),_radial-gradient(ellipse_var(--gradientSizeX)_var(--gradientSizeY)_at_50%_var(--gradientPositionY),_var(--color-fm-primary-600),_var(--color-fm-button-fg-end)),_linear-gradient(_to_top,_color-mix(in_srgb,var(--color-fm-primary-600)_50%,_transparent),_color-mix(in_srgb,var(--color-fm-primary-200)_50%,_transparent))]",
88
- },
89
- {
90
- variant: "primary",
91
- noise: "medium",
92
- className:
93
- "[background-image:var(--button-fm-noise),_radial-gradient(ellipse_var(--gradientSizeX)_var(--gradientSizeY)_at_50%_var(--gradientPositionY),_var(--color-fm-primary-600),_var(--color-fm-button-fg-end)),_linear-gradient(_to_top,_color-mix(in_srgb,var(--color-fm-primary-600)_50%,_transparent),_color-mix(in_srgb,var(--color-fm-primary-200)_50%,_transparent))]",
94
- },
95
83
  {
96
84
  variant: "primary",
97
85
  noise: "strong",
@@ -103,31 +91,6 @@ export const innerButtonVariants = cva(
103
91
  noise: "low",
104
92
  className: "[background-image:var(--button-fm-noise-low)]",
105
93
  },
106
- {
107
- variant: "secondary",
108
- noise: "medium",
109
- className: "[background-image:var(--button-fm-noise)]",
110
- },
111
- {
112
- variant: "secondary",
113
- noise: "strong",
114
- className: "[background-image:var(--button-fm-noise-strong)]",
115
- },
116
- {
117
- variant: "chipActive",
118
- noise: "low",
119
- className: "[background-image:var(--button-fm-noise-low)]",
120
- },
121
- {
122
- variant: "chipActive",
123
- noise: "medium",
124
- className: "[background-image:var(--button-fm-noise)]",
125
- },
126
- {
127
- variant: "chipActive",
128
- noise: "strong",
129
- className: "[background-image:var(--button-fm-noise-strong)]",
130
- },
131
94
  ],
132
95
  defaultVariants: {
133
96
  variant: "primary",
@@ -148,7 +111,6 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
148
111
  isDisabled?: boolean
149
112
  size?: "sm" | "md" | "lg"
150
113
  variant?: "primary" | "secondary" | "outline" | "text" | "chip" | "chipActive"
151
- noise?: "none" | "low" | "medium" | "strong"
152
114
  }
153
115
 
154
116
  export const RawButton = forwardRef<HTMLButtonElement, ButtonProps>(
@@ -156,7 +118,6 @@ export const RawButton = forwardRef<HTMLButtonElement, ButtonProps>(
156
118
  {
157
119
  variant = "primary",
158
120
  size = "md",
159
- noise: noiseProp,
160
121
  children,
161
122
  className = "",
162
123
  innerClassName = "",
@@ -169,12 +130,11 @@ export const RawButton = forwardRef<HTMLButtonElement, ButtonProps>(
169
130
  ref
170
131
  ) => {
171
132
  const noise =
172
- noiseProp ??
173
- (variant === "primary"
174
- ? "medium"
133
+ variant === "primary"
134
+ ? "strong"
175
135
  : variant === "secondary"
176
136
  ? "low"
177
- : "none")
137
+ : "none"
178
138
 
179
139
  const iconColor = isDisabled
180
140
  ? "var(--icon-fm-inactive)"
@@ -443,7 +443,7 @@ export const UseCases: Story = {
443
443
  <div className="mx-auto max-w-md">
444
444
  <Card>
445
445
  <CardHeader>
446
- <CardTitle className="text-fm-primary font-fm-text text-fm-lg leading-fm-lg flex items-center gap-2 font-semibold">
446
+ <CardTitle className="text-fm-primary font-fm-text text-fm-lg leading-fm-lg flex items-center gap-2 font-medium">
447
447
  <MusicalNoteIcon className="text-fm-secondary size-4 shrink-0" />
448
448
  Midnight Dreams
449
449
  </CardTitle>
@@ -503,7 +503,7 @@ export const UseCases: Story = {
503
503
  <Card>
504
504
  <CardHeader className="border-b">
505
505
  <CardTitle className="text-fm-primary font-fm-brand text-fm-xl leading-fm-xl flex items-center gap-3 font-semibold">
506
- <div className="bg-fm-surface-secondary text-fm-primary flex size-10 shrink-0 items-center justify-center rounded-full font-semibold">
506
+ <div className="bg-fm-surface-secondary text-fm-primary flex size-10 shrink-0 items-center justify-center rounded-full font-medium">
507
507
  NC
508
508
  </div>
509
509
  Neon Collective
@@ -31,7 +31,7 @@ function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
31
31
  return (
32
32
  <div
33
33
  data-slot="card-title"
34
- className={cn("leading-none font-semibold", className)}
34
+ className={cn("leading-none font-medium", className)}
35
35
  {...props}
36
36
  />
37
37
  )
@@ -123,7 +123,6 @@ export const ClampLines = ({
123
123
  <Button
124
124
  data-nosnippet
125
125
  variant="text"
126
- noise="none"
127
126
  innerClassName={cn("px-0! h-fit inline", classes.clampLineBtnInnerClass)}
128
127
  className={cn(
129
128
  "text-fm-tertiary ml-1 cursor-pointer underline",
@@ -175,7 +175,7 @@ function DrawerTitle({
175
175
  return (
176
176
  <DrawerPrimitive.Title
177
177
  data-slot="drawer-title"
178
- className={cn("text-fm-primary font-semibold", className)}
178
+ className={cn("text-fm-primary font-medium", className)}
179
179
  {...props}
180
180
  />
181
181
  )
@@ -76,7 +76,7 @@ export const Parts: Story = {
76
76
  </HoverCardTrigger>
77
77
  <HoverCardContent>
78
78
  <div className="space-y-1">
79
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
79
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
80
80
  Aural Artist
81
81
  </p>
82
82
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -106,7 +106,7 @@ export const Parts: Story = {
106
106
  </HoverCardTrigger>
107
107
  <HoverCardContent>
108
108
  <div className="space-y-2">
109
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
109
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
110
110
  Frosted glass panel
111
111
  </p>
112
112
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -255,7 +255,7 @@ export const UseCases: Story = {
255
255
  Midnights ·{" "}
256
256
  <HoverCard openDelay={300} closeDelay={150}>
257
257
  <HoverCardTrigger asChild>
258
- <button className="text-fm-primary cursor-pointer font-semibold underline underline-offset-2 outline-none">
258
+ <button className="text-fm-primary cursor-pointer font-medium underline underline-offset-2 outline-none">
259
259
  Taylor Swift
260
260
  </button>
261
261
  </HoverCardTrigger>
@@ -268,7 +268,7 @@ export const UseCases: Story = {
268
268
  </span>
269
269
  </div>
270
270
  <div className="space-y-0.5">
271
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
271
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
272
272
  Taylor Swift
273
273
  </p>
274
274
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -337,7 +337,7 @@ export const UseCases: Story = {
337
337
  </HoverCardTrigger>
338
338
  <HoverCardContent className="w-64">
339
339
  <div className="space-y-2">
340
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
340
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
341
341
  {album.name}
342
342
  </p>
343
343
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -388,7 +388,7 @@ export const UseCases: Story = {
388
388
  >
389
389
  <HoverCard openDelay={300} closeDelay={200}>
390
390
  <HoverCardTrigger asChild>
391
- <button className="text-fm-primary cursor-pointer font-semibold underline underline-offset-2 outline-none">
391
+ <button className="text-fm-primary cursor-pointer font-medium underline underline-offset-2 outline-none">
392
392
  {handle}
393
393
  </button>
394
394
  </HoverCardTrigger>
@@ -401,7 +401,7 @@ export const UseCases: Story = {
401
401
  </span>
402
402
  </div>
403
403
  <div>
404
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
404
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
405
405
  {name}
406
406
  </p>
407
407
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -77,11 +77,7 @@ function TokenChip({
77
77
  }: {
78
78
  label: string
79
79
  surface:
80
- | "secondary"
81
- | "info-sec"
82
- | "positive-sec"
83
- | "warning-sec"
84
- | "negative-sec"
80
+ "secondary" | "info-sec" | "positive-sec" | "warning-sec" | "negative-sec"
85
81
  }) {
86
82
  const surfaceClass = {
87
83
  secondary: "bg-fm-surface-secondary border-fm-divider-secondary",
@@ -344,7 +340,7 @@ export const UseCases: Story = {
344
340
  Announcements Ticker
345
341
  </h4>
346
342
  <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 overflow-hidden rounded-lg border px-4 py-2">
347
- <div className="bg-fm-surface-negative-sec text-fm-primary text-fm-xs leading-fm-xs shrink-0 rounded px-2 py-0.5 font-semibold tracking-widest uppercase">
343
+ <div className="bg-fm-surface-negative-sec text-fm-primary text-fm-xs leading-fm-xs shrink-0 rounded px-2 py-0.5 font-medium tracking-widest uppercase">
348
344
  Live
349
345
  </div>
350
346
  <Marquee duration="28s" pauseOnHover className="flex-1">
@@ -376,7 +376,7 @@ export const Interactive: Story = {
376
376
  <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-xl border p-6">
377
377
  <div className="space-y-4">
378
378
  <div className="space-y-1">
379
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
379
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
380
380
  Verify your identity
381
381
  </p>
382
382
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -291,7 +291,7 @@ export const Configurations: Story = {
291
291
  <PopoverContent className="w-64 rounded-lg p-4">
292
292
  <div className="flex items-start justify-between gap-3">
293
293
  <div className="space-y-1">
294
- <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-semibold">
294
+ <p className="text-fm-primary font-fm-text text-fm-md leading-fm-md font-medium">
295
295
  Quick note
296
296
  </p>
297
297
  <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
@@ -61,12 +61,7 @@ interface SliderProps extends React.ComponentProps<
61
61
  typeof SliderPrimitive.Root
62
62
  > {
63
63
  variant?:
64
- | "default"
65
- | "primary"
66
- | "secondary"
67
- | "positive"
68
- | "warning"
69
- | "info"
64
+ "default" | "primary" | "secondary" | "positive" | "warning" | "info"
70
65
  size?: "sm" | "md" | "lg"
71
66
  showLabel?: boolean
72
67
  label?: string
@@ -298,8 +298,8 @@ export const Parts: Story = {
298
298
  </TableBody>
299
299
  <TableFooter>
300
300
  <TableRow>
301
- <TableCell className="font-semibold">Total</TableCell>
302
- <TableCell className="text-right font-semibold">2.09M</TableCell>
301
+ <TableCell className="font-medium">Total</TableCell>
302
+ <TableCell className="text-right font-medium">2.09M</TableCell>
303
303
  </TableRow>
304
304
  </TableFooter>
305
305
  </Table>
@@ -846,10 +846,10 @@ export const UseCases: Story = {
846
846
  </TableBody>
847
847
  <TableFooter>
848
848
  <TableRow>
849
- <TableCell colSpan={4} className="font-semibold">
849
+ <TableCell colSpan={4} className="font-medium">
850
850
  4 albums
851
851
  </TableCell>
852
- <TableCell className="font-semibold">
852
+ <TableCell className="font-medium">
853
853
  {albums.reduce((s, a) => s + a.tracks, 0)}
854
854
  </TableCell>
855
855
  <TableCell />
@@ -491,19 +491,19 @@ export const Interactive: Story = {
491
491
  <div className="flex flex-col gap-1">
492
492
  <p className="text-fm-primary font-fm-text text-fm-sm leading-fm-sm">
493
493
  Shuffle:{" "}
494
- <span className="font-semibold">
494
+ <span className="font-medium">
495
495
  {playback.shuffle ? "ON" : "OFF"}
496
496
  </span>
497
497
  </p>
498
498
  <p className="text-fm-primary font-fm-text text-fm-sm leading-fm-sm">
499
499
  Repeat:{" "}
500
- <span className="font-semibold">
500
+ <span className="font-medium">
501
501
  {playback.repeat ? "ON" : "OFF"}
502
502
  </span>
503
503
  </p>
504
504
  <p className="text-fm-primary font-fm-text text-fm-sm leading-fm-sm">
505
505
  Mute:{" "}
506
- <span className="font-semibold">
506
+ <span className="font-medium">
507
507
  {playback.mute ? "ON" : "OFF"}
508
508
  </span>
509
509
  </p>
@@ -536,7 +536,7 @@ export const Interactive: Story = {
536
536
  onPressedChange={() => toggleFormat("bold")}
537
537
  aria-label="Toggle bold"
538
538
  >
539
- <span className="font-bold">B</span>
539
+ <span className="font-medium">B</span>
540
540
  </Toggle>
541
541
  <Toggle
542
542
  size="sm"
@@ -305,8 +305,7 @@ function TooltipContent({
305
305
 
306
306
  export function withTooltip<
307
307
  T extends
308
- | keyof React.JSX.IntrinsicElements
309
- | React.ForwardRefExoticComponent<any>,
308
+ keyof React.JSX.IntrinsicElements | React.ForwardRefExoticComponent<any>,
310
309
  >(Component: T) {
311
310
  return React.forwardRef<
312
311
  React.ElementRef<T>,
@@ -77,8 +77,9 @@ const meta: Meta<typeof Typography> = {
77
77
  },
78
78
  weight: {
79
79
  control: "select",
80
- options: ["regular", "medium", "semibold", "bold"],
81
- description: "Font weight",
80
+ options: ["regular", "medium"],
81
+ description:
82
+ "Font weight. Lab Grotesque body/caption variants support regular (400) and medium (500) only.",
82
83
  },
83
84
  align: {
84
85
  control: "radio",
@@ -336,23 +337,10 @@ export const Configurations: Story = {
336
337
  medium (500)
337
338
  </p>
338
339
  </div>
339
- <div className="space-y-2 text-center">
340
- <Typography variant="body-large" weight="semibold">
341
- Semibold
342
- </Typography>
343
- <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
344
- semibold (600)
345
- </p>
346
- </div>
347
- <div className="space-y-2 text-center">
348
- <Typography variant="body-large" weight="bold">
349
- Bold
350
- </Typography>
351
- <p className="text-fm-secondary font-fm-text text-fm-sm leading-fm-sm">
352
- bold (700)
353
- </p>
354
- </div>
355
340
  </div>
341
+ <p className="text-fm-tertiary font-fm-text text-fm-sm leading-fm-sm">
342
+ Body and caption variants support regular and medium only.
343
+ </p>
356
344
  </div>
357
345
 
358
346
  {/* Color axis */}
@@ -514,7 +502,7 @@ export const Configurations: Story = {
514
502
  docs: {
515
503
  description: {
516
504
  story:
517
- "One subsection per configuration axis: weight (regular → bold), color (primary → inactive), alignment (left / center / right), text-transform, and line-height override (tight / normal / loose).",
505
+ "One subsection per configuration axis: weight (regular → medium), color (primary → inactive), alignment (left / center / right), text-transform, and line-height override (tight / normal / loose).",
518
506
  },
519
507
  },
520
508
  },
@@ -28,8 +28,6 @@ export const typographyVariants = cva("", {
28
28
  weight: {
29
29
  regular: "font-normal",
30
30
  medium: "font-medium",
31
- semibold: "font-semibold",
32
- bold: "font-bold",
33
31
  },
34
32
  align: {
35
33
  left: "text-left",
@@ -95,7 +95,7 @@ function InteractiveIcon() {
95
95
  <IconComponent className="text-fm-primary h-8 w-8" />
96
96
  </div>
97
97
  <div>
98
- <DialogTitle className="text-fm-primary text-xl font-semibold">
98
+ <DialogTitle className="text-fm-primary text-xl font-medium">
99
99
  {iconName}
100
100
  </DialogTitle>
101
101
  <p className="text-fm-tertiary text-sm">
@@ -234,7 +234,7 @@ const IconCategory: React.FC<IconCategoryProps> = ({ category, children }) => {
234
234
  className="h-px flex-1"
235
235
  style={{ background: "var(--gradient-fm-stroke-neutral)" }}
236
236
  />
237
- <h2 className="border-fm-secondary-500/20 bg-fm-secondary-500/10 text-fm-secondary-800 rounded-full border px-4 py-2 text-lg font-semibold">
237
+ <h2 className="border-fm-secondary-500/20 bg-fm-secondary-500/10 text-fm-secondary-800 rounded-full border px-4 py-2 text-lg font-medium">
238
238
  {category}
239
239
  </h2>
240
240
  <div
@@ -271,7 +271,7 @@ const IconGrid: React.FC<IconGridProps> = ({
271
271
  return (
272
272
  <div className="space-y-6">
273
273
  <div className="space-y-2">
274
- <h3 className="text-fm-primary text-2xl font-bold">{title}</h3>
274
+ <h3 className="text-fm-primary text-2xl font-medium">{title}</h3>
275
275
  {description && (
276
276
  <p className="text-fm-secondary text-sm leading-relaxed">
277
277
  {description}
@@ -617,7 +617,9 @@ export const Icons: React.FC = () => {
617
617
  />
618
618
  <div className="relative mx-auto max-w-7xl px-6 py-16">
619
619
  <div className="space-y-6 text-center">
620
- <h1 className="text-fm-primary text-5xl font-bold">Icon Library</h1>
620
+ <h1 className="text-fm-primary text-5xl font-medium">
621
+ Icon Library
622
+ </h1>
621
623
  <p className="text-fm-secondary mx-auto max-w-3xl text-xl leading-relaxed">
622
624
  A comprehensive collection of carefully crafted icons built with
623
625
  accessibility in mind. Each icon is optimized for clarity and
@@ -627,21 +629,21 @@ export const Icons: React.FC = () => {
627
629
  {/* Stats */}
628
630
  <div className="flex items-center justify-center gap-8 pt-8">
629
631
  <div className="text-center">
630
- <div className="text-fm-icon-brand-secondary text-3xl font-bold">
632
+ <div className="text-fm-icon-brand-secondary text-3xl font-medium">
631
633
  {totalIcons}
632
634
  </div>
633
635
  <div className="text-fm-tertiary text-sm">Total icons</div>
634
636
  </div>
635
637
  <div className="bg-fm-divider-secondary h-8 w-px" />
636
638
  <div className="text-center">
637
- <div className="text-fm-info text-3xl font-bold">
639
+ <div className="text-fm-info text-3xl font-medium">
638
640
  {categoryCount}
639
641
  </div>
640
642
  <div className="text-fm-tertiary text-sm">Categories</div>
641
643
  </div>
642
644
  <div className="bg-fm-divider-secondary h-8 w-px" />
643
645
  <div className="text-center">
644
- <div className="text-fm-positive text-3xl font-bold">
646
+ <div className="text-fm-positive text-3xl font-medium">
645
647
  Accessible
646
648
  </div>
647
649
  <div className="text-fm-tertiary text-sm">Radix UI</div>
@@ -46,7 +46,7 @@ function Header() {
46
46
  return (
47
47
  <header className="flex items-center gap-2">
48
48
  <SiteLogoIcon className="h-8 w-8" />
49
- <span className="text-fm-primary font-fm-text font-semibold">
49
+ <span className="text-fm-primary font-fm-text font-medium">
50
50
  Pocket FM
51
51
  </span>
52
52
  </header>
@@ -164,7 +164,7 @@ export const UsageExamples: Story = {
164
164
  <div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center justify-between rounded-xl border px-4 py-3">
165
165
  <div className="flex items-center gap-2">
166
166
  <SiteLogoIcon className="h-8 w-8" />
167
- <span className="text-fm-primary font-fm-text text-sm font-semibold">
167
+ <span className="text-fm-primary font-fm-text text-sm font-medium">
168
168
  Pocket FM
169
169
  </span>
170
170
  </div>
@@ -174,7 +174,7 @@ export const UsageExamples: Story = {
174
174
  <IconUsageSection title="Login Screen Branding">
175
175
  <div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm flex-col items-center gap-3 rounded-xl border p-6">
176
176
  <SiteLogoIcon className="h-16 w-16" />
177
- <div className="text-fm-primary font-fm-text text-lg font-semibold">
177
+ <div className="text-fm-primary font-fm-text text-lg font-medium">
178
178
  Welcome to Pocket FM
179
179
  </div>
180
180
  <div className="text-fm-secondary font-fm-text text-sm">