@telia/teddy 0.0.34 → 0.0.35

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 (26) hide show
  1. package/dist/components/drawer/drawer-close.cjs +1 -1
  2. package/dist/components/drawer/drawer-close.js +1 -1
  3. package/dist/components/drawer/drawer-content.cjs +10 -2
  4. package/dist/components/drawer/drawer-content.d.ts +1 -0
  5. package/dist/components/drawer/drawer-content.js +10 -2
  6. package/dist/components/drawer/drawer-description.cjs +1 -1
  7. package/dist/components/drawer/drawer-description.js +1 -1
  8. package/dist/components/drawer/drawer-footer.cjs +1 -1
  9. package/dist/components/drawer/drawer-footer.js +1 -1
  10. package/dist/components/drawer/drawer-overlay.cjs +1 -1
  11. package/dist/components/drawer/drawer-overlay.js +1 -1
  12. package/dist/components/drawer/drawer-title.cjs +1 -1
  13. package/dist/components/drawer/drawer-title.js +1 -1
  14. package/dist/components/navigation-menu/global-navigation/global-navigation-my-pages.cjs +40 -16
  15. package/dist/components/navigation-menu/global-navigation/global-navigation-my-pages.js +40 -16
  16. package/dist/components/navigation-menu/global-navigation/global-navigation-root.d.ts +7 -9
  17. package/dist/components/navigation-menu/global-navigation/global-navigation-shopping-cart.cjs +4 -0
  18. package/dist/components/navigation-menu/global-navigation/global-navigation-shopping-cart.js +4 -0
  19. package/dist/components/notabene/notabene-root.cjs +3 -3
  20. package/dist/components/notabene/notabene-root.js +3 -3
  21. package/dist/drawer.module-BPXo6-Q2.js +15 -0
  22. package/dist/drawer.module-_pUdp_M1.cjs +14 -0
  23. package/dist/style.css +136 -112
  24. package/package.json +1 -1
  25. package/dist/drawer.module-BZV0Appw.js +0 -14
  26. package/dist/drawer.module-rgUBNOkt.cjs +0 -13
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const DrawerPrimitive = require("@radix-ui/react-dialog");
7
- const drawer_module = require("../../drawer.module-rgUBNOkt.cjs");
7
+ const drawer_module = require("../../drawer.module-_pUdp_M1.cjs");
8
8
  const components_drawer_drawerRoot = require("./drawer-root.cjs");
9
9
  require("../../assets/sprite.269ba410-teddy.svg");
10
10
  const components_icon_icon = require("../icon/icon.cjs");
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import * as DrawerPrimitive from "@radix-ui/react-dialog";
5
- import { s as styles } from "../../drawer.module-BZV0Appw.js";
5
+ import { s as styles } from "../../drawer.module-BPXo6-Q2.js";
6
6
  import { rootClassName } from "./drawer-root.js";
7
7
  import "../../assets/sprite.269ba410-teddy.svg";
8
8
  import { Icon } from "../icon/icon.js";
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const DrawerPrimitive = require("@radix-ui/react-dialog");
7
- const drawer_module = require("../../drawer.module-rgUBNOkt.cjs");
7
+ const drawer_module = require("../../drawer.module-_pUdp_M1.cjs");
8
8
  const components_drawer_drawerRoot = require("./drawer-root.cjs");
9
9
  const components_drawer_drawerOverlay = require("./drawer-overlay.cjs");
10
10
  const components_flex_flex = require("../flex/flex.cjs");
@@ -27,7 +27,15 @@ function _interopNamespaceDefault(e) {
27
27
  const DrawerPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(DrawerPrimitive);
28
28
  const InnerContent = React.forwardRef(
29
29
  function InnerContent2({ children, className, ...props }, forwardedRef) {
30
- const classes = clsx([drawer_module.styles[`${components_drawer_drawerRoot.rootClassName}__content`]], className);
30
+ const classes = clsx(
31
+ [
32
+ drawer_module.styles[`${components_drawer_drawerRoot.rootClassName}__content`],
33
+ {
34
+ [drawer_module.styles[`${components_drawer_drawerRoot.rootClassName}__content--lg`]]: props.size === "lg"
35
+ }
36
+ ],
37
+ className
38
+ );
31
39
  return /* @__PURE__ */ jsxRuntime.jsx(DrawerPrimitive__namespace.Content, { ...props, ref: forwardedRef, className: classes, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(components_flex_flex.Flex, { children }) });
32
40
  }
33
41
  );
@@ -4,6 +4,7 @@ import { Flex } from '../flex';
4
4
  import * as DrawerPrimitive from '@radix-ui/react-dialog';
5
5
  export type ContentProps = Omit<React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>, 'forceMount' | 'onOpenAutoFocus' | 'onCloseAutoFocus' | 'onEscapeKeyDown' | 'onPointerDownOutside' | 'onInteractOutside'> & {
6
6
  forceMount?: DrawerPrimitive.DialogContentProps['forceMount'];
7
+ size?: 'md' | 'lg';
7
8
  onOpenAutoFocus?: DrawerPrimitive.DialogContentProps['onOpenAutoFocus'];
8
9
  onCloseAutoFocus?: DrawerPrimitive.DialogContentProps['onCloseAutoFocus'];
9
10
  onEscapeKeyDown?: DrawerPrimitive.DialogContentProps['onEscapeKeyDown'];
@@ -2,13 +2,21 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import * as DrawerPrimitive from "@radix-ui/react-dialog";
5
- import { s as styles } from "../../drawer.module-BZV0Appw.js";
5
+ import { s as styles } from "../../drawer.module-BPXo6-Q2.js";
6
6
  import { rootClassName } from "./drawer-root.js";
7
7
  import { OverlayContext, Overlay } from "./drawer-overlay.js";
8
8
  import { Flex } from "../flex/flex.js";
9
9
  const InnerContent = React__default.forwardRef(
10
10
  function InnerContent2({ children, className, ...props }, forwardedRef) {
11
- const classes = clsx([styles[`${rootClassName}__content`]], className);
11
+ const classes = clsx(
12
+ [
13
+ styles[`${rootClassName}__content`],
14
+ {
15
+ [styles[`${rootClassName}__content--lg`]]: props.size === "lg"
16
+ }
17
+ ],
18
+ className
19
+ );
12
20
  return /* @__PURE__ */ jsx(DrawerPrimitive.Content, { ...props, ref: forwardedRef, className: classes, asChild: true, children: /* @__PURE__ */ jsx(Flex, { children }) });
13
21
  }
14
22
  );
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const DrawerPrimitive = require("@radix-ui/react-dialog");
7
- const drawer_module = require("../../drawer.module-rgUBNOkt.cjs");
7
+ const drawer_module = require("../../drawer.module-_pUdp_M1.cjs");
8
8
  const components_drawer_drawerRoot = require("./drawer-root.cjs");
9
9
  const components_text_text = require("../text/text.cjs");
10
10
  function _interopNamespaceDefault(e) {
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import * as DrawerPrimitive from "@radix-ui/react-dialog";
5
- import { s as styles } from "../../drawer.module-BZV0Appw.js";
5
+ import { s as styles } from "../../drawer.module-BPXo6-Q2.js";
6
6
  import { rootClassName } from "./drawer-root.js";
7
7
  import { Text } from "../text/text.js";
8
8
  const DescriptionContext = React__default.createContext(false);
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
- const drawer_module = require("../../drawer.module-rgUBNOkt.cjs");
6
+ const drawer_module = require("../../drawer.module-_pUdp_M1.cjs");
7
7
  const components_drawer_drawerRoot = require("./drawer-root.cjs");
8
8
  const components_flex_flex = require("../flex/flex.cjs");
9
9
  const Footer = React.forwardRef(
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
- import { s as styles } from "../../drawer.module-BZV0Appw.js";
4
+ import { s as styles } from "../../drawer.module-BPXo6-Q2.js";
5
5
  import { rootClassName } from "./drawer-root.js";
6
6
  import { Flex } from "../flex/flex.js";
7
7
  const Footer = React__default.forwardRef(
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const DrawerPrimitive = require("@radix-ui/react-dialog");
7
- const drawer_module = require("../../drawer.module-rgUBNOkt.cjs");
7
+ const drawer_module = require("../../drawer.module-_pUdp_M1.cjs");
8
8
  const components_drawer_drawerRoot = require("./drawer-root.cjs");
9
9
  function _interopNamespaceDefault(e) {
10
10
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import * as DrawerPrimitive from "@radix-ui/react-dialog";
5
- import { s as styles } from "../../drawer.module-BZV0Appw.js";
5
+ import { s as styles } from "../../drawer.module-BPXo6-Q2.js";
6
6
  import { rootClassName } from "./drawer-root.js";
7
7
  const OverlayContext = React__default.createContext(false);
8
8
  const Overlay = React__default.forwardRef(
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const DrawerPrimitive = require("@radix-ui/react-dialog");
7
- const drawer_module = require("../../drawer.module-rgUBNOkt.cjs");
7
+ const drawer_module = require("../../drawer.module-_pUdp_M1.cjs");
8
8
  const components_drawer_drawerRoot = require("./drawer-root.cjs");
9
9
  const components_heading_heading = require("../heading/heading.cjs");
10
10
  function _interopNamespaceDefault(e) {
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import * as DrawerPrimitive from "@radix-ui/react-dialog";
5
- import { s as styles } from "../../drawer.module-BZV0Appw.js";
5
+ import { s as styles } from "../../drawer.module-BPXo6-Q2.js";
6
6
  import { rootClassName } from "./drawer-root.js";
7
7
  import { Heading } from "../heading/heading.js";
8
8
  const Title = React__default.forwardRef(
@@ -16,15 +16,21 @@ const components_textSpacing_textSpacing = require("../../text-spacing/text-spac
16
16
  const components_tabs_index = require("../../tabs/index.cjs");
17
17
  const components_textField_index = require("../../text-field/index.cjs");
18
18
  const utils_composeRefs = require("../../../utils/composeRefs.cjs");
19
+ require("../../badge/badge.cjs");
20
+ require("../../badge/alert-badge.cjs");
21
+ const components_badge_counterBadge = require("../../badge/counter-badge.cjs");
19
22
  const components_flex_flex = require("../../flex/flex.cjs");
20
23
  const components_accordion_index = require("../../accordion/index.cjs");
21
24
  const components_visuallyHidden_visuallyHidden = require("../../visually-hidden/visually-hidden.cjs");
22
25
  const components_link_link = require("../../link/link.cjs");
23
26
  const components_list_index = require("../../list/index.cjs");
24
27
  const styles = {
25
- "teddy-global-navigation": "_teddy-global-navigation_1b1i5_1",
26
- "teddy-global-navigation__mobile": "_teddy-global-navigation__mobile_1b1i5_5",
27
- "teddy-global-navigation__link": "_teddy-global-navigation__link_1b1i5_19"
28
+ "teddy-global-navigation": "_teddy-global-navigation_y8nb6_1",
29
+ "teddy-global-navigation__mobile": "_teddy-global-navigation__mobile_y8nb6_6",
30
+ "teddy-global-navigation__link": "_teddy-global-navigation__link_y8nb6_20",
31
+ "teddy-global-navigation__viewport": "_teddy-global-navigation__viewport_y8nb6_23",
32
+ "teddy-global-navigation__item-wrapper": "_teddy-global-navigation__item-wrapper_y8nb6_26",
33
+ "teddy-global-navigation__item-count": "_teddy-global-navigation__item-count_y8nb6_29"
28
34
  };
29
35
  function MyPages(props) {
30
36
  var _a, _b;
@@ -38,7 +44,7 @@ function MyPages(props) {
38
44
  /* @__PURE__ */ jsxRuntime.jsx(components_icon_icon.Icon, { name: "login", size: "sm" }),
39
45
  "Logg inn"
40
46
  ] }) }) }),
41
- /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Content, { asChild: true, children: [
47
+ /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Content, { asChild: true, size: rootContext == null ? void 0 : rootContext.drawerSize, children: [
42
48
  /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Close, { slot: "floating", "aria-label": "Lukk" }),
43
49
  isLoggedIn ? /* @__PURE__ */ jsxRuntime.jsx(LoggedInContent, {}) : /* @__PURE__ */ jsxRuntime.jsx(LoggedOutContent, {}),
44
50
  /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Close, { slot: "content", children: /* @__PURE__ */ jsxRuntime.jsx(components_button_button.Button, { children: "Lukk" }) }) })
@@ -99,15 +105,15 @@ const SearchField = React.forwardRef(
99
105
  "form",
100
106
  {
101
107
  onSubmit: (e) => {
102
- var _a;
108
+ var _a, _b;
103
109
  console.log("Search submitted,111");
104
110
  if (context == null ? void 0 : context.onSearchSubmit) {
105
- context.onSearchSubmit(e);
111
+ context.onSearchSubmit(e, (_a = ref.current) == null ? void 0 : _a.value);
106
112
  }
107
113
  if (!window || e.isDefaultPrevented())
108
114
  return;
109
115
  e.preventDefault();
110
- window.location.href = `/sok?q=${encodeURIComponent(((_a = ref.current) == null ? void 0 : _a.value) || "")}`;
116
+ window.location.href = `/sok?q=${encodeURIComponent(((_b = ref.current) == null ? void 0 : _b.value) || "")}`;
111
117
  },
112
118
  children: /* @__PURE__ */ jsxRuntime.jsxs(components_textField_index.TextField, { ...props, children: [
113
119
  /* @__PURE__ */ jsxRuntime.jsx(components_textField_index.TextField.Label, { children: "Søk i innhold" }),
@@ -124,6 +130,7 @@ const SearchField = React.forwardRef(
124
130
  );
125
131
  SearchField.displayName = "SearchField";
126
132
  function Search(props) {
133
+ const rootContext = React.useContext(RootContext);
127
134
  const searchFieldRef = React.useRef(null);
128
135
  return /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer, { ...props, children: [
129
136
  /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Link, { asChild: true, variant: "button", children: /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsxs("button", { children: [
@@ -133,6 +140,7 @@ function Search(props) {
133
140
  /* @__PURE__ */ jsxRuntime.jsxs(
134
141
  components_drawer_index.Drawer.Content,
135
142
  {
143
+ size: rootContext == null ? void 0 : rootContext.drawerSize,
136
144
  onOpenAutoFocus: (e) => {
137
145
  var _a;
138
146
  e.preventDefault();
@@ -152,14 +160,22 @@ Search.displayName = "Search";
152
160
  const ShoppingCart = React.forwardRef(() => {
153
161
  const rootContext = React.useContext(RootContext);
154
162
  const shoppingCartContent = rootContext == null ? void 0 : rootContext.shoppingCart;
155
- return /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer, { children: [
163
+ const numberOfItemsInCart = (rootContext == null ? void 0 : rootContext.shoppingCartNumberOfItems) || 0;
164
+ const titleSuffix = numberOfItemsInCart > 0 ? `(${numberOfItemsInCart})` : "";
165
+ return /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer, { open: rootContext == null ? void 0 : rootContext.isCartOpen, onOpenChange: rootContext == null ? void 0 : rootContext.onCartOpenChange, children: [
156
166
  /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Link, { asChild: true, variant: "button", children: /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsxs("button", { children: [
157
- /* @__PURE__ */ jsxRuntime.jsx(components_icon_icon.Icon, { name: "cart", size: "sm" }),
158
- " Handlekurv"
167
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx([styles[`${rootClassName}__item-wrapper`]]), children: [
168
+ /* @__PURE__ */ jsxRuntime.jsx(components_icon_icon.Icon, { name: "cart", size: "sm" }),
169
+ numberOfItemsInCart > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx([styles[`${rootClassName}__item-count`]]), children: /* @__PURE__ */ jsxRuntime.jsx(components_badge_counterBadge.CounterBadge, { variant: "attention", children: numberOfItemsInCart }) })
170
+ ] }),
171
+ "Handlekurv"
159
172
  ] }) }) }),
160
- /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Content, { children: [
173
+ /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Content, { size: rootContext == null ? void 0 : rootContext.drawerSize, children: [
161
174
  /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Close, { slot: "floating", "aria-label": "Lukk" }),
162
- /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Title, { children: "Handlekurv" }),
175
+ /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Title, { children: [
176
+ "Handlekurv ",
177
+ titleSuffix
178
+ ] }),
163
179
  shoppingCartContent ? shoppingCartContent : null,
164
180
  /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Close, { slot: "content", children: /* @__PURE__ */ jsxRuntime.jsx(components_button_button.Button, { children: "Lukk" }) }) })
165
181
  ] })
@@ -173,7 +189,7 @@ const Desktop = React.forwardRef(() => {
173
189
  const { setSelectedMenuItem, linkComponent: Link } = rootContext;
174
190
  const currentLocation = rootContext.pathname;
175
191
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
176
- /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.TopMenuList, { children: components_navigationMenu_globalNavigation_utils.LINKS.map((link) => /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.TopMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.TopMenuTrigger, { value: link.name, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link, { children: link.name }) }) }, link.name)) }),
192
+ /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.TopMenuList, { children: components_navigationMenu_globalNavigation_utils.LINKS.map((link) => /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.TopMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.TopMenuTrigger, { value: link.name, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link, { href: link.link, children: link.name }) }) }, link.name)) }),
177
193
  components_navigationMenu_globalNavigation_utils.LINKS.map((link) => /* @__PURE__ */ jsxRuntime.jsxs(components_navigationMenu_navigationMenu.NavigationMenu.List, { value: link.name, children: [
178
194
  link.links.map((subLink) => /* @__PURE__ */ jsxRuntime.jsxs(components_navigationMenu_navigationMenu.NavigationMenu.Item, { value: subLink.name, children: [
179
195
  subLink.name === "Logo" ? /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Link, { asChild: true, variant: "button", children: subLink.appKey === rootContext.appKey || rootContext.appKey === "storybook" ? /* @__PURE__ */ jsxRuntime.jsx(Link, { href: subLink.link, onClick: () => setSelectedMenuItem(""), children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -219,7 +235,7 @@ const Desktop = React.forwardRef(() => {
219
235
  /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(ShoppingCart, {}) }),
220
236
  /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(MyPages, {}) })
221
237
  ] }, link.name)),
222
- /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Viewport, {})
238
+ /* @__PURE__ */ jsxRuntime.jsx(components_navigationMenu_navigationMenu.NavigationMenu.Viewport, { className: styles[`${rootClassName}__viewport`] })
223
239
  ] });
224
240
  });
225
241
  Desktop.displayName = "Desktop";
@@ -242,7 +258,7 @@ function Mobile(props) {
242
258
  /* @__PURE__ */ jsxRuntime.jsx(components_icon_icon.Icon, { name: "menu", size: "sm" }),
243
259
  " Meny"
244
260
  ] }) }) }),
245
- /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Content, { gap: "400", children: [
261
+ /* @__PURE__ */ jsxRuntime.jsxs(components_drawer_index.Drawer.Content, { gap: "400", size: rootContext.drawerSize, children: [
246
262
  /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Close, { ref: drawerRef, slot: "floating", "aria-label": "Lukk" }),
247
263
  /* @__PURE__ */ jsxRuntime.jsx(components_drawer_index.Drawer.Title, { children: "Meny" }),
248
264
  /* @__PURE__ */ jsxRuntime.jsx(SearchField, {}),
@@ -320,7 +336,11 @@ function Root({
320
336
  linkComponent,
321
337
  onLogoutClick,
322
338
  shoppingCart,
339
+ shoppingCartNumberOfItems,
323
340
  onSearchSubmit,
341
+ isCartOpen,
342
+ onCartOpenChange,
343
+ drawerSize = "md",
324
344
  ...props
325
345
  }) {
326
346
  const [selectedMenuItem, setSelectedMenuItem] = React.useState(getInitialMenuItem());
@@ -342,7 +362,11 @@ function Root({
342
362
  setPathname,
343
363
  onLogoutClick,
344
364
  shoppingCart,
345
- onSearchSubmit
365
+ shoppingCartNumberOfItems,
366
+ onSearchSubmit,
367
+ isCartOpen,
368
+ onCartOpenChange,
369
+ drawerSize
346
370
  },
347
371
  children: /* @__PURE__ */ jsxRuntime.jsx(components_box_box.Box, { ...props, className: classes, children: /* @__PURE__ */ jsxRuntime.jsxs(
348
372
  components_navigationMenu_navigationMenu.NavigationMenu,
@@ -14,15 +14,21 @@ import { TextSpacing } from "../../text-spacing/text-spacing.js";
14
14
  import { Tabs } from "../../tabs/index.js";
15
15
  import { TextField } from "../../text-field/index.js";
16
16
  import { useComposedRefs } from "../../../utils/composeRefs.js";
17
+ import "../../badge/badge.js";
18
+ import "../../badge/alert-badge.js";
19
+ import { CounterBadge } from "../../badge/counter-badge.js";
17
20
  import { Flex } from "../../flex/flex.js";
18
21
  import { Accordion } from "../../accordion/index.js";
19
22
  import { VisuallyHidden } from "../../visually-hidden/visually-hidden.js";
20
23
  import { Link } from "../../link/link.js";
21
24
  import { List } from "../../list/index.js";
22
25
  const styles = {
23
- "teddy-global-navigation": "_teddy-global-navigation_1b1i5_1",
24
- "teddy-global-navigation__mobile": "_teddy-global-navigation__mobile_1b1i5_5",
25
- "teddy-global-navigation__link": "_teddy-global-navigation__link_1b1i5_19"
26
+ "teddy-global-navigation": "_teddy-global-navigation_y8nb6_1",
27
+ "teddy-global-navigation__mobile": "_teddy-global-navigation__mobile_y8nb6_6",
28
+ "teddy-global-navigation__link": "_teddy-global-navigation__link_y8nb6_20",
29
+ "teddy-global-navigation__viewport": "_teddy-global-navigation__viewport_y8nb6_23",
30
+ "teddy-global-navigation__item-wrapper": "_teddy-global-navigation__item-wrapper_y8nb6_26",
31
+ "teddy-global-navigation__item-count": "_teddy-global-navigation__item-count_y8nb6_29"
26
32
  };
27
33
  function MyPages(props) {
28
34
  var _a, _b;
@@ -36,7 +42,7 @@ function MyPages(props) {
36
42
  /* @__PURE__ */ jsx(Icon, { name: "login", size: "sm" }),
37
43
  "Logg inn"
38
44
  ] }) }) }),
39
- /* @__PURE__ */ jsxs(Drawer.Content, { asChild: true, children: [
45
+ /* @__PURE__ */ jsxs(Drawer.Content, { asChild: true, size: rootContext == null ? void 0 : rootContext.drawerSize, children: [
40
46
  /* @__PURE__ */ jsx(Drawer.Close, { slot: "floating", "aria-label": "Lukk" }),
41
47
  isLoggedIn ? /* @__PURE__ */ jsx(LoggedInContent, {}) : /* @__PURE__ */ jsx(LoggedOutContent, {}),
42
48
  /* @__PURE__ */ jsx(Drawer.Footer, { children: /* @__PURE__ */ jsx(Drawer.Close, { slot: "content", children: /* @__PURE__ */ jsx(Button, { children: "Lukk" }) }) })
@@ -97,15 +103,15 @@ const SearchField = React__default.forwardRef(
97
103
  "form",
98
104
  {
99
105
  onSubmit: (e) => {
100
- var _a;
106
+ var _a, _b;
101
107
  console.log("Search submitted,111");
102
108
  if (context == null ? void 0 : context.onSearchSubmit) {
103
- context.onSearchSubmit(e);
109
+ context.onSearchSubmit(e, (_a = ref.current) == null ? void 0 : _a.value);
104
110
  }
105
111
  if (!window || e.isDefaultPrevented())
106
112
  return;
107
113
  e.preventDefault();
108
- window.location.href = `/sok?q=${encodeURIComponent(((_a = ref.current) == null ? void 0 : _a.value) || "")}`;
114
+ window.location.href = `/sok?q=${encodeURIComponent(((_b = ref.current) == null ? void 0 : _b.value) || "")}`;
109
115
  },
110
116
  children: /* @__PURE__ */ jsxs(TextField, { ...props, children: [
111
117
  /* @__PURE__ */ jsx(TextField.Label, { children: "Søk i innhold" }),
@@ -122,6 +128,7 @@ const SearchField = React__default.forwardRef(
122
128
  );
123
129
  SearchField.displayName = "SearchField";
124
130
  function Search(props) {
131
+ const rootContext = React__default.useContext(RootContext);
125
132
  const searchFieldRef = React__default.useRef(null);
126
133
  return /* @__PURE__ */ jsxs(Drawer, { ...props, children: [
127
134
  /* @__PURE__ */ jsx(NavigationMenu.Link, { asChild: true, variant: "button", children: /* @__PURE__ */ jsx(Drawer.Trigger, { children: /* @__PURE__ */ jsxs("button", { children: [
@@ -131,6 +138,7 @@ function Search(props) {
131
138
  /* @__PURE__ */ jsxs(
132
139
  Drawer.Content,
133
140
  {
141
+ size: rootContext == null ? void 0 : rootContext.drawerSize,
134
142
  onOpenAutoFocus: (e) => {
135
143
  var _a;
136
144
  e.preventDefault();
@@ -150,14 +158,22 @@ Search.displayName = "Search";
150
158
  const ShoppingCart = React__default.forwardRef(() => {
151
159
  const rootContext = React__default.useContext(RootContext);
152
160
  const shoppingCartContent = rootContext == null ? void 0 : rootContext.shoppingCart;
153
- return /* @__PURE__ */ jsxs(Drawer, { children: [
161
+ const numberOfItemsInCart = (rootContext == null ? void 0 : rootContext.shoppingCartNumberOfItems) || 0;
162
+ const titleSuffix = numberOfItemsInCart > 0 ? `(${numberOfItemsInCart})` : "";
163
+ return /* @__PURE__ */ jsxs(Drawer, { open: rootContext == null ? void 0 : rootContext.isCartOpen, onOpenChange: rootContext == null ? void 0 : rootContext.onCartOpenChange, children: [
154
164
  /* @__PURE__ */ jsx(NavigationMenu.Link, { asChild: true, variant: "button", children: /* @__PURE__ */ jsx(Drawer.Trigger, { children: /* @__PURE__ */ jsxs("button", { children: [
155
- /* @__PURE__ */ jsx(Icon, { name: "cart", size: "sm" }),
156
- " Handlekurv"
165
+ /* @__PURE__ */ jsxs("div", { className: clsx([styles[`${rootClassName}__item-wrapper`]]), children: [
166
+ /* @__PURE__ */ jsx(Icon, { name: "cart", size: "sm" }),
167
+ numberOfItemsInCart > 0 && /* @__PURE__ */ jsx("span", { className: clsx([styles[`${rootClassName}__item-count`]]), children: /* @__PURE__ */ jsx(CounterBadge, { variant: "attention", children: numberOfItemsInCart }) })
168
+ ] }),
169
+ "Handlekurv"
157
170
  ] }) }) }),
158
- /* @__PURE__ */ jsxs(Drawer.Content, { children: [
171
+ /* @__PURE__ */ jsxs(Drawer.Content, { size: rootContext == null ? void 0 : rootContext.drawerSize, children: [
159
172
  /* @__PURE__ */ jsx(Drawer.Close, { slot: "floating", "aria-label": "Lukk" }),
160
- /* @__PURE__ */ jsx(Drawer.Title, { children: "Handlekurv" }),
173
+ /* @__PURE__ */ jsxs(Drawer.Title, { children: [
174
+ "Handlekurv ",
175
+ titleSuffix
176
+ ] }),
161
177
  shoppingCartContent ? shoppingCartContent : null,
162
178
  /* @__PURE__ */ jsx(Drawer.Footer, { children: /* @__PURE__ */ jsx(Drawer.Close, { slot: "content", children: /* @__PURE__ */ jsx(Button, { children: "Lukk" }) }) })
163
179
  ] })
@@ -171,7 +187,7 @@ const Desktop = React__default.forwardRef(() => {
171
187
  const { setSelectedMenuItem, linkComponent: Link2 } = rootContext;
172
188
  const currentLocation = rootContext.pathname;
173
189
  return /* @__PURE__ */ jsxs(Fragment, { children: [
174
- /* @__PURE__ */ jsx(NavigationMenu.TopMenuList, { children: LINKS.map((link) => /* @__PURE__ */ jsx(NavigationMenu.TopMenuItem, { children: /* @__PURE__ */ jsx(NavigationMenu.TopMenuTrigger, { value: link.name, asChild: true, children: /* @__PURE__ */ jsx(Link2, { children: link.name }) }) }, link.name)) }),
190
+ /* @__PURE__ */ jsx(NavigationMenu.TopMenuList, { children: LINKS.map((link) => /* @__PURE__ */ jsx(NavigationMenu.TopMenuItem, { children: /* @__PURE__ */ jsx(NavigationMenu.TopMenuTrigger, { value: link.name, asChild: true, children: /* @__PURE__ */ jsx(Link2, { href: link.link, children: link.name }) }) }, link.name)) }),
175
191
  LINKS.map((link) => /* @__PURE__ */ jsxs(NavigationMenu.List, { value: link.name, children: [
176
192
  link.links.map((subLink) => /* @__PURE__ */ jsxs(NavigationMenu.Item, { value: subLink.name, children: [
177
193
  subLink.name === "Logo" ? /* @__PURE__ */ jsx(NavigationMenu.Link, { asChild: true, variant: "button", children: subLink.appKey === rootContext.appKey || rootContext.appKey === "storybook" ? /* @__PURE__ */ jsx(Link2, { href: subLink.link, onClick: () => setSelectedMenuItem(""), children: /* @__PURE__ */ jsx(
@@ -217,7 +233,7 @@ const Desktop = React__default.forwardRef(() => {
217
233
  /* @__PURE__ */ jsx(NavigationMenu.Item, { children: /* @__PURE__ */ jsx(ShoppingCart, {}) }),
218
234
  /* @__PURE__ */ jsx(NavigationMenu.Item, { children: /* @__PURE__ */ jsx(MyPages, {}) })
219
235
  ] }, link.name)),
220
- /* @__PURE__ */ jsx(NavigationMenu.Viewport, {})
236
+ /* @__PURE__ */ jsx(NavigationMenu.Viewport, { className: styles[`${rootClassName}__viewport`] })
221
237
  ] });
222
238
  });
223
239
  Desktop.displayName = "Desktop";
@@ -240,7 +256,7 @@ function Mobile(props) {
240
256
  /* @__PURE__ */ jsx(Icon, { name: "menu", size: "sm" }),
241
257
  " Meny"
242
258
  ] }) }) }),
243
- /* @__PURE__ */ jsxs(Drawer.Content, { gap: "400", children: [
259
+ /* @__PURE__ */ jsxs(Drawer.Content, { gap: "400", size: rootContext.drawerSize, children: [
244
260
  /* @__PURE__ */ jsx(Drawer.Close, { ref: drawerRef, slot: "floating", "aria-label": "Lukk" }),
245
261
  /* @__PURE__ */ jsx(Drawer.Title, { children: "Meny" }),
246
262
  /* @__PURE__ */ jsx(SearchField, {}),
@@ -318,7 +334,11 @@ function Root({
318
334
  linkComponent,
319
335
  onLogoutClick,
320
336
  shoppingCart,
337
+ shoppingCartNumberOfItems,
321
338
  onSearchSubmit,
339
+ isCartOpen,
340
+ onCartOpenChange,
341
+ drawerSize = "md",
322
342
  ...props
323
343
  }) {
324
344
  const [selectedMenuItem, setSelectedMenuItem] = React__default.useState(getInitialMenuItem());
@@ -340,7 +360,11 @@ function Root({
340
360
  setPathname,
341
361
  onLogoutClick,
342
362
  shoppingCart,
343
- onSearchSubmit
363
+ shoppingCartNumberOfItems,
364
+ onSearchSubmit,
365
+ isCartOpen,
366
+ onCartOpenChange,
367
+ drawerSize
344
368
  },
345
369
  children: /* @__PURE__ */ jsx(Box, { ...props, className: classes, children: /* @__PURE__ */ jsxs(
346
370
  NavigationMenu,
@@ -11,24 +11,22 @@ export type RootProps = React.ComponentPropsWithoutRef<'div'> & {
11
11
  linkComponent: React.ForwardRefExoticComponent<React.AnchorHTMLAttributes<HTMLAnchorElement> & React.RefAttributes<HTMLAnchorElement>>;
12
12
  onLogoutClick(): void;
13
13
  shoppingCart?: React.ReactNode;
14
- onSearchSubmit?: (e: React.FormEvent<HTMLFormElement>) => void;
14
+ shoppingCartNumberOfItems?: number;
15
+ onSearchSubmit?: (e: React.FormEvent<HTMLFormElement>, value?: string) => void;
16
+ isCartOpen?: boolean;
17
+ onCartOpenChange?: (open: boolean) => void;
18
+ drawerSize: 'md' | 'lg';
15
19
  };
16
20
  type RootContext = {
17
- appKey: RootProps['appKey'];
18
- loggedInUser: RootProps['loggedInUser'];
19
21
  selectedMenuItem: string | undefined;
20
22
  setSelectedMenuItem: (v: string | undefined) => void;
21
23
  selectedDomainItem: string;
22
24
  setSelectedDomainItem: (v: string) => void;
23
- linkComponent: RootProps['linkComponent'];
24
25
  pathname: string;
25
26
  setPathname: (v: string) => void;
26
- onLogoutClick: RootProps['onLogoutClick'];
27
- shoppingCart?: React.ReactNode;
28
- onSearchSubmit?: (e: React.FormEvent<HTMLFormElement>) => void;
29
- };
27
+ } & Pick<RootProps, 'onSearchSubmit' | 'shoppingCart' | 'shoppingCartNumberOfItems' | 'loggedInUser' | 'appKey' | 'onLogoutClick' | 'linkComponent' | 'isCartOpen' | 'onCartOpenChange' | 'drawerSize'>;
30
28
  export declare const RootContext: React.Context<RootContext | null>;
31
- export declare function Root({ className, appKey, loggedInUser, linkComponent, onLogoutClick, shoppingCart, onSearchSubmit, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function Root({ className, appKey, loggedInUser, linkComponent, onLogoutClick, shoppingCart, shoppingCartNumberOfItems, onSearchSubmit, isCartOpen, onCartOpenChange, drawerSize, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
32
30
  export declare namespace Root {
33
31
  var displayName: string;
34
32
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("react/jsx-runtime");
4
+ require("clsx");
4
5
  require("react");
5
6
  require("../../drawer/index.cjs");
6
7
  require("../navigation-menu.cjs");
@@ -8,4 +9,7 @@ const components_navigationMenu_globalNavigation_globalNavigationMyPages = requi
8
9
  require("../../../assets/sprite.269ba410-teddy.svg");
9
10
  require("../../icon/icon.cjs");
10
11
  require("../../button/button.cjs");
12
+ require("../../badge/badge.cjs");
13
+ require("../../badge/alert-badge.cjs");
14
+ require("../../badge/counter-badge.cjs");
11
15
  exports.ShoppingCart = components_navigationMenu_globalNavigation_globalNavigationMyPages.ShoppingCart;
@@ -1,4 +1,5 @@
1
1
  import "react/jsx-runtime";
2
+ import "clsx";
2
3
  import "react";
3
4
  import "../../drawer/index.js";
4
5
  import "../navigation-menu.js";
@@ -6,6 +7,9 @@ import { b } from "./global-navigation-my-pages.js";
6
7
  import "../../../assets/sprite.269ba410-teddy.svg";
7
8
  import "../../icon/icon.js";
8
9
  import "../../button/button.js";
10
+ import "../../badge/badge.js";
11
+ import "../../badge/alert-badge.js";
12
+ import "../../badge/counter-badge.js";
9
13
  export {
10
14
  b as ShoppingCart
11
15
  };
@@ -5,9 +5,9 @@ const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const components_box_box = require("../box/box.cjs");
7
7
  const styles = {
8
- "teddy-notabene": "_teddy-notabene_1dybk_1",
9
- "teddy-notabene__icon": "_teddy-notabene__icon_1dybk_9",
10
- "teddy-notabene__heading": "_teddy-notabene__heading_1dybk_9"
8
+ "teddy-notabene": "_teddy-notabene_1kgqm_1",
9
+ "teddy-notabene__icon": "_teddy-notabene__icon_1kgqm_9",
10
+ "teddy-notabene__heading": "_teddy-notabene__heading_1kgqm_9"
11
11
  };
12
12
  const rootClassName = "teddy-notabene";
13
13
  const Root = React.forwardRef(
@@ -3,9 +3,9 @@ import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import { Box } from "../box/box.js";
5
5
  const styles = {
6
- "teddy-notabene": "_teddy-notabene_1dybk_1",
7
- "teddy-notabene__icon": "_teddy-notabene__icon_1dybk_9",
8
- "teddy-notabene__heading": "_teddy-notabene__heading_1dybk_9"
6
+ "teddy-notabene": "_teddy-notabene_1kgqm_1",
7
+ "teddy-notabene__icon": "_teddy-notabene__icon_1kgqm_9",
8
+ "teddy-notabene__heading": "_teddy-notabene__heading_1kgqm_9"
9
9
  };
10
10
  const rootClassName = "teddy-notabene";
11
11
  const Root = React__default.forwardRef(
@@ -0,0 +1,15 @@
1
+ const styles = {
2
+ "teddy-drawer__overlay": "_teddy-drawer__overlay_xphhg_26",
3
+ "teddy-overlay-no-op": "_teddy-overlay-no-op_xphhg_1",
4
+ "teddy-fade-in": "_teddy-fade-in_xphhg_1",
5
+ "teddy-fade-out": "_teddy-fade-out_xphhg_1",
6
+ "teddy-drawer__overlay--container": "_teddy-drawer__overlay--container_xphhg_57",
7
+ "teddy-drawer__content": "_teddy-drawer__content_xphhg_63",
8
+ "drawer-content-show": "_drawer-content-show_xphhg_1",
9
+ "drawer-content-hide": "_drawer-content-hide_xphhg_1",
10
+ "teddy-drawer__content--lg": "_teddy-drawer__content--lg_xphhg_88",
11
+ "teddy-drawer__close--floating": "_teddy-drawer__close--floating_xphhg_93"
12
+ };
13
+ export {
14
+ styles as s
15
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ const styles = {
3
+ "teddy-drawer__overlay": "_teddy-drawer__overlay_xphhg_26",
4
+ "teddy-overlay-no-op": "_teddy-overlay-no-op_xphhg_1",
5
+ "teddy-fade-in": "_teddy-fade-in_xphhg_1",
6
+ "teddy-fade-out": "_teddy-fade-out_xphhg_1",
7
+ "teddy-drawer__overlay--container": "_teddy-drawer__overlay--container_xphhg_57",
8
+ "teddy-drawer__content": "_teddy-drawer__content_xphhg_63",
9
+ "drawer-content-show": "_drawer-content-show_xphhg_1",
10
+ "drawer-content-hide": "_drawer-content-hide_xphhg_1",
11
+ "teddy-drawer__content--lg": "_teddy-drawer__content--lg_xphhg_88",
12
+ "teddy-drawer__close--floating": "_teddy-drawer__close--floating_xphhg_93"
13
+ };
14
+ exports.styles = styles;
package/dist/style.css CHANGED
@@ -532,7 +532,7 @@
532
532
  0% {
533
533
  transform: translateX(-100%);
534
534
  }
535
- }._teddy-notabene_1dybk_1 {
535
+ }._teddy-notabene_1kgqm_1 {
536
536
  padding: var(--teddy-spacing-300);
537
537
  display: flex;
538
538
  flex-direction: column;
@@ -540,12 +540,15 @@
540
540
  background-color: var(--teddy-color-background-status-warning);
541
541
  color: var(--teddy-color-text-default);
542
542
  }
543
- ._teddy-notabene__icon_1dybk_9, ._teddy-notabene__heading_1dybk_9 {
543
+ ._teddy-notabene__icon_1kgqm_9, ._teddy-notabene__heading_1kgqm_9 {
544
544
  color: var(--teddy-color-orange-600);
545
545
  align-self: flex-start;
546
546
  }
547
+ ._teddy-notabene__icon_1kgqm_9 {
548
+ flex-shrink: 0;
549
+ }
547
550
  @media (min-width: 600px) {
548
- ._teddy-notabene_1dybk_1 {
551
+ ._teddy-notabene_1kgqm_1 {
549
552
  padding: var(--teddy-spacing-400);
550
553
  flex-direction: row;
551
554
  gap: var(--teddy-spacing-300);
@@ -1013,7 +1016,7 @@
1013
1016
  transform: rotate(180deg);
1014
1017
  }
1015
1018
  }@layer reset, flex, button, link, drawer;
1016
- @keyframes _teddy-fade-in_uo1cy_1 {
1019
+ @keyframes _teddy-fade-in_xphhg_1 {
1017
1020
  from {
1018
1021
  opacity: 0;
1019
1022
  }
@@ -1021,7 +1024,7 @@
1021
1024
  opacity: 1;
1022
1025
  }
1023
1026
  }
1024
- @keyframes _teddy-fade-out_uo1cy_1 {
1027
+ @keyframes _teddy-fade-out_xphhg_1 {
1025
1028
  from {
1026
1029
  opacity: 1;
1027
1030
  }
@@ -1029,7 +1032,7 @@
1029
1032
  opacity: 0;
1030
1033
  }
1031
1034
  }
1032
- @keyframes _teddy-overlay-no-op_uo1cy_1 {
1035
+ @keyframes _teddy-overlay-no-op_xphhg_1 {
1033
1036
  from {
1034
1037
  opacity: 1;
1035
1038
  }
@@ -1037,74 +1040,80 @@
1037
1040
  opacity: 1;
1038
1041
  }
1039
1042
  }
1040
- ._teddy-drawer__overlay_uo1cy_26 {
1043
+ ._teddy-drawer__overlay_xphhg_26 {
1041
1044
  box-sizing: border-box;
1042
1045
  }
1043
1046
  @layer drawer {
1044
- ._teddy-drawer__overlay_uo1cy_26 {
1047
+ ._teddy-drawer__overlay_xphhg_26 {
1045
1048
  box-sizing: border-box;
1046
1049
  position: fixed;
1047
1050
  inset: 0;
1051
+ z-index: 40;
1048
1052
  }
1049
1053
  @media (prefers-reduced-motion: no-preference) {
1050
- ._teddy-drawer__overlay_uo1cy_26 {
1054
+ ._teddy-drawer__overlay_xphhg_26 {
1051
1055
  /* Keep the overlay mounted until the children have animated */
1052
1056
  }
1053
- ._teddy-drawer__overlay_uo1cy_26:where([data-state=closed]) {
1054
- animation: _teddy-overlay-no-op_uo1cy_1 400ms cubic-bezier(0.16, 1, 0.3, 1);
1057
+ ._teddy-drawer__overlay_xphhg_26:where([data-state=closed]) {
1058
+ animation: _teddy-overlay-no-op_xphhg_1 400ms cubic-bezier(0.16, 1, 0.3, 1);
1055
1059
  }
1056
- ._teddy-drawer__overlay_uo1cy_26:where([data-state=open])::before {
1057
- animation: _teddy-fade-in_uo1cy_1 500ms cubic-bezier(0.16, 1, 0.3, 1);
1060
+ ._teddy-drawer__overlay_xphhg_26:where([data-state=open])::before {
1061
+ animation: _teddy-fade-in_xphhg_1 500ms cubic-bezier(0.16, 1, 0.3, 1);
1058
1062
  }
1059
- ._teddy-drawer__overlay_uo1cy_26:where([data-state=closed])::before {
1060
- animation: _teddy-fade-out_uo1cy_1 400ms cubic-bezier(0.16, 1, 0.3, 1);
1063
+ ._teddy-drawer__overlay_xphhg_26:where([data-state=closed])::before {
1064
+ animation: _teddy-fade-out_xphhg_1 400ms cubic-bezier(0.16, 1, 0.3, 1);
1061
1065
  }
1062
1066
  }
1063
- ._teddy-drawer__overlay_uo1cy_26::before {
1067
+ ._teddy-drawer__overlay_xphhg_26::before {
1064
1068
  position: fixed;
1065
1069
  content: "";
1066
1070
  inset: 0;
1067
1071
  background-color: var(--teddy-color-overlay-default);
1068
1072
  }
1069
- ._teddy-drawer__overlay--container_uo1cy_56 {
1073
+ ._teddy-drawer__overlay--container_xphhg_57 {
1070
1074
  position: absolute;
1071
1075
  }
1072
- ._teddy-drawer__overlay--container_uo1cy_56::before {
1076
+ ._teddy-drawer__overlay--container_xphhg_57::before {
1073
1077
  position: absolute;
1074
1078
  }
1075
- ._teddy-drawer__overlay--container_uo1cy_56 ._teddy-drawer__content_uo1cy_62 {
1079
+ ._teddy-drawer__overlay--container_xphhg_57 ._teddy-drawer__content_xphhg_63 {
1076
1080
  position: absolute;
1077
1081
  }
1078
- ._teddy-drawer__content_uo1cy_62 {
1082
+ ._teddy-drawer__content_xphhg_63 {
1079
1083
  background-color: var(--teddy-color-background-primary);
1080
1084
  box-shadow: var(--teddy-shadow-lg);
1081
1085
  position: fixed;
1082
1086
  overflow: hidden;
1083
1087
  inset: 0 0 0 auto;
1084
- max-width: 25rem;
1085
1088
  box-sizing: border-box;
1086
- min-width: min(100%, 400px);
1087
1089
  padding: var(--teddy-spacing-300);
1088
1090
  display: flex;
1089
1091
  flex-direction: column;
1090
1092
  gap: var(--teddy-spacing-200);
1093
+ max-width: 25rem;
1094
+ min-width: min(100%, 400px);
1091
1095
  }
1092
1096
  @media (prefers-reduced-motion: no-preference) {
1093
- ._teddy-drawer__content_uo1cy_62:where([data-state=open]) {
1094
- animation: _drawer-content-show_uo1cy_1 450ms cubic-bezier(0.16, 1, 0.3, 1);
1097
+ ._teddy-drawer__content_xphhg_63:where([data-state=open]) {
1098
+ animation: _drawer-content-show_xphhg_1 450ms cubic-bezier(0.16, 1, 0.3, 1);
1095
1099
  }
1096
- ._teddy-drawer__content_uo1cy_62:where([data-state=closed]) {
1097
- animation: _drawer-content-hide_uo1cy_1 350ms cubic-bezier(0.16, 1, 0.3, 1);
1100
+ ._teddy-drawer__content_xphhg_63:where([data-state=closed]) {
1101
+ animation: _drawer-content-hide_xphhg_1 350ms cubic-bezier(0.16, 1, 0.3, 1);
1098
1102
  }
1099
1103
  }
1100
- ._teddy-drawer__close--floating_uo1cy_87 {
1104
+ ._teddy-drawer__content--lg_xphhg_88 {
1105
+ min-width: min(100%, 30rem);
1106
+ width: 30vw;
1107
+ max-width: initial;
1108
+ }
1109
+ ._teddy-drawer__close--floating_xphhg_93 {
1101
1110
  position: absolute;
1102
1111
  z-index: 2;
1103
1112
  top: var(--teddy-spacing-200);
1104
1113
  right: var(--teddy-spacing-200);
1105
1114
  }
1106
1115
  }
1107
- @keyframes _drawer-content-show_uo1cy_1 {
1116
+ @keyframes _drawer-content-show_xphhg_1 {
1108
1117
  from {
1109
1118
  transform: translateX(100%);
1110
1119
  }
@@ -1112,7 +1121,7 @@
1112
1121
  transform: translateX(0px);
1113
1122
  }
1114
1123
  }
1115
- @keyframes _drawer-content-hide_uo1cy_1 {
1124
+ @keyframes _drawer-content-hide_xphhg_1 {
1116
1125
  from {
1117
1126
  transform: translateX(0px);
1118
1127
  }
@@ -2569,6 +2578,84 @@
2569
2578
  ._teddy-field-error-text__indicator_1735t_12 {
2570
2579
  color: var(--teddy-color-text-status-error-medium);
2571
2580
  line-height: var(--teddy-typography-line-height-tight);
2581
+ }._teddy-badge_1fsdh_1 {
2582
+ font-family: var(--teddy-typography-family-default);
2583
+ font-weight: var(--teddy-typography-weight-medium);
2584
+ font-size: var(--teddy-typography-scale-75);
2585
+ min-height: var(--teddy-spacing-200);
2586
+ border-radius: var(--teddy-border-radius-xs);
2587
+ line-height: 1;
2588
+ padding: var(--teddy-spacing-50) var(--teddy-spacing-100);
2589
+ display: inline-flex;
2590
+ align-items: center;
2591
+ gap: var(--teddy-spacing-50);
2592
+ }
2593
+ ._teddy-badge--counter-badge_1fsdh_13 {
2594
+ padding: var(--teddy-spacing-10) var(--teddy-spacing-50);
2595
+ border-radius: var(--teddy-spacing-100);
2596
+ font-size: var(--teddy-typography-scale-50);
2597
+ line-height: var(--teddy-typography-line-height-tight);
2598
+ }
2599
+ ._teddy-badge--alert-badge_1fsdh_19 {
2600
+ display: block;
2601
+ padding: 0;
2602
+ min-height: initial;
2603
+ box-sizing: content-box;
2604
+ border-radius: var(--teddy-border-radius-full);
2605
+ width: var(--teddy-spacing-100);
2606
+ height: var(--teddy-spacing-100);
2607
+ border: var(--teddy-border-width-sm) solid;
2608
+ }
2609
+ ._teddy-badge--attention_1fsdh_29 {
2610
+ background-color: var(--teddy-color-background-status-attention);
2611
+ color: var(--teddy-color-text-status-attention);
2612
+ }
2613
+ ._teddy-badge--attention_1fsdh_29._teddy-badge--alert-badge_1fsdh_19 {
2614
+ border-color: var(--teddy-color-background-status-special);
2615
+ }
2616
+ ._teddy-badge--special_1fsdh_36 {
2617
+ background-color: var(--teddy-color-background-status-special);
2618
+ color: var(--teddy-color-text-status-special);
2619
+ }
2620
+ ._teddy-badge--neutral_1fsdh_40 {
2621
+ background-color: var(--teddy-color-background-status-neutral);
2622
+ color: var(--teddy-color-text-status-neutral);
2623
+ }
2624
+ ._teddy-badge--neutral_1fsdh_40._teddy-badge--alert-badge_1fsdh_19 {
2625
+ background-color: var(--teddy-color-text-status-neutral);
2626
+ border-color: var(--teddy-color-background-status-neutral);
2627
+ }
2628
+ ._teddy-badge--information_1fsdh_48 {
2629
+ background-color: var(--teddy-color-background-status-info-strong);
2630
+ color: var(--teddy-color-text-status-info-strong);
2631
+ }
2632
+ ._teddy-badge--information_1fsdh_48._teddy-badge--alert-badge_1fsdh_19 {
2633
+ background-color: var(--teddy-color-text-status-info-strong);
2634
+ border-color: var(--teddy-color-background-status-info-strong);
2635
+ }
2636
+ ._teddy-badge--success_1fsdh_56 {
2637
+ background-color: var(--teddy-color-background-status-success-strong);
2638
+ color: var(--teddy-color-text-status-success-strong);
2639
+ }
2640
+ ._teddy-badge--success_1fsdh_56._teddy-badge--alert-badge_1fsdh_19 {
2641
+ background-color: var(--teddy-color-text-status-success-strong);
2642
+ border-color: var(--teddy-color-background-status-success-strong);
2643
+ }
2644
+ ._teddy-badge--warning_1fsdh_64 {
2645
+ background-color: var(--teddy-color-background-status-warning-strong);
2646
+ color: var(--teddy-color-text-status-warning-strong);
2647
+ }
2648
+ ._teddy-badge--warning_1fsdh_64._teddy-badge--alert-badge_1fsdh_19 {
2649
+ background-color: var(--teddy-color-text-status-warning-strong);
2650
+ border-color: var(--teddy-color-background-status-warning-strong);
2651
+ }
2652
+ ._teddy-badge--error_1fsdh_72 {
2653
+ background-color: var(--teddy-color-background-status-error-strong);
2654
+ color: var(--teddy-color-text-status-error-strong);
2655
+ }
2656
+ ._teddy-badge--error_1fsdh_72._teddy-badge--alert-badge_1fsdh_19 {
2657
+ background-color: var(--teddy-color-text-status-error-strong);
2658
+ border-color: var(--teddy-color-background-status-error-strong);
2572
2659
  }@layer heading, link, accordion;
2573
2660
  @layer accordion {
2574
2661
  ._teddy-accordion_1arsz_3 {
@@ -2769,26 +2856,41 @@
2769
2856
  height: 0;
2770
2857
  }
2771
2858
  }
2772
- }._teddy-global-navigation_1b1i5_1 {
2859
+ }._teddy-global-navigation_y8nb6_1 {
2773
2860
  position: sticky;
2774
2861
  inset: 0 0 auto 0;
2862
+ z-index: 39;
2775
2863
  }
2776
- ._teddy-global-navigation__mobile_1b1i5_5 {
2864
+ ._teddy-global-navigation__mobile_y8nb6_6 {
2777
2865
  padding: var(--teddy-spacing-25) var(--teddy-spacing-200);
2778
2866
  border-bottom: var(--teddy-border-width-sm) solid var(--teddy-color-border-weak);
2779
2867
  }
2780
- ._teddy-global-navigation__mobile_1b1i5_5::before {
2868
+ ._teddy-global-navigation__mobile_y8nb6_6::before {
2781
2869
  content: "";
2782
2870
  display: block;
2783
2871
  width: var(--width-for-centering-element);
2784
2872
  }
2785
- ._teddy-global-navigation__mobile_1b1i5_5::after {
2873
+ ._teddy-global-navigation__mobile_y8nb6_6::after {
2786
2874
  content: "";
2787
2875
  display: block;
2788
2876
  width: var(--width-for-centering-element);
2789
2877
  }
2790
- ._teddy-global-navigation__link_1b1i5_19 {
2878
+ ._teddy-global-navigation__link_y8nb6_20 {
2791
2879
  text-decoration: none;
2880
+ }
2881
+ ._teddy-global-navigation__viewport_y8nb6_23 {
2882
+ height: var(--radix-navigation-menu-viewport-height, calc(3.25rem * var(--teddy-scale)));
2883
+ }
2884
+ ._teddy-global-navigation__item-wrapper_y8nb6_26 {
2885
+ position: relative;
2886
+ }
2887
+ ._teddy-global-navigation__item-count_y8nb6_29 {
2888
+ display: flex;
2889
+ justify-content: center;
2890
+ align-items: center;
2891
+ position: absolute;
2892
+ left: 15px;
2893
+ top: -6px;
2792
2894
  }@layer icon, toggle;
2793
2895
  ._teddy-toggle__input_m5h3g_2::before {
2794
2896
  box-sizing: border-box;
@@ -2912,84 +3014,6 @@
2912
3014
  opacity: 1;
2913
3015
  scale: 1;
2914
3016
  }
2915
- }._teddy-badge_1fsdh_1 {
2916
- font-family: var(--teddy-typography-family-default);
2917
- font-weight: var(--teddy-typography-weight-medium);
2918
- font-size: var(--teddy-typography-scale-75);
2919
- min-height: var(--teddy-spacing-200);
2920
- border-radius: var(--teddy-border-radius-xs);
2921
- line-height: 1;
2922
- padding: var(--teddy-spacing-50) var(--teddy-spacing-100);
2923
- display: inline-flex;
2924
- align-items: center;
2925
- gap: var(--teddy-spacing-50);
2926
- }
2927
- ._teddy-badge--counter-badge_1fsdh_13 {
2928
- padding: var(--teddy-spacing-10) var(--teddy-spacing-50);
2929
- border-radius: var(--teddy-spacing-100);
2930
- font-size: var(--teddy-typography-scale-50);
2931
- line-height: var(--teddy-typography-line-height-tight);
2932
- }
2933
- ._teddy-badge--alert-badge_1fsdh_19 {
2934
- display: block;
2935
- padding: 0;
2936
- min-height: initial;
2937
- box-sizing: content-box;
2938
- border-radius: var(--teddy-border-radius-full);
2939
- width: var(--teddy-spacing-100);
2940
- height: var(--teddy-spacing-100);
2941
- border: var(--teddy-border-width-sm) solid;
2942
- }
2943
- ._teddy-badge--attention_1fsdh_29 {
2944
- background-color: var(--teddy-color-background-status-attention);
2945
- color: var(--teddy-color-text-status-attention);
2946
- }
2947
- ._teddy-badge--attention_1fsdh_29._teddy-badge--alert-badge_1fsdh_19 {
2948
- border-color: var(--teddy-color-background-status-special);
2949
- }
2950
- ._teddy-badge--special_1fsdh_36 {
2951
- background-color: var(--teddy-color-background-status-special);
2952
- color: var(--teddy-color-text-status-special);
2953
- }
2954
- ._teddy-badge--neutral_1fsdh_40 {
2955
- background-color: var(--teddy-color-background-status-neutral);
2956
- color: var(--teddy-color-text-status-neutral);
2957
- }
2958
- ._teddy-badge--neutral_1fsdh_40._teddy-badge--alert-badge_1fsdh_19 {
2959
- background-color: var(--teddy-color-text-status-neutral);
2960
- border-color: var(--teddy-color-background-status-neutral);
2961
- }
2962
- ._teddy-badge--information_1fsdh_48 {
2963
- background-color: var(--teddy-color-background-status-info-strong);
2964
- color: var(--teddy-color-text-status-info-strong);
2965
- }
2966
- ._teddy-badge--information_1fsdh_48._teddy-badge--alert-badge_1fsdh_19 {
2967
- background-color: var(--teddy-color-text-status-info-strong);
2968
- border-color: var(--teddy-color-background-status-info-strong);
2969
- }
2970
- ._teddy-badge--success_1fsdh_56 {
2971
- background-color: var(--teddy-color-background-status-success-strong);
2972
- color: var(--teddy-color-text-status-success-strong);
2973
- }
2974
- ._teddy-badge--success_1fsdh_56._teddy-badge--alert-badge_1fsdh_19 {
2975
- background-color: var(--teddy-color-text-status-success-strong);
2976
- border-color: var(--teddy-color-background-status-success-strong);
2977
- }
2978
- ._teddy-badge--warning_1fsdh_64 {
2979
- background-color: var(--teddy-color-background-status-warning-strong);
2980
- color: var(--teddy-color-text-status-warning-strong);
2981
- }
2982
- ._teddy-badge--warning_1fsdh_64._teddy-badge--alert-badge_1fsdh_19 {
2983
- background-color: var(--teddy-color-text-status-warning-strong);
2984
- border-color: var(--teddy-color-background-status-warning-strong);
2985
- }
2986
- ._teddy-badge--error_1fsdh_72 {
2987
- background-color: var(--teddy-color-background-status-error-strong);
2988
- color: var(--teddy-color-text-status-error-strong);
2989
- }
2990
- ._teddy-badge--error_1fsdh_72._teddy-badge--alert-badge_1fsdh_19 {
2991
- background-color: var(--teddy-color-text-status-error-strong);
2992
- border-color: var(--teddy-color-background-status-error-strong);
2993
3017
  }@keyframes _teddy-fade-in_3n21u_1 {
2994
3018
  from {
2995
3019
  opacity: 0;
package/package.json CHANGED
@@ -20,7 +20,7 @@
20
20
  "pnpm": ">=8"
21
21
  },
22
22
  "private": false,
23
- "version": "0.0.34",
23
+ "version": "0.0.35",
24
24
  "sideEffects": [
25
25
  "**/*.css"
26
26
  ],
@@ -1,14 +0,0 @@
1
- const styles = {
2
- "teddy-drawer__overlay": "_teddy-drawer__overlay_uo1cy_26",
3
- "teddy-overlay-no-op": "_teddy-overlay-no-op_uo1cy_1",
4
- "teddy-fade-in": "_teddy-fade-in_uo1cy_1",
5
- "teddy-fade-out": "_teddy-fade-out_uo1cy_1",
6
- "teddy-drawer__overlay--container": "_teddy-drawer__overlay--container_uo1cy_56",
7
- "teddy-drawer__content": "_teddy-drawer__content_uo1cy_62",
8
- "drawer-content-show": "_drawer-content-show_uo1cy_1",
9
- "drawer-content-hide": "_drawer-content-hide_uo1cy_1",
10
- "teddy-drawer__close--floating": "_teddy-drawer__close--floating_uo1cy_87"
11
- };
12
- export {
13
- styles as s
14
- };
@@ -1,13 +0,0 @@
1
- "use strict";
2
- const styles = {
3
- "teddy-drawer__overlay": "_teddy-drawer__overlay_uo1cy_26",
4
- "teddy-overlay-no-op": "_teddy-overlay-no-op_uo1cy_1",
5
- "teddy-fade-in": "_teddy-fade-in_uo1cy_1",
6
- "teddy-fade-out": "_teddy-fade-out_uo1cy_1",
7
- "teddy-drawer__overlay--container": "_teddy-drawer__overlay--container_uo1cy_56",
8
- "teddy-drawer__content": "_teddy-drawer__content_uo1cy_62",
9
- "drawer-content-show": "_drawer-content-show_uo1cy_1",
10
- "drawer-content-hide": "_drawer-content-hide_uo1cy_1",
11
- "teddy-drawer__close--floating": "_teddy-drawer__close--floating_uo1cy_87"
12
- };
13
- exports.styles = styles;