yuyeon 0.0.25 → 0.0.27

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 (109) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +5882 -5489
  3. package/dist/yuyeon.umd.cjs +3 -3
  4. package/lib/components/alert/YAlert.mjs +59 -10
  5. package/lib/components/alert/YAlert.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.scss +76 -0
  7. package/lib/components/alert/index.mjs +1 -1
  8. package/lib/components/alert/index.mjs.map +1 -1
  9. package/lib/components/button/YButton.mjs +79 -74
  10. package/lib/components/button/YButton.mjs.map +1 -1
  11. package/lib/components/button/YButton.scss +1 -1
  12. package/lib/components/card/YCard.scss +1 -1
  13. package/lib/components/checkbox/YCheckbox.mjs +6 -6
  14. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  15. package/lib/components/checkbox/YCheckbox.scss +48 -48
  16. package/lib/components/checkbox/YInputCheckbox.scss +3 -3
  17. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  18. package/lib/components/field-input/YFieldInput.scss +1 -10
  19. package/lib/components/index.mjs +2 -0
  20. package/lib/components/index.mjs.map +1 -1
  21. package/lib/components/input/YInput.scss +1 -1
  22. package/lib/components/select/YSelect.mjs.map +1 -1
  23. package/lib/components/switch/YSwitch.scss +1 -1
  24. package/lib/components/tab/YTab.mjs +57 -7
  25. package/lib/components/tab/YTab.mjs.map +1 -1
  26. package/lib/components/tab/YTab.scss +59 -0
  27. package/lib/components/tab/YTabs.mjs +50 -8
  28. package/lib/components/tab/YTabs.mjs.map +1 -1
  29. package/lib/components/tab/YTabs.scss +10 -0
  30. package/lib/components/tab/index.mjs +1 -0
  31. package/lib/components/tab/index.mjs.map +1 -1
  32. package/lib/components/tab/shared.mjs +2 -0
  33. package/lib/components/tab/shared.mjs.map +1 -0
  34. package/lib/components/tab/types.mjs +2 -0
  35. package/lib/components/tab/types.mjs.map +1 -0
  36. package/lib/components/table/YTable.scss +3 -2
  37. package/lib/components/toggle-button/YToggleButton.mjs +2 -0
  38. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -0
  39. package/lib/components/toggle-button/index.mjs +2 -0
  40. package/lib/components/toggle-button/index.mjs.map +1 -0
  41. package/lib/components/tooltip/YTooltip.mjs +3 -3
  42. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  43. package/lib/components/tree-view/YTreeView.mjs +1 -1
  44. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  45. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  46. package/lib/composables/choice.mjs +1 -1
  47. package/lib/composables/choice.mjs.map +1 -1
  48. package/lib/composables/communication.mjs +1 -1
  49. package/lib/composables/communication.mjs.map +1 -1
  50. package/lib/composables/index.mjs +2 -0
  51. package/lib/composables/index.mjs.map +1 -0
  52. package/lib/composables/theme/setting.mjs +16 -2
  53. package/lib/composables/theme/setting.mjs.map +1 -1
  54. package/lib/composables/timing.mjs.map +1 -1
  55. package/lib/composables/vue-router.mjs +32 -0
  56. package/lib/composables/vue-router.mjs.map +1 -0
  57. package/lib/styles/_palette.scss +1 -90
  58. package/lib/styles/_variables.scss +2 -0
  59. package/lib/styles/base.scss +4 -1
  60. package/lib/styles/theme/dark.scss +11 -21
  61. package/lib/styles/theme/light.scss +11 -21
  62. package/lib/util/index.mjs +16 -0
  63. package/lib/util/index.mjs.map +1 -0
  64. package/lib/util/reactivity.mjs +5 -0
  65. package/lib/util/reactivity.mjs.map +1 -1
  66. package/lib/util/vue-component.mjs +24 -0
  67. package/lib/util/vue-component.mjs.map +1 -1
  68. package/package.json +11 -1
  69. package/types/components/alert/YAlert.d.ts +18 -0
  70. package/types/components/alert/index.d.ts +1 -0
  71. package/types/components/button/YButton.d.ts +96 -42
  72. package/types/components/checkbox/YInputCheckbox.d.ts +1 -1
  73. package/types/components/dropdown/YDropdown.d.ts +3 -3
  74. package/types/components/field-input/YFieldInput.d.ts +26 -44
  75. package/types/components/index.d.ts +2 -0
  76. package/types/components/input/YInput.d.ts +16 -16
  77. package/types/components/layer/YLayer.d.ts +8 -8
  78. package/types/components/list/YList.d.ts +2 -2
  79. package/types/components/list/YListItem.d.ts +3 -3
  80. package/types/components/pagination/YPagination.d.ts +6 -6
  81. package/types/components/select/YSelect.d.ts +35 -53
  82. package/types/components/tab/YTab.d.ts +282 -7
  83. package/types/components/tab/YTabs.d.ts +111 -3
  84. package/types/components/tab/index.d.ts +1 -0
  85. package/types/components/tab/shared.d.ts +3 -0
  86. package/types/components/tab/types.d.ts +4 -0
  87. package/types/components/table/YDataTable.d.ts +7 -7
  88. package/types/components/table/YDataTableHead.d.ts +3 -3
  89. package/types/components/table/YDataTableRow.d.ts +3 -3
  90. package/types/components/table/YDataTableServer.d.ts +7 -7
  91. package/types/components/table/composibles/items.d.ts +1 -1
  92. package/types/components/table/composibles/selection.d.ts +1 -1
  93. package/types/components/table/composibles/sorting.d.ts +1 -1
  94. package/types/components/toggle-button/YToggleButton.d.ts +3 -0
  95. package/types/components/toggle-button/index.d.ts +1 -0
  96. package/types/components/tree-view/YTreeViewNode.d.ts +6 -6
  97. package/types/composables/choice.d.ts +107 -0
  98. package/types/composables/dimension.d.ts +6 -6
  99. package/types/composables/focus.d.ts +2 -2
  100. package/types/composables/list-items.d.ts +1 -1
  101. package/types/composables/theme/index.d.ts +1 -1
  102. package/types/composables/vue-router.d.ts +43 -0
  103. package/types/shims.d.ts +7 -1
  104. package/types/util/collection.d.ts +1 -0
  105. package/types/util/frame-scheduler.d.ts +7 -0
  106. package/types/util/index.d.ts +15 -0
  107. package/types/util/reactivity.d.ts +4 -0
  108. package/types/util/validation.d.ts +3 -0
  109. package/types/util/vue-component.d.ts +8 -4
@@ -0,0 +1,32 @@
1
+ import { computed, resolveDynamicComponent, toRef } from 'vue';
2
+ import { hasEventProp, propsFactory } from "../util/index.mjs";
3
+ export const pressVueRouterPropsOptions = propsFactory({
4
+ href: String,
5
+ replace: Boolean,
6
+ to: [String, Object],
7
+ exact: Boolean
8
+ }, 'VueRouter');
9
+ export function useLink(props, attrs) {
10
+ const RouterLink = resolveDynamicComponent('RouterLink');
11
+ const isLink = computed(() => !!(props.href || props.to));
12
+ const isClickable = computed(() => {
13
+ return isLink?.value || hasEventProp(attrs, 'click') || hasEventProp(props, 'click');
14
+ });
15
+ if (typeof RouterLink === 'string') {
16
+ return {
17
+ isLink,
18
+ isClickable,
19
+ href: toRef(props, 'href')
20
+ };
21
+ }
22
+ const link = props.to ? RouterLink.useLink(props) : undefined;
23
+ return {
24
+ isLink,
25
+ isClickable,
26
+ route: link?.route,
27
+ navigate: link?.navigate,
28
+ isActive: link && computed(() => props.exact ? link.isExactActive?.value : link.isActive?.value),
29
+ href: computed(() => props.to ? link?.route.value.href : props.href)
30
+ };
31
+ }
32
+ //# sourceMappingURL=vue-router.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-router.mjs","names":["computed","resolveDynamicComponent","toRef","hasEventProp","propsFactory","pressVueRouterPropsOptions","href","String","replace","Boolean","to","Object","exact","useLink","props","attrs","RouterLink","isLink","isClickable","value","link","undefined","route","navigate","isActive","isExactActive"],"sources":["../../src/composables/vue-router.ts"],"sourcesContent":["import type { ComputedRef, PropType, Ref, SetupContext } from 'vue';\nimport { computed, resolveDynamicComponent, toRef } from 'vue';\nimport type {\n RouteLocationRaw,\n UseLinkOptions,\n RouterLink as VueRouterLink,\n} from 'vue-router';\nimport { useLink as _useLink } from 'vue-router';\n\nimport { EventProp, hasEventProp, propsFactory } from '../util';\n\nexport interface LinkProps {\n href: string | undefined;\n replace: boolean | undefined;\n to: RouteLocationRaw | undefined;\n exact: boolean | undefined;\n}\n\nexport interface LinkListeners {\n onClick?: EventProp | undefined;\n onClickOnce?: EventProp | undefined;\n}\n\nexport const pressVueRouterPropsOptions = propsFactory(\n {\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n exact: Boolean,\n },\n 'VueRouter',\n);\n\nexport interface UseLink\n extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>;\n isClickable: ComputedRef<boolean>;\n href: Ref<string | undefined>;\n}\n\nexport function useLink(\n props: LinkProps & LinkListeners,\n attrs: SetupContext['attrs'],\n): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as\n | typeof VueRouterLink\n | string;\n\n const isLink = computed(() => !!(props.href || props.to));\n const isClickable = computed(() => {\n return (\n isLink?.value ||\n hasEventProp(attrs, 'click') ||\n hasEventProp(props, 'click')\n );\n });\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n };\n }\n const link = props.to\n ? RouterLink.useLink(props as UseLinkOptions)\n : undefined;\n return {\n isLink,\n isClickable,\n route: link?.route,\n navigate: link?.navigate,\n isActive:\n link &&\n computed(() =>\n props.exact ? link.isExactActive?.value : link.isActive?.value,\n ),\n href: computed(() => (props.to ? link?.route.value.href : props.href)),\n };\n}\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,uBAAuB,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAQ3CC,YAAY,EAAEC,YAAY;AAc9C,OAAO,MAAMC,0BAA0B,GAAGD,YAAY,CACpD;EACEE,IAAI,EAAEC,MAAM;EACZC,OAAO,EAAEC,OAAO;EAChBC,EAAE,EAAE,CAACH,MAAM,EAAEI,MAAM,CAA+B;EAClDC,KAAK,EAAEH;AACT,CAAC,EACD,WACF,CAAC;AASD,OAAO,SAASI,OAAOA,CACrBC,KAAgC,EAChCC,KAA4B,EACnB;EACT,MAAMC,UAAU,GAAGf,uBAAuB,CAAC,YAAY,CAE7C;EAEV,MAAMgB,MAAM,GAAGjB,QAAQ,CAAC,MAAM,CAAC,EAAEc,KAAK,CAACR,IAAI,IAAIQ,KAAK,CAACJ,EAAE,CAAC,CAAC;EACzD,MAAMQ,WAAW,GAAGlB,QAAQ,CAAC,MAAM;IACjC,OACEiB,MAAM,EAAEE,KAAK,IACbhB,YAAY,CAACY,KAAK,EAAE,OAAO,CAAC,IAC5BZ,YAAY,CAACW,KAAK,EAAE,OAAO,CAAC;EAEhC,CAAC,CAAC;EACF,IAAI,OAAOE,UAAU,KAAK,QAAQ,EAAE;IAClC,OAAO;MACLC,MAAM;MACNC,WAAW;MACXZ,IAAI,EAAEJ,KAAK,CAACY,KAAK,EAAE,MAAM;IAC3B,CAAC;EACH;EACA,MAAMM,IAAI,GAAGN,KAAK,CAACJ,EAAE,GACjBM,UAAU,CAACH,OAAO,CAACC,KAAuB,CAAC,GAC3CO,SAAS;EACb,OAAO;IACLJ,MAAM;IACNC,WAAW;IACXI,KAAK,EAAEF,IAAI,EAAEE,KAAK;IAClBC,QAAQ,EAAEH,IAAI,EAAEG,QAAQ;IACxBC,QAAQ,EACNJ,IAAI,IACJpB,QAAQ,CAAC,MACPc,KAAK,CAACF,KAAK,GAAGQ,IAAI,CAACK,aAAa,EAAEN,KAAK,GAAGC,IAAI,CAACI,QAAQ,EAAEL,KAC3D,CAAC;IACHb,IAAI,EAAEN,QAAQ,CAAC,MAAOc,KAAK,CAACJ,EAAE,GAAGU,IAAI,EAAEE,KAAK,CAACH,KAAK,CAACb,IAAI,GAAGQ,KAAK,CAACR,IAAK;EACvE,CAAC;AACH"}
@@ -1,90 +1 @@
1
- // red
2
- $basic-red-900: #a60000;
3
- $basic-red-800: #cc1f1f;
4
- $basic-red-700: #ff4040;
5
- $basic-red-600: #ff5959;
6
- $basic-red-500: #ff7272;
7
- $basic-red-400: #ff8d8d;
8
- $basic-red-300: #ffa2a2;
9
- $basic-red-200: #ffbfbf;
10
- $basic-red-100: #ffd9d9;
11
- $basic-red-50: #fff6f6;
12
-
13
- // orange
14
- $basic-orange-900: #f16a24;
15
- $basic-orange-800: #f17738;
16
- $basic-orange-700: #ff9639;
17
- $basic-orange-600: #ffa75a;
18
- $basic-orange-500: #f3ae71;
19
- $basic-orange-400: #f3bd71;
20
- $basic-orange-300: #ffd00f;
21
- $basic-orange-200: #ffe8ba;
22
- $basic-orange-100: #fff1c7;
23
- $basic-orange-50: #fffaec;
24
-
25
- // green
26
- $basic-green-900: #056653;
27
- $basic-green-800: #0d8069;
28
- $basic-green-700: #1f927c;
29
- $basic-green-600: #4ba694;
30
- $basic-green-500: #5bb2a1;
31
- $basic-green-400: #68ccb9;
32
- $basic-green-300: #77d9c6;
33
- $basic-green-200: #8ae6d4;
34
- $basic-green-100: #ace6da;
35
- $basic-green-50: #f2fffd;
36
-
37
- // blue
38
- $basic-blue-900: #003a9f;
39
- $basic-blue-800: #0c5db9;
40
- $basic-blue-700: #236dc1;
41
- $basic-blue-600: #407fc6;
42
- $basic-blue-500: #4091c6;
43
- $basic-blue-400: #79c2f2;
44
- $basic-blue-300: #a6dcff;
45
- $basic-blue-200: #ccebff;
46
- $basic-blue-100: #f2faff;
47
- $basic-blue-50: #f6fcff;
48
-
49
- // violet
50
- $basic-violet-900: #460d80;
51
- $basic-violet-800: #581799;
52
- $basic-violet-700: #6b24b3;
53
- $basic-violet-600: #7436b3;
54
- $basic-violet-500: #7d47b3;
55
- $basic-violet-400: #9857d9;
56
- $basic-violet-300: #c89df2;
57
- $basic-violet-250: #e9dfff;
58
- $basic-violet-200: #f2e6ff;
59
- $basic-violet-100: #f9f2ff;
60
- $basic-violet-50: #faf8ff;
61
-
62
- // gray
63
- $basic-gray-900: #323232;
64
- $basic-gray-800: #505050;
65
- $basic-gray-700: #707070;
66
- $basic-gray-600: #939194;
67
- $basic-gray-500: #b4b4b4;
68
- $basic-gray-400: #c8c8c8;
69
- $basic-gray-300: #dcdcdc;
70
- $basic-gray-200: #f0f0f0;
71
- $basic-gray-100: #f5f5f5;
72
- $basic-gray-50: #fafafa;
73
-
74
- //
75
- $basic-disable: #c8bab4;
76
- $basic-black: #141414;
77
- $content-gray: #666666;
78
- $background-color: #f5f5ff;
79
-
80
- // Text
81
- $text-black: $basic-black;
82
- $text-white: #ffffff;
83
-
84
- // Alert
85
- $alert-positive: #47b267;
86
- $alert-negative: #ff4d4d;
87
- $alert-warning: #ffc70e;
88
- $alert-link: #4781cc;
89
-
90
- $primary: #4f97dc !default;
1
+ $basic-black: #000;
@@ -1 +1,3 @@
1
+ @forward './settings/variables';
2
+
1
3
  $border-radius-root: 10px !default;
@@ -2,7 +2,6 @@
2
2
  @use 'settings/provided';
3
3
  @use 'settings/variables';
4
4
  @use 'palette';
5
-
6
5
  @use 'elevation';
7
6
 
8
7
  :root {
@@ -117,3 +116,7 @@
117
116
  .text-color--error {
118
117
  color: var(--y-theme-error);
119
118
  }
119
+
120
+ .flex-wrap {
121
+ flex-wrap: wrap;
122
+ }
@@ -1,21 +1,11 @@
1
- @use 'sass:map';
2
- @use '../../styles/palette';
3
- @use '../util/helper';
4
-
5
- // yui/app theme
6
- $theme--dark: () !default;
7
- $theme--dark: map.deep-merge(
8
- (
9
- 'input': (
10
- 'fill': palette.$basic-gray-200,
11
- ),
12
- 'fieldInput': (
13
- 'clear': palette.$basic-gray-400,
14
- ),
15
- 'select': (
16
- 'selected': palette.$basic-black,
17
- 'selected-background': palette.$basic-gray-700,
18
- ),
19
- ),
20
- $theme--dark
21
- );
1
+ @use 'sass:map';
2
+
3
+ @use '../util/helper';
4
+
5
+ // yui/app theme
6
+ $theme--dark: () !default;
7
+ $theme--dark: map.deep-merge(
8
+ (
9
+ ),
10
+ $theme--dark
11
+ );
@@ -1,21 +1,11 @@
1
- @use 'sass:map';
2
- @use '../../styles/palette';
3
- @use '../util/helper';
4
-
5
- // yui theme
6
- $theme--light: () !default;
7
- $theme--light: map.deep-merge(
8
- (
9
- 'input': (
10
- 'fill': palette.$basic-gray-200,
11
- ),
12
- 'fieldInput': (
13
- 'clear': palette.$basic-gray-400,
14
- ),
15
- 'select': (
16
- 'selected': palette.$basic-black,
17
- 'selected-background': palette.$basic-gray-700,
18
- )
19
- ),
20
- $theme--light
21
- );
1
+ @use 'sass:map';
2
+
3
+ @use '../util/helper';
4
+
5
+ // yui theme
6
+ $theme--light: () !default;
7
+ $theme--light: map.deep-merge(
8
+ (
9
+ ),
10
+ $theme--light
11
+ );
@@ -0,0 +1,16 @@
1
+ export * from "./common.mjs";
2
+ export * from "./collection.mjs";
3
+ export * from "./array.mjs";
4
+ export * from "./string.mjs";
5
+ export * from "./validation.mjs";
6
+ export * from "./debounce.mjs";
7
+ export * from "./dom.mjs";
8
+ export * from "./ui.mjs";
9
+ export * from "./rect.mjs";
10
+ export * from "./anchor.mjs";
11
+ export * from "./scroll.mjs";
12
+ export * from "./frame-scheduler.mjs";
13
+ export * from "./vue-component.mjs";
14
+ export * from "./reactivity.mjs";
15
+ export * from "./color/index.mjs";
16
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/util/index.ts"],"sourcesContent":["export * from './common';\r\nexport * from './collection';\r\nexport * from './array';\r\nexport * from './string';\r\nexport * from './validation';\r\nexport * from './debounce';\r\nexport * from './dom';\r\nexport * from './ui';\r\nexport * from './rect';\r\nexport * from './anchor';\r\nexport * from './scroll';\r\nexport * from './frame-scheduler';\r\nexport * from './vue-component';\r\nexport * from './reactivity';\r\nexport * from './color';\r\n"],"mappings":""}
@@ -1,4 +1,9 @@
1
1
  import { computed, reactive, toRefs, watchEffect } from 'vue';
2
+
3
+ /**
4
+ * For Destructuring assignment
5
+ * @param getter
6
+ */
2
7
  export function $computed(getter) {
3
8
  const refs = reactive({});
4
9
  const base = computed(getter);
@@ -1 +1 @@
1
- {"version":3,"file":"reactivity.mjs","names":["computed","reactive","toRefs","watchEffect","$computed","getter","refs","base","key","value","flush"],"sources":["../../src/util/reactivity.ts"],"sourcesContent":["import type { ComputedGetter } from 'vue';\nimport { computed, reactive, toRefs, watchEffect } from 'vue';\n\nexport function $computed<T extends object>(getter: ComputedGetter<T>) {\n const refs = reactive({}) as T;\n const base = computed(getter);\n watchEffect(\n () => {\n for (const key in base.value) {\n refs[key] = base.value[key];\n }\n },\n { flush: 'sync' },\n );\n return toRefs(refs);\n}\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,QAAQ,KAAK;AAE7D,OAAO,SAASC,SAASA,CAAmBC,MAAyB,EAAE;EACrE,MAAMC,IAAI,GAAGL,QAAQ,CAAC,CAAC,CAAC,CAAM;EAC9B,MAAMM,IAAI,GAAGP,QAAQ,CAACK,MAAM,CAAC;EAC7BF,WAAW,CACT,MAAM;IACJ,KAAK,MAAMK,GAAG,IAAID,IAAI,CAACE,KAAK,EAAE;MAC5BH,IAAI,CAACE,GAAG,CAAC,GAAGD,IAAI,CAACE,KAAK,CAACD,GAAG,CAAC;IAC7B;EACF,CAAC,EACD;IAAEE,KAAK,EAAE;EAAO,CAClB,CAAC;EACD,OAAOR,MAAM,CAACI,IAAI,CAAC;AACrB"}
1
+ {"version":3,"file":"reactivity.mjs","names":["computed","reactive","toRefs","watchEffect","$computed","getter","refs","base","key","value","flush"],"sources":["../../src/util/reactivity.ts"],"sourcesContent":["import type { ComputedGetter } from 'vue';\r\nimport { computed, reactive, toRefs, watchEffect } from 'vue';\r\n\r\n/**\r\n * For Destructuring assignment\r\n * @param getter\r\n */\r\nexport function $computed<T extends object>(getter: ComputedGetter<T>) {\r\n const refs = reactive({}) as T;\r\n const base = computed(getter);\r\n watchEffect(\r\n () => {\r\n for (const key in base.value) {\r\n refs[key] = base.value[key];\r\n }\r\n },\r\n { flush: 'sync' },\r\n );\r\n return toRefs(refs);\r\n}\r\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,QAAQ,KAAK;;AAE7D;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAmBC,MAAyB,EAAE;EACrE,MAAMC,IAAI,GAAGL,QAAQ,CAAC,CAAC,CAAC,CAAM;EAC9B,MAAMM,IAAI,GAAGP,QAAQ,CAACK,MAAM,CAAC;EAC7BF,WAAW,CACT,MAAM;IACJ,KAAK,MAAMK,GAAG,IAAID,IAAI,CAACE,KAAK,EAAE;MAC5BH,IAAI,CAACE,GAAG,CAAC,GAAGD,IAAI,CAACE,KAAK,CAACD,GAAG,CAAC;IAC7B;EACF,CAAC,EACD;IAAEE,KAAK,EAAE;EAAO,CAClB,CAAC;EACD,OAAOR,MAAM,CAACI,IAAI,CAAC;AACrB"}
@@ -1,3 +1,4 @@
1
+ import { capitalize } from '@vue/runtime-core';
1
2
  import { getCurrentInstance } from 'vue';
2
3
  import { hasOwnProperty } from "./common.mjs";
3
4
  export function getSlot(vm) {
@@ -44,6 +45,23 @@ export function bindClasses(classes) {
44
45
  export function getHtmlElement(node) {
45
46
  return node && hasOwnProperty(node, '$el') ? node.$el : node;
46
47
  }
48
+ export function findChildrenWithProvide(key, vnode) {
49
+ if (!vnode || typeof vnode !== 'object') {
50
+ return [];
51
+ }
52
+ if (Array.isArray(vnode)) {
53
+ return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);
54
+ } else if (Array.isArray(vnode.children)) {
55
+ return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
56
+ } else if (vnode.component) {
57
+ if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {
58
+ return [vnode.component];
59
+ } else if (vnode.component.subTree) {
60
+ return findChildrenWithProvide(key, vnode.component.subTree).flat(1);
61
+ }
62
+ }
63
+ return [];
64
+ }
47
65
  export function propsFactory(props, source) {
48
66
  return defaults => {
49
67
  return Object.keys(props).reduce((options, prop) => {
@@ -67,6 +85,12 @@ export function propsFactory(props, source) {
67
85
  }, {});
68
86
  };
69
87
  }
88
+ export function hasEventProp(props, type) {
89
+ const onType = `on${capitalize(type)}`;
90
+ return !!(props[onType] || props[`${onType}Once`] || props[`${onType}Capture`] || props[`${onType}OnceCapture`] || props[`${onType}CaptureOnce`]);
91
+ }
70
92
 
71
93
  // Copied from Vue
94
+
95
+ export const EventPropOption = () => [Function, Array];
72
96
  //# sourceMappingURL=vue-component.mjs.map
@@ -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';\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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"}
1
+ {"version":3,"file":"vue-component.mjs","names":["capitalize","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","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default","hasEventProp","onType","EventPropOption"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import { ComponentInternalInstance, capitalize } from '@vue/runtime-core';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n ExtractPropTypes,\n InjectionKey,\n Prop,\n PropType,\n VNode,\n VNodeChild,\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 findChildrenWithProvide(\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return [];\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map((child) => findChildrenWithProvide(key, child))\n .flat(1);\n } else if (vnode.component) {\n if (\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\n key as symbol,\n )\n ) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n\n return [];\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\nexport function hasEventProp(props: Record<string, any>, type: string) {\n const onType = `on${capitalize(type)}`;\n return !!(\n props[onType] ||\n props[`${onType}Once`] ||\n props[`${onType}Capture`] ||\n props[`${onType}OnceCapture`] ||\n props[`${onType}CaptureOnce`]\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: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>;\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\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> =\n | F\n | F[];\n\nexport const EventPropOption = <T extends any[] = any[]>() =>\n [Function, Array] as PropType<EventProp<T>>;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"
@@ -31,6 +31,14 @@
31
31
  "types": "./types/components/index.d.ts",
32
32
  "module": "./lib/components/index.mjs"
33
33
  },
34
+ "./composibles": {
35
+ "types": "./types/composibles/index.d.ts",
36
+ "module": "./lib/composibles/index.mjs"
37
+ },
38
+ "./util": {
39
+ "types": "./types/util/index.d.ts",
40
+ "module": "./lib/util/index.mjs"
41
+ },
34
42
  "./components/*": "./lib/components/*/index.mjs",
35
43
  "./types/*": "./types/*",
36
44
  "./*": "./*"
@@ -94,9 +102,11 @@
94
102
  "vite": "^4.3.8",
95
103
  "vite-plugin-dts": "^2.2.0",
96
104
  "vue": "^3.3.4",
105
+ "vue-router": "^4.2.5",
97
106
  "vue-tsc": "^1.2.0"
98
107
  },
99
108
  "peerDependencies": {
109
+ "motion": "^10.15.5",
100
110
  "vue": "^3.3.0",
101
111
  "vue-i18n": "^9.0.0"
102
112
  },
@@ -0,0 +1,18 @@
1
+ import { PropType } from 'vue';
2
+ /**
3
+ * # Component
4
+ */
5
+ export declare const YAlert: import("vue").DefineComponent<{
6
+ semantic: PropType<string>;
7
+ variation: PropType<string>;
8
+ color: PropType<string>;
9
+ textColor: PropType<string>;
10
+ outlineColor: PropType<string>;
11
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
+ semantic: PropType<string>;
13
+ variation: PropType<string>;
14
+ color: PropType<string>;
15
+ textColor: PropType<string>;
16
+ outlineColor: PropType<string>;
17
+ }>>, {}, {}>;
18
+ export type YAlert = InstanceType<typeof YAlert>;
@@ -0,0 +1 @@
1
+ export * from './YAlert';
@@ -3,29 +3,76 @@ import type { PropType } from 'vue';
3
3
  * Style
4
4
  */
5
5
  export declare const pressYButtonProps: <Defaults extends {
6
- loading?: unknown;
6
+ value?: unknown;
7
7
  disabled?: unknown;
8
+ selectedClass?: unknown;
9
+ href?: unknown;
10
+ replace?: unknown;
11
+ to?: unknown;
12
+ exact?: unknown;
13
+ loading?: unknown;
14
+ active?: unknown;
15
+ injectSymbol?: unknown;
8
16
  variation?: unknown;
9
17
  small?: unknown;
10
18
  icon?: unknown;
11
19
  outlined?: unknown;
12
20
  rounded?: unknown;
13
21
  filled?: unknown;
14
- text?: unknown;
15
22
  color?: unknown;
16
23
  noWave?: unknown;
17
24
  } = {}>(defaults?: Defaults | undefined) => {
25
+ value: unknown extends Defaults["value"] ? null : {
26
+ type: PropType<unknown extends Defaults["value"] ? any : any>;
27
+ default: unknown extends Defaults["value"] ? any : any;
28
+ };
29
+ disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
30
+ type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
31
+ default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
32
+ };
33
+ selectedClass: unknown extends Defaults["selectedClass"] ? StringConstructor : {
34
+ type: PropType<unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]>;
35
+ default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"];
36
+ };
37
+ href: unknown extends Defaults["href"] ? StringConstructor : {
38
+ type: PropType<unknown extends Defaults["href"] ? string : string | Defaults["href"]>;
39
+ default: unknown extends Defaults["href"] ? string : string | Defaults["href"];
40
+ };
41
+ replace: unknown extends Defaults["replace"] ? BooleanConstructor : {
42
+ type: PropType<unknown extends Defaults["replace"] ? boolean : boolean | Defaults["replace"]>;
43
+ default: unknown extends Defaults["replace"] ? boolean : boolean | Defaults["replace"];
44
+ };
45
+ to: unknown extends Defaults["to"] ? PropType<import("vue-router").RouteLocationRaw> : {
46
+ type: PropType<unknown extends Defaults["to"] ? import("vue-router").RouteLocationRaw : NonNullable<import("vue-router").RouteLocationRaw> | Defaults["to"]>;
47
+ default: unknown extends Defaults["to"] ? import("vue-router").RouteLocationRaw : NonNullable<import("vue-router").RouteLocationRaw> | Defaults["to"];
48
+ };
49
+ exact: unknown extends Defaults["exact"] ? BooleanConstructor : {
50
+ type: PropType<unknown extends Defaults["exact"] ? boolean : boolean | Defaults["exact"]>;
51
+ default: unknown extends Defaults["exact"] ? boolean : boolean | Defaults["exact"];
52
+ };
18
53
  loading: unknown extends Defaults["loading"] ? BooleanConstructor : {
19
- type: PropType<unknown extends Defaults ? "loading" : "loading" | Defaults>;
54
+ type: PropType<unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"]>;
20
55
  default: unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"];
21
56
  };
22
- disabled: unknown extends Defaults["disabled"] ? {
57
+ active: unknown extends Defaults["active"] ? {
23
58
  type: BooleanConstructor;
59
+ default: undefined;
24
60
  } : Omit<{
25
61
  type: BooleanConstructor;
62
+ default: undefined;
26
63
  }, "default" | "type"> & {
27
- type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
28
- default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
64
+ type: PropType<unknown extends Defaults["active"] ? boolean : boolean | Defaults["active"]>;
65
+ default: unknown extends Defaults["active"] ? boolean : boolean | Defaults["active"];
66
+ };
67
+ injectSymbol: unknown extends Defaults["injectSymbol"] ? {
68
+ type: null;
69
+ default: import("vue").InjectionKey<import("../../composables/choice").ChoiceProvide>;
70
+ } : Omit<{
71
+ type: null;
72
+ default: import("vue").InjectionKey<import("../../composables/choice").ChoiceProvide>;
73
+ }, "default" | "type"> & {
74
+ type: PropType<unknown extends Defaults["injectSymbol"] ? any : any>;
75
+ default: unknown extends Defaults["injectSymbol"] ? any : any;
29
76
  };
30
77
  variation: unknown extends Defaults["variation"] ? {
31
78
  type: PropType<string>;
@@ -36,11 +83,11 @@ export declare const pressYButtonProps: <Defaults extends {
36
83
  default: unknown extends Defaults["variation"] ? string : string | Defaults["variation"];
37
84
  };
38
85
  small: unknown extends Defaults["small"] ? BooleanConstructor : {
39
- type: PropType<unknown extends Defaults ? "small" : "small" | Defaults>;
86
+ type: PropType<unknown extends Defaults["small"] ? boolean : boolean | Defaults["small"]>;
40
87
  default: unknown extends Defaults["small"] ? boolean : boolean | Defaults["small"];
41
88
  };
42
89
  icon: unknown extends Defaults["icon"] ? BooleanConstructor : {
43
- type: PropType<unknown extends Defaults ? "icon" : "icon" | Defaults>;
90
+ type: PropType<unknown extends Defaults["icon"] ? boolean : boolean | Defaults["icon"]>;
44
91
  default: unknown extends Defaults["icon"] ? boolean : boolean | Defaults["icon"];
45
92
  };
46
93
  outlined: unknown extends Defaults["outlined"] ? {
@@ -73,14 +120,6 @@ export declare const pressYButtonProps: <Defaults extends {
73
120
  type: PropType<unknown extends Defaults["filled"] ? boolean : boolean | Defaults["filled"]>;
74
121
  default: unknown extends Defaults["filled"] ? boolean : boolean | Defaults["filled"];
75
122
  };
76
- text: unknown extends Defaults["text"] ? {
77
- type: BooleanConstructor;
78
- } : Omit<{
79
- type: BooleanConstructor;
80
- }, "default" | "type"> & {
81
- type: PropType<unknown extends Defaults["text"] ? boolean : boolean | Defaults["text"]>;
82
- default: unknown extends Defaults["text"] ? boolean : boolean | Defaults["text"];
83
- };
84
123
  color: unknown extends Defaults["color"] ? {
85
124
  type: StringConstructor;
86
125
  } : Omit<{
@@ -101,9 +140,21 @@ export declare const pressYButtonProps: <Defaults extends {
101
140
  };
102
141
  };
103
142
  export declare const YButton: import("vue").DefineComponent<{
143
+ value: null;
144
+ disabled: BooleanConstructor;
145
+ selectedClass: StringConstructor;
146
+ href: StringConstructor;
147
+ replace: BooleanConstructor;
148
+ to: PropType<import("vue-router").RouteLocationRaw>;
149
+ exact: BooleanConstructor;
104
150
  loading: BooleanConstructor;
105
- disabled: {
151
+ active: {
106
152
  type: BooleanConstructor;
153
+ default: undefined;
154
+ };
155
+ injectSymbol: {
156
+ type: null;
157
+ default: import("vue").InjectionKey<import("../../composables/choice").ChoiceProvide>;
107
158
  };
108
159
  variation: {
109
160
  type: PropType<string>;
@@ -122,9 +173,6 @@ export declare const YButton: import("vue").DefineComponent<{
122
173
  type: BooleanConstructor;
123
174
  default: boolean;
124
175
  };
125
- text: {
126
- type: BooleanConstructor;
127
- };
128
176
  color: {
129
177
  type: StringConstructor;
130
178
  };
@@ -132,24 +180,26 @@ export declare const YButton: import("vue").DefineComponent<{
132
180
  type: BooleanConstructor;
133
181
  default: boolean;
134
182
  };
135
- }, unknown, unknown, {
136
- variations(): any[];
137
- classes(): {
138
- [x: string]: string | boolean | undefined;
139
- };
140
- styles(): Record<string, any>;
141
- }, {
142
- createContent(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
143
- [key: string]: any;
144
- }>;
145
- getClasses(): {
146
- [x: string]: string | boolean | undefined;
147
- };
148
- onClick(e: MouseEvent): void;
149
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
183
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
184
+ 'choice:selected': (choice: {
185
+ value: boolean;
186
+ }) => boolean;
187
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
188
+ value: null;
189
+ disabled: BooleanConstructor;
190
+ selectedClass: StringConstructor;
191
+ href: StringConstructor;
192
+ replace: BooleanConstructor;
193
+ to: PropType<import("vue-router").RouteLocationRaw>;
194
+ exact: BooleanConstructor;
150
195
  loading: BooleanConstructor;
151
- disabled: {
196
+ active: {
152
197
  type: BooleanConstructor;
198
+ default: undefined;
199
+ };
200
+ injectSymbol: {
201
+ type: null;
202
+ default: import("vue").InjectionKey<import("../../composables/choice").ChoiceProvide>;
153
203
  };
154
204
  variation: {
155
205
  type: PropType<string>;
@@ -168,9 +218,6 @@ export declare const YButton: import("vue").DefineComponent<{
168
218
  type: BooleanConstructor;
169
219
  default: boolean;
170
220
  };
171
- text: {
172
- type: BooleanConstructor;
173
- };
174
221
  color: {
175
222
  type: StringConstructor;
176
223
  };
@@ -178,15 +225,22 @@ export declare const YButton: import("vue").DefineComponent<{
178
225
  type: BooleanConstructor;
179
226
  default: boolean;
180
227
  };
181
- }>>, {
228
+ }>> & {
229
+ "onChoice:selected"?: ((choice: {
230
+ value: boolean;
231
+ }) => any) | undefined;
232
+ }, {
233
+ replace: boolean;
182
234
  small: boolean;
183
235
  loading: boolean;
184
- disabled: boolean;
236
+ active: boolean;
237
+ injectSymbol: any;
185
238
  icon: boolean;
186
239
  outlined: boolean;
187
240
  rounded: boolean;
188
241
  filled: boolean;
189
- text: boolean;
190
242
  noWave: boolean;
243
+ exact: boolean;
244
+ disabled: boolean;
191
245
  }, {}>;
192
246
  export type YButton = InstanceType<typeof YButton>;
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
45
45
  disabled: PropType<boolean>;
46
46
  readonly: PropType<boolean>;
47
47
  }>> & {
48
- onClick?: ((...args: any[]) => any) | undefined;
49
48
  onFocus?: ((...args: any[]) => any) | undefined;
49
+ onClick?: ((...args: any[]) => any) | undefined;
50
50
  onBlur?: ((...args: any[]) => any) | undefined;
51
51
  }, {
52
52
  color: string;