@keboola/design 5.0.0 → 5.1.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.
package/dist/index.js CHANGED
@@ -15418,7 +15418,7 @@ var ANIMATION_CLASS_NAME = cn(
15418
15418
  "tw-relative",
15419
15419
  "tw-overflow-hidden",
15420
15420
  "tw-pointer-events-none",
15421
- "tw-bg-muted",
15421
+ "tw-bg-skeleton",
15422
15422
  // before
15423
15423
  'before:tw-content-[""]',
15424
15424
  "before:tw-opacity-100",
@@ -20910,13 +20910,29 @@ var BreadcrumbDropdownGroup = ({
20910
20910
  [parent, labelMatched, registerChild]
20911
20911
  );
20912
20912
  const isExpanded = !collapsible || expanded || filtering;
20913
+ const isEmpty = Children.count(children) === 0;
20913
20914
  return /* @__PURE__ */ jsxs(
20914
20915
  "div",
20915
20916
  {
20916
20917
  className: cn("tw-flex tw-flex-col", className),
20917
20918
  style: visible ? void 0 : { display: "none" },
20918
20919
  children: [
20919
- collapsible ? /* @__PURE__ */ jsxs(
20920
+ collapsible && isEmpty ? /* @__PURE__ */ jsxs(
20921
+ "span",
20922
+ {
20923
+ "aria-disabled": true,
20924
+ className: cn(
20925
+ headerClass,
20926
+ "tw-text-muted-foreground",
20927
+ // Fade just the leading chevron lighter than the label text.
20928
+ "[&>svg:first-child]:tw-opacity-50"
20929
+ ),
20930
+ children: [
20931
+ /* @__PURE__ */ jsx(icons_exports.ChevronRight, {}),
20932
+ label
20933
+ ]
20934
+ }
20935
+ ) : collapsible && !isEmpty ? /* @__PURE__ */ jsxs(
20920
20936
  "button",
20921
20937
  {
20922
20938
  type: "button",
@@ -20929,7 +20945,31 @@ var BreadcrumbDropdownGroup = ({
20929
20945
  ]
20930
20946
  }
20931
20947
  ) : /* @__PURE__ */ jsx("span", { className: headerClass, children: label }),
20932
- /* @__PURE__ */ jsx(BreadcrumbDropdownContext, { value: childContext, children: /* @__PURE__ */ jsx(
20948
+ /* @__PURE__ */ jsx(BreadcrumbDropdownContext, { value: childContext, children: collapsible && !isEmpty ? (
20949
+ // Animated expand / collapse via a CSS grid-rows transition (0fr ↔ 1fr). The children stay
20950
+ // mounted while collapsed so the filter registry keeps receiving their visibility; `inert`
20951
+ // + `aria-hidden` take the collapsed content out of the a11y tree and tab order. An active
20952
+ // filter query force-expands (`isExpanded` includes `filtering`).
20953
+ /* @__PURE__ */ jsx(
20954
+ "div",
20955
+ {
20956
+ className: cn(
20957
+ "tw-grid tw-transition-[grid-template-rows] tw-duration-200 tw-ease-out",
20958
+ "motion-reduce:tw-transition-none",
20959
+ isExpanded ? "tw-grid-rows-[1fr]" : "tw-grid-rows-[0fr]"
20960
+ ),
20961
+ children: /* @__PURE__ */ jsx(
20962
+ "div",
20963
+ {
20964
+ className: "tw-overflow-hidden",
20965
+ inert: !isExpanded,
20966
+ "aria-hidden": isExpanded ? void 0 : true,
20967
+ children: /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-col tw-pl-6", children })
20968
+ }
20969
+ )
20970
+ }
20971
+ )
20972
+ ) : /* @__PURE__ */ jsx(
20933
20973
  "div",
20934
20974
  {
20935
20975
  className: "tw-flex tw-flex-col tw-pl-6",
@@ -21055,11 +21095,12 @@ var chevronButtonClass = cn(
21055
21095
  "tw-flex",
21056
21096
  "tw-items-center",
21057
21097
  "tw-justify-center",
21058
- "tw-rounded-sm",
21098
+ "tw-rounded-md",
21059
21099
  "tw-border-none",
21060
21100
  "tw-bg-transparent",
21061
21101
  "tw-cursor-pointer",
21062
- "tw-p-0.5",
21102
+ // Generous 24px hit target (was ~18px) — colour-only hover, no background box.
21103
+ "tw-size-6",
21063
21104
  "tw-text-muted-foreground",
21064
21105
  "tw-transition-colors",
21065
21106
  "hover:tw-text-foreground",