UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

1 lines 5.66 kB
{"version":3,"file":"collapsible_lazy_show.vue.cjs","sources":["../../../components/collapsible/collapsible_lazy_show.vue"],"sourcesContent":["<template>\n <!-- applies the transition on initial render -->\n <transition\n :appear=\"appear\"\n enter-active-class=\"d-collapsible__enter-active\"\n leave-active-class=\"d-collapsible__leave-active\"\n v-bind=\"$attrs\"\n :css=\"isCSSEnabled\"\n @before-enter=\"beforeEnter\"\n @enter=\"enter\"\n @after-enter=\"afterEnter\"\n @before-leave=\"beforeLeave\"\n @leave=\"leave\"\n @after-leave=\"afterLeave\"\n >\n <component\n :is=\"elementType\"\n v-show=\"show\"\n v-bind=\"$attrs\"\n >\n <!-- @slot slot for Content within collapsible -->\n <slot v-if=\"initialized\" />\n </component>\n </transition>\n</template>\n\n<script>\nexport default {\n name: 'DtCollapsibleLazyShow',\n\n inheritAttrs: false,\n\n /******************\n * PROPS *\n ******************/\n props: {\n /**\n * Whether the child slot is shown.\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Enable/Disable transition animation\n */\n appear: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n },\n\n /******************\n * DATA *\n ******************/\n data () {\n return {\n initialized: !!this.show,\n };\n },\n\n /******************\n * COMPUTED *\n ******************/\n computed: {\n /**\n * Set the css property to false when running tests only.\n * Refer to: https://vuejs.org/guide/built-ins/transition.html#javascript-hooks for details about\n * transition `css` property\n * @returns {boolean}\n */\n isCSSEnabled () {\n return process.env.NODE_ENV !== 'test';\n },\n },\n\n /******************\n * WATCH *\n ******************/\n watch: {\n show: function (newValue) {\n if (!newValue || this.initialized) return;\n\n this.initialized = true;\n },\n },\n\n methods: {\n /**\n * @param {HTMLElement} element\n */\n beforeEnter (element) {\n requestAnimationFrame(() => {\n if (!element.style.height) {\n element.style.height = '0px';\n }\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n enter (element) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n element.style.height = `${element.scrollHeight}px`;\n });\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n afterEnter (element) {\n element.style.height = null;\n },\n\n /**\n * @param {HTMLElement} element\n */\n beforeLeave (element) {\n requestAnimationFrame(() => {\n if (!element.style.height) {\n element.style.height = `${element.offsetHeight}px`;\n }\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n leave (element) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n element.style.height = '0px';\n });\n });\n },\n\n /**\n * @param {HTMLElement} element\n */\n afterLeave (element) {\n element.style.height = null;\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createBlock","_Transition","_mergeProps","_withCtx","_withDirectives","_resolveDynamicComponent","_normalizeProps","_guardReactiveProps","_renderSlot","_createCommentVNode"],"mappings":";;;;AA2BA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,cAAc;AAAA;AAAA;AAAA;AAAA,EAKd,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKD,OAAQ;AACN,WAAO;AAAA,MACL,aAAa,CAAC,CAAC,KAAK;AAAA;EAEvB;AAAA;AAAA;AAAA;AAAA,EAKD,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOR,eAAgB;AACd,aAAO,QAAQ,IAAI,aAAa;AAAA,IACjC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKD,OAAO;AAAA,IACL,MAAM,SAAU,UAAU;AACxB,UAAI,CAAC,YAAY,KAAK,YAAa;AAEnC,WAAK,cAAc;AAAA,IACpB;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA,IAIP,YAAa,SAAS;AACpB,4BAAsB,MAAM;AAC1B,YAAI,CAAC,QAAQ,MAAM,QAAQ;AACzB,kBAAQ,MAAM,SAAS;AAAA,QACzB;AAAA,MACF,CAAC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,MAAO,SAAS;AACd,4BAAsB,MAAM;AAC1B,8BAAsB,MAAM;AAC1B,kBAAQ,MAAM,SAAS,GAAG,QAAQ,YAAY;AAAA,QAChD,CAAC;AAAA,MACH,CAAC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,WAAY,SAAS;AACnB,cAAQ,MAAM,SAAS;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKD,YAAa,SAAS;AACpB,4BAAsB,MAAM;AAC1B,YAAI,CAAC,QAAQ,MAAM,QAAQ;AACzB,kBAAQ,MAAM,SAAS,GAAG,QAAQ,YAAY;AAAA,QAChD;AAAA,MACF,CAAC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,MAAO,SAAS;AACd,4BAAsB,MAAM;AAC1B,8BAAsB,MAAM;AAC1B,kBAAQ,MAAM,SAAS;AAAA,QACzB,CAAC;AAAA,MACH,CAAC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,WAAY,SAAS;AACnB,cAAQ,MAAM,SAAS;AAAA,IACxB;AAAA,EACF;AACH;;AAzJE,SAAAA,cAAA,GAAAC,gBAqBaC,IAAAA,YArBbC,IAAAA,WAqBa;AAAA,IApBV,QAAQ,OAAM;AAAA,IACf,sBAAmB;AAAA,IACnB,sBAAmB;AAAA,KACX,KAAM,QAAA;AAAA,IACb,KAAK,SAAY;AAAA,IACjB,eAAc,SAAW;AAAA,IACzB,SAAO,SAAK;AAAA,IACZ,cAAa,SAAU;AAAA,IACvB,eAAc,SAAW;AAAA,IACzB,SAAO,SAAK;AAAA,IACZ,cAAa,SAAU;AAAA;IAb5B,SAAAC,IAAA,QAeI,MAOY;AAAA,MAPZC,IAAAA,gBAAAL,IAAA,UAAA,GAAAC,IAAA,YAOYK,IANL,wBAAA,OAAA,WAAW,GAhBtBC,IAAA,eAAAC,uBAkBc,KAAM,MAAA,CAAA,GAAA;AAAA,QAlBpB,SAAAJ,IAAA,QAqBM,MAA2B;AAAA,UAAf,MAAW,cAAvBK,IAAA,WAA2B,0BArBjC,KAAA,GAAA,IAAAC,IAAA,mBAAA,IAAA,IAAA;AAAA;QAAA,GAAA;AAAA;oBAiBc,OAAI,IAAA;AAAA;;IAjBlB,GAAA;AAAA;;;;"}