@cashub/ui 0.6.7 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -71,7 +71,7 @@ var DatetimePicker = function DatetimePicker(_ref) {
71
71
  });
72
72
  };
73
73
 
74
- var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n > input {\n width: 100%;\n height: 36px;\n color: var(--color-white);\n background: transparent;\n border-radius: var(--border-radius-l);\n border: var(--border-width) solid var(--border-color);\n padding: 0 var(--spacing-s);\n outline: none;\n\n ", "\n }\n }\n\n .react-datepicker-popper[data-placement^='top'] {\n padding-bottom: var(--spacing-xs);\n }\n\n .react-datepicker-popper[data-placement^='bottom'] {\n padding-top: var(--spacing-xs);\n }\n\n .react-datepicker {\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n border: var(--border-width) solid var(--border-color);\n padding: var(--spacing-s);\n font-size: var(--font-body1);\n color: var(--color-white);\n background: var(--color-background1);\n\n .react-datepicker__triangle {\n &::before,\n &::after {\n display: none;\n }\n }\n\n .react-datepicker__header {\n border: none;\n padding: 0;\n background: var(--color-background1);\n }\n\n .react-datepicker__current-month {\n line-height: 36px;\n color: var(--color-white);\n font-size: var(--font-body1);\n font-weight: var(--font-normal);\n }\n\n .react-datepicker__day-names {\n margin: 0;\n }\n\n .react-datepicker__day-name,\n .react-datepicker__day {\n width: 36px;\n height: 36px;\n line-height: 36px;\n color: var(--color-white);\n font-weight: var(--font-normal);\n margin: 0;\n border-radius: 4px;\n }\n\n .react-datepicker__day:hover {\n background: var(--color-hover);\n }\n\n .react-datepicker__day--disabled {\n color: var(--font-on-mute);\n background: none !important;\n }\n }\n\n .react-datepicker__month {\n margin: 0;\n }\n\n .react-datepicker__navigation {\n top: 0;\n width: 36px;\n height: 36px;\n margin: var(--spacing-s) var(--spacing-s) 0 var(--spacing-s);\n border-radius: 4px;\n\n &.react-datepicker__navigation--previous {\n left: 0;\n }\n\n &.react-datepicker__navigation--next {\n right: 0;\n }\n\n &:hover {\n background: var(--color-hover);\n }\n\n .react-datepicker__navigation-icon::before {\n border-color: var(--color-white);\n }\n\n .react-datepicker__navigation-icon--previous::before {\n right: -4px;\n }\n\n .react-datepicker__navigation-icon--next::before {\n left: -4px;\n }\n }\n\n .react-datepicker__day--selected,\n .react-datepicker__day--in-selecting-range,\n .react-datepicker__day--in-range,\n .react-datepicker__month-text--selected,\n .react-datepicker__month-text--in-selecting-range,\n .react-datepicker__month-text--in-range,\n .react-datepicker__quarter-text--selected,\n .react-datepicker__quarter-text--in-selecting-range,\n .react-datepicker__quarter-text--in-range,\n .react-datepicker__year-text--selected,\n .react-datepicker__year-text--in-selecting-range,\n .react-datepicker__year-text--in-range {\n background: var(--color-primary) !important;\n }\n\n .react-datepicker__day--keyboard-selected,\n .react-datepicker__month-text--keyboard-selected,\n .react-datepicker__quarter-text--keyboard-selected,\n .react-datepicker__year-text--keyboard-selected {\n background: none;\n }\n\n .react-datepicker__input-time-container {\n margin: 0;\n margin-top: var(--spacing-s);\n margin-left: var(--spacing-xs);\n\n .react-datepicker-time__input input {\n height: 36px;\n padding: 0 var(--spacing-xs);\n border-radius: var(--border-radius);\n border: var(--border-width) solid var(--border-color);\n background: transparent;\n color: var(--font-on-background);\n outline: none;\n }\n }\n"])), function (_ref2) {
74
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n > input {\n width: 100%;\n height: 36px;\n color: var(--color-white);\n background: transparent;\n border-radius: var(--border-radius-l);\n border: var(--border-width) solid var(--border-color);\n padding: 0 var(--spacing-s);\n outline: none;\n\n ", "\n }\n }\n\n .react-datepicker-popper {\n z-index: 2;\n }\n\n .react-datepicker-popper[data-placement^='top'] {\n padding-bottom: var(--spacing-xs);\n }\n\n .react-datepicker-popper[data-placement^='bottom'] {\n padding-top: var(--spacing-xs);\n }\n\n .react-datepicker {\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n border: var(--border-width) solid var(--border-color);\n padding: var(--spacing-s);\n font-size: var(--font-body1);\n color: var(--color-white);\n background: var(--color-background1);\n\n .react-datepicker__triangle {\n &::before,\n &::after {\n display: none;\n }\n }\n\n .react-datepicker__header {\n border: none;\n padding: 0;\n background: var(--color-background1);\n }\n\n .react-datepicker__current-month {\n line-height: 36px;\n color: var(--color-white);\n font-size: var(--font-body1);\n font-weight: var(--font-normal);\n }\n\n .react-datepicker__day-names {\n margin: 0;\n }\n\n .react-datepicker__day-name,\n .react-datepicker__day {\n width: 36px;\n height: 36px;\n line-height: 36px;\n color: var(--color-white);\n font-weight: var(--font-normal);\n margin: 0;\n border-radius: 4px;\n }\n\n .react-datepicker__day:hover {\n background: var(--color-hover);\n }\n\n .react-datepicker__day--disabled {\n color: var(--font-on-mute);\n background: none !important;\n }\n }\n\n .react-datepicker__month {\n margin: 0;\n }\n\n .react-datepicker__navigation {\n top: 0;\n width: 36px;\n height: 36px;\n margin: var(--spacing-s) var(--spacing-s) 0 var(--spacing-s);\n border-radius: 4px;\n\n &.react-datepicker__navigation--previous {\n left: 0;\n }\n\n &.react-datepicker__navigation--next {\n right: 0;\n }\n\n &:hover {\n background: var(--color-hover);\n }\n\n .react-datepicker__navigation-icon::before {\n border-color: var(--color-white);\n }\n\n .react-datepicker__navigation-icon--previous::before {\n right: -4px;\n }\n\n .react-datepicker__navigation-icon--next::before {\n left: -4px;\n }\n }\n\n .react-datepicker__day--selected,\n .react-datepicker__day--in-selecting-range,\n .react-datepicker__day--in-range,\n .react-datepicker__month-text--selected,\n .react-datepicker__month-text--in-selecting-range,\n .react-datepicker__month-text--in-range,\n .react-datepicker__quarter-text--selected,\n .react-datepicker__quarter-text--in-selecting-range,\n .react-datepicker__quarter-text--in-range,\n .react-datepicker__year-text--selected,\n .react-datepicker__year-text--in-selecting-range,\n .react-datepicker__year-text--in-range {\n background: var(--color-primary) !important;\n }\n\n .react-datepicker__day--keyboard-selected,\n .react-datepicker__month-text--keyboard-selected,\n .react-datepicker__quarter-text--keyboard-selected,\n .react-datepicker__year-text--keyboard-selected {\n background: none;\n }\n\n .react-datepicker__input-time-container {\n margin: 0;\n margin-top: var(--spacing-s);\n margin-left: var(--spacing-xs);\n\n .react-datepicker-time__input input {\n height: 36px;\n padding: 0 var(--spacing-xs);\n border-radius: var(--border-radius);\n border: var(--border-width) solid var(--border-color);\n background: transparent;\n color: var(--font-on-background);\n outline: none;\n }\n }\n"])), function (_ref2) {
75
75
  var disabled = _ref2.disabled;
76
76
  return disabled ? 'cursor: not-allowed ; opacity: 0.5;' : '';
77
77
  });
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
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
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.default = void 0;
7
9
 
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
11
 
10
12
  var _rcTimePicker = _interopRequireDefault(require("rc-time-picker"));
11
13
 
@@ -13,10 +15,14 @@ require("rc-time-picker/assets/index.css");
13
15
 
14
16
  var _jsxRuntime = require("react/jsx-runtime");
15
17
 
16
- var _templateObject;
18
+ var _templateObject, _templateObject2;
17
19
 
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
22
+ 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); }
23
+
24
+ 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; }
25
+
20
26
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
21
27
 
22
28
  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; }
@@ -27,11 +33,15 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
27
33
 
28
34
  var TimeInput = function TimeInput(props) {
29
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
36
+ disabled: props.disabled,
30
37
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_rcTimePicker.default, _objectSpread({}, props))
31
38
  });
32
39
  };
33
40
 
34
- var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .rc-time-picker {\n width: 100%;\n\n .rc-time-picker-input {\n height: 36px;\n border-radius: var(--border-radius);\n border: var(--border-width) solid var(--border-color);\n padding: 10px var(--spacing-s);\n color: var(--font-on-background);\n background: transparent;\n font-size: var(--font-body1);\n\n &:focus {\n border: var(--border-width) solid var(--color-primary);\n outline: none;\n }\n }\n\n .rc-time-picker-clear {\n top: 6px;\n right: 8px;\n\n i:after {\n font-size: var(--font-body1);\n }\n }\n }\n"])));
41
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .rc-time-picker {\n width: 100%;\n\n .rc-time-picker-input {\n height: 36px;\n border-radius: var(--border-radius);\n border: var(--border-width) solid var(--border-color);\n padding: 10px var(--spacing-s);\n color: var(--font-on-background);\n background: transparent;\n font-size: var(--font-body1);\n\n ", ";\n\n &:focus {\n border: var(--border-width) solid var(--color-primary);\n outline: none;\n }\n }\n\n .rc-time-picker-clear {\n top: 6px;\n right: 8px;\n\n i:after {\n font-size: var(--font-body1);\n }\n }\n }\n"])), function (_ref) {
42
+ var disabled = _ref.disabled;
43
+ return disabled && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n opacity: 0.5;\n "])));
44
+ });
35
45
 
36
46
  var _default = TimeInput;
37
47
  exports.default = _default;
@@ -56,7 +56,13 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
56
56
  alt = _ref$alt === void 0 ? 'user avatar' : _ref$alt,
57
57
  _ref$roundedCircle = _ref.roundedCircle,
58
58
  roundedCircle = _ref$roundedCircle === void 0 ? false : _ref$roundedCircle,
59
- cropperHandler = _ref.cropperHandler;
59
+ cropperHandler = _ref.cropperHandler,
60
+ onBlur = _ref.onBlur;
61
+
62
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
63
+ t = _useTranslation.t;
64
+
65
+ var refWrapper = (0, _react.useRef)();
60
66
 
61
67
  var _useState = (0, _react.useState)(src),
62
68
  _useState2 = _slicedToArray(_useState, 2),
@@ -68,8 +74,10 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
68
74
  currentFile = _useState4[0],
69
75
  setCurrentFile = _useState4[1];
70
76
 
71
- var _useTranslation = (0, _reactI18next.useTranslation)(),
72
- t = _useTranslation.t;
77
+ var _useState5 = (0, _react.useState)(0),
78
+ _useState6 = _slicedToArray(_useState5, 2),
79
+ focusCount = _useState6[0],
80
+ setFocusCount = _useState6[1];
73
81
 
74
82
  var handleAvatarRemove = function handleAvatarRemove() {
75
83
  setCurrentSrc(src);
@@ -142,11 +150,42 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
142
150
  }
143
151
  });
144
152
  }, [cropperHandler, handleImageFile]);
153
+
154
+ var handleFocus = function handleFocus(e) {
155
+ e.preventDefault();
156
+ e.stopPropagation();
157
+
158
+ if (e.target.tagName === 'BUTTON') {
159
+ setFocusCount(focusCount + 1);
160
+ }
161
+ };
162
+
163
+ var handleBlur = function handleBlur(e) {
164
+ e.preventDefault();
165
+ e.stopPropagation();
166
+ if (refWrapper.current.contains(e.relatedTarget)) return;
167
+
168
+ if (e.target === refWrapper.current && onBlur) {
169
+ onBlur();
170
+ }
171
+ };
172
+
145
173
  (0, _react.useEffect)(function () {
146
174
  setCurrentSrc(src);
147
- }, [src, ref]);
175
+ }, [src, ref]); // if click button icon,can focus figure element
176
+
177
+ (0, _react.useEffect)(function () {
178
+ if (focusCount === 2) {
179
+ refWrapper.current.focus();
180
+ setFocusCount(0);
181
+ }
182
+ }, [ref, focusCount]);
148
183
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
184
+ ref: refWrapper,
149
185
  roundedCircle: roundedCircle,
186
+ onBlur: handleBlur,
187
+ onFocus: handleFocus,
188
+ tabIndex: "0",
150
189
  children: [currentSrc && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ImageFluid.default, {
151
190
  crossOrigin: "anonymous",
152
191
  src: currentSrc,
@@ -15,7 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
 
16
16
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
17
 
18
- var CustomLeafletMapContainer = (0, _styledComponents.default)(_reactLeaflet.MapContainer)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: ", "px;\n border-radius: var(--border-radius);\n z-index: 1;\n\n &:focus {\n border: 1px solid var(--border-color);\n box-shadow: var(--box-shadow);\n }\n\n .leaflet-control-container {\n .leaflet-bar {\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n a {\n background: transparent;\n border-bottom: 1px solid var(--border-color);\n color: #fff;\n\n &:last-child {\n border-bottom: none;\n }\n\n &.leaflet-disabled {\n opacity: 0.5;\n }\n }\n }\n\n .leaflet-left .leaflet-control {\n margin-left: var(--spacing-s);\n }\n\n .leaflet-right .leaflet-control {\n margin-right: var(--spacing-s);\n }\n\n .leaflet-top .leaflet-control {\n margin-top: var(--spacing-s);\n }\n\n .leaflet-control {\n font-weight: bold;\n background: var(--color-background1);\n\n &.leaflet-control-attribution {\n background: var(--font-on-mute);\n margin: 0;\n }\n }\n }\n\n &.leaflet-touch {\n .leaflet-bar {\n border: none;\n\n a {\n width: 24px;\n height: 24px;\n line-height: 24px;\n }\n }\n\n .leaflet-left .leaflet-control {\n margin-left: var(--spacing-s);\n }\n\n .leaflet-right .leaflet-control {\n margin-right: var(--spacing-s);\n }\n\n .leaflet-top .leaflet-control {\n margin-top: var(--spacing-s);\n }\n }\n\n .marker-cluster {\n background: var(--color-primary) a1;\n\n div {\n background: var(--color-primary);\n }\n }\n\n .leaflet-popup-content-wrapper {\n background: transparent;\n box-shadow: unset;\n }\n\n .leaflet-popup-tip {\n display: none;\n }\n"])), function (_ref) {
18
+ var CustomLeafletMapContainer = (0, _styledComponents.default)(_reactLeaflet.MapContainer)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: ", "px;\n border-radius: var(--border-radius);\n z-index: 1;\n\n &:focus {\n border: 1px solid var(--border-color);\n box-shadow: var(--box-shadow);\n }\n\n .leaflet-control-container {\n .leaflet-control-zoom {\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n a {\n background: transparent;\n border-bottom: 1px solid var(--border-color);\n color: #fff;\n\n &:last-child {\n border-bottom: none;\n }\n\n &.leaflet-disabled {\n opacity: 0.5;\n }\n }\n }\n\n .leaflet-draw {\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n a {\n background-color: var(--color-background1);\n }\n\n .leaflet-draw-draw-polyline {\n background-position: -3px -3px;\n }\n\n .leaflet-draw-draw-polygon {\n background-position: -32px -3px;\n }\n\n .leaflet-draw-draw-rectangle {\n background-position: -63px -3px;\n }\n\n .leaflet-draw-draw-circle {\n background-position: -93px -3px;\n }\n\n .leaflet-draw-draw-marker {\n background-position: -123px -3px;\n }\n\n .leaflet-draw-draw-circlemarker {\n background-position: -273px -3px;\n }\n\n .leaflet-draw-edit-edit {\n background-position: -213px -3px;\n }\n\n .leaflet-draw-edit-remove {\n background-position: -243px -3px;\n }\n }\n\n .leaflet-left .leaflet-control {\n margin-left: var(--spacing-s);\n }\n\n .leaflet-right .leaflet-control {\n margin-right: var(--spacing-s);\n }\n\n .leaflet-top .leaflet-control {\n margin-top: var(--spacing-s);\n }\n\n .leaflet-control {\n font-weight: bold;\n background: var(--color-background1);\n\n &.leaflet-control-attribution {\n background: var(--font-on-mute);\n margin: 0;\n }\n }\n }\n\n .leaflet-edit-move {\n border-radius: 50px;\n border-color: var(--border-color);\n }\n\n .leaflet-edit-resize {\n border-radius: 50px;\n border-color: var(--border-color);\n }\n\n &.leaflet-touch {\n .leaflet-bar {\n border: none;\n\n a {\n width: 24px;\n height: 24px;\n line-height: 24px;\n }\n }\n\n .leaflet-left .leaflet-control {\n margin-left: var(--spacing-s);\n }\n\n .leaflet-right .leaflet-control {\n margin-right: var(--spacing-s);\n }\n\n .leaflet-top .leaflet-control {\n margin-top: var(--spacing-s);\n }\n }\n\n .marker-cluster {\n background: var(--color-primary) a1;\n\n div {\n background: var(--color-primary);\n }\n }\n\n .leaflet-popup-content-wrapper {\n background: transparent;\n box-shadow: unset;\n }\n\n .leaflet-popup-tip {\n display: none;\n }\n\n .sr-only {\n display: none;\n }\n"])), function (_ref) {
19
19
  var height = _ref.height;
20
20
  return height;
21
21
  });
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _leaflet = _interopRequireWildcard(require("leaflet"));
11
+
12
+ var _leafletDraw = _interopRequireDefault(require("leaflet-draw"));
13
+
14
+ require("leaflet-draw/dist/leaflet.draw.css");
15
+
16
+ var _core = require("@react-leaflet/core");
17
+
18
+ var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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); }
33
+
34
+ var eventHandlers = {
35
+ onEdited: 'draw:edited',
36
+ onDrawStart: 'draw:drawstart',
37
+ onDrawStop: 'draw:drawstop',
38
+ onDrawVertex: 'draw:drawvertex',
39
+ onEditStart: 'draw:editstart',
40
+ onEditMove: 'draw:editmove',
41
+ onEditResize: 'draw:editresize',
42
+ onEditVertex: 'draw:editvertex',
43
+ onEditStop: 'draw:editstop',
44
+ onDeleted: 'draw:deleted',
45
+ onDeleteStart: 'draw:deletestart',
46
+ onDeleteStop: 'draw:deletestop'
47
+ };
48
+ _leaflet.default.drawLocal.edit.handlers.edit.tooltip = {
49
+ text: 'Drag handles or markers to edit features.',
50
+ subtext: null
51
+ };
52
+
53
+ var DrawControl = function DrawControl(props) {
54
+ var _useLeafletContext = (0, _core.useLeafletContext)(),
55
+ map = _useLeafletContext.map,
56
+ layerContainer = _useLeafletContext.layerContainer;
57
+
58
+ var drawRef = (0, _react.useRef)();
59
+ var propsRef = (0, _react.useRef)(props);
60
+ var onDrawCreate = (0, _react.useCallback)(function (e) {
61
+ var container = layerContainer;
62
+ container.addLayer(e.layer);
63
+ }, [layerContainer]);
64
+ var enableEdit = (0, _react.useCallback)(function () {
65
+ // programatically enable edit mode
66
+ // https://github.com/Leaflet/Leaflet.draw/issues/129
67
+ var editHandler = drawRef.current._toolbars.edit.getModeHandlers()[0].handler; // this is hacky but needed otherwise enabling the edit mode will fail
68
+ // when the code attempts to fire map events for edit start etc
69
+
70
+
71
+ editHandler._map = map;
72
+ editHandler.enable();
73
+ }, [map]);
74
+ (0, _react.useEffect)(function () {
75
+ // if rendered and all props no change prevent render again
76
+ if (drawRef.current && props.draw !== undefined && (0, _fastDeepEqual.default)(props.draw, propsRef.current.draw) && (0, _fastDeepEqual.default)(props.edit, propsRef.current.edit) && props.position === propsRef.current.position) {
77
+ return;
78
+ } // add event listener
79
+
80
+
81
+ for (var key in eventHandlers) {
82
+ map.on(eventHandlers[key], function (evt) {
83
+ var handlers = Object.keys(eventHandlers).filter(function (handler) {
84
+ return eventHandlers[handler] === evt.type;
85
+ });
86
+
87
+ if (handlers.length === 1) {
88
+ var handler = handlers[0];
89
+ props[handler] && props[handler](evt);
90
+ }
91
+ });
92
+ } // add create draw event listener
93
+
94
+
95
+ map.on(_leaflet.default.Draw.Event.CREATED, onDrawCreate); // create draw element and render on map
96
+
97
+ drawRef.current = createDrawElement(props, layerContainer);
98
+ map.addControl(drawRef.current);
99
+ drawRef.current.enableEdit = enableEdit;
100
+
101
+ if (props.onMounted) {
102
+ props.onMounted(drawRef.current);
103
+ }
104
+
105
+ return function () {
106
+ drawRef.current.remove(map);
107
+ drawRef.current = null;
108
+ map.off(_leaflet.default.Draw.Event.CREATED, onDrawCreate);
109
+
110
+ for (var _key in eventHandlers) {
111
+ if (props[_key]) {
112
+ map.off(eventHandlers[_key], props[_key]);
113
+ }
114
+ }
115
+ };
116
+ }, [props, map, layerContainer, onDrawCreate, enableEdit]);
117
+ return null;
118
+ };
119
+
120
+ var createDrawElement = function createDrawElement(props, layerContainer) {
121
+ var draw = props.draw,
122
+ edit = props.edit,
123
+ position = props.position;
124
+ var options = {
125
+ edit: {
126
+ featureGroup: layerContainer
127
+ }
128
+ };
129
+
130
+ if (draw !== undefined) {
131
+ if (_typeof(draw) === 'object') {
132
+ options.draw = _objectSpread({}, draw);
133
+ } else {
134
+ options.draw = draw;
135
+ }
136
+ }
137
+
138
+ if (edit) {
139
+ options.edit = _objectSpread(_objectSpread({}, options.edit), edit);
140
+ }
141
+
142
+ if (position) {
143
+ options.position = position;
144
+ }
145
+
146
+ return new _leaflet.Control.Draw(options);
147
+ };
148
+
149
+ var _default = DrawControl;
150
+ exports.default = _default;
package/map/LeafletMap.js CHANGED
@@ -52,7 +52,8 @@ var LeafletMap = function LeafletMap(_ref) {
52
52
  } : _ref$data,
53
53
  onError = _ref.onError,
54
54
  customPopup = _ref.customPopup,
55
- checkPrimaryLocation = _ref.checkPrimaryLocation;
55
+ checkPrimaryLocation = _ref.checkPrimaryLocation,
56
+ children = _ref.children;
56
57
 
57
58
  var _useState = (0, _react.useState)(true),
58
59
  _useState2 = _slicedToArray(_useState, 2),
@@ -94,7 +95,7 @@ var LeafletMap = function LeafletMap(_ref) {
94
95
  }
95
96
 
96
97
  locations.forEach(function (e, index) {
97
- if (!e.latitude && e.latitude !== 0 || !e.longitude && e.longitude !== 0 || e.latitude === 0 && e.longitude === 0) {
98
+ if (!e.latitude && e.latitude !== 0 || !e.longitude && e.longitude !== 0 || e.latitude === 0 && e.longitude === 0 || e.latitude === '0' && e.longitude === '0') {
98
99
  return;
99
100
  } // prevent duplicate LatLngBounds
100
101
 
@@ -172,7 +173,7 @@ var LeafletMap = function LeafletMap(_ref) {
172
173
  });
173
174
  },
174
175
  children: markers
175
- })]
176
+ }), children]
176
177
  });
177
178
  }
178
179
 
@@ -187,6 +188,9 @@ var MapInteractor = function MapInteractor(_ref2) {
187
188
  defaultPosition = _ref2.defaultPosition,
188
189
  position = _ref2.position;
189
190
  var map = (0, _reactLeaflet.useMapEvents)({
191
+ click: function click(e) {
192
+ e.originalEvent.stopPropagation();
193
+ },
190
194
  focus: function focus() {
191
195
  map.scrollWheelZoom.enable();
192
196
  },
package/map/index.js CHANGED
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "CustomLeafletMapContainer", {
9
9
  return _CustomLeafletMapContainer.default;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "DrawControl", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _DrawControl.default;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "LeafletMap", {
13
19
  enumerable: true,
14
20
  get: function get() {
@@ -20,4 +26,6 @@ var _CustomLeafletMapContainer = _interopRequireDefault(require("./CustomLeaflet
20
26
 
21
27
  var _LeafletMap = _interopRequireDefault(require("./LeafletMap"));
22
28
 
29
+ var _DrawControl = _interopRequireDefault(require("./DrawControl"));
30
+
23
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashub/ui",
3
- "version": "0.6.7",
3
+ "version": "0.8.0",
4
4
  "private": false,
5
5
  "author": "CASHUB Team",
6
6
  "description": "CASHUB UI components library",
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SectionToolbarItem = exports.SectionToolbar = void 0;
6
+ exports.default = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
10
- var _templateObject, _templateObject2;
10
+ var _templateObject;
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -15,8 +15,5 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
15
15
 
16
16
  var SectionToolbar = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n > *:not(:first-child) {\n margin-left: var(--spacing-s);\n }\n"])));
17
17
 
18
- exports.SectionToolbar = SectionToolbar;
19
-
20
- var SectionToolbarItem = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n\n > *:not(:first-child) {\n margin-left: var(--spacing-s);\n }\n"])));
21
-
22
- exports.SectionToolbarItem = SectionToolbarItem;
18
+ var _default = SectionToolbar;
19
+ exports.default = _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _templateObject;
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+
16
+ var SectionToolbarItem = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n\n > *:not(:first-child) {\n margin-left: var(--spacing-s);\n }\n"])));
17
+
18
+ var _default = SectionToolbarItem;
19
+ exports.default = _default;
package/section/index.js CHANGED
@@ -3,11 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {
7
- Section: true,
8
- SectionBody: true,
9
- SectionHeader: true
10
- };
11
6
  Object.defineProperty(exports, "Section", {
12
7
  enumerable: true,
13
8
  get: function get() {
@@ -26,6 +21,18 @@ Object.defineProperty(exports, "SectionHeader", {
26
21
  return _SectionHeader.default;
27
22
  }
28
23
  });
24
+ Object.defineProperty(exports, "SectionToolbar", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _SectionToolbar.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SectionToolbarItem", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _SectionToolbarItem.default;
34
+ }
35
+ });
29
36
 
30
37
  var _Section = _interopRequireDefault(require("./Section"));
31
38
 
@@ -33,18 +40,8 @@ var _SectionBody = _interopRequireDefault(require("./SectionBody"));
33
40
 
34
41
  var _SectionHeader = _interopRequireDefault(require("./SectionHeader"));
35
42
 
36
- var _SectionToolbar = require("./SectionToolbar");
43
+ var _SectionToolbar = _interopRequireDefault(require("./SectionToolbar"));
37
44
 
38
- Object.keys(_SectionToolbar).forEach(function (key) {
39
- if (key === "default" || key === "__esModule") return;
40
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
41
- if (key in exports && exports[key] === _SectionToolbar[key]) return;
42
- Object.defineProperty(exports, key, {
43
- enumerable: true,
44
- get: function get() {
45
- return _SectionToolbar[key];
46
- }
47
- });
48
- });
45
+ var _SectionToolbarItem = _interopRequireDefault(require("./SectionToolbarItem"));
49
46
 
50
47
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/table/Table.js CHANGED
@@ -122,7 +122,7 @@ var Table = function Table(_ref) {
122
122
  var containerLength = event.target.offsetWidth;
123
123
  var textLength = event.target.scrollWidth;
124
124
 
125
- if (textLength > containerLength) {
125
+ if (textLength >= containerLength) {
126
126
  event.stopPropagation();
127
127
  (0, _Popover.default)({
128
128
  id: id,