@rc-component/picker 1.2.4 → 1.4.0
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.
- package/README.md +3 -1
- package/es/PickerInput/Popup/Footer.js +7 -4
- package/es/PickerInput/RangePicker.js +31 -12
- package/es/PickerInput/Selector/Icon.js +4 -4
- package/es/PickerInput/Selector/Input.js +6 -5
- package/es/PickerInput/Selector/RangeSelector.js +5 -5
- package/es/PickerInput/Selector/SingleSelector/index.js +5 -5
- package/es/PickerInput/SinglePicker.js +31 -12
- package/es/PickerInput/context.d.ts +4 -3
- package/es/PickerInput/hooks/useFilledProps.d.ts +1 -1
- package/es/PickerInput/hooks/useFilledProps.js +3 -0
- package/es/PickerPanel/PanelBody.js +10 -10
- package/es/PickerPanel/PanelHeader.js +9 -6
- package/es/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +7 -8
- package/es/PickerPanel/TimePanel/TimePanelBody/index.js +6 -6
- package/es/PickerPanel/context.d.ts +9 -3
- package/es/PickerPanel/context.js +10 -0
- package/es/PickerPanel/index.d.ts +2 -11
- package/es/PickerPanel/index.js +14 -9
- package/es/hooks/useSemantic.d.ts +13 -0
- package/es/hooks/useSemantic.js +21 -0
- package/es/interface.d.ts +16 -3
- package/es/locale/te_IN.d.ts +3 -0
- package/es/locale/te_IN.js +33 -0
- package/lib/PickerInput/Popup/Footer.js +5 -2
- package/lib/PickerInput/RangePicker.js +31 -12
- package/lib/PickerInput/Selector/Icon.js +3 -3
- package/lib/PickerInput/Selector/Input.js +5 -4
- package/lib/PickerInput/Selector/RangeSelector.js +3 -3
- package/lib/PickerInput/Selector/SingleSelector/index.js +3 -3
- package/lib/PickerInput/SinglePicker.js +31 -12
- package/lib/PickerInput/context.d.ts +4 -3
- package/lib/PickerInput/hooks/useFilledProps.d.ts +1 -1
- package/lib/PickerInput/hooks/useFilledProps.js +3 -0
- package/lib/PickerPanel/PanelBody.js +9 -9
- package/lib/PickerPanel/PanelHeader.js +4 -1
- package/lib/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +5 -6
- package/lib/PickerPanel/TimePanel/TimePanelBody/index.js +5 -5
- package/lib/PickerPanel/context.d.ts +9 -3
- package/lib/PickerPanel/context.js +11 -1
- package/lib/PickerPanel/index.d.ts +2 -11
- package/lib/PickerPanel/index.js +13 -8
- package/lib/hooks/useSemantic.d.ts +13 -0
- package/lib/hooks/useSemantic.js +27 -0
- package/lib/interface.d.ts +16 -3
- package/lib/locale/te_IN.d.ts +3 -0
- package/lib/locale/te_IN.js +39 -0
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _util = require("@rc-component/util");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
10
|
var _useLayoutEffect = _interopRequireDefault(require("@rc-component/util/lib/hooks/useLayoutEffect"));
|
|
10
11
|
var _omit = _interopRequireDefault(require("@rc-component/util/lib/omit"));
|
|
11
12
|
var _pickAttrs = _interopRequireDefault(require("@rc-component/util/lib/pickAttrs"));
|
|
@@ -27,6 +28,7 @@ var _useRangeValue3 = _interopRequireWildcard(require("./hooks/useRangeValue"));
|
|
|
27
28
|
var _useShowNow = _interopRequireDefault(require("./hooks/useShowNow"));
|
|
28
29
|
var _Popup = _interopRequireDefault(require("./Popup"));
|
|
29
30
|
var _SingleSelector = _interopRequireDefault(require("./Selector/SingleSelector"));
|
|
31
|
+
var _useSemantic3 = _interopRequireDefault(require("../hooks/useSemantic"));
|
|
30
32
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
31
33
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
32
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -62,8 +64,10 @@ function Picker(props, ref) {
|
|
|
62
64
|
isInvalidateDate = _useFilledProps2[5];
|
|
63
65
|
var _ref = filledProps,
|
|
64
66
|
prefixCls = _ref.prefixCls,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
rootClassName = _ref.rootClassName,
|
|
68
|
+
propStyles = _ref.styles,
|
|
69
|
+
propClassNames = _ref.classNames,
|
|
70
|
+
previewValue = _ref.previewValue,
|
|
67
71
|
order = _ref.order,
|
|
68
72
|
defaultValue = _ref.defaultValue,
|
|
69
73
|
value = _ref.value,
|
|
@@ -115,6 +119,12 @@ function Picker(props, ref) {
|
|
|
115
119
|
}
|
|
116
120
|
var toggleDates = (0, _useToggleDates.default)(generateConfig, locale, internalPicker);
|
|
117
121
|
|
|
122
|
+
// ======================= Semantic =======================
|
|
123
|
+
var _useSemantic = (0, _useSemantic3.default)(propClassNames, propStyles),
|
|
124
|
+
_useSemantic2 = _slicedToArray(_useSemantic, 2),
|
|
125
|
+
mergedClassNames = _useSemantic2[0],
|
|
126
|
+
mergedStyles = _useSemantic2[1];
|
|
127
|
+
|
|
118
128
|
// ========================= Open =========================
|
|
119
129
|
var _useOpen = (0, _useOpen3.default)(open, defaultOpen, [disabled], onOpenChange),
|
|
120
130
|
_useOpen2 = _slicedToArray(_useOpen, 2),
|
|
@@ -288,6 +298,13 @@ function Picker(props, ref) {
|
|
|
288
298
|
setInternalHoverValue(null);
|
|
289
299
|
}
|
|
290
300
|
}, [mergedOpen]);
|
|
301
|
+
var onSetHover = function onSetHover(date, source) {
|
|
302
|
+
if (previewValue !== 'hover') {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
setInternalHoverValue(date);
|
|
306
|
+
setHoverSource(source);
|
|
307
|
+
};
|
|
291
308
|
|
|
292
309
|
// ========================================================
|
|
293
310
|
// == Panels ==
|
|
@@ -295,8 +312,7 @@ function Picker(props, ref) {
|
|
|
295
312
|
// ======================= Presets ========================
|
|
296
313
|
var presetList = (0, _usePresets.default)(presets);
|
|
297
314
|
var onPresetHover = function onPresetHover(nextValue) {
|
|
298
|
-
|
|
299
|
-
setHoverSource('preset');
|
|
315
|
+
onSetHover(nextValue, 'preset');
|
|
300
316
|
};
|
|
301
317
|
|
|
302
318
|
// TODO: handle this
|
|
@@ -315,8 +331,7 @@ function Picker(props, ref) {
|
|
|
315
331
|
|
|
316
332
|
// ======================== Panel =========================
|
|
317
333
|
var onPanelHover = function onPanelHover(date) {
|
|
318
|
-
|
|
319
|
-
setHoverSource('cell');
|
|
334
|
+
onSetHover(date, 'cell');
|
|
320
335
|
};
|
|
321
336
|
|
|
322
337
|
// >>> Focus
|
|
@@ -358,7 +373,7 @@ function Picker(props, ref) {
|
|
|
358
373
|
|
|
359
374
|
var panelProps = React.useMemo(function () {
|
|
360
375
|
var domProps = (0, _pickAttrs.default)(filledProps, false);
|
|
361
|
-
var restProps = (0, _omit.default)(filledProps, [].concat(_toConsumableArray(Object.keys(domProps)), ['onChange', 'onCalendarChange', 'style', 'className', 'onPanelChange']));
|
|
376
|
+
var restProps = (0, _omit.default)(filledProps, [].concat(_toConsumableArray(Object.keys(domProps)), ['onChange', 'onCalendarChange', 'style', 'className', 'onPanelChange', 'classNames', 'styles']));
|
|
362
377
|
return _objectSpread(_objectSpread({}, restProps), {}, {
|
|
363
378
|
multiple: filledProps.multiple
|
|
364
379
|
});
|
|
@@ -455,10 +470,10 @@ function Picker(props, ref) {
|
|
|
455
470
|
generateConfig: generateConfig,
|
|
456
471
|
button: components.button,
|
|
457
472
|
input: components.input,
|
|
458
|
-
|
|
459
|
-
|
|
473
|
+
classNames: mergedClassNames,
|
|
474
|
+
styles: mergedStyles
|
|
460
475
|
};
|
|
461
|
-
}, [prefixCls, locale, generateConfig, components.button, components.input,
|
|
476
|
+
}, [prefixCls, locale, generateConfig, components.button, components.input, mergedClassNames, mergedStyles]);
|
|
462
477
|
|
|
463
478
|
// ======================== Effect ========================
|
|
464
479
|
// >>> Mode
|
|
@@ -491,8 +506,8 @@ function Picker(props, ref) {
|
|
|
491
506
|
value: context
|
|
492
507
|
}, /*#__PURE__*/React.createElement(_PickerTrigger.default, _extends({}, (0, _util2.pickTriggerProps)(filledProps), {
|
|
493
508
|
popupElement: panel,
|
|
494
|
-
popupStyle:
|
|
495
|
-
popupClassName:
|
|
509
|
+
popupStyle: mergedStyles.popup.root,
|
|
510
|
+
popupClassName: (0, _classnames.default)(rootClassName, mergedClassNames.popup.root)
|
|
496
511
|
// Visible
|
|
497
512
|
,
|
|
498
513
|
visible: mergedOpen,
|
|
@@ -502,6 +517,10 @@ function Picker(props, ref) {
|
|
|
502
517
|
, _extends({}, filledProps, {
|
|
503
518
|
// Ref
|
|
504
519
|
ref: selectorRef
|
|
520
|
+
// Style
|
|
521
|
+
,
|
|
522
|
+
className: (0, _classnames.default)(filledProps.className, rootClassName, mergedClassNames.root),
|
|
523
|
+
style: _objectSpread(_objectSpread({}, mergedStyles.root), filledProps.style)
|
|
505
524
|
// Icon
|
|
506
525
|
,
|
|
507
526
|
suffixIcon: suffixIcon,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { GenerateConfig } from '../generate';
|
|
3
|
-
import type { Components, Locale
|
|
3
|
+
import type { Components, Locale } from '../interface';
|
|
4
|
+
import type { FilledClassNames, FilledStyles } from '../hooks/useSemantic';
|
|
4
5
|
export interface PickerContextProps<DateType = any> {
|
|
5
6
|
prefixCls: string;
|
|
6
7
|
locale: Locale;
|
|
@@ -8,8 +9,8 @@ export interface PickerContextProps<DateType = any> {
|
|
|
8
9
|
/** Customize button component */
|
|
9
10
|
button?: Components['button'];
|
|
10
11
|
input?: Components['input'];
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
classNames: FilledClassNames;
|
|
13
|
+
styles: FilledStyles;
|
|
13
14
|
}
|
|
14
15
|
declare const PickerContext: React.Context<PickerContextProps<any>>;
|
|
15
16
|
export default PickerContext;
|
|
@@ -2,7 +2,7 @@ import type { FormatType, InternalMode, PickerMode } from '../../interface';
|
|
|
2
2
|
import type { RangePickerProps } from '../RangePicker';
|
|
3
3
|
import useInvalidate from './useInvalidate';
|
|
4
4
|
type UseInvalidate<DateType extends object = any> = typeof useInvalidate<DateType>;
|
|
5
|
-
type PickedProps<DateType extends object = any> = Pick<RangePickerProps<DateType>, 'generateConfig' | 'locale' | 'picker' | 'prefixCls' | 'styles' | 'classNames' | 'order' | 'components' | 'inputRender' | 'clearIcon' | 'allowClear' | 'needConfirm' | 'format' | 'inputReadOnly' | 'disabledDate' | 'minDate' | 'maxDate' | 'defaultOpenValue'> & {
|
|
5
|
+
type PickedProps<DateType extends object = any> = Pick<RangePickerProps<DateType>, 'generateConfig' | 'locale' | 'picker' | 'prefixCls' | 'styles' | 'classNames' | 'order' | 'components' | 'inputRender' | 'clearIcon' | 'allowClear' | 'needConfirm' | 'format' | 'inputReadOnly' | 'disabledDate' | 'minDate' | 'maxDate' | 'defaultOpenValue' | 'previewValue'> & {
|
|
6
6
|
multiple?: boolean;
|
|
7
7
|
showTime?: any;
|
|
8
8
|
value?: any;
|
|
@@ -54,6 +54,8 @@ function useFilledProps(props, updater) {
|
|
|
54
54
|
picker = _props$picker === void 0 ? 'date' : _props$picker,
|
|
55
55
|
_props$prefixCls = props.prefixCls,
|
|
56
56
|
prefixCls = _props$prefixCls === void 0 ? 'rc-picker' : _props$prefixCls,
|
|
57
|
+
_props$previewValue = props.previewValue,
|
|
58
|
+
previewValue = _props$previewValue === void 0 ? 'hover' : _props$previewValue,
|
|
57
59
|
_props$styles = props.styles,
|
|
58
60
|
styles = _props$styles === void 0 ? {} : _props$styles,
|
|
59
61
|
_props$classNames = props.classNames,
|
|
@@ -119,6 +121,7 @@ function useFilledProps(props, updater) {
|
|
|
119
121
|
// ======================== Props =========================
|
|
120
122
|
var filledProps = React.useMemo(function () {
|
|
121
123
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
124
|
+
previewValue: previewValue,
|
|
122
125
|
prefixCls: prefixCls,
|
|
123
126
|
locale: mergedLocale,
|
|
124
127
|
picker: picker,
|
|
@@ -39,6 +39,8 @@ function PanelBody(props) {
|
|
|
39
39
|
disabledDate = props.disabledDate;
|
|
40
40
|
var _usePanelContext = (0, _context.usePanelContext)(),
|
|
41
41
|
prefixCls = _usePanelContext.prefixCls,
|
|
42
|
+
classNames = _usePanelContext.classNames,
|
|
43
|
+
styles = _usePanelContext.styles,
|
|
42
44
|
type = _usePanelContext.panelType,
|
|
43
45
|
now = _usePanelContext.now,
|
|
44
46
|
contextDisabledDate = _usePanelContext.disabledDate,
|
|
@@ -55,9 +57,7 @@ function PanelBody(props) {
|
|
|
55
57
|
|
|
56
58
|
// ============================= Context ==============================
|
|
57
59
|
var _React$useContext = React.useContext(_context.PickerHackContext),
|
|
58
|
-
onCellDblClick = _React$useContext.onCellDblClick
|
|
59
|
-
pickerClassNames = _React$useContext.classNames,
|
|
60
|
-
styles = _React$useContext.styles;
|
|
60
|
+
onCellDblClick = _React$useContext.onCellDblClick;
|
|
61
61
|
|
|
62
62
|
// ============================== Value ===============================
|
|
63
63
|
var matchValues = function matchValues(date) {
|
|
@@ -113,12 +113,12 @@ function PanelBody(props) {
|
|
|
113
113
|
rowNode.push( /*#__PURE__*/React.createElement("td", {
|
|
114
114
|
key: col,
|
|
115
115
|
title: title,
|
|
116
|
-
className: (0, _classnames.default)(cellPrefixCls,
|
|
116
|
+
className: (0, _classnames.default)(cellPrefixCls, classNames.item, _objectSpread(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(cellPrefixCls, "-disabled"), disabled), "".concat(cellPrefixCls, "-hover"), (hoverValue || []).some(function (date) {
|
|
117
117
|
return (0, _dateUtil.isSame)(generateConfig, locale, currentDate, date, type);
|
|
118
118
|
})), "".concat(cellPrefixCls, "-in-range"), inRange && !rangeStart && !rangeEnd), "".concat(cellPrefixCls, "-range-start"), rangeStart), "".concat(cellPrefixCls, "-range-end"), rangeEnd), "".concat(prefixCls, "-cell-selected"), !hoverRangeValue &&
|
|
119
119
|
// WeekPicker use row instead
|
|
120
120
|
type !== 'week' && matchValues(currentDate)), getCellClassName(currentDate))),
|
|
121
|
-
style: styles
|
|
121
|
+
style: styles.item,
|
|
122
122
|
onClick: function onClick() {
|
|
123
123
|
if (!disabled) {
|
|
124
124
|
onSelect(currentDate);
|
|
@@ -158,10 +158,10 @@ function PanelBody(props) {
|
|
|
158
158
|
|
|
159
159
|
// ============================== Render ==============================
|
|
160
160
|
return /*#__PURE__*/React.createElement("div", {
|
|
161
|
-
className: (0, _classnames.default)("".concat(prefixCls, "-body"),
|
|
162
|
-
style: styles
|
|
161
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-body"), classNames.body),
|
|
162
|
+
style: styles.body
|
|
163
163
|
}, /*#__PURE__*/React.createElement("table", {
|
|
164
|
-
className: (0, _classnames.default)("".concat(prefixCls, "-content"),
|
|
165
|
-
style: styles
|
|
164
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-content"), classNames.content),
|
|
165
|
+
style: styles.content
|
|
166
166
|
}, headerCells && /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, headerCells)), /*#__PURE__*/React.createElement("tbody", null, rows)));
|
|
167
167
|
}
|
|
@@ -24,6 +24,8 @@ function PanelHeader(props) {
|
|
|
24
24
|
children = props.children;
|
|
25
25
|
var _usePanelContext = (0, _context.usePanelContext)(),
|
|
26
26
|
prefixCls = _usePanelContext.prefixCls,
|
|
27
|
+
classNames = _usePanelContext.classNames,
|
|
28
|
+
styles = _usePanelContext.styles,
|
|
27
29
|
_usePanelContext$prev = _usePanelContext.prevIcon,
|
|
28
30
|
prevIcon = _usePanelContext$prev === void 0 ? "\u2039" : _usePanelContext$prev,
|
|
29
31
|
_usePanelContext$next = _usePanelContext.nextIcon,
|
|
@@ -95,7 +97,8 @@ function PanelHeader(props) {
|
|
|
95
97
|
var superPrevBtnCls = "".concat(headerPrefixCls, "-super-prev-btn");
|
|
96
98
|
var superNextBtnCls = "".concat(headerPrefixCls, "-super-next-btn");
|
|
97
99
|
return /*#__PURE__*/React.createElement("div", {
|
|
98
|
-
className: headerPrefixCls
|
|
100
|
+
className: (0, _classnames.default)(headerPrefixCls, classNames.header),
|
|
101
|
+
style: styles.header
|
|
99
102
|
}, superOffset && /*#__PURE__*/React.createElement("button", {
|
|
100
103
|
type: "button",
|
|
101
104
|
"aria-label": locale.previousYear,
|
|
@@ -49,10 +49,9 @@ function TimeColumn(props) {
|
|
|
49
49
|
prefixCls = _usePanelContext.prefixCls,
|
|
50
50
|
cellRender = _usePanelContext.cellRender,
|
|
51
51
|
now = _usePanelContext.now,
|
|
52
|
-
locale = _usePanelContext.locale
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
styles = _React$useContext.styles;
|
|
52
|
+
locale = _usePanelContext.locale,
|
|
53
|
+
classNames = _usePanelContext.classNames,
|
|
54
|
+
styles = _usePanelContext.styles;
|
|
56
55
|
var panelPrefixCls = "".concat(prefixCls, "-time-panel");
|
|
57
56
|
var cellPrefixCls = "".concat(prefixCls, "-time-panel-cell");
|
|
58
57
|
|
|
@@ -131,8 +130,8 @@ function TimeColumn(props) {
|
|
|
131
130
|
}, label);
|
|
132
131
|
return /*#__PURE__*/React.createElement("li", {
|
|
133
132
|
key: unitValue,
|
|
134
|
-
style: styles
|
|
135
|
-
className: (0, _classnames.default)(cellPrefixCls,
|
|
133
|
+
style: styles.item,
|
|
134
|
+
className: (0, _classnames.default)(cellPrefixCls, classNames.item, _defineProperty(_defineProperty({}, "".concat(cellPrefixCls, "-selected"), value === unitValue), "".concat(cellPrefixCls, "-disabled"), disabled)),
|
|
136
135
|
onClick: function onClick() {
|
|
137
136
|
if (!disabled) {
|
|
138
137
|
onChange(unitValue);
|
|
@@ -33,6 +33,8 @@ function TimePanelBody(props) {
|
|
|
33
33
|
changeOnScroll = props.changeOnScroll;
|
|
34
34
|
var _usePanelContext = (0, _context.usePanelContext)(),
|
|
35
35
|
prefixCls = _usePanelContext.prefixCls,
|
|
36
|
+
classNames = _usePanelContext.classNames,
|
|
37
|
+
styles = _usePanelContext.styles,
|
|
36
38
|
values = _usePanelContext.values,
|
|
37
39
|
generateConfig = _usePanelContext.generateConfig,
|
|
38
40
|
locale = _usePanelContext.locale,
|
|
@@ -42,9 +44,7 @@ function TimePanelBody(props) {
|
|
|
42
44
|
pickerValue = _usePanelContext.pickerValue;
|
|
43
45
|
var value = (values === null || values === void 0 ? void 0 : values[0]) || null;
|
|
44
46
|
var _React$useContext = React.useContext(_context.PickerHackContext),
|
|
45
|
-
onCellDblClick = _React$useContext.onCellDblClick
|
|
46
|
-
pickerClassNames = _React$useContext.classNames,
|
|
47
|
-
styles = _React$useContext.styles;
|
|
47
|
+
onCellDblClick = _React$useContext.onCellDblClick;
|
|
48
48
|
|
|
49
49
|
// ========================== Info ==========================
|
|
50
50
|
var _useTimeInfo = (0, _useTimeInfo3.default)(generateConfig, props, value),
|
|
@@ -257,8 +257,8 @@ function TimePanelBody(props) {
|
|
|
257
257
|
changeOnScroll: changeOnScroll
|
|
258
258
|
};
|
|
259
259
|
return /*#__PURE__*/React.createElement("div", {
|
|
260
|
-
className: (0, _classnames.default)("".concat(prefixCls, "-content"),
|
|
261
|
-
style: styles
|
|
260
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-content"), classNames.content),
|
|
261
|
+
style: styles.content
|
|
262
262
|
}, showHour && /*#__PURE__*/React.createElement(_TimeColumn.default, _extends({
|
|
263
263
|
units: hourUnits,
|
|
264
264
|
value: hour,
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { PanelMode,
|
|
2
|
+
import type { PanelMode, SharedPanelProps } from '../interface';
|
|
3
|
+
import type { FilledPanelClassNames, FilledPanelStyles } from '../hooks/useSemantic';
|
|
4
|
+
export interface SharedPanelContextProps {
|
|
5
|
+
classNames: FilledPanelClassNames;
|
|
6
|
+
styles: FilledPanelStyles;
|
|
7
|
+
}
|
|
8
|
+
export declare const SharedPanelContext: React.Context<SharedPanelContextProps>;
|
|
3
9
|
export interface PanelContextProps<DateType extends object = any> extends Pick<SharedPanelProps<DateType>, 'prefixCls' | 'cellRender' | 'generateConfig' | 'locale' | 'onSelect' | 'hoverValue' | 'hoverRangeValue' | 'onHover' | 'values' | 'pickerValue' | 'disabledDate' | 'minDate' | 'maxDate' | 'prevIcon' | 'nextIcon' | 'superPrevIcon' | 'superNextIcon'> {
|
|
4
10
|
/** Tell current panel type */
|
|
5
11
|
panelType: PanelMode;
|
|
6
12
|
now: DateType;
|
|
13
|
+
classNames: FilledPanelClassNames;
|
|
14
|
+
styles: FilledPanelStyles;
|
|
7
15
|
}
|
|
8
16
|
/** Used for each single Panel. e.g. DatePanel */
|
|
9
17
|
export declare const PanelContext: React.Context<PanelContextProps<any>>;
|
|
@@ -17,8 +25,6 @@ export interface PickerHackContextProps {
|
|
|
17
25
|
hideNext?: boolean;
|
|
18
26
|
hideHeader?: boolean;
|
|
19
27
|
onCellDblClick?: () => void;
|
|
20
|
-
styles?: Partial<Record<SemanticStructure, React.CSSProperties>>;
|
|
21
|
-
classNames?: Partial<Record<SemanticStructure, string>>;
|
|
22
28
|
}
|
|
23
29
|
/**
|
|
24
30
|
* Internal usage for RangePicker to not to show the operation arrow
|
|
@@ -4,12 +4,13 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.PickerHackContext = exports.PanelContext = void 0;
|
|
7
|
+
exports.SharedPanelContext = exports.PickerHackContext = exports.PanelContext = void 0;
|
|
8
8
|
exports.useInfo = useInfo;
|
|
9
9
|
exports.usePanelContext = usePanelContext;
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
12
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
var SharedPanelContext = exports.SharedPanelContext = /*#__PURE__*/React.createContext(null);
|
|
13
14
|
/** Used for each single Panel. e.g. DatePanel */
|
|
14
15
|
var PanelContext = exports.PanelContext = /*#__PURE__*/React.createContext(null);
|
|
15
16
|
function usePanelContext() {
|
|
@@ -20,6 +21,8 @@ function usePanelContext() {
|
|
|
20
21
|
* Get shared props for the SharedPanelProps interface.
|
|
21
22
|
*/
|
|
22
23
|
function useInfo(props, panelType) {
|
|
24
|
+
// TODO: this is not good to get from each props.
|
|
25
|
+
// Should move to `SharedPanelContext` instead.
|
|
23
26
|
var prefixCls = props.prefixCls,
|
|
24
27
|
generateConfig = props.generateConfig,
|
|
25
28
|
locale = props.locale,
|
|
@@ -38,6 +41,11 @@ function useInfo(props, panelType) {
|
|
|
38
41
|
superPrevIcon = props.superPrevIcon,
|
|
39
42
|
superNextIcon = props.superNextIcon;
|
|
40
43
|
|
|
44
|
+
// ======================= Context ========================
|
|
45
|
+
var _React$useContext = React.useContext(SharedPanelContext),
|
|
46
|
+
classNames = _React$useContext.classNames,
|
|
47
|
+
styles = _React$useContext.styles;
|
|
48
|
+
|
|
41
49
|
// ========================= MISC =========================
|
|
42
50
|
var now = generateConfig.getNow();
|
|
43
51
|
|
|
@@ -47,6 +55,8 @@ function useInfo(props, panelType) {
|
|
|
47
55
|
values: values,
|
|
48
56
|
pickerValue: pickerValue,
|
|
49
57
|
prefixCls: prefixCls,
|
|
58
|
+
classNames: classNames,
|
|
59
|
+
styles: styles,
|
|
50
60
|
disabledDate: disabledDate,
|
|
51
61
|
minDate: minDate,
|
|
52
62
|
maxDate: maxDate,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { CellRender, Components, Locale, OnPanelChange, PanelMode, PickerMode, SharedPanelProps, SharedTimeProps } from '../interface';
|
|
2
|
+
import type { CellRender, Components, Locale, OnPanelChange, PanelMode, PanelSemanticName, PickerMode, SharedPanelProps, SharedTimeProps } from '../interface';
|
|
3
3
|
export interface PickerPanelRef {
|
|
4
4
|
nativeElement: HTMLDivElement;
|
|
5
5
|
}
|
|
@@ -43,7 +43,6 @@ export interface SinglePickerPanelProps<DateType extends object = any> extends B
|
|
|
43
43
|
value?: DateType | null;
|
|
44
44
|
onChange?: (date: DateType) => void;
|
|
45
45
|
}
|
|
46
|
-
type PanelSemanticName = 'popupBody' | 'popupContent' | 'popupItem';
|
|
47
46
|
export type PickerPanelProps<DateType extends object = any> = BasePickerPanelProps<DateType> & {
|
|
48
47
|
/** multiple selection. Not support time or datetime picker */
|
|
49
48
|
multiple?: boolean;
|
|
@@ -53,13 +52,5 @@ export type PickerPanelProps<DateType extends object = any> = BasePickerPanelPro
|
|
|
53
52
|
styles?: Partial<Record<PanelSemanticName, React.CSSProperties>>;
|
|
54
53
|
classNames?: Partial<Record<PanelSemanticName, string>>;
|
|
55
54
|
};
|
|
56
|
-
declare const _default: <DateType extends object = any>(props:
|
|
57
|
-
/** multiple selection. Not support time or datetime picker */
|
|
58
|
-
multiple?: boolean;
|
|
59
|
-
defaultValue?: DateType | DateType[];
|
|
60
|
-
value?: DateType | DateType[];
|
|
61
|
-
onChange?: (date: DateType | DateType[]) => void;
|
|
62
|
-
styles?: Partial<Record<PanelSemanticName, React.CSSProperties>>;
|
|
63
|
-
classNames?: Partial<Record<PanelSemanticName, string>>;
|
|
64
|
-
} & React.RefAttributes<PickerPanelRef>) => React.ReactElement;
|
|
55
|
+
declare const _default: <DateType extends object = any>(props: PickerPanelProps<DateType> & React.RefAttributes<PickerPanelRef>) => React.ReactElement;
|
|
65
56
|
export default _default;
|
package/lib/PickerPanel/index.js
CHANGED
|
@@ -264,16 +264,19 @@ function PickerPanel(props, ref) {
|
|
|
264
264
|
var PanelComponent = components[internalMode] || DefaultComponents[internalMode] || _DatePanel.default;
|
|
265
265
|
|
|
266
266
|
// ======================== Context =========================
|
|
267
|
-
var
|
|
268
|
-
|
|
267
|
+
var sharedPanelContext = React.useMemo(function () {
|
|
268
|
+
var _ref2, _pickerClassNames$pop, _ref3, _pickerStyles$popup;
|
|
269
|
+
return {
|
|
270
|
+
classNames: (_ref2 = (_pickerClassNames$pop = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.popup) !== null && _pickerClassNames$pop !== void 0 ? _pickerClassNames$pop : panelClassNames) !== null && _ref2 !== void 0 ? _ref2 : {},
|
|
271
|
+
styles: (_ref3 = (_pickerStyles$popup = pickerStyles === null || pickerStyles === void 0 ? void 0 : pickerStyles.popup) !== null && _pickerStyles$popup !== void 0 ? _pickerStyles$popup : panelStyles) !== null && _ref3 !== void 0 ? _ref3 : {}
|
|
272
|
+
};
|
|
273
|
+
}, [pickerClassNames, panelClassNames, pickerStyles, panelStyles]);
|
|
269
274
|
var parentHackContext = React.useContext(_context2.PickerHackContext);
|
|
270
275
|
var pickerPanelContext = React.useMemo(function () {
|
|
271
276
|
return _objectSpread(_objectSpread({}, parentHackContext), {}, {
|
|
272
|
-
hideHeader: hideHeader
|
|
273
|
-
classNames: mergedClassNames,
|
|
274
|
-
styles: mergedStyles
|
|
277
|
+
hideHeader: hideHeader
|
|
275
278
|
});
|
|
276
|
-
}, [parentHackContext, hideHeader
|
|
279
|
+
}, [parentHackContext, hideHeader]);
|
|
277
280
|
|
|
278
281
|
// ======================== Warnings ========================
|
|
279
282
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -293,7 +296,9 @@ function PickerPanel(props, ref) {
|
|
|
293
296
|
'disabledDate', 'minDate', 'maxDate',
|
|
294
297
|
// Hover
|
|
295
298
|
'onHover']);
|
|
296
|
-
return /*#__PURE__*/React.createElement(_context2.
|
|
299
|
+
return /*#__PURE__*/React.createElement(_context2.SharedPanelContext.Provider, {
|
|
300
|
+
value: sharedPanelContext
|
|
301
|
+
}, /*#__PURE__*/React.createElement(_context2.PickerHackContext.Provider, {
|
|
297
302
|
value: pickerPanelContext
|
|
298
303
|
}, /*#__PURE__*/React.createElement("div", {
|
|
299
304
|
ref: rootRef,
|
|
@@ -326,7 +331,7 @@ function PickerPanel(props, ref) {
|
|
|
326
331
|
,
|
|
327
332
|
hoverRangeValue: hoverRangeDate,
|
|
328
333
|
hoverValue: hoverValue
|
|
329
|
-
}))));
|
|
334
|
+
})))));
|
|
330
335
|
}
|
|
331
336
|
var RefPanelPicker = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(PickerPanel));
|
|
332
337
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SharedPickerProps } from '../interface';
|
|
2
|
+
export type FilledPanelClassNames = NonNullable<SharedPickerProps['classNames']>['popup'];
|
|
3
|
+
export type FilledPanelStyles = NonNullable<SharedPickerProps['styles']>['popup'];
|
|
4
|
+
export type FilledClassNames = NonNullable<SharedPickerProps['classNames']> & {
|
|
5
|
+
popup: FilledPanelClassNames;
|
|
6
|
+
};
|
|
7
|
+
export type FilledStyles = NonNullable<SharedPickerProps['styles']> & {
|
|
8
|
+
popup: FilledPanelStyles;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Convert `classNames` & `styles` to a fully filled object
|
|
12
|
+
*/
|
|
13
|
+
export default function useSemantic(classNames?: SharedPickerProps['classNames'], styles?: SharedPickerProps['styles']): readonly [FilledClassNames, FilledStyles];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useSemantic;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
/**
|
|
15
|
+
* Convert `classNames` & `styles` to a fully filled object
|
|
16
|
+
*/
|
|
17
|
+
function useSemantic(classNames, styles) {
|
|
18
|
+
return (0, _react.useMemo)(function () {
|
|
19
|
+
var mergedClassNames = _objectSpread(_objectSpread({}, classNames), {}, {
|
|
20
|
+
popup: (classNames === null || classNames === void 0 ? void 0 : classNames.popup) || {}
|
|
21
|
+
});
|
|
22
|
+
var mergedStyles = _objectSpread(_objectSpread({}, styles), {}, {
|
|
23
|
+
popup: (styles === null || styles === void 0 ? void 0 : styles.popup) || {}
|
|
24
|
+
});
|
|
25
|
+
return [mergedClassNames, mergedStyles];
|
|
26
|
+
}, [classNames, styles]);
|
|
27
|
+
}
|
package/lib/interface.d.ts
CHANGED
|
@@ -201,19 +201,26 @@ export type Components<DateType extends object = any> = Partial<Record<InternalM
|
|
|
201
201
|
button?: React.ComponentType<any> | string;
|
|
202
202
|
input?: React.ComponentType<any> | string;
|
|
203
203
|
}>;
|
|
204
|
-
export type SemanticStructure = 'popup' | 'popupBody' | 'popupContent' | 'popupItem' | 'suffix' | 'prefix' | 'input';
|
|
205
204
|
export type CustomFormat<DateType> = (value: DateType) => string;
|
|
206
205
|
export type FormatType<DateType = any> = string | CustomFormat<DateType>;
|
|
207
206
|
export type SharedHTMLAttrs = Omit<React.InputHTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange' | 'placeholder' | 'id' | 'onInvalid' | 'disabled' | 'onFocus' | 'onBlur' | 'onSelect' | 'min' | 'max' | 'onKeyDown' | 'size' | 'prefix'>;
|
|
208
207
|
export type PickerFocusEventHandler = (e: React.FocusEvent<HTMLElement>, info: BaseInfo) => void;
|
|
209
208
|
export type LegacyOnKeyDown = (event: React.KeyboardEvent<HTMLElement>, preventDefault: VoidFunction) => void;
|
|
209
|
+
export type SemanticName = 'root' | 'prefix' | 'input' | 'suffix';
|
|
210
|
+
export type PreviewValueType = 'hover';
|
|
211
|
+
export type PanelSemanticName = 'root' | 'header' | 'body' | 'content' | 'item' | 'footer';
|
|
210
212
|
export interface SharedPickerProps<DateType extends object = any> extends SharedHTMLAttrs, Pick<SharedPanelProps<DateType>, 'prevIcon' | 'nextIcon' | 'superPrevIcon' | 'superNextIcon'> {
|
|
211
213
|
direction?: 'ltr' | 'rtl';
|
|
212
214
|
prefixCls?: string;
|
|
213
215
|
className?: string;
|
|
214
216
|
style?: React.CSSProperties;
|
|
215
|
-
|
|
216
|
-
|
|
217
|
+
rootClassName?: string;
|
|
218
|
+
styles?: Partial<Record<SemanticName, React.CSSProperties>> & {
|
|
219
|
+
popup?: Partial<Record<PanelSemanticName, React.CSSProperties>>;
|
|
220
|
+
};
|
|
221
|
+
classNames?: Partial<Record<SemanticName, string>> & {
|
|
222
|
+
popup?: Partial<Record<PanelSemanticName, string>>;
|
|
223
|
+
};
|
|
217
224
|
locale: Locale;
|
|
218
225
|
generateConfig: GenerateConfig<DateType>;
|
|
219
226
|
picker?: PickerMode;
|
|
@@ -275,6 +282,12 @@ export interface SharedPickerProps<DateType extends object = any> extends Shared
|
|
|
275
282
|
* This is only used for strong a11y requirement which do not want modify after blur.
|
|
276
283
|
*/
|
|
277
284
|
preserveInvalidOnBlur?: boolean;
|
|
285
|
+
/**
|
|
286
|
+
* When the user selects the date hover option, the value of the input field undergoes a temporary change.
|
|
287
|
+
* `false` will not preview value.
|
|
288
|
+
* `hover` will preview value when hover.
|
|
289
|
+
*/
|
|
290
|
+
previewValue?: false | PreviewValueType;
|
|
278
291
|
transitionName?: string;
|
|
279
292
|
components?: Components<DateType>;
|
|
280
293
|
/** @deprecated Please use `components.input` instead. */
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _common = require("./common");
|
|
8
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
var locale = _objectSpread(_objectSpread({}, _common.commonLocale), {}, {
|
|
15
|
+
locale: 'te_IN',
|
|
16
|
+
today: 'నేడు',
|
|
17
|
+
now: 'ఇప్పుడు',
|
|
18
|
+
backToToday: 'తిరిగి నేటికి',
|
|
19
|
+
ok: 'సరే',
|
|
20
|
+
clear: 'స్పష్టమైన',
|
|
21
|
+
week: 'వారం',
|
|
22
|
+
month: 'నెల',
|
|
23
|
+
year: 'సంవత్సరం',
|
|
24
|
+
timeSelect: 'సమయం ఎంపిక',
|
|
25
|
+
dateSelect: 'తేదీ ఎంపిక',
|
|
26
|
+
weekSelect: 'వారం ఎంపిక',
|
|
27
|
+
monthSelect: 'నెల ఎంపిక',
|
|
28
|
+
yearSelect: 'సంవత్సరం ఎంపిక',
|
|
29
|
+
decadeSelect: 'దశాబ్దం ఎంపిక',
|
|
30
|
+
previousMonth: 'మునుపటి నెల',
|
|
31
|
+
nextMonth: 'వచ్చే నెల',
|
|
32
|
+
previousYear: 'మునుపటి సంవత్సరం',
|
|
33
|
+
nextYear: 'తదుపరి సంవత్సరం',
|
|
34
|
+
previousDecade: 'మునుపటి దశాబ్దం',
|
|
35
|
+
nextDecade: 'తదుపరి దశాబ్దం',
|
|
36
|
+
previousCentury: 'మునుపటి శతాబ్దం',
|
|
37
|
+
nextCentury: 'తదుపరి శతాబ్దం'
|
|
38
|
+
});
|
|
39
|
+
var _default = exports.default = locale;
|