From 3e1ebddd85c76c6f580cc9f5e80dcb41171aa71a Mon Sep 17 00:00:00 2001 From: Justineo Date: Thu, 20 Dec 2018 17:02:20 +0800 Subject: [PATCH] chore: rebuild --- demo/index.html | 2 +- demo/js/app.79b3ebde.js | 2 ++ demo/js/app.79b3ebde.js.map | 1 + demo/js/app.f8d65fb1.js | 2 -- demo/js/app.f8d65fb1.js.map | 1 - demo/report.html | 65 ------------------------------------- package-lock.json | 6 ++++ package.json | 3 +- vue.config.js | 1 + 9 files changed, 13 insertions(+), 70 deletions(-) create mode 100644 demo/js/app.79b3ebde.js create mode 100644 demo/js/app.79b3ebde.js.map delete mode 100644 demo/js/app.f8d65fb1.js delete mode 100644 demo/js/app.f8d65fb1.js.map delete mode 100644 demo/report.html diff --git a/demo/index.html b/demo/index.html index 26813a3..dbadd31 100644 --- a/demo/index.html +++ b/demo/index.html @@ -1 +1 @@ -vue-clamp
\ No newline at end of file +vue-clamp
\ No newline at end of file diff --git a/demo/js/app.79b3ebde.js b/demo/js/app.79b3ebde.js new file mode 100644 index 0000000..4551a60 --- /dev/null +++ b/demo/js/app.79b3ebde.js @@ -0,0 +1,2 @@ +!function(e){function t(t){for(var a,o,r=t[0],l=t[1],c=t[2],d=0,p=[];d1)a.a.util.warn("VueClamper only supports clamping plain text content.",this);else{var s=Object(n.a)(t,1)[0];if(s&&s.tag)a.a.util.warn("VueClamper only supports clamping plain text content.",this);else{if(this.offset=this.text.length,this.cleanUp(),this.autoresize){var i=function(){e.update()};Object(o.a)(this.$el,i),this.unregisterResizeCallback=function(){Object(o.b)(e.$el,i)}}this.update()}}},update:function(){this.localExpanded||(this.applyChange(),(this.isOverflow()||this.isClamped)&&this.search())},expand:function(){this.localExpanded=!0},collapse:function(){this.localExpanded=!1},toggle:function(){this.localExpanded=!this.localExpanded},isOverflow:function(){if(!this.maxLines&&!this.maxHeight)return!1;if(this.maxLines&&this.$refs.content.getClientRects().length>this.maxLines)return!0;return!!(this.maxHeight&&this.$el.scrollHeight>this.$el.offsetHeight)},getText:function(){var e=this.$slots.default||[],t=Object(n.a)(e,1)[0];return t?t.text:""},moveEdge:function(e){this.clampAt(this.offset+e)},clampAt:function(e){this.offset=e,this.applyChange()},applyChange:function(){this.$refs.text.textContent=this.realText},stepToFit:function(){this.fill(),this.clamp()},fill:function(){for(;!this.isOverflow()&&this.offset0;)this.moveEdge(-1)},search:function(){for(var e=arguments.length,t=new Array(e),s=0;s")]),s("div",{staticClass:"lang btn-group"},[s("button",{staticClass:"btn btn-sm",class:{active:!e.zh},on:{click:function(t){e.zh=!1}}},[e._v("\n English\n ")]),s("button",{staticClass:"btn btn-sm",class:{active:e.zh},on:{click:function(t){e.zh=!0}}},[e._v("\n 中文\n ")])])]),s("p",[e._v("\n "+e._s(e.zh?"轻松实现多行文本截断。":"Clamping multiline text with ease.")+"\n ")]),s("p",[s("a",{staticClass:"tooltip",attrs:{href:"https://github.com/Justineo/vue-clamp","data-tooltip":e.zh?"前往 GitHub 仓库":"Visit GitHub repo"}},[e._v("\n GitHub →\n ")])]),s("h2",{attrs:{id:"features"}},[s("a",{attrs:{href:"#features"}},[e._v("#")]),e._v(" "+e._s(e.zh?"功能":"Features"))]),s("ul",[s("li",[e._v(e._s(e.zh?"可以选择限制行数与/或最大高度,无需指定行高。":"Clamps text with max lines and/or max height. No need to specify line height."))]),s("li",[e._v(e._s(e.zh?"支持在布局变化时自动更新。":"Automatically updates upon layout change."))]),s("li",[e._v(e._s(e.zh?"支持展开/收起被截断部分内容。":"The clamped text can be expanded/collapsed."))]),s("li",[e._v(e._s(e.zh?"支持自定义截断文本前后内容,并且进行响应式更新。":"Customizable and responsive content before/after clamped text."))])]),e._m(0),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ max-lines & slot `after`"}}),s("section",{staticClass:"case"},[s("div",{staticClass:"form-horizontal"},[s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"lines"}},[e._v("\n "+e._s(e.zh?"最大行数":"Max lines")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12"},[s("input",{directives:[{name:"model",rawName:"v-model.number",value:e.lines,expression:"lines",modifiers:{number:!0}}],staticClass:"form-input",attrs:{id:"lines",type:"number",min:"1",max:"8",step:"1"},domProps:{value:e.lines},on:{input:function(t){t.target.composing||(e.lines=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}})])]),s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"width1"}},[e._v("\n "+e._s(e.zh?"容器宽度":"Container width")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12 tooltip",attrs:{"data-tooltip":e.width1+"px"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.width1,expression:"width1"}],staticClass:"slider",attrs:{id:"width1",type:"range",min:"240",max:"600"},domProps:{value:e.width1},on:{__r:function(t){e.width1=t.target.value}}})])]),e.zh?e._e():s("div",{staticClass:"form-group"},[s("div",{staticClass:"col-5 col-sm-12"},[s("label",{staticClass:"form-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.hyphens1,expression:"hyphens1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.hyphens1)?e._i(e.hyphens1,null)>-1:e.hyphens1},on:{change:function(t){var s=e.hyphens1,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=e._i(s,null);a.checked?n<0&&(e.hyphens1=s.concat([null])):n>-1&&(e.hyphens1=s.slice(0,n).concat(s.slice(n+1)))}else e.hyphens1=i}}}),s("i",{staticClass:"form-icon"}),e._v("\n CSS "),s("code",[e._v("hyphens")])])])])]),s("v-clamp",{class:{demo:!0,hyphens:e.hyphens1},style:{width:e.width1+"px"},attrs:{"max-lines":e.lines,autoresize:""},scopedSlots:e._u([{key:"after",fn:function(t){var a=t.toggle;return s("button",{staticClass:"toggle btn btn-sm",on:{click:a}},[e._v("\n "+e._s(e.zh?"切换":"Toggle")+"\n ")])}}])},[e._v("\n "+e._s(e.zh?e.textZh:e.text)+"\n ")])],1),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ max-height & slot `before`"}}),s("section",{staticClass:"case"},[s("div",{staticClass:"form-horizontal"},[s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"height"}},[e._v("\n "+e._s(e.zh?"最大高度":"Max height")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12 tooltip",attrs:{"data-tooltip":e.zh?"任意 CSS 长度值":"Any valid CSS length value"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.height,expression:"height"}],staticClass:"form-input",attrs:{id:"height"},domProps:{value:e.height},on:{input:function(t){t.target.composing||(e.height=t.target.value)}}})])]),s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"width2"}},[e._v("\n "+e._s(e.zh?"容器宽度":"Container width")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12 tooltip",attrs:{"data-tooltip":e.width2+"px"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.width2,expression:"width2"}],staticClass:"slider",attrs:{id:"width2",type:"range",min:"240",max:"600"},domProps:{value:e.width2},on:{__r:function(t){e.width2=t.target.value}}})])]),s("div",{staticClass:"form-group"},[s("div",{staticClass:"col-5 col-sm-12"},[s("label",{staticClass:"form-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.expanded,expression:"expanded"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.expanded)?e._i(e.expanded,null)>-1:e.expanded},on:{change:function(t){var s=e.expanded,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=e._i(s,null);a.checked?n<0&&(e.expanded=s.concat([null])):n>-1&&(e.expanded=s.slice(0,n).concat(s.slice(n+1)))}else e.expanded=i}}}),s("i",{staticClass:"form-icon"}),e._v("\n "+e._s(e.zh?"展开内容":"Expanded")+"\n ")])])]),e.zh?e._e():s("div",{staticClass:"form-group"},[s("div",{staticClass:"col-5 col-sm-12"},[s("label",{staticClass:"form-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.hyphens2,expression:"hyphens2"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.hyphens2)?e._i(e.hyphens2,null)>-1:e.hyphens2},on:{change:function(t){var s=e.hyphens2,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=e._i(s,null);a.checked?n<0&&(e.hyphens2=s.concat([null])):n>-1&&(e.hyphens2=s.slice(0,n).concat(s.slice(n+1)))}else e.hyphens2=i}}}),s("i",{staticClass:"form-icon"}),e._v("\n CSS "),s("code",[e._v("hyphens")])])])])]),s("v-clamp",{class:{demo:!0,hyphens:e.hyphens2},style:{width:e.width2+"px"},attrs:{"max-height":e.height,autoresize:"",expanded:e.expanded},on:{"update:expanded":function(t){e.expanded=t}}},[e._v("\n "+e._s(e.zh?e.textZh:e.text)+"\n "),s("span",{staticClass:"featured label label-rounded label-primary",attrs:{slot:"before"},slot:"before"},[e._v("\n "+e._s(e.zh?"推荐":"Featured")+"\n ")])])],1),s("h2",{attrs:{id:"usage"}},[s("a",{attrs:{href:"#usage"}},[e._v("#")]),e._v(" "+e._s(e.zh?"使用方法":"Usage"))]),s("div",{staticClass:"divider text-center",attrs:{"data-content":e.zh?"↓ 安装":"↓ Installation"}}),e._m(1),s("div",{staticClass:"divider text-center",attrs:{"data-content":e.zh?"↓ 配置":"↓ Configuration"}}),s("section",[e._m(2),e.zh?s("p",[e._v("对于使用 Vue CLI 3 创建的项目,请确保将 "),s("code",[e._v("vue-clamp")]),e._v(" 与 "),s("code",[e._v("resize-detector")]),e._v(" 加入 "),s("code",[e._v("vue.config.js")]),e._v(" 文件的 "),s("code",[e._v("transpileDependencies")]),e._v(" 选项中:")]):s("p",[e._v("For projects created with Vue CLI 3, remember to add "),s("code",[e._v("vue-clamp")]),e._v(" and "),s("code",[e._v("resize-detector")]),e._v(" into the "),s("code",[e._v("transpileDependencies")]),e._v(" option in "),s("code",[e._v("vue.config.js")]),e._v(":")]),e._m(3),e._m(4),e.zh?s("p",[e._v("如果使用的是 Vue CLI 2 的 "),s("code",[e._v("webpack")]),e._v(" 模板,请按如下方式修改 "),s("code",[e._v("build/webpack.base.conf.js")]),e._v(":")]):s("p",[e._v("For Vue CLI 2 with the "),s("code",[e._v("webpack")]),e._v(" template, modify "),s("code",[e._v("build/webpack.base.conf.js")]),e._v(" like this:")]),e._m(5),e._m(6),e.zh?s("p",[e._v("在 Nuxt.js 中使用时,请确保将 "),s("code",[e._v("vue-clamp")]),e._v(" 与 "),s("code",[e._v("resize-detector")]),e._v(" 加入 "),s("code",[e._v("nuxt.config.js")]),e._v(" 文件的 "),s("code",[e._v("build.transpile")]),e._v(" 选项中:")]):s("p",[e._v("When using in Nuxt.js, remember to add "),s("code",[e._v("vue-clamp")]),e._v(" and "),s("code",[e._v("resize-detector")]),e._v(" into the "),s("code",[e._v("build.transpile")]),e._v(" option in "),s("code",[e._v("nuxt.config.js")]),e._v(":")]),e._m(7)]),e._m(8),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ Props"}}),s("section",[s("ul",[s("li",[e._m(9),s("p",[e._v(e._s(e.zh?"生成的根元素的标签名。":"The tag name of the generated root element."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("div")])])]),s("li",[e._m(10),s("p",[e._v(e._s(e.zh?"是否要自动适配根元素的尺寸变化。":"Whether to observe the root element's size."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("false")])])]),s("li",[e._m(11),s("p",[e._v(e._s(e.zh?"可以显示的最大行数":"The max number of lines that can be displayed."))])]),s("li",[e._m(12),e.zh?s("p",[e._v("'根元素的最大高度。数字值将被转换为 "),s("code",[e._v("px")]),e._v(" 单位;字符串值将直接作为 CSS 属性 "),s("code",[e._v("max-height")]),e._v(" 输出。")]):s("p",[e._v("The max height of the root element. Number values are converted to "),s("code",[e._v("px")]),e._v(" units. String values are used directly as the "),s("code",[e._v("max-height")]),e._v(" CSS property.")])]),s("li",[e._m(13),s("p",[e._v(e._s(e.zh?"当文字被截断时需要显示的省略号字符串。":"The ellipsis characters displayed when the text is clamped."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("'…'")])])]),s("li",[e._m(14),s("p",[s("span",{staticClass:"label label-primary tooltip",attrs:{"data-tooltip":e.zh?"支持 .sync 修饰符":"Supports .sync modifier"}},[e._v("\n .sync\n ")])]),s("p",[e._v(e._s(e.zh?"是否展开显式被截断的文本。":"Whether the clamped area is expanded."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("false")])])])])]),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ Slots"}}),s("section",[s("ul",[s("li",[e._m(15),s("p",[e._v(e._s(e.zh?"需要截断的文本。只能包含纯文本内容。":"The text to clamp. Can only contain pure text."))])]),s("li",[e._m(16),s("p",[e._v("Slot "+e._s(e.zh?"作用域:":"scope:")),s("code",[e._v("{ expand, collapse, toggle }")])]),s("section",{staticClass:"secondary"},[s("p",[s("code",[e._v("expand: function(): void")]),e._v(" - "+e._s(e.zh?"展开被截断的文本。":"Expand the clamped text."))]),s("p",[s("code",[e._v("collapse: function(): void")]),e._v(" - "+e._s(e.zh?"收起展开后的文本。":"Collapse the expanded text."))]),s("p",[s("code",[e._v("toggle: function(): void")]),e._v(" - "+e._s(e.zh?"切换被截断文本的展开状态。":"Toggle the expand state of clamped text."))])]),s("p",[e._v(e._s(e.zh?"在被截断的文本前显式的内容,可以包含任意类型内容。":"Content displayed before the clamped text. Can contain anything."))])]),s("li",[e._m(17),e.zh?s("p",[e._v("Slot 作用域:与 "),s("code",[e._v("before")]),e._v(" 相同。")]):s("p",[e._v("Slot scope: Same as "),s("code",[e._v("before")]),e._v(".")]),s("p",[e._v(e._s(e.zh?"在被截断的文本后显式的内容,可以包含任意类型内容。":"Content displayed after the clamped text. Can contain anything."))])])])]),s("footer",[e.zh?s("p",[e._v("由 "),s("a",{attrs:{href:"https://github.com/Justineo"}},[e._v("@Justineo")]),e._v(" 创作。")]):s("p",[e._v("Made by "),s("a",{attrs:{href:"https://github.com/Justineo"}},[e._v("@Justineo")]),e._v(".")]),s("p",[e.zh?s("small",[e._v("本页基于 "),s("a",{attrs:{href:"https://picturepan2.github.io/spectre.css"}},[e._v("Spectre.css")]),e._v(" 开发。")]):s("small",[e._v("This page is based on "),s("a",{attrs:{href:"https://picturepan2.github.io/spectre.css"}},[e._v("Spectre.css")]),e._v(".")])])])])},[function(){var e=this.$createElement,t=this._self._c||e;return t("h2",{attrs:{id:"demo"}},[t("a",{attrs:{href:"#demo"}},[this._v("#")]),this._v(" Demo")])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code shell",attrs:{"data-lang":"Shell"}},[t("code",[this._v("$ npm i --save vue-clamp")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h4",[this._v("Vue CLI "),t("small",[this._v("v3")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code javascript",attrs:{"data-lang":"JavaScript"}},[t("code",[this._v("module.exports = {\n transpileDependencies: ['vue-clamp', 'resize-detector']\n}\n")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h4",[this._v("Vue CLI "),t("small",[this._v("v2")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code diff",attrs:{"data-lang":"Diff"}},[t("code",[this._v(" {\n test: /\\.js$/,\n loader: 'babel-loader',\n- include: [resolve('src'), resolve('test')]\n+ include: [\n+ resolve('src'),\n+ resolve('test'),\n+ resolve('node_modules/vue-awesome')\n+ ]\n }\n")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h4",[this._v("Nuxt.js "),t("small",[this._v("v2")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code javascript",attrs:{"data-lang":"JavaScript"}},[t("code",[this._v("module.exports = {\n build: {\n transpile: ['vue-clamp', 'resize-detector']\n }\n}\n")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h2",{attrs:{id:"api"}},[t("a",{attrs:{href:"#api"}},[this._v("#")]),this._v(" API")])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("tag: string")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("autoresize: boolean")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("max-lines: number")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("max-height: number|string")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("ellipsis: string")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("expanded: boolean")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("default")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("before")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("after")])])}],!1,null,null,null);S.options.__file="App.vue";var $=S.exports;a.a.config.productionTip=!1,new a.a({render:function(e){return e($)}}).$mount("#app")},a1ab:function(e,t,s){"use strict";var a=s("c697");s.n(a).a},c697:function(e,t,s){}}); +//# sourceMappingURL=app.79b3ebde.js.map \ No newline at end of file diff --git a/demo/js/app.79b3ebde.js.map b/demo/js/app.79b3ebde.js.map new file mode 100644 index 0000000..2395f67 --- /dev/null +++ b/demo/js/app.79b3ebde.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Clamp.js","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/App.vue?668a","webpack:///./src/main.js","webpack:///./src/App.vue?4417"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","UPDATE_TRIGGERS","INIT_TRIGGERS","Clamp","props","tag","type","String","default","autoresize","Boolean","maxLines","Number","maxHeight","ellipsis","expanded","offset","text","this","getText","localExpanded","computed","clampedText","isClamped","realText","realMaxHeight","concat","watch","val","clampAt","update","$emit","mounted","_this","init","forEach","prop","$watch","updated","applyChange","beforeDestroy","cleanUp","methods","_this2","contents","$slots","Array","isArray","Vue","util","warn","content","slicedToArray","resizeCallback","addListener","$el","unregisterResizeCallback","removeListener","isOverflow","search","expand","collapse","toggle","$refs","getClientRects","scrollHeight","offsetHeight","_ref","moveEdge","steps","textContent","stepToFit","fill","clamp","_len","arguments","range","_key","_range$","from","_range$2","to","target","Math","floor","render","h","ref","attrs","aria-label","trim","scope","before","$scopedSlots","unshift","toConsumableArray","after","lines","style","boxShadow","overflow","highlight_default","a","registerLanguage","javascript_default","diff_default","shell_default","Appvue_type_script_lang_js_search","location","replace","query","lib_default","parse","Appvue_type_script_lang_js_zh","lang","src_Appvue_type_script_lang_js_","components","VClamp","width1","hyphens1","height","width2","hyphens2","textZh","zh","pascal","defaultText","stringify","history","pushState","origin","pathname","hash","querySelectorAll","code","highlightBlock","component","componentNormalizer","_vm","_h","$createElement","_c","_self","id","on","click","$event","_v","_s","staticClass","class","active","href","data-tooltip","_m","data-content","for","directives","rawName","expression","modifiers","number","min","max","step","domProps","input","composing","_n","blur","$forceUpdate","__r","_e","checked","_i","change","$$a","$$el","$$c","$$i","demo","hyphens","width","max-lines","scopedSlots","_u","fn","max-height","update:expanded","slot","data-lang","options","__file","App","config","productionTip","$mount","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_index_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_stylus_loader_index_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_3_lang_stylus___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"js/app.79b3ebde.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vue\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { addListener, removeListener } from 'resize-detector'\nimport Vue from 'vue'\n\nconst UPDATE_TRIGGERS = ['maxLines', 'maxHeight', 'ellipsis']\nconst INIT_TRIGGERS = ['tag', 'text', 'autoresize']\n\nexport default {\n name: 'vue-clamper',\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n autoresize: {\n type: Boolean,\n default: false\n },\n maxLines: Number,\n maxHeight: [String, Number],\n ellipsis: {\n type: String,\n default: '…'\n },\n expanded: Boolean\n },\n data () {\n return {\n offset: null,\n text: this.getText(),\n localExpanded: !!this.expanded\n }\n },\n computed: {\n clampedText () {\n return this.text.slice(0, this.offset) + this.ellipsis\n },\n isClamped () {\n if (!this.text) {\n return false\n }\n return this.offset !== this.text.length\n },\n realText () {\n return this.isClamped ? this.clampedText : this.text\n },\n realMaxHeight () {\n if (this.localExpanded) {\n return null\n }\n let { maxHeight } = this\n if (!maxHeight) {\n return null\n }\n return typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight\n }\n },\n watch: {\n expanded (val) {\n this.localExpanded = val\n },\n localExpanded (val) {\n if (val) {\n this.clampAt(this.text.length)\n } else {\n this.update()\n }\n if (this.expanded !== val) {\n this.$emit('update:expanded', val)\n }\n }\n },\n mounted () {\n this.init()\n\n INIT_TRIGGERS.forEach(prop => {\n this.$watch(prop, this.init)\n })\n\n UPDATE_TRIGGERS.forEach(prop => {\n this.$watch(prop, this.update)\n })\n },\n updated () {\n this.text = this.getText()\n this.applyChange()\n },\n beforeDestroy () {\n this.cleanUp()\n },\n methods: {\n init () {\n let contents = this.$slots.default\n if (!contents) {\n return\n }\n if (Array.isArray(contents) && contents.length > 1) {\n Vue.util.warn(\n 'VueClamper only supports clamping plain text content.',\n this\n )\n return\n }\n let [content] = contents\n if (content && content.tag) {\n Vue.util.warn(\n 'VueClamper only supports clamping plain text content.',\n this\n )\n return\n }\n\n this.offset = this.text.length\n\n this.cleanUp()\n\n if (this.autoresize) {\n let resizeCallback = () => {\n this.update()\n }\n addListener(this.$el, resizeCallback)\n this.unregisterResizeCallback = () => {\n removeListener(this.$el, resizeCallback)\n }\n }\n this.update()\n },\n update () {\n if (this.localExpanded) {\n return\n }\n this.applyChange()\n if (this.isOverflow() || this.isClamped) {\n this.search()\n }\n },\n expand () {\n this.localExpanded = true\n },\n collapse () {\n this.localExpanded = false\n },\n toggle () {\n this.localExpanded = !this.localExpanded\n },\n isOverflow () {\n if (!this.maxLines && !this.maxHeight) {\n return false\n }\n\n if (this.maxLines) {\n let actualLines = this.$refs.content.getClientRects().length\n if (actualLines > this.maxLines) {\n return true\n }\n }\n\n if (this.maxHeight) {\n if (this.$el.scrollHeight > this.$el.offsetHeight) {\n return true\n }\n }\n return false\n },\n getText () {\n let [content] = this.$slots.default || []\n return content ? content.text : ''\n },\n moveEdge (steps) {\n this.clampAt(this.offset + steps)\n },\n clampAt (offset) {\n this.offset = offset\n this.applyChange()\n },\n applyChange () {\n this.$refs.text.textContent = this.realText\n },\n stepToFit () {\n this.fill()\n this.clamp()\n },\n fill () {\n while (!this.isOverflow() && this.offset < this.text.length) {\n this.moveEdge(1)\n }\n },\n clamp () {\n while (this.isOverflow() && this.offset > 0) {\n this.moveEdge(-1)\n }\n },\n search (...range) {\n let [from = 0, to = this.offset] = range\n if (to - from <= 3) {\n this.stepToFit()\n return\n }\n let target = Math.floor((to + from) / 2)\n this.clampAt(target)\n if (this.isOverflow()) {\n this.search(from, target)\n } else {\n this.search(target, to)\n }\n },\n cleanUp () {\n if (this.unregisterResizeCallback) {\n this.unregisterResizeCallback()\n }\n }\n },\n render (h) {\n let contents = [\n h(\n 'span',\n {\n ref: 'text',\n attrs: {\n 'aria-label': this.text.trim()\n }\n },\n this.realText\n )\n ]\n\n let { expand, collapse, toggle } = this\n let scope = { expand, collapse, toggle }\n let before = this.$scopedSlots.before\n ? this.$scopedSlots.before(scope)\n : this.$slots.before\n if (before) {\n contents.unshift(...(Array.isArray(before) ? before : [before]))\n }\n let after = this.$scopedSlots.after\n ? this.$scopedSlots.after(scope)\n : this.$slots.after\n if (after) {\n contents.push(...(Array.isArray(after) ? after : [after]))\n }\n let lines = [\n h(\n 'span',\n {\n style: {\n boxShadow: 'transparent 0 0'\n },\n ref: 'content'\n },\n contents\n )\n ]\n return h(\n this.tag,\n {\n style: {\n maxHeight: this.realMaxHeight,\n overflow: 'hidden'\n }\n },\n lines\n )\n }\n}\n","\n\n\n\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1f36cf47&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"spectre.css/dist/spectre.min.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"spectre.css/dist/spectre-exp.min.css?vue&type=style&index=1&lang=css&\"\nimport style2 from \"highlight.js/styles/atom-one-light.css?vue&type=style&index=2&lang=css&\"\nimport style3 from \"./App.vue?vue&type=style&index=3&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"app\"}},[_c('h1',[_c('span',{on:{\"click\":function($event){_vm.pascal = !_vm.pascal}}},[_vm._v(\"<\"+_vm._s(_vm.pascal ? 'VueClamp' : 'vue-clamp')+\">\")]),_c('div',{staticClass:\"lang btn-group\"},[_c('button',{staticClass:\"btn btn-sm\",class:{ active: !_vm.zh },on:{\"click\":function($event){_vm.zh = false}}},[_vm._v(\"\\n English\\n \")]),_c('button',{staticClass:\"btn btn-sm\",class:{ active: _vm.zh },on:{\"click\":function($event){_vm.zh = true}}},[_vm._v(\"\\n 中文\\n \")])])]),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '轻松实现多行文本截断。' : 'Clamping multiline text with ease.')+\"\\n \")]),_c('p',[_c('a',{staticClass:\"tooltip\",attrs:{\"href\":\"https://github.com/Justineo/vue-clamp\",\"data-tooltip\":_vm.zh ? '前往 GitHub 仓库' : 'Visit GitHub repo'}},[_vm._v(\"\\n GitHub →\\n \")])]),_c('h2',{attrs:{\"id\":\"features\"}},[_c('a',{attrs:{\"href\":\"#features\"}},[_vm._v(\"#\")]),_vm._v(\" \"+_vm._s(_vm.zh ? '功能' : 'Features'))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.zh ? '可以选择限制行数与/或最大高度,无需指定行高。' : 'Clamps text with max lines and/or max height. No need to specify line height.'))]),_c('li',[_vm._v(_vm._s(_vm.zh ? '支持在布局变化时自动更新。' : 'Automatically updates upon layout change.'))]),_c('li',[_vm._v(_vm._s(_vm.zh ? '支持展开/收起被截断部分内容。' : 'The clamped text can be expanded/collapsed.'))]),_c('li',[_vm._v(_vm._s(_vm.zh ? '支持自定义截断文本前后内容,并且进行响应式更新。' : 'Customizable and responsive content before/after clamped text.'))])]),_vm._m(0),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ max-lines & slot `after`\"}}),_c('section',{staticClass:\"case\"},[_c('div',{staticClass:\"form-horizontal\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"lines\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '最大行数' : 'Max lines')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.lines),expression:\"lines\",modifiers:{\"number\":true}}],staticClass:\"form-input\",attrs:{\"id\":\"lines\",\"type\":\"number\",\"min\":\"1\",\"max\":\"8\",\"step\":\"1\"},domProps:{\"value\":(_vm.lines)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.lines=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"width1\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '容器宽度' : 'Container width')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12 tooltip\",attrs:{\"data-tooltip\":(_vm.width1 + \"px\")}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.width1),expression:\"width1\"}],staticClass:\"slider\",attrs:{\"id\":\"width1\",\"type\":\"range\",\"min\":\"240\",\"max\":\"600\"},domProps:{\"value\":(_vm.width1)},on:{\"__r\":function($event){_vm.width1=$event.target.value}}})])]),(!_vm.zh)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-5 col-sm-12\"},[_c('label',{staticClass:\"form-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hyphens1),expression:\"hyphens1\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.hyphens1)?_vm._i(_vm.hyphens1,null)>-1:(_vm.hyphens1)},on:{\"change\":function($event){var $$a=_vm.hyphens1,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hyphens1=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hyphens1=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hyphens1=$$c}}}}),_c('i',{staticClass:\"form-icon\"}),_vm._v(\"\\n CSS \"),_c('code',[_vm._v(\"hyphens\")])])])]):_vm._e()]),_c('v-clamp',{class:{\n demo: true,\n hyphens: _vm.hyphens1\n },style:({\n width: (_vm.width1 + \"px\")\n }),attrs:{\"max-lines\":_vm.lines,\"autoresize\":\"\"},scopedSlots:_vm._u([{key:\"after\",fn:function(ref){\n var toggle = ref.toggle;\nreturn _c('button',{staticClass:\"toggle btn btn-sm\",on:{\"click\":toggle}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '切换' : 'Toggle')+\"\\n \")])}}])},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? _vm.textZh : _vm.text)+\"\\n \")])],1),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ max-height & slot `before`\"}}),_c('section',{staticClass:\"case\"},[_c('div',{staticClass:\"form-horizontal\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"height\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '最大高度' : 'Max height')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12 tooltip\",attrs:{\"data-tooltip\":_vm.zh ? '任意 CSS 长度值' : 'Any valid CSS length value'}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.height),expression:\"height\"}],staticClass:\"form-input\",attrs:{\"id\":\"height\"},domProps:{\"value\":(_vm.height)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.height=$event.target.value}}})])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"width2\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '容器宽度' : 'Container width')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12 tooltip\",attrs:{\"data-tooltip\":(_vm.width2 + \"px\")}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.width2),expression:\"width2\"}],staticClass:\"slider\",attrs:{\"id\":\"width2\",\"type\":\"range\",\"min\":\"240\",\"max\":\"600\"},domProps:{\"value\":(_vm.width2)},on:{\"__r\":function($event){_vm.width2=$event.target.value}}})])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-5 col-sm-12\"},[_c('label',{staticClass:\"form-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.expanded),expression:\"expanded\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.expanded)?_vm._i(_vm.expanded,null)>-1:(_vm.expanded)},on:{\"change\":function($event){var $$a=_vm.expanded,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.expanded=$$a.concat([$$v]))}else{$$i>-1&&(_vm.expanded=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.expanded=$$c}}}}),_c('i',{staticClass:\"form-icon\"}),_vm._v(\"\\n \"+_vm._s(_vm.zh ? '展开内容' : 'Expanded')+\"\\n \")])])]),(!_vm.zh)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-5 col-sm-12\"},[_c('label',{staticClass:\"form-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hyphens2),expression:\"hyphens2\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.hyphens2)?_vm._i(_vm.hyphens2,null)>-1:(_vm.hyphens2)},on:{\"change\":function($event){var $$a=_vm.hyphens2,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hyphens2=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hyphens2=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hyphens2=$$c}}}}),_c('i',{staticClass:\"form-icon\"}),_vm._v(\"\\n CSS \"),_c('code',[_vm._v(\"hyphens\")])])])]):_vm._e()]),_c('v-clamp',{class:{\n demo: true,\n hyphens: _vm.hyphens2\n },style:({\n width: (_vm.width2 + \"px\")\n }),attrs:{\"max-height\":_vm.height,\"autoresize\":\"\",\"expanded\":_vm.expanded},on:{\"update:expanded\":function($event){_vm.expanded=$event}}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? _vm.textZh : _vm.text)+\"\\n \"),_c('span',{staticClass:\"featured label label-rounded label-primary\",attrs:{\"slot\":\"before\"},slot:\"before\"},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '推荐' : 'Featured')+\"\\n \")])])],1),_c('h2',{attrs:{\"id\":\"usage\"}},[_c('a',{attrs:{\"href\":\"#usage\"}},[_vm._v(\"#\")]),_vm._v(\" \"+_vm._s(_vm.zh ? '使用方法' : 'Usage'))]),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":_vm.zh ? '↓ 安装' : '↓ Installation'}}),_vm._m(1),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":_vm.zh ? '↓ 配置' : '↓ Configuration'}}),_c('section',[_vm._m(2),(_vm.zh)?_c('p',[_vm._v(\"对于使用 Vue CLI 3 创建的项目,请确保将 \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" 与 \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" 加入 \"),_c('code',[_vm._v(\"vue.config.js\")]),_vm._v(\" 文件的 \"),_c('code',[_vm._v(\"transpileDependencies\")]),_vm._v(\" 选项中:\")]):_c('p',[_vm._v(\"For projects created with Vue CLI 3, remember to add \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" into the \"),_c('code',[_vm._v(\"transpileDependencies\")]),_vm._v(\" option in \"),_c('code',[_vm._v(\"vue.config.js\")]),_vm._v(\":\")]),_vm._m(3),_vm._m(4),(_vm.zh)?_c('p',[_vm._v(\"如果使用的是 Vue CLI 2 的 \"),_c('code',[_vm._v(\"webpack\")]),_vm._v(\" 模板,请按如下方式修改 \"),_c('code',[_vm._v(\"build/webpack.base.conf.js\")]),_vm._v(\":\")]):_c('p',[_vm._v(\"For Vue CLI 2 with the \"),_c('code',[_vm._v(\"webpack\")]),_vm._v(\" template, modify \"),_c('code',[_vm._v(\"build/webpack.base.conf.js\")]),_vm._v(\" like this:\")]),_vm._m(5),_vm._m(6),(_vm.zh)?_c('p',[_vm._v(\"在 Nuxt.js 中使用时,请确保将 \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" 与 \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" 加入 \"),_c('code',[_vm._v(\"nuxt.config.js\")]),_vm._v(\" 文件的 \"),_c('code',[_vm._v(\"build.transpile\")]),_vm._v(\" 选项中:\")]):_c('p',[_vm._v(\"When using in Nuxt.js, remember to add \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" into the \"),_c('code',[_vm._v(\"build.transpile\")]),_vm._v(\" option in \"),_c('code',[_vm._v(\"nuxt.config.js\")]),_vm._v(\":\")]),_vm._m(7)]),_vm._m(8),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ Props\"}}),_c('section',[_c('ul',[_c('li',[_vm._m(9),_c('p',[_vm._v(_vm._s(_vm.zh ? '生成的根元素的标签名。' : 'The tag name of the generated root element.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"div\")])])]),_c('li',[_vm._m(10),_c('p',[_vm._v(_vm._s(_vm.zh ? '是否要自动适配根元素的尺寸变化。' : 'Whether to observe the root element\\'s size.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"false\")])])]),_c('li',[_vm._m(11),_c('p',[_vm._v(_vm._s(_vm.zh ? '可以显示的最大行数' : 'The max number of lines that can be displayed.'))])]),_c('li',[_vm._m(12),(_vm.zh)?_c('p',[_vm._v(\"'根元素的最大高度。数字值将被转换为 \"),_c('code',[_vm._v(\"px\")]),_vm._v(\" 单位;字符串值将直接作为 CSS 属性 \"),_c('code',[_vm._v(\"max-height\")]),_vm._v(\" 输出。\")]):_c('p',[_vm._v(\"The max height of the root element. Number values are converted to \"),_c('code',[_vm._v(\"px\")]),_vm._v(\" units. String values are used directly as the \"),_c('code',[_vm._v(\"max-height\")]),_vm._v(\" CSS property.\")])]),_c('li',[_vm._m(13),_c('p',[_vm._v(_vm._s(_vm.zh ? '当文字被截断时需要显示的省略号字符串。' : 'The ellipsis characters displayed when the text is clamped.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"'…'\")])])]),_c('li',[_vm._m(14),_c('p',[_c('span',{staticClass:\"label label-primary tooltip\",attrs:{\"data-tooltip\":_vm.zh ? '支持 .sync 修饰符' : 'Supports .sync modifier'}},[_vm._v(\"\\n .sync\\n \")])]),_c('p',[_vm._v(_vm._s(_vm.zh ? '是否展开显式被截断的文本。' : 'Whether the clamped area is expanded.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"false\")])])])])]),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ Slots\"}}),_c('section',[_c('ul',[_c('li',[_vm._m(15),_c('p',[_vm._v(_vm._s(_vm.zh ? '需要截断的文本。只能包含纯文本内容。' : 'The text to clamp. Can only contain pure text.'))])]),_c('li',[_vm._m(16),_c('p',[_vm._v(\"Slot \"+_vm._s(_vm.zh ? '作用域:' : 'scope:')),_c('code',[_vm._v(\"{ expand, collapse, toggle }\")])]),_c('section',{staticClass:\"secondary\"},[_c('p',[_c('code',[_vm._v(\"expand: function(): void\")]),_vm._v(\" - \"+_vm._s(_vm.zh ? '展开被截断的文本。' : 'Expand the clamped text.'))]),_c('p',[_c('code',[_vm._v(\"collapse: function(): void\")]),_vm._v(\" - \"+_vm._s(_vm.zh ? '收起展开后的文本。' : 'Collapse the expanded text.'))]),_c('p',[_c('code',[_vm._v(\"toggle: function(): void\")]),_vm._v(\" - \"+_vm._s(_vm.zh ? '切换被截断文本的展开状态。' : 'Toggle the expand state of clamped text.'))])]),_c('p',[_vm._v(_vm._s(_vm.zh ? '在被截断的文本前显式的内容,可以包含任意类型内容。' : 'Content displayed before the clamped text. Can contain anything.'))])]),_c('li',[_vm._m(17),(_vm.zh)?_c('p',[_vm._v(\"Slot 作用域:与 \"),_c('code',[_vm._v(\"before\")]),_vm._v(\" 相同。\")]):_c('p',[_vm._v(\"Slot scope: Same as \"),_c('code',[_vm._v(\"before\")]),_vm._v(\".\")]),_c('p',[_vm._v(_vm._s(_vm.zh ? '在被截断的文本后显式的内容,可以包含任意类型内容。' : 'Content displayed after the clamped text. Can contain anything.'))])])])]),_c('footer',[(_vm.zh)?_c('p',[_vm._v(\"由 \"),_c('a',{attrs:{\"href\":\"https://github.com/Justineo\"}},[_vm._v(\"@Justineo\")]),_vm._v(\" 创作。\")]):_c('p',[_vm._v(\"Made by \"),_c('a',{attrs:{\"href\":\"https://github.com/Justineo\"}},[_vm._v(\"@Justineo\")]),_vm._v(\".\")]),_c('p',[(_vm.zh)?_c('small',[_vm._v(\"本页基于 \"),_c('a',{attrs:{\"href\":\"https://picturepan2.github.io/spectre.css\"}},[_vm._v(\"Spectre.css\")]),_vm._v(\" 开发。\")]):_c('small',[_vm._v(\"This page is based on \"),_c('a',{attrs:{\"href\":\"https://picturepan2.github.io/spectre.css\"}},[_vm._v(\"Spectre.css\")]),_vm._v(\".\")])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"demo\"}},[_c('a',{attrs:{\"href\":\"#demo\"}},[_vm._v(\"#\")]),_vm._v(\" Demo\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code shell\",attrs:{\"data-lang\":\"Shell\"}},[_c('code',[_vm._v(\"$ npm i --save vue-clamp\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Vue CLI \"),_c('small',[_vm._v(\"v3\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code javascript\",attrs:{\"data-lang\":\"JavaScript\"}},[_c('code',[_vm._v(\"module.exports = {\\n transpileDependencies: ['vue-clamp', 'resize-detector']\\n}\\n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Vue CLI \"),_c('small',[_vm._v(\"v2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code diff\",attrs:{\"data-lang\":\"Diff\"}},[_c('code',[_vm._v(\" {\\n test: /\\\\.js$/,\\n loader: 'babel-loader',\\n- include: [resolve('src'), resolve('test')]\\n+ include: [\\n+ resolve('src'),\\n+ resolve('test'),\\n+ resolve('node_modules/vue-awesome')\\n+ ]\\n }\\n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Nuxt.js \"),_c('small',[_vm._v(\"v2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code javascript\",attrs:{\"data-lang\":\"JavaScript\"}},[_c('code',[_vm._v(\"module.exports = {\\n build: {\\n transpile: ['vue-clamp', 'resize-detector']\\n }\\n}\\n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"api\"}},[_c('a',{attrs:{\"href\":\"#api\"}},[_vm._v(\"#\")]),_vm._v(\" API\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"tag: string\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"autoresize: boolean\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"max-lines: number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"max-height: number|string\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"ellipsis: string\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"expanded: boolean\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"default\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"before\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"after\")])])}]\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(App)\n}).$mount('#app')\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=3&lang=stylus&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=3&lang=stylus&\""],"sourceRoot":""} \ No newline at end of file diff --git a/demo/js/app.f8d65fb1.js b/demo/js/app.f8d65fb1.js deleted file mode 100644 index abf64bd..0000000 --- a/demo/js/app.f8d65fb1.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function t(t){for(var a,o,r=t[0],l=t[1],c=t[2],d=0,p=[];d1)a.a.util.warn("VueClamper only supports clamping plain text content.",this);else{var s=Object(n.a)(t,1)[0];if(s&&s.tag)a.a.util.warn("VueClamper only supports clamping plain text content.",this);else{if(this.offset=this.text.length,this.cleanUp(),this.autoresize){var i=function(){e.update()};Object(o.a)(this.$el,i),this.unregisterResizeCallback=function(){Object(o.b)(e.$el,i)}}this.update()}}},update:function(){this.localExpanded||(this.applyChange(),(this.isOverflow()||this.isClamped)&&this.search())},expand:function(){this.localExpanded=!0},collapse:function(){this.localExpanded=!1},toggle:function(){this.localExpanded=!this.localExpanded},isOverflow:function(){if(!this.maxLines&&!this.maxHeight)return!1;if(this.maxLines&&this.$refs.content.getClientRects().length>this.maxLines)return!0;return!!(this.maxHeight&&this.$el.scrollHeight>this.$el.offsetHeight)},getText:function(){var e=this.$slots.default||[],t=Object(n.a)(e,1)[0];return t?t.text:""},moveEdge:function(e){this.clampAt(this.offset+e)},clampAt:function(e){this.offset=e,this.applyChange()},applyChange:function(){this.$refs.text.textContent=this.realText},stepToFit:function(){this.fill(),this.clamp()},fill:function(){for(;!this.isOverflow()&&this.offset0;)this.moveEdge(-1)},search:function(){for(var e=arguments.length,t=new Array(e),s=0;s")]),s("div",{staticClass:"lang btn-group"},[s("button",{staticClass:"btn btn-sm",class:{active:!e.zh},on:{click:function(t){e.zh=!1}}},[e._v("\n English\n ")]),s("button",{staticClass:"btn btn-sm",class:{active:e.zh},on:{click:function(t){e.zh=!0}}},[e._v("\n 中文\n ")])])]),s("p",[e._v("\n "+e._s(e.zh?"轻松实现多行文本截断。":"Clamping multiline text with ease.")+"\n ")]),s("p",[s("a",{staticClass:"tooltip",attrs:{href:"https://github.com/Justineo/vue-clamp","data-tooltip":e.zh?"前往 GitHub 仓库":"Visit GitHub repo"}},[e._v("\n GitHub →\n ")])]),s("h2",{attrs:{id:"features"}},[s("a",{attrs:{href:"#features"}},[e._v("#")]),e._v(" "+e._s(e.zh?"功能":"Features"))]),s("ul",[s("li",[e._v(e._s(e.zh?"可以选择限制行数与/或最大高度,无需指定行高。":"Clamps text with max lines and/or max height. No need to specify line height."))]),s("li",[e._v(e._s(e.zh?"支持在布局变化时自动更新。":"Automatically updates upon layout change."))]),s("li",[e._v(e._s(e.zh?"支持展开/收起被截断部分内容。":"The clamped text can be expanded/collapsed."))]),s("li",[e._v(e._s(e.zh?"支持自定义截断文本前后内容,并且进行响应式更新。":"Customizable and responsive content before/after clamped text."))])]),e._m(0),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ max-lines & slot `after`"}}),s("section",{staticClass:"case"},[s("div",{staticClass:"form-horizontal"},[s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"lines"}},[e._v("\n "+e._s(e.zh?"最大行数":"Max lines")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12"},[s("input",{directives:[{name:"model",rawName:"v-model.number",value:e.lines,expression:"lines",modifiers:{number:!0}}],staticClass:"form-input",attrs:{id:"lines",type:"number",min:"1",max:"8",step:"1"},domProps:{value:e.lines},on:{input:function(t){t.target.composing||(e.lines=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}})])]),s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"width1"}},[e._v("\n "+e._s(e.zh?"容器宽度":"Container width")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12 tooltip",attrs:{"data-tooltip":e.width1+"px"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.width1,expression:"width1"}],staticClass:"slider",attrs:{id:"width1",type:"range",min:"240",max:"600"},domProps:{value:e.width1},on:{__r:function(t){e.width1=t.target.value}}})])]),e.zh?e._e():s("div",{staticClass:"form-group"},[s("div",{staticClass:"col-5 col-sm-12"},[s("label",{staticClass:"form-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.hyphens1,expression:"hyphens1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.hyphens1)?e._i(e.hyphens1,null)>-1:e.hyphens1},on:{change:function(t){var s=e.hyphens1,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=e._i(s,null);a.checked?n<0&&(e.hyphens1=s.concat([null])):n>-1&&(e.hyphens1=s.slice(0,n).concat(s.slice(n+1)))}else e.hyphens1=i}}}),s("i",{staticClass:"form-icon"}),e._v("\n CSS "),s("code",[e._v("hyphens")])])])])]),s("v-clamp",{class:{demo:!0,hyphens:e.hyphens1},style:{width:e.width1+"px"},attrs:{"max-lines":e.lines,autoresize:""},scopedSlots:e._u([{key:"after",fn:function(t){var a=t.toggle;return s("button",{staticClass:"toggle btn btn-sm",on:{click:a}},[e._v("\n "+e._s(e.zh?"切换":"Toggle")+"\n ")])}}])},[e._v("\n "+e._s(e.zh?e.textZh:e.text)+"\n ")])],1),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ max-height & slot `before`"}}),s("section",{staticClass:"case"},[s("div",{staticClass:"form-horizontal"},[s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"height"}},[e._v("\n "+e._s(e.zh?"最大高度":"Max height")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12 tooltip",attrs:{"data-tooltip":e.zh?"任意 CSS 长度值":"Any valid CSS length value"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.height,expression:"height"}],staticClass:"form-input",attrs:{id:"height"},domProps:{value:e.height},on:{input:function(t){t.target.composing||(e.height=t.target.value)}}})])]),s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label col-5 col-sm-12",attrs:{for:"width2"}},[e._v("\n "+e._s(e.zh?"容器宽度":"Container width")+"\n ")]),s("div",{staticClass:"col-7 col-sm-12 tooltip",attrs:{"data-tooltip":e.width2+"px"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.width2,expression:"width2"}],staticClass:"slider",attrs:{id:"width2",type:"range",min:"240",max:"600"},domProps:{value:e.width2},on:{__r:function(t){e.width2=t.target.value}}})])]),s("div",{staticClass:"form-group"},[s("div",{staticClass:"col-5 col-sm-12"},[s("label",{staticClass:"form-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.expanded,expression:"expanded"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.expanded)?e._i(e.expanded,null)>-1:e.expanded},on:{change:function(t){var s=e.expanded,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=e._i(s,null);a.checked?n<0&&(e.expanded=s.concat([null])):n>-1&&(e.expanded=s.slice(0,n).concat(s.slice(n+1)))}else e.expanded=i}}}),s("i",{staticClass:"form-icon"}),e._v("\n "+e._s(e.zh?"展开内容":"Expanded")+"\n ")])])]),e.zh?e._e():s("div",{staticClass:"form-group"},[s("div",{staticClass:"col-5 col-sm-12"},[s("label",{staticClass:"form-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.hyphens2,expression:"hyphens2"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.hyphens2)?e._i(e.hyphens2,null)>-1:e.hyphens2},on:{change:function(t){var s=e.hyphens2,a=t.target,i=!!a.checked;if(Array.isArray(s)){var n=e._i(s,null);a.checked?n<0&&(e.hyphens2=s.concat([null])):n>-1&&(e.hyphens2=s.slice(0,n).concat(s.slice(n+1)))}else e.hyphens2=i}}}),s("i",{staticClass:"form-icon"}),e._v("\n CSS "),s("code",[e._v("hyphens")])])])])]),s("v-clamp",{class:{demo:!0,hyphens:e.hyphens2},style:{width:e.width2+"px"},attrs:{"max-height":e.height,autoresize:"",expanded:e.expanded},on:{"update:expanded":function(t){e.expanded=t}}},[e._v("\n "+e._s(e.zh?e.textZh:e.text)+"\n "),s("span",{staticClass:"featured label label-rounded label-primary",attrs:{slot:"before"},slot:"before"},[e._v("\n "+e._s(e.zh?"推荐":"Featured")+"\n ")])])],1),s("h2",{attrs:{id:"usage"}},[s("a",{attrs:{href:"#usage"}},[e._v("#")]),e._v(" "+e._s(e.zh?"使用方法":"Usage"))]),s("div",{staticClass:"divider text-center",attrs:{"data-content":e.zh?"↓ 安装":"↓ Installation"}}),e._m(1),s("div",{staticClass:"divider text-center",attrs:{"data-content":e.zh?"↓ 配置":"↓ Configuration"}}),s("section",[e._m(2),e.zh?s("p",[e._v("对于使用 Vue CLI 3 创建的项目,请确保将 "),s("code",[e._v("vue-clamp")]),e._v(" 与 "),s("code",[e._v("resize-detector")]),e._v(" 加入 "),s("code",[e._v("vue.config.js")]),e._v(" 文件的 "),s("code",[e._v("transpileDependencies")]),e._v(" 选项中:")]):s("p",[e._v("For projects created with Vue CLI 3, remember to add "),s("code",[e._v("vue-clamp")]),e._v(" and "),s("code",[e._v("resize-detector")]),e._v(" into the "),s("code",[e._v("transpileDependencies")]),e._v(" option in "),s("code",[e._v("vue.config.js")]),e._v(":")]),e._m(3),e._m(4),e.zh?s("p",[e._v("如果使用的是 Vue CLI 2 的 "),s("code",[e._v("webpack")]),e._v(" 模板,请按如下方式修改 "),s("code",[e._v("build/webpack.base.conf.js")]),e._v(":")]):s("p",[e._v("For Vue CLI 2 with the "),s("code",[e._v("webpack")]),e._v(" template, modify "),s("code",[e._v("build/webpack.base.conf.js")]),e._v(" like this:")]),e._m(5),e._m(6),e.zh?s("p",[e._v("在 Nuxt.js 中使用时,请确保将 "),s("code",[e._v("vue-clamp")]),e._v(" 与 "),s("code",[e._v("resize-detector")]),e._v(" 加入 "),s("code",[e._v("nuxt.config.js")]),e._v(" 文件的 "),s("code",[e._v("build.transpile")]),e._v(" 选项中:")]):s("p",[e._v("When using in Nuxt.js, remember to add "),s("code",[e._v("vue-clamp")]),e._v(" and "),s("code",[e._v("resize-detector")]),e._v(" into the "),s("code",[e._v("build.transpile")]),e._v(" option in "),s("code",[e._v("nuxt.config.js")]),e._v(":")]),e._m(7)]),e._m(8),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ Props"}}),s("section",[s("ul",[s("li",[e._m(9),s("p",[e._v(e._s(e.zh?"生成的根元素的标签名。":"The tag name of the generated root element."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("div")])])]),s("li",[e._m(10),s("p",[e._v(e._s(e.zh?"是否要自动适配根元素的尺寸变化。":"Whether to observe the root element's size."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("false")])])]),s("li",[e._m(11),s("p",[e._v(e._s(e.zh?"可以显示的最大行数":"The max number of lines that can be displayed."))])]),s("li",[e._m(12),e.zh?s("p",[e._v("'根元素的最大高度。数字值将被转换为 "),s("code",[e._v("px")]),e._v(" 单位;字符串值将直接作为 CSS 属性 "),s("code",[e._v("max-height")]),e._v(" 输出。")]):s("p",[e._v("The max height of the root element. Number values are converted to "),s("code",[e._v("px")]),e._v(" units. String values are used directly as the "),s("code",[e._v("max-height")]),e._v(" CSS property.")])]),s("li",[e._m(13),s("p",[e._v(e._s(e.zh?"当文字被截断时需要显示的省略号字符串。":"The ellipsis characters displayed when the text is clamped."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("'…'")])])]),s("li",[e._m(14),s("p",[s("span",{staticClass:"label label-primary tooltip",attrs:{"data-tooltip":e.zh?"支持 .sync 修饰符":"Supports .sync modifier"}},[e._v("\n .sync\n ")])]),s("p",[e._v(e._s(e.zh?"是否展开显式被截断的文本。":"Whether the clamped area is expanded."))]),s("p",[e._v(e._s(e.defaultText)),s("code",[e._v("false")])])])])]),s("div",{staticClass:"divider text-center",attrs:{"data-content":"↓ Slots"}}),s("section",[s("ul",[s("li",[e._m(15),s("p",[e._v(e._s(e.zh?"需要截断的文本。只能包含纯文本内容。":"The text to clamp. Can only contain pure text."))])]),s("li",[e._m(16),s("p",[e._v("Slot "+e._s(e.zh?"作用域:":"scope:")),s("code",[e._v("{ expand, collapse, toggle }")])]),s("section",{staticClass:"secondary"},[s("p",[s("code",[e._v("expand: function(): void")]),e._v(" - "+e._s(e.zh?"展开被截断的文本。":"Expand the clamped text."))]),s("p",[s("code",[e._v("collapse: function(): void")]),e._v(" - "+e._s(e.zh?"收起展开后的文本。":"Collapse the expanded text."))]),s("p",[s("code",[e._v("toggle: function(): void")]),e._v(" - "+e._s(e.zh?"切换被截断文本的展开状态。":"Toggle the expand state of clamped text."))])]),s("p",[e._v(e._s(e.zh?"在被截断的文本前显式的内容,可以包含任意类型内容。":"Content displayed before the clamped text. Can contain anything."))])]),s("li",[e._m(17),e.zh?s("p",[e._v("Slot 作用域:与 "),s("code",[e._v("before")]),e._v(" 相同。")]):s("p",[e._v("Slot scope: Same as "),s("code",[e._v("before")]),e._v(".")]),s("p",[e._v(e._s(e.zh?"在被截断的文本后显式的内容,可以包含任意类型内容。":"Content displayed after the clamped text. Can contain anything."))])])])]),s("footer",[e.zh?s("p",[e._v("由 "),s("a",{attrs:{href:"https://github.com/Justineo"}},[e._v("@Justineo")]),e._v(" 创作。")]):s("p",[e._v("Made by "),s("a",{attrs:{href:"https://github.com/Justineo"}},[e._v("@Justineo")]),e._v(".")]),s("p",[e.zh?s("small",[e._v("本页基于 "),s("a",{attrs:{href:"https://picturepan2.github.io/spectre.css"}},[e._v("Spectre.css")]),e._v(" 开发。")]):s("small",[e._v("This page is based on "),s("a",{attrs:{href:"https://picturepan2.github.io/spectre.css"}},[e._v("Spectre.css")]),e._v(".")])])])])},[function(){var e=this.$createElement,t=this._self._c||e;return t("h2",{attrs:{id:"demo"}},[t("a",{attrs:{href:"#demo"}},[this._v("#")]),this._v(" Demo")])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code shell",attrs:{"data-lang":"Shell"}},[t("code",[this._v("$ npm i --save vue-clamp")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h4",[this._v("Vue CLI "),t("small",[this._v("v3")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code javascript",attrs:{"data-lang":"JavaScript"}},[t("code",[this._v("module.exports = {\n transpileDependencies: ['vue-clamp', 'resize-detector']\n}\n")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h4",[this._v("Vue CLI "),t("small",[this._v("v2")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code diff",attrs:{"data-lang":"Diff"}},[t("code",[this._v(" {\n test: /\\.js$/,\n loader: 'babel-loader',\n- include: [resolve('src'), resolve('test')]\n+ include: [\n+ resolve('src'),\n+ resolve('test'),\n+ resolve('node_modules/vue-awesome')\n+ ]\n }\n")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h4",[this._v("Nuxt.js "),t("small",[this._v("v2")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{staticClass:"code javascript",attrs:{"data-lang":"JavaScript"}},[t("code",[this._v("module.exports = {\n build: {\n transpile: ['vue-clamp', 'resize-detector']\n }\n}\n")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("h2",{attrs:{id:"api"}},[t("a",{attrs:{href:"#api"}},[this._v("#")]),this._v(" API")])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("tag: string")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("autoresize: boolean")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("max-lines: number")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("max-height: number|string")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("ellipsis: string")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("expanded: boolean")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("default")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("before")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("code",[this._v("after")])])}],!1,null,null,null);S.options.__file="App.vue";var $=S.exports;a.a.config.productionTip=!1,new a.a({render:function(e){return e($)}}).$mount("#app")},a1ab:function(e,t,s){"use strict";var a=s("c697");s.n(a).a},c697:function(e,t,s){}}); -//# sourceMappingURL=app.f8d65fb1.js.map \ No newline at end of file diff --git a/demo/js/app.f8d65fb1.js.map b/demo/js/app.f8d65fb1.js.map deleted file mode 100644 index e863c28..0000000 --- a/demo/js/app.f8d65fb1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Clamp.js","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/App.vue?668a","webpack:///./src/main.js","webpack:///./src/App.vue?4417"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","UPDATE_TRIGGERS","INIT_TRIGGERS","Clamp","props","tag","type","String","default","autoresize","Boolean","maxLines","Number","maxHeight","ellipsis","expanded","offset","text","this","getText","localExpanded","computed","clampedText","isClamped","realText","realMaxHeight","concat","watch","val","clampAt","update","$emit","mounted","_this","init","forEach","prop","$watch","updated","applyChange","beforeDestroy","cleanUp","methods","_this2","contents","$slots","Array","isArray","Vue","util","warn","content","slicedToArray","resizeCallback","addListener","$el","unregisterResizeCallback","removeListener","isOverflow","search","expand","collapse","toggle","$refs","getClientRects","scrollHeight","offsetHeight","_ref","moveEdge","steps","textContent","stepToFit","fill","clamp","_len","arguments","range","_key","_range$","from","_range$2","to","target","Math","floor","render","h","ref","attrs","aria-label","trim","scope","before","$scopedSlots","unshift","toConsumableArray","after","lines","style","boxShadow","overflow","highlight_default","a","registerLanguage","javascript_default","diff_default","shell_default","Appvue_type_script_lang_js_search","location","replace","query","lib_default","parse","Appvue_type_script_lang_js_zh","lang","src_Appvue_type_script_lang_js_","components","VClamp","width1","hyphens1","height","width2","hyphens2","textZh","zh","pascal","defaultText","stringify","history","pushState","origin","pathname","hash","querySelectorAll","code","highlightBlock","component","componentNormalizer","_vm","_h","$createElement","_c","_self","id","on","click","$event","_v","_s","staticClass","class","active","href","data-tooltip","_m","data-content","for","directives","rawName","expression","modifiers","number","min","max","step","domProps","input","composing","_n","blur","$forceUpdate","__r","_e","checked","_i","change","$$a","$$el","$$c","$$i","demo","hyphens","width","max-lines","scopedSlots","_u","fn","max-height","update:expanded","slot","data-lang","options","__file","App","config","productionTip","$mount","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_index_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_stylus_loader_index_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_3_lang_stylus___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"js/app.f8d65fb1.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vue\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { addListener, removeListener } from 'resize-detector'\nimport Vue from 'vue'\n\nconst UPDATE_TRIGGERS = ['maxLines', 'maxHeight', 'ellipsis']\nconst INIT_TRIGGERS = ['tag', 'text', 'autoresize']\n\nexport default {\n name: 'vue-clamper',\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n autoresize: {\n type: Boolean,\n default: false\n },\n maxLines: Number,\n maxHeight: [String, Number],\n ellipsis: {\n type: String,\n default: '…'\n },\n expanded: Boolean\n },\n data () {\n return {\n offset: null,\n text: this.getText(),\n localExpanded: !!this.expanded\n }\n },\n computed: {\n clampedText () {\n return this.text.slice(0, this.offset) + this.ellipsis\n },\n isClamped () {\n if (!this.text) {\n return false\n }\n return this.offset !== this.text.length\n },\n realText () {\n return this.isClamped ? this.clampedText : this.text\n },\n realMaxHeight () {\n if (this.localExpanded) {\n return null\n }\n let { maxHeight } = this\n if (!maxHeight) {\n return null\n }\n return typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight\n }\n },\n watch: {\n expanded (val) {\n this.localExpanded = val\n },\n localExpanded (val) {\n if (val) {\n this.clampAt(this.text.length)\n } else {\n this.update()\n }\n if (this.expanded !== val) {\n this.$emit('update:expanded', val)\n }\n }\n },\n mounted () {\n this.init()\n\n INIT_TRIGGERS.forEach(prop => {\n this.$watch(prop, this.init)\n })\n\n UPDATE_TRIGGERS.forEach(prop => {\n this.$watch(prop, this.update)\n })\n },\n updated () {\n this.text = this.getText()\n this.applyChange()\n },\n beforeDestroy () {\n this.cleanUp()\n },\n methods: {\n init () {\n let contents = this.$slots.default\n if (!contents) {\n return\n }\n if (Array.isArray(contents) && contents.length > 1) {\n Vue.util.warn(\n 'VueClamper only supports clamping plain text content.',\n this\n )\n return\n }\n let [content] = contents\n if (content && content.tag) {\n Vue.util.warn(\n 'VueClamper only supports clamping plain text content.',\n this\n )\n return\n }\n\n this.offset = this.text.length\n\n this.cleanUp()\n\n if (this.autoresize) {\n let resizeCallback = () => {\n this.update()\n }\n addListener(this.$el, resizeCallback)\n this.unregisterResizeCallback = () => {\n removeListener(this.$el, resizeCallback)\n }\n }\n this.update()\n },\n update () {\n if (this.localExpanded) {\n return\n }\n this.applyChange()\n if (this.isOverflow() || this.isClamped) {\n this.search()\n }\n },\n expand () {\n this.localExpanded = true\n },\n collapse () {\n this.localExpanded = false\n },\n toggle () {\n this.localExpanded = !this.localExpanded\n },\n isOverflow () {\n if (!this.maxLines && !this.maxHeight) {\n return false\n }\n\n if (this.maxLines) {\n let actualLines = this.$refs.content.getClientRects().length\n if (actualLines > this.maxLines) {\n return true\n }\n }\n\n if (this.maxHeight) {\n if (this.$el.scrollHeight > this.$el.offsetHeight) {\n return true\n }\n }\n return false\n },\n getText () {\n let [content] = this.$slots.default || []\n return content ? content.text : ''\n },\n moveEdge (steps) {\n this.clampAt(this.offset + steps)\n },\n clampAt (offset) {\n this.offset = offset\n this.applyChange()\n },\n applyChange () {\n this.$refs.text.textContent = this.realText\n },\n stepToFit () {\n this.fill()\n this.clamp()\n },\n fill () {\n while (!this.isOverflow() && this.offset < this.text.length) {\n this.moveEdge(1)\n }\n },\n clamp () {\n while (this.isOverflow() && this.offset > 0) {\n this.moveEdge(-1)\n }\n },\n search (...range) {\n let [from = 0, to = this.offset] = range\n if (to - from <= 3) {\n this.stepToFit()\n return\n }\n let target = Math.floor((to + from) / 2)\n this.clampAt(target)\n if (this.isOverflow()) {\n this.search(from, target)\n } else {\n this.search(target, to)\n }\n },\n cleanUp () {\n if (this.unregisterResizeCallback) {\n this.unregisterResizeCallback()\n }\n }\n },\n render (h) {\n let contents = [\n h(\n 'span',\n {\n ref: 'text',\n attrs: {\n 'aria-label': this.text.trim()\n }\n },\n this.realText\n )\n ]\n\n let { expand, collapse, toggle } = this\n let scope = { expand, collapse, toggle }\n let before = this.$scopedSlots.before\n ? this.$scopedSlots.before(scope)\n : this.$slots.before\n if (before) {\n contents.unshift(...(Array.isArray(before) ? before : [before]))\n }\n let after = this.$scopedSlots.after\n ? this.$scopedSlots.after(scope)\n : this.$slots.after\n if (after) {\n contents.push(...(Array.isArray(after) ? after : [after]))\n }\n let lines = [\n h(\n 'span',\n {\n style: {\n boxShadow: 'transparent 0 0'\n },\n ref: 'content'\n },\n contents\n )\n ]\n return h(\n this.tag,\n {\n style: {\n maxHeight: this.realMaxHeight,\n overflow: 'hidden'\n }\n },\n lines\n )\n }\n}\n","\n\n\n\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1f36cf47&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"spectre.css/dist/spectre.min.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"spectre.css/dist/spectre-exp.min.css?vue&type=style&index=1&lang=css&\"\nimport style2 from \"highlight.js/styles/atom-one-light.css?vue&type=style&index=2&lang=css&\"\nimport style3 from \"./App.vue?vue&type=style&index=3&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"app\"}},[_c('h1',[_c('span',{on:{\"click\":function($event){_vm.pascal = !_vm.pascal}}},[_vm._v(\"<\"+_vm._s(_vm.pascal ? 'VueClamp' : 'vue-clamp')+\">\")]),_c('div',{staticClass:\"lang btn-group\"},[_c('button',{staticClass:\"btn btn-sm\",class:{ active: !_vm.zh },on:{\"click\":function($event){_vm.zh = false}}},[_vm._v(\"\\n English\\n \")]),_c('button',{staticClass:\"btn btn-sm\",class:{ active: _vm.zh },on:{\"click\":function($event){_vm.zh = true}}},[_vm._v(\"\\n 中文\\n \")])])]),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '轻松实现多行文本截断。' : 'Clamping multiline text with ease.')+\"\\n \")]),_c('p',[_c('a',{staticClass:\"tooltip\",attrs:{\"href\":\"https://github.com/Justineo/vue-clamp\",\"data-tooltip\":_vm.zh ? '前往 GitHub 仓库' : 'Visit GitHub repo'}},[_vm._v(\"\\n GitHub →\\n \")])]),_c('h2',{attrs:{\"id\":\"features\"}},[_c('a',{attrs:{\"href\":\"#features\"}},[_vm._v(\"#\")]),_vm._v(\" \"+_vm._s(_vm.zh ? '功能' : 'Features'))]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.zh ? '可以选择限制行数与/或最大高度,无需指定行高。' : 'Clamps text with max lines and/or max height. No need to specify line height.'))]),_c('li',[_vm._v(_vm._s(_vm.zh ? '支持在布局变化时自动更新。' : 'Automatically updates upon layout change.'))]),_c('li',[_vm._v(_vm._s(_vm.zh ? '支持展开/收起被截断部分内容。' : 'The clamped text can be expanded/collapsed.'))]),_c('li',[_vm._v(_vm._s(_vm.zh ? '支持自定义截断文本前后内容,并且进行响应式更新。' : 'Customizable and responsive content before/after clamped text.'))])]),_vm._m(0),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ max-lines & slot `after`\"}}),_c('section',{staticClass:\"case\"},[_c('div',{staticClass:\"form-horizontal\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"lines\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '最大行数' : 'Max lines')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.lines),expression:\"lines\",modifiers:{\"number\":true}}],staticClass:\"form-input\",attrs:{\"id\":\"lines\",\"type\":\"number\",\"min\":\"1\",\"max\":\"8\",\"step\":\"1\"},domProps:{\"value\":(_vm.lines)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.lines=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"width1\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '容器宽度' : 'Container width')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12 tooltip\",attrs:{\"data-tooltip\":(_vm.width1 + \"px\")}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.width1),expression:\"width1\"}],staticClass:\"slider\",attrs:{\"id\":\"width1\",\"type\":\"range\",\"min\":\"240\",\"max\":\"600\"},domProps:{\"value\":(_vm.width1)},on:{\"__r\":function($event){_vm.width1=$event.target.value}}})])]),(!_vm.zh)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-5 col-sm-12\"},[_c('label',{staticClass:\"form-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hyphens1),expression:\"hyphens1\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.hyphens1)?_vm._i(_vm.hyphens1,null)>-1:(_vm.hyphens1)},on:{\"change\":function($event){var $$a=_vm.hyphens1,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hyphens1=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hyphens1=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hyphens1=$$c}}}}),_c('i',{staticClass:\"form-icon\"}),_vm._v(\"\\n CSS \"),_c('code',[_vm._v(\"hyphens\")])])])]):_vm._e()]),_c('v-clamp',{class:{\n demo: true,\n hyphens: _vm.hyphens1\n },style:({\n width: (_vm.width1 + \"px\")\n }),attrs:{\"max-lines\":_vm.lines,\"autoresize\":\"\"},scopedSlots:_vm._u([{key:\"after\",fn:function(ref){\n var toggle = ref.toggle;\nreturn _c('button',{staticClass:\"toggle btn btn-sm\",on:{\"click\":toggle}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '切换' : 'Toggle')+\"\\n \")])}}])},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? _vm.textZh : _vm.text)+\"\\n \")])],1),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ max-height & slot `before`\"}}),_c('section',{staticClass:\"case\"},[_c('div',{staticClass:\"form-horizontal\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"height\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '最大高度' : 'Max height')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12 tooltip\",attrs:{\"data-tooltip\":_vm.zh ? '任意 CSS 长度值' : 'Any valid CSS length value'}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.height),expression:\"height\"}],staticClass:\"form-input\",attrs:{\"id\":\"height\"},domProps:{\"value\":(_vm.height)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.height=$event.target.value}}})])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label col-5 col-sm-12\",attrs:{\"for\":\"width2\"}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '容器宽度' : 'Container width')+\"\\n \")]),_c('div',{staticClass:\"col-7 col-sm-12 tooltip\",attrs:{\"data-tooltip\":(_vm.width2 + \"px\")}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.width2),expression:\"width2\"}],staticClass:\"slider\",attrs:{\"id\":\"width2\",\"type\":\"range\",\"min\":\"240\",\"max\":\"600\"},domProps:{\"value\":(_vm.width2)},on:{\"__r\":function($event){_vm.width2=$event.target.value}}})])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-5 col-sm-12\"},[_c('label',{staticClass:\"form-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.expanded),expression:\"expanded\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.expanded)?_vm._i(_vm.expanded,null)>-1:(_vm.expanded)},on:{\"change\":function($event){var $$a=_vm.expanded,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.expanded=$$a.concat([$$v]))}else{$$i>-1&&(_vm.expanded=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.expanded=$$c}}}}),_c('i',{staticClass:\"form-icon\"}),_vm._v(\"\\n \"+_vm._s(_vm.zh ? '展开内容' : 'Expanded')+\"\\n \")])])]),(!_vm.zh)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-5 col-sm-12\"},[_c('label',{staticClass:\"form-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hyphens2),expression:\"hyphens2\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.hyphens2)?_vm._i(_vm.hyphens2,null)>-1:(_vm.hyphens2)},on:{\"change\":function($event){var $$a=_vm.hyphens2,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.hyphens2=$$a.concat([$$v]))}else{$$i>-1&&(_vm.hyphens2=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.hyphens2=$$c}}}}),_c('i',{staticClass:\"form-icon\"}),_vm._v(\"\\n CSS \"),_c('code',[_vm._v(\"hyphens\")])])])]):_vm._e()]),_c('v-clamp',{class:{\n demo: true,\n hyphens: _vm.hyphens2\n },style:({\n width: (_vm.width2 + \"px\")\n }),attrs:{\"max-height\":_vm.height,\"autoresize\":\"\",\"expanded\":_vm.expanded},on:{\"update:expanded\":function($event){_vm.expanded=$event}}},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? _vm.textZh : _vm.text)+\"\\n \"),_c('span',{staticClass:\"featured label label-rounded label-primary\",attrs:{\"slot\":\"before\"},slot:\"before\"},[_vm._v(\"\\n \"+_vm._s(_vm.zh ? '推荐' : 'Featured')+\"\\n \")])])],1),_c('h2',{attrs:{\"id\":\"usage\"}},[_c('a',{attrs:{\"href\":\"#usage\"}},[_vm._v(\"#\")]),_vm._v(\" \"+_vm._s(_vm.zh ? '使用方法' : 'Usage'))]),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":_vm.zh ? '↓ 安装' : '↓ Installation'}}),_vm._m(1),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":_vm.zh ? '↓ 配置' : '↓ Configuration'}}),_c('section',[_vm._m(2),(_vm.zh)?_c('p',[_vm._v(\"对于使用 Vue CLI 3 创建的项目,请确保将 \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" 与 \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" 加入 \"),_c('code',[_vm._v(\"vue.config.js\")]),_vm._v(\" 文件的 \"),_c('code',[_vm._v(\"transpileDependencies\")]),_vm._v(\" 选项中:\")]):_c('p',[_vm._v(\"For projects created with Vue CLI 3, remember to add \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" into the \"),_c('code',[_vm._v(\"transpileDependencies\")]),_vm._v(\" option in \"),_c('code',[_vm._v(\"vue.config.js\")]),_vm._v(\":\")]),_vm._m(3),_vm._m(4),(_vm.zh)?_c('p',[_vm._v(\"如果使用的是 Vue CLI 2 的 \"),_c('code',[_vm._v(\"webpack\")]),_vm._v(\" 模板,请按如下方式修改 \"),_c('code',[_vm._v(\"build/webpack.base.conf.js\")]),_vm._v(\":\")]):_c('p',[_vm._v(\"For Vue CLI 2 with the \"),_c('code',[_vm._v(\"webpack\")]),_vm._v(\" template, modify \"),_c('code',[_vm._v(\"build/webpack.base.conf.js\")]),_vm._v(\" like this:\")]),_vm._m(5),_vm._m(6),(_vm.zh)?_c('p',[_vm._v(\"在 Nuxt.js 中使用时,请确保将 \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" 与 \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" 加入 \"),_c('code',[_vm._v(\"nuxt.config.js\")]),_vm._v(\" 文件的 \"),_c('code',[_vm._v(\"build.transpile\")]),_vm._v(\" 选项中:\")]):_c('p',[_vm._v(\"When using in Nuxt.js, remember to add \"),_c('code',[_vm._v(\"vue-clamp\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"resize-detector\")]),_vm._v(\" into the \"),_c('code',[_vm._v(\"build.transpile\")]),_vm._v(\" option in \"),_c('code',[_vm._v(\"nuxt.config.js\")]),_vm._v(\":\")]),_vm._m(7)]),_vm._m(8),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ Props\"}}),_c('section',[_c('ul',[_c('li',[_vm._m(9),_c('p',[_vm._v(_vm._s(_vm.zh ? '生成的根元素的标签名。' : 'The tag name of the generated root element.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"div\")])])]),_c('li',[_vm._m(10),_c('p',[_vm._v(_vm._s(_vm.zh ? '是否要自动适配根元素的尺寸变化。' : 'Whether to observe the root element\\'s size.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"false\")])])]),_c('li',[_vm._m(11),_c('p',[_vm._v(_vm._s(_vm.zh ? '可以显示的最大行数' : 'The max number of lines that can be displayed.'))])]),_c('li',[_vm._m(12),(_vm.zh)?_c('p',[_vm._v(\"'根元素的最大高度。数字值将被转换为 \"),_c('code',[_vm._v(\"px\")]),_vm._v(\" 单位;字符串值将直接作为 CSS 属性 \"),_c('code',[_vm._v(\"max-height\")]),_vm._v(\" 输出。\")]):_c('p',[_vm._v(\"The max height of the root element. Number values are converted to \"),_c('code',[_vm._v(\"px\")]),_vm._v(\" units. String values are used directly as the \"),_c('code',[_vm._v(\"max-height\")]),_vm._v(\" CSS property.\")])]),_c('li',[_vm._m(13),_c('p',[_vm._v(_vm._s(_vm.zh ? '当文字被截断时需要显示的省略号字符串。' : 'The ellipsis characters displayed when the text is clamped.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"'…'\")])])]),_c('li',[_vm._m(14),_c('p',[_c('span',{staticClass:\"label label-primary tooltip\",attrs:{\"data-tooltip\":_vm.zh ? '支持 .sync 修饰符' : 'Supports .sync modifier'}},[_vm._v(\"\\n .sync\\n \")])]),_c('p',[_vm._v(_vm._s(_vm.zh ? '是否展开显式被截断的文本。' : 'Whether the clamped area is expanded.'))]),_c('p',[_vm._v(_vm._s(_vm.defaultText)),_c('code',[_vm._v(\"false\")])])])])]),_c('div',{staticClass:\"divider text-center\",attrs:{\"data-content\":\"↓ Slots\"}}),_c('section',[_c('ul',[_c('li',[_vm._m(15),_c('p',[_vm._v(_vm._s(_vm.zh ? '需要截断的文本。只能包含纯文本内容。' : 'The text to clamp. Can only contain pure text.'))])]),_c('li',[_vm._m(16),_c('p',[_vm._v(\"Slot \"+_vm._s(_vm.zh ? '作用域:' : 'scope:')),_c('code',[_vm._v(\"{ expand, collapse, toggle }\")])]),_c('section',{staticClass:\"secondary\"},[_c('p',[_c('code',[_vm._v(\"expand: function(): void\")]),_vm._v(\" - \"+_vm._s(_vm.zh ? '展开被截断的文本。' : 'Expand the clamped text.'))]),_c('p',[_c('code',[_vm._v(\"collapse: function(): void\")]),_vm._v(\" - \"+_vm._s(_vm.zh ? '收起展开后的文本。' : 'Collapse the expanded text.'))]),_c('p',[_c('code',[_vm._v(\"toggle: function(): void\")]),_vm._v(\" - \"+_vm._s(_vm.zh ? '切换被截断文本的展开状态。' : 'Toggle the expand state of clamped text.'))])]),_c('p',[_vm._v(_vm._s(_vm.zh ? '在被截断的文本前显式的内容,可以包含任意类型内容。' : 'Content displayed before the clamped text. Can contain anything.'))])]),_c('li',[_vm._m(17),(_vm.zh)?_c('p',[_vm._v(\"Slot 作用域:与 \"),_c('code',[_vm._v(\"before\")]),_vm._v(\" 相同。\")]):_c('p',[_vm._v(\"Slot scope: Same as \"),_c('code',[_vm._v(\"before\")]),_vm._v(\".\")]),_c('p',[_vm._v(_vm._s(_vm.zh ? '在被截断的文本后显式的内容,可以包含任意类型内容。' : 'Content displayed after the clamped text. Can contain anything.'))])])])]),_c('footer',[(_vm.zh)?_c('p',[_vm._v(\"由 \"),_c('a',{attrs:{\"href\":\"https://github.com/Justineo\"}},[_vm._v(\"@Justineo\")]),_vm._v(\" 创作。\")]):_c('p',[_vm._v(\"Made by \"),_c('a',{attrs:{\"href\":\"https://github.com/Justineo\"}},[_vm._v(\"@Justineo\")]),_vm._v(\".\")]),_c('p',[(_vm.zh)?_c('small',[_vm._v(\"本页基于 \"),_c('a',{attrs:{\"href\":\"https://picturepan2.github.io/spectre.css\"}},[_vm._v(\"Spectre.css\")]),_vm._v(\" 开发。\")]):_c('small',[_vm._v(\"This page is based on \"),_c('a',{attrs:{\"href\":\"https://picturepan2.github.io/spectre.css\"}},[_vm._v(\"Spectre.css\")]),_vm._v(\".\")])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"demo\"}},[_c('a',{attrs:{\"href\":\"#demo\"}},[_vm._v(\"#\")]),_vm._v(\" Demo\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code shell\",attrs:{\"data-lang\":\"Shell\"}},[_c('code',[_vm._v(\"$ npm i --save vue-clamp\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Vue CLI \"),_c('small',[_vm._v(\"v3\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code javascript\",attrs:{\"data-lang\":\"JavaScript\"}},[_c('code',[_vm._v(\"module.exports = {\\n transpileDependencies: ['vue-clamp', 'resize-detector']\\n}\\n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Vue CLI \"),_c('small',[_vm._v(\"v2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code diff\",attrs:{\"data-lang\":\"Diff\"}},[_c('code',[_vm._v(\" {\\n test: /\\\\.js$/,\\n loader: 'babel-loader',\\n- include: [resolve('src'), resolve('test')]\\n+ include: [\\n+ resolve('src'),\\n+ resolve('test'),\\n+ resolve('node_modules/vue-awesome')\\n+ ]\\n }\\n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Nuxt.js \"),_c('small',[_vm._v(\"v2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"code javascript\",attrs:{\"data-lang\":\"JavaScript\"}},[_c('code',[_vm._v(\"module.exports = {\\n build: {\\n transpile: ['vue-clamp', 'resize-detector']\\n }\\n}\\n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{attrs:{\"id\":\"api\"}},[_c('a',{attrs:{\"href\":\"#api\"}},[_vm._v(\"#\")]),_vm._v(\" API\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"tag: string\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"autoresize: boolean\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"max-lines: number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"max-height: number|string\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"ellipsis: string\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"expanded: boolean\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"default\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"before\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"after\")])])}]\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(App)\n}).$mount('#app')\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=3&lang=stylus&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/index.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=3&lang=stylus&\""],"sourceRoot":""} \ No newline at end of file diff --git a/demo/report.html b/demo/report.html deleted file mode 100644 index 8752bf2..0000000 --- a/demo/report.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Webpack Bundle Analyzer - - - - - - - - - -
- - - diff --git a/package-lock.json b/package-lock.json index 88aad72..ed6b483 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11370,6 +11370,12 @@ "indexof": "0.0.1" } }, + "vue": { + "version": "2.5.21", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.21.tgz", + "integrity": "sha512-Aejvyyfhn0zjVeLvXd70h4hrE4zZDx1wfZqia6ekkobLmUZ+vNFQer53B4fu0EjWBSiqApxPejzkO1Znt3joxQ==", + "dev": true + }, "vue-eslint-parser": { "version": "2.0.3", "resolved": "http://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz", diff --git a/package.json b/package.json index e939447..ef14e66 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,8 @@ "spectre.css": "^0.5.7", "stylus": "^0.54.5", "stylus-loader": "^3.0.2", - "vue-template-compiler": "^2.5.17" + "vue": "^2.5.21", + "vue-template-compiler": "^2.5.21" }, "main": "dist/vue-clamp.js", "module": "Clamp.js", diff --git a/vue.config.js b/vue.config.js index e54e826..a007516 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,5 @@ module.exports = { + baseUrl: process.env.NODE_ENV === 'production' ? './' : '/', outputDir: 'demo', transpileDependencies: ['resize-detector'], chainWebpack: config => {