beem-component 1.8.6 → 1.8.7
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/dist/components/InputCounter/inputCounter.js +56 -0
- package/dist/components/MultipleDateSelector/multipleDateSelector.js +64 -0
- package/dist/components/Stepper/stepper.js +20 -0
- package/dist/components/index.js +14 -0
- package/package.json +1 -1
- package/src/App.js +74 -0
- package/src/lib/components/InputCounter/inputCounter.js +60 -0
- package/src/lib/components/MultipleDateSelector/multipleDateSelector.js +64 -0
- package/src/lib/components/Stepper/stepper.js +26 -0
- package/src/lib/components/index.js +4 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BmInputCounter = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
|
+
var _RemoveCircle = _interopRequireDefault(require("@mui/icons-material/RemoveCircle"));
|
|
10
|
+
var _AddCircle = _interopRequireDefault(require("@mui/icons-material/AddCircle"));
|
|
11
|
+
var _iconStyles = require("../iconStyles");
|
|
12
|
+
var _colors = require("../colors");
|
|
13
|
+
var _excluded = ["min", "max", "onChange", "inputStyle", "BtnStyle", "count"];
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
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); }
|
|
16
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
17
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
|
+
var Wrapper = _styledComponents.default.div.withConfig({
|
|
19
|
+
displayName: "inputCounter__Wrapper"
|
|
20
|
+
})(["display:flex;border-radius:0.25rem;border:0.071rem solid ", ";justify-content:space-between;padding:0.5rem;&:hover{border:0.071rem solid ", ";}"], _colors.BmGrey200, _colors.BmGrey400);
|
|
21
|
+
var BmInputCounter = function BmInputCounter(_ref) {
|
|
22
|
+
var _ref$min = _ref.min,
|
|
23
|
+
min = _ref$min === void 0 ? 0 : _ref$min,
|
|
24
|
+
_ref$max = _ref.max,
|
|
25
|
+
max = _ref$max === void 0 ? 10 : _ref$max,
|
|
26
|
+
onChange = _ref.onChange,
|
|
27
|
+
inputStyle = _ref.inputStyle,
|
|
28
|
+
BtnStyle = _ref.BtnStyle,
|
|
29
|
+
_ref$count = _ref.count,
|
|
30
|
+
count = _ref$count === void 0 ? 0 : _ref$count,
|
|
31
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
var increment = function increment() {
|
|
33
|
+
if (count < max) {
|
|
34
|
+
onChange(count + 1);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var decrement = function decrement() {
|
|
38
|
+
if (count > min) {
|
|
39
|
+
onChange(count - 1);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(Wrapper, rest, /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
|
|
43
|
+
icon: /*#__PURE__*/_react.default.createElement(_RemoveCircle.default, null),
|
|
44
|
+
size: "small",
|
|
45
|
+
color: _colors.BmPrimaryBlue,
|
|
46
|
+
onClick: decrement,
|
|
47
|
+
disabled: count >= max
|
|
48
|
+
}, BtnStyle)), count, /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
|
|
49
|
+
icon: /*#__PURE__*/_react.default.createElement(_AddCircle.default, null),
|
|
50
|
+
size: "small",
|
|
51
|
+
color: _colors.BmPrimaryBlue,
|
|
52
|
+
onClick: increment,
|
|
53
|
+
disabled: count <= min
|
|
54
|
+
}, BtnStyle)));
|
|
55
|
+
};
|
|
56
|
+
exports.BmInputCounter = BmInputCounter;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _colors = require("../colors");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
15
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
17
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
22
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
|
+
var Wrapper = _styledComponents.default.div.withConfig({
|
|
25
|
+
displayName: "multipleDateSelector__Wrapper"
|
|
26
|
+
})(["display:flex;flex-direction:row;flex-wrap:wrap;border:0.071rem solid ", ";padding:1rem;background:", ";"], _colors.BmGrey100, _colors.BmSecondaryBlue12);
|
|
27
|
+
var Box = _styledComponents.default.div.withConfig({
|
|
28
|
+
displayName: "multipleDateSelector__Box"
|
|
29
|
+
})(["display:inline-flex;border:0.071rem solid ", ";padding:0.5rem;cursor:pointer;"], _colors.BmGrey100);
|
|
30
|
+
var MultiDateSelector = function MultiDateSelector() {
|
|
31
|
+
var _useState = (0, _react.useState)([]),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
selectedDays = _useState2[0],
|
|
34
|
+
setSelectedDays = _useState2[1];
|
|
35
|
+
var handleDayClick = function handleDayClick(day) {
|
|
36
|
+
if (selectedDays.includes(day)) {
|
|
37
|
+
setSelectedDays(selectedDays.filter(function (d) {
|
|
38
|
+
return d !== day;
|
|
39
|
+
}));
|
|
40
|
+
} else {
|
|
41
|
+
setSelectedDays([].concat(_toConsumableArray(selectedDays), [day]));
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var days = Array.from({
|
|
45
|
+
length: 31
|
|
46
|
+
}, function (_, i) {
|
|
47
|
+
return i + 1;
|
|
48
|
+
});
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(Wrapper, null, days.map(function (day) {
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(Box, {
|
|
51
|
+
key: day,
|
|
52
|
+
style: {
|
|
53
|
+
backgroundColor: selectedDays.includes(day) ? _colors.BmPrimaryBlue : _colors.BmPrimaryWhite,
|
|
54
|
+
color: selectedDays.includes(day) ? _colors.BmPrimaryWhite : _colors.BmPrimaryBlack,
|
|
55
|
+
fontWeight: selectedDays.includes(day) ? 'bold' : 'normal'
|
|
56
|
+
},
|
|
57
|
+
onClick: function onClick() {
|
|
58
|
+
return handleDayClick(day);
|
|
59
|
+
}
|
|
60
|
+
}, day);
|
|
61
|
+
})));
|
|
62
|
+
};
|
|
63
|
+
var _default = MultiDateSelector;
|
|
64
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _colors = require("../colors");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
var BmStepper = _styledComponents.default.div.withConfig({
|
|
11
|
+
displayName: "stepper__BmStepper"
|
|
12
|
+
})(["display:flex;justify-content:center;width:3rem;height:3rem;background-color:", ";color:", ";border-radius:50%;text-align:center;border:0.071rem solid ", ";align-items:center;cursor:pointer;"], function (props) {
|
|
13
|
+
return props.activeStep ? _colors.BmSecondaryGreen15 : _colors.BmGrey100;
|
|
14
|
+
}, function (props) {
|
|
15
|
+
return props.activeStep ? _colors.BmPrimaryBlue : _colors.BmGrey600;
|
|
16
|
+
}, function (props) {
|
|
17
|
+
return props.activeStep ? _colors.BmPrimaryBlue : _colors.BmPrimaryWhite;
|
|
18
|
+
});
|
|
19
|
+
var _default = BmStepper;
|
|
20
|
+
exports.default = _default;
|
package/dist/components/index.js
CHANGED
|
@@ -185,6 +185,12 @@ Object.defineProperty(exports, "BmInput", {
|
|
|
185
185
|
return _input.BmInput;
|
|
186
186
|
}
|
|
187
187
|
});
|
|
188
|
+
Object.defineProperty(exports, "BmInputCounter", {
|
|
189
|
+
enumerable: true,
|
|
190
|
+
get: function get() {
|
|
191
|
+
return _inputCounter.BmInputCounter;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
188
194
|
Object.defineProperty(exports, "BmJumbotron", {
|
|
189
195
|
enumerable: true,
|
|
190
196
|
get: function get() {
|
|
@@ -305,6 +311,12 @@ Object.defineProperty(exports, "BmSegmentSelector", {
|
|
|
305
311
|
return _index2.BmSegmentSelector;
|
|
306
312
|
}
|
|
307
313
|
});
|
|
314
|
+
Object.defineProperty(exports, "BmStepper", {
|
|
315
|
+
enumerable: true,
|
|
316
|
+
get: function get() {
|
|
317
|
+
return _stepper.default;
|
|
318
|
+
}
|
|
319
|
+
});
|
|
308
320
|
Object.defineProperty(exports, "BmSupport", {
|
|
309
321
|
enumerable: true,
|
|
310
322
|
get: function get() {
|
|
@@ -390,6 +402,8 @@ var _index = require("./SuperFluid/Content/index");
|
|
|
390
402
|
var _ContentTitle = require("./SuperFluid/ContentTitle.js");
|
|
391
403
|
var _index2 = require("./SuperFluid/SegmentCard/index");
|
|
392
404
|
var _buttonGroup = _interopRequireDefault(require("./ButtonGroup/buttonGroup"));
|
|
405
|
+
var _inputCounter = require("./InputCounter/inputCounter");
|
|
406
|
+
var _stepper = _interopRequireDefault(require("./Stepper/stepper"));
|
|
393
407
|
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); }
|
|
394
408
|
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; }
|
|
395
409
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/package.json
CHANGED
package/src/App.js
CHANGED
|
@@ -1,10 +1,61 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { GlobalStyle } from './lib/components';
|
|
3
3
|
import BmButtonGroup from './lib/components/ButtonGroup/buttonGroup';
|
|
4
|
+
import { BmInputCounter } from './lib/components/InputCounter/inputCounter';
|
|
5
|
+
import MultiDateSelector from './lib/components/MultipleDateSelector/multipleDateSelector';
|
|
6
|
+
import BmStepper from './lib/components/Stepper/stepper';
|
|
4
7
|
|
|
5
8
|
const App = () => {
|
|
6
9
|
const [item, setItem] = useState();
|
|
7
10
|
const Occurance = ['Now', 'Later', 'Recurring'];
|
|
11
|
+
const [count, setCount] = useState();
|
|
12
|
+
const handleCountChange = (newCount) => {
|
|
13
|
+
setCount(newCount);
|
|
14
|
+
};
|
|
15
|
+
const [activeStep, setActiveStep] = useState(new Date().getDay());
|
|
16
|
+
const [selectedDates, setSelectedDates] = useState([]);
|
|
17
|
+
|
|
18
|
+
const handleSelectDates = (dates) => {
|
|
19
|
+
setSelectedDates(dates);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const Weekdays = [
|
|
23
|
+
{
|
|
24
|
+
dayNo: 1,
|
|
25
|
+
day: 'Monday',
|
|
26
|
+
dayInitial: 'M',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
dayNo: 2,
|
|
30
|
+
day: 'Tuesday',
|
|
31
|
+
dayInitial: 'T',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
dayNo: 3,
|
|
35
|
+
day: 'Wednesday',
|
|
36
|
+
dayInitial: 'W',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
dayNo: 4,
|
|
40
|
+
day: 'Thursday',
|
|
41
|
+
dayInitial: 'T',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
dayNo: 5,
|
|
45
|
+
day: 'Friday',
|
|
46
|
+
dayInitial: 'F',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
dayNo: 6,
|
|
50
|
+
day: 'Saturday',
|
|
51
|
+
dayInitial: 'S',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
dayNo: 0,
|
|
55
|
+
day: 'Sunday',
|
|
56
|
+
dayInitial: 'S',
|
|
57
|
+
},
|
|
58
|
+
];
|
|
8
59
|
|
|
9
60
|
return (
|
|
10
61
|
<>
|
|
@@ -17,6 +68,29 @@ const App = () => {
|
|
|
17
68
|
</BmButtonGroup.Item>
|
|
18
69
|
))}
|
|
19
70
|
</BmButtonGroup>
|
|
71
|
+
<BmInputCounter
|
|
72
|
+
min="1"
|
|
73
|
+
max="20"
|
|
74
|
+
count={count}
|
|
75
|
+
onChange={handleCountChange}
|
|
76
|
+
/>
|
|
77
|
+
<MultiDateSelector onSelect={handleSelectDates} />
|
|
78
|
+
{selectedDates.length > 0 && (
|
|
79
|
+
<p>Selected dates: {selectedDates.join(', ')}</p>
|
|
80
|
+
)}
|
|
81
|
+
{Weekdays.map(({ dayNo, dayInitial }) => {
|
|
82
|
+
return (
|
|
83
|
+
<BmStepper
|
|
84
|
+
key={dayNo}
|
|
85
|
+
activeStep={activeStep > -1 ? activeStep === dayNo : null}
|
|
86
|
+
onClick={() => {
|
|
87
|
+
setActiveStep(dayNo);
|
|
88
|
+
}}
|
|
89
|
+
>
|
|
90
|
+
{dayInitial}
|
|
91
|
+
</BmStepper>
|
|
92
|
+
);
|
|
93
|
+
})}
|
|
20
94
|
</>
|
|
21
95
|
);
|
|
22
96
|
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import RemoveCircleIcon from '@mui/icons-material/RemoveCircle';
|
|
4
|
+
import AddCircleIcon from '@mui/icons-material/AddCircle';
|
|
5
|
+
import { BmIcons } from '../iconStyles';
|
|
6
|
+
import { BmGrey200, BmGrey400, BmPrimaryBlue } from '../colors';
|
|
7
|
+
|
|
8
|
+
const Wrapper = styled.div`
|
|
9
|
+
display: flex;
|
|
10
|
+
border-radius: 0.25rem;
|
|
11
|
+
border: 0.071rem solid ${BmGrey200};
|
|
12
|
+
justify-content: space-between;
|
|
13
|
+
padding: 0.5rem;
|
|
14
|
+
&:hover {
|
|
15
|
+
border: 0.071rem solid ${BmGrey400};
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
18
|
+
|
|
19
|
+
export const BmInputCounter = ({
|
|
20
|
+
min = 0,
|
|
21
|
+
max = 10,
|
|
22
|
+
onChange,
|
|
23
|
+
inputStyle,
|
|
24
|
+
BtnStyle,
|
|
25
|
+
count = 0,
|
|
26
|
+
...rest
|
|
27
|
+
}) => {
|
|
28
|
+
const increment = () => {
|
|
29
|
+
if (count < max) {
|
|
30
|
+
onChange(count + 1);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const decrement = () => {
|
|
35
|
+
if (count > min) {
|
|
36
|
+
onChange(count - 1);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
return (
|
|
40
|
+
<Wrapper {...rest}>
|
|
41
|
+
<BmIcons
|
|
42
|
+
icon={<RemoveCircleIcon />}
|
|
43
|
+
size="small"
|
|
44
|
+
color={BmPrimaryBlue}
|
|
45
|
+
onClick={decrement}
|
|
46
|
+
disabled={count >= max}
|
|
47
|
+
{...BtnStyle}
|
|
48
|
+
/>
|
|
49
|
+
{count}
|
|
50
|
+
<BmIcons
|
|
51
|
+
icon={<AddCircleIcon />}
|
|
52
|
+
size="small"
|
|
53
|
+
color={BmPrimaryBlue}
|
|
54
|
+
onClick={increment}
|
|
55
|
+
disabled={count <= min}
|
|
56
|
+
{...BtnStyle}
|
|
57
|
+
/>
|
|
58
|
+
</Wrapper>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// import { BmColors } from 'beem-component';
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import {
|
|
5
|
+
BmGrey100,
|
|
6
|
+
BmPrimaryBlack,
|
|
7
|
+
BmPrimaryBlue,
|
|
8
|
+
BmPrimaryWhite,
|
|
9
|
+
BmSecondaryBlue12,
|
|
10
|
+
} from '../colors';
|
|
11
|
+
|
|
12
|
+
const Wrapper = styled.div`
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: row;
|
|
15
|
+
flex-wrap: wrap;
|
|
16
|
+
border: 0.071rem solid ${BmGrey100};
|
|
17
|
+
padding: 1rem;
|
|
18
|
+
background: ${BmSecondaryBlue12};
|
|
19
|
+
`;
|
|
20
|
+
const Box = styled.div`
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
border: 0.071rem solid ${BmGrey100};
|
|
23
|
+
padding: 0.5rem;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
`;
|
|
26
|
+
const MultiDateSelector = () => {
|
|
27
|
+
const [selectedDays, setSelectedDays] = useState([]);
|
|
28
|
+
|
|
29
|
+
const handleDayClick = (day) => {
|
|
30
|
+
if (selectedDays.includes(day)) {
|
|
31
|
+
setSelectedDays(selectedDays.filter((d) => d !== day));
|
|
32
|
+
} else {
|
|
33
|
+
setSelectedDays([...selectedDays, day]);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const days = Array.from({ length: 31 }, (_, i) => i + 1);
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<div>
|
|
41
|
+
<Wrapper>
|
|
42
|
+
{days.map((day) => (
|
|
43
|
+
<Box
|
|
44
|
+
key={day}
|
|
45
|
+
style={{
|
|
46
|
+
backgroundColor: selectedDays.includes(day)
|
|
47
|
+
? BmPrimaryBlue
|
|
48
|
+
: BmPrimaryWhite,
|
|
49
|
+
color: selectedDays.includes(day)
|
|
50
|
+
? BmPrimaryWhite
|
|
51
|
+
: BmPrimaryBlack,
|
|
52
|
+
fontWeight: selectedDays.includes(day) ? 'bold' : 'normal',
|
|
53
|
+
}}
|
|
54
|
+
onClick={() => handleDayClick(day)}
|
|
55
|
+
>
|
|
56
|
+
{day}
|
|
57
|
+
</Box>
|
|
58
|
+
))}
|
|
59
|
+
</Wrapper>
|
|
60
|
+
</div>
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export default MultiDateSelector;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
import {
|
|
3
|
+
BmGrey100,
|
|
4
|
+
BmGrey600,
|
|
5
|
+
BmPrimaryBlue,
|
|
6
|
+
BmPrimaryWhite,
|
|
7
|
+
BmSecondaryGreen15,
|
|
8
|
+
} from '../colors';
|
|
9
|
+
|
|
10
|
+
const BmStepper = styled.div`
|
|
11
|
+
display: flex;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
width: 3rem;
|
|
14
|
+
height: 3rem;
|
|
15
|
+
background-color: ${(props) =>
|
|
16
|
+
props.activeStep ? BmSecondaryGreen15 : BmGrey100};
|
|
17
|
+
color: ${(props) => (props.activeStep ? BmPrimaryBlue : BmGrey600)};
|
|
18
|
+
border-radius: 50%;
|
|
19
|
+
text-align: center;
|
|
20
|
+
border: 0.071rem solid
|
|
21
|
+
${(props) => (props.activeStep ? BmPrimaryBlue : BmPrimaryWhite)};
|
|
22
|
+
align-items: center;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
`;
|
|
25
|
+
|
|
26
|
+
export default BmStepper;
|
|
@@ -67,6 +67,8 @@ import {
|
|
|
67
67
|
BmSegmentCreateContent,
|
|
68
68
|
} from './SuperFluid/SegmentCard/index';
|
|
69
69
|
import BmButtonGroup from './ButtonGroup/buttonGroup';
|
|
70
|
+
import { BmInputCounter } from './InputCounter/inputCounter';
|
|
71
|
+
import BmStepper from './Stepper/stepper';
|
|
70
72
|
|
|
71
73
|
export {
|
|
72
74
|
BmAccordion,
|
|
@@ -86,6 +88,8 @@ export {
|
|
|
86
88
|
BmPaymentBox,
|
|
87
89
|
BmJumbotron,
|
|
88
90
|
BmButtonGroup,
|
|
91
|
+
BmInputCounter,
|
|
92
|
+
BmStepper,
|
|
89
93
|
// Fix height and if there is dropdown option inside the modal body
|
|
90
94
|
BmModal,
|
|
91
95
|
BmNoteBar,
|