yuyeon 0.0.6 → 0.0.8

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 (42) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.mjs +1670 -1429
  3. package/dist/yuyeon.umd.js +1 -1
  4. package/lib/components/icons/YIconCheckbox.mjs +11 -2
  5. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  6. package/lib/components/icons/YIconCheckbox.scss +34 -0
  7. package/lib/components/icons/YIconPageControl.mjs +9 -5
  8. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  9. package/lib/components/pagination/YPagination.mjs +13 -5
  10. package/lib/components/pagination/YPagination.mjs.map +1 -1
  11. package/lib/components/table/pagination.mjs +60 -1
  12. package/lib/components/table/pagination.mjs.map +1 -1
  13. package/lib/components/tree-view/YTreeView.mjs +251 -26
  14. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  15. package/lib/components/tree-view/YTreeView.scss +34 -1
  16. package/lib/components/tree-view/YTreeViewNode.mjs +95 -31
  17. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  18. package/lib/components/tree-view/types.mjs +2 -0
  19. package/lib/components/tree-view/types.mjs.map +1 -0
  20. package/lib/components/tree-view/util.mjs +14 -0
  21. package/lib/components/tree-view/util.mjs.map +1 -0
  22. package/lib/util/array.mjs +10 -0
  23. package/lib/util/array.mjs.map +1 -0
  24. package/lib/util/collection.mjs +10 -0
  25. package/lib/util/collection.mjs.map +1 -0
  26. package/lib/util/common.mjs +14 -0
  27. package/lib/util/common.mjs.map +1 -1
  28. package/lib/util/vue-component.mjs +9 -1
  29. package/lib/util/vue-component.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/types/components/checkbox/YInputCheckbox.d.ts +10 -1
  32. package/types/components/icons/YIconCheckbox.d.ts +10 -1
  33. package/types/components/icons/YIconPageControl.d.ts +8 -0
  34. package/types/components/pagination/YPagination.d.ts +28 -0
  35. package/types/components/table/pagination.d.ts +41 -1
  36. package/types/components/tree-view/YTreeView.d.ts +99 -11
  37. package/types/components/tree-view/YTreeViewNode.d.ts +97 -6
  38. package/types/components/tree-view/types.d.ts +13 -0
  39. package/types/components/tree-view/util.d.ts +2 -0
  40. package/types/util/array.d.ts +1 -0
  41. package/types/util/common.d.ts +1 -0
  42. package/types/util/vue-component.d.ts +2 -1
@@ -3,6 +3,7 @@
3
3
 
4
4
  .y-tree-view-node {
5
5
  &__container {
6
+ position: relative;
6
7
  display: flex;
7
8
  align-items: center;
8
9
  padding: 0 8px;
@@ -20,10 +21,20 @@
20
21
  &__no-expand-icon {
21
22
  display: inline-flex;
22
23
  align-items: center;
23
- width: 12px;
24
+ width: 20px;
25
+ height: 20px;
24
26
  margin-right: 8px;
25
27
  }
26
28
 
29
+ &__expand-icon svg {
30
+ width: 10px;
31
+ height: 10px;
32
+ }
33
+
34
+ &--expanded > &__container > &__expand-icon svg {
35
+ transform: rotate(90deg);
36
+ }
37
+
27
38
  &__indents {
28
39
  display: flex;
29
40
  }
@@ -32,6 +43,18 @@
32
43
  width: 1rem;
33
44
  }
34
45
 
46
+ &__select {
47
+ display: inline-flex;
48
+ align-items: center;
49
+ margin-right: 4px;
50
+ cursor: pointer;
51
+
52
+ > * {
53
+ width: 20px;
54
+ height: 20px;
55
+ }
56
+ }
57
+
35
58
  &__content {
36
59
  font-size: 0.875rem;
37
60
  display: flex;
@@ -43,4 +66,14 @@
43
66
  display: inline-flex;
44
67
  align-items: center;
45
68
  }
69
+
70
+ &--active > &__container {
71
+ color: var(--y-tree-view__active-color);
72
+
73
+ > .y-plate {
74
+ background: currentColor;
75
+ opacity: 0.08;
76
+ border-radius: unset;
77
+ }
78
+ }
46
79
  }
@@ -1,35 +1,81 @@
1
- import { computed, defineComponent, h, inject } from 'vue';
1
+ import { computed, defineComponent, h, inject, ref } from 'vue';
2
2
  import { useRender } from "../../composables/component.mjs";
3
3
  import { getObjectValueByPath } from "../../util/common.mjs";
4
- import { YIconExpand } from "../icons/index.mjs";
4
+ import { propsFactory } from "../../util/vue-component.mjs";
5
+ import { YButton } from "../button/index.mjs";
6
+ import { YPlate } from "../plate/index.mjs";
7
+ import { YIconCheckbox, YIconExpand } from "../icons/index.mjs";
8
+ import { YExpandVTransition } from "../transitions/index.mjs";
9
+ export const pressYTreeViewNodeProps = propsFactory({
10
+ itemKey: {
11
+ type: String,
12
+ default: 'id'
13
+ },
14
+ textKey: {
15
+ type: String,
16
+ default: 'text'
17
+ },
18
+ childrenKey: {
19
+ type: String,
20
+ default: 'children'
21
+ },
22
+ disableTransition: Boolean,
23
+ enableActive: Boolean,
24
+ activeClass: [String, Array],
25
+ activeColor: {
26
+ type: String,
27
+ default: 'primary'
28
+ },
29
+ enableSelect: Boolean
30
+ }, 'YTreeViewNode');
5
31
  export const YTreeViewNode = defineComponent({
6
32
  name: 'YTreeNode',
33
+ components: {
34
+ YButton,
35
+ YIconExpand,
36
+ YPlate,
37
+ YIconCheckbox
38
+ },
7
39
  props: {
8
40
  item: {
9
41
  type: Object
10
42
  },
11
- itemKey: {
12
- type: String,
13
- default: 'id'
14
- },
15
- textKey: {
16
- type: String,
17
- default: 'text'
18
- },
19
- childrenKey: {
20
- type: String,
21
- default: 'children'
22
- },
23
43
  level: {
24
44
  type: Number,
25
45
  default: 0
26
- }
46
+ },
47
+ ...pressYTreeViewNodeProps()
27
48
  },
28
49
  setup(props, _ref) {
29
50
  let {
30
- slots
51
+ slots,
52
+ expose
31
53
  } = _ref;
32
54
  const treeView = inject('tree-view');
55
+ const expanded = ref(false);
56
+ const active = ref(false);
57
+ const selected = ref(false);
58
+ const immediate = ref(false);
59
+ function onClick(e) {
60
+ const to = !active.value;
61
+ active.value = to;
62
+ treeView.updateActive(myKey.value, to);
63
+ treeView.emitActive();
64
+ }
65
+ function onClickExpand(e) {
66
+ e.stopPropagation();
67
+ const to = !expanded.value;
68
+ expanded.value = to;
69
+ treeView.updateExpanded(myKey.value, to);
70
+ treeView.emitExpanded();
71
+ }
72
+ function onClickSelect(e) {
73
+ e.stopPropagation();
74
+ const to = !selected.value;
75
+ selected.value = to;
76
+ treeView.updateSelected(myKey.value, to);
77
+ treeView.emitSelected();
78
+ }
33
79
  const children = computed(() => {
34
80
  return props.item?.[props.childrenKey] ?? [];
35
81
  });
@@ -37,7 +83,9 @@ export const YTreeViewNode = defineComponent({
37
83
  const classes = computed(() => {
38
84
  return {
39
85
  'y-tree-view-node': true,
40
- 'y-tree-view-node--leaf': imLeaf.value
86
+ 'y-tree-view-node--leaf': imLeaf.value,
87
+ 'y-tree-view-node--expanded': expanded.value,
88
+ 'y-tree-view-node--active': active.value
41
89
  };
42
90
  });
43
91
  const styles = computed(() => {
@@ -74,20 +122,23 @@ export const YTreeViewNode = defineComponent({
74
122
  '.role': 'treeitem',
75
123
  'data-level': props.level
76
124
  }, [h('div', {
77
- class: 'y-tree-view-node__container'
78
- }, [h('div', {
125
+ class: 'y-tree-view-node__container',
126
+ onClick: e => props.enableActive ? onClick(e) : void 0
127
+ }, [h(YPlate), h('div', {
79
128
  class: 'y-tree-view-node__indents'
80
129
  }, indentSpacer), /* EXPAND */
81
- !imLeaf.value ? h('i', {
82
- class: 'y-tree-view-node__expand-icon'
83
- }, [slots['expand-icon'] ? slots['expand-icon']() : h(YIconExpand, {
84
- style: {
85
- width: '12px',
86
- height: '12px'
87
- }
88
- })]) : h('i', {
130
+ !imLeaf.value ? h(YButton, {
131
+ class: 'y-tree-view-node__expand-icon',
132
+ variation: 'icon',
133
+ onClick: e => onClickExpand(e)
134
+ }, () => [slots['expand-icon'] ? slots['expand-icon']() : h(YIconExpand)]) : h('i', {
89
135
  class: 'y-tree-view-node__no-expand-icon'
90
- }), /* CONTENT */
136
+ }), props.enableSelect && h('div', {
137
+ class: ['y-tree-view-node__select'],
138
+ onClick: e => onClickSelect(e)
139
+ }, [h(YIconCheckbox, {
140
+ checked: selected.value
141
+ })]), /* CONTENT */
91
142
  h('div', {
92
143
  class: 'y-tree-view-node__content'
93
144
  }, [slots.leading && h('div', {
@@ -100,19 +151,32 @@ export const YTreeViewNode = defineComponent({
100
151
  }) : contentText.value), slots.trailing && h('div', {
101
152
  class: 'y-tree-view-node__trailing'
102
153
  }, slots.trailing())])]), /* CHILDREN */
103
- children.value.length > 0 ? h('div', {
154
+ children.value.length > 0 ? h(YExpandVTransition, {
155
+ disabled: props.disableTransition
156
+ }, expanded.value ? () => h('div', {
104
157
  class: {
105
158
  'y-tree-view-node__leaves': true
106
159
  },
107
160
  role: 'tree'
108
- }, leaves) : undefined]);
161
+ }, leaves) : undefined) : undefined]);
109
162
  });
110
163
  const myKey = computed(() => {
111
164
  return getObjectValueByPath(props.item, props.itemKey);
112
165
  });
166
+ expose({
167
+ myKey,
168
+ expanded,
169
+ active,
170
+ selected,
171
+ immediate
172
+ });
113
173
  return {
114
174
  treeView,
115
- myKey
175
+ myKey,
176
+ expanded,
177
+ active,
178
+ selected,
179
+ immediate
116
180
  };
117
181
  },
118
182
  created() {
@@ -1 +1 @@
1
- {"version":3,"file":"YTreeViewNode.mjs","names":["computed","defineComponent","h","inject","useRender","getObjectValueByPath","YIconExpand","YTreeViewNode","name","props","item","type","Object","itemKey","String","default","textKey","childrenKey","level","Number","setup","_ref","slots","treeView","children","imLeaf","value","length","classes","styles","contentText","slotProps","leaves","map","indentSpacer","i","push","class","style","width","height","leading","text","trailing","role","undefined","myKey","created","register"],"sources":["../../../src/components/tree-view/YTreeViewNode.ts"],"sourcesContent":["import {\r\n PropType,\r\n VNodeArrayChildren,\r\n computed,\r\n defineComponent,\r\n h,\r\n inject,\r\n} from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { getObjectValueByPath } from '../../util/common';\r\nimport { YIconExpand } from '../icons';\r\n\r\nexport const YTreeViewNode = defineComponent({\r\n name: 'YTreeNode',\r\n props: {\r\n item: {\r\n type: Object as PropType<any>,\r\n },\r\n itemKey: {\r\n type: String as PropType<string>,\r\n default: 'id',\r\n },\r\n textKey: {\r\n type: String as PropType<string>,\r\n default: 'text',\r\n },\r\n childrenKey: {\r\n type: String as PropType<string>,\r\n default: 'children',\r\n },\r\n level: {\r\n type: Number as PropType<number>,\r\n default: 0,\r\n },\r\n },\r\n setup(props, { slots }) {\r\n const treeView = inject<any>('tree-view');\r\n\r\n const children = computed(() => {\r\n return props.item?.[props.childrenKey] ?? [];\r\n });\r\n\r\n const imLeaf = computed(() => children.value.length < 1);\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-tree-view-node': true,\r\n 'y-tree-view-node--leaf': imLeaf.value,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n return {\r\n '--tree-view-node--level': props.level,\r\n };\r\n });\r\n\r\n const contentText = computed(() => {\r\n return getObjectValueByPath(props.item, props.textKey) ?? '';\r\n });\r\n\r\n const slotProps = computed(() => {\r\n return {\r\n level: props.level,\r\n imLeaf: imLeaf.value,\r\n }\r\n })\r\n\r\n useRender(() => {\r\n const leaves = children.value.map((item: any) => {\r\n return h(\r\n YTreeViewNode,\r\n { ...props, level: (props.level ?? 0) + 1, item },\r\n slots,\r\n );\r\n });\r\n const indentSpacer: VNodeArrayChildren = [];\r\n for (let i = 0; i < props.level; i += 1) {\r\n indentSpacer.push(\r\n h('div', { class: 'y-tree-view-node__indent-spacer' }),\r\n );\r\n }\r\n return h(\r\n 'div',\r\n {\r\n class: classes.value,\r\n style: styles.value,\r\n '.role': 'treeitem',\r\n 'data-level': props.level,\r\n },\r\n [\r\n h('div', { class: 'y-tree-view-node__container' }, [\r\n h('div', { class: 'y-tree-view-node__indents' }, indentSpacer),\r\n /* EXPAND */\r\n !imLeaf.value\r\n ? h('i', { class: 'y-tree-view-node__expand-icon' }, [\r\n slots['expand-icon']\r\n ? slots['expand-icon']()\r\n : h(YIconExpand, {\r\n style: { width: '12px', height: '12px' },\r\n }),\r\n ])\r\n : h('i', { class: 'y-tree-view-node__no-expand-icon' }),\r\n /* CONTENT */\r\n h('div', { class: 'y-tree-view-node__content' }, [\r\n slots.leading &&\r\n h(\r\n 'div',\r\n { class: 'y-tree-view-node__leading' },\r\n slots.leading(slotProps.value),\r\n ),\r\n h(\r\n 'div',\r\n { class: 'y-tree-view-node__text' },\r\n slots.default\r\n ? slots.default?.({\r\n text: contentText.value,\r\n item: props.item,\r\n })\r\n : contentText.value,\r\n ),\r\n slots.trailing &&\r\n h(\r\n 'div',\r\n { class: 'y-tree-view-node__trailing' },\r\n slots.trailing(),\r\n ),\r\n ]),\r\n ]),\r\n /* CHILDREN */\r\n children.value.length > 0\r\n ? h(\r\n 'div',\r\n { class: { 'y-tree-view-node__leaves': true }, role: 'tree' },\r\n leaves,\r\n )\r\n : undefined,\r\n ],\r\n );\r\n });\r\n\r\n const myKey = computed(() => {\r\n return getObjectValueByPath(props.item, props.itemKey);\r\n });\r\n\r\n return {\r\n treeView,\r\n myKey,\r\n };\r\n },\r\n created() {\r\n this.treeView?.register?.(this.myKey, this);\r\n },\r\n});\r\n\r\nexport type YTreeNode = InstanceType<typeof YTreeViewNode>;\r\n"],"mappings":"AAAA,SAGEA,QAAQ,EACRC,eAAe,EACfC,CAAC,EACDC,MAAM,QACD,KAAK;AAAC,SAEJC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,WAAW;AAEpB,OAAO,MAAMC,aAAa,GAAGN,eAAe,CAAC;EAC3CO,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC;IACR,CAAC;IACDC,OAAO,EAAE;MACPF,IAAI,EAAEG,MAA0B;MAChCC,OAAO,EAAE;IACX,CAAC;IACDC,OAAO,EAAE;MACPL,IAAI,EAAEG,MAA0B;MAChCC,OAAO,EAAE;IACX,CAAC;IACDE,WAAW,EAAE;MACXN,IAAI,EAAEG,MAA0B;MAChCC,OAAO,EAAE;IACX,CAAC;IACDG,KAAK,EAAE;MACLP,IAAI,EAAEQ,MAA0B;MAChCJ,OAAO,EAAE;IACX;EACF,CAAC;EACDK,KAAKA,CAACX,KAAK,EAAAY,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,QAAQ,GAAGpB,MAAM,CAAM,WAAW,CAAC;IAEzC,MAAMqB,QAAQ,GAAGxB,QAAQ,CAAC,MAAM;MAC9B,OAAOS,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACQ,WAAW,CAAC,IAAI,EAAE;IAC9C,CAAC,CAAC;IAEF,MAAMQ,MAAM,GAAGzB,QAAQ,CAAC,MAAMwB,QAAQ,CAACE,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC;IAExD,MAAMC,OAAO,GAAG5B,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAEyB,MAAM,CAACC;MACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMG,MAAM,GAAG7B,QAAQ,CAAC,MAAM;MAC5B,OAAO;QACL,yBAAyB,EAAES,KAAK,CAACS;MACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMY,WAAW,GAAG9B,QAAQ,CAAC,MAAM;MACjC,OAAOK,oBAAoB,CAACI,KAAK,CAACC,IAAI,EAAED,KAAK,CAACO,OAAO,CAAC,IAAI,EAAE;IAC9D,CAAC,CAAC;IAEF,MAAMe,SAAS,GAAG/B,QAAQ,CAAC,MAAM;MAC/B,OAAO;QACLkB,KAAK,EAAET,KAAK,CAACS,KAAK;QAClBO,MAAM,EAAEA,MAAM,CAACC;MACjB,CAAC;IACH,CAAC,CAAC;IAEFtB,SAAS,CAAC,MAAM;MACd,MAAM4B,MAAM,GAAGR,QAAQ,CAACE,KAAK,CAACO,GAAG,CAAEvB,IAAS,IAAK;QAC/C,OAAOR,CAAC,CACNK,aAAa,EACb;UAAE,GAAGE,KAAK;UAAES,KAAK,EAAE,CAACT,KAAK,CAACS,KAAK,IAAI,CAAC,IAAI,CAAC;UAAER;QAAK,CAAC,EACjDY,KACF,CAAC;MACH,CAAC,CAAC;MACF,MAAMY,YAAgC,GAAG,EAAE;MAC3C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG1B,KAAK,CAACS,KAAK,EAAEiB,CAAC,IAAI,CAAC,EAAE;QACvCD,YAAY,CAACE,IAAI,CACflC,CAAC,CAAC,KAAK,EAAE;UAAEmC,KAAK,EAAE;QAAkC,CAAC,CACvD,CAAC;MACH;MACA,OAAOnC,CAAC,CACN,KAAK,EACL;QACEmC,KAAK,EAAET,OAAO,CAACF,KAAK;QACpBY,KAAK,EAAET,MAAM,CAACH,KAAK;QACnB,OAAO,EAAE,UAAU;QACnB,YAAY,EAAEjB,KAAK,CAACS;MACtB,CAAC,EACD,CACEhB,CAAC,CAAC,KAAK,EAAE;QAAEmC,KAAK,EAAE;MAA8B,CAAC,EAAE,CACjDnC,CAAC,CAAC,KAAK,EAAE;QAAEmC,KAAK,EAAE;MAA4B,CAAC,EAAEH,YAAY,CAAC,EAC9D;MACA,CAACT,MAAM,CAACC,KAAK,GACTxB,CAAC,CAAC,GAAG,EAAE;QAAEmC,KAAK,EAAE;MAAgC,CAAC,EAAE,CACjDf,KAAK,CAAC,aAAa,CAAC,GAChBA,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GACtBpB,CAAC,CAACI,WAAW,EAAE;QACbgC,KAAK,EAAE;UAAEC,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAO;MACzC,CAAC,CAAC,CACP,CAAC,GACFtC,CAAC,CAAC,GAAG,EAAE;QAAEmC,KAAK,EAAE;MAAmC,CAAC,CAAC,EACzD;MACAnC,CAAC,CAAC,KAAK,EAAE;QAAEmC,KAAK,EAAE;MAA4B,CAAC,EAAE,CAC/Cf,KAAK,CAACmB,OAAO,IACXvC,CAAC,CACC,KAAK,EACL;QAAEmC,KAAK,EAAE;MAA4B,CAAC,EACtCf,KAAK,CAACmB,OAAO,CAACV,SAAS,CAACL,KAAK,CAC/B,CAAC,EACHxB,CAAC,CACC,KAAK,EACL;QAAEmC,KAAK,EAAE;MAAyB,CAAC,EACnCf,KAAK,CAACP,OAAO,GACTO,KAAK,CAACP,OAAO,GAAG;QACd2B,IAAI,EAAEZ,WAAW,CAACJ,KAAK;QACvBhB,IAAI,EAAED,KAAK,CAACC;MACd,CAAC,CAAC,GACFoB,WAAW,CAACJ,KAClB,CAAC,EACDJ,KAAK,CAACqB,QAAQ,IACdzC,CAAC,CACC,KAAK,EACL;QAAEmC,KAAK,EAAE;MAA6B,CAAC,EACvCf,KAAK,CAACqB,QAAQ,CAAC,CACjB,CAAC,CACF,CAAC,CACH,CAAC,EACF;MACAnB,QAAQ,CAACE,KAAK,CAACC,MAAM,GAAG,CAAC,GACrBzB,CAAC,CACC,KAAK,EACL;QAAEmC,KAAK,EAAE;UAAE,0BAA0B,EAAE;QAAK,CAAC;QAAEO,IAAI,EAAE;MAAO,CAAC,EAC7DZ,MACF,CAAC,GACDa,SAAS,CAEjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAG9C,QAAQ,CAAC,MAAM;MAC3B,OAAOK,oBAAoB,CAACI,KAAK,CAACC,IAAI,EAAED,KAAK,CAACI,OAAO,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO;MACLU,QAAQ;MACRuB;IACF,CAAC;EACH,CAAC;EACDC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACxB,QAAQ,EAAEyB,QAAQ,GAAG,IAAI,CAACF,KAAK,EAAE,IAAI,CAAC;EAC7C;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YTreeViewNode.mjs","names":["computed","defineComponent","h","inject","ref","useRender","getObjectValueByPath","propsFactory","YButton","YPlate","YIconCheckbox","YIconExpand","YExpandVTransition","pressYTreeViewNodeProps","itemKey","type","String","default","textKey","childrenKey","disableTransition","Boolean","enableActive","activeClass","Array","activeColor","enableSelect","YTreeViewNode","name","components","props","item","Object","level","Number","setup","_ref","slots","expose","treeView","expanded","active","selected","immediate","onClick","e","to","value","updateActive","myKey","emitActive","onClickExpand","stopPropagation","updateExpanded","emitExpanded","onClickSelect","updateSelected","emitSelected","children","imLeaf","length","classes","styles","contentText","slotProps","leaves","map","indentSpacer","i","push","class","style","variation","checked","leading","text","trailing","disabled","role","undefined","created","register"],"sources":["../../../src/components/tree-view/YTreeViewNode.ts"],"sourcesContent":["import {\n PropType,\n VNodeArrayChildren,\n computed,\n defineComponent,\n h,\n inject,\n ref,\n} from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { getObjectValueByPath } from '../../util/common';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\nimport { YPlate } from '../plate';\n\nimport { YIconCheckbox, YIconExpand } from '../icons';\nimport { YExpandVTransition } from '../transitions';\n\nexport const pressYTreeViewNodeProps = propsFactory(\n {\n itemKey: {\n type: String as PropType<string>,\n default: 'id',\n },\n textKey: {\n type: String as PropType<string>,\n default: 'text',\n },\n childrenKey: {\n type: String as PropType<string>,\n default: 'children',\n },\n disableTransition: Boolean,\n enableActive: Boolean,\n activeClass: [String, Array],\n activeColor: {\n type: String,\n default: 'primary',\n },\n enableSelect: Boolean,\n },\n 'YTreeViewNode',\n);\n\nexport const YTreeViewNode = defineComponent({\n name: 'YTreeNode',\n components: {\n YButton,\n YIconExpand,\n YPlate,\n YIconCheckbox,\n },\n props: {\n item: {\n type: Object as PropType<any>,\n },\n level: {\n type: Number as PropType<number>,\n default: 0,\n },\n ...pressYTreeViewNodeProps(),\n },\n setup(props, { slots, expose }) {\n const treeView = inject<any>('tree-view');\n\n const expanded = ref(false);\n const active = ref(false);\n const selected = ref(false);\n const immediate = ref(false);\n\n function onClick(e: MouseEvent) {\n const to = !active.value;\n active.value = to;\n treeView.updateActive(myKey.value, to);\n treeView.emitActive();\n }\n\n function onClickExpand(e: MouseEvent) {\n e.stopPropagation();\n const to = !expanded.value;\n expanded.value = to;\n treeView.updateExpanded(myKey.value, to);\n treeView.emitExpanded();\n }\n\n function onClickSelect(e: MouseEvent) {\n e.stopPropagation();\n const to = !selected.value;\n selected.value = to;\n treeView.updateSelected(myKey.value, to);\n treeView.emitSelected();\n }\n\n const children = computed(() => {\n return props.item?.[props.childrenKey] ?? [];\n });\n\n const imLeaf = computed(() => children.value.length < 1);\n\n const classes = computed(() => {\n return {\n 'y-tree-view-node': true,\n 'y-tree-view-node--leaf': imLeaf.value,\n 'y-tree-view-node--expanded': expanded.value,\n 'y-tree-view-node--active': active.value,\n };\n });\n\n const styles = computed(() => {\n return {\n '--tree-view-node--level': props.level,\n };\n });\n\n const contentText = computed(() => {\n return getObjectValueByPath(props.item, props.textKey) ?? '';\n });\n\n const slotProps = computed(() => {\n return {\n level: props.level,\n imLeaf: imLeaf.value,\n };\n });\n\n useRender(() => {\n const leaves = children.value.map((item: any) => {\n return h(\n YTreeViewNode,\n { ...props, level: (props.level ?? 0) + 1, item },\n slots,\n );\n });\n const indentSpacer: VNodeArrayChildren = [];\n for (let i = 0; i < props.level; i += 1) {\n indentSpacer.push(\n h('div', { class: 'y-tree-view-node__indent-spacer' }),\n );\n }\n return h(\n 'div',\n {\n class: classes.value,\n style: styles.value,\n '.role': 'treeitem',\n 'data-level': props.level,\n },\n [\n h(\n 'div',\n {\n class: 'y-tree-view-node__container',\n onClick: (e: MouseEvent) =>\n props.enableActive ? onClick(e) : void 0,\n },\n [\n h(YPlate),\n h('div', { class: 'y-tree-view-node__indents' }, indentSpacer),\n /* EXPAND */\n !imLeaf.value\n ? h(\n YButton,\n {\n class: 'y-tree-view-node__expand-icon',\n variation: 'icon',\n onClick: (e: MouseEvent) => onClickExpand(e),\n },\n () => [\n slots['expand-icon']\n ? slots['expand-icon']()\n : h(YIconExpand),\n ],\n )\n : h('i', { class: 'y-tree-view-node__no-expand-icon' }),\n props.enableSelect &&\n h(\n 'div',\n {\n class: ['y-tree-view-node__select'],\n onClick: (e: MouseEvent) => onClickSelect(e),\n },\n [h(YIconCheckbox, { checked: selected.value })],\n ),\n /* CONTENT */\n h('div', { class: 'y-tree-view-node__content' }, [\n slots.leading &&\n h(\n 'div',\n { class: 'y-tree-view-node__leading' },\n slots.leading(slotProps.value),\n ),\n h(\n 'div',\n { class: 'y-tree-view-node__text' },\n slots.default\n ? slots.default?.({\n text: contentText.value,\n item: props.item,\n })\n : contentText.value,\n ),\n slots.trailing &&\n h(\n 'div',\n { class: 'y-tree-view-node__trailing' },\n slots.trailing(),\n ),\n ]),\n ],\n ),\n /* CHILDREN */\n children.value.length > 0\n ? h(\n YExpandVTransition,\n { disabled: props.disableTransition },\n expanded.value\n ? () =>\n h(\n 'div',\n {\n class: { 'y-tree-view-node__leaves': true },\n role: 'tree',\n },\n leaves,\n )\n : undefined,\n )\n : undefined,\n ],\n );\n });\n\n const myKey = computed(() => {\n return getObjectValueByPath(props.item, props.itemKey);\n });\n\n expose({\n myKey,\n expanded,\n active,\n selected,\n immediate,\n });\n\n return {\n treeView,\n myKey,\n expanded,\n active,\n selected,\n immediate,\n };\n },\n created() {\n this.treeView?.register?.(this.myKey, this);\n },\n});\n\nexport type YTreeNode = InstanceType<typeof YTreeViewNode>;\n"],"mappings":"AAAA,SAGEA,QAAQ,EACRC,eAAe,EACfC,CAAC,EACDC,MAAM,EACNC,GAAG,QACE,KAAK;AAAC,SAEJC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,MAAM;AAAA,SAENC,aAAa,EAAEC,WAAW;AAAA,SAC1BC,kBAAkB;AAE3B,OAAO,MAAMC,uBAAuB,GAAGN,YAAY,CACjD;EACEO,OAAO,EAAE;IACPC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAE;IACPH,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDE,WAAW,EAAE;IACXJ,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDG,iBAAiB,EAAEC,OAAO;EAC1BC,YAAY,EAAED,OAAO;EACrBE,WAAW,EAAE,CAACP,MAAM,EAAEQ,KAAK,CAAC;EAC5BC,WAAW,EAAE;IACXV,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDS,YAAY,EAAEL;AAChB,CAAC,EACD,eACF,CAAC;AAED,OAAO,MAAMM,aAAa,GAAG1B,eAAe,CAAC;EAC3C2B,IAAI,EAAE,WAAW;EACjBC,UAAU,EAAE;IACVrB,OAAO;IACPG,WAAW;IACXF,MAAM;IACNC;EACF,CAAC;EACDoB,KAAK,EAAE;IACLC,IAAI,EAAE;MACJhB,IAAI,EAAEiB;IACR,CAAC;IACDC,KAAK,EAAE;MACLlB,IAAI,EAAEmB,MAA0B;MAChCjB,OAAO,EAAE;IACX,CAAC;IACD,GAAGJ,uBAAuB,CAAC;EAC7B,CAAC;EACDsB,KAAKA,CAACL,KAAK,EAAAM,IAAA,EAAqB;IAAA,IAAnB;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAAF,IAAA;IAC5B,MAAMG,QAAQ,GAAGpC,MAAM,CAAM,WAAW,CAAC;IAEzC,MAAMqC,QAAQ,GAAGpC,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAMqC,MAAM,GAAGrC,GAAG,CAAC,KAAK,CAAC;IACzB,MAAMsC,QAAQ,GAAGtC,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAMuC,SAAS,GAAGvC,GAAG,CAAC,KAAK,CAAC;IAE5B,SAASwC,OAAOA,CAACC,CAAa,EAAE;MAC9B,MAAMC,EAAE,GAAG,CAACL,MAAM,CAACM,KAAK;MACxBN,MAAM,CAACM,KAAK,GAAGD,EAAE;MACjBP,QAAQ,CAACS,YAAY,CAACC,KAAK,CAACF,KAAK,EAAED,EAAE,CAAC;MACtCP,QAAQ,CAACW,UAAU,CAAC,CAAC;IACvB;IAEA,SAASC,aAAaA,CAACN,CAAa,EAAE;MACpCA,CAAC,CAACO,eAAe,CAAC,CAAC;MACnB,MAAMN,EAAE,GAAG,CAACN,QAAQ,CAACO,KAAK;MAC1BP,QAAQ,CAACO,KAAK,GAAGD,EAAE;MACnBP,QAAQ,CAACc,cAAc,CAACJ,KAAK,CAACF,KAAK,EAAED,EAAE,CAAC;MACxCP,QAAQ,CAACe,YAAY,CAAC,CAAC;IACzB;IAEA,SAASC,aAAaA,CAACV,CAAa,EAAE;MACpCA,CAAC,CAACO,eAAe,CAAC,CAAC;MACnB,MAAMN,EAAE,GAAG,CAACJ,QAAQ,CAACK,KAAK;MAC1BL,QAAQ,CAACK,KAAK,GAAGD,EAAE;MACnBP,QAAQ,CAACiB,cAAc,CAACP,KAAK,CAACF,KAAK,EAAED,EAAE,CAAC;MACxCP,QAAQ,CAACkB,YAAY,CAAC,CAAC;IACzB;IAEA,MAAMC,QAAQ,GAAG1D,QAAQ,CAAC,MAAM;MAC9B,OAAO8B,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACX,WAAW,CAAC,IAAI,EAAE;IAC9C,CAAC,CAAC;IAEF,MAAMwC,MAAM,GAAG3D,QAAQ,CAAC,MAAM0D,QAAQ,CAACX,KAAK,CAACa,MAAM,GAAG,CAAC,CAAC;IAExD,MAAMC,OAAO,GAAG7D,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAE2D,MAAM,CAACZ,KAAK;QACtC,4BAA4B,EAAEP,QAAQ,CAACO,KAAK;QAC5C,0BAA0B,EAAEN,MAAM,CAACM;MACrC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMe,MAAM,GAAG9D,QAAQ,CAAC,MAAM;MAC5B,OAAO;QACL,yBAAyB,EAAE8B,KAAK,CAACG;MACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM8B,WAAW,GAAG/D,QAAQ,CAAC,MAAM;MACjC,OAAOM,oBAAoB,CAACwB,KAAK,CAACC,IAAI,EAAED,KAAK,CAACZ,OAAO,CAAC,IAAI,EAAE;IAC9D,CAAC,CAAC;IAEF,MAAM8C,SAAS,GAAGhE,QAAQ,CAAC,MAAM;MAC/B,OAAO;QACLiC,KAAK,EAAEH,KAAK,CAACG,KAAK;QAClB0B,MAAM,EAAEA,MAAM,CAACZ;MACjB,CAAC;IACH,CAAC,CAAC;IAEF1C,SAAS,CAAC,MAAM;MACd,MAAM4D,MAAM,GAAGP,QAAQ,CAACX,KAAK,CAACmB,GAAG,CAAEnC,IAAS,IAAK;QAC/C,OAAO7B,CAAC,CACNyB,aAAa,EACb;UAAE,GAAGG,KAAK;UAAEG,KAAK,EAAE,CAACH,KAAK,CAACG,KAAK,IAAI,CAAC,IAAI,CAAC;UAAEF;QAAK,CAAC,EACjDM,KACF,CAAC;MACH,CAAC,CAAC;MACF,MAAM8B,YAAgC,GAAG,EAAE;MAC3C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGtC,KAAK,CAACG,KAAK,EAAEmC,CAAC,IAAI,CAAC,EAAE;QACvCD,YAAY,CAACE,IAAI,CACfnE,CAAC,CAAC,KAAK,EAAE;UAAEoE,KAAK,EAAE;QAAkC,CAAC,CACvD,CAAC;MACH;MACA,OAAOpE,CAAC,CACN,KAAK,EACL;QACEoE,KAAK,EAAET,OAAO,CAACd,KAAK;QACpBwB,KAAK,EAAET,MAAM,CAACf,KAAK;QACnB,OAAO,EAAE,UAAU;QACnB,YAAY,EAAEjB,KAAK,CAACG;MACtB,CAAC,EACD,CACE/B,CAAC,CACC,KAAK,EACL;QACEoE,KAAK,EAAE,6BAA6B;QACpC1B,OAAO,EAAGC,CAAa,IACrBf,KAAK,CAACR,YAAY,GAAGsB,OAAO,CAACC,CAAC,CAAC,GAAG,KAAK;MAC3C,CAAC,EACD,CACE3C,CAAC,CAACO,MAAM,CAAC,EACTP,CAAC,CAAC,KAAK,EAAE;QAAEoE,KAAK,EAAE;MAA4B,CAAC,EAAEH,YAAY,CAAC,EAC9D;MACA,CAACR,MAAM,CAACZ,KAAK,GACT7C,CAAC,CACCM,OAAO,EACP;QACE8D,KAAK,EAAE,+BAA+B;QACtCE,SAAS,EAAE,MAAM;QACjB5B,OAAO,EAAGC,CAAa,IAAKM,aAAa,CAACN,CAAC;MAC7C,CAAC,EACD,MAAM,CACJR,KAAK,CAAC,aAAa,CAAC,GAChBA,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GACtBnC,CAAC,CAACS,WAAW,CAAC,CAEtB,CAAC,GACDT,CAAC,CAAC,GAAG,EAAE;QAAEoE,KAAK,EAAE;MAAmC,CAAC,CAAC,EACzDxC,KAAK,CAACJ,YAAY,IAChBxB,CAAC,CACC,KAAK,EACL;QACEoE,KAAK,EAAE,CAAC,0BAA0B,CAAC;QACnC1B,OAAO,EAAGC,CAAa,IAAKU,aAAa,CAACV,CAAC;MAC7C,CAAC,EACD,CAAC3C,CAAC,CAACQ,aAAa,EAAE;QAAE+D,OAAO,EAAE/B,QAAQ,CAACK;MAAM,CAAC,CAAC,CAChD,CAAC,EACH;MACA7C,CAAC,CAAC,KAAK,EAAE;QAAEoE,KAAK,EAAE;MAA4B,CAAC,EAAE,CAC/CjC,KAAK,CAACqC,OAAO,IACXxE,CAAC,CACC,KAAK,EACL;QAAEoE,KAAK,EAAE;MAA4B,CAAC,EACtCjC,KAAK,CAACqC,OAAO,CAACV,SAAS,CAACjB,KAAK,CAC/B,CAAC,EACH7C,CAAC,CACC,KAAK,EACL;QAAEoE,KAAK,EAAE;MAAyB,CAAC,EACnCjC,KAAK,CAACpB,OAAO,GACToB,KAAK,CAACpB,OAAO,GAAG;QACd0D,IAAI,EAAEZ,WAAW,CAAChB,KAAK;QACvBhB,IAAI,EAAED,KAAK,CAACC;MACd,CAAC,CAAC,GACFgC,WAAW,CAAChB,KAClB,CAAC,EACDV,KAAK,CAACuC,QAAQ,IACZ1E,CAAC,CACC,KAAK,EACL;QAAEoE,KAAK,EAAE;MAA6B,CAAC,EACvCjC,KAAK,CAACuC,QAAQ,CAAC,CACjB,CAAC,CACJ,CAAC,CAEN,CAAC,EACD;MACAlB,QAAQ,CAACX,KAAK,CAACa,MAAM,GAAG,CAAC,GACrB1D,CAAC,CACCU,kBAAkB,EAClB;QAAEiE,QAAQ,EAAE/C,KAAK,CAACV;MAAkB,CAAC,EACrCoB,QAAQ,CAACO,KAAK,GACV,MACE7C,CAAC,CACC,KAAK,EACL;QACEoE,KAAK,EAAE;UAAE,0BAA0B,EAAE;QAAK,CAAC;QAC3CQ,IAAI,EAAE;MACR,CAAC,EACDb,MACF,CAAC,GACHc,SACN,CAAC,GACDA,SAAS,CAEjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM9B,KAAK,GAAGjD,QAAQ,CAAC,MAAM;MAC3B,OAAOM,oBAAoB,CAACwB,KAAK,CAACC,IAAI,EAAED,KAAK,CAAChB,OAAO,CAAC;IACxD,CAAC,CAAC;IAEFwB,MAAM,CAAC;MACLW,KAAK;MACLT,QAAQ;MACRC,MAAM;MACNC,QAAQ;MACRC;IACF,CAAC,CAAC;IAEF,OAAO;MACLJ,QAAQ;MACRU,KAAK;MACLT,QAAQ;MACRC,MAAM;MACNC,QAAQ;MACRC;IACF,CAAC;EACH,CAAC;EACDqC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACzC,QAAQ,EAAE0C,QAAQ,GAAG,IAAI,CAAChC,KAAK,EAAE,IAAI,CAAC;EAC7C;AACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/components/tree-view/types.ts"],"sourcesContent":["import { ComponentPublicInstance } from 'vue';\n\nexport type NodeKey = string | number;\n\nexport interface NodeState {\n childKeys: NodeKey[];\n item: any;\n parentKey: null | NodeKey;\n vnode: null | ComponentPublicInstance;\n level: number;\n //\n selected: false;\n indeterminate: false;\n active: false;\n expanded: false;\n}\n"],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { getObjectValueByPath } from "../../util/common.mjs";
2
+ export function getKeys(items, itemKey, childrenKey) {
3
+ const keys = [];
4
+ for (const item of items) {
5
+ const key = getObjectValueByPath(item, itemKey);
6
+ keys.push(key);
7
+ const children = getObjectValueByPath(item, childrenKey);
8
+ if (Array.isArray(children)) {
9
+ keys.push(...getKeys(children, itemKey, childrenKey));
10
+ }
11
+ }
12
+ return keys;
13
+ }
14
+ //# sourceMappingURL=util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.mjs","names":["getObjectValueByPath","getKeys","items","itemKey","childrenKey","keys","item","key","push","children","Array","isArray"],"sources":["../../../src/components/tree-view/util.ts"],"sourcesContent":["import { getObjectValueByPath } from '../../util/common';\n\nimport { NodeKey } from './types';\n\nexport function getKeys(items: any[], itemKey: string, childrenKey: string) {\n const keys: NodeKey[] = [];\n for (const item of items) {\n const key = getObjectValueByPath(item, itemKey);\n keys.push(key);\n const children = getObjectValueByPath(item, childrenKey);\n if (Array.isArray(children)) {\n keys.push(...getKeys(children, itemKey, childrenKey));\n }\n }\n return keys;\n}\n"],"mappings":"SAASA,oBAAoB;AAI7B,OAAO,SAASC,OAAOA,CAACC,KAAY,EAAEC,OAAe,EAAEC,WAAmB,EAAE;EAC1E,MAAMC,IAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,IAAI,IAAIJ,KAAK,EAAE;IACxB,MAAMK,GAAG,GAAGP,oBAAoB,CAACM,IAAI,EAAEH,OAAO,CAAC;IAC/CE,IAAI,CAACG,IAAI,CAACD,GAAG,CAAC;IACd,MAAME,QAAQ,GAAGT,oBAAoB,CAACM,IAAI,EAAEF,WAAW,CAAC;IACxD,IAAIM,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;MAC3BJ,IAAI,CAACG,IAAI,CAAC,GAAGP,OAAO,CAACQ,QAAQ,EAAEN,OAAO,EAAEC,WAAW,CAAC,CAAC;IACvD;EACF;EACA,OAAOC,IAAI;AACb"}
@@ -0,0 +1,10 @@
1
+ export function differenceBetween(inspect, exclude) {
2
+ const ret = [];
3
+ for (const target of exclude) {
4
+ if (!inspect.includes(target)) {
5
+ ret.push(target);
6
+ }
7
+ }
8
+ return ret;
9
+ }
10
+ //# sourceMappingURL=array.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.mjs","names":["differenceBetween","inspect","exclude","ret","target","includes","push"],"sources":["../../src/util/array.ts"],"sourcesContent":["export function differenceBetween(inspect: any[], exclude: any[]) {\r\n const ret = [];\r\n for (const target of exclude) {\r\n if (!inspect.includes(target)) {\r\n ret.push(target);\r\n }\r\n }\r\n return ret;\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,iBAAiBA,CAACC,OAAc,EAAEC,OAAc,EAAE;EAChE,MAAMC,GAAG,GAAG,EAAE;EACd,KAAK,MAAMC,MAAM,IAAIF,OAAO,EAAE;IAC5B,IAAI,CAACD,OAAO,CAACI,QAAQ,CAACD,MAAM,CAAC,EAAE;MAC7BD,GAAG,CAACG,IAAI,CAACF,MAAM,CAAC;IAClB;EACF;EACA,OAAOD,GAAG;AACZ"}
@@ -0,0 +1,10 @@
1
+ export function getFlatChildren(children) {
2
+ let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
3
+ return children.map(child => {
4
+ if (child[childrenKey]) {
5
+ return [child, ...getFlatChildren(child[childrenKey])];
6
+ }
7
+ return [child];
8
+ });
9
+ }
10
+ //# sourceMappingURL=collection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.mjs","names":["getFlatChildren","children","childrenKey","arguments","length","undefined","map","child"],"sources":["../../src/util/collection.ts"],"sourcesContent":["export function getFlatChildren(\r\n children: any[],\r\n childrenKey = 'children',\r\n): any[] {\r\n return children.map((child) => {\r\n if (child[childrenKey]) {\r\n return [child, ...getFlatChildren(child[childrenKey])];\r\n }\r\n return [child];\r\n });\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAC7BC,QAAe,EAER;EAAA,IADPC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,UAAU;EAExB,OAAOF,QAAQ,CAACK,GAAG,CAAEC,KAAK,IAAK;IAC7B,IAAIA,KAAK,CAACL,WAAW,CAAC,EAAE;MACtB,OAAO,CAACK,KAAK,EAAE,GAAGP,eAAe,CAACO,KAAK,CAACL,WAAW,CAAC,CAAC,CAAC;IACxD;IACA,OAAO,CAACK,KAAK,CAAC;EAChB,CAAC,CAAC;AACJ"}
@@ -69,4 +69,18 @@ export function getRangeArr(length) {
69
69
  length
70
70
  }, (v, k) => start + k);
71
71
  }
72
+ export function deepEqual(a, b) {
73
+ if (a === b) return true;
74
+ if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {
75
+ return false;
76
+ }
77
+ if (a !== Object(a) || b !== Object(b)) {
78
+ return false;
79
+ }
80
+ const props = Object.keys(a);
81
+ if (props.length !== Object.keys(b).length) {
82
+ return false;
83
+ }
84
+ return props.every(p => deepEqual(a[p], b[p]));
85
+ }
72
86
  //# sourceMappingURL=common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.mjs","names":["hasOwnProperty","object","property","Object","prototype","call","getNestedValue","obj","path","fallback","last","length","traversObj","undefined","i","mergeDeep","source","arguments","overwrite","arrayFn","ret","key","sourceValue","overwriteValue","Array","isArray","getObjectValueByPath","traversPath","replace","split","randomCharOne","str","charAt","Math","floor","random","clamp","value","min","max","getRangeArr","start","from","v","k"],"sources":["../../src/util/common.ts"],"sourcesContent":["export function hasOwnProperty(object: any, property: string) {\r\n if (object) {\r\n return Object.prototype.hasOwnProperty.call(object, property);\r\n }\r\n return false;\r\n}\r\n\r\nexport function getNestedValue(\r\n obj: any,\r\n path: (string | number)[],\r\n fallback?: any,\r\n): any {\r\n const last = path.length - 1;\r\n let traversObj = obj;\r\n\r\n if (last < 0) return traversObj === undefined ? fallback : traversObj;\r\n\r\n for (let i = 0; i < last; i += 1) {\r\n if (traversObj == null) {\r\n return fallback;\r\n }\r\n traversObj = traversObj[path[i]];\r\n }\r\n\r\n if (traversObj == null) return fallback;\r\n\r\n return traversObj[path[last]] === undefined\r\n ? fallback\r\n : traversObj[path[last]];\r\n}\r\n\r\nexport function mergeDeep(source: Record<string, any> = {}, overwrite: Record<string, any> = {}, arrayFn?: (source: unknown[], overwrite: unknown[]) => unknown[]) {\r\n const ret = {...source};\r\n for (const key in overwrite) {\r\n const sourceValue = ret[key];\r\n const overwriteValue = overwrite[key];\r\n\r\n if (Array.isArray(sourceValue) && Array.isArray(overwriteValue)) {\r\n if (arrayFn) {\r\n ret[key] = arrayFn(sourceValue, overwriteValue);\r\n continue;\r\n }\r\n }\r\n\r\n if (typeof sourceValue === 'object' && typeof overwriteValue === 'object') {\r\n ret[key] = mergeDeep(sourceValue, overwriteValue, arrayFn);\r\n continue;\r\n }\r\n\r\n ret[key] = overwriteValue;\r\n }\r\n return ret;\r\n}\r\n\r\nexport function getObjectValueByPath(\r\n obj: any,\r\n path: string,\r\n fallback?: any,\r\n): any {\r\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\r\n let traversPath = path;\r\n if (obj == null || !traversPath || typeof traversPath !== 'string') {\r\n return fallback;\r\n }\r\n if (obj[traversPath] !== undefined) return obj[traversPath];\r\n traversPath = traversPath.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\r\n traversPath = traversPath.replace(/^\\./, ''); // strip a leading dot\r\n return getNestedValue(obj, traversPath.split('.'), fallback);\r\n}\r\n\r\nexport function randomCharOne(str: string) {\r\n if (str) {\r\n return str.charAt(Math.floor(Math.random() * str.length));\r\n }\r\n return '';\r\n}\r\n\r\nexport function clamp (value: number, min = 0, max = 1) {\r\n return Math.max(min, Math.min(max, value))\r\n}\r\n\r\nexport function getRangeArr(length: number, start = 0) {\r\n return Array.from({ length }, (v, k) => start + k);\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"common.mjs","names":["hasOwnProperty","object","property","Object","prototype","call","getNestedValue","obj","path","fallback","last","length","traversObj","undefined","i","mergeDeep","source","arguments","overwrite","arrayFn","ret","key","sourceValue","overwriteValue","Array","isArray","getObjectValueByPath","traversPath","replace","split","randomCharOne","str","charAt","Math","floor","random","clamp","value","min","max","getRangeArr","start","from","v","k","deepEqual","a","b","Date","getTime","props","keys","every","p"],"sources":["../../src/util/common.ts"],"sourcesContent":["export function hasOwnProperty(object: any, property: string) {\n if (object) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }\n return false;\n}\n\nexport function getNestedValue(\n obj: any,\n path: (string | number)[],\n fallback?: any,\n): any {\n const last = path.length - 1;\n let traversObj = obj;\n\n if (last < 0) return traversObj === undefined ? fallback : traversObj;\n\n for (let i = 0; i < last; i += 1) {\n if (traversObj == null) {\n return fallback;\n }\n traversObj = traversObj[path[i]];\n }\n\n if (traversObj == null) return fallback;\n\n return traversObj[path[last]] === undefined\n ? fallback\n : traversObj[path[last]];\n}\n\nexport function mergeDeep(\n source: Record<string, any> = {},\n overwrite: Record<string, any> = {},\n arrayFn?: (source: unknown[], overwrite: unknown[]) => unknown[],\n) {\n const ret = { ...source };\n for (const key in overwrite) {\n const sourceValue = ret[key];\n const overwriteValue = overwrite[key];\n\n if (Array.isArray(sourceValue) && Array.isArray(overwriteValue)) {\n if (arrayFn) {\n ret[key] = arrayFn(sourceValue, overwriteValue);\n continue;\n }\n }\n\n if (typeof sourceValue === 'object' && typeof overwriteValue === 'object') {\n ret[key] = mergeDeep(sourceValue, overwriteValue, arrayFn);\n continue;\n }\n\n ret[key] = overwriteValue;\n }\n return ret;\n}\n\nexport function getObjectValueByPath(\n obj: any,\n path: string,\n fallback?: any,\n): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n let traversPath = path;\n if (obj == null || !traversPath || typeof traversPath !== 'string') {\n return fallback;\n }\n if (obj[traversPath] !== undefined) return obj[traversPath];\n traversPath = traversPath.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n traversPath = traversPath.replace(/^\\./, ''); // strip a leading dot\n return getNestedValue(obj, traversPath.split('.'), fallback);\n}\n\nexport function randomCharOne(str: string) {\n if (str) {\n return str.charAt(Math.floor(Math.random() * str.length));\n }\n return '';\n}\n\nexport function clamp(value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value));\n}\n\nexport function getRangeArr(length: number, start = 0) {\n return Array.from({ length }, (v, k) => start + k);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) return true;\n\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n return false;\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n return false;\n }\n const props = Object.keys(a);\n if (props.length !== Object.keys(b).length) {\n return false;\n }\n return props.every((p) => deepEqual(a[p], b[p]));\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { getCurrentInstance } from 'vue';
1
2
  import { hasOwnProperty } from "./common.mjs";
2
- import { getCurrentInstance } from "vue";
3
3
  export function getSlot(vm) {
4
4
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
5
5
  let data = arguments.length > 2 ? arguments[2] : undefined;
@@ -16,6 +16,14 @@ export function getUid() {
16
16
  const vm = getCurrentInstance();
17
17
  return vm?.uid;
18
18
  }
19
+ export function chooseProps(props, target) {
20
+ return Object.keys(target).reduce((acc, prop) => {
21
+ if (props && prop in props) {
22
+ acc[prop] = props[prop];
23
+ }
24
+ return acc;
25
+ }, {});
26
+ }
19
27
  export function bindClasses(classes) {
20
28
  const boundClasses = {};
21
29
  if (typeof classes === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"vue-component.mjs","names":["hasOwnProperty","getCurrentInstance","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","bindClasses","classes","boundClasses","Array","isArray","reduce","acc","clas","Object","keys","getHtmlElement","$el","propsFactory","props","source","defaults","options","prop","option","isObjectOption","objectOption","type","default"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n Prop,\n PropType,\n VNode,\n} from 'vue';\n\nimport { hasOwnProperty } from './common';\nimport { getCurrentInstance } from \"vue\";\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 bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n return node && hasOwnProperty(node, '$el')\n ? ((node as ComponentPublicInstance).$el as HTMLElement)\n : (node as HTMLElement);\n}\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: FollowPropType<Pick<T[P], 'type'>, T[P], D[P]>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<P, D>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n"],"mappings":"SASSA,cAAc;AACvB,SAASC,kBAAkB,QAAQ,KAAK;AAExC,OAAO,SAASC,OAAOA,CACrBC,EAAiC,EAKZ;EAAA,IAHrBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,IAChBG,IAAwB,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAAA,IACxBE,QAAQ,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEhB,IAAIF,EAAE,CAACO,MAAM,GAAGN,IAAI,CAAC,EAAE;IACrB,MAAMO,IAAI,GAAGR,EAAE,CAACO,MAAM,CAACN,IAAI,CAAC,CAAEI,IAAI,YAAYI,QAAQ,GAAGJ,IAAI,CAAC,CAAC,GAAGA,IAAI,CAAC;IACvE,OAAOG,IAAI,CAACE,MAAM,CAAEC,IAAW,IAAK;MAClC,OAAOA,IAAI,CAACC,EAAE,EAAEC,QAAQ,KAAK,CAAC;IAChC,CAAC,CAAC;EACJ;EACA,OAAOT,SAAS;AAClB;AAEA,OAAO,SAASU,MAAMA,CAAA,EAAG;EACvB,MAAMd,EAAE,GAAGF,kBAAkB,CAAC,CAAC;EAC/B,OAAOE,EAAE,EAAEe,GAAG;AAChB;AAEA,OAAO,SAASC,WAAWA,CACzBC,OAA4D,EAC5D;EACA,MAAMC,YAAY,GAAG,CAAC,CAA4B;EAClD,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/BC,YAAY,CAACD,OAAO,CAAC,GAAG,IAAI;EAC9B,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,EAAE;IAChCA,OAAO,CAAcI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MAC1CD,GAAG,CAACC,IAAI,CAAC,GAAG,IAAI;MAChB,OAAOD,GAAG;IACZ,CAAC,EAAEJ,YAAY,CAAC;EAClB,CAAC,MAAM,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IACtCO,MAAM,CAACC,IAAI,CAACR,OAAO,CAAC,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MACzCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,CAACN,OAAO,CAACM,IAAI,CAAC;MAC3B,OAAOD,GAAG;IACZ,CAAC,EAAEJ,YAAY,CAAC;EAClB;EACA,OAAOA,YAAY;AACrB;AAEA,OAAO,SAASQ,cAAcA,CAC5Bf,IAAO,EAC4C;EACnD,OAAOA,IAAI,IAAId,cAAc,CAACc,IAAI,EAAE,KAAK,CAAC,GACpCA,IAAI,CAA6BgB,GAAG,GACrChB,IAAoB;AAC3B;AAEA,OAAO,SAASiB,YAAYA,CAC1BC,KAAmB,EACnBC,MAAc,EACd;EACA,OACEC,QAAmB,IACgC;IACnD,OAAOP,MAAM,CAACC,IAAI,CAACI,KAAK,CAAC,CAACR,MAAM,CAAM,CAACW,OAAO,EAAEC,IAAI,KAAK;MACvD,MAAMC,MAAM,GAAGL,KAAK,CAACI,IAAI,CAAC;MAC1B,MAAME,cAAc,GAClB,OAAOD,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,IAAI,IAAI,CAACf,KAAK,CAACC,OAAO,CAACc,MAAM,CAAC;MACxE,MAAME,YAAY,GAAGD,cAAc,GAAGD,MAAM,GAAG;QAAEG,IAAI,EAAEH;MAAO,CAAC;MAC/D,IAAIH,QAAQ,IAAIE,IAAI,IAAIF,QAAQ,EAAE;QAChCC,OAAO,CAACC,IAAI,CAAC,GAAG;UACd,GAAGG,YAAY;UACfE,OAAO,EAAEP,QAAQ,CAACE,IAAI;QACxB,CAAC;MACH,CAAC,MAAM;QACLD,OAAO,CAACC,IAAI,CAAC,GAAGG,YAAY;MAC9B;MAEA,IAAIN,MAAM,IAAI,CAACE,OAAO,CAACC,IAAI,CAAC,CAACH,MAAM,EAAE;QACnCE,OAAO,CAACC,IAAI,CAAC,CAACH,MAAM,GAAGA,MAAM;MAC/B;MACA,OAAOE,OAAO;IAChB,CAAC,EAAE,CAAC,CAAiB,CAAC;EACxB,CAAC;AACH;;AA6BA"}
1
+ {"version":3,"file":"vue-component.mjs","names":["getCurrentInstance","hasOwnProperty","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","chooseProps","props","target","Object","keys","reduce","acc","prop","bindClasses","classes","boundClasses","Array","isArray","clas","getHtmlElement","$el","propsFactory","source","defaults","options","option","isObjectOption","objectOption","type","default"],"sources":["../../src/util/vue-component.ts"],"sourcesContent":["import type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ComponentPublicInstance,\n ExtractPropTypes,\n Prop,\n PropType,\n VNode,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { hasOwnProperty } from './common';\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop] = props[prop];\n }\n return acc;\n }, {} as any);\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n return node && hasOwnProperty(node, '$el')\n ? ((node as ComponentPublicInstance).$el as HTMLElement)\n : (node as HTMLElement);\n}\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: FollowPropType<Pick<T[P], 'type'>, T[P], D[P]>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<P, D>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\n// Copied from Vue\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "files": [
5
5
  "dist",
6
6
  "lib",
@@ -17,7 +17,16 @@ declare const _default: import("vue").DefineComponent<{
17
17
  coloredClass(): string | undefined;
18
18
  classes(): Record<string, boolean>;
19
19
  inputId(): string;
20
- iconComponent(): import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}> | null;
20
+ iconComponent(): import("vue").DefineComponent<{
21
+ checked: BooleanConstructor;
22
+ immediate: BooleanConstructor;
23
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
+ checked: BooleanConstructor;
25
+ immediate: BooleanConstructor;
26
+ }>>, {
27
+ immediate: boolean;
28
+ checked: boolean;
29
+ }, {}> | null;
21
30
  }, {
22
31
  onFocus(e: FocusEvent): void;
23
32
  onBlur(e: FocusEvent): void;
@@ -1 +1,10 @@
1
- export declare const YIconCheckbox: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ export declare const YIconCheckbox: import("vue").DefineComponent<{
2
+ checked: BooleanConstructor;
3
+ immediate: BooleanConstructor;
4
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
5
+ checked: BooleanConstructor;
6
+ immediate: BooleanConstructor;
7
+ }>>, {
8
+ immediate: boolean;
9
+ checked: boolean;
10
+ }, {}>;
@@ -10,11 +10,19 @@ export declare const YIconPageControl: import("vue").DefineComponent<{
10
10
  type: PropType<"first" | "last" | "next" | "prev">;
11
11
  default: string;
12
12
  };
13
+ next: StringConstructor;
14
+ prev: StringConstructor;
15
+ last: StringConstructor;
16
+ first: StringConstructor;
13
17
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
18
  type: {
15
19
  type: PropType<"first" | "last" | "next" | "prev">;
16
20
  default: string;
17
21
  };
22
+ next: StringConstructor;
23
+ prev: StringConstructor;
24
+ last: StringConstructor;
25
+ first: StringConstructor;
18
26
  }>>, {
19
27
  type: "first" | "last" | "next" | "prev";
20
28
  }, {}>;
@@ -9,6 +9,10 @@ export declare const pressYPaginationProps: <Defaults extends {
9
9
  gap?: unknown;
10
10
  color?: unknown;
11
11
  activeColor?: unknown;
12
+ firstIcon?: unknown;
13
+ lastIcon?: unknown;
14
+ prevIcon?: unknown;
15
+ nextIcon?: unknown;
12
16
  } = {}>(defaults?: Defaults | undefined) => {
13
17
  start: unknown extends Defaults["start"] ? {
14
18
  type: (StringConstructor | NumberConstructor)[];
@@ -72,6 +76,22 @@ export declare const pressYPaginationProps: <Defaults extends {
72
76
  type: import("vue").PropType<unknown extends Defaults ? "activeColor" : "activeColor" | Defaults>;
73
77
  default: unknown extends Defaults["activeColor"] ? string : string | Defaults["activeColor"];
74
78
  };
79
+ firstIcon: unknown extends Defaults["firstIcon"] ? StringConstructor : {
80
+ type: import("vue").PropType<unknown extends Defaults ? "firstIcon" : "firstIcon" | Defaults>;
81
+ default: unknown extends Defaults["firstIcon"] ? string : string | Defaults["firstIcon"];
82
+ };
83
+ lastIcon: unknown extends Defaults["lastIcon"] ? StringConstructor : {
84
+ type: import("vue").PropType<unknown extends Defaults ? "lastIcon" : "lastIcon" | Defaults>;
85
+ default: unknown extends Defaults["lastIcon"] ? string : string | Defaults["lastIcon"];
86
+ };
87
+ prevIcon: unknown extends Defaults["prevIcon"] ? StringConstructor : {
88
+ type: import("vue").PropType<unknown extends Defaults ? "prevIcon" : "prevIcon" | Defaults>;
89
+ default: unknown extends Defaults["prevIcon"] ? string : string | Defaults["prevIcon"];
90
+ };
91
+ nextIcon: unknown extends Defaults["nextIcon"] ? StringConstructor : {
92
+ type: import("vue").PropType<unknown extends Defaults ? "nextIcon" : "nextIcon" | Defaults>;
93
+ default: unknown extends Defaults["nextIcon"] ? string : string | Defaults["nextIcon"];
94
+ };
75
95
  };
76
96
  export declare const YPagination: import("vue").DefineComponent<{
77
97
  start: {
@@ -96,6 +116,10 @@ export declare const YPagination: import("vue").DefineComponent<{
96
116
  };
97
117
  color: StringConstructor;
98
118
  activeColor: StringConstructor;
119
+ firstIcon: StringConstructor;
120
+ lastIcon: StringConstructor;
121
+ prevIcon: StringConstructor;
122
+ nextIcon: StringConstructor;
99
123
  }, {
100
124
  itemCount: import("vue").ShallowRef<number>;
101
125
  page: import("vue").WritableComputedRef<any>;
@@ -126,6 +150,10 @@ export declare const YPagination: import("vue").DefineComponent<{
126
150
  };
127
151
  color: StringConstructor;
128
152
  activeColor: StringConstructor;
153
+ firstIcon: StringConstructor;
154
+ lastIcon: StringConstructor;
155
+ prevIcon: StringConstructor;
156
+ nextIcon: StringConstructor;
129
157
  }>> & {
130
158
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
131
159
  onChange?: ((value: number, control?: string | undefined) => any) | undefined;