@openameba/spindle-ui 0.24.0 → 0.26.0
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.
- package/Button/Button.css +1 -1
- package/CHANGELOG.md +33 -0
- package/HeroCarousel/HeroCarousel.css +1 -0
- package/HeroCarousel/HeroCarousel.d.ts +8 -0
- package/HeroCarousel/HeroCarousel.d.ts.map +1 -0
- package/HeroCarousel/HeroCarousel.js +35 -0
- package/HeroCarousel/HeroCarousel.js.map +1 -0
- package/HeroCarousel/HeroCarouselItem.css +1 -0
- package/HeroCarousel/HeroCarouselItem.d.ts +15 -0
- package/HeroCarousel/HeroCarouselItem.d.ts.map +1 -0
- package/HeroCarousel/HeroCarouselItem.js +47 -0
- package/HeroCarousel/HeroCarouselItem.js.map +1 -0
- package/HeroCarousel/hooks/useAutoPlayCarousel.d.ts +27 -0
- package/HeroCarousel/hooks/useAutoPlayCarousel.d.ts.map +1 -0
- package/HeroCarousel/hooks/useAutoPlayCarousel.js +168 -0
- package/HeroCarousel/hooks/useAutoPlayCarousel.js.map +1 -0
- package/HeroCarousel/hooks/useAutoSlide.d.ts +13 -0
- package/HeroCarousel/hooks/useAutoSlide.d.ts.map +1 -0
- package/HeroCarousel/hooks/useAutoSlide.js +46 -0
- package/HeroCarousel/hooks/useAutoSlide.js.map +1 -0
- package/HeroCarousel/hooks/useCarouselFocus.d.ts +11 -0
- package/HeroCarousel/hooks/useCarouselFocus.d.ts.map +1 -0
- package/HeroCarousel/hooks/useCarouselFocus.js +28 -0
- package/HeroCarousel/hooks/useCarouselFocus.js.map +1 -0
- package/HeroCarousel/hooks/useSliderMoveEvent.d.ts +10 -0
- package/HeroCarousel/hooks/useSliderMoveEvent.d.ts.map +1 -0
- package/HeroCarousel/hooks/useSliderMoveEvent.js +52 -0
- package/HeroCarousel/hooks/useSliderMoveEvent.js.map +1 -0
- package/HeroCarousel/hooks/useSliderTransition.d.ts +20 -0
- package/HeroCarousel/hooks/useSliderTransition.d.ts.map +1 -0
- package/HeroCarousel/hooks/useSliderTransition.js +36 -0
- package/HeroCarousel/hooks/useSliderTransition.js.map +1 -0
- package/HeroCarousel/hooks/useValueRef.d.ts +3 -0
- package/HeroCarousel/hooks/useValueRef.d.ts.map +1 -0
- package/HeroCarousel/hooks/useValueRef.js +13 -0
- package/HeroCarousel/hooks/useValueRef.js.map +1 -0
- package/HeroCarousel/index.d.ts +2 -0
- package/HeroCarousel/index.d.ts.map +1 -0
- package/HeroCarousel/index.js +6 -0
- package/HeroCarousel/index.js.map +1 -0
- package/Icon/Amebapick.d.ts +4 -0
- package/Icon/Amebapick.d.ts.map +1 -0
- package/Icon/Amebapick.js +42 -0
- package/Icon/Amebapick.js.map +1 -0
- package/Icon/Articledesign.d.ts +4 -0
- package/Icon/Articledesign.d.ts.map +1 -0
- package/Icon/Articledesign.js +39 -0
- package/Icon/Articledesign.js.map +1 -0
- package/Icon/Embed.js +1 -1
- package/Icon/Embed.js.map +1 -1
- package/Icon/EmotionFill.js +1 -1
- package/Icon/EmotionFill.js.map +1 -1
- package/Icon/KeyboardDownFill.d.ts +4 -0
- package/Icon/KeyboardDownFill.d.ts.map +1 -0
- package/Icon/KeyboardDownFill.js +39 -0
- package/Icon/KeyboardDownFill.js.map +1 -0
- package/Icon/Link.js +1 -1
- package/Icon/Link.js.map +1 -1
- package/Icon/Megaphone.d.ts +4 -0
- package/Icon/Megaphone.d.ts.map +1 -0
- package/Icon/Megaphone.js +39 -0
- package/Icon/Megaphone.js.map +1 -0
- package/Icon/Title.js +1 -1
- package/Icon/Title.js.map +1 -1
- package/Icon/index.d.ts +4 -0
- package/Icon/index.d.ts.map +1 -1
- package/Icon/index.js +9 -1
- package/Icon/index.js.map +1 -1
- package/IconButton/IconButton.css +1 -1
- package/LinkButton/LinkButton.css +1 -1
- package/index.css +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/package.json +4 -4
package/Button/Button.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--Button-tapHighlightColor:var(--gray-5-alpha);--Button-onFocus-boxShadow:0 0 0 1px var(--color-surface-primary),0 0 0 3px var(--color-focus-clarity);--Button--contained-backgroundColor:var(--color-surface-accent-primary);--Button--contained-color:var(--color-text-high-emphasis-inverse);--Button--contained-onActive-backgroundColor:var(--primary-green-100);--Button--contained-onHover-backgroundColor:var(--primary-green-100);--Button--outlined-borderColor:var(--color-
|
|
1
|
+
:root{--Button-tapHighlightColor:var(--gray-5-alpha);--Button-onFocus-boxShadow:0 0 0 1px var(--color-surface-primary),0 0 0 3px var(--color-focus-clarity);--Button--contained-backgroundColor:var(--color-surface-accent-primary);--Button--contained-color:var(--color-text-high-emphasis-inverse);--Button--contained-onActive-backgroundColor:var(--primary-green-100);--Button--contained-onHover-backgroundColor:var(--primary-green-100);--Button--outlined-borderColor:var(--color-border-accent-primary);--Button--outlined-color:var(--color-text-accent-primary);--Button--outlined-onActive-backgroundColor:var(--primary-green-5);--Button--outlined-onHover-backgroundColor:var(--primary-green-5);--Button--lighted-backgroundColor:var(--color-surface-accent-primary-light);--Button--lighted-color:var(--color-text-accent-primary);--Button--lighted-onActive-backgroundColor:var(--primary-green-10);--Button--lighted-onHover-backgroundColor:var(--primary-green-10);--Button--neutral-backgroundColor:var(--color-surface-tertiary);--Button--neutral-color:var(--color-text-medium-emphasis);--Button--neutral-onActive-backgroundColor:var(--gray-20-alpha);--Button--neutral-onHover-backgroundColor:var(--gray-20-alpha);--Button--danger-borderColor:var(--color-border-caution);--Button--danger-color:var(--color-text-caution);--Button--danger-onActive-backgroundColor:var(--caution-red-5-alpha);--Button--danger-onHover-backgroundColor:var(--caution-red-5-alpha)}.spui-Button{align-items:center;box-sizing:border-box;display:inline-flex;font-family:inherit;font-weight:700;justify-content:center;line-height:1.3;margin:0;-webkit-tap-highlight-color:var(--Button-tapHighlightColor);text-align:center;transition:background-color .3s}.spui-Button:disabled{opacity:.3}.spui-Button:focus{box-shadow:var(--Button-onFocus-boxShadow);outline:none}.spui-Button:focus:not(:focus-visible){box-shadow:none}.spui-Button--fullWidth{width:100%}.spui-Button--large{border-radius:3em;font-size:1em;min-height:48px;padding-left:16px;padding-right:16px}.spui-Button--medium{border-radius:2.85714em;font-size:.875em;min-height:40px;padding-left:16px;padding-right:16px}.spui-Button--small{border-radius:2.46154em;font-size:.8125em;min-height:32px;padding-left:10px;padding-right:10px}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.spui-Button--large,.spui-Button--medium,.spui-Button--small{height:1px}}.spui-Button--contained{background-color:var(--Button--contained-backgroundColor);border:none;color:var(--Button--contained-color);padding-bottom:8px;padding-top:8px}.spui-Button--contained:active{background-color:var(--Button--contained-onActive-backgroundColor)}@media (hover:hover){.spui-Button--contained:not([disabled]):hover{background-color:var(--Button--contained-onHover-backgroundColor)}}.spui-Button--outlined{background-color:transparent;border:2px solid var(--Button--outlined-borderColor);color:var(--Button--outlined-color);padding-bottom:6px;padding-top:6px}.spui-Button--outlined:active{background-color:var(--Button--outlined-onActive-backgroundColor)}@media (hover:hover){.spui-Button--outlined:not([disabled]):hover{background-color:var(--Button--outlined-onHover-backgroundColor)}}.spui-Button--lighted{background-color:var(--Button--lighted-backgroundColor);border:none;color:var(--Button--lighted-color);padding-bottom:8px;padding-top:8px}.spui-Button--lighted:active{background-color:var(--Button--lighted-onActive-backgroundColor)}@media (hover:hover){.spui-Button--lighted:not([disabled]):hover{background-color:var(--Button--lighted-onHover-backgroundColor)}}.spui-Button--neutral{background-color:var(--Button--neutral-backgroundColor);border:none;color:var(--Button--neutral-color);padding-bottom:8px;padding-top:8px}.spui-Button--neutral:active{background-color:var(--Button--neutral-onActive-backgroundColor)}@media (hover:hover){.spui-Button--neutral:not([disabled]):hover{background-color:var(--Button--neutral-onHover-backgroundColor)}}.spui-Button--danger{background-color:transparent;border:2px solid var(--Button--danger-borderColor);color:var(--Button--danger-color);padding-bottom:6px;padding-top:6px}.spui-Button--danger:active{background-color:var(--Button--danger-onActive-backgroundColor)}@media (hover:hover){.spui-Button--danger:not([disabled]):hover{background-color:var(--Button--danger-onHover-backgroundColor)}}.spui-Button-icon{line-height:0}.spui-Button-icon--large{font-size:1.375em;margin-right:6px}.spui-Button-icon--medium{font-size:1.429em;margin-right:4px}.spui-Button-icon--small{font-size:1.23em;margin-right:2px}
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,39 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.26.0](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.25.1...@openameba/spindle-ui@0.26.0) (2022-02-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **spindle-ui:** add HeroCarousel component ([d7e0a53](https://github.com/openameba/spindle/commit/d7e0a5302cfca4d7600188098ef4dd224998e2bb))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.25.1](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.25.0...@openameba/spindle-ui@0.25.1) (2021-12-09)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **spindle-ui:** correct button tokens ([6b88a5f](https://github.com/openameba/spindle/commit/6b88a5fd5fd8677aec82add4fe3552674ace69cc))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# [0.25.0](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.24.0...@openameba/spindle-ui@0.25.0) (2021-12-03)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Features
|
|
32
|
+
|
|
33
|
+
* **spindle-icons:** update icons ([c96c886](https://github.com/openameba/spindle/commit/c96c8866eb5494ce90adac8d9449a3bece0c0370))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
6
39
|
# [0.24.0](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.23.1...@openameba/spindle-ui@0.24.0) (2021-11-29)
|
|
7
40
|
|
|
8
41
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--HeroCarousel-onFocus-boxShadow:0 0 0 1px var(--color-surface-primary),0 0 0 3px var(--color-focus-clarity)}.spui-HeroCarousel-container{align-items:center;display:flex;height:11.6em;justify-content:center;overflow:hidden;padding:.6rem 0}.spui-HeroCarousel-list{display:flex;margin-right:.88em;padding:0 .44em;transition:transform .5s;width:16.7em}.spui-HeroCarousel-controls{align-items:center;border:1px solid var(--color-border-low-emphasis);border-radius:100px;display:flex;margin:.88em auto 0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.spui-HeroCarousel-control{align-items:center;background-color:transparent;border:none;display:flex;height:3em;justify-content:center;padding:0;width:3em}.spui-HeroCarousel-control:hover{opacity:.7}.spui-HeroCarousel-control:focus{box-shadow:var(--HeroCarousel-onFocus-boxShadow);outline:none}.spui-HeroCarousel-control:focus:not(:focus-visible){box-shadow:none}.spui-HeroCarousel-control--prev{border-radius:100px 0 0 100px;border-right:1px solid var(--color-border-low-emphasis)}.spui-HeroCarousel-control--next{border-left:1px solid var(--color-border-low-emphasis);border-radius:0 100px 100px 0}@media (prefers-reduced-motion:reduce){.spui-HeroCarousel-list{transition:1ms}}@media screen and (min-width:768px){.spui-HeroCarousel-container{height:13em}.spui-HeroCarousel-list{margin-right:1.5em;padding:0 .75em;width:18.5em}.spui-HeroCarousel-controls{margin-top:1.25em}.spui-HeroCarousel-control{height:3.3em;width:3.3em}}.spui-HeroCarousel-control>svg{color:var(--color-text-low-emphasis);height:1.35em;width:1.35em}@media screen and (min-width:768px){.spui-HeroCarousel-control>svg{height:1.5em;width:1.5em}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroCarousel.d.ts","sourceRoot":"","sources":["../../src/HeroCarousel/HeroCarousel.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,aAAK,KAAK,GAAG;IACX,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CA0FjC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.HeroCarousel = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var ChevronLeftBold_1 = __importDefault(require("../Icon/ChevronLeftBold"));
|
|
9
|
+
var ChevronRightBold_1 = __importDefault(require("../Icon/ChevronRightBold"));
|
|
10
|
+
var Pause_1 = __importDefault(require("../Icon/Pause"));
|
|
11
|
+
var PlayFill_1 = __importDefault(require("../Icon/PlayFill"));
|
|
12
|
+
var HeroCarouselItem_1 = __importDefault(require("./HeroCarouselItem"));
|
|
13
|
+
var useAutoPlayCarousel_1 = require("./hooks/useAutoPlayCarousel");
|
|
14
|
+
var BLOCK_NAME = 'spui-HeroCarousel';
|
|
15
|
+
var ITEM_LINK_CLASS_NAME = 'js-auto-play-carousel-item-link';
|
|
16
|
+
exports.HeroCarousel = react_1.default.memo(function HeroCarousel(_a) {
|
|
17
|
+
var carouselList = _a.carouselList;
|
|
18
|
+
if (carouselList.length === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
var _b = useAutoPlayCarousel_1.useAutoPlayCarousel({
|
|
22
|
+
items: carouselList,
|
|
23
|
+
itemLinkClassName: ITEM_LINK_CLASS_NAME,
|
|
24
|
+
}), handleSlideToPrev = _b.handleSlideToPrev, handleSlideToNext = _b.handleSlideToNext, handleMouseEnter = _b.handleMouseEnter, handleMouseDown = _b.handleMouseDown, handleMouseLeave = _b.handleMouseLeave, handleTouchStart = _b.handleTouchStart, handleTransitionEnd = _b.handleTransitionEnd, isAutoPlaying = _b.isAutoPlaying, isLinkClicked = _b.isLinkClicked, itemsToRender = _b.itemsToRender, listRef = _b.listRef, listStyles = _b.listStyles, toggleAutoPlay = _b.toggleAutoPlay, handleFocus = _b.handleFocus, handleBlur = _b.handleBlur;
|
|
25
|
+
return (react_1.default.createElement("div", null,
|
|
26
|
+
react_1.default.createElement("div", { className: BLOCK_NAME + "-container", onBlur: handleBlur, onFocus: handleFocus, onMouseDown: handleMouseDown, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onTouchStart: handleTouchStart, onTransitionEnd: handleTransitionEnd },
|
|
27
|
+
react_1.default.createElement("ul", { "aria-roledescription": "\u30AB\u30EB\u30FC\u30BB\u30EB", className: BLOCK_NAME + "-list", ref: listRef, role: "group", style: listStyles }, itemsToRender.map(function (item, index) { return (react_1.default.createElement(HeroCarouselItem_1.default, { carouselItem: item, isLinkClicked: isLinkClicked, itemLinkClassName: ITEM_LINK_CLASS_NAME, key: "hero-carousel-" + index })); }))),
|
|
28
|
+
react_1.default.createElement("div", { className: BLOCK_NAME + "-controls" },
|
|
29
|
+
react_1.default.createElement("button", { "aria-label": "1\u3064\u524D\u306E\u30A2\u30A4\u30C6\u30E0\u306B\u79FB\u52D5", className: BLOCK_NAME + "-control " + BLOCK_NAME + "-control--prev", type: "button", onClick: handleSlideToPrev },
|
|
30
|
+
react_1.default.createElement(ChevronLeftBold_1.default, { "aria-hidden": true })),
|
|
31
|
+
react_1.default.createElement("button", { "aria-label": isAutoPlaying ? 'スライドを停止' : 'スライドを再生', className: BLOCK_NAME + "-control", type: "button", onClick: toggleAutoPlay }, isAutoPlaying ? (react_1.default.createElement(Pause_1.default, { "aria-hidden": true })) : (react_1.default.createElement(PlayFill_1.default, { "aria-hidden": true }))),
|
|
32
|
+
react_1.default.createElement("button", { "aria-label": "1\u3064\u5F8C\u308D\u306E\u30A2\u30A4\u30C6\u30E0\u306B\u79FB\u52D5", className: BLOCK_NAME + "-control " + BLOCK_NAME + "-control--next", type: "button", onClick: handleSlideToNext },
|
|
33
|
+
react_1.default.createElement(ChevronRightBold_1.default, { "aria-hidden": true })))));
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=HeroCarousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroCarousel.js","sourceRoot":"","sources":["../../src/HeroCarousel/HeroCarousel.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAkC;AAClC,4EAAsD;AACtD,8EAAwD;AACxD,wDAAkC;AAClC,8DAAwC;AAExC,wEAAkD;AAClD,mEAAkE;AAMlE,IAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,IAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAElD,QAAA,YAAY,GAAc,eAAK,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,EAEvE;QADC,YAAY,kBAAA;IAEZ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,IAAI,CAAC;KACb;IAEK,IAAA,KAgBF,yCAAmB,CAAC;QACtB,KAAK,EAAE,YAAY;QACnB,iBAAiB,EAAE,oBAAoB;KACxC,CAAC,EAlBA,iBAAiB,uBAAA,EACjB,iBAAiB,uBAAA,EACjB,gBAAgB,sBAAA,EAChB,eAAe,qBAAA,EACf,gBAAgB,sBAAA,EAChB,gBAAgB,sBAAA,EAChB,mBAAmB,yBAAA,EACnB,aAAa,mBAAA,EACb,aAAa,mBAAA,EACb,aAAa,mBAAA,EACb,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,UAAU,gBAIV,CAAC;IAEH,OAAO,CACL;QACE,uCACE,SAAS,EAAK,UAAU,eAAY,EACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,eAAe,EAAE,mBAAmB;YAEpC,8DACuB,gCAAO,EAC5B,SAAS,EAAK,UAAU,UAAO,EAC/B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,UAAU,IAEhB,aAAa,CAAC,GAAG,CAAC,UAAC,IAAkB,EAAE,KAAa,IAAK,OAAA,CACxD,8BAAC,0BAAgB,IACf,YAAY,EAAE,IAAI,EAClB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,oBAAoB,EACvC,GAAG,EAAE,mBAAiB,KAAO,GAC7B,CACH,EAPyD,CAOzD,CAAC,CACC,CACD;QAEN,uCAAK,SAAS,EAAK,UAAU,cAAW;YACtC,wDACa,+DAAa,EACxB,SAAS,EAAK,UAAU,iBAAY,UAAU,mBAAgB,EAC9D,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB;gBAE1B,8BAAC,yBAAe,mBAAc,IAAI,GAAI,CAC/B;YACT,wDACc,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjD,SAAS,EAAK,UAAU,aAAU,EAClC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,cAAc,IAEtB,aAAa,CAAC,CAAC,CAAC,CACf,8BAAC,eAAK,mBAAc,IAAI,GAAI,CAC7B,CAAC,CAAC,CAAC,CACF,8BAAC,kBAAQ,mBAAc,IAAI,GAAI,CAChC,CACM;YACT,wDACa,qEAAc,EACzB,SAAS,EAAK,UAAU,iBAAY,UAAU,mBAAgB,EAC9D,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB;gBAE1B,8BAAC,0BAAgB,mBAAc,IAAI,GAAI,CAChC,CACL,CACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--HeroCarouselItem-onFocus-boxShadow:0 0 0 1px var(--color-surface-primary),0 0 0 3px var(--color-focus-clarity)}.spui-HeroCarouselItem-listItem{list-style:none;padding:0 .44em;width:100%}.spui-HeroCarouselItem-link{border:1px solid var(--color-border-low-emphasis);border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;height:12em;text-decoration:none}.spui-HeroCarouselItem-link:focus{box-shadow:var(--HeroCarouselItem-onFocus-boxShadow);outline:none}.spui-HeroCarouselItem-link:focus:not(:focus-visible){box-shadow:none}.spui-HeroCarouselItem-imageBlock{align-items:center;border-bottom:1px solid var(--color-border-low-emphasis);border-radius:12px 12px 0 0;display:flex;height:9.5em;justify-content:center;overflow:hidden}.spui-HeroCarouselItem-image{height:100%}.spui-HeroCarouselItem-titleContainer{align-items:center;box-sizing:border-box;display:flex;height:2.89em;justify-content:center;padding:0 .5em}.spui-HeroCarouselItem-title{color:var(--color-text-high-emphasis);font-size:.9375em;font-weight:700;margin:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:768px){.spui-HeroCarouselItem-listItem{padding:0 .75em}.spui-HeroCarouselItem-link{height:13.8em}.spui-HeroCarouselItem-titleContainer{height:3.3em}.spui-HeroCarouselItem-title{font-size:1em}.spui-HeroCarouselItem-imageBlock{height:10.9em}}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import './HeroCarouselItem.css';
|
|
3
|
+
export declare type CarouselItem = {
|
|
4
|
+
imageUrl: string;
|
|
5
|
+
link: string;
|
|
6
|
+
title: string;
|
|
7
|
+
};
|
|
8
|
+
declare type Props = {
|
|
9
|
+
carouselItem: CarouselItem;
|
|
10
|
+
isLinkClicked: boolean;
|
|
11
|
+
itemLinkClassName: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const HeroCarouselItem: FC<Props>;
|
|
14
|
+
export default HeroCarouselItem;
|
|
15
|
+
//# sourceMappingURL=HeroCarouselItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroCarouselItem.d.ts","sourceRoot":"","sources":["../../src/HeroCarousel/HeroCarouselItem.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAe,EAAE,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,wBAAwB,CAAC;AAEhC,oBAAY,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,KAAK,CA0CtC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.HeroCarouselItem = void 0;
|
|
23
|
+
var react_1 = __importStar(require("react"));
|
|
24
|
+
require("./HeroCarouselItem.css");
|
|
25
|
+
var BLOCK_NAME = 'spui-HeroCarouselItem';
|
|
26
|
+
exports.HeroCarouselItem = react_1.default.memo(function HeroCarouselItem(_a) {
|
|
27
|
+
var carouselItem = _a.carouselItem, isLinkClicked = _a.isLinkClicked, itemLinkClassName = _a.itemLinkClassName;
|
|
28
|
+
var handleLinkClick = react_1.useCallback(function (e) {
|
|
29
|
+
if (!isLinkClicked) {
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
}
|
|
32
|
+
}, [isLinkClicked]);
|
|
33
|
+
return (react_1.default.createElement("li", { className: BLOCK_NAME + "-listItem" },
|
|
34
|
+
react_1.default.createElement("a", { className: itemLinkClassName + " " + BLOCK_NAME + "-link", href: carouselItem.link, onClick: handleLinkClick },
|
|
35
|
+
react_1.default.createElement("span", { className: BLOCK_NAME + "-imageBlock" },
|
|
36
|
+
react_1.default.createElement("img", { alt: "", className: BLOCK_NAME + "-image", src: carouselItem.imageUrl })),
|
|
37
|
+
react_1.default.createElement("div", { className: BLOCK_NAME + "-titleContainer" },
|
|
38
|
+
react_1.default.createElement("p", { className: BLOCK_NAME + "-title" }, carouselItem.title)))));
|
|
39
|
+
}, function (prevProps, nextProps) {
|
|
40
|
+
return prevProps.isLinkClicked === nextProps.isLinkClicked &&
|
|
41
|
+
prevProps.itemLinkClassName === nextProps.itemLinkClassName &&
|
|
42
|
+
prevProps.carouselItem.title === nextProps.carouselItem.title &&
|
|
43
|
+
prevProps.carouselItem.link === nextProps.carouselItem.link &&
|
|
44
|
+
prevProps.carouselItem.imageUrl === nextProps.carouselItem.imageUrl;
|
|
45
|
+
});
|
|
46
|
+
exports.default = exports.HeroCarouselItem;
|
|
47
|
+
//# sourceMappingURL=HeroCarouselItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroCarouselItem.js","sourceRoot":"","sources":["../../src/HeroCarousel/HeroCarouselItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+C;AAC/C,kCAAgC;AAchC,IAAM,UAAU,GAAG,uBAAuB,CAAC;AAE9B,QAAA,gBAAgB,GAAc,eAAK,CAAC,IAAI,CACnD,SAAS,gBAAgB,CAAC,EAIzB;QAHC,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,iBAAiB,uBAAA;IAEjB,IAAM,eAAe,GAAG,mBAAW,CACjC,UAAC,CAAyC;QACxC,IAAI,CAAC,aAAa,EAAE;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,sCAAI,SAAS,EAAK,UAAU,cAAW;QACrC,qCACE,SAAS,EAAK,iBAAiB,SAAI,UAAU,UAAO,EACpD,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,OAAO,EAAE,eAAe;YAExB,wCAAM,SAAS,EAAK,UAAU,gBAAa;gBACzC,uCACE,GAAG,EAAC,EAAE,EACN,SAAS,EAAK,UAAU,WAAQ,EAChC,GAAG,EAAE,YAAY,CAAC,QAAQ,GAC1B,CACG;YACP,uCAAK,SAAS,EAAK,UAAU,oBAAiB;gBAC5C,qCAAG,SAAS,EAAK,UAAU,WAAQ,IAAG,YAAY,CAAC,KAAK,CAAK,CACzD,CACJ,CACD,CACN,CAAC;AACJ,CAAC,EACD,UAAC,SAAS,EAAE,SAAS;IACnB,OAAA,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa;QACnD,SAAS,CAAC,iBAAiB,KAAK,SAAS,CAAC,iBAAiB;QAC3D,SAAS,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,CAAC,YAAY,CAAC,KAAK;QAC7D,SAAS,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC,IAAI;QAC3D,SAAS,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,YAAY,CAAC,QAAQ;AAJnE,CAImE,CACtE,CAAC;AAEF,kBAAe,wBAAgB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Payload<Item> = {
|
|
3
|
+
items: Item[];
|
|
4
|
+
itemLinkClassName: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function useAutoPlayCarousel<Item>({ items, itemLinkClassName, }: Payload<Item>): {
|
|
7
|
+
handleSlideToPrev: () => void;
|
|
8
|
+
handleSlideToNext: () => void;
|
|
9
|
+
handleMouseEnter: () => void;
|
|
10
|
+
handleMouseDown: (e: React.MouseEvent) => void;
|
|
11
|
+
handleMouseLeave: () => void;
|
|
12
|
+
handleTouchStart: (e: React.TouchEvent) => void;
|
|
13
|
+
handleTransitionEnd: () => void;
|
|
14
|
+
isAutoPlaying: boolean;
|
|
15
|
+
isLinkClicked: boolean;
|
|
16
|
+
itemsToRender: Item[];
|
|
17
|
+
listRef: import("react").RefObject<HTMLUListElement>;
|
|
18
|
+
listStyles: {
|
|
19
|
+
transition: string;
|
|
20
|
+
transform: string;
|
|
21
|
+
};
|
|
22
|
+
toggleAutoPlay: () => void;
|
|
23
|
+
handleFocus: (e: React.FocusEvent<HTMLDivElement>) => void;
|
|
24
|
+
handleBlur: () => void;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=useAutoPlayCarousel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoPlayCarousel.d.ts","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useAutoPlayCarousel.ts"],"names":[],"mappings":";AAOA,aAAK,OAAO,CAAC,IAAI,IAAI;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EACxC,KAAK,EACL,iBAAiB,GAClB,EAAE,OAAO,CAAC,IAAI,CAAC;;;;yBAsFc,gBAAgB;;0BA2Bf,gBAAgB;;;;;;;;;;;qBA4BrB,gBAAgB,CAAC,cAAc,CAAC;;EA0DzD"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
3
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
4
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
5
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
6
|
+
r[k] = a[j];
|
|
7
|
+
return r;
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.useAutoPlayCarousel = void 0;
|
|
11
|
+
var react_1 = require("react");
|
|
12
|
+
var useAutoSlide_1 = require("./useAutoSlide");
|
|
13
|
+
var useCarouselFocus_1 = require("./useCarouselFocus");
|
|
14
|
+
var useSliderMoveEvent_1 = require("./useSliderMoveEvent");
|
|
15
|
+
var useSliderTransition_1 = require("./useSliderTransition");
|
|
16
|
+
var useValueRef_1 = require("./useValueRef");
|
|
17
|
+
var COPY_COUNT = 5;
|
|
18
|
+
var SWIPE_THRESHOLD_X = 20;
|
|
19
|
+
function useAutoPlayCarousel(_a) {
|
|
20
|
+
var items = _a.items, itemLinkClassName = _a.itemLinkClassName;
|
|
21
|
+
var _b = useSliderMoveEvent_1.useSliderMoveEvent(), diffXRef = _b.diffXRef, diffYRef = _b.diffYRef, setDiffX = _b.setDiffX, setDiffY = _b.setDiffY, setStartX = _b.setStartX, setStartY = _b.setStartY;
|
|
22
|
+
var _c = react_1.useState(0), focusOffset = _c[0], setFocusOffset = _c[1];
|
|
23
|
+
var _d = react_1.useState(false), isHovering = _d[0], setIsHovering = _d[1];
|
|
24
|
+
var _e = react_1.useState(false), isLinkClicked = _e[0], setIsLinkClicked = _e[1];
|
|
25
|
+
var isHoveringRef = useValueRef_1.useValueRef(isHovering);
|
|
26
|
+
var slideToNextRef = useValueRef_1.useValueRef(function () { return slideToNext(); });
|
|
27
|
+
var itemCount = react_1.useMemo(function () { return items.length; }, [items]);
|
|
28
|
+
var getIsCopiedItem = react_1.useCallback(function (index) {
|
|
29
|
+
return index < COPY_COUNT || index >= itemCount + COPY_COUNT;
|
|
30
|
+
}, [itemCount]);
|
|
31
|
+
var _f = useAutoSlide_1.useAutoSlide({
|
|
32
|
+
onTimeOut: slideToNextRef.current,
|
|
33
|
+
}), isAutoPlaying = _f.isAutoPlaying, setIsAutoPlaying = _f.setIsAutoPlaying, resetAutoSlide = _f.resetAutoSlide, resetTimeOut = _f.resetTimeOut, toggleAutoPlay = _f.toggleAutoPlay;
|
|
34
|
+
var _g = useCarouselFocus_1.useCarouselFocus({
|
|
35
|
+
getIsCopiedItem: getIsCopiedItem,
|
|
36
|
+
itemLinkClassName: itemLinkClassName,
|
|
37
|
+
}), linkRefs = _g.linkRefs, listRef = _g.listRef;
|
|
38
|
+
var isAutoPlayingRef = useValueRef_1.useValueRef(isAutoPlaying);
|
|
39
|
+
var _h = useSliderTransition_1.useSliderTransition({
|
|
40
|
+
copyCount: COPY_COUNT,
|
|
41
|
+
itemCount: itemCount,
|
|
42
|
+
isAutoPlaying: isAutoPlaying,
|
|
43
|
+
linkRefs: linkRefs,
|
|
44
|
+
}), currentIndexRef = _h.currentIndexRef, handleTransitionEnd = _h.handleTransitionEnd, listStyles = _h.listStyles, setCurrentIndex = _h.setCurrentIndex, setDisableAutoFocus = _h.setDisableAutoFocus, setDisableTransition = _h.setDisableTransition;
|
|
45
|
+
var itemsToRender = react_1.useMemo(
|
|
46
|
+
// generate copy contents on both ends to make carousel look like looping
|
|
47
|
+
function () { return __spreadArrays(items.slice(-COPY_COUNT), items, items.slice(0, COPY_COUNT)); }, [items]);
|
|
48
|
+
var slideToNext = function (ignoreHover) {
|
|
49
|
+
if (ignoreHover === void 0) { ignoreHover = false; }
|
|
50
|
+
var shouldSlideToNext = ((!isHoveringRef.current && isAutoPlayingRef.current) || ignoreHover) &&
|
|
51
|
+
currentIndexRef.current <= itemCount;
|
|
52
|
+
if (shouldSlideToNext) {
|
|
53
|
+
setDisableTransition(false);
|
|
54
|
+
setCurrentIndex(currentIndexRef.current + 1);
|
|
55
|
+
}
|
|
56
|
+
resetAutoSlide();
|
|
57
|
+
};
|
|
58
|
+
var slideToPrev = function () {
|
|
59
|
+
if (currentIndexRef.current >= 0) {
|
|
60
|
+
setDisableTransition(false);
|
|
61
|
+
setCurrentIndex(currentIndexRef.current - 1);
|
|
62
|
+
}
|
|
63
|
+
resetAutoSlide();
|
|
64
|
+
};
|
|
65
|
+
var handleMouseEnter = function () { return setIsHovering(true); };
|
|
66
|
+
var handleMouseLeave = function () {
|
|
67
|
+
setIsHovering(false);
|
|
68
|
+
resetAutoSlide();
|
|
69
|
+
};
|
|
70
|
+
var handleMouseDown = function (e) {
|
|
71
|
+
resetTimeOut();
|
|
72
|
+
setStartX(e.clientX);
|
|
73
|
+
setStartY(e.clientY);
|
|
74
|
+
};
|
|
75
|
+
var onMouseUp = function () {
|
|
76
|
+
if (diffXRef.current > SWIPE_THRESHOLD_X) {
|
|
77
|
+
setIsLinkClicked(false);
|
|
78
|
+
setIsAutoPlaying(false);
|
|
79
|
+
slideToPrev();
|
|
80
|
+
}
|
|
81
|
+
if (diffXRef.current < -SWIPE_THRESHOLD_X) {
|
|
82
|
+
setIsLinkClicked(false);
|
|
83
|
+
setIsAutoPlaying(false);
|
|
84
|
+
slideToNext(true);
|
|
85
|
+
}
|
|
86
|
+
if (diffXRef.current === 0 && diffYRef.current === 0) {
|
|
87
|
+
setIsLinkClicked(true);
|
|
88
|
+
}
|
|
89
|
+
setStartX(null);
|
|
90
|
+
setStartY(null);
|
|
91
|
+
setDiffX(0);
|
|
92
|
+
setDiffY(0);
|
|
93
|
+
};
|
|
94
|
+
var handleTouchStart = function (e) {
|
|
95
|
+
if (!e.touches.length)
|
|
96
|
+
return;
|
|
97
|
+
var touch = e.touches[0];
|
|
98
|
+
resetTimeOut();
|
|
99
|
+
handleMouseEnter();
|
|
100
|
+
setStartX(touch.clientX);
|
|
101
|
+
setStartY(touch.clientY);
|
|
102
|
+
};
|
|
103
|
+
var onTouchEnd = function () {
|
|
104
|
+
setIsHovering(false);
|
|
105
|
+
onMouseUp();
|
|
106
|
+
};
|
|
107
|
+
var handleSlideToPrev = function () {
|
|
108
|
+
resetTimeOut();
|
|
109
|
+
setIsAutoPlaying(false);
|
|
110
|
+
slideToPrev();
|
|
111
|
+
};
|
|
112
|
+
var handleSlideToNext = function () {
|
|
113
|
+
resetTimeOut();
|
|
114
|
+
setIsAutoPlaying(false);
|
|
115
|
+
slideToNext(true);
|
|
116
|
+
};
|
|
117
|
+
var handleFocus = function (e) {
|
|
118
|
+
setIsAutoPlaying(false);
|
|
119
|
+
var newFocusOffset = e.target.offsetLeft;
|
|
120
|
+
setFocusOffset(newFocusOffset);
|
|
121
|
+
if (focusOffset === 0) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
setDisableAutoFocus(true);
|
|
125
|
+
if (isHovering && diffXRef.current === 0 && diffYRef.current === 0) {
|
|
126
|
+
setIsLinkClicked(true);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (focusOffset > newFocusOffset) {
|
|
130
|
+
setDisableTransition(false);
|
|
131
|
+
setCurrentIndex(currentIndexRef.current - 1);
|
|
132
|
+
}
|
|
133
|
+
if (focusOffset < newFocusOffset) {
|
|
134
|
+
setDisableTransition(false);
|
|
135
|
+
setCurrentIndex(currentIndexRef.current + 1);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
var handleBlur = function () {
|
|
139
|
+
setIsAutoPlaying(true);
|
|
140
|
+
};
|
|
141
|
+
react_1.useEffect(function () {
|
|
142
|
+
document.body.addEventListener('mouseup', onMouseUp);
|
|
143
|
+
document.body.addEventListener('touchend', onTouchEnd);
|
|
144
|
+
return function () {
|
|
145
|
+
document.body.removeEventListener('mouseup', onMouseUp);
|
|
146
|
+
document.body.removeEventListener('touchend', onTouchEnd);
|
|
147
|
+
};
|
|
148
|
+
}, []);
|
|
149
|
+
return {
|
|
150
|
+
handleSlideToPrev: handleSlideToPrev,
|
|
151
|
+
handleSlideToNext: handleSlideToNext,
|
|
152
|
+
handleMouseEnter: handleMouseEnter,
|
|
153
|
+
handleMouseDown: handleMouseDown,
|
|
154
|
+
handleMouseLeave: handleMouseLeave,
|
|
155
|
+
handleTouchStart: handleTouchStart,
|
|
156
|
+
handleTransitionEnd: handleTransitionEnd,
|
|
157
|
+
isAutoPlaying: isAutoPlaying,
|
|
158
|
+
isLinkClicked: isLinkClicked,
|
|
159
|
+
itemsToRender: itemsToRender,
|
|
160
|
+
listRef: listRef,
|
|
161
|
+
listStyles: listStyles,
|
|
162
|
+
toggleAutoPlay: toggleAutoPlay,
|
|
163
|
+
handleFocus: handleFocus,
|
|
164
|
+
handleBlur: handleBlur,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
exports.useAutoPlayCarousel = useAutoPlayCarousel;
|
|
168
|
+
//# sourceMappingURL=useAutoPlayCarousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoPlayCarousel.js","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useAutoPlayCarousel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Payload = {
|
|
3
|
+
onTimeOut: () => void;
|
|
4
|
+
};
|
|
5
|
+
export declare function useAutoSlide({ onTimeOut }: Payload): {
|
|
6
|
+
isAutoPlaying: boolean;
|
|
7
|
+
setIsAutoPlaying: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
8
|
+
resetAutoSlide: () => void;
|
|
9
|
+
resetTimeOut: () => void;
|
|
10
|
+
toggleAutoPlay: () => void;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=useAutoSlide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoSlide.d.ts","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useAutoSlide.ts"],"names":[],"mappings":";AAIA,aAAK,OAAO,GAAG;IACb,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO;;;;;;EA8ClD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useAutoSlide = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var AUTO_SLIDE_SPEED = 4000; // ms
|
|
6
|
+
function useAutoSlide(_a) {
|
|
7
|
+
var onTimeOut = _a.onTimeOut;
|
|
8
|
+
var _b = react_1.useState(true), isAutoPlaying = _b[0], setIsAutoPlaying = _b[1];
|
|
9
|
+
var _c = react_1.useState(null), timeoutId = _c[0], setTimeoutId = _c[1];
|
|
10
|
+
var resetTimeOut = react_1.useCallback(function () {
|
|
11
|
+
if (timeoutId) {
|
|
12
|
+
clearTimeout(timeoutId);
|
|
13
|
+
}
|
|
14
|
+
}, [timeoutId]);
|
|
15
|
+
var activateAutoSlide = function () {
|
|
16
|
+
resetTimeOut();
|
|
17
|
+
var newTimeoutId = setTimeout(function () {
|
|
18
|
+
onTimeOut();
|
|
19
|
+
}, AUTO_SLIDE_SPEED);
|
|
20
|
+
setTimeoutId(newTimeoutId);
|
|
21
|
+
};
|
|
22
|
+
var resetAutoSlide = function () {
|
|
23
|
+
if (isAutoPlaying) {
|
|
24
|
+
activateAutoSlide();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var toggleAutoPlay = function () {
|
|
28
|
+
resetTimeOut();
|
|
29
|
+
if (!isAutoPlaying) {
|
|
30
|
+
activateAutoSlide();
|
|
31
|
+
}
|
|
32
|
+
setIsAutoPlaying(function (prev) { return !prev; });
|
|
33
|
+
};
|
|
34
|
+
react_1.useEffect(function () {
|
|
35
|
+
activateAutoSlide();
|
|
36
|
+
}, []);
|
|
37
|
+
return {
|
|
38
|
+
isAutoPlaying: isAutoPlaying,
|
|
39
|
+
setIsAutoPlaying: setIsAutoPlaying,
|
|
40
|
+
resetAutoSlide: resetAutoSlide,
|
|
41
|
+
resetTimeOut: resetTimeOut,
|
|
42
|
+
toggleAutoPlay: toggleAutoPlay,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
exports.useAutoSlide = useAutoSlide;
|
|
46
|
+
//# sourceMappingURL=useAutoSlide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoSlide.js","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useAutoSlide.ts"],"names":[],"mappings":";;;AAAA,+BAAyD;AAEzD,IAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,KAAK;AAMpC,SAAgB,YAAY,CAAC,EAAsB;QAApB,SAAS,eAAA;IAChC,IAAA,KAAoC,gBAAQ,CAAC,IAAI,CAAC,EAAjD,aAAa,QAAA,EAAE,gBAAgB,QAAkB,CAAC;IACnD,IAAA,KAA4B,gBAAQ,CAAwB,IAAI,CAAC,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAC;IAExE,IAAM,YAAY,GAAG,mBAAW,CAAC;QAC/B,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,SAAS,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,IAAM,iBAAiB,GAAG;QACxB,YAAY,EAAE,CAAC;QAEf,IAAM,YAAY,GAAG,UAAU,CAAC;YAC9B,SAAS,EAAE,CAAC;QACd,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAErB,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG;QACrB,IAAI,aAAa,EAAE;YACjB,iBAAiB,EAAE,CAAC;SACrB;IACH,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG;QACrB,YAAY,EAAE,CAAC;QAEf,IAAI,CAAC,aAAa,EAAE;YAClB,iBAAiB,EAAE,CAAC;SACrB;QACD,gBAAgB,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,iBAAS,CAAC;QACR,iBAAiB,EAAE,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,aAAa,eAAA;QACb,gBAAgB,kBAAA;QAChB,cAAc,gBAAA;QACd,YAAY,cAAA;QACZ,cAAc,gBAAA;KACf,CAAC;AACJ,CAAC;AA9CD,oCA8CC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Payload = {
|
|
3
|
+
getIsCopiedItem: (index: number) => boolean;
|
|
4
|
+
itemLinkClassName: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function useCarouselFocus({ getIsCopiedItem, itemLinkClassName, }: Payload): {
|
|
7
|
+
linkRefs: import("react").MutableRefObject<HTMLLinkElement[]>;
|
|
8
|
+
listRef: import("react").RefObject<HTMLUListElement>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=useCarouselFocus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCarouselFocus.d.ts","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useCarouselFocus.ts"],"names":[],"mappings":";AAEA,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,iBAAiB,GAClB,EAAE,OAAO;;;EA+BT"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCarouselFocus = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useCarouselFocus(_a) {
|
|
6
|
+
var getIsCopiedItem = _a.getIsCopiedItem, itemLinkClassName = _a.itemLinkClassName;
|
|
7
|
+
var listRef = react_1.useRef(null);
|
|
8
|
+
var linkRefs = react_1.useRef([]);
|
|
9
|
+
react_1.useEffect(function () {
|
|
10
|
+
if (!listRef.current)
|
|
11
|
+
return;
|
|
12
|
+
var linkElements = listRef.current.querySelectorAll("a." + itemLinkClassName);
|
|
13
|
+
if (!linkElements)
|
|
14
|
+
return;
|
|
15
|
+
// NOTE: use NodeList forEach as IE polyfill
|
|
16
|
+
Array.prototype.forEach.call(linkElements, function (link, index) {
|
|
17
|
+
linkRefs.current.push(link);
|
|
18
|
+
link.setAttribute('tabindex', getIsCopiedItem(index) ? '-1' : '0');
|
|
19
|
+
link.setAttribute('aria-hidden', getIsCopiedItem(index) ? 'true' : 'false');
|
|
20
|
+
});
|
|
21
|
+
}, [getIsCopiedItem, itemLinkClassName]);
|
|
22
|
+
return {
|
|
23
|
+
linkRefs: linkRefs,
|
|
24
|
+
listRef: listRef,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.useCarouselFocus = useCarouselFocus;
|
|
28
|
+
//# sourceMappingURL=useCarouselFocus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCarouselFocus.js","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useCarouselFocus.ts"],"names":[],"mappings":";;;AAAA,+BAA0C;AAO1C,SAAgB,gBAAgB,CAAC,EAGvB;QAFR,eAAe,qBAAA,EACf,iBAAiB,uBAAA;IAEjB,IAAM,OAAO,GAAG,cAAM,CAAmB,IAAI,CAAC,CAAC;IAC/C,IAAM,QAAQ,GAAG,cAAM,CAAoB,EAAE,CAAC,CAAC;IAE/C,iBAAS,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO;QAE7B,IAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CACnD,OAAK,iBAAmB,CACzB,CAAC;QAEF,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,4CAA4C;QAC5C,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC1B,YAAY,EACZ,UAAC,IAAqB,EAAE,KAAK;YAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,CACf,aAAa,EACb,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAC1C,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,QAAQ,UAAA;QACR,OAAO,SAAA;KACR,CAAC;AACJ,CAAC;AAlCD,4CAkCC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare function useSliderMoveEvent(): {
|
|
3
|
+
diffXRef: import("react").MutableRefObject<number>;
|
|
4
|
+
diffYRef: import("react").MutableRefObject<number>;
|
|
5
|
+
setDiffX: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
6
|
+
setDiffY: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
7
|
+
setStartX: import("react").Dispatch<import("react").SetStateAction<number | null>>;
|
|
8
|
+
setStartY: import("react").Dispatch<import("react").SetStateAction<number | null>>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useSliderMoveEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSliderMoveEvent.d.ts","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useSliderMoveEvent.ts"],"names":[],"mappings":";AAGA,wBAAgB,kBAAkB;;;;;;;EAsDjC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSliderMoveEvent = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var useValueRef_1 = require("./useValueRef");
|
|
6
|
+
function useSliderMoveEvent() {
|
|
7
|
+
var _a = react_1.useState(0), diffX = _a[0], setDiffX = _a[1];
|
|
8
|
+
var _b = react_1.useState(0), diffY = _b[0], setDiffY = _b[1];
|
|
9
|
+
var _c = react_1.useState(null), startX = _c[0], setStartX = _c[1];
|
|
10
|
+
var _d = react_1.useState(null), startY = _d[0], setStartY = _d[1];
|
|
11
|
+
var diffXRef = useValueRef_1.useValueRef(diffX);
|
|
12
|
+
var diffYRef = useValueRef_1.useValueRef(diffY);
|
|
13
|
+
var startXRef = useValueRef_1.useValueRef(startX);
|
|
14
|
+
var startYRef = useValueRef_1.useValueRef(startY);
|
|
15
|
+
var onMouseMove = function (e) {
|
|
16
|
+
if (startXRef.current === null || startYRef.current === null)
|
|
17
|
+
return;
|
|
18
|
+
e.preventDefault();
|
|
19
|
+
setDiffX(e.clientX - startXRef.current);
|
|
20
|
+
setDiffY(e.clientY - startYRef.current);
|
|
21
|
+
};
|
|
22
|
+
var onTouchMove = function (e) {
|
|
23
|
+
if (startXRef.current === null ||
|
|
24
|
+
startYRef.current === null ||
|
|
25
|
+
!e.touches.length) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
var touch = e.touches[0];
|
|
29
|
+
setDiffX(touch.clientX - startXRef.current);
|
|
30
|
+
setDiffY(touch.clientY - startYRef.current);
|
|
31
|
+
};
|
|
32
|
+
react_1.useEffect(function () {
|
|
33
|
+
document.body.addEventListener('mousemove', onMouseMove);
|
|
34
|
+
document.body.addEventListener('touchmove', onTouchMove, {
|
|
35
|
+
passive: true,
|
|
36
|
+
});
|
|
37
|
+
return function () {
|
|
38
|
+
document.body.removeEventListener('mousemove', onMouseMove);
|
|
39
|
+
document.body.removeEventListener('touchmove', onTouchMove);
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
return {
|
|
43
|
+
diffXRef: diffXRef,
|
|
44
|
+
diffYRef: diffYRef,
|
|
45
|
+
setDiffX: setDiffX,
|
|
46
|
+
setDiffY: setDiffY,
|
|
47
|
+
setStartX: setStartX,
|
|
48
|
+
setStartY: setStartY,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.useSliderMoveEvent = useSliderMoveEvent;
|
|
52
|
+
//# sourceMappingURL=useSliderMoveEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSliderMoveEvent.js","sourceRoot":"","sources":["../../../src/HeroCarousel/hooks/useSliderMoveEvent.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,6CAA4C;AAE5C,SAAgB,kBAAkB;IAC1B,IAAA,KAAoB,gBAAQ,CAAC,CAAC,CAAC,EAA9B,KAAK,QAAA,EAAE,QAAQ,QAAe,CAAC;IAChC,IAAA,KAAoB,gBAAQ,CAAC,CAAC,CAAC,EAA9B,KAAK,QAAA,EAAE,QAAQ,QAAe,CAAC;IAChC,IAAA,KAAsB,gBAAQ,CAAgB,IAAI,CAAC,EAAlD,MAAM,QAAA,EAAE,SAAS,QAAiC,CAAC;IACpD,IAAA,KAAsB,gBAAQ,CAAgB,IAAI,CAAC,EAAlD,MAAM,QAAA,EAAE,SAAS,QAAiC,CAAC;IAC1D,IAAM,QAAQ,GAAG,yBAAW,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,QAAQ,GAAG,yBAAW,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,SAAS,GAAG,yBAAW,CAAC,MAAM,CAAC,CAAC;IACtC,IAAM,SAAS,GAAG,yBAAW,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAM,WAAW,GAAG,UAAC,CAAa;QAChC,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAErE,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,CAAa;QAChC,IACE,SAAS,CAAC,OAAO,KAAK,IAAI;YAC1B,SAAS,CAAC,OAAO,KAAK,IAAI;YAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EACjB;YACA,OAAO;SACR;QAED,IAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,iBAAS,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE;YACvD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AAtDD,gDAsDC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MutableRefObject } from 'react';
|
|
2
|
+
declare type Payload = {
|
|
3
|
+
copyCount: number;
|
|
4
|
+
itemCount: number;
|
|
5
|
+
linkRefs: MutableRefObject<HTMLLinkElement[]>;
|
|
6
|
+
isAutoPlaying: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function useSliderTransition({ copyCount, itemCount, linkRefs, isAutoPlaying, }: Payload): {
|
|
9
|
+
currentIndexRef: MutableRefObject<number>;
|
|
10
|
+
handleTransitionEnd: () => void;
|
|
11
|
+
listStyles: {
|
|
12
|
+
transition: string;
|
|
13
|
+
transform: string;
|
|
14
|
+
};
|
|
15
|
+
setCurrentIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
16
|
+
setDisableAutoFocus: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
17
|
+
setDisableTransition: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=useSliderTransition.d.ts.map
|