yarn deploy
39 | ```
40 |
41 | If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
42 |
--------------------------------------------------------------------------------
/packages/demo/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [require.resolve("@docusaurus/core/lib/babel/preset")],
3 | plugins: [
4 | ["@babel/plugin-proposal-decorators", { "legacy": true }]
5 | ]
6 | };
7 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Axes/html.txt:
--------------------------------------------------------------------------------
1 |
2 |
You can change the value of the axis and apply it to the UI via the touch screen, mouse, or various other inputs.
3 |
4 |
5 |
6 |

7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Axes/js.txt:
--------------------------------------------------------------------------------
1 | const SUPPORT_TOUCH = "ontouchstart" in window;
2 | const delegateTarget = document.getElementById("delegateTarget");
3 | const uiWrapper = document.getElementById("uiWrapper");
4 | const uiWidth = uiWrapper.getBoundingClientRect().width;
5 | const uiHeight = uiWrapper.getBoundingClientRect().height;
6 | const ui = uiWrapper.querySelector(".ui");
7 |
8 | // 1. Initialize eg.Axes
9 | const axes = new eg.Axes({
10 | panX: {
11 | range: [0, uiWidth],
12 | bounce: 20
13 | },
14 | panY: {
15 | range: [0, uiHeight],
16 | bounce: 20
17 | },
18 | zoom: {
19 | range: [1, 5],
20 | bounce: 1
21 | }
22 | }, {
23 | minimumDuration: 300
24 | });
25 |
26 | // 2. attach event handler
27 | axes.on({
28 | "change": function (e) {
29 | var pos = e.pos;
30 | ui.style[eg.Axes.TRANSFORM] =
31 | `translate3d(${pos.panX}px, ${pos.panY}px, 0) scale(${pos.zoom})`;
32 | },
33 | });
34 |
35 | // 3. Initialize inputTypes and connect it
36 | axes.connect("panX panY", new eg.Axes.PanInput(delegateTarget))
37 | axes.connect("panX panY", new eg.Axes.MoveKeyInput(delegateTarget, {
38 | scale: [5, -5]
39 | })).connect("zoom", SUPPORT_TOUCH ?
40 | new eg.Axes.PinchInput(delegateTarget) :
41 | new eg.Axes.WheelInput(delegateTarget));
42 |
43 | // 4. move to position
44 | axes.setTo({panX: uiWidth/2 + 20, panY: uiHeight/2});
45 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Axes/react.txt:
--------------------------------------------------------------------------------
1 | import React, { useEffect } from "react";
2 |
3 | import { useAxes, PanInput, PinchInput, MoveKeyInput, WheelInput } from "@egjs/react-axes";
4 | import Icon from "../../../static/img/demos/axes/logo.svg";
5 | import "../../css/demos/axes.css";
6 |
7 | export default function AxesDemo() {
8 | const { connect, setAxis, setTo, panX, panY, zoom } = useAxes(
9 | {
10 | panX: {
11 | range: [0, 0],
12 | bounce: 20,
13 | },
14 | panY: {
15 | range: [0, 0],
16 | bounce: 20,
17 | },
18 | zoom: {
19 | range: [1, 5],
20 | bounce: 1,
21 | },
22 | },
23 | {
24 | minimumDuration: 300,
25 | }
26 | );
27 |
28 | useEffect(() => {
29 | const SUPPORT_TOUCH = "ontouchstart" in window;
30 | const delegateTarget = document.getElementById("delegateTarget");
31 | const uiWrapper = document.getElementById("uiWrapper");
32 | const uiWidth = uiWrapper.getBoundingClientRect().width;
33 | const uiHeight = uiWrapper.getBoundingClientRect().height;
34 |
35 | setAxis({
36 | panX: {
37 | range: [0, uiWidth],
38 | },
39 | panY: {
40 | range: [0, uiHeight],
41 | },
42 | });
43 | connect("panX panY", new PanInput(delegateTarget));
44 | connect("panX panY", new MoveKeyInput(delegateTarget, { scale: [5, -5] }));
45 | connect("zoom", SUPPORT_TOUCH ? new PinchInput(delegateTarget) : new WheelInput(delegateTarget));
46 |
47 | setTo({ panX: uiWidth / 2, panY: uiHeight / 2 });
48 | }, []);
49 |
50 | return (
51 |
52 |
53 | You can change the value of the axis and apply it to the UI via the
54 | touch screen, mouse, or various other inputs.
55 |
56 |
63 |
64 |
65 | );
66 | };
67 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Axes/svelte.txt:
--------------------------------------------------------------------------------
1 |
47 |
48 |
49 |
50 | You can change the value of the axis and apply it to the UI via the
51 | touch screen, mouse, or various other inputs.
52 |
53 |
54 |
55 |
56 |

57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Axes/vue.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | You can change the value of the axis and apply it to the UI via the
5 | touch screen, mouse, or various other inputs.
6 |
7 |
8 |
9 |
10 |
![]()
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
75 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Car360viewer/js.txt:
--------------------------------------------------------------------------------
1 | const images = Array.prototype.slice.call(document.querySelectorAll(
2 | ".car_rotate img"));
3 | const imagesNum = images.length;
4 | const ape = 360 / imagesNum; // angle per each
5 |
6 | // 1. Initialize eg.Axes
7 | const axes = new eg.Axes({
8 | angle: {
9 | range: [0, 360],
10 | circular: true
11 | }
12 | }, {
13 | deceleration: 0.01
14 | });
15 |
16 | // 2. attach event handler
17 | axes.on("change", ({pos}) => {
18 | const index = Math.min(Math.round(pos.angle % 360 / ape), imagesNum - 1);
19 | images.map((v, i) => {
20 | v.style.display = i === index ? "inline-block" : "none";
21 | });
22 | });
23 |
24 | // 3. Initialize a inputType and connect it
25 | axes.connect("angle", new eg.Axes.PanInput(".car_rotate"));
26 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Car360viewer/svelte.txt:
--------------------------------------------------------------------------------
1 |
22 |
23 |
24 |
You can create a viewer that can rotate 360 degrees using one axis.
25 |
26 |
27 |
28 | {#each images as i}
29 |
.png)
30 | {/each}
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Car360viewer/vue.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
You can create a viewer that can rotate 360 degrees using one axis.
4 |
5 |
6 |
7 |
![]()
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
51 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/CardInHand/html.txt:
--------------------------------------------------------------------------------
1 |
2 |
You can create a UI that responds to user input using two axes.
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Carousel/js.txt:
--------------------------------------------------------------------------------
1 | var carousel = document.getElementById("carousel");
2 | var COUNT = 8;
3 | var ANGLE = 360 / COUNT;
4 |
5 | // 1. Initialize eg.Axes
6 | var axes = new eg.Axes({
7 | rotate: {
8 | range: [0, 360],
9 | circular: true
10 | }
11 | });
12 |
13 | // 2. attach event handler
14 | axes.on({
15 | "change": function(e) {
16 | var pos = e.pos;
17 |
18 | carousel.style[eg.Axes.TRANSFORM] = "translateZ(-253px) rotateY(" + (pos.rotate) + "deg)";
19 | },
20 | "release": function (e) {
21 | var destPos = e.destPos;
22 |
23 | e.setTo({"rotate": Math.round(destPos.rotate/ANGLE) * ANGLE }, 500);
24 | }
25 | });
26 |
27 | // 3. Initialize a inputType and connect it
28 | axes.connect("rotate", new eg.Axes.PanInput("#carouselWrapper")).connect("rotate", new eg.Axes.WheelInput("#carouselWrapper", {useNormalized: false}));
29 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/CodeTabs.tsx:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/quotes */
2 | /* eslint-disable @typescript-eslint/indent */
3 | import React from "react";
4 | import Tabs from "@theme/Tabs";
5 | import TabItem from "@theme/TabItem";
6 | import CodeBlock from "@theme/CodeBlock";
7 |
8 | export function convertVue2(text: string) {
9 | return text.replace("vue-axes", "vue2-axes").replace('from "vue"', 'from "@vue/composition-api"');
10 | }
11 | export default (props: {
12 | folder: string,
13 | reactCode: string,
14 | }) => {
15 | const htmlCode = require(`!!raw-loader!./${props.folder}/html.txt`).default;
16 | const jsCode = require(`!!raw-loader!./${props.folder}/js.txt`).default;
17 | const reactCode = props.reactCode ? props.reactCode : require(`!!raw-loader!./${props.folder}/react.txt`).default;
18 | const vueCode = require(`!!raw-loader!./${props.folder}/vue.txt`).default;
19 | const vue2Code = convertVue2(vueCode);
20 | const svelteCode = require(`!!raw-loader!./${props.folder}/svelte.txt`).default;
21 |
22 | return
32 |
33 |
34 | {htmlCode}
35 |
36 |
37 | {jsCode}
38 |
39 |
40 |
41 |
42 | {reactCode}
43 |
44 |
45 |
46 |
47 | {vue2Code}
48 |
49 |
50 |
51 |
52 | {vueCode}
53 |
54 |
55 |
56 |
57 | {svelteCode}
58 |
59 |
60 | ;
61 | };
62 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Cube/html.txt:
--------------------------------------------------------------------------------
1 |
2 |
You can rotate the cube using two axes.
3 |
4 |
5 |
1
6 |
2
7 |
3
8 |
4
9 |
5
10 |
6
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Cube/js.txt:
--------------------------------------------------------------------------------
1 | const box = document.getElementById("box");
2 |
3 | // 1. Initialize eg.Axes
4 | const axes = new eg.Axes({
5 | rotateX: {
6 | range: [0, 360],
7 | circular: true
8 | },
9 | rotateY: {
10 | range: [0, 360],
11 | circular: true
12 | }
13 | }, {
14 | deceleration: 0.0024
15 | });
16 |
17 | // 2. attach event handler
18 | axes.on("change", ({pos}) => {
19 | box.style[eg.Axes.TRANSFORM] =
20 | `rotateY(${pos.rotateX}deg) rotateX(${pos.rotateY}deg)`;
21 | });
22 |
23 | // 3. Initialize a inputType and connect it
24 | axes.connect("rotateX rotateY", new eg.Axes.PanInput("#area")).connect("rotateX rotateY", new eg.Axes.MoveKeyInput("#area", {scale: [10, -10]}));
25 |
26 | // 4. move to position
27 | axes.setTo({
28 | "rotateX": 40,
29 | "rotateY": 315
30 | }, 100);
31 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Cube/svelte.txt:
--------------------------------------------------------------------------------
1 |
27 |
28 |
29 |
You can rotate the cube using two axes.
30 |
31 |
32 |
33 |
1
34 |
2
35 |
3
36 |
4
37 |
5
38 |
6
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Cube/vue.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
You can rotate the cube using two axes.
4 |
5 |
6 |
7 |
1
8 |
2
9 |
3
10 |
4
11 |
5
12 |
6
13 |
14 |
15 |
16 |
17 |
18 |
19 |
56 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Minimap/html.txt:
--------------------------------------------------------------------------------
1 |
2 |
You can create a scrollable minimap using two axes.
3 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Minimap/js.txt:
--------------------------------------------------------------------------------
1 | // raw-image 1280 * 1677
2 | const RAW_IMAGE_WIDTH = 1280;
3 | const RAW_IMAGE_HEIGHT = 1677;
4 | // mini-map 128 * 167.7
5 | const MINIMAP_WIDTH = 128;
6 | const IMAGE_RATE = RAW_IMAGE_HEIGHT / RAW_IMAGE_WIDTH;
7 |
8 | const painting = document.getElementById("rawImage");
9 | const view = document.getElementById("imageView");
10 | const viewWidth = view.getBoundingClientRect().width;
11 | view.style.height = (viewWidth * IMAGE_RATE) + "px";
12 | const viewRect = view.getBoundingClientRect();
13 | const minimap = document.getElementById("minimap"); // 1/10
14 | const minimapRect = minimap.getBoundingClientRect();
15 | const pointer = document.getElementById("minimap-pointer");
16 | const pointerWidth = viewWidth/RAW_IMAGE_WIDTH * MINIMAP_WIDTH;
17 | pointer.style.width = pointerWidth + "px";
18 | pointer.style.height = (pointerWidth * IMAGE_RATE) + "px";
19 | const pointerRect = pointer.getBoundingClientRect();
20 | const scale = [
21 | (minimapRect.width - pointerRect.width) / (RAW_IMAGE_WIDTH - viewRect.width),
22 | (minimapRect.height - pointerRect.height) / (RAW_IMAGE_HEIGHT - viewRect.height)
23 | ];
24 |
25 | // 1. Initialize eg.Axes
26 | const axes = new eg.Axes({
27 | rawX: {
28 | range: [0, RAW_IMAGE_WIDTH - viewRect.width],
29 | bounce: 100
30 | },
31 | rawY: {
32 | range: [0, RAW_IMAGE_HEIGHT - viewRect.height],
33 | bounce: 100
34 | }
35 | }, {
36 | deceleration: 0.0024
37 | });
38 |
39 | // 2. attach event handler
40 | axes.on("change", ({pos}) => {
41 | painting.style[eg.Axes.TRANSFORM] = `translate3d(${-pos.rawX}px, ${-pos.rawY}px, 0)`;
42 | pointer.style[eg.Axes.TRANSFORM]
43 | = `translate3d(${pos.rawX * scale[0]}px, ${pos.rawY * scale[1]}px, 0)`;
44 | });
45 |
46 | // 3. Initialize a inputType and connect it
47 | axes.connect("rawX rawY", new eg.Axes.PanInput(view, {
48 | scale: [-1, -1]
49 | })).connect("rawX rawY", new eg.Axes.MoveKeyInput(view, {scale: [10, -10]}));
50 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/PullToRefresh/js.txt:
--------------------------------------------------------------------------------
1 | const contentWrapper = document.getElementById("pull-contentWrapper");
2 | const content = document.getElementById("pull-content");
3 | const prepend = document.getElementById("prepend");
4 | const append = document.getElementById("append");
5 |
6 | function getInfo(pos) {
7 | const state = pos > 0 ? (pos - axes.axis.scroll.range[1])/100 : -pos/100;
8 | return {
9 | isAdd: state > 0.8,
10 | isTop: pos < 0,
11 | };
12 | }
13 |
14 | function getMaxRange() {
15 | return content.getBoundingClientRect().height - contentWrapper.getBoundingClientRect().height
16 | }
17 |
18 | function getItem() {
19 | const el = document.createElement("li");
20 | el.className = "pull_drw addblinking";
21 | el.innerHTML = `
22 |
 * 50) + 1)}.jpg)
23 |
24 |
25 | egjs is Javascript components group that brings easiest and fastest way to build a web application in your way
26 |
`;
27 | return el;
28 | }
29 |
30 | // 1. Initialize eg.Axes
31 | const axes = new eg.Axes({
32 | scroll: {
33 | range: [0, getMaxRange()],
34 | bounce: 100
35 | }
36 | });
37 |
38 | // 2. attach event handler
39 | axes.on({
40 | "change": ({pos}) => {
41 | content.style[eg.Axes.TRANSFORM] = `translate3d(0, ${-pos.scroll}px, 0)`;
42 | if (axes.isBounceArea()) {
43 | const info = getInfo(pos.scroll);
44 | if (info.isAdd) {
45 | info.isTop ? (prepend.innerText = "Release to prepend") :
46 | (append.innerText = "Release to append");
47 | } else {
48 | info.isTop ? (prepend.innerText = "Pull to prepend") :
49 | (append.innerText = "Pull to append");
50 | }
51 | }
52 | },
53 | "release" : ({depaPos}) => {
54 | if (axes.isBounceArea()) {
55 | const info = getInfo(depaPos.scroll);
56 | if (info.isAdd) {
57 | const el = getItem();
58 | info.isTop ?
59 | content.insertBefore(el, content.firstChild) :
60 | content.appendChild(el);
61 | axes.axis.scroll.range[1] = getMaxRange();
62 | }
63 | }
64 | }
65 | });
66 |
67 | // 3. Initialize inputTypes and connect it
68 | axes.connect(["", "scroll"], new eg.Axes.PanInput(contentWrapper, {
69 | scale : [0, -1]
70 | }));
71 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Subway/html.txt:
--------------------------------------------------------------------------------
1 |
2 |
You can create maps that can zoom using three axes.
3 |
4 |

5 |
6 |
7 |
--------------------------------------------------------------------------------
/packages/demo/docs/codes/Subway/js.txt:
--------------------------------------------------------------------------------
1 | function getZoomedOffset(value, zoom, beforeZoom) {
2 | return -(value/zoom - value/beforeZoom);
3 | }
4 | const SUPPORT_TOUCH = "ontouchstart" in window;
5 | const IMAGE_SIZE = 3000;
6 | const wrapper = document.getElementById("zoomWrapper");
7 | const wrapperSize = wrapper.getBoundingClientRect().width;
8 | wrapper.style.height = wrapperSize + "px";
9 | const imageView = document.getElementById("subway");
10 | const baseScale = wrapperSize / IMAGE_SIZE;
11 |
12 | // 1. Initialize eg.Axes
13 | const axes = new eg.Axes({
14 | x: {
15 | range: [0, 0],
16 | bounce: 100
17 | },
18 | y: {
19 | range: [0, 0],
20 | bounce: 100
21 | },
22 | zoom: {
23 | range: [baseScale, 1]
24 | }
25 | }, {
26 | deceleration: 0.003,
27 | interrutable: false
28 | }, {
29 | zoom: baseScale
30 | });
31 |
32 | // 2. attach event handler
33 | axes.on("change", ({pos, delta, inputEvent, set}) => {
34 | if(inputEvent && delta.zoom) {
35 | const center = SUPPORT_TOUCH ? inputEvent.center : {
36 | x: inputEvent.layerX,
37 | y: inputEvent.layerY
38 | };
39 |
40 | const beforeZoom = pos.zoom - delta.zoom;
41 | const newX = pos.x + getZoomedOffset(center.x, pos.zoom, beforeZoom);
42 | const newY = pos.y + getZoomedOffset(center.y, pos.zoom, beforeZoom);
43 | set({x: newX, y: newY});
44 | imageView.style[eg.Axes.TRANSFORM] =
45 | `scale(${pos.zoom}) translate3d(${-newX}px, ${-newY}px, 0)`;
46 |
47 | // change view
48 | axes.axis.y.range[1] = axes.axis.x.range[1] =
49 | axes.axis.x.range[1] + getZoomedOffset(wrapperSize, pos.zoom, beforeZoom);
50 | } else {
51 | imageView.style[eg.Axes.TRANSFORM] =
52 | `scale(${pos.zoom}) translate3d(${-pos.x}px, ${-pos.y}px, 0)`;
53 | }
54 | });
55 |
56 | // 3. Initialize inputTypes and connect it
57 | axes.connect("zoom", SUPPORT_TOUCH ?
58 | new eg.Axes.PinchInput(wrapper) :
59 | new eg.Axes.WheelInput(wrapper, {
60 | scale: Math.abs(baseScale)
61 | })
62 | ).connect("x y", new eg.Axes.PanInput(wrapper, {
63 | scale: [-1, -1]
64 | }));
65 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/3dcarousel.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: 3D Carousel
3 | id: 3dcarousel
4 | slug: /3dcarousel
5 | sidebar_position: 4
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import Carousel from "@site/src/pages/demos/3dcarousel";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/axes.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: What is the eg.Axes?
3 | id: axes
4 | slug: /axes
5 | sidebar_position: 1
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import AxesDemo from "@site/src/pages/demos/axes";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/bubble.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Bubble
3 | id: bubble
4 | slug: /bubble
5 | sidebar_position: 9
6 | ---
7 | import Bubble from "@site/src/pages/demos/bubble";
8 |
9 |
10 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/car360viewer.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Car 360º Viewer
3 | id: car360viewer
4 | slug: /car360viewer
5 | sidebar_position: 2
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import Car360viewer from "@site/src/pages/demos/car360viewer";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/cardinhand.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Cards in hands
3 | id: cardinhand
4 | slug: /cardinhand
5 | sidebar_position: 5
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import CardInHand from "@site/src/pages/demos/cardinhand";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/cube.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Rotate a Cube
3 | id: cube
4 | slug: /cube
5 | sidebar_position: 3
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import Cube from "@site/src/pages/demos/cube";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/minimap.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Mini Map
3 | id: minimap
4 | slug: /minimap
5 | sidebar_position: 7
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import Minimap from "@site/src/pages/demos/minimap";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/nestedaxes.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Nested Axes
3 | id: nestedaxes
4 | slug: /nestedaxes
5 | sidebar_position: 11
6 | ---
7 | import NestedAxes from "@site/src/pages/demos/nestedaxes";
8 |
9 |
10 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/pulltorefresh.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Pull to Refresh
3 | id: pulltorefresh
4 | slug: /pulltorefresh
5 | sidebar_position: 6
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import PullToRefresh from "@site/src/pages/demos/pulltorefresh";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/schedule.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Schedule
3 | id: schedule
4 | slug: /schedule
5 | sidebar_position: 10
6 | ---
7 | import Schedule from "@site/src/pages/demos/schedule";
8 |
9 |
10 |
--------------------------------------------------------------------------------
/packages/demo/docs/demos/subway.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Subway
3 | id: subway
4 | slug: /subway
5 | sidebar_position: 8
6 | ---
7 | import CodeTabs from "@site/docs/codes/CodeTabs";
8 | import Subway from "@site/src/pages/demos/subway";
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/packages/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "docusaurus": "docusaurus",
7 | "start": "docusaurus start --host 0.0.0.0",
8 | "build": "docusaurus build",
9 | "swizzle": "docusaurus swizzle",
10 | "deploy": "docusaurus deploy",
11 | "clear": "docusaurus clear",
12 | "serve": "docusaurus serve",
13 | "write-translations": "docusaurus write-translations",
14 | "write-heading-ids": "docusaurus write-heading-ids",
15 | "typecheck": "tsc"
16 | },
17 | "dependencies": {
18 | "@docusaurus/core": "2.0.0-beta.17",
19 | "@docusaurus/preset-classic": "2.0.0-beta.17",
20 | "@mdx-js/react": "^1.6.22",
21 | "clsx": "^1.1.1",
22 | "prism-react-renderer": "^1.2.1",
23 | "react": "^17.0.2",
24 | "react-dom": "^17.0.2",
25 | "remark-breaks": "^3.0.2"
26 | },
27 | "devDependencies": {
28 | "@babel/core": "^7.17.5",
29 | "@babel/plugin-proposal-decorators": "^7.18.6",
30 | "@docusaurus/module-type-aliases": "2.0.0-beta.17",
31 | "@egjs/flicking-plugins": "^4.4.0",
32 | "@egjs/react-axes": "~3.3.2",
33 | "@egjs/react-flicking": "^4.9.3",
34 | "@tsconfig/docusaurus": "^1.0.4",
35 | "bulma": "^0.9.3",
36 | "docusaurus-plugin-sass": "^0.2.2",
37 | "raw-loader": "^4.0.2",
38 | "sas": "^3.0.4",
39 | "sass": "^1.49.9",
40 | "typescript": "~4.6.2"
41 | },
42 | "browserslist": {
43 | "production": [
44 | ">0.5%",
45 | "not dead",
46 | "not op_mini all"
47 | ],
48 | "development": [
49 | "last 1 chrome version",
50 | "last 1 firefox version",
51 | "last 1 safari version"
52 | ]
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/packages/demo/sidebars.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | docs: [
3 | {
4 | type: "autogenerated",
5 | dirName: "tutorials"
6 | }
7 | ],
8 | demos: [
9 | {
10 | type: "autogenerated",
11 | dirName: "demos"
12 | }
13 | ],
14 | ...require("./sidebars-api.js")
15 | };
16 |
--------------------------------------------------------------------------------
/packages/demo/src/css/custom.css:
--------------------------------------------------------------------------------
1 | .header-github-link:hover,
2 | .header-npm-link:hover {
3 | opacity: 0.6;
4 | }
5 |
6 | .header-github-link::before,
7 | .header-npm-link::before {
8 | content: '';
9 | width: 24px;
10 | height: 24px;
11 | display: flex;
12 | }
13 |
14 | .header-github-link {
15 | margin-right: 0.5rem;
16 | }
17 |
18 | .header-github-link::before {
19 | background: url("../../static/icon/github.svg") no-repeat;
20 | }
21 |
22 | html[data-theme='dark'] .header-github-link::before {
23 | background: url("../../static/icon/github_white.svg") no-repeat;
24 | }
25 |
26 | .header-npm-link::before {
27 | background: url("../../static/icon/npm.svg") no-repeat;
28 | }
29 |
30 | /**
31 | * Any CSS included here will be global. The classic template
32 | * bundles Infima by default. Infima is a CSS framework designed to
33 | * work well for content-centric websites.
34 | */
35 |
36 | /* You can override the default Infima variables here. */
37 | :root {
38 | --ifm-color-primary: #2e3c85;
39 | --ifm-color-primary-dark: #293678;
40 | --ifm-color-primary-darker: #273371;
41 | --ifm-color-primary-darkest: #202a5d;
42 | --ifm-color-primary-light: #334292;
43 | --ifm-color-primary-lighter: #354599;
44 | --ifm-color-primary-lightest: #3c4ead;
45 | --ifm-code-font-size: 95%;
46 | }
47 |
48 | /* For readability concerns, you should choose a lighter palette in dark mode. */
49 | [data-theme='dark'] {
50 | --ifm-color-primary: #c5cbe2;
51 | --ifm-color-primary-dark: #a9b2d4;
52 | --ifm-color-primary-darker: #9ba5cd;
53 | --ifm-color-primary-darkest: #707fb8;
54 | --ifm-color-primary-light: #e1e4f0;
55 | --ifm-color-primary-lighter: #eff1f7;
56 | --ifm-color-primary-lightest: #ffffff;
57 | }
58 |
59 | .docusaurus-highlight-code-line {
60 | background-color: rgba(0, 0, 0, 0.1);
61 | display: block;
62 | margin: 0 calc(-1 * var(--ifm-pre-padding));
63 | padding: 0 var(--ifm-pre-padding);
64 | }
65 |
66 | [data-theme='dark'] .docusaurus-highlight-code-line {
67 | background-color: rgba(0, 0, 0, 0.3);
68 | }
69 |
70 | .demo-list {
71 | display: block;
72 | clear: both;
73 | margin: 0px auto;
74 | padding: 0;
75 | text-align: center;
76 | max-width: 960px;
77 | }
78 |
79 | .demo-item {
80 | display: inline-block;
81 | width: 160px;
82 | padding: 10px;
83 | text-align: center;
84 | vertical-align: top;
85 | }
86 |
87 | .demo-item img {
88 | width: 140px;
89 | height: 100px;
90 | border: 1px solid #ccc;
91 | /* border-radius: 50%; */
92 | }
93 |
94 | .demo-item p {
95 | text-align: center;
96 | }
97 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/3dcarousel.css:
--------------------------------------------------------------------------------
1 | #carouselWrapper {
2 | background-color: #333;
3 | height: 300px;
4 | padding-top: 10px;
5 | overflow: hidden;
6 | position:relative;
7 | }
8 |
9 | .list_container {
10 | margin: 0 auto;
11 | width: 210px;
12 | height: 210px;
13 | position: relative;
14 | perspective: 1000px;
15 | }
16 |
17 | #carousel {
18 | width: 100%;
19 | height: 100%;
20 | position: absolute;
21 | transform-style: preserve-3d;
22 | }
23 |
24 | #carousel figure {
25 | margin: 0;
26 | padding: 20px;
27 | display: block;
28 | position: absolute;
29 | width: 100%;
30 | }
31 |
32 | #list_cd {
33 | position: relative;
34 | background-position: center;
35 | background-size: cover;
36 | background-repeat: no-repeat;
37 | width: 100%;
38 | border-radius: 100%;
39 | opacity: 0.75;
40 | }
41 |
42 | #list_cd:before {
43 | content: "";
44 | display: block;
45 | padding-top: 100%;
46 | }
47 |
48 | #list_cd_title {
49 | color: white;
50 | text-align: center;
51 | padding-top: 10px;
52 | font-size: 0.9em;
53 | overflow: hidden;
54 | text-overflow: ellipsis;
55 | white-space: nowrap;
56 | }
57 |
58 | #list_cd_artist {
59 | color: #dadada;
60 | text-align: center;
61 | font-size: 0.75em;
62 | }
63 |
64 | #list_cd_hole {
65 | position: absolute;
66 | top: 40%;
67 | left: 40%;
68 | width: 20%;
69 | height: 20%;
70 | background-color: transparent;
71 | border-radius: 100%;
72 | z-index: 2;
73 | }
74 |
75 | #bullet_container {
76 | position: absolute;
77 | width: 100%;
78 | bottom: 0;
79 | text-align: center;
80 | padding-bottom: 20px;
81 | }
82 |
83 | .bullet {
84 | display: inline-block;
85 | margin: 0 15px;
86 | }
87 |
88 | .bullet.active {
89 | color: #dadada;
90 | }
91 |
92 | @media only screen and (max-width: 480px) {
93 | #carouselWrapper {
94 | height: 210px;
95 | }
96 | .list_container {
97 | width: 150px;
98 | height: 150px;
99 | perspective: 700px;
100 | }
101 | .bullet {
102 | margin: 0 7.5px;
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/axesboard.css:
--------------------------------------------------------------------------------
1 | .board {
2 | background-color: #F1F3F4;
3 | box-shadow: rgb(0 0 0 / 10%) 0px 1px 5px 0px;
4 | height: 30vh;
5 | }
6 |
7 | .nestedboard {
8 | background-color: #FFFFFF;
9 | box-shadow: rgb(0 0 0 / 10%) 0px 1px 5px 0px;
10 | width: 50%;
11 | height: 50%;
12 | }
13 |
14 | .target {
15 | width: 100px;
16 | height: 100px;
17 | border-radius: 6px;
18 | }
19 |
20 | .info {
21 | position: absolute;
22 | padding-left: 5px;
23 | color: red;
24 | z-index: 5;
25 | }
26 |
27 | .egjsicon {
28 | cursor: pointer;
29 | margin-top: -15px;
30 | }
31 |
32 | .link {
33 | position: absolute;
34 | top: -40px;
35 | }
36 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/bubble.css:
--------------------------------------------------------------------------------
1 | #wrapper {
2 | position: relative;
3 | width: 100%;
4 | height: 500px;
5 | border: 1px solid #999;
6 | }
7 |
8 | #wrapper .add{
9 | position: absolute;
10 | border: 0;
11 | appearance: none;
12 | box-shadow: none;
13 | background: #eee;
14 | width: 100px;
15 | height: 50px;
16 | cursor: pointer;
17 | z-index: 10;
18 | }
19 | #wrapper .add:before, #wrapper .add:after {
20 | content: "";
21 | position: absolute;
22 | left: 50%;
23 | top: 20%;
24 | width: 2px;
25 | margin-left: -1px;
26 | height: 60%;
27 | background: #000;
28 | }
29 | #wrapper .add:after {
30 | transform: rotate(90deg);
31 | }
32 | .bubbles {
33 | position: relative;
34 | width: 100%;
35 | height: 500px;
36 | }
37 | .bubble {
38 | position: absolute;
39 | border-radius: 50%;
40 | }
41 | .bubble:after {
42 | position: absolute;
43 | border-radius: 50%;
44 | content: "";
45 | top: -20%;
46 | left: -20%;
47 | z-index: 2;
48 | width: 140%;
49 | height: 140%;
50 | }
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/car360viewer.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | .car_spot {
3 | position:relative;
4 | height:180px;
5 | background:url(../../../static/img/demos/car360/spot_bg.png) #343944 0 100% repeat-x;
6 | background-size:1px 201px;
7 | -webkit-background-size:1px 201px;
8 | margin-bottom: 20px;
9 | border-radius: 4px;
10 | }
11 | .img_cont img {
12 | height: 150px;
13 | transform: translate3d(0,0,0);
14 | }
15 | .car_rotate {
16 | position:absolute;
17 | left:0;
18 | right:0;
19 | bottom:0;
20 | height:150px;
21 | text-align:center;
22 | }
23 | .car_rotate .ratate_bg {
24 | position:absolute;
25 | bottom:15px;
26 | left:50%;
27 | margin-left:-152px;
28 | width:304px;
29 | height:50px;
30 | background:url(../../../static/img/demos/car360/bg_rotate.png) no-repeat;
31 | background-size:304px 50px;
32 | -webkit-background-size:304px 50px;
33 | color:transparent;
34 | }
35 |
36 |
37 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/cardinhand.css:
--------------------------------------------------------------------------------
1 | #showcase {
2 | margin-bottom: 20px;
3 | border-radius: 4px;
4 | background-color: #ffce00;
5 | }
6 |
7 | #showcase h3 {
8 | color: #8c532e;
9 | font-size: 32px;
10 | font-weight: 600;
11 | width:100%;
12 | }
13 | #showcase p {
14 | color: #8c532e;
15 | }
16 | p {
17 | font-size: 16px;
18 | line-height: 1.5;
19 | margin-bottom: 20px;
20 | }
21 |
22 | .showcase-content {
23 | width: 100%;
24 | height: 300px;
25 | border-radius: 5px;
26 | overflow: auto;
27 | -webkit-overflow-scrolling: touch;
28 | background-color: rgba(0, 0, 0, 0.1);
29 | transform: translateZ(0px);
30 | overflow:hidden;
31 | }
32 | .showcase-item {
33 | margin-bottom: 40px;
34 | text-align: center;
35 | margin: 0 auto;
36 | float: none;
37 | }
38 | #movableCoordWrapper { position: relative; height: 100%; width: 100%; -webkit-perspective: 450px; -moz-perspective: 450px; -ms-perspective: 450px; -o-perspective: 450px; perspective: 450px; }
39 |
40 | .movableDot { width: 10px; height: 10px; background-color: #FFF; position: absolute; left: 50%; bottom: 0; border-radius: 5px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.55); /* left: 0px; */ margin-left: -5px; margin-bottom: 60px; opacity: .9; }
41 |
42 | .hand { margin-top: -70px; position: relative; width: 1000px; height: 1000px; border-radius: 500px; font-size: 0px; text-align: center; margin-left: -500px; left: 50%; }
43 |
44 | .handcard { display: inline-block; width: 130px; height: 190px; margin-left: -30px; background-color: #8c532e; border-radius: 5px; padding: 25px 15px; box-sizing: border-box; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); position: relative; border-radius: 5px; font-size: 0px; }
45 |
46 | .handcard img { margin-top: 12px; width: 90px; user-drag: none; user-select: none; -moz-user-select: none; }
47 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/cube.css:
--------------------------------------------------------------------------------
1 | #area {
2 | display: flex;
3 | justify-content: center;
4 | position:relative;
5 | width:100%; height:200px;
6 | -webkit-perspective: 300px;
7 | -moz-perspective: 300px;
8 | -ms-perspective: 300px;
9 | -o-perspective: 300px;
10 | perspective: 300px;
11 | background: #f5f5f5;
12 | border-radius: 4px;
13 | margin-bottom: 20px;
14 | }
15 |
16 | #box {
17 | position:absolute;
18 | left:50%; top:50%;
19 | -webkit-transform-style: preserve-3d;
20 | -moz-transform-style: preserve-3d;
21 | -ms-transform-style: preserve-3d;
22 | -o-transform-style: preserve-3d;
23 | transform-style: preserve-3d;
24 | }
25 |
26 | .face {
27 | position:absolute;
28 | width:100px; height:100px;
29 | color: hsla(0,0%,20%,1);
30 | text-shadow: hsla(0,0%,40%,.5) 0 -1px 0, hsla(0,0%,100%,.6) 0 2px 1px;
31 | text-align: center;
32 | font-size:2.5em; font-weight:bold;
33 | text-align:center; line-height:2.5;
34 | -webkit-backface-visibility:hidden;
35 | -moz-backface-visibility:hidden;
36 | -ms-backface-visibility:hidden;
37 | -o-backface-visibility:hidden;
38 | backface-visibility:hidden;
39 | -webkit-border-radius:4px;
40 | -moz-border-radius:4px;
41 | -ms-border-radius:4px;
42 | -o-border-radius:4px;
43 | border-radius:4px;
44 | background:
45 | repeating-radial-gradient(
46 | line at 0 0,
47 | #eee,
48 | #ccc 50px
49 | );
50 | }
51 |
52 | .metal-linear {
53 | width: 100px;
54 | height: 100px;
55 | -webkit-border-radius:4px;
56 | -moz-border-radius:4px;
57 | -ms-border-radius:4px;
58 | -o-border-radius:4px;
59 | border-radius:4px;
60 | background-image: -webkit-repeating-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0) 6%, hsla(0,0%,100%, .1) 7.5%),
61 | -webkit-repeating-linear-gradient(left, hsla(0,0%, 0%,0) 0%, hsla(0,0%, 0%,0) 4%, hsla(0,0%, 0%,.03) 4.5%),
62 | -webkit-repeating-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0) 1.2%, hsla(0,0%,100%,.15) 2.2%),
63 | linear-gradient(180deg, hsl(0,0%,78%) 0%,
64 | hsl(0,0%,90%) 47%,
65 | hsl(0,0%,78%) 53%,
66 | hsl(0,0%,70%)100%);
67 | }
68 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/logo.css:
--------------------------------------------------------------------------------
1 | #logo-container {
2 | display: flex;
3 | justify-content: center;
4 | position: relative;
5 | width: 100%;
6 | height: 320px;
7 | margin-top: 40px;
8 | }
9 |
10 | .item {
11 | z-index: 2;
12 | cursor: grab;
13 | }
14 |
15 | .item svg {
16 | position: absolute;
17 | width: 50px;
18 | height: 50px;
19 | }
20 |
21 | html[data-theme='dark'] .item svg {
22 | fill: white;
23 | }
24 |
25 | .item.light svg {
26 | width: 60px;
27 | margin-left: -5px;
28 | }
29 |
30 | .item.bold svg {
31 | width: 50px;
32 | height: 40px;
33 | padding-top: 5px;
34 | }
35 |
36 | .line {
37 | z-index: 1;
38 | position: absolute;
39 | width: 100%;
40 | height: 320px;
41 | stroke: black;
42 | }
43 |
44 | html[data-theme='dark'] .line {
45 | stroke: white;
46 | }
47 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/logo/PanInput.css:
--------------------------------------------------------------------------------
1 | .logo.PanInput .mouse {
2 | position: absolute;
3 | width: 30px;
4 | height: 40px;
5 | border-radius: 15px;
6 | left: 20%;
7 | bottom: 20%;
8 | border: 2px solid #999;
9 |
10 | overflow: hidden;
11 | transform: scale(1);
12 | }
13 | .logo.PanInput .mouse-left-button, .logo.PanInput .mouse-right-button {
14 | position: absolute;
15 | top: 0;
16 | width: 50%;
17 | height: 40%;
18 | border-bottom: inherit;
19 | }
20 | .logo.PanInput .mouse-left-button {
21 | left: 0;
22 | border-right: inherit;
23 | }
24 | .logo.PanInput .mouse-right-button {
25 | left: 50%;
26 | }
27 |
28 | .logo.PanInput .logo-input-area .mouse {
29 | animation: move 12s ease-in-out 0s infinite forwards;
30 | }
31 | .logo.PanInput .logo-input-area .mouse-left-button {
32 | animation: click 3s ease-in-out 0s infinite forwards;
33 | }
34 | .logo.PanInput .logo-view-area .object {
35 | animation: move 12s ease-in-out 0s infinite forwards;
36 | }
37 | .logo.PanInput .object-position .object-position-x:after {
38 | animation: numbering 12s ease-in-out 0s infinite forwards;
39 | }
40 | .logo.PanInput .object-position .object-position-y:after {
41 | animation: minus-numbering 12s ease-in-out 3s infinite forwards;
42 | }
43 | @keyframes click {
44 | 0% {
45 | background: transparent;
46 | color: #999;
47 | }
48 | 10% {
49 | background: #999;
50 | color: white;
51 | }
52 | 40% {
53 | background: transparent;
54 | color: #999;
55 | }
56 | }
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/logo/PinchInput.css:
--------------------------------------------------------------------------------
1 | .logo.PinchInput .pinch {
2 | position: absolute;
3 | width: 20%;
4 | height: 20%;
5 | border-radius: 50%;
6 | background: #aaa;
7 | opacity: 0.5;
8 | top: 40%;
9 | left: 40%;
10 | }
11 | .logo.PinchInput .pinch-left {
12 | top: 45%;
13 | left: 35%;
14 | }
15 | .logo.PinchInput .pinch-right {
16 | left: 45%;
17 | top: 35%;
18 | }
19 | .logo.PinchInput .object {
20 | left: 40%;
21 | bottom: 40%;
22 | animation: zoom 6s ease-in-out 0s infinite forwards;
23 | }
24 | .logo.PinchInput .logo-input-area .pinch-left {
25 | animation: pinch-left 6s ease-in-out 0s infinite forwards;
26 | }
27 | .logo.PinchInput .logo-input-area .pinch-right {
28 | animation: pinch-right 6s ease-in-out 0s infinite forwards;
29 | }
30 | .logo.PinchInput .object-position .object-position-zoom:after {
31 | content: "1";
32 | animation: numbering-zoom 6s linear 0s infinite forwards;
33 | }
34 | @keyframes pinch-left {
35 | 0% {
36 | transform: translate(0px, 0px);
37 | }
38 | 20% {
39 | transform: translate(-100%, 100%);
40 | }
41 | 50% {
42 | transform: translate(-100%, 100%);
43 | }
44 | 70% {
45 | transform: translate(0px, 0px);
46 | }
47 | }
48 | @keyframes pinch-right {
49 | 0% {
50 | transform: translate(0px, 0px);
51 | }
52 | 20% {
53 | transform: translate(100%, -100%);
54 | }
55 | 50% {
56 | transform: translate(100%, -100%);
57 | }
58 | 70% {
59 | transform: translate(0px, 0px);
60 | }
61 | }
62 | @keyframes zoom {
63 | 0% {
64 | transform: scale(1);
65 | }
66 | 20% {
67 | transform: scale(2.2);
68 | }
69 | 50% {
70 | transform: scale(2.2);
71 | }
72 | 70% {
73 | transform: scale(1);
74 | }
75 | }
76 | @keyframes numbering-zoom {
77 | 0% {content: "1";}
78 | 2% {content: "1.1";}
79 | 4% {content: "1.2";}
80 | 6% {content: "1.3";}
81 | 8% {content: "1.4";}
82 | 10% {content: "1.5";}
83 | 12% {content: "1.6";}
84 | 14% {content: "1.7";}
85 | 16% {content: "1.8";}
86 | 17% {content: "1.9";}
87 | 20% {content: "2";}
88 | 50% {content: "2";}
89 | 52% {content: "1.9";}
90 | 54% {content: "1.8";}
91 | 56% {content: "1.7";}
92 | 58% {content: "1.6";}
93 | 60% {content: "1.5";}
94 | 62% {content: "1.4";}
95 | 64% {content: "1.3";}
96 | 66% {content: "1.2";}
97 | 68% {content: "1.1";}
98 | 70% {content: "1";}
99 | }
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/logo/WheelInput.css:
--------------------------------------------------------------------------------
1 | .logo.WheelInput .mouse {
2 | position: absolute;
3 | width: 40px;
4 | height: 60px;
5 | border-radius: 20px;
6 | left: 0;
7 | right: 0;
8 | top: 0;
9 | bottom: 0;
10 | margin: auto;
11 | border: 2px solid #999;
12 | overflow: hidden;
13 | }
14 | .logo.WheelInput .mouse .wheel {
15 | position: absolute;
16 | width: 10px;
17 | height: 10px;
18 | border-radius: 50%;
19 | left: 0;
20 | right: 0;
21 | bottom: 10%;
22 | margin: auto;
23 | background: #999;
24 | }
25 | .logo.WheelInput .logo-input-area .mouse .wheel {
26 | animation: wheel 6s ease-in-out 0s infinite forwards;
27 | }
28 | .logo.WheelInput .object {
29 | bottom: 70%;
30 | left: 40%;
31 | animation: wheel-reverse 6s ease-in-out 0s infinite forwards;
32 | }
33 | .logo.WheelInput .object-position .object-position-scroll:after {
34 | animation: numbering2 6s ease-in-out 0s infinite forwards;
35 | }
36 | @keyframes wheel {
37 | 0% {
38 | bottom: 10%;
39 | }
40 | 20% {
41 | bottom: 70%;
42 | }
43 | 50% {
44 | bottom: 70%;
45 | }
46 | 70% {
47 | bottom: 10%;
48 | }
49 | }
50 | @keyframes wheel-reverse {
51 | 0% {
52 | bottom: 70%;
53 | }
54 | 20% {
55 | bottom: 10%;
56 | }
57 | 50% {
58 | bottom: 10%;
59 | }
60 | 70% {
61 | bottom: 70%;
62 | }
63 | }
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/minimap.css:
--------------------------------------------------------------------------------
1 | #imageView {
2 | overflow:hidden;
3 | width: 100%;
4 | height: 400px;
5 |
6 | max-width: 1280px;
7 | margin: 0px auto;
8 | }
9 | #rawImage {
10 | position: relative;
11 | left: 0;
12 | top: 0;
13 | width: 1280px;
14 | height: 1677px;
15 | background:url("../../../static/img/demos/minimap/sunflower.jpeg");
16 | }
17 |
18 | #minimap {
19 | background:url("../../../static/img/demos/minimap/sunflower.jpeg");
20 | background-size: 128px 167.7px;
21 | width: 128px;
22 | height: 167.7px;
23 | position: absolute;
24 | right: 0px;
25 | top: 0px;
26 | border: 1px solid #333;
27 | }
28 |
29 | #minimap-pointer {
30 | position: absolute;
31 | z-index: 1;
32 | border: 1px solid red;
33 | box-shadow: 0 0 5px #000;
34 | width: 12.8px;
35 | height: 16.77px;
36 | }
37 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/nestedaxes.css:
--------------------------------------------------------------------------------
1 | .cat-wrapper {
2 | background: #f5f5f5;
3 | width: 100%;
4 | height: 400px;
5 | padding: 20px;
6 | overflow: hidden;
7 | }
8 |
9 | .cat-head, .cat-body, .cat-legs {
10 | display: flex;
11 | flex-direction: row;
12 | padding-bottom: 10px;
13 | overflow: visible;
14 | }
15 |
16 | .cat-option {
17 | display: flex;
18 | position: relative;
19 | justify-content: center;
20 | background: #b9faff;
21 | min-width: 100%;
22 | height: 160px;
23 | margin-right: 10px;
24 | }
25 |
26 | .cat-option img {
27 | height: 100%;
28 | }
29 |
30 | .cloud {
31 | position: absolute;
32 | }
33 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/pulltorefresh.css:
--------------------------------------------------------------------------------
1 | #pull-contentWrapper {
2 | position:relative;
3 | overflow:hidden;
4 | padding:10px;
5 | background-color:#efefef;
6 | width:100%;
7 | height:400px;
8 | }
9 | .bottomWapper {
10 | height:10px;
11 | margin:0;
12 | padding:0;
13 | background-color:#efefef;
14 | }
15 |
16 | #pull-content {
17 | list-style:none;
18 | margin:0;
19 | padding:0px 5px 5px 5px;
20 | background-color:#fff;
21 | position:relative; z-index:1;
22 | }
23 |
24 | #pull-content li {
25 | position: relative;
26 | border-top: 1px solid #f2f2f2;
27 | }
28 |
29 | #pull-content li:first {
30 | border-top: 0;
31 | }
32 |
33 | #pull-content li .thumbnail {
34 | width: 50%;
35 | }
36 |
37 | .pull_drw {
38 | overflow: hidden;
39 | position: relative;
40 | display: table;
41 | width: 100%;
42 | -webkit-box-sizing: border-box;
43 | box-sizing: border-box;
44 | z-index: 100;
45 | height: 75px;
46 | padding: 11px 15px;
47 | padding-top: 17px;
48 | }
49 |
50 | .pull_im {
51 | position: relative;
52 | display: table-cell;
53 | width: 110px;
54 | }
55 |
56 | .pull_im img {
57 | width: 110px;
58 | height: 75px;
59 | vertical-align: top;
60 | }
61 | .pull_tx {
62 | display: table-cell;
63 | height: 75px;
64 | -webkit-box-sizing: border-box;
65 | box-sizing: border-box;
66 | vertical-align: middle;
67 | padding: 3px 0 4px;
68 | font-family: HelveticaNeue-Light,AppleSDGothicNeo-Light,sans-serif;
69 | letter-spacing: -1px;
70 | line-height: 17.5px;
71 | padding: 0 0 0 13px;
72 | }
73 | .pull_tit {
74 | overflow: hidden;
75 | display: -webkit-box;
76 | text-overflow: ellipsis;
77 | -webkit-box-orient: vertical;
78 | -webkit-line-clamp: 2;
79 | font-size: 16px;
80 | font-weight: normal;
81 | line-height: 1.278;
82 | }
83 |
84 | #prepend, #append {
85 | position:absolute; width:100%; text-align:center; left:0; top:2em;
86 | font-weight:bold; font-size:1.2em;
87 | color: #8e8e8f;
88 | }
89 |
90 | #append {
91 | top:auto; bottom:2em;
92 | }
93 |
94 | .addblinking{
95 | -webkit-animation:addblink 1s ease-in-out 1 alternate;
96 | -moz-animation:addblink 1s ease-in-out 1 alternate;
97 | animation:addblink 1s ease-in-out 1 alternate;
98 | }
99 | @-webkit-keyframes addblink{
100 | 0% {opacity:0;}
101 | 100% {opacity:1;}
102 | }
103 | @-moz-keyframes addblink{
104 | 0% {opacity:0;}
105 | 100% {opacity:1;}
106 | }
107 | @keyframes addblink{
108 | 0% {opacity:0;}
109 | 100% {opacity:1;}
110 | }
111 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/subway.css:
--------------------------------------------------------------------------------
1 | #zoomWrapper {
2 | overflow:hidden;
3 | width: 100%;
4 | max-width: 1000px;
5 | /* height: 400px; */
6 | margin: 1px auto;
7 | border: 1px solid #eee;
8 | border-radius: 5px;
9 | touch-action: none; user-select: none; -webkit-user-drag: none;
10 | }
11 |
12 | #subway {
13 | max-width: none;
14 | transform-origin: 0 0;
15 | touch-action: none; user-select: none; -webkit-user-drag: none;
16 | }
17 |
--------------------------------------------------------------------------------
/packages/demo/src/css/demos/video.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/src/css/demos/video.css
--------------------------------------------------------------------------------
/packages/demo/src/css/index.css:
--------------------------------------------------------------------------------
1 | .framework-logo {
2 | display: inline-flex;
3 | text-align: center;
4 | padding: 2.2rem 2.5rem !important;
5 | }
6 |
7 | .framework-logo-wrapper {
8 | padding: 1rem;
9 | width: 3rem;
10 | height: 3rem;
11 | position: relative;
12 | }
13 |
14 | .framework-logo img {
15 | position: absolute;
16 | width: 2rem;
17 | height: 2rem;
18 | top: 50%;
19 | left: 50%;
20 | transform: translate(-50%, -50%);
21 | }
22 | .framework-logo a {
23 | color: #ffffff;
24 | }
25 | .framework-logo.is-light a {
26 | color: #333333;
27 | }
28 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/demos/bubble.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect } from "react";
2 |
3 | import Axes, { PinchInput, WheelInput } from "@egjs/axes";
4 | import "../../css/demos/bubble.css";
5 |
6 | const Bubble = () => {
7 | useEffect(() => {
8 | var bubbles = document.querySelector(".bubbles");
9 | var button = document.querySelector(".add");
10 |
11 | button.addEventListener("click", createBubble);
12 | function createBubble() {
13 | var element = document.createElement("div");
14 | var size = parseInt(Math.random() * 80 + 60);
15 | var r = parseInt(Math.random() * 220 + 15, 10);
16 | var g = parseInt(Math.random() * 220 + 15, 10);
17 | var b = parseInt(Math.random() * 220 + 15, 10);
18 | var left = parseInt(Math.random() * 85 + 5, 10);
19 | var top = parseInt(Math.random() * 85 + 5, 10);
20 |
21 | element.className = "bubble";
22 | element.style.width = size + "px";
23 | element.style.height = size + "px";
24 | element.style.background = "rgb(" + r + "," + g + "," + b + ")";
25 | element.style.left = left + "%";
26 | element.style.top = top + "%";
27 | bubbles.appendChild(element);
28 | createAxes(element);
29 | }
30 | function createAxes(target) {
31 | // 1. Initialize eg.Axes
32 | var axes = new Axes(
33 | {
34 | zoom: {
35 | range: [0.5, 3],
36 | },
37 | },
38 | {
39 | deceleration: 0.01,
40 | },
41 | {
42 | zoom: 1,
43 | }
44 | );
45 |
46 | // 2. attach event handler
47 | axes.on("change", function (e) {
48 | var pos = e.pos;
49 | target.style.transform = "scale(" + pos.zoom + ")";
50 | });
51 |
52 | // 3. Initialize a inputType and connect it
53 | axes
54 | .connect("zoom", new PinchInput(target))
55 | .connect("zoom", new WheelInput(target, { scale: 0.3 }));
56 | }
57 |
58 | createBubble();
59 | }, []);
60 |
61 | return (
62 |
63 |
You can create bubble that can zoom using pinch(touch) or wheel.
64 |
68 |
69 | );
70 | };
71 |
72 | export default Bubble;
73 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/demos/car360viewer.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect } from "react";
2 |
3 | import { useAxes, PanInput } from "@egjs/react-axes";
4 | import "../../css/demos/car360viewer.css";
5 |
6 | const Car360viewer = () => {
7 | const images = Array.from({length: 36}, (_, i) => i + 1);
8 | const { connect, angle } = useAxes(
9 | {
10 | angle: {
11 | range: [0, 360],
12 | circular: true,
13 | }
14 | },
15 | {
16 | deceleration: 0.01,
17 | },
18 | );
19 |
20 | useEffect(() => {
21 | connect("angle", new PanInput(".car_rotate"));
22 | }, []);
23 |
24 | return (
25 |
26 |
You can create a viewer that can rotate 360 degrees using one axis.
27 |
28 |
29 |
30 | {images.map((i) => (
31 |

36 | ))}
37 |
38 |
39 |
40 |
41 |
42 | );
43 | };
44 |
45 | export default Car360viewer;
46 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/demos/cube.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useRef } from "react";
2 | import { useAxes, PanInput, MoveKeyInput } from "@egjs/react-axes";
3 | import "../../css/demos/cube.css";
4 |
5 | export default function Cube() {
6 | const { connect, setAxis, offsetX, offsetY, rotateX, rotateY } = useAxes(
7 | {
8 | offsetX: {
9 | range: [0, 0],
10 | startPos: 0,
11 | },
12 | offsetY: {
13 | range: [-25, 25],
14 | startPos: 0,
15 | },
16 | rotateX: {
17 | range: [0, 360],
18 | circular: true,
19 | startPos: 40,
20 | },
21 | rotateY: {
22 | range: [0, 360],
23 | circular: true,
24 | startPos: 315,
25 | },
26 | },
27 | {
28 | deceleration: 0.0024,
29 | },
30 | );
31 |
32 | useEffect(() => {
33 | const cubearea = document.getElementById("area");
34 | const areaWidth = cubearea.getBoundingClientRect().width;
35 | setAxis({
36 | offsetX: {
37 | range: [-(areaWidth / 4), areaWidth / 4],
38 | },
39 | });
40 | connect("offsetX offsetY", new PanInput("#area", { inputButton: ["right"] }));
41 | connect("rotateX rotateY", new PanInput("#area"));
42 | connect("rotateX rotateY", new MoveKeyInput("#area", { scale: [10, -10] }));
43 | }, []);
44 |
45 | return (
46 |
47 |
You can rotate the cube using two axes.
48 |
49 |
50 |
51 |
1
52 |
2
53 |
3
54 |
4
55 |
5
56 |
6
57 |
58 |
59 |
60 |
61 | );
62 | };
63 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/home.module.css:
--------------------------------------------------------------------------------
1 | @font-face
2 | {
3 | font-family: 'Staatliches';
4 | font-weight: normal;
5 | font-style: normal;
6 | src: url('/font/Staatliches/Staatliches-Regular.ttf');
7 | }
8 |
9 | .mainImg {
10 | width: 100%;
11 | height: 200px;
12 | margin-top: 40px;
13 | }
14 |
15 | .max400 {
16 | width: 100%;
17 | max-width: 400px;
18 | margin-left: auto;
19 | margin-right: auto;
20 | }
21 |
22 | .packageName {
23 | font-family: 'Staatliches', monospace;
24 | }
25 |
26 | .badges {
27 | display: inline-block;
28 | text-align: center;
29 | width: 100%;
30 | margin-left: auto;
31 | margin-right: auto;
32 | }
33 |
34 | .badges *:not(:last-child) {
35 | margin-right: 0.5rem;
36 | }
37 |
38 | .btnsWrapper {
39 | display: flex;
40 | justify-content: center;
41 | }
42 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/index.module.css:
--------------------------------------------------------------------------------
1 | /**
2 | * CSS files with the .module.css suffix will be treated as CSS modules
3 | * and scoped locally.
4 | */
5 |
6 | .heroBanner {
7 | padding: 4rem 0;
8 | text-align: center;
9 | position: relative;
10 | overflow: hidden;
11 | }
12 |
13 | @media screen and (max-width: 996px) {
14 | .heroBanner {
15 | padding: 2rem;
16 | }
17 | }
18 |
19 | .buttons {
20 | display: flex;
21 | align-items: center;
22 | justify-content: center;
23 | }
24 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Home from "./Home";
3 |
4 | export default function Index() {
5 | return (
6 |
7 | );
8 | }
9 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/main/Frameworks.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Flicking from "@egjs/react-flicking";
3 | import { AutoPlay } from "@egjs/flicking-plugins";
4 |
5 | import styles from "./frameworks.module.css";
6 |
7 | export default () => {
8 | const plugins = [new AutoPlay()];
9 |
10 | return (
11 |
15 |
19 |
23 |
27 |
31 |
35 |
39 |
43 | );
44 | };
45 |
--------------------------------------------------------------------------------
/packages/demo/src/pages/main/frameworks.module.css:
--------------------------------------------------------------------------------
1 | .is-vue3 {
2 | background-color: rgb(166, 123, 194) !important;
3 | border-color: transparent !important;
4 | color: white !important;
5 | }
6 |
--------------------------------------------------------------------------------
/packages/demo/static/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/.nojekyll
--------------------------------------------------------------------------------
/packages/demo/static/font/Staatliches/Staatliches-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/font/Staatliches/Staatliches-Regular.ttf
--------------------------------------------------------------------------------
/packages/demo/static/icon/angular.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
--------------------------------------------------------------------------------
/packages/demo/static/icon/github.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/demo/static/icon/github_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/demo/static/icon/npm.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/demo/static/icon/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/static/icon/svelte.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/demo/static/icon/vue.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/360car.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/360car.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music1-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music1-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music2-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music2-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music3-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music3-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music4-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music4-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music5-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music5-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music6-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music6-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music7-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music7-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/3dcarousel/music8-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/3dcarousel/music8-min.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/axes.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/axes.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/axes/keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/axes/keyboard.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/axes/mouse-click.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/axes/mouse-click.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/axes/mouse-wheel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/axes/mouse-wheel.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/axes/touch-pinch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/axes/touch-pinch.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/axes/touch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/axes/touch.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/bubble.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/bubble.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (1).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (10).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (10).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (11).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (11).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (12).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (12).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (13).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (13).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (14).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (14).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (15).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (15).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (16).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (16).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (17).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (17).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (18).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (18).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (19).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (19).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (2).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (20).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (20).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (21).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (21).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (22).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (22).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (23).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (23).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (24).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (24).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (25).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (25).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (26).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (26).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (27).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (27).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (28).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (28).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (29).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (29).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (3).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (3).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (30).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (30).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (31).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (31).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (32).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (32).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (33).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (33).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (34).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (34).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (35).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (35).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (36).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (36).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (4).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (4).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (5).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (5).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (6).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (6).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (7).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (7).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (8).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (8).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/beatle (9).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/beatle (9).png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/bg_rotate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/bg_rotate.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360/spot_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360/spot_bg.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/car360viewer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/car360viewer.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/cardinhand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/cardinhand.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/cube.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/cube.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg1.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg2.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg3-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg3-1.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg3-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg3-2.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg3-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg3-3.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg4.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg5.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/gallery/bg6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/gallery/bg6.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo/circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo/square.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo/triangle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo/x.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo/y.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo/z.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/logo_mono.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
33 |
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/minimap.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/minimap.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/minimap/sunflower.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/minimap/sunflower.jpeg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body1.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body2.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body3.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body4.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body5.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body6.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/body7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/body7.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/cloud1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/cloud1.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/cloud2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/cloud2.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/cloud3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/cloud3.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/head1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/head1.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/head2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/head2.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/head3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/head3.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/legs1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/legs1.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/legs2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/legs2.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/nestedaxes/legs3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/nestedaxes/legs3.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/projects/car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/projects/car.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/projects/flicking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/projects/flicking.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/projects/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/projects/search.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/projects/view360.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/projects/view360.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/1.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/10.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/11.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/12.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/13.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/14.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/15.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/16.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/17.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/18.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/19.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/2.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/20.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/21.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/22.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/23.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/24.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/25.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/26.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/27.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/28.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/29.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/3.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/30.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/31.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/31.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/32.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/33.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/33.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/34.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/34.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/35.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/35.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/36.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/36.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/37.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/37.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/38.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/38.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/39.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/39.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/4.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/40.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/40.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/41.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/41.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/42.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/42.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/43.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/43.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/44.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/44.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/45.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/45.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/46.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/46.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/47.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/47.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/47.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/48.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/48.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/49.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/49.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/5.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/50.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/50.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/6.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/7.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/8.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/pulltorefresh/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/pulltorefresh/9.jpg
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/schedule.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/schedule.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/schedule/plan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/schedule/plan.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/schedule/point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/schedule/point.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/showcase.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/showcase.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/structure.png
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/subway.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/subway.gif
--------------------------------------------------------------------------------
/packages/demo/static/img/demos/subway/subway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/demos/subway/subway.png
--------------------------------------------------------------------------------
/packages/demo/static/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/demo/static/img/favicon.ico
--------------------------------------------------------------------------------
/packages/demo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | // This file is not used in compilation. It is here just for a nice editor experience.
3 | "extends": "@tsconfig/docusaurus/tsconfig.json",
4 | "compilerOptions": {
5 | "baseUrl": "."
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/packages/react-axes/.env:
--------------------------------------------------------------------------------
1 | SKIP_PREFLIGHT_CHECK=true
2 |
--------------------------------------------------------------------------------
/packages/react-axes/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/packages/react-axes/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@egjs/react-axes",
3 | "version": "3.3.2",
4 | "description": "A module used to change the information of user action entered by various input devices such as touch screen or mouse into the logical virtual coordinates. You can easily create a UI that responds to user actions.",
5 | "sideEffects": false,
6 | "main": "dist/axes.cjs.js",
7 | "module": "dist/axes.esm.js",
8 | "types": "declaration/index.d.ts",
9 | "license": "MIT",
10 | "scripts": {
11 | "start": "react-scripts start",
12 | "build": "rollup -c && npm run declaration && print-sizes ./dist ",
13 | "declaration": "rm -rf declaration && tsc -p tsconfig.declaration.json"
14 | },
15 | "files": [
16 | "./*",
17 | "declaration/*",
18 | "dist/*"
19 | ],
20 | "dependencies": {
21 | "@cfcs/react": "^0.1.0",
22 | "@egjs/axes": "~3.9.2"
23 | },
24 | "devDependencies": {
25 | "@egjs/build-helper": "^0.1.2",
26 | "@testing-library/jest-dom": "^5.11.4",
27 | "@testing-library/react": "^11.1.0",
28 | "@testing-library/user-event": "^12.1.10",
29 | "@types/jest": "^26.0.15",
30 | "@types/node": "^12.0.0",
31 | "@types/react": "^17.0.0",
32 | "@types/react-dom": "^17.0.0",
33 | "babel-loader": "8.1.0",
34 | "print-sizes": "^0.1.0",
35 | "react": "^17.0.2",
36 | "react-dom": "^17.0.2",
37 | "react-scripts": "4.0.3",
38 | "typescript": "~4.6.2"
39 | },
40 | "repository": {
41 | "type": "git",
42 | "url": "https://github.com/naver/egjs-axes/tree/master/packages/react-axes"
43 | },
44 | "author": {
45 | "name": "NAVER Corp."
46 | },
47 | "browserslist": {
48 | "production": [
49 | ">0.2%",
50 | "not dead",
51 | "not op_mini all"
52 | ],
53 | "development": [
54 | "last 1 chrome version",
55 | "last 1 firefox version",
56 | "last 1 safari version"
57 | ]
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/packages/react-axes/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/react-axes/public/favicon.ico
--------------------------------------------------------------------------------
/packages/react-axes/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
22 | React App
23 |
24 |
25 |
26 |
27 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/packages/react-axes/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": ".",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/packages/react-axes/rollup.config.js:
--------------------------------------------------------------------------------
1 | const buildHelper = require("@egjs/build-helper");
2 |
3 | export default buildHelper([
4 | {
5 | input: "./src/react-axes/index.tsx",
6 | output: "./dist/axes.cjs.js",
7 | format: "cjs",
8 | exports: "named",
9 | },
10 | {
11 | input: "./src/react-axes/index.tsx",
12 | output: "./dist/axes.esm.js",
13 | format: "esm",
14 | exports: "named",
15 | },
16 | ]);
17 |
18 |
--------------------------------------------------------------------------------
/packages/react-axes/src/App.css:
--------------------------------------------------------------------------------
1 |
2 | #area {
3 | display: flex;
4 | justify-content: center;
5 | position:relative;
6 | width:100%; height:200px;
7 | -webkit-perspective: 300px;
8 | -moz-perspective: 300px;
9 | -ms-perspective: 300px;
10 | -o-perspective: 300px;
11 | perspective: 300px;
12 | background: #f5f5f5;
13 | border-radius: 4px;
14 | margin-bottom: 20px;
15 | }
16 |
17 | #box {
18 | position:absolute;
19 | left:50%; top:50%;
20 | -webkit-transform-style: preserve-3d;
21 | -moz-transform-style: preserve-3d;
22 | -ms-transform-style: preserve-3d;
23 | -o-transform-style: preserve-3d;
24 | transform-style: preserve-3d;
25 | }
26 |
27 | .face {
28 | position:absolute;
29 | width:100px; height:100px;
30 | color: hsla(0,0%,20%,1);
31 | text-shadow: hsla(0,0%,40%,.5) 0 -1px 0, hsla(0,0%,100%,.6) 0 2px 1px;
32 | text-align: center;
33 | font-size:2.5em; font-weight:bold;
34 | text-align:center; line-height:2.5;
35 | -webkit-backface-visibility:hidden;
36 | -moz-backface-visibility:hidden;
37 | -ms-backface-visibility:hidden;
38 | -o-backface-visibility:hidden;
39 | backface-visibility:hidden;
40 | -webkit-border-radius:4px;
41 | -moz-border-radius:4px;
42 | -ms-border-radius:4px;
43 | -o-border-radius:4px;
44 | border-radius:4px;
45 | background:
46 | repeating-radial-gradient(
47 | line at 0 0,
48 | #eee,
49 | #ccc 50px
50 | );
51 | }
52 |
53 | .metal-linear {
54 | width: 100px;
55 | height: 100px;
56 | -webkit-border-radius:4px;
57 | -moz-border-radius:4px;
58 | -ms-border-radius:4px;
59 | -o-border-radius:4px;
60 | border-radius:4px;
61 | background-image: -webkit-repeating-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0) 6%, hsla(0,0%,100%, .1) 7.5%),
62 | -webkit-repeating-linear-gradient(left, hsla(0,0%, 0%,0) 0%, hsla(0,0%, 0%,0) 4%, hsla(0,0%, 0%,.03) 4.5%),
63 | -webkit-repeating-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0) 1.2%, hsla(0,0%,100%,.15) 2.2%),
64 | linear-gradient(180deg, hsl(0,0%,78%) 0%,
65 | hsl(0,0%,90%) 47%,
66 | hsl(0,0%,78%) 53%,
67 | hsl(0,0%,70%)100%);
68 | }
69 |
--------------------------------------------------------------------------------
/packages/react-axes/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/packages/react-axes/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 |
6 | ReactDOM.render(
7 |
8 |
9 | ,
10 | document.getElementById('root')
11 | );
12 |
13 |
--------------------------------------------------------------------------------
/packages/react-axes/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/react-axes/src/react-axes/index.tsx:
--------------------------------------------------------------------------------
1 | /**
2 | * @namespace ReactAxes
3 | */
4 | export * from "@egjs/axes";
5 | export * from "./useAxes";
6 |
--------------------------------------------------------------------------------
/packages/react-axes/src/react-axes/useAxes.ts:
--------------------------------------------------------------------------------
1 | import { ObjectInterface, REACTIVE_AXES } from "@egjs/axes";
2 | import { AxesOption } from "@egjs/axes/declaration/Axes";
3 | import { AxisOption } from "@egjs/axes/declaration/AxisManager";
4 | import { useReactive, ReactReactiveAdapterResult } from "@cfcs/react";
5 |
6 | export function useAxes(
7 | axis: ObjectInterface,
8 | options: AxesOption = {},
9 | ): ReactReactiveAdapterResult {
10 | return useReactive({
11 | data() {
12 | return {
13 | axis,
14 | options,
15 | };
16 | },
17 | ...REACTIVE_AXES,
18 | });
19 | }
20 |
--------------------------------------------------------------------------------
/packages/react-axes/tsconfig.declaration.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "allowJs": false,
5 | "noEmit": false,
6 | "isolatedModules": false,
7 | "removeComments": true,
8 | "declaration": true,
9 | "emitDeclarationOnly": true,
10 | "declarationDir": "declaration"
11 | },
12 | "include": [
13 | "./src/react-axes/**/*"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/packages/react-axes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "noFallthroughCasesInSwitch": true,
16 | "module": "esnext",
17 | "moduleResolution": "node",
18 | "resolveJsonModule": true,
19 | "isolatedModules": true,
20 | "noEmit": true,
21 | "jsx": "react-jsx"
22 | },
23 | "include": [
24 | "src"
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/packages/svelte-axes/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 | /public/build/
3 |
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/packages/svelte-axes/global.d.ts:
--------------------------------------------------------------------------------
1 | declare module "!!raw-loader!*" {
2 | const content: string;
3 | export default content;
4 | }
5 | declare module "*.svelte" {
6 | const content: any;
7 | export default content;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/svelte-axes/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@egjs/svelte-axes",
3 | "version": "3.3.2",
4 | "description": "A module used to change the information of user action entered by various input devices such as touch screen or mouse into the logical virtual coordinates. You can easily create a UI that responds to user actions.",
5 | "sideEffects": false,
6 | "types": "declaration/index.d.ts",
7 | "module": "dist/axes.esm.js",
8 | "svelte": "dist/axes.esm.js",
9 | "main": "dist/axes.cjs.js",
10 | "scripts": {
11 | "dev": "rollup -c -w",
12 | "start": "sirv public --no-clear",
13 | "build": "rollup -c && npm run declaration",
14 | "declaration": "rm -rf declaration && tsc -p tsconfig.declaration.json"
15 | },
16 | "repository": {
17 | "type": "git",
18 | "url": "https://github.com/naver/egjs-axes"
19 | },
20 | "author": {
21 | "name": "NAVER Corp."
22 | },
23 | "namespace": {
24 | "eg": "eg"
25 | },
26 | "license": "MIT",
27 | "homepage": "https://github.com/naver/egjs-axes",
28 | "files": [
29 | "./*",
30 | "declaration/*",
31 | "dist/*"
32 | ],
33 | "dependencies": {
34 | "@cfcs/svelte": "^0.1.0",
35 | "@egjs/axes": "~3.9.2"
36 | },
37 | "devDependencies": {
38 | "@babel/core": "^7.12.10",
39 | "@babel/preset-env": "^7.12.11",
40 | "@egjs/build-helper": "0.0.5",
41 | "@pyoner/svelte-ts-preprocess": "^1.2.1",
42 | "@testing-library/jest-dom": "^5.11.8",
43 | "@testing-library/svelte": "^3.0.3",
44 | "@types/jest": "^26.0.19",
45 | "babel-jest": "^26.6.3",
46 | "jest": "^26.6.3",
47 | "print-coveralls": "^1.2.2",
48 | "rollup": "^1.12.0",
49 | "rollup-plugin-css-only": "^3.1.0",
50 | "rollup-plugin-livereload": "^1.0.0",
51 | "rollup-plugin-svelte": "^7.0.0",
52 | "rollup-plugin-terser": "^5.1.2",
53 | "sirv-cli": "^0.4.4",
54 | "svelte": "^3.31.0",
55 | "svelte-jester": "^1.3.0",
56 | "svelte-preprocess": "^4.6.1",
57 | "ts-jest": "^26.4.4",
58 | "tslib": "^1.10.0",
59 | "typescript": "~4.6.2"
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/packages/svelte-axes/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/svelte-axes/public/favicon.png
--------------------------------------------------------------------------------
/packages/svelte-axes/public/global.css:
--------------------------------------------------------------------------------
1 | #area {
2 | display: flex;
3 | justify-content: center;
4 | position:relative;
5 | width:100%; height:200px;
6 | -webkit-perspective: 300px;
7 | -moz-perspective: 300px;
8 | -ms-perspective: 300px;
9 | -o-perspective: 300px;
10 | perspective: 300px;
11 | background: #f5f5f5;
12 | border-radius: 4px;
13 | margin-bottom: 20px;
14 | }
15 |
16 | #box {
17 | position:absolute;
18 | left:50%; top:50%;
19 | -webkit-transform-style: preserve-3d;
20 | -moz-transform-style: preserve-3d;
21 | -ms-transform-style: preserve-3d;
22 | -o-transform-style: preserve-3d;
23 | transform-style: preserve-3d;
24 | }
25 |
26 | .face {
27 | position:absolute;
28 | width:100px; height:100px;
29 | color: hsla(0,0%,20%,1);
30 | text-shadow: hsla(0,0%,40%,.5) 0 -1px 0, hsla(0,0%,100%,.6) 0 2px 1px;
31 | text-align: center;
32 | font-size:2.5em; font-weight:bold;
33 | text-align:center; line-height:2.5;
34 | -webkit-backface-visibility:hidden;
35 | -moz-backface-visibility:hidden;
36 | -ms-backface-visibility:hidden;
37 | -o-backface-visibility:hidden;
38 | backface-visibility:hidden;
39 | -webkit-border-radius:4px;
40 | -moz-border-radius:4px;
41 | -ms-border-radius:4px;
42 | -o-border-radius:4px;
43 | border-radius:4px;
44 | background:
45 | repeating-radial-gradient(
46 | line at 0 0,
47 | #eee,
48 | #ccc 50px
49 | );
50 | }
51 |
52 | .metal-linear {
53 | width: 100px;
54 | height: 100px;
55 | -webkit-border-radius:4px;
56 | -moz-border-radius:4px;
57 | -ms-border-radius:4px;
58 | -o-border-radius:4px;
59 | border-radius:4px;
60 | background-image: -webkit-repeating-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0) 6%, hsla(0,0%,100%, .1) 7.5%),
61 | -webkit-repeating-linear-gradient(left, hsla(0,0%, 0%,0) 0%, hsla(0,0%, 0%,0) 4%, hsla(0,0%, 0%,.03) 4.5%),
62 | -webkit-repeating-linear-gradient(left, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,0) 1.2%, hsla(0,0%,100%,.15) 2.2%),
63 | linear-gradient(180deg, hsl(0,0%,78%) 0%,
64 | hsl(0,0%,90%) 47%,
65 | hsl(0,0%,78%) 53%,
66 | hsl(0,0%,70%)100%);
67 | }
68 |
--------------------------------------------------------------------------------
/packages/svelte-axes/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Svelte app
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/svelte-axes/rollup.config.js:
--------------------------------------------------------------------------------
1 | import buildHelper from "@egjs/build-helper";
2 | import svelte from "rollup-plugin-svelte";
3 | import sveltePreprocess from "svelte-preprocess";
4 | import nodeResolve from "@rollup/plugin-node-resolve";
5 |
6 | const defaultOptions = {
7 | tsconfig: "",
8 | commonjs: true,
9 | external: {
10 | svelte: "svelte",
11 | },
12 | plugins: [
13 | svelte({
14 | preprocess: sveltePreprocess(),
15 | }),
16 | nodeResolve({
17 | browser: true
18 | }),
19 | ],
20 | };
21 |
22 | export default buildHelper([
23 | {
24 | ...defaultOptions,
25 | input: "./src/svelte-axes/index.ts",
26 | output: "dist/axes.cjs.js",
27 | format: "cjs",
28 | exports: "named",
29 | },
30 | {
31 | ...defaultOptions,
32 | input: "./src/svelte-axes/index.ts",
33 | output: "dist/axes.esm.js",
34 | format: "es",
35 | exports: "named",
36 | },
37 | ]);
38 |
--------------------------------------------------------------------------------
/packages/svelte-axes/src/App.svelte:
--------------------------------------------------------------------------------
1 |
27 |
28 |
29 |
You can rotate the cube using two axes.
30 |
31 |
32 |
33 |
1
34 |
2
35 |
3
36 |
4
37 |
5
38 |
6
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/packages/svelte-axes/src/main.js:
--------------------------------------------------------------------------------
1 | import App from './App.svelte';
2 |
3 | const app = new App({
4 | target: document.body,
5 | props: {
6 | name: 'world',
7 | },
8 | });
9 |
10 | export default app;
11 |
--------------------------------------------------------------------------------
/packages/svelte-axes/src/svelte-axes/index.ts:
--------------------------------------------------------------------------------
1 | export * from "@egjs/axes";
2 | export * from "./useAxes";
3 |
--------------------------------------------------------------------------------
/packages/svelte-axes/src/svelte-axes/useAxes.ts:
--------------------------------------------------------------------------------
1 | import { ObjectInterface, REACTIVE_AXES } from "@egjs/axes";
2 | import { AxesOption } from "@egjs/axes/declaration/Axes";
3 | import { AxisOption } from "@egjs/axes/declaration/AxisManager";
4 | import { useReactive, SvelteReactiveAdapterResult } from "@cfcs/svelte";
5 |
6 | function useAxes(
7 | axis: ObjectInterface,
8 | options: AxesOption = {}
9 | ): SvelteReactiveAdapterResult {
10 | return useReactive({
11 | data() {
12 | return {
13 | axis,
14 | options,
15 | };
16 | },
17 | ...REACTIVE_AXES,
18 | });
19 | }
20 | export {
21 | useAxes,
22 | };
23 |
--------------------------------------------------------------------------------
/packages/svelte-axes/tsconfig.declaration.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "allowJs": false,
5 | "noEmit": false,
6 | "isolatedModules": false,
7 | "removeComments": true,
8 | "declaration": true,
9 | "emitDeclarationOnly": true,
10 | "declarationDir": "declaration"
11 | },
12 | "include": ["src/svelte-axes/**/*.ts"],
13 | "exclude": ["node_modules"],
14 | }
15 |
--------------------------------------------------------------------------------
/packages/svelte-axes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "outDir": "./outjs/",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "noFallthroughCasesInSwitch": true,
16 | "module": "esnext",
17 | "moduleResolution": "node",
18 | "resolveJsonModule": true,
19 | "isolatedModules": true,
20 | "noEmit": true,
21 | "experimentalDecorators": true
22 | },
23 | "include": [
24 | "./src/**/*.ts"
25 | ],
26 | "exclude": ["node_modules", "__sapper__/*", "public/*"]
27 | }
28 |
--------------------------------------------------------------------------------
/packages/vue-axes/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/packages/vue-axes/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | 'extends': [
7 | 'plugin:vue/vue3-essential',
8 | 'eslint:recommended',
9 | '@vue/typescript/recommended'
10 | ],
11 | parserOptions: {
12 | ecmaVersion: 2020
13 | },
14 | rules: {
15 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
16 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/vue-axes/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/packages/vue-axes/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/vue-axes/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@egjs/vue-axes",
3 | "version": "3.3.2",
4 | "description": "A module used to change the information of user action entered by various input devices such as touch screen or mouse into the logical virtual coordinates. You can easily create a UI that responds to user actions.",
5 | "main": "dist/axes.cjs.js",
6 | "module": "dist/axes.esm.js",
7 | "types": "declaration/index.d.ts",
8 | "sideEffects": false,
9 | "license": "MIT",
10 | "scripts": {
11 | "serve": "vue-cli-service serve",
12 | "lint": "vue-cli-service lint",
13 | "build": "rollup -c && npm run declaration && print-sizes ./dist ",
14 | "declaration": "rm -rf declaration && tsc -p tsconfig.declaration.json"
15 | },
16 | "files": [
17 | "./*",
18 | "declaration/*",
19 | "dist/*"
20 | ],
21 | "dependencies": {
22 | "@cfcs/vue3": "^0.1.0",
23 | "@egjs/axes": "~3.9.2"
24 | },
25 | "devDependencies": {
26 | "@egjs/build-helper": "^0.1.2",
27 | "@typescript-eslint/eslint-plugin": "^2.33.0",
28 | "@typescript-eslint/parser": "^2.33.0",
29 | "@vue/cli-plugin-babel": "~4.5.0",
30 | "@vue/cli-plugin-eslint": "~4.5.0",
31 | "@vue/cli-plugin-typescript": "~4.5.0",
32 | "@vue/cli-service": "~4.5.0",
33 | "@vue/compiler-sfc": "^3.0.0",
34 | "@vue/eslint-config-typescript": "^5.0.2",
35 | "core-js": "^3.6.5",
36 | "eslint": "^6.7.2",
37 | "eslint-plugin-vue": "^7.0.0-0",
38 | "print-sizes": "^0.1.0",
39 | "typescript": "~4.6.2",
40 | "vue": "^3.2.21"
41 | },
42 | "repository": {
43 | "type": "git",
44 | "url": "https://github.com/naver/egjs-axes"
45 | },
46 | "author": {
47 | "name": "NAVER Corp."
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/packages/vue-axes/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/vue-axes/public/favicon.ico
--------------------------------------------------------------------------------
/packages/vue-axes/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/vue-axes/rollup.config.js:
--------------------------------------------------------------------------------
1 | const commonjs = require("rollup-plugin-commonjs");
2 | const buildHelper = require("@egjs/build-helper");
3 |
4 | export default buildHelper([
5 | {
6 | input: "./src/vue-axes/index.ts",
7 | output: "./dist/axes.cjs.js",
8 | format: "cjs",
9 | exports: "named",
10 | external: {
11 | "vue": "vue",
12 | "@egjs/axes": "@egjs/axes",
13 | }
14 | },
15 | {
16 | input: "./src/vue-axes/index.ts",
17 | output: "./dist/axes.esm.js",
18 | format: "esm",
19 | exports: "named",
20 | external: {
21 | "vue": "vue",
22 | "@egjs/axes": "@egjs/axes",
23 | }
24 | },
25 | ]);
26 |
27 |
--------------------------------------------------------------------------------
/packages/vue-axes/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/vue-axes/src/assets/logo.png
--------------------------------------------------------------------------------
/packages/vue-axes/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/packages/vue-axes/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.vue' {
2 | import type { DefineComponent } from 'vue'
3 | const component: DefineComponent<{}, {}, any>
4 | export default component
5 | }
6 |
--------------------------------------------------------------------------------
/packages/vue-axes/src/vue-axes/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @namespace VueAxes
3 | */
4 | export * from "@egjs/axes";
5 | export * from "./useAxes";
6 |
--------------------------------------------------------------------------------
/packages/vue-axes/src/vue-axes/useAxes.ts:
--------------------------------------------------------------------------------
1 | import { ObjectInterface, REACTIVE_AXES } from "@egjs/axes";
2 | import { AxesOption } from "@egjs/axes/declaration/Axes";
3 | import { AxisOption } from "@egjs/axes/declaration/AxisManager";
4 | import { useReactive, VueReactiveAdapterResult } from "@cfcs/vue3";
5 |
6 | export function useAxes(
7 | axis: ObjectInterface,
8 | options: AxesOption = {}
9 | ): VueReactiveAdapterResult {
10 | return useReactive({
11 | data() {
12 | return {
13 | axis,
14 | options,
15 | };
16 | },
17 | ...REACTIVE_AXES,
18 | });
19 | }
20 |
--------------------------------------------------------------------------------
/packages/vue-axes/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "jsx": "react"
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/packages/vue-axes/tsconfig.declaration.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "allowJs": false,
5 | "noEmit": false,
6 | "isolatedModules": false,
7 | "removeComments": true,
8 | "declaration": true,
9 | "emitDeclarationOnly": true,
10 | "declarationDir": "declaration"
11 | },
12 | "include": [
13 | "./src/vue-axes/**/*"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/packages/vue-axes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "strict": true,
6 | "jsx": "preserve",
7 | "importHelpers": true,
8 | "moduleResolution": "node",
9 | "skipLibCheck": true,
10 | "esModuleInterop": true,
11 | "allowSyntheticDefaultImports": true,
12 | "sourceMap": true,
13 | "baseUrl": ".",
14 | "types": [
15 | "webpack-env"
16 | ],
17 | "paths": {
18 | "@/*": [
19 | "src/*"
20 | ]
21 | },
22 | "lib": [
23 | "esnext",
24 | "dom",
25 | "dom.iterable",
26 | "scripthost"
27 | ]
28 | },
29 | "include": [
30 | "src/**/*.ts",
31 | "src/**/*.tsx",
32 | "src/**/*.vue",
33 | "tests/**/*.ts",
34 | "tests/**/*.tsx"
35 | ],
36 | "exclude": [
37 | "node_modules"
38 | ]
39 | }
40 |
--------------------------------------------------------------------------------
/packages/vue2-axes/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/packages/vue2-axes/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.{js,jsx,ts,tsx,vue}]
2 | indent_style = space
3 | indent_size = 2
4 | end_of_line = lf
5 | trim_trailing_whitespace = true
6 | insert_final_newline = true
7 | max_line_length = 100
8 |
--------------------------------------------------------------------------------
/packages/vue2-axes/.npmignore:
--------------------------------------------------------------------------------
1 | public/
2 |
--------------------------------------------------------------------------------
/packages/vue2-axes/demo/index.ts:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import VueCompositionAPI from '@vue/composition-api';
3 | import App from './App.vue';
4 |
5 | Vue.use(VueCompositionAPI);
6 | new Vue({
7 | render: (h: any) => h(App),
8 | }).$mount('#app');
9 |
--------------------------------------------------------------------------------
/packages/vue2-axes/demo/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.vue" {
2 | import Vue from "vue";
3 | export default Vue;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/vue2-axes/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@egjs/vue2-axes",
3 | "version": "3.3.2",
4 | "description": "A module used to change the information of user action entered by various input devices such as touch screen or mouse into the logical virtual coordinates. You can easily create a UI that responds to user actions.",
5 | "sideEffects": false,
6 | "main": "dist/axes.cjs.js",
7 | "module": "dist/axes.esm.js",
8 | "types": "declaration/index.d.ts",
9 | "license": "MIT",
10 | "scripts": {
11 | "serve": "vue-cli-service serve demo",
12 | "lint": "vue-cli-service lint --no-fix",
13 | "build": "rollup -c && npm run declaration && print-sizes ./dist ",
14 | "declaration": "rm -rf declaration && tsc -p tsconfig.declaration.json"
15 | },
16 | "files": [
17 | "./*",
18 | "declaration/*",
19 | "dist/*"
20 | ],
21 | "dependencies": {
22 | "@cfcs/vue2": "^0.1.0",
23 | "@egjs/axes": "~3.9.2"
24 | },
25 | "devDependencies": {
26 | "@babel/core": "^7.12.10",
27 | "@egjs/build-helper": "^0.1.2",
28 | "@typescript-eslint/parser": "^2.33.0",
29 | "@vue/cli-plugin-typescript": "~4.5.0",
30 | "@vue/cli-service": "~4.5.0",
31 | "@vue/composition-api": "^1.2.4",
32 | "@vue/eslint-config-airbnb": "^5.0.2",
33 | "@vue/eslint-config-prettier": "^6.0.0",
34 | "@vue/eslint-config-typescript": "^5.0.2",
35 | "@vue/test-utils": "^1.0.3",
36 | "babel-eslint": "^10.1.0",
37 | "babel-loader": "^8.2.2",
38 | "print-sizes": "^0.1.0",
39 | "rollup-plugin-vue": "^5.1.9",
40 | "tslib": "^2.3.1",
41 | "typescript": "~4.6.2",
42 | "vue": "^2.6.12",
43 | "vue-template-compiler": "^2.6.11"
44 | },
45 | "peerDependencies": {
46 | "@vue/composition-api": "^1.0.0",
47 | "vue": "^2.0.0"
48 | },
49 | "repository": {
50 | "type": "git",
51 | "url": "https://github.com/naver/egjs-axes"
52 | },
53 | "author": {
54 | "name": "NAVER Corp."
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/packages/vue2-axes/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/naver/egjs-axes/d5294509d678bf5aef484a1a1ef4b20b41f36315/packages/vue2-axes/public/favicon.ico
--------------------------------------------------------------------------------
/packages/vue2-axes/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/vue2-axes/rollup.config.js:
--------------------------------------------------------------------------------
1 | const buildHelper = require("@egjs/build-helper");
2 |
3 | const defaultOptions = {
4 | sourcemap: true,
5 | input: "./src/index.ts",
6 | exports: "named",
7 | commonjs: true,
8 | external: {
9 | "vue": "vue",
10 | "@vue/composition-api": "@vue/composition-api",
11 | "@egjs/axes": "@egjs/axes",
12 | }
13 | };
14 | export default buildHelper([
15 | {
16 | ...defaultOptions,
17 | format: "es",
18 | output: "./dist/axes.esm.js",
19 | },
20 | {
21 | ...defaultOptions,
22 | format: "cjs",
23 | output: "./dist/axes.cjs.js",
24 | },
25 | ]);
26 |
--------------------------------------------------------------------------------
/packages/vue2-axes/src/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @namespace VueAxes
3 | */
4 | export * from "@egjs/axes";
5 | export * from "./useAxes";
6 |
--------------------------------------------------------------------------------
/packages/vue2-axes/src/useAxes.ts:
--------------------------------------------------------------------------------
1 | import { ObjectInterface, REACTIVE_AXES } from "@egjs/axes";
2 | import { AxesOption } from "@egjs/axes/declaration/Axes";
3 | import { AxisOption } from "@egjs/axes/declaration/AxisManager";
4 | import { useReactive, VueReactiveAdapterResult } from "@cfcs/vue2";
5 |
6 | export function useAxes(
7 | axis: ObjectInterface,
8 | options: AxesOption = {}
9 | ): VueReactiveAdapterResult {
10 | return useReactive({
11 | data() {
12 | return {
13 | axis,
14 | options,
15 | };
16 | },
17 | ...REACTIVE_AXES,
18 | });
19 | }
20 |
--------------------------------------------------------------------------------
/packages/vue2-axes/tsconfig.declaration.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "removeComments": true,
5 | "declaration": true,
6 | "emitDeclarationOnly": true,
7 | "declarationDir": "declaration"
8 | },
9 | "include": [
10 | "src/**/*.ts",
11 | "src/**/*.tsx",
12 | "src/**/*.vue"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/packages/vue2-axes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "esnext",
5 | "strict": true,
6 | "jsx": "preserve",
7 | "importHelpers": true,
8 | "moduleResolution": "node",
9 | "skipLibCheck": true,
10 | "esModuleInterop": true,
11 | "allowSyntheticDefaultImports": true,
12 | "downlevelIteration": true,
13 | "sourceMap": true,
14 | "baseUrl": ".",
15 | "types": [
16 | "webpack-env"
17 | ],
18 | "paths": {
19 | "@/*": [
20 | "src/*"
21 | ]
22 | },
23 | "lib": [
24 | "esnext",
25 | "dom",
26 | "dom.iterable",
27 | "scripthost"
28 | ]
29 | },
30 | "include": [
31 | "src/**/*.ts",
32 | "src/**/*.tsx",
33 | "src/**/*.vue",
34 | "tests/**/*.ts",
35 | "tests/**/*.tsx",
36 | "stories/**/*.ts",
37 | "stories/**/*.tsx",
38 | "stories/**/*.vue"
39 | ],
40 | "exclude": [
41 | "node_modules"
42 | ]
43 | }
44 |
--------------------------------------------------------------------------------