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.
- 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 +135 -177
- 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 +190 -216
- 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,7 +1,5 @@
|
|
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
|
});
|
@@ -11,162 +9,142 @@ var React = _interopRequireWildcard(require("react"));
|
|
11
9
|
|
12
10
|
var _withThemeContext = require("../themeProvider/withThemeContext");
|
13
11
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
15
|
-
|
16
|
-
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; }
|
17
|
-
|
18
|
-
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; }
|
19
|
-
|
20
|
-
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; }
|
21
|
-
|
22
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
23
|
-
|
24
|
-
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); } }
|
25
|
-
|
26
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
27
|
-
|
28
|
-
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); }
|
12
|
+
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); }
|
29
13
|
|
30
|
-
function
|
14
|
+
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
15
|
|
32
|
-
function
|
16
|
+
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; }
|
33
17
|
|
34
|
-
function
|
35
|
-
|
36
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
37
|
-
|
38
|
-
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; } }
|
39
|
-
|
40
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
18
|
+
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; }
|
41
19
|
|
42
20
|
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; }
|
43
21
|
|
44
|
-
function _extends() { _extends = Object.assign
|
22
|
+
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); }
|
45
23
|
|
46
24
|
var Ink = require('react-ink');
|
47
25
|
|
48
26
|
var classNames = require('classnames'); // Misc
|
49
27
|
|
50
28
|
|
51
|
-
|
52
|
-
|
53
|
-
ref: ref // tslint:disable-next-line:no-any
|
54
|
-
|
55
|
-
}, props.buttonProps ? props.buttonProps : {}, props.id && {
|
56
|
-
id: props.id
|
57
|
-
}, {
|
58
|
-
className: props.className,
|
59
|
-
onClick: props.onClick,
|
60
|
-
style: props.style
|
61
|
-
}), props.children);
|
62
|
-
});
|
63
|
-
|
64
|
-
var Button = /*#__PURE__*/function (_React$PureComponent) {
|
65
|
-
_inherits(Button, _React$PureComponent);
|
66
|
-
|
67
|
-
var _super = _createSuper(Button);
|
29
|
+
const DefaultButtonComponent = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement("button", _extends({
|
30
|
+
ref: ref // tslint:disable-next-line:no-any
|
68
31
|
|
69
|
-
|
70
|
-
|
32
|
+
}, props.buttonProps ? props.buttonProps : {}, props.id && {
|
33
|
+
id: props.id
|
34
|
+
}, {
|
35
|
+
className: props.className,
|
36
|
+
onClick: props.onClick,
|
37
|
+
style: props.style
|
38
|
+
}), props.children));
|
71
39
|
|
72
|
-
|
40
|
+
class Button extends React.PureComponent {
|
41
|
+
constructor(props) {
|
42
|
+
super(props);
|
73
43
|
|
74
|
-
|
44
|
+
_defineProperty(this, "preventMultipleClickTimer", void 0);
|
75
45
|
|
76
|
-
|
77
|
-
|
78
|
-
_this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));
|
79
|
-
_this.state = {
|
46
|
+
this.handleClick = this.handleClick.bind(this);
|
47
|
+
this.state = {
|
80
48
|
disabledAfterClick: false
|
81
49
|
};
|
82
|
-
return _this;
|
83
50
|
}
|
84
51
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
52
|
+
render() {
|
53
|
+
var _this$props$buttonPro;
|
54
|
+
|
55
|
+
const disabled = this.props.disabled || this.props.disableAfterClick && this.state.disabledAfterClick;
|
56
|
+
let btnClassName = classNames(['guestbell-btn', this.getButtonClassName(), this.props.className, {
|
57
|
+
['guestbell-btn--disabled']: disabled
|
58
|
+
}, {
|
59
|
+
['guestbell-btn--circular']: this.props.circular
|
60
|
+
}, {
|
61
|
+
['guestbell-btn--small']: this.props.small
|
62
|
+
}, {
|
63
|
+
['guestbell-btn--no-shadow']: this.props.noShadow
|
64
|
+
}, {
|
65
|
+
['guestbell-btn--blank']: this.props.blank
|
66
|
+
}, {
|
67
|
+
['guestbell-btn--unobtrusive']: this.props.unobtrusive
|
68
|
+
}, {
|
69
|
+
['guestbell-btn--outlined']: this.props.outlined
|
70
|
+
}, {
|
71
|
+
['guestbell-btn--dropdown']: this.props.dropdown
|
72
|
+
}, {
|
73
|
+
['guestbell-btn--icon']: this.props.icon
|
74
|
+
}, {
|
75
|
+
['guestbell-btn--hero']: this.props.hero
|
76
|
+
}, {
|
77
|
+
['guestbell-btn--text']: this.props.text
|
78
|
+
}]);
|
79
|
+
const button = /*#__PURE__*/React.createElement(this.props.Component, _extends({}, this.props.id && {
|
80
|
+
id: this.props.id
|
81
|
+
}, {
|
82
|
+
onClick: this.handleClick,
|
83
|
+
buttonProps: _objectSpread(_objectSpread({}, this.props.buttonProps), {}, {
|
84
|
+
tabIndex: !disabled ? (_this$props$buttonPro = this.props.buttonProps) === null || _this$props$buttonPro === void 0 ? void 0 : _this$props$buttonPro.tabIndex : -1
|
85
|
+
}),
|
86
|
+
className: btnClassName,
|
87
|
+
style: this.props.style
|
88
|
+
}), !this.props.noRipples && !disabled && Ink && /*#__PURE__*/React.createElement(Ink, null), this.props.children);
|
89
|
+
|
90
|
+
if (this.props.tooltip) {
|
91
|
+
var _document;
|
92
|
+
|
93
|
+
const Tippy = require('@tippy.js/react').default;
|
94
|
+
|
95
|
+
return /*#__PURE__*/React.createElement(Tippy, _extends({
|
96
|
+
content: this.props.tooltip,
|
97
|
+
placement: "bottom",
|
98
|
+
animation: "scale-subtle",
|
99
|
+
arrow: false,
|
100
|
+
duration: 200,
|
101
|
+
delay: [75, 0],
|
102
|
+
distance: 8,
|
103
|
+
interactive: true,
|
104
|
+
appendTo: (_document = document) === null || _document === void 0 ? void 0 : _document.body
|
105
|
+
}, this.props.tooltipProps), button);
|
127
106
|
}
|
128
|
-
}, {
|
129
|
-
key: "handleClick",
|
130
|
-
value: function handleClick(e) {
|
131
|
-
var _this2 = this;
|
132
107
|
|
133
|
-
|
134
|
-
|
135
|
-
}
|
108
|
+
return button;
|
109
|
+
}
|
136
110
|
|
137
|
-
|
138
|
-
|
111
|
+
componentWillUnmount() {
|
112
|
+
clearTimeout(this.preventMultipleClickTimer);
|
113
|
+
}
|
139
114
|
|
140
|
-
|
115
|
+
handleClick(e) {
|
116
|
+
if (this.props.preventsDefault) {
|
117
|
+
e.preventDefault();
|
118
|
+
}
|
119
|
+
|
120
|
+
if (!this.state.disabledAfterClick && !this.props.disabled) {
|
121
|
+
this.props.onClick && this.props.onClick(e);
|
122
|
+
|
123
|
+
if (this.props.disableAfterClickMs !== 0) {
|
124
|
+
this.setState({
|
125
|
+
disabledAfterClick: true
|
126
|
+
});
|
127
|
+
this.preventMultipleClickTimer = setTimeout(() => {
|
141
128
|
this.setState({
|
142
|
-
disabledAfterClick:
|
129
|
+
disabledAfterClick: false
|
143
130
|
});
|
144
|
-
|
145
|
-
_this2.setState({
|
146
|
-
disabledAfterClick: false
|
147
|
-
});
|
148
|
-
}, this.props.disableAfterClickMs);
|
149
|
-
}
|
131
|
+
}, this.props.disableAfterClickMs);
|
150
132
|
}
|
151
133
|
}
|
152
|
-
}
|
153
|
-
key: "getButtonClassName",
|
154
|
-
value: function getButtonClassName() {
|
155
|
-
return this.props.type && 'guestbell-btn-' + this.props.type;
|
156
|
-
}
|
157
|
-
}]);
|
134
|
+
}
|
158
135
|
|
159
|
-
|
160
|
-
|
136
|
+
getButtonClassName() {
|
137
|
+
return this.props.type && 'guestbell-btn-' + this.props.type;
|
138
|
+
}
|
139
|
+
|
140
|
+
}
|
161
141
|
|
162
142
|
exports.Button = Button;
|
163
143
|
|
164
144
|
_defineProperty(Button, "defaultProps", {
|
165
145
|
disabled: false,
|
166
146
|
className: '',
|
167
|
-
onClick:
|
168
|
-
return null;
|
169
|
-
},
|
147
|
+
onClick: () => null,
|
170
148
|
circular: false,
|
171
149
|
noRipples: false,
|
172
150
|
small: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/components/button/Button.tsx"],"names":["Ink","require","classNames","DefaultButtonComponent","React","forwardRef","props","ref","buttonProps","id","className","onClick","style","children","Button","handleClick","bind","state","disabledAfterClick","disabled","disableAfterClick","btnClassName","getButtonClassName","circular","small","noShadow","blank","unobtrusive","outlined","dropdown","icon","hero","text","button","tabIndex","noRipples","tooltip","Tippy","default","document","body","tooltipProps","clearTimeout","preventMultipleClickTimer","e","preventsDefault","preventDefault","disableAfterClickMs","setState","setTimeout","type","PureComponent","Component","role"],"mappings":";;;;;;;;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAIA,GAAG,GAAGC,OAAO,CAAC,WAAD,CAAjB;;AACA,IAAIC,UAAU,GAAGD,OAAO,CAAC,YAAD,CAAxB,C,CAEA;;;AAsDA,IAAME,sBAAsD,gBAAGC,KAAK,CAACC,UAAN,CAC7D,UAACC,KAAD,EAAQC,GAAR;AAAA,sBACE;AACE,IAAA,GAAG,EAAEA,GADP,CAEE;;AAFF,KAGQD,KAAK,CAACE,WAAN,GAAoBF,KAAK,CAACE,WAA1B,GAAwC,EAHhD,EAIOF,KAAK,CAACG,EAAN,IAAY;AAAEA,IAAAA,EAAE,EAAEH,KAAK,CAACG;AAAZ,GAJnB;AAKE,IAAA,SAAS,EAAEH,KAAK,CAACI,SALnB;AAME,IAAA,OAAO,EAAEJ,KAAK,CAACK,OANjB;AAOE,IAAA,KAAK,EAAEL,KAAK,CAACM;AAPf,MASGN,KAAK,CAACO,QATT,CADF;AAAA,CAD6D,CAA/D;;IAgBaC,M;;;;;AAsBX,kBAAYR,KAAZ,EAAgC;AAAA;;AAAA;;AAC9B,8BAAMA,KAAN;;AAD8B;;AAE9B,UAAKS,WAAL,GAAmB,MAAKA,WAAL,CAAiBC,IAAjB,+BAAnB;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,kBAAkB,EAAE;AADT,KAAb;AAH8B;AAM/B;;;;WAED,kBAAgB;AAAA;;AACd,UAAMC,QAAQ,GACZ,KAAKb,KAAL,CAAWa,QAAX,IACC,KAAKb,KAAL,CAAWc,iBAAX,IAAgC,KAAKH,KAAL,CAAWC,kBAF9C;AAGA,UAAIG,YAAY,GAAGnB,UAAU,CAAC,CAC5B,eAD4B,EAE5B,KAAKoB,kBAAL,EAF4B,EAG5B,KAAKhB,KAAL,CAAWI,SAHiB,sBAIzB,yBAJyB,EAIGS,QAJH,uBAKzB,yBALyB,EAKG,KAAKb,KAAL,CAAWiB,QALd,uBAMzB,sBANyB,EAMA,KAAKjB,KAAL,CAAWkB,KANX,uBAOzB,0BAPyB,EAOI,KAAKlB,KAAL,CAAWmB,QAPf,uBAQzB,sBARyB,EAQA,KAAKnB,KAAL,CAAWoB,KARX,uBASzB,4BATyB,EASM,KAAKpB,KAAL,CAAWqB,WATjB,uBAUzB,yBAVyB,EAUG,KAAKrB,KAAL,CAAWsB,QAVd,uBAWzB,yBAXyB,EAWG,KAAKtB,KAAL,CAAWuB,QAXd,uBAYzB,qBAZyB,EAYD,KAAKvB,KAAL,CAAWwB,IAZV,uBAazB,qBAbyB,EAaD,KAAKxB,KAAL,CAAWyB,IAbV,uBAczB,qBAdyB,EAcD,KAAKzB,KAAL,CAAW0B,IAdV,EAAD,CAA7B;AAgBA,UAAMC,MAAM,gBACV,yBAAM,KAAN,CAAY,SAAZ,eACO,KAAK3B,KAAL,CAAWG,EAAX,IAAiB;AAAEA,QAAAA,EAAE,EAAE,KAAKH,KAAL,CAAWG;AAAjB,OADxB;AAEE,QAAA,OAAO,EAAE,KAAKM,WAFhB;AAGE,QAAA,WAAW,kCACN,KAAKT,KAAL,CAAWE,WADL;AAET0B,UAAAA,QAAQ,EAAE,CAACf,QAAD,4BAAY,KAAKb,KAAL,CAAWE,WAAvB,0DAAY,sBAAwB0B,QAApC,GAA+C,CAAC;AAFjD,UAHb;AAOE,QAAA,SAAS,EAAEb,YAPb;AAQE,QAAA,KAAK,EAAE,KAAKf,KAAL,CAAWM;AARpB,UAUG,CAAC,KAAKN,KAAL,CAAW6B,SAAZ,IAAyB,CAAChB,QAA1B,IAAsCnB,GAAtC,iBAA6C,oBAAC,GAAD,OAVhD,EAWG,KAAKM,KAAL,CAAWO,QAXd,CADF;;AAeA,UAAI,KAAKP,KAAL,CAAW8B,OAAf,EAAwB;AAAA;;AACtB,YAAMC,KAAK,GAAGpC,OAAO,CAAC,iBAAD,CAAP,CAA2BqC,OAAzC;;AACA,4BACE,oBAAC,KAAD;AACE,UAAA,OAAO,EAAE,KAAKhC,KAAL,CAAW8B,OADtB;AAEE,UAAA,SAAS,EAAC,QAFZ;AAGE,UAAA,SAAS,EAAC,cAHZ;AAIE,UAAA,KAAK,EAAE,KAJT;AAKE,UAAA,QAAQ,EAAE,GALZ;AAME,UAAA,KAAK,EAAE,CAAC,EAAD,EAAK,CAAL,CANT;AAOE,UAAA,QAAQ,EAAE,CAPZ;AAQE,UAAA,WAAW,EAAE,IARf;AASE,UAAA,QAAQ,eAAEG,QAAF,8CAAE,UAAUC;AATtB,WAUM,KAAKlC,KAAL,CAAWmC,YAVjB,GAYGR,MAZH,CADF;AAgBD;;AACD,aAAOA,MAAP;AACD;;;WAED,gCAA8B;AAC5BS,MAAAA,YAAY,CAAC,KAAKC,yBAAN,CAAZ;AACD;;;WAED,qBAAoBC,CAApB,EAA4D;AAAA;;AAC1D,UAAI,KAAKtC,KAAL,CAAWuC,eAAf,EAAgC;AAC9BD,QAAAA,CAAC,CAACE,cAAF;AACD;;AACD,UAAI,CAAC,KAAK7B,KAAL,CAAWC,kBAAZ,IAAkC,CAAC,KAAKZ,KAAL,CAAWa,QAAlD,EAA4D;AAC1D,aAAKb,KAAL,CAAWK,OAAX,IAAsB,KAAKL,KAAL,CAAWK,OAAX,CAAmBiC,CAAnB,CAAtB;;AACA,YAAI,KAAKtC,KAAL,CAAWyC,mBAAX,KAAmC,CAAvC,EAA0C;AACxC,eAAKC,QAAL,CAAc;AAAE9B,YAAAA,kBAAkB,EAAE;AAAtB,WAAd;AACA,eAAKyB,yBAAL,GAAkCM,UAAU,CAAC,YAAM;AACjD,YAAA,MAAI,CAACD,QAAL,CAAc;AAAE9B,cAAAA,kBAAkB,EAAE;AAAtB,aAAd;AACD,WAF2C,EAEzC,KAAKZ,KAAL,CAAWyC,mBAF8B,CAA5C;AAGD;AACF;AACF;;;WAED,8BAA6B;AAC3B,aAAO,KAAKzC,KAAL,CAAW4C,IAAX,IAAmB,mBAAmB,KAAK5C,KAAL,CAAW4C,IAAxD;AACD;;;;EA5GyB9C,KAAK,CAAC+C,a;;;;gBAArBrC,M,kBAC+B;AACxCK,EAAAA,QAAQ,EAAE,KAD8B;AAExCT,EAAAA,SAAS,EAAE,EAF6B;AAGxCC,EAAAA,OAAO,EAAE;AAAA,WAAM,IAAN;AAAA,GAH+B;AAIxCY,EAAAA,QAAQ,EAAE,KAJ8B;AAKxCY,EAAAA,SAAS,EAAE,KAL6B;AAMxCX,EAAAA,KAAK,EAAE,KANiC;AAOxCuB,EAAAA,mBAAmB,EAAE,GAPmB;AAQxC3B,EAAAA,iBAAiB,EAAE,KARqB;AASxCgC,EAAAA,SAAS,EAAEjD,sBAT6B;AAUxCK,EAAAA,WAAW,EAAE;AACX0C,IAAAA,IAAI,EAAE,QADK;AAEXG,IAAAA,IAAI,EAAE,QAFK;AAGXnB,IAAAA,QAAQ,EAAE;AAHC,GAV2B;AAexCgB,EAAAA,IAAI,EAAE,MAfkC;AAgBxCL,EAAAA,eAAe,EAAE;AAhBuB,C;;eA6G7B,wCACb/B,MADa,EAEb,QAFa,C","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport { TippyProps } from '@tippy.js/react';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { ThemeContextProps } from '../themeProvider/ThemeContext';\r\nvar Ink = require('react-ink');\r\nvar classNames = require('classnames');\r\n\r\n// Misc\r\n\r\nexport type ButtonTypes =\r\n | 'primary'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'gray'\r\n | 'white'\r\n | 'none';\r\n\r\nexport type ButtonComponentProps = {\r\n id?: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n className: string;\r\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n children: React.ReactNode;\r\n style: React.CSSProperties;\r\n};\r\n\r\nexport type ButtonProps = React.PropsWithChildren<\r\n {\r\n id?: string;\r\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n disabled?: boolean;\r\n type?: ButtonTypes;\r\n circular?: boolean;\r\n noRipples?: boolean;\r\n small?: boolean;\r\n icon?: boolean;\r\n outlined?: boolean;\r\n disableAfterClickMs?: number;\r\n disableAfterClick?: boolean;\r\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n text?: boolean;\r\n hero?: boolean;\r\n noShadow?: boolean;\r\n blank?: boolean;\r\n unobtrusive?: boolean;\r\n dropdown?: boolean;\r\n Component?: React.FC<ButtonComponentProps>;\r\n tooltip?: JSX.Element | string;\r\n tooltipProps?: TippyProps;\r\n preventsDefault?: boolean;\r\n } & ThemeContextProps\r\n>;\r\n\r\nexport interface ButtonState {\r\n disabledAfterClick: boolean;\r\n}\r\n\r\nconst DefaultButtonComponent: React.FC<ButtonComponentProps> = React.forwardRef(\r\n (props, ref) => (\r\n <button\r\n ref={ref}\r\n // tslint:disable-next-line:no-any\r\n {...((props.buttonProps ? props.buttonProps : {}) as any)}\r\n {...(props.id && { id: props.id })}\r\n className={props.className}\r\n onClick={props.onClick}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </button>\r\n )\r\n);\r\n\r\nexport class Button extends React.PureComponent<ButtonProps, ButtonState> {\r\n public static defaultProps: ButtonProps = {\r\n disabled: false,\r\n className: '',\r\n onClick: () => null,\r\n circular: false,\r\n noRipples: false,\r\n small: false,\r\n disableAfterClickMs: 100,\r\n disableAfterClick: false,\r\n Component: DefaultButtonComponent,\r\n buttonProps: {\r\n type: 'button',\r\n role: 'button',\r\n tabIndex: 0,\r\n },\r\n type: 'none',\r\n preventsDefault: true,\r\n };\r\n\r\n private preventMultipleClickTimer: number;\r\n\r\n constructor(props: ButtonProps) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.state = {\r\n disabledAfterClick: false,\r\n };\r\n }\r\n\r\n public render() {\r\n const disabled =\r\n this.props.disabled ||\r\n (this.props.disableAfterClick && this.state.disabledAfterClick);\r\n let btnClassName = classNames([\r\n 'guestbell-btn',\r\n this.getButtonClassName(),\r\n this.props.className,\r\n { ['guestbell-btn--disabled']: disabled },\r\n { ['guestbell-btn--circular']: this.props.circular },\r\n { ['guestbell-btn--small']: this.props.small },\r\n { ['guestbell-btn--no-shadow']: this.props.noShadow },\r\n { ['guestbell-btn--blank']: this.props.blank },\r\n { ['guestbell-btn--unobtrusive']: this.props.unobtrusive },\r\n { ['guestbell-btn--outlined']: this.props.outlined },\r\n { ['guestbell-btn--dropdown']: this.props.dropdown },\r\n { ['guestbell-btn--icon']: this.props.icon },\r\n { ['guestbell-btn--hero']: this.props.hero },\r\n { ['guestbell-btn--text']: this.props.text },\r\n ]);\r\n const button = (\r\n <this.props.Component\r\n {...(this.props.id && { id: this.props.id })}\r\n onClick={this.handleClick}\r\n buttonProps={{\r\n ...this.props.buttonProps,\r\n tabIndex: !disabled ? this.props.buttonProps?.tabIndex : -1,\r\n }}\r\n className={btnClassName}\r\n style={this.props.style}\r\n >\r\n {!this.props.noRipples && !disabled && Ink && <Ink />}\r\n {this.props.children}\r\n </this.props.Component>\r\n );\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n {...this.props.tooltipProps}\r\n >\r\n {button}\r\n </Tippy>\r\n );\r\n }\r\n return button;\r\n }\r\n\r\n public componentWillUnmount() {\r\n clearTimeout(this.preventMultipleClickTimer);\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (this.props.preventsDefault) {\r\n e.preventDefault();\r\n }\r\n if (!this.state.disabledAfterClick && !this.props.disabled) {\r\n this.props.onClick && this.props.onClick(e);\r\n if (this.props.disableAfterClickMs !== 0) {\r\n this.setState({ disabledAfterClick: true });\r\n this.preventMultipleClickTimer = (setTimeout(() => {\r\n this.setState({ disabledAfterClick: false });\r\n }, this.props.disableAfterClickMs) as unknown) as number;\r\n }\r\n }\r\n }\r\n\r\n private getButtonClassName() {\r\n return this.props.type && 'guestbell-btn-' + this.props.type;\r\n }\r\n}\r\nexport default withThemeContext<ButtonProps, InstanceType<typeof Button>>(\r\n Button,\r\n 'button'\r\n);\r\n"],"file":"Button.js"}
|
1
|
+
{"version":3,"file":"Button.js","names":["Ink","require","classNames","DefaultButtonComponent","React","forwardRef","props","ref","buttonProps","id","className","onClick","style","children","Button","PureComponent","constructor","handleClick","bind","state","disabledAfterClick","render","disabled","disableAfterClick","btnClassName","getButtonClassName","circular","small","noShadow","blank","unobtrusive","outlined","dropdown","icon","hero","text","button","tabIndex","noRipples","tooltip","Tippy","default","document","body","tooltipProps","componentWillUnmount","clearTimeout","preventMultipleClickTimer","e","preventsDefault","preventDefault","disableAfterClickMs","setState","setTimeout","type","Component","role","withThemeContext"],"sources":["../../../src/lib/components/button/Button.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport { TippyProps } from '@tippy.js/react';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { ThemeContextProps } from '../themeProvider/ThemeContext';\r\nvar Ink = require('react-ink');\r\nvar classNames = require('classnames');\r\n\r\n// Misc\r\n\r\nexport type ButtonTypes =\r\n | 'primary'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'gray'\r\n | 'white'\r\n | 'none';\r\n\r\nexport type ButtonComponentProps = {\r\n id?: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n className: string;\r\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n children: React.ReactNode;\r\n style: React.CSSProperties;\r\n};\r\n\r\nexport type ButtonProps = React.PropsWithChildren<\r\n {\r\n id?: string;\r\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n disabled?: boolean;\r\n type?: ButtonTypes;\r\n circular?: boolean;\r\n noRipples?: boolean;\r\n small?: boolean;\r\n icon?: boolean;\r\n outlined?: boolean;\r\n disableAfterClickMs?: number;\r\n disableAfterClick?: boolean;\r\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n text?: boolean;\r\n hero?: boolean;\r\n noShadow?: boolean;\r\n blank?: boolean;\r\n unobtrusive?: boolean;\r\n dropdown?: boolean;\r\n Component?: React.FC<ButtonComponentProps>;\r\n tooltip?: JSX.Element | string;\r\n tooltipProps?: TippyProps;\r\n preventsDefault?: boolean;\r\n } & ThemeContextProps\r\n>;\r\n\r\nexport interface ButtonState {\r\n disabledAfterClick: boolean;\r\n}\r\n\r\nconst DefaultButtonComponent: React.FC<ButtonComponentProps> = React.forwardRef(\r\n (props, ref) => (\r\n <button\r\n ref={ref}\r\n // tslint:disable-next-line:no-any\r\n {...((props.buttonProps ? props.buttonProps : {}) as any)}\r\n {...(props.id && { id: props.id })}\r\n className={props.className}\r\n onClick={props.onClick}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </button>\r\n )\r\n);\r\n\r\nexport class Button extends React.PureComponent<ButtonProps, ButtonState> {\r\n public static defaultProps: ButtonProps = {\r\n disabled: false,\r\n className: '',\r\n onClick: () => null,\r\n circular: false,\r\n noRipples: false,\r\n small: false,\r\n disableAfterClickMs: 100,\r\n disableAfterClick: false,\r\n Component: DefaultButtonComponent,\r\n buttonProps: {\r\n type: 'button',\r\n role: 'button',\r\n tabIndex: 0,\r\n },\r\n type: 'none',\r\n preventsDefault: true,\r\n };\r\n\r\n private preventMultipleClickTimer: number;\r\n\r\n constructor(props: ButtonProps) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.state = {\r\n disabledAfterClick: false,\r\n };\r\n }\r\n\r\n public render() {\r\n const disabled =\r\n this.props.disabled ||\r\n (this.props.disableAfterClick && this.state.disabledAfterClick);\r\n let btnClassName = classNames([\r\n 'guestbell-btn',\r\n this.getButtonClassName(),\r\n this.props.className,\r\n { ['guestbell-btn--disabled']: disabled },\r\n { ['guestbell-btn--circular']: this.props.circular },\r\n { ['guestbell-btn--small']: this.props.small },\r\n { ['guestbell-btn--no-shadow']: this.props.noShadow },\r\n { ['guestbell-btn--blank']: this.props.blank },\r\n { ['guestbell-btn--unobtrusive']: this.props.unobtrusive },\r\n { ['guestbell-btn--outlined']: this.props.outlined },\r\n { ['guestbell-btn--dropdown']: this.props.dropdown },\r\n { ['guestbell-btn--icon']: this.props.icon },\r\n { ['guestbell-btn--hero']: this.props.hero },\r\n { ['guestbell-btn--text']: this.props.text },\r\n ]);\r\n const button = (\r\n <this.props.Component\r\n {...(this.props.id && { id: this.props.id })}\r\n onClick={this.handleClick}\r\n buttonProps={{\r\n ...this.props.buttonProps,\r\n tabIndex: !disabled ? this.props.buttonProps?.tabIndex : -1,\r\n }}\r\n className={btnClassName}\r\n style={this.props.style}\r\n >\r\n {!this.props.noRipples && !disabled && Ink && <Ink />}\r\n {this.props.children}\r\n </this.props.Component>\r\n );\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n {...this.props.tooltipProps}\r\n >\r\n {button}\r\n </Tippy>\r\n );\r\n }\r\n return button;\r\n }\r\n\r\n public componentWillUnmount() {\r\n clearTimeout(this.preventMultipleClickTimer);\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (this.props.preventsDefault) {\r\n e.preventDefault();\r\n }\r\n if (!this.state.disabledAfterClick && !this.props.disabled) {\r\n this.props.onClick && this.props.onClick(e);\r\n if (this.props.disableAfterClickMs !== 0) {\r\n this.setState({ disabledAfterClick: true });\r\n this.preventMultipleClickTimer = (setTimeout(() => {\r\n this.setState({ disabledAfterClick: false });\r\n }, this.props.disableAfterClickMs) as unknown) as number;\r\n }\r\n }\r\n }\r\n\r\n private getButtonClassName() {\r\n return this.props.type && 'guestbell-btn-' + this.props.type;\r\n }\r\n}\r\nexport default withThemeContext<ButtonProps, InstanceType<typeof Button>>(\r\n Button,\r\n 'button'\r\n);\r\n"],"mappings":"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"}
|
@@ -1,14 +1,12 @@
|
|
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
6
|
var _exportNames = {};
|
9
7
|
Object.defineProperty(exports, "default", {
|
10
8
|
enumerable: true,
|
11
|
-
get: function
|
9
|
+
get: function () {
|
12
10
|
return _Button.default;
|
13
11
|
}
|
14
12
|
});
|
@@ -21,13 +19,13 @@ Object.keys(_Button).forEach(function (key) {
|
|
21
19
|
if (key in exports && exports[key] === _Button[key]) return;
|
22
20
|
Object.defineProperty(exports, key, {
|
23
21
|
enumerable: true,
|
24
|
-
get: function
|
22
|
+
get: function () {
|
25
23
|
return _Button[key];
|
26
24
|
}
|
27
25
|
});
|
28
26
|
});
|
29
27
|
|
30
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
28
|
+
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); }
|
31
29
|
|
32
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
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; }
|
33
31
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/components/button/index.tsx"],"
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/lib/components/button/index.tsx"],"sourcesContent":["export * from './Button';\r\nexport { default } from './Button';\r\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|