yuyeon 0.2.2-rc.0 → 0.2.2-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -65,26 +65,29 @@ export const YDataTableBody = defineComponent({
65
65
  isSelected,
66
66
  toggleSelect
67
67
  };
68
+ function onClick(event) {
69
+ props['onClick:row']?.(event, {
70
+ ...stateProps
71
+ });
72
+ }
73
+ function onDblclick(event) {
74
+ props['onDblclick:row']?.(event, {
75
+ ...stateProps
76
+ });
77
+ }
78
+ function onContextmenu(event) {
79
+ props['onContextmenu:row']?.(event, {
80
+ ...stateProps
81
+ });
82
+ }
68
83
  const slotProps = {
69
84
  ...stateProps,
70
85
  props: mergeProps({
71
86
  key: `item__${item.key ?? item.index}`,
72
87
  item,
73
- onClick: props['onClick:row'] ? event => {
74
- props['onClick:row']?.(event, {
75
- ...stateProps
76
- });
77
- } : undefined,
78
- onDblclick: props['onDblclick:row'] ? event => {
79
- props['onDblclick:row']?.(event, {
80
- ...stateProps
81
- });
82
- } : undefined,
83
- onContextmenu: props['onContextmenu:row'] ? event => {
84
- props['onContextmenu:row']?.(event, {
85
- ...stateProps
86
- });
87
- } : undefined,
88
+ onClick,
89
+ onDblclick,
90
+ onContextmenu,
88
91
  index
89
92
  }, typeof props.rowProps === 'function' ? props.rowProps({
90
93
  item: stateProps.item,
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableBody.mjs","names":["mergeProps","useRender","defineComponent","propsFactory","YDataTableRow","useHeader","useSelection","pressYDataTableBodyProps","items","type","Array","default","loading","Boolean","String","loadingText","hideNoData","noDataText","rowProps","Function","Object","rowHeight","Number","YDataTableBody","name","props","emits","setup","_ref","slots","emit","columns","isSelected","toggleSelect","_createVNode","value","length","_Fragment","body","map","item","index","stateProps","raw","internalItem","slotProps","key","onClick","event","undefined","onDblclick","onContextmenu"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { type PropType, mergeProps } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { YDataTableRow } from './YDataTableRow';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { DataTableItem, RowProps } from './types';\r\n\r\nexport const pressYDataTableBodyProps = propsFactory(\r\n {\r\n items: {\r\n type: Array as PropType<readonly DataTableItem[]>,\r\n default: () => [],\r\n },\r\n loading: [Boolean, String],\r\n loadingText: String,\r\n hideNoData: Boolean,\r\n noDataText: {\r\n type: String,\r\n default: '',\r\n },\r\n rowProps: [Function, Object] as PropType<RowProps<any>>,\r\n rowHeight: Number,\r\n 'onClick:row': Function as PropType<(e: Event, value: any) => void>,\r\n 'onDblclick:row': Function as PropType<(e: Event, value: any) => void>,\r\n 'onContextmenu:row': Function as PropType<(e: Event, value: any) => void>,\r\n },\r\n 'YDataTableBody',\r\n);\r\n\r\nexport const YDataTableBody = defineComponent({\r\n name: 'YDataTableBody',\r\n props: {\r\n ...pressYDataTableBodyProps(),\r\n },\r\n emits: ['click:row'],\r\n setup(props, { slots, emit }) {\r\n const { columns } = useHeader();\r\n const { isSelected, toggleSelect } = useSelection();\r\n\r\n useRender(() => {\r\n if (props.loading) {\r\n return (\r\n <tr>\r\n <td colspan={columns.value.length} class={'y-data-table__loading'}>\r\n {slots.loading ? slots.loading() : <div>{props.loadingText}</div>}\r\n </td>\r\n </tr>\r\n );\r\n }\r\n if (!props.loading && props.items.length < 1 && !props.hideNoData) {\r\n return (\r\n <tr key=\"no-data\" class=\"y-data-table__no-data\">\r\n <td colspan={columns.value.length}>\r\n {slots['no-data']?.() ?? props.noDataText}\r\n </td>\r\n </tr>\r\n );\r\n }\r\n return (\r\n <>\r\n {slots.body\r\n ? slots.body?.(props)\r\n : props.items.map((item, index) => {\r\n const stateProps = {\r\n index,\r\n item: item.raw,\r\n internalItem: item,\r\n columns: columns.value,\r\n isSelected,\r\n toggleSelect,\r\n };\r\n const slotProps = {\r\n ...stateProps,\r\n props: mergeProps(\r\n {\r\n key: `item__${item.key ?? item.index}`,\r\n item,\r\n onClick: props['onClick:row']\r\n ? (event: Event) => {\r\n props['onClick:row']?.(event, { ...stateProps });\r\n }\r\n : undefined,\r\n onDblclick: props['onDblclick:row']\r\n ? (event: Event) => {\r\n props['onDblclick:row']?.(event, { ...stateProps });\r\n }\r\n : undefined,\r\n onContextmenu: props['onContextmenu:row']\r\n ? (event: Event) => {\r\n props['onContextmenu:row']?.(event, {\r\n ...stateProps,\r\n });\r\n }\r\n : undefined,\r\n index,\r\n },\r\n typeof props.rowProps === 'function'\r\n ? props.rowProps({\r\n item: stateProps.item,\r\n index: stateProps.index,\r\n internalItem: stateProps.internalItem,\r\n })\r\n : props.rowProps,\r\n ),\r\n };\r\n return (\r\n <>\r\n {slots.item ? (\r\n slots.item(slotProps)\r\n ) : (\r\n <YDataTableRow\r\n v-slots={slots}\r\n {...slotProps.props}\r\n ></YDataTableRow>\r\n )}\r\n </>\r\n );\r\n })}\r\n </>\r\n );\r\n });\r\n\r\n // end\r\n return {};\r\n },\r\n});\r\n\r\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDataTableBody.mjs","names":["mergeProps","useRender","defineComponent","propsFactory","YDataTableRow","useHeader","useSelection","pressYDataTableBodyProps","items","type","Array","default","loading","Boolean","String","loadingText","hideNoData","noDataText","rowProps","Function","Object","rowHeight","Number","YDataTableBody","name","props","emits","setup","_ref","slots","emit","columns","isSelected","toggleSelect","_createVNode","value","length","_Fragment","body","map","item","index","stateProps","raw","internalItem","onClick","event","onDblclick","onContextmenu","slotProps","key"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { type PropType, mergeProps } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YDataTableRow } from './YDataTableRow';\nimport { useHeader } from './composibles/header';\nimport { useSelection } from './composibles/selection';\nimport { DataTableItem, RowProps } from './types';\n\nexport const pressYDataTableBodyProps = propsFactory(\n {\n items: {\n type: Array as PropType<readonly DataTableItem[]>,\n default: () => [],\n },\n loading: [Boolean, String],\n loadingText: String,\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '',\n },\n rowProps: [Function, Object] as PropType<RowProps<any>>,\n rowHeight: Number,\n 'onClick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onDblclick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onContextmenu:row': Function as PropType<(e: Event, value: any) => void>,\n },\n 'YDataTableBody',\n);\n\nexport const YDataTableBody = defineComponent({\n name: 'YDataTableBody',\n props: {\n ...pressYDataTableBodyProps(),\n },\n emits: ['click:row'],\n setup(props, { slots, emit }) {\n const { columns } = useHeader();\n const { isSelected, toggleSelect } = useSelection();\n\n useRender(() => {\n if (props.loading) {\n return (\n <tr>\n <td colspan={columns.value.length} class={'y-data-table__loading'}>\n {slots.loading ? slots.loading() : <div>{props.loadingText}</div>}\n </td>\n </tr>\n );\n }\n if (!props.loading && props.items.length < 1 && !props.hideNoData) {\n return (\n <tr key=\"no-data\" class=\"y-data-table__no-data\">\n <td colspan={columns.value.length}>\n {slots['no-data']?.() ?? props.noDataText}\n </td>\n </tr>\n );\n }\n return (\n <>\n {slots.body\n ? slots.body?.(props)\n : props.items.map((item, index) => {\n const stateProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n };\n\n function onClick(event: Event) {\n props['onClick:row']?.(event, { ...stateProps });\n }\n\n function onDblclick(event: Event) {\n props['onDblclick:row']?.(event, { ...stateProps });\n }\n\n function onContextmenu(event: Event) {\n props['onContextmenu:row']?.(event, {\n ...stateProps,\n });\n }\n\n const slotProps = {\n ...stateProps,\n props: mergeProps(\n {\n key: `item__${item.key ?? item.index}`,\n item,\n onClick,\n onDblclick,\n onContextmenu,\n index,\n },\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: stateProps.item,\n index: stateProps.index,\n internalItem: stateProps.internalItem,\n })\n : props.rowProps,\n ),\n };\n return (\n <>\n {slots.item ? (\n slots.item(slotProps)\n ) : (\n <YDataTableRow\n v-slots={slots}\n {...slotProps.props}\n ></YDataTableRow>\n )}\n </>\n );\n })}\n </>\n );\n });\n\n // end\n return {};\n },\n});\n\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\n"],"mappings":";AAAA,SAAwBA,UAAU,QAAQ,KAAK;AAAC,SAEvCC,SAAS;AAAA,SACTC,eAAe,EAAEC,YAAY;AAAA,SAE7BC,aAAa;AAAA,SACbC,SAAS;AAAA,SACTC,YAAY;AAGrB,OAAO,MAAMC,wBAAwB,GAAGJ,YAAY,CAClD;EACEK,KAAK,EAAE;IACLC,IAAI,EAAEC,KAA2C;IACjDC,OAAO,EAAEA,CAAA,KAAM;EACjB,CAAC;EACDC,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM,CAAC;EAC1BC,WAAW,EAAED,MAAM;EACnBE,UAAU,EAAEH,OAAO;EACnBI,UAAU,EAAE;IACVR,IAAI,EAAEK,MAAM;IACZH,OAAO,EAAE;EACX,CAAC;EACDO,QAAQ,EAAE,CAACC,QAAQ,EAAEC,MAAM,CAA4B;EACvDC,SAAS,EAAEC,MAAM;EACjB,aAAa,EAAEH,QAAoD;EACnE,gBAAgB,EAAEA,QAAoD;EACtE,mBAAmB,EAAEA;AACvB,CAAC,EACD,gBACF,CAAC;AAED,OAAO,MAAMI,cAAc,GAAGrB,eAAe,CAAC;EAC5CsB,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE;IACL,GAAGlB,wBAAwB,CAAC;EAC9B,CAAC;EACDmB,KAAK,EAAE,CAAC,WAAW,CAAC;EACpBC,KAAKA,CAACF,KAAK,EAAAG,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAM;MAAEG;IAAQ,CAAC,GAAG1B,SAAS,CAAC,CAAC;IAC/B,MAAM;MAAE2B,UAAU;MAAEC;IAAa,CAAC,GAAG3B,YAAY,CAAC,CAAC;IAEnDL,SAAS,CAAC,MAAM;MACd,IAAIwB,KAAK,CAACb,OAAO,EAAE;QACjB,OAAAsB,YAAA,cAAAA,YAAA;UAAA,WAEiBH,OAAO,CAACI,KAAK,CAACC,MAAM;UAAA,SAAS;QAAuB,IAC9DP,KAAK,CAACjB,OAAO,GAAGiB,KAAK,CAACjB,OAAO,CAAC,CAAC,GAAAsB,YAAA,eAAST,KAAK,CAACV,WAAW,EAAO;MAIzE;MACA,IAAI,CAACU,KAAK,CAACb,OAAO,IAAIa,KAAK,CAACjB,KAAK,CAAC4B,MAAM,GAAG,CAAC,IAAI,CAACX,KAAK,CAACT,UAAU,EAAE;QACjE,OAAAkB,YAAA;UAAA;UAAA;QAAA,IAAAA,YAAA;UAAA,WAEiBH,OAAO,CAACI,KAAK,CAACC;QAAM,IAC9BP,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAIJ,KAAK,CAACR,UAAU;MAIjD;MACA,OAAAiB,YAAA,CAAAG,SAAA,SAEKR,KAAK,CAACS,IAAI,GACPT,KAAK,CAACS,IAAI,GAAGb,KAAK,CAAC,GACnBA,KAAK,CAACjB,KAAK,CAAC+B,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QAC/B,MAAMC,UAAU,GAAG;UACjBD,KAAK;UACLD,IAAI,EAAEA,IAAI,CAACG,GAAG;UACdC,YAAY,EAAEJ,IAAI;UAClBT,OAAO,EAAEA,OAAO,CAACI,KAAK;UACtBH,UAAU;UACVC;QACF,CAAC;QAED,SAASY,OAAOA,CAACC,KAAY,EAAE;UAC7BrB,KAAK,CAAC,aAAa,CAAC,GAAGqB,KAAK,EAAE;YAAE,GAAGJ;UAAW,CAAC,CAAC;QAClD;QAEA,SAASK,UAAUA,CAACD,KAAY,EAAE;UAChCrB,KAAK,CAAC,gBAAgB,CAAC,GAAGqB,KAAK,EAAE;YAAE,GAAGJ;UAAW,CAAC,CAAC;QACrD;QAEA,SAASM,aAAaA,CAACF,KAAY,EAAE;UACnCrB,KAAK,CAAC,mBAAmB,CAAC,GAAGqB,KAAK,EAAE;YAClC,GAAGJ;UACL,CAAC,CAAC;QACJ;QAEA,MAAMO,SAAS,GAAG;UAChB,GAAGP,UAAU;UACbjB,KAAK,EAAEzB,UAAU,CACf;YACEkD,GAAG,EAAG,SAAQV,IAAI,CAACU,GAAG,IAAIV,IAAI,CAACC,KAAM,EAAC;YACtCD,IAAI;YACJK,OAAO;YACPE,UAAU;YACVC,aAAa;YACbP;UACF,CAAC,EACD,OAAOhB,KAAK,CAACP,QAAQ,KAAK,UAAU,GAChCO,KAAK,CAACP,QAAQ,CAAC;YACbsB,IAAI,EAAEE,UAAU,CAACF,IAAI;YACrBC,KAAK,EAAEC,UAAU,CAACD,KAAK;YACvBG,YAAY,EAAEF,UAAU,CAACE;UAC3B,CAAC,CAAC,GACFnB,KAAK,CAACP,QACZ;QACF,CAAC;QACD,OAAAgB,YAAA,CAAAG,SAAA,SAEKR,KAAK,CAACW,IAAI,GACTX,KAAK,CAACW,IAAI,CAACS,SAAS,CAAC,GAAAf,YAAA,CAAA9B,aAAA,EAIf6C,SAAS,CAACxB,KAAK,EADVI,KAAK,CAGjB;MAGP,CAAC,CAAC;IAGZ,CAAC,CAAC;;IAEF;IACA,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -10,6 +10,7 @@ export function createExpandTransition() {
10
10
  function resetStyle(el) {
11
11
  if (el._originStyle) {
12
12
  el.style.overflow = el._originStyle.overflow;
13
+ el.style.flex = el._originStyle.flex;
13
14
  const size = el._originStyle[sizeProperty];
14
15
  if (size != null) {
15
16
  el.style[sizeProperty] = size;
@@ -1 +1 @@
1
- {"version":3,"file":"expand-transition.mjs","names":["Transition","defineComponent","h","ref","kebabToCamel","createExpandTransition","isHorizon","arguments","length","undefined","direction","name","sizeProperty","offsetProperty","getExpandTransitionHooks","cache","relay","resetStyle","el","_originStyle","style","overflow","size","cacheSize","rect","getBoundingClientRect","value","onBeforeEnter","_parent","parentNode","transition","flex","onEnter","originStyle","setProperty","offsetSize","requestAnimationFrame","onAfterEnter","onEnterCancelled","onLeave","onAfterLeave","onLeaveCancelled","props","disabled","type","Boolean","default","setup","_ref","slots","cacheValue","css"],"sources":["../../../src/components/transitions/expand-transition.ts"],"sourcesContent":["import {\n type PropType,\n type Ref,\n Transition,\n defineComponent,\n h,\n ref,\n} from 'vue';\n\nimport { kebabToCamel } from '@/util/string';\n\ntype HTMLParentElement = (Node & ParentNode & HTMLElement) | null;\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: HTMLParentElement;\n _originStyle?: {\n transition: string;\n overflow: string;\n height?: string | null;\n width?: string | null;\n flex: string;\n };\n}\n\nexport function createExpandTransition(isHorizon = false) {\n const direction = isHorizon ? 'h' : 'v';\n const name = `expand-${direction}-transition`;\n const sizeProperty = isHorizon ? 'width' : 'height';\n const offsetProperty = kebabToCamel(`offset-${sizeProperty}`) as\n | 'offsetWidth'\n | 'offsetHeight';\n\n function getExpandTransitionHooks(\n cache: Ref<number | undefined>,\n relay: boolean,\n ): Record<string, any> {\n function resetStyle(el: HTMLExpandElement) {\n if (el._originStyle) {\n el.style.overflow = el._originStyle.overflow;\n const size = el._originStyle[sizeProperty];\n if (size != null) {\n el.style[sizeProperty] = size;\n }\n }\n delete el._originStyle;\n }\n\n function cacheSize(el: HTMLExpandElement) {\n if (relay && el) {\n const rect = el.getBoundingClientRect();\n cache.value = rect?.[sizeProperty];\n }\n }\n\n return {\n onBeforeEnter(el: HTMLExpandElement) {\n el._parent = el.parentNode as HTMLParentElement;\n el._originStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n flex: el.style.flex,\n };\n },\n onEnter(el: HTMLExpandElement) {\n const originStyle = el._originStyle;\n el.style.setProperty('transition', 'none', 'important');\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n const offsetSize = `${el[offsetProperty]}px`;\n if (relay && cache.value != null) {\n el.style[sizeProperty] = `${cache.value}px`;\n } else {\n el.style[sizeProperty] = '0';\n }\n el.getBoundingClientRect();\n el.style.transition = originStyle?.transition ?? '';\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offsetSize;\n });\n },\n onAfterEnter(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onEnterCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeave(el: HTMLExpandElement) {\n cacheSize(el);\n if (relay) {\n return;\n }\n el._originStyle = {\n transition: '',\n overflow: el.style.overflow,\n flex: el.style.flex,\n [sizeProperty]: el.style[sizeProperty],\n };\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n el.getBoundingClientRect();\n requestAnimationFrame(() => {\n el.style[sizeProperty] = '0';\n });\n },\n onAfterLeave(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeaveCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n };\n }\n\n return defineComponent({\n name,\n props: {\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n relay: Boolean,\n },\n setup(props, { slots }) {\n const cacheValue = ref<number | undefined>();\n return () =>\n h(\n Transition,\n {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.disabled\n ? {}\n : getExpandTransitionHooks(cacheValue, props.relay)),\n },\n slots.default,\n );\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"expand-transition.mjs","names":["Transition","defineComponent","h","ref","kebabToCamel","createExpandTransition","isHorizon","arguments","length","undefined","direction","name","sizeProperty","offsetProperty","getExpandTransitionHooks","cache","relay","resetStyle","el","_originStyle","style","overflow","flex","size","cacheSize","rect","getBoundingClientRect","value","onBeforeEnter","_parent","parentNode","transition","onEnter","originStyle","setProperty","offsetSize","requestAnimationFrame","onAfterEnter","onEnterCancelled","onLeave","onAfterLeave","onLeaveCancelled","props","disabled","type","Boolean","default","setup","_ref","slots","cacheValue","css"],"sources":["../../../src/components/transitions/expand-transition.ts"],"sourcesContent":["import {\n type PropType,\n type Ref,\n Transition,\n defineComponent,\n h,\n ref,\n} from 'vue';\n\nimport { kebabToCamel } from '@/util/string';\n\ntype HTMLParentElement = (Node & ParentNode & HTMLElement) | null;\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: HTMLParentElement;\n _originStyle?: {\n transition: string;\n overflow: string;\n height?: string | null;\n width?: string | null;\n flex: string;\n };\n}\n\nexport function createExpandTransition(isHorizon = false) {\n const direction = isHorizon ? 'h' : 'v';\n const name = `expand-${direction}-transition`;\n const sizeProperty = isHorizon ? 'width' : 'height';\n const offsetProperty = kebabToCamel(`offset-${sizeProperty}`) as\n | 'offsetWidth'\n | 'offsetHeight';\n\n function getExpandTransitionHooks(\n cache: Ref<number | undefined>,\n relay: boolean,\n ): Record<string, any> {\n function resetStyle(el: HTMLExpandElement) {\n if (el._originStyle) {\n el.style.overflow = el._originStyle.overflow;\n el.style.flex = el._originStyle.flex;\n const size = el._originStyle[sizeProperty];\n if (size != null) {\n el.style[sizeProperty] = size;\n }\n }\n delete el._originStyle;\n }\n\n function cacheSize(el: HTMLExpandElement) {\n if (relay && el) {\n const rect = el.getBoundingClientRect();\n cache.value = rect?.[sizeProperty];\n }\n }\n\n return {\n onBeforeEnter(el: HTMLExpandElement) {\n el._parent = el.parentNode as HTMLParentElement;\n el._originStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n flex: el.style.flex,\n };\n },\n onEnter(el: HTMLExpandElement) {\n const originStyle = el._originStyle;\n el.style.setProperty('transition', 'none', 'important');\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n const offsetSize = `${el[offsetProperty]}px`;\n if (relay && cache.value != null) {\n el.style[sizeProperty] = `${cache.value}px`;\n } else {\n el.style[sizeProperty] = '0';\n }\n el.getBoundingClientRect();\n el.style.transition = originStyle?.transition ?? '';\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offsetSize;\n });\n },\n onAfterEnter(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onEnterCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeave(el: HTMLExpandElement) {\n cacheSize(el);\n if (relay) {\n return;\n }\n el._originStyle = {\n transition: '',\n overflow: el.style.overflow,\n flex: el.style.flex,\n [sizeProperty]: el.style[sizeProperty],\n };\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n el.getBoundingClientRect();\n requestAnimationFrame(() => {\n el.style[sizeProperty] = '0';\n });\n },\n onAfterLeave(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeaveCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n };\n }\n\n return defineComponent({\n name,\n props: {\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n relay: Boolean,\n },\n setup(props, { slots }) {\n const cacheValue = ref<number | undefined>();\n return () =>\n h(\n Transition,\n {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.disabled\n ? {}\n : getExpandTransitionHooks(cacheValue, props.relay)),\n },\n slots.default,\n );\n },\n });\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.2.2-rc.0",
3
+ "version": "0.2.2-rc.2",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"