@chekinapp/ui 0.0.8 → 0.0.11

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.cjs CHANGED
@@ -924,10 +924,12 @@ var import_react_i18next3 = require("react-i18next");
924
924
  var import_class_variance_authority3 = require("class-variance-authority");
925
925
  var buttonVariants = (0, import_class_variance_authority3.cva)(
926
926
  [
927
- "relative inline-flex items-center justify-center gap-2 whitespace-nowrap font-sans font-semibold",
928
- "transition-colors duration-150 ease-out outline-none",
929
- "focus-visible:shadow-chekin-focus disabled:pointer-events-none disabled:opacity-50",
930
- "[&_svg]:pointer-events-none [&_svg]:shrink-0",
927
+ "button relative inline-flex items-center justify-center gap-2 whitespace-nowrap",
928
+ "[font-family:var(--button-font-family)] [font-weight:var(--button-font-weight)]",
929
+ "transition-all duration-150 ease-out outline-none",
930
+ "focus-visible:shadow-[var(--button-focus-shadow)]",
931
+ "disabled:pointer-events-none disabled:opacity-50",
932
+ "[&_svg]:pointer-events-none [&_svg]:size-[var(--button-icon-size)] [&_svg]:shrink-0",
931
933
  'before:absolute before:inset-0 before:rounded-[inherit] before:content-[""]',
932
934
  "before:bg-transparent before:transition-colors before:duration-150",
933
935
  "[&>*]:relative [&>*]:z-[1]"
@@ -936,51 +938,73 @@ var buttonVariants = (0, import_class_variance_authority3.cva)(
936
938
  variants: {
937
939
  variant: {
938
940
  default: [
939
- "bg-chekin-blue text-white",
940
- "hover:before:bg-white/10 active:before:bg-black/10",
941
- "focus-visible:ring-1 focus-visible:ring-chekin-navy focus-visible:ring-inset"
941
+ "button_default",
942
+ "bg-[var(--button-primary-bg)] text-[color:var(--button-primary-text)]",
943
+ "hover:before:bg-[var(--button-primary-hover-overlay)] active:before:bg-[var(--button-primary-active-overlay)]",
944
+ "disabled:hover:before:bg-transparent"
942
945
  ],
943
946
  primary: [
944
- "bg-chekin-blue text-white",
945
- "hover:before:bg-white/10 active:before:bg-black/10",
946
- "focus-visible:ring-1 focus-visible:ring-chekin-navy focus-visible:ring-inset"
947
+ "button_default",
948
+ "bg-[var(--button-primary-bg)] text-[color:var(--button-primary-text)]",
949
+ "hover:before:bg-[var(--button-primary-hover-overlay)] active:before:bg-[var(--button-primary-active-overlay)]",
950
+ "disabled:hover:before:bg-transparent"
947
951
  ],
948
952
  destructive: [
949
- "border border-chekin-red bg-white text-chekin-red shadow-chekin-subtle-outline",
950
- "hover:bg-chekin-surface-input-empty"
953
+ "button_destructive",
954
+ "border border-[var(--button-destructive-border)] bg-[var(--button-destructive-bg)] text-[color:var(--button-destructive-text)]",
955
+ "shadow-[var(--button-shadow)]",
956
+ "hover:bg-[var(--button-destructive-hover-bg)]",
957
+ "disabled:hover:bg-[var(--button-destructive-bg)]"
951
958
  ],
952
959
  secondary: [
953
- "bg-white/30 text-chekin-navy shadow-chekin-subtle-outline",
954
- "hover:before:bg-black/5 active:before:bg-black/10"
960
+ "button_secondary",
961
+ "border border-[var(--button-secondary-border)] bg-[var(--button-secondary-bg)] text-[color:var(--button-secondary-text)]",
962
+ "shadow-[var(--button-shadow)]",
963
+ "hover:before:bg-[var(--button-secondary-hover-overlay)] active:before:bg-[var(--button-secondary-active-overlay)]",
964
+ "disabled:hover:before:bg-transparent"
955
965
  ],
956
966
  ghost: [
957
- "bg-transparent text-chekin-navy",
958
- "hover:bg-chekin-surface-input-empty active:bg-chekin-gray-3"
967
+ "button_ghost",
968
+ "bg-[var(--button-ghost-bg)] text-[color:var(--button-ghost-text)]",
969
+ "hover:bg-[var(--button-ghost-hover-bg)] active:bg-[var(--button-ghost-active-bg)]",
970
+ "disabled:hover:bg-[var(--button-ghost-bg)]"
959
971
  ],
960
972
  link: [
961
- "h-auto rounded-none bg-transparent px-0 py-0 text-chekin-blue underline-offset-4",
962
- "hover:underline active:opacity-80 before:hidden"
973
+ "button_link",
974
+ "h-auto rounded-none bg-[var(--button-link-bg)] px-0 py-0 text-[color:var(--button-link-text)]",
975
+ "underline-offset-4",
976
+ "hover:underline active:opacity-80 before:hidden",
977
+ "disabled:hover:no-underline"
963
978
  ],
964
979
  tertiary: [
965
- "border border-white bg-transparent text-white shadow-chekin-subtle-outline",
966
- "hover:before:bg-white/10 active:before:bg-black/10"
980
+ "button_tertiary",
981
+ "border border-[var(--button-tertiary-border)] bg-[var(--button-tertiary-bg)] text-[color:var(--button-tertiary-text)]",
982
+ "shadow-[var(--button-shadow)]",
983
+ "hover:before:bg-[var(--button-tertiary-hover-overlay)] active:before:bg-[var(--button-tertiary-active-overlay)]",
984
+ "disabled:hover:before:bg-transparent"
985
+ ],
986
+ outline: [
987
+ "border border-[var(--button-outline-border)] bg-[var(--button-outline-bg)] text-[color:var(--button-outline-text)]",
988
+ "hover:bg-[var(--button-outline-hover-bg)]",
989
+ "disabled:hover:bg-[var(--button-outline-bg)]"
967
990
  ]
968
991
  },
969
992
  size: {
970
- default: "h-10 px-4 py-2 text-[14px]",
971
- m: "h-12 min-w-[160px] rounded-xl px-4 text-[14px]",
972
- s: "h-8 px-[12px] text-[13px]",
973
- sm: "h-9 rounded-md px-3 text-[14px]",
974
- lg: "h-11 rounded-md px-8 text-[15px]",
975
- xs: "h-6 px-[10px] text-[12px]",
976
- icon: "h-8 w-8 p-0"
993
+ default: "button_size_default h-[var(--button-height-default)] min-w-[var(--button-min-width-default)] px-4 py-2 text-[length:var(--button-font-size)]",
994
+ m: "button_size_m h-[var(--button-height-m)] min-w-[var(--button-min-width-m)] px-4 text-[length:var(--button-font-size)]",
995
+ md: "button_size_m h-[var(--button-height-m)] min-w-[var(--button-min-width-m)] px-4 text-[length:var(--button-font-size)]",
996
+ s: "button_size_sm h-[var(--button-height-s)] px-[12px] text-[13px]",
997
+ sm: "button_size_sm h-[var(--button-height-sm)] px-3 text-[length:var(--button-font-size)]",
998
+ lg: "button_size_lg h-[var(--button-height-lg)] px-8 text-[15px]",
999
+ xs: "button_size_xs h-[var(--button-height-xs)] px-[10px] text-[12px]",
1000
+ icon: "button_size_icon h-[var(--button-height-icon)] w-[var(--button-height-icon)] p-0"
977
1001
  },
978
1002
  shape: {
979
- rounded: "rounded-chekin-input",
1003
+ rounded: "rounded-[var(--button-radius)]",
980
1004
  pill: "rounded-full"
981
1005
  },
982
1006
  readOnly: {
983
- true: "pointer-events-none cursor-not-allowed !opacity-100",
1007
+ true: "button_readonly pointer-events-none cursor-not-allowed !opacity-100",
984
1008
  false: ""
985
1009
  }
986
1010
  },
@@ -1030,15 +1054,28 @@ var Button = React4.forwardRef(
1030
1054
  ...props
1031
1055
  }, ref) => {
1032
1056
  const { t } = (0, import_react_i18next3.useTranslation)();
1033
- const Comp = asChild ? import_react_slot2.Slot : "button";
1034
1057
  const showLoadingLabel = size !== "icon";
1058
+ const isDisabled = readOnly || disabled || loading;
1059
+ const classNames = cn(buttonVariants({ variant, size, shape, readOnly }), className);
1060
+ if (asChild) {
1061
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1062
+ import_react_slot2.Slot,
1063
+ {
1064
+ ref,
1065
+ "aria-disabled": isDisabled || void 0,
1066
+ className: classNames,
1067
+ ...props,
1068
+ children
1069
+ }
1070
+ );
1071
+ }
1035
1072
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1036
- Comp,
1073
+ "button",
1037
1074
  {
1038
1075
  ref,
1039
- type: Comp === "button" ? type ?? "button" : void 0,
1040
- disabled: readOnly || disabled || loading,
1041
- className: cn(buttonVariants({ variant, size, shape, readOnly }), className),
1076
+ type: type ?? "button",
1077
+ disabled: isDisabled,
1078
+ className: classNames,
1042
1079
  ...props,
1043
1080
  children: loading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "inline-flex items-center gap-1.5", children: [
1044
1081
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Spinner, {}),
@@ -6370,7 +6407,10 @@ function Skeleton({ className, ...props }) {
6370
6407
  "div",
6371
6408
  {
6372
6409
  "data-slot": "skeleton",
6373
- className: cn("animate-pulse rounded-md bg-chekin-gray-3", className),
6410
+ className: cn(
6411
+ "animate-pulse rounded-md bg-[var(--chekin-color-gray-3)]",
6412
+ className
6413
+ ),
6374
6414
  ...props
6375
6415
  }
6376
6416
  );
@@ -9401,7 +9441,7 @@ function ResponsiveSheet({
9401
9441
  closeOnOverlayClick = true,
9402
9442
  closeOnEscape = true
9403
9443
  }) {
9404
- const { isMatch: isMobile } = useScreenResize(DEVICE.laptop);
9444
+ const { isMatch: isMobile } = useScreenResize(DEVICE.tablet);
9405
9445
  const isMobileMode = isMobile && isMobileModalModeAvailable();
9406
9446
  const handleOpenChange = (nextOpen) => {
9407
9447
  if (!nextOpen) {