@geomak/ui 6.27.1 → 6.27.3

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.cts CHANGED
@@ -632,7 +632,7 @@ interface ButtonProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButto
632
632
  /** Button content (text or nodes). */
633
633
  content?: React__default.ReactNode;
634
634
  /** Visual style variant */
635
- variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'warning' | 'success' | 'info';
635
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'warning' | 'success' | 'info';
636
636
  /** Size — controls height, padding, and font size */
637
637
  size?: 'sm' | 'md' | 'lg';
638
638
  /** HTML button type */
package/dist/index.d.ts CHANGED
@@ -632,7 +632,7 @@ interface ButtonProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButto
632
632
  /** Button content (text or nodes). */
633
633
  content?: React__default.ReactNode;
634
634
  /** Visual style variant */
635
- variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'warning' | 'success' | 'info';
635
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'warning' | 'success' | 'info';
636
636
  /** Size — controls height, padding, and font size */
637
637
  size?: 'sm' | 'md' | 'lg';
638
638
  /** HTML button type */
package/dist/index.js CHANGED
@@ -652,6 +652,17 @@ var VARIANT_CLASSES = {
652
652
  "disabled:border-foreground-muted disabled:text-foreground-muted disabled:cursor-not-allowed",
653
653
  "focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2"
654
654
  ].join(" "),
655
+ // Neutral, flat, hairline-bordered button — the quiet sibling of `secondary`
656
+ // (which carries the accent border). Mirrors the input border behaviour:
657
+ // hairline at rest, strong-hairline on hover. No shadow (flat at rest).
658
+ outline: [
659
+ "bg-surface text-foreground",
660
+ "border border-border hover:border-border-strong",
661
+ "hover:bg-surface-raised",
662
+ "active:bg-surface",
663
+ "disabled:text-foreground-muted disabled:cursor-not-allowed",
664
+ "focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2"
665
+ ].join(" "),
655
666
  ghost: [
656
667
  "bg-transparent text-foreground-secondary",
657
668
  "hover:bg-surface-raised hover:text-foreground",
@@ -5467,18 +5478,19 @@ function Pagination({
5467
5478
  }, [serverSide, options.perPage, picker]);
5468
5479
  const currentOpt = picker.find((o) => o.key === displayPerPageKey);
5469
5480
  const currentPerPageLabel = currentOpt?.label ?? currentOpt?.value ?? options.perPage ?? "";
5470
- const navBtn = (icon, disabled, onClick, title) => /* @__PURE__ */ jsx(IconButton, { type: "bordered", size: "sm", disabled, onClick, icon, title });
5481
+ const navBtn = (icon, disabled, onClick, title) => /* @__PURE__ */ jsx(Button_default, { variant: "outline", size: "sm", disabled, onClick, icon, className: "w-7 !px-0 focus-visible:!ring-offset-0", "aria-label": title, title });
5471
5482
  const chevronRight = /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) });
5472
5483
  const doubleChevronRight = /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M13 5l7 7-7 7M5 5l7 7-7 7" }) });
5473
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-x-4 gap-y-3 pt-3", children: [
5484
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-x-4 gap-y-3", children: [
5474
5485
  options.withPicker && /* @__PURE__ */ jsxs("div", { className: "mr-auto flex items-center gap-2", children: [
5475
5486
  /* @__PURE__ */ jsx("span", { className: "whitespace-nowrap text-xs text-foreground-muted", children: "Rows per page" }),
5476
5487
  /* @__PURE__ */ jsx(
5477
5488
  MenuButton,
5478
5489
  {
5479
- variant: "secondary",
5490
+ variant: "outline",
5480
5491
  size: "sm",
5481
5492
  side: "top",
5493
+ className: "focus-visible:!ring-offset-0",
5482
5494
  label: String(currentPerPageLabel),
5483
5495
  items: picker.map((o) => ({
5484
5496
  key: o.key,