guestbell-forms 2.0.297 → 2.0.299

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/build/components/InputHeader/InputHeader.js +258 -323
  2. package/build/components/InputHeader/InputHeader.js.map +1 -1
  3. package/build/components/InputHeader/InputHeaderContext.js +6 -8
  4. package/build/components/InputHeader/InputHeaderContext.js.map +1 -1
  5. package/build/components/InputHeader/index.js +4 -6
  6. package/build/components/InputHeader/index.js.map +1 -1
  7. package/build/components/InputHeader/withInputHeaderContext.js +9 -13
  8. package/build/components/InputHeader/withInputHeaderContext.js.map +1 -1
  9. package/build/components/base/input/BaseInput.js +334 -418
  10. package/build/components/base/input/BaseInput.js.map +1 -1
  11. package/build/components/base/input/index.js +1 -1
  12. package/build/components/base/input/index.js.map +1 -1
  13. package/build/components/bookingCalendar/BookingCalendar.js +68 -85
  14. package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
  15. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +40 -71
  16. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
  17. package/build/components/bookingCalendar/bookingCalendarControls/classes.js +1 -1
  18. package/build/components/bookingCalendar/bookingCalendarControls/classes.js.map +1 -1
  19. package/build/components/bookingCalendar/bookingCalendarControls/index.js +2 -2
  20. package/build/components/bookingCalendar/bookingCalendarControls/index.js.map +1 -1
  21. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js +22 -41
  22. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map +1 -1
  23. package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.js +1 -1
  24. package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.js.map +1 -1
  25. package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js +2 -2
  26. package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js.map +1 -1
  27. package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js +20 -24
  28. package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js.map +1 -1
  29. package/build/components/bookingCalendar/bookingCalendarGrid/classes.js +1 -1
  30. package/build/components/bookingCalendar/bookingCalendarGrid/classes.js.map +1 -1
  31. package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js +9 -12
  32. package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js.map +1 -1
  33. package/build/components/bookingCalendar/bookingCalendarItem/classes.js +1 -1
  34. package/build/components/bookingCalendar/bookingCalendarItem/classes.js.map +1 -1
  35. package/build/components/bookingCalendar/bookingCalendarItem/index.js +2 -2
  36. package/build/components/bookingCalendar/bookingCalendarItem/index.js.map +1 -1
  37. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js +23 -28
  38. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js.map +1 -1
  39. package/build/components/bookingCalendar/bookingCalendarLane/classes.js +1 -1
  40. package/build/components/bookingCalendar/bookingCalendarLane/classes.js.map +1 -1
  41. package/build/components/bookingCalendar/bookingCalendarLane/index.js +2 -2
  42. package/build/components/bookingCalendar/bookingCalendarLane/index.js.map +1 -1
  43. package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js +6 -6
  44. package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js.map +1 -1
  45. package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.js +1 -1
  46. package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.js.map +1 -1
  47. package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js +1 -1
  48. package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js.map +1 -1
  49. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js +12 -16
  50. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js.map +1 -1
  51. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js +27 -31
  52. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js.map +1 -1
  53. package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.js +1 -1
  54. package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.js.map +1 -1
  55. package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js +2 -2
  56. package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js.map +1 -1
  57. package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js +19 -19
  58. package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js.map +1 -1
  59. package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.js +1 -1
  60. package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.js.map +1 -1
  61. package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js +1 -1
  62. package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js.map +1 -1
  63. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +135 -177
  64. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
  65. package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js +17 -19
  66. package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js.map +1 -1
  67. package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.js +1 -1
  68. package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.js.map +1 -1
  69. package/build/components/bookingCalendar/classes.js +1 -1
  70. package/build/components/bookingCalendar/classes.js.map +1 -1
  71. package/build/components/bookingCalendar/common.js +5 -7
  72. package/build/components/bookingCalendar/common.js.map +1 -1
  73. package/build/components/bookingCalendar/index.js +3 -3
  74. package/build/components/bookingCalendar/index.js.map +1 -1
  75. package/build/components/bookingCalendar/utils.js +143 -205
  76. package/build/components/bookingCalendar/utils.js.map +1 -1
  77. package/build/components/button/Button.js +101 -123
  78. package/build/components/button/Button.js.map +1 -1
  79. package/build/components/button/index.js +4 -6
  80. package/build/components/button/index.js.map +1 -1
  81. package/build/components/checkbox/Checkbox.js +102 -145
  82. package/build/components/checkbox/Checkbox.js.map +1 -1
  83. package/build/components/checkbox/index.js +4 -6
  84. package/build/components/checkbox/index.js.map +1 -1
  85. package/build/components/dropdown/Dropdown.js +41 -57
  86. package/build/components/dropdown/Dropdown.js.map +1 -1
  87. package/build/components/dropdown/index.js +4 -6
  88. package/build/components/dropdown/index.js.map +1 -1
  89. package/build/components/dynamicSubmit/DynamicSubmit.js +81 -123
  90. package/build/components/dynamicSubmit/DynamicSubmit.js.map +1 -1
  91. package/build/components/dynamicSubmit/index.js +4 -6
  92. package/build/components/dynamicSubmit/index.js.map +1 -1
  93. package/build/components/form/Form.js +139 -193
  94. package/build/components/form/Form.js.map +1 -1
  95. package/build/components/form/FormContext.js +6 -8
  96. package/build/components/form/FormContext.js.map +1 -1
  97. package/build/components/form/FormValidationSummary.js +57 -105
  98. package/build/components/form/FormValidationSummary.js.map +1 -1
  99. package/build/components/form/index.js +5 -7
  100. package/build/components/form/index.js.map +1 -1
  101. package/build/components/form/withFormContext.js +9 -13
  102. package/build/components/form/withFormContext.js.map +1 -1
  103. package/build/components/inputGroup/InputGroup.js +16 -48
  104. package/build/components/inputGroup/InputGroup.js.map +1 -1
  105. package/build/components/inputGroup/index.js +4 -6
  106. package/build/components/inputGroup/index.js.map +1 -1
  107. package/build/components/money/Money.js +137 -211
  108. package/build/components/money/Money.js.map +1 -1
  109. package/build/components/money/index.js +4 -6
  110. package/build/components/money/index.js.map +1 -1
  111. package/build/components/numberInput/NumberInput.js +106 -144
  112. package/build/components/numberInput/NumberInput.js.map +1 -1
  113. package/build/components/numberInput/index.js +4 -6
  114. package/build/components/numberInput/index.js.map +1 -1
  115. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js +162 -220
  116. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js.map +1 -1
  117. package/build/components/openingHours/openingHoursDay/index.js +4 -6
  118. package/build/components/openingHours/openingHoursDay/index.js.map +1 -1
  119. package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js +114 -191
  120. package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js.map +1 -1
  121. package/build/components/openingHours/openingHoursSpecial/index.js +4 -6
  122. package/build/components/openingHours/openingHoursSpecial/index.js.map +1 -1
  123. package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js +150 -209
  124. package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js.map +1 -1
  125. package/build/components/openingHours/openingHoursWeek/index.js +4 -6
  126. package/build/components/openingHours/openingHoursWeek/index.js.map +1 -1
  127. package/build/components/openingHours/utils/OpeningHoursUtil.js +51 -76
  128. package/build/components/openingHours/utils/OpeningHoursUtil.js.map +1 -1
  129. package/build/components/radio/Radio.js +38 -75
  130. package/build/components/radio/Radio.js.map +1 -1
  131. package/build/components/radio/index.js +4 -6
  132. package/build/components/radio/index.js.map +1 -1
  133. package/build/components/radioContainer/RadioContainer.js +19 -49
  134. package/build/components/radioContainer/RadioContainer.js.map +1 -1
  135. package/build/components/radioContainer/index.js +4 -6
  136. package/build/components/radioContainer/index.js.map +1 -1
  137. package/build/components/select/Select.js +186 -264
  138. package/build/components/select/Select.js.map +1 -1
  139. package/build/components/select/index.js +4 -6
  140. package/build/components/select/index.js.map +1 -1
  141. package/build/components/submit/Submit.js +50 -87
  142. package/build/components/submit/Submit.js.map +1 -1
  143. package/build/components/submit/index.js +4 -6
  144. package/build/components/submit/index.js.map +1 -1
  145. package/build/components/submit/subComponents/SubmitValidationSummary.js +5 -7
  146. package/build/components/submit/subComponents/SubmitValidationSummary.js.map +1 -1
  147. package/build/components/tags/Tags.js +365 -565
  148. package/build/components/tags/Tags.js.map +1 -1
  149. package/build/components/tags/index.js +4 -6
  150. package/build/components/tags/index.js.map +1 -1
  151. package/build/components/tags/subComponents/TagsSuggestions.js +29 -30
  152. package/build/components/tags/subComponents/TagsSuggestions.js.map +1 -1
  153. package/build/components/text/Text.js +95 -138
  154. package/build/components/text/Text.js.map +1 -1
  155. package/build/components/text/index.js +4 -6
  156. package/build/components/text/index.js.map +1 -1
  157. package/build/components/textArea/TextArea.js +52 -91
  158. package/build/components/textArea/TextArea.js.map +1 -1
  159. package/build/components/textArea/index.js +4 -6
  160. package/build/components/textArea/index.js.map +1 -1
  161. package/build/components/themeProvider/ThemeContext.js +6 -8
  162. package/build/components/themeProvider/ThemeContext.js.map +1 -1
  163. package/build/components/themeProvider/ThemeProvider.js +3 -5
  164. package/build/components/themeProvider/ThemeProvider.js.map +1 -1
  165. package/build/components/themeProvider/index.js +4 -6
  166. package/build/components/themeProvider/index.js.map +1 -1
  167. package/build/components/themeProvider/withThemeContext.js +10 -14
  168. package/build/components/themeProvider/withThemeContext.js.map +1 -1
  169. package/build/components/time/Time.js +190 -216
  170. package/build/components/time/Time.js.map +1 -1
  171. package/build/components/time/index.js +4 -6
  172. package/build/components/time/index.js.map +1 -1
  173. package/build/components/timeSpan/TimeSpan.js +226 -280
  174. package/build/components/timeSpan/TimeSpan.js.map +1 -1
  175. package/build/components/timeSpan/index.js +4 -6
  176. package/build/components/timeSpan/index.js.map +1 -1
  177. package/build/components/utils/Guid.js +3 -5
  178. package/build/components/utils/Guid.js.map +1 -1
  179. package/build/components/utils/ShallowEqual.js +5 -11
  180. package/build/components/utils/ShallowEqual.js.map +1 -1
  181. package/build/components/utils/TimeUtil.js +8 -22
  182. package/build/components/utils/TimeUtil.js.map +1 -1
  183. package/build/components/utils/Typescript.js.map +1 -1
  184. package/build/dist/guestbell-forms.css +0 -6
  185. package/build/dist/guestbell-forms.css.map +1 -1
  186. package/build/dist/guestbell-forms.min.css +1 -1
  187. package/build/dist/guestbell-forms.min.js +1 -1
  188. package/build/dist/guestbell-forms.min.js.map +1 -1
  189. package/build/dist/report.html +2 -2
  190. package/build/index.js +23 -23
  191. package/build/index.js.map +1 -1
  192. package/build/types/ElementOverrideProp.js.map +1 -1
  193. package/build/types/Theme.js.map +1 -1
  194. package/build/types/ThemeOverrides.js.map +1 -1
  195. package/build/validators/EmailValidator.js +8 -22
  196. package/build/validators/EmailValidator.js.map +1 -1
  197. package/build/validators/LatitudeValidator.js +13 -27
  198. package/build/validators/LatitudeValidator.js.map +1 -1
  199. package/build/validators/LongitudeValidator.js +13 -27
  200. package/build/validators/LongitudeValidator.js.map +1 -1
  201. package/build/validators/NumberValidator.js +27 -39
  202. package/build/validators/NumberValidator.js.map +1 -1
  203. package/build/validators/UrlValidator.js +9 -23
  204. package/build/validators/UrlValidator.js.map +1 -1
  205. package/build/validators/base.js.map +1 -1
  206. package/build/validators/index.js +6 -6
  207. package/build/validators/index.js.map +1 -1
  208. package/package.json +8 -5
  209. package/tsconfig.json +0 -1
@@ -1,11 +1,9 @@
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.OpeningHoursDay = exports.OpeningHoursDayRaw = exports.defaultDayTranslations = void 0;
6
+ exports.defaultDayTranslations = exports.default = exports.OpeningHoursDayRaw = exports.OpeningHoursDay = void 0;
9
7
 
10
8
  var React = _interopRequireWildcard(require("react"));
11
9
 
@@ -17,7 +15,7 @@ var _TimeUtil = _interopRequireDefault(require("../../utils/TimeUtil"));
17
15
 
18
16
  var _InputGroup = _interopRequireDefault(require("../../inputGroup/InputGroup"));
19
17
 
20
- var _BaseInput2 = require("../../base/input/BaseInput");
18
+ var _BaseInput = require("../../base/input/BaseInput");
21
19
 
22
20
  var _Button = require("../../button/Button");
23
21
 
@@ -31,35 +29,15 @@ var _withThemeContext = require("../../themeProvider/withThemeContext");
31
29
 
32
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
31
 
34
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
- 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; }
37
-
38
- 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); }
39
-
40
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
41
-
42
- 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); } }
43
-
44
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
45
-
46
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
32
+ 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); }
47
33
 
48
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
34
+ 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; }
49
35
 
50
- 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); }; }
36
+ 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); }
51
37
 
52
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
53
39
 
54
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
55
-
56
- 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; } }
57
-
58
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
-
60
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
61
-
62
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
40
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
63
41
 
64
42
  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; }
65
43
 
@@ -78,248 +56,212 @@ PlusIcon.defaultProps = {
78
56
 
79
57
  var classNames = require('classnames');
80
58
 
81
- var defaultDayTranslations = _objectSpread({
59
+ const defaultDayTranslations = _objectSpread({
82
60
  opens: 'Opens',
83
61
  closes: 'Closes',
84
62
  capacity: 'Capacity',
85
63
  add: 'Add new time range',
86
64
  midnight: 'Midnight'
87
- }, _BaseInput2.defaultBaseTranslations);
65
+ }, _BaseInput.defaultBaseTranslations);
88
66
 
89
67
  exports.defaultDayTranslations = defaultDayTranslations;
90
68
 
91
- var OpeningHoursDayRaw = /*#__PURE__*/function (_BaseInput) {
92
- _inherits(OpeningHoursDayRaw, _BaseInput);
93
-
94
- var _super = _createSuper(OpeningHoursDayRaw);
95
-
96
- function OpeningHoursDayRaw(props) {
97
- var _this;
69
+ class OpeningHoursDayRaw extends _BaseInput.BaseInput {
70
+ constructor(props) {
71
+ super(props);
98
72
 
99
- _classCallCheck(this, OpeningHoursDayRaw);
73
+ _defineProperty(this, "fullDayMilliseconds", 24 * 60 * 60 * 1000);
100
74
 
101
- _this = _super.call(this, props);
102
-
103
- _defineProperty(_assertThisInitialized(_this), "fullDayMilliseconds", 24 * 60 * 60 * 1000);
104
-
105
- _defineProperty(_assertThisInitialized(_this), "addTimeClick", function () {
106
- var newTime = _this.props.openingHours && _this.props.openingHours.times && _this.props.openingHours.times.length ? _this.props.openingHours.times[_this.props.openingHours.times.length - 1].closes.clone() : _this.getTime(8, 0);
75
+ _defineProperty(this, "addTimeClick", () => {
76
+ let newTime = this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length ? this.props.openingHours.times[this.props.openingHours.times.length - 1].closes.clone() : this.getTime(8, 0);
107
77
 
108
78
  if (newTime.hours() < 23) {
109
79
  newTime = newTime.add(1, 'hour');
110
80
  }
111
81
 
112
- var closeTime = newTime.clone().add(1, 'hour');
113
-
114
- _this.props.onOpeningHoursChange(_objectSpread(_objectSpread({}, _this.props.openingHours), {}, {
115
- times: _this.props.openingHours.times.concat({
82
+ let closeTime = newTime.clone().add(1, 'hour');
83
+ this.props.onOpeningHoursChange(_objectSpread(_objectSpread({}, this.props.openingHours), {}, {
84
+ times: this.props.openingHours.times.concat({
116
85
  opens: newTime,
117
86
  closes: closeTime,
118
- capacity: _this.props.useCapacity ? 1 : undefined
87
+ capacity: this.props.useCapacity ? 1 : undefined
119
88
  })
120
89
  }));
121
90
  });
122
91
 
123
- _defineProperty(_assertThisInitialized(_this), "removeTimeClick", function (index) {
124
- return function () {
125
- return _this.props.onOpeningHoursChange(_objectSpread(_objectSpread({}, _this.props.openingHours), {}, {
126
- times: _this.props.openingHours.times.filter(function (time, itemIndex) {
127
- return itemIndex < index || itemIndex > index + 1;
128
- })
129
- }));
130
- };
131
- });
92
+ _defineProperty(this, "removeTimeClick", index => () => this.props.onOpeningHoursChange(_objectSpread(_objectSpread({}, this.props.openingHours), {}, {
93
+ times: this.props.openingHours.times.filter((time, itemIndex) => itemIndex < index || itemIndex > index + 1)
94
+ })));
132
95
 
133
- _defineProperty(_assertThisInitialized(_this), "timeChanged", function (index, indexJ) {
134
- return function (time) {
135
- var newOpeningHours = _objectSpread(_objectSpread({}, _this.props.openingHours), {}, {
136
- times: _this.props.openingHours.times.slice(0)
137
- });
96
+ _defineProperty(this, "timeChanged", (index, indexJ) => time => {
97
+ let newOpeningHours = _objectSpread(_objectSpread({}, this.props.openingHours), {}, {
98
+ times: this.props.openingHours.times.slice(0)
99
+ });
138
100
 
139
- if (indexJ === 0) {
140
- newOpeningHours.times[index] = _objectSpread(_objectSpread({}, newOpeningHours.times[index]), {}, {
141
- opens: time
142
- });
143
- } else {
144
- newOpeningHours.times[index] = _objectSpread(_objectSpread({}, newOpeningHours.times[index]), {}, {
145
- closes: time
146
- });
147
- }
101
+ if (indexJ === 0) {
102
+ newOpeningHours.times[index] = _objectSpread(_objectSpread({}, newOpeningHours.times[index]), {}, {
103
+ opens: time
104
+ });
105
+ } else {
106
+ newOpeningHours.times[index] = _objectSpread(_objectSpread({}, newOpeningHours.times[index]), {}, {
107
+ closes: time
108
+ });
109
+ }
148
110
 
149
- _this.props.onOpeningHoursChange(newOpeningHours);
150
- };
111
+ this.props.onOpeningHoursChange(newOpeningHours);
151
112
  });
152
-
153
- return _this;
154
113
  }
155
114
 
156
- _createClass(OpeningHoursDayRaw, [{
157
- key: "render",
158
- value: function render() {
159
- var _this2 = this;
160
-
161
- var translations = this.getTranslations(defaultDayTranslations);
162
- return /*#__PURE__*/React.createElement(_InputGroup.default, {
163
- title: this.props.title,
164
- className: classNames('input__group__openingHoursDay', this.props.className, {
165
- 'input__group__openingHoursDay--closed': this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length === 0
166
- }),
167
- tooltip: this.props.tooltip
168
- }, /*#__PURE__*/React.createElement("div", _extends({}, this.props.id && {
169
- id: this.props.id
170
- }, {
171
- className: classNames('input__base openingHoursDay-input', {
172
- 'openingHoursDay-input--closed': this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length === 0
173
- }, this.getValidationClass()),
174
- ref: this.containerRef
175
- }), /*#__PURE__*/React.createElement("div", {
176
- className: "openingHoursDay-input__container"
177
- }, this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.map(function (item, index) {
178
- var times = [item.opens, item.closes];
179
- return /*#__PURE__*/React.createElement("div", {
180
- className: "openingHoursDay-input__time__container",
181
- key: index
182
- }, times.map(function (time, indexJ) {
183
- var localIndex = index * 2 + indexJ;
184
- var previousTime = indexJ > 0 ? times[indexJ - 1].clone() : index === 0 ? _this2.getTime(0, 0) : _this2.props.openingHours.times[index - 1].closes.clone();
185
- var nextTime = indexJ === 0 ? times[1] : _this2.props.openingHours.times.length - 1 > index ? _this2.props.openingHours.times[index + 1].opens.clone() : _this2.getTime(23, 59, true);
186
-
187
- if (localIndex % 2 === 0) {
188
- nextTime = (0, _moment.duration)(Math.min.apply(null, [_this2.getTime(23, 59, false).asMilliseconds(), nextTime.asMilliseconds()]), 'millisecond');
189
- }
190
-
191
- return /*#__PURE__*/React.createElement(_Time.Time, _extends({
192
- key: "".concat(index, "-").concat(indexJ)
193
- }, _this2.props.id && {
194
- id: "".concat(_this2.props.id, "-time-").concat(index.toString(), "-").concat(indexJ.toString())
195
- }, {
196
- className: 'openingHoursDay-input__time',
197
- timeChange: _this2.timeChanged(index, indexJ),
198
- time: time,
199
- min: previousTime,
200
- max: nextTime,
201
- showDateDiff: true,
202
- label: indexJ % 2 === 0 ? translations.opens : translations.closes
203
- }));
204
- }), _this2.props.useCapacity && /*#__PURE__*/React.createElement(_NumberInput.default, {
205
- label: translations.capacity,
206
- min: 0,
207
- number: item.capacity,
208
- onNumberChange: function onNumberChange(num) {
209
- return _this2.props.onOpeningHoursChange(_objectSpread(_objectSpread({}, _this2.props.openingHours), {}, {
210
- times: _this2.props.openingHours.times.map(function (t, i) {
211
- return i === index ? _objectSpread(_objectSpread({}, t), {}, {
212
- capacity: num
213
- }) : t;
214
- })
215
- }));
216
- }
217
- }), /*#__PURE__*/React.createElement(_Button.Button, _extends({}, _this2.props.id && {
218
- id: _this2.props.id + '-remove-button-' + ((index - 1) / 2).toString()
115
+ render() {
116
+ const translations = this.getTranslations(defaultDayTranslations);
117
+ return /*#__PURE__*/React.createElement(_InputGroup.default, {
118
+ title: this.props.title,
119
+ className: classNames('input__group__openingHoursDay', this.props.className, {
120
+ 'input__group__openingHoursDay--closed': this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length === 0
121
+ }),
122
+ tooltip: this.props.tooltip
123
+ }, /*#__PURE__*/React.createElement("div", _extends({}, this.props.id && {
124
+ id: this.props.id
125
+ }, {
126
+ className: classNames('input__base openingHoursDay-input', {
127
+ 'openingHoursDay-input--closed': this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length === 0
128
+ }, this.getValidationClass()),
129
+ ref: this.containerRef
130
+ }), /*#__PURE__*/React.createElement("div", {
131
+ className: "openingHoursDay-input__container"
132
+ }, this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.map((item, index) => {
133
+ const times = [item.opens, item.closes];
134
+ return /*#__PURE__*/React.createElement("div", {
135
+ className: "openingHoursDay-input__time__container",
136
+ key: index
137
+ }, times.map((time, indexJ) => {
138
+ const localIndex = index * 2 + indexJ;
139
+ const previousTime = indexJ > 0 ? times[indexJ - 1].clone() : index === 0 ? this.getTime(0, 0) : this.props.openingHours.times[index - 1].closes.clone();
140
+ let nextTime = indexJ === 0 ? times[1] : this.props.openingHours.times.length - 1 > index ? this.props.openingHours.times[index + 1].opens.clone() : this.getTime(23, 59, true);
141
+
142
+ if (localIndex % 2 === 0) {
143
+ nextTime = (0, _moment.duration)(Math.min.apply(null, [this.getTime(23, 59, false).asMilliseconds(), nextTime.asMilliseconds()]), 'millisecond');
144
+ }
145
+
146
+ return /*#__PURE__*/React.createElement(_Time.Time, _extends({
147
+ key: `${index}-${indexJ}`
148
+ }, this.props.id && {
149
+ id: `${this.props.id}-time-${index.toString()}-${indexJ.toString()}`
219
150
  }, {
220
- onClick: _this2.removeTimeClick(index),
221
- className: "openingHoursDay-input__button--remove mr-3 line-height--0",
222
- circular: true,
223
- blank: true,
224
- type: "error"
225
- }), /*#__PURE__*/React.createElement(PlusIcon, null)));
226
- }), this.props.maxOpenCloseTimes > this.props.openingHours.times.length && /*#__PURE__*/React.createElement(_Button.Button, _extends({}, this.props.id && {
227
- id: this.props.id + '-add-button'
151
+ className: 'openingHoursDay-input__time',
152
+ timeChange: this.timeChanged(index, indexJ),
153
+ time: time,
154
+ min: previousTime,
155
+ max: nextTime,
156
+ showDateDiff: true,
157
+ label: indexJ % 2 === 0 ? translations.opens : translations.closes
158
+ }));
159
+ }), this.props.useCapacity && /*#__PURE__*/React.createElement(_NumberInput.default, {
160
+ label: translations.capacity,
161
+ min: 0,
162
+ number: item.capacity,
163
+ onNumberChange: num => this.props.onOpeningHoursChange(_objectSpread(_objectSpread({}, this.props.openingHours), {}, {
164
+ times: this.props.openingHours.times.map((t, i) => i === index ? _objectSpread(_objectSpread({}, t), {}, {
165
+ capacity: num
166
+ }) : t)
167
+ }))
168
+ }), /*#__PURE__*/React.createElement(_Button.Button, _extends({}, this.props.id && {
169
+ id: this.props.id + '-remove-button-' + ((index - 1) / 2).toString()
228
170
  }, {
229
- className: "openingHoursDay-input__button-open-close",
230
- onClick: this.addTimeClick,
231
- disabled: this.isAddTimeClickDisabled(),
232
- type: 'primary',
233
- hero: true
234
- }), translations.add)), this.renderDefaultValidation(), this.props.openingHours && this.props.label && /*#__PURE__*/React.createElement("span", {
235
- className: 'label-classname ' + (this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length ? 'label--focused' : 'label--focused label--closed')
236
- }, this.renderLabel(true))), this.getBottomBorder(translations));
237
- }
238
- }, {
239
- key: "isAddTimeClickDisabled",
240
- value: function isAddTimeClickDisabled() {
241
- if (this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length) {
242
- var dayDiff = _TimeUtil.default.dayDiff(this.props.openingHours.times[0].opens, this.props.openingHours.times[this.props.openingHours.times.length - 1].closes);
243
-
244
- if (dayDiff > 0) {
245
- return true;
246
- }
247
- }
171
+ onClick: this.removeTimeClick(index),
172
+ className: "openingHoursDay-input__button--remove mr-3 line-height--0",
173
+ circular: true,
174
+ blank: true,
175
+ type: "error"
176
+ }), /*#__PURE__*/React.createElement(PlusIcon, null)));
177
+ }), this.props.maxOpenCloseTimes > this.props.openingHours.times.length && /*#__PURE__*/React.createElement(_Button.Button, _extends({}, this.props.id && {
178
+ id: this.props.id + '-add-button'
179
+ }, {
180
+ className: "openingHoursDay-input__button-open-close",
181
+ onClick: this.addTimeClick,
182
+ disabled: this.isAddTimeClickDisabled(),
183
+ type: 'primary',
184
+ hero: true
185
+ }), translations.add)), this.renderDefaultValidation(), this.props.openingHours && this.props.label && /*#__PURE__*/React.createElement("span", {
186
+ className: 'label-classname ' + (this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length ? 'label--focused' : 'label--focused label--closed')
187
+ }, this.renderLabel(true))), this.getBottomBorder(translations));
188
+ }
248
189
 
249
- return false;
190
+ isAddTimeClickDisabled() {
191
+ if (this.props.openingHours && this.props.openingHours.times && this.props.openingHours.times.length) {
192
+ const dayDiff = _TimeUtil.default.dayDiff(this.props.openingHours.times[0].opens, this.props.openingHours.times[this.props.openingHours.times.length - 1].closes);
193
+
194
+ if (dayDiff > 0) {
195
+ return true;
196
+ }
250
197
  }
251
- }, {
252
- key: "getBottomBorder",
253
- value: function getBottomBorder(translations) {
254
- var times = (this.props.openingHours && this.props.openingHours.times || []).reduce(function (a, b) {
255
- return a.concat([b.opens, b.closes]);
256
- }, []);
257
- var parts = [];
258
- var totalTime = this.fullDayMilliseconds;
259
-
260
- if (!times.length) {
261
- parts = parts.concat([1]);
262
- } else {
263
- totalTime = Math.max(this.fullDayMilliseconds, _OpeningHoursUtil.default.getTimeFromMidnight(times[times.length - 1], times[0]));
264
- parts = parts.concat([_OpeningHoursUtil.default.getTimeFromMidnight(times[0]) / totalTime]);
265
198
 
266
- for (var index = 0; index < times.length - 1; index++) {
267
- var start = _OpeningHoursUtil.default.getTimeFromMidnight(times[index], times[0]);
199
+ return false;
200
+ }
268
201
 
269
- var end = _OpeningHoursUtil.default.getTimeFromMidnight(times[index + 1], times[0]);
202
+ getBottomBorder(translations) {
203
+ const times = (this.props.openingHours && this.props.openingHours.times || []).reduce((a, b) => a.concat([b.opens, b.closes]), []);
204
+ let parts = [];
205
+ let totalTime = this.fullDayMilliseconds;
270
206
 
271
- var diff = (end - start) / totalTime;
272
- parts = parts.concat([diff]);
273
- }
207
+ if (!times.length) {
208
+ parts = parts.concat([1]);
209
+ } else {
210
+ totalTime = Math.max(this.fullDayMilliseconds, _OpeningHoursUtil.default.getTimeFromMidnight(times[times.length - 1], times[0]));
211
+ parts = parts.concat([_OpeningHoursUtil.default.getTimeFromMidnight(times[0]) / totalTime]);
212
+
213
+ for (var index = 0; index < times.length - 1; index++) {
214
+ let start = _OpeningHoursUtil.default.getTimeFromMidnight(times[index], times[0]);
274
215
 
275
- parts = parts.concat([(totalTime - _OpeningHoursUtil.default.getTimeFromMidnight(times[times.length - 1], times[0])) / totalTime]);
216
+ let end = _OpeningHoursUtil.default.getTimeFromMidnight(times[index + 1], times[0]);
217
+
218
+ let diff = (end - start) / totalTime;
219
+ parts = parts.concat([diff]);
276
220
  }
277
221
 
278
- return /*#__PURE__*/React.createElement("div", {
279
- className: "openingHoursDay-input__bottom-border__container"
280
- }, parts.map(function (part, i) {
281
- return /*#__PURE__*/React.createElement("div", {
282
- key: i,
283
- className: 'openingHoursDay-input__bottom-border ' + (i % 2 === 0 ? 'openingHoursDay-input__bottom-border--closed' : 'openingHoursDay-input__bottom-border--open'),
284
- style: {
285
- width: part ? (part * 100).toFixed(2) + '%' : '0'
286
- }
287
- });
288
- }), totalTime > this.fullDayMilliseconds && /*#__PURE__*/React.createElement("div", {
289
- className: "openingHoursDay-input__bottom-border--midnight",
290
- style: {
291
- left: (this.fullDayMilliseconds * 100 / totalTime).toString() + '%'
292
- },
293
- title: translations.midnight
294
- }));
222
+ parts = parts.concat([(totalTime - _OpeningHoursUtil.default.getTimeFromMidnight(times[times.length - 1], times[0])) / totalTime]);
295
223
  }
296
- }, {
297
- key: "getTime",
298
- value: function getTime(hours, minutes) {
299
- var nextDay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
300
- var time = (0, _moment.duration)(0, 'millisecond').add(hours, 'hours').add(minutes, 'minutes');
301
-
302
- if (nextDay) {
303
- time = time.add(1, 'day');
224
+
225
+ return /*#__PURE__*/React.createElement("div", {
226
+ className: "openingHoursDay-input__bottom-border__container"
227
+ }, parts.map((part, i) => /*#__PURE__*/React.createElement("div", {
228
+ key: i,
229
+ className: 'openingHoursDay-input__bottom-border ' + (i % 2 === 0 ? 'openingHoursDay-input__bottom-border--closed' : 'openingHoursDay-input__bottom-border--open'),
230
+ style: {
231
+ width: part ? (part * 100).toFixed(2) + '%' : '0'
304
232
  }
233
+ })), totalTime > this.fullDayMilliseconds && /*#__PURE__*/React.createElement("div", {
234
+ className: "openingHoursDay-input__bottom-border--midnight",
235
+ style: {
236
+ left: (this.fullDayMilliseconds * 100 / totalTime).toString() + '%'
237
+ },
238
+ title: translations.midnight
239
+ }));
240
+ }
305
241
 
306
- return time;
242
+ getTime(hours, minutes) {
243
+ let nextDay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
244
+ let time = (0, _moment.duration)(0, 'millisecond').add(hours, 'hours').add(minutes, 'minutes');
245
+
246
+ if (nextDay) {
247
+ time = time.add(1, 'day');
307
248
  }
308
- }]);
309
249
 
310
- return OpeningHoursDayRaw;
311
- }(_BaseInput2.BaseInput);
250
+ return time;
251
+ }
252
+
253
+ }
312
254
 
313
255
  exports.OpeningHoursDayRaw = OpeningHoursDayRaw;
314
256
 
315
- _defineProperty(OpeningHoursDayRaw, "defaultProps", Object.assign({}, _BaseInput2.BaseInput.defaultProps, {
257
+ _defineProperty(OpeningHoursDayRaw, "defaultProps", Object.assign({}, _BaseInput.BaseInput.defaultProps, {
316
258
  onChange: undefined,
317
259
  type: 'openingHours',
318
260
  allowMultiple: false,
319
261
  maxOpenCloseTimes: 10
320
262
  }));
321
263
 
322
- var OpeningHoursDay = (0, _withThemeContext.withThemeContext)((0, _withFormContext.withFormContext)(OpeningHoursDayRaw), 'openingHoursDay');
264
+ const OpeningHoursDay = (0, _withThemeContext.withThemeContext)((0, _withFormContext.withFormContext)(OpeningHoursDayRaw), 'openingHoursDay');
323
265
  exports.OpeningHoursDay = OpeningHoursDay;
324
266
  var _default = OpeningHoursDay;
325
267
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/components/openingHours/openingHoursDay/OpeningHoursDay.tsx"],"names":["PlusIcon","classNames","require","defaultDayTranslations","opens","closes","capacity","add","midnight","defaultBaseTranslations","OpeningHoursDayRaw","props","newTime","openingHours","times","length","clone","getTime","hours","closeTime","onOpeningHoursChange","concat","useCapacity","undefined","index","filter","time","itemIndex","indexJ","newOpeningHours","slice","translations","getTranslations","title","className","tooltip","id","getValidationClass","containerRef","map","item","localIndex","previousTime","nextTime","Math","min","apply","asMilliseconds","toString","timeChanged","num","t","i","removeTimeClick","maxOpenCloseTimes","addTimeClick","isAddTimeClickDisabled","renderDefaultValidation","label","renderLabel","getBottomBorder","dayDiff","TimeUtil","reduce","a","b","parts","totalTime","fullDayMilliseconds","max","OpeningHoursUtil","getTimeFromMidnight","start","end","diff","part","width","toFixed","left","minutes","nextDay","BaseInput","Object","assign","defaultProps","onChange","type","allowMultiple","OpeningHoursDay"],"mappings":"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","sourcesContent":["import * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_circle_outline_24px.svg';\r\n\r\n// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport { Time } from '../../time/Time';\r\nimport OpeningHoursUtil from '../utils/OpeningHoursUtil';\r\nimport TimeUtil from '../../utils/TimeUtil';\r\nimport InputGroup from '../../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n defaultBaseTranslations,\r\n} from '../../base/input/BaseInput';\r\nimport { Button } from '../../button/Button';\r\nimport { withFormContext } from '../../form/withFormContext';\r\nvar classNames = require('classnames');\r\nimport { Duration, duration } from 'moment';\r\nimport NumberInput from '../../numberInput/NumberInput';\r\nimport { withThemeContext } from '../../themeProvider/withThemeContext';\r\n\r\nexport interface OpeningHoursPeriodObj {\r\n opens: Duration;\r\n closes: Duration;\r\n capacity?: number;\r\n}\r\n\r\nexport interface OpeningHoursDayObj {\r\n times: OpeningHoursPeriodObj[];\r\n}\r\n\r\nexport const defaultDayTranslations = {\r\n opens: 'Opens',\r\n closes: 'Closes',\r\n capacity: 'Capacity',\r\n add: 'Add new time range',\r\n midnight: 'Midnight',\r\n ...defaultBaseTranslations,\r\n};\r\n\r\nexport type OpeningHoursDayTranslations = Partial<\r\n typeof defaultDayTranslations\r\n>;\r\n\r\nexport interface OpeningHoursDayProps\r\n extends BaseInputProps<never, OpeningHoursDayTranslations> {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onOpeningHoursChange: (openingHours: OpeningHoursDayObj) => void;\r\n openingHours: OpeningHoursDayObj;\r\n label?: JSX.Element | string;\r\n maxOpenCloseTimes?: number;\r\n useCapacity?: boolean;\r\n}\r\n\r\nexport interface OpeningHoursState extends BaseInputState {}\r\n\r\nexport class OpeningHoursDayRaw extends BaseInput<\r\n OpeningHoursDayProps,\r\n OpeningHoursState,\r\n never,\r\n OpeningHoursDayTranslations\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n onChange: undefined,\r\n type: 'openingHours',\r\n allowMultiple: false,\r\n maxOpenCloseTimes: 10,\r\n });\r\n private fullDayMilliseconds: number = 24 * 60 * 60 * 1000;\r\n\r\n constructor(props: OpeningHoursDayProps) {\r\n super(props);\r\n }\r\n\r\n public render() {\r\n const translations = this.getTranslations(defaultDayTranslations);\r\n return (\r\n <InputGroup\r\n title={this.props.title}\r\n className={classNames(\r\n 'input__group__openingHoursDay',\r\n this.props.className,\r\n {\r\n 'input__group__openingHoursDay--closed':\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length === 0,\r\n }\r\n )}\r\n tooltip={this.props.tooltip}\r\n >\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base openingHoursDay-input',\r\n {\r\n 'openingHoursDay-input--closed':\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length === 0,\r\n },\r\n this.getValidationClass()\r\n )}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"openingHoursDay-input__container\">\r\n {this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.map((item, index) => {\r\n const times = [item.opens, item.closes];\r\n return (\r\n <div\r\n className=\"openingHoursDay-input__time__container\"\r\n key={index}\r\n >\r\n {times.map((time, indexJ) => {\r\n const localIndex = index * 2 + indexJ;\r\n const previousTime =\r\n indexJ > 0\r\n ? times[indexJ - 1].clone()\r\n : index === 0\r\n ? this.getTime(0, 0)\r\n : this.props.openingHours.times[\r\n index - 1\r\n ].closes.clone();\r\n let nextTime =\r\n indexJ === 0\r\n ? times[1]\r\n : this.props.openingHours.times.length - 1 > index\r\n ? this.props.openingHours.times[\r\n index + 1\r\n ].opens.clone()\r\n : this.getTime(23, 59, true);\r\n if (localIndex % 2 === 0) {\r\n nextTime = duration(\r\n Math.min.apply(null, [\r\n this.getTime(23, 59, false).asMilliseconds(),\r\n nextTime.asMilliseconds(),\r\n ]),\r\n 'millisecond'\r\n );\r\n }\r\n return (\r\n <Time\r\n key={`${index}-${indexJ}`}\r\n {...(this.props.id && {\r\n id: `${\r\n this.props.id\r\n }-time-${index.toString()}-${indexJ.toString()}`,\r\n })}\r\n className={'openingHoursDay-input__time'}\r\n timeChange={this.timeChanged(index, indexJ)}\r\n time={time}\r\n min={previousTime}\r\n max={nextTime}\r\n showDateDiff={true}\r\n label={\r\n indexJ % 2 === 0\r\n ? translations.opens\r\n : translations.closes\r\n }\r\n />\r\n );\r\n })}\r\n {this.props.useCapacity && (\r\n <NumberInput\r\n label={translations.capacity}\r\n min={0}\r\n number={item.capacity}\r\n onNumberChange={num =>\r\n this.props.onOpeningHoursChange({\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.map((t, i) =>\r\n i === index ? { ...t, capacity: num } : t\r\n ),\r\n })\r\n }\r\n />\r\n )}\r\n <Button\r\n {...(this.props.id && {\r\n id:\r\n this.props.id +\r\n '-remove-button-' +\r\n ((index - 1) / 2).toString(),\r\n })}\r\n onClick={this.removeTimeClick(index)}\r\n className=\"openingHoursDay-input__button--remove mr-3 line-height--0\"\r\n circular={true}\r\n blank={true}\r\n type=\"error\"\r\n >\r\n <PlusIcon />\r\n </Button>\r\n </div>\r\n );\r\n })}\r\n {this.props.maxOpenCloseTimes >\r\n this.props.openingHours.times.length && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-button',\r\n })}\r\n className=\"openingHoursDay-input__button-open-close\"\r\n onClick={this.addTimeClick}\r\n disabled={this.isAddTimeClickDisabled()}\r\n type={'primary'}\r\n hero={true}\r\n >\r\n {translations.add}\r\n </Button>\r\n )}\r\n </div>\r\n {this.renderDefaultValidation()}\r\n {this.props.openingHours && this.props.label && (\r\n <span\r\n className={\r\n 'label-classname ' +\r\n (this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length\r\n ? 'label--focused'\r\n : 'label--focused label--closed')\r\n }\r\n >\r\n {this.renderLabel(true)}\r\n </span>\r\n )}\r\n </div>\r\n {this.getBottomBorder(translations)}\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private isAddTimeClickDisabled() {\r\n if (\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length\r\n ) {\r\n const dayDiff = TimeUtil.dayDiff(\r\n this.props.openingHours.times[0].opens,\r\n this.props.openingHours.times[this.props.openingHours.times.length - 1]\r\n .closes\r\n );\r\n if (dayDiff > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private addTimeClick = () => {\r\n let newTime =\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length\r\n ? this.props.openingHours.times[\r\n this.props.openingHours.times.length - 1\r\n ].closes.clone()\r\n : this.getTime(8, 0);\r\n if (newTime.hours() < 23) {\r\n newTime = newTime.add(1, 'hour');\r\n }\r\n let closeTime = newTime.clone().add(1, 'hour');\r\n this.props.onOpeningHoursChange({\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.concat({\r\n opens: newTime,\r\n closes: closeTime,\r\n capacity: this.props.useCapacity ? 1 : undefined,\r\n }),\r\n });\r\n };\r\n\r\n private removeTimeClick = (index: number) => () =>\r\n this.props.onOpeningHoursChange({\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.filter(\r\n (time, itemIndex) => itemIndex < index || itemIndex > index + 1\r\n ),\r\n });\r\n\r\n private timeChanged = (index: number, indexJ: number) => (time: Duration) => {\r\n let newOpeningHours: OpeningHoursDayObj = {\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.slice(0),\r\n };\r\n if (indexJ === 0) {\r\n newOpeningHours.times[index] = {\r\n ...newOpeningHours.times[index],\r\n opens: time,\r\n };\r\n } else {\r\n newOpeningHours.times[index] = {\r\n ...newOpeningHours.times[index],\r\n closes: time,\r\n };\r\n }\r\n this.props.onOpeningHoursChange(newOpeningHours);\r\n };\r\n\r\n private getBottomBorder(translations: OpeningHoursDayTranslations) {\r\n const times = (\r\n (this.props.openingHours && this.props.openingHours.times) ||\r\n []\r\n ).reduce<Duration[]>((a, b) => a.concat([b.opens, b.closes]), []);\r\n let parts = [];\r\n let totalTime = this.fullDayMilliseconds;\r\n if (!times.length) {\r\n parts = parts.concat([1]);\r\n } else {\r\n totalTime = Math.max(\r\n this.fullDayMilliseconds,\r\n OpeningHoursUtil.getTimeFromMidnight(times[times.length - 1], times[0])\r\n );\r\n parts = parts.concat([\r\n OpeningHoursUtil.getTimeFromMidnight(times[0]) / totalTime,\r\n ]);\r\n for (var index = 0; index < times.length - 1; index++) {\r\n let start = OpeningHoursUtil.getTimeFromMidnight(\r\n times[index],\r\n times[0]\r\n );\r\n let end = OpeningHoursUtil.getTimeFromMidnight(\r\n times[index + 1],\r\n times[0]\r\n );\r\n let diff = (end - start) / totalTime;\r\n parts = parts.concat([diff]);\r\n }\r\n parts = parts.concat([\r\n (totalTime -\r\n OpeningHoursUtil.getTimeFromMidnight(\r\n times[times.length - 1],\r\n times[0]\r\n )) /\r\n totalTime,\r\n ]);\r\n }\r\n return (\r\n <div className=\"openingHoursDay-input__bottom-border__container\">\r\n {parts.map((part, i) => (\r\n <div\r\n key={i}\r\n className={\r\n 'openingHoursDay-input__bottom-border ' +\r\n (i % 2 === 0\r\n ? 'openingHoursDay-input__bottom-border--closed'\r\n : 'openingHoursDay-input__bottom-border--open')\r\n }\r\n style={{ width: part ? (part * 100).toFixed(2) + '%' : '0' }}\r\n />\r\n ))}\r\n {totalTime > this.fullDayMilliseconds && (\r\n <div\r\n className=\"openingHoursDay-input__bottom-border--midnight\"\r\n style={{\r\n left:\r\n ((this.fullDayMilliseconds * 100) / totalTime).toString() + '%',\r\n }}\r\n title={translations.midnight}\r\n />\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n private getTime(\r\n hours: number,\r\n minutes: number,\r\n nextDay: boolean = false\r\n ): Duration {\r\n let time = duration(0, 'millisecond')\r\n .add(hours, 'hours')\r\n .add(minutes, 'minutes');\r\n if (nextDay) {\r\n time = time.add(1, 'day');\r\n }\r\n return time;\r\n }\r\n}\r\n\r\nexport const OpeningHoursDay = withThemeContext<\r\n OpeningHoursDayProps,\r\n InstanceType<typeof OpeningHoursDayRaw>\r\n>(withFormContext<OpeningHoursDayProps>(OpeningHoursDayRaw), 'openingHoursDay');\r\n\r\nexport default OpeningHoursDay;\r\n"],"file":"OpeningHoursDay.js"}
1
+ {"version":3,"file":"OpeningHoursDay.js","names":["PlusIcon","classNames","require","defaultDayTranslations","opens","closes","capacity","add","midnight","defaultBaseTranslations","OpeningHoursDayRaw","BaseInput","constructor","props","newTime","openingHours","times","length","clone","getTime","hours","closeTime","onOpeningHoursChange","concat","useCapacity","undefined","index","filter","time","itemIndex","indexJ","newOpeningHours","slice","render","translations","getTranslations","title","className","tooltip","id","getValidationClass","containerRef","map","item","localIndex","previousTime","nextTime","duration","Math","min","apply","asMilliseconds","toString","timeChanged","num","t","i","removeTimeClick","maxOpenCloseTimes","addTimeClick","isAddTimeClickDisabled","renderDefaultValidation","label","renderLabel","getBottomBorder","dayDiff","TimeUtil","reduce","a","b","parts","totalTime","fullDayMilliseconds","max","OpeningHoursUtil","getTimeFromMidnight","start","end","diff","part","width","toFixed","left","minutes","nextDay","Object","assign","defaultProps","onChange","type","allowMultiple","OpeningHoursDay","withThemeContext","withFormContext"],"sources":["../../../../src/lib/components/openingHours/openingHoursDay/OpeningHoursDay.tsx"],"sourcesContent":["import * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_circle_outline_24px.svg';\r\n\r\n// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport { Time } from '../../time/Time';\r\nimport OpeningHoursUtil from '../utils/OpeningHoursUtil';\r\nimport TimeUtil from '../../utils/TimeUtil';\r\nimport InputGroup from '../../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n defaultBaseTranslations,\r\n} from '../../base/input/BaseInput';\r\nimport { Button } from '../../button/Button';\r\nimport { withFormContext } from '../../form/withFormContext';\r\nvar classNames = require('classnames');\r\nimport { Duration, duration } from 'moment';\r\nimport NumberInput from '../../numberInput/NumberInput';\r\nimport { withThemeContext } from '../../themeProvider/withThemeContext';\r\n\r\nexport interface OpeningHoursPeriodObj {\r\n opens: Duration;\r\n closes: Duration;\r\n capacity?: number;\r\n}\r\n\r\nexport interface OpeningHoursDayObj {\r\n times: OpeningHoursPeriodObj[];\r\n}\r\n\r\nexport const defaultDayTranslations = {\r\n opens: 'Opens',\r\n closes: 'Closes',\r\n capacity: 'Capacity',\r\n add: 'Add new time range',\r\n midnight: 'Midnight',\r\n ...defaultBaseTranslations,\r\n};\r\n\r\nexport type OpeningHoursDayTranslations = Partial<\r\n typeof defaultDayTranslations\r\n>;\r\n\r\nexport interface OpeningHoursDayProps\r\n extends BaseInputProps<never, OpeningHoursDayTranslations> {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onOpeningHoursChange: (openingHours: OpeningHoursDayObj) => void;\r\n openingHours: OpeningHoursDayObj;\r\n label?: JSX.Element | string;\r\n maxOpenCloseTimes?: number;\r\n useCapacity?: boolean;\r\n}\r\n\r\nexport interface OpeningHoursState extends BaseInputState {}\r\n\r\nexport class OpeningHoursDayRaw extends BaseInput<\r\n OpeningHoursDayProps,\r\n OpeningHoursState,\r\n never,\r\n OpeningHoursDayTranslations\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n onChange: undefined,\r\n type: 'openingHours',\r\n allowMultiple: false,\r\n maxOpenCloseTimes: 10,\r\n });\r\n private fullDayMilliseconds: number = 24 * 60 * 60 * 1000;\r\n\r\n constructor(props: OpeningHoursDayProps) {\r\n super(props);\r\n }\r\n\r\n public render() {\r\n const translations = this.getTranslations(defaultDayTranslations);\r\n return (\r\n <InputGroup\r\n title={this.props.title}\r\n className={classNames(\r\n 'input__group__openingHoursDay',\r\n this.props.className,\r\n {\r\n 'input__group__openingHoursDay--closed':\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length === 0,\r\n }\r\n )}\r\n tooltip={this.props.tooltip}\r\n >\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base openingHoursDay-input',\r\n {\r\n 'openingHoursDay-input--closed':\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length === 0,\r\n },\r\n this.getValidationClass()\r\n )}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"openingHoursDay-input__container\">\r\n {this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.map((item, index) => {\r\n const times = [item.opens, item.closes];\r\n return (\r\n <div\r\n className=\"openingHoursDay-input__time__container\"\r\n key={index}\r\n >\r\n {times.map((time, indexJ) => {\r\n const localIndex = index * 2 + indexJ;\r\n const previousTime =\r\n indexJ > 0\r\n ? times[indexJ - 1].clone()\r\n : index === 0\r\n ? this.getTime(0, 0)\r\n : this.props.openingHours.times[\r\n index - 1\r\n ].closes.clone();\r\n let nextTime =\r\n indexJ === 0\r\n ? times[1]\r\n : this.props.openingHours.times.length - 1 > index\r\n ? this.props.openingHours.times[\r\n index + 1\r\n ].opens.clone()\r\n : this.getTime(23, 59, true);\r\n if (localIndex % 2 === 0) {\r\n nextTime = duration(\r\n Math.min.apply(null, [\r\n this.getTime(23, 59, false).asMilliseconds(),\r\n nextTime.asMilliseconds(),\r\n ]),\r\n 'millisecond'\r\n );\r\n }\r\n return (\r\n <Time\r\n key={`${index}-${indexJ}`}\r\n {...(this.props.id && {\r\n id: `${\r\n this.props.id\r\n }-time-${index.toString()}-${indexJ.toString()}`,\r\n })}\r\n className={'openingHoursDay-input__time'}\r\n timeChange={this.timeChanged(index, indexJ)}\r\n time={time}\r\n min={previousTime}\r\n max={nextTime}\r\n showDateDiff={true}\r\n label={\r\n indexJ % 2 === 0\r\n ? translations.opens\r\n : translations.closes\r\n }\r\n />\r\n );\r\n })}\r\n {this.props.useCapacity && (\r\n <NumberInput\r\n label={translations.capacity}\r\n min={0}\r\n number={item.capacity}\r\n onNumberChange={num =>\r\n this.props.onOpeningHoursChange({\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.map((t, i) =>\r\n i === index ? { ...t, capacity: num } : t\r\n ),\r\n })\r\n }\r\n />\r\n )}\r\n <Button\r\n {...(this.props.id && {\r\n id:\r\n this.props.id +\r\n '-remove-button-' +\r\n ((index - 1) / 2).toString(),\r\n })}\r\n onClick={this.removeTimeClick(index)}\r\n className=\"openingHoursDay-input__button--remove mr-3 line-height--0\"\r\n circular={true}\r\n blank={true}\r\n type=\"error\"\r\n >\r\n <PlusIcon />\r\n </Button>\r\n </div>\r\n );\r\n })}\r\n {this.props.maxOpenCloseTimes >\r\n this.props.openingHours.times.length && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-button',\r\n })}\r\n className=\"openingHoursDay-input__button-open-close\"\r\n onClick={this.addTimeClick}\r\n disabled={this.isAddTimeClickDisabled()}\r\n type={'primary'}\r\n hero={true}\r\n >\r\n {translations.add}\r\n </Button>\r\n )}\r\n </div>\r\n {this.renderDefaultValidation()}\r\n {this.props.openingHours && this.props.label && (\r\n <span\r\n className={\r\n 'label-classname ' +\r\n (this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length\r\n ? 'label--focused'\r\n : 'label--focused label--closed')\r\n }\r\n >\r\n {this.renderLabel(true)}\r\n </span>\r\n )}\r\n </div>\r\n {this.getBottomBorder(translations)}\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private isAddTimeClickDisabled() {\r\n if (\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length\r\n ) {\r\n const dayDiff = TimeUtil.dayDiff(\r\n this.props.openingHours.times[0].opens,\r\n this.props.openingHours.times[this.props.openingHours.times.length - 1]\r\n .closes\r\n );\r\n if (dayDiff > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private addTimeClick = () => {\r\n let newTime =\r\n this.props.openingHours &&\r\n this.props.openingHours.times &&\r\n this.props.openingHours.times.length\r\n ? this.props.openingHours.times[\r\n this.props.openingHours.times.length - 1\r\n ].closes.clone()\r\n : this.getTime(8, 0);\r\n if (newTime.hours() < 23) {\r\n newTime = newTime.add(1, 'hour');\r\n }\r\n let closeTime = newTime.clone().add(1, 'hour');\r\n this.props.onOpeningHoursChange({\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.concat({\r\n opens: newTime,\r\n closes: closeTime,\r\n capacity: this.props.useCapacity ? 1 : undefined,\r\n }),\r\n });\r\n };\r\n\r\n private removeTimeClick = (index: number) => () =>\r\n this.props.onOpeningHoursChange({\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.filter(\r\n (time, itemIndex) => itemIndex < index || itemIndex > index + 1\r\n ),\r\n });\r\n\r\n private timeChanged = (index: number, indexJ: number) => (time: Duration) => {\r\n let newOpeningHours: OpeningHoursDayObj = {\r\n ...this.props.openingHours,\r\n times: this.props.openingHours.times.slice(0),\r\n };\r\n if (indexJ === 0) {\r\n newOpeningHours.times[index] = {\r\n ...newOpeningHours.times[index],\r\n opens: time,\r\n };\r\n } else {\r\n newOpeningHours.times[index] = {\r\n ...newOpeningHours.times[index],\r\n closes: time,\r\n };\r\n }\r\n this.props.onOpeningHoursChange(newOpeningHours);\r\n };\r\n\r\n private getBottomBorder(translations: OpeningHoursDayTranslations) {\r\n const times = (\r\n (this.props.openingHours && this.props.openingHours.times) ||\r\n []\r\n ).reduce<Duration[]>((a, b) => a.concat([b.opens, b.closes]), []);\r\n let parts = [];\r\n let totalTime = this.fullDayMilliseconds;\r\n if (!times.length) {\r\n parts = parts.concat([1]);\r\n } else {\r\n totalTime = Math.max(\r\n this.fullDayMilliseconds,\r\n OpeningHoursUtil.getTimeFromMidnight(times[times.length - 1], times[0])\r\n );\r\n parts = parts.concat([\r\n OpeningHoursUtil.getTimeFromMidnight(times[0]) / totalTime,\r\n ]);\r\n for (var index = 0; index < times.length - 1; index++) {\r\n let start = OpeningHoursUtil.getTimeFromMidnight(\r\n times[index],\r\n times[0]\r\n );\r\n let end = OpeningHoursUtil.getTimeFromMidnight(\r\n times[index + 1],\r\n times[0]\r\n );\r\n let diff = (end - start) / totalTime;\r\n parts = parts.concat([diff]);\r\n }\r\n parts = parts.concat([\r\n (totalTime -\r\n OpeningHoursUtil.getTimeFromMidnight(\r\n times[times.length - 1],\r\n times[0]\r\n )) /\r\n totalTime,\r\n ]);\r\n }\r\n return (\r\n <div className=\"openingHoursDay-input__bottom-border__container\">\r\n {parts.map((part, i) => (\r\n <div\r\n key={i}\r\n className={\r\n 'openingHoursDay-input__bottom-border ' +\r\n (i % 2 === 0\r\n ? 'openingHoursDay-input__bottom-border--closed'\r\n : 'openingHoursDay-input__bottom-border--open')\r\n }\r\n style={{ width: part ? (part * 100).toFixed(2) + '%' : '0' }}\r\n />\r\n ))}\r\n {totalTime > this.fullDayMilliseconds && (\r\n <div\r\n className=\"openingHoursDay-input__bottom-border--midnight\"\r\n style={{\r\n left:\r\n ((this.fullDayMilliseconds * 100) / totalTime).toString() + '%',\r\n }}\r\n title={translations.midnight}\r\n />\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n private getTime(\r\n hours: number,\r\n minutes: number,\r\n nextDay: boolean = false\r\n ): Duration {\r\n let time = duration(0, 'millisecond')\r\n .add(hours, 'hours')\r\n .add(minutes, 'minutes');\r\n if (nextDay) {\r\n time = time.add(1, 'day');\r\n }\r\n return time;\r\n }\r\n}\r\n\r\nexport const OpeningHoursDay = withThemeContext<\r\n OpeningHoursDayProps,\r\n InstanceType<typeof OpeningHoursDayRaw>\r\n>(withFormContext<OpeningHoursDayProps>(OpeningHoursDayRaw), 'openingHoursDay');\r\n\r\nexport default OpeningHoursDay;\r\n"],"mappings":"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"}