yuyeon 0.0.19 → 0.0.21
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.
- package/dist/yuyeon.js +1893 -1785
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/layer/YLayer.mjs +26 -3
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/layer/active-delay.mjs +28 -0
- package/lib/components/layer/active-delay.mjs.map +1 -0
- package/lib/components/layer/active-stack.mjs +50 -0
- package/lib/components/layer/active-stack.mjs.map +1 -0
- package/lib/components/menu/YMenu.mjs +36 -11
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/tab/YTab.mjs.map +1 -1
- package/lib/components/tab/YTabs.mjs.map +1 -1
- package/lib/components/tab/index.mjs.map +1 -1
- package/lib/composables/choice.mjs +186 -0
- package/lib/composables/choice.mjs.map +1 -0
- package/lib/util/dom.mjs +12 -0
- package/lib/util/dom.mjs.map +1 -1
- package/lib/util/vue-component.mjs.map +1 -1
- package/package.json +108 -108
- package/types/components/dialog/YDialog.d.ts +28 -0
- package/types/components/layer/YLayer.d.ts +61 -0
- package/types/components/layer/active-delay.d.ts +4 -0
- package/types/components/layer/active-stack.d.ts +16 -0
- package/types/components/menu/YMenu.d.ts +71 -10
- package/types/components/tab/YTab.d.ts +7 -0
- package/types/components/tab/YTabs.d.ts +15 -0
- package/types/components/tab/index.d.ts +2 -0
- package/types/components/tooltip/YTooltip.d.ts +29 -1
- package/types/util/dom.d.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"choice.mjs","names":["computed","getCurrentInstance","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","wrapInArray","deepEqual","findChildrenWithProvide","getUid","propsFactory","useModelDuplex","pressChoicePropsOptions","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","pressChoiceItemPropsOptions","value","useChoiceItem","props","injectKey","required","arguments","length","vm","Error","id","Symbol","for","description","choiceProvider","register","unregister","isSelected","emit","toggle","select","provider","useChoice","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","forEach","itemByIndex","values","itemIndex"],"sources":["../../src/composables/choice.ts"],"sourcesContent":["import type {\n ComponentInternalInstance,\n ComputedRef,\n ExtractPropTypes,\n InjectionKey,\n PropType,\n Ref,\n UnwrapRef,\n} from 'vue';\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n toRef,\n watch,\n} from 'vue';\n\nimport { wrapInArray } from '../util/array';\nimport { deepEqual } from '../util/common';\nimport {\n findChildrenWithProvide,\n getUid,\n propsFactory,\n} from '../util/vue-component';\nimport { useModelDuplex } from './communication';\n\nexport interface ChoiceItem {\n id: number;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n}\n\nexport interface ChoiceProps {\n disabled: boolean;\n modelValue: unknown;\n multiple?: boolean;\n mandatory?: boolean | 'force' | undefined;\n max?: number | undefined;\n selectedClass: string | undefined;\n 'onUpdate:modelValue': ((value: unknown) => void) | undefined;\n}\n\nexport interface ChoiceProvide {\n register: (item: ChoiceItem, instance: ComponentInternalInstance) => void;\n unregister: (id: number) => void;\n select: (id: number, value: boolean) => void;\n selected: Ref<Readonly<number[]>>;\n selectedClass: Ref<string | undefined>;\n isSelected: (id: number) => boolean;\n disabled: Ref<boolean | undefined>;\n getItemIndex: (value: unknown) => number;\n prev: () => void;\n next: () => void;\n items: ComputedRef<\n { id: number; value: unknown; disabled: boolean | undefined }[]\n >;\n}\n\nexport interface ChoiceItemProvide {\n id: number;\n isSelected: Ref<boolean>;\n toggle: () => void;\n select: (value: boolean) => void;\n selectedClass: Ref<(string | undefined)[] | false>;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n provider: ChoiceProvide;\n}\n\nexport const pressChoicePropsOptions = propsFactory(\n {\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n },\n 'choice',\n);\n\nexport const pressChoiceItemPropsOptions = propsFactory(\n {\n value: null,\n disabled: Boolean,\n selectedClass: String,\n },\n 'choice-item',\n);\n\nexport interface ChoiceItemProps\n extends ExtractPropTypes<ReturnType<typeof pressChoiceItemPropsOptions>> {\n 'onChoice:selected': ((val: { value: boolean }) => void) | undefined;\n}\n\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required?: true,\n): ChoiceItemProvide;\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required: false,\n): ChoiceItemProvide | null;\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required = true,\n): ChoiceItemProvide | null {\n const vm = getCurrentInstance();\n\n if (!vm) {\n throw new Error(\n '\"useChoiceItem\" must be used inside a component setup function',\n );\n }\n\n const id = getUid() as number;\n\n provide(Symbol.for(`${injectKey.description}:id`), id);\n\n const choiceProvider = inject(injectKey, null);\n\n if (!choiceProvider) {\n if (!required) return choiceProvider as null;\n\n throw new Error(`Not found provider`);\n }\n\n const value = toRef(props, 'value');\n const disabled = computed(\n () => !!(choiceProvider.disabled.value || props.disabled),\n );\n\n choiceProvider.register(\n {\n id,\n value,\n disabled,\n },\n vm,\n );\n\n onBeforeUnmount(() => {\n choiceProvider.unregister(id);\n });\n\n const isSelected = computed(() => {\n return choiceProvider.isSelected(id);\n });\n\n const selectedClass = computed(\n () =>\n isSelected.value && [\n choiceProvider.selectedClass.value,\n props.selectedClass,\n ],\n );\n\n watch(isSelected, (value) => {\n vm.emit('group:selected', { value });\n });\n\n return {\n id,\n isSelected,\n toggle: () => choiceProvider.select(id, !isSelected.value),\n select: (value: boolean) => choiceProvider.select(id, value),\n selectedClass,\n value,\n disabled,\n provider: choiceProvider,\n };\n}\n\nexport function useChoice(\n props: ChoiceProps,\n injectKey: InjectionKey<ChoiceProvide>,\n) {\n let isUnmounted = false;\n const items = reactive<ChoiceItem[]>([]);\n const selected = useModelDuplex(\n props,\n 'modelValue',\n [],\n (v) => {\n if (v == null) return [];\n\n return getIds(items, wrapInArray(v));\n },\n (v) => {\n const arr = getValues(items, v);\n\n return props.multiple ? arr : arr[0];\n },\n );\n\n const groupVm = getCurrentInstance();\n\n function register(item: ChoiceItem, vm: ComponentInternalInstance) {\n const unwrapped = item as unknown as UnwrapRef<ChoiceItem>;\n\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n\n function unregister(id: number) {\n if (isUnmounted) return;\n forceMandatoryValue();\n const index = items.findIndex((item) => item.id === id);\n items.splice(index, 1);\n }\n\n function forceMandatoryValue() {\n const item = items.find((item) => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n\n onMounted(() => {\n forceMandatoryValue();\n });\n\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n\n function select(id: number, value?: boolean) {\n const item = items.find((item) => item.id === id);\n if (value && item?.disabled) return;\n\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex((v: any) => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n )\n return;\n\n if (index < 0 && value) internalValue.push(id);\n else if (index >= 0 && !value) internalValue.splice(index, 1);\n\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n\n function step(offset: number) {\n if (props.multiple) {\n }\n\n if (!selected.value.length) {\n const item = items.find((item) => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex((i) => i.id === currentId);\n\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n\n if (newItem.disabled) return;\n\n selected.value = [items[newIndex].id];\n }\n }\n\n const state: ChoiceProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n };\n\n provide(injectKey, state);\n\n return state;\n}\n\nfunction getItemIndex(items: UnwrapRef<ChoiceItem[]>, value: unknown) {\n const ids = getIds(items, [value]);\n\n if (!ids.length) return -1;\n\n return items.findIndex((item) => item.id === ids[0]);\n}\n\nfunction getIds(items: UnwrapRef<ChoiceItem[]>, modelValue: any[]) {\n const ids: number[] = [];\n\n modelValue.forEach((value) => {\n const item = items.find((item) => deepEqual(value, item.value));\n const itemByIndex = items[value];\n\n if (item?.value != null) {\n ids.push(item.id);\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id);\n }\n });\n\n return ids;\n}\n\nfunction getValues(items: UnwrapRef<ChoiceItem[]>, ids: any[]) {\n const values: unknown[] = [];\n\n ids.forEach((id) => {\n const itemIndex = items.findIndex((item) => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value != null ? item.value : itemIndex);\n }\n });\n\n return values;\n}\n"],"mappings":"AASA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,MAAM,EACNC,eAAe,EACfC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,KAAK,EACLC,KAAK,QACA,KAAK;AAAC,SAEJC,WAAW;AAAA,SACXC,SAAS;AAAA,SAEhBC,uBAAuB,EACvBC,MAAM,EACNC,YAAY;AAAA,SAELC,cAAc;AA6CvB,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CACjD;EACEG,UAAU,EAAE;IACVC,IAAI,EAAE,IAAI;IACVC,OAAO,EAAEC;EACX,CAAC;EACDC,QAAQ,EAAEC,OAAO;EACjBC,SAAS,EAAE,CAACD,OAAO,EAAEE,MAAM,CAAgC;EAC3DC,GAAG,EAAEC,MAAM;EACXC,aAAa,EAAEH,MAAM;EACrBI,QAAQ,EAAEN;AACZ,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMO,2BAA2B,GAAGf,YAAY,CACrD;EACEgB,KAAK,EAAE,IAAI;EACXF,QAAQ,EAAEN,OAAO;EACjBK,aAAa,EAAEH;AACjB,CAAC,EACD,aACF,CAAC;AAiBD,OAAO,SAASO,aAAaA,CAC3BC,KAAsB,EACtBC,SAAsC,EAEZ;EAAA,IAD1BC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAf,SAAA,GAAAe,SAAA,MAAG,IAAI;EAEf,MAAME,EAAE,GAAGnC,kBAAkB,CAAC,CAAC;EAE/B,IAAI,CAACmC,EAAE,EAAE;IACP,MAAM,IAAIC,KAAK,CACb,gEACF,CAAC;EACH;EAEA,MAAMC,EAAE,GAAG1B,MAAM,CAAC,CAAW;EAE7BP,OAAO,CAACkC,MAAM,CAACC,GAAG,CAAE,GAAER,SAAS,CAACS,WAAY,KAAI,CAAC,EAAEH,EAAE,CAAC;EAEtD,MAAMI,cAAc,GAAGxC,MAAM,CAAC8B,SAAS,EAAE,IAAI,CAAC;EAE9C,IAAI,CAACU,cAAc,EAAE;IACnB,IAAI,CAACT,QAAQ,EAAE,OAAOS,cAAc;IAEpC,MAAM,IAAIL,KAAK,CAAE,oBAAmB,CAAC;EACvC;EAEA,MAAMR,KAAK,GAAGtB,KAAK,CAACwB,KAAK,EAAE,OAAO,CAAC;EACnC,MAAMJ,QAAQ,GAAG3B,QAAQ,CACvB,MAAM,CAAC,EAAE0C,cAAc,CAACf,QAAQ,CAACE,KAAK,IAAIE,KAAK,CAACJ,QAAQ,CAC1D,CAAC;EAEDe,cAAc,CAACC,QAAQ,CACrB;IACEL,EAAE;IACFT,KAAK;IACLF;EACF,CAAC,EACDS,EACF,CAAC;EAEDjC,eAAe,CAAC,MAAM;IACpBuC,cAAc,CAACE,UAAU,CAACN,EAAE,CAAC;EAC/B,CAAC,CAAC;EAEF,MAAMO,UAAU,GAAG7C,QAAQ,CAAC,MAAM;IAChC,OAAO0C,cAAc,CAACG,UAAU,CAACP,EAAE,CAAC;EACtC,CAAC,CAAC;EAEF,MAAMZ,aAAa,GAAG1B,QAAQ,CAC5B,MACE6C,UAAU,CAAChB,KAAK,IAAI,CAClBa,cAAc,CAAChB,aAAa,CAACG,KAAK,EAClCE,KAAK,CAACL,aAAa,CAEzB,CAAC;EAEDlB,KAAK,CAACqC,UAAU,EAAGhB,KAAK,IAAK;IAC3BO,EAAE,CAACU,IAAI,CAAC,gBAAgB,EAAE;MAAEjB;IAAM,CAAC,CAAC;EACtC,CAAC,CAAC;EAEF,OAAO;IACLS,EAAE;IACFO,UAAU;IACVE,MAAM,EAAEA,CAAA,KAAML,cAAc,CAACM,MAAM,CAACV,EAAE,EAAE,CAACO,UAAU,CAAChB,KAAK,CAAC;IAC1DmB,MAAM,EAAGnB,KAAc,IAAKa,cAAc,CAACM,MAAM,CAACV,EAAE,EAAET,KAAK,CAAC;IAC5DH,aAAa;IACbG,KAAK;IACLF,QAAQ;IACRsB,QAAQ,EAAEP;EACZ,CAAC;AACH;AAEA,OAAO,SAASQ,SAASA,CACvBnB,KAAkB,EAClBC,SAAsC,EACtC;EACA,IAAImB,WAAW,GAAG,KAAK;EACvB,MAAMC,KAAK,GAAG9C,QAAQ,CAAe,EAAE,CAAC;EACxC,MAAM+C,QAAQ,GAAGvC,cAAc,CAC7BiB,KAAK,EACL,YAAY,EACZ,EAAE,EACDuB,CAAC,IAAK;IACL,IAAIA,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE;IAExB,OAAOC,MAAM,CAACH,KAAK,EAAE3C,WAAW,CAAC6C,CAAC,CAAC,CAAC;EACtC,CAAC,EACAA,CAAC,IAAK;IACL,MAAME,GAAG,GAAGC,SAAS,CAACL,KAAK,EAAEE,CAAC,CAAC;IAE/B,OAAOvB,KAAK,CAACX,QAAQ,GAAGoC,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC;EACtC,CACF,CAAC;EAED,MAAME,OAAO,GAAGzD,kBAAkB,CAAC,CAAC;EAEpC,SAAS0C,QAAQA,CAACgB,IAAgB,EAAEvB,EAA6B,EAAE;IACjE,MAAMwB,SAAS,GAAGD,IAAwC;IAE1D,MAAME,GAAG,GAAGtB,MAAM,CAACC,GAAG,CAAE,GAAER,SAAS,CAACS,WAAY,KAAI,CAAC;IACrD,MAAMqB,QAAQ,GAAGnD,uBAAuB,CAACkD,GAAG,EAAEH,OAAO,EAAEK,KAAK,CAAC;IAC7D,MAAMC,KAAK,GAAGF,QAAQ,CAACG,OAAO,CAAC7B,EAAE,CAAC;IAElC,IAAI4B,KAAK,GAAG,CAAC,CAAC,EAAE;MACdZ,KAAK,CAACc,MAAM,CAACF,KAAK,EAAE,CAAC,EAAEJ,SAAS,CAAC;IACnC,CAAC,MAAM;MACLR,KAAK,CAACe,IAAI,CAACP,SAAS,CAAC;IACvB;EACF;EAEA,SAAShB,UAAUA,CAACN,EAAU,EAAE;IAC9B,IAAIa,WAAW,EAAE;IACjBiB,mBAAmB,CAAC,CAAC;IACrB,MAAMJ,KAAK,GAAGZ,KAAK,CAACiB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAKA,EAAE,CAAC;IACvDc,KAAK,CAACc,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;EACxB;EAEA,SAASI,mBAAmBA,CAAA,EAAG;IAC7B,MAAMT,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAK,CAACA,IAAI,CAAChC,QAAQ,CAAC;IACjD,IAAIgC,IAAI,IAAI5B,KAAK,CAACT,SAAS,KAAK,OAAO,IAAI,CAAC+B,QAAQ,CAACxB,KAAK,CAACM,MAAM,EAAE;MACjEkB,QAAQ,CAACxB,KAAK,GAAG,CAAC8B,IAAI,CAACrB,EAAE,CAAC;IAC5B;EACF;EAEAlC,SAAS,CAAC,MAAM;IACdgE,mBAAmB,CAAC,CAAC;EACvB,CAAC,CAAC;EAEFjE,eAAe,CAAC,MAAM;IACpBgD,WAAW,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,SAASH,MAAMA,CAACV,EAAU,EAAET,KAAe,EAAE;IAC3C,MAAM8B,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAKA,EAAE,CAAC;IACjD,IAAIT,KAAK,IAAI8B,IAAI,EAAEhC,QAAQ,EAAE;IAE7B,IAAII,KAAK,CAACX,QAAQ,EAAE;MAClB,MAAMmD,aAAa,GAAGlB,QAAQ,CAACxB,KAAK,CAAC2C,KAAK,CAAC,CAAC;MAC5C,MAAMR,KAAK,GAAGO,aAAa,CAACF,SAAS,CAAEf,CAAM,IAAKA,CAAC,KAAKhB,EAAE,CAAC;MAC3D,MAAMO,UAAU,GAAG,CAACmB,KAAK;MACzBnC,KAAK,GAAGA,KAAK,IAAI,CAACgB,UAAU;MAC5B,IAAIA,UAAU,IAAId,KAAK,CAACT,SAAS,IAAIiD,aAAa,CAACpC,MAAM,IAAI,CAAC,EAAE;MAChE,IACE,CAACU,UAAU,IACXd,KAAK,CAACP,GAAG,IAAI,IAAI,IACjB+C,aAAa,CAACpC,MAAM,GAAG,CAAC,GAAGJ,KAAK,CAACP,GAAG,EAEpC;MAEF,IAAIwC,KAAK,GAAG,CAAC,IAAInC,KAAK,EAAE0C,aAAa,CAACJ,IAAI,CAAC7B,EAAE,CAAC,CAAC,KAC1C,IAAI0B,KAAK,IAAI,CAAC,IAAI,CAACnC,KAAK,EAAE0C,aAAa,CAACL,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAE7DX,QAAQ,CAACxB,KAAK,GAAG0C,aAAa;IAChC,CAAC,MAAM;MACL,MAAM1B,UAAU,GAAGQ,QAAQ,CAACxB,KAAK,CAAC4C,QAAQ,CAACnC,EAAE,CAAC;MAC9C,IAAIP,KAAK,CAACT,SAAS,IAAIuB,UAAU,EAAE;MAEnCQ,QAAQ,CAACxB,KAAK,GAAGA,KAAK,IAAI,CAACgB,UAAU,GAAG,CAACP,EAAE,CAAC,GAAG,EAAE;IACnD;EACF;EAEA,SAASoC,IAAIA,CAACC,MAAc,EAAE;IAC5B,IAAI5C,KAAK,CAACX,QAAQ,EAAE,CACpB;IAEA,IAAI,CAACiC,QAAQ,CAACxB,KAAK,CAACM,MAAM,EAAE;MAC1B,MAAMwB,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAK,CAACA,IAAI,CAAChC,QAAQ,CAAC;MACjDgC,IAAI,KAAKN,QAAQ,CAACxB,KAAK,GAAG,CAAC8B,IAAI,CAACrB,EAAE,CAAC,CAAC;IACtC,CAAC,MAAM;MACL,MAAMsC,SAAS,GAAGvB,QAAQ,CAACxB,KAAK,CAAC,CAAC,CAAC;MACnC,MAAMgD,YAAY,GAAGzB,KAAK,CAACiB,SAAS,CAAES,CAAC,IAAKA,CAAC,CAACxC,EAAE,KAAKsC,SAAS,CAAC;MAE/D,IAAIG,QAAQ,GAAG,CAACF,YAAY,GAAGF,MAAM,IAAIvB,KAAK,CAACjB,MAAM;MACrD,IAAI6C,OAAO,GAAG5B,KAAK,CAAC2B,QAAQ,CAAC;MAE7B,OAAOC,OAAO,CAACrD,QAAQ,IAAIoD,QAAQ,KAAKF,YAAY,EAAE;QACpDE,QAAQ,GAAG,CAACA,QAAQ,GAAGJ,MAAM,IAAIvB,KAAK,CAACjB,MAAM;QAC7C6C,OAAO,GAAG5B,KAAK,CAAC2B,QAAQ,CAAC;MAC3B;MAEA,IAAIC,OAAO,CAACrD,QAAQ,EAAE;MAEtB0B,QAAQ,CAACxB,KAAK,GAAG,CAACuB,KAAK,CAAC2B,QAAQ,CAAC,CAACzC,EAAE,CAAC;IACvC;EACF;EAEA,MAAM2C,KAAoB,GAAG;IAC3BtC,QAAQ;IACRC,UAAU;IACVS,QAAQ;IACRL,MAAM;IACNrB,QAAQ,EAAEpB,KAAK,CAACwB,KAAK,EAAE,UAAU,CAAC;IAClCmD,IAAI,EAAEA,CAAA,KAAMR,IAAI,CAACtB,KAAK,CAACjB,MAAM,GAAG,CAAC,CAAC;IAClCgD,IAAI,EAAEA,CAAA,KAAMT,IAAI,CAAC,CAAC,CAAC;IACnB7B,UAAU,EAAGP,EAAU,IAAKe,QAAQ,CAACxB,KAAK,CAAC4C,QAAQ,CAACnC,EAAE,CAAC;IACvDZ,aAAa,EAAE1B,QAAQ,CAAC,MAAM+B,KAAK,CAACL,aAAa,CAAC;IAClD0B,KAAK,EAAEpD,QAAQ,CAAC,MAAMoD,KAAK,CAAC;IAC5BgC,YAAY,EAAGvD,KAAc,IAAKuD,YAAY,CAAChC,KAAK,EAAEvB,KAAK;EAC7D,CAAC;EAEDxB,OAAO,CAAC2B,SAAS,EAAEiD,KAAK,CAAC;EAEzB,OAAOA,KAAK;AACd;AAEA,SAASG,YAAYA,CAAChC,KAA8B,EAAEvB,KAAc,EAAE;EACpE,MAAMwD,GAAG,GAAG9B,MAAM,CAACH,KAAK,EAAE,CAACvB,KAAK,CAAC,CAAC;EAElC,IAAI,CAACwD,GAAG,CAAClD,MAAM,EAAE,OAAO,CAAC,CAAC;EAE1B,OAAOiB,KAAK,CAACiB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAK+C,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD;AAEA,SAAS9B,MAAMA,CAACH,KAA8B,EAAEpC,UAAiB,EAAE;EACjE,MAAMqE,GAAa,GAAG,EAAE;EAExBrE,UAAU,CAACsE,OAAO,CAAEzD,KAAK,IAAK;IAC5B,MAAM8B,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAKjD,SAAS,CAACmB,KAAK,EAAE8B,IAAI,CAAC9B,KAAK,CAAC,CAAC;IAC/D,MAAM0D,WAAW,GAAGnC,KAAK,CAACvB,KAAK,CAAC;IAEhC,IAAI8B,IAAI,EAAE9B,KAAK,IAAI,IAAI,EAAE;MACvBwD,GAAG,CAAClB,IAAI,CAACR,IAAI,CAACrB,EAAE,CAAC;IACnB,CAAC,MAAM,IAAIiD,WAAW,IAAI,IAAI,EAAE;MAC9BF,GAAG,CAAClB,IAAI,CAACoB,WAAW,CAACjD,EAAE,CAAC;IAC1B;EACF,CAAC,CAAC;EAEF,OAAO+C,GAAG;AACZ;AAEA,SAAS5B,SAASA,CAACL,KAA8B,EAAEiC,GAAU,EAAE;EAC7D,MAAMG,MAAiB,GAAG,EAAE;EAE5BH,GAAG,CAACC,OAAO,CAAEhD,EAAE,IAAK;IAClB,MAAMmD,SAAS,GAAGrC,KAAK,CAACiB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAKA,EAAE,CAAC;IAC3D,IAAI,CAACmD,SAAS,EAAE;MACd,MAAM9B,IAAI,GAAGP,KAAK,CAACqC,SAAS,CAAC;MAC7BD,MAAM,CAACrB,IAAI,CAACR,IAAI,CAAC9B,KAAK,IAAI,IAAI,GAAG8B,IAAI,CAAC9B,KAAK,GAAG4D,SAAS,CAAC;IAC1D;EACF,CAAC,CAAC;EAEF,OAAOD,MAAM;AACf"}
|
package/lib/util/dom.mjs
CHANGED
|
@@ -5,4 +5,16 @@ export function documentRoot(domNode) {
|
|
|
5
5
|
}) !== document) return null;
|
|
6
6
|
return root;
|
|
7
7
|
}
|
|
8
|
+
export function hasElementMouseEvent(mouseEvent, element, include) {
|
|
9
|
+
if (!mouseEvent) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const root = documentRoot(element);
|
|
13
|
+
if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot && root.host === mouseEvent.target) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const elements = include ?? [];
|
|
17
|
+
elements.push(element);
|
|
18
|
+
return !elements.some(el => el?.contains(mouseEvent.target));
|
|
19
|
+
}
|
|
8
20
|
//# sourceMappingURL=dom.mjs.map
|
package/lib/util/dom.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.mjs","names":["documentRoot","domNode","root","getRootNode","document","composed"],"sources":["../../src/util/dom.ts"],"sourcesContent":["export function documentRoot(domNode: Node): null | HTMLDocument | ShadowRoot {\n const root = domNode.getRootNode();\n if (root !== document && root.getRootNode({ composed: true }) !== document)\n return null;\n return root as HTMLDocument | ShadowRoot;\n}\n"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAACC,OAAa,EAAoC;EAC5E,MAAMC,IAAI,GAAGD,OAAO,CAACE,WAAW,CAAC,CAAC;EAClC,IAAID,IAAI,KAAKE,QAAQ,IAAIF,IAAI,CAACC,WAAW,CAAC;IAAEE,QAAQ,EAAE;EAAK,CAAC,CAAC,KAAKD,QAAQ,EACxE,OAAO,IAAI;EACb,OAAOF,IAAI;AACb"}
|
|
1
|
+
{"version":3,"file":"dom.mjs","names":["documentRoot","domNode","root","getRootNode","document","composed","hasElementMouseEvent","mouseEvent","element","include","ShadowRoot","host","target","elements","push","some","el","contains"],"sources":["../../src/util/dom.ts"],"sourcesContent":["export function documentRoot(domNode: Node): null | HTMLDocument | ShadowRoot {\n const root = domNode.getRootNode();\n if (root !== document && root.getRootNode({ composed: true }) !== document)\n return null;\n return root as HTMLDocument | ShadowRoot;\n}\n\nexport function hasElementMouseEvent(\n mouseEvent: Event,\n element: HTMLElement,\n include?: HTMLElement[],\n): boolean {\n if (!mouseEvent) {\n return false;\n }\n const root = documentRoot(element);\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === mouseEvent.target\n ) {\n return false;\n }\n const elements = include ?? [];\n elements.push(element);\n return !elements.some((el) => el?.contains(mouseEvent.target as Node));\n}\n"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAACC,OAAa,EAAoC;EAC5E,MAAMC,IAAI,GAAGD,OAAO,CAACE,WAAW,CAAC,CAAC;EAClC,IAAID,IAAI,KAAKE,QAAQ,IAAIF,IAAI,CAACC,WAAW,CAAC;IAAEE,QAAQ,EAAE;EAAK,CAAC,CAAC,KAAKD,QAAQ,EACxE,OAAO,IAAI;EACb,OAAOF,IAAI;AACb;AAEA,OAAO,SAASI,oBAAoBA,CAClCC,UAAiB,EACjBC,OAAoB,EACpBC,OAAuB,EACd;EACT,IAAI,CAACF,UAAU,EAAE;IACf,OAAO,KAAK;EACd;EACA,MAAML,IAAI,GAAGF,YAAY,CAACQ,OAAO,CAAC;EAClC,IACE,OAAOE,UAAU,KAAK,WAAW,IACjCR,IAAI,YAAYQ,UAAU,IAC1BR,IAAI,CAACS,IAAI,KAAKJ,UAAU,CAACK,MAAM,EAC/B;IACA,OAAO,KAAK;EACd;EACA,MAAMC,QAAQ,GAAGJ,OAAO,IAAI,EAAE;EAC9BI,QAAQ,CAACC,IAAI,CAACN,OAAO,CAAC;EACtB,OAAO,CAACK,QAAQ,CAACE,IAAI,CAAEC,EAAE,IAAKA,EAAE,EAAEC,QAAQ,CAACV,UAAU,CAACK,MAAc,CAAC,CAAC;AACxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-component.mjs","names":["getCurrentInstance","hasOwnProperty","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","chooseProps","props","target","Object","keys","reduce","acc","prop","bindClasses","classes","boundClasses","Array","isArray","clas","getHtmlElement","$el","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n ExtractPropTypes,\n Prop,\n PropType,\n VNode,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { hasOwnProperty } from './common';\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\n }\n return acc;\n }, {} as ExtractPropTypes<PropsOptions>);\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n return node && hasOwnProperty(node, '$el')\n ? ((node as ComponentPublicInstance).$el as HTMLElement)\n : (node as HTMLElement);\n}\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: FollowPropType<Pick<T[P], 'type'>, T[P], D[P]>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<P, D>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vue-component.mjs","names":["getCurrentInstance","hasOwnProperty","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","chooseProps","props","target","Object","keys","reduce","acc","prop","bindClasses","classes","boundClasses","Array","isArray","clas","getHtmlElement","$el","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import type { IfAny } from '@vue/shared';\r\nimport type {\r\n ComponentObjectPropsOptions,\r\n ComponentPublicInstance,\r\n ExtractPropTypes,\r\n Prop,\r\n PropType,\r\n VNode,\r\n} from 'vue';\r\nimport { getCurrentInstance } from 'vue';\r\n\r\nimport { hasOwnProperty } from './common';\r\n\r\nexport function getSlot(\r\n vm: ComponentPublicInstance | any,\r\n // eslint-disable-next-line default-param-last\r\n name = 'default',\r\n data?: any | (() => any),\r\n optional = false,\r\n): VNode[] | undefined {\r\n if (vm.$slots?.[name]) {\r\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\r\n return slot.filter((node: VNode) => {\r\n return node.el?.nodeType !== 8;\r\n });\r\n }\r\n return undefined;\r\n}\r\n\r\nexport function getUid() {\r\n const vm = getCurrentInstance();\r\n return vm?.uid;\r\n}\r\n\r\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\r\n props: any,\r\n target: PropsOptions,\r\n): ExtractPropTypes<PropsOptions> {\r\n return Object.keys(target).reduce((acc, prop) => {\r\n if (props && prop in props) {\r\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\r\n }\r\n return acc;\r\n }, {} as ExtractPropTypes<PropsOptions>);\r\n}\r\n\r\nexport function bindClasses(\r\n classes: string | string[] | Record<string, any> | undefined,\r\n) {\r\n const boundClasses = {} as Record<string, boolean>;\r\n if (typeof classes === 'string') {\r\n boundClasses[classes] = true;\r\n } else if (Array.isArray(classes)) {\r\n (classes as string[]).reduce((acc, clas) => {\r\n acc[clas] = true;\r\n return acc;\r\n }, boundClasses);\r\n } else if (typeof classes === 'object') {\r\n Object.keys(classes).reduce((acc, clas) => {\r\n acc[clas] = !!classes[clas];\r\n return acc;\r\n }, boundClasses);\r\n }\r\n return boundClasses;\r\n}\r\n\r\nexport function getHtmlElement<N extends object | undefined>(\r\n node: N,\r\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\r\n return node && hasOwnProperty(node, '$el')\r\n ? ((node as ComponentPublicInstance).$el as HTMLElement)\r\n : (node as HTMLElement);\r\n}\r\n\r\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\r\n props: PropsOptions,\r\n source: string,\r\n) {\r\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\r\n defaults?: Defaults,\r\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\r\n return Object.keys(props).reduce<any>((options, prop) => {\r\n const option = props[prop];\r\n const isObjectOption =\r\n typeof option === 'object' && option != null && !Array.isArray(option);\r\n const objectOption = isObjectOption ? option : { type: option };\r\n if (defaults && prop in defaults) {\r\n options[prop] = {\r\n ...objectOption,\r\n default: defaults[prop],\r\n };\r\n } else {\r\n options[prop] = objectOption;\r\n }\r\n\r\n if (source && !options[prop].source) {\r\n options[prop].source = source;\r\n }\r\n return options;\r\n }, {} as PropsOptions);\r\n };\r\n}\r\n\r\ntype OverwrittenPropOptions<\r\n T extends ComponentObjectPropsOptions,\r\n D extends PartialKeys<T>,\r\n> = {\r\n [P in keyof T]-?: unknown extends D[P]\r\n ? T[P]\r\n : T[P] extends Record<string, unknown>\r\n ? Omit<T[P], 'type' | 'default'> & {\r\n type: FollowPropType<Pick<T[P], 'type'>, T[P], D[P]>;\r\n default: MergeDefault<T[P], D[P]>;\r\n }\r\n : {\r\n type: PropType<MergeDefault<P, D>>;\r\n default: MergeDefault<T[P], D[P]>;\r\n };\r\n};\r\n\r\ntype MergeDefault<T, D> = unknown extends D\r\n ? InferPropType<T>\r\n : NonNullable<InferPropType<T>> | D;\r\n\r\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\r\n ? T\r\n : PropType<MergeDefault<P, D>>;\r\n\r\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\r\n\r\n// Copied from Vue\r\ntype InferPropType<T> = [T] extends [null]\r\n ? any // null & true would fail to infer\r\n : [T] extends [{ type: null | true }]\r\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\r\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\r\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\r\n any\r\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\r\n ? Record<string, any>\r\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\r\n ? boolean\r\n : [T] extends [DateConstructor | { type: DateConstructor }]\r\n ? Date\r\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\r\n ? U extends DateConstructor\r\n ? Date | InferPropType<U>\r\n : InferPropType<U>\r\n : [T] extends [Prop<infer V, infer D>]\r\n ? unknown extends V\r\n ? IfAny<V, V, D>\r\n : V\r\n : T;\r\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "yuyeon",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"keywords": [
|
|
5
|
-
"UI Library",
|
|
6
|
-
"Vue"
|
|
7
|
-
],
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "https://github.com/yuyeonUI/yuyeon",
|
|
11
|
-
"directory": "packages/yuyeon"
|
|
12
|
-
},
|
|
13
|
-
"author": "yeonyew",
|
|
14
|
-
"license": "Apache-2.0",
|
|
15
|
-
"files": [
|
|
16
|
-
"dist/",
|
|
17
|
-
"lib/",
|
|
18
|
-
"types/"
|
|
19
|
-
],
|
|
20
|
-
"type": "module",
|
|
21
|
-
"exports": {
|
|
22
|
-
".": {
|
|
23
|
-
"types": "./types/index.d.ts",
|
|
24
|
-
"default": "./lib/index.mjs"
|
|
25
|
-
},
|
|
26
|
-
"./styles/*": "./lib/styles/*",
|
|
27
|
-
"./lib": {
|
|
28
|
-
"types": "./types/index.d.ts"
|
|
29
|
-
},
|
|
30
|
-
"./components": {
|
|
31
|
-
"types": "./types/components/index.d.ts",
|
|
32
|
-
"module": "./lib/components/index.mjs"
|
|
33
|
-
},
|
|
34
|
-
"./components/*": "./lib/components/*/index.mjs",
|
|
35
|
-
"./types/*": "./types/*",
|
|
36
|
-
"./*": "./*"
|
|
37
|
-
},
|
|
38
|
-
"main": "lib/index.mjs",
|
|
39
|
-
"module": "lib/index.mjs",
|
|
40
|
-
"types": "types/index.d.ts",
|
|
41
|
-
"typesVersions": {
|
|
42
|
-
"*": {
|
|
43
|
-
"lib/index.mjs": [
|
|
44
|
-
"types/index.d.ts"
|
|
45
|
-
],
|
|
46
|
-
"*": [
|
|
47
|
-
"*",
|
|
48
|
-
"types/*",
|
|
49
|
-
"types/*.d.ts",
|
|
50
|
-
"types/*/index.d.ts"
|
|
51
|
-
]
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
"scripts": {
|
|
55
|
-
"build": "vue-tsc && vite build",
|
|
56
|
-
"build:lib": "cross-env NODE_ENV=lib babel src --out-dir lib --source-maps --extensions \".ts\",\".tsx\" --copy-files --no-copy-ignored --out-file-extension .mjs"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"motion": "^10.15.5"
|
|
60
|
-
},
|
|
61
|
-
"devDependencies": {
|
|
62
|
-
"@babel/cli": "^7.21.0",
|
|
63
|
-
"@babel/core": "^7.21.3",
|
|
64
|
-
"@babel/preset-env": "^7.20.2",
|
|
65
|
-
"@babel/preset-typescript": "^7.21.0",
|
|
66
|
-
"@rollup/plugin-alias": "^4.0.3",
|
|
67
|
-
"@rollup/plugin-babel": "^6.0.3",
|
|
68
|
-
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
69
|
-
"@rollup/plugin-typescript": "^11.0.0",
|
|
70
|
-
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
|
71
|
-
"@types/jest": "^28.1.8",
|
|
72
|
-
"@types/node": "^18.15.11",
|
|
73
|
-
"@types/resize-observer-browser": "^0.1.7",
|
|
74
|
-
"@vitejs/plugin-vue": "^4.2.3",
|
|
75
|
-
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
|
76
|
-
"@vue/babel-plugin-jsx": "^1.1.1",
|
|
77
|
-
"@vue/compiler-sfc": "^3.3.4",
|
|
78
|
-
"@vue/runtime-core": "^3.3.4",
|
|
79
|
-
"@vue/shared": "^3.3.4",
|
|
80
|
-
"@vue/test-utils": "2.3.2",
|
|
81
|
-
"autoprefixer": "^10.4.14",
|
|
82
|
-
"babel-plugin-add-import-extension": "1.5.1",
|
|
83
|
-
"babel-plugin-module-resolver": "^5.0.0",
|
|
84
|
-
"babel-plugin-transform-define": "^2.1.0",
|
|
85
|
-
"babel-polyfill": "^6.26.0",
|
|
86
|
-
"concurrently": "^4.1.1",
|
|
87
|
-
"cross-env": "^7.0.3",
|
|
88
|
-
"rollup": "^3.20.2",
|
|
89
|
-
"rollup-plugin-dts": "^5.3.0",
|
|
90
|
-
"rollup-plugin-sass": "^1.2.19",
|
|
91
|
-
"rollup-plugin-sourcemaps": "^0.6.3",
|
|
92
|
-
"rollup-plugin-terser": "^7.0.2",
|
|
93
|
-
"sass": "^1.63.3",
|
|
94
|
-
"vite": "^4.3.8",
|
|
95
|
-
"vite-plugin-dts": "^2.2.0",
|
|
96
|
-
"vue": "^3.3.4",
|
|
97
|
-
"vue-tsc": "^1.2.0"
|
|
98
|
-
},
|
|
99
|
-
"peerDependencies": {
|
|
100
|
-
"vue": "^3.3.0",
|
|
101
|
-
"vue-i18n": "^9.0.0"
|
|
102
|
-
},
|
|
103
|
-
"peerDependenciesMeta": {
|
|
104
|
-
"vue-i18n": {
|
|
105
|
-
"optional": true
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "yuyeon",
|
|
3
|
+
"version": "0.0.21",
|
|
4
|
+
"keywords": [
|
|
5
|
+
"UI Library",
|
|
6
|
+
"Vue"
|
|
7
|
+
],
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/yuyeonUI/yuyeon",
|
|
11
|
+
"directory": "packages/yuyeon"
|
|
12
|
+
},
|
|
13
|
+
"author": "yeonyew",
|
|
14
|
+
"license": "Apache-2.0",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist/",
|
|
17
|
+
"lib/",
|
|
18
|
+
"types/"
|
|
19
|
+
],
|
|
20
|
+
"type": "module",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./types/index.d.ts",
|
|
24
|
+
"default": "./lib/index.mjs"
|
|
25
|
+
},
|
|
26
|
+
"./styles/*": "./lib/styles/*",
|
|
27
|
+
"./lib": {
|
|
28
|
+
"types": "./types/index.d.ts"
|
|
29
|
+
},
|
|
30
|
+
"./components": {
|
|
31
|
+
"types": "./types/components/index.d.ts",
|
|
32
|
+
"module": "./lib/components/index.mjs"
|
|
33
|
+
},
|
|
34
|
+
"./components/*": "./lib/components/*/index.mjs",
|
|
35
|
+
"./types/*": "./types/*",
|
|
36
|
+
"./*": "./*"
|
|
37
|
+
},
|
|
38
|
+
"main": "lib/index.mjs",
|
|
39
|
+
"module": "lib/index.mjs",
|
|
40
|
+
"types": "types/index.d.ts",
|
|
41
|
+
"typesVersions": {
|
|
42
|
+
"*": {
|
|
43
|
+
"lib/index.mjs": [
|
|
44
|
+
"types/index.d.ts"
|
|
45
|
+
],
|
|
46
|
+
"*": [
|
|
47
|
+
"*",
|
|
48
|
+
"types/*",
|
|
49
|
+
"types/*.d.ts",
|
|
50
|
+
"types/*/index.d.ts"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "vue-tsc && vite build",
|
|
56
|
+
"build:lib": "cross-env NODE_ENV=lib babel src --out-dir lib --source-maps --extensions \".ts\",\".tsx\" --copy-files --no-copy-ignored --out-file-extension .mjs"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"motion": "^10.15.5"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@babel/cli": "^7.21.0",
|
|
63
|
+
"@babel/core": "^7.21.3",
|
|
64
|
+
"@babel/preset-env": "^7.20.2",
|
|
65
|
+
"@babel/preset-typescript": "^7.21.0",
|
|
66
|
+
"@rollup/plugin-alias": "^4.0.3",
|
|
67
|
+
"@rollup/plugin-babel": "^6.0.3",
|
|
68
|
+
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
69
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
70
|
+
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
|
71
|
+
"@types/jest": "^28.1.8",
|
|
72
|
+
"@types/node": "^18.15.11",
|
|
73
|
+
"@types/resize-observer-browser": "^0.1.7",
|
|
74
|
+
"@vitejs/plugin-vue": "^4.2.3",
|
|
75
|
+
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
|
76
|
+
"@vue/babel-plugin-jsx": "^1.1.1",
|
|
77
|
+
"@vue/compiler-sfc": "^3.3.4",
|
|
78
|
+
"@vue/runtime-core": "^3.3.4",
|
|
79
|
+
"@vue/shared": "^3.3.4",
|
|
80
|
+
"@vue/test-utils": "2.3.2",
|
|
81
|
+
"autoprefixer": "^10.4.14",
|
|
82
|
+
"babel-plugin-add-import-extension": "1.5.1",
|
|
83
|
+
"babel-plugin-module-resolver": "^5.0.0",
|
|
84
|
+
"babel-plugin-transform-define": "^2.1.0",
|
|
85
|
+
"babel-polyfill": "^6.26.0",
|
|
86
|
+
"concurrently": "^4.1.1",
|
|
87
|
+
"cross-env": "^7.0.3",
|
|
88
|
+
"rollup": "^3.20.2",
|
|
89
|
+
"rollup-plugin-dts": "^5.3.0",
|
|
90
|
+
"rollup-plugin-sass": "^1.2.19",
|
|
91
|
+
"rollup-plugin-sourcemaps": "^0.6.3",
|
|
92
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
93
|
+
"sass": "^1.63.3",
|
|
94
|
+
"vite": "^4.3.8",
|
|
95
|
+
"vite-plugin-dts": "^2.2.0",
|
|
96
|
+
"vue": "^3.3.4",
|
|
97
|
+
"vue-tsc": "^1.2.0"
|
|
98
|
+
},
|
|
99
|
+
"peerDependencies": {
|
|
100
|
+
"vue": "^3.3.0",
|
|
101
|
+
"vue-i18n": "^9.0.0"
|
|
102
|
+
},
|
|
103
|
+
"peerDependenciesMeta": {
|
|
104
|
+
"vue-i18n": {
|
|
105
|
+
"optional": true
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -76,6 +76,18 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
76
76
|
type: PropType<boolean>;
|
|
77
77
|
default: boolean;
|
|
78
78
|
};
|
|
79
|
+
openOnHover: {
|
|
80
|
+
type: PropType<boolean>;
|
|
81
|
+
default: boolean;
|
|
82
|
+
};
|
|
83
|
+
openDelay: {
|
|
84
|
+
type: PropType<number>;
|
|
85
|
+
default: number;
|
|
86
|
+
};
|
|
87
|
+
closeDelay: {
|
|
88
|
+
type: PropType<number>;
|
|
89
|
+
default: number;
|
|
90
|
+
};
|
|
79
91
|
}, {
|
|
80
92
|
complementClickOption: {
|
|
81
93
|
handler: (mouseEvent: MouseEvent) => void;
|
|
@@ -85,6 +97,7 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
85
97
|
layerGroup: import("vue").ComputedRef<string | HTMLElement>;
|
|
86
98
|
active: import("vue").WritableComputedRef<boolean>;
|
|
87
99
|
rendered: import("vue").ComputedRef<boolean>;
|
|
100
|
+
lazyValue: import("vue").ComputedRef<any>;
|
|
88
101
|
onAfterUpdate: () => void;
|
|
89
102
|
scrim$: import("vue").Ref<HTMLElement | undefined>;
|
|
90
103
|
content$: import("vue").Ref<HTMLElement | undefined>;
|
|
@@ -1722,6 +1735,18 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
1722
1735
|
type: PropType<boolean>;
|
|
1723
1736
|
default: boolean;
|
|
1724
1737
|
};
|
|
1738
|
+
openOnHover: {
|
|
1739
|
+
type: PropType<boolean>;
|
|
1740
|
+
default: boolean;
|
|
1741
|
+
};
|
|
1742
|
+
openDelay: {
|
|
1743
|
+
type: PropType<number>;
|
|
1744
|
+
default: number;
|
|
1745
|
+
};
|
|
1746
|
+
closeDelay: {
|
|
1747
|
+
type: PropType<number>;
|
|
1748
|
+
default: number;
|
|
1749
|
+
};
|
|
1725
1750
|
}>> & {
|
|
1726
1751
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1727
1752
|
onAfterLeave?: (() => any) | undefined;
|
|
@@ -1729,6 +1754,9 @@ export declare const YDialog: import("vue").DefineComponent<{
|
|
|
1729
1754
|
}, {
|
|
1730
1755
|
disabled: boolean;
|
|
1731
1756
|
contentStyles: import("vue").CSSProperties;
|
|
1757
|
+
openOnHover: boolean;
|
|
1758
|
+
openDelay: number;
|
|
1759
|
+
closeDelay: number;
|
|
1732
1760
|
coordinateStrategy: "levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn;
|
|
1733
1761
|
position: "default" | "top" | "end" | "right" | "bottom" | "left" | "start";
|
|
1734
1762
|
align: "end" | "start" | "center";
|
|
@@ -23,6 +23,9 @@ export declare const pressYLayerProps: <Defaults extends {
|
|
|
23
23
|
modal?: unknown;
|
|
24
24
|
contentStyles?: unknown;
|
|
25
25
|
disabled?: unknown;
|
|
26
|
+
openOnHover?: unknown;
|
|
27
|
+
openDelay?: unknown;
|
|
28
|
+
closeDelay?: unknown;
|
|
26
29
|
} = {}>(defaults?: Defaults | undefined) => {
|
|
27
30
|
minWidth: unknown extends Defaults["minWidth"] ? PropType<string | number> : {
|
|
28
31
|
type: PropType<unknown extends Defaults ? "minWidth" : "minWidth" | Defaults>;
|
|
@@ -204,6 +207,36 @@ export declare const pressYLayerProps: <Defaults extends {
|
|
|
204
207
|
type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
|
|
205
208
|
default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
|
|
206
209
|
};
|
|
210
|
+
openOnHover: unknown extends Defaults["openOnHover"] ? {
|
|
211
|
+
type: PropType<boolean>;
|
|
212
|
+
default: boolean;
|
|
213
|
+
} : Omit<{
|
|
214
|
+
type: PropType<boolean>;
|
|
215
|
+
default: boolean;
|
|
216
|
+
}, "default" | "type"> & {
|
|
217
|
+
type: PropType<unknown extends Defaults["openOnHover"] ? boolean : boolean | Defaults["openOnHover"]>;
|
|
218
|
+
default: unknown extends Defaults["openOnHover"] ? boolean : boolean | Defaults["openOnHover"];
|
|
219
|
+
};
|
|
220
|
+
openDelay: unknown extends Defaults["openDelay"] ? {
|
|
221
|
+
type: PropType<number>;
|
|
222
|
+
default: number;
|
|
223
|
+
} : Omit<{
|
|
224
|
+
type: PropType<number>;
|
|
225
|
+
default: number;
|
|
226
|
+
}, "default" | "type"> & {
|
|
227
|
+
type: PropType<unknown extends Defaults["openDelay"] ? number : number | Defaults["openDelay"]>;
|
|
228
|
+
default: unknown extends Defaults["openDelay"] ? number : number | Defaults["openDelay"];
|
|
229
|
+
};
|
|
230
|
+
closeDelay: unknown extends Defaults["closeDelay"] ? {
|
|
231
|
+
type: PropType<number>;
|
|
232
|
+
default: number;
|
|
233
|
+
} : Omit<{
|
|
234
|
+
type: PropType<number>;
|
|
235
|
+
default: number;
|
|
236
|
+
}, "default" | "type"> & {
|
|
237
|
+
type: PropType<unknown extends Defaults["closeDelay"] ? number : number | Defaults["closeDelay"]>;
|
|
238
|
+
default: unknown extends Defaults["closeDelay"] ? number : number | Defaults["closeDelay"];
|
|
239
|
+
};
|
|
207
240
|
};
|
|
208
241
|
export declare const YLayer: import("vue").DefineComponent<{
|
|
209
242
|
minWidth: PropType<string | number>;
|
|
@@ -269,6 +302,18 @@ export declare const YLayer: import("vue").DefineComponent<{
|
|
|
269
302
|
type: PropType<boolean>;
|
|
270
303
|
default: boolean;
|
|
271
304
|
};
|
|
305
|
+
openOnHover: {
|
|
306
|
+
type: PropType<boolean>;
|
|
307
|
+
default: boolean;
|
|
308
|
+
};
|
|
309
|
+
openDelay: {
|
|
310
|
+
type: PropType<number>;
|
|
311
|
+
default: number;
|
|
312
|
+
};
|
|
313
|
+
closeDelay: {
|
|
314
|
+
type: PropType<number>;
|
|
315
|
+
default: number;
|
|
316
|
+
};
|
|
272
317
|
}, {
|
|
273
318
|
complementClickOption: {
|
|
274
319
|
handler: (mouseEvent: MouseEvent) => void;
|
|
@@ -278,6 +323,7 @@ export declare const YLayer: import("vue").DefineComponent<{
|
|
|
278
323
|
layerGroup: import("vue").ComputedRef<string | HTMLElement>;
|
|
279
324
|
active: import("vue").WritableComputedRef<boolean>;
|
|
280
325
|
rendered: import("vue").ComputedRef<boolean>;
|
|
326
|
+
lazyValue: import("vue").ComputedRef<any>;
|
|
281
327
|
onAfterUpdate: () => void;
|
|
282
328
|
scrim$: import("vue").Ref<HTMLElement | undefined>;
|
|
283
329
|
content$: import("vue").Ref<HTMLElement | undefined>;
|
|
@@ -1915,6 +1961,18 @@ export declare const YLayer: import("vue").DefineComponent<{
|
|
|
1915
1961
|
type: PropType<boolean>;
|
|
1916
1962
|
default: boolean;
|
|
1917
1963
|
};
|
|
1964
|
+
openOnHover: {
|
|
1965
|
+
type: PropType<boolean>;
|
|
1966
|
+
default: boolean;
|
|
1967
|
+
};
|
|
1968
|
+
openDelay: {
|
|
1969
|
+
type: PropType<number>;
|
|
1970
|
+
default: number;
|
|
1971
|
+
};
|
|
1972
|
+
closeDelay: {
|
|
1973
|
+
type: PropType<number>;
|
|
1974
|
+
default: number;
|
|
1975
|
+
};
|
|
1918
1976
|
}>> & {
|
|
1919
1977
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1920
1978
|
onAfterLeave?: (() => any) | undefined;
|
|
@@ -1922,6 +1980,9 @@ export declare const YLayer: import("vue").DefineComponent<{
|
|
|
1922
1980
|
}, {
|
|
1923
1981
|
disabled: boolean;
|
|
1924
1982
|
contentStyles: CSSProperties;
|
|
1983
|
+
openOnHover: boolean;
|
|
1984
|
+
openDelay: number;
|
|
1985
|
+
closeDelay: number;
|
|
1925
1986
|
coordinateStrategy: "levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn;
|
|
1926
1987
|
position: "default" | "top" | "end" | "right" | "bottom" | "left" | "start";
|
|
1927
1988
|
align: "end" | "start" | "center";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { InjectionKey, Ref } from 'vue';
|
|
2
|
+
import { YLayer } from './YLayer';
|
|
3
|
+
interface ActiveStackProvide {
|
|
4
|
+
push: (instance: any) => void;
|
|
5
|
+
pop: (instance?: any) => void;
|
|
6
|
+
clear: () => void;
|
|
7
|
+
$el: Ref<typeof YLayer | undefined>;
|
|
8
|
+
}
|
|
9
|
+
export declare const YUYEON_ACTIVE_STACK_KEY: InjectionKey<ActiveStackProvide>;
|
|
10
|
+
export declare function useActiveStack($el: Ref<typeof YLayer | undefined>, active: Ref<boolean>, sequential?: Ref<boolean | undefined>): {
|
|
11
|
+
push: (instance: any) => void;
|
|
12
|
+
pop: (instance?: any) => void;
|
|
13
|
+
parent: ActiveStackProvide | null;
|
|
14
|
+
children: import("vue").ShallowRef<any[]>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|