@cashub/ui 0.42.0 → 0.43.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.
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _reactDatepicker = _interopRequireDefault(require("react-datepicker"));
10
+ require("react-datepicker/dist/react-datepicker.css");
11
+ var _TimePickerV = _interopRequireDefault(require("./TimePickerV2"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _templateObject;
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
16
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
20
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ const DatetimePickerV3 = _ref => {
22
+ let {
23
+ selected = '',
24
+ onChange,
25
+ dateFormat = 'yyyy-MM-dd HH:mm:ss',
26
+ minDate,
27
+ maxDate,
28
+ showTimeInput,
29
+ readOnly,
30
+ disabled,
31
+ onBlur,
32
+ allowClear = false,
33
+ shouldCloseOnSelect = true
34
+ } = _ref;
35
+ const datepickerRef = (0, _react.useRef)(null);
36
+ const handleOnBlur = () => {
37
+ onBlur();
38
+ };
39
+ const selectedDate = selected ? new Date(Date.parse(selected)) : '';
40
+ const datePickerProps = {
41
+ dateFormat,
42
+ disabled,
43
+ onChange,
44
+ selected: selectedDate,
45
+ minDate: minDate ? new Date(Date.parse(minDate)) : '',
46
+ maxDate: maxDate ? new Date(Date.parse(maxDate)) : '',
47
+ isClearable: allowClear && selected,
48
+ shouldCloseOnSelect
49
+ };
50
+ if (showTimeInput) {
51
+ datePickerProps.showTimeInput = true;
52
+ datePickerProps.customTimeInput = /*#__PURE__*/(0, _jsxRuntime.jsx)(_TimePickerV.default, {
53
+ selected: selected,
54
+ onSelect: value => {
55
+ if (selectedDate) {
56
+ const [hh, mm, ss] = value.split(':');
57
+ selectedDate.setHours(Number(hh) || 0, Number(mm) || 0, Number(ss) || 0);
58
+ onChange(selectedDate);
59
+ }
60
+ }
61
+ });
62
+ }
63
+ if (onBlur) {
64
+ datePickerProps.onCalendarClose = handleOnBlur;
65
+ }
66
+ (0, _react.useEffect)(() => {
67
+ // set input to readonly
68
+ if (datepickerRef && datepickerRef.current && readOnly) {
69
+ datepickerRef.current.input.readOnly = readOnly;
70
+ }
71
+ }, [readOnly]);
72
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
73
+ disabled: disabled,
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactDatepicker.default, _objectSpread(_objectSpread({}, datePickerProps), {}, {
75
+ ref: datepickerRef
76
+ }))
77
+ });
78
+ };
79
+ const Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n width: 100%;\n\n > input {\n width: 100%;\n height: 36px;\n color: var(--font-on-background);\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 > input + button {\n padding: 0;\n right: var(--spacing-s);\n &::after {\n color: var(--color-primary);\n background-color: transparent;\n font-size: 24px;\n padding: 0;\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(--font-on-background);\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(--font-on-background);\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(--font-on-background);\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(--font-on-background);\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"])), _ref2 => {
80
+ let {
81
+ disabled
82
+ } = _ref2;
83
+ return disabled ? 'cursor: not-allowed; opacity: 0.5;' : '';
84
+ });
85
+ var _default = exports.default = DatetimePickerV3;
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+ var _reactOutsideClickHandler = _interopRequireDefault(require("react-outside-click-handler"));
10
+ var _hooks = require("@cashub/hooks");
11
+ var _utils = require("@cashub/utils");
12
+ var _pad = _interopRequireDefault(require("./utils/pad"));
13
+ var _form = require("../form");
14
+ var _scrollbar = _interopRequireDefault(require("../styles/mixin/scrollbar"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
21
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
24
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
+ const LENGTH = 2;
27
+ const PAD_STRING = '0';
28
+ const HOUR_OPTIONS = (0, _utils.generateRange)(0, 23).map(value => {
29
+ return (0, _pad.default)(value, LENGTH, PAD_STRING);
30
+ });
31
+ const MINUTE_SECOND_OPTIONS = (0, _utils.generateRange)(0, 59).map(value => {
32
+ return (0, _pad.default)(value, LENGTH, PAD_STRING);
33
+ });
34
+ const TimePickerV2 = _ref => {
35
+ let {
36
+ selected,
37
+ onSelect
38
+ } = _ref;
39
+ const [display, setDisplay] = (0, _react.useState)(false);
40
+ const [targetElement, setTargetElement] = (0, _react.useState)(null);
41
+ const [popperElement, setPopperElement] = (0, _react.useState)(null);
42
+ const [time, setTime] = (0, _react.useState)(() => {
43
+ let time = new Date(Date.parse(selected));
44
+
45
+ // use current time when time value is invalid
46
+ if (isNaN(time)) {
47
+ time = new Date();
48
+ }
49
+ return {
50
+ hour: (0, _pad.default)(time.getHours(), LENGTH, PAD_STRING),
51
+ minute: (0, _pad.default)(time.getMinutes(), LENGTH, PAD_STRING),
52
+ second: (0, _pad.default)(time.getSeconds(), LENGTH, PAD_STRING)
53
+ };
54
+ });
55
+ const {
56
+ styles,
57
+ attributes,
58
+ state,
59
+ update
60
+ } = (0, _hooks.useCustomPopper)(targetElement, popperElement, {
61
+ placement: 'bottom-start'
62
+ });
63
+ const handleToggle = () => {
64
+ setDisplay(!display);
65
+ update();
66
+ };
67
+ const handleChange = (type, value) => {
68
+ setTime(previous => {
69
+ return _objectSpread(_objectSpread({}, previous), {}, {
70
+ [type]: value
71
+ });
72
+ });
73
+ };
74
+ (0, _react.useEffect)(() => {
75
+ if (typeof onSelect === 'function' && time.hour && time.minute && time.second) {
76
+ onSelect("".concat(time.hour, ":").concat(time.minute, ":").concat(time.second));
77
+ }
78
+ }, [onSelect, time.hour, time.minute, time.second]);
79
+ (0, _react.useEffect)(() => {
80
+ if (display) {
81
+ const {
82
+ childNodes
83
+ } = popperElement;
84
+ childNodes.forEach(panel => {
85
+ const selectedItem = panel.querySelector('[aria-selected="true"]');
86
+ if (panel.scrollHeight > panel.clientHeight) {
87
+ panel.scrollTop = selectedItem.offsetTop;
88
+ }
89
+ });
90
+ }
91
+ }, [display, popperElement]);
92
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactOutsideClickHandler.default, {
93
+ onOutsideClick: () => {
94
+ setDisplay(false);
95
+ },
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
97
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_form.Input, {
98
+ ref: setTargetElement,
99
+ type: "text",
100
+ readOnly: true,
101
+ onClick: handleToggle,
102
+ value: "".concat(time.hour, ":").concat(time.minute, ":").concat(time.second)
103
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Panel, _objectSpread(_objectSpread({
104
+ ref: setPopperElement,
105
+ $display: display,
106
+ style: styles.popper
107
+ }, attributes.popper), {}, {
108
+ placement: state && state.placement,
109
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Picker, {
110
+ children: HOUR_OPTIONS.map(option => {
111
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Option, {
112
+ role: "option",
113
+ onClick: () => {
114
+ handleChange('hour', option);
115
+ },
116
+ selected: option === time.hour,
117
+ "aria-selected": option === time.hour,
118
+ children: option
119
+ }, option);
120
+ })
121
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Picker, {
122
+ children: MINUTE_SECOND_OPTIONS.map(option => {
123
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Option, {
124
+ role: "option",
125
+ onClick: () => {
126
+ handleChange('minute', option);
127
+ },
128
+ selected: option === time.minute,
129
+ "aria-selected": option === time.minute,
130
+ children: option
131
+ }, option);
132
+ })
133
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Picker, {
134
+ children: MINUTE_SECOND_OPTIONS.map(option => {
135
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Option, {
136
+ role: "option",
137
+ onClick: () => {
138
+ handleChange('second', option);
139
+ },
140
+ selected: option === time.second,
141
+ "aria-selected": option === time.second,
142
+ children: option
143
+ }, option);
144
+ })
145
+ })]
146
+ }))]
147
+ })
148
+ });
149
+ };
150
+ const Panel = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n visibility: ", ";\n width: 100%;\n max-width: 360px;\n background: var(--color-background1);\n color: var(--font-on-background);\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius);\n box-shadow: var(--box-shadow);\n z-index: 85;\n"])), _ref2 => {
151
+ let {
152
+ $display
153
+ } = _ref2;
154
+ return $display ? 'visible' : 'hidden';
155
+ });
156
+ const Picker = _styledComponents.default.ul(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex: 1;\n text-align: center;\n max-height: 144px;\n overflow-y: auto;\n\n ", "\n\n &:first-child {\n border-top-left-radius: var(--border-radius);\n border-bottom-left-radius: var(--border-radius);\n }\n\n &:not(:last-child) {\n border-right: var(--border-width) solid var(--border-color);\n }\n"])), _scrollbar.default);
157
+ const Option = _styledComponents.default.li(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: var(--spacing-xs) 0;\n background: var(--color-background1);\n transition: background 0.3s;\n\n &:hover {\n background: var(--color-hover);\n }\n\n ", "\n"])), _ref3 => {
158
+ let {
159
+ selected
160
+ } = _ref3;
161
+ return selected && (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background: var(--color-hover);\n "])));
162
+ });
163
+ var _default = exports.default = TimePickerV2;
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "DatetimePickerV2", {
27
27
  return _DatetimePickerV.default;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "DatetimePickerV3", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _DatetimePickerV2.default;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "TimeInput", {
31
37
  enumerable: true,
32
38
  get: function () {
@@ -45,11 +51,19 @@ Object.defineProperty(exports, "TimePickerStyle", {
45
51
  return _TimePickerStyle.default;
46
52
  }
47
53
  });
54
+ Object.defineProperty(exports, "TimePickerV2", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _TimePickerV.default;
58
+ }
59
+ });
48
60
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
49
61
  var _DatePickerV = _interopRequireDefault(require("./DatePickerV2"));
50
62
  var _DatetimePicker = _interopRequireDefault(require("./DatetimePicker"));
51
63
  var _DatetimePickerV = _interopRequireDefault(require("./DatetimePickerV2"));
64
+ var _DatetimePickerV2 = _interopRequireDefault(require("./DatetimePickerV3"));
52
65
  var _TimeInput = _interopRequireDefault(require("./TimeInput"));
53
66
  var _TimePicker = _interopRequireDefault(require("./TimePicker"));
67
+ var _TimePickerV = _interopRequireDefault(require("./TimePickerV2"));
54
68
  var _TimePickerStyle = _interopRequireDefault(require("./TimePickerStyle"));
55
69
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _Input = _interopRequireDefault(require("./Input"));
10
+ var _button = require("../button");
11
+ var _bi = require("react-icons/bi");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _templateObject;
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
16
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
20
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ function _objectDestructuringEmpty(t) { if (null == t) throw new TypeError("Cannot destructure " + t); }
22
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
23
+ const PasswordInput = _ref => {
24
+ let props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
25
+ const [type, setType] = (0, _react.useState)('password');
26
+ const toggleType = () => {
27
+ setType(type === 'password' ? 'text' : 'password');
28
+ };
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
30
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.default, _objectSpread(_objectSpread({}, props), {}, {
31
+ type: type
32
+ })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_button.IconButton, {
33
+ size: "small",
34
+ onClick: toggleType,
35
+ children: [type === 'password' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bi.BiHide, {}), type === 'text' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bi.BiShow, {})]
36
+ })]
37
+ });
38
+ };
39
+ const Container = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n\n ", " {\n padding-right: 40px;\n }\n\n ", " {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 0.5rem;\n }\n"])), _Input.default, _button.IconButton);
40
+ var _default = exports.default = PasswordInput;
package/form/index.js CHANGED
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "MutedText", {
39
39
  return _MutedText.default;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "PasswordInput", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _PasswordInput.default;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "RadioButton", {
43
49
  enumerable: true,
44
50
  get: function () {
@@ -81,6 +87,7 @@ var _FormItem = _interopRequireDefault(require("./FormItem"));
81
87
  var _Input = _interopRequireDefault(require("./Input"));
82
88
  var _Label = _interopRequireDefault(require("./Label"));
83
89
  var _MutedText = _interopRequireDefault(require("./MutedText"));
90
+ var _PasswordInput = _interopRequireDefault(require("./PasswordInput"));
84
91
  var _RadioButton = _interopRequireDefault(require("./RadioButton"));
85
92
  var _Searchbox = _interopRequireDefault(require("./Searchbox"));
86
93
  var _Slider = _interopRequireDefault(require("./Slider"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashub/ui",
3
- "version": "0.42.0",
3
+ "version": "0.43.0",
4
4
  "private": false,
5
5
  "author": "CasHUB Team",
6
6
  "description": "CasHUB UI components library",
@@ -10,8 +10,8 @@
10
10
  ],
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@cashub/hooks": "^0.3.1",
14
- "@cashub/utils": "^0.5.0",
13
+ "@cashub/hooks": "^0.5.3",
14
+ "@cashub/utils": "^1.3.2",
15
15
  "@googlemaps/markerclusterer": "^2.5.1",
16
16
  "@googlemaps/react-wrapper": "^1.1.35",
17
17
  "@monaco-editor/react": "^4.6.0",
@@ -232,6 +232,7 @@ const InfiniteGridTable = _ref => {
232
232
  "data-index": index,
233
233
  style: {
234
234
  position: 'absolute',
235
+ display: 'flex',
235
236
  left: 0,
236
237
  top: "".concat(top, "px")
237
238
  },
@@ -324,36 +325,31 @@ const TableWrapper = _styledComponents.default.div(_templateObject || (_template
324
325
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
325
326
  });
326
327
  const ResponsiveTable = _styledComponents.default.table(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n /* make fixed width work */\n position: relative;\n width: 0px;\n color: var(--font-on-background);\n table-layout: fixed;\n border-collapse: collapse;\n"])));
327
- const TD = _styledComponents.default.td(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: ", ";\n max-width: ", ";\n height: 48px;\n padding: 0 var(--spacing-xs);\n border-top: 1px solid var(--border-color);\n border-right: 1px solid var(--border-color);\n border-bottom: 1px solid var(--border-color);\n text-align: ", ";\n background: ", ";\n\n &:last-child {\n border-right: none;\n padding: 0;\n }\n\n > span {\n display: inline-block;\n width: 100%;\n padding: 0 2px;\n overflow: hidden;\n white-space: pre;\n text-overflow: ellipsis;\n }\n"])), _ref3 => {
328
+ const TD = _styledComponents.default.td(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n align-content: center;\n width: ", ";\n height: 48px;\n padding: 0 var(--spacing-xs);\n border-top: 1px solid var(--border-color);\n border-right: 1px solid var(--border-color);\n border-bottom: 1px solid var(--border-color);\n text-align: ", ";\n background: ", ";\n\n &:last-child {\n border-right: none;\n padding: 0;\n }\n\n > span {\n display: inline-block;\n width: 100%;\n padding: 0 2px;\n overflow: hidden;\n white-space: pre;\n text-overflow: ellipsis;\n }\n"])), _ref3 => {
328
329
  let {
329
330
  $width
330
331
  } = _ref3;
331
332
  return $width;
332
333
  }, _ref4 => {
333
- let {
334
- $width
335
- } = _ref4;
336
- return $width;
337
- }, _ref5 => {
338
334
  let {
339
335
  center
340
- } = _ref5;
336
+ } = _ref4;
341
337
  return center ? 'center' : 'left';
342
- }, _ref6 => {
338
+ }, _ref5 => {
343
339
  let {
344
340
  backgroundReverse
345
- } = _ref6;
341
+ } = _ref5;
346
342
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
347
343
  });
348
- const Scrollbar = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: sticky;\n bottom: 0;\n width: 100%;\n overflow: auto;\n background: ", ";\n\n ::before {\n display: block;\n content: '';\n width: ", ";\n height: 1px;\n }\n\n ", "\n"])), _ref7 => {
344
+ const Scrollbar = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: sticky;\n bottom: 0;\n width: 100%;\n overflow: auto;\n background: ", ";\n\n ::before {\n display: block;\n content: '';\n width: ", ";\n height: 1px;\n }\n\n ", "\n"])), _ref6 => {
349
345
  let {
350
346
  backgroundReverse
351
- } = _ref7;
347
+ } = _ref6;
352
348
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
353
- }, _ref8 => {
349
+ }, _ref7 => {
354
350
  let {
355
351
  width
356
- } = _ref8;
352
+ } = _ref7;
357
353
  return "".concat(width, "px");
358
354
  }, (0, _scrollbar.default)({
359
355
  size: 'large'
@@ -19,7 +19,10 @@ const Resizer = _ref => {
19
19
  const handleMouseMove = (0, _react.useCallback)(event => {
20
20
  event.stopPropagation();
21
21
  event.preventDefault();
22
- const targetWidth = event.clientX - parentNode.getBoundingClientRect().left;
22
+ let targetWidth = event.clientX - parentNode.getBoundingClientRect().left;
23
+ if (targetWidth < 1) {
24
+ targetWidth = 1;
25
+ }
23
26
  parentNode.style.width = "".concat(targetWidth, "px");
24
27
  if (typeof onResize === 'function') {
25
28
  onResize(index, targetWidth);