/*
* Copyright (c) 2015 NAVER Corp.
* egjs projects are licensed under the MIT license
*/
export { CODE as ERROR_CODE } from "./error";
/**
* Event type object with event name strings of {@link Flicking}
* @ko {@link Flicking}의 이벤트 이름 문자열들을 담은 객체
* @type {object}
* @property {"holdStart"} HOLD_START holdStart eventholdStart 이벤트
* @property {"holdEnd"} HOLD_END holdEnd eventholdEnd 이벤트
* @property {"moveStart"} MOVE_START moveStart eventmoveStart 이벤트
* @property {"move"} MOVE move eventmove 이벤트
* @property {"moveEnd"} MOVE_END moveEnd eventmoveEnd 이벤트
* @property {"willChange"} WILL_CHANGE willChange eventwillChange 이벤트
* @property {"changed"} CHANGED changed eventchanged 이벤트
* @property {"willRestore"} WILL_RESTORE willRestore eventwillRestore 이벤트
* @property {"restored"} RESTORED restored eventrestored 이벤트
* @property {"select"} SELECT select eventselect 이벤트
* @property {"needPanel"} NEED_PANEL needPanel eventneedPanel 이벤트
* @property {"panelChange"} PANEL_CHANGE panelChange eventpanelChange 이벤트
* @example
* ```ts
* import { EVENTS } from "@egjs/flicking";
* EVENTS.MOVE_START; // "moveStart"
* ```
*/
export const EVENTS = {
READY: "ready",
BEFORE_RESIZE: "beforeResize",
AFTER_RESIZE: "afterResize",
HOLD_START: "holdStart",
HOLD_END: "holdEnd",
MOVE_START: "moveStart",
MOVE: "move",
MOVE_END: "moveEnd",
WILL_CHANGE: "willChange",
CHANGED: "changed",
WILL_RESTORE: "willRestore",
RESTORED: "restored",
SELECT: "select",
NEED_PANEL: "needPanel",
VISIBLE_CHANGE: "visibleChange",
REACH_EDGE: "reachEdge",
PANEL_CHANGE: "panelChange"
} as const;
/**
* An object with all possible predefined literal string for the {@link Flicking#align align} option
* @ko {@link Flicking#align align} 옵션에 사용되는 미리 정의된 리터럴 상수들을 담고 있는 객체
* @type {object}
* @property {"prev"} PREV left/top align좌/상 정렬
* @property {"center"} CENTER center align중앙 정렬
* @property {"next"} NEXT right/bottom align우/하 정렬
*/
export const ALIGN = {
PREV: "prev",
CENTER: "center",
NEXT: "next"
} as const;
/**
* An object of directions
* @ko 방향을 나타내는 값들을 담고 있는 객체
* @type {object}
* @property {"PREV"} PREV "left" when {@link Flicking#horizontal horizontal} is true, and "top" when {@link Flicking#horizontal horizontal} is false
* {@link Flicking#horizontal horizontal}가 `true`일 경우 왼쪽, {@link Flicking#horizontal horizontal}가 `false`일 경우 위쪽을 의미합니다
* @property {"NEXT"} NEXT "right" when {@link Flicking#horizontal horizontal} is true, and "bottom" when {@link Flicking#horizontal horizontal} is false
* {@link Flicking#horizontal horizontal}가 `true`일 경우 오른쪽, {@link Flicking#horizontal horizontal}가 `false`일 경우 아래쪽을 의미합니다
* @property {null} NONE This value usually means it's the same position주로 제자리인 경우를 의미합니다
*/
export const DIRECTION = {
PREV: "PREV",
NEXT: "NEXT",
NONE: null
} as const;
/**
* An object with all possible {@link Flicking#moveType moveType}s
* @ko Flicking이 제공하는 {@link Flicking#moveType moveType}들을 담고 있는 객체
* @type {object}
* @property {"snap"} SNAP Flicking's {@link Flicking#moveType moveType} that enables {@link SnapControl} as a Flicking's {@link Flicking#control control}
* Flicking의 {@link Flicking#control control}을 {@link SnapControl}로 설정하게 하는 {@link Flicking#moveType moveType}
* @property {"freeScroll"} FREE_SCROLL Flicking's {@link Flicking#moveType moveType} that enables {@link FreeControl} as a Flicking's {@link Flicking#control control}
* Flicking의 {@link Flicking#control control}을 {@link FreeControl}로 설정하게 하는 {@link Flicking#moveType moveType}
* @property {"strict"} STRICT Flicking's {@link Flicking#moveType moveType} that enables {@link StrictControl} as a Flicking's {@link Flicking#control control}
* Flicking의 {@link Flicking#control control}을 {@link StrictControl}로 설정하게 하는 {@link Flicking#moveType moveType}
*/
export const MOVE_TYPE = {
SNAP: "snap",
FREE_SCROLL: "freeScroll",
STRICT: "strict"
} as const;
export const CLASS = {
VERTICAL: "vertical",
HIDDEN: "flicking-hidden",
DEFAULT_VIRTUAL: "flicking-panel"
};
/**
* An object with all possible {@link Flicking#circularFallback circularFallback}s
* @ko Flicking의 {@link Flicking#circularFallback circularFallback}에 설정 가능한 값들을 담고 있는 객체
* @type {object}
* @property {string} LINEAR "linear"
* @property {string} BOUND "bound"
*/
export const CIRCULAR_FALLBACK = {
LINEAR: "linear",
BOUND: "bound"
} as const;