@tedi-design-system/react 19.2.0-rc.5 → 19.2.0-rc.7

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 (56) hide show
  1. package/bundle-stats.html +1 -1
  2. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  3. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  4. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  5. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  6. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  8. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  9. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  10. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  11. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  12. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  13. package/external/prop-types/external/react-is/index.es.js +1 -1
  14. package/package.json +1 -1
  15. package/src/tedi/components/content/carousel/components/carousel-indicators/carousel-indicators.cjs.js +1 -1
  16. package/src/tedi/components/content/carousel/components/carousel-indicators/carousel-indicators.es.js +18 -18
  17. package/src/tedi/components/content/carousel/use-carousel.cjs.js +1 -1
  18. package/src/tedi/components/content/carousel/use-carousel.d.ts +2 -1
  19. package/src/tedi/components/content/carousel/use-carousel.es.js +177 -163
  20. package/src/tedi/components/content/label/label.cjs.js +1 -1
  21. package/src/tedi/components/content/label/label.d.ts +22 -0
  22. package/src/tedi/components/content/label/label.es.js +30 -28
  23. package/src/tedi/components/form/checkbox/checkbox.cjs.js +1 -1
  24. package/src/tedi/components/form/checkbox/checkbox.es.js +32 -30
  25. package/src/tedi/components/form/choice-group/choice-group.cjs.js +1 -1
  26. package/src/tedi/components/form/choice-group/choice-group.es.js +80 -69
  27. package/src/tedi/components/form/choice-input.types.d.ts +7 -0
  28. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  29. package/src/tedi/components/form/date-field/date-field.d.ts +5 -0
  30. package/src/tedi/components/form/date-field/date-field.es.js +187 -184
  31. package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -1
  32. package/src/tedi/components/form/date-time-field/date-time-field.d.ts +5 -0
  33. package/src/tedi/components/form/date-time-field/date-time-field.es.js +103 -101
  34. package/src/tedi/components/form/form-label/form-label.cjs.js +1 -1
  35. package/src/tedi/components/form/form-label/form-label.d.ts +9 -0
  36. package/src/tedi/components/form/form-label/form-label.es.js +15 -14
  37. package/src/tedi/components/form/multi-value-field/multi-value-field.cjs.js +1 -1
  38. package/src/tedi/components/form/multi-value-field/multi-value-field.d.ts +7 -0
  39. package/src/tedi/components/form/multi-value-field/multi-value-field.es.js +41 -40
  40. package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
  41. package/src/tedi/components/form/number-field/number-field.es.js +54 -43
  42. package/src/tedi/components/form/radio/radio.cjs.js +1 -1
  43. package/src/tedi/components/form/radio/radio.es.js +30 -28
  44. package/src/tedi/components/form/select/select.cjs.js +1 -1
  45. package/src/tedi/components/form/select/select.es.js +79 -77
  46. package/src/tedi/components/form/slider/slider.cjs.js +1 -1
  47. package/src/tedi/components/form/slider/slider.d.ts +7 -0
  48. package/src/tedi/components/form/slider/slider.es.js +48 -47
  49. package/src/tedi/components/form/textfield/textfield.cjs.js +1 -1
  50. package/src/tedi/components/form/textfield/textfield.es.js +72 -61
  51. package/src/tedi/components/form/time-field/time-field.cjs.js +1 -1
  52. package/src/tedi/components/form/time-field/time-field.d.ts +5 -0
  53. package/src/tedi/components/form/time-field/time-field.es.js +87 -85
  54. package/src/tedi/components/form/toggle/toggle.cjs.js +1 -1
  55. package/src/tedi/components/form/toggle/toggle.d.ts +7 -0
  56. package/src/tedi/components/form/toggle/toggle.es.js +26 -24
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.development.cjs.js");/** @license React v16.13.1
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.development.cjs2.js");/** @license React v16.13.1
2
2
  * react-is.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- import { __exports as r } from "../../../../../_virtual/react-is.development.es.js";
1
+ import { __exports as r } from "../../../../../_virtual/react-is.development.es2.js";
2
2
  /** @license React v16.13.1
3
3
  * react-is.development.js
4
4
  *
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.production.min.cjs.js");/** @license React v16.13.1
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.production.min.cjs2.js");/** @license React v16.13.1
2
2
  * react-is.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- import { __exports as r } from "../../../../../_virtual/react-is.production.min.es.js";
1
+ import { __exports as r } from "../../../../../_virtual/react-is.production.min.es2.js";
2
2
  /** @license React v16.13.1
3
3
  * react-is.production.min.js
4
4
  *
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/index.cjs3.js"),r=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");process.env.NODE_ENV==="production"?e.__module.exports=r.__require():e.__module.exports=o.__require();var t=e.__module.exports;exports.reactIsExports=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/index.cjs4.js"),r=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");process.env.NODE_ENV==="production"?e.__module.exports=r.__require():e.__module.exports=o.__require();var t=e.__module.exports;exports.reactIsExports=t;
@@ -1,4 +1,4 @@
1
- import { __module as r } from "../../../../_virtual/index.es3.js";
1
+ import { __module as r } from "../../../../_virtual/index.es4.js";
2
2
  import { __require as e } from "./cjs/react-is.production.min.es.js";
3
3
  import { __require as o } from "./cjs/react-is.development.es.js";
4
4
  process.env.NODE_ENV === "production" ? r.exports = e() : r.exports = o();
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.development.cjs2.js");/** @license React v16.13.1
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.development.cjs.js");/** @license React v16.13.1
2
2
  * react-is.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- import { __exports as r } from "../../../../../_virtual/react-is.development.es2.js";
1
+ import { __exports as r } from "../../../../../_virtual/react-is.development.es.js";
2
2
  /** @license React v16.13.1
3
3
  * react-is.development.js
4
4
  *
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.production.min.cjs2.js");/** @license React v16.13.1
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/react-is.production.min.cjs.js");/** @license React v16.13.1
2
2
  * react-is.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- import { __exports as r } from "../../../../../_virtual/react-is.production.min.es2.js";
1
+ import { __exports as r } from "../../../../../_virtual/react-is.production.min.es.js";
2
2
  /** @license React v16.13.1
3
3
  * react-is.production.min.js
4
4
  *
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/index.cjs4.js"),t=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");var r;function u(){return r||(r=1,process.env.NODE_ENV==="production"?e.__module.exports=t.__require():e.__module.exports=o.__require()),e.__module.exports}exports.__require=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/index.cjs3.js"),t=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");var r;function u(){return r||(r=1,process.env.NODE_ENV==="production"?e.__module.exports=t.__require():e.__module.exports=o.__require()),e.__module.exports}exports.__require=u;
@@ -1,4 +1,4 @@
1
- import { __module as e } from "../../../../_virtual/index.es4.js";
1
+ import { __module as e } from "../../../../_virtual/index.es3.js";
2
2
  import { __require as o } from "./cjs/react-is.production.min.es.js";
3
3
  import { __require as t } from "./cjs/react-is.development.es.js";
4
4
  var r;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tedi-design-system/react",
3
- "version": "19.2.0-rc.5",
3
+ "version": "19.2.0-rc.7",
4
4
  "description": "TEDI Design System React component library — accessible, reusable UI components. Docs & live examples: https://storybook.tedi.ee/react/rc/",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("../../../../../../../external/classnames/index.cjs.js"),m=require("react"),i=require("../../../../base/typography/text/text.cjs.js"),u=require("../../../../buttons/button/button.cjs.js"),l=require("../../carousel.module.scss.cjs.js"),v=require("../../carousel-context.cjs.js"),C=require("../../../../../providers/label-provider/use-labels.cjs.js"),d=m.forwardRef(({withArrows:c=!1,variant:b="dots",className:f},x)=>{const{getLabel:o}=C.useLabels(),r=v.useCarouselContext(),{slidesCount:s,slideIndex:a}=r;return e.jsxs("div",{ref:x,className:n.default(l.default["tedi-carousel__indicators"],f),children:[c&&e.jsx(u.Button,{visualType:"neutral",icon:"arrow_back",disabled:!r.canPrev,onClick:r.prev,children:o("carousel.move-back")}),b==="dots"?Array.from({length:s},(_,t)=>e.jsx("button",{type:"button","aria-label":o("carousel.show-slide",t+1),"aria-current":t===a?"true":void 0,className:n.default(l.default["tedi-carousel__indicator"],{[l.default["tedi-carousel__indicator--active"]]:t===a}),onClick:()=>r.goToIndex(t,{focusSlide:!0})},t)):s>0&&e.jsxs("div",{children:[e.jsx(i.Text,{element:"span",modifiers:"bold",color:"brand",children:a+1}),e.jsx(i.Text,{element:"span",color:"tertiary",children:` / ${s}`})]}),c&&e.jsx(u.Button,{visualType:"neutral",icon:"arrow_forward",disabled:!r.canNext,onClick:r.next,children:o("carousel.move-forward")})]})});d.displayName="CarouselIndicators";exports.CarouselIndicators=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../../../../../../../external/classnames/index.cjs.js"),v=require("react"),i=require("../../../../base/typography/text/text.cjs.js"),u=require("../../../../buttons/button/button.cjs.js"),l=require("../../carousel.module.scss.cjs.js"),p=require("../../carousel-context.cjs.js"),j=require("../../../../../providers/label-provider/use-labels.cjs.js"),d=v.forwardRef(({withArrows:n=!1,variant:b="dots",className:x},f)=>{const{getLabel:r}=j.useLabels(),t=p.useCarouselContext(),{positions:s,activePositionIndex:a}=t;return e.jsxs("div",{ref:f,className:c.default(l.default["tedi-carousel__indicators"],x),children:[n&&e.jsx(u.Button,{visualType:"neutral",icon:"arrow_back",disabled:!t.canPrev,onClick:t.prev,children:r("carousel.move-back")}),b==="dots"?s.map((m,o)=>e.jsx("button",{type:"button","aria-label":r("carousel.show-slide",o+1),"aria-current":o===a?"true":void 0,className:c.default(l.default["tedi-carousel__indicator"],{[l.default["tedi-carousel__indicator--active"]]:o===a}),onClick:()=>t.goToIndex(m,{focusSlide:!0})},o)):s.length>0&&e.jsxs("div",{children:[e.jsx(i.Text,{element:"span",modifiers:"bold",color:"brand",children:a+1}),e.jsx(i.Text,{element:"span",color:"tertiary",children:` / ${s.length}`})]}),n&&e.jsx(u.Button,{visualType:"neutral",icon:"arrow_forward",disabled:!t.canNext,onClick:t.next,children:r("carousel.move-forward")})]})});d.displayName="CarouselIndicators";exports.CarouselIndicators=d;
@@ -1,33 +1,33 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
2
  import n from "../../../../../../../external/classnames/index.es.js";
3
- import { forwardRef as b } from "react";
3
+ import { forwardRef as v } from "react";
4
4
  import { Text as d } from "../../../../base/typography/text/text.es.js";
5
5
  import { Button as m } from "../../../../buttons/button/button.es.js";
6
- import l from "../../carousel.module.scss.es.js";
7
- import { useCarouselContext as v } from "../../carousel-context.es.js";
6
+ import i from "../../carousel.module.scss.es.js";
7
+ import { useCarouselContext as h } from "../../carousel-context.es.js";
8
8
  import { useLabels as _ } from "../../../../../providers/label-provider/use-labels.es.js";
9
- const C = b(
10
- ({ withArrows: i = !1, variant: u = "dots", className: f }, p) => {
11
- const { getLabel: a } = _(), r = v(), { slidesCount: t, slideIndex: s } = r;
12
- return /* @__PURE__ */ c("div", { ref: p, className: n(l["tedi-carousel__indicators"], f), children: [
13
- i && /* @__PURE__ */ e(m, { visualType: "neutral", icon: "arrow_back", disabled: !r.canPrev, onClick: r.prev, children: a("carousel.move-back") }),
14
- u === "dots" ? Array.from({ length: t }, (h, o) => /* @__PURE__ */ e(
9
+ const C = v(
10
+ ({ withArrows: l = !1, variant: u = "dots", className: p }, f) => {
11
+ const { getLabel: a } = _(), o = h(), { positions: t, activePositionIndex: s } = o;
12
+ return /* @__PURE__ */ c("div", { ref: f, className: n(i["tedi-carousel__indicators"], p), children: [
13
+ l && /* @__PURE__ */ e(m, { visualType: "neutral", icon: "arrow_back", disabled: !o.canPrev, onClick: o.prev, children: a("carousel.move-back") }),
14
+ u === "dots" ? t.map((b, r) => /* @__PURE__ */ e(
15
15
  "button",
16
16
  {
17
17
  type: "button",
18
- "aria-label": a("carousel.show-slide", o + 1),
19
- "aria-current": o === s ? "true" : void 0,
20
- className: n(l["tedi-carousel__indicator"], {
21
- [l["tedi-carousel__indicator--active"]]: o === s
18
+ "aria-label": a("carousel.show-slide", r + 1),
19
+ "aria-current": r === s ? "true" : void 0,
20
+ className: n(i["tedi-carousel__indicator"], {
21
+ [i["tedi-carousel__indicator--active"]]: r === s
22
22
  }),
23
- onClick: () => r.goToIndex(o, { focusSlide: !0 })
23
+ onClick: () => o.goToIndex(b, { focusSlide: !0 })
24
24
  },
25
- o
26
- )) : t > 0 && /* @__PURE__ */ c("div", { children: [
25
+ r
26
+ )) : t.length > 0 && /* @__PURE__ */ c("div", { children: [
27
27
  /* @__PURE__ */ e(d, { element: "span", modifiers: "bold", color: "brand", children: s + 1 }),
28
- /* @__PURE__ */ e(d, { element: "span", color: "tertiary", children: ` / ${t}` })
28
+ /* @__PURE__ */ e(d, { element: "span", color: "tertiary", children: ` / ${t.length}` })
29
29
  ] }),
30
- i && /* @__PURE__ */ e(m, { visualType: "neutral", icon: "arrow_forward", disabled: !r.canNext, onClick: r.next, children: a("carousel.move-forward") })
30
+ l && /* @__PURE__ */ e(m, { visualType: "neutral", icon: "arrow_forward", disabled: !o.canNext, onClick: o.next, children: a("carousel.move-forward") })
31
31
  ] });
32
32
  }
33
33
  );
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),De=require("../../../helpers/hooks/use-breakpoint.cjs.js"),ne=require("./carousel-utils.cjs.js"),Fe=require("../../../providers/label-provider/use-labels.cjs.js"),Ve={slidesPerView:{xs:1},gap:{xs:1},fade:!1,transitionMs:400,loop:!0,centered:!1},V=(T,p)=>(T%p+p)%p,Ee=T=>{const{getLabel:p}=Fe.useLabels(),E=De.default(),[l,se]=t.useState(Ve),[r,ce]=t.useState(0),[f,b]=t.useState(0),[h,Y]=t.useState(0),[j,R]=t.useState(!1),[x,oe]=t.useState(0),[H,ae]=t.useState(16),[ue,le]=t.useState(""),A=t.useRef(null),J=t.useRef(null),Q=t.useRef([]),P=t.useRef(!1),y=t.useRef(!1),$=t.useRef(!1),O=t.useRef(0),D=t.useRef(0),Z=t.useRef(0),_=t.useRef(0),q=t.useRef(0),G=t.useRef(),L=t.useRef(0),ee=t.useRef(!0),d=t.useRef(f),te=t.useRef(h);t.useEffect(()=>{d.current=f},[f]),t.useEffect(()=>{te.current=h},[h]);const a=t.useMemo(()=>ne.resolveBreakpointValue(l.slidesPerView,E),[l.slidesPerView,E]),C=t.useMemo(()=>ne.resolveBreakpointValue(l.gap,E),[l.gap,E]),S=t.useMemo(()=>C*H,[C,H]),s=l.loop,M=t.useMemo(()=>Math.max(0,r-Math.ceil(a)),[r,a]),k=t.useCallback(e=>s?e:Math.min(Math.max(e,0),M),[s,M]),m=s?r:0,ie=t.useMemo(()=>r===0?0:s?V(Math.floor(f),r):Math.min(Math.max(Math.round(f),0),r-1),[f,r,s]),X=s?f-h+m:f,fe=s||f>.001,de=s||f<M-.001,me=t.useMemo(()=>{if(!r)return[];if(!s)return Array.from({length:r},(c,o)=>o);const e=2*m+Math.ceil(a),n=h-m;return Array.from({length:e},(c,o)=>V(n+o,r))},[r,m,a,h,s]),he=t.useMemo(()=>`0 0 calc((100% - ${(a-1)*C}rem) / ${a})`,[a,C]),Me=t.useMemo(()=>{if(!x)return{gap:`${C}rem`,transform:"translate3d(0,0,0)",transition:"none"};const e=S*(a-1),n=(x-e)/a,c=s?f-h+m:f,o=l.centered?(x-n)/2:0,u=-c*(n+S)+o;return{gap:`${C}rem`,transform:`translate3d(${u}px, 0, 0)`,transition:j?`transform ${l.transitionMs}ms ease`:"none"}},[x,C,S,a,f,h,m,j,l.transitionMs,l.centered,s]),pe=t.useCallback(e=>{const n=Math.ceil(a);return e>=X&&e<X+n},[a,X]),be=t.useCallback((e,n,c)=>{const o=[e];if(l.fade){const u=l.fade==="both"||l.fade!=="right"&&a<=1;o.push(u?c:n)}return o.join(" ")},[l.fade,a]),Re=t.useCallback((e,n)=>{Q.current[e]=n},[]),w=t.useCallback(()=>{setTimeout(()=>{if(!ee.current||!r)return;const e=s?V(Math.floor(d.current),r):Math.min(Math.max(Math.round(d.current),0),r-1);le(p("carousel.slide",e+1,r))},100)},[p,r,s]),N=t.useCallback(()=>{P.current=!0,setTimeout(()=>{P.current=!1},l.transitionMs)},[l.transitionMs]),re=t.useCallback(()=>{setTimeout(()=>{var n;const e=d.current-te.current+m;(n=Q.current[e])==null||n.focus({preventScroll:!0})})},[m]),K=t.useCallback(()=>{!r||P.current||!s&&d.current>=M-.001||(R(!0),b(e=>k(e+1)),N(),w())},[r,s,M,k,N,w]),U=t.useCallback(()=>{!r||P.current||!s&&d.current<=.001||(R(!0),b(e=>k(e-1)),N(),w())},[r,s,k,N,w]),W=t.useCallback((e,n)=>{if(!(!r||P.current)){if(R(!0),s){const c=V(Math.floor(d.current),r),u=V(e,r)-c;b(i=>i+u)}else b(k(e));n!=null&&n.focusSlide?$.current=!0:w()}},[r,s,k,w]),ke=t.useCallback(e=>{e.target!==J.current||e.propertyName!=="transform"||y.current||(R(!1),Y(Math.floor(d.current)),$.current&&($.current=!1,re()))},[re]),Ce=t.useCallback(()=>{const e=A.current;e&&(e.scrollLeft=0,e.scrollTop=0)},[]),I=t.useCallback(()=>(x-S*(a-1))/a+S,[x,S,a]),ge=t.useCallback(e=>{if(!r)return;const n=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.shiftKey?e.deltaY:0;if(!n)return;const c=I();if(!c)return;const o=n/c;L.current+=o;const u=m*.9,i=s?h-u:0,g=s?h+u:M,v=d.current+o,z=Math.min(Math.max(v,i),g),Te=z!==v;R(!1),b(z),clearTimeout(G.current),G.current=setTimeout(()=>{R(!0);const Pe=Math.sign(L.current),F=d.current;let B=Math.round(F);Math.abs(L.current)>.3&&(B=Pe>0?Math.ceil(F):Math.floor(F)),Te&&(F<=i&&(B=Math.ceil(i)),F>=g&&(B=Math.floor(g)));const ye=Math.min(Math.max(B,i),g);b(ye),L.current=0},120)},[r,I,m,h,s,M]),xe=t.useCallback(e=>{switch(e.key){case"ArrowRight":case"PageDown":e.preventDefault(),K();break;case"ArrowLeft":case"PageUp":e.preventDefault(),U();break;case"Home":e.preventDefault(),W(0);break;case"End":e.preventDefault(),W(r-1);break}},[K,U,W,r]),Se=t.useCallback(e=>{var n;r&&((n=A.current)==null||n.setPointerCapture(e.pointerId),y.current=!0,R(!1),O.current=e.clientX,D.current=d.current,Z.current=e.timeStamp,_.current=e.clientX,q.current=e.timeStamp,s&&Y(Math.floor(d.current)))},[r,s]),we=t.useCallback(e=>{if(!y.current)return;const n=I();if(!n)return;const c=e.clientX-O.current;if(Number.isNaN(c))return;_.current=e.clientX,q.current=e.timeStamp;const o=c/n,u=D.current-o,i=m*.9,g=Math.floor(D.current),v=s?g-i:0,z=s?g+i:M;b(Math.min(Math.max(u,v),z))},[I,m,s,M]),Ie=t.useCallback(()=>{if(!y.current)return;y.current=!1,R(!0);const e=I(),n=Math.round(d.current);let c=n;const o=q.current-Z.current,u=o>0&&e?-(_.current-O.current)/e/o:0;Math.abs(u)>.0015&&n===Math.round(D.current)&&(c=Math.round(D.current)+(u>0?1:-1)),b(k(c))},[I,k]);return t.useEffect(()=>{const e=A.current;if(!e)return;const n=i=>{oe(i),ae(parseFloat(getComputedStyle(document.documentElement).fontSize)||16)},c=getComputedStyle(e),o=(parseFloat(c.paddingLeft)||0)+(parseFloat(c.paddingRight)||0);n(e.clientWidth-o);const u=new ResizeObserver(([i])=>{i&&n(i.contentRect.width)});return u.observe(e),()=>u.disconnect()},[]),t.useEffect(()=>()=>{ee.current=!1,clearTimeout(G.current)},[]),{viewportRef:A,trackRef:J,setSlideRef:Re,setConfig:se,setSlidesCount:ce,slidesCount:r,slideIndex:ie,canPrev:fe,canNext:de,renderedIndices:me,renderedActiveIndex:X,slideFlex:he,trackStyle:Me,contentClassName:be,isSlideVisible:pe,announcement:ue,regionLabel:(T==null?void 0:T.trim())||p("carousel"),slideLabel:e=>p("carousel.slide",e,r),next:K,prev:U,goToIndex:W,onTransitionEnd:ke,onScroll:Ce,onWheel:ge,onKeyDown:xe,onPointerDown:Se,onPointerMove:we,onPointerUp:Ie}};exports.useCarousel=Ee;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),Ne=require("../../../helpers/hooks/use-breakpoint.cjs.js"),le=require("./carousel-utils.cjs.js"),_e=require("../../../providers/label-provider/use-labels.cjs.js"),ve={slidesPerView:{xs:1},gap:{xs:1},fade:!1,transitionMs:400,loop:!0,centered:!1},Fe=.3,Ve=1e-6,F=(S,b)=>(S%b+b)%b,Q=(S,b)=>S.reduce((I,d,$)=>Math.abs(d-b)<Math.abs(S[I]-b)?$:I,0),Xe=S=>{const{getLabel:b}=_e.useLabels(),I=Ne.default(),[d,$]=t.useState(ve),[s,fe]=t.useState(0),[m,C]=t.useState(0),[R,Z]=t.useState(0),[ee,x]=t.useState(!1),[E,de]=t.useState(0),[te,me]=t.useState(16),[he,Me]=t.useState(""),V=t.useRef(null),re=t.useRef(null),ne=t.useRef([]),L=t.useRef(!1),N=t.useRef(!1),G=t.useRef(!1),U=t.useRef(0),X=t.useRef(0),se=t.useRef(0),q=t.useRef(0),H=t.useRef(0),W=t.useRef(),_=t.useRef(0),ce=t.useRef(!0),h=t.useRef(m),oe=t.useRef(R);t.useEffect(()=>{h.current=m},[m]),t.useEffect(()=>{oe.current=R},[R]);const l=t.useMemo(()=>le.resolveBreakpointValue(d.slidesPerView,I),[d.slidesPerView,I]),T=t.useMemo(()=>le.resolveBreakpointValue(d.gap,I),[d.gap,I]),D=t.useMemo(()=>T*te,[T,te]),r=d.loop,u=t.useMemo(()=>{const e=Math.max(0,s-l),n=Math.round(e);return Math.abs(e-n)<Ve?n:e},[s,l]),f=t.useMemo(()=>{if(!s)return[];if(r)return Array.from({length:s},(c,o)=>o);const e=Math.floor(u),n=Array.from({length:e+1},(c,o)=>o);return u>e&&n.push(u),n},[s,r,u]),P=t.useCallback(e=>r?e:Math.min(Math.max(e,0),u),[r,u]),p=r?s:0,pe=t.useMemo(()=>f.length?r?F(Math.floor(m),s):Q(f,m):0,[f,m,s,r]),O=r?m-R+p:Math.ceil(m),be=s>0&&(r||m>0),Re=s>0&&(r||m<u);t.useLayoutEffect(()=>{r||(clearTimeout(W.current),_.current=0,h.current=P(h.current),C(e=>P(e)))},[r,u,P]);const ge=t.useMemo(()=>{if(!s)return[];if(!r)return Array.from({length:s},(c,o)=>o);const e=2*p+Math.ceil(l),n=R-p;return Array.from({length:e},(c,o)=>F(n+o,s))},[s,p,l,R,r]),Ce=t.useMemo(()=>`0 0 calc((100% - ${(l-1)*T}rem) / ${l})`,[l,T]),ke=t.useMemo(()=>{if(!E)return{gap:`${T}rem`,transform:"translate3d(0,0,0)",transition:"none"};const e=D*(l-1),n=(E-e)/l,c=r?m-R+p:m,o=d.centered?(E-n)/2:0,i=-c*(n+D)+o;return{gap:`${T}rem`,transform:`translate3d(${i}px, 0, 0)`,transition:ee?`transform ${d.transitionMs}ms ease`:"none"}},[E,T,D,l,m,R,p,ee,d.transitionMs,d.centered,r]),Se=t.useCallback(e=>{if(!r)return e+1>m&&e<m+l;const n=Math.ceil(l);return e>=O&&e<O+n},[l,O,r,m]),xe=t.useCallback((e,n,c)=>{const o=[e];if(d.fade){const i=d.fade==="both"||d.fade!=="right"&&l<=1;o.push(i?c:n)}return o.join(" ")},[d.fade,l]),we=t.useCallback((e,n)=>{ne.current[e]=n},[]),y=t.useCallback(()=>{setTimeout(()=>{if(!ce.current||!s)return;const e=r?F(Math.floor(h.current),s):Math.min(Math.max(Math.ceil(h.current),0),s-1);Me(b("carousel.slide",e+1,s))},100)},[b,s,r]),z=t.useCallback(()=>{L.current=!0,setTimeout(()=>{L.current=!1},d.transitionMs)},[d.transitionMs]),ae=t.useCallback(()=>{setTimeout(()=>{var n;const e=r?h.current-oe.current+p:Math.ceil(h.current);(n=ne.current[e])==null||n.focus({preventScroll:!0})})},[p,r]),K=t.useCallback(()=>{!s||L.current||!r&&h.current>=u||(x(!0),C(e=>r?e+1:f.find(n=>n>e)??u),z(),y())},[s,r,u,f,z,y]),Y=t.useCallback(()=>{!s||L.current||!r&&h.current<=0||(x(!0),C(e=>r?e-1:[...f].reverse().find(n=>n<e)??0),z(),y())},[s,r,f,z,y]),B=t.useCallback((e,n)=>{if(!(!s||L.current)){if(x(!0),r){const c=F(Math.floor(h.current),s),i=F(e,s)-c;C(a=>a+i)}else C(P(e));n!=null&&n.focusSlide?G.current=!0:y()}},[s,r,P,y]),Ie=t.useCallback(e=>{e.target!==re.current||e.propertyName!=="transform"||N.current||(x(!1),Z(Math.floor(h.current)),G.current&&(G.current=!1,ae()))},[ae]),Te=t.useCallback(()=>{const e=V.current;e&&(e.scrollLeft=0,e.scrollTop=0)},[]),A=t.useCallback(()=>(E-D*(l-1))/l+D,[E,D,l]),Pe=t.useCallback(e=>{if(!s)return;const n=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.shiftKey?e.deltaY:0;if(!n)return;const c=A();if(!c)return;const o=n/c;_.current+=o;const i=p*.9,a=r?R-i:0,M=r?R+i:u,v=h.current+o,w=Math.min(Math.max(v,a),M),j=w!==v;x(!1),C(w),clearTimeout(W.current),W.current=setTimeout(()=>{x(!0);const ue=Math.sign(_.current),ie=Math.abs(_.current)>Fe,g=h.current;let k;r?(k=Math.round(g),ie&&(k=ue>0?Math.ceil(g):Math.floor(g)),j&&(g<=a&&(k=Math.ceil(a)),g>=M&&(k=Math.floor(M)))):j&&g>=M?k=M:j&&g<=a?k=a:ie?k=ue>0?f.find(J=>J>=g)??M:[...f].reverse().find(J=>J<=g)??a:k=f[Q(f,g)];const Le=Math.min(Math.max(k,a),M);C(Le),_.current=0},120)},[s,A,p,R,r,u,f]),Ee=t.useCallback(e=>{switch(e.key){case"ArrowRight":case"PageDown":e.preventDefault(),K();break;case"ArrowLeft":case"PageUp":e.preventDefault(),Y();break;case"Home":e.preventDefault(),B(0);break;case"End":e.preventDefault(),B(r?s-1:u);break}},[K,Y,B,s,r,u]),De=t.useCallback(e=>{var n;s&&((n=V.current)==null||n.setPointerCapture(e.pointerId),N.current=!0,x(!1),U.current=e.clientX,X.current=h.current,se.current=e.timeStamp,q.current=e.clientX,H.current=e.timeStamp,r&&Z(Math.floor(h.current)))},[s,r]),ye=t.useCallback(e=>{if(!N.current)return;const n=A();if(!n)return;const c=e.clientX-U.current;if(Number.isNaN(c))return;q.current=e.clientX,H.current=e.timeStamp;const o=c/n,i=X.current-o,a=p*.9,M=Math.floor(X.current),v=r?M-a:0,w=r?M+a:u;C(Math.min(Math.max(i,v),w))},[A,p,r,u]),Ae=t.useCallback(()=>{if(!N.current)return;N.current=!1,x(!0);const e=A(),n=h.current,c=X.current,o=r?Math.round(c):c;let i=r?Math.round(n):f[Q(f,n)];const a=H.current-se.current,M=a>0&&e?-(q.current-U.current)/e/a:0;Math.abs(M)>.0015&&i===o&&(r?i=o+Math.sign(M):M>0?i=f.find(w=>w>c)??u:i=[...f].reverse().find(w=>w<c)??0),C(P(i))},[A,P,r,f,u]);return t.useEffect(()=>{const e=V.current;if(!e)return;const n=a=>{de(a),me(parseFloat(getComputedStyle(document.documentElement).fontSize)||16)},c=getComputedStyle(e),o=(parseFloat(c.paddingLeft)||0)+(parseFloat(c.paddingRight)||0);n(e.clientWidth-o);const i=new ResizeObserver(([a])=>{a&&n(a.contentRect.width)});return i.observe(e),()=>i.disconnect()},[]),t.useEffect(()=>()=>{ce.current=!1,clearTimeout(W.current)},[]),{viewportRef:V,trackRef:re,setSlideRef:we,setConfig:$,setSlidesCount:fe,slidesCount:s,positions:f,activePositionIndex:pe,canPrev:be,canNext:Re,renderedIndices:ge,renderedActiveIndex:O,slideFlex:Ce,trackStyle:ke,contentClassName:xe,isSlideVisible:Se,announcement:he,regionLabel:(S==null?void 0:S.trim())||b("carousel"),slideLabel:e=>b("carousel.slide",e,s),next:K,prev:Y,goToIndex:B,onTransitionEnd:Ie,onScroll:Te,onWheel:Pe,onKeyDown:Ee,onPointerDown:De,onPointerMove:ye,onPointerUp:Ae}};exports.useCarousel=Xe;
@@ -23,7 +23,8 @@ export interface CarouselApi {
23
23
  setConfig: (config: CarouselConfig) => void;
24
24
  setSlidesCount: (count: number) => void;
25
25
  slidesCount: number;
26
- slideIndex: number;
26
+ positions: number[];
27
+ activePositionIndex: number;
27
28
  canPrev: boolean;
28
29
  canNext: boolean;
29
30
  renderedIndices: number[];