@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.cjs CHANGED
@@ -15450,7 +15450,7 @@ var ANIMATION_CLASS_NAME = cn(
15450
15450
  "tw-relative",
15451
15451
  "tw-overflow-hidden",
15452
15452
  "tw-pointer-events-none",
15453
- "tw-bg-muted",
15453
+ "tw-bg-skeleton",
15454
15454
  // before
15455
15455
  'before:tw-content-[""]',
15456
15456
  "before:tw-opacity-100",
@@ -20942,13 +20942,29 @@ var BreadcrumbDropdownGroup = ({
20942
20942
  [parent, labelMatched, registerChild]
20943
20943
  );
20944
20944
  const isExpanded = !collapsible || expanded || filtering;
20945
+ const isEmpty = React26.Children.count(children) === 0;
20945
20946
  return /* @__PURE__ */ jsxRuntime.jsxs(
20946
20947
  "div",
20947
20948
  {
20948
20949
  className: cn("tw-flex tw-flex-col", className),
20949
20950
  style: visible ? void 0 : { display: "none" },
20950
20951
  children: [
20951
- collapsible ? /* @__PURE__ */ jsxRuntime.jsxs(
20952
+ collapsible && isEmpty ? /* @__PURE__ */ jsxRuntime.jsxs(
20953
+ "span",
20954
+ {
20955
+ "aria-disabled": true,
20956
+ className: cn(
20957
+ headerClass,
20958
+ "tw-text-muted-foreground",
20959
+ // Fade just the leading chevron lighter than the label text.
20960
+ "[&>svg:first-child]:tw-opacity-50"
20961
+ ),
20962
+ children: [
20963
+ /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronRight, {}),
20964
+ label
20965
+ ]
20966
+ }
20967
+ ) : collapsible && !isEmpty ? /* @__PURE__ */ jsxRuntime.jsxs(
20952
20968
  "button",
20953
20969
  {
20954
20970
  type: "button",
@@ -20961,7 +20977,31 @@ var BreadcrumbDropdownGroup = ({
20961
20977
  ]
20962
20978
  }
20963
20979
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: headerClass, children: label }),
20964
- /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbDropdownContext, { value: childContext, children: /* @__PURE__ */ jsxRuntime.jsx(
20980
+ /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbDropdownContext, { value: childContext, children: collapsible && !isEmpty ? (
20981
+ // Animated expand / collapse via a CSS grid-rows transition (0fr ↔ 1fr). The children stay
20982
+ // mounted while collapsed so the filter registry keeps receiving their visibility; `inert`
20983
+ // + `aria-hidden` take the collapsed content out of the a11y tree and tab order. An active
20984
+ // filter query force-expands (`isExpanded` includes `filtering`).
20985
+ /* @__PURE__ */ jsxRuntime.jsx(
20986
+ "div",
20987
+ {
20988
+ className: cn(
20989
+ "tw-grid tw-transition-[grid-template-rows] tw-duration-200 tw-ease-out",
20990
+ "motion-reduce:tw-transition-none",
20991
+ isExpanded ? "tw-grid-rows-[1fr]" : "tw-grid-rows-[0fr]"
20992
+ ),
20993
+ children: /* @__PURE__ */ jsxRuntime.jsx(
20994
+ "div",
20995
+ {
20996
+ className: "tw-overflow-hidden",
20997
+ inert: !isExpanded,
20998
+ "aria-hidden": isExpanded ? void 0 : true,
20999
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-pl-6", children })
21000
+ }
21001
+ )
21002
+ }
21003
+ )
21004
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20965
21005
  "div",
20966
21006
  {
20967
21007
  className: "tw-flex tw-flex-col tw-pl-6",
@@ -21087,11 +21127,12 @@ var chevronButtonClass = cn(
21087
21127
  "tw-flex",
21088
21128
  "tw-items-center",
21089
21129
  "tw-justify-center",
21090
- "tw-rounded-sm",
21130
+ "tw-rounded-md",
21091
21131
  "tw-border-none",
21092
21132
  "tw-bg-transparent",
21093
21133
  "tw-cursor-pointer",
21094
- "tw-p-0.5",
21134
+ // Generous 24px hit target (was ~18px) — colour-only hover, no background box.
21135
+ "tw-size-6",
21095
21136
  "tw-text-muted-foreground",
21096
21137
  "tw-transition-colors",
21097
21138
  "hover:tw-text-foreground",