@progress/kendo-themes-html 5.5.0 → 5.5.1-dev.2

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 (148) hide show
  1. package/dist/breadcrumb/tests/breadcrumb-rtl.js +4 -4
  2. package/dist/breadcrumb/tests/breadcrumb-rtl.js.map +2 -2
  3. package/dist/breadcrumb/tests/breadcrumb.js +4 -4
  4. package/dist/breadcrumb/tests/breadcrumb.js.map +2 -2
  5. package/dist/calendar/calendar-cell.js +7 -1
  6. package/dist/calendar/calendar-cell.js.map +2 -2
  7. package/dist/calendar/calendar-footer.js +1 -2
  8. package/dist/calendar/calendar-footer.js.map +2 -2
  9. package/dist/calendar/calendar-table-head.js +42 -21
  10. package/dist/calendar/calendar-table-head.js.map +2 -2
  11. package/dist/calendar/calendar-table.js +42 -21
  12. package/dist/calendar/calendar-table.js.map +2 -2
  13. package/dist/calendar/calendar-view.js +42 -21
  14. package/dist/calendar/calendar-view.js.map +2 -2
  15. package/dist/calendar/calendar.js +42 -21
  16. package/dist/calendar/calendar.js.map +2 -2
  17. package/dist/calendar/tests/calendar-classic-jquery.js +32 -32
  18. package/dist/calendar/tests/calendar-classic-jquery.js.map +2 -2
  19. package/dist/calendar/tests/calendar-infinite-rtl.js +67 -67
  20. package/dist/calendar/tests/calendar-infinite-rtl.js.map +2 -2
  21. package/dist/calendar/tests/calendar-infinite.js +68 -68
  22. package/dist/calendar/tests/calendar-infinite.js.map +2 -2
  23. package/dist/calendar/tests/calendar-modern-angular.js +42 -21
  24. package/dist/calendar/tests/calendar-modern-angular.js.map +2 -2
  25. package/dist/calendar/tests/calendar-modern-jquery.js +42 -21
  26. package/dist/calendar/tests/calendar-modern-jquery.js.map +2 -2
  27. package/dist/datepicker/tests/datepicker-adaptive.js +779 -0
  28. package/dist/datepicker/tests/datepicker-adaptive.js.map +7 -0
  29. package/dist/datetime-selector/tests/datetime-selector.js +42 -21
  30. package/dist/datetime-selector/tests/datetime-selector.js.map +2 -2
  31. package/dist/dropdownlist/tests/dropdownlist-adaptive.js +488 -0
  32. package/dist/dropdownlist/tests/dropdownlist-adaptive.js.map +7 -0
  33. package/dist/form/tests/form-grid-layout.js +3 -3
  34. package/dist/form/tests/form-grid-layout.js.map +1 -1
  35. package/dist/imageeditor/tests/imageeditor-crop-pane.js +5 -5
  36. package/dist/imageeditor/tests/imageeditor-crop-pane.js.map +1 -1
  37. package/dist/imageeditor/tests/imageeditor-resize-pane.js +5 -5
  38. package/dist/imageeditor/tests/imageeditor-resize-pane.js.map +1 -1
  39. package/dist/layout/tests/stack-layout.js +3 -3
  40. package/dist/layout/tests/stack-layout.js.map +2 -2
  41. package/dist/list/tests/list-sizes.js +2 -2
  42. package/dist/list/tests/list-sizes.js.map +2 -2
  43. package/dist/multiviewcalendar/multiviewcalendar.js +44 -22
  44. package/dist/multiviewcalendar/multiviewcalendar.js.map +2 -2
  45. package/dist/multiviewcalendar/tests/multiviewcalendar-angular.js +44 -22
  46. package/dist/multiviewcalendar/tests/multiviewcalendar-angular.js.map +2 -2
  47. package/dist/multiviewcalendar/tests/multiviewcalendar-jquery.js +44 -22
  48. package/dist/multiviewcalendar/tests/multiviewcalendar-jquery.js.map +2 -2
  49. package/dist/multiviewcalendar/tests/multiviewcalendar-react.js +44 -22
  50. package/dist/multiviewcalendar/tests/multiviewcalendar-react.js.map +2 -2
  51. package/dist/multiviewcalendar/tests/multiviewcalendar-vertical-angular.js +44 -22
  52. package/dist/multiviewcalendar/tests/multiviewcalendar-vertical-angular.js.map +2 -2
  53. package/dist/multiviewcalendar/tests/multiviewcalendar-vertical-jquery.js +44 -22
  54. package/dist/multiviewcalendar/tests/multiviewcalendar-vertical-jquery.js.map +2 -2
  55. package/dist/multiviewcalendar/tests/multiviewcalendar-vertical-react.js +44 -22
  56. package/dist/multiviewcalendar/tests/multiviewcalendar-vertical-react.js.map +2 -2
  57. package/dist/notification/tests/notification-angular.js +2 -2
  58. package/dist/notification/tests/notification-angular.js.map +2 -2
  59. package/dist/notification/tests/notification-custom-angular.js +4 -4
  60. package/dist/notification/tests/notification-custom-angular.js.map +2 -2
  61. package/dist/notification/tests/notification-jquery.js +2 -2
  62. package/dist/notification/tests/notification-jquery.js.map +2 -2
  63. package/dist/panelbar/tests/panelbar-angular.js +2 -2
  64. package/dist/panelbar/tests/panelbar-angular.js.map +2 -2
  65. package/dist/panelbar/tests/panelbar-jquery.js +2 -2
  66. package/dist/panelbar/tests/panelbar-jquery.js.map +2 -2
  67. package/dist/panelbar/tests/panelbar-react.js +2 -2
  68. package/dist/panelbar/tests/panelbar-react.js.map +2 -2
  69. package/dist/panelbar/tests/panelbar-universal.js +2 -2
  70. package/dist/panelbar/tests/panelbar-universal.js.map +2 -2
  71. package/dist/progressbar/tests/circular-progressbar-angular.js +59 -0
  72. package/dist/progressbar/tests/circular-progressbar-angular.js.map +7 -0
  73. package/dist/scrollview/tests/scrollview-angular.js +1 -1
  74. package/dist/scrollview/tests/scrollview-angular.js.map +2 -2
  75. package/dist/scrollview/tests/scrollview-blazor.js +1 -1
  76. package/dist/scrollview/tests/scrollview-blazor.js.map +2 -2
  77. package/dist/scrollview/tests/scrollview.js +1 -1
  78. package/dist/scrollview/tests/scrollview.js.map +2 -2
  79. package/dist/signature/index.js +203 -0
  80. package/dist/signature/index.js.map +7 -0
  81. package/dist/signature/signature.js +203 -0
  82. package/dist/signature/signature.js.map +7 -0
  83. package/dist/signature/tests/signature-flat.js +273 -0
  84. package/dist/signature/tests/signature-flat.js.map +7 -0
  85. package/dist/signature/tests/signature-outline.js +273 -0
  86. package/dist/signature/tests/signature-outline.js.map +7 -0
  87. package/dist/signature/tests/signature.js +258 -0
  88. package/dist/signature/tests/signature.js.map +7 -0
  89. package/dist/switch/tests/switch-size-rounded.js +3 -3
  90. package/dist/switch/tests/switch-size-rounded.js.map +2 -2
  91. package/dist/time-selector/time-selector.js +294 -0
  92. package/dist/time-selector/time-selector.js.map +7 -0
  93. package/dist/timepicker/tests/timepicker-adaptive.js +363 -0
  94. package/dist/timepicker/tests/timepicker-adaptive.js.map +7 -0
  95. package/dist/toolbar/tests/toolbar-angular.js +2 -2
  96. package/dist/toolbar/tests/toolbar-angular.js.map +2 -2
  97. package/dist/toolbar/tests/toolbar-popup-legacy.js +1 -1
  98. package/dist/toolbar/tests/toolbar-popup-legacy.js.map +2 -2
  99. package/dist/toolbar/tests/toolbar-popup.js +1 -1
  100. package/dist/toolbar/tests/toolbar-popup.js.map +2 -2
  101. package/dist/toolbar/tests/toolbar.js +10 -10
  102. package/dist/toolbar/tests/toolbar.js.map +2 -2
  103. package/dist/tooltip/tests/tooltip-states.js +1 -1
  104. package/dist/tooltip/tests/tooltip-states.js.map +2 -2
  105. package/package.json +2 -2
  106. package/src/breadcrumb/tests/breadcrumb-rtl.tsx +4 -4
  107. package/src/breadcrumb/tests/breadcrumb.tsx +4 -4
  108. package/src/calendar/calendar-cell.tsx +10 -1
  109. package/src/calendar/calendar-footer.tsx +1 -1
  110. package/src/calendar/calendar-table.tsx +15 -13
  111. package/src/calendar/calendar-view.tsx +3 -0
  112. package/src/calendar/calendar.tsx +8 -1
  113. package/src/calendar/tests/calendar-classic-jquery.tsx +32 -32
  114. package/src/calendar/tests/calendar-infinite-rtl.tsx +67 -67
  115. package/src/calendar/tests/calendar-infinite.tsx +68 -68
  116. package/src/datepicker/tests/datepicker-adaptive.tsx +76 -0
  117. package/src/dropdownlist/tests/dropdownlist-adaptive.tsx +96 -0
  118. package/src/form/tests/form-grid-layout.tsx +3 -3
  119. package/src/imageeditor/tests/imageeditor-crop-pane.tsx +5 -5
  120. package/src/imageeditor/tests/imageeditor-resize-pane.tsx +5 -5
  121. package/src/layout/tests/stack-layout.tsx +3 -3
  122. package/src/list/tests/list-sizes.tsx +2 -2
  123. package/src/multiviewcalendar/multiviewcalendar.tsx +1 -0
  124. package/src/notification/tests/notification-angular.tsx +2 -2
  125. package/src/notification/tests/notification-custom-angular.tsx +4 -4
  126. package/src/notification/tests/notification-jquery.tsx +2 -2
  127. package/src/panelbar/tests/panelbar-angular.tsx +2 -2
  128. package/src/panelbar/tests/panelbar-jquery.tsx +2 -2
  129. package/src/panelbar/tests/panelbar-react.tsx +2 -2
  130. package/src/panelbar/tests/panelbar-universal.tsx +2 -2
  131. package/src/progressbar/tests/circular-progressbar-angular.tsx +35 -0
  132. package/src/scrollview/tests/scrollview-angular.tsx +1 -1
  133. package/src/scrollview/tests/scrollview-blazor.tsx +1 -1
  134. package/src/scrollview/tests/scrollview.tsx +1 -1
  135. package/src/signature/index.tsx +1 -0
  136. package/src/signature/signature.tsx +112 -0
  137. package/src/signature/tests/signature-flat.tsx +71 -0
  138. package/src/signature/tests/signature-outline.tsx +71 -0
  139. package/src/signature/tests/signature.tsx +71 -0
  140. package/src/switch/tests/switch-size-rounded.tsx +3 -3
  141. package/src/time-selector/index.ts +1 -0
  142. package/src/time-selector/time-selector.tsx +186 -0
  143. package/src/timepicker/tests/timepicker-adaptive.tsx +76 -0
  144. package/src/toolbar/tests/toolbar-angular.tsx +2 -2
  145. package/src/toolbar/tests/toolbar-popup-legacy.tsx +1 -1
  146. package/src/toolbar/tests/toolbar-popup.tsx +1 -1
  147. package/src/toolbar/tests/toolbar.tsx +10 -10
  148. package/src/tooltip/tests/tooltip-states.tsx +1 -1
@@ -0,0 +1,294 @@
1
+ (() => {
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
9
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
10
+ }) : x)(function(x) {
11
+ if (typeof require !== "undefined")
12
+ return require.apply(this, arguments);
13
+ throw new Error('Dynamic require of "' + x + '" is not supported');
14
+ });
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
24
+
25
+ // src/time-selector/time-selector.tsx
26
+ var React3 = __toESM(__require("react"));
27
+
28
+ // src/utils/classNames.ts
29
+ var classNames = (...args) => {
30
+ const result = {};
31
+ const addLeafKeys = (arg) => {
32
+ typeof arg === "object" ? Object.keys(arg).forEach((key) => {
33
+ result[key] = arg[key];
34
+ }) : result[arg] = true;
35
+ };
36
+ const addKeys = (list) => list.filter((arg) => arg !== true && Boolean(arg)).map((arg) => Array.isArray(arg) ? addKeys(arg) : addLeafKeys(arg));
37
+ addKeys(args);
38
+ return Object.keys(result).map((key) => result[key] && key || null).filter((el) => el !== null).join(" ");
39
+ };
40
+
41
+ // src/utils/theme.ts
42
+ var kendoThemeMaps = {
43
+ sizeMap: {
44
+ small: "sm",
45
+ medium: "md",
46
+ large: "lg"
47
+ },
48
+ roundedMap: {
49
+ small: "sm",
50
+ medium: "md",
51
+ large: "lg"
52
+ },
53
+ calloutMap: {
54
+ top: "n",
55
+ bottom: "s",
56
+ left: "w",
57
+ right: "e"
58
+ },
59
+ orientationMap: {
60
+ vertical: "vstack",
61
+ horizontal: "hstack"
62
+ }
63
+ };
64
+
65
+ // src/button/button.tsx
66
+ var React2 = __toESM(__require("react"));
67
+
68
+ // src/icon/icon.tsx
69
+ var React = __toESM(__require("react"));
70
+ var Icon = class extends React.Component {
71
+ render() {
72
+ const {
73
+ className,
74
+ style,
75
+ name
76
+ } = this.props;
77
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, name && /* @__PURE__ */ React.createElement("span", {
78
+ className: classNames(className, "k-icon", {
79
+ [`k-i-${name}`]: name
80
+ }),
81
+ style
82
+ }));
83
+ }
84
+ };
85
+
86
+ // src/button/button.tsx
87
+ var Button = class extends React2.Component {
88
+ render() {
89
+ const {
90
+ children,
91
+ className,
92
+ iconClassName,
93
+ text,
94
+ icon,
95
+ size,
96
+ rounded,
97
+ fillMode,
98
+ themeColor,
99
+ hover,
100
+ focus,
101
+ active,
102
+ selected,
103
+ disabled,
104
+ ...htmlAttributes
105
+ } = this.props;
106
+ const hasIcon = icon !== void 0;
107
+ const hasChildren = children !== void 0;
108
+ return /* @__PURE__ */ React2.createElement("button", {
109
+ style: this.props.style,
110
+ ...htmlAttributes,
111
+ dir: this.props.dir,
112
+ className: classNames(className, "k-button", {
113
+ [`k-button-${kendoThemeMaps.sizeMap[size] || size}`]: size,
114
+ [`k-button-${fillMode}`]: fillMode,
115
+ [`k-button-${fillMode}-${themeColor}`]: Boolean(fillMode && themeColor),
116
+ [`k-rounded-${kendoThemeMaps.roundedMap[rounded] || rounded}`]: rounded,
117
+ "k-icon-button": !hasChildren && hasIcon,
118
+ "k-hover": hover,
119
+ "k-focus": focus,
120
+ "k-active": active,
121
+ "k-selected": selected,
122
+ "k-disabled": disabled
123
+ })
124
+ }, icon && /* @__PURE__ */ React2.createElement(Icon, {
125
+ className: classNames(iconClassName, "k-button-icon"),
126
+ name: icon
127
+ }), text || hasIcon ? /* @__PURE__ */ React2.createElement(React2.Fragment, null, text && /* @__PURE__ */ React2.createElement("span", {
128
+ className: "k-button-text"
129
+ }, text), children) : children && /* @__PURE__ */ React2.createElement("span", {
130
+ className: "k-button-text"
131
+ }, children));
132
+ }
133
+ };
134
+ Button.defaultProps = {
135
+ size: "medium",
136
+ rounded: "medium",
137
+ fillMode: "solid",
138
+ themeColor: "base"
139
+ };
140
+
141
+ // src/time-selector/time-selector.tsx
142
+ var TimeSelector = class extends React3.Component {
143
+ render() {
144
+ const {
145
+ className,
146
+ size
147
+ } = this.props;
148
+ return /* @__PURE__ */ React3.createElement("div", {
149
+ className: classNames(className, "k-timeselector", {
150
+ [`k-timeselector-${kendoThemeMaps.sizeMap[size] || size}`]: size
151
+ })
152
+ }, /* @__PURE__ */ React3.createElement("div", {
153
+ className: "k-time-part"
154
+ }, /* @__PURE__ */ React3.createElement("div", {
155
+ className: "k-time-header"
156
+ }, /* @__PURE__ */ React3.createElement("span", {
157
+ className: "k-title"
158
+ }, "10:00:00 AM"), /* @__PURE__ */ React3.createElement(Button, {
159
+ fillMode: "flat",
160
+ className: "k-time-now"
161
+ }, "Now")), /* @__PURE__ */ React3.createElement("div", {
162
+ className: "k-time-list-container"
163
+ }, /* @__PURE__ */ React3.createElement("span", {
164
+ className: "k-time-highlight"
165
+ }), /* @__PURE__ */ React3.createElement("div", {
166
+ className: "k-time-list-wrapper"
167
+ }, /* @__PURE__ */ React3.createElement("span", {
168
+ className: "k-title"
169
+ }, "Hour"), /* @__PURE__ */ React3.createElement("div", {
170
+ className: "k-time-list"
171
+ }, /* @__PURE__ */ React3.createElement("div", {
172
+ className: "k-content k-scrollable k-time-container"
173
+ }, /* @__PURE__ */ React3.createElement("ul", {
174
+ className: "k-reset",
175
+ style: { transform: "translateY(97px)" }
176
+ }, /* @__PURE__ */ React3.createElement("li", {
177
+ className: "k-item"
178
+ }, /* @__PURE__ */ React3.createElement("span", null, "0")), /* @__PURE__ */ React3.createElement("li", {
179
+ className: "k-item"
180
+ }, /* @__PURE__ */ React3.createElement("span", null, "1")), /* @__PURE__ */ React3.createElement("li", {
181
+ className: "k-item"
182
+ }, /* @__PURE__ */ React3.createElement("span", null, "2")), /* @__PURE__ */ React3.createElement("li", {
183
+ className: "k-item"
184
+ }, /* @__PURE__ */ React3.createElement("span", null, "3")), /* @__PURE__ */ React3.createElement("li", {
185
+ className: "k-item"
186
+ }, /* @__PURE__ */ React3.createElement("span", null, "4")), /* @__PURE__ */ React3.createElement("li", {
187
+ className: "k-item"
188
+ }, /* @__PURE__ */ React3.createElement("span", null, "5")), /* @__PURE__ */ React3.createElement("li", {
189
+ className: "k-item"
190
+ }, /* @__PURE__ */ React3.createElement("span", null, "6")), /* @__PURE__ */ React3.createElement("li", {
191
+ className: "k-item"
192
+ }, /* @__PURE__ */ React3.createElement("span", null, "7")), /* @__PURE__ */ React3.createElement("li", {
193
+ className: "k-item"
194
+ }, /* @__PURE__ */ React3.createElement("span", null, "8")), /* @__PURE__ */ React3.createElement("li", {
195
+ className: "k-item"
196
+ }, /* @__PURE__ */ React3.createElement("span", null, "9"))), /* @__PURE__ */ React3.createElement("div", {
197
+ className: "k-scrollable-placeholder"
198
+ })))), /* @__PURE__ */ React3.createElement("div", {
199
+ className: "k-time-separator"
200
+ }, ":"), /* @__PURE__ */ React3.createElement("div", {
201
+ className: "k-time-list-wrapper k-state-focused"
202
+ }, /* @__PURE__ */ React3.createElement("span", {
203
+ className: "k-title"
204
+ }, "Minute"), /* @__PURE__ */ React3.createElement("div", {
205
+ className: "k-time-list"
206
+ }, /* @__PURE__ */ React3.createElement("div", {
207
+ className: "k-content k-scrollable k-time-container"
208
+ }, /* @__PURE__ */ React3.createElement("ul", {
209
+ className: "k-reset",
210
+ style: { transform: "translateY(97px)" }
211
+ }, /* @__PURE__ */ React3.createElement("li", {
212
+ className: "k-item"
213
+ }, /* @__PURE__ */ React3.createElement("span", null, "0")), /* @__PURE__ */ React3.createElement("li", {
214
+ className: "k-item"
215
+ }, /* @__PURE__ */ React3.createElement("span", null, "1")), /* @__PURE__ */ React3.createElement("li", {
216
+ className: "k-item"
217
+ }, /* @__PURE__ */ React3.createElement("span", null, "2")), /* @__PURE__ */ React3.createElement("li", {
218
+ className: "k-item"
219
+ }, /* @__PURE__ */ React3.createElement("span", null, "3")), /* @__PURE__ */ React3.createElement("li", {
220
+ className: "k-item"
221
+ }, /* @__PURE__ */ React3.createElement("span", null, "4")), /* @__PURE__ */ React3.createElement("li", {
222
+ className: "k-item"
223
+ }, /* @__PURE__ */ React3.createElement("span", null, "5")), /* @__PURE__ */ React3.createElement("li", {
224
+ className: "k-item"
225
+ }, /* @__PURE__ */ React3.createElement("span", null, "6")), /* @__PURE__ */ React3.createElement("li", {
226
+ className: "k-item"
227
+ }, /* @__PURE__ */ React3.createElement("span", null, "7")), /* @__PURE__ */ React3.createElement("li", {
228
+ className: "k-item"
229
+ }, /* @__PURE__ */ React3.createElement("span", null, "8")), /* @__PURE__ */ React3.createElement("li", {
230
+ className: "k-item"
231
+ }, /* @__PURE__ */ React3.createElement("span", null, "9"))), /* @__PURE__ */ React3.createElement("div", {
232
+ className: "k-scrollable-placeholder"
233
+ })))), /* @__PURE__ */ React3.createElement("div", {
234
+ className: "k-time-separator"
235
+ }, ":"), /* @__PURE__ */ React3.createElement("div", {
236
+ className: "k-time-list-wrapper"
237
+ }, /* @__PURE__ */ React3.createElement("span", {
238
+ className: "k-title"
239
+ }, "Second"), /* @__PURE__ */ React3.createElement("div", {
240
+ className: "k-time-list"
241
+ }, /* @__PURE__ */ React3.createElement("div", {
242
+ className: "k-content k-scrollable k-time-container"
243
+ }, /* @__PURE__ */ React3.createElement("ul", {
244
+ className: "k-reset",
245
+ style: { transform: "translateY(97px)" }
246
+ }, /* @__PURE__ */ React3.createElement("li", {
247
+ className: "k-item"
248
+ }, /* @__PURE__ */ React3.createElement("span", null, "0")), /* @__PURE__ */ React3.createElement("li", {
249
+ className: "k-item"
250
+ }, /* @__PURE__ */ React3.createElement("span", null, "1")), /* @__PURE__ */ React3.createElement("li", {
251
+ className: "k-item"
252
+ }, /* @__PURE__ */ React3.createElement("span", null, "2")), /* @__PURE__ */ React3.createElement("li", {
253
+ className: "k-item"
254
+ }, /* @__PURE__ */ React3.createElement("span", null, "3")), /* @__PURE__ */ React3.createElement("li", {
255
+ className: "k-item"
256
+ }, /* @__PURE__ */ React3.createElement("span", null, "4")), /* @__PURE__ */ React3.createElement("li", {
257
+ className: "k-item"
258
+ }, /* @__PURE__ */ React3.createElement("span", null, "5")), /* @__PURE__ */ React3.createElement("li", {
259
+ className: "k-item"
260
+ }, /* @__PURE__ */ React3.createElement("span", null, "6")), /* @__PURE__ */ React3.createElement("li", {
261
+ className: "k-item"
262
+ }, /* @__PURE__ */ React3.createElement("span", null, "7")), /* @__PURE__ */ React3.createElement("li", {
263
+ className: "k-item"
264
+ }, /* @__PURE__ */ React3.createElement("span", null, "8")), /* @__PURE__ */ React3.createElement("li", {
265
+ className: "k-item"
266
+ }, /* @__PURE__ */ React3.createElement("span", null, "9"))), /* @__PURE__ */ React3.createElement("div", {
267
+ className: "k-scrollable-placeholder"
268
+ })))), /* @__PURE__ */ React3.createElement("div", {
269
+ className: "k-time-separator"
270
+ }, ":"), /* @__PURE__ */ React3.createElement("div", {
271
+ className: "k-time-list-wrapper"
272
+ }, /* @__PURE__ */ React3.createElement("span", {
273
+ className: "k-title"
274
+ }, "AM/PM"), /* @__PURE__ */ React3.createElement("div", {
275
+ className: "k-time-list"
276
+ }, /* @__PURE__ */ React3.createElement("div", {
277
+ className: "k-content k-scrollable k-time-container"
278
+ }, /* @__PURE__ */ React3.createElement("ul", {
279
+ className: "k-reset",
280
+ style: { transform: "translateY(97px)" }
281
+ }, /* @__PURE__ */ React3.createElement("li", {
282
+ className: "k-item"
283
+ }, /* @__PURE__ */ React3.createElement("span", null, "AM")), /* @__PURE__ */ React3.createElement("li", {
284
+ className: "k-item"
285
+ }, /* @__PURE__ */ React3.createElement("span", null, "PM"))), /* @__PURE__ */ React3.createElement("div", {
286
+ className: "k-scrollable-placeholder"
287
+ })))))));
288
+ }
289
+ };
290
+ TimeSelector.defaultProps = {
291
+ size: "medium"
292
+ };
293
+ })();
294
+ //# sourceMappingURL=time-selector.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/time-selector/time-selector.tsx", "../../src/utils/classNames.ts", "../../src/utils/theme.ts", "../../src/button/button.tsx", "../../src/icon/icon.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport { classNames, kendoThemeMaps } from '../utils';\nimport { Button } from '../button';\n\nexport interface TimeSelectorProps {\n className?: string;\n value?: string;\n size?: null | 'small' | 'medium' | 'large';\n disabled?: boolean;\n}\n\nexport class TimeSelector extends React.Component<TimeSelectorProps> {\n\n static defaultProps = {\n size: 'medium'\n };\n\n render() {\n\n const {\n className,\n size\n } = this.props;\n\n return (\n <div\n className={classNames(\n className,\n 'k-timeselector',\n {\n [`k-timeselector-${kendoThemeMaps.sizeMap[size!] || size}`]: size,\n }\n\n )}>\n <div className=\"k-time-part\">\n <div className=\"k-time-header\">\n <span className=\"k-title\">10:00:00 AM</span>\n <Button fillMode=\"flat\" className=\"k-time-now\">Now</Button>\n </div>\n <div className=\"k-time-list-container\">\n <span className=\"k-time-highlight\"></span>\n <div className=\"k-time-list-wrapper\">\n <span className=\"k-title\">Hour</span>\n <div className=\"k-time-list\">\n <div className=\"k-content k-scrollable k-time-container\">\n <ul className=\"k-reset\" style={{ transform: \"translateY(97px)\" }}>\n <li className=\"k-item\">\n <span>0</span>\n </li>\n <li className=\"k-item\">\n <span>1</span>\n </li>\n <li className=\"k-item\">\n <span>2</span>\n </li>\n <li className=\"k-item\">\n <span>3</span>\n </li>\n <li className=\"k-item\">\n <span>4</span>\n </li>\n <li className=\"k-item\">\n <span>5</span>\n </li>\n <li className=\"k-item\">\n <span>6</span>\n </li>\n <li className=\"k-item\">\n <span>7</span>\n </li>\n <li className=\"k-item\">\n <span>8</span>\n </li>\n <li className=\"k-item\">\n <span>9</span>\n </li>\n </ul>\n <div className=\"k-scrollable-placeholder\"></div>\n </div>\n </div>\n </div>\n <div className=\"k-time-separator\">:</div>\n <div className=\"k-time-list-wrapper k-state-focused\">\n <span className=\"k-title\">Minute</span>\n <div className=\"k-time-list\">\n <div className=\"k-content k-scrollable k-time-container\">\n <ul className=\"k-reset\" style={{ transform: \"translateY(97px)\" }}>\n <li className=\"k-item\">\n <span>0</span>\n </li>\n <li className=\"k-item\">\n <span>1</span>\n </li>\n <li className=\"k-item\">\n <span>2</span>\n </li>\n <li className=\"k-item\">\n <span>3</span>\n </li>\n <li className=\"k-item\">\n <span>4</span>\n </li>\n <li className=\"k-item\">\n <span>5</span>\n </li>\n <li className=\"k-item\">\n <span>6</span>\n </li>\n <li className=\"k-item\">\n <span>7</span>\n </li>\n <li className=\"k-item\">\n <span>8</span>\n </li>\n <li className=\"k-item\">\n <span>9</span>\n </li>\n </ul>\n <div className=\"k-scrollable-placeholder\"></div>\n </div>\n </div>\n </div>\n <div className=\"k-time-separator\">:</div>\n <div className=\"k-time-list-wrapper\">\n <span className=\"k-title\">Second</span>\n <div className=\"k-time-list\">\n <div className=\"k-content k-scrollable k-time-container\">\n <ul className=\"k-reset\" style={{ transform: \"translateY(97px)\" }}>\n <li className=\"k-item\">\n <span>0</span>\n </li>\n <li className=\"k-item\">\n <span>1</span>\n </li>\n <li className=\"k-item\">\n <span>2</span>\n </li>\n <li className=\"k-item\">\n <span>3</span>\n </li>\n <li className=\"k-item\">\n <span>4</span>\n </li>\n <li className=\"k-item\">\n <span>5</span>\n </li>\n <li className=\"k-item\">\n <span>6</span>\n </li>\n <li className=\"k-item\">\n <span>7</span>\n </li>\n <li className=\"k-item\">\n <span>8</span>\n </li>\n <li className=\"k-item\">\n <span>9</span>\n </li>\n </ul>\n <div className=\"k-scrollable-placeholder\"></div>\n </div>\n </div>\n </div>\n <div className=\"k-time-separator\">:</div>\n <div className=\"k-time-list-wrapper\">\n <span className=\"k-title\">AM/PM</span>\n <div className=\"k-time-list\">\n <div className=\"k-content k-scrollable k-time-container\">\n <ul className=\"k-reset\" style={{ transform: \"translateY(97px)\" }}>\n <li className=\"k-item\">\n <span>AM</span>\n </li>\n <li className=\"k-item\">\n <span>PM</span>\n </li>\n </ul>\n <div className=\"k-scrollable-placeholder\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n", "/* eslint-disable no-return-assign */\nexport const classNames = (...args): string => {\n const result = {};\n\n const addLeafKeys = (arg) => {\n (typeof arg === 'object'\n ? Object.keys(arg).forEach((key) => {\n result[key] = arg[key];\n })\n : (result[arg] = true)\n );\n };\n\n const addKeys = (list) =>\n list\n .filter((arg) => arg !== true && Boolean(arg))\n .map((arg: any) =>\n (Array.isArray(arg) ? addKeys(arg) : addLeafKeys(arg))\n );\n\n addKeys(args);\n\n return Object.keys(result)\n .map((key) => (result[key] && key) || null)\n .filter((el) => el !== null)\n .join(' ');\n};\n", "export interface KendoThemeMaps {\n sizeMap: Record<Exclude<any, null>, string>;\n roundedMap: Record<Exclude<any, null>, string>;\n calloutMap: Record<Exclude<any, null>, string>;\n orientationMap: Record<Exclude<any, null>, string>;\n}\n\nexport const kendoThemeMaps: KendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n calloutMap: {\n top: 'n',\n bottom: 's',\n left: 'w',\n right: 'e'\n },\n orientationMap: {\n vertical: 'vstack',\n horizontal: 'hstack',\n },\n};\n", "import * as React from 'react';\nimport { classNames, kendoThemeMaps } from '../utils';\nimport { Icon } from '../icon/';\n\nexport interface ButtonProps {\n children?: React.ReactNode;\n className?: string;\n dir?: string;\n style?: React.CSSProperties;\n iconClassName?: string;\n text?: string;\n icon?: string;\n size?: null | 'small' | 'medium' | 'large';\n rounded: null | 'small' | 'medium' | 'large' | 'full';\n fillMode?: null | 'solid' | 'outline' | 'flat' | 'link' | 'clear';\n themeColor?: null | 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';\n hover?: boolean;\n focus?: boolean;\n active?: boolean;\n selected?: boolean;\n disabled?: boolean;\n}\n\nexport class Button extends React.Component<ButtonProps> {\n\n static defaultProps = {\n size: 'medium',\n rounded: 'medium',\n fillMode: 'solid',\n themeColor: 'base'\n };\n\n render() {\n const {\n children,\n className,\n iconClassName,\n text,\n icon,\n size,\n rounded,\n fillMode,\n themeColor,\n hover,\n focus,\n active,\n selected,\n disabled,\n ...htmlAttributes\n } = this.props;\n\n const hasIcon = (icon !== undefined);\n const hasChildren = children !== undefined;\n\n return (\n <button\n style={this.props.style}\n {...htmlAttributes}\n dir={this.props.dir}\n className={classNames(\n className,\n 'k-button',\n {\n [`k-button-${kendoThemeMaps.sizeMap[size!] || size}`]: size,\n [`k-button-${fillMode}`]: fillMode,\n [`k-button-${fillMode}-${themeColor}`]: Boolean(fillMode && themeColor),\n [`k-rounded-${kendoThemeMaps.roundedMap[rounded!] || rounded}`]: rounded,\n 'k-icon-button': !hasChildren && hasIcon,\n 'k-hover': hover,\n 'k-focus': focus,\n 'k-active': active,\n 'k-selected': selected,\n 'k-disabled': disabled\n }\n )}>\n {icon && <Icon className={classNames(iconClassName, 'k-button-icon')} name={icon} />}\n\n {text || hasIcon\n ?\n <>\n {text && <span className=\"k-button-text\">{text}</span>}\n {children}\n </>\n : children && <span className=\"k-button-text\">{children}</span>\n }\n </button>\n );\n }\n}\n", "import * as React from 'react';\nimport { classNames } from '../utils';\n\nexport interface IconProps {\n className?: string;\n style?: React.CSSProperties;\n name?: string;\n}\n\nexport class Icon extends React.Component<IconProps> {\n\n render() {\n const {\n className,\n style,\n name\n } = this.props;\n\n return (\n <>\n { name &&\n <span\n className={classNames(\n className,\n 'k-icon',\n {\n [`k-i-${name}`]: name\n }\n )}\n style={style}>\n </span>\n }\n </>\n );\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }