/**
 * @since Last modified: 2024-08-22 18:09:23
 * @constant optGesture
 * @description  The attrs and props comparison table of Gesture module.
 */
'use strict';
import optBase from './optBase';
import unique from '../utils/unique';
const optGesture = unique([
    {
        attr: 'parent',
        prop: 'parent',
        value: ''
    },
    {
        attr: 'viewport',
        prop: 'viewport',
        value: {
            enable: false,
            selector: '',
            dmpRatio: 0.8,
            bouncy: true,
            duration: 0,
        },
    },
    {
        attr: 'jitter-click',
        prop: 'jitterClick',
        value: 10,
    },
    {
        attr: 'jitter-trans',
        prop: 'jitterTrans',
        value: 1,
    },
    {
        attr: 'origin',
        prop: 'origin',
        value: null,
    },
    {
        attr: 'unbound',
        prop: 'unbound',
        value: '[unbound]',
    },
    {
        attr: 'spy',
        prop: 'spy',
        value: {
            enable: false,
        },
    },
    {
        attr: 'click',
        prop: 'click',
        value: {
            timeThr: 200,
            delay: 200,
            dblclickable: true,
            holdDelay: 1000,
            hold2Menu: false,
        },
    },
    {
        attr: 'step',
        prop: 'step',
        value: {
            mode: 'translate',
            axis: 'y',
            value: 0,
            duration: 500,
            intvl: 200,
            linkage: true,
            reverse: false,
            curve: 'easeOut',
        },
    },
    {
        attr: 'wheel',
        prop: 'wheel',
        value: false,
    },
    {
        attr: 'keyboard',
        prop: 'keyboard',
        value: {
            enable: false,
            prev: 'ArrowUp',
            next: 'ArrowDown',
            intvl: 200,
            target: null,
        },
    },
    {
        attr: 'translate',
        prop: 'translate',
        value: {
            max: 10000000,
            min: -10000000,
            instead: false,
            target: '',
        },
    },
    {
        attr: 'drift',
        prop: 'drift',
        value: {
            enable: false,
            timeThr: 300,
            distThr: 20,
            coef: 0.5,
            duration: 500,
            curve: 'easeOut',
            auto: true,
        },
    },
    {
        attr: 'swipe',
        prop: 'swipe',
        value: {
            enable: false,
            timeThr: 100,
            distThr: 20,
            coef: 0.5,
            duration: 500,
            curve: 'easeOut',
            auto: true,
        },
    },
    {
        attr: 'scale',
        prop: 'scale',
        value: {
            enable: false,
            centered: true,
            max: 100,
            min: 0,
        },
    },
    {
        attr: 'rotate',
        prop: 'rotate',
        value: {
            enable: false,
            max: 3600,
            min: -3600,
        },
    },
    {
        attr: 'initial-val',
        prop: 'initialVal',
        value: null,
        /* value:{
           translate: { x: 0, y: 0 },
           scale: { x: 1, y: 1 },
           rotate: 0,
       }, */
    },
    {
        attr: 'on-start',
        prop: 'onStart',
        value: null,
    },
    {
        attr: 'on-move',
        prop: 'onMove',
        value: null,
    },
    {
        attr: 'on-end',
        prop: 'onEnd',
        value: null,
    },
    {
        attr: 'on-click',
        prop: 'onClick',
        value: null,
    },
    {
        attr: 'on-dblclick',
        prop: 'onDblclick',
        value: null,
    },
    {
        attr: 'on-hold',
        prop: 'onHold',
        value: null,
    },
    {
        attr: 'on-scale',
        prop: 'onScale',
        value: null,
    },
    {
        attr: 'on-scaling',
        prop: 'onScaling',
        value: null,
    },
    {
        attr: 'on-scaled',
        prop: 'onScaled',
        value: null,
    },
    {
        attr: 'on-rotate',
        prop: 'onRotate',
        value: null,
    },
    {
        attr: 'on-rotating',
        prop: 'onRotating',
        value: null,
    },
    {
        attr: 'on-rotated',
        prop: 'onRotated',
        value: null,
    },
    {
        attr: 'on-translate',
        prop: 'onTranslate',
        value: null,
    },
    {
        attr: 'on-translating',
        prop: 'onTranslating',
        value: null,
    },
    {
        attr: 'on-translated',
        prop: 'onTranslated',
        value: null,
    },
    {
        attr: 'on-drift',
        prop: 'onDrift',
        value: null,
    },
    {
        attr: 'on-drifting',
        prop: 'onDrifting',
        value: null,
    },
    {
        attr: 'on-drifted',
        prop: 'onDrifted',
        value: null,
    },
    {
        attr: 'on-cancel',
        prop: 'onCancel',
        value: null,
    },
    ...optBase
], 'attr');
export default optGesture;
