@studiometa/ui 0.2.13 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +4 -3
- package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +7 -0
- package/atoms/AnchorScrollTo/AnchorScrollTo.d.ts +8 -15
- package/atoms/AnchorScrollTo/AnchorScrollTo.js +21 -1
- package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +7 -0
- package/atoms/AnchorScrollTo/index.cjs +21 -0
- package/atoms/AnchorScrollTo/index.cjs.map +7 -0
- package/atoms/AnchorScrollTo/index.d.ts +1 -0
- package/atoms/AnchorScrollTo/index.js +2 -0
- package/atoms/AnchorScrollTo/index.js.map +7 -0
- package/atoms/Cursor/Cursor.cjs +8 -3
- package/atoms/Cursor/Cursor.cjs.map +7 -0
- package/atoms/Cursor/Cursor.d.ts +19 -117
- package/atoms/Cursor/Cursor.js +103 -1
- package/atoms/Cursor/Cursor.js.map +7 -0
- package/atoms/Cursor/index.cjs +21 -0
- package/atoms/Cursor/index.cjs.map +7 -0
- package/atoms/Cursor/index.d.ts +1 -0
- package/atoms/Cursor/index.js +2 -0
- package/atoms/Cursor/index.js.map +7 -0
- package/atoms/Figure/Figure.cjs +16 -9
- package/atoms/Figure/Figure.cjs.map +7 -0
- package/atoms/Figure/Figure.d.ts +18 -53
- package/atoms/Figure/Figure.js +51 -1
- package/atoms/Figure/Figure.js.map +7 -0
- package/atoms/Figure/FigureTwicPics.cjs +11 -10
- package/atoms/Figure/FigureTwicPics.cjs.map +7 -0
- package/atoms/Figure/FigureTwicPics.d.ts +16 -37
- package/atoms/Figure/FigureTwicPics.js +46 -1
- package/atoms/Figure/FigureTwicPics.js.map +7 -0
- package/atoms/Figure/index.cjs +5 -14
- package/atoms/Figure/index.cjs.map +7 -0
- package/atoms/Figure/index.d.ts +2 -2
- package/atoms/Figure/index.js +3 -1
- package/atoms/Figure/index.js.map +7 -0
- package/atoms/LargeText/LargeText.cjs +8 -3
- package/atoms/LargeText/LargeText.cjs.map +7 -0
- package/atoms/LargeText/LargeText.d.ts +19 -40
- package/atoms/LargeText/LargeText.js +60 -1
- package/atoms/LargeText/LargeText.js.map +7 -0
- package/atoms/LargeText/index.cjs +21 -0
- package/atoms/LargeText/index.cjs.map +7 -0
- package/atoms/LargeText/index.d.ts +1 -0
- package/atoms/LargeText/index.js +2 -0
- package/atoms/LargeText/index.js.map +7 -0
- package/atoms/LazyInclude/LazyInclude.cjs +3 -2
- package/atoms/LazyInclude/LazyInclude.cjs.map +7 -0
- package/atoms/LazyInclude/LazyInclude.d.ts +17 -36
- package/atoms/LazyInclude/LazyInclude.js +41 -1
- package/atoms/LazyInclude/LazyInclude.js.map +7 -0
- package/atoms/LazyInclude/index.cjs +21 -0
- package/atoms/LazyInclude/index.cjs.map +7 -0
- package/atoms/LazyInclude/index.d.ts +1 -0
- package/atoms/LazyInclude/index.js +2 -0
- package/atoms/LazyInclude/index.js.map +7 -0
- package/atoms/Prefetch/AbstractPrefetch.cjs +7 -6
- package/atoms/Prefetch/AbstractPrefetch.cjs.map +7 -0
- package/atoms/Prefetch/AbstractPrefetch.d.ts +12 -35
- package/atoms/Prefetch/AbstractPrefetch.js +52 -1
- package/atoms/Prefetch/AbstractPrefetch.js.map +7 -0
- package/atoms/Prefetch/PrefetchWhenOver.cjs +6 -8
- package/atoms/Prefetch/PrefetchWhenOver.cjs.map +7 -0
- package/atoms/Prefetch/PrefetchWhenOver.d.ts +8 -14
- package/atoms/Prefetch/PrefetchWhenOver.js +14 -1
- package/atoms/Prefetch/PrefetchWhenOver.js.map +7 -0
- package/atoms/Prefetch/PrefetchWhenVisible.cjs +6 -8
- package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +7 -0
- package/atoms/Prefetch/PrefetchWhenVisible.d.ts +10 -14
- package/atoms/Prefetch/PrefetchWhenVisible.js +15 -1
- package/atoms/Prefetch/PrefetchWhenVisible.js.map +7 -0
- package/atoms/Prefetch/index.cjs +6 -16
- package/atoms/Prefetch/index.cjs.map +7 -0
- package/atoms/Prefetch/index.d.ts +3 -3
- package/atoms/Prefetch/index.js +4 -1
- package/atoms/Prefetch/index.js.map +7 -0
- package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +18 -14
- package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +7 -0
- package/atoms/ScrollAnimation/AbstractScrollAnimation.d.ts +19 -89
- package/atoms/ScrollAnimation/AbstractScrollAnimation.js +62 -1
- package/atoms/ScrollAnimation/AbstractScrollAnimation.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimation.cjs +6 -14
- package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimation.d.ts +13 -51
- package/atoms/ScrollAnimation/ScrollAnimation.js +16 -1
- package/atoms/ScrollAnimation/ScrollAnimation.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +31 -10
- package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChild.d.ts +19 -6
- package/atoms/ScrollAnimation/ScrollAnimationChild.js +45 -1
- package/atoms/ScrollAnimation/ScrollAnimationChild.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +7 -9
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.d.ts +8 -2
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js +12 -1
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +9 -8
- package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationParent.d.ts +14 -26
- package/atoms/ScrollAnimation/ScrollAnimationParent.js +22 -1
- package/atoms/ScrollAnimation/ScrollAnimationParent.js.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +7 -9
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +7 -0
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.d.ts +15 -2
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.js +12 -1
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.js.map +7 -0
- package/atoms/ScrollAnimation/animationScrollWithEase.cjs +9 -5
- package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +7 -0
- package/atoms/ScrollAnimation/animationScrollWithEase.d.ts +10 -8
- package/atoms/ScrollAnimation/animationScrollWithEase.js +31 -1
- package/atoms/ScrollAnimation/animationScrollWithEase.js.map +7 -0
- package/atoms/ScrollAnimation/index.cjs +10 -24
- package/atoms/ScrollAnimation/index.cjs.map +7 -0
- package/atoms/ScrollAnimation/index.d.ts +7 -7
- package/atoms/ScrollAnimation/index.js +8 -1
- package/atoms/ScrollAnimation/index.js.map +7 -0
- package/atoms/ScrollReveal/ScrollReveal.cjs +6 -3
- package/atoms/ScrollReveal/ScrollReveal.cjs.map +7 -0
- package/atoms/ScrollReveal/ScrollReveal.d.ts +16 -59
- package/atoms/ScrollReveal/ScrollReveal.js +47 -1
- package/atoms/ScrollReveal/ScrollReveal.js.map +7 -0
- package/atoms/ScrollReveal/index.cjs +4 -12
- package/atoms/ScrollReveal/index.cjs.map +7 -0
- package/atoms/ScrollReveal/index.d.ts +1 -1
- package/atoms/ScrollReveal/index.js +2 -1
- package/atoms/ScrollReveal/index.js.map +7 -0
- package/atoms/index.cjs +6 -18
- package/atoms/index.cjs.map +7 -0
- package/atoms/index.d.ts +8 -8
- package/atoms/index.js +9 -1
- package/atoms/index.js.map +7 -0
- package/decorators/index.cjs +4 -12
- package/decorators/index.cjs.map +7 -0
- package/decorators/index.d.ts +1 -1
- package/decorators/index.js +2 -1
- package/decorators/index.js.map +7 -0
- package/decorators/withTransition.cjs +23 -17
- package/decorators/withTransition.cjs.map +7 -0
- package/decorators/withTransition.d.ts +21 -33
- package/decorators/withTransition.js +50 -1
- package/decorators/withTransition.js.map +7 -0
- package/index.cjs +2 -1
- package/index.cjs.map +7 -0
- package/index.d.ts +5 -5
- package/index.js +6 -1
- package/index.js.map +7 -0
- package/molecules/Accordion/Accordion.cjs +8 -10
- package/molecules/Accordion/Accordion.cjs.map +7 -0
- package/molecules/Accordion/Accordion.d.ts +5 -23
- package/molecules/Accordion/Accordion.js +14 -1
- package/molecules/Accordion/Accordion.js.map +7 -0
- package/molecules/Accordion/AccordionCore.cjs +7 -8
- package/molecules/Accordion/AccordionCore.cjs.map +7 -0
- package/molecules/Accordion/AccordionCore.d.ts +22 -70
- package/molecules/Accordion/AccordionCore.js +27 -1
- package/molecules/Accordion/AccordionCore.js.map +7 -0
- package/molecules/Accordion/AccordionItem.cjs +39 -23
- package/molecules/Accordion/AccordionItem.cjs.map +7 -0
- package/molecules/Accordion/AccordionItem.d.ts +24 -94
- package/molecules/Accordion/AccordionItem.js +146 -1
- package/molecules/Accordion/AccordionItem.js.map +7 -0
- package/molecules/Accordion/index.cjs +22 -0
- package/molecules/Accordion/index.cjs.map +7 -0
- package/molecules/Accordion/index.d.ts +2 -0
- package/molecules/Accordion/index.js +3 -0
- package/molecules/Accordion/index.js.map +7 -0
- package/molecules/Menu/Menu.cjs +7 -10
- package/molecules/Menu/Menu.cjs.map +7 -0
- package/molecules/Menu/Menu.d.ts +24 -84
- package/molecules/Menu/Menu.js +108 -1
- package/molecules/Menu/Menu.js.map +7 -0
- package/molecules/Menu/MenuBtn.cjs +4 -4
- package/molecules/Menu/MenuBtn.cjs.map +7 -0
- package/molecules/Menu/MenuBtn.d.ts +7 -9
- package/molecules/Menu/MenuBtn.js +22 -1
- package/molecules/Menu/MenuBtn.js.map +7 -0
- package/molecules/Menu/MenuList.cjs +9 -9
- package/molecules/Menu/MenuList.cjs.map +7 -0
- package/molecules/Menu/MenuList.d.ts +16 -53
- package/molecules/Menu/MenuList.js +104 -1
- package/molecules/Menu/MenuList.js.map +7 -0
- package/molecules/Menu/index.cjs +6 -16
- package/molecules/Menu/index.cjs.map +7 -0
- package/molecules/Menu/index.d.ts +3 -3
- package/molecules/Menu/index.js +4 -1
- package/molecules/Menu/index.js.map +7 -0
- package/molecules/Modal/Modal.cjs +35 -13
- package/molecules/Modal/Modal.cjs.map +7 -0
- package/molecules/Modal/Modal.d.ts +69 -140
- package/molecules/Modal/Modal.js +150 -1
- package/molecules/Modal/Modal.js.map +7 -0
- package/molecules/Modal/ModalWithTransition.cjs +5 -7
- package/molecules/Modal/ModalWithTransition.cjs.map +7 -0
- package/molecules/Modal/ModalWithTransition.d.ts +6 -22
- package/molecules/Modal/ModalWithTransition.js +41 -1
- package/molecules/Modal/ModalWithTransition.js.map +7 -0
- package/molecules/Modal/index.cjs +22 -0
- package/molecules/Modal/index.cjs.map +7 -0
- package/molecules/Modal/index.d.ts +2 -0
- package/molecules/Modal/index.js +3 -0
- package/molecules/Modal/index.js.map +7 -0
- package/molecules/Panel/Panel.cjs +38 -26
- package/molecules/Panel/Panel.cjs.map +7 -0
- package/molecules/Panel/Panel.d.ts +22 -21
- package/molecules/Panel/Panel.js +98 -1
- package/molecules/Panel/Panel.js.map +7 -0
- package/molecules/Panel/index.cjs +21 -0
- package/molecules/Panel/index.cjs.map +7 -0
- package/molecules/Panel/index.d.ts +1 -0
- package/molecules/Panel/index.js +2 -0
- package/molecules/Panel/index.js.map +7 -0
- package/molecules/Slider/AbstractSliderChild.cjs +8 -9
- package/molecules/Slider/AbstractSliderChild.cjs.map +7 -0
- package/molecules/Slider/AbstractSliderChild.d.ts +11 -30
- package/molecules/Slider/AbstractSliderChild.js +43 -1
- package/molecules/Slider/AbstractSliderChild.js.map +7 -0
- package/molecules/Slider/Slider.cjs +31 -18
- package/molecules/Slider/Slider.cjs.map +7 -0
- package/molecules/Slider/Slider.d.ts +40 -157
- package/molecules/Slider/Slider.js +271 -1
- package/molecules/Slider/Slider.js.map +7 -0
- package/molecules/Slider/SliderBtn.cjs +5 -7
- package/molecules/Slider/SliderBtn.cjs.map +7 -0
- package/molecules/Slider/SliderBtn.d.ts +12 -23
- package/molecules/Slider/SliderBtn.js +29 -1
- package/molecules/Slider/SliderBtn.js.map +7 -0
- package/molecules/Slider/SliderCount.cjs +5 -7
- package/molecules/Slider/SliderCount.cjs.map +7 -0
- package/molecules/Slider/SliderCount.d.ts +10 -16
- package/molecules/Slider/SliderCount.js +14 -1
- package/molecules/Slider/SliderCount.js.map +7 -0
- package/molecules/Slider/SliderDots.cjs +5 -7
- package/molecules/Slider/SliderDots.cjs.map +7 -0
- package/molecules/Slider/SliderDots.d.ts +11 -31
- package/molecules/Slider/SliderDots.js +24 -1
- package/molecules/Slider/SliderDots.js.map +7 -0
- package/molecules/Slider/SliderDrag.cjs +3 -2
- package/molecules/Slider/SliderDrag.cjs.map +7 -0
- package/molecules/Slider/SliderDrag.d.ts +12 -30
- package/molecules/Slider/SliderDrag.js +29 -1
- package/molecules/Slider/SliderDrag.js.map +7 -0
- package/molecules/Slider/SliderItem.cjs +7 -3
- package/molecules/Slider/SliderItem.cjs.map +7 -0
- package/molecules/Slider/SliderItem.d.ts +21 -33
- package/molecules/Slider/SliderItem.js +85 -1
- package/molecules/Slider/SliderItem.js.map +7 -0
- package/molecules/Slider/SliderProgress.cjs +5 -7
- package/molecules/Slider/SliderProgress.cjs.map +7 -0
- package/molecules/Slider/SliderProgress.d.ts +10 -25
- package/molecules/Slider/SliderProgress.js +21 -1
- package/molecules/Slider/SliderProgress.js.map +7 -0
- package/molecules/Slider/index.cjs +11 -26
- package/molecules/Slider/index.cjs.map +7 -0
- package/molecules/Slider/index.d.ts +8 -8
- package/molecules/Slider/index.js +9 -1
- package/molecules/Slider/index.js.map +7 -0
- package/molecules/Sticky/Sticky.cjs +12 -8
- package/molecules/Sticky/Sticky.cjs.map +7 -0
- package/molecules/Sticky/Sticky.d.ts +30 -68
- package/molecules/Sticky/Sticky.js +101 -1
- package/molecules/Sticky/Sticky.js.map +7 -0
- package/molecules/Sticky/index.cjs +21 -0
- package/molecules/Sticky/index.cjs.map +7 -0
- package/molecules/Sticky/index.d.ts +1 -0
- package/molecules/Sticky/index.js +2 -0
- package/molecules/Sticky/index.js.map +7 -0
- package/molecules/TableOfContent/TableOfContent.cjs +6 -8
- package/molecules/TableOfContent/TableOfContent.cjs.map +7 -0
- package/molecules/TableOfContent/TableOfContent.d.ts +19 -41
- package/molecules/TableOfContent/TableOfContent.js +37 -1
- package/molecules/TableOfContent/TableOfContent.js.map +7 -0
- package/molecules/TableOfContent/TableOfContentAnchor.cjs +7 -5
- package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +7 -0
- package/molecules/TableOfContent/TableOfContentAnchor.d.ts +14 -17
- package/molecules/TableOfContent/TableOfContentAnchor.js +35 -1
- package/molecules/TableOfContent/TableOfContentAnchor.js.map +7 -0
- package/molecules/TableOfContent/index.cjs +5 -14
- package/molecules/TableOfContent/index.cjs.map +7 -0
- package/molecules/TableOfContent/index.d.ts +2 -2
- package/molecules/TableOfContent/index.js +3 -1
- package/molecules/TableOfContent/index.js.map +7 -0
- package/molecules/Tabs/Tabs.cjs +40 -22
- package/molecules/Tabs/Tabs.cjs.map +7 -0
- package/molecules/Tabs/Tabs.d.ts +28 -90
- package/molecules/Tabs/Tabs.js +115 -1
- package/molecules/Tabs/Tabs.js.map +7 -0
- package/molecules/Tabs/index.cjs +21 -0
- package/molecules/Tabs/index.cjs.map +7 -0
- package/molecules/Tabs/index.d.ts +1 -0
- package/molecules/Tabs/index.js +2 -0
- package/molecules/Tabs/index.js.map +7 -0
- package/molecules/index.cjs +8 -24
- package/molecules/index.cjs.map +7 -0
- package/molecules/index.d.ts +9 -10
- package/molecules/index.js +10 -1
- package/molecules/index.js.map +7 -0
- package/organisms/Frame/Frame.cjs +21 -43
- package/organisms/Frame/Frame.cjs.map +7 -0
- package/organisms/Frame/Frame.d.ts +21 -98
- package/organisms/Frame/Frame.js +155 -1
- package/organisms/Frame/Frame.js.map +7 -0
- package/organisms/Frame/FrameAnchor.cjs +3 -2
- package/organisms/Frame/FrameAnchor.cjs.map +7 -0
- package/organisms/Frame/FrameAnchor.d.ts +7 -16
- package/organisms/Frame/FrameAnchor.js +13 -1
- package/organisms/Frame/FrameAnchor.js.map +7 -0
- package/organisms/Frame/FrameForm.cjs +3 -2
- package/organisms/Frame/FrameForm.cjs.map +7 -0
- package/organisms/Frame/FrameForm.d.ts +10 -16
- package/organisms/Frame/FrameForm.js +13 -1
- package/organisms/Frame/FrameForm.js.map +7 -0
- package/organisms/Frame/FrameTarget.cjs +15 -9
- package/organisms/Frame/FrameTarget.cjs.map +7 -0
- package/organisms/Frame/FrameTarget.d.ts +17 -26
- package/organisms/Frame/FrameTarget.js +70 -1
- package/organisms/Frame/FrameTarget.js.map +7 -0
- package/organisms/Frame/index.cjs +7 -18
- package/organisms/Frame/index.cjs.map +7 -0
- package/organisms/Frame/index.d.ts +4 -4
- package/organisms/Frame/index.js +5 -1
- package/organisms/Frame/index.js.map +7 -0
- package/organisms/index.cjs +2 -1
- package/organisms/index.cjs.map +7 -0
- package/organisms/index.d.ts +1 -1
- package/organisms/index.js +2 -1
- package/organisms/index.js.map +7 -0
- package/package.json +2 -2
- package/primitives/Draggable/Draggable.cjs +3 -2
- package/primitives/Draggable/Draggable.cjs.map +7 -0
- package/primitives/Draggable/Draggable.d.ts +10 -11
- package/primitives/Draggable/Draggable.js +25 -1
- package/primitives/Draggable/Draggable.js.map +7 -0
- package/primitives/Draggable/index.cjs +21 -0
- package/primitives/Draggable/index.cjs.map +7 -0
- package/primitives/Draggable/index.d.ts +1 -0
- package/primitives/Draggable/index.js +2 -0
- package/primitives/Draggable/index.js.map +7 -0
- package/primitives/Sentinel/Sentinel.cjs +3 -2
- package/primitives/Sentinel/Sentinel.cjs.map +7 -0
- package/primitives/Sentinel/Sentinel.d.ts +6 -5
- package/primitives/Sentinel/Sentinel.js +10 -1
- package/primitives/Sentinel/Sentinel.js.map +7 -0
- package/primitives/Sentinel/index.cjs +21 -0
- package/primitives/Sentinel/index.cjs.map +7 -0
- package/primitives/Sentinel/index.d.ts +1 -0
- package/primitives/Sentinel/index.js +2 -0
- package/primitives/Sentinel/index.js.map +7 -0
- package/primitives/Transition/Transition.cjs +13 -3
- package/primitives/Transition/Transition.cjs.map +7 -0
- package/primitives/Transition/Transition.d.ts +13 -7
- package/primitives/Transition/Transition.js +11 -1
- package/primitives/Transition/Transition.js.map +7 -0
- package/primitives/Transition/index.cjs +21 -0
- package/primitives/Transition/index.cjs.map +7 -0
- package/primitives/Transition/index.d.ts +1 -0
- package/primitives/Transition/index.js +2 -0
- package/primitives/Transition/index.js.map +7 -0
- package/primitives/index.cjs +6 -16
- package/primitives/index.cjs.map +7 -0
- package/primitives/index.d.ts +3 -3
- package/primitives/index.js +4 -1
- package/primitives/index.js.map +7 -0
package/molecules/Tabs/Tabs.js
CHANGED
|
@@ -1 +1,115 @@
|
|
|
1
|
-
import{Base
|
|
1
|
+
import { Base } from "@studiometa/js-toolkit";
|
|
2
|
+
import { transition } from "@studiometa/js-toolkit/utils";
|
|
3
|
+
class Tabs extends Base {
|
|
4
|
+
static config = {
|
|
5
|
+
name: "Tabs",
|
|
6
|
+
refs: ["btn[]", "content[]"],
|
|
7
|
+
emits: ["enable", "disable"],
|
|
8
|
+
options: {
|
|
9
|
+
styles: {
|
|
10
|
+
type: Object,
|
|
11
|
+
default: () => ({
|
|
12
|
+
content: {
|
|
13
|
+
closed: {
|
|
14
|
+
position: "absolute",
|
|
15
|
+
opacity: "0",
|
|
16
|
+
pointerEvents: "none",
|
|
17
|
+
visibility: "hidden"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}),
|
|
21
|
+
merge: true
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
items;
|
|
26
|
+
mounted() {
|
|
27
|
+
this.items = this.$refs.btn.map((btn, index) => {
|
|
28
|
+
const id = `${this.$id}-${index}`;
|
|
29
|
+
const content = this.$refs.content[index];
|
|
30
|
+
btn.setAttribute("id", id);
|
|
31
|
+
content.setAttribute("aria-labelledby", id);
|
|
32
|
+
const item = { btn, content, isEnabled: index > 0 };
|
|
33
|
+
if (index > 0) {
|
|
34
|
+
this.disableItem(item);
|
|
35
|
+
} else {
|
|
36
|
+
this.enableItem(item);
|
|
37
|
+
}
|
|
38
|
+
return item;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
onBtnClick(event, index) {
|
|
42
|
+
this.items.forEach((item, i) => {
|
|
43
|
+
if (i !== index) {
|
|
44
|
+
this.disableItem(item);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
this.enableItem(this.items[index]);
|
|
48
|
+
}
|
|
49
|
+
async enableItem(item) {
|
|
50
|
+
if (!item || item.isEnabled) {
|
|
51
|
+
return Promise.resolve(this);
|
|
52
|
+
}
|
|
53
|
+
item.isEnabled = true;
|
|
54
|
+
const { btn, content } = item;
|
|
55
|
+
const btnStyles = this.$options.styles.btn || {};
|
|
56
|
+
const contentStyles = this.$options.styles.content || {};
|
|
57
|
+
content.setAttribute("aria-hidden", "false");
|
|
58
|
+
this.$emit("enable", item);
|
|
59
|
+
return Promise.all([
|
|
60
|
+
transition(
|
|
61
|
+
btn,
|
|
62
|
+
{
|
|
63
|
+
from: btnStyles.closed,
|
|
64
|
+
active: btnStyles.active,
|
|
65
|
+
to: btnStyles.open
|
|
66
|
+
},
|
|
67
|
+
"keep"
|
|
68
|
+
),
|
|
69
|
+
transition(
|
|
70
|
+
content,
|
|
71
|
+
{
|
|
72
|
+
from: contentStyles.closed,
|
|
73
|
+
active: contentStyles.active,
|
|
74
|
+
to: contentStyles.open
|
|
75
|
+
},
|
|
76
|
+
"keep"
|
|
77
|
+
)
|
|
78
|
+
]).then(() => Promise.resolve(this));
|
|
79
|
+
}
|
|
80
|
+
async disableItem(item) {
|
|
81
|
+
if (!item || !item.isEnabled) {
|
|
82
|
+
return Promise.resolve(this);
|
|
83
|
+
}
|
|
84
|
+
item.isEnabled = false;
|
|
85
|
+
const { btn, content } = item;
|
|
86
|
+
const btnStyles = this.$options.styles.btn || {};
|
|
87
|
+
const contentStyles = this.$options.styles.content || {};
|
|
88
|
+
content.setAttribute("aria-hidden", "true");
|
|
89
|
+
this.$emit("disable", item);
|
|
90
|
+
return Promise.all([
|
|
91
|
+
transition(
|
|
92
|
+
btn,
|
|
93
|
+
{
|
|
94
|
+
from: btnStyles.open,
|
|
95
|
+
active: btnStyles.active,
|
|
96
|
+
to: btnStyles.closed
|
|
97
|
+
},
|
|
98
|
+
"keep"
|
|
99
|
+
),
|
|
100
|
+
transition(
|
|
101
|
+
content,
|
|
102
|
+
{
|
|
103
|
+
from: contentStyles.open,
|
|
104
|
+
active: contentStyles.active,
|
|
105
|
+
to: contentStyles.closed
|
|
106
|
+
},
|
|
107
|
+
"keep"
|
|
108
|
+
)
|
|
109
|
+
]).then(() => Promise.resolve(this));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export {
|
|
113
|
+
Tabs
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=Tabs.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/molecules/Tabs/Tabs.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { transition } from '@studiometa/js-toolkit/utils';\n\ntype TabItem = {\n btn: HTMLElement;\n content: HTMLElement;\n isEnabled: boolean;\n};\n\ntype TabsStates = Partial<\n Record<'open' | 'active' | 'closed', string | Partial<CSSStyleDeclaration>>\n>;\n// eslint-disable-next-line no-use-before-define\ntype TabsStylesOption = Partial<Record<keyof TabsProps['$refs'], TabsStates>>;\n\nexport interface TabsProps extends BaseProps {\n $options: {\n styles: TabsStylesOption;\n };\n $refs: {\n btn: HTMLElement[];\n content: HTMLElement[];\n };\n}\n\n/**\n * Tabs class.\n */\nexport class Tabs<T extends BaseProps = BaseProps> extends Base<T & TabsProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Tabs',\n refs: ['btn[]', 'content[]'],\n emits: ['enable', 'disable'],\n options: {\n styles: {\n type: Object,\n default: (): TabsStylesOption => ({\n content: {\n closed: {\n position: 'absolute',\n opacity: '0',\n pointerEvents: 'none',\n visibility: 'hidden',\n },\n },\n }),\n merge: true,\n },\n },\n };\n\n items: TabItem[];\n\n /**\n * Initialize the component's behaviours.\n * @returns {void}\n */\n mounted() {\n this.items = this.$refs.btn.map((btn, index) => {\n const id = `${this.$id}-${index}`;\n const content = this.$refs.content[index];\n btn.setAttribute('id', id);\n content.setAttribute('aria-labelledby', id);\n\n const item = { btn, content, isEnabled: index > 0 };\n if (index > 0) {\n this.disableItem(item);\n } else {\n this.enableItem(item);\n }\n return item;\n });\n }\n\n /**\n * Switch tab on button click.\n */\n onBtnClick(event:MouseEvent, index:number) {\n this.items.forEach((item, i) => {\n if (i !== index) {\n this.disableItem(item);\n }\n });\n\n this.enableItem(this.items[index]);\n }\n\n /**\n * Enable the given tab and its associated content.\n */\n async enableItem(item:TabItem):Promise<this> {\n if (!item || item.isEnabled) {\n return Promise.resolve(this);\n }\n\n item.isEnabled = true;\n const { btn, content } = item;\n const btnStyles = this.$options.styles.btn || {};\n const contentStyles = this.$options.styles.content || {};\n\n content.setAttribute('aria-hidden', 'false');\n this.$emit('enable', item);\n\n return Promise.all([\n transition(\n btn,\n {\n from: btnStyles.closed,\n active: btnStyles.active,\n to: btnStyles.open,\n },\n 'keep',\n ),\n transition(\n content,\n {\n from: contentStyles.closed,\n active: contentStyles.active,\n to: contentStyles.open,\n },\n 'keep',\n ),\n ]).then(() => Promise.resolve(this));\n }\n\n /**\n * Disable the given tab and its associated content.\n */\n async disableItem(item:TabItem):Promise<this> {\n if (!item || !item.isEnabled) {\n return Promise.resolve(this);\n }\n\n item.isEnabled = false;\n const { btn, content } = item;\n const btnStyles = this.$options.styles.btn || {};\n const contentStyles = this.$options.styles.content || {};\n\n content.setAttribute('aria-hidden', 'true');\n this.$emit('disable', item);\n\n return Promise.all([\n transition(\n btn,\n {\n from: btnStyles.open,\n active: btnStyles.active,\n to: btnStyles.closed,\n },\n 'keep',\n ),\n transition(\n content,\n {\n from: contentStyles.open,\n active: contentStyles.active,\n to: contentStyles.closed,\n },\n 'keep',\n ),\n ]).then(() => Promise.resolve(this));\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// packages/ui/molecules/Tabs/index.ts
|
|
17
|
+
var Tabs_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(Tabs_exports);
|
|
19
|
+
__reExport(Tabs_exports, require("./Tabs.cjs"), module.exports);
|
|
20
|
+
if (module.exports.default) module.exports = module.exports.default;
|
|
21
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Tabs.js';
|
package/molecules/index.cjs
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
5
|
var __copyProps = (to, from, except, desc) => {
|
|
12
6
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
7
|
for (let key of __getOwnPropNames(from))
|
|
@@ -17,29 +11,19 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
11
|
return to;
|
|
18
12
|
};
|
|
19
13
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
15
|
|
|
23
|
-
// packages/ui/molecules/index.
|
|
16
|
+
// packages/ui/molecules/index.ts
|
|
24
17
|
var molecules_exports = {};
|
|
25
|
-
__export(molecules_exports, {
|
|
26
|
-
Accordion: () => import_Accordion.default,
|
|
27
|
-
AccordionItem: () => import_AccordionItem.default,
|
|
28
|
-
Modal: () => import_Modal.default,
|
|
29
|
-
ModalWithTransition: () => import_ModalWithTransition.default,
|
|
30
|
-
Panel: () => import_Panel.default,
|
|
31
|
-
Sticky: () => import_Sticky.default,
|
|
32
|
-
Tabs: () => import_Tabs.default
|
|
33
|
-
});
|
|
34
18
|
module.exports = __toCommonJS(molecules_exports);
|
|
19
|
+
__reExport(molecules_exports, require("./Accordion/Accordion.cjs"), module.exports);
|
|
20
|
+
__reExport(molecules_exports, require("./Accordion/AccordionItem.cjs"), module.exports);
|
|
35
21
|
__reExport(molecules_exports, require("./Menu/index.cjs"), module.exports);
|
|
36
22
|
__reExport(molecules_exports, require("./Slider/index.cjs"), module.exports);
|
|
23
|
+
__reExport(molecules_exports, require("./Sticky/Sticky.cjs"), module.exports);
|
|
37
24
|
__reExport(molecules_exports, require("./TableOfContent/index.cjs"), module.exports);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var import_ModalWithTransition = __toESM(require("./Modal/ModalWithTransition.cjs"), 1);
|
|
42
|
-
var import_Panel = __toESM(require("./Panel/Panel.cjs"), 1);
|
|
43
|
-
var import_Sticky = __toESM(require("./Sticky/Sticky.cjs"), 1);
|
|
44
|
-
var import_Tabs = __toESM(require("./Tabs/Tabs.cjs"), 1);
|
|
25
|
+
__reExport(molecules_exports, require("./Tabs/index.cjs"), module.exports);
|
|
26
|
+
__reExport(molecules_exports, require("./Modal/index.cjs"), module.exports);
|
|
27
|
+
__reExport(molecules_exports, require("./Panel/index.cjs"), module.exports);
|
|
45
28
|
if (module.exports.default) module.exports = module.exports.default;
|
|
29
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../packages/ui/molecules/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './Accordion/Accordion.js';\nexport * from './Accordion/AccordionItem.js';\nexport * from './Menu/index.js';\nexport * from './Slider/index.js';\nexport * from './Sticky/Sticky.js';\nexport * from './TableOfContent/index.js';\nexport * from './Tabs/index.js';\nexport * from './Modal/index.js';\nexport * from './Panel/index.js';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,8BAAc,sCAAd;AACA,8BAAc,0CADd;AAEA,8BAAc,6BAFd;AAGA,8BAAc,+BAHd;AAIA,8BAAc,gCAJd;AAKA,8BAAc,uCALd;AAMA,8BAAc,6BANd;AAOA,8BAAc,8BAPd;AAQA,8BAAc,8BARd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/molecules/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export { default as Tabs } from "./Tabs/Tabs.js";
|
|
1
|
+
export * from './Accordion/Accordion.js';
|
|
2
|
+
export * from './Accordion/AccordionItem.js';
|
|
3
|
+
export * from './Menu/index.js';
|
|
4
|
+
export * from './Slider/index.js';
|
|
5
|
+
export * from './Sticky/Sticky.js';
|
|
6
|
+
export * from './TableOfContent/index.js';
|
|
7
|
+
export * from './Tabs/index.js';
|
|
8
|
+
export * from './Modal/index.js';
|
|
9
|
+
export * from './Panel/index.js';
|
package/molecules/index.js
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
-
export*from
|
|
1
|
+
export * from "./Accordion/Accordion.js";
|
|
2
|
+
export * from "./Accordion/AccordionItem.js";
|
|
3
|
+
export * from "./Menu/index.js";
|
|
4
|
+
export * from "./Slider/index.js";
|
|
5
|
+
export * from "./Sticky/Sticky.js";
|
|
6
|
+
export * from "./TableOfContent/index.js";
|
|
7
|
+
export * from "./Tabs/index.js";
|
|
8
|
+
export * from "./Modal/index.js";
|
|
9
|
+
export * from "./Panel/index.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../packages/ui/molecules/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './Accordion/Accordion.js';\nexport * from './Accordion/AccordionItem.js';\nexport * from './Menu/index.js';\nexport * from './Slider/index.js';\nexport * from './Sticky/Sticky.js';\nexport * from './TableOfContent/index.js';\nexport * from './Tabs/index.js';\nexport * from './Modal/index.js';\nexport * from './Panel/index.js';\n"],
|
|
5
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
6
|
var __export = (target, all) => {
|
|
@@ -17,24 +15,23 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
19
|
var __publicField = (obj, key, value) => {
|
|
23
20
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
24
21
|
return value;
|
|
25
22
|
};
|
|
26
23
|
|
|
27
|
-
// packages/ui/organisms/Frame/Frame.
|
|
24
|
+
// packages/ui/organisms/Frame/Frame.ts
|
|
28
25
|
var Frame_exports = {};
|
|
29
26
|
__export(Frame_exports, {
|
|
30
|
-
|
|
27
|
+
Frame: () => Frame
|
|
31
28
|
});
|
|
32
29
|
module.exports = __toCommonJS(Frame_exports);
|
|
33
30
|
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
34
31
|
var import_utils = require("@studiometa/js-toolkit/utils");
|
|
35
|
-
var import_FrameAnchor =
|
|
36
|
-
var import_FrameForm =
|
|
37
|
-
var import_FrameTarget =
|
|
32
|
+
var import_FrameAnchor = require("./FrameAnchor.cjs");
|
|
33
|
+
var import_FrameForm = require("./FrameForm.cjs");
|
|
34
|
+
var import_FrameTarget = require("./FrameTarget.cjs");
|
|
38
35
|
function getScrollPosition() {
|
|
39
36
|
return {
|
|
40
37
|
left: window.pageXOffset,
|
|
@@ -46,43 +43,21 @@ var _Frame = class extends import_js_toolkit.Base {
|
|
|
46
43
|
get id() {
|
|
47
44
|
return this.$el.id;
|
|
48
45
|
}
|
|
49
|
-
getDirectChild(name) {
|
|
50
|
-
if (!this.$children[name]) {
|
|
51
|
-
return [];
|
|
52
|
-
}
|
|
53
|
-
if (!this.$children.Frame) {
|
|
54
|
-
return this.$children[name];
|
|
55
|
-
}
|
|
56
|
-
return this.$children[name].filter((child) => this.$children.Frame.every((frame) => frame.$children[name] ? !frame.$children[name].includes(child) : true));
|
|
57
|
-
}
|
|
58
46
|
get directChildrenFrameTarget() {
|
|
59
47
|
return (0, import_js_toolkit.getDirectChildren)(this, "Frame", "FrameTarget");
|
|
60
48
|
}
|
|
61
|
-
mounted() {
|
|
62
|
-
if (this.$options.history) {
|
|
63
|
-
window.addEventListener("popstate", this);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
destroyed() {
|
|
67
|
-
window.removeEventListener("popstate", this);
|
|
68
|
-
}
|
|
69
|
-
handleEvent(event) {
|
|
70
|
-
if (event.type === "popstate") {
|
|
71
|
-
this.onWindowPopstate(event);
|
|
72
|
-
}
|
|
73
|
-
if (event.type === "beforeunload") {
|
|
74
|
-
this.onWindowUnload();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
49
|
onWindowUnload() {
|
|
78
50
|
const { history } = window;
|
|
79
51
|
if (!history.state) {
|
|
80
52
|
return;
|
|
81
53
|
}
|
|
82
|
-
history.replaceState(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
54
|
+
history.replaceState(
|
|
55
|
+
{
|
|
56
|
+
...history.state,
|
|
57
|
+
scroll: getScrollPosition()
|
|
58
|
+
},
|
|
59
|
+
""
|
|
60
|
+
);
|
|
86
61
|
}
|
|
87
62
|
onWindowPopstate(event) {
|
|
88
63
|
this.goTo(window.location.href, event.state);
|
|
@@ -130,7 +105,9 @@ var _Frame = class extends import_js_toolkit.Base {
|
|
|
130
105
|
await Promise.all(this.directChildrenFrameTarget.map((target) => target.leave()));
|
|
131
106
|
this.$emit("after-leave");
|
|
132
107
|
this.$emit("before-content");
|
|
133
|
-
this.directChildrenFrameTarget.map(
|
|
108
|
+
this.directChildrenFrameTarget.map(
|
|
109
|
+
(target, index) => target.updateContent(newFrame.directChildrenFrameTarget[index])
|
|
110
|
+
);
|
|
134
111
|
if (this.$options.history) {
|
|
135
112
|
document.title = doc.title;
|
|
136
113
|
(0, import_utils.historyPush)({ path: parsedUrl.pathname, search: parsedUrl.searchParams });
|
|
@@ -155,14 +132,14 @@ var _Frame = class extends import_js_toolkit.Base {
|
|
|
155
132
|
}
|
|
156
133
|
return cached.content;
|
|
157
134
|
}
|
|
158
|
-
const promise = fetch(url);
|
|
135
|
+
const promise = fetch(url).then((response) => response.text());
|
|
159
136
|
try {
|
|
160
137
|
cache.set(url, {
|
|
161
138
|
promise,
|
|
162
139
|
status: "pending",
|
|
163
140
|
content: void 0
|
|
164
141
|
});
|
|
165
|
-
const content = await promise
|
|
142
|
+
const content = await promise;
|
|
166
143
|
cache.set(url, {
|
|
167
144
|
promise,
|
|
168
145
|
status: "resolved",
|
|
@@ -193,9 +170,9 @@ __publicField(Frame, "config", {
|
|
|
193
170
|
"after-enter"
|
|
194
171
|
],
|
|
195
172
|
components: {
|
|
196
|
-
FrameAnchor: import_FrameAnchor.
|
|
197
|
-
FrameForm: import_FrameForm.
|
|
198
|
-
FrameTarget: import_FrameTarget.
|
|
173
|
+
FrameAnchor: import_FrameAnchor.FrameAnchor,
|
|
174
|
+
FrameForm: import_FrameForm.FrameForm,
|
|
175
|
+
FrameTarget: import_FrameTarget.FrameTarget,
|
|
199
176
|
Frame: _Frame
|
|
200
177
|
},
|
|
201
178
|
options: {
|
|
@@ -203,3 +180,4 @@ __publicField(Frame, "config", {
|
|
|
203
180
|
}
|
|
204
181
|
});
|
|
205
182
|
if (module.exports.default) module.exports = module.exports.default;
|
|
183
|
+
//# sourceMappingURL=Frame.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/Frame.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base, isDirectChild, getDirectChildren } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { nextFrame, historyPush } from '@studiometa/js-toolkit/utils';\nimport { FrameAnchor } from './FrameAnchor.js';\nimport { FrameForm } from './FrameForm.js';\nimport { FrameTarget } from './FrameTarget.js';\n\n/**\n * Get the scroll position.\n */\nfunction getScrollPosition() {\n return {\n left: window.pageXOffset,\n top: window.pageYOffset,\n };\n}\n\n/**\n * The fetch cache.\n */\nconst cache: Map<\n string,\n { promise: Promise<string>; status: 'pending' | 'resolved' | 'error'; content: string }\n> = new Map();\n\nexport interface FrameProps extends BaseProps {\n $children: {\n FrameAnchor: FrameAnchor[];\n FrameForm: FrameForm[];\n FrameTarget: FrameTarget[];\n // eslint-disable-next-line no-use-before-define\n Frame: Frame[];\n };\n $options: {\n history: boolean;\n };\n}\n\n/**\n * Class.\n */\nexport class Frame<T extends BaseProps = BaseProps> extends Base<T & FrameProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Frame',\n emits: [\n 'before-fetch',\n 'after-fetch',\n 'before-leave',\n 'after-leave',\n 'before-content',\n 'after-content',\n 'before-enter',\n 'after-enter',\n ],\n components: {\n FrameAnchor,\n FrameForm,\n FrameTarget,\n Frame,\n },\n options: {\n history: Boolean,\n },\n };\n\n /**\n * Get uniq id.\n */\n get id() {\n return this.$el.id;\n }\n\n /**\n * Get direct `FrameTarget` children.\n */\n get directChildrenFrameTarget(): FrameTarget[] {\n return getDirectChildren(this, 'Frame', 'FrameTarget');\n }\n\n /**\n * Prevent scroll top on unload.\n */\n onWindowUnload() {\n const { history } = window;\n\n if (!history.state) {\n return;\n }\n\n history.replaceState(\n {\n ...history.state,\n scroll: getScrollPosition(),\n },\n '',\n );\n }\n\n /**\n * Go to the previous URL on `popstate` event.\n */\n onWindowPopstate(event: PopStateEvent) {\n this.goTo(window.location.href, event.state);\n }\n\n /**\n * Prevent click on `FrameAnchor`.\n */\n onFrameAnchorClick(index: number, event: MouseEvent) {\n // Prevent propagation of nested frames\n if (!isDirectChild(this, 'Frame', 'FrameAnchor', this.$children.FrameAnchor[index])) {\n return;\n }\n\n this.$log('onAFrameClick', index, event);\n event.preventDefault();\n const anchor = this.$children.FrameAnchor[index];\n\n // Do nothing when clicking links on the same page\n // @todo handle hash change\n if (anchor.href === window.location.href) {\n return;\n }\n\n this.goTo(anchor.href);\n }\n\n /**\n * Prevent submit on forms.\n */\n onFrameFormSubmit(index:number, event:SubmitEvent) {\n // Prevent propagation of nested frames\n if (!isDirectChild(this, 'Frame', 'FrameForm', this.$children.FrameForm[index])) {\n return;\n }\n\n this.$log('onFrameFormFrameSubmit', index, event);\n event.preventDefault();\n const form = this.$children.FrameForm[index];\n const url = new URL(form.action);\n // @ts-ignore\n url.search = new URLSearchParams(new FormData(form.$el)).toString();\n // @todo handle post request\n this.goTo(url.toString());\n }\n\n /**\n * Parge an HTML string into a DOM object.\n */\n parseHTML(string = '') {\n return new DOMParser().parseFromString(string, 'text/html');\n }\n\n /**\n * Go to the given url.\n */\n async goTo(url:string, scroll:{ top: number, left: number } = null) {\n this.$log('goTo', url);\n const parsedUrl = new URL(url);\n\n if (parsedUrl.origin !== window.location.origin) {\n throw new Error('Cross origin request are not allowed.');\n }\n\n this.$emit('before-fetch', url);\n\n // @todo add option to use content as is or to parse it and extract the new frame\n const content = await this.fetch(url);\n const doc = this.parseHTML(content);\n const el = doc.querySelector(`#${this.id}`);\n // @todo manage el === null\n const newFrame = new Frame(el as HTMLElement);\n newFrame.$children.registerAll();\n\n this.$emit('after-fetch', url, content);\n\n this.$emit('before-leave');\n // Leave all\n await Promise.all(this.directChildrenFrameTarget.map((target) => target.leave()));\n\n this.$emit('after-leave');\n this.$emit('before-content');\n\n // Update content\n // @todo insert non existing FrameTarget as well\n this.directChildrenFrameTarget.map((target, index) =>\n target.updateContent(newFrame.directChildrenFrameTarget[index]),\n );\n\n // Push history\n if (this.$options.history) {\n document.title = doc.title;\n historyPush({ path: parsedUrl.pathname, search: parsedUrl.searchParams });\n }\n\n if (scroll) {\n document.scrollingElement.scrollTop = scroll.top;\n document.scrollingElement.scrollLeft = scroll.left;\n }\n\n // Update components\n await nextFrame();\n this.$root.$update();\n await nextFrame();\n\n this.$emit('after-content');\n this.$emit('before-enter');\n\n // Enter all\n await Promise.all(this.directChildrenFrameTarget.map((target) => target.enter()));\n\n this.$emit('after-enter');\n }\n\n /**\n * Fetch the given url.\n */\n async fetch(url:string):Promise<string> {\n const cached = cache.get(url);\n\n if (cached) {\n if (cached.status === 'pending') {\n return cached.promise;\n }\n\n return cached.content;\n }\n\n const promise = fetch(url).then((response) => response.text());\n\n try {\n cache.set(url, {\n promise,\n status: 'pending',\n content: undefined,\n });\n\n const content = await promise;\n\n cache.set(url, {\n promise,\n status: 'resolved',\n content,\n });\n\n return content;\n } catch (err) {\n cache.set(url, {\n promise,\n status: 'error',\n content: err,\n });\n\n return err;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,141 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { Base } from '@studiometa/js-toolkit';
|
|
2
|
+
import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';
|
|
3
|
+
import { FrameAnchor } from './FrameAnchor.js';
|
|
4
|
+
import { FrameForm } from './FrameForm.js';
|
|
5
|
+
import { FrameTarget } from './FrameTarget.js';
|
|
6
|
+
export interface FrameProps extends BaseProps {
|
|
7
|
+
$children: {
|
|
8
|
+
FrameAnchor: FrameAnchor[];
|
|
9
|
+
FrameForm: FrameForm[];
|
|
10
|
+
FrameTarget: FrameTarget[];
|
|
11
|
+
Frame: Frame[];
|
|
12
|
+
};
|
|
13
|
+
$options: {
|
|
14
|
+
history: boolean;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
17
|
/**
|
|
18
18
|
* Class.
|
|
19
19
|
*/
|
|
20
|
-
export
|
|
20
|
+
export declare class Frame<T extends BaseProps = BaseProps> extends Base<T & FrameProps> {
|
|
21
21
|
/**
|
|
22
22
|
* Config.
|
|
23
23
|
*/
|
|
24
|
-
static config:
|
|
25
|
-
name: string;
|
|
26
|
-
emits: string[];
|
|
27
|
-
components: {
|
|
28
|
-
FrameAnchor: typeof FrameAnchor;
|
|
29
|
-
FrameForm: typeof FrameForm;
|
|
30
|
-
FrameTarget: typeof FrameTarget;
|
|
31
|
-
Frame: typeof Frame;
|
|
32
|
-
};
|
|
33
|
-
options: {
|
|
34
|
-
history: BooleanConstructor;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
24
|
+
static config: BaseConfig;
|
|
37
25
|
/**
|
|
38
26
|
* Get uniq id.
|
|
39
|
-
* @returns {string}
|
|
40
27
|
*/
|
|
41
28
|
get id(): string;
|
|
42
|
-
/**
|
|
43
|
-
* Get direct children.
|
|
44
|
-
*
|
|
45
|
-
* @this {FrameInterface}
|
|
46
|
-
* @param {string} name
|
|
47
|
-
* @returns {any[]}
|
|
48
|
-
*/
|
|
49
|
-
getDirectChild(this: FrameInterface, name: string): any[];
|
|
50
29
|
/**
|
|
51
30
|
* Get direct `FrameTarget` children.
|
|
52
|
-
* @returns {FrameTarget[]}
|
|
53
31
|
*/
|
|
54
32
|
get directChildrenFrameTarget(): FrameTarget[];
|
|
55
|
-
/**
|
|
56
|
-
* Mounted hook.
|
|
57
|
-
* @returns {void}
|
|
58
|
-
*/
|
|
59
|
-
mounted(): void;
|
|
60
|
-
/**
|
|
61
|
-
* Destroyed hook.
|
|
62
|
-
* @returns {void}
|
|
63
|
-
*/
|
|
64
|
-
destroyed(): void;
|
|
65
|
-
/**
|
|
66
|
-
* Dispatch events.
|
|
67
|
-
* @param {PopStateEvent} event
|
|
68
|
-
* @returns {void}
|
|
69
|
-
*/
|
|
70
|
-
handleEvent(event: PopStateEvent): void;
|
|
71
33
|
/**
|
|
72
34
|
* Prevent scroll top on unload.
|
|
73
|
-
*
|
|
74
|
-
* @returns {void}
|
|
75
35
|
*/
|
|
76
36
|
onWindowUnload(): void;
|
|
77
37
|
/**
|
|
78
38
|
* Go to the previous URL on `popstate` event.
|
|
79
|
-
*
|
|
80
|
-
* @param {PopStateEvent} event
|
|
81
|
-
* @returns {void}
|
|
82
39
|
*/
|
|
83
40
|
onWindowPopstate(event: PopStateEvent): void;
|
|
84
41
|
/**
|
|
85
42
|
* Prevent click on `FrameAnchor`.
|
|
86
|
-
*
|
|
87
|
-
* @this {FrameInterface}
|
|
88
|
-
* @param {number} index
|
|
89
|
-
* @param {MouseEvent} event
|
|
90
|
-
* @returns {void}
|
|
91
43
|
*/
|
|
92
|
-
onFrameAnchorClick(
|
|
44
|
+
onFrameAnchorClick(index: number, event: MouseEvent): void;
|
|
93
45
|
/**
|
|
94
46
|
* Prevent submit on forms.
|
|
95
|
-
*
|
|
96
|
-
* @this {FrameInterface}
|
|
97
|
-
* @param {number} index
|
|
98
|
-
* @param {SubmitEvent} event
|
|
99
|
-
* @returns {void}
|
|
100
47
|
*/
|
|
101
|
-
onFrameFormSubmit(
|
|
48
|
+
onFrameFormSubmit(index: number, event: SubmitEvent): void;
|
|
102
49
|
/**
|
|
103
50
|
* Parge an HTML string into a DOM object.
|
|
104
|
-
* @param {string} string
|
|
105
|
-
* @returns {Document}
|
|
106
51
|
*/
|
|
107
52
|
parseHTML(string?: string): Document;
|
|
108
53
|
/**
|
|
109
54
|
* Go to the given url.
|
|
110
|
-
* @param {string} url
|
|
111
|
-
* @param {null|{ top: number, left: number }} [scroll]
|
|
112
|
-
* @returns {Promise<void>}
|
|
113
55
|
*/
|
|
114
|
-
goTo(url: string, scroll?:
|
|
56
|
+
goTo(url: string, scroll?: {
|
|
115
57
|
top: number;
|
|
116
58
|
left: number;
|
|
117
59
|
}): Promise<void>;
|
|
118
60
|
/**
|
|
119
61
|
* Fetch the given url.
|
|
120
|
-
* @param {string} url
|
|
121
|
-
* @returns {Promise<string>}
|
|
122
62
|
*/
|
|
123
63
|
fetch(url: string): Promise<string>;
|
|
124
64
|
}
|
|
125
|
-
export type FrameOptions = {
|
|
126
|
-
history: boolean;
|
|
127
|
-
position: 'replace' | 'prepend' | 'append';
|
|
128
|
-
target: string;
|
|
129
|
-
};
|
|
130
|
-
export type FrameInterface = Frame & {
|
|
131
|
-
$children: {
|
|
132
|
-
FrameAnchor: FrameAnchor[];
|
|
133
|
-
FrameForm: FrameForm[];
|
|
134
|
-
FrameTarget: FrameTarget[];
|
|
135
|
-
Frame: Frame[];
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
import { Base } from "@studiometa/js-toolkit";
|
|
139
|
-
import FrameTarget from "./FrameTarget.js";
|
|
140
|
-
import FrameAnchor from "./FrameAnchor.js";
|
|
141
|
-
import FrameForm from "./FrameForm.js";
|