@progress/kendo-vue-layout 3.5.0 → 3.5.1-dev.202208100944

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 (254) hide show
  1. package/dist/cdn/js/kendo-vue-layout.js +1 -1
  2. package/dist/es/card/Avatar.js +2 -2
  3. package/dist/es/card/Card.js +1 -1
  4. package/dist/es/card/CardActions.js +1 -1
  5. package/dist/es/card/interfaces/AvatarProps.js +1 -0
  6. package/dist/es/card/interfaces/CardActionsProps.js +1 -0
  7. package/dist/es/card/interfaces/CardBodyProps.js +1 -0
  8. package/dist/es/card/interfaces/CardFooterProps.js +1 -0
  9. package/dist/es/card/interfaces/CardHeaderProps.js +1 -0
  10. package/dist/es/card/interfaces/CardImageProps.js +1 -0
  11. package/dist/es/card/interfaces/CardProps.js +1 -0
  12. package/dist/es/card/interfaces/CardSubtitleProps.js +1 -0
  13. package/dist/es/card/interfaces/CardTitleProps.js +1 -0
  14. package/dist/es/drawer/context/DrawerContext.js +1 -0
  15. package/dist/es/drawer/interfaces/DrawerAnimation.js +1 -0
  16. package/dist/es/drawer/interfaces/DrawerContentProps.js +1 -0
  17. package/dist/es/drawer/interfaces/DrawerItemHandle.js +1 -0
  18. package/dist/es/drawer/interfaces/DrawerItemProps.js +1 -0
  19. package/dist/es/drawer/interfaces/DrawerNavigationProps.js +1 -0
  20. package/dist/es/drawer/interfaces/DrawerProps.js +1 -0
  21. package/dist/es/drawer/interfaces/DrawerSelectEvent.js +1 -0
  22. package/dist/es/menu/BaseMenuItemInternalProps.js +1 -0
  23. package/dist/es/menu/MenuProps.js +1 -1
  24. package/dist/es/menu/components/MenuItemInternal.js +1 -1
  25. package/dist/es/menu/events.js +1 -0
  26. package/dist/es/menu/models/BaseMenuItem.js +1 -0
  27. package/dist/es/menu/models/MenuItemModel.js +1 -0
  28. package/dist/es/menu/utils/misc.js +1 -1
  29. package/dist/es/package-metadata.js +1 -1
  30. package/dist/es/panelbar/PanelBar.js +8 -12
  31. package/dist/es/panelbar/PanelBarItem.js +1 -1
  32. package/dist/es/panelbar/interfaces/PanelBarItemClickEventArguments.js +1 -0
  33. package/dist/es/panelbar/interfaces/PanelBarItemProps.js +1 -0
  34. package/dist/es/panelbar/interfaces/PanelBarProps.js +1 -0
  35. package/dist/es/panelbar/interfaces/PanelBarSelectEventArguments.js +1 -0
  36. package/dist/es/panelbar/interfaces/RenderPanelBarItem.js +1 -0
  37. package/dist/es/panelbar/util.js +10 -14
  38. package/dist/es/splitter/Splitter.js +3 -3
  39. package/dist/es/stepper/Step.js +3 -3
  40. package/dist/es/stepper/context/StepperContext.js +1 -0
  41. package/dist/es/stepper/interfaces/StepChangeEvent.js +1 -0
  42. package/dist/es/stepper/interfaces/StepFocusEvent.js +1 -0
  43. package/dist/es/stepper/interfaces/StepHandle.js +1 -0
  44. package/dist/es/stepper/interfaces/StepProps.js +1 -0
  45. package/dist/es/stepper/interfaces/StepperChangeEvent.js +1 -0
  46. package/dist/es/stepper/interfaces/StepperFocusEvent.js +1 -0
  47. package/dist/es/stepper/interfaces/StepperHandle.js +1 -0
  48. package/dist/es/stepper/interfaces/StepperProps.js +1 -0
  49. package/dist/esm/additionalTypes.ts +21 -0
  50. package/dist/esm/card/Avatar.d.ts +43 -0
  51. package/dist/esm/card/Avatar.js +100 -0
  52. package/dist/esm/card/Card.d.ts +43 -0
  53. package/dist/esm/card/Card.js +70 -0
  54. package/dist/esm/card/CardActions.d.ts +43 -0
  55. package/dist/esm/card/CardActions.js +59 -0
  56. package/dist/esm/card/CardBody.d.ts +43 -0
  57. package/dist/esm/card/CardBody.js +33 -0
  58. package/dist/esm/card/CardFooter.d.ts +43 -0
  59. package/dist/esm/card/CardFooter.js +33 -0
  60. package/dist/esm/card/CardHeader.d.ts +43 -0
  61. package/dist/esm/card/CardHeader.js +33 -0
  62. package/dist/esm/card/CardImage.d.ts +43 -0
  63. package/dist/esm/card/CardImage.js +40 -0
  64. package/dist/esm/card/CardSubtitle.d.ts +43 -0
  65. package/dist/esm/card/CardSubtitle.js +33 -0
  66. package/dist/esm/card/CardTitle.d.ts +43 -0
  67. package/dist/esm/card/CardTitle.js +33 -0
  68. package/dist/esm/card/interfaces/AvatarProps.d.ts +72 -0
  69. package/dist/esm/card/interfaces/AvatarProps.js +1 -0
  70. package/dist/esm/card/interfaces/CardActionsProps.d.ts +22 -0
  71. package/dist/esm/card/interfaces/CardActionsProps.js +1 -0
  72. package/dist/esm/card/interfaces/CardBodyProps.d.ts +2 -0
  73. package/dist/esm/card/interfaces/CardBodyProps.js +1 -0
  74. package/dist/esm/card/interfaces/CardFooterProps.d.ts +2 -0
  75. package/dist/esm/card/interfaces/CardFooterProps.js +1 -0
  76. package/dist/esm/card/interfaces/CardHeaderProps.d.ts +2 -0
  77. package/dist/esm/card/interfaces/CardHeaderProps.js +1 -0
  78. package/dist/esm/card/interfaces/CardImageProps.d.ts +6 -0
  79. package/dist/esm/card/interfaces/CardImageProps.js +1 -0
  80. package/dist/esm/card/interfaces/CardProps.d.ts +28 -0
  81. package/dist/esm/card/interfaces/CardProps.js +1 -0
  82. package/dist/esm/card/interfaces/CardSubtitleProps.d.ts +2 -0
  83. package/dist/esm/card/interfaces/CardSubtitleProps.js +1 -0
  84. package/dist/esm/card/interfaces/CardTitleProps.d.ts +2 -0
  85. package/dist/esm/card/interfaces/CardTitleProps.js +1 -0
  86. package/dist/esm/card/interfaces/Enums.d.ts +32 -0
  87. package/dist/esm/card/interfaces/Enums.js +46 -0
  88. package/dist/esm/drawer/Drawer.d.ts +51 -0
  89. package/dist/esm/drawer/Drawer.js +204 -0
  90. package/dist/esm/drawer/DrawerContent.d.ts +110 -0
  91. package/dist/esm/drawer/DrawerContent.js +103 -0
  92. package/dist/esm/drawer/DrawerItem.d.ts +75 -0
  93. package/dist/esm/drawer/DrawerItem.js +164 -0
  94. package/dist/esm/drawer/DrawerNavigation.d.ts +50 -0
  95. package/dist/esm/drawer/DrawerNavigation.js +216 -0
  96. package/dist/esm/drawer/context/DrawerContext.d.ts +17 -0
  97. package/dist/esm/drawer/context/DrawerContext.js +14 -0
  98. package/dist/esm/drawer/interfaces/DrawerAnimation.d.ts +14 -0
  99. package/dist/esm/drawer/interfaces/DrawerAnimation.js +1 -0
  100. package/dist/esm/drawer/interfaces/DrawerContentProps.d.ts +5 -0
  101. package/dist/esm/drawer/interfaces/DrawerContentProps.js +1 -0
  102. package/dist/esm/drawer/interfaces/DrawerItemHandle.d.ts +17 -0
  103. package/dist/esm/drawer/interfaces/DrawerItemHandle.js +1 -0
  104. package/dist/esm/drawer/interfaces/DrawerItemProps.d.ts +43 -0
  105. package/dist/esm/drawer/interfaces/DrawerItemProps.js +1 -0
  106. package/dist/esm/drawer/interfaces/DrawerNavigationProps.d.ts +5 -0
  107. package/dist/esm/drawer/interfaces/DrawerNavigationProps.js +1 -0
  108. package/dist/esm/drawer/interfaces/DrawerProps.d.ts +69 -0
  109. package/dist/esm/drawer/interfaces/DrawerProps.js +1 -0
  110. package/dist/esm/drawer/interfaces/DrawerSelectEvent.d.ts +13 -0
  111. package/dist/esm/drawer/interfaces/DrawerSelectEvent.js +1 -0
  112. package/dist/esm/main.d.ts +49 -0
  113. package/dist/esm/main.js +49 -0
  114. package/dist/esm/menu/BaseMenuItemInternalProps.d.ts +20 -0
  115. package/dist/esm/menu/BaseMenuItemInternalProps.js +1 -0
  116. package/dist/esm/menu/MenuProps.d.ts +51 -0
  117. package/dist/esm/menu/MenuProps.js +1 -0
  118. package/dist/esm/menu/components/Menu.d.ts +79 -0
  119. package/dist/esm/menu/components/Menu.js +322 -0
  120. package/dist/esm/menu/components/MenuItemArrow.d.ts +70 -0
  121. package/dist/esm/menu/components/MenuItemArrow.js +68 -0
  122. package/dist/esm/menu/components/MenuItemInternal.d.ts +61 -0
  123. package/dist/esm/menu/components/MenuItemInternal.js +454 -0
  124. package/dist/esm/menu/components/MenuItemInternalsList.d.ts +49 -0
  125. package/dist/esm/menu/components/MenuItemInternalsList.js +152 -0
  126. package/dist/esm/menu/components/MenuItemLink.d.ts +58 -0
  127. package/dist/esm/menu/components/MenuItemLink.js +67 -0
  128. package/dist/esm/menu/consts.d.ts +54 -0
  129. package/dist/esm/menu/consts.js +70 -0
  130. package/dist/esm/menu/events.d.ts +14 -0
  131. package/dist/esm/menu/events.js +2 -0
  132. package/dist/esm/menu/models/BaseMenuItem.d.ts +45 -0
  133. package/dist/esm/menu/models/BaseMenuItem.js +2 -0
  134. package/dist/esm/menu/models/MenuItemModel.d.ts +19 -0
  135. package/dist/esm/menu/models/MenuItemModel.js +1 -0
  136. package/dist/esm/menu/utils/DirectionHolder.d.ts +11 -0
  137. package/dist/esm/menu/utils/DirectionHolder.js +24 -0
  138. package/dist/esm/menu/utils/MouseOverHandler.d.ts +17 -0
  139. package/dist/esm/menu/utils/MouseOverHandler.js +64 -0
  140. package/dist/esm/menu/utils/getNewItemIdUponKeyboardNavigation.d.ts +7 -0
  141. package/dist/esm/menu/utils/getNewItemIdUponKeyboardNavigation.js +202 -0
  142. package/dist/esm/menu/utils/hoverDelay.d.ts +9 -0
  143. package/dist/esm/menu/utils/hoverDelay.js +17 -0
  144. package/dist/esm/menu/utils/itemsIdsUtils.d.ts +64 -0
  145. package/dist/esm/menu/utils/itemsIdsUtils.js +119 -0
  146. package/dist/esm/menu/utils/misc.d.ts +16 -0
  147. package/dist/esm/menu/utils/misc.js +42 -0
  148. package/dist/esm/menu/utils/prepareInputItemsForInternalWork.d.ts +5 -0
  149. package/dist/esm/menu/utils/prepareInputItemsForInternalWork.js +80 -0
  150. package/dist/esm/package-metadata.d.ts +5 -0
  151. package/dist/esm/package-metadata.js +11 -0
  152. package/dist/esm/package.json +3 -0
  153. package/dist/esm/panelbar/PanelBar.d.ts +48 -0
  154. package/dist/esm/panelbar/PanelBar.js +318 -0
  155. package/dist/esm/panelbar/PanelBarGroup.d.ts +53 -0
  156. package/dist/esm/panelbar/PanelBarGroup.js +139 -0
  157. package/dist/esm/panelbar/PanelBarItem.d.ts +40 -0
  158. package/dist/esm/panelbar/PanelBarItem.js +217 -0
  159. package/dist/esm/panelbar/interfaces/NavigationAction.d.ts +8 -0
  160. package/dist/esm/panelbar/interfaces/NavigationAction.js +9 -0
  161. package/dist/esm/panelbar/interfaces/PanelBarItemClickEventArguments.d.ts +7 -0
  162. package/dist/esm/panelbar/interfaces/PanelBarItemClickEventArguments.js +1 -0
  163. package/dist/esm/panelbar/interfaces/PanelBarItemProps.d.ts +85 -0
  164. package/dist/esm/panelbar/interfaces/PanelBarItemProps.js +1 -0
  165. package/dist/esm/panelbar/interfaces/PanelBarProps.d.ts +58 -0
  166. package/dist/esm/panelbar/interfaces/PanelBarProps.js +1 -0
  167. package/dist/esm/panelbar/interfaces/PanelBarSelectEventArguments.d.ts +13 -0
  168. package/dist/esm/panelbar/interfaces/PanelBarSelectEventArguments.js +1 -0
  169. package/dist/esm/panelbar/interfaces/RenderPanelBarItem.d.ts +14 -0
  170. package/dist/esm/panelbar/interfaces/RenderPanelBarItem.js +1 -0
  171. package/dist/esm/panelbar/util.d.ts +35 -0
  172. package/dist/esm/panelbar/util.js +232 -0
  173. package/dist/esm/splitter/Splitter.d.ts +139 -0
  174. package/dist/esm/splitter/Splitter.js +466 -0
  175. package/dist/esm/splitter/SplitterBar.d.ts +56 -0
  176. package/dist/esm/splitter/SplitterBar.js +289 -0
  177. package/dist/esm/splitter/SplitterPane.d.ts +93 -0
  178. package/dist/esm/splitter/SplitterPane.js +79 -0
  179. package/dist/esm/stepper/Step.d.ts +54 -0
  180. package/dist/esm/stepper/Step.js +227 -0
  181. package/dist/esm/stepper/Stepper.d.ts +97 -0
  182. package/dist/esm/stepper/Stepper.js +463 -0
  183. package/dist/esm/stepper/contants.d.ts +8 -0
  184. package/dist/esm/stepper/contants.js +8 -0
  185. package/dist/esm/stepper/context/StepperContext.d.ts +16 -0
  186. package/dist/esm/stepper/context/StepperContext.js +9 -0
  187. package/dist/esm/stepper/interfaces/StepChangeEvent.d.ts +9 -0
  188. package/dist/esm/stepper/interfaces/StepChangeEvent.js +1 -0
  189. package/dist/esm/stepper/interfaces/StepFocusEvent.d.ts +5 -0
  190. package/dist/esm/stepper/interfaces/StepFocusEvent.js +1 -0
  191. package/dist/esm/stepper/interfaces/StepHandle.d.ts +13 -0
  192. package/dist/esm/stepper/interfaces/StepHandle.js +4 -0
  193. package/dist/esm/stepper/interfaces/StepProps.d.ts +67 -0
  194. package/dist/esm/stepper/interfaces/StepProps.js +1 -0
  195. package/dist/esm/stepper/interfaces/StepperChangeEvent.d.ts +9 -0
  196. package/dist/esm/stepper/interfaces/StepperChangeEvent.js +1 -0
  197. package/dist/esm/stepper/interfaces/StepperFocusEvent.d.ts +5 -0
  198. package/dist/esm/stepper/interfaces/StepperFocusEvent.js +1 -0
  199. package/dist/esm/stepper/interfaces/StepperHandle.d.ts +13 -0
  200. package/dist/esm/stepper/interfaces/StepperHandle.js +4 -0
  201. package/dist/esm/stepper/interfaces/StepperOnNavigateEvent.d.ts +23 -0
  202. package/dist/esm/stepper/interfaces/StepperOnNavigateEvent.js +15 -0
  203. package/dist/esm/stepper/interfaces/StepperProps.d.ts +84 -0
  204. package/dist/esm/stepper/interfaces/StepperProps.js +1 -0
  205. package/dist/esm/stepper/messages/index.d.ts +10 -0
  206. package/dist/esm/stepper/messages/index.js +11 -0
  207. package/dist/esm/tabstrip/TabStrip.d.ts +114 -0
  208. package/dist/esm/tabstrip/TabStrip.js +333 -0
  209. package/dist/esm/tabstrip/TabStripContent.d.ts +79 -0
  210. package/dist/esm/tabstrip/TabStripContent.js +141 -0
  211. package/dist/esm/tabstrip/TabStripNavigation.d.ts +79 -0
  212. package/dist/esm/tabstrip/TabStripNavigation.js +127 -0
  213. package/dist/esm/tabstrip/TabStripNavigationItem.d.ts +85 -0
  214. package/dist/esm/tabstrip/TabStripNavigationItem.js +101 -0
  215. package/dist/esm/tabstrip/TabStripTab.d.ts +74 -0
  216. package/dist/esm/tabstrip/TabStripTab.js +71 -0
  217. package/dist/esm/tabstrip/utils.d.ts +1 -0
  218. package/dist/esm/tabstrip/utils.js +14 -0
  219. package/dist/npm/card/Avatar.js +4 -4
  220. package/dist/npm/card/Card.js +3 -3
  221. package/dist/npm/card/CardActions.js +2 -2
  222. package/dist/npm/card/CardBody.js +1 -1
  223. package/dist/npm/card/CardFooter.js +1 -1
  224. package/dist/npm/card/CardHeader.js +1 -1
  225. package/dist/npm/card/CardImage.js +1 -1
  226. package/dist/npm/card/CardSubtitle.js +1 -1
  227. package/dist/npm/card/CardTitle.js +1 -1
  228. package/dist/npm/drawer/Drawer.js +3 -3
  229. package/dist/npm/drawer/DrawerContent.js +1 -1
  230. package/dist/npm/drawer/DrawerItem.js +3 -3
  231. package/dist/npm/drawer/DrawerNavigation.js +1 -1
  232. package/dist/npm/main.js +6 -2
  233. package/dist/npm/menu/components/Menu.js +14 -14
  234. package/dist/npm/menu/components/MenuItemArrow.js +1 -1
  235. package/dist/npm/menu/components/MenuItemInternal.js +13 -13
  236. package/dist/npm/menu/components/MenuItemInternalsList.js +2 -2
  237. package/dist/npm/menu/components/MenuItemLink.js +1 -1
  238. package/dist/npm/menu/utils/getNewItemIdUponKeyboardNavigation.js +24 -24
  239. package/dist/npm/menu/utils/misc.js +2 -2
  240. package/dist/npm/menu/utils/prepareInputItemsForInternalWork.js +2 -2
  241. package/dist/npm/package-metadata.js +1 -1
  242. package/dist/npm/panelbar/PanelBar.js +15 -19
  243. package/dist/npm/panelbar/PanelBarItem.js +5 -5
  244. package/dist/npm/panelbar/util.js +26 -24
  245. package/dist/npm/splitter/Splitter.js +4 -4
  246. package/dist/npm/splitter/SplitterBar.js +3 -3
  247. package/dist/npm/splitter/SplitterPane.js +1 -1
  248. package/dist/npm/stepper/Step.js +6 -6
  249. package/dist/npm/stepper/Stepper.js +4 -4
  250. package/dist/npm/tabstrip/TabStrip.js +3 -3
  251. package/dist/npm/tabstrip/TabStripContent.js +3 -3
  252. package/dist/npm/tabstrip/TabStripTab.js +2 -2
  253. package/dist/npm/tabstrip/utils.js +2 -1
  254. package/package.json +10 -10
@@ -0,0 +1,139 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { SplitterPaneProps } from './SplitterPane';
7
+ /**
8
+ * Represents the onChange event of the Splitter.
9
+ */
10
+ export interface SplitterOnChangeEvent {
11
+ /**
12
+ * The new panes state.
13
+ */
14
+ newState: SplitterPaneProps[];
15
+ /**
16
+ * Indicates if is the last event during drag. Can be used to optimize performance.
17
+ */
18
+ isLast: boolean;
19
+ /**
20
+ * The native DOM event.
21
+ */
22
+ nativeEvent: any;
23
+ }
24
+ /**
25
+ * Represents the options of the Splitter.
26
+ */
27
+ export interface SplitterProps {
28
+ /**
29
+ * Sets the options of the Splitter panes ([more information and examples]({% slug panes_splitter %})). Can be used for controlled state.
30
+ */
31
+ panes?: SplitterPaneProps[];
32
+ /**
33
+ * Sets the initial options of the Splitter panes ([more information and examples]({% slug panes_splitter %})). Can be used for uncontrolled state.
34
+ */
35
+ defaultPanes?: SplitterPaneProps[];
36
+ /**
37
+ * Specifies the orientation of the panes within the Splitter ([more information and examples]({% slug orientation_splitter %})). Panes in a horizontal Splitter are placed horizontally. Panes in a vertical Splitter are placed vertically.
38
+ */
39
+ orientation?: 'vertical' | 'horizontal' | string;
40
+ /**
41
+ * Fires after a Splitter pane is resized or collapsed. Useful for updating the pane options and triggering layout calculations on components which are positioned inside the panes.
42
+ */
43
+ onChange?: (event: SplitterOnChangeEvent) => void;
44
+ }
45
+ /**
46
+ * @hidden
47
+ */
48
+ export interface SplitterState {
49
+ }
50
+ /**
51
+ * @hidden
52
+ */
53
+ export interface SplitterComputed {
54
+ [key: string]: any;
55
+ }
56
+ /**
57
+ * @hidden
58
+ */
59
+ export interface SplitterMethods {
60
+ [key: string]: any;
61
+ }
62
+ /**
63
+ * @hidden
64
+ */
65
+ export interface SplitterData {
66
+ isDragging: boolean;
67
+ dragIndex?: number;
68
+ startTime: number;
69
+ originalX: number;
70
+ originalY: number;
71
+ originalPrevSize: number;
72
+ originalNextSize: number;
73
+ currentPanes: SplitterPaneProps[];
74
+ }
75
+ /**
76
+ * @hidden
77
+ */
78
+ export interface SplitterAll extends Vue2type, SplitterMethods, SplitterData, SplitterComputed, SplitterState {
79
+ }
80
+ /**
81
+ * @hidden
82
+ */
83
+ declare let SplitterVue2: ComponentOptions<SplitterAll, DefaultData<SplitterData>, DefaultMethods<SplitterAll>, SplitterComputed, RecordPropsDefinition<SplitterProps>>;
84
+ /**
85
+ * Represents the [Kendo UI for Vue Native Splitter component]({% slug overview_splitter %}).
86
+ *
87
+ * ```js-no-run
88
+ * <template>
89
+ * <Splitter
90
+ * :style="{ height: '340px' }"
91
+ * :panes="panes"
92
+ * :orientation="'vertical'"
93
+ * @change="onChange"
94
+ * >
95
+ * <template v-slot:first>
96
+ * <div class="pane-content">
97
+ * <h3>Top Pane</h3>
98
+ * </div>
99
+ * </template>
100
+ * <template v-slot:second>
101
+ * <div class="pane-content">
102
+ * <h3>Bottom Pane</h3>
103
+ * </div>
104
+ * </template>
105
+ * </Splitter>
106
+ * </template>
107
+ *
108
+ * <script>
109
+ * import { Splitter } from '@progress/kendo-vue-layout';
110
+ * import './styles.css';
111
+ *
112
+ * export default {
113
+ * components: {
114
+ * Splitter,
115
+ * },
116
+ * data() {
117
+ * return {
118
+ * panes: [
119
+ * { size: '40%', containsSplitter: true, content: 'first' },
120
+ * { content: 'second' },
121
+ * ],
122
+ * };
123
+ * },
124
+ * methods: {
125
+ * onChange(event) {
126
+ * this.panes = event.newState;
127
+ * },
128
+ * },
129
+ * };
130
+ * </script>
131
+ * ```
132
+ *
133
+ *
134
+ *
135
+ * ### props <span class='code'>Readonly&lt;[SplitterProps]({% slug api_layout_splitterprops %})</span>
136
+ * The props of the Splitter component.
137
+ */
138
+ declare const Splitter: DefineComponent<SplitterProps, any, SplitterData, SplitterComputed, SplitterMethods, {}, {}, {}, string, SplitterProps, SplitterProps, {}>;
139
+ export { Splitter, SplitterVue2 };
@@ -0,0 +1,466 @@
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+
6
+ for (var p in s) {
7
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ }
10
+
11
+ return t;
12
+ };
13
+
14
+ return __assign.apply(this, arguments);
15
+ }; // @ts-ignore
16
+
17
+
18
+ import * as Vue from 'vue';
19
+ var allVue = Vue;
20
+ var gh = allVue.h;
21
+ var isV3 = allVue.version && allVue.version[0] === '3';
22
+ import { SplitterPane } from './SplitterPane.js';
23
+ import { SplitterBar } from './SplitterBar.js';
24
+ import { classNames, getListeners, templateRendering } from '@progress/kendo-vue-common';
25
+ import { validatePackage } from '@progress/kendo-vue-common';
26
+ import { packageMetadata } from '../package-metadata.js';
27
+ /**
28
+ * @hidden
29
+ */
30
+
31
+ var PANE_DEFAULTS = {
32
+ collapsible: false,
33
+ collapsed: false,
34
+ resizable: true,
35
+ scrollable: true
36
+ };
37
+ /**
38
+ * @hidden
39
+ */
40
+
41
+ var DOUBLE_CLICK_WAIT_TIME = 150;
42
+ /**
43
+ * @hidden
44
+ */
45
+
46
+ var SplitterVue2 = {
47
+ name: 'KendoSplitter',
48
+ props: {
49
+ orientation: {
50
+ type: String,
51
+ default: 'horizontal',
52
+ validator: function validator(value) {
53
+ return ['vertical', 'horizontal'].includes(value);
54
+ }
55
+ },
56
+ panes: Array,
57
+ defaultPanes: Array
58
+ },
59
+ computed: {
60
+ isControlledState: function isControlledState() {
61
+ return this.$props.panes !== undefined;
62
+ },
63
+ computedPanes: function computedPanes() {
64
+ // return this.panesDuringOnChange !== undefined ?
65
+ // this.panesDuringOnChange :
66
+ return this.isControlledState ? this.$props.panes : this.currentPanes;
67
+ },
68
+ isRtl: function isRtl() {
69
+ return this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;
70
+ }
71
+ },
72
+ created: function created() {
73
+ validatePackage(packageMetadata); // this.panesDuringOnChange?: SplitterPaneProps[];
74
+ },
75
+ data: function data() {
76
+ return {
77
+ isDragging: false,
78
+ dragIndex: undefined,
79
+ startTime: 0,
80
+ originalX: 0,
81
+ originalY: 0,
82
+ originalPrevSize: 0,
83
+ originalNextSize: 0,
84
+ currentPanes: this.$props.defaultPanes || []
85
+ };
86
+ },
87
+ // @ts-ignore
88
+ setup: !isV3 ? undefined : function () {
89
+ var v3 = !!isV3;
90
+ return {
91
+ v3: v3
92
+ };
93
+ },
94
+ // @ts-ignore
95
+ render: function render(createElement) {
96
+ var h = gh || createElement;
97
+ var panesOptions = this.panesOptions();
98
+ var className = classNames('k-widget', 'k-splitter', 'k-splitter-flex', "k-splitter-".concat(this.orientation));
99
+ this.validatePanes(panesOptions);
100
+
101
+ var mapSplitterPanes = function mapSplitterPanes(panes) {
102
+ return panes.map(function (pane, index) {
103
+ var content = templateRendering.call(this, pane.content, getListeners.call(this));
104
+ var splitterBar;
105
+ var paneKey = index * 2;
106
+ var barKey = paneKey + 1;
107
+
108
+ if (index + 1 < panes.length) {
109
+ var next = panes[index + 1];
110
+ splitterBar = h(SplitterBar, {
111
+ key: barKey,
112
+ index: index,
113
+ attrs: this.v3 ? undefined : {
114
+ index: index,
115
+ orientation: this.orientation,
116
+ prev: pane,
117
+ next: next
118
+ },
119
+ orientation: this.orientation,
120
+ prev: pane,
121
+ next: next,
122
+ onDrag: this.onBarDragResize,
123
+ on: this.v3 ? undefined : {
124
+ "drag": this.onBarDragResize,
125
+ "toggle": this.onBarToggle,
126
+ "keyboardresize": this.onBarKeyboardResize
127
+ },
128
+ onToggle: this.onBarToggle,
129
+ onKeyboardresize: this.onBarKeyboardResize
130
+ });
131
+ }
132
+
133
+ var splitterPane = h(SplitterPane, {
134
+ key: paneKey,
135
+ containsSplitter: pane.containsSplitter,
136
+ attrs: this.v3 ? undefined : {
137
+ containsSplitter: pane.containsSplitter,
138
+ size: pane.size,
139
+ min: pane.min,
140
+ max: pane.max,
141
+ resizable: pane.resizable,
142
+ collapsible: pane.collapsible,
143
+ collapsed: pane.collapsed,
144
+ scrollable: pane.scrollable,
145
+ keepMounted: pane.keepMounted,
146
+ content: content
147
+ },
148
+ size: pane.size,
149
+ min: pane.min,
150
+ max: pane.max,
151
+ resizable: pane.resizable,
152
+ collapsible: pane.collapsible,
153
+ collapsed: pane.collapsed,
154
+ scrollable: pane.scrollable,
155
+ keepMounted: pane.keepMounted,
156
+ content: content
157
+ });
158
+ return [splitterPane, splitterBar];
159
+ }, this);
160
+ };
161
+
162
+ return h("div", {
163
+ "class": className
164
+ }, [mapSplitterPanes.call(this, panesOptions)]);
165
+ },
166
+ methods: {
167
+ validatePanes: function validatePanes(panesOptions) {
168
+ var withoutSize = panesOptions.filter(function (pane) {
169
+ return pane.size === undefined;
170
+ });
171
+
172
+ if (!withoutSize.length) {
173
+ throw new Error('The Splitter should have at least one pane without a set size.');
174
+ }
175
+ },
176
+ mapPaneOptions: function mapPaneOptions(panes) {
177
+ var orientation = this.orientation;
178
+ var paneOptions = [];
179
+
180
+ for (var index = 0; index < panes.length; index++) {
181
+ var overlay = false;
182
+
183
+ if (this.isDragging && this.dragIndex !== undefined) {
184
+ overlay = this.dragIndex === index || this.dragIndex + 1 === index;
185
+ }
186
+
187
+ paneOptions.push(__assign(__assign(__assign({}, PANE_DEFAULTS), {
188
+ orientation: orientation,
189
+ overlay: overlay
190
+ }), panes[index]));
191
+ }
192
+
193
+ return paneOptions;
194
+ },
195
+ onBarToggle: function onBarToggle(index, event) {
196
+ var panesOptions = this.panesOptions();
197
+ var updatedState = panesOptions.map(function (pane, idx) {
198
+ var paneProps = pane;
199
+
200
+ if (idx === index) {
201
+ return __assign(__assign({}, paneProps), {
202
+ collapsed: !pane.collapsed
203
+ });
204
+ } else {
205
+ return __assign({}, paneProps);
206
+ }
207
+ });
208
+ this.$emit('change', {
209
+ newState: updatedState,
210
+ isLast: true,
211
+ nativeEvent: event
212
+ });
213
+ },
214
+ onBarDragResize: function onBarDragResize(event, barElement, index, isFirst, isLast) {
215
+ var time = new Date().getTime();
216
+ var pageX = event.pageX,
217
+ pageY = event.pageY;
218
+
219
+ var _a = this.surroudingPanes(barElement),
220
+ prevElement = _a.prevElement,
221
+ nextElement = _a.nextElement;
222
+
223
+ if (!prevElement || !nextElement) {
224
+ return;
225
+ }
226
+
227
+ if (isFirst) {
228
+ this.isDragging = true;
229
+ this.dragIndex = index;
230
+ this.startTime = time;
231
+ this.originalX = pageX;
232
+ this.originalY = pageY;
233
+ this.originalPrevSize = this.elementSize(prevElement);
234
+ this.originalNextSize = this.elementSize(nextElement);
235
+ return;
236
+ }
237
+
238
+ var _b = this.$data,
239
+ originalPrevSize = _b.originalPrevSize,
240
+ originalNextSize = _b.originalNextSize,
241
+ startTime = _b.startTime,
242
+ originalX = _b.originalX,
243
+ originalY = _b.originalY;
244
+
245
+ if (!isFirst && time - startTime < DOUBLE_CLICK_WAIT_TIME) {
246
+ if (isLast) {
247
+ this.resetDragState();
248
+ }
249
+
250
+ return;
251
+ }
252
+
253
+ var delta;
254
+
255
+ if (this.orientation === 'vertical') {
256
+ delta = pageY - originalY;
257
+ } else if (this.isRtl) {
258
+ delta = originalX - pageX;
259
+ } else {
260
+ delta = pageX - originalX;
261
+ }
262
+
263
+ this.resize(index, index + 1, originalPrevSize, originalNextSize, delta, isLast, event);
264
+
265
+ if (isLast) {
266
+ this.resetDragState();
267
+ }
268
+ },
269
+ onBarKeyboardResize: function onBarKeyboardResize(barElement, index, delta, event) {
270
+ var _a = this.surroudingPanes(barElement),
271
+ prevElement = _a.prevElement,
272
+ nextElement = _a.nextElement;
273
+
274
+ var originalPrevSize = this.elementSize(prevElement);
275
+ var originalNextSize = this.elementSize(nextElement);
276
+ this.resize(index, index + 1, originalPrevSize, originalNextSize, delta, true, event);
277
+ },
278
+ surroudingPanes: function surroudingPanes(barElement) {
279
+ return {
280
+ prevElement: barElement.previousElementSibling,
281
+ nextElement: barElement.nextElementSibling
282
+ };
283
+ },
284
+ containerSize: function containerSize() {
285
+ if (!this.$el) {
286
+ return 0;
287
+ }
288
+
289
+ return this.elementSize(this.$el, true);
290
+ },
291
+ isPercent: function isPercent(size) {
292
+ return /%$/.test(size);
293
+ },
294
+ toPixels: function toPixels(size, splitterSize) {
295
+ var result = parseInt(size, 10);
296
+
297
+ if (this.isPercent(size)) {
298
+ result = splitterSize * result / 100;
299
+ }
300
+
301
+ return result;
302
+ },
303
+ panesOptions: function panesOptions() {
304
+ return this.mapPaneOptions(this.computedPanes);
305
+ },
306
+ resetDragState: function resetDragState() {
307
+ this.isDragging = false;
308
+ this.dragIndex = undefined;
309
+ this.startTime = 0;
310
+ this.originalX = 0;
311
+ this.originalY = 0;
312
+ this.originalPrevSize = 0;
313
+ this.originalNextSize = 0;
314
+ },
315
+ elementSize: function elementSize(el, isContainer) {
316
+ var sizeType = isContainer ? 'client' : 'offset';
317
+
318
+ if (this.orientation === 'vertical') {
319
+ return el["".concat(sizeType, "Height")];
320
+ } else {
321
+ return el["".concat(sizeType, "Width")];
322
+ }
323
+ },
324
+ clamp: function clamp(min, max, v) {
325
+ return Math.min(max, Math.max(min, v));
326
+ },
327
+ fixedSize: function fixedSize(size) {
328
+ return size && size.length > 0;
329
+ },
330
+ resize: function resize(prevIndex, nextIndex, originalPrevSize, originalNextSize, delta, isLast, event) {
331
+ var _this = this;
332
+
333
+ var panesOptions = this.panesOptions();
334
+ var prevOptions = panesOptions[prevIndex];
335
+ var nextOptions = panesOptions[nextIndex];
336
+ var total = originalPrevSize + originalNextSize;
337
+ var splitterSize = this.containerSize();
338
+
339
+ var px = function px(s) {
340
+ return _this.toPixels(s, splitterSize);
341
+ };
342
+
343
+ var prevDragState = {
344
+ index: prevIndex,
345
+ initialSize: originalPrevSize,
346
+ min: px(prevOptions.min) || total - px(nextOptions.max) || 0,
347
+ max: px(prevOptions.max) || total - px(nextOptions.min) || total
348
+ };
349
+ var nextDragState = {
350
+ index: nextIndex,
351
+ initialSize: originalNextSize,
352
+ min: px(nextOptions.min) || total - px(prevOptions.max) || 0,
353
+ max: px(nextOptions.max) || total - px(prevOptions.min) || total
354
+ };
355
+
356
+ var resize = function resize(paneState, change) {
357
+ var pane = panesOptions[paneState.index];
358
+
359
+ var newSize = _this.clamp(paneState.min, paneState.max, paneState.initialSize + change);
360
+
361
+ if (_this.isPercent(pane.size || '')) {
362
+ return 100 * newSize / splitterSize + '%';
363
+ } else {
364
+ return newSize + 'px';
365
+ }
366
+ };
367
+
368
+ var prevSize;
369
+ var nextSize;
370
+
371
+ if (this.fixedSize(prevOptions.size) && this.fixedSize(nextOptions.size)) {
372
+ prevSize = resize(prevDragState, delta);
373
+ nextSize = resize(nextDragState, -delta);
374
+ } else if (nextOptions.collapsible || this.fixedSize(nextOptions.size)) {
375
+ nextSize = resize(nextDragState, -delta);
376
+ } else {
377
+ prevSize = resize(prevDragState, delta);
378
+ }
379
+
380
+ var updatedState = panesOptions.map(function (pane, idx) {
381
+ var paneProps = pane;
382
+
383
+ if (idx === prevIndex) {
384
+ return __assign(__assign({}, paneProps), {
385
+ size: prevSize
386
+ });
387
+ } else if (idx === nextIndex) {
388
+ return __assign(__assign({}, paneProps), {
389
+ size: nextSize
390
+ });
391
+ } else {
392
+ return __assign({}, paneProps);
393
+ }
394
+ });
395
+ this.panesDuringOnChange = updatedState;
396
+
397
+ if (!this.isControlledState) {
398
+ this.currentPanes = updatedState;
399
+ }
400
+
401
+ this.$emit('change', {
402
+ newState: updatedState,
403
+ isLast: isLast,
404
+ nativeEvent: event
405
+ });
406
+ this.panesDuringOnChange = undefined;
407
+ }
408
+ }
409
+ };
410
+ /**
411
+ * Represents the [Kendo UI for Vue Native Splitter component]({% slug overview_splitter %}).
412
+ *
413
+ * ```js-no-run
414
+ * <template>
415
+ * <Splitter
416
+ * :style="{ height: '340px' }"
417
+ * :panes="panes"
418
+ * :orientation="'vertical'"
419
+ * @change="onChange"
420
+ * >
421
+ * <template v-slot:first>
422
+ * <div class="pane-content">
423
+ * <h3>Top Pane</h3>
424
+ * </div>
425
+ * </template>
426
+ * <template v-slot:second>
427
+ * <div class="pane-content">
428
+ * <h3>Bottom Pane</h3>
429
+ * </div>
430
+ * </template>
431
+ * </Splitter>
432
+ * </template>
433
+ *
434
+ * <script>
435
+ * import { Splitter } from '@progress/kendo-vue-layout';
436
+ * import './styles.css.js';
437
+ *
438
+ * export default {
439
+ * components: {
440
+ * Splitter,
441
+ * },
442
+ * data() {
443
+ * return {
444
+ * panes: [
445
+ * { size: '40%', containsSplitter: true, content: 'first' },
446
+ * { content: 'second' },
447
+ * ],
448
+ * };
449
+ * },
450
+ * methods: {
451
+ * onChange(event) {
452
+ * this.panes = event.newState;
453
+ * },
454
+ * },
455
+ * };
456
+ * </script>
457
+ * ```
458
+ *
459
+ *
460
+ *
461
+ * ### props <span class='code'>Readonly&lt;[SplitterProps]({% slug api_layout_splitterprops %})</span>
462
+ * The props of the Splitter component.
463
+ */
464
+
465
+ var Splitter = SplitterVue2;
466
+ export { Splitter, SplitterVue2 };
@@ -0,0 +1,56 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { SplitterPaneExtendedProps } from './SplitterPane';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export interface SplitterBarProps {
11
+ orientation: 'vertical' | 'horizontal' | string;
12
+ index: number;
13
+ prev: SplitterPaneExtendedProps;
14
+ next: SplitterPaneExtendedProps;
15
+ onDrag?: (event: any, element: HTMLDivElement, index: number, isFirst: boolean, isLast: boolean) => void;
16
+ onToggle?: (index: number, nativeEvent: any) => void;
17
+ onKeyboardResize?: (element: HTMLDivElement, index: number, delta: number, nativeEvent: any) => void;
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ export interface SplitterBarState {
23
+ draggable: any | null;
24
+ }
25
+ /**
26
+ * @hidden
27
+ */
28
+ export interface SplitterBarComputed {
29
+ [key: string]: any;
30
+ }
31
+ /**
32
+ * @hidden
33
+ */
34
+ export interface SplitterBarMethods {
35
+ [key: string]: any;
36
+ }
37
+ /**
38
+ * @hidden
39
+ */
40
+ export interface SplitterBarData {
41
+ focused: boolean;
42
+ }
43
+ /**
44
+ * @hidden
45
+ */
46
+ export interface SplitterBarAll extends Vue2type, SplitterBarMethods, SplitterBarData, SplitterBarComputed, SplitterBarState {
47
+ }
48
+ /**
49
+ * @hidden
50
+ */
51
+ declare let SplitterBarVue2: ComponentOptions<SplitterBarAll, DefaultData<SplitterBarData>, DefaultMethods<SplitterBarAll>, SplitterBarComputed, RecordPropsDefinition<SplitterBarProps>>;
52
+ /**
53
+ * @hidden
54
+ */
55
+ declare const SplitterBar: DefineComponent<SplitterBarProps, any, SplitterBarData, SplitterBarComputed, SplitterBarMethods, {}, {}, {}, string, SplitterBarProps, SplitterBarProps, {}>;
56
+ export { SplitterBar, SplitterBarVue2 };