@telia/teddy 0.7.39 → 0.7.41

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 (84) hide show
  1. package/dist/components/avatar/avatar-root.d.ts +1 -1
  2. package/dist/components/avatar/index.d.ts +2 -2
  3. package/dist/components/breadcrumbs/breadcrumbs-link.d.ts +1 -1
  4. package/dist/components/breadcrumbs/index.d.ts +1 -1
  5. package/dist/components/card/card-link.d.ts +1 -1
  6. package/dist/components/card/card.d.ts +1 -1
  7. package/dist/components/channel-button/channel-button-root.d.ts +4 -4
  8. package/dist/components/channel-button/index.d.ts +4 -4
  9. package/dist/components/checkbox/checkbox-group.d.ts +1 -1
  10. package/dist/components/checkbox/index.d.ts +1 -1
  11. package/dist/components/checkbox-card-group/checkbox-card-group-content.cjs +1 -0
  12. package/dist/components/checkbox-card-group/checkbox-card-group-content.js +1 -0
  13. package/dist/components/checkbox-card-group/checkbox-card-group-indicator.cjs +1 -0
  14. package/dist/components/checkbox-card-group/checkbox-card-group-indicator.js +1 -0
  15. package/dist/components/checkbox-card-group/checkbox-card-group-item-title.cjs +1 -0
  16. package/dist/components/checkbox-card-group/checkbox-card-group-item-title.js +1 -0
  17. package/dist/components/checkbox-card-group/checkbox-card-group-item.cjs +1 -0
  18. package/dist/components/checkbox-card-group/checkbox-card-group-item.js +1 -0
  19. package/dist/components/chip/chip-indicator.d.ts +2 -2
  20. package/dist/components/chip/index.d.ts +2 -2
  21. package/dist/components/dashboard-card/dashboard-card-avatar.d.ts +2 -2
  22. package/dist/components/dashed-button/dashed-button-root.d.ts +4 -4
  23. package/dist/components/expandable-card/expandable-card-button.d.ts +2 -2
  24. package/dist/components/expandable-card/index.d.ts +3 -3
  25. package/dist/components/flip-card/flip-card-trigger.d.ts +2 -2
  26. package/dist/components/icon/utils.d.ts +1 -1
  27. package/dist/components/index.cjs +2 -0
  28. package/dist/components/index.d.ts +1 -0
  29. package/dist/components/index.js +2 -0
  30. package/dist/components/input/index.d.ts +1 -1
  31. package/dist/components/modal/modal-close.cjs +1 -0
  32. package/dist/components/modal/modal-close.js +1 -0
  33. package/dist/components/navigation-menu/navigation-menu.cjs +1 -0
  34. package/dist/components/navigation-menu/navigation-menu.d.ts +1 -1
  35. package/dist/components/navigation-menu/navigation-menu.js +1 -0
  36. package/dist/components/notabene/notabene-icon.d.ts +2 -2
  37. package/dist/components/notification/index.d.ts +4 -4
  38. package/dist/components/notification/notification-icon.d.ts +2 -2
  39. package/dist/components/notification/notification-root.d.ts +4 -4
  40. package/dist/components/radio-card-group/radio-card-group-content.cjs +1 -0
  41. package/dist/components/radio-card-group/radio-card-group-content.js +1 -0
  42. package/dist/components/radio-card-group/radio-card-group-item-title.cjs +1 -0
  43. package/dist/components/radio-card-group/radio-card-group-item-title.js +1 -0
  44. package/dist/components/radio-card-group/radio-card-group-item.cjs +1 -0
  45. package/dist/components/radio-card-group/radio-card-group-item.js +1 -0
  46. package/dist/components/scroll-area/index.d.ts +2 -2
  47. package/dist/components/scroll-area/scroll-area-button.d.ts +2 -2
  48. package/dist/components/shopping-cart/index.d.ts +5 -5
  49. package/dist/components/shopping-cart/shopping-cart-continue.cjs +3 -2
  50. package/dist/components/shopping-cart/shopping-cart-continue.d.ts +2 -1
  51. package/dist/components/shopping-cart/shopping-cart-continue.js +3 -2
  52. package/dist/components/shopping-cart/shopping-cart-disclaimer.cjs +13 -12
  53. package/dist/components/shopping-cart/shopping-cart-disclaimer.d.ts +2 -1
  54. package/dist/components/shopping-cart/shopping-cart-disclaimer.js +13 -12
  55. package/dist/components/shopping-cart/shopping-cart-item.cjs +35 -34
  56. package/dist/components/shopping-cart/shopping-cart-item.d.ts +2 -1
  57. package/dist/components/shopping-cart/shopping-cart-item.js +35 -34
  58. package/dist/components/shopping-cart/shopping-cart-items.cjs +3 -2
  59. package/dist/components/shopping-cart/shopping-cart-items.d.ts +2 -1
  60. package/dist/components/shopping-cart/shopping-cart-items.js +3 -2
  61. package/dist/components/shopping-cart/shopping-cart-payment.cjs +4 -2
  62. package/dist/components/shopping-cart/shopping-cart-payment.d.ts +2 -1
  63. package/dist/components/shopping-cart/shopping-cart-payment.js +4 -2
  64. package/dist/components/shopping-cart/shopping-cart-root.cjs +3 -2
  65. package/dist/components/shopping-cart/shopping-cart-root.d.ts +2 -1
  66. package/dist/components/shopping-cart/shopping-cart-root.js +3 -2
  67. package/dist/components/tabs/index.d.ts +1 -1
  68. package/dist/components/tabs/tabs-root.d.ts +1 -1
  69. package/dist/components/tabs/tabs-scroll-button.d.ts +2 -2
  70. package/dist/components/text-field/index.d.ts +2 -2
  71. package/dist/components/text-field/text-field-button.d.ts +2 -2
  72. package/dist/components/textarea/index.d.ts +1 -1
  73. package/dist/components/toggle/toggle.d.ts +2 -2
  74. package/dist/components/tooltip/index.d.ts +1 -1
  75. package/dist/components/top-row-buttons/index.cjs +4 -0
  76. package/dist/components/top-row-buttons/index.d.ts +2 -0
  77. package/dist/components/top-row-buttons/index.js +4 -0
  78. package/dist/components/top-row-buttons/top-row-buttons.cjs +72 -0
  79. package/dist/components/top-row-buttons/top-row-buttons.d.ts +48 -0
  80. package/dist/components/top-row-buttons/top-row-buttons.js +72 -0
  81. package/dist/main.cjs +2 -0
  82. package/dist/main.js +2 -0
  83. package/dist/style.css +225 -106
  84. package/package.json +3 -3
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const clsx = require("clsx");
5
+ const React = require("react");
6
+ require("../../assets/sprite.6511e521-teddy.svg");
7
+ const components_icon_icon = require("../icon/icon.cjs");
8
+ const styles = {
9
+ "teddy-top-row-buttons": "_teddy-top-row-buttons_1ytqf_1",
10
+ "teddy-top-row-buttons__track": "_teddy-top-row-buttons__track_1ytqf_4",
11
+ "teddy-top-row-buttons__track--centered": "_teddy-top-row-buttons__track--centered_1ytqf_17",
12
+ "teddy-top-row-buttons__track--scroll": "_teddy-top-row-buttons__track--scroll_1ytqf_20",
13
+ "teddy-top-row-buttons__item": "_teddy-top-row-buttons__item_1ytqf_23",
14
+ "teddy-top-row-buttons__button": "_teddy-top-row-buttons__button_1ytqf_27",
15
+ "teddy-top-row-buttons__label": "_teddy-top-row-buttons__label_1ytqf_109",
16
+ "teddy-top-row-buttons__emoji": "_teddy-top-row-buttons__emoji_1ytqf_112"
17
+ };
18
+ const rootClassName = "teddy-top-row-buttons";
19
+ const Root = React.forwardRef(
20
+ ({ className, color = "grey", scrollable, children, ...props }, forwardRef) => {
21
+ const trackRef = React.useRef(null);
22
+ const [isOverflowing, setIsOverflowing] = React.useState(false);
23
+ React.useLayoutEffect(() => {
24
+ const el = trackRef.current;
25
+ if (!el) return;
26
+ const checkOverflow = () => {
27
+ setIsOverflowing(el.scrollWidth > el.clientWidth);
28
+ };
29
+ checkOverflow();
30
+ window.addEventListener("resize", checkOverflow);
31
+ return () => window.removeEventListener("resize", checkOverflow);
32
+ }, [children]);
33
+ const isScrollable = scrollable ?? isOverflowing;
34
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: forwardRef, className: clsx(styles[rootClassName], className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
35
+ "div",
36
+ {
37
+ ref: trackRef,
38
+ className: clsx(styles[`${rootClassName}__track`], {
39
+ [styles[`${rootClassName}__track--scroll`]]: isScrollable,
40
+ [styles[`${rootClassName}__track--centered`]]: !isScrollable
41
+ }),
42
+ role: "list",
43
+ "data-color": color,
44
+ children
45
+ }
46
+ ) });
47
+ }
48
+ );
49
+ Root.displayName = "TopRowButtons";
50
+ const Item = React.forwardRef(
51
+ ({ className, icon, emoji, label, color, href, "aria-label": ariaLabel, ...props }, forwardRef) => {
52
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles[`${rootClassName}__item`], role: "listitem", children: /* @__PURE__ */ jsxRuntime.jsxs(
53
+ "a",
54
+ {
55
+ ref: forwardRef,
56
+ href,
57
+ className: clsx(styles[`${rootClassName}__button`], className),
58
+ "aria-label": ariaLabel ?? label,
59
+ "data-color": color,
60
+ ...props,
61
+ children: [
62
+ emoji ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles[`${rootClassName}__emoji`], "aria-hidden": "true", children: emoji }) : icon ? /* @__PURE__ */ jsxRuntime.jsx(components_icon_icon.Icon, { size: "md", name: icon, "aria-hidden": "true" }) : null,
63
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles[`${rootClassName}__label`], "aria-hidden": !!(emoji || icon), children: label })
64
+ ]
65
+ }
66
+ ) });
67
+ }
68
+ );
69
+ Item.displayName = "TopRowButtons.Item";
70
+ const TopRowButtons = Object.assign(Root, { Item });
71
+ exports.TopRowButtons = TopRowButtons;
72
+ exports.rootClassName = rootClassName;
@@ -0,0 +1,48 @@
1
+ import { default as React } from 'react';
2
+ import { IconName } from '../icon';
3
+
4
+ export declare const rootClassName = "teddy-top-row-buttons";
5
+ export type TopRowButtonColor = 'beige' | 'grey' | 'white' | 'purple';
6
+ /** ------------------------------------------------------------------------------------------------
7
+ * Root
8
+ * -----------------------------------------------------------------------------------------------*/
9
+ export type RootProps = React.ComponentPropsWithoutRef<'div'> & {
10
+ /** Controls the default background color of all child items */
11
+ color?: TopRowButtonColor;
12
+ /** Whether items should overflow and scroll horizontally when they don't fit */
13
+ scrollable?: boolean;
14
+ };
15
+ /** ------------------------------------------------------------------------------------------------
16
+ * Item
17
+ * -----------------------------------------------------------------------------------------------*/
18
+ export type ItemProps = React.ComponentPropsWithoutRef<'a'> & {
19
+ /** Icon name from the Teddy icon set */
20
+ icon?: IconName;
21
+ /** Emoji to display instead of an icon */
22
+ emoji?: string;
23
+ /** Visible label text */
24
+ label: string;
25
+ /** Overrides the color set on the Root */
26
+ color?: TopRowButtonColor;
27
+ };
28
+ /** ------------------------------------------------------------------------------------------------
29
+ * Export
30
+ * -----------------------------------------------------------------------------------------------*/
31
+ declare const TopRowButtons: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
32
+ /** Controls the default background color of all child items */
33
+ color?: TopRowButtonColor | undefined;
34
+ /** Whether items should overflow and scroll horizontally when they don't fit */
35
+ scrollable?: boolean | undefined;
36
+ } & React.RefAttributes<HTMLDivElement>> & {
37
+ Item: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & {
38
+ /** Icon name from the Teddy icon set */
39
+ icon?: "alarm-off" | "alarm-on" | "attachment" | "bookmark-filled" | "bookmark" | "copy-filled" | "copy" | "dislike" | "download" | "edit" | "filter" | "heart-filled" | "heart" | "invisible" | "like" | "lock-open" | "lock" | "login" | "logout" | "maximize" | "minimize" | "mute" | "password-invisible" | "password-visible" | "play-filled" | "play" | "remove-filled" | "remove" | "save" | "send" | "settings" | "share" | "shortcut" | "shuffle" | "skip-back-10sec" | "skip-back-30sec" | "skip-forward-10sec" | "skip-forward-30sec" | "star-filled" | "star" | "switch-arrows" | "sync" | "tv-next" | "tv-pause" | "tv-previous" | "tv-stop" | "upload" | "visible" | "volume" | "zoom-out" | "zoom" | "connected-building" | "home" | "hospital" | "industry" | "premises-datacenter" | "premises-large" | "premises-medium" | "premises-small" | "premises" | "store" | "address-book" | "b2b-customer" | "care" | "chat-robot" | "chat" | "child-1" | "child-2" | "conversation" | "customer-dialogue" | "dsl-hub" | "email" | "end-user" | "handshake" | "headphones" | "letter" | "mms" | "new-contact" | "new-group" | "news" | "parental-guide" | "people-hub" | "people" | "portal" | "signature" | "smiley-happy" | "smiley-neutral" | "smiley-sad" | "smiley-very-happy" | "smiley-very-sad" | "sms" | "support" | "user-admin" | "vcard" | "voicemail" | "battery" | "bluetooth" | "broadband" | "broken-phone" | "cast" | "cloud-connect" | "connected" | "core-router" | "daas-device" | "data-transfer" | "desktop" | "devices" | "esim-simcard" | "esim" | "face-id" | "fiber" | "fingerprint" | "fiveg" | "fourg" | "home-installation" | "industrial-iot" | "internet" | "it-service" | "laptop" | "mobile-broadband" | "network" | "phone-recycling" | "phone-ringing" | "phone" | "rack" | "refill-card" | "remote-control" | "repair" | "roaming" | "router" | "secure-device" | "sense-car" | "server" | "service-device" | "service-supervision" | "slow-wifi" | "smart-wifi" | "smartphone" | "smartwatch" | "tablet" | "trade-phone" | "tv" | "usb" | "voice-switch" | "wallplug" | "wireless-off" | "wireless-weak" | "wireless" | "world-alert" | "world-off" | "world-question" | "bar-chart" | "doc" | "document-doc" | "document-edit" | "document-pdf" | "document-ppt" | "excel" | "folder-copy" | "folder-new" | "folder" | "gif" | "graph" | "media-content" | "org-chart" | "pie-chart" | "print" | "register" | "report" | "simcard" | "spell-check" | "summary" | "credit-card" | "euro" | "invoice" | "kontantkort" | "kr" | "late-payment" | "money-back-euro" | "money-back-kr" | "money-euro" | "money-kr" | "pay-monthly-euro" | "pay-monthly-kr" | "pay-once-euro" | "pay-once-kr" | "payment-success" | "savings" | "wallet" | "AI-star" | "airplay" | "camera" | "entertainment" | "external" | "film" | "games" | "image" | "link" | "megaphone" | "microphone" | "music" | "player-settings" | "record" | "stream" | "trailer" | "video-conference" | "video" | "activity-level" | "add" | "ai-robot" | "bag" | "basketball" | "blood-pressure" | "bulb" | "business-continuity" | "business-intelligence" | "calendar" | "cart" | "close-circle" | "cloud" | "coffee" | "compass" | "construction" | "cookie" | "delivery" | "drone" | "education" | "efficiency" | "environment" | "facemask" | "flag" | "focus" | "food" | "fraud" | "getting-started" | "home-care" | "infinite" | "job-search" | "key" | "layers" | "map" | "measuring-health" | "moisture" | "offering" | "offshore" | "optimization" | "pebble" | "pet-dog" | "pin" | "plane" | "plus-minus" | "police" | "power-grid" | "present" | "press-button" | "price" | "pulse" | "radio" | "recycle" | "reservation" | "reverse" | "route" | "ruler" | "satellite" | "secured-1" | "secured-2" | "security-camera" | "shopping" | "smart-connect" | "snowflake" | "speedometer" | "split" | "spyware" | "stop" | "suitcase" | "sustainability" | "tag" | "temperature" | "thinking" | "time" | "train" | "transfer" | "undo" | "wavelength" | "weather" | "world" | "android" | "apple" | "bankid-norway" | "bankid" | "facebook" | "instagram" | "linkedin" | "snapchat" | "telia-logo" | "whatsapp" | "windows" | "x" | "youtube" | "alert-filled" | "alert" | "check-circle-filled" | "check-circle" | "error-filled" | "error" | "help" | "info-filled" | "info" | "question-filled" | "question" | "warning" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-subdirectory" | "arrow-up" | "card-view" | "checkmark-bold" | "checkmark" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "close" | "grid-view" | "list-view" | "menu" | "minus-bold" | "minus" | "more-horizontal" | "more-vertical" | "plus" | "search" | "services" | "sorter" | "table-view" | undefined;
40
+ /** Emoji to display instead of an icon */
41
+ emoji?: string | undefined;
42
+ /** Visible label text */
43
+ label: string;
44
+ /** Overrides the color set on the Root */
45
+ color?: TopRowButtonColor | undefined;
46
+ } & React.RefAttributes<HTMLAnchorElement>>;
47
+ };
48
+ export { TopRowButtons };
@@ -0,0 +1,72 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import React__default from "react";
4
+ import "../../assets/sprite.6511e521-teddy.svg";
5
+ import { Icon } from "../icon/icon.js";
6
+ const styles = {
7
+ "teddy-top-row-buttons": "_teddy-top-row-buttons_1ytqf_1",
8
+ "teddy-top-row-buttons__track": "_teddy-top-row-buttons__track_1ytqf_4",
9
+ "teddy-top-row-buttons__track--centered": "_teddy-top-row-buttons__track--centered_1ytqf_17",
10
+ "teddy-top-row-buttons__track--scroll": "_teddy-top-row-buttons__track--scroll_1ytqf_20",
11
+ "teddy-top-row-buttons__item": "_teddy-top-row-buttons__item_1ytqf_23",
12
+ "teddy-top-row-buttons__button": "_teddy-top-row-buttons__button_1ytqf_27",
13
+ "teddy-top-row-buttons__label": "_teddy-top-row-buttons__label_1ytqf_109",
14
+ "teddy-top-row-buttons__emoji": "_teddy-top-row-buttons__emoji_1ytqf_112"
15
+ };
16
+ const rootClassName = "teddy-top-row-buttons";
17
+ const Root = React__default.forwardRef(
18
+ ({ className, color = "grey", scrollable, children, ...props }, forwardRef) => {
19
+ const trackRef = React__default.useRef(null);
20
+ const [isOverflowing, setIsOverflowing] = React__default.useState(false);
21
+ React__default.useLayoutEffect(() => {
22
+ const el = trackRef.current;
23
+ if (!el) return;
24
+ const checkOverflow = () => {
25
+ setIsOverflowing(el.scrollWidth > el.clientWidth);
26
+ };
27
+ checkOverflow();
28
+ window.addEventListener("resize", checkOverflow);
29
+ return () => window.removeEventListener("resize", checkOverflow);
30
+ }, [children]);
31
+ const isScrollable = scrollable ?? isOverflowing;
32
+ return /* @__PURE__ */ jsx("div", { ref: forwardRef, className: clsx(styles[rootClassName], className), ...props, children: /* @__PURE__ */ jsx(
33
+ "div",
34
+ {
35
+ ref: trackRef,
36
+ className: clsx(styles[`${rootClassName}__track`], {
37
+ [styles[`${rootClassName}__track--scroll`]]: isScrollable,
38
+ [styles[`${rootClassName}__track--centered`]]: !isScrollable
39
+ }),
40
+ role: "list",
41
+ "data-color": color,
42
+ children
43
+ }
44
+ ) });
45
+ }
46
+ );
47
+ Root.displayName = "TopRowButtons";
48
+ const Item = React__default.forwardRef(
49
+ ({ className, icon, emoji, label, color, href, "aria-label": ariaLabel, ...props }, forwardRef) => {
50
+ return /* @__PURE__ */ jsx("div", { className: styles[`${rootClassName}__item`], role: "listitem", children: /* @__PURE__ */ jsxs(
51
+ "a",
52
+ {
53
+ ref: forwardRef,
54
+ href,
55
+ className: clsx(styles[`${rootClassName}__button`], className),
56
+ "aria-label": ariaLabel ?? label,
57
+ "data-color": color,
58
+ ...props,
59
+ children: [
60
+ emoji ? /* @__PURE__ */ jsx("span", { className: styles[`${rootClassName}__emoji`], "aria-hidden": "true", children: emoji }) : icon ? /* @__PURE__ */ jsx(Icon, { size: "md", name: icon, "aria-hidden": "true" }) : null,
61
+ /* @__PURE__ */ jsx("span", { className: styles[`${rootClassName}__label`], "aria-hidden": !!(emoji || icon), children: label })
62
+ ]
63
+ }
64
+ ) });
65
+ }
66
+ );
67
+ Item.displayName = "TopRowButtons.Item";
68
+ const TopRowButtons = Object.assign(Root, { Item });
69
+ export {
70
+ TopRowButtons,
71
+ rootClassName
72
+ };
package/dist/main.cjs CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const components_topRowButtons_topRowButtons = require("./components/top-row-buttons/top-row-buttons.cjs");
3
4
  const components_dashedButton_dashedButtonRoot = require("./components/dashed-button/dashed-button-root.cjs");
4
5
  const components_shoppingCart_index = require("./components/shopping-cart/index.cjs");
5
6
  const components_stepIndicator_index = require("./components/step-indicator/index.cjs");
@@ -77,6 +78,7 @@ const components_shoppingCart_types = require("./components/shopping-cart/types.
77
78
  const sonner = require("sonner");
78
79
  const components_input_inputGroup = require("./components/input/input-group.cjs");
79
80
  const components_textarea_textareaGroup = require("./components/textarea/textarea-group.cjs");
81
+ exports.TopRowButtons = components_topRowButtons_topRowButtons.TopRowButtons;
80
82
  exports.DashedButton = components_dashedButton_dashedButtonRoot.DashedButton;
81
83
  exports.ShoppingCart = components_shoppingCart_index.ShoppingCart;
82
84
  exports.StepIndicator = components_stepIndicator_index.StepIndicator;
package/dist/main.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { TopRowButtons } from "./components/top-row-buttons/top-row-buttons.js";
1
2
  import { DashedButton } from "./components/dashed-button/dashed-button-root.js";
2
3
  import { ShoppingCart } from "./components/shopping-cart/index.js";
3
4
  import { StepIndicator } from "./components/step-indicator/index.js";
@@ -146,6 +147,7 @@ export {
146
147
  Toggle,
147
148
  Toggletip,
148
149
  Tooltip,
150
+ TopRowButtons,
149
151
  default3 as Video,
150
152
  VisuallyHidden,
151
153
  v as border,