@ikatec/nebula-react 1.5.0 → 1.6.0-beta.1

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.
package/dist/index.d.mts CHANGED
@@ -515,6 +515,8 @@ interface LinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElemen
515
515
  size?: 'md' | 'sm';
516
516
  asChild?: boolean;
517
517
  children: ReactNode;
518
+ variant?: 'default' | 'external';
519
+ disabled?: boolean;
518
520
  }
519
521
  declare const Link: React__default.ForwardRefExoticComponent<LinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
520
522
 
@@ -1019,6 +1021,8 @@ declare enum AvatarVariantEnum {
1019
1021
  random = "random"
1020
1022
  }
1021
1023
  declare enum AvatarSizeEnum {
1024
+ '3xs' = "3xs",// 20px
1025
+ '2xs' = "2xs",// 24px
1022
1026
  'xs' = "xs",// 32px
1023
1027
  'sm' = "sm",// 40px
1024
1028
  'md' = "md",// 44px
package/dist/index.d.ts CHANGED
@@ -515,6 +515,8 @@ interface LinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElemen
515
515
  size?: 'md' | 'sm';
516
516
  asChild?: boolean;
517
517
  children: ReactNode;
518
+ variant?: 'default' | 'external';
519
+ disabled?: boolean;
518
520
  }
519
521
  declare const Link: React__default.ForwardRefExoticComponent<LinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
520
522
 
@@ -1019,6 +1021,8 @@ declare enum AvatarVariantEnum {
1019
1021
  random = "random"
1020
1022
  }
1021
1023
  declare enum AvatarSizeEnum {
1024
+ '3xs' = "3xs",// 20px
1025
+ '2xs' = "2xs",// 24px
1022
1026
  'xs' = "xs",// 32px
1023
1027
  'sm' = "sm",// 40px
1024
1028
  'md' = "md",// 44px
package/dist/index.js CHANGED
@@ -3458,19 +3458,89 @@ var Caption = React31.forwardRef(
3458
3458
  }
3459
3459
  );
3460
3460
  Caption.displayName = "Caption";
3461
+ var linkVariantsConfig = classVarianceAuthority.cva(
3462
+ `
3463
+ cursor-pointer
3464
+ inline-flex
3465
+ items-center
3466
+ transition-colors
3467
+ focus-visible:outline-none
3468
+ focus-visible:underline
3469
+ hover:underline
3470
+ `,
3471
+ {
3472
+ variants: {
3473
+ variant: {
3474
+ default: `
3475
+ text-typography-link-default-color
3476
+ hover:text-typography-link-default-hover
3477
+ active:text-typography-link-default-active
3478
+ aria-disabled:text-typography-link-default-disabled
3479
+ `,
3480
+ external: `
3481
+ text-typography-link-external-color
3482
+ hover:text-typography-link-external-hover
3483
+ active:text-typography-link-external-active
3484
+ aria-disabled:text-typography-link-external-disabled
3485
+ `
3486
+ },
3487
+ size: {
3488
+ md: `
3489
+ text-link-md
3490
+ tracking-link-md
3491
+ font-link-md
3492
+ leading-link-md
3493
+ `,
3494
+ sm: `
3495
+ text-link-sm
3496
+ tracking-link-sm
3497
+ font-link-sm
3498
+ leading-link-sm
3499
+ `
3500
+ }
3501
+ },
3502
+ defaultVariants: {
3503
+ variant: "default",
3504
+ size: "md"
3505
+ }
3506
+ }
3507
+ );
3461
3508
  var Link = React31.forwardRef(
3462
- ({ className, size: size4 = "md", asChild = false, ...rest }, ref) => {
3509
+ ({
3510
+ className,
3511
+ size: size4 = "md",
3512
+ asChild = false,
3513
+ variant: variant3 = "default",
3514
+ disabled = false,
3515
+ ...rest
3516
+ }, ref) => {
3517
+ const Comp = asChild ? reactSlot.Slot : "a";
3463
3518
  const classNames = cn(
3464
- "cursor-pointer",
3465
- {
3466
- "text-typography-link-md text-link-md tracking-link-md font-link-md leading-link-md underline": size4 === "md",
3467
- "text-typography-link-sm text-link-sm tracking-link-sm font-link-sm leading-link-sm underline": size4 === "sm"
3468
- },
3469
- "hover:text-typography-link-hover",
3519
+ linkVariantsConfig({
3520
+ size: size4,
3521
+ variant: variant3
3522
+ }),
3470
3523
  className
3471
3524
  );
3472
- if (!asChild) return /* @__PURE__ */ jsxRuntime.jsx("a", { ...rest, className: classNames, ref });
3473
- return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { ...rest, className: classNames, ref });
3525
+ const linkContent = /* @__PURE__ */ jsxRuntime.jsx(
3526
+ Comp,
3527
+ {
3528
+ ...rest,
3529
+ ref,
3530
+ className: cn(
3531
+ linkVariantsConfig({
3532
+ size: size4,
3533
+ variant: variant3
3534
+ }),
3535
+ className
3536
+ )
3537
+ }
3538
+ );
3539
+ if (!disabled) return linkContent;
3540
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nebula-ds cursor-not-allowed", children: React31__namespace.default.cloneElement(linkContent, {
3541
+ className: cn(classNames, "pointer-events-none"),
3542
+ "aria-disabled": true
3543
+ }) });
3474
3544
  }
3475
3545
  );
3476
3546
  Link.displayName = "Link";
@@ -8329,6 +8399,10 @@ TipCardMedia.displayName = "TipCardMedia";
8329
8399
  var avatarVariantsConfig = classVarianceAuthority.cva("relative flex size-8 shrink-0 rounded-full", {
8330
8400
  variants: {
8331
8401
  size: {
8402
+ "3xs": 'size-[20px] [&>[data-slot="avatar-hover-action"]]:text-sm [&>[data-slot="avatar-fallback"]]:text-sm',
8403
+ // 20px
8404
+ "2xs": 'size-[24px] [&>[data-slot="avatar-hover-action"]]:text-sm [&>[data-slot="avatar-fallback"]]:text-sm',
8405
+ // 24px
8332
8406
  xs: 'size-[32px] [&>[data-slot="avatar-hover-action"]]:text-sm [&>[data-slot="avatar-fallback"]]:text-sm',
8333
8407
  // 32px
8334
8408
  sm: 'size-[40px] [&>[data-slot="avatar-hover-action"]]:text-xl [&>[data-slot="avatar-fallback"]]:text-sm',
@@ -8372,6 +8446,8 @@ var AvatarVariantEnum = /* @__PURE__ */ ((AvatarVariantEnum2) => {
8372
8446
  return AvatarVariantEnum2;
8373
8447
  })(AvatarVariantEnum || {});
8374
8448
  var AvatarSizeEnum = /* @__PURE__ */ ((AvatarSizeEnum2) => {
8449
+ AvatarSizeEnum2["3xs"] = "3xs";
8450
+ AvatarSizeEnum2["2xs"] = "2xs";
8375
8451
  AvatarSizeEnum2["xs"] = "xs";
8376
8452
  AvatarSizeEnum2["sm"] = "sm";
8377
8453
  AvatarSizeEnum2["md"] = "md";
package/dist/index.mjs CHANGED
@@ -3415,19 +3415,89 @@ var Caption = forwardRef(
3415
3415
  }
3416
3416
  );
3417
3417
  Caption.displayName = "Caption";
3418
+ var linkVariantsConfig = cva(
3419
+ `
3420
+ cursor-pointer
3421
+ inline-flex
3422
+ items-center
3423
+ transition-colors
3424
+ focus-visible:outline-none
3425
+ focus-visible:underline
3426
+ hover:underline
3427
+ `,
3428
+ {
3429
+ variants: {
3430
+ variant: {
3431
+ default: `
3432
+ text-typography-link-default-color
3433
+ hover:text-typography-link-default-hover
3434
+ active:text-typography-link-default-active
3435
+ aria-disabled:text-typography-link-default-disabled
3436
+ `,
3437
+ external: `
3438
+ text-typography-link-external-color
3439
+ hover:text-typography-link-external-hover
3440
+ active:text-typography-link-external-active
3441
+ aria-disabled:text-typography-link-external-disabled
3442
+ `
3443
+ },
3444
+ size: {
3445
+ md: `
3446
+ text-link-md
3447
+ tracking-link-md
3448
+ font-link-md
3449
+ leading-link-md
3450
+ `,
3451
+ sm: `
3452
+ text-link-sm
3453
+ tracking-link-sm
3454
+ font-link-sm
3455
+ leading-link-sm
3456
+ `
3457
+ }
3458
+ },
3459
+ defaultVariants: {
3460
+ variant: "default",
3461
+ size: "md"
3462
+ }
3463
+ }
3464
+ );
3418
3465
  var Link = forwardRef(
3419
- ({ className, size: size4 = "md", asChild = false, ...rest }, ref) => {
3466
+ ({
3467
+ className,
3468
+ size: size4 = "md",
3469
+ asChild = false,
3470
+ variant: variant3 = "default",
3471
+ disabled = false,
3472
+ ...rest
3473
+ }, ref) => {
3474
+ const Comp = asChild ? Slot : "a";
3420
3475
  const classNames = cn(
3421
- "cursor-pointer",
3422
- {
3423
- "text-typography-link-md text-link-md tracking-link-md font-link-md leading-link-md underline": size4 === "md",
3424
- "text-typography-link-sm text-link-sm tracking-link-sm font-link-sm leading-link-sm underline": size4 === "sm"
3425
- },
3426
- "hover:text-typography-link-hover",
3476
+ linkVariantsConfig({
3477
+ size: size4,
3478
+ variant: variant3
3479
+ }),
3427
3480
  className
3428
3481
  );
3429
- if (!asChild) return /* @__PURE__ */ jsx("a", { ...rest, className: classNames, ref });
3430
- return /* @__PURE__ */ jsx(Slot, { ...rest, className: classNames, ref });
3482
+ const linkContent = /* @__PURE__ */ jsx(
3483
+ Comp,
3484
+ {
3485
+ ...rest,
3486
+ ref,
3487
+ className: cn(
3488
+ linkVariantsConfig({
3489
+ size: size4,
3490
+ variant: variant3
3491
+ }),
3492
+ className
3493
+ )
3494
+ }
3495
+ );
3496
+ if (!disabled) return linkContent;
3497
+ return /* @__PURE__ */ jsx("span", { className: "nebula-ds cursor-not-allowed", children: React31__default.cloneElement(linkContent, {
3498
+ className: cn(classNames, "pointer-events-none"),
3499
+ "aria-disabled": true
3500
+ }) });
3431
3501
  }
3432
3502
  );
3433
3503
  Link.displayName = "Link";
@@ -8286,6 +8356,10 @@ TipCardMedia.displayName = "TipCardMedia";
8286
8356
  var avatarVariantsConfig = cva("relative flex size-8 shrink-0 rounded-full", {
8287
8357
  variants: {
8288
8358
  size: {
8359
+ "3xs": 'size-[20px] [&>[data-slot="avatar-hover-action"]]:text-sm [&>[data-slot="avatar-fallback"]]:text-sm',
8360
+ // 20px
8361
+ "2xs": 'size-[24px] [&>[data-slot="avatar-hover-action"]]:text-sm [&>[data-slot="avatar-fallback"]]:text-sm',
8362
+ // 24px
8289
8363
  xs: 'size-[32px] [&>[data-slot="avatar-hover-action"]]:text-sm [&>[data-slot="avatar-fallback"]]:text-sm',
8290
8364
  // 32px
8291
8365
  sm: 'size-[40px] [&>[data-slot="avatar-hover-action"]]:text-xl [&>[data-slot="avatar-fallback"]]:text-sm',
@@ -8329,6 +8403,8 @@ var AvatarVariantEnum = /* @__PURE__ */ ((AvatarVariantEnum2) => {
8329
8403
  return AvatarVariantEnum2;
8330
8404
  })(AvatarVariantEnum || {});
8331
8405
  var AvatarSizeEnum = /* @__PURE__ */ ((AvatarSizeEnum2) => {
8406
+ AvatarSizeEnum2["3xs"] = "3xs";
8407
+ AvatarSizeEnum2["2xs"] = "2xs";
8332
8408
  AvatarSizeEnum2["xs"] = "xs";
8333
8409
  AvatarSizeEnum2["sm"] = "sm";
8334
8410
  AvatarSizeEnum2["md"] = "md";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikatec/nebula-react",
3
- "version": "1.5.0",
3
+ "version": "1.6.0-beta.1",
4
4
  "description": "React components for Nebula Design System",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -30,7 +30,7 @@
30
30
  "@babel/preset-react": "^7.26.3",
31
31
  "@babel/preset-typescript": "^7.27.0",
32
32
  "@ikatec/eslint-config": "*",
33
- "@ikatec/nebula-tokens": "1.4.0",
33
+ "@ikatec/nebula-tokens": "1.5.0-beta.1",
34
34
  "@ikatec/typescript-config": "*",
35
35
  "ts-node": "^10.9.2",
36
36
  "tsup": "^8.3.5",
Binary file