yuyeon 0.2.3-rc.1 → 0.2.3-rc.10

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.
Files changed (83) hide show
  1. package/dist/yuyeon.js +3203 -3120
  2. package/dist/yuyeon.umd.cjs +3 -3
  3. package/lib/components/field-input/YFieldInput.mjs +3 -2
  4. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  5. package/lib/components/index.mjs +1 -0
  6. package/lib/components/index.mjs.map +1 -1
  7. package/lib/components/input/YInput.mjs +6 -2
  8. package/lib/components/input/YInput.mjs.map +1 -1
  9. package/lib/components/layer/YLayer.mjs +21 -17
  10. package/lib/components/layer/YLayer.mjs.map +1 -1
  11. package/lib/components/layer/base.mjs +2 -1
  12. package/lib/components/layer/base.mjs.map +1 -1
  13. package/lib/components/select/YSelect.mjs +32 -14
  14. package/lib/components/select/YSelect.mjs.map +1 -1
  15. package/lib/components/table/YDataTableBody.mjs +39 -14
  16. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  17. package/lib/components/table/YDataTableControl.mjs.map +1 -1
  18. package/lib/components/table/YDataTableRow.mjs +29 -7
  19. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  20. package/lib/components/table/YDataTableServer.mjs +3 -1
  21. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  22. package/lib/components/table/composibles/pagination.mjs +6 -4
  23. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  24. package/lib/components/tooltip/YTooltip.mjs +4 -4
  25. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  26. package/lib/composables/layer-group.mjs +4 -4
  27. package/lib/composables/layer-group.mjs.map +1 -1
  28. package/lib/directives/plate-wave/index.mjs +4 -1
  29. package/lib/directives/plate-wave/index.mjs.map +1 -1
  30. package/lib/i18n/built-in.mjs +2 -2
  31. package/lib/i18n/built-in.mjs.map +1 -1
  32. package/lib/index.mjs.map +1 -1
  33. package/lib/util/component/component.mjs +4 -0
  34. package/lib/util/component/component.mjs.map +1 -1
  35. package/package.json +120 -117
  36. package/types/components/checkbox/YCheckbox.d.ts +1 -1
  37. package/types/components/date-picker/YDateCalendar.d.ts +5 -5
  38. package/types/components/dialog/YDialog.d.ts +4937 -28
  39. package/types/components/draggable/YDraggable.d.ts +8 -8
  40. package/types/components/dropdown/YDropdown.d.ts +17 -11
  41. package/types/components/field-input/YFieldInput.d.ts +3 -3
  42. package/types/components/index.d.ts +1 -0
  43. package/types/components/input/YInput.d.ts +1 -1
  44. package/types/components/layer/YLayer.d.ts +1610 -11
  45. package/types/components/layer/active-stack.d.ts +1 -1
  46. package/types/components/layer/base.d.ts +9 -3
  47. package/types/components/menu/YMenu.d.ts +4916 -11
  48. package/types/components/pagination/YPagination.d.ts +3 -3
  49. package/types/components/panel/YDividePanel.d.ts +2 -2
  50. package/types/components/progress-bar/YProgressBar.d.ts +1 -1
  51. package/types/components/select/YSelect.d.ts +133 -101
  52. package/types/components/snackbar/YSnackbar.d.ts +11 -5
  53. package/types/components/tab/YTabs.d.ts +1 -1
  54. package/types/components/table/YDataTable.d.ts +12 -0
  55. package/types/components/table/YDataTableBody.d.ts +13 -1
  56. package/types/components/table/YDataTableRow.d.ts +24 -12
  57. package/types/components/table/YDataTableServer.d.ts +12 -0
  58. package/types/components/table/composibles/header.d.ts +38 -2
  59. package/types/components/table/composibles/measure.d.ts +6 -6
  60. package/types/components/table/composibles/pagination.d.ts +8 -8
  61. package/types/components/table/composibles/sorting.d.ts +3 -3
  62. package/types/components/textarea/YTextarea.d.ts +95 -5
  63. package/types/components/tooltip/YTooltip.d.ts +10 -6
  64. package/types/components/transitions/expand-transition.d.ts +5 -5
  65. package/types/components/transitions/index.d.ts +10 -10
  66. package/types/components/tree-view/YTreeView.d.ts +13 -13
  67. package/types/components/tree-view/YTreeViewNode.d.ts +4 -4
  68. package/types/composables/communication.d.ts +2 -2
  69. package/types/composables/coordinate/index.d.ts +1599 -6
  70. package/types/composables/defaults/index.d.ts +3 -3
  71. package/types/composables/focus.d.ts +1 -1
  72. package/types/composables/form.d.ts +17 -2
  73. package/types/composables/layer-group.d.ts +4 -2
  74. package/types/composables/progress.d.ts +1 -1
  75. package/types/composables/ref.d.ts +1 -1
  76. package/types/composables/resize-observer.d.ts +11 -1
  77. package/types/composables/theme/index.d.ts +7 -7
  78. package/types/composables/timing.d.ts +3 -3
  79. package/types/composables/validation.d.ts +3 -3
  80. package/types/mixins/di.d.ts +1 -1
  81. package/types/mixins/rebind-attrs.d.ts +1 -1
  82. package/types/shims.d.ts +2 -1
  83. package/types/util/anchor.d.ts +1 -1
@@ -1,10 +1,10 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { computed, defineComponent, nextTick, ref, watch } from 'vue';
2
+ import { computed, nextTick, ref, watch } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
5
  import { pressPolyTransitionPropsOptions } from "../../composables/transition.mjs";
6
6
  import { omit } from "../../util/common.mjs";
7
- import { bindClasses, chooseProps } from "../../util/component/index.mjs";
7
+ import { bindClasses, chooseProps, defineComponent } from "../../util/component/index.mjs";
8
8
  import { YLayer, pressYLayerProps } from "../layer/index.mjs";
9
9
  import { useDelay } from "../layer/active-delay.mjs";
10
10
  import { YPlate } from "../plate/index.mjs";
@@ -20,8 +20,8 @@ const YTooltipPropOptions = {
20
20
  }
21
21
  };
22
22
 
23
- /**
24
- * # Component
23
+ /**
24
+ * # Component
25
25
  */
26
26
  export const YTooltip = defineComponent({
27
27
  name: NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"YTooltip.mjs","names":["computed","defineComponent","nextTick","ref","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","YTooltip","name","props","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n ref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\r\nimport { omit } from '@/util/common';\r\nimport { bindClasses, chooseProps } from '@/util/component';\r\n\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { useDelay } from '../layer/active-delay';\r\nimport { YPlate } from '../plate';\r\n\r\nimport './YTooltip.scss';\r\n\r\nconst NAME = 'YTooltip';\r\n\r\nconst YTooltipPropOptions = {\r\n tooltipClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n preventClip: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n};\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YTooltip = defineComponent({\r\n name: NAME,\r\n props: {\r\n ...YTooltipPropOptions,\r\n ...pressYLayerProps({\r\n coordinateStrategy: 'levitation' as const,\r\n scrollStrategy: 'reposition' as const,\r\n openOnHover: true,\r\n align: 'center',\r\n offset: 8,\r\n }),\r\n ...pressPolyTransitionPropsOptions({\r\n transition: 'fade',\r\n }),\r\n },\r\n emits: ['update:modelValue'],\r\n setup(props, { slots, emit, expose }) {\r\n const layer$ = ref<typeof YLayer>();\r\n const contentEl = ref<HTMLElement>();\r\n const baseEl = computed(() => {\r\n return layer$.value?.baseEl;\r\n });\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.tooltipClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-tooltip': true,\r\n };\r\n });\r\n\r\n const model = useModelDuplex(props);\r\n\r\n const active = computed({\r\n get: (): boolean => {\r\n return !!model.value;\r\n },\r\n set: (v: boolean) => {\r\n if (!(v && props.disabled)) model.value = v;\r\n },\r\n });\r\n\r\n const hovered = computed(() => !!layer$.value?.hovered);\r\n\r\n watch(active, (neo) => {\r\n if (neo) {\r\n nextTick(() => {\r\n const $content = layer$.value?.content$;\r\n contentEl.value = $content;\r\n });\r\n }\r\n });\r\n\r\n const { startOpenDelay, startCloseDelay } = useDelay(\r\n props,\r\n (changeActive) => {\r\n if (!changeActive && props.openOnHover && !hovered.value) {\r\n active.value = false;\r\n } else if (changeActive) {\r\n active.value = true;\r\n }\r\n },\r\n );\r\n\r\n function onMouseenter(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startOpenDelay();\r\n }\r\n }\r\n\r\n function onMouseleave(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startCloseDelay();\r\n }\r\n }\r\n\r\n watch(hovered, (value) => {\r\n if (!value) {\r\n startCloseDelay();\r\n }\r\n });\r\n\r\n function bindHover(el: HTMLElement) {\r\n el.addEventListener?.('mouseenter', onMouseenter);\r\n el.addEventListener?.('mouseleave', onMouseleave);\r\n }\r\n\r\n function unbindHover(el: HTMLElement) {\r\n el.removeEventListener?.('mouseenter', onMouseenter);\r\n el.removeEventListener?.('mouseleave', onMouseleave);\r\n }\r\n\r\n watch(\r\n () => layer$.value?.baseEl,\r\n (neo, old) => {\r\n if (neo) {\r\n bindHover(neo);\r\n } else if (old) {\r\n unbindHover(old);\r\n }\r\n },\r\n );\r\n\r\n expose({\r\n layer$,\r\n baseEl,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <YLayer\r\n ref={layer$}\r\n {...omit(chooseProps(props, YLayer.props), ['scrim'])}\r\n classes={classes.value}\r\n scrim={false}\r\n transition={props.transition}\r\n v-model={active.value}\r\n >\r\n {{\r\n default: (...args: any) => {\r\n return (\r\n <>\r\n <YPlate></YPlate>\r\n <div class=\"y-tooltip__content\">\r\n {slots.default?.(...args) ?? ''}\r\n </div>\r\n </>\r\n );\r\n },\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n layer$,\r\n el$: layer$,\r\n baseEl,\r\n active,\r\n };\r\n },\r\n});\r\n\r\nexport type YTooltip = InstanceType<typeof YTooltip>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YTooltip.mjs","names":["computed","nextTick","ref","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","YTooltip","name","props","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import { type PropType, computed, nextTick, ref, watch } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\nimport { omit } from '@/util/common';\nimport { bindClasses, chooseProps, defineComponent } from '@/util/component';\n\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { useDelay } from '../layer/active-delay';\nimport { YPlate } from '../plate';\n\nimport './YTooltip.scss';\n\nconst NAME = 'YTooltip';\n\nconst YTooltipPropOptions = {\n tooltipClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n preventClip: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n};\n\n/**\n * # Component\n */\nexport const YTooltip = defineComponent({\n name: NAME,\n props: {\n ...YTooltipPropOptions,\n ...pressYLayerProps({\n coordinateStrategy: 'levitation' as const,\n scrollStrategy: 'reposition' as const,\n openOnHover: true,\n align: 'center',\n offset: 8,\n }),\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n },\n emits: ['update:modelValue'],\n setup(props, { slots, emit, expose }) {\n const layer$ = ref<typeof YLayer>();\n const contentEl = ref<HTMLElement>();\n const baseEl = computed(() => {\n return layer$.value?.baseEl;\n });\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.tooltipClasses);\n return {\n ...boundClasses,\n 'y-tooltip': true,\n };\n });\n\n const model = useModelDuplex(props);\n\n const active = computed({\n get: (): boolean => {\n return !!model.value;\n },\n set: (v: boolean) => {\n if (!(v && props.disabled)) model.value = v;\n },\n });\n\n const hovered = computed(() => !!layer$.value?.hovered);\n\n watch(active, (neo) => {\n if (neo) {\n nextTick(() => {\n const $content = layer$.value?.content$;\n contentEl.value = $content;\n });\n }\n });\n\n const { startOpenDelay, startCloseDelay } = useDelay(\n props,\n (changeActive) => {\n if (!changeActive && props.openOnHover && !hovered.value) {\n active.value = false;\n } else if (changeActive) {\n active.value = true;\n }\n },\n );\n\n function onMouseenter(e: MouseEvent) {\n if (props.openOnHover) {\n startOpenDelay();\n }\n }\n\n function onMouseleave(e: MouseEvent) {\n if (props.openOnHover) {\n startCloseDelay();\n }\n }\n\n watch(hovered, (value) => {\n if (!value) {\n startCloseDelay();\n }\n });\n\n function bindHover(el: HTMLElement) {\n el.addEventListener?.('mouseenter', onMouseenter);\n el.addEventListener?.('mouseleave', onMouseleave);\n }\n\n function unbindHover(el: HTMLElement) {\n el.removeEventListener?.('mouseenter', onMouseenter);\n el.removeEventListener?.('mouseleave', onMouseleave);\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n bindHover(neo);\n } else if (old) {\n unbindHover(old);\n }\n },\n );\n\n expose({\n layer$,\n baseEl,\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n ref={layer$}\n {...omit(chooseProps(props, YLayer.props), ['scrim'])}\n classes={classes.value}\n scrim={false}\n transition={props.transition}\n v-model={active.value}\n >\n {{\n default: (...args: any) => {\n return (\n <>\n <YPlate></YPlate>\n <div class=\"y-tooltip__content\">\n {slots.default?.(...args) ?? ''}\n </div>\n </>\n );\n },\n base: (...args: any[]) => slots.base?.(...args),\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n layer$,\n el$: layer$,\n baseEl,\n active,\n };\n },\n});\n\nexport type YTooltip = InstanceType<typeof YTooltip>;\n"],"mappings":"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"}
@@ -2,16 +2,16 @@ import { computed, getCurrentInstance, onBeforeUnmount, unref, watch } from 'vue
2
2
  import { useYuyeon } from "./../index.mjs";
3
3
  export const Y_LAYER_GROUP_CLASS_NAME = 'y-layer-group';
4
4
  const layerGroupState = new WeakMap();
5
- export function useLayerGroup(target) {
5
+ export function useLayerGroup(props) {
6
6
  const vm = getCurrentInstance();
7
7
  const yuyeon = useYuyeon();
8
8
  const layerGroup = computed(() => {
9
9
  let targetEl = document.body;
10
- const rootEl = yuyeon.root;
10
+ const rootEl = vm.root.proxy?.$el;
11
11
  if (rootEl) {
12
12
  targetEl = rootEl;
13
13
  }
14
- const refTarget = unref(target);
14
+ const refTarget = unref(props.layerGroup);
15
15
  if (typeof refTarget === 'string') {
16
16
  const el = document.querySelector(refTarget);
17
17
  if (el) {
@@ -22,7 +22,7 @@ export function useLayerGroup(target) {
22
22
  targetEl = refTarget;
23
23
  }
24
24
  //
25
- let layerEl = targetEl.querySelector(`.${Y_LAYER_GROUP_CLASS_NAME}`);
25
+ let layerEl = targetEl.querySelector(`:scope > .${Y_LAYER_GROUP_CLASS_NAME}`);
26
26
  if (!layerEl) {
27
27
  layerEl = document.createElement('div');
28
28
  layerEl.className = Y_LAYER_GROUP_CLASS_NAME;
@@ -1 +1 @@
1
- {"version":3,"file":"layer-group.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","unref","watch","useYuyeon","Y_LAYER_GROUP_CLASS_NAME","layerGroupState","WeakMap","useLayerGroup","target","vm","yuyeon","layerGroup","targetEl","document","body","rootEl","root","refTarget","el","querySelector","nodeType","layerEl","createElement","className","appendChild","neo","old","has","get","delete","set","Set","add","immediate","getActiveLayers","activeLayers","currentGroup","value","forEach","ctx","active","isUnmounted","push","unregister"],"sources":["../../src/composables/layer-group.ts"],"sourcesContent":["import { computed, getCurrentInstance, onBeforeUnmount, unref, watch } from 'vue';\r\nimport type { ComponentInternalInstance, Ref } from 'vue';\r\n\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 | undefined>) {\r\n const vm = getCurrentInstance()!;\r\n const yuyeon = useYuyeon();\r\n\r\n const layerGroup = computed<HTMLElement>(() => {\r\n let targetEl: Element = document.body;\r\n const rootEl = yuyeon.root;\r\n if (rootEl) {\r\n targetEl = rootEl;\r\n }\r\n const refTarget = unref(target);\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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"}
1
+ {"version":3,"file":"layer-group.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","unref","watch","useYuyeon","Y_LAYER_GROUP_CLASS_NAME","layerGroupState","WeakMap","useLayerGroup","props","vm","yuyeon","layerGroup","targetEl","document","body","rootEl","root","proxy","$el","refTarget","el","querySelector","nodeType","layerEl","createElement","className","appendChild","neo","old","has","get","delete","set","Set","add","immediate","getActiveLayers","activeLayers","currentGroup","value","forEach","ctx","active","isUnmounted","push","unregister"],"sources":["../../src/composables/layer-group.ts"],"sourcesContent":["import {\n type MaybeRef,\n computed,\n getCurrentInstance,\n onBeforeUnmount,\n unref,\n watch,\n} from 'vue';\nimport type { ComponentInternalInstance, Ref } from 'vue';\n\nimport { useYuyeon } from '@/index';\n\nexport const Y_LAYER_GROUP_CLASS_NAME = 'y-layer-group';\n\nconst layerGroupState = new WeakMap<HTMLElement, Set<any>>();\n\nexport function useLayerGroup(props: {\n layerGroup?: MaybeRef<string | Element | undefined>;\n}) {\n const vm = getCurrentInstance()!;\n const yuyeon = useYuyeon();\n\n const layerGroup = computed<HTMLElement>(() => {\n let targetEl: Element = document.body;\n const rootEl = vm.root.proxy?.$el;\n if (rootEl) {\n targetEl = rootEl;\n }\n const refTarget = unref(props.layerGroup);\n if (typeof refTarget === 'string') {\n const el = document.querySelector(refTarget);\n if (el) {\n targetEl = el;\n }\n }\n if (refTarget && (refTarget as Element).nodeType === 1) {\n targetEl = refTarget as Element;\n }\n //\n let layerEl = targetEl.querySelector(\n `:scope > .${Y_LAYER_GROUP_CLASS_NAME}`,\n );\n if (!layerEl) {\n layerEl = document.createElement('div');\n layerEl.className = Y_LAYER_GROUP_CLASS_NAME;\n targetEl.appendChild(layerEl);\n }\n return layerEl as HTMLElement;\n });\n\n watch(\n layerGroup,\n (neo, old) => {\n if (old && layerGroupState.has(old)) {\n layerGroupState.get(old)?.delete(vm);\n }\n if (!(layerGroupState.has(neo) && layerGroupState.get(neo))) {\n layerGroupState.set(neo, new Set());\n }\n layerGroupState.get(neo)?.add(vm);\n },\n { immediate: true },\n );\n\n function getActiveLayers() {\n const activeLayers: ComponentInternalInstance[] = [];\n const currentGroup = layerGroupState.get(layerGroup.value);\n currentGroup?.forEach((value) => {\n if (value?.ctx?.active && !value?.isUnmounted) {\n activeLayers.push(value);\n }\n });\n return activeLayers;\n }\n\n function unregister() {\n layerGroupState.get(layerGroup.value)?.delete(vm);\n }\n\n onBeforeUnmount(() => {\n unregister();\n });\n\n return { layerGroup, layerGroupState, getActiveLayers };\n}\n"],"mappings":"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"}
@@ -62,7 +62,10 @@ function attachWave(el, binding) {
62
62
  value,
63
63
  modifiers
64
64
  } = binding;
65
- const enabled = !!value;
65
+ let enabled = value ?? true;
66
+ if (typeof value === 'boolean') {
67
+ enabled = value;
68
+ }
66
69
  if (!enabled) hideAnimation(el);
67
70
  if (enabled && init) {
68
71
  if (modifiers.stop) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["CLASS_NAME","showAnimation","el","animation","document","createElement","className","appendChild","dataset","activated","String","performance","now","hideAnimation","animations","getElementsByClassName","length","isHiding","diff","Number","delay","Math","max","setTimeout","removeChild","keyboardEventFlag","spawn","event","currentTarget","clean","stop","keyboardSpawn","key","keyboardClean","destroyListeners","removeEventListener","attachWave","binding","init","arguments","undefined","value","modifiers","enabled","addEventListener","PlateWave","mounted","updated","oldValue","unmount"],"sources":["../../../src/directives/plate-wave/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue';\n\nimport './plate-wave.scss';\n\nexport interface PlateWaveBinding\n extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean;\n modifiers: { stop?: boolean };\n}\n\nconst CLASS_NAME = 'y-plate-wave__animation';\n\nfunction showAnimation(el: HTMLElement | null) {\n if (!el) return;\n const animation = document.createElement('span');\n animation.className = CLASS_NAME;\n el.appendChild(animation);\n animation.dataset.activated = String(performance.now());\n}\n\nfunction hideAnimation(el: HTMLElement | null) {\n if (!el) {\n return;\n }\n const animations = el.getElementsByClassName(CLASS_NAME);\n if (animations.length === 0) return;\n const animation = animations[animations.length - 1] as HTMLElement;\n if (animation.dataset.isHiding) return;\n animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n if (animation) {\n el.removeChild(animation);\n }\n }, delay + 300);\n}\n\n/*\n * Event\n * */\n\nlet keyboardEventFlag = false;\n\nfunction spawn(event: Event) {\n showAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction clean(event: Event) {\n hideAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction stop(event: Event) {\n //\n}\n\nfunction keyboardSpawn(event: KeyboardEvent) {\n if (!keyboardEventFlag && (event.key === 'Enter' || event.key === 'Space')) {\n keyboardEventFlag = true;\n showAnimation(event.currentTarget as HTMLElement);\n }\n}\n\nfunction keyboardClean(event: KeyboardEvent) {\n keyboardEventFlag = false;\n hideAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction destroyListeners(el: HTMLElement) {\n el.removeEventListener('mousedown', spawn);\n el.removeEventListener('mouseup', clean);\n el.removeEventListener('mouseleave', clean);\n el.removeEventListener('keydown', keyboardSpawn);\n el.removeEventListener('keyup', keyboardClean);\n}\n\nfunction attachWave(el: HTMLElement, binding: PlateWaveBinding, init = false) {\n const { value, modifiers } = binding;\n const enabled = !!value;\n if (!enabled) hideAnimation(el);\n\n if (enabled && init) {\n if (modifiers.stop) {\n el.addEventListener('mousedown', stop);\n return;\n }\n\n el.addEventListener('mousedown', spawn);\n el.addEventListener('mouseup', clean);\n el.addEventListener('mouseleave', clean);\n el.addEventListener('keydown', keyboardSpawn);\n el.addEventListener('keyup', keyboardClean);\n el.addEventListener('blur', clean);\n } else if (!enabled && !init) {\n destroyListeners(el);\n }\n}\n\nexport const PlateWave = {\n mounted(el: HTMLElement, binding: PlateWaveBinding) {\n attachWave(el, binding, true);\n },\n updated(el: HTMLElement, binding: PlateWaveBinding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n attachWave(el, binding);\n },\n unmount(el: HTMLElement) {\n destroyListeners(el);\n },\n};\n\nexport default PlateWave;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["CLASS_NAME","showAnimation","el","animation","document","createElement","className","appendChild","dataset","activated","String","performance","now","hideAnimation","animations","getElementsByClassName","length","isHiding","diff","Number","delay","Math","max","setTimeout","removeChild","keyboardEventFlag","spawn","event","currentTarget","clean","stop","keyboardSpawn","key","keyboardClean","destroyListeners","removeEventListener","attachWave","binding","init","arguments","undefined","value","modifiers","enabled","addEventListener","PlateWave","mounted","updated","oldValue","unmount"],"sources":["../../../src/directives/plate-wave/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue';\n\nimport './plate-wave.scss';\n\nexport interface PlateWaveBinding\n extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean;\n modifiers: { stop?: boolean };\n}\n\nconst CLASS_NAME = 'y-plate-wave__animation';\n\nfunction showAnimation(el: HTMLElement | null) {\n if (!el) return;\n const animation = document.createElement('span');\n animation.className = CLASS_NAME;\n el.appendChild(animation);\n animation.dataset.activated = String(performance.now());\n}\n\nfunction hideAnimation(el: HTMLElement | null) {\n if (!el) {\n return;\n }\n const animations = el.getElementsByClassName(CLASS_NAME);\n if (animations.length === 0) return;\n const animation = animations[animations.length - 1] as HTMLElement;\n if (animation.dataset.isHiding) return;\n animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n if (animation) {\n el.removeChild(animation);\n }\n }, delay + 300);\n}\n\n/*\n * Event\n * */\n\nlet keyboardEventFlag = false;\n\nfunction spawn(event: Event) {\n showAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction clean(event: Event) {\n hideAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction stop(event: Event) {\n //\n}\n\nfunction keyboardSpawn(event: KeyboardEvent) {\n if (!keyboardEventFlag && (event.key === 'Enter' || event.key === 'Space')) {\n keyboardEventFlag = true;\n showAnimation(event.currentTarget as HTMLElement);\n }\n}\n\nfunction keyboardClean(event: KeyboardEvent) {\n keyboardEventFlag = false;\n hideAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction destroyListeners(el: HTMLElement) {\n el.removeEventListener('mousedown', spawn);\n el.removeEventListener('mouseup', clean);\n el.removeEventListener('mouseleave', clean);\n el.removeEventListener('keydown', keyboardSpawn);\n el.removeEventListener('keyup', keyboardClean);\n}\n\nfunction attachWave(el: HTMLElement, binding: PlateWaveBinding, init = false) {\n const { value, modifiers } = binding;\n let enabled = value ?? true;\n if (typeof value === 'boolean') {\n enabled = value;\n }\n if (!enabled) hideAnimation(el);\n\n if (enabled && init) {\n if (modifiers.stop) {\n el.addEventListener('mousedown', stop);\n return;\n }\n\n el.addEventListener('mousedown', spawn);\n el.addEventListener('mouseup', clean);\n el.addEventListener('mouseleave', clean);\n el.addEventListener('keydown', keyboardSpawn);\n el.addEventListener('keyup', keyboardClean);\n el.addEventListener('blur', clean);\n } else if (!enabled && !init) {\n destroyListeners(el);\n }\n}\n\nexport const PlateWave = {\n mounted(el: HTMLElement, binding: PlateWaveBinding) {\n attachWave(el, binding, true);\n },\n updated(el: HTMLElement, binding: PlateWaveBinding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n attachWave(el, binding);\n },\n unmount(el: HTMLElement) {\n destroyListeners(el);\n },\n};\n\nexport default PlateWave;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ref, shallowRef } from 'vue';
2
- import { useProvided } from "../composables/index.mjs";
2
+ import { useProvided } from "../composables/communication.mjs";
3
3
  import en from "../locales/en.mjs";
4
- import { getObjectValueByPath } from "../util/index.mjs";
4
+ import { getObjectValueByPath } from "../util/common.mjs";
5
5
  const LOCALE_PREFIX = '$yuyeon';
6
6
  function replaceParams(str, params) {
7
7
  return str.replace(/\{(\d+)\}/g, (item, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"built-in.mjs","names":["ref","shallowRef","useProvided","en","getObjectValueByPath","LOCALE_PREFIX","replaceParams","str","params","replace","item","index","String","generateContext","locale","fallbackLocale","messages","translate","key","_len","arguments","length","Array","_key","startsWith","path","localeMessages","value","fallbackMessages","msg","number","options","numberFormat","Intl","NumberFormat","format","getContext","props","localLocale","localFallbackLocale","localMessages","ctx","name","t","n","constructYuyeonI18nAdapter"],"sources":["../../src/i18n/built-in.ts"],"sourcesContent":["import { ref, shallowRef } from 'vue';\r\nimport type { Ref } from 'vue';\r\n\r\nimport { useProvided } from '../composables';\r\nimport en from '../locales/en';\r\nimport { getObjectValueByPath } from '../util';\r\nimport type { LocaleMessages, LocaleModule, LocaleOptions } from './types';\r\n\r\nconst LOCALE_PREFIX = '$yuyeon';\r\n\r\nfunction replaceParams(str: string, params: unknown[]) {\r\n return str.replace(/\\{(\\d+)\\}/g, (item, index) => {\r\n return String(params[+index]);\r\n });\r\n}\r\n\r\nfunction generateContext(\r\n locale: Ref<string>,\r\n fallbackLocale: Ref<string>,\r\n messages: Ref<LocaleMessages>,\r\n) {\r\n function translate(key: string, ...params: unknown[]) {\r\n if (!key.startsWith(LOCALE_PREFIX)) {\r\n return replaceParams(key, params);\r\n }\r\n const path = key.replace(LOCALE_PREFIX, '');\r\n const localeMessages = locale.value && messages.value[locale.value];\r\n const fallbackMessages =\r\n fallbackLocale.value && messages.value[fallbackLocale.value];\r\n\r\n let msg: string = getObjectValueByPath(localeMessages, path, null);\r\n if (!msg) {\r\n msg = getObjectValueByPath(fallbackMessages, path, null);\r\n }\r\n if (!msg) {\r\n msg = key;\r\n }\r\n if (typeof msg !== 'string') {\r\n msg = key;\r\n }\r\n return replaceParams(msg, params);\r\n }\r\n\r\n function number(value: number, options?: Intl.NumberFormatOptions) {\r\n const numberFormat = new Intl.NumberFormat(\r\n [locale.value, fallbackLocale.value],\r\n options,\r\n );\r\n return numberFormat.format(value);\r\n }\r\n\r\n function getContext(props: LocaleOptions) {\r\n const localLocale = useProvided(props, 'locale', locale);\r\n const localFallbackLocale = useProvided(\r\n props,\r\n 'fallbackLocale',\r\n fallbackLocale,\r\n );\r\n const localMessages = useProvided(props, 'messages', messages);\r\n const ctx = generateContext(\r\n localLocale,\r\n localFallbackLocale,\r\n localMessages,\r\n );\r\n return {\r\n name: 'yuyeon',\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n t: ctx.translate,\r\n n: ctx.number,\r\n getContext: ctx.getContext,\r\n };\r\n }\r\n\r\n return {\r\n translate,\r\n number,\r\n getContext,\r\n };\r\n}\r\n\r\nexport function constructYuyeonI18nAdapter(\r\n options?: LocaleOptions,\r\n): LocaleModule {\r\n const locale = shallowRef(options?.locale ?? 'en');\r\n const fallbackLocale = shallowRef(options?.fallbackLocale ?? 'en');\r\n const messages = ref({\r\n en,\r\n ...options?.messages,\r\n });\r\n\r\n const ctx = generateContext(locale, fallbackLocale, messages);\r\n\r\n return {\r\n name: 'yuyeon',\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n t: ctx.translate,\r\n n: ctx.number,\r\n getContext: ctx.getContext,\r\n };\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"built-in.mjs","names":["ref","shallowRef","useProvided","en","getObjectValueByPath","LOCALE_PREFIX","replaceParams","str","params","replace","item","index","String","generateContext","locale","fallbackLocale","messages","translate","key","_len","arguments","length","Array","_key","startsWith","path","localeMessages","value","fallbackMessages","msg","number","options","numberFormat","Intl","NumberFormat","format","getContext","props","localLocale","localFallbackLocale","localMessages","ctx","name","t","n","constructYuyeonI18nAdapter"],"sources":["../../src/i18n/built-in.ts"],"sourcesContent":["import { ref, shallowRef } from 'vue';\nimport type { Ref } from 'vue';\n\nimport { useProvided } from '@/composables/communication';\nimport en from '@/locales/en';\nimport { getObjectValueByPath } from '@/util/common';\n\nimport type { LocaleMessages, LocaleModule, LocaleOptions } from './types';\n\nconst LOCALE_PREFIX = '$yuyeon';\n\nfunction replaceParams(str: string, params: unknown[]) {\n return str.replace(/\\{(\\d+)\\}/g, (item, index) => {\n return String(params[+index]);\n });\n}\n\nfunction generateContext(\n locale: Ref<string>,\n fallbackLocale: Ref<string>,\n messages: Ref<LocaleMessages>,\n) {\n function translate(key: string, ...params: unknown[]) {\n if (!key.startsWith(LOCALE_PREFIX)) {\n return replaceParams(key, params);\n }\n const path = key.replace(LOCALE_PREFIX, '');\n const localeMessages = locale.value && messages.value[locale.value];\n const fallbackMessages =\n fallbackLocale.value && messages.value[fallbackLocale.value];\n\n let msg: string = getObjectValueByPath(localeMessages, path, null);\n if (!msg) {\n msg = getObjectValueByPath(fallbackMessages, path, null);\n }\n if (!msg) {\n msg = key;\n }\n if (typeof msg !== 'string') {\n msg = key;\n }\n return replaceParams(msg, params);\n }\n\n function number(value: number, options?: Intl.NumberFormatOptions) {\n const numberFormat = new Intl.NumberFormat(\n [locale.value, fallbackLocale.value],\n options,\n );\n return numberFormat.format(value);\n }\n\n function getContext(props: LocaleOptions) {\n const localLocale = useProvided(props, 'locale', locale);\n const localFallbackLocale = useProvided(\n props,\n 'fallbackLocale',\n fallbackLocale,\n );\n const localMessages = useProvided(props, 'messages', messages);\n const ctx = generateContext(\n localLocale,\n localFallbackLocale,\n localMessages,\n );\n return {\n name: 'yuyeon',\n locale,\n fallbackLocale,\n messages,\n t: ctx.translate,\n n: ctx.number,\n getContext: ctx.getContext,\n };\n }\n\n return {\n translate,\n number,\n getContext,\n };\n}\n\nexport function constructYuyeonI18nAdapter(\n options?: LocaleOptions,\n): LocaleModule {\n const locale = shallowRef(options?.locale ?? 'en');\n const fallbackLocale = shallowRef(options?.fallbackLocale ?? 'en');\n const messages = ref({\n en,\n ...options?.messages,\n });\n\n const ctx = generateContext(locale, fallbackLocale, messages);\n\n return {\n name: 'yuyeon',\n locale,\n fallbackLocale,\n messages,\n t: ctx.translate,\n n: ctx.number,\n getContext: ctx.getContext,\n };\n}\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,UAAU,QAAQ,KAAK;AAAC,SAG7BC,WAAW;AAAA,OACbC,EAAE;AAAA,SACAC,oBAAoB;AAI7B,MAAMC,aAAa,GAAG,SAAS;AAE/B,SAASC,aAAaA,CAACC,GAAW,EAAEC,MAAiB,EAAE;EACrD,OAAOD,GAAG,CAACE,OAAO,CAAC,YAAY,EAAE,CAACC,IAAI,EAAEC,KAAK,KAAK;IAChD,OAAOC,MAAM,CAACJ,MAAM,CAAC,CAACG,KAAK,CAAC,CAAC;EAC/B,CAAC,CAAC;AACJ;AAEA,SAASE,eAAeA,CACtBC,MAAmB,EACnBC,cAA2B,EAC3BC,QAA6B,EAC7B;EACA,SAASC,SAASA,CAACC,GAAW,EAAwB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAnBb,MAAM,OAAAc,KAAA,CAAAH,IAAA,OAAAA,IAAA,WAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAANf,MAAM,CAAAe,IAAA,QAAAH,SAAA,CAAAG,IAAA;IAAA;IACvC,IAAI,CAACL,GAAG,CAACM,UAAU,CAACnB,aAAa,CAAC,EAAE;MAClC,OAAOC,aAAa,CAACY,GAAG,EAAEV,MAAM,CAAC;IACnC;IACA,MAAMiB,IAAI,GAAGP,GAAG,CAACT,OAAO,CAACJ,aAAa,EAAE,EAAE,CAAC;IAC3C,MAAMqB,cAAc,GAAGZ,MAAM,CAACa,KAAK,IAAIX,QAAQ,CAACW,KAAK,CAACb,MAAM,CAACa,KAAK,CAAC;IACnE,MAAMC,gBAAgB,GACpBb,cAAc,CAACY,KAAK,IAAIX,QAAQ,CAACW,KAAK,CAACZ,cAAc,CAACY,KAAK,CAAC;IAE9D,IAAIE,GAAW,GAAGzB,oBAAoB,CAACsB,cAAc,EAAED,IAAI,EAAE,IAAI,CAAC;IAClE,IAAI,CAACI,GAAG,EAAE;MACRA,GAAG,GAAGzB,oBAAoB,CAACwB,gBAAgB,EAAEH,IAAI,EAAE,IAAI,CAAC;IAC1D;IACA,IAAI,CAACI,GAAG,EAAE;MACRA,GAAG,GAAGX,GAAG;IACX;IACA,IAAI,OAAOW,GAAG,KAAK,QAAQ,EAAE;MAC3BA,GAAG,GAAGX,GAAG;IACX;IACA,OAAOZ,aAAa,CAACuB,GAAG,EAAErB,MAAM,CAAC;EACnC;EAEA,SAASsB,MAAMA,CAACH,KAAa,EAAEI,OAAkC,EAAE;IACjE,MAAMC,YAAY,GAAG,IAAIC,IAAI,CAACC,YAAY,CACxC,CAACpB,MAAM,CAACa,KAAK,EAAEZ,cAAc,CAACY,KAAK,CAAC,EACpCI,OACF,CAAC;IACD,OAAOC,YAAY,CAACG,MAAM,CAACR,KAAK,CAAC;EACnC;EAEA,SAASS,UAAUA,CAACC,KAAoB,EAAE;IACxC,MAAMC,WAAW,GAAGpC,WAAW,CAACmC,KAAK,EAAE,QAAQ,EAAEvB,MAAM,CAAC;IACxD,MAAMyB,mBAAmB,GAAGrC,WAAW,CACrCmC,KAAK,EACL,gBAAgB,EAChBtB,cACF,CAAC;IACD,MAAMyB,aAAa,GAAGtC,WAAW,CAACmC,KAAK,EAAE,UAAU,EAAErB,QAAQ,CAAC;IAC9D,MAAMyB,GAAG,GAAG5B,eAAe,CACzByB,WAAW,EACXC,mBAAmB,EACnBC,aACF,CAAC;IACD,OAAO;MACLE,IAAI,EAAE,QAAQ;MACd5B,MAAM;MACNC,cAAc;MACdC,QAAQ;MACR2B,CAAC,EAAEF,GAAG,CAACxB,SAAS;MAChB2B,CAAC,EAAEH,GAAG,CAACX,MAAM;MACbM,UAAU,EAAEK,GAAG,CAACL;IAClB,CAAC;EACH;EAEA,OAAO;IACLnB,SAAS;IACTa,MAAM;IACNM;EACF,CAAC;AACH;AAEA,OAAO,SAASS,0BAA0BA,CACxCd,OAAuB,EACT;EACd,MAAMjB,MAAM,GAAGb,UAAU,CAAC8B,OAAO,EAAEjB,MAAM,IAAI,IAAI,CAAC;EAClD,MAAMC,cAAc,GAAGd,UAAU,CAAC8B,OAAO,EAAEhB,cAAc,IAAI,IAAI,CAAC;EAClE,MAAMC,QAAQ,GAAGhB,GAAG,CAAC;IACnBG,EAAE;IACF,GAAG4B,OAAO,EAAEf;EACd,CAAC,CAAC;EAEF,MAAMyB,GAAG,GAAG5B,eAAe,CAACC,MAAM,EAAEC,cAAc,EAAEC,QAAQ,CAAC;EAE7D,OAAO;IACL0B,IAAI,EAAE,QAAQ;IACd5B,MAAM;IACNC,cAAc;IACdC,QAAQ;IACR2B,CAAC,EAAEF,GAAG,CAACxB,SAAS;IAChB2B,CAAC,EAAEH,GAAG,CAACX,MAAM;IACbM,UAAU,EAAEK,GAAG,CAACL;EAClB,CAAC;AACH"}
package/lib/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","allComponents","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createDefaultsModule","YUYEON_DEFAULTS_KEY","createI18nModule","YUYEON_I18N_KEY","YUYEON_ICON_KEY","createIconModule","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","defaultsModule","defaults","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","iconModule","icon","components","install","app","yuyeon","root","instance","rtlModule","Object","keys","forEach","componentName","comp","component","directive","provide","config","globalProperties","$yuyeon","_container","_instance","classList","add","setAttribute","console","log","unmount","mount","vm","scope","stop","useYuyeon","Error","appContext"],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Component, ComponentInternalInstance } from 'vue';\r\nimport { getCurrentInstance, nextTick, reactive } from 'vue';\r\nimport * as allComponents from '@/components/';\r\n\r\nimport {\r\n YUYEON_DATE_KEY,\r\n YUYEON_DATE_OPTIONS_KEY,\r\n createDateModule,\r\n} from '@/composables/date';\r\nimport { createDefaultsModule } from '@/composables/defaults';\r\nimport { YUYEON_DEFAULTS_KEY } from '@/composables/defaults/share';\r\nimport { createI18nModule } from '@/composables/i18n';\r\nimport { YUYEON_I18N_KEY } from '@/composables/i18n/share';\r\nimport { YUYEON_ICON_KEY, createIconModule } from '@/composables/icon';\r\nimport {\r\n YUYEON_THEME_KEY,\r\n createThemeModule,\r\n useTheme,\r\n} from '@/composables/theme';\r\nimport PlateWave from '@/directives/plate-wave';\r\nimport { YUYEON_LOGO } from '@/etc';\r\n\r\nimport './styles/base.scss';\r\n\r\nconst defaultOptions = {\r\n credit: true,\r\n};\r\n\r\ndeclare module 'vue' {\r\n interface ComponentCustomProperties {\r\n $yuyeon: any;\r\n }\r\n}\r\n\r\nexport function init(options: any = defaultOptions) {\r\n const defaultsModule = createDefaultsModule(options?.defaults);\r\n const themeModule = createThemeModule(options?.theme);\r\n const i18nModule = createI18nModule(options?.i18n);\r\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\r\n const iconModule = createIconModule(options?.icon);\r\n const components = options?.components ?? allComponents;\r\n\r\n const install = (app: App) => {\r\n themeModule.install(app);\r\n\r\n const yuyeon = reactive({\r\n app: null as ComponentInternalInstance | null,\r\n root: null as HTMLElement | null,\r\n theme: themeModule.instance,\r\n i18n: {\r\n ...i18nModule.localeModule,\r\n ...i18nModule.rtlModule,\r\n },\r\n date: dateModule,\r\n defaults: defaultsModule,\r\n });\r\n\r\n Object.keys(components).forEach((componentName) => {\r\n const comp = components[componentName as keyof typeof components];\r\n if (typeof comp === 'object' && 'name' in comp)\r\n app.component(componentName, comp as Component);\r\n });\r\n\r\n app.directive('plate-wave', PlateWave);\r\n\r\n app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);\r\n app.provide(YUYEON_THEME_KEY, themeModule.instance);\r\n app.provide(YUYEON_ICON_KEY, iconModule);\r\n app.provide(YUYEON_I18N_KEY, {\r\n ...i18nModule.localeModule,\r\n ...i18nModule.rtlModule,\r\n });\r\n app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);\r\n app.provide(YUYEON_DATE_KEY, dateModule.instance);\r\n\r\n app.config.globalProperties.$yuyeon = yuyeon;\r\n\r\n nextTick(() => {\r\n yuyeon.root = app._container;\r\n yuyeon.app = app._instance as any;\r\n if (yuyeon.root) {\r\n yuyeon.root.classList.add('y-root');\r\n yuyeon.root.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n }\r\n });\r\n\r\n if (options?.credit) {\r\n console.log(YUYEON_LOGO);\r\n }\r\n const { unmount, mount } = app;\r\n app.mount = (...args) => {\r\n const vm = mount(...args);\r\n if (!yuyeon.app) {\r\n yuyeon.app = app._instance as any;\r\n }\r\n if (!yuyeon.root) {\r\n nextTick(() => {\r\n yuyeon.root = app._container;\r\n if (yuyeon.root) {\r\n yuyeon.root.classList.add('y-root');\r\n yuyeon.root.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n }\r\n });\r\n }\r\n app.mount = mount;\r\n return vm;\r\n };\r\n app.unmount = () => {\r\n unmount();\r\n themeModule.scope.stop();\r\n app.unmount = unmount;\r\n };\r\n };\r\n\r\n return {\r\n install,\r\n };\r\n}\r\n\r\nexport function useYuyeon() {\r\n const vm = getCurrentInstance();\r\n if (!vm) throw new Error('[yuyeon] Called outside of setup context');\r\n\r\n return vm.appContext.config.globalProperties.$yuyeon;\r\n}\r\n\r\nexport { useTheme };\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","allComponents","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createDefaultsModule","YUYEON_DEFAULTS_KEY","createI18nModule","YUYEON_I18N_KEY","YUYEON_ICON_KEY","createIconModule","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","defaultsModule","defaults","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","iconModule","icon","components","install","app","yuyeon","root","instance","rtlModule","Object","keys","forEach","componentName","comp","component","directive","provide","config","globalProperties","$yuyeon","_container","_instance","classList","add","setAttribute","console","log","unmount","mount","vm","scope","stop","useYuyeon","Error","appContext"],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Component, ComponentInternalInstance } from 'vue';\nimport { getCurrentInstance, nextTick, reactive } from 'vue';\n\nimport * as allComponents from '@/components/';\nimport {\n YUYEON_DATE_KEY,\n YUYEON_DATE_OPTIONS_KEY,\n createDateModule,\n} from '@/composables/date';\nimport { createDefaultsModule } from '@/composables/defaults';\nimport { YUYEON_DEFAULTS_KEY } from '@/composables/defaults/share';\nimport { createI18nModule } from '@/composables/i18n';\nimport { YUYEON_I18N_KEY } from '@/composables/i18n/share';\nimport { YUYEON_ICON_KEY, createIconModule } from '@/composables/icon';\nimport {\n YUYEON_THEME_KEY,\n createThemeModule,\n useTheme,\n} from '@/composables/theme';\nimport PlateWave from '@/directives/plate-wave';\nimport { YUYEON_LOGO } from '@/etc';\n\nimport './styles/base.scss';\n\nconst defaultOptions = {\n credit: true,\n};\n\ndeclare module 'vue' {\n interface ComponentCustomProperties {\n $yuyeon: any;\n }\n}\n\nexport function init(options: any = defaultOptions) {\n const defaultsModule = createDefaultsModule(options?.defaults);\n const themeModule = createThemeModule(options?.theme);\n const i18nModule = createI18nModule(options?.i18n);\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\n const iconModule = createIconModule(options?.icon);\n const components = options?.components ?? allComponents;\n\n const install = (app: App) => {\n themeModule.install(app);\n\n const yuyeon = reactive({\n app: null as ComponentInternalInstance | null,\n root: null as HTMLElement | null,\n theme: themeModule.instance,\n i18n: {\n ...i18nModule.localeModule,\n ...i18nModule.rtlModule,\n },\n date: dateModule,\n defaults: defaultsModule,\n });\n\n Object.keys(components).forEach((componentName) => {\n const comp = components[componentName as keyof typeof components];\n if (typeof comp === 'object' && 'name' in comp)\n app.component(componentName, comp as Component);\n });\n\n app.directive('plate-wave', PlateWave);\n\n app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);\n app.provide(YUYEON_THEME_KEY, themeModule.instance);\n app.provide(YUYEON_ICON_KEY, iconModule);\n app.provide(YUYEON_I18N_KEY, {\n ...i18nModule.localeModule,\n ...i18nModule.rtlModule,\n });\n app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);\n app.provide(YUYEON_DATE_KEY, dateModule.instance);\n\n app.config.globalProperties.$yuyeon = yuyeon;\n\n nextTick(() => {\n yuyeon.root = app._container;\n yuyeon.app = app._instance as any;\n if (yuyeon.root) {\n yuyeon.root.classList.add('y-root');\n yuyeon.root.setAttribute('data-y-root', '');\n themeModule.init(yuyeon);\n }\n });\n\n if (options?.credit) {\n console.log(YUYEON_LOGO);\n }\n const { unmount, mount } = app;\n app.mount = (...args) => {\n const vm = mount(...args);\n if (!yuyeon.app) {\n yuyeon.app = app._instance as any;\n }\n if (!yuyeon.root) {\n nextTick(() => {\n yuyeon.root = app._container;\n if (yuyeon.root) {\n yuyeon.root.classList.add('y-root');\n yuyeon.root.setAttribute('data-y-root', '');\n themeModule.init(yuyeon);\n }\n });\n }\n app.mount = mount;\n return vm;\n };\n app.unmount = () => {\n unmount();\n themeModule.scope.stop();\n app.unmount = unmount;\n };\n };\n\n return {\n install,\n };\n}\n\nexport function useYuyeon() {\n const vm = getCurrentInstance();\n if (!vm) throw new Error('[yuyeon] Called outside of setup context');\n\n return vm.appContext.config.globalProperties.$yuyeon;\n}\n\nexport { useTheme };\n"],"mappings":"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"}
@@ -18,5 +18,9 @@ function redefineComponent(options) {
18
18
  }
19
19
  return options;
20
20
  }
21
+ function defineFunctionalComponent(props, context) {
22
+ context.props = props;
23
+ return context;
24
+ }
21
25
  export { redefineComponent as defineComponent };
22
26
  //# sourceMappingURL=component.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.mjs","names":["useDefaultsModule","useSuperDefaults","redefineComponent","options","_setup","setup","props","ctx","defaults","value","_props","provideSubDefaults","name","setupBindings","defineComponent"],"sources":["../../../src/util/component/component.ts"],"sourcesContent":["import { ComponentOptionsWithObjectProps, ComponentOptionsWithoutProps, defineComponent } from 'vue';\r\nimport type {\r\n Component,\r\n ComponentInjectOptions,\r\n ComponentOptions,\r\n ComponentOptionsMixin,\r\n ComponentPropsOptions,\r\n ComponentProvideOptions,\r\n ComputedOptions,\r\n DefineComponent,\r\n Directive,\r\n EmitsOptions,\r\n MethodOptions,\r\n SlotsType,\r\n} from 'vue';\r\n\r\nimport {\r\n useDefaultsModule,\r\n useSuperDefaults,\r\n} from '../../composables/defaults';\r\nimport { EmitsToProps } from './types';\r\n\r\ntype ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> &\r\n Readonly<EmitsToProps<Emits>>;\r\n\r\n// overload 1: no props from options\r\nfunction redefineComponent<\r\n // props\r\n PropsOptions = {},\r\n //\r\n RawBindings = {},\r\n // emits\r\n E extends EmitsOptions = {},\r\n EE extends string = string,\r\n // other options\r\n Data = {},\r\n SetupBindings = {},\r\n Computed extends ComputedOptions = {},\r\n Methods extends MethodOptions = {},\r\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n InjectOptions extends ComponentInjectOptions = {},\r\n InjectKeys extends string = string,\r\n Slots extends SlotsType = {},\r\n LocalComponents extends Record<string, Component> = {},\r\n Directives extends Record<string, Directive> = {},\r\n Exposed extends string = string,\r\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\r\n>(\r\n options: ComponentOptionsWithoutProps<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE,\r\n InjectOptions,\r\n InjectKeys,\r\n Slots\r\n >,\r\n): DefineComponent<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE\r\n>;\r\n\r\n\r\n// overload 2: defineComponent with options object, infer props from options\r\nfunction redefineComponent<\r\n // props\r\n PropsOptions extends Readonly<ComponentPropsOptions>,\r\n //\r\n RawBindings,\r\n // emits\r\n E extends EmitsOptions = {},\r\n EE extends string = string,\r\n // other options\r\n Data = {},\r\n SetupBindings = {},\r\n Computed extends ComputedOptions = {},\r\n Methods extends MethodOptions = {},\r\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n InjectOptions extends ComponentInjectOptions = {},\r\n InjectKeys extends string = string,\r\n Slots extends SlotsType = {},\r\n LocalComponents extends Record<string, Component> = {},\r\n Directives extends Record<string, Directive> = {},\r\n Exposed extends string = string,\r\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\r\n>(\r\n options: ComponentOptionsWithObjectProps<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE,\r\n InjectOptions,\r\n InjectKeys,\r\n Slots\r\n >,\r\n): DefineComponent<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE\r\n>;\r\n\r\nfunction redefineComponent(options: ComponentOptions) {\r\n options._setup = options._setup ?? options.setup;\r\n\r\n if (options._setup) {\r\n options.setup = function (props, ctx) {\r\n const defaults = useDefaultsModule();\r\n // Skip props proxy if defaults are not provided\r\n if (!defaults.value) return options._setup(props, ctx);\r\n\r\n const { props: _props, provideSubDefaults } = useSuperDefaults(\r\n props,\r\n options.name,\r\n defaults,\r\n );\r\n\r\n const setupBindings = options._setup(_props, ctx);\r\n\r\n provideSubDefaults();\r\n\r\n return setupBindings;\r\n };\r\n }\r\n\r\n return options;\r\n}\r\n\r\nexport { redefineComponent as defineComponent };\r\n"],"mappings":"SAiBEA,iBAAiB,EACjBC,gBAAgB,gDAOlB;AAmDA;AAkDA,SAASC,iBAAiBA,CAACC,OAAyB,EAAE;EACpDA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAIF,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACE,KAAK,GAAG,UAAUC,KAAK,EAAEC,GAAG,EAAE;MACpC,MAAMC,QAAQ,GAAGR,iBAAiB,CAAC,CAAC;MACpC;MACA,IAAI,CAACQ,QAAQ,CAACC,KAAK,EAAE,OAAON,OAAO,CAACC,MAAM,CAACE,KAAK,EAAEC,GAAG,CAAC;MAEtD,MAAM;QAAED,KAAK,EAAEI,MAAM;QAAEC;MAAmB,CAAC,GAAGV,gBAAgB,CAC5DK,KAAK,EACLH,OAAO,CAACS,IAAI,EACZJ,QACF,CAAC;MAED,MAAMK,aAAa,GAAGV,OAAO,CAACC,MAAM,CAACM,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,CAAC,CAAC;MAEpB,OAAOE,aAAa;IACtB,CAAC;EACH;EAEA,OAAOV,OAAO;AAChB;AAEA,SAASD,iBAAiB,IAAIY,eAAe"}
1
+ {"version":3,"file":"component.mjs","names":["useDefaultsModule","useSuperDefaults","redefineComponent","options","_setup","setup","props","ctx","defaults","value","_props","provideSubDefaults","name","setupBindings","defineFunctionalComponent","context","defineComponent"],"sources":["../../../src/util/component/component.ts"],"sourcesContent":["import {\n ComponentObjectPropsOptions,\n ComponentOptionsWithObjectProps,\n ComponentOptionsWithoutProps,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n defineComponent,\n} from 'vue';\nimport type {\n Component,\n ComponentInjectOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentPropsOptions,\n ComponentProvideOptions,\n ComputedOptions,\n DefineComponent,\n Directive,\n EmitsOptions,\n MethodOptions,\n SlotsType,\n} from 'vue';\n\nimport {\n useDefaultsModule,\n useSuperDefaults,\n} from '../../composables/defaults';\nimport { EmitsToProps } from './types';\n\ntype ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> &\n Readonly<EmitsToProps<Emits>>;\n\n// overload 1: no props from options\nfunction redefineComponent<\n // props\n PropsOptions = {},\n //\n RawBindings = {},\n // emits\n E extends EmitsOptions = {},\n EE extends string = string,\n // other options\n Data = {},\n SetupBindings = {},\n Computed extends ComputedOptions = {},\n Methods extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n InjectOptions extends ComponentInjectOptions = {},\n InjectKeys extends string = string,\n Slots extends SlotsType = {},\n LocalComponents extends Record<string, Component> = {},\n Directives extends Record<string, Directive> = {},\n Exposed extends string = string,\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\n>(\n options: ComponentOptionsWithoutProps<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE,\n InjectOptions,\n InjectKeys,\n Slots\n >,\n): DefineComponent<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE\n>;\n\n// overload 2: defineComponent with options object, infer props from options\nfunction redefineComponent<\n // props\n PropsOptions extends Readonly<ComponentPropsOptions>,\n //\n RawBindings,\n // emits\n E extends EmitsOptions = {},\n EE extends string = string,\n // other options\n Data = {},\n SetupBindings = {},\n Computed extends ComputedOptions = {},\n Methods extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n InjectOptions extends ComponentInjectOptions = {},\n InjectKeys extends string = string,\n Slots extends SlotsType = {},\n LocalComponents extends Record<string, Component> = {},\n Directives extends Record<string, Directive> = {},\n Exposed extends string = string,\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\n>(\n options: ComponentOptionsWithObjectProps<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE,\n InjectOptions,\n InjectKeys,\n Slots\n >,\n): DefineComponent<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE\n>;\n\nfunction redefineComponent(options: ComponentOptions) {\n options._setup = options._setup ?? options.setup;\n\n if (options._setup) {\n options.setup = function (props, ctx) {\n const defaults = useDefaultsModule();\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx);\n\n const { props: _props, provideSubDefaults } = useSuperDefaults(\n props,\n options.name,\n defaults,\n );\n\n const setupBindings = options._setup(_props, ctx);\n\n provideSubDefaults();\n\n return setupBindings;\n };\n }\n\n return options;\n}\n\nfunction defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n>(\n props: PropsOptions,\n context: T,\n): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n context.props = props as any;\n return context as any;\n}\n\nexport { redefineComponent as defineComponent };\n"],"mappings":"SAyBEA,iBAAiB,EACjBC,gBAAgB,gDAOlB;AAkDA;AAkDA,SAASC,iBAAiBA,CAACC,OAAyB,EAAE;EACpDA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAIF,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACE,KAAK,GAAG,UAAUC,KAAK,EAAEC,GAAG,EAAE;MACpC,MAAMC,QAAQ,GAAGR,iBAAiB,CAAC,CAAC;MACpC;MACA,IAAI,CAACQ,QAAQ,CAACC,KAAK,EAAE,OAAON,OAAO,CAACC,MAAM,CAACE,KAAK,EAAEC,GAAG,CAAC;MAEtD,MAAM;QAAED,KAAK,EAAEI,MAAM;QAAEC;MAAmB,CAAC,GAAGV,gBAAgB,CAC5DK,KAAK,EACLH,OAAO,CAACS,IAAI,EACZJ,QACF,CAAC;MAED,MAAMK,aAAa,GAAGV,OAAO,CAACC,MAAM,CAACM,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,CAAC,CAAC;MAEpB,OAAOE,aAAa;IACtB,CAAC;EACH;EAEA,OAAOV,OAAO;AAChB;AAEA,SAASW,yBAAyBA,CAMhCR,KAAmB,EACnBS,OAAU,EAC4D;EACtEA,OAAO,CAACT,KAAK,GAAGA,KAAY;EAC5B,OAAOS,OAAO;AAChB;AAEA,SAASb,iBAAiB,IAAIc,eAAe"}
package/package.json CHANGED
@@ -1,117 +1,120 @@
1
- {
2
- "name": "yuyeon",
3
- "version": "0.2.3-rc.1",
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
- "./locales": "./lib/locales/index.mjs",
28
- "./lib": {
29
- "types": "./types/index.d.ts"
30
- },
31
- "./components": {
32
- "types": "./types/components/index.d.ts",
33
- "module": "./lib/components/index.mjs"
34
- },
35
- "./composables": {
36
- "types": "./types/composables/index.d.ts",
37
- "module": "./lib/composables/index.mjs",
38
- "default": "./lib/composables/index.mjs"
39
- },
40
- "./util": {
41
- "types": "./types/util/index.d.ts",
42
- "module": "./lib/util/index.mjs"
43
- },
44
- "./components/*": "./lib/components/*/index.mjs",
45
- "./shims": "./types/shims.d.ts",
46
- "./types/*": "./types/*",
47
- "./*": "./*"
48
- },
49
- "main": "lib/index.mjs",
50
- "module": "lib/index.mjs",
51
- "types": "types/index.d.ts",
52
- "typesVersions": {
53
- "*": {
54
- "lib/index.mjs": [
55
- "types/index.d.ts"
56
- ],
57
- "*": [
58
- "*",
59
- "types/*",
60
- "types/*.d.ts",
61
- "types/*/index.d.ts"
62
- ]
63
- }
64
- },
65
- "scripts": {
66
- "build": "vue-tsc && vite build && yarn run build:lib",
67
- "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"
68
- },
69
- "dependencies": {
70
- "motion": "^10.15.5"
71
- },
72
- "devDependencies": {
73
- "@babel/cli": "^7.21.0",
74
- "@babel/core": "^7.21.3",
75
- "@babel/preset-env": "^7.20.2",
76
- "@babel/preset-typescript": "^7.21.0",
77
- "@rollup/plugin-alias": "^4.0.3",
78
- "@rollup/plugin-babel": "^6.0.3",
79
- "@rollup/plugin-node-resolve": "^15.2.3",
80
- "@rollup/plugin-typescript": "^11.0.0",
81
- "@trivago/prettier-plugin-sort-imports": "^4.3.0",
82
- "@types/jest": "^28.1.8",
83
- "@types/node": "^18.19.1",
84
- "@types/resize-observer-browser": "^0.1.7",
85
- "@vitejs/plugin-vue": "^5.0.5",
86
- "@vitejs/plugin-vue-jsx": "^4.0.0",
87
- "@vue/babel-plugin-jsx": "^1.2.2",
88
- "@vue/test-utils": "2.4.6",
89
- "autoprefixer": "^10.4.14",
90
- "babel-plugin-add-import-extension": "1.5.1",
91
- "babel-plugin-module-resolver": "^5.0.0",
92
- "babel-plugin-transform-define": "^2.1.0",
93
- "babel-polyfill": "^6.26.0",
94
- "concurrently": "^4.1.1",
95
- "cross-env": "^7.0.3",
96
- "rollup": "^3.20.2",
97
- "rollup-plugin-dts": "^5.3.0",
98
- "rollup-plugin-sass": "^1.2.19",
99
- "rollup-plugin-sourcemaps": "^0.6.3",
100
- "rollup-plugin-terser": "^7.0.2",
101
- "sass": "^1.63.3",
102
- "vite": "^5.3.1",
103
- "vite-plugin-dts": "^3.9.1",
104
- "vue-router": "^4.3.3",
105
- "vue-tsc": "^2.0.21"
106
- },
107
- "peerDependencies": {
108
- "motion": "^10.15.5",
109
- "vue": "^3.3.0",
110
- "vue-i18n": "^9.0.0"
111
- },
112
- "peerDependenciesMeta": {
113
- "vue-i18n": {
114
- "optional": true
115
- }
116
- }
117
- }
1
+ {
2
+ "name": "yuyeon",
3
+ "version": "0.2.3-rc.10",
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
+ "./locales": {
28
+ "types": "./types/locales/index.d.ts",
29
+ "default": "./lib/locales/index.mjs"
30
+ },
31
+ "./lib": {
32
+ "types": "./types/index.d.ts"
33
+ },
34
+ "./components": {
35
+ "types": "./types/components/index.d.ts",
36
+ "module": "./lib/components/index.mjs"
37
+ },
38
+ "./components/*": "./lib/components/*/index.mjs",
39
+ "./composables": {
40
+ "types": "./types/composables/index.d.ts",
41
+ "module": "./lib/composables/index.mjs",
42
+ "default": "./lib/composables/index.mjs"
43
+ },
44
+ "./util": {
45
+ "types": "./types/util/index.d.ts",
46
+ "module": "./lib/util/index.mjs"
47
+ },
48
+ "./shims": "./types/shims.d.ts",
49
+ "./types/*": "./types/*",
50
+ "./*": "./*"
51
+ },
52
+ "main": "lib/index.mjs",
53
+ "module": "lib/index.mjs",
54
+ "types": "types/index.d.ts",
55
+ "typesVersions": {
56
+ "*": {
57
+ "lib/index.mjs": [
58
+ "types/index.d.ts"
59
+ ],
60
+ "*": [
61
+ "*",
62
+ "types/*",
63
+ "types/*.d.ts",
64
+ "types/*/index.d.ts"
65
+ ]
66
+ }
67
+ },
68
+ "scripts": {
69
+ "build": "vue-tsc && vite build && yarn run build:lib",
70
+ "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"
71
+ },
72
+ "dependencies": {
73
+ "motion": "^10.15.5"
74
+ },
75
+ "devDependencies": {
76
+ "@babel/cli": "^7.21.0",
77
+ "@babel/core": "^7.21.3",
78
+ "@babel/preset-env": "^7.20.2",
79
+ "@babel/preset-typescript": "^7.21.0",
80
+ "@rollup/plugin-alias": "^4.0.3",
81
+ "@rollup/plugin-babel": "^6.0.3",
82
+ "@rollup/plugin-node-resolve": "^15.2.3",
83
+ "@rollup/plugin-typescript": "^11.0.0",
84
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
85
+ "@types/jest": "^28.1.8",
86
+ "@types/node": "^18.19.1",
87
+ "@types/resize-observer-browser": "^0.1.7",
88
+ "@vitejs/plugin-vue": "^5.0.5",
89
+ "@vitejs/plugin-vue-jsx": "^4.0.0",
90
+ "@vue/babel-plugin-jsx": "^1.2.2",
91
+ "@vue/test-utils": "2.4.6",
92
+ "autoprefixer": "^10.4.14",
93
+ "babel-plugin-add-import-extension": "1.5.1",
94
+ "babel-plugin-module-resolver": "^5.0.0",
95
+ "babel-plugin-transform-define": "^2.1.0",
96
+ "babel-polyfill": "^6.26.0",
97
+ "concurrently": "^4.1.1",
98
+ "cross-env": "^7.0.3",
99
+ "rollup": "^4.22.4",
100
+ "rollup-plugin-dts": "^5.3.0",
101
+ "rollup-plugin-sass": "^1.2.19",
102
+ "rollup-plugin-sourcemaps": "^0.6.3",
103
+ "rollup-plugin-terser": "^7.0.2",
104
+ "sass": "^1.63.3",
105
+ "vite": "^5.4.6",
106
+ "vite-plugin-dts": "^3.9.1",
107
+ "vue-router": "^4.3.3",
108
+ "vue-tsc": "^2.0.21"
109
+ },
110
+ "peerDependencies": {
111
+ "motion": "^10.15.5",
112
+ "vue": "^3.3.0",
113
+ "vue-i18n": "^9.0.0 || ^10.0.0"
114
+ },
115
+ "peerDependenciesMeta": {
116
+ "vue-i18n": {
117
+ "optional": true
118
+ }
119
+ }
120
+ }
@@ -18,6 +18,6 @@ export declare const YCheckbox: import('vue').DefineComponent<{
18
18
  disabled: PropType<boolean>;
19
19
  readonly: PropType<boolean>;
20
20
  }, {
21
- checked: import('vue').Ref<boolean>;
21
+ checked: import('vue').Ref<boolean, boolean>;
22
22
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("blur" | "change" | "click" | "focus" | "update:modelValue")[], "blur" | "change" | "click" | "focus" | "update:modelValue">;
23
23
  export type YCheckbox = InstanceType<typeof YCheckbox>;