@tedi-design-system/react 19.0.1-rc.2 → 19.1.0-rc.2

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.
Files changed (62) hide show
  1. package/bundle-stats.html +1 -1
  2. package/index.css +1 -1
  3. package/package.json +1 -1
  4. package/src/community/components/layout/sidenav/sidenav.cjs.js +1 -1
  5. package/src/community/components/layout/sidenav/sidenav.es.js +38 -40
  6. package/src/community/components/vertical-stepper/step-item/step-item.d.ts +6 -0
  7. package/src/community/components/vertical-stepper/sub-item/sub-item.d.ts +6 -0
  8. package/src/community/components/vertical-stepper/vertical-stepper.d.ts +6 -0
  9. package/src/tedi/components/content/collapse/collapse.cjs.js +1 -1
  10. package/src/tedi/components/content/collapse/collapse.d.ts +9 -0
  11. package/src/tedi/components/content/collapse/collapse.es.js +44 -35
  12. package/src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.cjs.js +1 -1
  13. package/src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.es.js +82 -85
  14. package/src/tedi/components/layout/sidenav/sidenav.cjs.js +1 -1
  15. package/src/tedi/components/layout/sidenav/sidenav.es.js +16 -16
  16. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.cjs.js +1 -1
  17. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.es.js +6 -7
  18. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.cjs.js +1 -1
  19. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.es.js +2 -2
  20. package/src/tedi/components/layout/top-nav/top-nav.cjs.js +1 -1
  21. package/src/tedi/components/layout/top-nav/top-nav.es.js +9 -8
  22. package/src/tedi/components/navigation/card-stepper/card-stepper-step.cjs.js +1 -0
  23. package/src/tedi/components/navigation/card-stepper/card-stepper-step.d.ts +86 -0
  24. package/src/tedi/components/navigation/card-stepper/card-stepper-step.es.js +5 -0
  25. package/src/tedi/components/navigation/card-stepper/card-stepper.cjs.js +1 -0
  26. package/src/tedi/components/navigation/card-stepper/card-stepper.d.ts +130 -0
  27. package/src/tedi/components/navigation/card-stepper/card-stepper.es.js +200 -0
  28. package/src/tedi/components/navigation/card-stepper/card-stepper.module.scss.cjs.js +1 -0
  29. package/src/tedi/components/navigation/card-stepper/card-stepper.module.scss.es.js +26 -0
  30. package/src/tedi/components/navigation/card-stepper/index.d.ts +2 -0
  31. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.cjs.js +1 -1
  32. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.es.js +36 -58
  33. package/src/tedi/components/navigation/vertical-stepper/index.d.ts +3 -0
  34. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-context.cjs.js +1 -0
  35. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-context.d.ts +10 -0
  36. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-context.es.js +8 -0
  37. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-item.cjs.js +1 -0
  38. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-item.d.ts +74 -0
  39. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-item.es.js +109 -0
  40. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-sub-item.cjs.js +1 -0
  41. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-sub-item.d.ts +47 -0
  42. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper-sub-item.es.js +65 -0
  43. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper.cjs.js +1 -0
  44. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper.d.ts +28 -0
  45. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper.es.js +32 -0
  46. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper.module.scss.cjs.js +1 -0
  47. package/src/tedi/components/navigation/vertical-stepper/vertical-stepper.module.scss.es.js +34 -0
  48. package/src/tedi/components/overlays/sheet/sheet.cjs.js +1 -0
  49. package/src/tedi/components/overlays/sheet/sheet.d.ts +65 -0
  50. package/src/tedi/components/overlays/sheet/sheet.es.js +41 -0
  51. package/src/tedi/components/overlays/sheet/sheet.module.scss.cjs.js +1 -0
  52. package/src/tedi/components/overlays/sheet/sheet.module.scss.es.js +8 -0
  53. package/src/tedi/helpers/hooks/use-safe-id.cjs.js +1 -0
  54. package/src/tedi/helpers/hooks/use-safe-id.d.ts +16 -0
  55. package/src/tedi/helpers/hooks/use-safe-id.es.js +5 -0
  56. package/src/tedi/helpers/index.d.ts +1 -0
  57. package/src/tedi/index.d.ts +2 -0
  58. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  59. package/src/tedi/providers/label-provider/labels-map.d.ts +42 -0
  60. package/src/tedi/providers/label-provider/labels-map.es.js +113 -71
  61. package/tedi.cjs.js +1 -1
  62. package/tedi.es.js +284 -272
@@ -1,145 +1,142 @@
1
- import { jsx as i, jsxs as n, Fragment as D } from "react/jsx-runtime";
2
- import K, { useState as E, createElement as Q } from "react";
1
+ import { jsx as s, jsxs as n, Fragment as D } from "react/jsx-runtime";
2
+ import { useState as E, createElement as K } from "react";
3
3
  import d from "../../../../../../../external/classnames/index.es.js";
4
4
  import { Icon as M } from "../../../../base/icon/icon.es.js";
5
5
  import { Collapse as O } from "../../../../content/collapse/collapse.es.js";
6
- import { Link as w } from "../../../../navigation/link/link.es.js";
6
+ import { Link as k } from "../../../../navigation/link/link.es.js";
7
7
  import e from "../../sidenav.module.scss.es.js";
8
- import { SideNavDropdown as U } from "../sidenav-dropdown/sidenav-dropdown.es.js";
9
- import { useLabels as V } from "../../../../../providers/label-provider/use-labels.es.js";
10
- import { Tooltip as g } from "../../../../overlays/tooltip/tooltip.es.js";
11
- const X = (B) => {
8
+ import { SideNavDropdown as Q } from "../sidenav-dropdown/sidenav-dropdown.es.js";
9
+ import { useLabels as U } from "../../../../../providers/label-provider/use-labels.es.js";
10
+ import { useSafeId as V } from "../../../../../helpers/hooks/use-safe-id.es.js";
11
+ import { Tooltip as u } from "../../../../overlays/tooltip/tooltip.es.js";
12
+ const X = (R) => {
12
13
  const {
13
14
  icon: a,
14
15
  children: t,
15
- isActive: N,
16
- onClick: f,
17
- subItems: T,
18
- subItemGroups: R,
16
+ isActive: f,
17
+ onClick: N,
18
+ subItems: w,
19
+ subItemGroups: A,
19
20
  as: b,
20
21
  onItemClick: h,
21
- className: j,
22
- level: r = 1,
23
- isCollapsed: m = !1,
24
- isDefaultOpen: z = !1,
25
- sideNavItemSize: H = "default",
26
- ..._
27
- } = B, { getLabel: x } = V(), [o, $] = E(z ?? !1), [S, A] = E(!1), I = K.useId(), p = R ?? (T ? [{ subItems: T }] : null), l = !!p, F = r > 1 && l, G = d(
22
+ className: B,
23
+ level: o = 1,
24
+ isCollapsed: c = !1,
25
+ isDefaultOpen: j = !1,
26
+ sideNavItemSize: z = "default",
27
+ ...m
28
+ } = R, { getLabel: S } = U(), [_, H] = E(j ?? !1), [T, $] = E(!1), x = V("sidenav-collapse"), p = A ?? (w ? [{ subItems: w }] : null), l = !!p, F = o > 1 && l, G = d(
28
29
  e["tedi-sidenav__item"],
29
- e[`tedi-sidenav__item--${H}`],
30
+ e[`tedi-sidenav__item--${z}`],
30
31
  {
31
- [e[`tedi-sidenav__item--level-${r}`]]: r > 1,
32
- [e["tedi-sidenav__item--current"]]: N,
32
+ [e[`tedi-sidenav__item--level-${o}`]]: o > 1,
33
+ [e["tedi-sidenav__item--current"]]: f,
33
34
  [e["tedi-sidenav__item--has-children"]]: l,
34
35
  [e["tedi-sidenav__item--with-tree"]]: F
35
36
  },
36
- j
37
- ), v = (s) => {
38
- const c = {
37
+ B
38
+ ), v = (i) => {
39
+ const r = {
39
40
  color: "white",
40
41
  className: d(e["tedi-sidenav__icon"])
41
- }, u = typeof s == "string" ? { ...c, name: s } : {
42
- ...c,
43
- ...s,
44
- className: d(c.className, s == null ? void 0 : s.className)
42
+ }, g = typeof i == "string" ? { ...r, name: i } : {
43
+ ...r,
44
+ ...i,
45
+ className: d(r.className, i == null ? void 0 : i.className)
45
46
  };
46
- return /* @__PURE__ */ i(M, { ...u });
47
- }, W = (s) => {
48
- f == null || f(s), l || h == null || h();
49
- }, L = (s) => {
50
- $(s);
51
- }, q = l && (_.href || _.to), C = {
52
- ..._,
47
+ return /* @__PURE__ */ s(M, { ...g });
48
+ }, W = (i) => {
49
+ N == null || N(i), l || h == null || h();
50
+ }, L = (i) => {
51
+ H(i);
52
+ }, q = l && (m.href || m.to), I = {
53
+ ...m,
53
54
  as: b,
54
55
  onClick: W,
55
56
  className: d(e["tedi-sidenav__link"], q && e["tedi-sidenav__link--has-children-link"]),
56
57
  noStyle: !0,
57
- role: "menuitem",
58
- "aria-current": N ? "page" : void 0,
59
- "aria-label": m && typeof t == "string" ? t : void 0,
60
- ...l ? {
61
- "aria-haspopup": "true",
62
- "aria-expanded": o,
63
- "aria-controls": I
64
- } : {}
65
- }, k = () => !m && (p == null ? void 0 : p.map((s, y) => {
66
- var c;
58
+ "aria-current": f ? "page" : void 0,
59
+ "aria-label": c && typeof t == "string" ? t : void 0
60
+ }, C = () => !c && (p == null ? void 0 : p.map((i, y) => {
61
+ var r;
67
62
  return /* @__PURE__ */ n("div", { children: [
68
- (s == null ? void 0 : s.subHeading) && /* @__PURE__ */ i("div", { className: e["tedi-sidenav__subheading"], children: s.subHeading }),
69
- /* @__PURE__ */ i("ul", { className: e["tedi-sidenav__list"], role: "menu", children: (c = s.subItems) == null ? void 0 : c.map((u, J) => /* @__PURE__ */ Q(
63
+ (i == null ? void 0 : i.subHeading) && /* @__PURE__ */ s("div", { className: e["tedi-sidenav__subheading"], children: i.subHeading }),
64
+ /* @__PURE__ */ s("ul", { className: e["tedi-sidenav__list"], children: (r = i.subItems) == null ? void 0 : r.map((g, J) => /* @__PURE__ */ K(
70
65
  X,
71
66
  {
72
67
  as: b,
73
- ...u,
68
+ ...g,
74
69
  key: J,
75
- level: r + 1,
70
+ level: o + 1,
76
71
  onItemClick: h,
77
- isCollapsed: m,
78
- className: d(e["tedi-sidenav__sub-item"], u.className)
72
+ isCollapsed: c,
73
+ className: d(e["tedi-sidenav__sub-item"], g.className)
79
74
  }
80
75
  )) })
81
76
  ] }, y);
82
- })), P = /* @__PURE__ */ i("li", { "data-name": "sidenav-item", className: G, children: l && m ? /* @__PURE__ */ i(
83
- U,
77
+ })), P = /* @__PURE__ */ s("li", { "data-name": "sidenav-item", className: G, children: l && c ? /* @__PURE__ */ s(
78
+ Q,
84
79
  {
85
- trigger: /* @__PURE__ */ i(g.Trigger, { children: /* @__PURE__ */ n(
80
+ trigger: /* @__PURE__ */ s(u.Trigger, { children: /* @__PURE__ */ n(
86
81
  "span",
87
82
  {
88
- className: d(e["tedi-sidenav__link"], S && e["tedi-sidenav__link--active"]),
83
+ className: d(e["tedi-sidenav__link"], T && e["tedi-sidenav__link--active"]),
89
84
  children: [
90
85
  a && v(a),
91
- /* @__PURE__ */ i(
86
+ /* @__PURE__ */ s(
92
87
  M,
93
88
  {
94
- name: S ? "chevron_right" : "expand_more",
89
+ name: T ? "chevron_right" : "expand_more",
95
90
  color: "white",
96
91
  className: e["tedi-sidenav__toggle-icon"],
97
92
  size: 18
98
93
  }
99
94
  ),
100
- /* @__PURE__ */ i("span", { className: e["tedi-sidenav__title"], children: t })
95
+ /* @__PURE__ */ s("span", { className: e["tedi-sidenav__title"], children: t })
101
96
  ]
102
97
  }
103
98
  ) }),
104
99
  as: b,
105
100
  groups: p,
106
- onOpenChange: A
101
+ onOpenChange: $
107
102
  }
108
- ) : l && r === 1 ? _.href || _.to ? /* @__PURE__ */ n(D, { children: [
109
- /* @__PURE__ */ n(w, { ...C, children: [
103
+ ) : l && o === 1 ? m.href || m.to ? /* @__PURE__ */ n(D, { children: [
104
+ /* @__PURE__ */ n(k, { ...I, children: [
110
105
  a && v(a),
111
- /* @__PURE__ */ i("span", { className: e["tedi-sidenav__title"], children: t })
106
+ /* @__PURE__ */ s("span", { className: e["tedi-sidenav__title"], children: t })
112
107
  ] }),
113
- /* @__PURE__ */ i("div", { className: e["tedi-sidenav__link-collapse-wrapper"], children: /* @__PURE__ */ i(
108
+ /* @__PURE__ */ s("div", { className: e["tedi-sidenav__link-collapse-wrapper"], children: /* @__PURE__ */ s(
114
109
  O,
115
110
  {
116
- id: I,
111
+ id: x,
117
112
  hideCollapseText: !0,
118
113
  inverted: !0,
119
- open: o,
114
+ contentAsRegion: !1,
115
+ open: _,
120
116
  onToggle: L,
121
- toggleLabel: x("sidenav.toggleSubmenuChildren", {
122
- isCollapsedInternal: o,
117
+ toggleLabel: S("sidenav.toggleSubmenuChildren", {
118
+ isCollapsedInternal: _,
123
119
  children: t
124
120
  }),
125
121
  className: e["tedi-sidenav__collapse"],
126
122
  titleRowProps: { element: "span" },
127
- children: k()
123
+ children: C()
128
124
  }
129
125
  ) })
130
- ] }) : /* @__PURE__ */ i(
126
+ ] }) : /* @__PURE__ */ s(
131
127
  O,
132
128
  {
133
- id: I,
129
+ id: x,
134
130
  hideCollapseText: !0,
135
131
  inverted: !0,
136
132
  fullRowToggle: !0,
137
- open: o,
133
+ contentAsRegion: !1,
134
+ open: _,
138
135
  onToggle: L,
139
136
  className: e["tedi-sidenav__collapse"],
140
137
  titleRowProps: { element: "span" },
141
- toggleLabel: x("sidenav.toggleSubmenuChildren", {
142
- isCollapsedInternal: o,
138
+ toggleLabel: S("sidenav.toggleSubmenuChildren", {
139
+ isCollapsedInternal: _,
143
140
  children: t
144
141
  }),
145
142
  title: /* @__PURE__ */ n(
@@ -147,30 +144,30 @@ const X = (B) => {
147
144
  {
148
145
  className: d(
149
146
  e["tedi-sidenav__link"],
150
- o && e["tedi-sidenav__link--active"]
147
+ _ && e["tedi-sidenav__link--active"]
151
148
  ),
152
- "aria-current": N ? "page" : void 0,
149
+ "aria-current": f ? "page" : void 0,
153
150
  children: [
154
151
  a && v(a),
155
- /* @__PURE__ */ i("span", { className: e["tedi-sidenav__title"], children: t })
152
+ /* @__PURE__ */ s("span", { className: e["tedi-sidenav__title"], children: t })
156
153
  ]
157
154
  }
158
155
  ),
159
- children: k()
156
+ children: C()
160
157
  }
161
158
  ) : l ? /* @__PURE__ */ n(D, { children: [
162
- /* @__PURE__ */ n(w, { ...C, children: [
159
+ /* @__PURE__ */ n(k, { ...I, children: [
163
160
  a && v(a),
164
- /* @__PURE__ */ i("span", { className: e["tedi-sidenav__title"], children: t }),
165
- /* @__PURE__ */ i("i", { className: e["tedi-sidenav__bullet"] })
161
+ /* @__PURE__ */ s("span", { className: e["tedi-sidenav__title"], children: t }),
162
+ /* @__PURE__ */ s("i", { className: e["tedi-sidenav__bullet"] })
166
163
  ] }),
167
- k()
168
- ] }) : /* @__PURE__ */ i(g.Trigger, { children: /* @__PURE__ */ n(w, { ...C, children: [
164
+ C()
165
+ ] }) : /* @__PURE__ */ s(u.Trigger, { children: /* @__PURE__ */ n(k, { ...I, children: [
169
166
  a && v(a),
170
- /* @__PURE__ */ i("span", { className: e["tedi-sidenav__title"], children: t })
167
+ /* @__PURE__ */ s("span", { className: e["tedi-sidenav__title"], children: t })
171
168
  ] }) }) });
172
- return r === 1 && m ? /* @__PURE__ */ n(g, { placement: "right", focusManager: void 0, children: [
173
- /* @__PURE__ */ i(g.Content, { maxWidth: "medium", children: t }),
169
+ return o === 1 && c ? /* @__PURE__ */ n(u, { placement: "right", focusManager: void 0, children: [
170
+ /* @__PURE__ */ s(u.Content, { maxWidth: "medium", children: t }),
174
171
  P
175
172
  ] }) : P;
176
173
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),A=require("../../../../../external/classnames/index.cjs.js"),L=require("../../misc/print/print.cjs.js"),O=require("../mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.cjs.js"),S=require("../mobile-nav/mobile-nav.cjs.js"),V=require("./components/sidenav-dropdown/sidenav-dropdown.cjs.js"),q=require("./components/sidenav-item/sidenav-item.cjs.js"),l=require("./sidenav.module.scss.cjs.js"),C=require("../../../helpers/hooks/use-breakpoint.cjs.js"),F=o=>{const{navItems:u,ariaLabel:r,linkAs:v,showDividers:I=!0,className:m,mobileBreakpoint:h="tablet",showMobileOverlay:j=!0,isMobileOpen:p,isCollapsed:w=!1,onMenuToggle:d,onCollapseToggle:c,sideNavItemSize:k="default",...b}=o,x=e=>({mobile:"md",tablet:"lg"})[e],B=C.default(),i=C.isBreakpointBelow(B,x(h)),t=p!==void 0,[y,f]=n.useState(!i),N=t?p:y,[D,T]=n.useState(w),a=i?!1:D,E="isCollapsed"in o;n.useEffect(()=>{t||f(!i)},[i,t]);const P=e=>{T(e),c==null||c(e)},_=()=>{P(!a)},g=e=>{t||f(e),d==null||d(e)},R=()=>{g(!N)},z=A.default(l.default["tedi-sidenav"],m,{[l.default["tedi-sidenav--has-dividers"]]:I,[l.default["tedi-sidenav--collapsed"]]:a});return i?s.jsx(S.MobileNav,{navItems:u,ariaLabel:r,linkAs:v,isOpen:N,onClose:()=>g(!1),showOverlay:j,className:m,...b}):s.jsx(L.Print,{visibility:"hide",children:s.jsxs("nav",{id:o.id,"data-name":"sidenav",...b,className:z,"aria-label":r,children:[E&&s.jsx(O.MobileNavToggle,{menuOpen:!a,toggleMenu:_,variant:"collapse"}),s.jsx("ul",{className:l.default["tedi-sidenav__list"],role:"menubar","aria-label":r,children:u.map((e,M)=>n.createElement(q.SideNavItem,{as:v,...e,key:M,onItemClick:R,isCollapsed:a,sideNavItemSize:k}))})]})})},G=Object.assign(F,{Toggle:O.MobileNavToggle,Item:q.SideNavItem,Dropdown:V.SideNavDropdown,Mobile:S.MobileNav});exports.SideNav=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),n=require("react"),A=require("../../../../../external/classnames/index.cjs.js"),L=require("../../misc/print/print.cjs.js"),O=require("../mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.cjs.js"),S=require("../mobile-nav/mobile-nav.cjs.js"),V=require("./components/sidenav-dropdown/sidenav-dropdown.cjs.js"),q=require("./components/sidenav-item/sidenav-item.cjs.js"),o=require("./sidenav.module.scss.cjs.js"),C=require("../../../helpers/hooks/use-breakpoint.cjs.js"),F=l=>{const{navItems:c,ariaLabel:u,linkAs:v,showDividers:I=!0,className:p,mobileBreakpoint:h="tablet",showMobileOverlay:j=!0,isMobileOpen:m,isCollapsed:w=!1,onMenuToggle:r,onCollapseToggle:d,sideNavItemSize:k="default",...b}=l,x=e=>({mobile:"md",tablet:"lg"})[e],B=C.default(),s=C.isBreakpointBelow(B,x(h)),i=m!==void 0,[y,f]=n.useState(!s),N=i?m:y,[D,T]=n.useState(w),a=s?!1:D,E="isCollapsed"in l;n.useEffect(()=>{i||f(!s)},[s,i]);const P=e=>{T(e),d==null||d(e)},_=()=>{P(!a)},g=e=>{i||f(e),r==null||r(e)},R=()=>{g(!N)},z=A.default(o.default["tedi-sidenav"],p,{[o.default["tedi-sidenav--has-dividers"]]:I,[o.default["tedi-sidenav--collapsed"]]:a});return s?t.jsx(S.MobileNav,{navItems:c,ariaLabel:u,linkAs:v,isOpen:N,onClose:()=>g(!1),showOverlay:j,className:p,...b}):t.jsx(L.Print,{visibility:"hide",children:t.jsxs("nav",{id:l.id,"data-name":"sidenav",...b,className:z,"aria-label":u,children:[E&&t.jsx(O.MobileNavToggle,{menuOpen:!a,toggleMenu:_,variant:"collapse"}),t.jsx("ul",{className:o.default["tedi-sidenav__list"],children:c.map((e,M)=>n.createElement(q.SideNavItem,{as:v,...e,key:M,onItemClick:R,isCollapsed:a,sideNavItemSize:k}))})]})})},G=Object.assign(F,{Toggle:O.MobileNavToggle,Item:q.SideNavItem,Dropdown:V.SideNavDropdown,Mobile:S.MobileNav});exports.SideNav=G;
@@ -8,10 +8,10 @@ import { SideNavDropdown as H } from "./components/sidenav-dropdown/sidenav-drop
8
8
  import { SideNavItem as h } from "./components/sidenav-item/sidenav-item.es.js";
9
9
  import a from "./sidenav.module.scss.es.js";
10
10
  import J, { isBreakpointBelow as K } from "../../../helpers/hooks/use-breakpoint.es.js";
11
- const Q = (l) => {
11
+ const Q = (n) => {
12
12
  const {
13
- navItems: d,
14
- ariaLabel: n,
13
+ navItems: m,
14
+ ariaLabel: d,
15
15
  linkAs: p,
16
16
  showDividers: k = !0,
17
17
  className: c,
@@ -19,34 +19,34 @@ const Q = (l) => {
19
19
  showMobileOverlay: I = !0,
20
20
  isMobileOpen: v,
21
21
  isCollapsed: B = !1,
22
- onMenuToggle: r,
23
- onCollapseToggle: m,
22
+ onMenuToggle: l,
23
+ onCollapseToggle: r,
24
24
  sideNavItemSize: S = "default",
25
25
  ...f
26
- } = l, y = (e) => ({
26
+ } = n, y = (e) => ({
27
27
  mobile: "md",
28
28
  tablet: "lg"
29
- })[e], j = J(), i = K(j, y(w)), s = v !== void 0, [x, b] = M(!i), u = s ? v : x, [D, E] = M(B), t = i ? !1 : D, P = "isCollapsed" in l;
29
+ })[e], j = J(), s = K(j, y(w)), i = v !== void 0, [x, b] = M(!s), u = i ? v : x, [D, E] = M(B), t = s ? !1 : D, P = "isCollapsed" in n;
30
30
  V(() => {
31
- s || b(!i);
32
- }, [i, s]);
31
+ i || b(!s);
32
+ }, [s, i]);
33
33
  const _ = (e) => {
34
- E(e), m == null || m(e);
34
+ E(e), r == null || r(e);
35
35
  }, z = () => {
36
36
  _(!t);
37
37
  }, C = (e) => {
38
- s || b(e), r == null || r(e);
38
+ i || b(e), l == null || l(e);
39
39
  }, A = () => {
40
40
  C(!u);
41
41
  }, L = F(a["tedi-sidenav"], c, {
42
42
  [a["tedi-sidenav--has-dividers"]]: k,
43
43
  [a["tedi-sidenav--collapsed"]]: t
44
44
  });
45
- return i ? /* @__PURE__ */ o(
45
+ return s ? /* @__PURE__ */ o(
46
46
  g,
47
47
  {
48
- navItems: d,
49
- ariaLabel: n,
48
+ navItems: m,
49
+ ariaLabel: d,
50
50
  linkAs: p,
51
51
  isOpen: u,
52
52
  onClose: () => C(!1),
@@ -54,9 +54,9 @@ const Q = (l) => {
54
54
  className: c,
55
55
  ...f
56
56
  }
57
- ) : /* @__PURE__ */ o(G, { visibility: "hide", children: /* @__PURE__ */ T("nav", { id: l.id, "data-name": "sidenav", ...f, className: L, "aria-label": n, children: [
57
+ ) : /* @__PURE__ */ o(G, { visibility: "hide", children: /* @__PURE__ */ T("nav", { id: n.id, "data-name": "sidenav", ...f, className: L, "aria-label": d, children: [
58
58
  P && /* @__PURE__ */ o(O, { menuOpen: !t, toggleMenu: z, variant: "collapse" }),
59
- /* @__PURE__ */ o("ul", { className: a["tedi-sidenav__list"], role: "menubar", "aria-label": n, children: d.map((e, N) => /* @__PURE__ */ q(
59
+ /* @__PURE__ */ o("ul", { className: a["tedi-sidenav__list"], children: m.map((e, N) => /* @__PURE__ */ q(
60
60
  h,
61
61
  {
62
62
  as: p,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("../../../../../../../external/classnames/index.cjs.js"),w=require("react"),f=require("../../../../base/icon/icon.cjs.js"),e=require("../../top-nav.module.scss.cjs.js"),v=w.forwardRef((_,b)=>{const{children:h,href:l,icon:n,isActive:s=!1,hasSubmenu:u=!1,disabled:i=!1,onClick:d,as:N,className:x,submenu:I,renderSubmenuInline:j=!1,isSubmenuOpen:g,panelId:r,...y}=_,c=!l&&u,S=N??(c?"button":"a"),o=g??s,p=j&&o&&u,T=m=>{if(i){m.preventDefault();return}d==null||d(m)},k=a.default(e.default["tedi-top-nav__link"],{[e.default["tedi-top-nav__link--active"]]:s||o},x),q={...y,ref:b,className:k,onClick:T,...c?{type:"button",disabled:i,"aria-haspopup":!0,"aria-expanded":o,"aria-controls":r}:{href:i?void 0:l,"aria-current":s?"page":void 0,"aria-disabled":i||void 0}};return t.jsxs("li",{className:a.default(e.default["tedi-top-nav__item"],{[e.default["tedi-top-nav__item--has-inline-submenu"]]:p}),children:[t.jsxs(S,{...q,children:[n&&t.jsx(f.Icon,{className:e.default["tedi-top-nav__icon"],...typeof n=="string"?{name:n}:n,size:typeof n=="string"?18:n.size??18,color:"inherit"}),h,u&&t.jsx(f.Icon,{className:a.default(e.default["tedi-top-nav__icon"],e.default["tedi-top-nav__chevron"],{[e.default["tedi-top-nav__chevron--open"]]:o}),name:"keyboard_arrow_down",size:18,color:"inherit"})]}),p&&t.jsx("div",{id:r,className:a.default(e.default["tedi-top-nav__submenu"],e.default["tedi-top-nav__submenu--inline"]),"data-name":"top-nav-submenu",children:t.jsx("div",{className:a.default(e.default["tedi-top-nav__submenu-inner"],e.default["tedi-top-nav__submenu-inner--inline"]),children:I})})]})});v.displayName="TopNav.Item";const C=v;exports.TopNavItem=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("../../../../../../../external/classnames/index.cjs.js"),w=require("react"),f=require("../../../../base/icon/icon.cjs.js"),e=require("../../top-nav.module.scss.cjs.js"),v=w.forwardRef((_,b)=>{const{children:h,href:u,icon:n,isActive:s=!1,hasSubmenu:d=!1,disabled:i=!1,onClick:l,as:N,className:x,submenu:I,renderSubmenuInline:j=!1,isSubmenuOpen:g,panelId:r,...y}=_,c=!u&&d,S=N??(c?"button":"a"),o=g??s,m=j&&o&&d,T=p=>{if(i){p.preventDefault();return}l==null||l(p)},k=a.default(e.default["tedi-top-nav__link"],{[e.default["tedi-top-nav__link--active"]]:s||o},x),q={...y,ref:b,className:k,onClick:T,...c?{type:"button",disabled:i,"aria-expanded":o,"aria-controls":r}:{href:i?void 0:u,"aria-current":s?"page":void 0,"aria-disabled":i||void 0}};return t.jsxs("li",{className:a.default(e.default["tedi-top-nav__item"],{[e.default["tedi-top-nav__item--has-inline-submenu"]]:m}),children:[t.jsxs(S,{...q,children:[n&&t.jsx(f.Icon,{className:e.default["tedi-top-nav__icon"],...typeof n=="string"?{name:n}:n,size:typeof n=="string"?18:n.size??18,color:"inherit"}),h,d&&t.jsx(f.Icon,{className:a.default(e.default["tedi-top-nav__icon"],e.default["tedi-top-nav__chevron"],{[e.default["tedi-top-nav__chevron--open"]]:o}),name:"keyboard_arrow_down",size:18,color:"inherit"})]}),m&&t.jsx("div",{id:r,className:a.default(e.default["tedi-top-nav__submenu"],e.default["tedi-top-nav__submenu--inline"]),"data-name":"top-nav-submenu",children:t.jsx("div",{className:a.default(e.default["tedi-top-nav__submenu-inner"],e.default["tedi-top-nav__submenu-inner--inline"]),children:I})})]})});v.displayName="TopNav.Item";const C=v;exports.TopNavItem=C;
@@ -7,7 +7,7 @@ const b = P(
7
7
  (f, h) => {
8
8
  const {
9
9
  children: N,
10
- href: p,
10
+ href: l,
11
11
  icon: n,
12
12
  isActive: s = !1,
13
13
  hasSubmenu: r = !1,
@@ -18,9 +18,9 @@ const b = P(
18
18
  submenu: g,
19
19
  renderSubmenuInline: k = !1,
20
20
  isSubmenuOpen: w,
21
- panelId: l,
21
+ panelId: p,
22
22
  ...x
23
- } = f, c = !p && r, C = I ?? (c ? "button" : "a"), a = w ?? s, d = k && a && r, S = (u) => {
23
+ } = f, c = !l && r, C = I ?? (c ? "button" : "a"), a = w ?? s, d = k && a && r, S = (u) => {
24
24
  if (o) {
25
25
  u.preventDefault();
26
26
  return;
@@ -40,11 +40,10 @@ const b = P(
40
40
  ...c ? {
41
41
  type: "button",
42
42
  disabled: o,
43
- "aria-haspopup": !0,
44
43
  "aria-expanded": a,
45
- "aria-controls": l
44
+ "aria-controls": p
46
45
  } : {
47
- href: o ? void 0 : p,
46
+ href: o ? void 0 : l,
48
47
  "aria-current": s ? "page" : void 0,
49
48
  "aria-disabled": o || void 0
50
49
  }
@@ -82,7 +81,7 @@ const b = P(
82
81
  d && /* @__PURE__ */ i(
83
82
  "div",
84
83
  {
85
- id: l,
84
+ id: p,
86
85
  className: t(e["tedi-top-nav__submenu"], e["tedi-top-nav__submenu--inline"]),
87
86
  "data-name": "top-nav-submenu",
88
87
  children: /* @__PURE__ */ i("div", { className: t(e["tedi-top-nav__submenu-inner"], e["tedi-top-nav__submenu-inner--inline"]), children: g })
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../../../../../../external/classnames/index.cjs.js"),a=require("../../top-nav.module.scss.cjs.js"),r=({className:t})=>e.jsx("li",{role:"separator","aria-orientation":"vertical",className:o.default(a.default["tedi-top-nav__separator"],t),children:e.jsx("span",{className:a.default["tedi-top-nav__separator-line"],"aria-hidden":"true"})});r.displayName="TopNav.Separator";exports.TopNavSeparator=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../../../../../../external/classnames/index.cjs.js"),a=require("../../top-nav.module.scss.cjs.js"),t=({className:r})=>e.jsx("li",{className:o.default(a.default["tedi-top-nav__separator"],r),children:e.jsx("span",{role:"separator","aria-orientation":"vertical",className:a.default["tedi-top-nav__separator-line"]})});t.displayName="TopNav.Separator";exports.TopNavSeparator=t;
@@ -1,7 +1,7 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import o from "../../../../../../../external/classnames/index.es.js";
2
+ import e from "../../../../../../../external/classnames/index.es.js";
3
3
  import r from "../../top-nav.module.scss.es.js";
4
- const t = ({ className: e }) => /* @__PURE__ */ a("li", { role: "separator", "aria-orientation": "vertical", className: o(r["tedi-top-nav__separator"], e), children: /* @__PURE__ */ a("span", { className: r["tedi-top-nav__separator-line"], "aria-hidden": "true" }) });
4
+ const t = ({ className: o }) => /* @__PURE__ */ a("li", { className: e(r["tedi-top-nav__separator"], o), children: /* @__PURE__ */ a("span", { role: "separator", "aria-orientation": "vertical", className: r["tedi-top-nav__separator-line"] }) });
5
5
  t.displayName = "TopNav.Separator";
6
6
  export {
7
7
  t as TopNavSeparator
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),ne=require("../../../../../external/classnames/index.cjs.js"),t=require("react"),oe=require("../mobile-nav/mobile-nav.cjs.js"),W=require("./components/top-nav-group/top-nav-group.cjs.js"),g=require("./components/top-nav-item/top-nav-item.cjs.js"),G=require("./components/top-nav-separator/top-nav-separator.cjs.js"),R=require("./components/top-nav-subitem/top-nav-subitem.cjs.js"),v=require("./top-nav.module.scss.cjs.js"),se=require("./top-nav-context.cjs.js"),C=require("../../../helpers/hooks/use-breakpoint.cjs.js"),re=n=>{if(!(n===void 0||n==="none"||n===0))return typeof n=="string"&&n!=="xs"&&n in C.BREAKPOINT_WIDTHS?C.BREAKPOINT_WIDTHS[n]:n},L=n=>{const r=[];return t.Children.forEach(n,o=>{if(t.isValidElement(o)){if(o.type===t.Fragment){r.push(...L(o.props.children));return}(o.type===g.TopNavItem||o.type===G.TopNavSeparator)&&r.push(o)}}),r},A=n=>n.type===g.TopNavItem,ie=n=>({children:n.props.children,href:n.props.href,isActive:n.props.isActive,onClick:n.props.onClick}),P=n=>{if(!n)return;const r=[];return t.Children.forEach(n,o=>{if(!t.isValidElement(o))return;if(o.type===t.Fragment){const i=P(o.props.children);i&&r.push(...i);return}if(o.type!==W.TopNavGroup)return;const f=o.props,p=[];t.Children.forEach(f.children,i=>{t.isValidElement(i)&&i.type===R.TopNavSubItem&&p.push(ie(i))}),p.length>0&&r.push({subHeading:f.title,subItems:p})}),r.length>0?r:void 0},l=n=>{const{children:r,ariaLabel:o,mobileBreakpoint:f="md",isMobileOpen:p,onMenuToggle:i,showMobileOverlay:V=!0,className:O,id:D,submenuFit:F="full",maxWidth:H="xxl"}=n,K=C.default(),T=C.isBreakpointBelow(K,f),b=p!==void 0,[$,q]=t.useState(!1),z=b?p:$;t.useEffect(()=>{!b&&!T&&q(!1)},[T,b]);const J=e=>{b||q(e),i==null||i(e)},E=t.useMemo(()=>L(r),[r]),c=t.useMemo(()=>E.filter(A),[E]),k=e=>!e.props.href&&t.Children.count(e.props.submenu)>0,M=t.useMemo(()=>{const e=c.findIndex(s=>k(s)&&s.props.isActive);return e===-1?null:e},[c]),[N,d]=t.useState(M);t.useEffect(()=>{d(M)},[M]);const _=t.useCallback(()=>d(null),[]),Q=t.useMemo(()=>({closeSubmenu:_}),[_]),I=t.useRef(null),h=t.useId();t.useEffect(()=>{if(N===null)return;const e=u=>{I.current&&!I.current.contains(u.target)&&d(null)},s=u=>{var S;if(u.key!=="Escape")return;const m=(S=I.current)==null?void 0:S.querySelector(`[aria-controls="${CSS.escape(h)}"][aria-expanded="true"]`);m==null||m.focus(),d(null)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[N,h]);const w=(e,s)=>k(e)?N===s:!!e.props.isActive,j=t.useMemo(()=>c.find((e,s)=>w(e,s)&&t.Children.count(e.props.submenu)>0),[c,N]),U=t.useMemo(()=>c.map(e=>({children:e.props.children,disabled:e.props.disabled,href:e.props.href,icon:e.props.icon,isActive:e.props.isActive,onClick:e.props.onClick,subItemGroups:P(e.props.submenu)})),[c]);if(T)return a.jsx(oe.MobileNav,{navItems:U,ariaLabel:o,isOpen:z,onClose:()=>J(!1),showOverlay:V,className:O});const B=F==="content",x=re(H);let X=0;return a.jsx(se.TopNavContext.Provider,{value:Q,children:a.jsxs("nav",{ref:I,id:D,className:ne.default(v.default["tedi-top-nav"],O),"aria-label":o,"data-name":"top-nav",children:[a.jsx("div",{className:v.default["tedi-top-nav__bar"],children:a.jsx("ul",{className:v.default["tedi-top-nav__list"],style:x!==void 0?{maxWidth:x}:void 0,children:E.map((e,s)=>{if(A(e)){const u=X++,m=t.Children.count(e.props.submenu)>0,S=k(e),Y=w(e,u),y=e.props.onClick,Z=S?ee=>{y==null||y(ee),d(te=>te===u?null:u)}:y;return t.cloneElement(e,{key:s,hasSubmenu:m,renderSubmenuInline:B,isSubmenuOpen:Y,panelId:h,onClick:Z})}return t.cloneElement(e,{key:s})})})}),!B&&j&&a.jsx("div",{id:h,className:v.default["tedi-top-nav__submenu"],"data-name":"top-nav-submenu",children:a.jsx("div",{className:v.default["tedi-top-nav__submenu-inner"],style:x!==void 0?{maxWidth:x}:void 0,children:j.props.submenu})})]})})};l.displayName="TopNav";l.Item=g.TopNavItem;l.Group=W.TopNavGroup;l.SubItem=R.TopNavSubItem;l.Separator=G.TopNavSeparator;exports.TopNav=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),ne=require("../../../../../external/classnames/index.cjs.js"),t=require("react"),oe=require("../mobile-nav/mobile-nav.cjs.js"),W=require("./components/top-nav-group/top-nav-group.cjs.js"),g=require("./components/top-nav-item/top-nav-item.cjs.js"),G=require("./components/top-nav-separator/top-nav-separator.cjs.js"),R=require("./components/top-nav-subitem/top-nav-subitem.cjs.js"),v=require("./top-nav.module.scss.cjs.js"),se=require("./top-nav-context.cjs.js"),C=require("../../../helpers/hooks/use-breakpoint.cjs.js"),re=require("../../../helpers/hooks/use-safe-id.cjs.js"),ie=n=>{if(!(n===void 0||n==="none"||n===0))return typeof n=="string"&&n!=="xs"&&n in C.BREAKPOINT_WIDTHS?C.BREAKPOINT_WIDTHS[n]:n},L=n=>{const r=[];return t.Children.forEach(n,o=>{if(t.isValidElement(o)){if(o.type===t.Fragment){r.push(...L(o.props.children));return}(o.type===g.TopNavItem||o.type===G.TopNavSeparator)&&r.push(o)}}),r},A=n=>n.type===g.TopNavItem,ue=n=>({children:n.props.children,href:n.props.href,isActive:n.props.isActive,onClick:n.props.onClick}),P=n=>{if(!n)return;const r=[];return t.Children.forEach(n,o=>{if(!t.isValidElement(o))return;if(o.type===t.Fragment){const i=P(o.props.children);i&&r.push(...i);return}if(o.type!==W.TopNavGroup)return;const f=o.props,p=[];t.Children.forEach(f.children,i=>{t.isValidElement(i)&&i.type===R.TopNavSubItem&&p.push(ue(i))}),p.length>0&&r.push({subHeading:f.title,subItems:p})}),r.length>0?r:void 0},l=n=>{const{children:r,ariaLabel:o,mobileBreakpoint:f="md",isMobileOpen:p,onMenuToggle:i,showMobileOverlay:V=!0,className:q,id:D,submenuFit:F="full",maxWidth:H="xxl"}=n,K=C.default(),T=C.isBreakpointBelow(K,f),b=p!==void 0,[$,O]=t.useState(!1),z=b?p:$;t.useEffect(()=>{!b&&!T&&O(!1)},[T,b]);const J=e=>{b||O(e),i==null||i(e)},E=t.useMemo(()=>L(r),[r]),c=t.useMemo(()=>E.filter(A),[E]),k=e=>!e.props.href&&t.Children.count(e.props.submenu)>0,M=t.useMemo(()=>{const e=c.findIndex(s=>k(s)&&s.props.isActive);return e===-1?null:e},[c]),[N,d]=t.useState(M);t.useEffect(()=>{d(M)},[M]);const _=t.useCallback(()=>d(null),[]),Q=t.useMemo(()=>({closeSubmenu:_}),[_]),I=t.useRef(null),h=re.useSafeId("tedi-top-nav-submenu");t.useEffect(()=>{if(N===null)return;const e=u=>{I.current&&!I.current.contains(u.target)&&d(null)},s=u=>{var S;if(u.key!=="Escape")return;const m=(S=I.current)==null?void 0:S.querySelector(`[aria-controls="${CSS.escape(h)}"][aria-expanded="true"]`);m==null||m.focus(),d(null)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[N,h]);const w=(e,s)=>k(e)?N===s:!!e.props.isActive,j=t.useMemo(()=>c.find((e,s)=>w(e,s)&&t.Children.count(e.props.submenu)>0),[c,N]),U=t.useMemo(()=>c.map(e=>({children:e.props.children,disabled:e.props.disabled,href:e.props.href,icon:e.props.icon,isActive:e.props.isActive,onClick:e.props.onClick,subItemGroups:P(e.props.submenu)})),[c]);if(T)return a.jsx(oe.MobileNav,{navItems:U,ariaLabel:o,isOpen:z,onClose:()=>J(!1),showOverlay:V,className:q});const B=F==="content",x=ie(H);let X=0;return a.jsx(se.TopNavContext.Provider,{value:Q,children:a.jsxs("nav",{ref:I,id:D,className:ne.default(v.default["tedi-top-nav"],q),"aria-label":o,"data-name":"top-nav",children:[a.jsx("div",{className:v.default["tedi-top-nav__bar"],children:a.jsx("ul",{className:v.default["tedi-top-nav__list"],style:x!==void 0?{maxWidth:x}:void 0,children:E.map((e,s)=>{if(A(e)){const u=X++,m=t.Children.count(e.props.submenu)>0,S=k(e),Y=w(e,u),y=e.props.onClick,Z=S?ee=>{y==null||y(ee),d(te=>te===u?null:u)}:y;return t.cloneElement(e,{key:s,hasSubmenu:m,renderSubmenuInline:B,isSubmenuOpen:Y,panelId:h,onClick:Z})}return t.cloneElement(e,{key:s})})})}),!B&&j&&a.jsx("div",{id:h,className:v.default["tedi-top-nav__submenu"],"data-name":"top-nav-submenu",children:a.jsx("div",{className:v.default["tedi-top-nav__submenu-inner"],style:x!==void 0?{maxWidth:x}:void 0,children:j.props.submenu})})]})})};l.displayName="TopNav";l.Item=g.TopNavItem;l.Group=W.TopNavGroup;l.SubItem=R.TopNavSubItem;l.Separator=G.TopNavSeparator;exports.TopNav=l;
@@ -1,14 +1,15 @@
1
1
  import { jsx as u, jsxs as ae } from "react/jsx-runtime";
2
2
  import ue from "../../../../../external/classnames/index.es.js";
3
- import R, { useState as P, useEffect as g, useMemo as c, useCallback as ce, useRef as le, useId as me, Children as l, isValidElement as w, Fragment as D } from "react";
4
- import { MobileNav as de } from "../mobile-nav/mobile-nav.es.js";
3
+ import R, { useState as P, useEffect as g, useMemo as c, useCallback as ce, useRef as le, Children as l, isValidElement as w, Fragment as D } from "react";
4
+ import { MobileNav as me } from "../mobile-nav/mobile-nav.es.js";
5
5
  import { TopNavGroup as F } from "./components/top-nav-group/top-nav-group.es.js";
6
6
  import { TopNavItem as M } from "./components/top-nav-item/top-nav-item.es.js";
7
7
  import { TopNavSeparator as H } from "./components/top-nav-separator/top-nav-separator.es.js";
8
8
  import { TopNavSubItem as K } from "./components/top-nav-subitem/top-nav-subitem.es.js";
9
9
  import f from "./top-nav.module.scss.es.js";
10
- import { TopNavContext as fe } from "./top-nav-context.es.js";
11
- import ve, { isBreakpointBelow as be, BREAKPOINT_WIDTHS as V } from "../../../helpers/hooks/use-breakpoint.es.js";
10
+ import { TopNavContext as de } from "./top-nav-context.es.js";
11
+ import fe, { isBreakpointBelow as ve, BREAKPOINT_WIDTHS as V } from "../../../helpers/hooks/use-breakpoint.es.js";
12
+ import { useSafeId as be } from "../../../helpers/hooks/use-safe-id.es.js";
12
13
  const he = (n) => {
13
14
  if (!(n === void 0 || n === "none" || n === 0))
14
15
  return typeof n == "string" && n !== "xs" && n in V ? V[n] : n;
@@ -56,7 +57,7 @@ const he = (n) => {
56
57
  id: J,
57
58
  submenuFit: Q = "full",
58
59
  maxWidth: U = "xxl"
59
- } = n, X = ve(), C = be(X, b), h = p !== void 0, [Y, B] = P(!1), Z = h ? p : Y;
60
+ } = n, X = fe(), C = ve(X, b), h = p !== void 0, [Y, B] = P(!1), Z = h ? p : Y;
60
61
  g(() => {
61
62
  !h && !C && B(!1);
62
63
  }, [C, h]);
@@ -69,7 +70,7 @@ const he = (n) => {
69
70
  g(() => {
70
71
  m(_);
71
72
  }, [_]);
72
- const A = ce(() => m(null), []), ne = c(() => ({ closeSubmenu: A }), [A]), x = le(null), y = me();
73
+ const A = ce(() => m(null), []), ne = c(() => ({ closeSubmenu: A }), [A]), x = le(null), y = be("tedi-top-nav-submenu");
73
74
  g(() => {
74
75
  if (I === null) return;
75
76
  const e = (i) => {
@@ -104,7 +105,7 @@ const he = (n) => {
104
105
  );
105
106
  if (C)
106
107
  return /* @__PURE__ */ u(
107
- de,
108
+ me,
108
109
  {
109
110
  navItems: oe,
110
111
  ariaLabel: o,
@@ -116,7 +117,7 @@ const he = (n) => {
116
117
  );
117
118
  const G = Q === "content", N = he(U);
118
119
  let te = 0;
119
- return /* @__PURE__ */ u(fe.Provider, { value: ne, children: /* @__PURE__ */ ae(
120
+ return /* @__PURE__ */ u(de.Provider, { value: ne, children: /* @__PURE__ */ ae(
120
121
  "nav",
121
122
  {
122
123
  ref: x,
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=p=>null;e.displayName="CardStepperStep";exports.CardStepperStep=e;
@@ -0,0 +1,86 @@
1
+ import { default as React } from 'react';
2
+ import { VerticalStepperItemState } from '../vertical-stepper/vertical-stepper-item';
3
+ import { VerticalStepperSubItemState } from '../vertical-stepper/vertical-stepper-sub-item';
4
+ export interface CardStepperSubStepProps {
5
+ /**
6
+ * Sub-step label.
7
+ */
8
+ title: React.ReactNode;
9
+ /**
10
+ * Visual / semantic state shown in the step-list modal.
11
+ * @default default
12
+ */
13
+ state?: VerticalStepperSubItemState;
14
+ /**
15
+ * Marks the sub-step as the active one.
16
+ */
17
+ current?: boolean;
18
+ /**
19
+ * Stable key for the sub-step. Falls back to the array index.
20
+ */
21
+ id?: string;
22
+ /**
23
+ * Renders the sub-step as disabled (non-interactive) in the modal.
24
+ */
25
+ disabled?: boolean;
26
+ /**
27
+ * Click handler — makes the sub-step navigable in the modal and closes the list when picked.
28
+ */
29
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => void;
30
+ /**
31
+ * Navigates when set; renders the sub-step as a link in the modal.
32
+ */
33
+ href?: string;
34
+ }
35
+ export interface CardStepperStepProps {
36
+ /**
37
+ * Step title.
38
+ */
39
+ title: React.ReactNode;
40
+ /**
41
+ * Optional secondary line shown under the title (on the card for the active
42
+ * step, and always in the step-list modal).
43
+ */
44
+ description?: React.ReactNode;
45
+ /**
46
+ * Visual / semantic state used in the progress bar and the step-list modal.
47
+ * @default default
48
+ */
49
+ state?: VerticalStepperItemState;
50
+ /**
51
+ * Stable key for the step. Falls back to the array index.
52
+ */
53
+ id?: string;
54
+ /**
55
+ * Excludes the step from navigation — not reachable via the arrows or the step
56
+ * list, and rendered as disabled in the modal.
57
+ */
58
+ disabled?: boolean;
59
+ /**
60
+ * Custom content rendered at the bottom of the card when this step is active —
61
+ * e.g. an inline `Alert`, a "read more" link or an action button. Only shown for
62
+ * the active step. Matches the Figma "with bottom slot" variant.
63
+ */
64
+ bottomSlot?: React.ReactNode;
65
+ /**
66
+ * Sub-steps shown under this step in the step-list modal. When present the step
67
+ * becomes a collapsible parent — the title navigates and a chevron expands the
68
+ * sub-step list.
69
+ */
70
+ subSteps?: CardStepperSubStepProps[];
71
+ /**
72
+ * Whether the sub-step list starts expanded in the modal. Defaults to expanded
73
+ * for the active step. Only relevant with `subSteps`.
74
+ */
75
+ defaultExpanded?: boolean;
76
+ }
77
+ /**
78
+ * Declarative step config for `CardStepper`. It renders nothing on its own — the
79
+ * parent reads its props to build the active card, the progress bar and the
80
+ * step-list modal. Use it as `CardStepper.Step`.
81
+ */
82
+ export declare const CardStepperStep: {
83
+ (_props: CardStepperStepProps): null;
84
+ displayName: string;
85
+ };
86
+ export default CardStepperStep;
@@ -0,0 +1,5 @@
1
+ const p = (e) => null;
2
+ p.displayName = "CardStepperStep";
3
+ export {
4
+ p as CardStepperStep
5
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),h=require("../../../../../external/classnames/index.cjs.js"),m=require("react"),ce=require("../../base/icon/icon.cjs.js"),R=require("../../base/typography/text/text.cjs.js"),w=require("../../buttons/button/button.cjs.js"),le=require("../../overlays/sheet/sheet.cjs.js"),C=require("../vertical-stepper/vertical-stepper.cjs.js"),r=require("./card-stepper.module.scss.cjs.js"),V=require("./card-stepper-step.cjs.js"),pe=require("../../../providers/label-provider/use-labels.cjs.js"),D=m.forwardRef((F,z)=>{const{children:J,steps:G,activeStep:y,defaultActiveStep:K=0,onStepChange:j,showStepNumber:Q=!0,showStatusIcon:U=!1,descriptionPosition:g="bottom",counterPosition:S="inline",showProgress:q=!0,showNavigation:_=!1,showStepList:I=!0,allowJump:N=!0,headingElement:W="h4",labels:a,"aria-label":X,className:Y}=F,{getLabel:p}=pe.useLabels(),u={previous:(a==null?void 0:a.previous)??p("stepper.previous"),next:(a==null?void 0:a.next)??p("stepper.next"),openSteps:(a==null?void 0:a.openSteps)??p("stepper.open-steps"),modalHeading:(a==null?void 0:a.modalHeading)??p("stepper.steps"),status:(a==null?void 0:a.status)??((e,s)=>p("stepper.status",e,s))},k=m.Children.toArray(J).filter(e=>m.isValidElement(e)&&e.type===V.CardStepperStep).map(e=>e.props),n=k.length>0?k:G??[],T=y!==void 0,[Z,$]=m.useState(K),f=n.length,o=Math.min(Math.max(T?y:Z,0),Math.max(f-1,0)),[L,v]=m.useState(!1),ee=m.useId(),d=n[o],M=Q&&!_,te=_||M,b=e=>{var s;e<0||e>=f||e===o||(s=n[e])!=null&&s.disabled||(T||$(e),j==null||j(e))},re=e=>{const s=n[e];return!s||s.disabled?!1:N===!0?!0:N===!1?!1:N==="completed"?s.state==="completed":s.state==="completed"||e===o+1},O=(e,s)=>{for(let c=e;c>=0&&c<f;c+=s)if(!n[c].disabled)return c;return-1},P=O(o-1,-1),A=O(o+1,1);if(!d)return t.jsx(t.Fragment,{});const se=q&&!d.bottomSlot,B=t.jsxs("span",{className:r.default["tedi-card-stepper__counter"],children:[t.jsxs("span",{"aria-hidden":"true",children:[o+1," / ",f]}),t.jsx("span",{className:"visually-hidden",children:u.status(o+1,f)})]}),x=d.description?t.jsx(R.Text,{modifiers:"small",color:"tertiary",className:r.default["tedi-card-stepper__description"],children:d.description}):null,E=g==="top"&&x,ae=S==="top"||E,de=g==="bottom"&&n.some(e=>e.description);return t.jsxs("div",{ref:z,role:"group","aria-label":X,className:h.default(r.default["tedi-card-stepper"],{[r.default["tedi-card-stepper--progress-flush"]]:se,[r.default["tedi-card-stepper--reserve-description"]]:de},Y),children:[t.jsxs("div",{className:h.default(r.default["tedi-card-stepper__main"],{[r.default["tedi-card-stepper__main--no-lead"]]:!te}),children:[_&&t.jsx(w.Button,{visualType:"neutral",icon:"arrow_back",className:h.default(r.default["tedi-card-stepper__lead"],r.default["tedi-card-stepper__nav-prev"]),disabled:P===-1,onClick:()=>b(P),children:u.previous}),M&&t.jsx("span",{className:h.default(r.default["tedi-card-stepper__indicator"],r.default["tedi-card-stepper__lead"]),"aria-hidden":"true",children:o+1}),t.jsxs("div",{className:r.default["tedi-card-stepper__body"],children:[ae&&t.jsxs("div",{className:r.default["tedi-card-stepper__top"],children:[S==="top"&&B,E&&x]}),t.jsxs(R.Text,{element:W,id:ee,modifiers:"h4",className:r.default["tedi-card-stepper__title"],children:[d.title,U&&(d.state==="completed"||d.state==="error")&&t.jsx(ce.Icon,{name:d.state==="completed"?"check":"error",color:d.state==="completed"?"success":"danger",size:18,display:"block",label:p(d.state==="completed"?"stepper.completed":"stepper.error"),className:r.default["tedi-card-stepper__status-icon"]})]}),g==="bottom"&&x&&t.jsx("div",{className:r.default["tedi-card-stepper__description-bottom"],children:x})]}),t.jsxs("div",{className:r.default["tedi-card-stepper__trail"],children:[S==="inline"&&B,I&&t.jsx(w.Button,{visualType:"neutral",icon:"list","aria-haspopup":"dialog","aria-expanded":L,onClick:()=>v(!0),children:u.openSteps}),_&&t.jsx(w.Button,{visualType:"neutral",icon:"arrow_forward",className:r.default["tedi-card-stepper__nav-next"],disabled:A===-1,onClick:()=>b(A),children:u.next})]})]}),q&&t.jsx("ol",{className:r.default["tedi-card-stepper__progress"],"aria-hidden":"true",children:n.map((e,s)=>t.jsx("li",{className:h.default(r.default["tedi-card-stepper__segment"],{[r.default["tedi-card-stepper__segment--done"]]:s<=o})},e.id??s))}),d.bottomSlot&&t.jsx("div",{className:r.default["tedi-card-stepper__bottom-slot"],children:d.bottomSlot}),I&&t.jsx(le.Sheet,{open:L,onToggle:v,title:u.modalHeading,children:t.jsx(C.VerticalStepper,{"aria-label":u.modalHeading,children:n.map((e,s)=>{const c=re(s),l=e.subSteps,ie=!!(l!=null&&l.some(i=>i.current));return t.jsx(C.VerticalStepper.Item,{title:e.title,description:e.description,state:e.disabled?"disabled":e.state,current:s===o&&!ie,onClick:c?()=>{b(s),v(!1)}:void 0,defaultOpen:l?e.defaultExpanded??s===o:void 0,children:l==null?void 0:l.map((i,oe)=>t.jsx(C.VerticalStepper.SubItem,{title:i.title,state:i.disabled?"disabled":i.state,current:i.current,href:i.href,onClick:i.onClick?ne=>{var H;(H=i.onClick)==null||H.call(i,ne),v(!1)}:void 0},i.id??oe))},e.id??s)})})})]})});D.displayName="CardStepper";const ue=Object.assign(D,{Step:V.CardStepperStep});exports.CardStepper=ue;