yuyeon 0.1.1-rc.10 → 0.1.1-rc.12

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.
@@ -1,12 +1,14 @@
1
1
  import { computed, getCurrentInstance, onBeforeUnmount, watch } from 'vue';
2
+ import { useYuyeon } from "../index.mjs";
2
3
  export const Y_LAYER_GROUP_CLASS_NAME = 'y-layer-group';
3
4
  const layerGroupState = new WeakMap();
4
5
  export function useLayerGroup(target) {
5
6
  const vm = getCurrentInstance();
7
+ const yuyeon = useYuyeon();
6
8
  const layerGroup = computed(() => {
7
9
  const refTarget = target?.value;
8
10
  let targetEl = document.body;
9
- const rootEl = vm.root.vnode.el?.parentElement;
11
+ const rootEl = yuyeon.root;
10
12
  if (rootEl) {
11
13
  targetEl = rootEl;
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layer-group.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","watch","Y_LAYER_GROUP_CLASS_NAME","layerGroupState","WeakMap","useLayerGroup","target","vm","layerGroup","refTarget","value","targetEl","document","body","rootEl","root","vnode","el","parentElement","querySelector","nodeType","layerEl","createElement","className","appendChild","neo","old","has","get","delete","set","Set","add","immediate","getActiveLayers","activeLayers","currentGroup","forEach","ctx","active","isUnmounted","push","unregister"],"sources":["../../src/composables/layer-group.ts"],"sourcesContent":["import {computed, getCurrentInstance, onBeforeUnmount, watch} from 'vue';\r\nimport type { Ref, ComponentInternalInstance } from 'vue';\r\n\r\nexport const Y_LAYER_GROUP_CLASS_NAME = 'y-layer-group';\r\n\r\nconst layerGroupState = new WeakMap<HTMLElement, Set<any>>();\r\n\r\nexport function useLayerGroup(target?: Ref<string | Element>) {\r\n const vm = getCurrentInstance()!;\r\n\r\n const layerGroup = computed<HTMLElement>(() => {\r\n const refTarget = target?.value;\r\n let targetEl: Element = document.body;\r\n\r\n const rootEl = vm.root.vnode.el?.parentElement as HTMLElement;\r\n if (rootEl) {\r\n targetEl = rootEl;\r\n }\r\n\r\n if (typeof refTarget === 'string') {\r\n const el = document.querySelector(refTarget);\r\n if (el) {\r\n targetEl = el;\r\n }\r\n }\r\n if (refTarget && (refTarget as Element).nodeType === 1) {\r\n targetEl = refTarget as Element;\r\n }\r\n //\r\n let layerEl = targetEl.querySelector(`.${Y_LAYER_GROUP_CLASS_NAME}`);\r\n if (!layerEl) {\r\n layerEl = document.createElement('div');\r\n layerEl.className = Y_LAYER_GROUP_CLASS_NAME;\r\n targetEl.appendChild(layerEl);\r\n }\r\n return layerEl as HTMLElement;\r\n });\r\n\r\n watch(\r\n layerGroup,\r\n (neo, old) => {\r\n if (old && layerGroupState.has(old)) {\r\n layerGroupState.get(old)?.delete(vm);\r\n }\r\n if (!(layerGroupState.has(neo) && layerGroupState.get(neo))) {\r\n layerGroupState.set(neo, new Set());\r\n }\r\n layerGroupState.get(neo)?.add(vm);\r\n },\r\n { immediate: true },\r\n );\r\n\r\n function getActiveLayers() {\r\n const activeLayers: ComponentInternalInstance[] = [];\r\n const currentGroup = layerGroupState.get(layerGroup.value);\r\n currentGroup?.forEach((value) => {\r\n if (value?.ctx?.active && !value?.isUnmounted) {\r\n activeLayers.push(value);\r\n }\r\n });\r\n return activeLayers;\r\n }\r\n\r\n function unregister() {\r\n layerGroupState.get(layerGroup.value)?.delete(vm);\r\n }\r\n\r\n onBeforeUnmount(() => {\r\n unregister();\r\n });\r\n\r\n return { layerGroup, layerGroupState, getActiveLayers };\r\n}\r\n"],"mappings":"AAAA,SAAQA,QAAQ,EAAEC,kBAAkB,EAAEC,eAAe,EAAEC,KAAK,QAAO,KAAK;AAGxE,OAAO,MAAMC,wBAAwB,GAAG,eAAe;AAEvD,MAAMC,eAAe,GAAG,IAAIC,OAAO,CAAwB,CAAC;AAE5D,OAAO,SAASC,aAAaA,CAACC,MAA8B,EAAE;EAC5D,MAAMC,EAAE,GAAGR,kBAAkB,CAAC,CAAE;EAEhC,MAAMS,UAAU,GAAGV,QAAQ,CAAc,MAAM;IAC7C,MAAMW,SAAS,GAAGH,MAAM,EAAEI,KAAK;IAC/B,IAAIC,QAAiB,GAAGC,QAAQ,CAACC,IAAI;IAErC,MAAMC,MAAM,GAAGP,EAAE,CAACQ,IAAI,CAACC,KAAK,CAACC,EAAE,EAAEC,aAA4B;IAC7D,IAAIJ,MAAM,EAAE;MACVH,QAAQ,GAAGG,MAAM;IACnB;IAEA,IAAI,OAAOL,SAAS,KAAK,QAAQ,EAAE;MACjC,MAAMQ,EAAE,GAAGL,QAAQ,CAACO,aAAa,CAACV,SAAS,CAAC;MAC5C,IAAIQ,EAAE,EAAE;QACNN,QAAQ,GAAGM,EAAE;MACf;IACF;IACA,IAAIR,SAAS,IAAKA,SAAS,CAAaW,QAAQ,KAAK,CAAC,EAAE;MACtDT,QAAQ,GAAGF,SAAoB;IACjC;IACA;IACA,IAAIY,OAAO,GAAGV,QAAQ,CAACQ,aAAa,CAAE,IAAGjB,wBAAyB,EAAC,CAAC;IACpE,IAAI,CAACmB,OAAO,EAAE;MACZA,OAAO,GAAGT,QAAQ,CAACU,aAAa,CAAC,KAAK,CAAC;MACvCD,OAAO,CAACE,SAAS,GAAGrB,wBAAwB;MAC5CS,QAAQ,CAACa,WAAW,CAACH,OAAO,CAAC;IAC/B;IACA,OAAOA,OAAO;EAChB,CAAC,CAAC;EAEFpB,KAAK,CACHO,UAAU,EACV,CAACiB,GAAG,EAAEC,GAAG,KAAK;IACZ,IAAIA,GAAG,IAAIvB,eAAe,CAACwB,GAAG,CAACD,GAAG,CAAC,EAAE;MACnCvB,eAAe,CAACyB,GAAG,CAACF,GAAG,CAAC,EAAEG,MAAM,CAACtB,EAAE,CAAC;IACtC;IACA,IAAI,EAAEJ,eAAe,CAACwB,GAAG,CAACF,GAAG,CAAC,IAAItB,eAAe,CAACyB,GAAG,CAACH,GAAG,CAAC,CAAC,EAAE;MAC3DtB,eAAe,CAAC2B,GAAG,CAACL,GAAG,EAAE,IAAIM,GAAG,CAAC,CAAC,CAAC;IACrC;IACA5B,eAAe,CAACyB,GAAG,CAACH,GAAG,CAAC,EAAEO,GAAG,CAACzB,EAAE,CAAC;EACnC,CAAC,EACD;IAAE0B,SAAS,EAAE;EAAK,CACpB,CAAC;EAED,SAASC,eAAeA,CAAA,EAAG;IACzB,MAAMC,YAAyC,GAAG,EAAE;IACpD,MAAMC,YAAY,GAAGjC,eAAe,CAACyB,GAAG,CAACpB,UAAU,CAACE,KAAK,CAAC;IAC1D0B,YAAY,EAAEC,OAAO,CAAE3B,KAAK,IAAK;MAC/B,IAAIA,KAAK,EAAE4B,GAAG,EAAEC,MAAM,IAAI,CAAC7B,KAAK,EAAE8B,WAAW,EAAE;QAC7CL,YAAY,CAACM,IAAI,CAAC/B,KAAK,CAAC;MAC1B;IACF,CAAC,CAAC;IACF,OAAOyB,YAAY;EACrB;EAEA,SAASO,UAAUA,CAAA,EAAG;IACpBvC,eAAe,CAACyB,GAAG,CAACpB,UAAU,CAACE,KAAK,CAAC,EAAEmB,MAAM,CAACtB,EAAE,CAAC;EACnD;EAEAP,eAAe,CAAC,MAAM;IACpB0C,UAAU,CAAC,CAAC;EACd,CAAC,CAAC;EAEF,OAAO;IAAElC,UAAU;IAAEL,eAAe;IAAE+B;EAAgB,CAAC;AACzD"}
1
+ {"version":3,"file":"layer-group.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","watch","useYuyeon","Y_LAYER_GROUP_CLASS_NAME","layerGroupState","WeakMap","useLayerGroup","target","vm","yuyeon","layerGroup","refTarget","value","targetEl","document","body","rootEl","root","el","querySelector","nodeType","layerEl","createElement","className","appendChild","neo","old","has","get","delete","set","Set","add","immediate","getActiveLayers","activeLayers","currentGroup","forEach","ctx","active","isUnmounted","push","unregister"],"sources":["../../src/composables/layer-group.ts"],"sourcesContent":["import {computed, getCurrentInstance, onBeforeUnmount, watch} from 'vue';\r\nimport type { Ref, ComponentInternalInstance } from 'vue';\r\nimport { useYuyeon } from '../index';\r\n\r\nexport const Y_LAYER_GROUP_CLASS_NAME = 'y-layer-group';\r\n\r\nconst layerGroupState = new WeakMap<HTMLElement, Set<any>>();\r\n\r\nexport function useLayerGroup(target?: Ref<string | Element>) {\r\n const vm = getCurrentInstance()!;\r\n const yuyeon = useYuyeon();\r\n\r\n const layerGroup = computed<HTMLElement>(() => {\r\n const refTarget = target?.value;\r\n let targetEl: Element = document.body;\r\n\r\n const rootEl = yuyeon.root;\r\n if (rootEl) {\r\n targetEl = rootEl;\r\n }\r\n\r\n if (typeof refTarget === 'string') {\r\n const el = document.querySelector(refTarget);\r\n if (el) {\r\n targetEl = el;\r\n }\r\n }\r\n if (refTarget && (refTarget as Element).nodeType === 1) {\r\n targetEl = refTarget as Element;\r\n }\r\n //\r\n let layerEl = targetEl.querySelector(`.${Y_LAYER_GROUP_CLASS_NAME}`);\r\n if (!layerEl) {\r\n layerEl = document.createElement('div');\r\n layerEl.className = Y_LAYER_GROUP_CLASS_NAME;\r\n targetEl.appendChild(layerEl);\r\n }\r\n return layerEl as HTMLElement;\r\n });\r\n\r\n watch(\r\n layerGroup,\r\n (neo, old) => {\r\n if (old && layerGroupState.has(old)) {\r\n layerGroupState.get(old)?.delete(vm);\r\n }\r\n if (!(layerGroupState.has(neo) && layerGroupState.get(neo))) {\r\n layerGroupState.set(neo, new Set());\r\n }\r\n layerGroupState.get(neo)?.add(vm);\r\n },\r\n { immediate: true },\r\n );\r\n\r\n function getActiveLayers() {\r\n const activeLayers: ComponentInternalInstance[] = [];\r\n const currentGroup = layerGroupState.get(layerGroup.value);\r\n currentGroup?.forEach((value) => {\r\n if (value?.ctx?.active && !value?.isUnmounted) {\r\n activeLayers.push(value);\r\n }\r\n });\r\n return activeLayers;\r\n }\r\n\r\n function unregister() {\r\n layerGroupState.get(layerGroup.value)?.delete(vm);\r\n }\r\n\r\n onBeforeUnmount(() => {\r\n unregister();\r\n });\r\n\r\n return { layerGroup, layerGroupState, getActiveLayers };\r\n}\r\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ export function refineListItems(props, items) {
19
19
  }
20
20
  export function refineListItem(props, item) {
21
21
  const hide = !!item?.hide;
22
- const disabled = !!item.disabled;
22
+ const disabled = !!item?.disabled;
23
23
  const text = getPropertyFromItem(item, props.itemText, item);
24
24
  const value = props.returnItem ? item : getPropertyFromItem(item, props.itemKey, text);
25
25
  const children = getPropertyFromItem(item, props.itemChildren);
@@ -1 +1 @@
1
- {"version":3,"file":"list-items.mjs","names":["computed","pressItemsPropsOptions","deepEqual","getPropertyFromItem","propsFactory","listItemsPropsOptions","itemKey","itemChildren","returnItem","Boolean","pressListItemsPropsOptions","refineListItems","props","items","ret","item","push","refineListItem","hide","disabled","text","itemText","value","children","Array","isArray","undefined","raw","useItems","toRefineItems","values","filter","v","some","map","found","find","toEmitItems","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["import type { ExtractPropTypes, Ref } from 'vue';\nimport { computed } from 'vue';\n\nimport { pressItemsPropsOptions } from '../abstract/items';\nimport { deepEqual, getPropertyFromItem } from '../util/common';\nimport { propsFactory } from '../util/vue-component';\n\nexport interface ListItem<T = any> {\n value: any;\n text: string;\n hide: boolean;\n disabled: boolean;\n props: {\n [key: string]: any;\n value: any;\n text: string;\n };\n children?: ListItem<T>[];\n raw: T;\n}\n\nconst listItemsPropsOptions = {\n ...pressItemsPropsOptions({\n itemKey: 'value',\n itemChildren: false,\n }),\n returnItem: Boolean,\n};\n\ntype ListItemProps = ExtractPropTypes<typeof listItemsPropsOptions>;\n\nexport const pressListItemsPropsOptions = propsFactory(\n listItemsPropsOptions,\n 'list-items',\n);\n\nexport function refineListItems(\n props: Omit<ListItemProps, 'items'>,\n items: any[],\n) {\n const ret: ListItem[] = [];\n for (const item of items) {\n ret.push(refineListItem(props, item));\n }\n return ret;\n}\n\nexport function refineListItem(\n props: Omit<ListItemProps, 'items'>,\n item: any,\n): ListItem {\n const hide = !!item?.hide;\n const disabled = !!item.disabled;\n const text = getPropertyFromItem(item, props.itemText, item);\n const value = props.returnItem\n ? item\n : getPropertyFromItem(item, props.itemKey, text);\n const children = getPropertyFromItem(item, props.itemChildren);\n\n return {\n value,\n text,\n hide,\n disabled,\n props: {\n value,\n text,\n },\n children: Array.isArray(children)\n ? refineListItems(props, children)\n : undefined,\n raw: item,\n };\n}\n\nexport function useItems(props: ListItemProps) {\n const items = computed(() => refineListItems(props, props.items));\n\n function toRefineItems(values: any[]) {\n return values\n .filter(\n (v) => v !== null || items.value.some((item) => item.value === null),\n )\n .map((v) => {\n const found = items.value.find((item) => deepEqual(v, item.value));\n return found ?? refineListItem(props, v);\n });\n }\n\n function toEmitItems(items: any[]) {\n return props.returnItem\n ? items.map(({ raw }) => raw)\n : items.map(({ value }) => value);\n }\n\n return {\n items,\n toEmitItems,\n toRefineItems,\n };\n}\n"],"mappings":"AACA,SAASA,QAAQ,QAAQ,KAAK;AAAC,SAEtBC,sBAAsB;AAAA,SACtBC,SAAS,EAAEC,mBAAmB;AAAA,SAC9BC,YAAY;AAgBrB,MAAMC,qBAAqB,GAAG;EAC5B,GAAGJ,sBAAsB,CAAC;IACxBK,OAAO,EAAE,OAAO;IAChBC,YAAY,EAAE;EAChB,CAAC,CAAC;EACFC,UAAU,EAAEC;AACd,CAAC;AAID,OAAO,MAAMC,0BAA0B,GAAGN,YAAY,CACpDC,qBAAqB,EACrB,YACF,CAAC;AAED,OAAO,SAASM,eAAeA,CAC7BC,KAAmC,EACnCC,KAAY,EACZ;EACA,MAAMC,GAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;IACxBC,GAAG,CAACE,IAAI,CAACC,cAAc,CAACL,KAAK,EAAEG,IAAI,CAAC,CAAC;EACvC;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASG,cAAcA,CAC5BL,KAAmC,EACnCG,IAAS,EACC;EACV,MAAMG,IAAI,GAAG,CAAC,CAACH,IAAI,EAAEG,IAAI;EACzB,MAAMC,QAAQ,GAAG,CAAC,CAACJ,IAAI,CAACI,QAAQ;EAChC,MAAMC,IAAI,GAAGjB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACS,QAAQ,EAAEN,IAAI,CAAC;EAC5D,MAAMO,KAAK,GAAGV,KAAK,CAACJ,UAAU,GAC1BO,IAAI,GACJZ,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACN,OAAO,EAAEc,IAAI,CAAC;EAClD,MAAMG,QAAQ,GAAGpB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACL,YAAY,CAAC;EAE9D,OAAO;IACLe,KAAK;IACLF,IAAI;IACJF,IAAI;IACJC,QAAQ;IACRP,KAAK,EAAE;MACLU,KAAK;MACLF;IACF,CAAC;IACDG,QAAQ,EAAEC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GAC7BZ,eAAe,CAACC,KAAK,EAAEW,QAAQ,CAAC,GAChCG,SAAS;IACbC,GAAG,EAAEZ;EACP,CAAC;AACH;AAEA,OAAO,SAASa,QAAQA,CAAChB,KAAoB,EAAE;EAC7C,MAAMC,KAAK,GAAGb,QAAQ,CAAC,MAAMW,eAAe,CAACC,KAAK,EAAEA,KAAK,CAACC,KAAK,CAAC,CAAC;EAEjE,SAASgB,aAAaA,CAACC,MAAa,EAAE;IACpC,OAAOA,MAAM,CACVC,MAAM,CACJC,CAAC,IAAKA,CAAC,KAAK,IAAI,IAAInB,KAAK,CAACS,KAAK,CAACW,IAAI,CAAElB,IAAI,IAAKA,IAAI,CAACO,KAAK,KAAK,IAAI,CACrE,CAAC,CACAY,GAAG,CAAEF,CAAC,IAAK;MACV,MAAMG,KAAK,GAAGtB,KAAK,CAACS,KAAK,CAACc,IAAI,CAAErB,IAAI,IAAKb,SAAS,CAAC8B,CAAC,EAAEjB,IAAI,CAACO,KAAK,CAAC,CAAC;MAClE,OAAOa,KAAK,IAAIlB,cAAc,CAACL,KAAK,EAAEoB,CAAC,CAAC;IAC1C,CAAC,CAAC;EACN;EAEA,SAASK,WAAWA,CAACxB,KAAY,EAAE;IACjC,OAAOD,KAAK,CAACJ,UAAU,GACnBK,KAAK,CAACqB,GAAG,CAACI,IAAA;MAAA,IAAC;QAAEX;MAAI,CAAC,GAAAW,IAAA;MAAA,OAAKX,GAAG;IAAA,EAAC,GAC3Bd,KAAK,CAACqB,GAAG,CAACK,KAAA;MAAA,IAAC;QAAEjB;MAAM,CAAC,GAAAiB,KAAA;MAAA,OAAKjB,KAAK;IAAA,EAAC;EACrC;EAEA,OAAO;IACLT,KAAK;IACLwB,WAAW;IACXR;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"list-items.mjs","names":["computed","pressItemsPropsOptions","deepEqual","getPropertyFromItem","propsFactory","listItemsPropsOptions","itemKey","itemChildren","returnItem","Boolean","pressListItemsPropsOptions","refineListItems","props","items","ret","item","push","refineListItem","hide","disabled","text","itemText","value","children","Array","isArray","undefined","raw","useItems","toRefineItems","values","filter","v","some","map","found","find","toEmitItems","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["import type { ExtractPropTypes, Ref } from 'vue';\nimport { computed } from 'vue';\n\nimport { pressItemsPropsOptions } from '../abstract/items';\nimport { deepEqual, getPropertyFromItem } from '../util/common';\nimport { propsFactory } from '../util/vue-component';\n\nexport interface ListItem<T = any> {\n value: any;\n text: string;\n hide: boolean;\n disabled: boolean;\n props: {\n [key: string]: any;\n value: any;\n text: string;\n };\n children?: ListItem<T>[];\n raw: T;\n}\n\nconst listItemsPropsOptions = {\n ...pressItemsPropsOptions({\n itemKey: 'value',\n itemChildren: false,\n }),\n returnItem: Boolean,\n};\n\ntype ListItemProps = ExtractPropTypes<typeof listItemsPropsOptions>;\n\nexport const pressListItemsPropsOptions = propsFactory(\n listItemsPropsOptions,\n 'list-items',\n);\n\nexport function refineListItems(\n props: Omit<ListItemProps, 'items'>,\n items: any[],\n) {\n const ret: ListItem[] = [];\n for (const item of items) {\n ret.push(refineListItem(props, item));\n }\n return ret;\n}\n\nexport function refineListItem(\n props: Omit<ListItemProps, 'items'>,\n item: any,\n): ListItem {\n const hide = !!item?.hide;\n const disabled = !!item?.disabled;\n const text = getPropertyFromItem(item, props.itemText, item);\n const value = props.returnItem\n ? item\n : getPropertyFromItem(item, props.itemKey, text);\n const children = getPropertyFromItem(item, props.itemChildren);\n\n return {\n value,\n text,\n hide,\n disabled,\n props: {\n value,\n text,\n },\n children: Array.isArray(children)\n ? refineListItems(props, children)\n : undefined,\n raw: item,\n };\n}\n\nexport function useItems(props: ListItemProps) {\n const items = computed(() => refineListItems(props, props.items));\n\n function toRefineItems(values: any[]) {\n return values\n .filter(\n (v) => v !== null || items.value.some((item) => item.value === null),\n )\n .map((v) => {\n const found = items.value.find((item) => deepEqual(v, item.value));\n return found ?? refineListItem(props, v);\n });\n }\n\n function toEmitItems(items: any[]) {\n return props.returnItem\n ? items.map(({ raw }) => raw)\n : items.map(({ value }) => value);\n }\n\n return {\n items,\n toEmitItems,\n toRefineItems,\n };\n}\n"],"mappings":"AACA,SAASA,QAAQ,QAAQ,KAAK;AAAC,SAEtBC,sBAAsB;AAAA,SACtBC,SAAS,EAAEC,mBAAmB;AAAA,SAC9BC,YAAY;AAgBrB,MAAMC,qBAAqB,GAAG;EAC5B,GAAGJ,sBAAsB,CAAC;IACxBK,OAAO,EAAE,OAAO;IAChBC,YAAY,EAAE;EAChB,CAAC,CAAC;EACFC,UAAU,EAAEC;AACd,CAAC;AAID,OAAO,MAAMC,0BAA0B,GAAGN,YAAY,CACpDC,qBAAqB,EACrB,YACF,CAAC;AAED,OAAO,SAASM,eAAeA,CAC7BC,KAAmC,EACnCC,KAAY,EACZ;EACA,MAAMC,GAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;IACxBC,GAAG,CAACE,IAAI,CAACC,cAAc,CAACL,KAAK,EAAEG,IAAI,CAAC,CAAC;EACvC;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASG,cAAcA,CAC5BL,KAAmC,EACnCG,IAAS,EACC;EACV,MAAMG,IAAI,GAAG,CAAC,CAACH,IAAI,EAAEG,IAAI;EACzB,MAAMC,QAAQ,GAAG,CAAC,CAACJ,IAAI,EAAEI,QAAQ;EACjC,MAAMC,IAAI,GAAGjB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACS,QAAQ,EAAEN,IAAI,CAAC;EAC5D,MAAMO,KAAK,GAAGV,KAAK,CAACJ,UAAU,GAC1BO,IAAI,GACJZ,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACN,OAAO,EAAEc,IAAI,CAAC;EAClD,MAAMG,QAAQ,GAAGpB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACL,YAAY,CAAC;EAE9D,OAAO;IACLe,KAAK;IACLF,IAAI;IACJF,IAAI;IACJC,QAAQ;IACRP,KAAK,EAAE;MACLU,KAAK;MACLF;IACF,CAAC;IACDG,QAAQ,EAAEC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GAC7BZ,eAAe,CAACC,KAAK,EAAEW,QAAQ,CAAC,GAChCG,SAAS;IACbC,GAAG,EAAEZ;EACP,CAAC;AACH;AAEA,OAAO,SAASa,QAAQA,CAAChB,KAAoB,EAAE;EAC7C,MAAMC,KAAK,GAAGb,QAAQ,CAAC,MAAMW,eAAe,CAACC,KAAK,EAAEA,KAAK,CAACC,KAAK,CAAC,CAAC;EAEjE,SAASgB,aAAaA,CAACC,MAAa,EAAE;IACpC,OAAOA,MAAM,CACVC,MAAM,CACJC,CAAC,IAAKA,CAAC,KAAK,IAAI,IAAInB,KAAK,CAACS,KAAK,CAACW,IAAI,CAAElB,IAAI,IAAKA,IAAI,CAACO,KAAK,KAAK,IAAI,CACrE,CAAC,CACAY,GAAG,CAAEF,CAAC,IAAK;MACV,MAAMG,KAAK,GAAGtB,KAAK,CAACS,KAAK,CAACc,IAAI,CAAErB,IAAI,IAAKb,SAAS,CAAC8B,CAAC,EAAEjB,IAAI,CAACO,KAAK,CAAC,CAAC;MAClE,OAAOa,KAAK,IAAIlB,cAAc,CAACL,KAAK,EAAEoB,CAAC,CAAC;IAC1C,CAAC,CAAC;EACN;EAEA,SAASK,WAAWA,CAACxB,KAAY,EAAE;IACjC,OAAOD,KAAK,CAACJ,UAAU,GACnBK,KAAK,CAACqB,GAAG,CAACI,IAAA;MAAA,IAAC;QAAEX;MAAI,CAAC,GAAAW,IAAA;MAAA,OAAKX,GAAG;IAAA,EAAC,GAC3Bd,KAAK,CAACqB,GAAG,CAACK,KAAA;MAAA,IAAC;QAAEjB;MAAM,CAAC,GAAAiB,KAAA;MAAA,OAAKjB,KAAK;IAAA,EAAC;EACrC;EAEA,OAAO;IACLT,KAAK;IACLwB,WAAW;IACXR;EACF,CAAC;AACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.1.1-rc.10",
3
+ "version": "0.1.1-rc.12",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"