@geomak/ui 7.2.0 → 7.2.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.cjs CHANGED
@@ -5416,6 +5416,7 @@ function EditableCell({
5416
5416
  "input",
5417
5417
  {
5418
5418
  autoFocus: true,
5419
+ size: 1,
5419
5420
  defaultValue: value == null ? "" : String(value),
5420
5421
  onBlur: (e) => commit(e.target.value),
5421
5422
  onKeyDown: (e) => {
@@ -5428,7 +5429,7 @@ function EditableCell({
5428
5429
  }
5429
5430
  },
5430
5431
  "aria-label": `Edit ${typeof col.label === "string" ? col.label : col.keyBind}`,
5431
- className: "w-full rounded border border-accent bg-surface px-2 py-1 text-sm text-foreground outline-none"
5432
+ className: "box-border w-full min-w-0 rounded border border-accent bg-surface px-2 py-1 text-sm text-foreground outline-none"
5432
5433
  }
5433
5434
  );
5434
5435
  }
@@ -5478,7 +5479,7 @@ function TableBody({
5478
5479
  onClick: () => toggleRow(rowKey),
5479
5480
  "aria-expanded": isExpanded,
5480
5481
  "aria-label": isExpanded ? "Collapse row" : "Expand row",
5481
- className: `w-9 h-9 inline-flex items-center justify-center rounded-md hover:bg-background transition-transform duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${isExpanded && !expandRow.collapseIcon ? "rotate-180" : ""}`,
5482
+ className: `w-9 h-9 inline-flex items-center justify-center rounded-md text-foreground-muted hover:text-foreground transition-[transform,color] duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${isExpanded && !expandRow.collapseIcon ? "rotate-180" : ""}`,
5482
5483
  children: isExpanded ? expandRow.collapseIcon ?? expandRow.expandIcon ?? DefaultExpandIcon : expandRow.expandIcon ?? DefaultExpandIcon
5483
5484
  }
5484
5485
  ) }),
@@ -5536,7 +5537,7 @@ function Pagination({
5536
5537
  const chevronRight = /* @__PURE__ */ jsxRuntime.jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 6l6 6-6 6" }) });
5537
5538
  const doubleChevronRight = /* @__PURE__ */ jsxRuntime.jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 6l6 6-6 6M12 6l6 6-6 6" }) });
5538
5539
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-end gap-x-4 gap-y-3", children: [
5539
- options.withPicker && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mr-auto flex items-center gap-2", children: [
5540
+ options.withPicker !== false && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mr-auto flex items-center gap-2", children: [
5540
5541
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "whitespace-nowrap text-xs text-foreground-muted", children: "Rows per page" }),
5541
5542
  /* @__PURE__ */ jsxRuntime.jsx(
5542
5543
  MenuButton,
@@ -6878,13 +6879,19 @@ function PasswordStrength({
6878
6879
  const matches = value.length > 0 && value === confirmValue;
6879
6880
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx("flex flex-col gap-2", className), style, "aria-live": "polite", children: [
6880
6881
  !hideMeter && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6881
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", role: "meter", "aria-valuemin": 0, "aria-valuemax": 4, "aria-valuenow": score, "aria-label": "Password strength", children: [1, 2, 3, 4].map((seg) => /* @__PURE__ */ jsxRuntime.jsx(
6882
- "span",
6883
- {
6884
- className: cx("h-1.5 flex-1 rounded-full transition-colors duration-200", seg <= score ? BAR_COLOR[score] : "bg-border")
6885
- },
6886
- seg
6887
- )) }),
6882
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", role: "meter", "aria-valuemin": 0, "aria-valuemax": 4, "aria-valuenow": score, "aria-label": "Password strength", children: [1, 2, 3, 4].map((seg) => {
6883
+ const active = seg <= score;
6884
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1.5 flex-1 overflow-hidden rounded-full bg-border", children: /* @__PURE__ */ jsxRuntime.jsx(
6885
+ "div",
6886
+ {
6887
+ className: cx(
6888
+ "h-full origin-left rounded-full transition-[transform,background-color] duration-300 ease-out motion-reduce:transition-none",
6889
+ score > 0 ? BAR_COLOR[score] : "bg-border"
6890
+ ),
6891
+ style: { transform: `scaleX(${active ? 1 : 0})`, transitionDelay: active ? `${(seg - 1) * 70}ms` : "0ms" }
6892
+ }
6893
+ ) }, seg);
6894
+ }) }),
6888
6895
  label && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs", children: [
6889
6896
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground-muted", children: "Strength: " }),
6890
6897
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx("font-medium", TEXT_COLOR[score]), children: label })
@@ -6958,11 +6965,12 @@ function RadioTile({
6958
6965
  value: opt.value,
6959
6966
  disabled: opt.disabled,
6960
6967
  className: cx(
6961
- "group relative flex flex-col gap-1 rounded-xl border bg-surface text-left transition-all duration-150",
6968
+ "group relative flex flex-col gap-1 rounded-xl border bg-surface text-left transition-colors duration-150",
6962
6969
  PAD2[size],
6963
6970
  "border-border hover:border-border-strong",
6964
6971
  "data-[state=checked]:border-accent data-[state=checked]:ring-1 data-[state=checked]:ring-accent",
6965
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
6972
+ // Keyboard focus only (no mouse-click flash); ring is instant, not animated.
6973
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-surface",
6966
6974
  "disabled:cursor-not-allowed disabled:opacity-50"
6967
6975
  ),
6968
6976
  children: [