jsl-ui 9.18.2 → 9.18.3

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 (214) hide show
  1. package/lib/grid.css +0 -8
  2. package/lib/index.css.map +1 -1
  3. package/lib/index.js +10198 -61
  4. package/lib/index.js.map +1 -1
  5. package/package.json +1 -1
  6. package/lib/components/IntervalComponent.d.ts +0 -17
  7. package/lib/components/IntervalComponent.js +0 -68
  8. package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +0 -22
  9. package/lib/components/auto-suggest/AutoSuggestComponent.js +0 -49
  10. package/lib/components/button/ButtonComponent.d.ts +0 -18
  11. package/lib/components/button/ButtonComponent.js +0 -46
  12. package/lib/components/checkbox/CheckBoxComponent.d.ts +0 -28
  13. package/lib/components/checkbox/CheckBoxComponent.js +0 -94
  14. package/lib/components/checkbox/CheckBoxStyle.scss +0 -86
  15. package/lib/components/date/DateComponent.d.ts +0 -32
  16. package/lib/components/date/DateComponent.js +0 -106
  17. package/lib/components/date-range/DateRangeComponent.d.ts +0 -35
  18. package/lib/components/date-range/DateRangeComponent.js +0 -136
  19. package/lib/components/date-range/DateRangeStyle.scss +0 -12
  20. package/lib/components/date-time/DateTimeComponent.d.ts +0 -15
  21. package/lib/components/date-time/DateTimeComponent.js +0 -53
  22. package/lib/components/date-time/DateTimeStyle.scss +0 -7
  23. package/lib/components/dialog/DialogComponent.d.ts +0 -67
  24. package/lib/components/dialog/DialogComponent.js +0 -242
  25. package/lib/components/drop-down/DropDownComponent.d.ts +0 -27
  26. package/lib/components/drop-down/DropDownComponent.js +0 -74
  27. package/lib/components/expander/ExpanderComponent.d.ts +0 -27
  28. package/lib/components/expander/ExpanderComponent.js +0 -90
  29. package/lib/components/expander/ExpanderStyle.scss +0 -47
  30. package/lib/components/expander/OldExpanderStyle.scss +0 -37
  31. package/lib/components/form-field/FormComponent.d.ts +0 -12
  32. package/lib/components/form-field/FormComponent.js +0 -26
  33. package/lib/components/form-field/FormFieldComponent.d.ts +0 -38
  34. package/lib/components/form-field/FormFieldComponent.js +0 -139
  35. package/lib/components/form-field/FormFieldStyle.scss +0 -87
  36. package/lib/components/grid/GridComponent.d.ts +0 -26
  37. package/lib/components/grid/GridComponent.js +0 -116
  38. package/lib/components/input/InputComponent.d.ts +0 -33
  39. package/lib/components/input/InputComponent.js +0 -144
  40. package/lib/components/loading/LoadingComponent.d.ts +0 -8
  41. package/lib/components/loading/LoadingComponent.js +0 -22
  42. package/lib/components/loading/LoadingStyle.css +0 -29
  43. package/lib/components/navigation/NavigationComponent.d.ts +0 -34
  44. package/lib/components/navigation/NavigationComponent.js +0 -70
  45. package/lib/components/navigation/NavigationStyle.scss +0 -226
  46. package/lib/components/notification/Notification.d.ts +0 -17
  47. package/lib/components/notification/Notification.js +0 -56
  48. package/lib/components/notification/Notification.scss +0 -19
  49. package/lib/components/number/NumberComponent.d.ts +0 -25
  50. package/lib/components/number/NumberComponent.js +0 -87
  51. package/lib/components/overlay/OverlayComponent.d.ts +0 -27
  52. package/lib/components/overlay/OverlayComponent.js +0 -149
  53. package/lib/components/overlay/overlay.css +0 -57
  54. package/lib/components/progress/ProgressComponent.d.ts +0 -18
  55. package/lib/components/progress/ProgressComponent.js +0 -42
  56. package/lib/components/progress/ProgressStyle.scss +0 -15
  57. package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +0 -12
  58. package/lib/components/ribbon-menu/RibbonMenuComponent.js +0 -34
  59. package/lib/components/ribbon-menu/RibbonMenuStyle.scss +0 -76
  60. package/lib/components/select/SelectComponent.d.ts +0 -79
  61. package/lib/components/select/SelectComponent.js +0 -362
  62. package/lib/components/select/SelectDDAreaComponent.d.ts +0 -32
  63. package/lib/components/select/SelectDDAreaComponent.js +0 -317
  64. package/lib/components/select/SelectStyle.scss +0 -187
  65. package/lib/components/slider/nouislider.css +0 -310
  66. package/lib/components/slider/nouislider.d.ts +0 -44
  67. package/lib/components/slider/nouislider.js +0 -2158
  68. package/lib/components/stack-panel/SplitterComponent.d.ts +0 -21
  69. package/lib/components/stack-panel/SplitterComponent.js +0 -126
  70. package/lib/components/stack-panel/SplitterStyle.scss +0 -45
  71. package/lib/components/stack-panel/StackPanelComponent.d.ts +0 -20
  72. package/lib/components/stack-panel/StackPanelComponent.js +0 -64
  73. package/lib/components/stack-panel/StackPanelStyle.scss +0 -53
  74. package/lib/components/tabs/TabsComponent.d.ts +0 -39
  75. package/lib/components/tabs/TabsComponent.js +0 -177
  76. package/lib/components/tabs/TabsStyle.scss +0 -76
  77. package/lib/components/time/TimeComponent.d.ts +0 -29
  78. package/lib/components/time/TimeComponent.js +0 -113
  79. package/lib/components/time/TimeComponent.scss +0 -4
  80. package/lib/components/tree-view/TreeViewComponent.d.ts +0 -23
  81. package/lib/components/tree-view/TreeViewComponent.js +0 -45
  82. package/lib/components/tree-view/TreeViewStyle.scss +0 -96
  83. package/lib/components/virtual-render/VirtualRenderComponent.d.ts +0 -30
  84. package/lib/components/virtual-render/VirtualRenderComponent.js +0 -104
  85. package/lib/components/virtual-render/VirtualRenderStyle.scss +0 -9
  86. package/lib/core/culture.d.ts +0 -5
  87. package/lib/core/culture.js +0 -385
  88. package/lib/core/date.d.ts +0 -14
  89. package/lib/core/date.js +0 -350
  90. package/lib/core/helper.d.ts +0 -12
  91. package/lib/core/helper.js +0 -101
  92. package/lib/core/jq.d.ts +0 -37
  93. package/lib/core/jq.js +0 -371
  94. package/lib/core/lang.d.ts +0 -24
  95. package/lib/core/lang.js +0 -28
  96. package/lib/core/numeric.d.ts +0 -7
  97. package/lib/core/numeric.js +0 -143
  98. package/lib/core/polyfills.d.ts +0 -0
  99. package/lib/core/polyfills.js +0 -22
  100. package/lib/core.d.ts +0 -6
  101. package/lib/core.js +0 -6
  102. package/lib/grid/controls/slick.columnpicker.css +0 -46
  103. package/lib/grid/controls/slick.draggablegrouping.css +0 -52
  104. package/lib/grid/controls/slick.gridmenu.css +0 -127
  105. package/lib/grid/controls/slick.pager.css +0 -41
  106. package/lib/grid/examples/examples.css +0 -203
  107. package/lib/grid/filterDialogs/dateRangeFilter.d.ts +0 -7
  108. package/lib/grid/filterDialogs/dateRangeFilter.js +0 -156
  109. package/lib/grid/filterDialogs/excelFilter.d.ts +0 -9
  110. package/lib/grid/filterDialogs/excelFilter.js +0 -313
  111. package/lib/grid/plugins/ext.overlay.css +0 -28
  112. package/lib/grid/plugins/ext.overlay.d.ts +0 -2
  113. package/lib/grid/plugins/ext.overlay.js +0 -291
  114. package/lib/grid/plugins/slick.cellrangedecorator.d.ts +0 -12
  115. package/lib/grid/plugins/slick.cellrangedecorator.js +0 -68
  116. package/lib/grid/plugins/slick.cellrangeselector.d.ts +0 -1
  117. package/lib/grid/plugins/slick.cellrangeselector.js +0 -144
  118. package/lib/grid/plugins/slick.cellselectionmodel.d.ts +0 -1
  119. package/lib/grid/plugins/slick.cellselectionmodel.js +0 -194
  120. package/lib/grid/plugins/slick.headerbuttons.css +0 -40
  121. package/lib/grid/plugins/slick.headerbuttons.d.ts +0 -55
  122. package/lib/grid/plugins/slick.headerbuttons.js +0 -156
  123. package/lib/grid/plugins/slick.headermenu.css +0 -101
  124. package/lib/grid/plugins/slick.headermenu.d.ts +0 -74
  125. package/lib/grid/plugins/slick.headermenu.js +0 -260
  126. package/lib/grid/plugins/slick.rowdetailview.css +0 -37
  127. package/lib/grid/plugins/slick.rowmovemanager.css +0 -8
  128. package/lib/grid/plugins/slick.rowmovemanager.d.ts +0 -18
  129. package/lib/grid/plugins/slick.rowmovemanager.js +0 -249
  130. package/lib/grid/plugins/slick.rowselectionmodel.d.ts +0 -1
  131. package/lib/grid/plugins/slick.rowselectionmodel.js +0 -167
  132. package/lib/grid/slick-default-theme.css +0 -154
  133. package/lib/grid/slick.core.d.ts +0 -90
  134. package/lib/grid/slick.core.js +0 -574
  135. package/lib/grid/slick.creator.d.ts +0 -80
  136. package/lib/grid/slick.creator.js +0 -723
  137. package/lib/grid/slick.dataview.d.ts +0 -71
  138. package/lib/grid/slick.dataview.js +0 -1080
  139. package/lib/grid/slick.editors.core.d.ts +0 -4
  140. package/lib/grid/slick.editors.core.js +0 -232
  141. package/lib/grid/slick.editors.date.d.ts +0 -2
  142. package/lib/grid/slick.editors.date.js +0 -125
  143. package/lib/grid/slick.editors.lookup.d.ts +0 -14
  144. package/lib/grid/slick.editors.lookup.js +0 -353
  145. package/lib/grid/slick.editors.nav.d.ts +0 -6
  146. package/lib/grid/slick.editors.nav.js +0 -22
  147. package/lib/grid/slick.formatters.d.ts +0 -17
  148. package/lib/grid/slick.formatters.js +0 -137
  149. package/lib/grid/slick.grid.css +0 -325
  150. package/lib/grid/slick.grid.d.ts +0 -284
  151. package/lib/grid/slick.grid.js +0 -5395
  152. package/lib/grid/slick.groupitemmetadataprovider.d.ts +0 -39
  153. package/lib/grid/slick.groupitemmetadataprovider.js +0 -165
  154. package/lib/grid/slick.tree.css +0 -20
  155. package/lib/grid/slick.tree.d.ts +0 -33
  156. package/lib/grid/slick.tree.js +0 -220
  157. package/lib/grid.d.ts +0 -13
  158. package/lib/grid.js +0 -13
  159. package/lib/index.css +0 -2584
  160. package/lib/index.d.ts +0 -56
  161. package/lib/interaction/dataconverter.d.ts +0 -4
  162. package/lib/interaction/dataconverter.js +0 -1
  163. package/lib/interaction/eventhandler.d.ts +0 -13
  164. package/lib/interaction/eventhandler.js +0 -42
  165. package/lib/interaction/moveable.css +0 -0
  166. package/lib/interaction/moveable.d.ts +0 -39
  167. package/lib/interaction/moveable.js +0 -172
  168. package/lib/interaction/resizable.css +0 -33
  169. package/lib/interaction/resizable.d.ts +0 -37
  170. package/lib/interaction/resizable.js +0 -123
  171. package/lib/ui/auto.suggest.css +0 -14
  172. package/lib/ui/auto.suggest.d.ts +0 -17
  173. package/lib/ui/auto.suggest.js +0 -255
  174. package/lib/ui/base.css +0 -150
  175. package/lib/ui/date.picker/css/date-range-picker.css +0 -87
  176. package/lib/ui/date.picker/css/tiny-date-picker.css +0 -326
  177. package/lib/ui/date.picker/date-picker-options.d.ts +0 -11
  178. package/lib/ui/date.picker/date-picker-options.js +0 -76
  179. package/lib/ui/date.picker/lib/date-manip.d.ts +0 -74
  180. package/lib/ui/date.picker/lib/date-manip.js +0 -120
  181. package/lib/ui/date.picker/lib/dom.d.ts +0 -23
  182. package/lib/ui/date.picker/lib/dom.js +0 -28
  183. package/lib/ui/date.picker/lib/emitter.d.ts +0 -13
  184. package/lib/ui/date.picker/lib/emitter.js +0 -49
  185. package/lib/ui/date.picker/lib/fns.d.ts +0 -23
  186. package/lib/ui/date.picker/lib/fns.js +0 -43
  187. package/lib/ui/date.picker/mode/base-mode.d.ts +0 -26
  188. package/lib/ui/date.picker/mode/base-mode.js +0 -248
  189. package/lib/ui/date.picker/mode/dropdown-mode.d.ts +0 -28
  190. package/lib/ui/date.picker/mode/dropdown-mode.js +0 -50
  191. package/lib/ui/date.picker/mode/index.d.ts +0 -28
  192. package/lib/ui/date.picker/mode/index.js +0 -18
  193. package/lib/ui/date.picker/mode/modal-mode.d.ts +0 -25
  194. package/lib/ui/date.picker/mode/modal-mode.js +0 -17
  195. package/lib/ui/date.picker/mode/permanent-mode.d.ts +0 -29
  196. package/lib/ui/date.picker/mode/permanent-mode.js +0 -19
  197. package/lib/ui/date.picker/views/day-picker.d.ts +0 -40
  198. package/lib/ui/date.picker/views/day-picker.js +0 -155
  199. package/lib/ui/date.picker/views/month-picker.d.ts +0 -26
  200. package/lib/ui/date.picker/views/month-picker.js +0 -65
  201. package/lib/ui/date.picker/views/year-picker.d.ts +0 -20
  202. package/lib/ui/date.picker/views/year-picker.js +0 -66
  203. package/lib/ui/date.picker.d.ts +0 -66
  204. package/lib/ui/date.picker.js +0 -32
  205. package/lib/ui/dialog.css +0 -109
  206. package/lib/ui/dialog.d.ts +0 -22
  207. package/lib/ui/dialog.js +0 -113
  208. package/lib/ui/drop.down.css +0 -472
  209. package/lib/ui/drop.down.d.ts +0 -52
  210. package/lib/ui/drop.down.js +0 -2112
  211. package/lib/ui/number.input.css +0 -3
  212. package/lib/ui/number.input.d.ts +0 -12
  213. package/lib/ui/number.input.js +0 -64
  214. package/lib/ui/tabs.css +0 -53
@@ -1,23 +0,0 @@
1
- /**
2
- * @file Utility functions for function manipulation.
3
- */
4
- /**
5
- * bufferFn buffers calls to fn so they only happen every ms milliseconds
6
- *
7
- * @param {number} ms number of milliseconds
8
- * @param {function} fn the function to be buffered
9
- * @returns {function}
10
- */
11
- export declare function bufferFn(ms: any, fn: any): () => void;
12
- /**
13
- * noop is a function which does nothing at all.
14
- */
15
- export declare function noop(): void;
16
- /**
17
- * copy properties from object o2 to object o1.
18
- *
19
- * @params {Object} o1
20
- * @params {Object} o2
21
- * @returns {Object}
22
- */
23
- export declare function cp(...params: any[]): any;
@@ -1,43 +0,0 @@
1
- /**
2
- * @file Utility functions for function manipulation.
3
- */
4
- /**
5
- * bufferFn buffers calls to fn so they only happen every ms milliseconds
6
- *
7
- * @param {number} ms number of milliseconds
8
- * @param {function} fn the function to be buffered
9
- * @returns {function}
10
- */
11
- export function bufferFn(ms, fn) {
12
- var timeout = undefined;
13
- return function () {
14
- clearTimeout(timeout);
15
- timeout = setTimeout(fn, ms);
16
- };
17
- }
18
- /**
19
- * noop is a function which does nothing at all.
20
- */
21
- export function noop() { }
22
- /**
23
- * copy properties from object o2 to object o1.
24
- *
25
- * @params {Object} o1
26
- * @params {Object} o2
27
- * @returns {Object}
28
- */
29
- export function cp() {
30
- var params = [];
31
- for (var _i = 0; _i < arguments.length; _i++) {
32
- params[_i] = arguments[_i];
33
- }
34
- var args = arguments;
35
- var o1 = args[0];
36
- for (var i = 1; i < args.length; ++i) {
37
- var o2 = args[i] || {};
38
- for (var key in o2) {
39
- o1[key] = o2[key];
40
- }
41
- }
42
- return o1;
43
- }
@@ -1,26 +0,0 @@
1
- import { noop } from '../lib/fns';
2
- export default function BaseMode(input: any, emit: any, opts: any): {
3
- el: any;
4
- opts: any;
5
- shouldFocusOnBlur: boolean;
6
- shouldFocusOnRender: boolean;
7
- state: {
8
- selectedDate: Date;
9
- view: string;
10
- hilightedDate: any;
11
- };
12
- adjustPosition: typeof noop;
13
- containerHTML: string;
14
- attachToDom: () => void;
15
- updateInput: (selectedDate: any) => void;
16
- computeSelectedDate: () => any;
17
- currentView: () => any;
18
- open: () => void;
19
- isVisible: () => boolean;
20
- hasFocus: () => boolean;
21
- shouldHide: () => boolean;
22
- close: (becauseOfBlur?: boolean) => void;
23
- destroy: () => void;
24
- render: () => void;
25
- setState: (state: any) => void;
26
- };
@@ -1,248 +0,0 @@
1
- /**
2
- * @file Defines the base date picker behavior, overridden by various modes.
3
- */
4
- import dayPicker from '../views/day-picker';
5
- import monthPicker from '../views/month-picker';
6
- import yearPicker from '../views/year-picker';
7
- import { bufferFn, noop } from '../lib/fns';
8
- import { on, CustomEvent, Key } from '../lib/dom';
9
- import { constrainDate } from '../lib/date-manip';
10
- var views = {
11
- day: dayPicker,
12
- year: yearPicker,
13
- month: monthPicker
14
- };
15
- export default function BaseMode(input, emit, opts) {
16
- var detatchInputEvents; // A function that detaches all events from the input
17
- var closing = false; // A hack to prevent calendar from re-opening when closing.
18
- var selectedDate; // The currently selected date
19
- var dp = {
20
- // The root DOM element for the date picker, initialized on first open.
21
- el: undefined,
22
- opts: opts,
23
- shouldFocusOnBlur: true,
24
- shouldFocusOnRender: true,
25
- state: initialState(),
26
- adjustPosition: noop,
27
- containerHTML: '<div class="dp"></div>',
28
- attachToDom: function () {
29
- opts.appendTo.appendChild(dp.el);
30
- },
31
- updateInput: function (selectedDate) {
32
- var e = new CustomEvent('change', { bubbles: true });
33
- e.simulated = true;
34
- input.value = selectedDate ? opts.format(selectedDate) : '';
35
- input.dispatchEvent(e);
36
- },
37
- computeSelectedDate: function () {
38
- return opts.parse(input.value);
39
- },
40
- currentView: function () {
41
- return views[dp.state.view];
42
- },
43
- open: function () {
44
- if (closing) {
45
- return;
46
- }
47
- if (!dp.el) {
48
- dp.el = createContainerElement(opts, dp.containerHTML);
49
- attachContainerEvents(dp);
50
- }
51
- selectedDate = constrainDate(dp.computeSelectedDate(), opts.min, opts.max);
52
- dp.state.hilightedDate = selectedDate || opts.hilightedDate;
53
- dp.state.view = 'day';
54
- dp.attachToDom();
55
- dp.render();
56
- emit('open');
57
- },
58
- isVisible: function () {
59
- return !!dp.el && !!dp.el.parentNode;
60
- },
61
- hasFocus: function () {
62
- var focused = document.activeElement;
63
- return dp.el &&
64
- dp.el.contains(focused) &&
65
- focused.className.indexOf('dp-focuser') < 0;
66
- },
67
- shouldHide: function () {
68
- return dp.isVisible();
69
- },
70
- close: function (becauseOfBlur) {
71
- var el = dp.el;
72
- if (!dp.isVisible()) {
73
- return;
74
- }
75
- if (el) {
76
- var parent = el.parentNode;
77
- parent && parent.removeChild(el);
78
- }
79
- closing = true;
80
- if (becauseOfBlur && dp.shouldFocusOnBlur) {
81
- focusInput(input);
82
- }
83
- // When we close, the input often gains refocus, which
84
- // can then launch the date picker again, so we buffer
85
- // a bit and don't show the date picker within N ms of closing
86
- setTimeout(function () {
87
- closing = false;
88
- }, 100);
89
- emit('close');
90
- },
91
- destroy: function () {
92
- dp.close();
93
- detatchInputEvents();
94
- },
95
- render: function () {
96
- if (!dp.el) {
97
- return;
98
- }
99
- var hadFocus = dp.hasFocus();
100
- var html = dp.currentView().render(dp);
101
- html && (dp.el.firstChild.innerHTML = html);
102
- dp.adjustPosition();
103
- if (hadFocus || dp.shouldFocusOnRender) {
104
- focusCurrent(dp);
105
- }
106
- },
107
- // Conceptually similar to setState in React, updates
108
- // the view state and re-renders.
109
- setState: function (state) {
110
- for (var key in state) {
111
- dp.state[key] = state[key];
112
- }
113
- emit('statechange');
114
- dp.render();
115
- },
116
- };
117
- detatchInputEvents = attachInputEvents(input, dp);
118
- // Builds the initial view state
119
- // selectedDate is a special case and causes changes to hilightedDate
120
- // hilightedDate is set on open, so remains undefined initially
121
- // view is the current view (day, month, year)
122
- function initialState() {
123
- return {
124
- get selectedDate() {
125
- return selectedDate;
126
- },
127
- set selectedDate(dt) {
128
- if (dt && !opts.inRange(dt)) {
129
- return;
130
- }
131
- if (dt) {
132
- selectedDate = new Date(dt);
133
- dp.state.hilightedDate = selectedDate;
134
- }
135
- else {
136
- selectedDate = dt;
137
- }
138
- dp.updateInput(selectedDate);
139
- emit('select');
140
- dp.close();
141
- },
142
- view: 'day',
143
- hilightedDate: undefined
144
- };
145
- }
146
- return dp;
147
- }
148
- function createContainerElement(opts, containerHTML) {
149
- var el = document.createElement('div');
150
- el.className = opts.mode;
151
- el.innerHTML = containerHTML;
152
- return el;
153
- }
154
- function attachInputEvents(input, dp) {
155
- var bufferShow = bufferFn(5, function () {
156
- if (dp.shouldHide()) {
157
- dp.close();
158
- }
159
- else {
160
- dp.open();
161
- }
162
- });
163
- var off = [
164
- on('blur', input, bufferFn(150, function () {
165
- if (!dp.hasFocus()) {
166
- dp.close(true);
167
- }
168
- })),
169
- on('mousedown', input, function () {
170
- if (input === document.activeElement && !dp.isVisible()) {
171
- bufferShow();
172
- }
173
- }),
174
- on('focus', input, bufferShow),
175
- on('input', input, function (e) {
176
- try {
177
- var date = dp.opts.parse(e.target.value);
178
- dp.setState({
179
- hilightedDate: date
180
- });
181
- }
182
- catch (e) {
183
- //ignore invalid dates while input
184
- }
185
- }),
186
- ];
187
- // Unregister all events that were registered above.
188
- return function () {
189
- off.forEach(function (f) {
190
- f();
191
- });
192
- };
193
- }
194
- function focusCurrent(dp) {
195
- var current = dp.el.querySelector('.dp-current');
196
- return current && current.focus();
197
- }
198
- function attachContainerEvents(dp) {
199
- var el = dp.el;
200
- var calEl = el.querySelector('.dp');
201
- // Hack to get iOS to show active CSS states
202
- el.ontouchstart = noop;
203
- function onClick(e) {
204
- e.target.className.split(' ').forEach(function (evt) {
205
- var handler = dp.currentView().onClick[evt];
206
- handler && handler(e, dp);
207
- });
208
- }
209
- // The calender fires a blur event *every* time we redraw
210
- // this means we need to buffer the blur event to see if
211
- // it still has no focus after redrawing, and only then
212
- // do we return focus to the input. A possible other approach
213
- // would be to set context.redrawing = true on redraw and
214
- // set it to false in the blur event.
215
- on('blur', calEl, bufferFn(150, function () {
216
- if (!dp.hasFocus()) {
217
- dp.close(true);
218
- }
219
- }));
220
- on('keydown', el, function (e) {
221
- if (e.keyCode === Key.enter) {
222
- onClick(e);
223
- }
224
- else {
225
- dp.currentView().onKeyDown(e, dp);
226
- }
227
- });
228
- // If the user clicks in non-focusable space, but
229
- // still within the date picker, we don't want to
230
- // hide, so we need to hack some things...
231
- on('mousedown', calEl, function (e) {
232
- e.target.focus && e.target.focus(); // IE hack
233
- if (document.activeElement !== e.target) {
234
- e.preventDefault();
235
- focusCurrent(dp);
236
- }
237
- });
238
- on('click', el, onClick);
239
- }
240
- function focusInput(input) {
241
- // When the modal closes, we need to focus the original input so the
242
- // user can continue tabbing from where they left off.
243
- input.focus();
244
- // iOS zonks out if we don't blur the input, so...
245
- if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {
246
- input.blur();
247
- }
248
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * @file Defines the dropdown date picker behavior.
3
- */
4
- export default function DropdownMode(input: any, emit: any, opts: any): {
5
- el: any;
6
- opts: any;
7
- shouldFocusOnBlur: boolean;
8
- shouldFocusOnRender: boolean;
9
- state: {
10
- selectedDate: Date;
11
- view: string;
12
- hilightedDate: any;
13
- };
14
- adjustPosition: typeof import("../lib/fns").noop;
15
- containerHTML: string;
16
- attachToDom: () => void;
17
- updateInput: (selectedDate: any) => void;
18
- computeSelectedDate: () => any;
19
- currentView: () => any;
20
- open: () => void;
21
- isVisible: () => boolean;
22
- hasFocus: () => boolean;
23
- shouldHide: () => boolean;
24
- close: (becauseOfBlur?: boolean) => void;
25
- destroy: () => void;
26
- render: () => void;
27
- setState: (state: any) => void;
28
- };
@@ -1,50 +0,0 @@
1
- /**
2
- * @file Defines the dropdown date picker behavior.
3
- */
4
- import BaseMode from './base-mode';
5
- export default function DropdownMode(input, emit, opts) {
6
- var dp = BaseMode(input, emit, opts);
7
- dp.shouldFocusOnBlur = false;
8
- Object.defineProperty(dp, 'shouldFocusOnRender', {
9
- get: function () {
10
- return input !== document.activeElement;
11
- }
12
- });
13
- dp.adjustPosition = function () {
14
- autoPosition(input, dp);
15
- };
16
- return dp;
17
- }
18
- function autoPosition(input, dp) {
19
- var inputPos = input.getBoundingClientRect();
20
- var win = window;
21
- adjustCalY(dp, inputPos, win);
22
- adjustCalX(dp, inputPos, win);
23
- dp.el.style.visibility = '';
24
- }
25
- function adjustCalX(dp, inputPos, win) {
26
- var cal = dp.el;
27
- var scrollLeft = win.pageXOffset;
28
- var inputLeft = inputPos.left + scrollLeft;
29
- var maxRight = win.innerWidth + scrollLeft;
30
- var offsetWidth = cal.offsetWidth;
31
- var calRight = inputLeft + offsetWidth;
32
- var shiftedLeft = maxRight - offsetWidth;
33
- var left = calRight > maxRight && shiftedLeft > 0 ? shiftedLeft : inputLeft;
34
- cal.style.left = left + 'px';
35
- }
36
- function adjustCalY(dp, inputPos, win) {
37
- var cal = dp.el;
38
- var scrollTop = win.pageYOffset;
39
- var inputTop = scrollTop + inputPos.top;
40
- var calHeight = cal.offsetHeight;
41
- var belowTop = inputTop + inputPos.height + 8;
42
- var aboveTop = inputTop - calHeight - 8;
43
- var isAbove = (aboveTop > 0 && belowTop + calHeight > scrollTop + win.innerHeight);
44
- var top = isAbove ? aboveTop : belowTop;
45
- if (cal.classList) {
46
- cal.classList.toggle('dp-is-above', isAbove);
47
- cal.classList.toggle('dp-is-below', !isAbove);
48
- }
49
- cal.style.top = top + 'px';
50
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * @file Defines the various date picker modes (modal, dropdown, permanent)
3
- */
4
- export default function Mode(input: any, emit: any, opts: any): {
5
- el: any;
6
- opts: any;
7
- shouldFocusOnBlur: boolean;
8
- shouldFocusOnRender: boolean;
9
- state: {
10
- selectedDate: Date;
11
- view: string;
12
- hilightedDate: any;
13
- };
14
- adjustPosition: typeof import("../lib/fns").noop;
15
- containerHTML: string;
16
- attachToDom: () => void;
17
- updateInput: (selectedDate: any) => void;
18
- computeSelectedDate: () => any;
19
- currentView: () => any;
20
- open: () => void;
21
- isVisible: () => boolean;
22
- hasFocus: () => boolean;
23
- shouldHide: () => boolean;
24
- close: (becauseOfBlur?: boolean) => void;
25
- destroy: () => void;
26
- render: () => void;
27
- setState: (state: any) => void;
28
- };
@@ -1,18 +0,0 @@
1
- /**
2
- * @file Defines the various date picker modes (modal, dropdown, permanent)
3
- */
4
- import ModalMode from './modal-mode';
5
- import DropdownMode from './dropdown-mode';
6
- import PermanentMode from './permanent-mode';
7
- export default function Mode(input, emit, opts) {
8
- input = input && input.tagName ? input : document.querySelector(input);
9
- if (opts.mode === 'dp-modal') {
10
- return ModalMode(input, emit, opts);
11
- }
12
- if (opts.mode === 'dp-below') {
13
- return DropdownMode(input, emit, opts);
14
- }
15
- if (opts.mode === 'dp-permanent') {
16
- return PermanentMode(input, emit, opts);
17
- }
18
- }
@@ -1,25 +0,0 @@
1
- export default function ModalMode(input: any, emit: any, opts: any): {
2
- el: any;
3
- opts: any;
4
- shouldFocusOnBlur: boolean;
5
- shouldFocusOnRender: boolean;
6
- state: {
7
- selectedDate: Date;
8
- view: string;
9
- hilightedDate: any;
10
- };
11
- adjustPosition: typeof import("../lib/fns").noop;
12
- containerHTML: string;
13
- attachToDom: () => void;
14
- updateInput: (selectedDate: any) => void;
15
- computeSelectedDate: () => any;
16
- currentView: () => any;
17
- open: () => void;
18
- isVisible: () => boolean;
19
- hasFocus: () => boolean;
20
- shouldHide: () => boolean;
21
- close: (becauseOfBlur?: boolean) => void;
22
- destroy: () => void;
23
- render: () => void;
24
- setState: (state: any) => void;
25
- };
@@ -1,17 +0,0 @@
1
- /**
2
- * @file Defines the modal date picker behavior.
3
- */
4
- import BaseMode from './base-mode';
5
- export default function ModalMode(input, emit, opts) {
6
- var dp = BaseMode(input, emit, opts);
7
- // In modal mode, users really shouldn't be able to type in
8
- // the input, as all input is done via the calendar.
9
- input.readonly = true;
10
- // In modal mode, we need to know when the user has tabbed
11
- // off the end of the calendar, and set focus to the original
12
- // input. To do this, we add a special element to the DOM.
13
- // When the user tabs off the bottom of the calendar, they
14
- // will tab onto this element.
15
- dp.containerHTML += '<a href="#" class="dp-focuser">.</a>';
16
- return dp;
17
- }
@@ -1,29 +0,0 @@
1
- /**
2
- * @file Defines the permanent date picker behavior.
3
- */
4
- import { noop } from '../lib/fns';
5
- export default function PermanentMode(root: any, emit: any, opts: any): {
6
- el: any;
7
- opts: any;
8
- shouldFocusOnBlur: boolean;
9
- shouldFocusOnRender: boolean;
10
- state: {
11
- selectedDate: Date;
12
- view: string;
13
- hilightedDate: any;
14
- };
15
- adjustPosition: typeof noop;
16
- containerHTML: string;
17
- attachToDom: () => void;
18
- updateInput: (selectedDate: any) => void;
19
- computeSelectedDate: () => any;
20
- currentView: () => any;
21
- open: () => void;
22
- isVisible: () => boolean;
23
- hasFocus: () => boolean;
24
- shouldHide: () => boolean;
25
- close: (becauseOfBlur?: boolean) => void;
26
- destroy: () => void;
27
- render: () => void;
28
- setState: (state: any) => void;
29
- };
@@ -1,19 +0,0 @@
1
- /**
2
- * @file Defines the permanent date picker behavior.
3
- */
4
- import { noop } from '../lib/fns';
5
- import BaseMode from './base-mode';
6
- export default function PermanentMode(root, emit, opts) {
7
- var dp = BaseMode(root, emit, opts);
8
- dp.close = noop;
9
- dp.updateInput = noop;
10
- dp.shouldFocusOnRender = opts.shouldFocusOnRender;
11
- dp.computeSelectedDate = function () {
12
- return opts.hilightedDate;
13
- };
14
- dp.attachToDom = function () {
15
- root.appendChild(dp.el);
16
- };
17
- dp.open();
18
- return dp;
19
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * @file Manages the calendar / day-picker view.
3
- */
4
- declare const _default: {
5
- onKeyDown: typeof keyDown;
6
- onClick: {
7
- 'dp-day': typeof selectDay;
8
- 'dp-next': typeof gotoNextMonth;
9
- 'dp-prev': typeof gotoPrevMonth;
10
- 'dp-today': typeof selectToday;
11
- 'dp-clear': typeof clear;
12
- 'dp-close': typeof close;
13
- 'dp-cal-month': typeof showMonthPicker;
14
- 'dp-cal-year': typeof showYearPicker;
15
- };
16
- render: typeof render;
17
- };
18
- export default _default;
19
- /**
20
- * view renders the calendar (day picker) as an HTML string.
21
- *
22
- * @param {DatePickerContext} context the date picker being rendered
23
- * @returns {string}
24
- */
25
- declare function render(dp: any): string;
26
- /**
27
- * keyDown handles the key down event for the day-picker
28
- *
29
- * @param {Event} e
30
- * @param {DatePickerContext} dp
31
- */
32
- declare function keyDown(e: any, dp: any): void;
33
- declare function selectToday(e: any, dp: any): void;
34
- declare function clear(e: any, dp: any): void;
35
- declare function close(e: any, dp: any): void;
36
- declare function showMonthPicker(e: any, dp: any): void;
37
- declare function showYearPicker(e: any, dp: any): void;
38
- declare function gotoNextMonth(e: any, dp: any): void;
39
- declare function gotoPrevMonth(e: any, dp: any): void;
40
- declare function selectDay(e: any, dp: any): void;