yuyeon 0.3.4-beta.12 → 0.3.4-beta.14

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 (257) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +131 -131
  3. package/dist/yuyeon.umd.cjs +1 -1
  4. package/lib/components/table/YDataTableBody.js +1 -1
  5. package/lib/components/table/YDataTableBody.js.map +1 -1
  6. package/lib/components/table/YDataTableLayerRows.js +3 -3
  7. package/lib/components/table/YDataTableLayerRows.js.map +1 -1
  8. package/lib/directives/plate-wave/plate-wave.scss +17 -6
  9. package/lib/util/ui.js +8 -7
  10. package/lib/util/ui.js.map +1 -1
  11. package/package.json +1 -1
  12. package/types/src/abstract/items.d.ts +49 -0
  13. package/types/src/components/alert/YAlert.d.ts +13 -0
  14. package/types/src/components/alert/index.d.ts +1 -0
  15. package/types/src/components/app/YApp.d.ts +8 -0
  16. package/types/src/components/app/index.d.ts +1 -0
  17. package/types/src/components/badge/YBadge.d.ts +126 -0
  18. package/types/src/components/badge/index.d.ts +1 -0
  19. package/types/src/components/bench/YBench.d.ts +4 -0
  20. package/types/src/components/bench/index.d.ts +1 -0
  21. package/types/src/components/button/YButton.d.ts +189 -0
  22. package/types/src/components/button/index.d.ts +1 -0
  23. package/types/src/components/card/YCard.d.ts +9 -0
  24. package/types/src/components/card/YCardBody.d.ts +2 -0
  25. package/types/src/components/card/YCardFooter.d.ts +2 -0
  26. package/types/src/components/card/YCardHeader.d.ts +2 -0
  27. package/types/src/components/card/index.d.ts +4 -0
  28. package/types/src/components/checkbox/YCheckbox.d.ts +23 -0
  29. package/types/src/components/checkbox/YInputCheckbox.d.ts +31 -0
  30. package/types/src/components/checkbox/index.d.ts +4 -0
  31. package/types/src/components/chip/YChip.d.ts +37 -0
  32. package/types/src/components/chip/index.d.ts +1 -0
  33. package/types/src/components/date-picker/YDateCalendar.d.ts +115 -0
  34. package/types/src/components/date-picker/YDatePicker.d.ts +94 -0
  35. package/types/src/components/date-picker/YDatePickerControl.d.ts +97 -0
  36. package/types/src/components/date-picker/YMonthPicker.d.ts +25 -0
  37. package/types/src/components/date-picker/YYearPicker.d.ts +38 -0
  38. package/types/src/components/date-picker/index.d.ts +3 -0
  39. package/types/src/components/default-provider/YDefaultProvider.d.ts +0 -0
  40. package/types/src/components/default-provider/index.d.ts +0 -0
  41. package/types/src/components/dialog/YDialog.d.ts +715 -0
  42. package/types/src/components/dialog/index.d.ts +1 -0
  43. package/types/src/components/divider/YDivider.d.ts +14 -0
  44. package/types/src/components/divider/index.d.ts +1 -0
  45. package/types/src/components/draggable/YDraggable.d.ts +36 -0
  46. package/types/src/components/draggable/index.d.ts +1 -0
  47. package/types/src/components/dropdown/YDropdown.d.ts +574 -0
  48. package/types/src/components/dropdown/index.d.ts +1 -0
  49. package/types/src/components/field-input/YFieldInput.d.ts +322 -0
  50. package/types/src/components/field-input/index.d.ts +1 -0
  51. package/types/src/components/form/YForm.d.ts +20 -0
  52. package/types/src/components/form/index.d.ts +1 -0
  53. package/types/src/components/hover/YHover.d.ts +57 -0
  54. package/types/src/components/hover/index.d.ts +1 -0
  55. package/types/src/components/icon/YIcon.d.ts +67 -0
  56. package/types/src/components/icon/index.d.ts +1 -0
  57. package/types/src/components/icons/YIconCheckbox.d.ts +6 -0
  58. package/types/src/components/icons/YIconClear.d.ts +1 -0
  59. package/types/src/components/icons/YIconDropdown.d.ts +1 -0
  60. package/types/src/components/icons/YIconExpand.d.ts +1 -0
  61. package/types/src/components/icons/YIconPageControl.d.ts +14 -0
  62. package/types/src/components/icons/YIconSort.d.ts +10 -0
  63. package/types/src/components/icons/index.d.ts +51 -0
  64. package/types/src/components/img/YImg.d.ts +133 -0
  65. package/types/src/components/img/index.d.ts +0 -0
  66. package/types/src/components/index.d.ts +38 -0
  67. package/types/src/components/input/YInput.d.ts +249 -0
  68. package/types/src/components/input/index.d.ts +1 -0
  69. package/types/src/components/ip-field/YIpv4Field.d.ts +65 -0
  70. package/types/src/components/ip-field/index.d.ts +1 -0
  71. package/types/src/components/layer/YLayer.d.ts +436 -0
  72. package/types/src/components/layer/active-delay.d.ts +4 -0
  73. package/types/src/components/layer/active-stack.d.ts +16 -0
  74. package/types/src/components/layer/base.d.ts +28 -0
  75. package/types/src/components/layer/content.d.ts +21 -0
  76. package/types/src/components/layer/index.d.ts +1 -0
  77. package/types/src/components/layer/scroll-strategies.d.ts +41 -0
  78. package/types/src/components/list/YList.d.ts +19 -0
  79. package/types/src/components/list/YListItem.d.ts +42 -0
  80. package/types/src/components/list/index.d.ts +2 -0
  81. package/types/src/components/loading/YSpinnerRing.d.ts +3 -0
  82. package/types/src/components/loading/index.d.ts +1 -0
  83. package/types/src/components/menu/YMenu.d.ts +517 -0
  84. package/types/src/components/menu/index.d.ts +1 -0
  85. package/types/src/components/navigation/YNavigation.d.ts +1 -0
  86. package/types/src/components/navigation/index.d.ts +1 -0
  87. package/types/src/components/pagination/YPagination.d.ts +137 -0
  88. package/types/src/components/pagination/index.d.ts +1 -0
  89. package/types/src/components/panel/YDividePanel.d.ts +5 -0
  90. package/types/src/components/panel/index.d.ts +1 -0
  91. package/types/src/components/plate/YPlate.d.ts +9 -0
  92. package/types/src/components/plate/index.d.ts +1 -0
  93. package/types/src/components/progress-bar/YProgressBar.d.ts +38 -0
  94. package/types/src/components/progress-bar/index.d.ts +1 -0
  95. package/types/src/components/progress-ring/YProgressRing.d.ts +34 -0
  96. package/types/src/components/progress-ring/index.d.ts +1 -0
  97. package/types/src/components/radio/YRadio.d.ts +25 -0
  98. package/types/src/components/radio/YRadioIcon.d.ts +6 -0
  99. package/types/src/components/radio/index.d.ts +2 -0
  100. package/types/src/components/select/YSelect.d.ts +1221 -0
  101. package/types/src/components/select/index.d.ts +1 -0
  102. package/types/src/components/slider/YSlider.d.ts +16 -0
  103. package/types/src/components/slider/index.d.ts +1 -0
  104. package/types/src/components/slider/slider.d.ts +0 -0
  105. package/types/src/components/snackbar/YSnackbar.d.ts +452 -0
  106. package/types/src/components/snackbar/index.d.ts +1 -0
  107. package/types/src/components/switch/YSwitch.d.ts +137 -0
  108. package/types/src/components/switch/index.d.ts +1 -0
  109. package/types/src/components/tab/YTab.d.ts +218 -0
  110. package/types/src/components/tab/YTabs.d.ts +98 -0
  111. package/types/src/components/tab/index.d.ts +3 -0
  112. package/types/src/components/tab/shared.d.ts +4 -0
  113. package/types/src/components/tab/types.d.ts +5 -0
  114. package/types/src/components/table/YDataTable.d.ts +459 -0
  115. package/types/src/components/table/YDataTableBody.d.ts +99 -0
  116. package/types/src/components/table/YDataTableCell.d.ts +32 -0
  117. package/types/src/components/table/YDataTableControl.d.ts +68 -0
  118. package/types/src/components/table/YDataTableHead.d.ts +54 -0
  119. package/types/src/components/table/YDataTableLayer.d.ts +13 -0
  120. package/types/src/components/table/YDataTableLayerRow.d.ts +22 -0
  121. package/types/src/components/table/YDataTableLayerRows.d.ts +9 -0
  122. package/types/src/components/table/YDataTableRow.d.ts +53 -0
  123. package/types/src/components/table/YDataTableServer.d.ts +502 -0
  124. package/types/src/components/table/YTable.d.ts +65 -0
  125. package/types/src/components/table/composables/expand.d.ts +42 -0
  126. package/types/src/components/table/composables/header.d.ts +175 -0
  127. package/types/src/components/table/composables/items.d.ts +55 -0
  128. package/types/src/components/table/composables/measure.d.ts +8 -0
  129. package/types/src/components/table/composables/options.d.ts +11 -0
  130. package/types/src/components/table/composables/pagination.d.ts +81 -0
  131. package/types/src/components/table/composables/provides.d.ts +15 -0
  132. package/types/src/components/table/composables/selection.d.ts +82 -0
  133. package/types/src/components/table/composables/sorted-items.d.ts +7 -0
  134. package/types/src/components/table/composables/sorting.d.ts +56 -0
  135. package/types/src/components/table/index.d.ts +10 -0
  136. package/types/src/components/table/types/common.d.ts +2 -0
  137. package/types/src/components/table/types/header.d.ts +25 -0
  138. package/types/src/components/table/types/index.d.ts +59 -0
  139. package/types/src/components/table/types/item.d.ts +23 -0
  140. package/types/src/components/table/types/row.d.ts +4 -0
  141. package/types/src/components/text-ellipsis/YTextEllipsis.d.ts +11 -0
  142. package/types/src/components/text-ellipsis/index.d.ts +1 -0
  143. package/types/src/components/text-highlighter/YTextHighlighter.d.ts +26 -0
  144. package/types/src/components/text-highlighter/index.d.ts +1 -0
  145. package/types/src/components/text-interpolation/YTi.d.ts +11 -0
  146. package/types/src/components/text-interpolation/index.d.ts +1 -0
  147. package/types/src/components/textarea/YTextarea.d.ts +583 -0
  148. package/types/src/components/textarea/index.d.ts +1 -0
  149. package/types/src/components/toggle-button/YToggleButton.d.ts +4 -0
  150. package/types/src/components/toggle-button/index.d.ts +1 -0
  151. package/types/src/components/tooltip/YTooltip.d.ts +502 -0
  152. package/types/src/components/tooltip/index.d.ts +1 -0
  153. package/types/src/components/transitions/expand-transition.d.ts +20 -0
  154. package/types/src/components/transitions/index.d.ts +38 -0
  155. package/types/src/components/tree-view/YTreeView.d.ts +172 -0
  156. package/types/src/components/tree-view/YTreeViewNode.d.ts +176 -0
  157. package/types/src/components/tree-view/index.d.ts +2 -0
  158. package/types/src/components/tree-view/tree-view.d.ts +51 -0
  159. package/types/src/components/tree-view/types.d.ts +17 -0
  160. package/types/src/components/tree-view/util.d.ts +6 -0
  161. package/types/src/composables/choice-link.d.ts +3 -0
  162. package/types/src/composables/choice.d.ts +113 -0
  163. package/types/src/composables/communication.d.ts +8 -0
  164. package/types/src/composables/component.d.ts +3 -0
  165. package/types/src/composables/coordinate/arrangement.d.ts +7 -0
  166. package/types/src/composables/coordinate/index.d.ts +87 -0
  167. package/types/src/composables/coordinate/levitation.d.ts +7 -0
  168. package/types/src/composables/coordinate/types.d.ts +7 -0
  169. package/types/src/composables/coordinate/utils/point.d.ts +22 -0
  170. package/types/src/composables/date/factory.d.ts +3 -0
  171. package/types/src/composables/date/index.d.ts +12 -0
  172. package/types/src/composables/date/setting.d.ts +5 -0
  173. package/types/src/composables/date/types.d.ts +13 -0
  174. package/types/src/composables/defaults/index.d.ts +11 -0
  175. package/types/src/composables/defaults/share.d.ts +4 -0
  176. package/types/src/composables/defaults/types.d.ts +12 -0
  177. package/types/src/composables/dimension.d.ts +54 -0
  178. package/types/src/composables/focus.d.ts +30 -0
  179. package/types/src/composables/form.d.ts +132 -0
  180. package/types/src/composables/i18n/index.d.ts +9 -0
  181. package/types/src/composables/i18n/locale.d.ts +3 -0
  182. package/types/src/composables/i18n/rtl.d.ts +21 -0
  183. package/types/src/composables/i18n/share.d.ts +1 -0
  184. package/types/src/composables/icon.d.ts +79 -0
  185. package/types/src/composables/index.d.ts +10 -0
  186. package/types/src/composables/layer-group.d.ts +10 -0
  187. package/types/src/composables/layout.d.ts +10 -0
  188. package/types/src/composables/list-items.d.ts +113 -0
  189. package/types/src/composables/progress.d.ts +4 -0
  190. package/types/src/composables/ref.d.ts +6 -0
  191. package/types/src/composables/resize-observer.d.ts +24 -0
  192. package/types/src/composables/scope.d.ts +3 -0
  193. package/types/src/composables/style-color.d.ts +14 -0
  194. package/types/src/composables/theme/factory.d.ts +4 -0
  195. package/types/src/composables/theme/helper.d.ts +3 -0
  196. package/types/src/composables/theme/index.d.ts +57 -0
  197. package/types/src/composables/theme/setting.d.ts +11 -0
  198. package/types/src/composables/theme/types.d.ts +29 -0
  199. package/types/src/composables/timing.d.ts +20 -0
  200. package/types/src/composables/transition.d.ts +40 -0
  201. package/types/src/composables/validation.d.ts +82 -0
  202. package/types/src/composables/vue-router.d.ts +43 -0
  203. package/types/src/declares.d.ts +1 -0
  204. package/types/src/directives/complement-click/index.d.ts +26 -0
  205. package/types/src/directives/index.d.ts +2 -0
  206. package/types/src/directives/plate-wave/index.d.ts +20 -0
  207. package/types/src/directives/theme-class/index.d.ts +4 -0
  208. package/types/src/etc/index.d.ts +1 -0
  209. package/types/src/globals.d.ts +20 -0
  210. package/types/src/i18n/built-in.d.ts +3 -0
  211. package/types/src/i18n/config.d.ts +81 -0
  212. package/types/src/i18n/types.d.ts +20 -0
  213. package/types/src/index.d.ts +13 -0
  214. package/types/src/locales/en.d.ts +6 -0
  215. package/types/src/locales/index.d.ts +2 -0
  216. package/types/src/locales/ko.d.ts +6 -0
  217. package/types/src/mixins/di.d.ts +2 -0
  218. package/types/src/mixins/rebind-attrs.d.ts +5 -0
  219. package/types/src/shims.d.ts +64 -0
  220. package/types/src/types/index.d.ts +9 -0
  221. package/types/src/util/anchor.d.ts +23 -0
  222. package/types/src/util/array.d.ts +2 -0
  223. package/types/src/util/collection.d.ts +1 -0
  224. package/types/src/util/color/apca.d.ts +29 -0
  225. package/types/src/util/color/const.d.ts +5 -0
  226. package/types/src/util/color/contrast/contrast.d.ts +74 -0
  227. package/types/src/util/color/conversion.d.ts +131 -0
  228. package/types/src/util/color/hct/cam16.d.ts +116 -0
  229. package/types/src/util/color/hct/hct-solver.d.ts +131 -0
  230. package/types/src/util/color/hct/hct.d.ts +71 -0
  231. package/types/src/util/color/hct/viewing-conditions.d.ts +58 -0
  232. package/types/src/util/color/index.d.ts +5 -0
  233. package/types/src/util/color/palettes/core-palette.d.ts +44 -0
  234. package/types/src/util/color/palettes/tonal-palette.d.ts +40 -0
  235. package/types/src/util/color/types.d.ts +14 -0
  236. package/types/src/util/color/utils/math-utils.d.ts +82 -0
  237. package/types/src/util/common.d.ts +17 -0
  238. package/types/src/util/component/component.d.ts +5 -0
  239. package/types/src/util/component/index.d.ts +11 -0
  240. package/types/src/util/component/inject-self.d.ts +3 -0
  241. package/types/src/util/component/props.d.ts +32 -0
  242. package/types/src/util/component/types.d.ts +21 -0
  243. package/types/src/util/date/adapters/yuyeon-date-adapter.d.ts +43 -0
  244. package/types/src/util/date/built-in.d.ts +41 -0
  245. package/types/src/util/date/index.d.ts +3 -0
  246. package/types/src/util/date/types.d.ts +167 -0
  247. package/types/src/util/debounce.d.ts +11 -0
  248. package/types/src/util/dom.d.ts +5 -0
  249. package/types/src/util/environments.d.ts +6 -0
  250. package/types/src/util/frame-scheduler.d.ts +7 -0
  251. package/types/src/util/index.d.ts +16 -0
  252. package/types/src/util/reactivity.d.ts +7 -0
  253. package/types/src/util/rect.d.ts +36 -0
  254. package/types/src/util/scroll.d.ts +3 -0
  255. package/types/src/util/string.d.ts +9 -0
  256. package/types/src/util/ui.d.ts +4 -0
  257. package/types/src/util/validation.d.ts +3 -0
@@ -0,0 +1,65 @@
1
+ import { PropType } from 'vue';
2
+
3
+ export declare const pressYTableProps: <Defaults extends {
4
+ tag?: unknown;
5
+ fixedHead?: unknown;
6
+ height?: unknown;
7
+ flexHeight?: unknown;
8
+ onScroll?: unknown;
9
+ } = {}>(defaults?: Defaults | undefined) => {
10
+ tag: unknown extends Defaults["tag"] ? {
11
+ type: PropType<string>;
12
+ default: string;
13
+ } : Omit<{
14
+ type: PropType<string>;
15
+ default: string;
16
+ }, "type" | "default"> & {
17
+ type: PropType<unknown extends Defaults["tag"] ? string : string | Defaults["tag"]>;
18
+ default: unknown extends Defaults["tag"] ? string : string | Defaults["tag"];
19
+ };
20
+ fixedHead: unknown extends Defaults["fixedHead"] ? {
21
+ type: PropType<boolean>;
22
+ } : Omit<{
23
+ type: PropType<boolean>;
24
+ }, "type" | "default"> & {
25
+ type: PropType<unknown extends Defaults["fixedHead"] ? boolean : boolean | Defaults["fixedHead"]>;
26
+ default: unknown extends Defaults["fixedHead"] ? boolean : boolean | Defaults["fixedHead"];
27
+ };
28
+ height: unknown extends Defaults["height"] ? {
29
+ type: PropType<number | string>;
30
+ } : Omit<{
31
+ type: PropType<number | string>;
32
+ }, "type" | "default"> & {
33
+ type: PropType<unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"]>;
34
+ default: unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"];
35
+ };
36
+ flexHeight: unknown extends Defaults["flexHeight"] ? {
37
+ type: PropType<boolean>;
38
+ } : Omit<{
39
+ type: PropType<boolean>;
40
+ }, "type" | "default"> & {
41
+ type: PropType<unknown extends Defaults["flexHeight"] ? boolean : boolean | Defaults["flexHeight"]>;
42
+ default: unknown extends Defaults["flexHeight"] ? boolean : boolean | Defaults["flexHeight"];
43
+ };
44
+ onScroll: unknown extends Defaults["onScroll"] ? PropType<(e: Event) => void> : {
45
+ type: PropType<unknown extends Defaults["onScroll"] ? (e: Event) => void : ((e: Event) => void) | Defaults["onScroll"]>;
46
+ default: unknown extends Defaults["onScroll"] ? (e: Event) => void : ((e: Event) => void) | Defaults["onScroll"];
47
+ };
48
+ };
49
+ export declare const YTable: import('vue').DefineComponent<{
50
+ tag: {
51
+ type: PropType<string>;
52
+ default: string;
53
+ };
54
+ fixedHead: {
55
+ type: PropType<boolean>;
56
+ };
57
+ height: {
58
+ type: PropType<number | string>;
59
+ };
60
+ flexHeight: {
61
+ type: PropType<boolean>;
62
+ };
63
+ onScroll: PropType<(e: Event) => void>;
64
+ }, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "scroll"[], "scroll">;
65
+ export type YTable = InstanceType<typeof YTable>;
@@ -0,0 +1,42 @@
1
+ import { PropType, Ref } from 'vue';
2
+ import { DataTableItem } from '../types/item';
3
+
4
+ export declare const pressDataTableExpandProps: <Defaults extends {
5
+ enableExpand?: unknown;
6
+ expanded?: unknown;
7
+ } = {}>(defaults?: Defaults | undefined) => {
8
+ enableExpand: unknown extends Defaults["enableExpand"] ? BooleanConstructor : {
9
+ type: PropType<unknown extends Defaults["enableExpand"] ? boolean : boolean | Defaults["enableExpand"]>;
10
+ default: unknown extends Defaults["enableExpand"] ? boolean : boolean | Defaults["enableExpand"];
11
+ };
12
+ expanded: unknown extends Defaults["expanded"] ? {
13
+ type: PropType<readonly string[]>;
14
+ default: () => never[];
15
+ } : Omit<{
16
+ type: PropType<readonly string[]>;
17
+ default: () => never[];
18
+ }, "type" | "default"> & {
19
+ type: PropType<unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]>;
20
+ default: unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"];
21
+ };
22
+ };
23
+ type DataTableExpandProps = {
24
+ enableExpand: boolean;
25
+ expanded: readonly string[];
26
+ 'onUpdate:expanded': ((value: any[]) => void) | undefined;
27
+ };
28
+ export declare function provideExpand(props: DataTableExpandProps): {
29
+ expands: Ref<any, any> & {
30
+ readonly rxValue: any;
31
+ };
32
+ isExpanded: (item: DataTableItem) => any;
33
+ expand: (item: DataTableItem, value: boolean) => void;
34
+ toggleExpand: (item: DataTableItem) => void;
35
+ };
36
+ export declare function useExpand(): {
37
+ expands: Ref<Set<string>>;
38
+ isExpanded: (item: DataTableItem) => boolean;
39
+ expand: (item: DataTableItem, value: boolean) => void;
40
+ toggleExpand: (item: DataTableItem) => void;
41
+ };
42
+ export {};
@@ -0,0 +1,175 @@
1
+ import { DeepReadonly, InjectionKey, PropType, Ref } from 'vue';
2
+ import { DataTableHeader, InternalDataTableHeader } from '../types';
3
+
4
+ export declare const pressDataTableHeader: <Defaults extends {
5
+ headers?: unknown;
6
+ } = {}>(defaults?: Defaults | undefined) => {
7
+ headers: unknown extends Defaults["headers"] ? {
8
+ type: PropType<DeepReadonly<DataTableHeader[]>>;
9
+ default: () => never[];
10
+ } : Omit<{
11
+ type: PropType<DeepReadonly<DataTableHeader[]>>;
12
+ default: () => never[];
13
+ }, "type" | "default"> & {
14
+ type: PropType<unknown extends Defaults["headers"] ? readonly {
15
+ readonly key: string;
16
+ readonly text: string;
17
+ readonly value?: any;
18
+ readonly colspan?: number | undefined;
19
+ readonly rowspan?: number | undefined;
20
+ readonly fixed?: boolean | "left" | "right" | undefined;
21
+ readonly classes?: string | readonly string[] | import('../types/common').DataTableCellClassesFn | undefined;
22
+ readonly headerClasses?: string | readonly string[] | undefined;
23
+ readonly align?: "start" | "end" | "center" | undefined;
24
+ readonly width?: number | string | undefined;
25
+ readonly minWidth?: string | undefined;
26
+ readonly maxWidth?: string | undefined;
27
+ readonly sortable?: boolean | undefined;
28
+ readonly sort?: import('../types').DataTableCompareFn | undefined;
29
+ readonly mustSort?: boolean | undefined;
30
+ }[] : readonly {
31
+ readonly key: string;
32
+ readonly text: string;
33
+ readonly value?: any;
34
+ readonly colspan?: number | undefined;
35
+ readonly rowspan?: number | undefined;
36
+ readonly fixed?: boolean | "left" | "right" | undefined;
37
+ readonly classes?: string | readonly string[] | import('../types/common').DataTableCellClassesFn | undefined;
38
+ readonly headerClasses?: string | readonly string[] | undefined;
39
+ readonly align?: "start" | "end" | "center" | undefined;
40
+ readonly width?: number | string | undefined;
41
+ readonly minWidth?: string | undefined;
42
+ readonly maxWidth?: string | undefined;
43
+ readonly sortable?: boolean | undefined;
44
+ readonly sort?: import('../types').DataTableCompareFn | undefined;
45
+ readonly mustSort?: boolean | undefined;
46
+ }[] | Defaults["headers"]>;
47
+ default: unknown extends Defaults["headers"] ? readonly {
48
+ readonly key: string;
49
+ readonly text: string;
50
+ readonly value?: any;
51
+ readonly colspan?: number | undefined;
52
+ readonly rowspan?: number | undefined;
53
+ readonly fixed?: boolean | "left" | "right" | undefined;
54
+ readonly classes?: string | readonly string[] | import('../types/common').DataTableCellClassesFn | undefined;
55
+ readonly headerClasses?: string | readonly string[] | undefined;
56
+ readonly align?: "start" | "end" | "center" | undefined;
57
+ readonly width?: number | string | undefined;
58
+ readonly minWidth?: string | undefined;
59
+ readonly maxWidth?: string | undefined;
60
+ readonly sortable?: boolean | undefined;
61
+ readonly sort?: import('../types').DataTableCompareFn | undefined;
62
+ readonly mustSort?: boolean | undefined;
63
+ }[] : readonly {
64
+ readonly key: string;
65
+ readonly text: string;
66
+ readonly value?: any;
67
+ readonly colspan?: number | undefined;
68
+ readonly rowspan?: number | undefined;
69
+ readonly fixed?: boolean | "left" | "right" | undefined;
70
+ readonly classes?: string | readonly string[] | import('../types/common').DataTableCellClassesFn | undefined;
71
+ readonly headerClasses?: string | readonly string[] | undefined;
72
+ readonly align?: "start" | "end" | "center" | undefined;
73
+ readonly width?: number | string | undefined;
74
+ readonly minWidth?: string | undefined;
75
+ readonly maxWidth?: string | undefined;
76
+ readonly sortable?: boolean | undefined;
77
+ readonly sort?: import('../types').DataTableCompareFn | undefined;
78
+ readonly mustSort?: boolean | undefined;
79
+ }[] | Defaults["headers"];
80
+ };
81
+ };
82
+ export declare const Y_DATA_TABLE_HEADER_KEY: InjectionKey<{
83
+ headers: Ref<InternalDataTableHeader[][]>;
84
+ columns: Ref<InternalDataTableHeader[]>;
85
+ }>;
86
+ type HeaderProps = {
87
+ headers: DeepReadonly<DataTableHeader[]> | undefined;
88
+ };
89
+ export declare function createHeader(props: HeaderProps, options?: {
90
+ enableSelect?: Ref<boolean>;
91
+ }): {
92
+ headers: Ref<{
93
+ key: string;
94
+ text: string;
95
+ value?: any;
96
+ colspan?: number | undefined;
97
+ rowspan?: number | undefined;
98
+ fixed?: boolean | "left" | "right" | undefined;
99
+ classes?: (string | string[] | import('../types/common').DataTableCellClassesFn) | undefined;
100
+ headerClasses?: string | string[] | undefined;
101
+ align?: "start" | "end" | "center" | undefined;
102
+ width?: number | string | undefined;
103
+ minWidth?: string | undefined;
104
+ maxWidth?: string | undefined;
105
+ sortable: boolean;
106
+ sort?: import('../types').DataTableCompareFn | undefined;
107
+ mustSort?: boolean | undefined;
108
+ fixedOffset?: number | undefined;
109
+ lastFixed?: boolean | undefined;
110
+ rightOffset?: number | undefined;
111
+ }[][], InternalDataTableHeader[][] | {
112
+ key: string;
113
+ text: string;
114
+ value?: any;
115
+ colspan?: number | undefined;
116
+ rowspan?: number | undefined;
117
+ fixed?: boolean | "left" | "right" | undefined;
118
+ classes?: (string | string[] | import('../types/common').DataTableCellClassesFn) | undefined;
119
+ headerClasses?: string | string[] | undefined;
120
+ align?: "start" | "end" | "center" | undefined;
121
+ width?: number | string | undefined;
122
+ minWidth?: string | undefined;
123
+ maxWidth?: string | undefined;
124
+ sortable: boolean;
125
+ sort?: import('../types').DataTableCompareFn | undefined;
126
+ mustSort?: boolean | undefined;
127
+ fixedOffset?: number | undefined;
128
+ lastFixed?: boolean | undefined;
129
+ rightOffset?: number | undefined;
130
+ }[][]>;
131
+ columns: Ref<{
132
+ key: string;
133
+ text: string;
134
+ value?: any;
135
+ colspan?: number | undefined;
136
+ rowspan?: number | undefined;
137
+ fixed?: boolean | "left" | "right" | undefined;
138
+ classes?: (string | string[] | import('../types/common').DataTableCellClassesFn) | undefined;
139
+ headerClasses?: string | string[] | undefined;
140
+ align?: "start" | "end" | "center" | undefined;
141
+ width?: number | string | undefined;
142
+ minWidth?: string | undefined;
143
+ maxWidth?: string | undefined;
144
+ sortable: boolean;
145
+ sort?: import('../types').DataTableCompareFn | undefined;
146
+ mustSort?: boolean | undefined;
147
+ fixedOffset?: number | undefined;
148
+ lastFixed?: boolean | undefined;
149
+ rightOffset?: number | undefined;
150
+ }[], InternalDataTableHeader[] | {
151
+ key: string;
152
+ text: string;
153
+ value?: any;
154
+ colspan?: number | undefined;
155
+ rowspan?: number | undefined;
156
+ fixed?: boolean | "left" | "right" | undefined;
157
+ classes?: (string | string[] | import('../types/common').DataTableCellClassesFn) | undefined;
158
+ headerClasses?: string | string[] | undefined;
159
+ align?: "start" | "end" | "center" | undefined;
160
+ width?: number | string | undefined;
161
+ minWidth?: string | undefined;
162
+ maxWidth?: string | undefined;
163
+ sortable: boolean;
164
+ sort?: import('../types').DataTableCompareFn | undefined;
165
+ mustSort?: boolean | undefined;
166
+ fixedOffset?: number | undefined;
167
+ lastFixed?: boolean | undefined;
168
+ rightOffset?: number | undefined;
169
+ }[]>;
170
+ };
171
+ export declare function useHeader(): {
172
+ headers: Ref<InternalDataTableHeader[][]>;
173
+ columns: Ref<InternalDataTableHeader[]>;
174
+ };
175
+ export {};
@@ -0,0 +1,55 @@
1
+ import { PropType, Ref } from 'vue';
2
+ import { DataTableItem, InternalDataTableHeader } from '../types';
3
+
4
+ export type DataTableItemsProps = {
5
+ items: any[];
6
+ itemKey: any;
7
+ itemSelectable: any;
8
+ returnItem: boolean;
9
+ };
10
+ export declare const pressDataTableItemsProps: <Defaults extends {
11
+ items?: unknown;
12
+ itemKey?: unknown;
13
+ itemSelectable?: unknown;
14
+ returnItem?: unknown;
15
+ } = {}>(defaults?: Defaults | undefined) => {
16
+ items: unknown extends Defaults["items"] ? {
17
+ type: PropType<DataTableItemsProps["items"]>;
18
+ default: () => never[];
19
+ } : Omit<{
20
+ type: PropType<DataTableItemsProps["items"]>;
21
+ default: () => never[];
22
+ }, "type" | "default"> & {
23
+ type: PropType<unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"]>;
24
+ default: unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"];
25
+ };
26
+ itemKey: unknown extends Defaults["itemKey"] ? {
27
+ type: PropType<any>;
28
+ default: string;
29
+ } : Omit<{
30
+ type: PropType<any>;
31
+ default: string;
32
+ }, "type" | "default"> & {
33
+ type: PropType<unknown extends Defaults["itemKey"] ? any : any>;
34
+ default: unknown extends Defaults["itemKey"] ? any : any;
35
+ };
36
+ itemSelectable: unknown extends Defaults["itemSelectable"] ? {
37
+ type: PropType<any>;
38
+ default: null;
39
+ } : Omit<{
40
+ type: PropType<any>;
41
+ default: null;
42
+ }, "type" | "default"> & {
43
+ type: PropType<unknown extends Defaults["itemSelectable"] ? any : any>;
44
+ default: unknown extends Defaults["itemSelectable"] ? any : any;
45
+ };
46
+ returnItem: unknown extends Defaults["returnItem"] ? BooleanConstructor : {
47
+ type: PropType<unknown extends Defaults["returnItem"] ? boolean : boolean | Defaults["returnItem"]>;
48
+ default: unknown extends Defaults["returnItem"] ? boolean : boolean | Defaults["returnItem"];
49
+ };
50
+ };
51
+ export declare function updateItem(props: Omit<DataTableItemsProps, 'items'>, item: any, index: number, columns: InternalDataTableHeader[]): DataTableItem;
52
+ export declare function updateItems(props: Omit<DataTableItemsProps, 'items'>, items: DataTableItemsProps['items'], columns: InternalDataTableHeader[]): DataTableItem[];
53
+ export declare function useItems(props: DataTableItemsProps, columns: Ref<InternalDataTableHeader[]>): {
54
+ items: import('vue').ComputedRef<DataTableItem<any>[]>;
55
+ };
@@ -0,0 +1,8 @@
1
+ export declare function useRectMeasure(): {
2
+ containerRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
3
+ wrapperRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
4
+ tableRef: import('vue').Ref<HTMLTableElement | undefined, HTMLTableElement | undefined>;
5
+ containerRect: import('vue').ShallowRef<DOMRectReadOnly | undefined, DOMRectReadOnly | undefined>;
6
+ wrapperRect: import('vue').ShallowRef<DOMRectReadOnly | undefined, DOMRectReadOnly | undefined>;
7
+ tableRect: import('vue').ShallowRef<DOMRectReadOnly | undefined, DOMRectReadOnly | undefined>;
8
+ };
@@ -0,0 +1,11 @@
1
+ import { Ref } from 'vue';
2
+ import { SortOption } from '../types';
3
+
4
+ type DataTableOptionsState = {
5
+ page: Ref<number>;
6
+ pageSize: Ref<number>;
7
+ sortBy: Ref<readonly SortOption[]>;
8
+ search: Ref<string | undefined>;
9
+ };
10
+ export declare function useOptions({ page, pageSize, sortBy, search }: DataTableOptionsState, emit: Function): void;
11
+ export {};
@@ -0,0 +1,81 @@
1
+ import { InjectionKey, PropType, Ref } from 'vue';
2
+ import { DataTableProvidePaginationData } from '../types';
3
+
4
+ export declare const Y_DATA_TABLE_PAGINATION_KEY: InjectionKey<{
5
+ page: Ref<number>;
6
+ pageSize: Ref<number>;
7
+ startIndex: Ref<number>;
8
+ endIndex: Ref<number>;
9
+ pageLength: Ref<number>;
10
+ total: Ref<number>;
11
+ prevPage: () => void;
12
+ nextPage: () => void;
13
+ setPage: (page: number) => void;
14
+ setPageSize: (size: number) => void;
15
+ }>;
16
+ export declare const pressDataTablePaginationProps: <Defaults extends {
17
+ page?: unknown;
18
+ pageSize?: unknown;
19
+ } = {}>(defaults?: Defaults | undefined) => {
20
+ page: unknown extends Defaults["page"] ? {
21
+ type: PropType<number | string>;
22
+ default: number;
23
+ } : Omit<{
24
+ type: PropType<number | string>;
25
+ default: number;
26
+ }, "type" | "default"> & {
27
+ type: PropType<unknown extends Defaults["page"] ? string | number : NonNullable<string | number> | Defaults["page"]>;
28
+ default: unknown extends Defaults["page"] ? string | number : NonNullable<string | number> | Defaults["page"];
29
+ };
30
+ pageSize: unknown extends Defaults["pageSize"] ? {
31
+ type: PropType<number | string>;
32
+ default: number;
33
+ } : Omit<{
34
+ type: PropType<number | string>;
35
+ default: number;
36
+ }, "type" | "default"> & {
37
+ type: PropType<unknown extends Defaults["pageSize"] ? string | number : NonNullable<string | number> | Defaults["pageSize"]>;
38
+ default: unknown extends Defaults["pageSize"] ? string | number : NonNullable<string | number> | Defaults["pageSize"];
39
+ };
40
+ };
41
+ type PaginationProps = {
42
+ page: number | string;
43
+ 'onUpdate:page': ((v: any) => void) | undefined;
44
+ pageSize: number | string;
45
+ 'onUpdate:pageSize': ((v: any) => void) | undefined;
46
+ total?: number | string;
47
+ };
48
+ export declare function createPagination(props: PaginationProps): {
49
+ page: Ref<any, any> & {
50
+ readonly rxValue: any;
51
+ };
52
+ pageSize: Ref<any, any> & {
53
+ readonly rxValue: any;
54
+ };
55
+ };
56
+ export declare function providePagination(options: {
57
+ page: Ref<number>;
58
+ pageSize: Ref<number>;
59
+ total: Ref<number>;
60
+ }): DataTableProvidePaginationData;
61
+ export declare function usePagination(): {
62
+ page: Ref<number>;
63
+ pageSize: Ref<number>;
64
+ startIndex: Ref<number>;
65
+ endIndex: Ref<number>;
66
+ pageLength: Ref<number>;
67
+ total: Ref<number>;
68
+ prevPage: () => void;
69
+ nextPage: () => void;
70
+ setPage: (page: number) => void;
71
+ setPageSize: (size: number) => void;
72
+ };
73
+ export declare function usePaginatedItems<T>(options: {
74
+ items: Ref<readonly T[]>;
75
+ startIndex: Ref<number>;
76
+ endIndex: Ref<number>;
77
+ pageSize: Ref<number>;
78
+ }): {
79
+ paginatedItems: import('vue').ComputedRef<readonly T[]>;
80
+ };
81
+ export {};
@@ -0,0 +1,15 @@
1
+ import { InjectionKey, Ref, ShallowRef } from 'vue';
2
+ import { InternalDataTableHeader } from '../types';
3
+ import { createSorting } from './sorting';
4
+
5
+ export declare const YTableInjectionKey: InjectionKey<{
6
+ tableRef: Ref<HTMLTableElement | undefined>;
7
+ containerRect: ShallowRef<DOMRectReadOnly | undefined>;
8
+ wrapperRef: Ref<HTMLElement | undefined>;
9
+ wrapperRect: ShallowRef<DOMRectReadOnly | undefined>;
10
+ }>;
11
+ export declare const YDataTableInjectionKey: InjectionKey<{
12
+ toggleSort: (column: InternalDataTableHeader) => void;
13
+ sortBy: ReturnType<typeof createSorting>['sortBy'];
14
+ headRect: Ref<DOMRectReadOnly | undefined>;
15
+ }>;
@@ -0,0 +1,82 @@
1
+ import { InjectionKey, PropType, Ref } from 'vue';
2
+ import { deepEqual } from '../../../util/common';
3
+ import { DataTableProvideSelectionData } from '../types';
4
+ import { DataTableItemsProps } from './items';
5
+
6
+ export interface SelectableItem {
7
+ key: string;
8
+ value: any;
9
+ selectable: boolean;
10
+ }
11
+ export interface DataTableSelectStrategy {
12
+ showSelectAll: boolean;
13
+ allSelected: (data: {
14
+ allItems: SelectableItem[];
15
+ pageItems: SelectableItem[];
16
+ }) => SelectableItem[];
17
+ select: (data: {
18
+ items: SelectableItem[];
19
+ value: boolean;
20
+ selected: Set<unknown>;
21
+ }) => Set<unknown>;
22
+ selectAll: (data: {
23
+ value: boolean;
24
+ allItems: SelectableItem[];
25
+ pageItems: SelectableItem[];
26
+ selected: Set<unknown>;
27
+ }) => Set<unknown>;
28
+ }
29
+ export declare const pressDataTableSelectionProps: <Defaults extends {
30
+ enableSelect?: unknown;
31
+ selectStrategy?: unknown;
32
+ modelValue?: unknown;
33
+ itemComparator?: unknown;
34
+ } = {}>(defaults?: Defaults | undefined) => {
35
+ enableSelect: unknown extends Defaults["enableSelect"] ? BooleanConstructor : {
36
+ type: PropType<unknown extends Defaults["enableSelect"] ? boolean : boolean | Defaults["enableSelect"]>;
37
+ default: unknown extends Defaults["enableSelect"] ? boolean : boolean | Defaults["enableSelect"];
38
+ };
39
+ selectStrategy: unknown extends Defaults["selectStrategy"] ? {
40
+ type: PropType<"single" | "page" | "all">;
41
+ default: string;
42
+ } : Omit<{
43
+ type: PropType<"single" | "page" | "all">;
44
+ default: string;
45
+ }, "type" | "default"> & {
46
+ type: PropType<unknown extends Defaults["selectStrategy"] ? "all" | "page" | "single" : Defaults["selectStrategy"] | NonNullable<"all" | "page" | "single">>;
47
+ default: unknown extends Defaults["selectStrategy"] ? "all" | "page" | "single" : Defaults["selectStrategy"] | NonNullable<"all" | "page" | "single">;
48
+ };
49
+ modelValue: unknown extends Defaults["modelValue"] ? {
50
+ type: PropType<readonly any[]>;
51
+ default: () => never[];
52
+ } : Omit<{
53
+ type: PropType<readonly any[]>;
54
+ default: () => never[];
55
+ }, "type" | "default"> & {
56
+ type: PropType<unknown extends Defaults["modelValue"] ? readonly any[] : readonly any[] | Defaults["modelValue"]>;
57
+ default: unknown extends Defaults["modelValue"] ? readonly any[] : readonly any[] | Defaults["modelValue"];
58
+ };
59
+ itemComparator: unknown extends Defaults["itemComparator"] ? {
60
+ type: PropType<typeof deepEqual | string>;
61
+ default: () => typeof deepEqual;
62
+ } : Omit<{
63
+ type: PropType<typeof deepEqual | string>;
64
+ default: () => typeof deepEqual;
65
+ }, "type" | "default"> & {
66
+ type: PropType<unknown extends Defaults["itemComparator"] ? string | typeof deepEqual : Defaults["itemComparator"] | NonNullable<string | typeof deepEqual>>;
67
+ default: unknown extends Defaults["itemComparator"] ? string | typeof deepEqual : Defaults["itemComparator"] | NonNullable<string | typeof deepEqual>;
68
+ };
69
+ };
70
+ type DataTableSelectionProps = Pick<DataTableItemsProps, 'itemKey'> & {
71
+ modelValue: readonly any[];
72
+ selectStrategy: 'single' | 'page' | 'all';
73
+ 'onUpdate:modelValue': ((value: any[]) => void) | undefined;
74
+ itemComparator: ((a: any, b: any) => boolean) | string;
75
+ };
76
+ export declare const Y_DATA_TABLE_SELECTION_KEY: InjectionKey<ReturnType<typeof provideSelection>>;
77
+ export declare function provideSelection(props: DataTableSelectionProps, { allItems, pageItems, }: {
78
+ allItems: Ref<SelectableItem[]>;
79
+ pageItems: Ref<SelectableItem[]>;
80
+ }): DataTableProvideSelectionData;
81
+ export declare function useSelection(): DataTableProvideSelectionData;
82
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Ref } from 'vue';
2
+ import { SortOption } from '../types';
3
+
4
+ export declare function useSortedItems(props: any, items: Ref<any[]>, sortBy: Ref<readonly SortOption[]>, options?: {}): {
5
+ sortedItems: import('vue').ComputedRef<any[]>;
6
+ };
7
+ export declare function sortItems(items: any[], sortOptions: readonly SortOption[], locale: string): any[];
@@ -0,0 +1,56 @@
1
+ import { DeepReadonly, PropType, Ref } from 'vue';
2
+ import { DataTableProvideSortingData, InternalDataTableHeader, SortOption } from '../types';
3
+
4
+ export declare const pressDataTableSortProps: <Defaults extends {
5
+ sortBy?: unknown;
6
+ multiSort?: unknown;
7
+ } = {}>(defaults?: Defaults | undefined) => {
8
+ sortBy: unknown extends Defaults["sortBy"] ? {
9
+ type: PropType<DeepReadonly<SortOption[]>>;
10
+ default: () => never[];
11
+ } : Omit<{
12
+ type: PropType<DeepReadonly<SortOption[]>>;
13
+ default: () => never[];
14
+ }, "type" | "default"> & {
15
+ type: PropType<unknown extends Defaults["sortBy"] ? readonly {
16
+ readonly key: string;
17
+ readonly order?: boolean | "asc" | "desc" | undefined;
18
+ }[] : readonly {
19
+ readonly key: string;
20
+ readonly order?: boolean | "asc" | "desc" | undefined;
21
+ }[] | Defaults["sortBy"]>;
22
+ default: unknown extends Defaults["sortBy"] ? readonly {
23
+ readonly key: string;
24
+ readonly order?: boolean | "asc" | "desc" | undefined;
25
+ }[] : readonly {
26
+ readonly key: string;
27
+ readonly order?: boolean | "asc" | "desc" | undefined;
28
+ }[] | Defaults["sortBy"];
29
+ };
30
+ multiSort: unknown extends Defaults["multiSort"] ? BooleanConstructor : {
31
+ type: PropType<unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"]>;
32
+ default: unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"];
33
+ };
34
+ };
35
+ type SortProps = {
36
+ sortBy: readonly SortOption[];
37
+ 'onUpdate:sortBy': ((value: any) => void) | undefined;
38
+ multiSort: boolean;
39
+ };
40
+ export declare function createSorting(props: SortProps): {
41
+ sortBy: Ref<any, any> & {
42
+ readonly rxValue: any;
43
+ };
44
+ multiSort: Ref<boolean, boolean>;
45
+ };
46
+ export declare function provideSorting(options: {
47
+ sortBy: Ref<readonly SortOption[]>;
48
+ page?: Ref<number>;
49
+ multiSort?: Ref<boolean>;
50
+ }): DataTableProvideSortingData;
51
+ export declare function useSorting(): {
52
+ sortBy: Ref<readonly SortOption[]>;
53
+ toggleSort: (col: InternalDataTableHeader) => void;
54
+ isSorted: (col: InternalDataTableHeader) => boolean;
55
+ };
56
+ export {};
@@ -0,0 +1,10 @@
1
+ export * from './YTable';
2
+ export * from './YDataTable';
3
+ export * from './YDataTableServer';
4
+ export * from './YDataTableBody';
5
+ export * from './YDataTableRow';
6
+ export * from './YDataTableCell';
7
+ export * from './YDataTableControl';
8
+ export * from './YDataTableLayer';
9
+ export * from './YDataTableLayerRows';
10
+ export * from './YDataTableLayerRow';
@@ -0,0 +1,2 @@
1
+ export type DataTableCompareFn<T = any> = (a: T, b: T) => number;
2
+ export type DataTableCellClassesFn = (item: any, index: number, header: any) => string | string[] | undefined;
@@ -0,0 +1,25 @@
1
+ import { DataTableCellClassesFn, DataTableCompareFn } from './common';
2
+
3
+ export type DataTableHeader = {
4
+ key: string;
5
+ text: string;
6
+ value?: any;
7
+ colspan?: number;
8
+ rowspan?: number;
9
+ fixed?: boolean | 'left' | 'right';
10
+ classes?: string | string[] | DataTableCellClassesFn;
11
+ headerClasses?: string | string[];
12
+ align?: 'start' | 'end' | 'center';
13
+ width?: number | string;
14
+ minWidth?: string;
15
+ maxWidth?: string;
16
+ sortable?: boolean;
17
+ sort?: DataTableCompareFn;
18
+ mustSort?: boolean;
19
+ };
20
+ export type InternalDataTableHeader = DataTableHeader & {
21
+ sortable: boolean;
22
+ fixedOffset?: number;
23
+ lastFixed?: boolean;
24
+ rightOffset?: number;
25
+ };