@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/organisms/Frame/Frame.js
CHANGED
|
@@ -1 +1,155 @@
|
|
|
1
|
-
import{Base
|
|
1
|
+
import { Base, isDirectChild, getDirectChildren } from "@studiometa/js-toolkit";
|
|
2
|
+
import { nextFrame, historyPush } from "@studiometa/js-toolkit/utils";
|
|
3
|
+
import { FrameAnchor } from "./FrameAnchor.js";
|
|
4
|
+
import { FrameForm } from "./FrameForm.js";
|
|
5
|
+
import { FrameTarget } from "./FrameTarget.js";
|
|
6
|
+
function getScrollPosition() {
|
|
7
|
+
return {
|
|
8
|
+
left: window.pageXOffset,
|
|
9
|
+
top: window.pageYOffset
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const cache = /* @__PURE__ */ new Map();
|
|
13
|
+
class Frame extends Base {
|
|
14
|
+
static config = {
|
|
15
|
+
name: "Frame",
|
|
16
|
+
emits: [
|
|
17
|
+
"before-fetch",
|
|
18
|
+
"after-fetch",
|
|
19
|
+
"before-leave",
|
|
20
|
+
"after-leave",
|
|
21
|
+
"before-content",
|
|
22
|
+
"after-content",
|
|
23
|
+
"before-enter",
|
|
24
|
+
"after-enter"
|
|
25
|
+
],
|
|
26
|
+
components: {
|
|
27
|
+
FrameAnchor,
|
|
28
|
+
FrameForm,
|
|
29
|
+
FrameTarget,
|
|
30
|
+
Frame
|
|
31
|
+
},
|
|
32
|
+
options: {
|
|
33
|
+
history: Boolean
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
get id() {
|
|
37
|
+
return this.$el.id;
|
|
38
|
+
}
|
|
39
|
+
get directChildrenFrameTarget() {
|
|
40
|
+
return getDirectChildren(this, "Frame", "FrameTarget");
|
|
41
|
+
}
|
|
42
|
+
onWindowUnload() {
|
|
43
|
+
const { history } = window;
|
|
44
|
+
if (!history.state) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
history.replaceState(
|
|
48
|
+
{
|
|
49
|
+
...history.state,
|
|
50
|
+
scroll: getScrollPosition()
|
|
51
|
+
},
|
|
52
|
+
""
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
onWindowPopstate(event) {
|
|
56
|
+
this.goTo(window.location.href, event.state);
|
|
57
|
+
}
|
|
58
|
+
onFrameAnchorClick(index, event) {
|
|
59
|
+
if (!isDirectChild(this, "Frame", "FrameAnchor", this.$children.FrameAnchor[index])) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.$log("onAFrameClick", index, event);
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
const anchor = this.$children.FrameAnchor[index];
|
|
65
|
+
if (anchor.href === window.location.href) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.goTo(anchor.href);
|
|
69
|
+
}
|
|
70
|
+
onFrameFormSubmit(index, event) {
|
|
71
|
+
if (!isDirectChild(this, "Frame", "FrameForm", this.$children.FrameForm[index])) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
this.$log("onFrameFormFrameSubmit", index, event);
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
const form = this.$children.FrameForm[index];
|
|
77
|
+
const url = new URL(form.action);
|
|
78
|
+
url.search = new URLSearchParams(new FormData(form.$el)).toString();
|
|
79
|
+
this.goTo(url.toString());
|
|
80
|
+
}
|
|
81
|
+
parseHTML(string = "") {
|
|
82
|
+
return new DOMParser().parseFromString(string, "text/html");
|
|
83
|
+
}
|
|
84
|
+
async goTo(url, scroll = null) {
|
|
85
|
+
this.$log("goTo", url);
|
|
86
|
+
const parsedUrl = new URL(url);
|
|
87
|
+
if (parsedUrl.origin !== window.location.origin) {
|
|
88
|
+
throw new Error("Cross origin request are not allowed.");
|
|
89
|
+
}
|
|
90
|
+
this.$emit("before-fetch", url);
|
|
91
|
+
const content = await this.fetch(url);
|
|
92
|
+
const doc = this.parseHTML(content);
|
|
93
|
+
const el = doc.querySelector(`#${this.id}`);
|
|
94
|
+
const newFrame = new Frame(el);
|
|
95
|
+
newFrame.$children.registerAll();
|
|
96
|
+
this.$emit("after-fetch", url, content);
|
|
97
|
+
this.$emit("before-leave");
|
|
98
|
+
await Promise.all(this.directChildrenFrameTarget.map((target) => target.leave()));
|
|
99
|
+
this.$emit("after-leave");
|
|
100
|
+
this.$emit("before-content");
|
|
101
|
+
this.directChildrenFrameTarget.map(
|
|
102
|
+
(target, index) => target.updateContent(newFrame.directChildrenFrameTarget[index])
|
|
103
|
+
);
|
|
104
|
+
if (this.$options.history) {
|
|
105
|
+
document.title = doc.title;
|
|
106
|
+
historyPush({ path: parsedUrl.pathname, search: parsedUrl.searchParams });
|
|
107
|
+
}
|
|
108
|
+
if (scroll) {
|
|
109
|
+
document.scrollingElement.scrollTop = scroll.top;
|
|
110
|
+
document.scrollingElement.scrollLeft = scroll.left;
|
|
111
|
+
}
|
|
112
|
+
await nextFrame();
|
|
113
|
+
this.$root.$update();
|
|
114
|
+
await nextFrame();
|
|
115
|
+
this.$emit("after-content");
|
|
116
|
+
this.$emit("before-enter");
|
|
117
|
+
await Promise.all(this.directChildrenFrameTarget.map((target) => target.enter()));
|
|
118
|
+
this.$emit("after-enter");
|
|
119
|
+
}
|
|
120
|
+
async fetch(url) {
|
|
121
|
+
const cached = cache.get(url);
|
|
122
|
+
if (cached) {
|
|
123
|
+
if (cached.status === "pending") {
|
|
124
|
+
return cached.promise;
|
|
125
|
+
}
|
|
126
|
+
return cached.content;
|
|
127
|
+
}
|
|
128
|
+
const promise = fetch(url).then((response) => response.text());
|
|
129
|
+
try {
|
|
130
|
+
cache.set(url, {
|
|
131
|
+
promise,
|
|
132
|
+
status: "pending",
|
|
133
|
+
content: void 0
|
|
134
|
+
});
|
|
135
|
+
const content = await promise;
|
|
136
|
+
cache.set(url, {
|
|
137
|
+
promise,
|
|
138
|
+
status: "resolved",
|
|
139
|
+
content
|
|
140
|
+
});
|
|
141
|
+
return content;
|
|
142
|
+
} catch (err) {
|
|
143
|
+
cache.set(url, {
|
|
144
|
+
promise,
|
|
145
|
+
status: "error",
|
|
146
|
+
content: err
|
|
147
|
+
});
|
|
148
|
+
return err;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
export {
|
|
153
|
+
Frame
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=Frame.js.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": "AAAA,SAAS,MAAM,eAAe,yBAAyB;AAEvD,SAAS,WAAW,mBAAmB;AACvC,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAK5B,SAAS,oBAAoB;AAC3B,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,EACd;AACF;AAKA,MAAM,QAGF,oBAAI,IAAI;AAkBL,MAAM,cAA+C,KAAqB;AAAA,EAI/E,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAKA,IAAI,KAAK;AACP,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAKA,IAAI,4BAA2C;AAC7C,WAAO,kBAAkB,MAAM,SAAS,aAAa;AAAA,EACvD;AAAA,EAKA,iBAAiB;AACf,UAAM,EAAE,QAAQ,IAAI;AAEpB,QAAI,CAAC,QAAQ,OAAO;AAClB;AAAA,IACF;AAEA,YAAQ;AAAA,MACN;AAAA,QACE,GAAG,QAAQ;AAAA,QACX,QAAQ,kBAAkB;AAAA,MAC5B;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAKA,iBAAiB,OAAsB;AACrC,SAAK,KAAK,OAAO,SAAS,MAAM,MAAM,KAAK;AAAA,EAC7C;AAAA,EAKA,mBAAmB,OAAe,OAAmB;AAEnD,QAAI,CAAC,cAAc,MAAM,SAAS,eAAe,KAAK,UAAU,YAAY,MAAM,GAAG;AACnF;AAAA,IACF;AAEA,SAAK,KAAK,iBAAiB,OAAO,KAAK;AACvC,UAAM,eAAe;AACrB,UAAM,SAAS,KAAK,UAAU,YAAY;AAI1C,QAAI,OAAO,SAAS,OAAO,SAAS,MAAM;AACxC;AAAA,IACF;AAEA,SAAK,KAAK,OAAO,IAAI;AAAA,EACvB;AAAA,EAKA,kBAAkB,OAAc,OAAmB;AAEjD,QAAI,CAAC,cAAc,MAAM,SAAS,aAAa,KAAK,UAAU,UAAU,MAAM,GAAG;AAC/E;AAAA,IACF;AAEA,SAAK,KAAK,0BAA0B,OAAO,KAAK;AAChD,UAAM,eAAe;AACrB,UAAM,OAAO,KAAK,UAAU,UAAU;AACtC,UAAM,MAAM,IAAI,IAAI,KAAK,MAAM;AAE/B,QAAI,SAAS,IAAI,gBAAgB,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE,SAAS;AAElE,SAAK,KAAK,IAAI,SAAS,CAAC;AAAA,EAC1B;AAAA,EAKA,UAAU,SAAS,IAAI;AACrB,WAAO,IAAI,UAAU,EAAE,gBAAgB,QAAQ,WAAW;AAAA,EAC5D;AAAA,EAKA,MAAM,KAAK,KAAY,SAAuC,MAAM;AAClE,SAAK,KAAK,QAAQ,GAAG;AACrB,UAAM,YAAY,IAAI,IAAI,GAAG;AAE7B,QAAI,UAAU,WAAW,OAAO,SAAS,QAAQ;AAC/C,YAAM,IAAI,MAAM,uCAAuC;AAAA,IACzD;AAEA,SAAK,MAAM,gBAAgB,GAAG;AAG9B,UAAM,UAAU,MAAM,KAAK,MAAM,GAAG;AACpC,UAAM,MAAM,KAAK,UAAU,OAAO;AAClC,UAAM,KAAK,IAAI,cAAc,IAAI,KAAK,IAAI;AAE1C,UAAM,WAAW,IAAI,MAAM,EAAiB;AAC5C,aAAS,UAAU,YAAY;AAE/B,SAAK,MAAM,eAAe,KAAK,OAAO;AAEtC,SAAK,MAAM,cAAc;AAEzB,UAAM,QAAQ,IAAI,KAAK,0BAA0B,IAAI,CAAC,WAAW,OAAO,MAAM,CAAC,CAAC;AAEhF,SAAK,MAAM,aAAa;AACxB,SAAK,MAAM,gBAAgB;AAI3B,SAAK,0BAA0B;AAAA,MAAI,CAAC,QAAQ,UAC1C,OAAO,cAAc,SAAS,0BAA0B,MAAM;AAAA,IAChE;AAGA,QAAI,KAAK,SAAS,SAAS;AACzB,eAAS,QAAQ,IAAI;AACrB,kBAAY,EAAE,MAAM,UAAU,UAAU,QAAQ,UAAU,aAAa,CAAC;AAAA,IAC1E;AAEA,QAAI,QAAQ;AACV,eAAS,iBAAiB,YAAY,OAAO;AAC7C,eAAS,iBAAiB,aAAa,OAAO;AAAA,IAChD;AAGA,UAAM,UAAU;AAChB,SAAK,MAAM,QAAQ;AACnB,UAAM,UAAU;AAEhB,SAAK,MAAM,eAAe;AAC1B,SAAK,MAAM,cAAc;AAGzB,UAAM,QAAQ,IAAI,KAAK,0BAA0B,IAAI,CAAC,WAAW,OAAO,MAAM,CAAC,CAAC;AAEhF,SAAK,MAAM,aAAa;AAAA,EAC1B;AAAA,EAKA,MAAM,MAAM,KAA4B;AACtC,UAAM,SAAS,MAAM,IAAI,GAAG;AAE5B,QAAI,QAAQ;AACV,UAAI,OAAO,WAAW,WAAW;AAC/B,eAAO,OAAO;AAAA,MAChB;AAEA,aAAO,OAAO;AAAA,IAChB;AAEA,UAAM,UAAU,MAAM,GAAG,EAAE,KAAK,CAAC,aAAa,SAAS,KAAK,CAAC;AAE7D,QAAI;AACF,YAAM,IAAI,KAAK;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,QACR,SAAS;AAAA,MACX,CAAC;AAED,YAAM,UAAU,MAAM;AAEtB,YAAM,IAAI,KAAK;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT,SAAS,KAAP;AACA,YAAM,IAAI,KAAK;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,QACR,SAAS;AAAA,MACX,CAAC;AAED,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -21,10 +21,10 @@ var __publicField = (obj, key, value) => {
|
|
|
21
21
|
return value;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/ui/organisms/Frame/FrameAnchor.
|
|
24
|
+
// packages/ui/organisms/Frame/FrameAnchor.ts
|
|
25
25
|
var FrameAnchor_exports = {};
|
|
26
26
|
__export(FrameAnchor_exports, {
|
|
27
|
-
|
|
27
|
+
FrameAnchor: () => FrameAnchor
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(FrameAnchor_exports);
|
|
30
30
|
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
@@ -37,3 +37,4 @@ __publicField(FrameAnchor, "config", {
|
|
|
37
37
|
name: "FrameAnchor"
|
|
38
38
|
});
|
|
39
39
|
if (module.exports.default) module.exports = module.exports.default;
|
|
40
|
+
//# sourceMappingURL=FrameAnchor.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/FrameAnchor.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\n\nexport interface FrameAnchorProps extends BaseProps {\n $el: HTMLAnchorElement;\n}\n\n/**\n * FrameAnchor class.\n */\nexport class FrameAnchor<T extends BaseProps = BaseProps> extends Base<T & FrameAnchorProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'FrameAnchor',\n };\n\n /**\n * Get the URL.\n */\n get href(): string {\n return this.$el.href;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAUd,IAAM,cAAN,cAA2D,uBAA2B;AAAA,EAW3F,IAAI,OAAe;AACjB,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAVE,cAJW,aAIJ,UAAqB;AAAA,EAC1B,MAAM;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,27 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Base } from '@studiometa/js-toolkit';
|
|
2
|
+
import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';
|
|
3
|
+
export interface FrameAnchorProps extends BaseProps {
|
|
4
|
+
$el: HTMLAnchorElement;
|
|
5
|
+
}
|
|
6
6
|
/**
|
|
7
7
|
* FrameAnchor class.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export declare class FrameAnchor<T extends BaseProps = BaseProps> extends Base<T & FrameAnchorProps> {
|
|
10
10
|
/**
|
|
11
11
|
* Config.
|
|
12
12
|
*/
|
|
13
|
-
static config:
|
|
14
|
-
name: string;
|
|
15
|
-
};
|
|
13
|
+
static config: BaseConfig;
|
|
16
14
|
/**
|
|
17
15
|
* Get the URL.
|
|
18
|
-
*
|
|
19
|
-
* @this {FrameAnchorInterface}
|
|
20
|
-
* @returns {string}
|
|
21
16
|
*/
|
|
22
17
|
get href(): string;
|
|
23
18
|
}
|
|
24
|
-
export type FrameAnchorInterface = FrameAnchor & {
|
|
25
|
-
$el: HTMLAnchorElement;
|
|
26
|
-
};
|
|
27
|
-
import { Base } from "@studiometa/js-toolkit";
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
import{Base
|
|
1
|
+
import { Base } from "@studiometa/js-toolkit";
|
|
2
|
+
class FrameAnchor extends Base {
|
|
3
|
+
static config = {
|
|
4
|
+
name: "FrameAnchor"
|
|
5
|
+
};
|
|
6
|
+
get href() {
|
|
7
|
+
return this.$el.href;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
FrameAnchor
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=FrameAnchor.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/FrameAnchor.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\n\nexport interface FrameAnchorProps extends BaseProps {\n $el: HTMLAnchorElement;\n}\n\n/**\n * FrameAnchor class.\n */\nexport class FrameAnchor<T extends BaseProps = BaseProps> extends Base<T & FrameAnchorProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'FrameAnchor',\n };\n\n /**\n * Get the URL.\n */\n get href(): string {\n return this.$el.href;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,YAAY;AAUd,MAAM,oBAAqD,KAA2B;AAAA,EAI3F,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA,EAKA,IAAI,OAAe;AACjB,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -21,10 +21,10 @@ var __publicField = (obj, key, value) => {
|
|
|
21
21
|
return value;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/ui/organisms/Frame/FrameForm.
|
|
24
|
+
// packages/ui/organisms/Frame/FrameForm.ts
|
|
25
25
|
var FrameForm_exports = {};
|
|
26
26
|
__export(FrameForm_exports, {
|
|
27
|
-
|
|
27
|
+
FrameForm: () => FrameForm
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(FrameForm_exports);
|
|
30
30
|
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
@@ -37,3 +37,4 @@ __publicField(FrameForm, "config", {
|
|
|
37
37
|
name: "FrameForm"
|
|
38
38
|
});
|
|
39
39
|
if (module.exports.default) module.exports = module.exports.default;
|
|
40
|
+
//# sourceMappingURL=FrameForm.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/FrameForm.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface FrameFormProps extends BaseProps {\n $el: HTMLFormElement;\n}\n\n/**\n * FrameForm class.\n */\nexport class FrameForm<T extends BaseProps = BaseProps> extends Base<T & FrameFormProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'FrameForm',\n };\n\n /**\n * Get the form action.\n */\n get action(): string {\n return this.$el.action;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAUd,IAAM,YAAN,cAAyD,uBAAyB;AAAA,EAWvF,IAAI,SAAiB;AACnB,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAVE,cAJW,WAIJ,UAAqB;AAAA,EAC1B,MAAM;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Base } from '@studiometa/js-toolkit';
|
|
2
|
+
import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';
|
|
3
|
+
export interface FrameFormProps extends BaseProps {
|
|
4
|
+
$el: HTMLFormElement;
|
|
5
|
+
}
|
|
6
6
|
/**
|
|
7
7
|
* FrameForm class.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
export declare class FrameForm<T extends BaseProps = BaseProps> extends Base<T & FrameFormProps> {
|
|
10
|
+
/**
|
|
11
|
+
* Config.
|
|
12
|
+
*/
|
|
13
|
+
static config: BaseConfig;
|
|
13
14
|
/**
|
|
14
15
|
* Get the form action.
|
|
15
|
-
*
|
|
16
|
-
* @this {FrameFormInterface}
|
|
17
|
-
* @returns {string}
|
|
18
16
|
*/
|
|
19
17
|
get action(): string;
|
|
20
18
|
}
|
|
21
|
-
export type FrameFormInterface = FrameForm & {
|
|
22
|
-
$el: HTMLFormElement;
|
|
23
|
-
};
|
|
24
|
-
import { Base } from "@studiometa/js-toolkit";
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
import{Base
|
|
1
|
+
import { Base } from "@studiometa/js-toolkit";
|
|
2
|
+
class FrameForm extends Base {
|
|
3
|
+
static config = {
|
|
4
|
+
name: "FrameForm"
|
|
5
|
+
};
|
|
6
|
+
get action() {
|
|
7
|
+
return this.$el.action;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
FrameForm
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=FrameForm.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/FrameForm.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface FrameFormProps extends BaseProps {\n $el: HTMLFormElement;\n}\n\n/**\n * FrameForm class.\n */\nexport class FrameForm<T extends BaseProps = BaseProps> extends Base<T & FrameFormProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'FrameForm',\n };\n\n /**\n * Get the form action.\n */\n get action(): string {\n return this.$el.action;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,YAAY;AAUd,MAAM,kBAAmD,KAAyB;AAAA,EAIvF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA,EAKA,IAAI,SAAiB;AACnB,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -21,10 +21,10 @@ var __publicField = (obj, key, value) => {
|
|
|
21
21
|
return value;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/ui/organisms/Frame/FrameTarget.
|
|
24
|
+
// packages/ui/organisms/Frame/FrameTarget.ts
|
|
25
25
|
var FrameTarget_exports = {};
|
|
26
26
|
__export(FrameTarget_exports, {
|
|
27
|
-
|
|
27
|
+
FrameTarget: () => FrameTarget
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(FrameTarget_exports);
|
|
30
30
|
var import_utils = require("@studiometa/js-toolkit/utils");
|
|
@@ -45,9 +45,13 @@ var _FrameTarget = class extends import_primitives.Transition {
|
|
|
45
45
|
switch (this.$options.mode) {
|
|
46
46
|
case "append":
|
|
47
47
|
case "prepend":
|
|
48
|
-
await Promise.all(
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
await Promise.all(
|
|
49
|
+
Array.from(this.$el.children).filter(
|
|
50
|
+
(child) => from.split(" ").every((className) => child.classList.contains(className))
|
|
51
|
+
).map(
|
|
52
|
+
(child) => (0, import_utils.transition)(child, transitionStyles, enterKeep && "keep")
|
|
53
|
+
)
|
|
54
|
+
);
|
|
51
55
|
break;
|
|
52
56
|
case "replace":
|
|
53
57
|
default:
|
|
@@ -59,10 +63,11 @@ var _FrameTarget = class extends import_primitives.Transition {
|
|
|
59
63
|
switch (this.$options.mode) {
|
|
60
64
|
case "prepend":
|
|
61
65
|
case "append":
|
|
62
|
-
Array.from(newTarget.$el.children).
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
(0, import_utils.addClass)(Array.from(newTarget.$el.children), this.$options.enterFrom.split(" "));
|
|
67
|
+
this.$el.insertAdjacentHTML(
|
|
68
|
+
_FrameTarget.__INSERT_MODES[this.$options.mode],
|
|
69
|
+
newTarget.$el.innerHTML
|
|
70
|
+
);
|
|
66
71
|
break;
|
|
67
72
|
case "replace":
|
|
68
73
|
default:
|
|
@@ -90,3 +95,4 @@ __publicField(FrameTarget, "__INSERT_MODES", {
|
|
|
90
95
|
append: "beforeend"
|
|
91
96
|
});
|
|
92
97
|
if (module.exports.default) module.exports = module.exports.default;
|
|
98
|
+
//# sourceMappingURL=FrameTarget.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/FrameTarget.ts"],
|
|
4
|
+
"sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { addClass, transition } from '@studiometa/js-toolkit/utils';\nimport { Transition } from '../../primitives/index.js';\n\nexport interface FrameTargetProps extends BaseProps {\n $options: {\n mode: 'replace' | 'prepend' | 'append';\n id: string;\n leaveKeep: true;\n };\n}\n\n/**\n * FrameTarget class.\n */\nexport class FrameTarget<T extends BaseProps = BaseProps> extends Transition<T & FrameTargetProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...Transition.config,\n name: 'FrameTarget',\n log: true,\n options: {\n ...Transition.config.options,\n mode: {\n type: String,\n default: 'replace', // or 'prepend' or 'append'\n },\n id: String,\n },\n };\n\n /**\n * Insert modes.\n */\n static __INSERT_MODES = {\n prepend: 'afterbegin',\n append: 'beforeend',\n } as const;\n\n /**\n * Override options.\n */\n // @ts-ignore\n get $options() {\n const options = super.$options;\n\n options.leaveKeep = true;\n\n return options;\n }\n\n /**\n * Get uniq ID.\n */\n get id(): string {\n return this.$options.id ?? this.$el.id;\n }\n\n /**\n * Enter transition.\n */\n async enter() {\n this.$log('enter');\n\n const { enterFrom: from, enterActive: active, enterTo: to, leaveTo, enterKeep } = this.$options;\n const transitionStyles = { from, active, to };\n\n switch (this.$options.mode) {\n case 'append':\n case 'prepend':\n await Promise.all(\n Array.from(this.$el.children)\n .filter((child) =>\n from.split(' ').every((className) => child.classList.contains(className)),\n )\n .map((child) =>\n transition(child as HTMLElement, transitionStyles, enterKeep && 'keep'),\n ),\n );\n break;\n case 'replace':\n default:\n transitionStyles.from = Array.from(new Set([from, leaveTo].flat())).join(' ');\n await transition(this.$el, transitionStyles, enterKeep && 'keep');\n }\n }\n\n /**\n * Update the content from the new target.\n *\n * @param {FrameTarget} newTarget The instance of the new target.\n * @returns {void}\n */\n updateContent(newTarget:FrameTarget) {\n // @todo manage 'prepend' and 'append' transition\n // only the new content should have the transition\n // - add the leaveTo and enterFrom classes to all `newTarget.children`\n // - or wrap the new content in a custom div ?\n switch (this.$options.mode) {\n case 'prepend':\n case 'append':\n addClass(Array.from(newTarget.$el.children), this.$options.enterFrom.split(' '));\n this.$el.insertAdjacentHTML(\n FrameTarget.__INSERT_MODES[this.$options.mode],\n newTarget.$el.innerHTML,\n );\n break;\n case 'replace':\n default:\n this.$el.innerHTML = newTarget.$el.innerHTML;\n break;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAqC;AACrC,wBAA2B;AAapB,IAAM,eAAN,cAA2D,6BAAiC;AAAA,EA8BjG,IAAI,WAAW;AACb,UAAM,UAAU,MAAM;AAEtB,YAAQ,YAAY;AAEpB,WAAO;AAAA,EACT;AAAA,EAKA,IAAI,KAAa;AACf,WAAO,KAAK,SAAS,MAAM,KAAK,IAAI;AAAA,EACtC;AAAA,EAKA,MAAM,QAAQ;AACZ,SAAK,KAAK,OAAO;AAEjB,UAAM,EAAE,WAAW,MAAM,aAAa,QAAQ,SAAS,IAAI,SAAS,UAAU,IAAI,KAAK;AACvF,UAAM,mBAAmB,EAAE,MAAM,QAAQ,GAAG;AAE5C,YAAQ,KAAK,SAAS,MAAM;AAAA,MAC1B,KAAK;AAAA,MACL,KAAK;AACH,cAAM,QAAQ;AAAA,UACZ,MAAM,KAAK,KAAK,IAAI,QAAQ,EACzB;AAAA,YAAO,CAAC,UACP,KAAK,MAAM,GAAG,EAAE,MAAM,CAAC,cAAc,MAAM,UAAU,SAAS,SAAS,CAAC;AAAA,UAC1E,EACC;AAAA,YAAI,CAAC,cACJ,yBAAW,OAAsB,kBAAkB,aAAa,MAAM;AAAA,UACxE;AAAA,QACJ;AACA;AAAA,MACF,KAAK;AAAA,MACL;AACE,yBAAiB,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG;AAC5E,kBAAM,yBAAW,KAAK,KAAK,kBAAkB,aAAa,MAAM;AAAA,IACpE;AAAA,EACF;AAAA,EAQA,cAAc,WAAuB;AAKnC,YAAQ,KAAK,SAAS,MAAM;AAAA,MAC1B,KAAK;AAAA,MACL,KAAK;AACH,mCAAS,MAAM,KAAK,UAAU,IAAI,QAAQ,GAAG,KAAK,SAAS,UAAU,MAAM,GAAG,CAAC;AAC/E,aAAK,IAAI;AAAA,UACP,aAAY,eAAe,KAAK,SAAS;AAAA,UACzC,UAAU,IAAI;AAAA,QAChB;AACA;AAAA,MACF,KAAK;AAAA,MACL;AACE,aAAK,IAAI,YAAY,UAAU,IAAI;AACnC;AAAA,IACJ;AAAA,EACF;AACF;AApGO,IAAM,cAAN;AAIL,cAJW,aAIJ,UAAqB;AAAA,EAC1B,GAAG,6BAAW;AAAA,EACd,MAAM;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AAAA,IACP,GAAG,6BAAW,OAAO;AAAA,IACrB,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,IAAI;AAAA,EACN;AACF;AAKA,cArBW,aAqBJ,kBAAiB;AAAA,EACtB,SAAS;AAAA,EACT,QAAQ;AACV;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,45 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';
|
|
2
|
+
import { Transition } from '../../primitives/index.js';
|
|
3
|
+
export interface FrameTargetProps extends BaseProps {
|
|
4
|
+
$options: {
|
|
5
|
+
mode: 'replace' | 'prepend' | 'append';
|
|
6
|
+
id: string;
|
|
7
|
+
leaveKeep: true;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
6
10
|
/**
|
|
7
11
|
* FrameTarget class.
|
|
8
12
|
*/
|
|
9
|
-
export
|
|
13
|
+
export declare class FrameTarget<T extends BaseProps = BaseProps> extends Transition<T & FrameTargetProps> {
|
|
10
14
|
/**
|
|
11
15
|
* Config.
|
|
12
16
|
*/
|
|
13
|
-
static config:
|
|
14
|
-
name: string;
|
|
15
|
-
log: boolean;
|
|
16
|
-
options: {
|
|
17
|
-
mode: {
|
|
18
|
-
type: StringConstructor;
|
|
19
|
-
default: string;
|
|
20
|
-
};
|
|
21
|
-
id: StringConstructor;
|
|
22
|
-
};
|
|
23
|
-
debug?: boolean;
|
|
24
|
-
refs?: string[];
|
|
25
|
-
emits?: string[];
|
|
26
|
-
components?: import("@studiometa/js-toolkit/Base/index.js").BaseConfigComponents;
|
|
27
|
-
};
|
|
17
|
+
static config: BaseConfig;
|
|
28
18
|
/**
|
|
29
19
|
* Insert modes.
|
|
30
20
|
*/
|
|
31
21
|
static __INSERT_MODES: {
|
|
32
|
-
prepend:
|
|
33
|
-
append:
|
|
22
|
+
readonly prepend: "afterbegin";
|
|
23
|
+
readonly append: "beforeend";
|
|
34
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Override options.
|
|
27
|
+
*/
|
|
28
|
+
get $options(): import("@studiometa/js-toolkit/Base/managers/OptionsManager.js").OptionsManager & import("@studiometa/js-toolkit/Base/index.js").BaseOptions & (T & FrameTargetProps & import("../../index.js").TransitionProps)["$options"];
|
|
35
29
|
/**
|
|
36
30
|
* Get uniq ID.
|
|
37
|
-
* @returns {string}
|
|
38
31
|
*/
|
|
39
32
|
get id(): string;
|
|
40
33
|
/**
|
|
41
34
|
* Enter transition.
|
|
42
|
-
* @returns {Promise<void>}
|
|
43
35
|
*/
|
|
44
36
|
enter(): Promise<void>;
|
|
45
37
|
/**
|
|
@@ -50,4 +42,3 @@ export default class FrameTarget extends FrameTarget_base {
|
|
|
50
42
|
*/
|
|
51
43
|
updateContent(newTarget: FrameTarget): void;
|
|
52
44
|
}
|
|
53
|
-
export {};
|
|
@@ -1 +1,70 @@
|
|
|
1
|
-
import{transition
|
|
1
|
+
import { addClass, transition } from "@studiometa/js-toolkit/utils";
|
|
2
|
+
import { Transition } from "../../primitives/index.js";
|
|
3
|
+
class FrameTarget extends Transition {
|
|
4
|
+
static config = {
|
|
5
|
+
...Transition.config,
|
|
6
|
+
name: "FrameTarget",
|
|
7
|
+
log: true,
|
|
8
|
+
options: {
|
|
9
|
+
...Transition.config.options,
|
|
10
|
+
mode: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "replace"
|
|
13
|
+
},
|
|
14
|
+
id: String
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
static __INSERT_MODES = {
|
|
18
|
+
prepend: "afterbegin",
|
|
19
|
+
append: "beforeend"
|
|
20
|
+
};
|
|
21
|
+
get $options() {
|
|
22
|
+
const options = super.$options;
|
|
23
|
+
options.leaveKeep = true;
|
|
24
|
+
return options;
|
|
25
|
+
}
|
|
26
|
+
get id() {
|
|
27
|
+
return this.$options.id ?? this.$el.id;
|
|
28
|
+
}
|
|
29
|
+
async enter() {
|
|
30
|
+
this.$log("enter");
|
|
31
|
+
const { enterFrom: from, enterActive: active, enterTo: to, leaveTo, enterKeep } = this.$options;
|
|
32
|
+
const transitionStyles = { from, active, to };
|
|
33
|
+
switch (this.$options.mode) {
|
|
34
|
+
case "append":
|
|
35
|
+
case "prepend":
|
|
36
|
+
await Promise.all(
|
|
37
|
+
Array.from(this.$el.children).filter(
|
|
38
|
+
(child) => from.split(" ").every((className) => child.classList.contains(className))
|
|
39
|
+
).map(
|
|
40
|
+
(child) => transition(child, transitionStyles, enterKeep && "keep")
|
|
41
|
+
)
|
|
42
|
+
);
|
|
43
|
+
break;
|
|
44
|
+
case "replace":
|
|
45
|
+
default:
|
|
46
|
+
transitionStyles.from = Array.from(new Set([from, leaveTo].flat())).join(" ");
|
|
47
|
+
await transition(this.$el, transitionStyles, enterKeep && "keep");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
updateContent(newTarget) {
|
|
51
|
+
switch (this.$options.mode) {
|
|
52
|
+
case "prepend":
|
|
53
|
+
case "append":
|
|
54
|
+
addClass(Array.from(newTarget.$el.children), this.$options.enterFrom.split(" "));
|
|
55
|
+
this.$el.insertAdjacentHTML(
|
|
56
|
+
FrameTarget.__INSERT_MODES[this.$options.mode],
|
|
57
|
+
newTarget.$el.innerHTML
|
|
58
|
+
);
|
|
59
|
+
break;
|
|
60
|
+
case "replace":
|
|
61
|
+
default:
|
|
62
|
+
this.$el.innerHTML = newTarget.$el.innerHTML;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
FrameTarget
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=FrameTarget.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/FrameTarget.ts"],
|
|
4
|
+
"sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { addClass, transition } from '@studiometa/js-toolkit/utils';\nimport { Transition } from '../../primitives/index.js';\n\nexport interface FrameTargetProps extends BaseProps {\n $options: {\n mode: 'replace' | 'prepend' | 'append';\n id: string;\n leaveKeep: true;\n };\n}\n\n/**\n * FrameTarget class.\n */\nexport class FrameTarget<T extends BaseProps = BaseProps> extends Transition<T & FrameTargetProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...Transition.config,\n name: 'FrameTarget',\n log: true,\n options: {\n ...Transition.config.options,\n mode: {\n type: String,\n default: 'replace', // or 'prepend' or 'append'\n },\n id: String,\n },\n };\n\n /**\n * Insert modes.\n */\n static __INSERT_MODES = {\n prepend: 'afterbegin',\n append: 'beforeend',\n } as const;\n\n /**\n * Override options.\n */\n // @ts-ignore\n get $options() {\n const options = super.$options;\n\n options.leaveKeep = true;\n\n return options;\n }\n\n /**\n * Get uniq ID.\n */\n get id(): string {\n return this.$options.id ?? this.$el.id;\n }\n\n /**\n * Enter transition.\n */\n async enter() {\n this.$log('enter');\n\n const { enterFrom: from, enterActive: active, enterTo: to, leaveTo, enterKeep } = this.$options;\n const transitionStyles = { from, active, to };\n\n switch (this.$options.mode) {\n case 'append':\n case 'prepend':\n await Promise.all(\n Array.from(this.$el.children)\n .filter((child) =>\n from.split(' ').every((className) => child.classList.contains(className)),\n )\n .map((child) =>\n transition(child as HTMLElement, transitionStyles, enterKeep && 'keep'),\n ),\n );\n break;\n case 'replace':\n default:\n transitionStyles.from = Array.from(new Set([from, leaveTo].flat())).join(' ');\n await transition(this.$el, transitionStyles, enterKeep && 'keep');\n }\n }\n\n /**\n * Update the content from the new target.\n *\n * @param {FrameTarget} newTarget The instance of the new target.\n * @returns {void}\n */\n updateContent(newTarget:FrameTarget) {\n // @todo manage 'prepend' and 'append' transition\n // only the new content should have the transition\n // - add the leaveTo and enterFrom classes to all `newTarget.children`\n // - or wrap the new content in a custom div ?\n switch (this.$options.mode) {\n case 'prepend':\n case 'append':\n addClass(Array.from(newTarget.$el.children), this.$options.enterFrom.split(' '));\n this.$el.insertAdjacentHTML(\n FrameTarget.__INSERT_MODES[this.$options.mode],\n newTarget.$el.innerHTML,\n );\n break;\n case 'replace':\n default:\n this.$el.innerHTML = newTarget.$el.innerHTML;\n break;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,UAAU,kBAAkB;AACrC,SAAS,kBAAkB;AAapB,MAAM,oBAAqD,WAAiC;AAAA,EAIjG,OAAO,SAAqB;AAAA,IAC1B,GAAG,WAAW;AAAA,IACd,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS;AAAA,MACP,GAAG,WAAW,OAAO;AAAA,MACrB,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,IAAI;AAAA,IACN;AAAA,EACF;AAAA,EAKA,OAAO,iBAAiB;AAAA,IACtB,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EAMA,IAAI,WAAW;AACb,UAAM,UAAU,MAAM;AAEtB,YAAQ,YAAY;AAEpB,WAAO;AAAA,EACT;AAAA,EAKA,IAAI,KAAa;AACf,WAAO,KAAK,SAAS,MAAM,KAAK,IAAI;AAAA,EACtC;AAAA,EAKA,MAAM,QAAQ;AACZ,SAAK,KAAK,OAAO;AAEjB,UAAM,EAAE,WAAW,MAAM,aAAa,QAAQ,SAAS,IAAI,SAAS,UAAU,IAAI,KAAK;AACvF,UAAM,mBAAmB,EAAE,MAAM,QAAQ,GAAG;AAE5C,YAAQ,KAAK,SAAS,MAAM;AAAA,MAC1B,KAAK;AAAA,MACL,KAAK;AACH,cAAM,QAAQ;AAAA,UACZ,MAAM,KAAK,KAAK,IAAI,QAAQ,EACzB;AAAA,YAAO,CAAC,UACP,KAAK,MAAM,GAAG,EAAE,MAAM,CAAC,cAAc,MAAM,UAAU,SAAS,SAAS,CAAC;AAAA,UAC1E,EACC;AAAA,YAAI,CAAC,UACJ,WAAW,OAAsB,kBAAkB,aAAa,MAAM;AAAA,UACxE;AAAA,QACJ;AACA;AAAA,MACF,KAAK;AAAA,MACL;AACE,yBAAiB,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG;AAC5E,cAAM,WAAW,KAAK,KAAK,kBAAkB,aAAa,MAAM;AAAA,IACpE;AAAA,EACF;AAAA,EAQA,cAAc,WAAuB;AAKnC,YAAQ,KAAK,SAAS,MAAM;AAAA,MAC1B,KAAK;AAAA,MACL,KAAK;AACH,iBAAS,MAAM,KAAK,UAAU,IAAI,QAAQ,GAAG,KAAK,SAAS,UAAU,MAAM,GAAG,CAAC;AAC/E,aAAK,IAAI;AAAA,UACP,YAAY,eAAe,KAAK,SAAS;AAAA,UACzC,UAAU,IAAI;AAAA,QAChB;AACA;AAAA,MACF,KAAK;AAAA,MACL;AACE,aAAK,IAAI,YAAY,UAAU,IAAI;AACnC;AAAA,IACJ;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -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))
|
|
@@ -16,20 +10,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
10
|
}
|
|
17
11
|
return to;
|
|
18
12
|
};
|
|
19
|
-
var
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
15
|
|
|
22
|
-
// packages/ui/organisms/Frame/index.
|
|
16
|
+
// packages/ui/organisms/Frame/index.ts
|
|
23
17
|
var Frame_exports = {};
|
|
24
|
-
__export(Frame_exports, {
|
|
25
|
-
Frame: () => import_Frame.default,
|
|
26
|
-
FrameAnchor: () => import_FrameAnchor.default,
|
|
27
|
-
FrameForm: () => import_FrameForm.default,
|
|
28
|
-
FrameTarget: () => import_FrameTarget.default
|
|
29
|
-
});
|
|
30
18
|
module.exports = __toCommonJS(Frame_exports);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
__reExport(Frame_exports, require("./Frame.cjs"), module.exports);
|
|
20
|
+
__reExport(Frame_exports, require("./FrameAnchor.cjs"), module.exports);
|
|
21
|
+
__reExport(Frame_exports, require("./FrameForm.cjs"), module.exports);
|
|
22
|
+
__reExport(Frame_exports, require("./FrameTarget.cjs"), module.exports);
|
|
35
23
|
if (module.exports.default) module.exports = module.exports.default;
|
|
24
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/organisms/Frame/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './Frame.js';\nexport * from './FrameAnchor.js';\nexport * from './FrameForm.js';\nexport * from './FrameTarget.js';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,wBAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,4BAFd;AAGA,0BAAc,8BAHd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|