@studiometa/ui 0.2.14 → 0.2.16
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/atoms/AnchorScrollTo/AnchorScrollTo.cjs +1 -0
- package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +7 -0
- package/atoms/AnchorScrollTo/AnchorScrollTo.js +4 -9
- package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +7 -0
- package/atoms/AnchorScrollTo/index.cjs +1 -0
- package/atoms/AnchorScrollTo/index.cjs.map +7 -0
- package/atoms/AnchorScrollTo/index.js +1 -0
- package/atoms/AnchorScrollTo/index.js.map +7 -0
- package/atoms/Cursor/Cursor.cjs +7 -9
- package/atoms/Cursor/Cursor.cjs.map +7 -0
- package/atoms/Cursor/Cursor.js +44 -52
- package/atoms/Cursor/Cursor.js.map +7 -0
- package/atoms/Cursor/index.cjs +1 -0
- package/atoms/Cursor/index.cjs.map +7 -0
- package/atoms/Cursor/index.js +1 -0
- package/atoms/Cursor/index.js.map +7 -0
- package/atoms/Figure/Figure.cjs +1 -0
- package/atoms/Figure/Figure.cjs.map +7 -0
- package/atoms/Figure/Figure.js +10 -15
- package/atoms/Figure/Figure.js.map +7 -0
- package/atoms/Figure/FigureTwicPics.cjs +1 -0
- package/atoms/Figure/FigureTwicPics.cjs.map +7 -0
- package/atoms/Figure/FigureTwicPics.js +17 -22
- package/atoms/Figure/FigureTwicPics.js.map +7 -0
- package/atoms/Figure/index.cjs +1 -0
- package/atoms/Figure/index.cjs.map +7 -0
- package/atoms/Figure/index.js +1 -0
- package/atoms/Figure/index.js.map +7 -0
- package/atoms/LargeText/LargeText.cjs +8 -10
- package/atoms/LargeText/LargeText.cjs.map +7 -0
- package/atoms/LargeText/LargeText.js +23 -31
- package/atoms/LargeText/LargeText.js.map +7 -0
- package/atoms/LargeText/index.cjs +1 -0
- package/atoms/LargeText/index.cjs.map +7 -0
- package/atoms/LargeText/index.js +1 -0
- package/atoms/LargeText/index.js.map +7 -0
- package/atoms/LazyInclude/LazyInclude.cjs +1 -0
- package/atoms/LazyInclude/LazyInclude.cjs.map +7 -0
- package/atoms/LazyInclude/LazyInclude.js +10 -15
- package/atoms/LazyInclude/LazyInclude.js.map +7 -0
- package/atoms/LazyInclude/index.cjs +1 -0
- package/atoms/LazyInclude/index.cjs.map +7 -0
- package/atoms/LazyInclude/index.js +1 -0
- package/atoms/LazyInclude/index.js.map +7 -0
- package/atoms/Prefetch/AbstractPrefetch.cjs +1 -0
- package/atoms/Prefetch/AbstractPrefetch.cjs.map +7 -0
- package/atoms/Prefetch/AbstractPrefetch.js +15 -21
- package/atoms/Prefetch/AbstractPrefetch.js.map +7 -0
- package/atoms/Prefetch/PrefetchWhenOver.cjs +1 -0
- package/atoms/Prefetch/PrefetchWhenOver.cjs.map +7 -0
- package/atoms/Prefetch/PrefetchWhenOver.js +5 -10
- package/atoms/Prefetch/PrefetchWhenOver.js.map +7 -0
- package/atoms/Prefetch/PrefetchWhenVisible.cjs +1 -0
- package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +7 -0
- package/atoms/Prefetch/PrefetchWhenVisible.js +5 -10
- package/atoms/Prefetch/PrefetchWhenVisible.js.map +7 -0
- package/atoms/Prefetch/index.cjs +1 -0
- package/atoms/Prefetch/index.cjs.map +7 -0
- package/atoms/Prefetch/index.js +1 -0
- package/atoms/Prefetch/index.js.map +7 -0
- package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +1 -0
- package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +7 -0
- package/atoms/ScrollAnimation/AbstractScrollAnimation.js +25 -30
- package/atoms/ScrollAnimation/AbstractScrollAnimation.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimation.cjs +1 -0
- package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimation.js +6 -11
- package/atoms/ScrollAnimation/ScrollAnimation.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +9 -11
- package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChild.js +24 -32
- package/atoms/ScrollAnimation/ScrollAnimationChild.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +1 -0
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js +5 -10
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +1 -0
- package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationParent.js +7 -12
- package/atoms/ScrollAnimation/ScrollAnimationParent.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +1 -0
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.js +5 -10
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.js.map +7 -0
- package/atoms/ScrollAnimation/animationScrollWithEase.cjs +12 -16
- package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +7 -0
- package/atoms/ScrollAnimation/animationScrollWithEase.js +12 -17
- package/atoms/ScrollAnimation/animationScrollWithEase.js.map +7 -0
- package/atoms/ScrollAnimation/index.cjs +1 -0
- package/atoms/ScrollAnimation/index.cjs.map +7 -0
- package/atoms/ScrollAnimation/index.js +1 -0
- package/atoms/ScrollAnimation/index.js.map +7 -0
- package/atoms/ScrollReveal/ScrollReveal.cjs +2 -2
- package/atoms/ScrollReveal/ScrollReveal.cjs.map +7 -0
- package/atoms/ScrollReveal/ScrollReveal.js +24 -31
- package/atoms/ScrollReveal/ScrollReveal.js.map +7 -0
- package/atoms/ScrollReveal/index.cjs +1 -0
- package/atoms/ScrollReveal/index.cjs.map +7 -0
- package/atoms/ScrollReveal/index.js +1 -0
- package/atoms/ScrollReveal/index.js.map +7 -0
- package/atoms/index.cjs +1 -0
- package/atoms/index.cjs.map +7 -0
- package/atoms/index.js +1 -0
- package/atoms/index.js.map +7 -0
- package/decorators/index.cjs +1 -0
- package/decorators/index.cjs.map +7 -0
- package/decorators/index.js +1 -0
- package/decorators/index.js.map +7 -0
- package/decorators/withTransition.cjs +18 -27
- package/decorators/withTransition.cjs.map +7 -0
- package/decorators/withTransition.js +19 -29
- package/decorators/withTransition.js.map +7 -0
- package/index.cjs +1 -0
- package/index.cjs.map +7 -0
- package/index.js +1 -0
- package/index.js.map +7 -0
- package/molecules/Accordion/Accordion.cjs +1 -0
- package/molecules/Accordion/Accordion.cjs.map +7 -0
- package/molecules/Accordion/Accordion.js +7 -12
- package/molecules/Accordion/Accordion.js.map +7 -0
- package/molecules/Accordion/AccordionCore.cjs +1 -0
- package/molecules/Accordion/AccordionCore.cjs.map +7 -0
- package/molecules/Accordion/AccordionCore.js +12 -17
- package/molecules/Accordion/AccordionCore.js.map +7 -0
- package/molecules/Accordion/AccordionItem.cjs +2 -2
- package/molecules/Accordion/AccordionItem.cjs.map +7 -0
- package/molecules/Accordion/AccordionItem.js +23 -30
- package/molecules/Accordion/AccordionItem.js.map +7 -0
- package/molecules/Accordion/index.cjs +1 -0
- package/molecules/Accordion/index.cjs.map +7 -0
- package/molecules/Accordion/index.js +1 -0
- package/molecules/Accordion/index.js.map +7 -0
- package/molecules/Menu/Menu.cjs +1 -0
- package/molecules/Menu/Menu.cjs.map +7 -0
- package/molecules/Menu/Menu.js +17 -23
- package/molecules/Menu/Menu.js.map +7 -0
- package/molecules/Menu/MenuBtn.cjs +2 -4
- package/molecules/Menu/MenuBtn.cjs.map +7 -0
- package/molecules/Menu/MenuBtn.js +5 -13
- package/molecules/Menu/MenuBtn.js.map +7 -0
- package/molecules/Menu/MenuList.cjs +3 -5
- package/molecules/Menu/MenuList.cjs.map +7 -0
- package/molecules/Menu/MenuList.d.ts +1 -1
- package/molecules/Menu/MenuList.js +13 -22
- package/molecules/Menu/MenuList.js.map +7 -0
- package/molecules/Menu/index.cjs +1 -0
- package/molecules/Menu/index.cjs.map +7 -0
- package/molecules/Menu/index.js +1 -0
- package/molecules/Menu/index.js.map +7 -0
- package/molecules/Modal/Modal.cjs +8 -15
- package/molecules/Modal/Modal.cjs.map +7 -0
- package/molecules/Modal/Modal.d.ts +1 -1
- package/molecules/Modal/Modal.js +34 -47
- package/molecules/Modal/Modal.js.map +7 -0
- package/molecules/Modal/ModalWithTransition.cjs +1 -0
- package/molecules/Modal/ModalWithTransition.cjs.map +7 -0
- package/molecules/Modal/ModalWithTransition.js +26 -31
- package/molecules/Modal/ModalWithTransition.js.map +7 -0
- package/molecules/Modal/index.cjs +1 -0
- package/molecules/Modal/index.cjs.map +7 -0
- package/molecules/Modal/index.js +1 -0
- package/molecules/Modal/index.js.map +7 -0
- package/molecules/Panel/Panel.cjs +3 -6
- package/molecules/Panel/Panel.cjs.map +7 -0
- package/molecules/Panel/Panel.js +20 -30
- package/molecules/Panel/Panel.js.map +7 -0
- package/molecules/Panel/index.cjs +1 -0
- package/molecules/Panel/index.cjs.map +7 -0
- package/molecules/Panel/index.js +1 -0
- package/molecules/Panel/index.js.map +7 -0
- package/molecules/Slider/AbstractSliderChild.cjs +1 -0
- package/molecules/Slider/AbstractSliderChild.cjs.map +7 -0
- package/molecules/Slider/AbstractSliderChild.js +4 -9
- package/molecules/Slider/AbstractSliderChild.js.map +7 -0
- package/molecules/Slider/Slider.cjs +14 -16
- package/molecules/Slider/Slider.cjs.map +7 -0
- package/molecules/Slider/Slider.js +30 -38
- package/molecules/Slider/Slider.js.map +7 -0
- package/molecules/Slider/SliderBtn.cjs +1 -0
- package/molecules/Slider/SliderBtn.cjs.map +7 -0
- package/molecules/Slider/SliderBtn.js +8 -13
- package/molecules/Slider/SliderBtn.js.map +7 -0
- package/molecules/Slider/SliderCount.cjs +1 -0
- package/molecules/Slider/SliderCount.cjs.map +7 -0
- package/molecules/Slider/SliderCount.js +5 -10
- package/molecules/Slider/SliderCount.js.map +7 -0
- package/molecules/Slider/SliderDots.cjs +2 -4
- package/molecules/Slider/SliderDots.cjs.map +7 -0
- package/molecules/Slider/SliderDots.js +6 -14
- package/molecules/Slider/SliderDots.js.map +7 -0
- package/molecules/Slider/SliderDrag.cjs +1 -0
- package/molecules/Slider/SliderDrag.cjs.map +7 -0
- package/molecules/Slider/SliderDrag.js +11 -16
- package/molecules/Slider/SliderDrag.js.map +7 -0
- package/molecules/Slider/SliderItem.cjs +5 -7
- package/molecules/Slider/SliderItem.cjs.map +7 -0
- package/molecules/Slider/SliderItem.js +9 -17
- package/molecules/Slider/SliderItem.js.map +7 -0
- package/molecules/Slider/SliderProgress.cjs +1 -0
- package/molecules/Slider/SliderProgress.cjs.map +7 -0
- package/molecules/Slider/SliderProgress.js +5 -10
- package/molecules/Slider/SliderProgress.js.map +7 -0
- package/molecules/Slider/index.cjs +1 -0
- package/molecules/Slider/index.cjs.map +7 -0
- package/molecules/Slider/index.js +1 -0
- package/molecules/Slider/index.js.map +7 -0
- package/molecules/Sticky/Sticky.cjs +4 -6
- package/molecules/Sticky/Sticky.cjs.map +7 -0
- package/molecules/Sticky/Sticky.js +25 -34
- package/molecules/Sticky/Sticky.js.map +7 -0
- package/molecules/Sticky/index.cjs +1 -0
- package/molecules/Sticky/index.cjs.map +7 -0
- package/molecules/Sticky/index.js +1 -0
- package/molecules/Sticky/index.js.map +7 -0
- package/molecules/TableOfContent/TableOfContent.cjs +1 -0
- package/molecules/TableOfContent/TableOfContent.cjs.map +7 -0
- package/molecules/TableOfContent/TableOfContent.js +12 -17
- package/molecules/TableOfContent/TableOfContent.js.map +7 -0
- package/molecules/TableOfContent/TableOfContentAnchor.cjs +2 -4
- package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +7 -0
- package/molecules/TableOfContent/TableOfContentAnchor.js +12 -20
- package/molecules/TableOfContent/TableOfContentAnchor.js.map +7 -0
- package/molecules/TableOfContent/index.cjs +1 -0
- package/molecules/TableOfContent/index.cjs.map +7 -0
- package/molecules/TableOfContent/index.js +1 -0
- package/molecules/TableOfContent/index.js.map +7 -0
- package/molecules/Tabs/Tabs.cjs +2 -4
- package/molecules/Tabs/Tabs.cjs.map +7 -0
- package/molecules/Tabs/Tabs.js +23 -31
- package/molecules/Tabs/Tabs.js.map +7 -0
- package/molecules/Tabs/index.cjs +1 -0
- package/molecules/Tabs/index.cjs.map +7 -0
- package/molecules/Tabs/index.js +1 -0
- package/molecules/Tabs/index.js.map +7 -0
- package/molecules/index.cjs +1 -0
- package/molecules/index.cjs.map +7 -0
- package/molecules/index.js +1 -0
- package/molecules/index.js.map +7 -0
- package/organisms/Frame/Frame.cjs +1 -0
- package/organisms/Frame/Frame.cjs.map +7 -0
- package/organisms/Frame/Frame.js +26 -32
- package/organisms/Frame/Frame.js.map +7 -0
- package/organisms/Frame/FrameAnchor.cjs +1 -0
- package/organisms/Frame/FrameAnchor.cjs.map +7 -0
- package/organisms/Frame/FrameAnchor.js +4 -9
- package/organisms/Frame/FrameAnchor.js.map +7 -0
- package/organisms/Frame/FrameForm.cjs +1 -0
- package/organisms/Frame/FrameForm.cjs.map +7 -0
- package/organisms/Frame/FrameForm.js +4 -9
- package/organisms/Frame/FrameForm.js.map +7 -0
- package/organisms/Frame/FrameTarget.cjs +3 -5
- package/organisms/Frame/FrameTarget.cjs.map +7 -0
- package/organisms/Frame/FrameTarget.d.ts +1 -1
- package/organisms/Frame/FrameTarget.js +24 -33
- package/organisms/Frame/FrameTarget.js.map +7 -0
- package/organisms/Frame/index.cjs +1 -0
- package/organisms/Frame/index.cjs.map +7 -0
- package/organisms/Frame/index.js +1 -0
- package/organisms/Frame/index.js.map +7 -0
- package/organisms/index.cjs +1 -0
- package/organisms/index.cjs.map +7 -0
- package/organisms/index.js +1 -0
- package/organisms/index.js.map +7 -0
- package/package.json +2 -2
- package/primitives/Draggable/Draggable.cjs +5 -7
- package/primitives/Draggable/Draggable.cjs.map +7 -0
- package/primitives/Draggable/Draggable.js +8 -16
- package/primitives/Draggable/Draggable.js.map +7 -0
- package/primitives/Draggable/index.cjs +1 -0
- package/primitives/Draggable/index.cjs.map +7 -0
- package/primitives/Draggable/index.js +1 -0
- package/primitives/Draggable/index.js.map +7 -0
- package/primitives/Sentinel/Sentinel.cjs +1 -0
- package/primitives/Sentinel/Sentinel.cjs.map +7 -0
- package/primitives/Sentinel/Sentinel.js +4 -9
- package/primitives/Sentinel/Sentinel.js.map +7 -0
- package/primitives/Sentinel/index.cjs +1 -0
- package/primitives/Sentinel/index.cjs.map +7 -0
- package/primitives/Sentinel/index.js +1 -0
- package/primitives/Sentinel/index.js.map +7 -0
- package/primitives/Transition/Transition.cjs +1 -0
- package/primitives/Transition/Transition.cjs.map +7 -0
- package/primitives/Transition/Transition.js +4 -9
- package/primitives/Transition/Transition.js.map +7 -0
- package/primitives/Transition/index.cjs +1 -0
- package/primitives/Transition/index.cjs.map +7 -0
- package/primitives/Transition/index.js +1 -0
- package/primitives/Transition/index.js.map +7 -0
- package/primitives/index.cjs +1 -0
- package/primitives/index.cjs.map +7 -0
- package/primitives/index.js +1 -0
- package/primitives/index.js.map +7 -0
|
@@ -32,13 +32,10 @@ var import_utils = require("@studiometa/js-toolkit/utils");
|
|
|
32
32
|
var SliderItem = class extends (0, import_js_toolkit.withIntersectionObserver)(import_js_toolkit.Base, {
|
|
33
33
|
threshold: [0, 1]
|
|
34
34
|
}) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
__publicField(this, "dampedX", 0);
|
|
40
|
-
__publicField(this, "rect");
|
|
41
|
-
}
|
|
35
|
+
isVisible = false;
|
|
36
|
+
x = 0;
|
|
37
|
+
dampedX = 0;
|
|
38
|
+
rect;
|
|
42
39
|
mounted() {
|
|
43
40
|
this.updateRectAdjustedWithX();
|
|
44
41
|
}
|
|
@@ -112,3 +109,4 @@ __publicField(SliderItem, "config", {
|
|
|
112
109
|
emits: ["is-fully-visible", "is-partially-visible", "is-hidden"]
|
|
113
110
|
});
|
|
114
111
|
if (module.exports.default) module.exports = module.exports.default;
|
|
112
|
+
//# sourceMappingURL=SliderItem.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Slider/SliderItem.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base, withIntersectionObserver } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { damp, domScheduler, transform } from '@studiometa/js-toolkit/utils';\n\n/**\n * Manage a slider item and its state transition.\n */\nexport class SliderItem<T extends BaseProps = BaseProps> extends withIntersectionObserver(Base, {\n threshold: [0, 1],\n})<T> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'SliderItem',\n emits: ['is-fully-visible', 'is-partially-visible', 'is-hidden'],\n };\n\n /**\n * Wether the SliderItem is visible or not.\n * @type {boolean}\n */\n isVisible = false;\n\n /**\n * The SliderItem `x` position.\n * @type {number}\n */\n x = 0;\n\n /**\n * The smoothed `x` position.\n * @type {number}\n */\n dampedX = 0;\n\n /**\n * Item original position.\n */\n rect:{\n x: number;\n y: number;\n top: number;\n right: number;\n bottom: number;\n left: number;\n width: number;\n height: number;\n };\n\n /**\n * Set SliderItem bounding rectangle on mount.\n */\n mounted() {\n this.updateRectAdjustedWithX();\n }\n\n /**\n * Update SliderItem bounding rectangle on resize.\n */\n resized() {\n this.updateRectAdjustedWithX();\n }\n\n /**\n * Reset position to `0` on destroy.\n */\n destroyed() {\n this.moveInstantly(0);\n }\n\n /**\n * Intersected hook.\n */\n intersected([{ intersectionRatio, isIntersecting }]:IntersectionObserverEntry[]) {\n if (intersectionRatio >= 1) {\n this.$emit('is-fully-visible');\n this.$el.setAttribute('aria-hidden', 'false');\n } else if (intersectionRatio > 0) {\n this.$emit('is-partially-visible');\n this.$el.setAttribute('aria-hidden', 'true');\n } else {\n this.$emit('is-hidden');\n this.$el.setAttribute('aria-hidden', 'true');\n }\n\n this.isVisible = isIntersecting;\n }\n\n /**\n * Ticked hook.\n *\n * @todo create AbstractSliderItem with `render` method\n * @todo add state to SliderItem\n * @todo add origin to SliderItem\n * @returns {void}\n */\n ticked() {\n this.dampedX = damp(this.x, this.dampedX, 0.1, 0.00001);\n this.render();\n\n if (this.dampedX === this.x) {\n this.$services.disable('ticked');\n }\n }\n\n /**\n * Enable the SliderItem.\n */\n activate() {\n this.$el.classList.add('is-active');\n }\n\n /**\n * Disable the SliderItem.\n */\n disactivate() {\n this.$el.classList.remove('is-active');\n }\n\n /**\n * Move the SliderItem to the given target position.\n */\n move(targetPosition:number) {\n this.x = targetPosition;\n\n if (!this.$services.has('ticked')) {\n this.$services.enable('ticked');\n }\n }\n\n /**\n * Move the SliderItem instantly to the given target position.\n */\n moveInstantly(targetPosition:number) {\n this.x = targetPosition;\n this.dampedX = targetPosition;\n this.render();\n }\n\n /**\n * Render the component.\n */\n render() {\n domScheduler.write(() => {\n transform(this.$el, { x: this.dampedX });\n });\n }\n\n /**\n * Check if SliderItem is partially visible for the given target position.\n */\n willBeVisible(targetPosition:number) {\n return (\n this.rect.x + targetPosition < window.innerWidth * 1.5 &&\n this.rect.x + targetPosition + this.rect.width > window.innerWidth * -0.5\n );\n }\n\n /**\n * Check if SliderItem is fully visible for the given target position.\n *\n * @param {number} targetPosition\n * @returns {boolean}\n */\n willBeFullyVisible(targetPosition) {\n return (\n this.rect.x + targetPosition < window.innerWidth &&\n this.rect.x + targetPosition > 0 &&\n this.rect.x + targetPosition + this.rect.width < window.innerWidth &&\n this.rect.x + targetPosition + this.rect.width > 0\n );\n }\n\n /**\n * Update the bounding rectangle values without the current transformation.\n *\n * @returns {void}\n */\n updateRectAdjustedWithX() {\n const x = this.x * -1;\n const rect:this['rect'] = this.$el.getBoundingClientRect().toJSON();\n\n this.rect = {\n ...rect,\n left: rect.left + x,\n right: rect.left + x + rect.width,\n x: rect.left + x,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA+C;AAE/C,mBAA8C;AAKvC,IAAM,aAAN,kBAA0D,4CAAyB,wBAAM;AAAA,EAC9F,WAAW,CAAC,GAAG,CAAC;AAClB,CAAC,EAAK;AAAA,EAaJ,YAAY;AAAA,EAMZ,IAAI;AAAA,EAMJ,UAAU;AAAA,EAKV;AAAA,EAcA,UAAU;AACR,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAKA,UAAU;AACR,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAKA,YAAY;AACV,SAAK,cAAc,CAAC;AAAA,EACtB;AAAA,EAKA,YAAY,CAAC,EAAE,mBAAmB,eAAe,CAAC,GAA+B;AAC/E,QAAI,qBAAqB,GAAG;AAC1B,WAAK,MAAM,kBAAkB;AAC7B,WAAK,IAAI,aAAa,eAAe,OAAO;AAAA,IAC9C,WAAW,oBAAoB,GAAG;AAChC,WAAK,MAAM,sBAAsB;AACjC,WAAK,IAAI,aAAa,eAAe,MAAM;AAAA,IAC7C,OAAO;AACL,WAAK,MAAM,WAAW;AACtB,WAAK,IAAI,aAAa,eAAe,MAAM;AAAA,IAC7C;AAEA,SAAK,YAAY;AAAA,EACnB;AAAA,EAUA,SAAS;AACP,SAAK,cAAU,mBAAK,KAAK,GAAG,KAAK,SAAS,KAAK,IAAO;AACtD,SAAK,OAAO;AAEZ,QAAI,KAAK,YAAY,KAAK,GAAG;AAC3B,WAAK,UAAU,QAAQ,QAAQ;AAAA,IACjC;AAAA,EACF;AAAA,EAKA,WAAW;AACT,SAAK,IAAI,UAAU,IAAI,WAAW;AAAA,EACpC;AAAA,EAKA,cAAc;AACZ,SAAK,IAAI,UAAU,OAAO,WAAW;AAAA,EACvC;AAAA,EAKA,KAAK,gBAAuB;AAC1B,SAAK,IAAI;AAET,QAAI,CAAC,KAAK,UAAU,IAAI,QAAQ,GAAG;AACjC,WAAK,UAAU,OAAO,QAAQ;AAAA,IAChC;AAAA,EACF;AAAA,EAKA,cAAc,gBAAuB;AACnC,SAAK,IAAI;AACT,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACd;AAAA,EAKA,SAAS;AACP,8BAAa,MAAM,MAAM;AACvB,kCAAU,KAAK,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EAKA,cAAc,gBAAuB;AACnC,WACE,KAAK,KAAK,IAAI,iBAAiB,OAAO,aAAa,OACnD,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK,QAAQ,OAAO,aAAa;AAAA,EAEzE;AAAA,EAQA,mBAAmB,gBAAgB;AACjC,WACE,KAAK,KAAK,IAAI,iBAAiB,OAAO,cACtC,KAAK,KAAK,IAAI,iBAAiB,KAC/B,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK,QAAQ,OAAO,cACxD,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK,QAAQ;AAAA,EAErD;AAAA,EAOA,0BAA0B;AACxB,UAAM,IAAI,KAAK,IAAI;AACnB,UAAM,OAAoB,KAAK,IAAI,sBAAsB,EAAE,OAAO;AAElE,SAAK,OAAO;AAAA,MACV,GAAG;AAAA,MACH,MAAM,KAAK,OAAO;AAAA,MAClB,OAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAC5B,GAAG,KAAK,OAAO;AAAA,IACjB;AAAA,EACF;AACF;AAjLE,cANW,YAMJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO,CAAC,oBAAoB,wBAAwB,WAAW;AACjE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
1
|
import { Base, withIntersectionObserver } from "@studiometa/js-toolkit";
|
|
8
2
|
import { damp, domScheduler, transform } from "@studiometa/js-toolkit/utils";
|
|
9
3
|
class SliderItem extends withIntersectionObserver(Base, {
|
|
10
4
|
threshold: [0, 1]
|
|
11
5
|
}) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
static config = {
|
|
7
|
+
name: "SliderItem",
|
|
8
|
+
emits: ["is-fully-visible", "is-partially-visible", "is-hidden"]
|
|
9
|
+
};
|
|
10
|
+
isVisible = false;
|
|
11
|
+
x = 0;
|
|
12
|
+
dampedX = 0;
|
|
13
|
+
rect;
|
|
19
14
|
mounted() {
|
|
20
15
|
this.updateRectAdjustedWithX();
|
|
21
16
|
}
|
|
@@ -84,10 +79,7 @@ class SliderItem extends withIntersectionObserver(Base, {
|
|
|
84
79
|
};
|
|
85
80
|
}
|
|
86
81
|
}
|
|
87
|
-
__publicField(SliderItem, "config", {
|
|
88
|
-
name: "SliderItem",
|
|
89
|
-
emits: ["is-fully-visible", "is-partially-visible", "is-hidden"]
|
|
90
|
-
});
|
|
91
82
|
export {
|
|
92
83
|
SliderItem
|
|
93
84
|
};
|
|
85
|
+
//# sourceMappingURL=SliderItem.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Slider/SliderItem.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base, withIntersectionObserver } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { damp, domScheduler, transform } from '@studiometa/js-toolkit/utils';\n\n/**\n * Manage a slider item and its state transition.\n */\nexport class SliderItem<T extends BaseProps = BaseProps> extends withIntersectionObserver(Base, {\n threshold: [0, 1],\n})<T> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'SliderItem',\n emits: ['is-fully-visible', 'is-partially-visible', 'is-hidden'],\n };\n\n /**\n * Wether the SliderItem is visible or not.\n * @type {boolean}\n */\n isVisible = false;\n\n /**\n * The SliderItem `x` position.\n * @type {number}\n */\n x = 0;\n\n /**\n * The smoothed `x` position.\n * @type {number}\n */\n dampedX = 0;\n\n /**\n * Item original position.\n */\n rect:{\n x: number;\n y: number;\n top: number;\n right: number;\n bottom: number;\n left: number;\n width: number;\n height: number;\n };\n\n /**\n * Set SliderItem bounding rectangle on mount.\n */\n mounted() {\n this.updateRectAdjustedWithX();\n }\n\n /**\n * Update SliderItem bounding rectangle on resize.\n */\n resized() {\n this.updateRectAdjustedWithX();\n }\n\n /**\n * Reset position to `0` on destroy.\n */\n destroyed() {\n this.moveInstantly(0);\n }\n\n /**\n * Intersected hook.\n */\n intersected([{ intersectionRatio, isIntersecting }]:IntersectionObserverEntry[]) {\n if (intersectionRatio >= 1) {\n this.$emit('is-fully-visible');\n this.$el.setAttribute('aria-hidden', 'false');\n } else if (intersectionRatio > 0) {\n this.$emit('is-partially-visible');\n this.$el.setAttribute('aria-hidden', 'true');\n } else {\n this.$emit('is-hidden');\n this.$el.setAttribute('aria-hidden', 'true');\n }\n\n this.isVisible = isIntersecting;\n }\n\n /**\n * Ticked hook.\n *\n * @todo create AbstractSliderItem with `render` method\n * @todo add state to SliderItem\n * @todo add origin to SliderItem\n * @returns {void}\n */\n ticked() {\n this.dampedX = damp(this.x, this.dampedX, 0.1, 0.00001);\n this.render();\n\n if (this.dampedX === this.x) {\n this.$services.disable('ticked');\n }\n }\n\n /**\n * Enable the SliderItem.\n */\n activate() {\n this.$el.classList.add('is-active');\n }\n\n /**\n * Disable the SliderItem.\n */\n disactivate() {\n this.$el.classList.remove('is-active');\n }\n\n /**\n * Move the SliderItem to the given target position.\n */\n move(targetPosition:number) {\n this.x = targetPosition;\n\n if (!this.$services.has('ticked')) {\n this.$services.enable('ticked');\n }\n }\n\n /**\n * Move the SliderItem instantly to the given target position.\n */\n moveInstantly(targetPosition:number) {\n this.x = targetPosition;\n this.dampedX = targetPosition;\n this.render();\n }\n\n /**\n * Render the component.\n */\n render() {\n domScheduler.write(() => {\n transform(this.$el, { x: this.dampedX });\n });\n }\n\n /**\n * Check if SliderItem is partially visible for the given target position.\n */\n willBeVisible(targetPosition:number) {\n return (\n this.rect.x + targetPosition < window.innerWidth * 1.5 &&\n this.rect.x + targetPosition + this.rect.width > window.innerWidth * -0.5\n );\n }\n\n /**\n * Check if SliderItem is fully visible for the given target position.\n *\n * @param {number} targetPosition\n * @returns {boolean}\n */\n willBeFullyVisible(targetPosition) {\n return (\n this.rect.x + targetPosition < window.innerWidth &&\n this.rect.x + targetPosition > 0 &&\n this.rect.x + targetPosition + this.rect.width < window.innerWidth &&\n this.rect.x + targetPosition + this.rect.width > 0\n );\n }\n\n /**\n * Update the bounding rectangle values without the current transformation.\n *\n * @returns {void}\n */\n updateRectAdjustedWithX() {\n const x = this.x * -1;\n const rect:this['rect'] = this.$el.getBoundingClientRect().toJSON();\n\n this.rect = {\n ...rect,\n left: rect.left + x,\n right: rect.left + x + rect.width,\n x: rect.left + x,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,MAAM,gCAAgC;AAE/C,SAAS,MAAM,cAAc,iBAAiB;AAKvC,MAAM,mBAAoD,yBAAyB,MAAM;AAAA,EAC9F,WAAW,CAAC,GAAG,CAAC;AAClB,CAAC,EAAK;AAAA,EAIJ,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO,CAAC,oBAAoB,wBAAwB,WAAW;AAAA,EACjE;AAAA,EAMA,YAAY;AAAA,EAMZ,IAAI;AAAA,EAMJ,UAAU;AAAA,EAKV;AAAA,EAcA,UAAU;AACR,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAKA,UAAU;AACR,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAKA,YAAY;AACV,SAAK,cAAc,CAAC;AAAA,EACtB;AAAA,EAKA,YAAY,CAAC,EAAE,mBAAmB,eAAe,CAAC,GAA+B;AAC/E,QAAI,qBAAqB,GAAG;AAC1B,WAAK,MAAM,kBAAkB;AAC7B,WAAK,IAAI,aAAa,eAAe,OAAO;AAAA,IAC9C,WAAW,oBAAoB,GAAG;AAChC,WAAK,MAAM,sBAAsB;AACjC,WAAK,IAAI,aAAa,eAAe,MAAM;AAAA,IAC7C,OAAO;AACL,WAAK,MAAM,WAAW;AACtB,WAAK,IAAI,aAAa,eAAe,MAAM;AAAA,IAC7C;AAEA,SAAK,YAAY;AAAA,EACnB;AAAA,EAUA,SAAS;AACP,SAAK,UAAU,KAAK,KAAK,GAAG,KAAK,SAAS,KAAK,IAAO;AACtD,SAAK,OAAO;AAEZ,QAAI,KAAK,YAAY,KAAK,GAAG;AAC3B,WAAK,UAAU,QAAQ,QAAQ;AAAA,IACjC;AAAA,EACF;AAAA,EAKA,WAAW;AACT,SAAK,IAAI,UAAU,IAAI,WAAW;AAAA,EACpC;AAAA,EAKA,cAAc;AACZ,SAAK,IAAI,UAAU,OAAO,WAAW;AAAA,EACvC;AAAA,EAKA,KAAK,gBAAuB;AAC1B,SAAK,IAAI;AAET,QAAI,CAAC,KAAK,UAAU,IAAI,QAAQ,GAAG;AACjC,WAAK,UAAU,OAAO,QAAQ;AAAA,IAChC;AAAA,EACF;AAAA,EAKA,cAAc,gBAAuB;AACnC,SAAK,IAAI;AACT,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACd;AAAA,EAKA,SAAS;AACP,iBAAa,MAAM,MAAM;AACvB,gBAAU,KAAK,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EAKA,cAAc,gBAAuB;AACnC,WACE,KAAK,KAAK,IAAI,iBAAiB,OAAO,aAAa,OACnD,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK,QAAQ,OAAO,aAAa;AAAA,EAEzE;AAAA,EAQA,mBAAmB,gBAAgB;AACjC,WACE,KAAK,KAAK,IAAI,iBAAiB,OAAO,cACtC,KAAK,KAAK,IAAI,iBAAiB,KAC/B,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK,QAAQ,OAAO,cACxD,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK,QAAQ;AAAA,EAErD;AAAA,EAOA,0BAA0B;AACxB,UAAM,IAAI,KAAK,IAAI;AACnB,UAAM,OAAoB,KAAK,IAAI,sBAAsB,EAAE,OAAO;AAElE,SAAK,OAAO;AAAA,MACV,GAAG;AAAA,MACH,MAAM,KAAK,OAAO;AAAA,MAClB,OAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAC5B,GAAG,KAAK,OAAO;AAAA,IACjB;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Slider/SliderProgress.ts"],
|
|
4
|
+
"sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { transform, map, domScheduler } from '@studiometa/js-toolkit/utils';\nimport { AbstractSliderChild } from './AbstractSliderChild.js';\n\nexport interface SliderProgressProps extends BaseProps {\n $refs: {\n progress: HTMLElement;\n };\n}\n\n/**\n * SliderProgress class.\n */\nexport class SliderProgress<T extends BaseProps = BaseProps> extends AbstractSliderChild<\n T & SliderProgressProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'SliderProgress',\n refs: ['progress'],\n };\n\n /**\n * Update the progress indicator.\n */\n update(index:number) {\n domScheduler.read(() => {\n const { progress } = this.$refs;\n const x = map(index, 0, this.$parent.indexMax, progress.clientWidth * -1, 0);\n domScheduler.write(() => {\n transform(progress, { x });\n });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA6C;AAC7C,iCAAoC;AAW7B,IAAM,iBAAN,cAA8D,+CAEnE;AAAA,EAYA,OAAO,OAAc;AACnB,8BAAa,KAAK,MAAM;AACtB,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,YAAM,QAAI,kBAAI,OAAO,GAAG,KAAK,QAAQ,UAAU,SAAS,cAAc,IAAI,CAAC;AAC3E,gCAAa,MAAM,MAAM;AACvB,oCAAU,UAAU,EAAE,EAAE,CAAC;AAAA,MAC3B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAjBE,cANW,gBAMJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,MAAM,CAAC,UAAU;AACnB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
1
|
import { transform, map, domScheduler } from "@studiometa/js-toolkit/utils";
|
|
8
2
|
import { AbstractSliderChild } from "./AbstractSliderChild.js";
|
|
9
3
|
class SliderProgress extends AbstractSliderChild {
|
|
4
|
+
static config = {
|
|
5
|
+
name: "SliderProgress",
|
|
6
|
+
refs: ["progress"]
|
|
7
|
+
};
|
|
10
8
|
update(index) {
|
|
11
9
|
domScheduler.read(() => {
|
|
12
10
|
const { progress } = this.$refs;
|
|
@@ -17,10 +15,7 @@ class SliderProgress extends AbstractSliderChild {
|
|
|
17
15
|
});
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
|
-
__publicField(SliderProgress, "config", {
|
|
21
|
-
name: "SliderProgress",
|
|
22
|
-
refs: ["progress"]
|
|
23
|
-
});
|
|
24
18
|
export {
|
|
25
19
|
SliderProgress
|
|
26
20
|
};
|
|
21
|
+
//# sourceMappingURL=SliderProgress.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Slider/SliderProgress.ts"],
|
|
4
|
+
"sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { transform, map, domScheduler } from '@studiometa/js-toolkit/utils';\nimport { AbstractSliderChild } from './AbstractSliderChild.js';\n\nexport interface SliderProgressProps extends BaseProps {\n $refs: {\n progress: HTMLElement;\n };\n}\n\n/**\n * SliderProgress class.\n */\nexport class SliderProgress<T extends BaseProps = BaseProps> extends AbstractSliderChild<\n T & SliderProgressProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'SliderProgress',\n refs: ['progress'],\n };\n\n /**\n * Update the progress indicator.\n */\n update(index:number) {\n domScheduler.read(() => {\n const { progress } = this.$refs;\n const x = map(index, 0, this.$parent.indexMax, progress.clientWidth * -1, 0);\n domScheduler.write(() => {\n transform(progress, { x });\n });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,WAAW,KAAK,oBAAoB;AAC7C,SAAS,2BAA2B;AAW7B,MAAM,uBAAwD,oBAEnE;AAAA,EAIA,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,MAAM,CAAC,UAAU;AAAA,EACnB;AAAA,EAKA,OAAO,OAAc;AACnB,iBAAa,KAAK,MAAM;AACtB,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,YAAM,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,UAAU,SAAS,cAAc,IAAI,CAAC;AAC3E,mBAAa,MAAM,MAAM;AACvB,kBAAU,UAAU,EAAE,EAAE,CAAC;AAAA,MAC3B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -25,3 +25,4 @@ __reExport(Slider_exports, require("./SliderItem.cjs"), module.exports);
|
|
|
25
25
|
__reExport(Slider_exports, require("./SliderProgress.cjs"), module.exports);
|
|
26
26
|
__reExport(Slider_exports, require("./SliderDots.cjs"), module.exports);
|
|
27
27
|
if (module.exports.default) module.exports = module.exports.default;
|
|
28
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Slider/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './AbstractSliderChild.js';\nexport * from './Slider.js';\nexport * from './SliderBtn.js';\nexport * from './SliderCount.js';\nexport * from './SliderDrag.js';\nexport * from './SliderItem.js';\nexport * from './SliderProgress.js';\nexport * from './SliderDots.js';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,sCAAd;AACA,2BAAc,yBADd;AAEA,2BAAc,4BAFd;AAGA,2BAAc,8BAHd;AAIA,2BAAc,6BAJd;AAKA,2BAAc,6BALd;AAMA,2BAAc,iCANd;AAOA,2BAAc,6BAPd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Slider/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './AbstractSliderChild.js';\nexport * from './Slider.js';\nexport * from './SliderBtn.js';\nexport * from './SliderCount.js';\nexport * from './SliderDrag.js';\nexport * from './SliderItem.js';\nexport * from './SliderProgress.js';\nexport * from './SliderDots.js';\n"],
|
|
5
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -30,11 +30,8 @@ module.exports = __toCommonJS(Sticky_exports);
|
|
|
30
30
|
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
31
31
|
var import_primitives = require("../../primitives/index.cjs");
|
|
32
32
|
var _Sticky = class extends import_js_toolkit.Base {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
__publicField(this, "isSticky", false);
|
|
36
|
-
__publicField(this, "isVisible", true);
|
|
37
|
-
}
|
|
33
|
+
isSticky = false;
|
|
34
|
+
isVisible = true;
|
|
38
35
|
set y(value) {
|
|
39
36
|
this.$refs.inner.style.transform = `translateY(${value}px) translateZ(0px)`;
|
|
40
37
|
}
|
|
@@ -97,7 +94,7 @@ var _Sticky = class extends import_js_toolkit.Base {
|
|
|
97
94
|
return;
|
|
98
95
|
}
|
|
99
96
|
const { instances } = this;
|
|
100
|
-
index = index
|
|
97
|
+
index = index ?? instances.indexOf(this);
|
|
101
98
|
this.y = instances.slice(0, index).filter((instance) => instance.isSticky && !instance.isVisible).reduce(
|
|
102
99
|
(y, instance) => y - instance.$refs.inner.offsetHeight,
|
|
103
100
|
this.isVisible ? 0 : this.$refs.inner.offsetHeight * -1
|
|
@@ -129,3 +126,4 @@ __publicField(Sticky, "config", {
|
|
|
129
126
|
});
|
|
130
127
|
__publicField(Sticky, "instances", /* @__PURE__ */ new Set());
|
|
131
128
|
if (module.exports.default) module.exports = module.exports.default;
|
|
129
|
+
//# sourceMappingURL=Sticky.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Sticky/Sticky.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { Sentinel } from '../../primitives/index.js';\n\n/**\n * @typedef {Object} StickyRefs\n * @property {HTMLElement} inner\n * @property {HTMLElement} sentinelRef\n */\n\n/**\n * @typedef {Object} StickyPrivateInterface\n * @property {StickyRefs} $refs\n * @property {{ zIndex: number, hideWhenUp: boolean, hideWhenDown: boolean }} $options\n * @property {{ Sentinel: Sentinel[] }} $children\n */\n\nexport interface StickyProps extends BaseProps {\n $refs: {\n inner: HTMLElement;\n sentinelRef: HTMLElement;\n };\n $options: {\n zIndex: number;\n hideWhenUp: boolean;\n hideWhenDown: boolean;\n };\n $children: {\n Sentinel: Sentinel[];\n };\n}\n\n/**\n * Sticky class.\n */\nexport class Sticky<T extends BaseProps = BaseProps> extends Base<T & StickyProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Sticky',\n refs: ['inner', 'sentinelRef'],\n components: {\n Sentinel,\n },\n options: {\n zIndex: {\n type: Number,\n default: 100,\n },\n hideWhenUp: Boolean,\n hideWhenDown: Boolean,\n },\n };\n\n /**\n * Holder for all instances.\n */\n // eslint-disable-next-line no-use-before-define\n static instances: Set<Sticky> = new Set();\n\n /**\n * Is the component sticky?\n */\n isSticky = false;\n\n /**\n * Is the component visible?\n */\n isVisible = true;\n\n /**\n * Set the Y value.\n */\n set y(value: number) {\n this.$refs.inner.style.transform = `translateY(${value}px) translateZ(0px)`;\n }\n\n /**\n * Get instances as array.\n */\n get instances(): Sticky[] {\n return Array.from(Sticky.instances);\n }\n\n /**\n * Mounted hook.\n */\n mounted() {\n Sticky.instances.add(this);\n this.setSentinelSize();\n }\n\n /**\n * Resized hook.\n */\n resized() {\n this.setSentinelSize();\n }\n\n /**\n * Destroyed hook.\n */\n destroyed() {\n Sticky.instances.delete(this);\n }\n\n /**\n * Scrolled hook.\n */\n scrolled(props) {\n if (!this.isSticky || props.y === props.last.y) {\n return;\n }\n\n if (\n (props.direction.y === 'DOWN' && this.$options.hideWhenDown) ||\n (props.direction.y === 'UP' && this.$options.hideWhenUp)\n ) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Listen to the sentinel's `intersected` event to set the `isSticky` value.\n *\n * @param {IntersectionObserverEntry[]} entries\n * @returns {void}\n */\n onSentinelIntersected([entry]: IntersectionObserverEntry[]) {\n this.isSticky = entry.isIntersecting && entry.boundingClientRect.y < 0;\n this.setPosition();\n }\n\n /**\n * Hide the sticky component when another one is sticky.\n */\n hide() {\n if (!this.isVisible) {\n return;\n }\n\n this.isVisible = false;\n this.$el.classList.add('pointer-events-none');\n\n this.instances.forEach((instance, index) => instance.setPosition(index));\n }\n\n /**\n * Show the sticky component when the other one is not sticky anymore.\n */\n show() {\n if (this.isVisible) {\n return;\n }\n\n this.isVisible = true;\n this.$el.classList.remove('pointer-events-none');\n this.instances.forEach((instance, index) => instance.setPosition(index));\n }\n\n /**\n * Set the sentinel height based on the previous instances.\n */\n setSentinelSize() {\n const { instances } = this;\n const index = instances.indexOf(this);\n const height = instances\n .slice(0, index)\n .filter(\n // Test each instance sticky context against the current element\n (instance) => this.closestRelativeElement(instance.$el).contains(this.$el),\n )\n .reduce((acc, instance) => acc + instance.$el.offsetHeight, 0);\n\n this.$refs.sentinelRef.style.height = `${height + 1}px`;\n this.$el.style.top = `${height}px`;\n this.$el.style.zIndex = String(this.$options.zIndex - index);\n }\n\n /**\n * Set the component's position.\n *\n * @param {number} [index] The instance index in all the pages' instances.\n * @returns {void}\n */\n setPosition(index?: number) {\n if (!this.isSticky) {\n this.y = 0;\n return;\n }\n\n const { instances } = this;\n\n // eslint-disable-next-line no-param-reassign\n index = index ?? instances.indexOf(this);\n\n this.y = (instances\n .slice(0, index)\n .filter((instance) => instance.isSticky && !instance.isVisible)\n .reduce<number>(\n (y: number, instance) => y - instance.$refs.inner.offsetHeight,\n this.isVisible ? 0 : this.$refs.inner.offsetHeight * -1,\n )) as number;\n }\n\n /**\n * Find the first parent which has a relative position.\n */\n closestRelativeElement(element:HTMLElement) {\n let parent = element.parentElement;\n\n while (getComputedStyle(parent).position !== 'relative' && parent.parentElement) {\n parent = parent.parentElement;\n }\n\n return parent;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,32 +1,39 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
1
|
import { Base } from "@studiometa/js-toolkit";
|
|
8
2
|
import { Sentinel } from "../../primitives/index.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
class Sticky extends Base {
|
|
4
|
+
static config = {
|
|
5
|
+
name: "Sticky",
|
|
6
|
+
refs: ["inner", "sentinelRef"],
|
|
7
|
+
components: {
|
|
8
|
+
Sentinel
|
|
9
|
+
},
|
|
10
|
+
options: {
|
|
11
|
+
zIndex: {
|
|
12
|
+
type: Number,
|
|
13
|
+
default: 100
|
|
14
|
+
},
|
|
15
|
+
hideWhenUp: Boolean,
|
|
16
|
+
hideWhenDown: Boolean
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
static instances = /* @__PURE__ */ new Set();
|
|
20
|
+
isSticky = false;
|
|
21
|
+
isVisible = true;
|
|
15
22
|
set y(value) {
|
|
16
23
|
this.$refs.inner.style.transform = `translateY(${value}px) translateZ(0px)`;
|
|
17
24
|
}
|
|
18
25
|
get instances() {
|
|
19
|
-
return Array.from(
|
|
26
|
+
return Array.from(Sticky.instances);
|
|
20
27
|
}
|
|
21
28
|
mounted() {
|
|
22
|
-
|
|
29
|
+
Sticky.instances.add(this);
|
|
23
30
|
this.setSentinelSize();
|
|
24
31
|
}
|
|
25
32
|
resized() {
|
|
26
33
|
this.setSentinelSize();
|
|
27
34
|
}
|
|
28
35
|
destroyed() {
|
|
29
|
-
|
|
36
|
+
Sticky.instances.delete(this);
|
|
30
37
|
}
|
|
31
38
|
scrolled(props) {
|
|
32
39
|
if (!this.isSticky || props.y === props.last.y) {
|
|
@@ -74,7 +81,7 @@ const _Sticky = class extends Base {
|
|
|
74
81
|
return;
|
|
75
82
|
}
|
|
76
83
|
const { instances } = this;
|
|
77
|
-
index = index
|
|
84
|
+
index = index ?? instances.indexOf(this);
|
|
78
85
|
this.y = instances.slice(0, index).filter((instance) => instance.isSticky && !instance.isVisible).reduce(
|
|
79
86
|
(y, instance) => y - instance.$refs.inner.offsetHeight,
|
|
80
87
|
this.isVisible ? 0 : this.$refs.inner.offsetHeight * -1
|
|
@@ -87,24 +94,8 @@ const _Sticky = class extends Base {
|
|
|
87
94
|
}
|
|
88
95
|
return parent;
|
|
89
96
|
}
|
|
90
|
-
}
|
|
91
|
-
let Sticky = _Sticky;
|
|
92
|
-
__publicField(Sticky, "config", {
|
|
93
|
-
name: "Sticky",
|
|
94
|
-
refs: ["inner", "sentinelRef"],
|
|
95
|
-
components: {
|
|
96
|
-
Sentinel
|
|
97
|
-
},
|
|
98
|
-
options: {
|
|
99
|
-
zIndex: {
|
|
100
|
-
type: Number,
|
|
101
|
-
default: 100
|
|
102
|
-
},
|
|
103
|
-
hideWhenUp: Boolean,
|
|
104
|
-
hideWhenDown: Boolean
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
__publicField(Sticky, "instances", /* @__PURE__ */ new Set());
|
|
97
|
+
}
|
|
108
98
|
export {
|
|
109
99
|
Sticky
|
|
110
100
|
};
|
|
101
|
+
//# sourceMappingURL=Sticky.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Sticky/Sticky.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { Sentinel } from '../../primitives/index.js';\n\n/**\n * @typedef {Object} StickyRefs\n * @property {HTMLElement} inner\n * @property {HTMLElement} sentinelRef\n */\n\n/**\n * @typedef {Object} StickyPrivateInterface\n * @property {StickyRefs} $refs\n * @property {{ zIndex: number, hideWhenUp: boolean, hideWhenDown: boolean }} $options\n * @property {{ Sentinel: Sentinel[] }} $children\n */\n\nexport interface StickyProps extends BaseProps {\n $refs: {\n inner: HTMLElement;\n sentinelRef: HTMLElement;\n };\n $options: {\n zIndex: number;\n hideWhenUp: boolean;\n hideWhenDown: boolean;\n };\n $children: {\n Sentinel: Sentinel[];\n };\n}\n\n/**\n * Sticky class.\n */\nexport class Sticky<T extends BaseProps = BaseProps> extends Base<T & StickyProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Sticky',\n refs: ['inner', 'sentinelRef'],\n components: {\n Sentinel,\n },\n options: {\n zIndex: {\n type: Number,\n default: 100,\n },\n hideWhenUp: Boolean,\n hideWhenDown: Boolean,\n },\n };\n\n /**\n * Holder for all instances.\n */\n // eslint-disable-next-line no-use-before-define\n static instances: Set<Sticky> = new Set();\n\n /**\n * Is the component sticky?\n */\n isSticky = false;\n\n /**\n * Is the component visible?\n */\n isVisible = true;\n\n /**\n * Set the Y value.\n */\n set y(value: number) {\n this.$refs.inner.style.transform = `translateY(${value}px) translateZ(0px)`;\n }\n\n /**\n * Get instances as array.\n */\n get instances(): Sticky[] {\n return Array.from(Sticky.instances);\n }\n\n /**\n * Mounted hook.\n */\n mounted() {\n Sticky.instances.add(this);\n this.setSentinelSize();\n }\n\n /**\n * Resized hook.\n */\n resized() {\n this.setSentinelSize();\n }\n\n /**\n * Destroyed hook.\n */\n destroyed() {\n Sticky.instances.delete(this);\n }\n\n /**\n * Scrolled hook.\n */\n scrolled(props) {\n if (!this.isSticky || props.y === props.last.y) {\n return;\n }\n\n if (\n (props.direction.y === 'DOWN' && this.$options.hideWhenDown) ||\n (props.direction.y === 'UP' && this.$options.hideWhenUp)\n ) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Listen to the sentinel's `intersected` event to set the `isSticky` value.\n *\n * @param {IntersectionObserverEntry[]} entries\n * @returns {void}\n */\n onSentinelIntersected([entry]: IntersectionObserverEntry[]) {\n this.isSticky = entry.isIntersecting && entry.boundingClientRect.y < 0;\n this.setPosition();\n }\n\n /**\n * Hide the sticky component when another one is sticky.\n */\n hide() {\n if (!this.isVisible) {\n return;\n }\n\n this.isVisible = false;\n this.$el.classList.add('pointer-events-none');\n\n this.instances.forEach((instance, index) => instance.setPosition(index));\n }\n\n /**\n * Show the sticky component when the other one is not sticky anymore.\n */\n show() {\n if (this.isVisible) {\n return;\n }\n\n this.isVisible = true;\n this.$el.classList.remove('pointer-events-none');\n this.instances.forEach((instance, index) => instance.setPosition(index));\n }\n\n /**\n * Set the sentinel height based on the previous instances.\n */\n setSentinelSize() {\n const { instances } = this;\n const index = instances.indexOf(this);\n const height = instances\n .slice(0, index)\n .filter(\n // Test each instance sticky context against the current element\n (instance) => this.closestRelativeElement(instance.$el).contains(this.$el),\n )\n .reduce((acc, instance) => acc + instance.$el.offsetHeight, 0);\n\n this.$refs.sentinelRef.style.height = `${height + 1}px`;\n this.$el.style.top = `${height}px`;\n this.$el.style.zIndex = String(this.$options.zIndex - index);\n }\n\n /**\n * Set the component's position.\n *\n * @param {number} [index] The instance index in all the pages' instances.\n * @returns {void}\n */\n setPosition(index?: number) {\n if (!this.isSticky) {\n this.y = 0;\n return;\n }\n\n const { instances } = this;\n\n // eslint-disable-next-line no-param-reassign\n index = index ?? instances.indexOf(this);\n\n this.y = (instances\n .slice(0, index)\n .filter((instance) => instance.isSticky && !instance.isVisible)\n .reduce<number>(\n (y: number, instance) => y - instance.$refs.inner.offsetHeight,\n this.isVisible ? 0 : this.$refs.inner.offsetHeight * -1,\n )) as number;\n }\n\n /**\n * Find the first parent which has a relative position.\n */\n closestRelativeElement(element:HTMLElement) {\n let parent = element.parentElement;\n\n while (getComputedStyle(parent).position !== 'relative' && parent.parentElement) {\n parent = parent.parentElement;\n }\n\n return parent;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/TableOfContent/TableOfContent.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { TableOfContentAnchor } from './TableOfContentAnchor.js';\n\nexport interface TableOfContentProps extends BaseProps {\n $refs: {\n itemTemplate: HTMLTemplateElement;\n list: HTMLUListElement;\n };\n $options: {\n contentSelector: string;\n withTemplate: boolean;\n };\n $children: {\n TableOfContentAnchor: TableOfContentAnchor[];\n };\n}\n\n/**\n * TableOfContent class.\n */\nexport class TableOfContent<T extends BaseProps = BaseProps> extends Base<T & TableOfContentProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'TableOfContent',\n refs: ['itemTemplate', 'list'],\n components: {\n TableOfContentAnchor,\n },\n options: {\n contentSelector: String,\n withTemplate: Boolean,\n },\n };\n\n /**\n * Generate anchors on mount and update the component to instantiate the\n * `TableOfContentAnchor` components.\n */\n mounted() {\n if (this.$options.withTemplate) {\n this.generateAnchors();\n this.$update();\n }\n }\n\n /**\n * Generate all anchors.\n *\n * @todo Read anchor template from a ref?\n * @todo Better API to easily override the template function, maybe a `render` function?\n */\n generateAnchors() {\n document.querySelectorAll(this.$options.contentSelector).forEach((section) => {\n const tpl = document.createElement('div');\n tpl.innerHTML = this.$refs.itemTemplate.innerHTML;\n const li = tpl.querySelector('li');\n const anchor = li.querySelector('a');\n anchor.href = `#${section.id}`;\n anchor.innerHTML = section.textContent;\n anchor.dataset.component = 'TableOfContentAnchor';\n this.$refs.list.append(li);\n });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAErB,kCAAqC;AAmB9B,IAAM,iBAAN,cAA8D,uBAA8B;AAAA,EAoBjG,UAAU;AACR,QAAI,KAAK,SAAS,cAAc;AAC9B,WAAK,gBAAgB;AACrB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAQA,kBAAkB;AAChB,aAAS,iBAAiB,KAAK,SAAS,eAAe,EAAE,QAAQ,CAAC,YAAY;AAC5E,YAAM,MAAM,SAAS,cAAc,KAAK;AACxC,UAAI,YAAY,KAAK,MAAM,aAAa;AACxC,YAAM,KAAK,IAAI,cAAc,IAAI;AACjC,YAAM,SAAS,GAAG,cAAc,GAAG;AACnC,aAAO,OAAO,IAAI,QAAQ;AAC1B,aAAO,YAAY,QAAQ;AAC3B,aAAO,QAAQ,YAAY;AAC3B,WAAK,MAAM,KAAK,OAAO,EAAE;AAAA,IAC3B,CAAC;AAAA,EACH;AACF;AAzCE,cAJW,gBAIJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,MAAM,CAAC,gBAAgB,MAAM;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAChB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
1
|
import { Base } from "@studiometa/js-toolkit";
|
|
8
2
|
import { TableOfContentAnchor } from "./TableOfContentAnchor.js";
|
|
9
3
|
class TableOfContent extends Base {
|
|
4
|
+
static config = {
|
|
5
|
+
name: "TableOfContent",
|
|
6
|
+
refs: ["itemTemplate", "list"],
|
|
7
|
+
components: {
|
|
8
|
+
TableOfContentAnchor
|
|
9
|
+
},
|
|
10
|
+
options: {
|
|
11
|
+
contentSelector: String,
|
|
12
|
+
withTemplate: Boolean
|
|
13
|
+
}
|
|
14
|
+
};
|
|
10
15
|
mounted() {
|
|
11
16
|
if (this.$options.withTemplate) {
|
|
12
17
|
this.generateAnchors();
|
|
@@ -26,17 +31,7 @@ class TableOfContent extends Base {
|
|
|
26
31
|
});
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
|
-
__publicField(TableOfContent, "config", {
|
|
30
|
-
name: "TableOfContent",
|
|
31
|
-
refs: ["itemTemplate", "list"],
|
|
32
|
-
components: {
|
|
33
|
-
TableOfContentAnchor
|
|
34
|
-
},
|
|
35
|
-
options: {
|
|
36
|
-
contentSelector: String,
|
|
37
|
-
withTemplate: Boolean
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
34
|
export {
|
|
41
35
|
TableOfContent
|
|
42
36
|
};
|
|
37
|
+
//# sourceMappingURL=TableOfContent.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/TableOfContent/TableOfContent.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { TableOfContentAnchor } from './TableOfContentAnchor.js';\n\nexport interface TableOfContentProps extends BaseProps {\n $refs: {\n itemTemplate: HTMLTemplateElement;\n list: HTMLUListElement;\n };\n $options: {\n contentSelector: string;\n withTemplate: boolean;\n };\n $children: {\n TableOfContentAnchor: TableOfContentAnchor[];\n };\n}\n\n/**\n * TableOfContent class.\n */\nexport class TableOfContent<T extends BaseProps = BaseProps> extends Base<T & TableOfContentProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'TableOfContent',\n refs: ['itemTemplate', 'list'],\n components: {\n TableOfContentAnchor,\n },\n options: {\n contentSelector: String,\n withTemplate: Boolean,\n },\n };\n\n /**\n * Generate anchors on mount and update the component to instantiate the\n * `TableOfContentAnchor` components.\n */\n mounted() {\n if (this.$options.withTemplate) {\n this.generateAnchors();\n this.$update();\n }\n }\n\n /**\n * Generate all anchors.\n *\n * @todo Read anchor template from a ref?\n * @todo Better API to easily override the template function, maybe a `render` function?\n */\n generateAnchors() {\n document.querySelectorAll(this.$options.contentSelector).forEach((section) => {\n const tpl = document.createElement('div');\n tpl.innerHTML = this.$refs.itemTemplate.innerHTML;\n const li = tpl.querySelector('li');\n const anchor = li.querySelector('a');\n anchor.href = `#${section.id}`;\n anchor.innerHTML = section.textContent;\n anchor.dataset.component = 'TableOfContentAnchor';\n this.$refs.list.append(li);\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,YAAY;AAErB,SAAS,4BAA4B;AAmB9B,MAAM,uBAAwD,KAA8B;AAAA,EAIjG,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,MAAM,CAAC,gBAAgB,MAAM;AAAA,IAC7B,YAAY;AAAA,MACV;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EAMA,UAAU;AACR,QAAI,KAAK,SAAS,cAAc;AAC9B,WAAK,gBAAgB;AACrB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAQA,kBAAkB;AAChB,aAAS,iBAAiB,KAAK,SAAS,eAAe,EAAE,QAAQ,CAAC,YAAY;AAC5E,YAAM,MAAM,SAAS,cAAc,KAAK;AACxC,UAAI,YAAY,KAAK,MAAM,aAAa;AACxC,YAAM,KAAK,IAAI,cAAc,IAAI;AACjC,YAAM,SAAS,GAAG,cAAc,GAAG;AACnC,aAAO,OAAO,IAAI,QAAQ;AAC1B,aAAO,YAAY,QAAQ;AAC3B,aAAO,QAAQ,YAAY;AAC3B,WAAK,MAAM,KAAK,OAAO,EAAE;AAAA,IAC3B,CAAC;AAAA,EACH;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -29,10 +29,7 @@ __export(TableOfContentAnchor_exports, {
|
|
|
29
29
|
module.exports = __toCommonJS(TableOfContentAnchor_exports);
|
|
30
30
|
var import_atoms = require("../../atoms/index.cjs");
|
|
31
31
|
var TableOfContentAnchor = class extends import_atoms.AnchorScrollTo {
|
|
32
|
-
|
|
33
|
-
super(...arguments);
|
|
34
|
-
__publicField(this, "__observer");
|
|
35
|
-
}
|
|
32
|
+
__observer;
|
|
36
33
|
get sentinel() {
|
|
37
34
|
return document.querySelector(this.targetSelector);
|
|
38
35
|
}
|
|
@@ -62,3 +59,4 @@ __publicField(TableOfContentAnchor, "config", {
|
|
|
62
59
|
}
|
|
63
60
|
});
|
|
64
61
|
if (module.exports.default) module.exports = module.exports.default;
|
|
62
|
+
//# sourceMappingURL=TableOfContentAnchor.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/TableOfContent/TableOfContentAnchor.ts"],
|
|
4
|
+
"sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AnchorScrollTo } from '../../atoms/index.js';\n\nexport interface TableOfContentAnchorProps extends BaseProps {\n $options: {\n activeClass: string;\n };\n}\n\n/**\n * TableOfContentAnchor class.\n */\nexport class TableOfContentAnchor<T extends BaseProps = BaseProps> extends AnchorScrollTo<\n T & TableOfContentAnchorProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'TableOfContentAnchor',\n emits: ['should-activate'],\n options: {\n activeClass: {\n type: String,\n default: 'is-active',\n },\n },\n };\n\n /**\n * Observer.\n * @private\n */\n __observer: IntersectionObserver;\n\n /**\n * Get the sentinel.\n */\n get sentinel():HTMLElement {\n return document.querySelector(this.targetSelector) as HTMLElement;\n }\n\n /**\n * Init observer on mount.\n */\n mounted() {\n if (!this.sentinel) {\n return;\n }\n\n this.__observer = new IntersectionObserver(([entry]) => {\n const shouldActivate =\n entry.isIntersecting &&\n entry.boundingClientRect.y < 100 &&\n entry.boundingClientRect.y > 100;\n this.$el.classList.toggle(this.$options.activeClass, shouldActivate);\n this.$emit('should-activate', shouldActivate);\n });\n\n this.__observer.observe(this.sentinel);\n }\n\n /**\n * Destroy observer on destroy.\n */\n destroyed() {\n this.__observer.disconnect();\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA+B;AAWxB,IAAM,uBAAN,cAAoE,4BAEzE;AAAA,EAmBA;AAAA,EAKA,IAAI,WAAuB;AACzB,WAAO,SAAS,cAAc,KAAK,cAAc;AAAA,EACnD;AAAA,EAKA,UAAU;AACR,QAAI,CAAC,KAAK,UAAU;AAClB;AAAA,IACF;AAEA,SAAK,aAAa,IAAI,qBAAqB,CAAC,CAAC,KAAK,MAAM;AACtD,YAAM,iBACJ,MAAM,kBACN,MAAM,mBAAmB,IAAI,OAC7B,MAAM,mBAAmB,IAAI;AAC/B,WAAK,IAAI,UAAU,OAAO,KAAK,SAAS,aAAa,cAAc;AACnE,WAAK,MAAM,mBAAmB,cAAc;AAAA,IAC9C,CAAC;AAED,SAAK,WAAW,QAAQ,KAAK,QAAQ;AAAA,EACvC;AAAA,EAKA,YAAY;AACV,SAAK,WAAW,WAAW;AAAA,EAC7B;AACF;AAlDE,cANW,sBAMJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO,CAAC,iBAAiB;AAAA,EACzB,SAAS;AAAA,IACP,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
1
|
import { AnchorScrollTo } from "../../atoms/index.js";
|
|
8
2
|
class TableOfContentAnchor extends AnchorScrollTo {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
static config = {
|
|
4
|
+
name: "TableOfContentAnchor",
|
|
5
|
+
emits: ["should-activate"],
|
|
6
|
+
options: {
|
|
7
|
+
activeClass: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: "is-active"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
__observer;
|
|
13
14
|
get sentinel() {
|
|
14
15
|
return document.querySelector(this.targetSelector);
|
|
15
16
|
}
|
|
@@ -28,16 +29,7 @@ class TableOfContentAnchor extends AnchorScrollTo {
|
|
|
28
29
|
this.__observer.disconnect();
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
__publicField(TableOfContentAnchor, "config", {
|
|
32
|
-
name: "TableOfContentAnchor",
|
|
33
|
-
emits: ["should-activate"],
|
|
34
|
-
options: {
|
|
35
|
-
activeClass: {
|
|
36
|
-
type: String,
|
|
37
|
-
default: "is-active"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
32
|
export {
|
|
42
33
|
TableOfContentAnchor
|
|
43
34
|
};
|
|
35
|
+
//# sourceMappingURL=TableOfContentAnchor.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/TableOfContent/TableOfContentAnchor.ts"],
|
|
4
|
+
"sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AnchorScrollTo } from '../../atoms/index.js';\n\nexport interface TableOfContentAnchorProps extends BaseProps {\n $options: {\n activeClass: string;\n };\n}\n\n/**\n * TableOfContentAnchor class.\n */\nexport class TableOfContentAnchor<T extends BaseProps = BaseProps> extends AnchorScrollTo<\n T & TableOfContentAnchorProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'TableOfContentAnchor',\n emits: ['should-activate'],\n options: {\n activeClass: {\n type: String,\n default: 'is-active',\n },\n },\n };\n\n /**\n * Observer.\n * @private\n */\n __observer: IntersectionObserver;\n\n /**\n * Get the sentinel.\n */\n get sentinel():HTMLElement {\n return document.querySelector(this.targetSelector) as HTMLElement;\n }\n\n /**\n * Init observer on mount.\n */\n mounted() {\n if (!this.sentinel) {\n return;\n }\n\n this.__observer = new IntersectionObserver(([entry]) => {\n const shouldActivate =\n entry.isIntersecting &&\n entry.boundingClientRect.y < 100 &&\n entry.boundingClientRect.y > 100;\n this.$el.classList.toggle(this.$options.activeClass, shouldActivate);\n this.$emit('should-activate', shouldActivate);\n });\n\n this.__observer.observe(this.sentinel);\n }\n\n /**\n * Destroy observer on destroy.\n */\n destroyed() {\n this.__observer.disconnect();\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,sBAAsB;AAWxB,MAAM,6BAA8D,eAEzE;AAAA,EAIA,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO,CAAC,iBAAiB;AAAA,IACzB,SAAS;AAAA,MACP,aAAa;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAMA;AAAA,EAKA,IAAI,WAAuB;AACzB,WAAO,SAAS,cAAc,KAAK,cAAc;AAAA,EACnD;AAAA,EAKA,UAAU;AACR,QAAI,CAAC,KAAK,UAAU;AAClB;AAAA,IACF;AAEA,SAAK,aAAa,IAAI,qBAAqB,CAAC,CAAC,KAAK,MAAM;AACtD,YAAM,iBACJ,MAAM,kBACN,MAAM,mBAAmB,IAAI,OAC7B,MAAM,mBAAmB,IAAI;AAC/B,WAAK,IAAI,UAAU,OAAO,KAAK,SAAS,aAAa,cAAc;AACnE,WAAK,MAAM,mBAAmB,cAAc;AAAA,IAC9C,CAAC;AAED,SAAK,WAAW,QAAQ,KAAK,QAAQ;AAAA,EACvC;AAAA,EAKA,YAAY;AACV,SAAK,WAAW,WAAW;AAAA,EAC7B;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -19,3 +19,4 @@ module.exports = __toCommonJS(TableOfContent_exports);
|
|
|
19
19
|
__reExport(TableOfContent_exports, require("./TableOfContent.cjs"), module.exports);
|
|
20
20
|
__reExport(TableOfContent_exports, require("./TableOfContentAnchor.cjs"), module.exports);
|
|
21
21
|
if (module.exports.default) module.exports = module.exports.default;
|
|
22
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/TableOfContent/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './TableOfContent.js';\nexport * from './TableOfContentAnchor.js';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,mCAAc,iCAAd;AACA,mCAAc,uCADd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/molecules/Tabs/Tabs.cjs
CHANGED
|
@@ -30,10 +30,7 @@ module.exports = __toCommonJS(Tabs_exports);
|
|
|
30
30
|
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
31
31
|
var import_utils = require("@studiometa/js-toolkit/utils");
|
|
32
32
|
var Tabs = class extends import_js_toolkit.Base {
|
|
33
|
-
|
|
34
|
-
super(...arguments);
|
|
35
|
-
__publicField(this, "items");
|
|
36
|
-
}
|
|
33
|
+
items;
|
|
37
34
|
mounted() {
|
|
38
35
|
this.items = this.$refs.btn.map((btn, index) => {
|
|
39
36
|
const id = `${this.$id}-${index}`;
|
|
@@ -142,3 +139,4 @@ __publicField(Tabs, "config", {
|
|
|
142
139
|
}
|
|
143
140
|
});
|
|
144
141
|
if (module.exports.default) module.exports = module.exports.default;
|
|
142
|
+
//# sourceMappingURL=Tabs.cjs.map
|