@janbox/storefront-ui 2.0.14 → 2.0.15

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.
@@ -1,5 +1,5 @@
1
1
  import { SwiperSideArrowsPagingProps, SwiperSideArrowsPagingResponsiveProps } from './types';
2
2
  import { StyledCSS } from '../../../types';
3
- export declare const SwiperSideArrowsPaging: ({ api, size, offset, color, visibility, sm, md, lg, }: SwiperSideArrowsPagingProps) => import("react/jsx-runtime").JSX.Element;
4
- export declare const createOverflowStyle: ({ offset, }?: Pick<SwiperSideArrowsPagingResponsiveProps, "offset">) => StyledCSS;
3
+ export declare const SwiperSideArrowsPaging: ({ api, size, offsetX, offsetY, color, visibility, sm, md, lg, }: SwiperSideArrowsPagingProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const createOverflowStyle: ({ offsetX, }?: Pick<SwiperSideArrowsPagingResponsiveProps, "offsetX">) => StyledCSS;
5
5
  //# sourceMappingURL=swiper-side-arrows-paging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swiper-side-arrows-paging.d.ts","sourceRoot":"","sources":["../../../../src/lib/swiper/swiper-side-arrows-paging/swiper-side-arrows-paging.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,2BAA2B,EAAE,qCAAqC,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAA8B,SAAS,EAAqB,MAAM,SAAS,CAAC;AAQnF,eAAO,MAAM,sBAAsB,0DAShC,2BAA2B,4CAoJ7B,CAAC;AAoHF,eAAO,MAAM,mBAAmB,iBAE7B,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,KAAQ,SAM/D,CAAC"}
1
+ {"version":3,"file":"swiper-side-arrows-paging.d.ts","sourceRoot":"","sources":["../../../../src/lib/swiper/swiper-side-arrows-paging/swiper-side-arrows-paging.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,2BAA2B,EAAE,qCAAqC,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAA8B,SAAS,EAAqB,MAAM,SAAS,CAAC;AAQnF,eAAO,MAAM,sBAAsB,oEAUhC,2BAA2B,4CAqJ7B,CAAC;AA2IF,eAAO,MAAM,mBAAmB,kBAE7B,IAAI,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAAQ,SAMhE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { useState, useRef, useCallback, useEffect } from "react";
3
3
  import { useFloating, autoUpdate, offset, size, FloatingPortal } from "@floating-ui/react";
4
- import { isNil, isNumber } from "lodash-es";
4
+ import { isNumber, isNil } from "lodash-es";
5
5
  import { getColorVar } from "../../../theme/palette.js";
6
6
  import ArrowLeftIcon from "../../../assets/svg/arrow-left.svg.js";
7
7
  import { SvgLoader } from "../../../components/svg-loader.js";
@@ -10,7 +10,8 @@ const SWIPER_SIDE_ARROWS_OVERFLOW_VAR = "--swiper-side-arrows-overflow";
10
10
  const SwiperSideArrowsPaging = ({
11
11
  api,
12
12
  size: size$1 = 32,
13
- offset: offset$1 = 0,
13
+ offsetX = "center",
14
+ offsetY = "center",
14
15
  color = "primary",
15
16
  visibility = "auto",
16
17
  sm,
@@ -118,7 +119,7 @@ const SwiperSideArrowsPaging = ({
118
119
  display: "flex",
119
120
  alignItems: "stretch",
120
121
  justifyContent: "space-between",
121
- ...createOverflowStyle({ offset: offset$1 }),
122
+ ...createOverflowStyle({ offsetX }),
122
123
  sm: createOverflowStyle(sm),
123
124
  md: createOverflowStyle(md),
124
125
  lg: createOverflowStyle(lg)
@@ -135,7 +136,8 @@ const SwiperSideArrowsPaging = ({
135
136
  disabled: !canScroll,
136
137
  direction,
137
138
  color,
138
- offset: offset$1,
139
+ offsetX,
140
+ offsetY,
139
141
  size: size$1,
140
142
  sm,
141
143
  md,
@@ -153,7 +155,8 @@ const SwiperSideArrowsPaging = ({
153
155
  const ArrowButton = ({
154
156
  direction,
155
157
  size: size2,
156
- offset: offset2,
158
+ offsetX,
159
+ offsetY,
157
160
  color,
158
161
  visible,
159
162
  sm,
@@ -161,7 +164,6 @@ const ArrowButton = ({
161
164
  lg,
162
165
  ...props
163
166
  }) => {
164
- const slideOffset = direction === "prev" ? "-100%" : "100%";
165
167
  return /* @__PURE__ */ jsx(
166
168
  Primitive,
167
169
  {
@@ -176,7 +178,6 @@ const ArrowButton = ({
176
178
  sx: {
177
179
  position: "absolute",
178
180
  top: "50%",
179
- transform: visible ? "translateY(-50%) translateX(0)" : `translateY(-50%) translateX(${slideOffset})`,
180
181
  opacity: visible ? 1 : 0,
181
182
  aspectRatio: 1,
182
183
  pointerEvents: "auto",
@@ -198,15 +199,15 @@ const ArrowButton = ({
198
199
  transition: "opacity 200ms ease, background-color 200ms ease, transform 250ms ease",
199
200
  "@media (hover: none) and (pointer: coarse)": {
200
201
  opacity: 1,
201
- transform: "translateY(-50%)",
202
202
  ":disabled": {
203
203
  opacity: 0.5
204
- }
204
+ },
205
+ ...createArrowButtonStyle({ size: size2, offsetX, offsetY }, direction, true)
205
206
  },
206
- ...createArrowButtonStyle({ size: size2, offset: offset2 }, direction),
207
- sm: createArrowButtonStyle(sm, direction),
208
- md: createArrowButtonStyle(md, direction),
209
- lg: createArrowButtonStyle(lg, direction)
207
+ ...createArrowButtonStyle({ size: size2, offsetX, offsetY }, direction, visible),
208
+ sm: createArrowButtonStyle(sm, direction, visible),
209
+ md: createArrowButtonStyle(md, direction, visible),
210
+ lg: createArrowButtonStyle(lg, direction, visible)
210
211
  },
211
212
  ...props,
212
213
  as: "button",
@@ -228,17 +229,38 @@ const ArrowButton = ({
228
229
  }
229
230
  );
230
231
  };
231
- const createArrowButtonStyle = ({ size: size2, offset: offset2 } = {}, direction) => {
232
+ const createArrowButtonStyle = ({ size: size2, offsetX, offsetY } = {}, direction, visible) => {
232
233
  const css = {
233
234
  width: size2,
234
235
  height: size2
235
236
  };
236
- if (isNumber(offset2)) {
237
+ const transforms = [];
238
+ if (offsetY === "center") {
239
+ css.top = "50%";
240
+ transforms.push("translateY(-50%)");
241
+ } else if (isNumber(offsetY)) {
242
+ css.top = offsetY;
243
+ }
244
+ if (offsetX === "center") {
237
245
  if (direction === "prev") {
238
- css.left = Math.max(offset2, 0);
246
+ css.left = 0;
247
+ transforms.push(visible === false ? "translateX(-100%)" : "translateX(-50%)");
239
248
  } else {
240
- css.right = Math.max(offset2, 0);
249
+ css.right = 0;
250
+ transforms.push(visible === false ? "translateX(100%)" : "translateX(50%)");
241
251
  }
252
+ } else if (isNumber(offsetX)) {
253
+ if (direction === "prev") {
254
+ css.left = Math.max(offsetX, 0);
255
+ } else {
256
+ css.right = Math.max(offsetX, 0);
257
+ }
258
+ if (visible === false) {
259
+ transforms.push(direction === "prev" ? "translateX(-100%)" : "translateX(100%)");
260
+ }
261
+ }
262
+ if (transforms.length > 0) {
263
+ css.transform = transforms.join(" ");
242
264
  }
243
265
  return css;
244
266
  };
@@ -251,10 +273,10 @@ const createArrowIconStyle = ({ size: size2 } = {}) => {
251
273
  };
252
274
  };
253
275
  const createOverflowStyle = ({
254
- offset: offset2 = 0
276
+ offsetX = 0
255
277
  } = {}) => {
256
- return offset2 < 0 ? {
257
- [SWIPER_SIDE_ARROWS_OVERFLOW_VAR]: `${-offset2}px`
278
+ return isNumber(offsetX) && offsetX < 0 ? {
279
+ [SWIPER_SIDE_ARROWS_OVERFLOW_VAR]: `${-offsetX}px`
258
280
  } : {};
259
281
  };
260
282
  export {
@@ -2,7 +2,8 @@ import { ColorVariant, ToResponsiveProps } from '../../../types';
2
2
  import { SwiperApi } from '../swiper/types';
3
3
  export type SwiperSideArrowsPagingResponsiveProps = {
4
4
  size?: number;
5
- offset?: number;
5
+ offsetX?: number | 'center';
6
+ offsetY?: number | 'center';
6
7
  };
7
8
  export type SwiperSideArrowsPagingVisibility = 'auto' | 'always';
8
9
  export type SwiperSideArrowsPagingProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/swiper/swiper-side-arrows-paging/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,gCAAgC,CAAC;CAC/C,GAAG,iBAAiB,CAAC,qCAAqC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/swiper/swiper-side-arrows-paging/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,gCAAgC,CAAC;CAC/C,GAAG,iBAAiB,CAAC,qCAAqC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@janbox/storefront-ui",
3
- "version": "2.0.14",
3
+ "version": "2.0.15",
4
4
  "description": "Storefront UI component library for Janbox",
5
5
  "author": "Janbox",
6
6
  "keywords": [