@telia/teddy 0.0.67 → 0.0.69

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 (44) hide show
  1. package/dist/components/accordion/accordion-content.cjs +1 -1
  2. package/dist/components/accordion/accordion-content.js +1 -1
  3. package/dist/components/accordion/accordion-root.cjs +13 -13
  4. package/dist/components/accordion/accordion-root.js +13 -13
  5. package/dist/components/card/card-carousel.cjs +36 -0
  6. package/dist/components/card/card-carousel.d.ts +15 -0
  7. package/dist/components/card/card-carousel.js +36 -0
  8. package/dist/components/card/card.cjs +48 -47
  9. package/dist/components/card/card.js +48 -47
  10. package/dist/components/card/index.cjs +4 -1
  11. package/dist/components/card/index.d.ts +3 -0
  12. package/dist/components/card/index.js +4 -1
  13. package/dist/components/carousel/carousel-root.cjs +99 -0
  14. package/dist/components/carousel/carousel-root.d.ts +15 -0
  15. package/dist/components/carousel/carousel-root.js +99 -0
  16. package/dist/components/carousel/index.cjs +4 -0
  17. package/dist/components/carousel/index.d.ts +2 -0
  18. package/dist/components/carousel/index.js +4 -0
  19. package/dist/components/color-dot/color-dot-root.cjs +10 -8
  20. package/dist/components/color-dot/color-dot-root.d.ts +2 -0
  21. package/dist/components/color-dot/color-dot-root.js +10 -8
  22. package/dist/components/color-dot/index.d.ts +1 -0
  23. package/dist/components/index.cjs +2 -0
  24. package/dist/components/index.d.ts +1 -0
  25. package/dist/components/index.js +2 -0
  26. package/dist/components/modal/modal.cjs +1 -0
  27. package/dist/components/modal/modal.js +1 -0
  28. package/dist/components/navigation-menu/navigation-menu.cjs +1 -0
  29. package/dist/components/navigation-menu/navigation-menu.js +1 -0
  30. package/dist/components/radio-card-group/radio-card-group-content.cjs +1 -0
  31. package/dist/components/radio-card-group/radio-card-group-content.js +1 -0
  32. package/dist/components/radio-card-group/radio-card-group-item-body.cjs +1 -0
  33. package/dist/components/radio-card-group/radio-card-group-item-body.js +1 -0
  34. package/dist/components/radio-card-group/radio-card-group-item-title.cjs +1 -0
  35. package/dist/components/radio-card-group/radio-card-group-item-title.js +1 -0
  36. package/dist/components/radio-card-group/radio-card-group-item.cjs +1 -0
  37. package/dist/components/radio-card-group/radio-card-group-item.js +1 -0
  38. package/dist/main.cjs +2 -0
  39. package/dist/main.js +2 -0
  40. package/dist/style.css +816 -152
  41. package/dist/utils/useIsClientSide.cjs +16 -0
  42. package/dist/utils/useIsClientSide.d.ts +1 -0
  43. package/dist/utils/useIsClientSide.js +16 -0
  44. package/package.json +5 -1
@@ -25,7 +25,7 @@ const AccordionPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(A
25
25
  const Content = React.forwardRef(
26
26
  ({ className, children, ...props }, forwardRef) => {
27
27
  const classes = clsx([components_accordion_accordionRoot.styles[`${components_accordion_accordionRoot.rootClassName}__content`]], className);
28
- return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Content, { ...props, ref: forwardRef, className: classes, children });
28
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Content, { ...props, ref: forwardRef, className: classes, forceMount: true, children });
29
29
  }
30
30
  );
31
31
  Content.displayName = "Content";
@@ -6,7 +6,7 @@ import * as AccordionPrimitive from "@radix-ui/react-accordion";
6
6
  const Content = React__default.forwardRef(
7
7
  ({ className, children, ...props }, forwardRef) => {
8
8
  const classes = clsx([styles[`${rootClassName}__content`]], className);
9
- return /* @__PURE__ */ jsx(AccordionPrimitive.Content, { ...props, ref: forwardRef, className: classes, children });
9
+ return /* @__PURE__ */ jsx(AccordionPrimitive.Content, { ...props, ref: forwardRef, className: classes, forceMount: true, children });
10
10
  }
11
11
  );
12
12
  Content.displayName = "Content";
@@ -22,22 +22,22 @@ function _interopNamespaceDefault(e) {
22
22
  return Object.freeze(n);
23
23
  }
24
24
  const AccordionPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AccordionPrimitive);
25
- const slideDown = "_slideDown_1arsz_1";
26
- const slideUp = "_slideUp_1arsz_1";
25
+ const slideDown = "_slideDown_nueyr_1";
26
+ const slideUp = "_slideUp_nueyr_1";
27
27
  const styles = {
28
- "teddy-accordion": "_teddy-accordion_1arsz_3",
29
- "teddy-accordion--indented": "_teddy-accordion--indented_1arsz_11",
30
- "teddy-accordion__header": "_teddy-accordion__header_1arsz_11",
31
- "teddy-accordion__content": "_teddy-accordion__content_1arsz_14",
32
- "teddy-accordion--negative": "_teddy-accordion--negative_1arsz_17",
33
- "teddy-accordion__title": "_teddy-accordion__title_1arsz_21",
34
- "teddy-accordion__trigger": "_teddy-accordion__trigger_1arsz_24",
35
- "teddy-accordion__item": "_teddy-accordion__item_1arsz_32",
36
- "teddy-accordion__indicator": "_teddy-accordion__indicator_1arsz_101",
37
- "teddy-accordion__indicator--rotate": "_teddy-accordion__indicator--rotate_1arsz_112",
28
+ "teddy-accordion": "_teddy-accordion_nueyr_3",
29
+ "teddy-accordion--indented": "_teddy-accordion--indented_nueyr_11",
30
+ "teddy-accordion__header": "_teddy-accordion__header_nueyr_11",
31
+ "teddy-accordion__content": "_teddy-accordion__content_nueyr_14",
32
+ "teddy-accordion--negative": "_teddy-accordion--negative_nueyr_17",
33
+ "teddy-accordion__title": "_teddy-accordion__title_nueyr_21",
34
+ "teddy-accordion__trigger": "_teddy-accordion__trigger_nueyr_24",
35
+ "teddy-accordion__item": "_teddy-accordion__item_nueyr_32",
36
+ "teddy-accordion__indicator": "_teddy-accordion__indicator_nueyr_101",
37
+ "teddy-accordion__indicator--rotate": "_teddy-accordion__indicator--rotate_nueyr_112",
38
38
  slideDown,
39
39
  slideUp,
40
- "teddy-accordion--info-area": "_teddy-accordion--info-area_1arsz_138"
40
+ "teddy-accordion--info-area": "_teddy-accordion--info-area_nueyr_142"
41
41
  };
42
42
  const rootClassName = "teddy-accordion";
43
43
  const RootContext = React.createContext({ value: void 0, variant: void 0 });
@@ -3,22 +3,22 @@ import clsx from "clsx";
3
3
  import React__default from "react";
4
4
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
5
5
  import { useControllableState } from "@radix-ui/react-use-controllable-state";
6
- const slideDown = "_slideDown_1arsz_1";
7
- const slideUp = "_slideUp_1arsz_1";
6
+ const slideDown = "_slideDown_nueyr_1";
7
+ const slideUp = "_slideUp_nueyr_1";
8
8
  const styles = {
9
- "teddy-accordion": "_teddy-accordion_1arsz_3",
10
- "teddy-accordion--indented": "_teddy-accordion--indented_1arsz_11",
11
- "teddy-accordion__header": "_teddy-accordion__header_1arsz_11",
12
- "teddy-accordion__content": "_teddy-accordion__content_1arsz_14",
13
- "teddy-accordion--negative": "_teddy-accordion--negative_1arsz_17",
14
- "teddy-accordion__title": "_teddy-accordion__title_1arsz_21",
15
- "teddy-accordion__trigger": "_teddy-accordion__trigger_1arsz_24",
16
- "teddy-accordion__item": "_teddy-accordion__item_1arsz_32",
17
- "teddy-accordion__indicator": "_teddy-accordion__indicator_1arsz_101",
18
- "teddy-accordion__indicator--rotate": "_teddy-accordion__indicator--rotate_1arsz_112",
9
+ "teddy-accordion": "_teddy-accordion_nueyr_3",
10
+ "teddy-accordion--indented": "_teddy-accordion--indented_nueyr_11",
11
+ "teddy-accordion__header": "_teddy-accordion__header_nueyr_11",
12
+ "teddy-accordion__content": "_teddy-accordion__content_nueyr_14",
13
+ "teddy-accordion--negative": "_teddy-accordion--negative_nueyr_17",
14
+ "teddy-accordion__title": "_teddy-accordion__title_nueyr_21",
15
+ "teddy-accordion__trigger": "_teddy-accordion__trigger_nueyr_24",
16
+ "teddy-accordion__item": "_teddy-accordion__item_nueyr_32",
17
+ "teddy-accordion__indicator": "_teddy-accordion__indicator_nueyr_101",
18
+ "teddy-accordion__indicator--rotate": "_teddy-accordion__indicator--rotate_nueyr_112",
19
19
  slideDown,
20
20
  slideUp,
21
- "teddy-accordion--info-area": "_teddy-accordion--info-area_1arsz_138"
21
+ "teddy-accordion--info-area": "_teddy-accordion--info-area_nueyr_142"
22
22
  };
23
23
  const rootClassName = "teddy-accordion";
24
24
  const RootContext = React__default.createContext({ value: void 0, variant: void 0 });
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const clsx = require("clsx");
6
+ const components_card_card = require("./card.cjs");
7
+ const components_carousel_carouselRoot = require("../carousel/carousel-root.cjs");
8
+ const components_colorDot_index = require("../color-dot/index.cjs");
9
+ const ImageSlider = React.forwardRef(
10
+ ({ variants, className, children, onClickNext, onClickPrev, onChangeVariant = () => void 0 }, forwardRef) => {
11
+ const [selectedSlide, setSelectedSlide] = React.useState(0);
12
+ const rootCarouselClass = `${components_card_card.rootClassName}__carousel`;
13
+ const classes = clsx([components_card_card.styles[rootCarouselClass]], className);
14
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: forwardRef, className: classes, children: /* @__PURE__ */ jsxRuntime.jsx(
15
+ components_carousel_carouselRoot.Carousel,
16
+ {
17
+ size: "sm",
18
+ onClickNext,
19
+ onClickPrev,
20
+ settings: {
21
+ beforeChange: (_currentSlide, nextSlide) => {
22
+ setSelectedSlide(nextSlide);
23
+ onChangeVariant(variants[nextSlide]);
24
+ },
25
+ customPaging: (index) => {
26
+ const variant = variants[index];
27
+ return /* @__PURE__ */ jsxRuntime.jsx(components_colorDot_index.ColorDot, { color: variant.color, size: "xs", bordered: true, wide: index === selectedSlide });
28
+ }
29
+ },
30
+ children
31
+ }
32
+ ) });
33
+ }
34
+ );
35
+ ImageSlider.displayName = "ImageSlider";
36
+ exports.ImageSlider = ImageSlider;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+
3
+ export type ImageSliderVariant = {
4
+ color: string;
5
+ url: string;
6
+ };
7
+ export interface ImageSliderProps {
8
+ variants: ImageSliderVariant[];
9
+ children: React.ReactNode;
10
+ className?: string;
11
+ onClickNext?: () => void;
12
+ onClickPrev?: () => void;
13
+ onChangeVariant?: (variant: ImageSliderVariant) => void;
14
+ }
15
+ export declare const ImageSlider: React.ForwardRefExoticComponent<ImageSliderProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,36 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import React__default, { useState } from "react";
3
+ import clsx from "clsx";
4
+ import { s as styles, rootClassName } from "./card.js";
5
+ import { Carousel } from "../carousel/carousel-root.js";
6
+ import { ColorDot } from "../color-dot/index.js";
7
+ const ImageSlider = React__default.forwardRef(
8
+ ({ variants, className, children, onClickNext, onClickPrev, onChangeVariant = () => void 0 }, forwardRef) => {
9
+ const [selectedSlide, setSelectedSlide] = useState(0);
10
+ const rootCarouselClass = `${rootClassName}__carousel`;
11
+ const classes = clsx([styles[rootCarouselClass]], className);
12
+ return /* @__PURE__ */ jsx("div", { ref: forwardRef, className: classes, children: /* @__PURE__ */ jsx(
13
+ Carousel,
14
+ {
15
+ size: "sm",
16
+ onClickNext,
17
+ onClickPrev,
18
+ settings: {
19
+ beforeChange: (_currentSlide, nextSlide) => {
20
+ setSelectedSlide(nextSlide);
21
+ onChangeVariant(variants[nextSlide]);
22
+ },
23
+ customPaging: (index) => {
24
+ const variant = variants[index];
25
+ return /* @__PURE__ */ jsx(ColorDot, { color: variant.color, size: "xs", bordered: true, wide: index === selectedSlide });
26
+ }
27
+ },
28
+ children
29
+ }
30
+ ) });
31
+ }
32
+ );
33
+ ImageSlider.displayName = "ImageSlider";
34
+ export {
35
+ ImageSlider
36
+ };
@@ -7,53 +7,54 @@ const utils_composeEventHandlers = require("../../utils/composeEventHandlers.cjs
7
7
  const components_grid_grid = require("../grid/grid.cjs");
8
8
  const tokens_color_variables = require("../../tokens/color/variables.cjs");
9
9
  const styles = {
10
- "teddy-card": "_teddy-card_18mto_3",
11
- "teddy-card__slot": "_teddy-card__slot_18mto_13",
12
- "teddy-card__slot--bottom": "_teddy-card__slot--bottom_18mto_16",
13
- "teddy-card__slot--center": "_teddy-card__slot--center_18mto_19",
14
- "teddy-card--shadow": "_teddy-card--shadow_18mto_41",
15
- "teddy-card__action": "_teddy-card__action_18mto_45",
16
- "teddy-card__action--disabled": "_teddy-card__action--disabled_18mto_45",
17
- "teddy-card--border": "_teddy-card--border_18mto_52",
18
- "teddy-card--layout": "_teddy-card--layout_18mto_55",
19
- "teddy-card__illustration": "_teddy-card__illustration_18mto_55",
20
- "teddy-card__content": "_teddy-card__content_18mto_58",
21
- "teddy-card__heading": "_teddy-card__heading_18mto_61",
22
- "teddy-card__action-wrapper": "_teddy-card__action-wrapper_18mto_64",
23
- "teddy-card__footer": "_teddy-card__footer_18mto_67",
24
- "teddy-card__overline": "_teddy-card__overline_18mto_70",
25
- "teddy-card__description": "_teddy-card__description_18mto_73",
26
- "teddy-card__color-dots": "_teddy-card__color-dots_18mto_76",
27
- "teddy-card__availability": "_teddy-card__availability_18mto_79",
28
- "teddy-card__price": "_teddy-card__price_18mto_82",
29
- "teddy-card--default": "_teddy-card--default_18mto_85",
30
- "teddy-card--navigation-vertical": "_teddy-card--navigation-vertical_18mto_90",
31
- "teddy-card--navigation-horizontal-small": "_teddy-card--navigation-horizontal-small_18mto_109",
32
- "teddy-card--navigation-horizontal-large": "_teddy-card--navigation-horizontal-large_18mto_121",
33
- "teddy-card--rich-card": "_teddy-card--rich-card_18mto_133",
34
- "teddy-card__line": "_teddy-card__line_18mto_151",
35
- "teddy-card--purple-light": "_teddy-card--purple-light_18mto_155",
36
- "teddy-card--purple-dark": "_teddy-card--purple-dark_18mto_169",
37
- "teddy-card--white": "_teddy-card--white_18mto_188",
38
- "teddy-card--gray": "_teddy-card--gray_18mto_202",
39
- "teddy-card--beige": "_teddy-card--beige_18mto_216",
40
- "teddy-card--product": "_teddy-card--product_18mto_230",
41
- "teddy-card__price--big": "_teddy-card__price--big_18mto_281",
42
- "teddy-card__image--as-background": "_teddy-card__image--as-background_18mto_284",
43
- "teddy-card--background-image": "_teddy-card--background-image_18mto_290",
44
- "teddy-card__illustration--rounded": "_teddy-card__illustration--rounded_18mto_295",
45
- "teddy-card__inset": "_teddy-card__inset_18mto_299",
46
- "teddy-card__inset--top": "_teddy-card__inset--top_18mto_302",
47
- "teddy-card__inset--left": "_teddy-card__inset--left_18mto_305",
48
- "teddy-card__inset--right": "_teddy-card__inset--right_18mto_308",
49
- "teddy-card__inset--bottom": "_teddy-card__inset--bottom_18mto_311",
50
- "teddy-card__availability--badge": "_teddy-card__availability--badge_18mto_326",
51
- "teddy-card__availability--success": "_teddy-card__availability--success_18mto_329",
52
- "teddy-card__availability--warning": "_teddy-card__availability--warning_18mto_332",
53
- "teddy-card__availability--error": "_teddy-card__availability--error_18mto_335",
54
- "teddy-card__availability--special": "_teddy-card__availability--special_18mto_338",
55
- "teddy-card__availability--neutral": "_teddy-card__availability--neutral_18mto_341",
56
- "teddy-card__availability--information": "_teddy-card__availability--information_18mto_344"
10
+ "teddy-card": "_teddy-card_13qq5_3",
11
+ "teddy-card__slot": "_teddy-card__slot_13qq5_13",
12
+ "teddy-card__slot--bottom": "_teddy-card__slot--bottom_13qq5_16",
13
+ "teddy-card__slot--center": "_teddy-card__slot--center_13qq5_19",
14
+ "teddy-card--shadow": "_teddy-card--shadow_13qq5_41",
15
+ "teddy-card__action": "_teddy-card__action_13qq5_45",
16
+ "teddy-card__action--disabled": "_teddy-card__action--disabled_13qq5_45",
17
+ "teddy-card--border": "_teddy-card--border_13qq5_52",
18
+ "teddy-card--layout": "_teddy-card--layout_13qq5_55",
19
+ "teddy-card__illustration": "_teddy-card__illustration_13qq5_55",
20
+ "teddy-card__carousel": "_teddy-card__carousel_13qq5_58",
21
+ "teddy-card__content": "_teddy-card__content_13qq5_61",
22
+ "teddy-card__heading": "_teddy-card__heading_13qq5_64",
23
+ "teddy-card__action-wrapper": "_teddy-card__action-wrapper_13qq5_67",
24
+ "teddy-card__footer": "_teddy-card__footer_13qq5_70",
25
+ "teddy-card__overline": "_teddy-card__overline_13qq5_73",
26
+ "teddy-card__description": "_teddy-card__description_13qq5_76",
27
+ "teddy-card__color-dots": "_teddy-card__color-dots_13qq5_79",
28
+ "teddy-card__availability": "_teddy-card__availability_13qq5_82",
29
+ "teddy-card__price": "_teddy-card__price_13qq5_85",
30
+ "teddy-card--default": "_teddy-card--default_13qq5_88",
31
+ "teddy-card--navigation-vertical": "_teddy-card--navigation-vertical_13qq5_93",
32
+ "teddy-card--navigation-horizontal-small": "_teddy-card--navigation-horizontal-small_13qq5_112",
33
+ "teddy-card--navigation-horizontal-large": "_teddy-card--navigation-horizontal-large_13qq5_124",
34
+ "teddy-card--rich-card": "_teddy-card--rich-card_13qq5_136",
35
+ "teddy-card__line": "_teddy-card__line_13qq5_154",
36
+ "teddy-card--purple-light": "_teddy-card--purple-light_13qq5_158",
37
+ "teddy-card--purple-dark": "_teddy-card--purple-dark_13qq5_172",
38
+ "teddy-card--white": "_teddy-card--white_13qq5_191",
39
+ "teddy-card--gray": "_teddy-card--gray_13qq5_205",
40
+ "teddy-card--beige": "_teddy-card--beige_13qq5_219",
41
+ "teddy-card--product": "_teddy-card--product_13qq5_233",
42
+ "teddy-card__price--big": "_teddy-card__price--big_13qq5_293",
43
+ "teddy-card__image--as-background": "_teddy-card__image--as-background_13qq5_296",
44
+ "teddy-card--background-image": "_teddy-card--background-image_13qq5_302",
45
+ "teddy-card__illustration--rounded": "_teddy-card__illustration--rounded_13qq5_307",
46
+ "teddy-card__inset": "_teddy-card__inset_13qq5_311",
47
+ "teddy-card__inset--top": "_teddy-card__inset--top_13qq5_314",
48
+ "teddy-card__inset--left": "_teddy-card__inset--left_13qq5_317",
49
+ "teddy-card__inset--right": "_teddy-card__inset--right_13qq5_320",
50
+ "teddy-card__inset--bottom": "_teddy-card__inset--bottom_13qq5_323",
51
+ "teddy-card__availability--badge": "_teddy-card__availability--badge_13qq5_338",
52
+ "teddy-card__availability--success": "_teddy-card__availability--success_13qq5_341",
53
+ "teddy-card__availability--warning": "_teddy-card__availability--warning_13qq5_344",
54
+ "teddy-card__availability--error": "_teddy-card__availability--error_13qq5_347",
55
+ "teddy-card__availability--special": "_teddy-card__availability--special_13qq5_350",
56
+ "teddy-card__availability--neutral": "_teddy-card__availability--neutral_13qq5_353",
57
+ "teddy-card__availability--information": "_teddy-card__availability--information_13qq5_356"
57
58
  };
58
59
  const rootClassName = "teddy-card";
59
60
  const actionElementIdentifier = `${rootClassName}__action`;
@@ -5,53 +5,54 @@ import { composeEventHandlers } from "../../utils/composeEventHandlers.js";
5
5
  import { Grid } from "../grid/grid.js";
6
6
  import { teddyColorTransparentWhite850, teddyColorTransparentWhite800, teddyColorTransparentWhite100, teddyColorTransparentBlack600, teddyColorTransparentBlack200 } from "../../tokens/color/variables.js";
7
7
  const styles = {
8
- "teddy-card": "_teddy-card_18mto_3",
9
- "teddy-card__slot": "_teddy-card__slot_18mto_13",
10
- "teddy-card__slot--bottom": "_teddy-card__slot--bottom_18mto_16",
11
- "teddy-card__slot--center": "_teddy-card__slot--center_18mto_19",
12
- "teddy-card--shadow": "_teddy-card--shadow_18mto_41",
13
- "teddy-card__action": "_teddy-card__action_18mto_45",
14
- "teddy-card__action--disabled": "_teddy-card__action--disabled_18mto_45",
15
- "teddy-card--border": "_teddy-card--border_18mto_52",
16
- "teddy-card--layout": "_teddy-card--layout_18mto_55",
17
- "teddy-card__illustration": "_teddy-card__illustration_18mto_55",
18
- "teddy-card__content": "_teddy-card__content_18mto_58",
19
- "teddy-card__heading": "_teddy-card__heading_18mto_61",
20
- "teddy-card__action-wrapper": "_teddy-card__action-wrapper_18mto_64",
21
- "teddy-card__footer": "_teddy-card__footer_18mto_67",
22
- "teddy-card__overline": "_teddy-card__overline_18mto_70",
23
- "teddy-card__description": "_teddy-card__description_18mto_73",
24
- "teddy-card__color-dots": "_teddy-card__color-dots_18mto_76",
25
- "teddy-card__availability": "_teddy-card__availability_18mto_79",
26
- "teddy-card__price": "_teddy-card__price_18mto_82",
27
- "teddy-card--default": "_teddy-card--default_18mto_85",
28
- "teddy-card--navigation-vertical": "_teddy-card--navigation-vertical_18mto_90",
29
- "teddy-card--navigation-horizontal-small": "_teddy-card--navigation-horizontal-small_18mto_109",
30
- "teddy-card--navigation-horizontal-large": "_teddy-card--navigation-horizontal-large_18mto_121",
31
- "teddy-card--rich-card": "_teddy-card--rich-card_18mto_133",
32
- "teddy-card__line": "_teddy-card__line_18mto_151",
33
- "teddy-card--purple-light": "_teddy-card--purple-light_18mto_155",
34
- "teddy-card--purple-dark": "_teddy-card--purple-dark_18mto_169",
35
- "teddy-card--white": "_teddy-card--white_18mto_188",
36
- "teddy-card--gray": "_teddy-card--gray_18mto_202",
37
- "teddy-card--beige": "_teddy-card--beige_18mto_216",
38
- "teddy-card--product": "_teddy-card--product_18mto_230",
39
- "teddy-card__price--big": "_teddy-card__price--big_18mto_281",
40
- "teddy-card__image--as-background": "_teddy-card__image--as-background_18mto_284",
41
- "teddy-card--background-image": "_teddy-card--background-image_18mto_290",
42
- "teddy-card__illustration--rounded": "_teddy-card__illustration--rounded_18mto_295",
43
- "teddy-card__inset": "_teddy-card__inset_18mto_299",
44
- "teddy-card__inset--top": "_teddy-card__inset--top_18mto_302",
45
- "teddy-card__inset--left": "_teddy-card__inset--left_18mto_305",
46
- "teddy-card__inset--right": "_teddy-card__inset--right_18mto_308",
47
- "teddy-card__inset--bottom": "_teddy-card__inset--bottom_18mto_311",
48
- "teddy-card__availability--badge": "_teddy-card__availability--badge_18mto_326",
49
- "teddy-card__availability--success": "_teddy-card__availability--success_18mto_329",
50
- "teddy-card__availability--warning": "_teddy-card__availability--warning_18mto_332",
51
- "teddy-card__availability--error": "_teddy-card__availability--error_18mto_335",
52
- "teddy-card__availability--special": "_teddy-card__availability--special_18mto_338",
53
- "teddy-card__availability--neutral": "_teddy-card__availability--neutral_18mto_341",
54
- "teddy-card__availability--information": "_teddy-card__availability--information_18mto_344"
8
+ "teddy-card": "_teddy-card_13qq5_3",
9
+ "teddy-card__slot": "_teddy-card__slot_13qq5_13",
10
+ "teddy-card__slot--bottom": "_teddy-card__slot--bottom_13qq5_16",
11
+ "teddy-card__slot--center": "_teddy-card__slot--center_13qq5_19",
12
+ "teddy-card--shadow": "_teddy-card--shadow_13qq5_41",
13
+ "teddy-card__action": "_teddy-card__action_13qq5_45",
14
+ "teddy-card__action--disabled": "_teddy-card__action--disabled_13qq5_45",
15
+ "teddy-card--border": "_teddy-card--border_13qq5_52",
16
+ "teddy-card--layout": "_teddy-card--layout_13qq5_55",
17
+ "teddy-card__illustration": "_teddy-card__illustration_13qq5_55",
18
+ "teddy-card__carousel": "_teddy-card__carousel_13qq5_58",
19
+ "teddy-card__content": "_teddy-card__content_13qq5_61",
20
+ "teddy-card__heading": "_teddy-card__heading_13qq5_64",
21
+ "teddy-card__action-wrapper": "_teddy-card__action-wrapper_13qq5_67",
22
+ "teddy-card__footer": "_teddy-card__footer_13qq5_70",
23
+ "teddy-card__overline": "_teddy-card__overline_13qq5_73",
24
+ "teddy-card__description": "_teddy-card__description_13qq5_76",
25
+ "teddy-card__color-dots": "_teddy-card__color-dots_13qq5_79",
26
+ "teddy-card__availability": "_teddy-card__availability_13qq5_82",
27
+ "teddy-card__price": "_teddy-card__price_13qq5_85",
28
+ "teddy-card--default": "_teddy-card--default_13qq5_88",
29
+ "teddy-card--navigation-vertical": "_teddy-card--navigation-vertical_13qq5_93",
30
+ "teddy-card--navigation-horizontal-small": "_teddy-card--navigation-horizontal-small_13qq5_112",
31
+ "teddy-card--navigation-horizontal-large": "_teddy-card--navigation-horizontal-large_13qq5_124",
32
+ "teddy-card--rich-card": "_teddy-card--rich-card_13qq5_136",
33
+ "teddy-card__line": "_teddy-card__line_13qq5_154",
34
+ "teddy-card--purple-light": "_teddy-card--purple-light_13qq5_158",
35
+ "teddy-card--purple-dark": "_teddy-card--purple-dark_13qq5_172",
36
+ "teddy-card--white": "_teddy-card--white_13qq5_191",
37
+ "teddy-card--gray": "_teddy-card--gray_13qq5_205",
38
+ "teddy-card--beige": "_teddy-card--beige_13qq5_219",
39
+ "teddy-card--product": "_teddy-card--product_13qq5_233",
40
+ "teddy-card__price--big": "_teddy-card__price--big_13qq5_293",
41
+ "teddy-card__image--as-background": "_teddy-card__image--as-background_13qq5_296",
42
+ "teddy-card--background-image": "_teddy-card--background-image_13qq5_302",
43
+ "teddy-card__illustration--rounded": "_teddy-card__illustration--rounded_13qq5_307",
44
+ "teddy-card__inset": "_teddy-card__inset_13qq5_311",
45
+ "teddy-card__inset--top": "_teddy-card__inset--top_13qq5_314",
46
+ "teddy-card__inset--left": "_teddy-card__inset--left_13qq5_317",
47
+ "teddy-card__inset--right": "_teddy-card__inset--right_13qq5_320",
48
+ "teddy-card__inset--bottom": "_teddy-card__inset--bottom_13qq5_323",
49
+ "teddy-card__availability--badge": "_teddy-card__availability--badge_13qq5_338",
50
+ "teddy-card__availability--success": "_teddy-card__availability--success_13qq5_341",
51
+ "teddy-card__availability--warning": "_teddy-card__availability--warning_13qq5_344",
52
+ "teddy-card__availability--error": "_teddy-card__availability--error_13qq5_347",
53
+ "teddy-card__availability--special": "_teddy-card__availability--special_13qq5_350",
54
+ "teddy-card__availability--neutral": "_teddy-card__availability--neutral_13qq5_353",
55
+ "teddy-card__availability--information": "_teddy-card__availability--information_13qq5_356"
55
56
  };
56
57
  const rootClassName = "teddy-card";
57
58
  const actionElementIdentifier = `${rootClassName}__action`;
@@ -14,6 +14,7 @@ const components_card_cardDescription = require("./card-description.cjs");
14
14
  const components_card_cardAvailability = require("./card-availability.cjs");
15
15
  const components_card_cardColorDots = require("./card-color-dots.cjs");
16
16
  const components_card_cardPrice = require("./card-price.cjs");
17
+ const components_card_cardCarousel = require("./card-carousel.cjs");
17
18
  components_card_card.Root.displayName = "Card";
18
19
  components_card_cardButton.Button.displayName = "Card.Button";
19
20
  components_card_cardContent.Content.displayName = "Card.Content";
@@ -28,6 +29,7 @@ components_card_cardDescription.Description.displayName = "Card.Description";
28
29
  components_card_cardAvailability.Availability.displayName = "Card.Availability";
29
30
  components_card_cardColorDots.ColorDots.displayName = "Card.ColorDots";
30
31
  components_card_cardPrice.Price.displayName = "Card.Price";
32
+ components_card_cardCarousel.ImageSlider.displayName = "Card.ImageSlider";
31
33
  const Card = Object.assign(components_card_card.Root, {
32
34
  Heading: components_card_cardHeading.Heading,
33
35
  Button: components_card_cardButton.Button,
@@ -41,6 +43,7 @@ const Card = Object.assign(components_card_card.Root, {
41
43
  Description: components_card_cardDescription.Description,
42
44
  Availability: components_card_cardAvailability.Availability,
43
45
  ColorDots: components_card_cardColorDots.ColorDots,
44
- Price: components_card_cardPrice.Price
46
+ Price: components_card_cardPrice.Price,
47
+ ImageSlider: components_card_cardCarousel.ImageSlider
45
48
  });
46
49
  exports.Card = Card;
@@ -12,6 +12,7 @@ import { DescriptionProps } from './card-description';
12
12
  import { AvailabilityProps } from './card-availability';
13
13
  import { ColorDotsProps } from './card-color-dots';
14
14
  import { PriceProps } from './card-price';
15
+ import { ImageSliderProps } from './card-carousel';
15
16
 
16
17
  export declare const Card: import('react').ForwardRefExoticComponent<RootProps & import('react').RefAttributes<HTMLDivElement>> & {
17
18
  Heading: import('react').ForwardRefExoticComponent<HeadingProps & import('react').RefAttributes<HTMLHeadingElement>>;
@@ -38,6 +39,7 @@ export declare const Card: import('react').ForwardRefExoticComponent<RootProps &
38
39
  } & import('react').RefAttributes<HTMLDivElement>>;
39
40
  ColorDots: import('react').ForwardRefExoticComponent<ColorDotsProps & import('react').RefAttributes<HTMLDivElement>>;
40
41
  Price: import('react').ForwardRefExoticComponent<PriceProps & import('react').RefAttributes<HTMLDivElement>>;
42
+ ImageSlider: import('react').ForwardRefExoticComponent<ImageSliderProps & import('react').RefAttributes<HTMLDivElement>>;
41
43
  };
42
44
  export type CardProps = {
43
45
  Root: RootProps;
@@ -54,4 +56,5 @@ export type CardProps = {
54
56
  Availability: AvailabilityProps;
55
57
  ColorDots: ColorDotsProps;
56
58
  Price: PriceProps;
59
+ ImageSlider: ImageSliderProps;
57
60
  };
@@ -12,6 +12,7 @@ import { Description } from "./card-description.js";
12
12
  import { Availability } from "./card-availability.js";
13
13
  import { ColorDots } from "./card-color-dots.js";
14
14
  import { Price } from "./card-price.js";
15
+ import { ImageSlider } from "./card-carousel.js";
15
16
  Root.displayName = "Card";
16
17
  Button.displayName = "Card.Button";
17
18
  Content.displayName = "Card.Content";
@@ -26,6 +27,7 @@ Description.displayName = "Card.Description";
26
27
  Availability.displayName = "Card.Availability";
27
28
  ColorDots.displayName = "Card.ColorDots";
28
29
  Price.displayName = "Card.Price";
30
+ ImageSlider.displayName = "Card.ImageSlider";
29
31
  const Card = Object.assign(Root, {
30
32
  Heading,
31
33
  Button,
@@ -39,7 +41,8 @@ const Card = Object.assign(Root, {
39
41
  Description,
40
42
  Availability,
41
43
  ColorDots,
42
- Price
44
+ Price,
45
+ ImageSlider
43
46
  });
44
47
  export {
45
48
  Card
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const clsx = require("clsx");
6
+ const Slider = require("react-slick");
7
+ require("../../assets/sprite.269ba410-teddy.svg");
8
+ const components_icon_icon = require("../icon/icon.cjs");
9
+ const tokens_color_variables = require("../../tokens/color/variables.cjs");
10
+ const styles = {
11
+ "teddy-carousel": "_teddy-carousel_8mouq_2",
12
+ "teddy-carousel__arrow": "_teddy-carousel__arrow_8mouq_8",
13
+ "teddy-carousel__item": "_teddy-carousel__item_8mouq_17",
14
+ "teddy-carousel--sm": "_teddy-carousel--sm_8mouq_81"
15
+ };
16
+ const rootClassName = "teddy-carousel";
17
+ const CustomArrow = ({
18
+ className,
19
+ icon,
20
+ onClick = () => void 0,
21
+ handleClick = () => void 0,
22
+ ariaLabel
23
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
24
+ "button",
25
+ {
26
+ type: "button",
27
+ "aria-label": ariaLabel,
28
+ className: clsx([styles[`${rootClassName}__arrow`], className]),
29
+ onClick: (event) => {
30
+ event.stopPropagation();
31
+ onClick();
32
+ handleClick();
33
+ },
34
+ children: /* @__PURE__ */ jsxRuntime.jsx(components_icon_icon.Icon, { name: icon, color: tokens_color_variables.teddyColorTextInteractivePrimary, size: "md" })
35
+ }
36
+ );
37
+ const Carousel = ({
38
+ children,
39
+ className = "",
40
+ onClickNext,
41
+ onClickPrev,
42
+ navigationIcon,
43
+ settings,
44
+ size = "lg"
45
+ }) => {
46
+ const computedSettings = {
47
+ responsive: [],
48
+ centerMode: false,
49
+ slidesPerRow: 1,
50
+ nextArrow: /* @__PURE__ */ jsxRuntime.jsx(CustomArrow, { icon: navigationIcon ?? "arrow-right", handleClick: onClickNext, ariaLabel: "Neste" }),
51
+ prevArrow: /* @__PURE__ */ jsxRuntime.jsx(CustomArrow, { icon: navigationIcon ?? "arrow-left", handleClick: onClickPrev, ariaLabel: "Forrige" }),
52
+ slidesToScroll: 1,
53
+ speed: 500,
54
+ dots: true,
55
+ lazyLoad: "ondemand",
56
+ ...settings
57
+ };
58
+ const [swiped, setSwiped] = React.useState(false);
59
+ const handleSwiped = React.useCallback(() => {
60
+ setSwiped(true);
61
+ }, [setSwiped]);
62
+ const handleOnItemClick = React.useCallback(
63
+ (e) => {
64
+ if (swiped) {
65
+ e.stopPropagation();
66
+ e.preventDefault();
67
+ setSwiped(false);
68
+ }
69
+ },
70
+ [swiped]
71
+ );
72
+ const filteredChildren = React.Children.toArray(children).filter((child) => !!child);
73
+ const SliderComponent = Slider.default ? Slider.default : Slider;
74
+ return /* @__PURE__ */ jsxRuntime.jsx(
75
+ "section",
76
+ {
77
+ className: clsx(styles[`${rootClassName}`], {
78
+ [styles[`${rootClassName}--${size}`]]: size,
79
+ [className]: className
80
+ }),
81
+ children: /* @__PURE__ */ jsxRuntime.jsx(SliderComponent, { ...computedSettings, onSwipe: handleSwiped, children: React.Children.map(filteredChildren, (child) => {
82
+ return /* @__PURE__ */ jsxRuntime.jsx(
83
+ "div",
84
+ {
85
+ onClick: (e) => {
86
+ e.stopPropagation();
87
+ e.preventDefault();
88
+ },
89
+ onClickCapture: handleOnItemClick,
90
+ className: clsx(styles[`${rootClassName}__item`]),
91
+ children: child
92
+ }
93
+ );
94
+ }) })
95
+ }
96
+ );
97
+ };
98
+ Carousel.displayName = "Carousel";
99
+ exports.Carousel = Carousel;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { Settings } from 'react-slick';
3
+ import { IconName } from '../icon';
4
+
5
+ export type CarouselProps = {
6
+ children: React.ReactNode;
7
+ className?: string;
8
+ navigationIcon?: IconName;
9
+ settings?: Settings;
10
+ size?: 'sm' | 'lg';
11
+ onClickNext?: () => void;
12
+ onClickPrev?: () => void;
13
+ };
14
+ /** Carousel to show images in. Can be fully customized by utlizing underlying 'settings' props mapped with react-slick */
15
+ export declare const Carousel: React.FC<CarouselProps>;