{"version":3,"sources":["jsdelivr-header.js","/npm/jquery-register@1.1.1/main.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCNA,SAAW,EAAQ,GACE,iBAAZ,SAA0C,oBAAX,OAAyB,OAAO,QAAU,IAC9D,mBAAX,QAAyB,OAAO,IAAM,OAAO,GACnD,EAAO,eAAiB,GAC1B,CAJD,CAIG,MAAM,WAML,SAAS,EAAa,EAAQ,GAC1B,IAAI,EAAY,OAAO,GAAU,UAC7B,EAAS,CAAC,EAEd,IAAK,IAAI,KAAO,EACkB,mBAAnB,EAAU,IACjB,WACI,IAAI,EAAa,EAEjB,EAAO,GAAc,WACjB,IAAI,EAAe,UAOnB,OANA,EAAO,MAAK,WACR,IAAI,EAAS,EAAE,MAAM,KAAK,iBAAmB,GACvC,GACF,EAAU,GAAY,MAAM,EAAQ,EAE5C,IACO,CACX,CACH,CAbD,GAiBR,OAAO,CACX,CAiDA,SAAS,EAAiB,EAAQ,GAC9B,IAAI,EAAY,OAAO,GACnB,EAAS,CAAC,EAEd,IAAK,IAAI,KAAO,EAAU,QACgB,mBAA3B,EAAU,QAAQ,IACzB,WACI,IAAI,EAAa,EAEjB,EAAO,GAAc,WACjB,IAAI,EAAe,UAOnB,OANA,EAAO,MAAK,WACR,IAAI,EAAS,EAAE,MAAM,KAAK,iBAAmB,GACvC,GACF,EAAU,QAAQ,GAAY,MAAM,EAAQ,EAEpD,IACO,CACX,CACH,CAbD,GAiBR,OAAO,CACX,CAgDA,MAAO,CACH,wBAnHJ,SAAiC,EAAU,GAEvC,OAAO,GAAY,EAEnB,EAAE,GAAG,GAAY,SAAS,GAEtB,OAYW,OAZK,IAAZ,EAEa,KAAK,QAAO,WAGrB,QADa,EAAE,MAAM,KAAK,iBAAiB,EAM/C,IAKa,KAAK,MAAK,WACnB,IAAI,EAAQ,EAAE,MAEV,EAAa,IAAI,EAErB,EAAQ,GAAK,EACb,EAAW,KAAK,GAEhB,EAAM,KAAK,iBAAmB,EAAU,EAC5C,IAZ4B,EAgBpC,CACJ,EAiFI,gBA1CJ,SAAyB,EAAU,EAAW,GAE1C,OAAO,GAAY,EAGnB,IAAI,EAAY,EAAI,OAAO,GAE3B,EAAE,GAAG,GAAY,SAAS,GAEtB,OAYW,OAZK,IAAZ,EAEa,KAAK,QAAO,WAGrB,QADa,EAAE,MAAM,KAAK,iBAAiB,EAM/C,IAKa,KAAK,MAAK,WACnB,IAAI,EAAQ,EAAE,MAEV,EAAa,IAAI,EAAU,CAC3B,GAAG,EAAM,IAAI,GACb,UAAW,IAGf,EAAM,KAAK,iBAAmB,EAAU,EAC5C,IAZgC,EAgBxC,CACJ,EAMJ","file":"/npm/jquery-register@1.1.1/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jquery-register@1.1.1/main.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global.jqueryRegister = factory());\n})(this, function(){\n\n    /**\n     * 返回 jquery 插件的操作对象\n     * @return {[type]} [description]\n     */\n    function handleWraper($plugs, plugname) {\n        var onehandle = jQuery[plugname].prototype;\n        var handle = {};\n        // 获取组件中的方法，添加到新的 handle 对象中\n        for (var key in onehandle) {\n            if (typeof onehandle[key] === 'function') {\n                (function() {\n                    var methodName = key;\n                    // 将方法添加到 handle\n                    handle[methodName] = function() {\n                        var outArguments = arguments;\n                        $plugs.each(function() {\n                            var handle = $(this).data('widget-handle-' + plugname);\n                            if (!!handle) {\n                                onehandle[methodName].apply(handle, outArguments);\n                            }\n                        });\n                        return handle;\n                    }\n                })();\n\n            }\n        }\n        return handle;\n    }\n\n    /**\n     * 通过构造函数注册jquery插件\n     * @param  {String} plugname        插件名称\n     * @param  {Function} constructor   构造函数\n     */\n    function registerFromConstructor(plugname, constructor) {\n        // 将类暴露到 jQuery 变量下便于扩展\n        jQuery[plugname] = constructor;\n\n        $.fn[plugname] = function(options) {\n\n            if (options === undefined) {\n                // 如果没有选项，则返回所有已经初始化为插件的对象\n                var $plugs = this.filter(function() {\n                    // 返回已经被初始化为插件的元素\n                    var handle = $(this).data('widget-handle-'+plugname);\n                    if(!!handle){\n                        return true;\n                    }else{\n                        return false;\n                    }\n                });\n                // 返回句柄对象\n                return handleWraper($plugs, plugname);\n            } else {\n                // 如果没有选项，则将选择器中的所有内容进行插件初始化，并且全部返回\n                var $plugs = this.each(function() {\n                    var $this = $(this);\n                    // 实例化控件\n                    var someWidget = new constructor();\n                    // 初始化控件\n                    options.el = $this;\n                    someWidget.init(options);\n                    // 保存句柄\n                    $this.data('widget-handle-' + plugname, someWidget);\n                });\n                // 返回句柄对象\n                return handleWraper($plugs, plugname);\n            }\n        };\n    };\n\n\n    /**\n     * 返回 jquery 插件的操作对象\n     * @return {[type]} [description]\n     */\n    function handleWraper4Vue($plugs, plugname) {\n        var onehandle = jQuery[plugname];\n        var handle = {};\n        // 获取组件中的方法，添加到新的 handle 对象中\n        for (var key in onehandle.methods) {\n            if (typeof onehandle.methods[key] === 'function') {\n                (function() {\n                    var methodName = key;\n                    // 将方法添加到 handle\n                    handle[methodName] = function() {\n                        var outArguments = arguments;\n                        $plugs.each(function() {\n                            var handle = $(this).data('widget-handle-' + plugname);\n                            if (!!handle) {\n                                onehandle.methods[methodName].apply(handle, outArguments);\n                            }\n                        });\n                        return handle;\n                    }\n                })();\n\n            }\n        }\n        return handle;\n    }\n\n    /**\n     * 通过vue组件注册jquery插件\n     * @param  {String} plugname        插件名称\n     * @param  {Function} component     vue构造对象\n     * @param  {Function} Vue           Vue对象\n     */\n    function registerFromVue(plugname, component, Vue) {\n        // 将类暴露到 jQuery 变量下便于扩展\n        jQuery[plugname] = component;\n\n        // 扩展 vue \n        var Component = Vue.extend(component);\n\n        $.fn[plugname] = function(options) {\n\n            if (options === undefined) {\n                // 如果没有选项，则返回所有已经初始化为插件的对象\n                var $plugs = this.filter(function() {\n                    // 返回已经被初始化为插件的元素\n                    var handle = $(this).data('widget-handle-'+plugname);\n                    if(!!handle){\n                        return true;\n                    }else{\n                        return false;\n                    }\n                });\n                // 返回句柄对象\n                return handleWraper4Vue($plugs, plugname);\n            } else {\n                // 如果没有选项，则将选择器中的所有内容进行插件初始化，并且全部返回\n                var $plugs = this.each(function() {\n                    var $this = $(this);\n                    // 实例化控件\n                    var someWidget = new Component({\n                        el:$this.get(0),\n                        propsData: options\n                    });\n                    // 保存句柄\n                    $this.data('widget-handle-' + plugname, someWidget);\n                });\n                // 返回句柄对象\n                return handleWraper4Vue($plugs, plugname);\n            }\n        };\n    };\n\n    return {\n        registerFromConstructor: registerFromConstructor,\n        registerFromVue:registerFromVue\n    }\n})"]}