@telia/teddy 0.0.61 → 0.0.62

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 (41) hide show
  1. package/dist/components/index.cjs +2 -4
  2. package/dist/components/index.js +2 -4
  3. package/dist/components/modal/modal.cjs +0 -2
  4. package/dist/components/modal/modal.js +0 -2
  5. package/dist/components/navigation-menu/global-navigation/global-navigation-desktop-simplified.cjs +2 -3
  6. package/dist/components/navigation-menu/global-navigation/global-navigation-desktop-simplified.js +2 -3
  7. package/dist/components/navigation-menu/global-navigation/global-navigation-desktop.cjs +2 -3
  8. package/dist/components/navigation-menu/global-navigation/global-navigation-desktop.js +1 -2
  9. package/dist/components/navigation-menu/global-navigation/global-navigation-mobile-simplified.cjs +2 -3
  10. package/dist/components/navigation-menu/global-navigation/global-navigation-mobile-simplified.js +2 -3
  11. package/dist/components/navigation-menu/global-navigation/global-navigation-mobile.cjs +2 -3
  12. package/dist/components/navigation-menu/global-navigation/global-navigation-mobile.js +2 -3
  13. package/dist/components/navigation-menu/global-navigation/global-navigation-my-pages.cjs +12 -682
  14. package/dist/components/navigation-menu/global-navigation/global-navigation-my-pages.js +12 -682
  15. package/dist/components/navigation-menu/global-navigation/global-navigation-root.cjs +4 -5
  16. package/dist/components/navigation-menu/global-navigation/global-navigation-root.js +4 -5
  17. package/dist/components/navigation-menu/global-navigation/global-navigation-search-field.cjs +2 -2
  18. package/dist/components/navigation-menu/global-navigation/global-navigation-search-field.js +2 -2
  19. package/dist/components/navigation-menu/global-navigation/global-navigation-search.cjs +2 -3
  20. package/dist/components/navigation-menu/global-navigation/global-navigation-search.js +2 -3
  21. package/dist/components/navigation-menu/global-navigation/global-navigation-shopping-cart.cjs +2 -3
  22. package/dist/components/navigation-menu/global-navigation/global-navigation-shopping-cart.js +2 -3
  23. package/dist/components/navigation-menu/global-navigation/index.cjs +2 -2
  24. package/dist/components/navigation-menu/global-navigation/index.js +1 -1
  25. package/dist/components/navigation-menu/index.cjs +3 -4
  26. package/dist/components/navigation-menu/index.js +2 -3
  27. package/dist/components/navigation-menu/navigation-menu.cjs +55 -436
  28. package/dist/components/navigation-menu/navigation-menu.d.ts +8 -0
  29. package/dist/components/navigation-menu/navigation-menu.js +55 -419
  30. package/dist/components/radio-card-group/radio-card-group-content.cjs +0 -2
  31. package/dist/components/radio-card-group/radio-card-group-content.js +0 -2
  32. package/dist/components/radio-card-group/radio-card-group-item-body.cjs +0 -2
  33. package/dist/components/radio-card-group/radio-card-group-item-body.js +0 -2
  34. package/dist/components/radio-card-group/radio-card-group-item-title.cjs +1134 -51
  35. package/dist/components/radio-card-group/radio-card-group-item-title.js +1145 -63
  36. package/dist/components/radio-card-group/radio-card-group-item.cjs +0 -2
  37. package/dist/components/radio-card-group/radio-card-group-item.js +0 -2
  38. package/dist/main.cjs +2 -4
  39. package/dist/main.js +2 -4
  40. package/dist/style.css +1161 -1143
  41. package/package.json +1 -1
@@ -3,10 +3,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("react/jsx-runtime");
4
4
  require("react");
5
5
  require("clsx");
6
- const components_navigationMenu_globalNavigation_globalNavigationMyPages = require("./global-navigation-my-pages.cjs");
6
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../../radio-card-group/radio-card-group-item-title.cjs");
7
7
  require("./utils.cjs");
8
8
  require("../../box/box.cjs");
9
- require("../navigation-menu.cjs");
10
- exports.Root = components_navigationMenu_globalNavigation_globalNavigationMyPages.Root;
11
- exports.RootContext = components_navigationMenu_globalNavigation_globalNavigationMyPages.RootContext;
12
- exports.rootClassName = components_navigationMenu_globalNavigation_globalNavigationMyPages.rootClassName;
9
+ exports.Root = components_radioCardGroup_radioCardGroupItemTitle.Root;
10
+ exports.RootContext = components_radioCardGroup_radioCardGroupItemTitle.RootContext;
11
+ exports.rootClassName = components_radioCardGroup_radioCardGroupItemTitle.rootClassName$1;
@@ -1,12 +1,11 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "clsx";
4
- import { e, R, r } from "./global-navigation-my-pages.js";
4
+ import { k, j, i } from "../../radio-card-group/radio-card-group-item-title.js";
5
5
  import "./utils.js";
6
6
  import "../../box/box.js";
7
- import "../navigation-menu.js";
8
7
  export {
9
- e as Root,
10
- R as RootContext,
11
- r as rootClassName
8
+ k as Root,
9
+ j as RootContext,
10
+ i as rootClassName
12
11
  };
@@ -6,5 +6,5 @@ require("../../../assets/sprite.269ba410-teddy.svg");
6
6
  require("../../icon/icon.cjs");
7
7
  require("../../text-field/index.cjs");
8
8
  require("../../../utils/composeRefs.cjs");
9
- const components_navigationMenu_globalNavigation_globalNavigationMyPages = require("./global-navigation-my-pages.cjs");
10
- exports.SearchField = components_navigationMenu_globalNavigation_globalNavigationMyPages.SearchField;
9
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../../radio-card-group/radio-card-group-item-title.cjs");
10
+ exports.SearchField = components_radioCardGroup_radioCardGroupItemTitle.SearchField;
@@ -4,7 +4,7 @@ import "../../../assets/sprite.269ba410-teddy.svg";
4
4
  import "../../icon/icon.js";
5
5
  import "../../text-field/index.js";
6
6
  import "../../../utils/composeRefs.js";
7
- import { S } from "./global-navigation-my-pages.js";
7
+ import { c } from "../../radio-card-group/radio-card-group-item-title.js";
8
8
  export {
9
- S as SearchField
9
+ c as SearchField
10
10
  };
@@ -3,9 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("react/jsx-runtime");
4
4
  require("react");
5
5
  require("../../drawer/index.cjs");
6
- require("../navigation-menu.cjs");
7
- const components_navigationMenu_globalNavigation_globalNavigationMyPages = require("./global-navigation-my-pages.cjs");
6
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../../radio-card-group/radio-card-group-item-title.cjs");
8
7
  require("../../../assets/sprite.269ba410-teddy.svg");
9
8
  require("../../icon/icon.cjs");
10
9
  require("../../button/button.cjs");
11
- exports.Search = components_navigationMenu_globalNavigation_globalNavigationMyPages.Search;
10
+ exports.Search = components_radioCardGroup_radioCardGroupItemTitle.Search;
@@ -1,11 +1,10 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "../../drawer/index.js";
4
- import "../navigation-menu.js";
5
- import { a } from "./global-navigation-my-pages.js";
4
+ import { d } from "../../radio-card-group/radio-card-group-item-title.js";
6
5
  import "../../../assets/sprite.269ba410-teddy.svg";
7
6
  import "../../icon/icon.js";
8
7
  import "../../button/button.js";
9
8
  export {
10
- a as Search
9
+ d as Search
11
10
  };
@@ -4,12 +4,11 @@ require("react/jsx-runtime");
4
4
  require("clsx");
5
5
  require("react");
6
6
  require("../../drawer/index.cjs");
7
- require("../navigation-menu.cjs");
8
- const components_navigationMenu_globalNavigation_globalNavigationMyPages = require("./global-navigation-my-pages.cjs");
7
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../../radio-card-group/radio-card-group-item-title.cjs");
9
8
  require("../../../assets/sprite.269ba410-teddy.svg");
10
9
  require("../../icon/icon.cjs");
11
10
  require("../../button/button.cjs");
12
11
  require("../../badge/badge.cjs");
13
12
  require("../../badge/alert-badge.cjs");
14
13
  require("../../badge/counter-badge.cjs");
15
- exports.ShoppingCart = components_navigationMenu_globalNavigation_globalNavigationMyPages.ShoppingCart;
14
+ exports.ShoppingCart = components_radioCardGroup_radioCardGroupItemTitle.ShoppingCart;
@@ -2,8 +2,7 @@ import "react/jsx-runtime";
2
2
  import "clsx";
3
3
  import "react";
4
4
  import "../../drawer/index.js";
5
- import "../navigation-menu.js";
6
- import { b } from "./global-navigation-my-pages.js";
5
+ import { e } from "../../radio-card-group/radio-card-group-item-title.js";
7
6
  import "../../../assets/sprite.269ba410-teddy.svg";
8
7
  import "../../icon/icon.js";
9
8
  import "../../button/button.js";
@@ -11,5 +10,5 @@ import "../../badge/badge.js";
11
10
  import "../../badge/alert-badge.js";
12
11
  import "../../badge/counter-badge.js";
13
12
  export {
14
- b as ShoppingCart
13
+ e as ShoppingCart
15
14
  };
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const components_navigationMenu_globalNavigation_globalNavigationMyPages = require("./global-navigation-my-pages.cjs");
4
- exports.GlobalNavigation = components_navigationMenu_globalNavigation_globalNavigationMyPages.GlobalNavigation;
3
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../../radio-card-group/radio-card-group-item-title.cjs");
4
+ exports.GlobalNavigation = components_radioCardGroup_radioCardGroupItemTitle.GlobalNavigation;
@@ -1,4 +1,4 @@
1
- import { G } from "./global-navigation-my-pages.js";
1
+ import { G } from "../../radio-card-group/radio-card-group-item-title.js";
2
2
  export {
3
3
  G as GlobalNavigation
4
4
  };
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const components_navigationMenu_navigationMenu = require("./navigation-menu.cjs");
4
- const components_navigationMenu_globalNavigation_globalNavigationMyPages = require("./global-navigation/global-navigation-my-pages.cjs");
5
- exports.NavigationMenu = components_navigationMenu_navigationMenu.NavigationMenu;
6
- exports.GlobalNavigation = components_navigationMenu_globalNavigation_globalNavigationMyPages.GlobalNavigation;
3
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../radio-card-group/radio-card-group-item-title.cjs");
4
+ exports.GlobalNavigation = components_radioCardGroup_radioCardGroupItemTitle.GlobalNavigation;
5
+ exports.NavigationMenu = components_radioCardGroup_radioCardGroupItemTitle.NavigationMenu;
@@ -1,6 +1,5 @@
1
- import { NavigationMenu } from "./navigation-menu.js";
2
- import { G } from "./global-navigation/global-navigation-my-pages.js";
1
+ import { G, N } from "../radio-card-group/radio-card-group-item-title.js";
3
2
  export {
4
3
  G as GlobalNavigation,
5
- NavigationMenu
4
+ N as NavigationMenu
6
5
  };
@@ -1,438 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const clsx = require("clsx");
6
- const NavigationMenuPrimitive = require("@radix-ui/react-navigation-menu");
7
- const utils_composeRefs = require("../../utils/composeRefs.cjs");
8
- const components_visuallyHidden_visuallyHidden = require("../visually-hidden/visually-hidden.cjs");
9
- const utils_composeEventHandlers = require("../../utils/composeEventHandlers.cjs");
10
- const reactSlot = require("@radix-ui/react-slot");
11
- const reactUseControllableState = require("@radix-ui/react-use-controllable-state");
12
- const utils_generateStyling_index = require("../../utils/generate-styling/index.cjs");
13
- const tokens_motion_variables = require("../../tokens/motion/variables.cjs");
14
- function _interopNamespaceDefault(e) {
15
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
16
- if (e) {
17
- for (const k in e) {
18
- if (k !== "default") {
19
- const d = Object.getOwnPropertyDescriptor(e, k);
20
- Object.defineProperty(n, k, d.get ? d : {
21
- enumerable: true,
22
- get: () => e[k]
23
- });
24
- }
25
- }
26
- }
27
- n.default = e;
28
- return Object.freeze(n);
29
- }
30
- const NavigationMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(NavigationMenuPrimitive);
31
- const scaleIn = "_scaleIn_1bmzc_1";
32
- const scaleOut = "_scaleOut_1bmzc_1";
33
- const enterFromRight = "_enterFromRight_1bmzc_1";
34
- const enterFromLeft = "_enterFromLeft_1bmzc_1";
35
- const exitToRight = "_exitToRight_1bmzc_1";
36
- const exitToLeft = "_exitToLeft_1bmzc_1";
37
- const styles = {
38
- "teddy-navigation-menu": "_teddy-navigation-menu_1bmzc_1",
39
- "teddy-navigation-menu__viewport": "_teddy-navigation-menu__viewport_1bmzc_34",
40
- "teddy-navigation-menu__list": "_teddy-navigation-menu__list_1bmzc_37",
41
- "teddy-navigation-menu__top-menu-list": "_teddy-navigation-menu__top-menu-list_1bmzc_59",
42
- "teddy-navigation-menu__top-menu-trigger": "_teddy-navigation-menu__top-menu-trigger_1bmzc_83",
43
- "teddy-navigation-menu__top-menu-trigger--small": "_teddy-navigation-menu__top-menu-trigger--small_1bmzc_102",
44
- "teddy-navigation-menu__top-menu-trigger--button": "_teddy-navigation-menu__top-menu-trigger--button_1bmzc_108",
45
- "teddy-navigation-menu__content": "_teddy-navigation-menu__content_1bmzc_183",
46
- "teddy-navigation-menu__trigger": "_teddy-navigation-menu__trigger_1bmzc_219",
47
- "teddy-navigation-menu__trigger--small": "_teddy-navigation-menu__trigger--small_1bmzc_239",
48
- "teddy-navigation-menu__trigger--button": "_teddy-navigation-menu__trigger--button_1bmzc_245",
49
- "teddy-navigation-menu__link": "_teddy-navigation-menu__link_1bmzc_313",
50
- "teddy-navigation-menu__link--small": "_teddy-navigation-menu__link--small_1bmzc_333",
51
- "teddy-navigation-menu__link--button": "_teddy-navigation-menu__link--button_1bmzc_339",
52
- scaleIn,
53
- scaleOut,
54
- enterFromRight,
55
- enterFromLeft,
56
- exitToRight,
57
- exitToLeft
58
- };
59
- const rootClassName = "teddy-navigation-menu";
60
- const NavigationMenuContext = React.createContext({
61
- selectedTopMenu: void 0,
62
- setSelectedTopMenu: () => {
63
- },
64
- contentRef: { current: null },
65
- focusProxyRef: { current: null },
66
- topMenuRef: { current: null },
67
- id: "",
68
- dir: "ltr",
69
- orientation: "horizontal",
70
- onEntryKeyDown: () => {
71
- },
72
- onFocusProxyEnter: () => {
73
- },
74
- onContentFocusOutside: () => {
75
- }
76
- });
77
- const Root = React.forwardRef(
78
- ({ className, defaultTopMenuValue, topMenuValue, onTopMenuValueChange, ...props }, forwardRef) => {
79
- const [selectedTopMenu, setSelectedTopMenu] = reactUseControllableState.useControllableState({
80
- defaultProp: defaultTopMenuValue,
81
- prop: topMenuValue,
82
- onChange: onTopMenuValueChange
83
- });
84
- const contentRef = React.useRef(null);
85
- const [allowAnimationOfHeight, setAllowAnimationOfHeight] = React.useState(false);
86
- const timerRef = React.useRef(void 0);
87
- const restoreContentTabOrderRef = React.useRef(() => {
88
- });
89
- const focusProxyRef = React.useRef(null);
90
- const topMenuRef = React.useRef(null);
91
- const id = React.useId();
92
- const handleContentEntry = React.useCallback((side = "start") => {
93
- if (contentRef.current) {
94
- restoreContentTabOrderRef.current();
95
- const candidates = getTabbableCandidates(contentRef.current);
96
- if (candidates.length)
97
- focusFirst(side === "start" ? candidates : candidates.reverse());
98
- }
99
- }, []);
100
- const handleContentExit = React.useCallback(() => {
101
- if (contentRef.current) {
102
- const candidates = getTabbableCandidates(contentRef.current);
103
- if (candidates.length)
104
- restoreContentTabOrderRef.current = removeFromTabOrder(candidates);
105
- }
106
- }, []);
107
- React.useEffect(() => {
108
- timerRef.current = setTimeout(() => {
109
- setAllowAnimationOfHeight(true);
110
- }, 500);
111
- return () => {
112
- timerRef.current && clearTimeout(timerRef.current);
113
- };
114
- }, []);
115
- const classes = clsx([styles[`${rootClassName}`]], className);
116
- return /* @__PURE__ */ jsxRuntime.jsx(
117
- NavigationMenuContext.Provider,
118
- {
119
- value: {
120
- contentRef,
121
- focusProxyRef,
122
- topMenuRef,
123
- id,
124
- dir: props.dir || "ltr",
125
- orientation: props.orientation || "horizontal",
126
- onEntryKeyDown: handleContentEntry,
127
- onFocusProxyEnter: handleContentEntry,
128
- onContentFocusOutside: handleContentExit,
129
- selectedTopMenu,
130
- setSelectedTopMenu
131
- },
132
- children: /* @__PURE__ */ jsxRuntime.jsx(
133
- NavigationMenuPrimitive__namespace.Root,
134
- {
135
- ...props,
136
- style: allowAnimationOfHeight ? utils_generateStyling_index.mergeStyles(props.style, { ["--teddy-motion-duration-controlled"]: tokens_motion_variables.teddyMotionDuration300 }) : props.style,
137
- ref: forwardRef,
138
- className: classes
139
- }
140
- )
141
- }
142
- );
143
- }
144
- );
145
- Root.displayName = "NavigationMenu";
146
- const TopMenuList = React.forwardRef(
147
- ({ className, ...props }, forwardRef) => {
148
- const classes = clsx([styles[`${rootClassName}__top-menu-list`]], className);
149
- const context = React.useContext(NavigationMenuContext);
150
- const ref = utils_composeRefs.useComposedRefs(context.topMenuRef, forwardRef);
151
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { ...props, ref, className: classes });
152
- }
153
- );
154
- TopMenuList.displayName = "NavigationMenu.TopMenuList";
155
- const TopMenuItem = React.forwardRef(
156
- ({ className, ...props }, forwardRef) => {
157
- const classes = clsx([styles[`${rootClassName}__top-menu-item`]], className);
158
- return /* @__PURE__ */ jsxRuntime.jsx("li", { ...props, ref: forwardRef, className: classes });
159
- }
160
- );
161
- const TopMenuTrigger = React.forwardRef(
162
- ({ className, asChild, active, ...props }, forwardRef) => {
163
- const classes = clsx(
164
- [styles[`${rootClassName}__top-menu-trigger`], styles[`${rootClassName}__top-menu-trigger--small`]],
165
- className
166
- );
167
- const Comp = asChild ? reactSlot.Slot : "button";
168
- const context = React.useContext(NavigationMenuContext);
169
- const innerRef = React.useRef(null);
170
- const ref = utils_composeRefs.useComposedRefs(innerRef, forwardRef);
171
- const isOpen = context.selectedTopMenu === props.value;
172
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
173
- /* @__PURE__ */ jsxRuntime.jsx(
174
- Comp,
175
- {
176
- ...props,
177
- ref,
178
- className: classes,
179
- "data-state": isOpen ? "open" : "closed",
180
- "data-active": active ? "true" : void 0,
181
- "aria-expanded": isOpen,
182
- "aria-controls": makeContentId({ value: props.value, baseId: context.id }),
183
- ...{ [ITEM_DATA_ATTR]: "" },
184
- onClick: utils_composeEventHandlers.composeEventHandlers(props.onClick, () => {
185
- context.setSelectedTopMenu(props.value);
186
- }),
187
- onKeyDown: utils_composeEventHandlers.composeEventHandlers(props.onKeyDown, (event) => {
188
- var _a;
189
- const verticalEntryKey = context.dir === "rtl" ? "ArrowLeft" : "ArrowRight";
190
- const entryKey = { horizontal: "ArrowDown", vertical: verticalEntryKey }[context.orientation];
191
- if (isOpen && event.key === entryKey) {
192
- context.onEntryKeyDown();
193
- return event.preventDefault();
194
- }
195
- const isFocusNavigationKey = ["Home", "End", ...ARROW_KEYS].includes(event.key);
196
- if (isFocusNavigationKey) {
197
- const triggers = (_a = context.topMenuRef.current) == null ? void 0 : _a.querySelectorAll(`[${ITEM_DATA_ATTR}]`);
198
- if (!triggers)
199
- return;
200
- let candidateNodes = Array.from(triggers == null ? void 0 : triggers.values());
201
- const prevItemKey = context.dir === "rtl" ? "ArrowRight" : "ArrowLeft";
202
- const prevKeys = [prevItemKey, "ArrowUp", "End"];
203
- if (prevKeys.includes(event.key))
204
- candidateNodes.reverse();
205
- if (ARROW_KEYS.includes(event.key)) {
206
- const currentIndex = candidateNodes.indexOf(event.currentTarget);
207
- candidateNodes = candidateNodes.slice(currentIndex + 1);
208
- focusFirst(candidateNodes);
209
- event.preventDefault();
210
- }
211
- }
212
- })
213
- }
214
- ),
215
- isOpen && /* @__PURE__ */ jsxRuntime.jsx(
216
- components_visuallyHidden_visuallyHidden.VisuallyHidden,
217
- {
218
- "aria-hidden": true,
219
- tabIndex: 0,
220
- ref: context.focusProxyRef,
221
- onFocus: (event) => {
222
- const content = context.contentRef.current;
223
- const prevFocusedElement = event.relatedTarget;
224
- const wasTriggerFocused = prevFocusedElement === innerRef.current;
225
- const wasFocusFromContent = content == null ? void 0 : content.contains(prevFocusedElement);
226
- if (wasTriggerFocused || !wasFocusFromContent) {
227
- context.onFocusProxyEnter(wasTriggerFocused ? "start" : "end");
228
- }
229
- }
230
- }
231
- )
232
- ] });
233
- }
234
- );
235
- const List = React.forwardRef(
236
- ({ className, variant, value, ...props }, forwardRef) => {
237
- const classes = clsx([styles[`${rootClassName}__list`]], [styles[`${rootClassName}__list--${variant}`]], className);
238
- const context = React.useContext(NavigationMenuContext);
239
- const refOnOpen = utils_composeRefs.useComposedRefs(context.contentRef, forwardRef);
240
- const hasTopMenu = context.selectedTopMenu !== void 0;
241
- const isOpen = context.selectedTopMenu === value;
242
- if (!isOpen)
243
- return null;
244
- return /* @__PURE__ */ jsxRuntime.jsx(
245
- NavigationMenuPrimitive__namespace.List,
246
- {
247
- ref: hasTopMenu ? refOnOpen : forwardRef,
248
- id: value && makeContentId({ value, baseId: context.id }),
249
- ...props,
250
- onKeyDown: utils_composeEventHandlers.composeEventHandlers(props.onKeyDown, (event) => {
251
- var _a;
252
- if (!value)
253
- return;
254
- const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;
255
- const isTabKey = event.key === "Tab" && !isMetaKey;
256
- if (isTabKey) {
257
- const candidates = getTabbableCandidates(event.currentTarget);
258
- const focusedElement = document.activeElement;
259
- const index = candidates.findIndex((candidate) => candidate === focusedElement);
260
- const isMovingBackwards = event.shiftKey;
261
- const nextCandidates = isMovingBackwards ? candidates.slice(0, index).reverse() : candidates.slice(index + 1, candidates.length);
262
- if (focusFirst(nextCandidates)) {
263
- event.preventDefault();
264
- } else {
265
- (_a = context.focusProxyRef.current) == null ? void 0 : _a.focus();
266
- context.onContentFocusOutside();
267
- }
268
- }
269
- }),
270
- className: classes
271
- }
272
- );
273
- }
274
- );
275
- List.displayName = "NavigationMenu.List";
276
- const Item = React.forwardRef(
277
- ({ className, ...props }, forwardRef) => {
278
- const classes = clsx([styles[`${rootClassName}__item`]], className);
279
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuPrimitive__namespace.Item, { ...props, ref: forwardRef, className: classes });
280
- }
281
- );
282
- Item.displayName = "NavigationMenu.Item";
283
- const Trigger = React.forwardRef(
284
- ({ className, active, variant = "default", ...props }, forwardRef) => {
285
- const classes = clsx(
286
- [styles[`${rootClassName}__trigger`]],
287
- [styles[`${rootClassName}__trigger--${variant}`]],
288
- className
289
- );
290
- const innerRef = React.useRef(null);
291
- const ref = utils_composeRefs.useComposedRefs(forwardRef, innerRef);
292
- return /* @__PURE__ */ jsxRuntime.jsx(
293
- NavigationMenuPrimitive__namespace.Trigger,
294
- {
295
- onPointerEnter: (e) => e.preventDefault(),
296
- onPointerMove: (e) => e.preventDefault(),
297
- onPointerLeave: (e) => e.preventDefault(),
298
- ...props,
299
- ref,
300
- "data-active": active ? "true" : void 0,
301
- className: classes,
302
- "data-text": getLabelFromChildren(props.children)
303
- }
304
- );
305
- }
306
- );
307
- Trigger.displayName = "NavigationMenu.Trigger";
308
- const Content = React.forwardRef(
309
- ({ className, variant = "default", ...props }, forwardRef) => {
310
- const classes = clsx(
311
- [styles[`${rootClassName}__content`]],
312
- [styles[`${rootClassName}__content--${variant}`]],
313
- className
314
- );
315
- return /* @__PURE__ */ jsxRuntime.jsx(
316
- NavigationMenuPrimitive__namespace.Content,
317
- {
318
- onPointerEnter: (e) => e.preventDefault(),
319
- onPointerLeave: (e) => e.preventDefault(),
320
- ...props,
321
- ref: forwardRef,
322
- className: classes
323
- }
324
- );
325
- }
326
- );
327
- const Link = React.forwardRef(
328
- ({ className, variant = "default", ...props }, forwardRef) => {
329
- const classes = clsx([styles[`${rootClassName}__link`]], [styles[`${rootClassName}__link--${variant}`]], className);
330
- return /* @__PURE__ */ jsxRuntime.jsx(
331
- NavigationMenuPrimitive__namespace.Link,
332
- {
333
- ...props,
334
- ref: forwardRef,
335
- className: classes,
336
- "data-text": getLabelFromChildren(props.children)
337
- }
338
- );
339
- }
340
- );
341
- Link.displayName = "NavigationMenu.Link";
342
- const Indicator = React.forwardRef(
343
- ({ className, ...props }, forwardRef) => {
344
- const classes = clsx([styles[`${rootClassName}__indicator`]], className);
345
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuPrimitive__namespace.Indicator, { ...props, ref: forwardRef, className: classes });
346
- }
347
- );
348
- Indicator.displayName = "NavigationMenu.Indicator";
349
- const Viewport = React.forwardRef(
350
- ({ className, ...props }, forwardRef) => {
351
- const classes = clsx([styles[`${rootClassName}__viewport`]], className);
352
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuPrimitive__namespace.Viewport, { ...props, ref: forwardRef, className: classes });
353
- }
354
- );
355
- Viewport.displayName = "NavigationMenu.Viewport";
356
- const Sub = React.forwardRef(
357
- ({ className, ...props }, forwardRef) => {
358
- const classes = clsx([styles[`${rootClassName}__sub`]], className);
359
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuPrimitive__namespace.Sub, { ...props, ref: forwardRef, className: classes });
360
- }
361
- );
362
- Sub.displayName = "NavigationMenu.Sub";
363
- function getLabelFromChildren(children) {
364
- function findLabel(node) {
365
- if (typeof node === "string") {
366
- return node;
367
- }
368
- if (React.isValidElement(node) && node.props.children) {
369
- return findLabel(node.props.children);
370
- }
371
- if (Array.isArray(node)) {
372
- for (let i = node.length - 1; i >= 0; i--) {
373
- const label = findLabel(node[i]);
374
- if (label) {
375
- return label;
376
- }
377
- }
378
- }
379
- return void 0;
380
- }
381
- return findLabel(children);
382
- }
383
- function getTabbableCandidates(container) {
384
- const nodes = [];
385
- const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
386
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
387
- acceptNode: (node) => {
388
- const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
389
- if (node.disabled || node.hidden || isHiddenInput)
390
- return NodeFilter.FILTER_SKIP;
391
- return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
392
- }
393
- });
394
- while (walker.nextNode())
395
- nodes.push(walker.currentNode);
396
- return nodes;
397
- }
398
- function focusFirst(candidates) {
399
- const previouslyFocusedElement = document.activeElement;
400
- return candidates.some((candidate) => {
401
- if (candidate === previouslyFocusedElement)
402
- return true;
403
- candidate.focus();
404
- return document.activeElement !== previouslyFocusedElement;
405
- });
406
- }
407
- function removeFromTabOrder(candidates) {
408
- candidates.forEach((candidate) => {
409
- candidate.dataset.tabindex = candidate.getAttribute("tabindex") || "";
410
- candidate.setAttribute("tabindex", "-1");
411
- });
412
- return () => {
413
- candidates.forEach((candidate) => {
414
- const prevTabIndex = candidate.dataset.tabindex;
415
- candidate.setAttribute("tabindex", prevTabIndex);
416
- });
417
- };
418
- }
419
- const ITEM_DATA_ATTR = "data-teddy-top-selector-trigger";
420
- const ARROW_KEYS = ["ArrowRight", "ArrowLeft", "ArrowUp", "ArrowDown"];
421
- function makeContentId(args) {
422
- return `teddy-navigation-menu-${args.baseId}-${args.value}-content`;
423
- }
424
- const NavigationMenu = Object.assign(Root, {
425
- List,
426
- Item,
427
- Trigger,
428
- Content,
429
- Link,
430
- Indicator,
431
- Viewport,
432
- Sub,
433
- TopMenuList,
434
- TopMenuItem,
435
- TopMenuTrigger
436
- });
437
- exports.NavigationMenu = NavigationMenu;
438
- exports.rootClassName = rootClassName;
3
+ require("react/jsx-runtime");
4
+ require("react");
5
+ require("clsx");
6
+ require("@radix-ui/react-navigation-menu");
7
+ const components_radioCardGroup_radioCardGroupItemTitle = require("../radio-card-group/radio-card-group-item-title.cjs");
8
+ require("../../utils/composeRefs.cjs");
9
+ require("../visually-hidden/visually-hidden.cjs");
10
+ require("../../utils/composeEventHandlers.cjs");
11
+ require("@radix-ui/react-slot");
12
+ require("@radix-ui/react-use-controllable-state");
13
+ require("../../utils/generate-styling/index.cjs");
14
+ require("../../tokens/motion/variables.cjs");
15
+ require("../toast/toast-root.cjs");
16
+ require("sonner");
17
+ require("../toggletip/index.cjs");
18
+ require("../breadcrumbs/index.cjs");
19
+ require("../ribbon/index.cjs");
20
+ require("../expandable-card/index.cjs");
21
+ require("../color-dot/color-dot-root.cjs");
22
+ require("../progress-bar/progress-bar.cjs");
23
+ require("../notabene/index.cjs");
24
+ require("../tooltip/index.cjs");
25
+ require("../list/index.cjs");
26
+ require("../scroll-area/index.cjs");
27
+ require("../tabs/index.cjs");
28
+ require("../drawer/index.cjs");
29
+ require("../image/image.cjs");
30
+ require("../chip/index.cjs");
31
+ require("../../assets/sprite.269ba410-teddy.svg");
32
+ require("../notification/notification.cjs");
33
+ require("../radio-group/index.cjs");
34
+ require("../box/box.cjs");
35
+ require("../flex/flex.cjs");
36
+ require("../card/index.cjs");
37
+ require("../grid/grid.cjs");
38
+ require("../toggle/toggle.cjs");
39
+ require("../accordion/index.cjs");
40
+ require("../link/link.cjs");
41
+ require("../badge/badge.cjs");
42
+ require("../badge/alert-badge.cjs");
43
+ require("../badge/counter-badge.cjs");
44
+ require("../button/button.cjs");
45
+ require("../field-error-text/field-error-text.cjs");
46
+ require("../helper-text/helper-text.cjs");
47
+ require("../input/index.cjs");
48
+ require("../label/label.cjs");
49
+ require("../spinner/spinner.cjs");
50
+ require("../text/text.cjs");
51
+ require("../text-field/index.cjs");
52
+ require("../heading/heading.cjs");
53
+ require("../text-spacing/text-spacing.cjs");
54
+ require("../container/container.cjs");
55
+ exports.NavigationMenu = components_radioCardGroup_radioCardGroupItemTitle.NavigationMenu;
56
+ exports.Separator = components_radioCardGroup_radioCardGroupItemTitle.Separator;
57
+ exports.rootClassName = components_radioCardGroup_radioCardGroupItemTitle.rootClassName;