guestbell-forms 2.0.298 → 2.0.300
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/build/components/InputHeader/InputHeader.js +258 -323
- package/build/components/InputHeader/InputHeader.js.map +1 -1
- package/build/components/InputHeader/InputHeaderContext.js +6 -8
- package/build/components/InputHeader/InputHeaderContext.js.map +1 -1
- package/build/components/InputHeader/index.js +4 -6
- package/build/components/InputHeader/index.js.map +1 -1
- package/build/components/InputHeader/withInputHeaderContext.js +9 -13
- package/build/components/InputHeader/withInputHeaderContext.js.map +1 -1
- package/build/components/base/input/BaseInput.js +334 -418
- package/build/components/base/input/BaseInput.js.map +1 -1
- package/build/components/base/input/index.js +1 -1
- package/build/components/base/input/index.js.map +1 -1
- package/build/components/bookingCalendar/BookingCalendar.js +68 -85
- package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +40 -71
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/index.js +2 -2
- package/build/components/bookingCalendar/bookingCalendarControls/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js +22 -41
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js +2 -2
- package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js +20 -24
- package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarGrid/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarGrid/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js +9 -12
- package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/index.js +2 -2
- package/build/components/bookingCalendar/bookingCalendarItem/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js +23 -28
- package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/index.js +2 -2
- package/build/components/bookingCalendar/bookingCalendarLane/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js +6 -6
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js +12 -16
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js +27 -31
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js +2 -2
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js +19 -19
- package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +133 -175
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js +17 -19
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.js +1 -1
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.js.map +1 -1
- package/build/components/bookingCalendar/classes.js +1 -1
- package/build/components/bookingCalendar/classes.js.map +1 -1
- package/build/components/bookingCalendar/common.js +5 -7
- package/build/components/bookingCalendar/common.js.map +1 -1
- package/build/components/bookingCalendar/index.js +3 -3
- package/build/components/bookingCalendar/index.js.map +1 -1
- package/build/components/bookingCalendar/utils.js +143 -205
- package/build/components/bookingCalendar/utils.js.map +1 -1
- package/build/components/button/Button.js +101 -123
- package/build/components/button/Button.js.map +1 -1
- package/build/components/button/index.js +4 -6
- package/build/components/button/index.js.map +1 -1
- package/build/components/checkbox/Checkbox.js +102 -145
- package/build/components/checkbox/Checkbox.js.map +1 -1
- package/build/components/checkbox/index.js +4 -6
- package/build/components/checkbox/index.js.map +1 -1
- package/build/components/dropdown/Dropdown.js +41 -57
- package/build/components/dropdown/Dropdown.js.map +1 -1
- package/build/components/dropdown/index.js +4 -6
- package/build/components/dropdown/index.js.map +1 -1
- package/build/components/dynamicSubmit/DynamicSubmit.js +81 -123
- package/build/components/dynamicSubmit/DynamicSubmit.js.map +1 -1
- package/build/components/dynamicSubmit/index.js +4 -6
- package/build/components/dynamicSubmit/index.js.map +1 -1
- package/build/components/form/Form.js +139 -193
- package/build/components/form/Form.js.map +1 -1
- package/build/components/form/FormContext.js +6 -8
- package/build/components/form/FormContext.js.map +1 -1
- package/build/components/form/FormValidationSummary.js +57 -105
- package/build/components/form/FormValidationSummary.js.map +1 -1
- package/build/components/form/index.js +5 -7
- package/build/components/form/index.js.map +1 -1
- package/build/components/form/withFormContext.js +9 -13
- package/build/components/form/withFormContext.js.map +1 -1
- package/build/components/inputGroup/InputGroup.js +16 -48
- package/build/components/inputGroup/InputGroup.js.map +1 -1
- package/build/components/inputGroup/index.js +4 -6
- package/build/components/inputGroup/index.js.map +1 -1
- package/build/components/money/Money.js +137 -211
- package/build/components/money/Money.js.map +1 -1
- package/build/components/money/index.js +4 -6
- package/build/components/money/index.js.map +1 -1
- package/build/components/numberInput/NumberInput.js +106 -144
- package/build/components/numberInput/NumberInput.js.map +1 -1
- package/build/components/numberInput/index.js +4 -6
- package/build/components/numberInput/index.js.map +1 -1
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js +162 -220
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js.map +1 -1
- package/build/components/openingHours/openingHoursDay/index.js +4 -6
- package/build/components/openingHours/openingHoursDay/index.js.map +1 -1
- package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js +114 -191
- package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js.map +1 -1
- package/build/components/openingHours/openingHoursSpecial/index.js +4 -6
- package/build/components/openingHours/openingHoursSpecial/index.js.map +1 -1
- package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js +150 -209
- package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js.map +1 -1
- package/build/components/openingHours/openingHoursWeek/index.js +4 -6
- package/build/components/openingHours/openingHoursWeek/index.js.map +1 -1
- package/build/components/openingHours/utils/OpeningHoursUtil.js +51 -76
- package/build/components/openingHours/utils/OpeningHoursUtil.js.map +1 -1
- package/build/components/radio/Radio.js +38 -75
- package/build/components/radio/Radio.js.map +1 -1
- package/build/components/radio/index.js +4 -6
- package/build/components/radio/index.js.map +1 -1
- package/build/components/radioContainer/RadioContainer.js +19 -49
- package/build/components/radioContainer/RadioContainer.js.map +1 -1
- package/build/components/radioContainer/index.js +4 -6
- package/build/components/radioContainer/index.js.map +1 -1
- package/build/components/select/Select.js +186 -264
- package/build/components/select/Select.js.map +1 -1
- package/build/components/select/index.js +4 -6
- package/build/components/select/index.js.map +1 -1
- package/build/components/submit/Submit.js +50 -87
- package/build/components/submit/Submit.js.map +1 -1
- package/build/components/submit/index.js +4 -6
- package/build/components/submit/index.js.map +1 -1
- package/build/components/submit/subComponents/SubmitValidationSummary.js +5 -7
- package/build/components/submit/subComponents/SubmitValidationSummary.js.map +1 -1
- package/build/components/tags/Tags.js +365 -565
- package/build/components/tags/Tags.js.map +1 -1
- package/build/components/tags/index.js +4 -6
- package/build/components/tags/index.js.map +1 -1
- package/build/components/tags/subComponents/TagsSuggestions.js +29 -30
- package/build/components/tags/subComponents/TagsSuggestions.js.map +1 -1
- package/build/components/text/Text.js +95 -138
- package/build/components/text/Text.js.map +1 -1
- package/build/components/text/index.js +4 -6
- package/build/components/text/index.js.map +1 -1
- package/build/components/textArea/TextArea.js +52 -91
- package/build/components/textArea/TextArea.js.map +1 -1
- package/build/components/textArea/index.js +4 -6
- package/build/components/textArea/index.js.map +1 -1
- package/build/components/themeProvider/ThemeContext.js +6 -8
- package/build/components/themeProvider/ThemeContext.js.map +1 -1
- package/build/components/themeProvider/ThemeProvider.js +3 -5
- package/build/components/themeProvider/ThemeProvider.js.map +1 -1
- package/build/components/themeProvider/index.js +4 -6
- package/build/components/themeProvider/index.js.map +1 -1
- package/build/components/themeProvider/withThemeContext.js +10 -14
- package/build/components/themeProvider/withThemeContext.js.map +1 -1
- package/build/components/time/Time.js +184 -228
- package/build/components/time/Time.js.map +1 -1
- package/build/components/time/index.js +4 -6
- package/build/components/time/index.js.map +1 -1
- package/build/components/timeSpan/TimeSpan.js +226 -280
- package/build/components/timeSpan/TimeSpan.js.map +1 -1
- package/build/components/timeSpan/index.js +4 -6
- package/build/components/timeSpan/index.js.map +1 -1
- package/build/components/utils/Guid.js +3 -5
- package/build/components/utils/Guid.js.map +1 -1
- package/build/components/utils/ShallowEqual.js +5 -11
- package/build/components/utils/ShallowEqual.js.map +1 -1
- package/build/components/utils/TimeUtil.js +8 -22
- package/build/components/utils/TimeUtil.js.map +1 -1
- package/build/components/utils/Typescript.js.map +1 -1
- package/build/dist/guestbell-forms.css +0 -6
- package/build/dist/guestbell-forms.css.map +1 -1
- package/build/dist/guestbell-forms.min.css +1 -1
- package/build/dist/guestbell-forms.min.js +1 -1
- package/build/dist/guestbell-forms.min.js.map +1 -1
- package/build/dist/report.html +2 -2
- package/build/index.js +23 -23
- package/build/index.js.map +1 -1
- package/build/types/ElementOverrideProp.js.map +1 -1
- package/build/types/Theme.js.map +1 -1
- package/build/types/ThemeOverrides.js.map +1 -1
- package/build/validators/EmailValidator.js +8 -22
- package/build/validators/EmailValidator.js.map +1 -1
- package/build/validators/LatitudeValidator.js +13 -27
- package/build/validators/LatitudeValidator.js.map +1 -1
- package/build/validators/LongitudeValidator.js +13 -27
- package/build/validators/LongitudeValidator.js.map +1 -1
- package/build/validators/NumberValidator.js +27 -39
- package/build/validators/NumberValidator.js.map +1 -1
- package/build/validators/UrlValidator.js +9 -23
- package/build/validators/UrlValidator.js.map +1 -1
- package/build/validators/base.js.map +1 -1
- package/build/validators/index.js +6 -6
- package/build/validators/index.js.map +1 -1
- package/package.json +8 -5
- package/tsconfig.json +0 -1
@@ -1,17 +1,15 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
4
|
-
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
8
|
-
exports.default = exports.
|
6
|
+
exports.default = exports.TimeRaw = exports.Time = void 0;
|
9
7
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
11
9
|
|
12
10
|
var _InputGroup = _interopRequireDefault(require("../inputGroup/InputGroup"));
|
13
11
|
|
14
|
-
var
|
12
|
+
var _BaseInput = require("../base/input/BaseInput");
|
15
13
|
|
16
14
|
var _withFormContext = require("../form/withFormContext");
|
17
15
|
|
@@ -25,31 +23,11 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
23
|
|
26
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27
25
|
|
28
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
29
|
-
|
30
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
31
|
-
|
32
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
33
|
-
|
34
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
35
|
-
|
36
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
37
|
-
|
38
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
39
27
|
|
40
|
-
function
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
41
29
|
|
42
|
-
function
|
43
|
-
|
44
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
45
|
-
|
46
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
47
|
-
|
48
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
49
|
-
|
50
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
51
|
-
|
52
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
30
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
53
31
|
|
54
32
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
55
33
|
|
@@ -66,274 +44,252 @@ ArrowIcon.defaultProps = {
|
|
66
44
|
viewBox: "0 0 24 24"
|
67
45
|
}; // Libs
|
68
46
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
var _super = _createSuper(TimeRaw);
|
47
|
+
class TimeRaw extends _BaseInput.BaseInput {
|
48
|
+
constructor(props) {
|
49
|
+
super(props);
|
73
50
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
_classCallCheck(this, TimeRaw);
|
78
|
-
|
79
|
-
_this = _super.call(this, props);
|
80
|
-
|
81
|
-
_defineProperty(_assertThisInitialized(_this), "onBlur", function (e) {
|
82
|
-
if (_this.state.hoursText) {
|
83
|
-
_this.handleHoursChange(_this.state.hoursText);
|
51
|
+
_defineProperty(this, "onBlur", e => {
|
52
|
+
if (this.state.hoursText) {
|
53
|
+
this.handleHoursChange(this.state.hoursText);
|
84
54
|
}
|
85
55
|
|
86
|
-
if (
|
87
|
-
|
56
|
+
if (this.state.minutesText) {
|
57
|
+
this.handleMinutesChange(this.state.minutesText);
|
88
58
|
}
|
89
59
|
|
90
|
-
|
60
|
+
this.setState({
|
91
61
|
minutesText: undefined,
|
92
62
|
hoursText: undefined
|
93
|
-
},
|
94
|
-
return _this.handleBlur(e);
|
95
|
-
});
|
63
|
+
}, () => this.handleBlur(e));
|
96
64
|
});
|
97
65
|
|
98
|
-
_defineProperty(
|
66
|
+
_defineProperty(this, "onMinutesChanged", e => {
|
99
67
|
// this.handleMinutesChange(e.target.value);
|
100
|
-
|
68
|
+
this.setState({
|
101
69
|
minutesText: e.target.value
|
102
70
|
});
|
103
71
|
});
|
104
72
|
|
105
|
-
_defineProperty(
|
106
|
-
var _this$props$time
|
73
|
+
_defineProperty(this, "removeMinuteClick", e => {
|
74
|
+
var _this$props$time, _this$props$time$minu;
|
107
75
|
|
108
76
|
e.preventDefault();
|
109
|
-
|
110
|
-
_this.handleMinutesChange((((_this$props$time$minu = (_this$props$time = _this.props.time) === null || _this$props$time === void 0 ? void 0 : (_this$props$time$minu2 = _this$props$time.minutes) === null || _this$props$time$minu2 === void 0 ? void 0 : _this$props$time$minu2.call(_this$props$time)) !== null && _this$props$time$minu !== void 0 ? _this$props$time$minu : 0) - 1).toString());
|
77
|
+
this.handleMinutesChange(((((_this$props$time = this.props.time) === null || _this$props$time === void 0 ? void 0 : (_this$props$time$minu = _this$props$time.minutes) === null || _this$props$time$minu === void 0 ? void 0 : _this$props$time$minu.call(_this$props$time)) ?? 0) - 1).toString());
|
111
78
|
});
|
112
79
|
|
113
|
-
_defineProperty(
|
114
|
-
var _this$props$
|
80
|
+
_defineProperty(this, "addMinuteClick", e => {
|
81
|
+
var _this$props$time2, _this$props$time2$min;
|
115
82
|
|
116
83
|
e.preventDefault();
|
117
|
-
|
118
|
-
_this.handleMinutesChange((((_this$props$time$minu3 = (_this$props$time2 = _this.props.time) === null || _this$props$time2 === void 0 ? void 0 : (_this$props$time2$min = _this$props$time2.minutes) === null || _this$props$time2$min === void 0 ? void 0 : _this$props$time2$min.call(_this$props$time2)) !== null && _this$props$time$minu3 !== void 0 ? _this$props$time$minu3 : 0) + 1).toString());
|
84
|
+
this.handleMinutesChange(((((_this$props$time2 = this.props.time) === null || _this$props$time2 === void 0 ? void 0 : (_this$props$time2$min = _this$props$time2.minutes) === null || _this$props$time2$min === void 0 ? void 0 : _this$props$time2$min.call(_this$props$time2)) ?? 0) + 1).toString());
|
119
85
|
});
|
120
86
|
|
121
|
-
_defineProperty(
|
122
|
-
var _this$props$
|
87
|
+
_defineProperty(this, "removeHourClick", e => {
|
88
|
+
var _this$props$time3, _this$props$time3$hou;
|
123
89
|
|
124
90
|
e.preventDefault();
|
125
|
-
|
126
|
-
_this.handleHoursChange((((_this$props$time$hour = (_this$props$time3 = _this.props.time) === null || _this$props$time3 === void 0 ? void 0 : (_this$props$time3$hou = _this$props$time3.hours) === null || _this$props$time3$hou === void 0 ? void 0 : _this$props$time3$hou.call(_this$props$time3)) !== null && _this$props$time$hour !== void 0 ? _this$props$time$hour : 0) - 1).toString());
|
91
|
+
this.handleHoursChange(((((_this$props$time3 = this.props.time) === null || _this$props$time3 === void 0 ? void 0 : (_this$props$time3$hou = _this$props$time3.hours) === null || _this$props$time3$hou === void 0 ? void 0 : _this$props$time3$hou.call(_this$props$time3)) ?? 0) - 1).toString());
|
127
92
|
});
|
128
93
|
|
129
|
-
_defineProperty(
|
94
|
+
_defineProperty(this, "onHoursChanged", e => {
|
130
95
|
// this.handleHoursChange(e.target.value);
|
131
|
-
|
96
|
+
this.setState({
|
132
97
|
hoursText: e.target.value
|
133
98
|
});
|
134
99
|
});
|
135
100
|
|
136
|
-
_defineProperty(
|
137
|
-
var _this$props$
|
101
|
+
_defineProperty(this, "addHourClick", e => {
|
102
|
+
var _this$props$time4, _this$props$time4$hou;
|
138
103
|
|
139
104
|
e.preventDefault();
|
140
|
-
|
141
|
-
_this.handleHoursChange((((_this$props$time$hour2 = (_this$props$time4 = _this.props.time) === null || _this$props$time4 === void 0 ? void 0 : (_this$props$time4$hou = _this$props$time4.hours) === null || _this$props$time4$hou === void 0 ? void 0 : _this$props$time4$hou.call(_this$props$time4)) !== null && _this$props$time$hour2 !== void 0 ? _this$props$time$hour2 : 0) + 1).toString());
|
105
|
+
this.handleHoursChange(((((_this$props$time4 = this.props.time) === null || _this$props$time4 === void 0 ? void 0 : (_this$props$time4$hou = _this$props$time4.hours) === null || _this$props$time4$hou === void 0 ? void 0 : _this$props$time4$hou.call(_this$props$time4)) ?? 0) + 1).toString());
|
142
106
|
});
|
143
107
|
|
144
|
-
|
145
|
-
|
146
|
-
return _this;
|
108
|
+
this.handleHoursChange = this.handleHoursChange.bind(this);
|
109
|
+
this.handleMinutesChange = this.handleMinutesChange.bind(this);
|
147
110
|
}
|
148
111
|
|
149
|
-
|
150
|
-
|
151
|
-
value: function render() {
|
152
|
-
var _this$props$time$hour3, _this$props$time5, _this$props$time5$hou, _this$props$time$minu4, _this$props$time6, _this$props$time6$min;
|
112
|
+
render() {
|
113
|
+
var _this$props$time5, _this$props$time5$hou, _this$props$time6, _this$props$time6$min;
|
153
114
|
|
154
|
-
|
155
|
-
|
115
|
+
let hours = ((_this$props$time5 = this.props.time) === null || _this$props$time5 === void 0 ? void 0 : (_this$props$time5$hou = _this$props$time5.hours) === null || _this$props$time5$hou === void 0 ? void 0 : _this$props$time5$hou.call(_this$props$time5)) ?? 0;
|
116
|
+
let minutes = ((_this$props$time6 = this.props.time) === null || _this$props$time6 === void 0 ? void 0 : (_this$props$time6$min = _this$props$time6.minutes) === null || _this$props$time6$min === void 0 ? void 0 : _this$props$time6$min.call(_this$props$time6)) ?? 0;
|
156
117
|
|
157
|
-
|
158
|
-
|
159
|
-
|
118
|
+
if (minutes < 0) {
|
119
|
+
hours--;
|
120
|
+
}
|
160
121
|
|
161
|
-
|
162
|
-
|
163
|
-
|
122
|
+
minutes = (minutes + 60) % 60;
|
123
|
+
hours = (hours + 24) % 24;
|
124
|
+
var mid = 'AM';
|
164
125
|
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
126
|
+
if (hours % 24 >= 12) {
|
127
|
+
hours = hours % 12;
|
128
|
+
mid = 'PM';
|
129
|
+
}
|
169
130
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
131
|
+
if (hours % 12 === 0) {
|
132
|
+
// At 00 hours we need to show 12 am
|
133
|
+
hours = 12;
|
134
|
+
}
|
174
135
|
|
175
|
-
|
176
|
-
|
136
|
+
if (this.props.showDateDiff && this.props.min) {
|
137
|
+
const diffDays = _TimeUtil.default.dayDiff(this.props.min, this.props.time);
|
177
138
|
|
178
|
-
|
179
|
-
|
180
|
-
}
|
139
|
+
if (diffDays > 0) {
|
140
|
+
mid += ' +' + diffDays.toString();
|
181
141
|
}
|
182
|
-
|
183
|
-
return /*#__PURE__*/React.createElement(_InputGroup.default, {
|
184
|
-
title: this.props.title,
|
185
|
-
tooltip: this.props.tooltip
|
186
|
-
}, /*#__PURE__*/React.createElement("div", _extends({}, this.props.id && {
|
187
|
-
id: this.props.id
|
188
|
-
}, {
|
189
|
-
className: (0, _classnames.default)('input__base time-input', this.getValidationClass(), this.props.className),
|
190
|
-
ref: this.containerRef
|
191
|
-
}), /*#__PURE__*/React.createElement("div", {
|
192
|
-
className: ""
|
193
|
-
}, /*#__PURE__*/React.createElement("div", {
|
194
|
-
className: "time-input__arrows__container"
|
195
|
-
}, /*#__PURE__*/React.createElement("button", _extends({
|
196
|
-
className: "plus",
|
197
|
-
onClick: this.addHourClick
|
198
|
-
}, this.props.id && {
|
199
|
-
id: this.props.id + '-add-hours-button'
|
200
|
-
}, {
|
201
|
-
tabIndex: 0
|
202
|
-
}), /*#__PURE__*/React.createElement(ArrowIcon, null)), /*#__PURE__*/React.createElement("div", {
|
203
|
-
className: "input-padding"
|
204
|
-
}, /*#__PURE__*/React.createElement("input", _extends({}, this.props.id && {
|
205
|
-
id: this.props.id + '-hours-input'
|
206
|
-
}, {
|
207
|
-
disabled: this.getDisabled(),
|
208
|
-
required: this.props.required,
|
209
|
-
className: 'time-input__time ' + (this.state.value ? 'filled' : ''),
|
210
|
-
onChange: this.onHoursChanged,
|
211
|
-
value: this.state.hoursText !== undefined ? this.state.hoursText : hours,
|
212
|
-
onBlur: this.onBlur,
|
213
|
-
onFocus: this.handleFocus,
|
214
|
-
type: "number"
|
215
|
-
})), /*#__PURE__*/React.createElement("span", {
|
216
|
-
className: "highlight"
|
217
|
-
})), /*#__PURE__*/React.createElement("button", _extends({
|
218
|
-
className: "minus",
|
219
|
-
onClick: this.removeHourClick
|
220
|
-
}, this.props.id && {
|
221
|
-
id: this.props.id + '-subtract-hours-button'
|
222
|
-
}, {
|
223
|
-
tabIndex: 0
|
224
|
-
}), /*#__PURE__*/React.createElement(ArrowIcon, null)))), /*#__PURE__*/React.createElement("span", {
|
225
|
-
className: ""
|
226
|
-
}, ":"), /*#__PURE__*/React.createElement("div", {
|
227
|
-
className: ""
|
228
|
-
}, /*#__PURE__*/React.createElement("div", {
|
229
|
-
className: "time-input__arrows__container"
|
230
|
-
}, /*#__PURE__*/React.createElement("button", _extends({
|
231
|
-
className: "plus",
|
232
|
-
onClick: this.addMinuteClick
|
233
|
-
}, this.props.id && {
|
234
|
-
id: this.props.id + '-add-minutes-button'
|
235
|
-
}, {
|
236
|
-
tabIndex: 0
|
237
|
-
}), /*#__PURE__*/React.createElement(ArrowIcon, null)), /*#__PURE__*/React.createElement("div", {
|
238
|
-
className: "input-padding"
|
239
|
-
}, /*#__PURE__*/React.createElement("input", _extends({}, this.props.id && {
|
240
|
-
id: this.props.id + '-minutes-input'
|
241
|
-
}, {
|
242
|
-
disabled: this.getDisabled(),
|
243
|
-
required: this.props.required,
|
244
|
-
className: 'time-input__time ' + (this.state.value ? 'filled' : ''),
|
245
|
-
onChange: this.onMinutesChanged,
|
246
|
-
value: this.state.minutesText !== undefined ? this.state.minutesText : minutes < 10 ? '0' + minutes.toString() : minutes.toString(),
|
247
|
-
onBlur: this.onBlur,
|
248
|
-
onFocus: this.handleFocus,
|
249
|
-
type: "number"
|
250
|
-
})), /*#__PURE__*/React.createElement("span", {
|
251
|
-
className: "highlight"
|
252
|
-
})), /*#__PURE__*/React.createElement("button", _extends({
|
253
|
-
className: "minus",
|
254
|
-
onClick: this.removeMinuteClick
|
255
|
-
}, this.props.id && {
|
256
|
-
id: this.props.id + '-subtract-minutes-button'
|
257
|
-
}, {
|
258
|
-
tabIndex: 0
|
259
|
-
}), /*#__PURE__*/React.createElement(ArrowIcon, null)))), this.renderDefaultValidation(), /*#__PURE__*/React.createElement("span", {
|
260
|
-
className: "time-input__am-pm"
|
261
|
-
}, mid), /*#__PURE__*/React.createElement("span", {
|
262
|
-
className: "highlight"
|
263
|
-
}), /*#__PURE__*/React.createElement("span", {
|
264
|
-
className: 'bar ' + (this.state.focused ? 'focused' : '')
|
265
|
-
}), this.props.label && /*#__PURE__*/React.createElement("label", {
|
266
|
-
className: (0, _classnames.default)('time-input__label label--focused')
|
267
|
-
}, this.renderLabel())));
|
268
142
|
}
|
269
|
-
}, {
|
270
|
-
key: "handleLimits",
|
271
|
-
value: function handleLimits(time) {
|
272
|
-
if (this.props.min) {
|
273
|
-
var _time$asMilliseconds, _time$asMilliseconds2;
|
274
|
-
|
275
|
-
if (((_time$asMilliseconds = time === null || time === void 0 ? void 0 : (_time$asMilliseconds2 = time.asMilliseconds) === null || _time$asMilliseconds2 === void 0 ? void 0 : _time$asMilliseconds2.call(time)) !== null && _time$asMilliseconds !== void 0 ? _time$asMilliseconds : 0) - this.props.min.asMilliseconds() <= 0) {
|
276
|
-
this.props.timeChange(this.props.min.clone());
|
277
|
-
return;
|
278
|
-
}
|
279
|
-
}
|
280
143
|
|
281
|
-
|
282
|
-
|
144
|
+
return /*#__PURE__*/React.createElement(_InputGroup.default, {
|
145
|
+
title: this.props.title,
|
146
|
+
tooltip: this.props.tooltip
|
147
|
+
}, /*#__PURE__*/React.createElement("div", _extends({}, this.props.id && {
|
148
|
+
id: this.props.id
|
149
|
+
}, {
|
150
|
+
className: (0, _classnames.default)('input__base time-input', this.getValidationClass(), this.props.className),
|
151
|
+
ref: this.containerRef
|
152
|
+
}), /*#__PURE__*/React.createElement("div", {
|
153
|
+
className: ""
|
154
|
+
}, /*#__PURE__*/React.createElement("div", {
|
155
|
+
className: "time-input__arrows__container"
|
156
|
+
}, /*#__PURE__*/React.createElement("button", _extends({
|
157
|
+
className: "plus",
|
158
|
+
onClick: this.addHourClick
|
159
|
+
}, this.props.id && {
|
160
|
+
id: this.props.id + '-add-hours-button'
|
161
|
+
}, {
|
162
|
+
tabIndex: 0
|
163
|
+
}), /*#__PURE__*/React.createElement(ArrowIcon, null)), /*#__PURE__*/React.createElement("div", {
|
164
|
+
className: "input-padding"
|
165
|
+
}, /*#__PURE__*/React.createElement("input", _extends({}, this.props.id && {
|
166
|
+
id: this.props.id + '-hours-input'
|
167
|
+
}, {
|
168
|
+
disabled: this.getDisabled(),
|
169
|
+
required: this.props.required,
|
170
|
+
className: 'time-input__time ' + (this.state.value ? 'filled' : ''),
|
171
|
+
onChange: this.onHoursChanged,
|
172
|
+
value: this.state.hoursText !== undefined ? this.state.hoursText : hours,
|
173
|
+
onBlur: this.onBlur,
|
174
|
+
onFocus: this.handleFocus,
|
175
|
+
type: "number"
|
176
|
+
})), /*#__PURE__*/React.createElement("span", {
|
177
|
+
className: "highlight"
|
178
|
+
})), /*#__PURE__*/React.createElement("button", _extends({
|
179
|
+
className: "minus",
|
180
|
+
onClick: this.removeHourClick
|
181
|
+
}, this.props.id && {
|
182
|
+
id: this.props.id + '-subtract-hours-button'
|
183
|
+
}, {
|
184
|
+
tabIndex: 0
|
185
|
+
}), /*#__PURE__*/React.createElement(ArrowIcon, null)))), /*#__PURE__*/React.createElement("span", {
|
186
|
+
className: ""
|
187
|
+
}, ":"), /*#__PURE__*/React.createElement("div", {
|
188
|
+
className: ""
|
189
|
+
}, /*#__PURE__*/React.createElement("div", {
|
190
|
+
className: "time-input__arrows__container"
|
191
|
+
}, /*#__PURE__*/React.createElement("button", _extends({
|
192
|
+
className: "plus",
|
193
|
+
onClick: this.addMinuteClick
|
194
|
+
}, this.props.id && {
|
195
|
+
id: this.props.id + '-add-minutes-button'
|
196
|
+
}, {
|
197
|
+
tabIndex: 0
|
198
|
+
}), /*#__PURE__*/React.createElement(ArrowIcon, null)), /*#__PURE__*/React.createElement("div", {
|
199
|
+
className: "input-padding"
|
200
|
+
}, /*#__PURE__*/React.createElement("input", _extends({}, this.props.id && {
|
201
|
+
id: this.props.id + '-minutes-input'
|
202
|
+
}, {
|
203
|
+
disabled: this.getDisabled(),
|
204
|
+
required: this.props.required,
|
205
|
+
className: 'time-input__time ' + (this.state.value ? 'filled' : ''),
|
206
|
+
onChange: this.onMinutesChanged,
|
207
|
+
value: this.state.minutesText !== undefined ? this.state.minutesText : minutes < 10 ? '0' + minutes.toString() : minutes.toString(),
|
208
|
+
onBlur: this.onBlur,
|
209
|
+
onFocus: this.handleFocus,
|
210
|
+
type: "number"
|
211
|
+
})), /*#__PURE__*/React.createElement("span", {
|
212
|
+
className: "highlight"
|
213
|
+
})), /*#__PURE__*/React.createElement("button", _extends({
|
214
|
+
className: "minus",
|
215
|
+
onClick: this.removeMinuteClick
|
216
|
+
}, this.props.id && {
|
217
|
+
id: this.props.id + '-subtract-minutes-button'
|
218
|
+
}, {
|
219
|
+
tabIndex: 0
|
220
|
+
}), /*#__PURE__*/React.createElement(ArrowIcon, null)))), this.renderDefaultValidation(), /*#__PURE__*/React.createElement("span", {
|
221
|
+
className: "time-input__am-pm"
|
222
|
+
}, mid), /*#__PURE__*/React.createElement("span", {
|
223
|
+
className: "highlight"
|
224
|
+
}), /*#__PURE__*/React.createElement("span", {
|
225
|
+
className: 'bar ' + (this.state.focused ? 'focused' : '')
|
226
|
+
}), this.props.label && /*#__PURE__*/React.createElement("label", {
|
227
|
+
className: (0, _classnames.default)('time-input__label label--focused')
|
228
|
+
}, this.renderLabel())));
|
229
|
+
}
|
283
230
|
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
}
|
288
|
-
}
|
231
|
+
handleLimits(time) {
|
232
|
+
if (this.props.min) {
|
233
|
+
var _time$asMilliseconds;
|
289
234
|
|
290
|
-
this.props.
|
235
|
+
if (((time === null || time === void 0 ? void 0 : (_time$asMilliseconds = time.asMilliseconds) === null || _time$asMilliseconds === void 0 ? void 0 : _time$asMilliseconds.call(time)) ?? 0) - this.props.min.asMilliseconds() <= 0) {
|
236
|
+
this.props.timeChange(this.props.min.clone());
|
237
|
+
return;
|
238
|
+
}
|
291
239
|
}
|
292
|
-
}, {
|
293
|
-
key: "handleHoursChange",
|
294
|
-
value: function handleHoursChange(hoursString) {
|
295
|
-
var num = Number(hoursString);
|
296
240
|
|
297
|
-
|
298
|
-
|
241
|
+
if (this.props.max) {
|
242
|
+
var _time$asMilliseconds2;
|
243
|
+
|
244
|
+
if (this.props.max.asMilliseconds() - ((time === null || time === void 0 ? void 0 : (_time$asMilliseconds2 = time.asMilliseconds) === null || _time$asMilliseconds2 === void 0 ? void 0 : _time$asMilliseconds2.call(time)) ?? 0) <= 0) {
|
245
|
+
this.props.timeChange(this.props.max.clone());
|
246
|
+
return;
|
299
247
|
}
|
248
|
+
}
|
249
|
+
|
250
|
+
this.props.timeChange(time);
|
251
|
+
}
|
300
252
|
|
301
|
-
|
302
|
-
|
253
|
+
handleHoursChange(hoursString) {
|
254
|
+
let num = Number(hoursString);
|
303
255
|
|
304
|
-
|
305
|
-
|
306
|
-
}
|
256
|
+
if (hoursString === '') {
|
257
|
+
num = 0;
|
307
258
|
}
|
308
|
-
}, {
|
309
|
-
key: "handleMinutesChange",
|
310
|
-
value: function handleMinutesChange(minutesString) {
|
311
|
-
var num = Number(minutesString);
|
312
259
|
|
313
|
-
|
314
|
-
|
315
|
-
}
|
260
|
+
if (!isNaN(num)) {
|
261
|
+
var _this$props$time7, _this$props$time7$asM, _this$props$time8, _this$props$time8$hou;
|
316
262
|
|
317
|
-
|
318
|
-
|
263
|
+
let newTime = (0, _moment.duration)(((_this$props$time7 = this.props.time) === null || _this$props$time7 === void 0 ? void 0 : (_this$props$time7$asM = _this$props$time7.asMilliseconds) === null || _this$props$time7$asM === void 0 ? void 0 : _this$props$time7$asM.call(_this$props$time7)) ?? 0, 'milliseconds').subtract(((_this$props$time8 = this.props.time) === null || _this$props$time8 === void 0 ? void 0 : (_this$props$time8$hou = _this$props$time8.hours) === null || _this$props$time8$hou === void 0 ? void 0 : _this$props$time8$hou.call(_this$props$time8)) ?? 0, 'hours').add(num, 'hours');
|
264
|
+
this.handleLimits(newTime);
|
265
|
+
}
|
266
|
+
}
|
319
267
|
|
320
|
-
|
321
|
-
|
322
|
-
|
268
|
+
handleMinutesChange(minutesString) {
|
269
|
+
let num = Number(minutesString);
|
270
|
+
|
271
|
+
if (minutesString === '') {
|
272
|
+
num = 0;
|
323
273
|
}
|
324
|
-
}]);
|
325
274
|
|
326
|
-
|
327
|
-
|
275
|
+
if (!isNaN(num)) {
|
276
|
+
var _this$props$time9, _this$props$time9$asM, _this$props$time10, _this$props$time10$mi;
|
277
|
+
|
278
|
+
let newTime = (0, _moment.duration)(((_this$props$time9 = this.props.time) === null || _this$props$time9 === void 0 ? void 0 : (_this$props$time9$asM = _this$props$time9.asMilliseconds) === null || _this$props$time9$asM === void 0 ? void 0 : _this$props$time9$asM.call(_this$props$time9)) ?? 0, 'milliseconds').subtract(((_this$props$time10 = this.props.time) === null || _this$props$time10 === void 0 ? void 0 : (_this$props$time10$mi = _this$props$time10.minutes) === null || _this$props$time10$mi === void 0 ? void 0 : _this$props$time10$mi.call(_this$props$time10)) ?? 0, 'minutes').add(num, 'minutes');
|
279
|
+
this.handleLimits(newTime);
|
280
|
+
}
|
281
|
+
}
|
282
|
+
|
283
|
+
}
|
328
284
|
|
329
285
|
exports.TimeRaw = TimeRaw;
|
330
286
|
|
331
|
-
_defineProperty(TimeRaw, "defaultProps", Object.assign({},
|
287
|
+
_defineProperty(TimeRaw, "defaultProps", Object.assign({}, _BaseInput.BaseInput.defaultProps, {
|
332
288
|
type: 'time',
|
333
289
|
placeholder: ''
|
334
290
|
}));
|
335
291
|
|
336
|
-
|
292
|
+
const Time = (0, _withThemeContext.withThemeContext)((0, _withFormContext.withFormContext)(TimeRaw), 'time');
|
337
293
|
exports.Time = Time;
|
338
294
|
var _default = Time;
|
339
295
|
exports.default = _default;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/components/time/Time.tsx"],"names":["ArrowIcon","TimeRaw","props","e","state","hoursText","handleHoursChange","minutesText","handleMinutesChange","setState","undefined","handleBlur","target","value","preventDefault","time","minutes","toString","hours","bind","mid","showDateDiff","min","diffDays","TimeUtil","dayDiff","title","tooltip","id","getValidationClass","className","containerRef","addHourClick","getDisabled","required","onHoursChanged","onBlur","handleFocus","removeHourClick","addMinuteClick","onMinutesChanged","removeMinuteClick","renderDefaultValidation","focused","label","renderLabel","asMilliseconds","timeChange","clone","max","hoursString","num","Number","isNaN","newTime","subtract","add","handleLimits","minutesString","BaseInput","Object","assign","defaultProps","type","placeholder","Time"],"mappings":"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","sourcesContent":["import * as ArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg';\r\n\r\n// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport TimeUtil from '../utils/TimeUtil';\r\nimport { Duration, duration } from 'moment';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport classNames from 'classnames';\r\n\r\nexport interface TimeProps extends BaseInputProps<HTMLInputElement> {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n timeChange: (time: Duration) => void;\r\n time: Duration;\r\n min?: Duration;\r\n max?: Duration;\r\n showDateDiff?: boolean;\r\n}\r\n\r\nexport interface TimeState extends BaseInputState {\r\n hoursText?: string;\r\n minutesText?: string;\r\n}\r\n\r\nexport class TimeRaw extends BaseInput<TimeProps, TimeState, HTMLInputElement> {\r\n public static defaultProps = (Object.assign({}, BaseInput.defaultProps, {\r\n type: 'time',\r\n placeholder: '',\r\n }) as unknown) as TimeProps;\r\n\r\n constructor(props: TimeProps) {\r\n super(props);\r\n this.handleHoursChange = this.handleHoursChange.bind(this);\r\n this.handleMinutesChange = this.handleMinutesChange.bind(this);\r\n }\r\n\r\n public render() {\r\n let hours = this.props.time?.hours?.() ?? 0;\r\n let minutes = this.props.time?.minutes?.() ?? 0;\r\n if (minutes < 0) {\r\n hours--;\r\n }\r\n minutes = (minutes + 60) % 60;\r\n hours = (hours + 24) % 24;\r\n var mid = 'AM';\r\n if (hours % 24 >= 12) {\r\n hours = hours % 12;\r\n mid = 'PM';\r\n }\r\n if (hours % 12 === 0) {\r\n // At 00 hours we need to show 12 am\r\n hours = 12;\r\n }\r\n if (this.props.showDateDiff && this.props.min) {\r\n const diffDays = TimeUtil.dayDiff(this.props.min, this.props.time);\r\n if (diffDays > 0) {\r\n mid += ' +' + diffDays.toString();\r\n }\r\n }\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base time-input',\r\n this.getValidationClass(),\r\n this.props.className\r\n )}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"\">\r\n <div className=\"time-input__arrows__container\">\r\n <button\r\n className=\"plus\"\r\n onClick={this.addHourClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-hours-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n <div className=\"input-padding\">\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id + '-hours-input',\r\n })}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={\r\n 'time-input__time ' + (this.state.value ? 'filled' : '')\r\n }\r\n onChange={this.onHoursChanged}\r\n value={\r\n this.state.hoursText !== undefined\r\n ? this.state.hoursText\r\n : hours\r\n }\r\n onBlur={this.onBlur}\r\n onFocus={this.handleFocus}\r\n type=\"number\"\r\n />\r\n <span className=\"highlight\" />\r\n </div>\r\n <button\r\n className=\"minus\"\r\n onClick={this.removeHourClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-subtract-hours-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n </div>\r\n </div>\r\n <span className=\"\">:</span>\r\n <div className=\"\">\r\n <div className=\"time-input__arrows__container\">\r\n <button\r\n className=\"plus\"\r\n onClick={this.addMinuteClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-minutes-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n <div className=\"input-padding\">\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id + '-minutes-input',\r\n })}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={\r\n 'time-input__time ' + (this.state.value ? 'filled' : '')\r\n }\r\n onChange={this.onMinutesChanged}\r\n value={\r\n this.state.minutesText !== undefined\r\n ? this.state.minutesText\r\n : minutes < 10\r\n ? '0' + minutes.toString()\r\n : minutes.toString()\r\n }\r\n onBlur={this.onBlur}\r\n onFocus={this.handleFocus}\r\n type=\"number\"\r\n />\r\n <span className=\"highlight\" />\r\n </div>\r\n <button\r\n className=\"minus\"\r\n onClick={this.removeMinuteClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-subtract-minutes-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n </div>\r\n </div>\r\n {this.renderDefaultValidation()}\r\n <span className=\"time-input__am-pm\">{mid}</span>\r\n <span className=\"highlight\" />\r\n <span className={'bar ' + (this.state.focused ? 'focused' : '')} />\r\n {this.props.label && (\r\n <label className={classNames('time-input__label label--focused')}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\r\n if (this.state.hoursText) {\r\n this.handleHoursChange(this.state.hoursText);\r\n }\r\n if (this.state.minutesText) {\r\n this.handleMinutesChange(this.state.minutesText);\r\n }\r\n this.setState({ minutesText: undefined, hoursText: undefined }, () =>\r\n this.handleBlur(e)\r\n );\r\n };\r\n\r\n private onMinutesChanged = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n // this.handleMinutesChange(e.target.value);\r\n this.setState({ minutesText: e.target.value });\r\n };\r\n\r\n private removeMinuteClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleMinutesChange(\r\n ((this.props.time?.minutes?.() ?? 0) - 1).toString()\r\n );\r\n };\r\n\r\n private addMinuteClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleMinutesChange(\r\n ((this.props.time?.minutes?.() ?? 0) + 1).toString()\r\n );\r\n };\r\n\r\n private removeHourClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleHoursChange(((this.props.time?.hours?.() ?? 0) - 1).toString());\r\n };\r\n\r\n private onHoursChanged = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n // this.handleHoursChange(e.target.value);\r\n this.setState({ hoursText: e.target.value });\r\n };\r\n\r\n private addHourClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleHoursChange(((this.props.time?.hours?.() ?? 0) + 1).toString());\r\n };\r\n\r\n private handleLimits(time: Duration) {\r\n if (this.props.min) {\r\n if (\r\n (time?.asMilliseconds?.() ?? 0) - this.props.min.asMilliseconds() <=\r\n 0\r\n ) {\r\n this.props.timeChange(this.props.min.clone());\r\n return;\r\n }\r\n }\r\n if (this.props.max) {\r\n if (\r\n this.props.max.asMilliseconds() - (time?.asMilliseconds?.() ?? 0) <=\r\n 0\r\n ) {\r\n this.props.timeChange(this.props.max.clone());\r\n return;\r\n }\r\n }\r\n this.props.timeChange(time);\r\n }\r\n\r\n private handleHoursChange(hoursString: string) {\r\n let num = Number(hoursString);\r\n if (hoursString === '') {\r\n num = 0;\r\n }\r\n if (!isNaN(num)) {\r\n let newTime: Duration = duration(\r\n this.props.time?.asMilliseconds?.() ?? 0,\r\n 'milliseconds'\r\n )\r\n .subtract(this.props.time?.hours?.() ?? 0, 'hours')\r\n .add(num, 'hours');\r\n this.handleLimits(newTime);\r\n }\r\n }\r\n\r\n private handleMinutesChange(minutesString: string) {\r\n let num = Number(minutesString);\r\n if (minutesString === '') {\r\n num = 0;\r\n }\r\n if (!isNaN(num)) {\r\n let newTime: Duration = duration(\r\n this.props.time?.asMilliseconds?.() ?? 0,\r\n 'milliseconds'\r\n )\r\n .subtract(this.props.time?.minutes?.() ?? 0, 'minutes')\r\n .add(num, 'minutes');\r\n this.handleLimits(newTime);\r\n }\r\n }\r\n}\r\n\r\nexport const Time = withThemeContext<TimeProps, InstanceType<typeof TimeRaw>>(\r\n withFormContext<TimeProps>(TimeRaw),\r\n 'time'\r\n);\r\n\r\nexport default Time;\r\n"],"file":"Time.js"}
|
1
|
+
{"version":3,"file":"Time.js","names":["ArrowIcon","TimeRaw","BaseInput","constructor","props","e","state","hoursText","handleHoursChange","minutesText","handleMinutesChange","setState","undefined","handleBlur","target","value","preventDefault","time","minutes","toString","hours","bind","render","mid","showDateDiff","min","diffDays","TimeUtil","dayDiff","title","tooltip","id","classNames","getValidationClass","className","containerRef","addHourClick","getDisabled","required","onHoursChanged","onBlur","handleFocus","removeHourClick","addMinuteClick","onMinutesChanged","removeMinuteClick","renderDefaultValidation","focused","label","renderLabel","handleLimits","asMilliseconds","timeChange","clone","max","hoursString","num","Number","isNaN","newTime","duration","subtract","add","minutesString","Object","assign","defaultProps","type","placeholder","Time","withThemeContext","withFormContext"],"sources":["../../../src/lib/components/time/Time.tsx"],"sourcesContent":["import * as ArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg';\r\n\r\n// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport TimeUtil from '../utils/TimeUtil';\r\nimport { Duration, duration } from 'moment';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport classNames from 'classnames';\r\n\r\nexport interface TimeProps extends BaseInputProps<HTMLInputElement> {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n timeChange: (time: Duration) => void;\r\n time: Duration;\r\n min?: Duration;\r\n max?: Duration;\r\n showDateDiff?: boolean;\r\n}\r\n\r\nexport interface TimeState extends BaseInputState {\r\n hoursText?: string;\r\n minutesText?: string;\r\n}\r\n\r\nexport class TimeRaw extends BaseInput<TimeProps, TimeState, HTMLInputElement> {\r\n public static defaultProps = (Object.assign({}, BaseInput.defaultProps, {\r\n type: 'time',\r\n placeholder: '',\r\n }) as unknown) as TimeProps;\r\n\r\n constructor(props: TimeProps) {\r\n super(props);\r\n this.handleHoursChange = this.handleHoursChange.bind(this);\r\n this.handleMinutesChange = this.handleMinutesChange.bind(this);\r\n }\r\n\r\n public render() {\r\n let hours = this.props.time?.hours?.() ?? 0;\r\n let minutes = this.props.time?.minutes?.() ?? 0;\r\n if (minutes < 0) {\r\n hours--;\r\n }\r\n minutes = (minutes + 60) % 60;\r\n hours = (hours + 24) % 24;\r\n var mid = 'AM';\r\n if (hours % 24 >= 12) {\r\n hours = hours % 12;\r\n mid = 'PM';\r\n }\r\n if (hours % 12 === 0) {\r\n // At 00 hours we need to show 12 am\r\n hours = 12;\r\n }\r\n if (this.props.showDateDiff && this.props.min) {\r\n const diffDays = TimeUtil.dayDiff(this.props.min, this.props.time);\r\n if (diffDays > 0) {\r\n mid += ' +' + diffDays.toString();\r\n }\r\n }\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base time-input',\r\n this.getValidationClass(),\r\n this.props.className\r\n )}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"\">\r\n <div className=\"time-input__arrows__container\">\r\n <button\r\n className=\"plus\"\r\n onClick={this.addHourClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-hours-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n <div className=\"input-padding\">\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id + '-hours-input',\r\n })}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={\r\n 'time-input__time ' + (this.state.value ? 'filled' : '')\r\n }\r\n onChange={this.onHoursChanged}\r\n value={\r\n this.state.hoursText !== undefined\r\n ? this.state.hoursText\r\n : hours\r\n }\r\n onBlur={this.onBlur}\r\n onFocus={this.handleFocus}\r\n type=\"number\"\r\n />\r\n <span className=\"highlight\" />\r\n </div>\r\n <button\r\n className=\"minus\"\r\n onClick={this.removeHourClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-subtract-hours-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n </div>\r\n </div>\r\n <span className=\"\">:</span>\r\n <div className=\"\">\r\n <div className=\"time-input__arrows__container\">\r\n <button\r\n className=\"plus\"\r\n onClick={this.addMinuteClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-minutes-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n <div className=\"input-padding\">\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id + '-minutes-input',\r\n })}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={\r\n 'time-input__time ' + (this.state.value ? 'filled' : '')\r\n }\r\n onChange={this.onMinutesChanged}\r\n value={\r\n this.state.minutesText !== undefined\r\n ? this.state.minutesText\r\n : minutes < 10\r\n ? '0' + minutes.toString()\r\n : minutes.toString()\r\n }\r\n onBlur={this.onBlur}\r\n onFocus={this.handleFocus}\r\n type=\"number\"\r\n />\r\n <span className=\"highlight\" />\r\n </div>\r\n <button\r\n className=\"minus\"\r\n onClick={this.removeMinuteClick}\r\n {...(this.props.id && {\r\n id: this.props.id + '-subtract-minutes-button',\r\n })}\r\n tabIndex={0}\r\n >\r\n <ArrowIcon />\r\n </button>\r\n </div>\r\n </div>\r\n {this.renderDefaultValidation()}\r\n <span className=\"time-input__am-pm\">{mid}</span>\r\n <span className=\"highlight\" />\r\n <span className={'bar ' + (this.state.focused ? 'focused' : '')} />\r\n {this.props.label && (\r\n <label className={classNames('time-input__label label--focused')}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\r\n if (this.state.hoursText) {\r\n this.handleHoursChange(this.state.hoursText);\r\n }\r\n if (this.state.minutesText) {\r\n this.handleMinutesChange(this.state.minutesText);\r\n }\r\n this.setState({ minutesText: undefined, hoursText: undefined }, () =>\r\n this.handleBlur(e)\r\n );\r\n };\r\n\r\n private onMinutesChanged = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n // this.handleMinutesChange(e.target.value);\r\n this.setState({ minutesText: e.target.value });\r\n };\r\n\r\n private removeMinuteClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleMinutesChange(\r\n ((this.props.time?.minutes?.() ?? 0) - 1).toString()\r\n );\r\n };\r\n\r\n private addMinuteClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleMinutesChange(\r\n ((this.props.time?.minutes?.() ?? 0) + 1).toString()\r\n );\r\n };\r\n\r\n private removeHourClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleHoursChange(((this.props.time?.hours?.() ?? 0) - 1).toString());\r\n };\r\n\r\n private onHoursChanged = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n // this.handleHoursChange(e.target.value);\r\n this.setState({ hoursText: e.target.value });\r\n };\r\n\r\n private addHourClick = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.preventDefault();\r\n this.handleHoursChange(((this.props.time?.hours?.() ?? 0) + 1).toString());\r\n };\r\n\r\n private handleLimits(time: Duration) {\r\n if (this.props.min) {\r\n if (\r\n (time?.asMilliseconds?.() ?? 0) - this.props.min.asMilliseconds() <=\r\n 0\r\n ) {\r\n this.props.timeChange(this.props.min.clone());\r\n return;\r\n }\r\n }\r\n if (this.props.max) {\r\n if (\r\n this.props.max.asMilliseconds() - (time?.asMilliseconds?.() ?? 0) <=\r\n 0\r\n ) {\r\n this.props.timeChange(this.props.max.clone());\r\n return;\r\n }\r\n }\r\n this.props.timeChange(time);\r\n }\r\n\r\n private handleHoursChange(hoursString: string) {\r\n let num = Number(hoursString);\r\n if (hoursString === '') {\r\n num = 0;\r\n }\r\n if (!isNaN(num)) {\r\n let newTime: Duration = duration(\r\n this.props.time?.asMilliseconds?.() ?? 0,\r\n 'milliseconds'\r\n )\r\n .subtract(this.props.time?.hours?.() ?? 0, 'hours')\r\n .add(num, 'hours');\r\n this.handleLimits(newTime);\r\n }\r\n }\r\n\r\n private handleMinutesChange(minutesString: string) {\r\n let num = Number(minutesString);\r\n if (minutesString === '') {\r\n num = 0;\r\n }\r\n if (!isNaN(num)) {\r\n let newTime: Duration = duration(\r\n this.props.time?.asMilliseconds?.() ?? 0,\r\n 'milliseconds'\r\n )\r\n .subtract(this.props.time?.minutes?.() ?? 0, 'minutes')\r\n .add(num, 'minutes');\r\n this.handleLimits(newTime);\r\n }\r\n }\r\n}\r\n\r\nexport const Time = withThemeContext<TimeProps, InstanceType<typeof TimeRaw>>(\r\n withFormContext<TimeProps>(TimeRaw),\r\n 'time'\r\n);\r\n\r\nexport default Time;\r\n"],"mappings":"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"}
|