yuyeon 0.0.3 → 0.0.6

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 (45) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.mjs +1239 -969
  3. package/dist/yuyeon.umd.js +1 -1
  4. package/lib/components/button/YButton.mjs +8 -5
  5. package/lib/components/button/YButton.mjs.map +1 -1
  6. package/lib/components/button/YButton.scss +117 -117
  7. package/lib/components/dialog/YDialog.mjs +4 -0
  8. package/lib/components/dialog/YDialog.mjs.map +1 -1
  9. package/lib/components/icons/YIconPageControl.mjs +32 -0
  10. package/lib/components/icons/YIconPageControl.mjs.map +1 -0
  11. package/lib/components/menu/YMenu.mjs +7 -9
  12. package/lib/components/menu/YMenu.mjs.map +1 -1
  13. package/lib/components/pagination/YPagination.mjs +202 -8
  14. package/lib/components/pagination/YPagination.mjs.map +1 -1
  15. package/lib/components/pagination/YPagination.scss +37 -0
  16. package/lib/components/progress-bar/YProgressBar.mjs +1 -0
  17. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  18. package/lib/components/table/YDataTable.mjs +16 -2
  19. package/lib/components/table/YDataTable.mjs.map +1 -1
  20. package/lib/components/table/YDataTableBody.mjs +11 -3
  21. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  22. package/lib/components/table/YDataTableHead.mjs +11 -3
  23. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  24. package/lib/components/table/YDataTableServer.mjs +8 -1
  25. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  26. package/lib/components/tooltip/YTooltip.mjs +8 -10
  27. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  28. package/lib/composables/ref.mjs +13 -0
  29. package/lib/composables/ref.mjs.map +1 -0
  30. package/lib/util/common.mjs +6 -0
  31. package/lib/util/common.mjs.map +1 -1
  32. package/package.json +15 -1
  33. package/types/components/button/YButton.d.ts +1 -0
  34. package/types/components/dialog/YDialog.d.ts +9 -1
  35. package/types/components/icons/YIconPageControl.d.ts +20 -0
  36. package/types/components/menu/YMenu.d.ts +1 -1
  37. package/types/components/pagination/YPagination.d.ts +43 -10
  38. package/types/components/table/YDataTable.d.ts +14 -2
  39. package/types/components/table/YDataTableBody.d.ts +9 -1
  40. package/types/components/table/YDataTableHead.d.ts +9 -1
  41. package/types/components/table/YDataTableServer.d.ts +15 -0
  42. package/types/components/tooltip/YTooltip.d.ts +1 -1
  43. package/types/composables/ref.d.ts +5 -0
  44. package/types/util/common.d.ts +1 -0
  45. package/types/vite-env.d.ts +0 -1
@@ -1,9 +1,14 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { computed, defineComponent } from 'vue';
2
+ import { computed, defineComponent, shallowRef } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
+ import { useRefs } from "../../composables/ref.mjs";
5
6
  import { useResizeObserver } from "../../composables/resize-observer.mjs";
7
+ import { getRangeArr } from "../../util/common.mjs";
8
+ import { toStyleSizeValue } from "../../util/ui.mjs";
6
9
  import { propsFactory } from "../../util/vue-component.mjs";
10
+ import { YButton } from "../button/index.mjs";
11
+ import { YIconPageControl } from "../icons/YIconPageControl.mjs";
7
12
  import "./YPagination.scss";
8
13
  export const pressYPaginationProps = propsFactory({
9
14
  start: {
@@ -21,41 +26,230 @@ export const pressYPaginationProps = propsFactory({
21
26
  validator: val => val % 1 === 0
22
27
  },
23
28
  totalVisible: [Number, String],
24
- showEndButton: Boolean
29
+ showEndButton: Boolean,
30
+ gap: {
31
+ type: [String, Number],
32
+ default: 4
33
+ },
34
+ color: String,
35
+ activeColor: String
25
36
  }, 'y-pagination');
26
37
  export const YPagination = defineComponent({
27
38
  name: 'YPagination',
39
+ components: {
40
+ YButton
41
+ },
28
42
  props: {
29
43
  ...pressYPaginationProps()
30
44
  },
31
45
  emits: {
32
46
  'update:modelValue': value => true,
33
- first: value => true,
34
- last: value => true,
35
- prev: value => true,
36
- next: value => true
47
+ change: (value, control) => true
37
48
  },
38
49
  setup(props, _ref) {
39
50
  let {
40
- slots
51
+ slots,
52
+ emit
41
53
  } = _ref;
42
54
  const page = useModelDuplex(props);
43
55
  const length = computed(() => parseInt(props.length, 10));
44
56
  const start = computed(() => parseInt(props.start, 10));
57
+ const itemCount = shallowRef(-1);
45
58
  const {
46
59
  resizeObservedRef
47
60
  } = useResizeObserver(entries => {
48
61
  if (1 > entries.length) return;
62
+ const {
63
+ target,
64
+ contentRect
65
+ } = entries[0];
66
+ const firstItem = target.querySelector('.y-pagination__list > *');
67
+ if (firstItem) {
68
+ const listWidth = contentRect.width;
69
+ const itemWidth = firstItem.offsetWidth + parseFloat(getComputedStyle(firstItem).marginRight) * 2;
70
+ itemCount.value = calcItemCount(listWidth, itemWidth);
71
+ }
72
+ });
73
+ function calcItemCount(listWidth, itemWidth) {
74
+ const fixedCount = props.showEndButton ? 5 : 3;
75
+ const fixedWidth = itemWidth * fixedCount;
76
+ const gap = +(props.gap ?? 4);
77
+ return Math.max(0, Math.floor(+((listWidth - fixedWidth - gap) / (itemWidth + gap)).toFixed(2)));
78
+ }
79
+ const totalVisible = computed(() => {
80
+ if (props.totalVisible) return parseInt(props.totalVisible, 10);else if (itemCount.value >= 0) return itemCount.value;
81
+ return calcItemCount(innerWidth, 58);
82
+ });
83
+ const controls = computed(() => {
84
+ const prevDisabled = !!props.disabled || page.value <= start.value;
85
+ const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1;
86
+ return {
87
+ first: {
88
+ disabled: prevDisabled,
89
+ onClick: e => {
90
+ e.preventDefault();
91
+ page.value = 1;
92
+ emit('change', 1, 'first');
93
+ }
94
+ },
95
+ prev: {
96
+ disabled: prevDisabled,
97
+ onClick: e => {
98
+ e.preventDefault();
99
+ const to = Math.max(1, page.value - 1);
100
+ page.value = to;
101
+ emit('change', to, 'prev');
102
+ }
103
+ },
104
+ next: {
105
+ disabled: nextDisabled,
106
+ onClick: e => {
107
+ e.preventDefault();
108
+ const to = Math.min(+length.value, page.value + 1);
109
+ page.value = to;
110
+ emit('change', to, 'next');
111
+ }
112
+ },
113
+ last: {
114
+ disabled: nextDisabled,
115
+ onClick: e => {
116
+ e.preventDefault();
117
+ const to = +length.value;
118
+ page.value = +length.value;
119
+ emit('change', to, 'last');
120
+ }
121
+ }
122
+ };
123
+ });
124
+ const range = computed(() => {
125
+ if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
126
+ if (totalVisible.value <= 1) return [page.value];
127
+ if (length.value <= totalVisible.value) {
128
+ return getRangeArr(length.value, start.value);
129
+ }
130
+ const even = totalVisible.value % 2 === 0;
131
+ const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2);
132
+ const left = even ? middle : middle + 1;
133
+ const right = length.value - middle;
134
+ if (left - page.value >= 0) {
135
+ return [...getRangeArr(Math.max(1, totalVisible.value - 1), start.value), 'ellipsis', length.value];
136
+ } else if (page.value - right >= (even ? 1 : 0)) {
137
+ const rangeLength = totalVisible.value - 1;
138
+ const rangeStart = length.value - rangeLength + start.value;
139
+ return [start.value, 'ellipsis', ...getRangeArr(rangeLength, rangeStart)];
140
+ } else {
141
+ const rangeLength = Math.max(1, totalVisible.value - 3);
142
+ const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value;
143
+ return [start.value, 'ellipsis', ...getRangeArr(rangeLength, rangeStart), 'ellipsis', length.value];
144
+ }
145
+ });
146
+ const {
147
+ refs,
148
+ updateRef
149
+ } = useRefs();
150
+ function changePage(event) {
151
+ let to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
152
+ event.preventDefault();
153
+ page.value = to;
154
+ emit('change', to);
155
+ }
156
+ const items = computed(() => {
157
+ return range.value.map((item, index) => {
158
+ const ref = e => updateRef(e, index);
159
+ if (item === 'ellipsis') {
160
+ return {
161
+ active: false,
162
+ key: `ellipsis-${index}`,
163
+ page: item,
164
+ props: {
165
+ ref,
166
+ ellipsis: true,
167
+ disabled: true // TODO: skipper
168
+ }
169
+ };
170
+ } else {
171
+ const active = item === page.value;
172
+ return {
173
+ active,
174
+ key: `item-${item}`,
175
+ page: item,
176
+ props: {
177
+ ref,
178
+ ellipsis: false,
179
+ disabled: !!props.disabled || +props.length < 2,
180
+ color: active ? props.activeColor : props.color,
181
+ onClick: e => changePage(e, item)
182
+ }
183
+ };
184
+ }
185
+ });
186
+ });
187
+ const styles = computed(() => {
188
+ let gap = undefined;
189
+ if (props.gap) {
190
+ const value = +props.gap;
191
+ if (!isNaN(value)) {
192
+ gap = toStyleSizeValue(value);
193
+ } else if (typeof props.gap === 'string') {
194
+ gap = props.gap;
195
+ }
196
+ }
197
+ return {
198
+ '--y-pagination__gap': gap
199
+ };
49
200
  });
50
201
  useRender(() => {
51
202
  return _createVNode("div", {
52
203
  "class": ['y-pagination'],
53
204
  "role": 'navigation',
205
+ "style": styles.value,
54
206
  "ref": resizeObservedRef
55
207
  }, [_createVNode("ul", {
56
208
  "class": ['y-pagination__list']
57
- }, [_createVNode("li", null, null)])]);
209
+ }, [props.showEndButton && _createVNode("li", {
210
+ "key": "first",
211
+ "class": "y-pagination__first"
212
+ }, [slots.first ? slots.first(controls.value.first) : _createVNode(YButton, controls.value.first, {
213
+ default: () => [_createVNode(YIconPageControl, {
214
+ "type": 'first'
215
+ }, null)]
216
+ })]), _createVNode("li", {
217
+ "key": "prev",
218
+ "class": "y-pagination__prev"
219
+ }, [slots.prev ? slots.prev(controls.value.prev) : _createVNode(YButton, controls.value.prev, {
220
+ default: () => [_createVNode(YIconPageControl, {
221
+ "type": 'prev'
222
+ }, null)]
223
+ })]), items.value.map((item, index) => {
224
+ return _createVNode("li", {
225
+ "key": item.key,
226
+ "class": ['y-pagination__item', {
227
+ 'y-pagination__item--active': item.active
228
+ }]
229
+ }, [_createVNode(YButton, item.props, {
230
+ default: () => [item.props.ellipsis ? '...' : item.page]
231
+ })]);
232
+ }), _createVNode("li", {
233
+ "key": "next",
234
+ "class": "y-pagination__next"
235
+ }, [slots.next ? slots.next(controls.value.next) : _createVNode(YButton, controls.value.next, {
236
+ default: () => [_createVNode(YIconPageControl, {
237
+ "type": 'next'
238
+ }, null)]
239
+ })]), props.showEndButton && _createVNode("li", {
240
+ "key": "last",
241
+ "class": "y-pagination__last"
242
+ }, [slots.last ? slots.last(controls.value.last) : _createVNode(YButton, controls.value.last, {
243
+ default: () => [_createVNode(YIconPageControl, {
244
+ "type": 'last'
245
+ }, null)]
246
+ })])])]);
58
247
  });
248
+ return {
249
+ itemCount,
250
+ page,
251
+ refs
252
+ };
59
253
  }
60
254
  });
61
255
  //# sourceMappingURL=YPagination.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"YPagination.mjs","names":["computed","defineComponent","useModelDuplex","useRender","useResizeObserver","propsFactory","pressYPaginationProps","start","type","Number","String","default","modelValue","props","disabled","Boolean","length","validator","val","totalVisible","showEndButton","YPagination","name","emits","value","first","last","prev","next","setup","_ref","slots","page","parseInt","resizeObservedRef","entries","_createVNode"],"sources":["../../../src/components/pagination/YPagination.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\n\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { useResizeObserver } from '../../composables/resize-observer';\nimport { propsFactory } from '../../util/vue-component';\n\nimport './YPagination.scss';\n\nexport const pressYPaginationProps = propsFactory(\n {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start as number,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n showEndButton: Boolean,\n },\n 'y-pagination',\n);\n\nexport const YPagination = defineComponent({\n name: 'YPagination',\n props: {\n ...pressYPaginationProps(),\n },\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n last: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n },\n setup(props, { slots }) {\n const page = useModelDuplex(props);\n\n const length = computed(() => parseInt(props.length as string, 10));\n const start = computed(() => parseInt(props.start as string, 10));\n\n const { resizeObservedRef } = useResizeObserver((entries) => {\n if (1 > entries.length) return;\n });\n useRender(() => {\n return (\n <div\n class={['y-pagination']}\n role={'navigation'}\n ref={resizeObservedRef}\n >\n <ul class={['y-pagination__list']}>\n <li></li>\n </ul>\n </div>\n );\n });\n },\n});\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEvCC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,YAAY;AAErB;AAEA,OAAO,MAAMC,qBAAqB,GAAGD,YAAY,CAC/C;EACEE,KAAK,EAAE;IACLC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAEC,MAAM;IACZE,OAAO,EAAGE,KAAU,IAAKA,KAAK,CAACN;EACjC,CAAC;EACDO,QAAQ,EAAEC,OAAO;EACjBC,MAAM,EAAE;IACNR,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE,CAAC;IACVM,SAAS,EAAGC,GAAW,IAAKA,GAAG,GAAG,CAAC,KAAK;EAC1C,CAAC;EACDC,YAAY,EAAE,CAACV,MAAM,EAAEC,MAAM,CAAC;EAC9BU,aAAa,EAAEL;AACjB,CAAC,EACD,cACF,CAAC;AAED,OAAO,MAAMM,WAAW,GAAGpB,eAAe,CAAC;EACzCqB,IAAI,EAAE,aAAa;EACnBT,KAAK,EAAE;IACL,GAAGP,qBAAqB,CAAC;EAC3B,CAAC;EACDiB,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAa,IAAK,IAAI;IAC5CC,KAAK,EAAGD,KAAa,IAAK,IAAI;IAC9BE,IAAI,EAAGF,KAAa,IAAK,IAAI;IAC7BG,IAAI,EAAGH,KAAa,IAAK,IAAI;IAC7BI,IAAI,EAAGJ,KAAa,IAAK;EAC3B,CAAC;EACDK,KAAKA,CAAChB,KAAK,EAAAiB,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,IAAI,GAAG9B,cAAc,CAACW,KAAK,CAAC;IAElC,MAAMG,MAAM,GAAGhB,QAAQ,CAAC,MAAMiC,QAAQ,CAACpB,KAAK,CAACG,MAAM,EAAY,EAAE,CAAC,CAAC;IACnE,MAAMT,KAAK,GAAGP,QAAQ,CAAC,MAAMiC,QAAQ,CAACpB,KAAK,CAACN,KAAK,EAAY,EAAE,CAAC,CAAC;IAEjE,MAAM;MAAE2B;IAAkB,CAAC,GAAG9B,iBAAiB,CAAE+B,OAAO,IAAK;MAC3D,IAAI,CAAC,GAAGA,OAAO,CAACnB,MAAM,EAAE;IAC1B,CAAC,CAAC;IACFb,SAAS,CAAC,MAAM;MACd,OAAAiC,YAAA;QAAA,SAEW,CAAC,cAAc,CAAC;QAAA,QACjB,YAAY;QAAA,OACbF;MAAiB,IAAAE,YAAA;QAAA,SAEX,CAAC,oBAAoB;MAAC,IAAAA,YAAA;IAKvC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YPagination.mjs","names":["computed","defineComponent","shallowRef","useModelDuplex","useRender","useRefs","useResizeObserver","getRangeArr","toStyleSizeValue","propsFactory","YButton","YIconPageControl","pressYPaginationProps","start","type","Number","String","default","modelValue","props","disabled","Boolean","length","validator","val","totalVisible","showEndButton","gap","color","activeColor","YPagination","name","components","emits","value","change","control","setup","_ref","slots","emit","page","parseInt","itemCount","resizeObservedRef","entries","target","contentRect","firstItem","querySelector","listWidth","width","itemWidth","offsetWidth","parseFloat","getComputedStyle","marginRight","calcItemCount","fixedCount","fixedWidth","Math","max","floor","toFixed","innerWidth","controls","prevDisabled","nextDisabled","first","onClick","e","preventDefault","prev","to","next","min","last","range","isNaN","MAX_SAFE_INTEGER","even","middle","left","right","rangeLength","rangeStart","ceil","refs","updateRef","changePage","event","arguments","undefined","items","map","item","index","ref","active","key","ellipsis","styles","_createVNode"],"sources":["../../../src/components/pagination/YPagination.tsx"],"sourcesContent":["import {\r\n ComponentPublicInstance,\r\n computed,\r\n defineComponent,\r\n shallowRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { useRefs } from '../../composables/ref';\r\nimport { useResizeObserver } from '../../composables/resize-observer';\r\nimport { getRangeArr } from '../../util/common';\r\nimport { toStyleSizeValue } from '../../util/ui';\r\nimport { propsFactory } from '../../util/vue-component';\r\nimport { YButton } from '../button';\r\nimport { YIconPageControl } from '../icons/YIconPageControl';\r\n\r\nimport './YPagination.scss';\r\n\r\nexport const pressYPaginationProps = propsFactory(\r\n {\r\n start: {\r\n type: [Number, String],\r\n default: 1,\r\n },\r\n modelValue: {\r\n type: Number,\r\n default: (props: any) => props.start as number,\r\n },\r\n disabled: Boolean,\r\n length: {\r\n type: [Number, String],\r\n default: 1,\r\n validator: (val: number) => val % 1 === 0,\r\n },\r\n totalVisible: [Number, String],\r\n showEndButton: Boolean,\r\n gap: {\r\n type: [String, Number],\r\n default: 4,\r\n },\r\n color: String,\r\n activeColor: String,\r\n },\r\n 'y-pagination',\r\n);\r\n\r\nexport const YPagination = defineComponent({\r\n name: 'YPagination',\r\n components: {\r\n YButton,\r\n },\r\n props: {\r\n ...pressYPaginationProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: number) => true,\r\n change: (value: number, control?: string) => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const page = useModelDuplex(props);\r\n\r\n const length = computed(() => parseInt(props.length as string, 10));\r\n const start = computed(() => parseInt(props.start as string, 10));\r\n\r\n const itemCount = shallowRef(-1);\r\n\r\n const { resizeObservedRef } = useResizeObserver((entries) => {\r\n if (1 > entries.length) return;\r\n const { target, contentRect } = entries[0];\r\n\r\n const firstItem = target.querySelector(\r\n '.y-pagination__list > *',\r\n ) as HTMLElement;\r\n if (firstItem) {\r\n const listWidth = contentRect.width;\r\n const itemWidth =\r\n firstItem.offsetWidth +\r\n parseFloat(getComputedStyle(firstItem).marginRight) * 2;\r\n itemCount.value = calcItemCount(listWidth, itemWidth);\r\n }\r\n });\r\n\r\n function calcItemCount(listWidth: number, itemWidth: number) {\r\n const fixedCount = props.showEndButton ? 5 : 3;\r\n const fixedWidth = itemWidth * fixedCount;\r\n const gap = +(props.gap ?? 4);\r\n return Math.max(\r\n 0,\r\n Math.floor(\r\n +((listWidth - fixedWidth - gap) / (itemWidth + gap)).toFixed(2),\r\n ),\r\n );\r\n }\r\n\r\n const totalVisible = computed(() => {\r\n if (props.totalVisible) return parseInt(props.totalVisible as string, 10);\r\n else if (itemCount.value >= 0) return itemCount.value;\r\n return calcItemCount(innerWidth, 58);\r\n });\r\n\r\n const controls = computed(() => {\r\n const prevDisabled = !!props.disabled || page.value <= start.value;\r\n const nextDisabled =\r\n !!props.disabled || page.value >= start.value + length.value - 1;\r\n return {\r\n first: {\r\n disabled: prevDisabled,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n page.value = 1;\r\n emit('change', 1, 'first');\r\n },\r\n },\r\n prev: {\r\n disabled: prevDisabled,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = Math.max(1, page.value - 1);\r\n page.value = to;\r\n emit('change', to, 'prev');\r\n },\r\n },\r\n next: {\r\n disabled: nextDisabled,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = Math.min(+length.value, page.value + 1);\r\n page.value = to;\r\n emit('change', to, 'next');\r\n },\r\n },\r\n last: {\r\n disabled: nextDisabled,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = +length.value;\r\n page.value = +length.value;\r\n emit('change', to, 'last');\r\n },\r\n },\r\n };\r\n });\r\n\r\n const range = computed(() => {\r\n if (\r\n length.value <= 0 ||\r\n isNaN(length.value) ||\r\n length.value > Number.MAX_SAFE_INTEGER\r\n )\r\n return [];\r\n if (totalVisible.value <= 1) return [page.value];\r\n if (length.value <= totalVisible.value) {\r\n return getRangeArr(length.value, start.value);\r\n }\r\n const even = totalVisible.value % 2 === 0;\r\n const middle = even\r\n ? totalVisible.value / 2\r\n : Math.floor(totalVisible.value / 2);\r\n const left = even ? middle : middle + 1;\r\n const right = length.value - middle;\r\n\r\n if (left - page.value >= 0) {\r\n return [\r\n ...getRangeArr(Math.max(1, totalVisible.value - 1), start.value),\r\n 'ellipsis',\r\n length.value,\r\n ];\r\n } else if (page.value - right >= (even ? 1 : 0)) {\r\n const rangeLength = totalVisible.value - 1;\r\n const rangeStart = length.value - rangeLength + start.value;\r\n return [\r\n start.value,\r\n 'ellipsis',\r\n ...getRangeArr(rangeLength, rangeStart),\r\n ];\r\n } else {\r\n const rangeLength = Math.max(1, totalVisible.value - 3);\r\n const rangeStart =\r\n rangeLength === 1\r\n ? page.value\r\n : page.value - Math.ceil(rangeLength / 2) + start.value;\r\n return [\r\n start.value,\r\n 'ellipsis',\r\n ...getRangeArr(rangeLength, rangeStart),\r\n 'ellipsis',\r\n length.value,\r\n ];\r\n }\r\n });\r\n\r\n const { refs, updateRef } = useRefs<ComponentPublicInstance>();\r\n\r\n function changePage(event: Event, to = 1) {\r\n event.preventDefault();\r\n page.value = to;\r\n emit('change', to);\r\n }\r\n\r\n const items = computed(() => {\r\n return range.value.map((item, index) => {\r\n const ref = (e: any) => updateRef(e, index);\r\n\r\n if (item === 'ellipsis') {\r\n return {\r\n active: false,\r\n key: `ellipsis-${index}`,\r\n page: item,\r\n props: {\r\n ref,\r\n ellipsis: true,\r\n disabled: true, // TODO: skipper\r\n },\r\n };\r\n } else {\r\n const active = item === page.value;\r\n return {\r\n active,\r\n key: `item-${item}`,\r\n page: item,\r\n props: {\r\n ref,\r\n ellipsis: false,\r\n disabled: !!props.disabled || +props.length < 2,\r\n color: active ? props.activeColor : props.color,\r\n onClick: (e: MouseEvent) => changePage(e, item),\r\n },\r\n };\r\n }\r\n });\r\n });\r\n\r\n const styles = computed(() => {\r\n let gap = undefined;\r\n if (props.gap) {\r\n const value = +props.gap;\r\n if (!isNaN(value)) {\r\n gap = toStyleSizeValue(value);\r\n } else if (typeof props.gap === 'string') {\r\n gap = props.gap;\r\n }\r\n }\r\n return {\r\n '--y-pagination__gap': gap,\r\n };\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div\r\n class={['y-pagination']}\r\n role={'navigation'}\r\n style={styles.value}\r\n ref={resizeObservedRef}\r\n >\r\n <ul class={['y-pagination__list']}>\r\n {props.showEndButton && (\r\n <li key=\"first\" class=\"y-pagination__first\">\r\n {slots.first ? (\r\n slots.first(controls.value.first)\r\n ) : (\r\n <YButton {...controls.value.first}>\r\n <YIconPageControl type={'first'}></YIconPageControl>\r\n </YButton>\r\n )}\r\n </li>\r\n )}\r\n <li key=\"prev\" class=\"y-pagination__prev\">\r\n {slots.prev ? (\r\n slots.prev(controls.value.prev)\r\n ) : (\r\n <YButton {...controls.value.prev}>\r\n <YIconPageControl type={'prev'}></YIconPageControl>\r\n </YButton>\r\n )}\r\n </li>\r\n {items.value.map((item, index) => {\r\n return (\r\n <li\r\n key={item.key}\r\n class={[\r\n 'y-pagination__item',\r\n { 'y-pagination__item--active': item.active },\r\n ]}\r\n >\r\n <YButton {...item.props}>\r\n {item.props.ellipsis ? '...' : item.page}\r\n </YButton>\r\n </li>\r\n );\r\n })}\r\n <li key=\"next\" class=\"y-pagination__next\">\r\n {slots.next ? (\r\n slots.next(controls.value.next)\r\n ) : (\r\n <YButton {...controls.value.next}>\r\n <YIconPageControl type={'next'}></YIconPageControl>\r\n </YButton>\r\n )}\r\n </li>\r\n {props.showEndButton && (\r\n <li key=\"last\" class=\"y-pagination__last\">\r\n {slots.last ? (\r\n slots.last(controls.value.last)\r\n ) : (\r\n <YButton {...controls.value.last}>\r\n <YIconPageControl type={'last'}></YIconPageControl>\r\n </YButton>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n itemCount,\r\n page,\r\n refs,\r\n };\r\n },\r\n});\r\n"],"mappings":"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"}
@@ -1,5 +1,42 @@
1
1
  .y-pagination {
2
+
3
+ &__list {
4
+ display: flex;
5
+ gap: var(--y-pagination__gap);
6
+ }
7
+
2
8
  li {
3
9
  list-style: none;
10
+
11
+ .y-button {
12
+ min-width: 2.2em;
13
+ min-height: 0;
14
+ padding: 4px;
15
+
16
+ &__content {
17
+ padding: 2px;
18
+ }
19
+
20
+ svg {
21
+ width: 1.25rem;
22
+ height: 1.25rem;
23
+ }
24
+ }
25
+
26
+ .y-button.y-button--disabled {
27
+ background: rgba(0, 0, 0, 0.02);
28
+ }
29
+ }
30
+
31
+ &__item {
32
+ &--active {
33
+ .y-button:before {
34
+ opacity: 0.1;
35
+ }
36
+ }
37
+ }
38
+
39
+ &__first, &__last, &__prev, &__next {
40
+
4
41
  }
5
42
  }
@@ -1,6 +1,7 @@
1
1
  import { createTextVNode as _createTextVNode, createVNode as _createVNode } from "vue";
2
2
  import { defineComponent } from 'vue';
3
3
  import { useProgress } from "../../composables/progress.mjs";
4
+ import "./YProgressBar.scss";
4
5
  export const YProgressBar = defineComponent({
5
6
  name: 'YProgressBar',
6
7
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"YProgressBar.mjs","names":["defineComponent","useProgress","YProgressBar","name","props","value","type","Number","rounded","Boolean","height","noRewindTransition","outlined","innerText","textColor","String","outlineColor","setup","numValue","data","delta","computed","classes","noTransition","styles","minWidth","transform","render","slots","$slots","_createVNode","undefined","color","_createTextVNode"],"sources":["../../../src/components/progress-bar/YProgressBar.tsx"],"sourcesContent":["import { PropType, StyleValue, defineComponent } from 'vue';\n\nimport { useProgress } from '../../composables/progress';\n\nexport const YProgressBar = defineComponent({\n name: 'YProgressBar',\n props: {\n value: {\n type: Number as PropType<number>,\n },\n rounded: {\n type: Boolean as PropType<boolean>,\n },\n height: {\n type: Number as PropType<number>,\n },\n noRewindTransition: {\n type: Boolean as PropType<boolean>,\n },\n outlined: {\n type: Boolean as PropType<boolean>,\n },\n innerText: {\n type: Boolean as PropType<boolean>,\n },\n textColor: {\n type: String as PropType<string>,\n },\n outlineColor: {\n type: String as PropType<string>,\n },\n },\n setup(props) {\n const { numValue } = useProgress(props);\n\n return {\n numValue,\n };\n },\n data() {\n return {\n delta: 0,\n };\n },\n computed: {\n classes(): Record<string, boolean> {\n let noTransition = false;\n if (this.noRewindTransition && this.delta < 0) {\n noTransition = true;\n }\n return {\n 'y-progress--no-trans': noTransition,\n 'y-progress--outlined': !!this.outlined,\n 'y-progress-bar--rounded': !!this.rounded,\n };\n },\n styles(): StyleValue {\n let minWidth;\n if (this.innerText && this.numValue < 5 && this.numValue > 0) {\n minWidth = '2rem';\n }\n return {\n transform: `scaleX(${this.numValue / 100})`,\n minWidth,\n };\n },\n },\n render() {\n const {\n classes,\n numValue,\n height,\n outlineColor,\n textColor,\n styles,\n innerText,\n } = this;\n const slots = this.$slots;\n return (\n <div\n class={{ 'y-progress y-progress-bar': true, ...classes }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={numValue}\n style={{\n '--y-progress-bar__height':\n height !== undefined ? `${height}px` : undefined,\n '--y-progress-bar__outline-color':\n outlineColor !== undefined ? outlineColor : undefined,\n }}\n >\n <div class=\"y-progress__track\"></div>\n <div class=\"y-progress__tube\">\n <div class=\"y-progress__lead\" style={styles}>\n {slots['lead-inner']\n ? slots['lead-inner']()\n : innerText && (\n <div\n class={{\n 'y-progress__lead-inner': true,\n 'y-progress__lead-inner--fixed': numValue < 3,\n }}\n style={{ color: textColor }}\n >\n <span>{numValue} %</span>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"YProgressBar.mjs","names":["defineComponent","useProgress","YProgressBar","name","props","value","type","Number","rounded","Boolean","height","noRewindTransition","outlined","innerText","textColor","String","outlineColor","setup","numValue","data","delta","computed","classes","noTransition","styles","minWidth","transform","render","slots","$slots","_createVNode","undefined","color","_createTextVNode"],"sources":["../../../src/components/progress-bar/YProgressBar.tsx"],"sourcesContent":["import { PropType, StyleValue, defineComponent } from 'vue';\n\nimport { useProgress } from '../../composables/progress';\n\nimport './YProgressBar.scss';\n\nexport const YProgressBar = defineComponent({\n name: 'YProgressBar',\n props: {\n value: {\n type: Number as PropType<number>,\n },\n rounded: {\n type: Boolean as PropType<boolean>,\n },\n height: {\n type: Number as PropType<number>,\n },\n noRewindTransition: {\n type: Boolean as PropType<boolean>,\n },\n outlined: {\n type: Boolean as PropType<boolean>,\n },\n innerText: {\n type: Boolean as PropType<boolean>,\n },\n textColor: {\n type: String as PropType<string>,\n },\n outlineColor: {\n type: String as PropType<string>,\n },\n },\n setup(props) {\n const { numValue } = useProgress(props);\n\n return {\n numValue,\n };\n },\n data() {\n return {\n delta: 0,\n };\n },\n computed: {\n classes(): Record<string, boolean> {\n let noTransition = false;\n if (this.noRewindTransition && this.delta < 0) {\n noTransition = true;\n }\n return {\n 'y-progress--no-trans': noTransition,\n 'y-progress--outlined': !!this.outlined,\n 'y-progress-bar--rounded': !!this.rounded,\n };\n },\n styles(): StyleValue {\n let minWidth;\n if (this.innerText && this.numValue < 5 && this.numValue > 0) {\n minWidth = '2rem';\n }\n return {\n transform: `scaleX(${this.numValue / 100})`,\n minWidth,\n };\n },\n },\n render() {\n const {\n classes,\n numValue,\n height,\n outlineColor,\n textColor,\n styles,\n innerText,\n } = this;\n const slots = this.$slots;\n return (\n <div\n class={{ 'y-progress y-progress-bar': true, ...classes }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={numValue}\n style={{\n '--y-progress-bar__height':\n height !== undefined ? `${height}px` : undefined,\n '--y-progress-bar__outline-color':\n outlineColor !== undefined ? outlineColor : undefined,\n }}\n >\n <div class=\"y-progress__track\"></div>\n <div class=\"y-progress__tube\">\n <div class=\"y-progress__lead\" style={styles}>\n {slots['lead-inner']\n ? slots['lead-inner']()\n : innerText && (\n <div\n class={{\n 'y-progress__lead-inner': true,\n 'y-progress__lead-inner--fixed': numValue < 3,\n }}\n style={{ color: textColor }}\n >\n <span>{numValue} %</span>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n },\n});\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { YDataTableHead } from "./YDataTableHead.mjs";
7
7
  import { YDataTableLayer } from "./YDataTableLayer.mjs";
8
8
  import { YTable } from "./YTable.mjs";
9
9
  import { propsFactory } from "../../util/vue-component.mjs";
10
- import { pressDataTablePaginationProps } from "./pagination.mjs";
10
+ import { createPagination, pressDataTablePaginationProps } from "./pagination.mjs";
11
11
  export const pressDataTableProps = propsFactory({
12
12
  width: [String, Number],
13
13
  search: String,
@@ -18,12 +18,26 @@ export const YDataTable = defineComponent({
18
18
  props: {
19
19
  ...pressDataTableProps()
20
20
  },
21
+ emits: {
22
+ 'update:modelValue': value => true,
23
+ 'update:page': value => true,
24
+ 'update:pageSize': value => true,
25
+ 'update:sortBy': value => true,
26
+ 'update:options': value => true
27
+ },
21
28
  setup(props, _ref) {
22
29
  let {
23
30
  slots
24
31
  } = _ref;
32
+ const {
33
+ page,
34
+ pageSize
35
+ } = createPagination(props);
25
36
  const slotProps = computed(() => {
26
- return {};
37
+ return {
38
+ page: page.value,
39
+ pageSize: pageSize.value
40
+ };
27
41
  });
28
42
  useRender(() => {
29
43
  return _createVNode(YTable, {
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTable.mjs","names":["computed","defineComponent","useRender","YDataTableBody","YDataTableControl","YDataTableHead","YDataTableLayer","YTable","propsFactory","pressDataTablePaginationProps","pressDataTableProps","width","String","Number","search","YDataTable","name","props","setup","_ref","slots","slotProps","_createVNode","default","top","value","leading","_Fragment","thead","tbody","tfoot","trailing","bottom","prepend"],"sources":["../../../src/components/table/YDataTable.tsx"],"sourcesContent":["import { computed, defineComponent, PropType } from \"vue\";\n\nimport { useRender } from '../../composables/component';\nimport { YDataTableBody } from './YDataTableBody';\nimport { YDataTableControl } from './YDataTableControl';\nimport { YDataTableHead } from './YDataTableHead';\nimport { YDataTableLayer } from './YDataTableLayer';\nimport { YTable } from './YTable';\nimport { propsFactory } from \"../../util/vue-component\";\nimport { pressDataTablePaginationProps } from \"./pagination\";\n\nexport const pressDataTableProps = propsFactory({\n width: [String, Number] as PropType<string | number>,\n search: String as PropType<string>,\n ...pressDataTablePaginationProps(),\n}, 'YDataTable')\n\nexport const YDataTable = defineComponent({\n name: 'YDataTable',\n props: {\n ...pressDataTableProps(),\n },\n setup(props, { slots }) {\n const slotProps = computed(() => {\n return {};\n });\n useRender(() => {\n return (\n <YTable class={['y-data-table']} v-slots={slots}>\n {{\n top: () => slots.top?.(slotProps.value),\n leading: () =>\n slots.leading ? (\n slots.leading(slotProps.value)\n ) : (\n <>\n <YDataTableLayer v-slots={slots}></YDataTableLayer>\n </>\n ),\n default: () =>\n slots.default ? (\n slots.default(slotProps.value)\n ) : (\n <>\n <thead>\n <YDataTableHead v-slots={slots}></YDataTableHead>\n </thead>\n {slots.thead?.(slotProps.value)}\n <tbody>\n <YDataTableBody v-slots={slots}></YDataTableBody>\n </tbody>\n {slots.tbody?.(slotProps.value)}\n {slots.tfoot?.(slotProps.value)}\n </>\n ),\n trailing: () => slots.trailing?.(slotProps.value),\n bottom: () =>\n slots.bottom ? (\n slots.bottom(slotProps.value)\n ) : (\n <YDataTableControl\n v-slots={{\n prepend: slots['control.prepend'],\n }}\n ></YDataTableControl>\n ),\n }}\n </YTable>\n );\n });\n },\n});\n\nexport type YDataTable = InstanceType<typeof YDataTable>;\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAkB,KAAK;AAAC,SAEjDC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,iBAAiB;AAAA,SACjBC,cAAc;AAAA,SACdC,eAAe;AAAA,SACfC,MAAM;AAAA,SACNC,YAAY;AAAA,SACZC,6BAA6B;AAEtC,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,KAAK,EAAE,CAACC,MAAM,EAAEC,MAAM,CAA8B;EACpDC,MAAM,EAAEF,MAA0B;EAClC,GAAGH,6BAA6B,CAAC;AACnC,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMM,UAAU,GAAGd,eAAe,CAAC;EACxCe,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE;IACL,GAAGP,mBAAmB,CAAC;EACzB,CAAC;EACDQ,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,SAAS,GAAGrB,QAAQ,CAAC,MAAM;MAC/B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACFE,SAAS,CAAC,MAAM;MACd,OAAAoB,YAAA,CAAAf,MAAA;QAAA,SACiB,CAAC,cAAc;MAAC;QAAAgB,OAAA,EAAAA,CAAA,MAC5B;UACCC,GAAG,EAAEA,CAAA,KAAMJ,KAAK,CAACI,GAAG,GAAGH,SAAS,CAACI,KAAK,CAAC;UACvCC,OAAO,EAAEA,CAAA,KACPN,KAAK,CAACM,OAAO,GACXN,KAAK,CAACM,OAAO,CAACL,SAAS,CAACI,KAAK,CAAC,GAAAH,YAAA,CAAAK,SAAA,SAAAL,YAAA,CAAAhB,eAAA,QAGFc,KAAK,GAElC;UACHG,OAAO,EAAEA,CAAA,KACPH,KAAK,CAACG,OAAO,GACXH,KAAK,CAACG,OAAO,CAACF,SAAS,CAACI,KAAK,CAAC,GAAAH,YAAA,CAAAK,SAAA,SAAAL,YAAA,iBAAAA,YAAA,CAAAjB,cAAA,QAIDe,KAAK,KAE/BA,KAAK,CAACQ,KAAK,GAAGP,SAAS,CAACI,KAAK,CAAC,EAAAH,YAAA,iBAAAA,YAAA,CAAAnB,cAAA,QAEJiB,KAAK,KAE/BA,KAAK,CAACS,KAAK,GAAGR,SAAS,CAACI,KAAK,CAAC,EAC9BL,KAAK,CAACU,KAAK,GAAGT,SAAS,CAACI,KAAK,CAAC,EAElC;UACHM,QAAQ,EAAEA,CAAA,KAAMX,KAAK,CAACW,QAAQ,GAAGV,SAAS,CAACI,KAAK,CAAC;UACjDO,MAAM,EAAEA,CAAA,KACNZ,KAAK,CAACY,MAAM,GACVZ,KAAK,CAACY,MAAM,CAACX,SAAS,CAACI,KAAK,CAAC,GAAAH,YAAA,CAAAlB,iBAAA,QAGlB;YACP6B,OAAO,EAAEb,KAAK,CAAC,iBAAiB;UAClC,CAAC;QAGT,CAAC;QAAA,GAtCuCA;MAAK;IAyCnD,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTable.mjs","names":["computed","defineComponent","useRender","YDataTableBody","YDataTableControl","YDataTableHead","YDataTableLayer","YTable","propsFactory","createPagination","pressDataTablePaginationProps","pressDataTableProps","width","String","Number","search","YDataTable","name","props","emits","value","setup","_ref","slots","page","pageSize","slotProps","_createVNode","default","top","leading","_Fragment","thead","tbody","tfoot","trailing","bottom","prepend"],"sources":["../../../src/components/table/YDataTable.tsx"],"sourcesContent":["import { computed, defineComponent, PropType } from \"vue\";\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { YDataTableBody } from './YDataTableBody';\r\nimport { YDataTableControl } from './YDataTableControl';\r\nimport { YDataTableHead } from './YDataTableHead';\r\nimport { YDataTableLayer } from './YDataTableLayer';\r\nimport { YTable } from './YTable';\r\nimport { propsFactory } from \"../../util/vue-component\";\r\nimport {createPagination, pressDataTablePaginationProps} from \"./pagination\";\r\n\r\nexport const pressDataTableProps = propsFactory({\r\n width: [String, Number] as PropType<string | number>,\r\n search: String as PropType<string>,\r\n ...pressDataTablePaginationProps(),\r\n}, 'YDataTable')\r\n\r\nexport const YDataTable = defineComponent({\r\n name: 'YDataTable',\r\n props: {\r\n ...pressDataTableProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: any[]) => true,\r\n 'update:page': (value: number) => true,\r\n 'update:pageSize': (value: number) => true,\r\n 'update:sortBy': (value: any) => true,\r\n 'update:options': (value: any) => true,\r\n },\r\n setup(props, { slots }) {\r\n\r\n const { page, pageSize } = createPagination(props as any);\r\n\r\n const slotProps = computed(() => {\r\n return {\r\n page: page.value,\r\n pageSize: pageSize.value,\r\n\r\n };\r\n });\r\n useRender(() => {\r\n return (\r\n <YTable class={['y-data-table']} v-slots={slots}>\r\n {{\r\n top: () => slots.top?.(slotProps.value),\r\n leading: () =>\r\n slots.leading ? (\r\n slots.leading(slotProps.value)\r\n ) : (\r\n <>\r\n <YDataTableLayer v-slots={slots}></YDataTableLayer>\r\n </>\r\n ),\r\n default: () =>\r\n slots.default ? (\r\n slots.default(slotProps.value)\r\n ) : (\r\n <>\r\n <thead>\r\n <YDataTableHead v-slots={slots}></YDataTableHead>\r\n </thead>\r\n {slots.thead?.(slotProps.value)}\r\n <tbody>\r\n <YDataTableBody v-slots={slots}></YDataTableBody>\r\n </tbody>\r\n {slots.tbody?.(slotProps.value)}\r\n {slots.tfoot?.(slotProps.value)}\r\n </>\r\n ),\r\n trailing: () => slots.trailing?.(slotProps.value),\r\n bottom: () =>\r\n slots.bottom ? (\r\n slots.bottom(slotProps.value)\r\n ) : (\r\n <YDataTableControl\r\n v-slots={{\r\n prepend: slots['control.prepend'],\r\n }}\r\n ></YDataTableControl>\r\n ),\r\n }}\r\n </YTable>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTable = InstanceType<typeof YDataTable>;\r\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAkB,KAAK;AAAC,SAEjDC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,iBAAiB;AAAA,SACjBC,cAAc;AAAA,SACdC,eAAe;AAAA,SACfC,MAAM;AAAA,SACNC,YAAY;AAAA,SACbC,gBAAgB,EAAEC,6BAA6B;AAEvD,OAAO,MAAMC,mBAAmB,GAAGH,YAAY,CAAC;EAC9CI,KAAK,EAAE,CAACC,MAAM,EAAEC,MAAM,CAA8B;EACpDC,MAAM,EAAEF,MAA0B;EAClC,GAAGH,6BAA6B,CAAC;AACnC,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMM,UAAU,GAAGf,eAAe,CAAC;EACxCgB,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE;IACL,GAAGP,mBAAmB,CAAC;EACzB,CAAC;EACDQ,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAY,IAAK,IAAI;IAC3C,aAAa,EAAGA,KAAa,IAAK,IAAI;IACtC,iBAAiB,EAAGA,KAAa,IAAK,IAAI;IAC1C,eAAe,EAAGA,KAAU,IAAK,IAAI;IACrC,gBAAgB,EAAGA,KAAU,IAAK;EACpC,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IAEpB,MAAM;MAAEE,IAAI;MAAEC;IAAS,CAAC,GAAGhB,gBAAgB,CAACS,KAAY,CAAC;IAEzD,MAAMQ,SAAS,GAAG1B,QAAQ,CAAC,MAAM;MAC/B,OAAO;QACLwB,IAAI,EAAEA,IAAI,CAACJ,KAAK;QAChBK,QAAQ,EAAEA,QAAQ,CAACL;MAErB,CAAC;IACH,CAAC,CAAC;IACFlB,SAAS,CAAC,MAAM;MACd,OAAAyB,YAAA,CAAApB,MAAA;QAAA,SACiB,CAAC,cAAc;MAAC;QAAAqB,OAAA,EAAAA,CAAA,MAC5B;UACCC,GAAG,EAAEA,CAAA,KAAMN,KAAK,CAACM,GAAG,GAAGH,SAAS,CAACN,KAAK,CAAC;UACvCU,OAAO,EAAEA,CAAA,KACPP,KAAK,CAACO,OAAO,GACXP,KAAK,CAACO,OAAO,CAACJ,SAAS,CAACN,KAAK,CAAC,GAAAO,YAAA,CAAAI,SAAA,SAAAJ,YAAA,CAAArB,eAAA,QAGFiB,KAAK,GAElC;UACHK,OAAO,EAAEA,CAAA,KACPL,KAAK,CAACK,OAAO,GACXL,KAAK,CAACK,OAAO,CAACF,SAAS,CAACN,KAAK,CAAC,GAAAO,YAAA,CAAAI,SAAA,SAAAJ,YAAA,iBAAAA,YAAA,CAAAtB,cAAA,QAIDkB,KAAK,KAE/BA,KAAK,CAACS,KAAK,GAAGN,SAAS,CAACN,KAAK,CAAC,EAAAO,YAAA,iBAAAA,YAAA,CAAAxB,cAAA,QAEJoB,KAAK,KAE/BA,KAAK,CAACU,KAAK,GAAGP,SAAS,CAACN,KAAK,CAAC,EAC9BG,KAAK,CAACW,KAAK,GAAGR,SAAS,CAACN,KAAK,CAAC,EAElC;UACHe,QAAQ,EAAEA,CAAA,KAAMZ,KAAK,CAACY,QAAQ,GAAGT,SAAS,CAACN,KAAK,CAAC;UACjDgB,MAAM,EAAEA,CAAA,KACNb,KAAK,CAACa,MAAM,GACVb,KAAK,CAACa,MAAM,CAACV,SAAS,CAACN,KAAK,CAAC,GAAAO,YAAA,CAAAvB,iBAAA,QAGlB;YACPiC,OAAO,EAAEd,KAAK,CAAC,iBAAiB;UAClC,CAAC;QAGT,CAAC;QAAA,GAtCuCA;MAAK;IAyCnD,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1,11 +1,19 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  import { defineComponent } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
4
  export const YDataTableBody = defineComponent({
5
5
  name: 'YDataTableBody',
6
- setup() {
6
+ props: {
7
+ headers: {
8
+ type: [Array]
9
+ }
10
+ },
11
+ setup(props, _ref) {
12
+ let {
13
+ slots
14
+ } = _ref;
7
15
  useRender(() => {
8
- return _createVNode("div", null, null);
16
+ return _createVNode(_Fragment, null, [slots.body ? slots.body?.(props) : _createVNode("tr", null, null)]);
9
17
  });
10
18
  }
11
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableBody.mjs","names":["defineComponent","useRender","YDataTableBody","name","setup","_createVNode"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\n\r\nexport const YDataTableBody = defineComponent({\r\n name: 'YDataTableBody',\r\n setup() {\r\n useRender(() => {\r\n return <div></div>;\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\r\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAElB,OAAO,MAAMC,cAAc,GAAGF,eAAe,CAAC;EAC5CG,IAAI,EAAE,gBAAgB;EACtBC,KAAKA,CAAA,EAAG;IACNH,SAAS,CAAC,MAAM;MACd,OAAAI,YAAA;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableBody.mjs","names":["defineComponent","useRender","YDataTableBody","name","props","headers","type","Array","setup","_ref","slots","_createVNode","_Fragment","body"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\n\r\nexport const YDataTableBody = defineComponent({\r\n name: 'YDataTableBody',\r\n props: {\r\n headers: {\r\n type: [Array],\r\n },\r\n },\r\n setup(props, { slots }) {\r\n useRender(() => {\r\n return <>{slots.body ? slots.body?.(props) : <tr></tr>}</>;\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\r\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAElB,OAAO,MAAMC,cAAc,GAAGF,eAAe,CAAC;EAC5CG,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE;IACLC,OAAO,EAAE;MACPC,IAAI,EAAE,CAACC,KAAK;IACd;EACF,CAAC;EACDC,KAAKA,CAACJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBR,SAAS,CAAC,MAAM;MACd,OAAAU,YAAA,CAAAC,SAAA,SAAUF,KAAK,CAACG,IAAI,GAAGH,KAAK,CAACG,IAAI,GAAGT,KAAK,CAAC,GAAAO,YAAA,kBAAY;IACxD,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1,11 +1,19 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  import { defineComponent } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
4
  export const YDataTableHead = defineComponent({
5
5
  name: 'YDataTableHead',
6
- setup() {
6
+ props: {
7
+ headers: {
8
+ type: [Array]
9
+ }
10
+ },
11
+ setup(props, _ref) {
12
+ let {
13
+ slots
14
+ } = _ref;
7
15
  useRender(() => {
8
- return _createVNode("tr", null, null);
16
+ return _createVNode(_Fragment, null, [slots.head ? slots.head?.(props) : _createVNode("tr", null, null)]);
9
17
  });
10
18
  }
11
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableHead.mjs","names":["defineComponent","useRender","YDataTableHead","name","setup","_createVNode"],"sources":["../../../src/components/table/YDataTableHead.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\n\r\nexport const YDataTableHead = defineComponent({\r\n name: 'YDataTableHead',\r\n setup() {\r\n useRender(() => {\r\n return <tr></tr>;\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableHead = InstanceType<typeof YDataTableHead>;\r\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAElB,OAAO,MAAMC,cAAc,GAAGF,eAAe,CAAC;EAC5CG,IAAI,EAAE,gBAAgB;EACtBC,KAAKA,CAAA,EAAG;IACNH,SAAS,CAAC,MAAM;MACd,OAAAI,YAAA;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableHead.mjs","names":["defineComponent","useRender","YDataTableHead","name","props","headers","type","Array","setup","_ref","slots","_createVNode","_Fragment","head"],"sources":["../../../src/components/table/YDataTableHead.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\n\nexport const YDataTableHead = defineComponent({\n name: 'YDataTableHead',\n props: {\n headers: {\n type: [Array],\n },\n },\n setup(props, { slots }) {\n useRender(() => {\n return <>{slots.head ? slots.head?.(props) : <tr></tr>}</>;\n });\n },\n});\n\nexport type YDataTableHead = InstanceType<typeof YDataTableHead>;\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAElB,OAAO,MAAMC,cAAc,GAAGF,eAAe,CAAC;EAC5CG,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE;IACLC,OAAO,EAAE;MACPC,IAAI,EAAE,CAACC,KAAK;IACd;EACF,CAAC;EACDC,KAAKA,CAACJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBR,SAAS,CAAC,MAAM;MACd,OAAAU,YAAA,CAAAC,SAAA,SAAUF,KAAK,CAACG,IAAI,GAAGH,KAAK,CAACG,IAAI,GAAGT,KAAK,CAAC,GAAAO,YAAA,kBAAY;IACxD,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -14,6 +14,9 @@ export const pressDataTableServerProps = propsFactory({
14
14
  type: [Number, String],
15
15
  required: true
16
16
  },
17
+ headers: {
18
+ type: [Array]
19
+ },
17
20
  ...pressDataTablePaginationProps(),
18
21
  ...pressDataTableProps()
19
22
  }, 'YDataTableServer');
@@ -42,7 +45,11 @@ export const YDataTableServer = defineComponent({
42
45
  }, {
43
46
  top: () => slots.top?.(slotProps.value),
44
47
  leading: () => slots.leading ? slots.leading(slotProps.value) : _createVNode(_Fragment, null, [_createVNode(YDataTableLayer, null, slots)]),
45
- default: () => slots.default ? slots.default(slotProps.value) : _createVNode(_Fragment, null, [_createVNode("thead", null, [_createVNode(YDataTableHead, null, slots)]), slots.thead?.(slotProps.value), _createVNode("tbody", null, [_createVNode(YDataTableBody, null, slots)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
48
+ default: () => slots.default ? slots.default(slotProps.value) : _createVNode(_Fragment, null, [_createVNode("thead", null, [_createVNode(YDataTableHead, {
49
+ "headers": props.headers
50
+ }, slots)]), slots.thead?.(slotProps.value), _createVNode("tbody", null, [_createVNode(YDataTableBody, {
51
+ "headers": props.headers
52
+ }, slots)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
46
53
  trailing: () => slots.trailing?.(slotProps.value),
47
54
  bottom: () => slots.bottom ? slots.bottom(slotProps.value) : _createVNode(YDataTableControl, null, {
48
55
  prepend: slots['control.prepend']
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableServer.mjs","names":["computed","defineComponent","useRender","propsFactory","pressDataTableProps","YDataTableBody","YDataTableControl","YDataTableHead","YDataTableLayer","YTable","pressDataTablePaginationProps","pressDataTableServerProps","total","type","Number","String","required","YDataTableServer","name","components","props","setup","_ref","slots","slotProps","_createVNode","top","value","leading","_Fragment","default","thead","tbody","tfoot","trailing","bottom","prepend"],"sources":["../../../src/components/table/YDataTableServer.tsx"],"sourcesContent":["import { PropType, computed, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { propsFactory } from '../../util/vue-component';\nimport { pressDataTableProps } from './YDataTable';\nimport { YDataTableBody } from './YDataTableBody';\nimport { YDataTableControl } from './YDataTableControl';\nimport { YDataTableHead } from './YDataTableHead';\nimport { YDataTableLayer } from './YDataTableLayer';\nimport { YTable } from './YTable';\nimport { pressDataTablePaginationProps } from './pagination';\n\nexport const pressDataTableServerProps = propsFactory(\n {\n total: {\n type: [Number, String] as PropType<number | string>,\n required: true,\n },\n ...pressDataTablePaginationProps(),\n ...pressDataTableProps(),\n },\n 'YDataTableServer',\n);\n\nexport const YDataTableServer = defineComponent({\n name: 'YDataTableServer',\n components: {\n YTable,\n YDataTableLayer,\n YDataTableHead,\n YDataTableBody,\n YDataTableControl,\n },\n props: {\n ...pressDataTableServerProps(),\n },\n setup(props, { slots }) {\n const slotProps = computed(() => {\n return {};\n });\n useRender(() => {\n return (\n <YTable class={['y-data-table']}>\n {{\n top: () => slots.top?.(slotProps.value),\n leading: () =>\n slots.leading ? (\n slots.leading(slotProps.value)\n ) : (\n <>\n <YDataTableLayer v-slots={slots}></YDataTableLayer>\n </>\n ),\n default: () =>\n slots.default ? (\n slots.default(slotProps.value)\n ) : (\n <>\n <thead>\n <YDataTableHead v-slots={slots}></YDataTableHead>\n </thead>\n {slots.thead?.(slotProps.value)}\n <tbody>\n <YDataTableBody v-slots={slots}></YDataTableBody>\n </tbody>\n {slots.tbody?.(slotProps.value)}\n {slots.tfoot?.(slotProps.value)}\n </>\n ),\n trailing: () => slots.trailing?.(slotProps.value),\n bottom: () =>\n slots.bottom ? (\n slots.bottom(slotProps.value)\n ) : (\n <YDataTableControl\n v-slots={{\n prepend: slots['control.prepend'],\n }}\n ></YDataTableControl>\n ),\n }}\n </YTable>\n );\n });\n },\n});\n\nexport type YDataTableServer = InstanceType<typeof YDataTableServer>;\n"],"mappings":";AAAA,SAAmBA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEjDC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,mBAAmB;AAAA,SACnBC,cAAc;AAAA,SACdC,iBAAiB;AAAA,SACjBC,cAAc;AAAA,SACdC,eAAe;AAAA,SACfC,MAAM;AAAA,SACNC,6BAA6B;AAEtC,OAAO,MAAMC,yBAAyB,GAAGR,YAAY,CACnD;EACES,KAAK,EAAE;IACLC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAA8B;IACnDC,QAAQ,EAAE;EACZ,CAAC;EACD,GAAGN,6BAA6B,CAAC,CAAC;EAClC,GAAGN,mBAAmB,CAAC;AACzB,CAAC,EACD,kBACF,CAAC;AAED,OAAO,MAAMa,gBAAgB,GAAGhB,eAAe,CAAC;EAC9CiB,IAAI,EAAE,kBAAkB;EACxBC,UAAU,EAAE;IACVV,MAAM;IACND,eAAe;IACfD,cAAc;IACdF,cAAc;IACdC;EACF,CAAC;EACDc,KAAK,EAAE;IACL,GAAGT,yBAAyB,CAAC;EAC/B,CAAC;EACDU,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,SAAS,GAAGxB,QAAQ,CAAC,MAAM;MAC/B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACFE,SAAS,CAAC,MAAM;MACd,OAAAuB,YAAA,CAAAhB,MAAA;QAAA,SACiB,CAAC,cAAc;MAAC;QAE3BiB,GAAG,EAAEA,CAAA,KAAMH,KAAK,CAACG,GAAG,GAAGF,SAAS,CAACG,KAAK,CAAC;QACvCC,OAAO,EAAEA,CAAA,KACPL,KAAK,CAACK,OAAO,GACXL,KAAK,CAACK,OAAO,CAACJ,SAAS,CAACG,KAAK,CAAC,GAAAF,YAAA,CAAAI,SAAA,SAAAJ,YAAA,CAAAjB,eAAA,QAGFe,KAAK,GAElC;QACHO,OAAO,EAAEA,CAAA,KACPP,KAAK,CAACO,OAAO,GACXP,KAAK,CAACO,OAAO,CAACN,SAAS,CAACG,KAAK,CAAC,GAAAF,YAAA,CAAAI,SAAA,SAAAJ,YAAA,iBAAAA,YAAA,CAAAlB,cAAA,QAIDgB,KAAK,KAE/BA,KAAK,CAACQ,KAAK,GAAGP,SAAS,CAACG,KAAK,CAAC,EAAAF,YAAA,iBAAAA,YAAA,CAAApB,cAAA,QAEJkB,KAAK,KAE/BA,KAAK,CAACS,KAAK,GAAGR,SAAS,CAACG,KAAK,CAAC,EAC9BJ,KAAK,CAACU,KAAK,GAAGT,SAAS,CAACG,KAAK,CAAC,EAElC;QACHO,QAAQ,EAAEA,CAAA,KAAMX,KAAK,CAACW,QAAQ,GAAGV,SAAS,CAACG,KAAK,CAAC;QACjDQ,MAAM,EAAEA,CAAA,KACNZ,KAAK,CAACY,MAAM,GACVZ,KAAK,CAACY,MAAM,CAACX,SAAS,CAACG,KAAK,CAAC,GAAAF,YAAA,CAAAnB,iBAAA,QAGlB;UACP8B,OAAO,EAAEb,KAAK,CAAC,iBAAiB;QAClC,CAAC;MAEJ;IAIX,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableServer.mjs","names":["computed","defineComponent","useRender","propsFactory","pressDataTableProps","YDataTableBody","YDataTableControl","YDataTableHead","YDataTableLayer","YTable","pressDataTablePaginationProps","pressDataTableServerProps","total","type","Number","String","required","headers","Array","YDataTableServer","name","components","props","setup","_ref","slots","slotProps","_createVNode","top","value","leading","_Fragment","default","thead","tbody","tfoot","trailing","bottom","prepend"],"sources":["../../../src/components/table/YDataTableServer.tsx"],"sourcesContent":["import { PropType, computed, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { propsFactory } from '../../util/vue-component';\nimport { pressDataTableProps } from './YDataTable';\nimport { YDataTableBody } from './YDataTableBody';\nimport { YDataTableControl } from './YDataTableControl';\nimport { YDataTableHead } from './YDataTableHead';\nimport { YDataTableLayer } from './YDataTableLayer';\nimport { YTable } from './YTable';\nimport { pressDataTablePaginationProps } from './pagination';\n\nexport const pressDataTableServerProps = propsFactory(\n {\n total: {\n type: [Number, String] as PropType<number | string>,\n required: true,\n },\n headers: {\n type: [Array],\n },\n ...pressDataTablePaginationProps(),\n ...pressDataTableProps(),\n },\n 'YDataTableServer',\n);\n\nexport const YDataTableServer = defineComponent({\n name: 'YDataTableServer',\n components: {\n YTable,\n YDataTableLayer,\n YDataTableHead,\n YDataTableBody,\n YDataTableControl,\n },\n props: {\n ...pressDataTableServerProps(),\n },\n setup(props, { slots }) {\n const slotProps = computed(() => {\n return {};\n });\n useRender(() => {\n return (\n <YTable class={['y-data-table']}>\n {{\n top: () => slots.top?.(slotProps.value),\n leading: () =>\n slots.leading ? (\n slots.leading(slotProps.value)\n ) : (\n <>\n <YDataTableLayer v-slots={slots}></YDataTableLayer>\n </>\n ),\n default: () =>\n slots.default ? (\n slots.default(slotProps.value)\n ) : (\n <>\n <thead>\n <YDataTableHead v-slots={slots} headers={props.headers}></YDataTableHead>\n </thead>\n {slots.thead?.(slotProps.value)}\n <tbody>\n <YDataTableBody v-slots={slots} headers={props.headers}></YDataTableBody>\n </tbody>\n {slots.tbody?.(slotProps.value)}\n {slots.tfoot?.(slotProps.value)}\n </>\n ),\n trailing: () => slots.trailing?.(slotProps.value),\n bottom: () =>\n slots.bottom ? (\n slots.bottom(slotProps.value)\n ) : (\n <YDataTableControl\n v-slots={{\n prepend: slots['control.prepend'],\n }}\n ></YDataTableControl>\n ),\n }}\n </YTable>\n );\n });\n },\n});\n\nexport type YDataTableServer = InstanceType<typeof YDataTableServer>;\n"],"mappings":";AAAA,SAAmBA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEjDC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,mBAAmB;AAAA,SACnBC,cAAc;AAAA,SACdC,iBAAiB;AAAA,SACjBC,cAAc;AAAA,SACdC,eAAe;AAAA,SACfC,MAAM;AAAA,SACNC,6BAA6B;AAEtC,OAAO,MAAMC,yBAAyB,GAAGR,YAAY,CACnD;EACES,KAAK,EAAE;IACLC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAA8B;IACnDC,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPJ,IAAI,EAAE,CAACK,KAAK;EACd,CAAC;EACD,GAAGR,6BAA6B,CAAC,CAAC;EAClC,GAAGN,mBAAmB,CAAC;AACzB,CAAC,EACD,kBACF,CAAC;AAED,OAAO,MAAMe,gBAAgB,GAAGlB,eAAe,CAAC;EAC9CmB,IAAI,EAAE,kBAAkB;EACxBC,UAAU,EAAE;IACVZ,MAAM;IACND,eAAe;IACfD,cAAc;IACdF,cAAc;IACdC;EACF,CAAC;EACDgB,KAAK,EAAE;IACL,GAAGX,yBAAyB,CAAC;EAC/B,CAAC;EACDY,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,SAAS,GAAG1B,QAAQ,CAAC,MAAM;MAC/B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACFE,SAAS,CAAC,MAAM;MACd,OAAAyB,YAAA,CAAAlB,MAAA;QAAA,SACiB,CAAC,cAAc;MAAC;QAE3BmB,GAAG,EAAEA,CAAA,KAAMH,KAAK,CAACG,GAAG,GAAGF,SAAS,CAACG,KAAK,CAAC;QACvCC,OAAO,EAAEA,CAAA,KACPL,KAAK,CAACK,OAAO,GACXL,KAAK,CAACK,OAAO,CAACJ,SAAS,CAACG,KAAK,CAAC,GAAAF,YAAA,CAAAI,SAAA,SAAAJ,YAAA,CAAAnB,eAAA,QAGFiB,KAAK,GAElC;QACHO,OAAO,EAAEA,CAAA,KACPP,KAAK,CAACO,OAAO,GACXP,KAAK,CAACO,OAAO,CAACN,SAAS,CAACG,KAAK,CAAC,GAAAF,YAAA,CAAAI,SAAA,SAAAJ,YAAA,iBAAAA,YAAA,CAAApB,cAAA;UAAA,WAIee,KAAK,CAACL;QAAO,GAA7BQ,KAAK,KAE/BA,KAAK,CAACQ,KAAK,GAAGP,SAAS,CAACG,KAAK,CAAC,EAAAF,YAAA,iBAAAA,YAAA,CAAAtB,cAAA;UAAA,WAEYiB,KAAK,CAACL;QAAO,GAA7BQ,KAAK,KAE/BA,KAAK,CAACS,KAAK,GAAGR,SAAS,CAACG,KAAK,CAAC,EAC9BJ,KAAK,CAACU,KAAK,GAAGT,SAAS,CAACG,KAAK,CAAC,EAElC;QACHO,QAAQ,EAAEA,CAAA,KAAMX,KAAK,CAACW,QAAQ,GAAGV,SAAS,CAACG,KAAK,CAAC;QACjDQ,MAAM,EAAEA,CAAA,KACNZ,KAAK,CAACY,MAAM,GACVZ,KAAK,CAACY,MAAM,CAACX,SAAS,CAACG,KAAK,CAAC,GAAAF,YAAA,CAAArB,iBAAA,QAGlB;UACPgC,OAAO,EAAEb,KAAK,CAAC,iBAAiB;QAClC,CAAC;MAEJ;IAIX,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -194,16 +194,14 @@ export const YTooltip = defineComponent({
194
194
  }
195
195
  })]);
196
196
  });
197
- if (import.meta.env.DEV) {
198
- return {
199
- base$,
200
- el$,
201
- baseEl,
202
- coordinatesStyles,
203
- baseSlot,
204
- active
205
- };
206
- }
197
+ return {
198
+ base$,
199
+ el$,
200
+ baseEl,
201
+ coordinatesStyles,
202
+ baseSlot,
203
+ active
204
+ };
207
205
  }
208
206
  });
209
207
  //# sourceMappingURL=YTooltip.mjs.map