@telia/teddy 0.0.18 → 0.0.20

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 (71) hide show
  1. package/README.md +0 -3
  2. package/dist/components/accordion/accordion.d.ts +2 -2
  3. package/dist/components/box/box.d.ts +1 -1
  4. package/dist/components/box/box.js +1 -1
  5. package/dist/components/button/button.d.ts +1 -1
  6. package/dist/components/button/button.js +1 -1
  7. package/dist/components/card/card.d.ts +19 -16
  8. package/dist/components/card/card.js +55 -47
  9. package/dist/components/chip/chip-indicator.d.ts +9 -0
  10. package/dist/components/chip/chip-indicator.js +16 -0
  11. package/dist/components/chip/chip-item.d.ts +9 -0
  12. package/dist/components/chip/chip-item.js +28 -0
  13. package/dist/components/chip/chip.d.ts +20 -0
  14. package/dist/components/chip/chip.js +31 -0
  15. package/dist/components/chip/index.d.ts +17 -0
  16. package/dist/components/chip/index.js +10 -0
  17. package/dist/components/field-error-text/field-error-text.d.ts +2 -2
  18. package/dist/components/flex/flex.d.ts +1 -1
  19. package/dist/components/flex/flex.js +1 -1
  20. package/dist/components/grid/grid.d.ts +1 -1
  21. package/dist/components/grid/grid.js +1 -1
  22. package/dist/components/heading/heading.d.ts +1 -1
  23. package/dist/components/heading/heading.js +1 -1
  24. package/dist/components/image/image.d.ts +11 -0
  25. package/dist/components/image/image.js +17 -0
  26. package/dist/components/image/index.d.ts +2 -0
  27. package/dist/components/image/index.js +4 -0
  28. package/dist/components/index.d.ts +2 -0
  29. package/dist/components/index.js +4 -0
  30. package/dist/components/modal/modal.d.ts +3 -3
  31. package/dist/components/modal/modal.js +2 -0
  32. package/dist/components/navigation-menu/navigation-menu.d.ts +1 -1
  33. package/dist/components/notification/notification.d.ts +24 -18
  34. package/dist/components/radio-group/radio-group.d.ts +1 -1
  35. package/dist/components/text/text.d.ts +3 -1
  36. package/dist/components/text/text.js +38 -27
  37. package/dist/components/text-field/text-field.d.ts +4 -4
  38. package/dist/components/toggle/toggle.d.ts +2 -2
  39. package/dist/main.js +4 -0
  40. package/dist/style.css +460 -229
  41. package/dist/utils/generate-styling/color.d.ts +15 -0
  42. package/dist/utils/generate-styling/color.js +12 -0
  43. package/dist/utils/{layout → generate-styling}/index.d.ts +44 -15
  44. package/dist/utils/{layout → generate-styling}/index.js +9 -5
  45. package/dist/utils/{layout → generate-styling}/justify.d.ts +6 -0
  46. package/dist/utils/{layout → generate-styling}/justify.js +2 -1
  47. package/dist/utils/generate-styling/object-fit.d.ts +45 -0
  48. package/dist/utils/generate-styling/object-fit.js +18 -0
  49. package/package.json +1 -1
  50. /package/dist/utils/{layout → generate-styling}/align.d.ts +0 -0
  51. /package/dist/utils/{layout → generate-styling}/align.js +0 -0
  52. /package/dist/utils/{layout → generate-styling}/flex.d.ts +0 -0
  53. /package/dist/utils/{layout → generate-styling}/flex.js +0 -0
  54. /package/dist/utils/{layout → generate-styling}/gap.d.ts +0 -0
  55. /package/dist/utils/{layout → generate-styling}/gap.js +0 -0
  56. /package/dist/utils/{layout → generate-styling}/grid.d.ts +0 -0
  57. /package/dist/utils/{layout → generate-styling}/grid.js +0 -0
  58. /package/dist/utils/{layout → generate-styling}/height.d.ts +0 -0
  59. /package/dist/utils/{layout → generate-styling}/height.js +0 -0
  60. /package/dist/utils/{layout → generate-styling}/inset.d.ts +0 -0
  61. /package/dist/utils/{layout → generate-styling}/inset.js +0 -0
  62. /package/dist/utils/{layout → generate-styling}/margin.d.ts +0 -0
  63. /package/dist/utils/{layout → generate-styling}/margin.js +0 -0
  64. /package/dist/utils/{layout → generate-styling}/padding.d.ts +0 -0
  65. /package/dist/utils/{layout → generate-styling}/padding.js +0 -0
  66. /package/dist/utils/{layout → generate-styling}/position.d.ts +0 -0
  67. /package/dist/utils/{layout → generate-styling}/position.js +0 -0
  68. /package/dist/utils/{layout → generate-styling}/util.d.ts +0 -0
  69. /package/dist/utils/{layout → generate-styling}/util.js +0 -0
  70. /package/dist/utils/{layout → generate-styling}/width.d.ts +0 -0
  71. /package/dist/utils/{layout → generate-styling}/width.js +0 -0
package/README.md CHANGED
@@ -22,9 +22,6 @@ Teddy is built on a foundation of three core principles:
22
22
  - **Accessibility**: With a commitment to inclusivity, accessibility is at the forefront of our design process. We aim
23
23
  to make our components universally usable, adhering to WCAG guidelines and accessibility best practices.
24
24
 
25
- - **Performance**: We prioritize high performance to guarantee a smooth user experience. Our components are optimized
26
- for efficiency, balancing speed with functionality.
27
-
28
25
  ## Getting Started
29
26
 
30
27
  To contribute to or utilize Teddy:
@@ -1,6 +1,6 @@
1
- import { IconProps } from '../icon';
2
- import { HeadingProps } from '../heading';
3
1
  import { default as React } from 'react';
2
+ import { HeadingProps } from '../heading';
3
+ import { IconProps } from '../icon';
4
4
 
5
5
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
6
6
  /** -------------------------------------------------------------------------------------------------
@@ -1,5 +1,5 @@
1
- import { ChildrenLayoutProps } from '../../utils/layout';
2
1
  import { default as React } from 'react';
2
+ import { ChildrenLayoutProps } from '../../utils/generate-styling';
3
3
 
4
4
  /** -------------------------------------------------------------------------------------------------
5
5
  * Box
@@ -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 { extractProps } from "../../utils/layout/index.js";
4
+ import { extractProps } from "../../utils/generate-styling/index.js";
5
5
  import { Slot } from "@radix-ui/react-slot";
6
6
  const styles = {};
7
7
  const rootClassName = "teddy-box";
@@ -1,4 +1,4 @@
1
- import { ChildrenLayoutProps } from '../../utils/layout';
1
+ import { ChildrenLayoutProps } from '../../utils/generate-styling';
2
2
  import * as React from 'react';
3
3
  declare const variants: readonly ["primary", "secondary", "destructive", "tertiary-purple", "text", "expressive", "primary-negative", "secondary-negative", "destructive-negative", "tertiary-purple-negative", "text-negative", "expressive-negative"];
4
4
  export type Variant = (typeof variants)[number];
@@ -3,7 +3,7 @@ import { Slottable, Slot } from "@radix-ui/react-slot";
3
3
  import { clsx } from "clsx";
4
4
  import * as React from "react";
5
5
  import { Spinner } from "../spinner/spinner.js";
6
- import { extractProps } from "../../utils/layout/index.js";
6
+ import { extractProps } from "../../utils/generate-styling/index.js";
7
7
  const fadeInAnimation = "_fadeInAnimation_1biph_1";
8
8
  const scaleInAnimation = "_scaleInAnimation_1biph_1";
9
9
  const styles = {
@@ -1,20 +1,23 @@
1
- import { Link as PrimitiveLink } from '../link';
2
- import { Button as PrimitiveButton } from '../button';
3
- import { Heading as PrimitiveHeading } from '../heading';
4
- import { Box } from '../box';
5
- import { Flex } from '../flex';
6
1
  import { default as React } from 'react';
2
+ import { Box } from '../box';
3
+ import { Heading as PrimitiveHeading } from '../heading';
4
+ import { Button as PrimitiveButton } from '../button';
5
+ import { Link as PrimitiveLink } from '../link';
6
+ import { Grid } from '../grid';
7
7
 
8
8
  declare const variantOptions: readonly ["purple-light", "purple-dark", "gray", "white", "beige"];
9
9
  type Variant = (typeof variantOptions)[number];
10
+ type Layout = 'navigation-vertical' | 'navigation-horizontal-small' | 'navigation-horizontal-large' | 'rich-card';
10
11
  /** -------------------------------------------------------------------------------------------------
11
12
  * Root
12
13
  * -----------------------------------------------------------------------------------------------*/
13
- type RootProps = React.ComponentPropsWithoutRef<typeof Flex> & {
14
+ type RootProps = React.ComponentPropsWithoutRef<typeof Grid> & {
14
15
  asChild?: boolean;
15
16
  variant?: Variant;
16
17
  bordered?: boolean;
18
+ shadow?: boolean;
17
19
  backgroundImageSrc?: string;
20
+ layout?: Layout;
18
21
  };
19
22
  /** -------------------------------------------------------------------------------------------------
20
23
  * Heading
@@ -23,7 +26,7 @@ type HeadingProps = Partial<React.ComponentPropsWithoutRef<typeof PrimitiveHeadi
23
26
  /** -------------------------------------------------------------------------------------------------
24
27
  * Content
25
28
  * -----------------------------------------------------------------------------------------------*/
26
- type ContentProps = React.ComponentPropsWithoutRef<'div'>;
29
+ type ContentProps = React.ComponentPropsWithoutRef<typeof Box>;
27
30
  /** -------------------------------------------------------------------------------------------------
28
31
  * Slot
29
32
  * -----------------------------------------------------------------------------------------------*/
@@ -31,10 +34,10 @@ type SlotProps = React.ComponentPropsWithoutRef<typeof Box> & {
31
34
  align?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
32
35
  };
33
36
  /** -------------------------------------------------------------------------------------------------
34
- * Image
37
+ * Illustration
35
38
  * -----------------------------------------------------------------------------------------------*/
36
39
  declare const insetOptions: readonly ["top", "bottom", "left", "right", "all", "top-right-left", "bottom-left-right", "top-left", "top-right", "bottom-left", "bottom-right", "top-bottom", "left-right"];
37
- type ImageProps = React.ComponentPropsWithoutRef<'img'> & {
40
+ type IllustrationProps = React.ComponentPropsWithoutRef<'div'> & {
38
41
  /** The inset allows make the image bleed out to the edges */
39
42
  inset?: (typeof insetOptions)[number];
40
43
  };
@@ -52,12 +55,12 @@ type LineProps = Omit<React.ComponentPropsWithoutRef<typeof Box>, 'asChild' | 'a
52
55
  declare const Card: React.ForwardRefExoticComponent<RootProps & React.RefAttributes<HTMLDivElement>> & {
53
56
  Root: React.ForwardRefExoticComponent<RootProps & React.RefAttributes<HTMLDivElement>>;
54
57
  Heading: React.ForwardRefExoticComponent<HeadingProps & React.RefAttributes<HTMLHeadingElement>>;
55
- Content: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
56
- Image: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "ref"> & {
58
+ Content: React.ForwardRefExoticComponent<ContentProps & React.RefAttributes<HTMLDivElement>>;
59
+ Illustration: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
57
60
  /** The inset allows make the image bleed out to the edges */
58
- inset?: "all" | "top" | "bottom" | "right" | "left" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-right-left" | "bottom-left-right" | "top-bottom" | "left-right" | undefined;
59
- } & React.RefAttributes<HTMLImageElement>>;
60
- Button: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "aria-label"> & import('../../utils/layout/flex').FlexChildren & import('../../utils/layout/grid').GridChildren & import('../../utils/layout/position').PositionProps & import('../../utils/layout/inset').InsetProps & import('../../utils/layout/margin').MarginProps & import('../../utils/layout/padding').PaddingProps & import('../../utils/layout/width').WidthProps & import('../../utils/layout/height').HeightProps & {
61
+ inset?: "top" | "bottom" | "left" | "right" | "all" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-right-left" | "bottom-left-right" | "top-bottom" | "left-right" | undefined;
62
+ } & React.RefAttributes<HTMLDivElement>>;
63
+ Button: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "aria-label"> & import('../../utils/generate-styling/flex').FlexChildren & import('../../utils/generate-styling/grid').GridChildren & import('../../utils/generate-styling/position').PositionProps & import('../../utils/generate-styling/inset').InsetProps & import('../../utils/generate-styling/margin').MarginProps & import('../../utils/generate-styling/padding').PaddingProps & import('../../utils/generate-styling/width').WidthProps & import('../../utils/generate-styling/height').HeightProps & import('../../utils/generate-styling/color').ColorProps & {
61
64
  asChild?: boolean | undefined;
62
65
  loading?: boolean | undefined;
63
66
  fullWidth?: boolean | undefined;
@@ -66,7 +69,7 @@ declare const Card: React.ForwardRefExoticComponent<RootProps & React.RefAttribu
66
69
  } & {
67
70
  iconOnly: true;
68
71
  "aria-label": string;
69
- } & React.RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "aria-label"> & import('../../utils/layout/flex').FlexChildren & import('../../utils/layout/grid').GridChildren & import('../../utils/layout/position').PositionProps & import('../../utils/layout/inset').InsetProps & import('../../utils/layout/margin').MarginProps & import('../../utils/layout/padding').PaddingProps & import('../../utils/layout/width').WidthProps & import('../../utils/layout/height').HeightProps & {
72
+ } & React.RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "aria-label"> & import('../../utils/generate-styling/flex').FlexChildren & import('../../utils/generate-styling/grid').GridChildren & import('../../utils/generate-styling/position').PositionProps & import('../../utils/generate-styling/inset').InsetProps & import('../../utils/generate-styling/margin').MarginProps & import('../../utils/generate-styling/padding').PaddingProps & import('../../utils/generate-styling/width').WidthProps & import('../../utils/generate-styling/height').HeightProps & import('../../utils/generate-styling/color').ColorProps & {
70
73
  asChild?: boolean | undefined;
71
74
  loading?: boolean | undefined;
72
75
  fullWidth?: boolean | undefined;
@@ -95,7 +98,7 @@ type CardProps = {
95
98
  Heading: HeadingProps;
96
99
  Content: ContentProps;
97
100
  Button: ButtonProps;
98
- Image: ImageProps;
101
+ Illustration: IllustrationProps;
99
102
  Slot: SlotProps;
100
103
  Link: LinkProps;
101
104
  Line: LineProps;
@@ -3,42 +3,49 @@ import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import { composeRefs } from "../../utils/composeRefs.js";
5
5
  import { composeEventHandlers } from "../../utils/composeEventHandlers.js";
6
- import { Flex } from "../flex/flex.js";
7
6
  import { Box } from "../box/box.js";
8
7
  import { Heading as Heading$1 } from "../heading/heading.js";
9
8
  import { Button as Button$1 } from "../button/button.js";
10
9
  import { Link as Link$1 } from "../link/link.js";
11
- import { TextSpacing } from "../text-spacing/text-spacing.js";
12
10
  import { teddySpacing50 } from "../../tokens/spacing/variables.js";
11
+ import { Grid } from "../grid/grid.js";
13
12
  const styles = {
14
- "teddy-card": "_teddy-card_1h4hf_3",
15
- "teddy-card__slot": "_teddy-card__slot_1h4hf_13",
16
- "teddy-card__slot--bottom": "_teddy-card__slot--bottom_1h4hf_16",
17
- "teddy-card__slot--center": "_teddy-card__slot--center_1h4hf_19",
18
- "teddy-card__action": "_teddy-card__action_1h4hf_40",
19
- "teddy-card__action--disabled": "_teddy-card__action--disabled_1h4hf_40",
20
- "teddy-card--border": "_teddy-card--border_1h4hf_46",
21
- "teddy-card__line": "_teddy-card__line_1h4hf_49",
22
- "teddy-card--purple-light": "_teddy-card--purple-light_1h4hf_53",
23
- "teddy-card--purple-dark": "_teddy-card--purple-dark_1h4hf_67",
24
- "teddy-card--white": "_teddy-card--white_1h4hf_86",
25
- "teddy-card--gray": "_teddy-card--gray_1h4hf_100",
26
- "teddy-card--beige": "_teddy-card--beige_1h4hf_114",
27
- "teddy-card__image--as-background": "_teddy-card__image--as-background_1h4hf_128",
28
- "teddy-card__heading": "_teddy-card__heading_1h4hf_131",
29
- "teddy-card--background-image": "_teddy-card--background-image_1h4hf_134",
30
- "teddy-card__image": "_teddy-card__image_1h4hf_128",
31
- "teddy-card__image--inset-top": "_teddy-card__image--inset-top_1h4hf_149",
32
- "teddy-card__image--inset-bottom": "_teddy-card__image--inset-bottom_1h4hf_152",
33
- "teddy-card__image--inset-left": "_teddy-card__image--inset-left_1h4hf_155",
34
- "teddy-card__image--inset-right": "_teddy-card__image--inset-right_1h4hf_158"
13
+ "teddy-card": "_teddy-card_aok47_3",
14
+ "teddy-card__slot": "_teddy-card__slot_aok47_13",
15
+ "teddy-card__slot--bottom": "_teddy-card__slot--bottom_aok47_16",
16
+ "teddy-card__slot--center": "_teddy-card__slot--center_aok47_19",
17
+ "teddy-card--shadow": "_teddy-card--shadow_aok47_41",
18
+ "teddy-card__action": "_teddy-card__action_aok47_45",
19
+ "teddy-card__action--disabled": "_teddy-card__action--disabled_aok47_45",
20
+ "teddy-card--border": "_teddy-card--border_aok47_52",
21
+ "teddy-card--layout": "_teddy-card--layout_aok47_55",
22
+ "teddy-card__illustration": "_teddy-card__illustration_aok47_55",
23
+ "teddy-card__content": "_teddy-card__content_aok47_58",
24
+ "teddy-card__heading": "_teddy-card__heading_aok47_61",
25
+ "teddy-card--navigation-vertical": "_teddy-card--navigation-vertical_aok47_67",
26
+ "teddy-card--navigation-horizontal-small": "_teddy-card--navigation-horizontal-small_aok47_86",
27
+ "teddy-card--navigation-horizontal-large": "_teddy-card--navigation-horizontal-large_aok47_98",
28
+ "teddy-card--rich-card": "_teddy-card--rich-card_aok47_110",
29
+ "teddy-card__line": "_teddy-card__line_aok47_128",
30
+ "teddy-card--purple-light": "_teddy-card--purple-light_aok47_132",
31
+ "teddy-card--purple-dark": "_teddy-card--purple-dark_aok47_146",
32
+ "teddy-card--white": "_teddy-card--white_aok47_165",
33
+ "teddy-card--gray": "_teddy-card--gray_aok47_179",
34
+ "teddy-card--beige": "_teddy-card--beige_aok47_193",
35
+ "teddy-card__image--as-background": "_teddy-card__image--as-background_aok47_207",
36
+ "teddy-card--background-image": "_teddy-card--background-image_aok47_213",
37
+ "teddy-card__inset": "_teddy-card__inset_aok47_218",
38
+ "teddy-card__inset--top": "_teddy-card__inset--top_aok47_221",
39
+ "teddy-card__inset--left": "_teddy-card__inset--left_aok47_224",
40
+ "teddy-card__inset--right": "_teddy-card__inset--right_aok47_227",
41
+ "teddy-card__inset--bottom": "_teddy-card__inset--bottom_aok47_230"
35
42
  };
36
43
  const rootClassName = "teddy-card";
37
44
  const actionElementIdentifier = `${rootClassName}__action`;
38
45
  const variantOptions = ["purple-light", "purple-dark", "gray", "white", "beige"];
39
46
  const RootContext = React__default.createContext(void 0);
40
47
  const Root = React__default.forwardRef(
41
- ({ className, children, backgroundImageSrc, variant, bordered, ...props }, forwardRef) => {
48
+ ({ className, children, shadow, backgroundImageSrc, layout, variant, bordered, ...props }, forwardRef) => {
42
49
  const buttonRef = React__default.useRef(null);
43
50
  const linkRef = React__default.useRef(null);
44
51
  const classes = clsx(
@@ -46,14 +53,16 @@ const Root = React__default.forwardRef(
46
53
  {
47
54
  [styles[`${rootClassName}--${variant}`]]: variant,
48
55
  [styles[`${rootClassName}--border`]]: bordered,
49
- [styles[`${rootClassName}--background-image`]]: backgroundImageSrc
56
+ [styles[`${rootClassName}--shadow`]]: shadow,
57
+ [styles[`${rootClassName}--background-image`]]: backgroundImageSrc,
58
+ [styles[`${rootClassName}--layout`]]: layout,
59
+ [styles[`${rootClassName}--${layout}`]]: layout
50
60
  },
51
61
  className
52
62
  );
53
- return /* @__PURE__ */ jsx(RootContext.Provider, { value: { buttonRef, linkRef, variant }, children: /* @__PURE__ */ jsx(TextSpacing, { asChild: true, children: /* @__PURE__ */ jsx(
54
- Flex,
63
+ return /* @__PURE__ */ jsx(RootContext.Provider, { value: { buttonRef, linkRef, variant, layout }, children: /* @__PURE__ */ jsx(
64
+ Grid,
55
65
  {
56
- direction: "column",
57
66
  ...props,
58
67
  className: classes,
59
68
  style: backgroundImageSrc ? { background: `url(${backgroundImageSrc})`, ...props.style } : props.style,
@@ -68,13 +77,14 @@ const Root = React__default.forwardRef(
68
77
  ref: forwardRef,
69
78
  children
70
79
  }
71
- ) }) });
80
+ ) });
72
81
  }
73
82
  );
74
83
  Root.displayName = "Card";
75
84
  const Heading = React__default.forwardRef(
76
- ({ className, variant = "title-200", as = "h2", ...props }, forwardRef) => {
85
+ ({ className, as = "h2", ...props }, forwardRef) => {
77
86
  const classes = clsx([styles[`${rootClassName}__heading`]], className);
87
+ const variant = props.variant ?? "title-200";
78
88
  return /* @__PURE__ */ jsx(
79
89
  Heading$1,
80
90
  {
@@ -90,7 +100,7 @@ const Heading = React__default.forwardRef(
90
100
  Heading.displayName = "Card.Heading";
91
101
  const Content = React__default.forwardRef(({ className, ...props }, forwardRef) => {
92
102
  const classes = clsx([styles[`${rootClassName}__content`]], className);
93
- return /* @__PURE__ */ jsx("div", { ...props, ref: forwardRef, className: classes });
103
+ return /* @__PURE__ */ jsx(Box, { ...props, ref: forwardRef, className: classes });
94
104
  });
95
105
  Content.displayName = "Card.Content";
96
106
  const Slot = React__default.forwardRef(({ className, align, ...props }, forwardRef) => {
@@ -133,21 +143,19 @@ const insetOptions = [
133
143
  "top-bottom",
134
144
  "left-right"
135
145
  ];
136
- const Image = React__default.forwardRef(({ className, ...props }, forwardRef) => {
137
- var _a, _b, _c, _d, _e, _f, _g, _h;
138
- const classes = clsx(
139
- [styles[`${rootClassName}__image`]],
140
- {
141
- [styles[`${rootClassName}__image--inset-top`]]: ((_a = props.inset) == null ? void 0 : _a.includes("top")) || ((_b = props.inset) == null ? void 0 : _b.includes("all")),
142
- [styles[`${rootClassName}__image--inset-bottom`]]: ((_c = props.inset) == null ? void 0 : _c.includes("bottom")) || ((_d = props.inset) == null ? void 0 : _d.includes("all")),
143
- [styles[`${rootClassName}__image--inset-left`]]: ((_e = props.inset) == null ? void 0 : _e.includes("left")) || ((_f = props.inset) == null ? void 0 : _f.includes("all")),
144
- [styles[`${rootClassName}__image--inset-right`]]: ((_g = props.inset) == null ? void 0 : _g.includes("right")) || ((_h = props.inset) == null ? void 0 : _h.includes("all"))
145
- },
146
- className
147
- );
148
- return /* @__PURE__ */ jsx("img", { ...props, ref: forwardRef, className: classes });
149
- });
150
- Image.displayName = "Card.Image";
146
+ const Illustration = React__default.forwardRef(
147
+ ({ className, children, ...props }, forwardRef) => {
148
+ var _a, _b, _c, _d, _e, _f, _g, _h;
149
+ const classes = clsx([styles[`${rootClassName}__illustration`]], className, [styles[`${rootClassName}__inset`]], {
150
+ [styles[`${rootClassName}__inset--top`]]: ((_a = props.inset) == null ? void 0 : _a.includes("top")) || ((_b = props.inset) == null ? void 0 : _b.includes("all")),
151
+ [styles[`${rootClassName}__inset--bottom`]]: ((_c = props.inset) == null ? void 0 : _c.includes("bottom")) || ((_d = props.inset) == null ? void 0 : _d.includes("all")),
152
+ [styles[`${rootClassName}__inset--left`]]: ((_e = props.inset) == null ? void 0 : _e.includes("left")) || ((_f = props.inset) == null ? void 0 : _f.includes("all")),
153
+ [styles[`${rootClassName}__inset--right`]]: ((_g = props.inset) == null ? void 0 : _g.includes("right")) || ((_h = props.inset) == null ? void 0 : _h.includes("all"))
154
+ });
155
+ return /* @__PURE__ */ jsx("div", { ...props, className: classes, ref: forwardRef, children });
156
+ }
157
+ );
158
+ Illustration.displayName = "Card.Illustration";
151
159
  function getButtonVariant(variant) {
152
160
  switch (variant) {
153
161
  case "purple-dark":
@@ -198,7 +206,7 @@ const Card = Object.assign(Root, {
198
206
  Root,
199
207
  Heading,
200
208
  Content,
201
- Image,
209
+ Illustration,
202
210
  Button,
203
211
  Link,
204
212
  Slot,
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { Icon } from '../icon';
3
+
4
+ export type IndicatorProps = Partial<React.ComponentPropsWithoutRef<typeof Icon>>;
5
+ export declare const Indicator: React.ForwardRefExoticComponent<Partial<Omit<React.SVGProps<SVGSVGElement> & {
6
+ name: "key" | "search" | "split" | "link" | "add" | "reverse" | "infinite" | "radio" | "visible" | "copy" | "help" | "zoom-out" | "filter" | "x" | "zoom" | "menu" | "map" | "summary" | "time" | "video" | "image" | "stop" | "download" | "alert" | "email" | "sync" | "alarm-off" | "alarm-on" | "attachment" | "bookmark-filled" | "bookmark" | "copy-filled" | "dislike" | "edit" | "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" | "shuffle" | "skip-back-10sec" | "skip-back-30sec" | "skip-forward-10sec" | "skip-forward-30sec" | "star-filled" | "star" | "switch-arrows" | "tv-next" | "tv-pause" | "tv-previous" | "tv-stop" | "upload" | "volume" | "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" | "end-user" | "handshake" | "headphones" | "letter" | "mms" | "new-contact" | "new-group" | "news" | "parental-guide" | "people-hub" | "people" | "portal" | "signature" | "smiley-happy" | "smiley-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" | "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" | "airplay" | "camera" | "entertainment" | "external" | "film" | "games" | "megaphone" | "microphone" | "music" | "player-settings" | "record" | "stream" | "trailer" | "video-conference" | "activity-level" | "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" | "job-search" | "layers" | "measuring-health" | "moisture" | "offering" | "offshore" | "optimization" | "pebble" | "pet-dog" | "pin" | "plane" | "plus-minus" | "police" | "power-grid" | "present" | "press-button" | "price" | "pulse" | "recycle" | "reservation" | "route" | "ruler" | "satellite" | "secured-1" | "secured-2" | "security-camera" | "shopping" | "snowflake" | "speedometer" | "spyware" | "suitcase" | "sustainability" | "tag" | "temperature" | "thinking" | "train" | "transfer" | "undo" | "wavelength" | "weather" | "world" | "android" | "apple" | "bankid-norway" | "bankid" | "facebook" | "instagram" | "youtube" | "linkedin" | "snapchat" | "telia-logo" | "whatsapp" | "windows" | "alert-filled" | "check-circle-filled" | "check-circle" | "error-filled" | "error" | "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" | "minus-bold" | "minus" | "more-horizontal" | "more-vertical" | "plus" | "services" | "sorter" | "table-view";
7
+ size?: ("sm" | "md" | "lg" | "xl" | "font" | "xxs" | "xs") | undefined;
8
+ children?: React.ReactNode;
9
+ }, "ref">> & React.RefAttributes<SVGSVGElement>>;
@@ -0,0 +1,16 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React__default from "react";
3
+ import clsx from "clsx";
4
+ import { s as styles, rootClassName } from "./chip.js";
5
+ import "../../assets/5636ec8e4de58d64.svg";
6
+ import { Icon } from "../icon/icon.js";
7
+ const Indicator = React__default.forwardRef(
8
+ ({ className, ...props }, forwardRef) => {
9
+ const classes = clsx([styles[`${rootClassName}__indicator`]], className);
10
+ return /* @__PURE__ */ jsx(Icon, { name: "checkmark", ...props, ref: forwardRef, className: classes });
11
+ }
12
+ );
13
+ Indicator.displayName = "Indicator";
14
+ export {
15
+ Indicator
16
+ };
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { Flex } from '../flex';
3
+
4
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
5
+ export type ItemProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> & {
6
+ unavailable?: boolean;
7
+ } & React.ComponentPropsWithoutRef<typeof Flex>;
8
+ /** An item in the group. */
9
+ export declare const Item: React.ForwardRefExoticComponent<ItemProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,28 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import React__default from "react";
3
+ import clsx from "clsx";
4
+ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5
+ import { RootContext, s as styles, rootClassName } from "./chip.js";
6
+ import { Flex } from "../flex/flex.js";
7
+ import { Indicator } from "./chip-indicator.js";
8
+ const Item = React__default.forwardRef(function Item2({ className, unavailable, ...props }, forwardRef) {
9
+ const context = React__default.useContext(RootContext);
10
+ const classes = clsx(
11
+ [
12
+ styles[`${rootClassName}__item`],
13
+ {
14
+ [styles[`${rootClassName}__item--${context == null ? void 0 : context.variant}`]]: context == null ? void 0 : context.variant,
15
+ [styles[`${rootClassName}__item--unavailable`]]: unavailable
16
+ }
17
+ ],
18
+ className
19
+ );
20
+ return /* @__PURE__ */ jsx(Flex, { gap: props.gap || "100", flexGrow: (context == null ? void 0 : context.fullWidth) ? "1" : "0", asChild: true, children: /* @__PURE__ */ jsxs(ToggleGroupPrimitive.Item, { ...props, className: classes, ref: forwardRef, children: [
21
+ props.children,
22
+ (context == null ? void 0 : context.variant) === "filter" && /* @__PURE__ */ jsx(Indicator, {})
23
+ ] }) });
24
+ });
25
+ Item.displayName = "Item";
26
+ export {
27
+ Item
28
+ };
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+ import { Flex } from '../flex';
3
+
4
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
5
+ export declare const rootClassName = "teddy-chip";
6
+ /** -------------------------------------------------------------------------------------------------
7
+ * Root
8
+ * -----------------------------------------------------------------------------------------------*/
9
+ export type Variant = 'choice' | 'filter';
10
+ export type RootProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> & React.ComponentPropsWithoutRef<typeof Flex> & {
11
+ variant?: Variant;
12
+ fullWidth?: boolean;
13
+ };
14
+ export type RootContextValue = {
15
+ variant: Variant;
16
+ fullWidth?: boolean;
17
+ };
18
+ export declare const RootContext: React.Context<RootContextValue | undefined>;
19
+ /** */
20
+ export declare const Root: React.ForwardRefExoticComponent<RootProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,31 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React__default from "react";
3
+ import clsx from "clsx";
4
+ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5
+ import { Flex } from "../flex/flex.js";
6
+ const styles = {
7
+ "teddy-chip__item": "_teddy-chip__item_1er2j_1",
8
+ "teddy-chip__item--unavailable": "_teddy-chip__item--unavailable_1er2j_33",
9
+ "teddy-chip__indicator": "_teddy-chip__indicator_1er2j_82"
10
+ };
11
+ const rootClassName = "teddy-chip";
12
+ const RootContext = React__default.createContext(void 0);
13
+ const Root = React__default.forwardRef(
14
+ ({ className, children, fullWidth, variant, asChild, ...props }, forwardRef) => {
15
+ const classes = clsx([styles[`${rootClassName}`]], className);
16
+ return /* @__PURE__ */ jsx(
17
+ RootContext.Provider,
18
+ {
19
+ value: { variant: variant || (props.type === "multiple" ? "filter" : "choice"), fullWidth },
20
+ children: /* @__PURE__ */ jsx(ToggleGroupPrimitive.Root, { ...props, ref: forwardRef, className: classes, asChild: true, children: /* @__PURE__ */ jsx(Flex, { gap: "200", ...asChild ? { asChild: true, as: void 0 } : { as: "div" }, children }) })
21
+ }
22
+ );
23
+ }
24
+ );
25
+ Root.displayName = "Root";
26
+ export {
27
+ Root,
28
+ RootContext,
29
+ rootClassName,
30
+ styles as s
31
+ };
@@ -0,0 +1,17 @@
1
+ import { RootProps } from './chip';
2
+ import { IndicatorProps } from './chip-indicator';
3
+ import { ItemProps } from './chip-item';
4
+
5
+ export declare const Chip: import('react').ForwardRefExoticComponent<RootProps & import('react').RefAttributes<HTMLDivElement>> & {
6
+ Item: import('react').ForwardRefExoticComponent<ItemProps & import('react').RefAttributes<HTMLButtonElement>>;
7
+ Indicator: import('react').ForwardRefExoticComponent<Partial<Omit<import('react').SVGProps<SVGSVGElement> & {
8
+ name: "key" | "search" | "split" | "link" | "add" | "reverse" | "infinite" | "radio" | "visible" | "copy" | "help" | "zoom-out" | "filter" | "x" | "zoom" | "menu" | "map" | "summary" | "time" | "video" | "image" | "stop" | "download" | "alert" | "email" | "sync" | "alarm-off" | "alarm-on" | "attachment" | "bookmark-filled" | "bookmark" | "copy-filled" | "dislike" | "edit" | "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" | "shuffle" | "skip-back-10sec" | "skip-back-30sec" | "skip-forward-10sec" | "skip-forward-30sec" | "star-filled" | "star" | "switch-arrows" | "tv-next" | "tv-pause" | "tv-previous" | "tv-stop" | "upload" | "volume" | "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" | "end-user" | "handshake" | "headphones" | "letter" | "mms" | "new-contact" | "new-group" | "news" | "parental-guide" | "people-hub" | "people" | "portal" | "signature" | "smiley-happy" | "smiley-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" | "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" | "airplay" | "camera" | "entertainment" | "external" | "film" | "games" | "megaphone" | "microphone" | "music" | "player-settings" | "record" | "stream" | "trailer" | "video-conference" | "activity-level" | "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" | "job-search" | "layers" | "measuring-health" | "moisture" | "offering" | "offshore" | "optimization" | "pebble" | "pet-dog" | "pin" | "plane" | "plus-minus" | "police" | "power-grid" | "present" | "press-button" | "price" | "pulse" | "recycle" | "reservation" | "route" | "ruler" | "satellite" | "secured-1" | "secured-2" | "security-camera" | "shopping" | "snowflake" | "speedometer" | "spyware" | "suitcase" | "sustainability" | "tag" | "temperature" | "thinking" | "train" | "transfer" | "undo" | "wavelength" | "weather" | "world" | "android" | "apple" | "bankid-norway" | "bankid" | "facebook" | "instagram" | "youtube" | "linkedin" | "snapchat" | "telia-logo" | "whatsapp" | "windows" | "alert-filled" | "check-circle-filled" | "check-circle" | "error-filled" | "error" | "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" | "minus-bold" | "minus" | "more-horizontal" | "more-vertical" | "plus" | "services" | "sorter" | "table-view";
9
+ size?: ("sm" | "md" | "lg" | "xl" | "font" | "xxs" | "xs") | undefined;
10
+ children?: import('react').ReactNode;
11
+ }, "ref">> & import('react').RefAttributes<SVGSVGElement>>;
12
+ };
13
+ export type ChipProps = {
14
+ Root: RootProps;
15
+ Item: ItemProps;
16
+ Indicator: IndicatorProps;
17
+ };
@@ -0,0 +1,10 @@
1
+ import { Root } from "./chip.js";
2
+ import { Indicator } from "./chip-indicator.js";
3
+ import { Item } from "./chip-item.js";
4
+ const Chip = Object.assign(Root, {
5
+ Item,
6
+ Indicator
7
+ });
8
+ export {
9
+ Chip
10
+ };
@@ -1,6 +1,6 @@
1
- import { TextProps } from '../text';
2
- import { IconProps } from '../icon';
3
1
  import { default as React } from 'react';
2
+ import { IconProps } from '../icon';
3
+ import { TextProps } from '../text';
4
4
 
5
5
  export type FieldErrorTextIndicatorProps = Partial<IconProps>;
6
6
  export type FieldErrorTextProps = TextProps;
@@ -1,5 +1,5 @@
1
- import { LayoutFlexProps } from '../../utils/layout';
2
1
  import { default as React } from 'react';
2
+ import { LayoutFlexProps } from '../../utils/generate-styling';
3
3
 
4
4
  /** -------------------------------------------------------------------------------------------------
5
5
  * Flex
@@ -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 { Slot } from "@radix-ui/react-slot";
5
- import { extractProps } from "../../utils/layout/index.js";
5
+ import { extractProps } from "../../utils/generate-styling/index.js";
6
6
  const styles = {
7
7
  "teddy-flex": "_teddy-flex_19teo_2"
8
8
  };
@@ -1,5 +1,5 @@
1
- import { LayoutGridProps } from '../../utils/layout';
2
1
  import { default as React } from 'react';
2
+ import { LayoutGridProps } from '../../utils/generate-styling';
3
3
 
4
4
  /** -------------------------------------------------------------------------------------------------
5
5
  * Grid
@@ -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 { Slot } from "@radix-ui/react-slot";
5
- import { extractProps } from "../../utils/layout/index.js";
5
+ import { extractProps } from "../../utils/generate-styling/index.js";
6
6
  const styles = {
7
7
  "teddy-grid": "_teddy-grid_1dv1t_2"
8
8
  };
@@ -1,5 +1,5 @@
1
- import { ChildrenLayoutProps } from '../../utils/layout';
2
1
  import { default as React } from 'react';
2
+ import { ChildrenLayoutProps } from '../../utils/generate-styling';
3
3
 
4
4
  /** -------------------------------------------------------------------------------------------------
5
5
  * Heading
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { Slot } from "@radix-ui/react-slot";
3
3
  import clsx from "clsx";
4
4
  import React__default from "react";
5
- import { extractProps } from "../../utils/layout/index.js";
5
+ import { extractProps } from "../../utils/generate-styling/index.js";
6
6
  const styles = {
7
7
  "teddy-heading": "_teddy-heading_r8os0_2",
8
8
  "teddy-heading--hyphens": "_teddy-heading--hyphens_r8os0_9",
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { ImageStylingProps } from '../../utils/generate-styling';
3
+
4
+ /** -------------------------------------------------------------------------------------------------
5
+ * Image
6
+ * -----------------------------------------------------------------------------------------------*/
7
+ type ImageProps = React.ComponentPropsWithoutRef<'img'> & ImageStylingProps;
8
+ /** */
9
+ declare const Image: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "ref"> & import('../../utils/generate-styling/position').PositionProps & import('../../utils/generate-styling/inset').InsetProps & import('../../utils/generate-styling/margin').MarginProps & import('../../utils/generate-styling/padding').PaddingProps & import('../../utils/generate-styling/width').WidthProps & import('../../utils/generate-styling/height').HeightProps & import('../../utils/generate-styling/color').ColorProps & import('../../utils/generate-styling/object-fit').ObjectFitProps & React.RefAttributes<HTMLImageElement>>;
10
+ export { Image };
11
+ export type { ImageProps };
@@ -0,0 +1,17 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React__default from "react";
3
+ import clsx from "clsx";
4
+ import { extractProps } from "../../utils/generate-styling/index.js";
5
+ const styles = {
6
+ "teddy-image": "_teddy-image_oyxp8_1"
7
+ };
8
+ const rootClassName = "teddy-image";
9
+ const Image = React__default.forwardRef((props, forwardRef) => {
10
+ const { className, ...rest } = extractProps(props);
11
+ const classes = clsx([styles[`${rootClassName}`]], className);
12
+ return /* @__PURE__ */ jsx("img", { ...rest, ref: forwardRef, className: classes });
13
+ });
14
+ Image.displayName = "Image";
15
+ export {
16
+ Image
17
+ };
@@ -0,0 +1,2 @@
1
+ export { Image } from './image';
2
+ export type { ImageProps } from './image';
@@ -0,0 +1,4 @@
1
+ import { Image } from "./image.js";
2
+ export {
3
+ Image
4
+ };
@@ -1,3 +1,5 @@
1
+ export * from './image';
2
+ export * from './chip';
1
3
  export * from './modal';
2
4
  export * from './notification';
3
5
  export * from './radio-group';