@invoicebox/ui 0.1.0-alpha.314 → 0.1.0-alpha.316

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/components/common/Tooltip/index.d.ts +9 -0
  2. package/dist/components/common/Tooltip/index.js +60 -0
  3. package/dist/components/common/Tooltip/index.stories.d.ts +6 -0
  4. package/dist/components/common/Tooltip/index.stories.js +43 -0
  5. package/dist/components/common/Tooltip/palette.d.ts +7 -0
  6. package/dist/components/common/Tooltip/palette.js +13 -0
  7. package/dist/components/common/Tooltip/styles.d.ts +9 -0
  8. package/dist/components/common/Tooltip/styles.js +34 -0
  9. package/dist/components/common/Typography/index.d.ts +5 -2
  10. package/dist/components/form/Autocomplete/components/Autocomplete/index.js +5 -1
  11. package/dist/components/form/Checkbox/CheckIcon.d.ts +2 -0
  12. package/dist/components/form/Checkbox/CheckIcon.js +23 -0
  13. package/dist/components/form/Checkbox/index.d.ts +11 -0
  14. package/dist/components/form/Checkbox/index.js +47 -0
  15. package/dist/components/form/Checkbox/index.stories.d.ts +8 -0
  16. package/dist/components/form/Checkbox/index.stories.js +69 -0
  17. package/dist/components/form/Checkbox/palette.d.ts +12 -0
  18. package/dist/components/form/Checkbox/palette.js +20 -0
  19. package/dist/components/form/Checkbox/styles.d.ts +13 -0
  20. package/dist/components/form/Checkbox/styles.js +71 -0
  21. package/dist/components/form/CurrencyInput/CoreCurrencyInput/index.d.ts +1 -1
  22. package/dist/components/form/CurrencyInput/CoreCurrencyInput/index.js +12 -4
  23. package/dist/components/form/DateInput/index.d.ts +1 -1
  24. package/dist/components/form/DateInput/index.js +8 -2
  25. package/dist/components/form/DateTimeInput/index.d.ts +1 -1
  26. package/dist/components/form/DateTimeInput/index.js +8 -2
  27. package/dist/components/form/InputLabel/index.d.ts +1 -0
  28. package/dist/components/form/InputLabel/index.js +4 -1
  29. package/dist/components/form/PhoneInput/index.js +6 -2
  30. package/dist/components/form/PositiveIntegerInput/index.d.ts +1 -1
  31. package/dist/components/form/PositiveIntegerInput/index.js +8 -2
  32. package/dist/components/form/PureInput/index.js +5 -2
  33. package/dist/components/form/SearchInput/index.d.ts +2 -2
  34. package/dist/components/form/SearchInput/index.js +8 -2
  35. package/dist/components/form/Select/components/Input/index.d.ts +2 -2
  36. package/dist/components/form/Select/components/Input/index.js +8 -2
  37. package/dist/components/form/Select/components/MultipleValue/index.d.ts +9 -0
  38. package/dist/components/form/Select/components/MultipleValue/index.js +129 -0
  39. package/dist/components/form/Select/components/MultipleValue/styles.d.ts +8 -0
  40. package/dist/components/form/Select/components/MultipleValue/styles.js +31 -0
  41. package/dist/components/form/Select/index.d.ts +17 -4
  42. package/dist/components/form/Select/index.js +98 -44
  43. package/dist/components/form/Select/index.stories.d.ts +3 -1
  44. package/dist/components/form/Select/index.stories.js +32 -1
  45. package/dist/components/form/Select/palette.d.ts +2 -0
  46. package/dist/components/form/Select/palette.js +3 -1
  47. package/dist/components/form/Select/styles.d.ts +4 -0
  48. package/dist/components/form/Select/styles.js +26 -10
  49. package/dist/components/form/TagsInput/index.js +4 -1
  50. package/dist/components/form/TextInput/index.js +6 -2
  51. package/dist/esm/components/common/Tooltip/index.js +51 -0
  52. package/dist/esm/components/common/Tooltip/index.stories.js +36 -0
  53. package/dist/esm/components/common/Tooltip/palette.js +7 -0
  54. package/dist/esm/components/common/Tooltip/styles.js +27 -0
  55. package/dist/esm/components/form/Autocomplete/components/Autocomplete/index.js +5 -1
  56. package/dist/esm/components/form/Checkbox/CheckIcon.js +16 -0
  57. package/dist/esm/components/form/Checkbox/index.js +38 -0
  58. package/dist/esm/components/form/Checkbox/index.stories.js +60 -0
  59. package/dist/esm/components/form/Checkbox/palette.js +13 -0
  60. package/dist/esm/components/form/Checkbox/styles.js +64 -0
  61. package/dist/esm/components/form/CurrencyInput/CoreCurrencyInput/index.js +9 -3
  62. package/dist/esm/components/form/DateInput/index.js +9 -3
  63. package/dist/esm/components/form/DateTimeInput/index.js +9 -3
  64. package/dist/esm/components/form/InputLabel/index.js +4 -1
  65. package/dist/esm/components/form/PhoneInput/index.js +7 -3
  66. package/dist/esm/components/form/PositiveIntegerInput/index.js +9 -3
  67. package/dist/esm/components/form/PureInput/index.js +6 -3
  68. package/dist/esm/components/form/SearchInput/index.js +9 -3
  69. package/dist/esm/components/form/Select/components/Input/index.js +9 -3
  70. package/dist/esm/components/form/Select/components/MultipleValue/index.js +120 -0
  71. package/dist/esm/components/form/Select/components/MultipleValue/styles.js +22 -0
  72. package/dist/esm/components/form/Select/index.js +98 -44
  73. package/dist/esm/components/form/Select/index.stories.js +31 -0
  74. package/dist/esm/components/form/Select/palette.js +3 -1
  75. package/dist/esm/components/form/Select/styles.js +25 -9
  76. package/dist/esm/components/form/TagsInput/index.js +5 -2
  77. package/dist/esm/components/form/TextInput/index.js +7 -3
  78. package/dist/esm/index.js +2 -0
  79. package/dist/esm/palette/context.js +5 -1
  80. package/dist/esm/palette/provider.js +5 -1
  81. package/dist/index.d.ts +5 -1
  82. package/dist/index.js +14 -0
  83. package/dist/palette/context.d.ts +4 -0
  84. package/dist/palette/context.js +5 -1
  85. package/dist/palette/provider.js +5 -1
  86. package/dist/palette/usePalette.d.ts +2 -0
  87. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren, ReactNode } from 'react';
2
+ type TPlacement = 'top' | 'bottom';
3
+ export type TProps = {
4
+ overlay: ReactNode;
5
+ placement?: TPlacement;
6
+ gap?: number;
7
+ };
8
+ export declare const Tooltip: ({ overlay, placement, gap, children }: PropsWithChildren<TProps>) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Tooltip = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactDom = require("react-dom");
10
+ var _Typography = require("../Typography");
11
+ var _palette = require("../../../palette");
12
+ var S = _interopRequireWildcard(require("./styles"));
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ 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; }
15
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
16
+ 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."); }
17
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
18
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
+ var Tooltip = exports.Tooltip = function Tooltip(_ref) {
22
+ var overlay = _ref.overlay,
23
+ _ref$placement = _ref.placement,
24
+ placement = _ref$placement === void 0 ? 'top' : _ref$placement,
25
+ _ref$gap = _ref.gap,
26
+ gap = _ref$gap === void 0 ? 8 : _ref$gap,
27
+ children = _ref.children;
28
+ var palette = (0, _palette.useComponentPalette)('tooltip');
29
+ var triggerRef = (0, _react.useRef)(null);
30
+ var _useState = (0, _react.useState)(null),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ coords = _useState2[0],
33
+ setCoords = _useState2[1];
34
+ var show = (0, _react.useCallback)(function () {
35
+ var el = triggerRef.current;
36
+ if (!el || !overlay) return;
37
+ var rect = el.getBoundingClientRect();
38
+ setCoords({
39
+ top: placement === 'top' ? rect.top - gap : rect.bottom + gap,
40
+ left: rect.left + rect.width / 2
41
+ });
42
+ }, [overlay, placement, gap]);
43
+ var hide = (0, _react.useCallback)(function () {
44
+ return setCoords(null);
45
+ }, []);
46
+ return /*#__PURE__*/_react["default"].createElement(S.Trigger, {
47
+ ref: triggerRef,
48
+ onMouseEnter: show,
49
+ onMouseLeave: hide,
50
+ onFocus: show,
51
+ onBlur: hide
52
+ }, children, coords && /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react["default"].createElement(S.Overlay, {
53
+ $palette: palette,
54
+ $top: coords.top,
55
+ $left: coords.left,
56
+ $placement: placement
57
+ }, typeof overlay === 'string' ? /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
58
+ variant: "captionRegular"
59
+ }, overlay) : overlay), document.body));
60
+ };
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Tooltip, TProps } from '.';
3
+ declare const meta: Meta<typeof Tooltip>;
4
+ export default meta;
5
+ export declare const Top: StoryObj<TProps>;
6
+ export declare const Bottom: StoryObj<TProps>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Top = exports.Bottom = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _ = require(".");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
+ var meta = {
11
+ title: 'common/Tooltip',
12
+ component: _.Tooltip,
13
+ tags: ['autodocs']
14
+ };
15
+ var _default = exports["default"] = meta;
16
+ var Component = function Component(props) {
17
+ return /*#__PURE__*/_react["default"].createElement("div", {
18
+ style: {
19
+ padding: 80,
20
+ display: 'flex',
21
+ justifyContent: 'center'
22
+ }
23
+ }, /*#__PURE__*/_react["default"].createElement(_.Tooltip, props, /*#__PURE__*/_react["default"].createElement("span", {
24
+ style: {
25
+ border: '1px dashed #999',
26
+ padding: 8
27
+ }
28
+ }, "\u041D\u0430\u0432\u0435\u0434\u0438 \u043D\u0430 \u043C\u0435\u043D\u044F")));
29
+ };
30
+ var Top = exports.Top = {
31
+ args: {
32
+ overlay: 'Подсказка сверху',
33
+ placement: 'top'
34
+ },
35
+ render: Component
36
+ };
37
+ var Bottom = exports.Bottom = {
38
+ args: {
39
+ overlay: 'Подсказка снизу',
40
+ placement: 'bottom'
41
+ },
42
+ render: Component
43
+ };
@@ -0,0 +1,7 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TTooltipPalette = {
3
+ bg: string;
4
+ color: string;
5
+ shadow: string;
6
+ };
7
+ export declare const generateTooltipPalette: (abstractPalette: TAbstractPalette) => TTooltipPalette;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateTooltipPalette = void 0;
7
+ var generateTooltipPalette = exports.generateTooltipPalette = function generateTooltipPalette(abstractPalette) {
8
+ return {
9
+ bg: abstractPalette.base,
10
+ color: abstractPalette.primary,
11
+ shadow: '0px 8px 21px rgba(53, 63, 71, 0.16)'
12
+ };
13
+ };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { TTooltipPalette } from './palette';
3
+ export declare const Trigger: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
4
+ export declare const Overlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
5
+ $palette: TTooltipPalette;
6
+ $top: number;
7
+ $left: number;
8
+ $placement: 'top' | 'bottom';
9
+ }>> & string;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Trigger = exports.Overlay = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ var Trigger = exports.Trigger = _styledComponents["default"].span.withConfig({
10
+ displayName: "styles__Trigger",
11
+ componentId: "sc-153dwvc-0"
12
+ })(["display:inline-flex;"]);
13
+ var Overlay = exports.Overlay = _styledComponents["default"].div.withConfig({
14
+ displayName: "styles__Overlay",
15
+ componentId: "sc-153dwvc-1"
16
+ })(["position:fixed;z-index:9999;top:", "px;left:", "px;transform:", ";box-sizing:border-box;min-height:28px;padding:4px 6px;border-radius:10px;background-color:", ";color:", ";box-shadow:", ";pointer-events:none;max-width:240px;"], function (_ref) {
17
+ var $top = _ref.$top;
18
+ return $top;
19
+ }, function (_ref2) {
20
+ var $left = _ref2.$left;
21
+ return $left;
22
+ }, function (_ref3) {
23
+ var $placement = _ref3.$placement;
24
+ return $placement === 'top' ? 'translate(-50%, -100%)' : 'translate(-50%, 0)';
25
+ }, function (_ref4) {
26
+ var $palette = _ref4.$palette;
27
+ return $palette.bg;
28
+ }, function (_ref5) {
29
+ var $palette = _ref5.$palette;
30
+ return $palette.color;
31
+ }, function (_ref6) {
32
+ var $palette = _ref6.$palette;
33
+ return $palette.shadow;
34
+ });
@@ -1,4 +1,4 @@
1
- import React, { ButtonHTMLAttributes, FC, HTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes } from 'react';
1
+ import React, { ButtonHTMLAttributes, FC, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes } from 'react';
2
2
  import { typography } from './typography';
3
3
  type TDivProps = {
4
4
  element?: 'div';
@@ -15,6 +15,9 @@ type THeadingProps = {
15
15
  type TButtonProps = {
16
16
  element: 'button';
17
17
  } & ButtonHTMLAttributes<HTMLButtonElement>;
18
+ type TLabelProps = {
19
+ element: 'label';
20
+ } & LabelHTMLAttributes<HTMLLabelElement>;
18
21
  type TInputProps = {
19
22
  element: 'input';
20
23
  } & InputHTMLAttributes<HTMLInputElement>;
@@ -24,7 +27,7 @@ type TTextAreaProps = {
24
27
  type TGeneralProps = {
25
28
  variant: keyof typeof typography;
26
29
  };
27
- export type TTypographyProps = TGeneralProps & (TDivProps | TParagraphProps | TSpanProps | THeadingProps | TButtonProps | TInputProps | TTextAreaProps);
30
+ export type TTypographyProps = TGeneralProps & (TDivProps | TParagraphProps | TSpanProps | THeadingProps | TButtonProps | TLabelProps | TInputProps | TTextAreaProps);
28
31
  export declare const Typography: FC<TTypographyProps>;
29
32
  export type TInputWithTypographyProps = TGeneralProps & (TInputProps | TTextAreaProps);
30
33
  export declare const InputWithTypography: React.ForwardRefExoticComponent<TInputWithTypographyProps & React.RefAttributes<HTMLInputElement>>;
@@ -81,6 +81,7 @@ var Autocomplete = exports.Autocomplete = /*#__PURE__*/(0, _react.forwardRef)(fu
81
81
  setActiveIndex = _useState4[1];
82
82
  var baseId = (0, _react.useId)();
83
83
  var listboxId = "".concat(baseId, "-listbox");
84
+ var inputId = "".concat(baseId, "-input");
84
85
  var activeOptionRef = (0, _react.useRef)(null);
85
86
  var palette = (0, _palette.useComponentPalette)('autocompleteDefaultOption');
86
87
  var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
@@ -189,7 +190,8 @@ var Autocomplete = exports.Autocomplete = /*#__PURE__*/(0, _react.forwardRef)(fu
189
190
  required: required,
190
191
  useModernStyles: useModernStyles,
191
192
  size: fieldSize,
192
- left: useModernStyles && typeof inputPaddingLeft === 'number' ? inputPaddingLeft - _constants2.LABEL_PADDING : undefined
193
+ left: useModernStyles && typeof inputPaddingLeft === 'number' ? inputPaddingLeft - _constants2.LABEL_PADDING : undefined,
194
+ htmlFor: inputId
193
195
  }, /*#__PURE__*/_react["default"].createElement(S.InputLabelContent, null, children ? /*#__PURE__*/_react["default"].createElement(S.ChildrenWrapper, null, children) : null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/_react["default"].createElement(_ModernPlaceholder.ModernPlaceholder, {
194
196
  visible: !isHideModernPlaceholder,
195
197
  paddingLeft: typeof inputPaddingLeft === 'number' ? inputPaddingLeft : 20,
@@ -197,6 +199,8 @@ var Autocomplete = exports.Autocomplete = /*#__PURE__*/(0, _react.forwardRef)(fu
197
199
  size: fieldSize,
198
200
  required: required
199
201
  }, modernInputPlaceholder), /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
202
+ id: inputId,
203
+ "aria-label": label && !inputLabel ? label : undefined,
200
204
  ref: ref,
201
205
  hasError: hasError,
202
206
  inFocus: inFocus,
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export declare const CheckIcon: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CheckIcon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ 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); }
10
+ var CheckIcon = exports.CheckIcon = function CheckIcon(props) {
11
+ return /*#__PURE__*/_react["default"].createElement("svg", _extends({
12
+ width: "12",
13
+ height: "11",
14
+ viewBox: "0 0 12 11",
15
+ fill: "none",
16
+ xmlns: "http://www.w3.org/2000/svg"
17
+ }, props), /*#__PURE__*/_react["default"].createElement("path", {
18
+ fillRule: "evenodd",
19
+ clipRule: "evenodd",
20
+ d: "M5.43158 10.0674C5.22406 10.3745 4.94736 10.5156 4.62744 10.5156C4.3075 10.5156 4.0481 10.3911 3.78006 10.0757L0.442444 6.19092C0.295471 6.0166 0.208984 5.79248 0.208984 5.58496C0.208984 5.14502 0.563507 4.82129 0.987183 4.82129C1.26389 4.82129 1.49734 4.9209 1.72217 5.19482L4.5842 8.63965L9.9624 0.430176C10.1526 0.147949 10.4034 0.00683594 10.6541 0.00683594C11.0778 0.00683594 11.4842 0.280762 11.4842 0.720703C11.4842 0.919922 11.3718 1.14404 11.2421 1.32666L5.43158 10.0674Z",
21
+ fill: "white"
22
+ }));
23
+ };
@@ -0,0 +1,11 @@
1
+ import React, { FC, InputHTMLAttributes } from 'react';
2
+ export type TProps = InputHTMLAttributes<HTMLInputElement> & {
3
+ className?: string;
4
+ checked: boolean;
5
+ label?: string | React.ReactNode;
6
+ disabled?: boolean;
7
+ disabledText?: string;
8
+ };
9
+ export declare const Checkbox: FC<TProps>;
10
+ declare const _default: React.NamedExoticComponent<TProps>;
11
+ export default _default;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Checkbox = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Typography = require("../../common/Typography");
10
+ var _Tooltip = require("../../common/Tooltip");
11
+ var _palette = require("../../../palette");
12
+ var S = _interopRequireWildcard(require("./styles"));
13
+ var _excluded = ["disabled", "className", "checked", "disabledText", "label"];
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ 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; }
16
+ 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); }
17
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
18
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
19
+ var Checkbox = exports.Checkbox = function Checkbox(_ref) {
20
+ var _ref$disabled = _ref.disabled,
21
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
22
+ className = _ref.className,
23
+ _ref$checked = _ref.checked,
24
+ checked = _ref$checked === void 0 ? false : _ref$checked,
25
+ disabledText = _ref.disabledText,
26
+ label = _ref.label,
27
+ props = _objectWithoutProperties(_ref, _excluded);
28
+ var palette = (0, _palette.useComponentPalette)('checkbox');
29
+ var content = (0, _react.useMemo)(function () {
30
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(S.HiddenCheckbox, _extends({
31
+ type: "checkbox",
32
+ disabled: disabled,
33
+ checked: checked
34
+ }, props)), /*#__PURE__*/_react["default"].createElement(S.StyledCheckbox, null, /*#__PURE__*/_react["default"].createElement(S.CheckboxIcon, null)));
35
+ }, [checked, disabled, props]);
36
+ return /*#__PURE__*/_react["default"].createElement(S.CheckboxLabel, {
37
+ $checked: checked,
38
+ $disabled: disabled,
39
+ $palette: palette,
40
+ className: className
41
+ }, /*#__PURE__*/_react["default"].createElement(S.CheckboxContainer, null, disabled && disabledText ? /*#__PURE__*/_react["default"].createElement(_Tooltip.Tooltip, {
42
+ overlay: disabledText
43
+ }, content) : content), label && /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
44
+ variant: "bodyMRegular"
45
+ }, label));
46
+ };
47
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Checkbox);
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Checkbox, TProps } from '.';
3
+ declare const meta: Meta<typeof Checkbox>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<TProps>;
6
+ export declare const Checked: StoryObj<TProps>;
7
+ export declare const Disabled: StoryObj<TProps>;
8
+ export declare const DisabledChecked: StoryObj<TProps>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.DisabledChecked = exports.Disabled = exports.Default = exports.Checked = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _ = require(".");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ 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; }
12
+ 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); }
13
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
14
+ 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."); }
15
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
17
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
18
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
+ var meta = {
20
+ title: 'form/Checkbox',
21
+ component: _.Checkbox,
22
+ tags: ['autodocs']
23
+ };
24
+ var _default = exports["default"] = meta;
25
+ var Component = function Component(props) {
26
+ var _useState = (0, _react.useState)(props.checked),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ checked = _useState2[0],
29
+ setChecked = _useState2[1];
30
+ return /*#__PURE__*/_react["default"].createElement(_.Checkbox, _extends({}, props, {
31
+ checked: checked,
32
+ onChange: function onChange() {
33
+ return setChecked(function (prev) {
34
+ return !prev;
35
+ });
36
+ }
37
+ }));
38
+ };
39
+ var Default = exports.Default = {
40
+ args: {
41
+ checked: false,
42
+ label: 'Label'
43
+ },
44
+ render: Component
45
+ };
46
+ var Checked = exports.Checked = {
47
+ args: {
48
+ checked: true,
49
+ label: 'Label'
50
+ },
51
+ render: Component
52
+ };
53
+ var Disabled = exports.Disabled = {
54
+ args: {
55
+ checked: false,
56
+ disabled: true,
57
+ label: 'Label',
58
+ disabledText: 'Недоступно'
59
+ },
60
+ render: Component
61
+ };
62
+ var DisabledChecked = exports.DisabledChecked = {
63
+ args: {
64
+ checked: true,
65
+ disabled: true,
66
+ label: 'Label'
67
+ },
68
+ render: Component
69
+ };
@@ -0,0 +1,12 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TCheckboxPalette = {
3
+ labelColor: string;
4
+ mark: string;
5
+ borderDefault: string;
6
+ borderHover: string;
7
+ checkedBg: string;
8
+ checkedHoverBg: string;
9
+ disabledBg: string;
10
+ disabledBorder: string;
11
+ };
12
+ export declare const generateCheckboxPalette: (abstractPalette: TAbstractPalette) => TCheckboxPalette;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateCheckboxPalette = void 0;
7
+ var _hexToRgba = _interopRequireDefault(require("../../../utils/hexToRgba"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ var generateCheckboxPalette = exports.generateCheckboxPalette = function generateCheckboxPalette(abstractPalette) {
10
+ return {
11
+ labelColor: abstractPalette.primary,
12
+ mark: abstractPalette.base,
13
+ borderDefault: (0, _hexToRgba["default"])(abstractPalette.primary, 0.3),
14
+ borderHover: (0, _hexToRgba["default"])(abstractPalette.primary, 0.5),
15
+ checkedBg: abstractPalette.secondary,
16
+ checkedHoverBg: '#EDC743',
17
+ disabledBg: (0, _hexToRgba["default"])(abstractPalette.neutralBrutal, 0.3),
18
+ disabledBorder: (0, _hexToRgba["default"])(abstractPalette.neutralBrutal, 0.3)
19
+ };
20
+ };
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { TCheckboxPalette } from './palette';
3
+ export declare const CheckboxContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
+ export declare const HiddenCheckbox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>> & string;
5
+ export declare const CheckboxIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").SVGProps<SVGSVGElement>, "ref"> & {
6
+ ref?: ((instance: SVGSVGElement | null) => void) | import("react").RefObject<SVGSVGElement> | null | undefined;
7
+ }, never>> & string & Omit<(props: import("react").SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
8
+ export declare const StyledCheckbox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
9
+ export declare const CheckboxLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, {
10
+ $checked: boolean;
11
+ $disabled: boolean;
12
+ $palette: TCheckboxPalette;
13
+ }>> & string;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledCheckbox = exports.HiddenCheckbox = exports.CheckboxLabel = exports.CheckboxIcon = exports.CheckboxContainer = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _CheckIcon = require("./CheckIcon");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
+ var TRANSITION = 'all .2s ease-in-out';
11
+ var BORDER_RADIUS_MIN = 4;
12
+ var CheckboxContainer = exports.CheckboxContainer = _styledComponents["default"].div.withConfig({
13
+ displayName: "styles__CheckboxContainer",
14
+ componentId: "sc-11prdl0-0"
15
+ })(["display:inline-block;vertical-align:middle;"]);
16
+ var HiddenCheckbox = exports.HiddenCheckbox = _styledComponents["default"].input.withConfig({
17
+ displayName: "styles__HiddenCheckbox",
18
+ componentId: "sc-11prdl0-1"
19
+ })(["display:none;"]);
20
+ var CheckboxIcon = exports.CheckboxIcon = (0, _styledComponents["default"])(_CheckIcon.CheckIcon).withConfig({
21
+ displayName: "styles__CheckboxIcon",
22
+ componentId: "sc-11prdl0-2"
23
+ })(["transition:", ";"], TRANSITION);
24
+ var StyledCheckbox = exports.StyledCheckbox = _styledComponents["default"].div.withConfig({
25
+ displayName: "styles__StyledCheckbox",
26
+ componentId: "sc-11prdl0-3"
27
+ })(["display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:", "px;transition:", ";"], BORDER_RADIUS_MIN, TRANSITION);
28
+ var getStylesCheckbox = function getStylesCheckbox(palette, disabled, checked) {
29
+ if (disabled) {
30
+ if (checked) {
31
+ return "background-color: ".concat(palette.disabledBg, "; border: none");
32
+ }
33
+ return "border: 1px solid ".concat(palette.disabledBorder);
34
+ }
35
+ if (checked) {
36
+ return "background-color: ".concat(palette.checkedBg, "; border: none");
37
+ }
38
+ return "border: 1px solid ".concat(palette.borderDefault);
39
+ };
40
+ var getHoverStylesCheckbox = function getHoverStylesCheckbox(palette, disabled, checked) {
41
+ if (disabled) {
42
+ if (checked) {
43
+ return "background-color: ".concat(palette.disabledBg, "; border: none");
44
+ }
45
+ return "border: 1px solid ".concat(palette.disabledBg);
46
+ }
47
+ if (checked) {
48
+ return "background-color: ".concat(palette.checkedHoverBg, "; border: none");
49
+ }
50
+ return "border: 1px solid ".concat(palette.borderHover);
51
+ };
52
+ var CheckboxLabel = exports.CheckboxLabel = _styledComponents["default"].label.withConfig({
53
+ displayName: "styles__CheckboxLabel",
54
+ componentId: "sc-11prdl0-4"
55
+ })(["display:flex;align-items:center;grid-column-gap:10px;user-select:none;width:fit-content;cursor:pointer;color:", ";", "{", ";", "{opacity:", ";}}&:hover{", "{", ";}}"], function (_ref) {
56
+ var $palette = _ref.$palette;
57
+ return $palette.labelColor;
58
+ }, StyledCheckbox, function (_ref2) {
59
+ var $checked = _ref2.$checked,
60
+ $disabled = _ref2.$disabled,
61
+ $palette = _ref2.$palette;
62
+ return getStylesCheckbox($palette, $disabled, $checked);
63
+ }, CheckboxIcon, function (_ref3) {
64
+ var $checked = _ref3.$checked;
65
+ return $checked ? 1 : 0;
66
+ }, StyledCheckbox, function (_ref4) {
67
+ var $checked = _ref4.$checked,
68
+ $disabled = _ref4.$disabled,
69
+ $palette = _ref4.$palette;
70
+ return getHoverStylesCheckbox($palette, $disabled, $checked);
71
+ });
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { TProps as TInputLabelProps } from '../../InputLabel';
3
3
  import { TSizes } from '../../constants';
4
4
  import { CurrencyInputProps } from 'react-currency-input-field';
5
- export type TProps = Pick<CurrencyInputProps, 'allowNegativeValue' | 'onValueChange' | 'value' | 'defaultValue' | 'allowDecimals' | 'onBlur'> & Pick<TInputLabelProps, 'label' | 'disabled'> & {
5
+ export type TProps = Pick<CurrencyInputProps, 'allowNegativeValue' | 'onValueChange' | 'value' | 'defaultValue' | 'allowDecimals' | 'onBlur' | 'id'> & Pick<TInputLabelProps, 'label' | 'disabled'> & {
6
6
  hasError?: boolean;
7
7
  required?: boolean;
8
8
  } & {
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.CoreCurrencyInput = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _InputLabel = require("../../InputLabel");
9
10
  var _useInputFocus2 = require("../../../../hooks/useInputFocus");
10
11
  var _styles = require("./styles");
11
12
  var _palette = require("../../../../palette");
12
13
  var _useInputStyles2 = require("../../_hooks/useInputStyles");
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ 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; }
14
16
  var CoreCurrencyInput = exports.CoreCurrencyInput = function CoreCurrencyInput(_ref) {
15
17
  var label = _ref.label,
16
18
  size = _ref.size,
@@ -28,7 +30,8 @@ var CoreCurrencyInput = exports.CoreCurrencyInput = function CoreCurrencyInput(_
28
30
  required = _ref$required === void 0 ? false : _ref$required,
29
31
  onBlur = _ref.onBlur,
30
32
  _ref$useModernStyles = _ref.useModernStyles,
31
- useModernStyles = _ref$useModernStyles === void 0 ? false : _ref$useModernStyles;
33
+ useModernStyles = _ref$useModernStyles === void 0 ? false : _ref$useModernStyles,
34
+ id = _ref.id;
32
35
  var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
33
36
  onBlur: onBlur
34
37
  }),
@@ -36,6 +39,8 @@ var CoreCurrencyInput = exports.CoreCurrencyInput = function CoreCurrencyInput(_
36
39
  handleFocus = _useInputFocus.handleFocus,
37
40
  handleBlur = _useInputFocus.handleBlur;
38
41
  var palette = (0, _palette.useComponentPalette)('pureInput');
42
+ var fallbackId = (0, _react.useId)();
43
+ var inputId = id !== null && id !== void 0 ? id : fallbackId;
39
44
  var _useInputStyles = (0, _useInputStyles2.useInputStyles)({
40
45
  isHaveValue: !!value || typeof defaultValue === 'number',
41
46
  useModernStyles: useModernStyles,
@@ -55,8 +60,11 @@ var CoreCurrencyInput = exports.CoreCurrencyInput = function CoreCurrencyInput(_
55
60
  disabled: disabled,
56
61
  required: required,
57
62
  useModernStyles: useModernStyles,
58
- size: fieldSize
63
+ size: fieldSize,
64
+ htmlFor: inputId
59
65
  }, /*#__PURE__*/_react["default"].createElement(_styles.InputWrapper, null, modernPlaceholder, /*#__PURE__*/_react["default"].createElement(_styles.StyledCurrencyInputFromLibrary, {
66
+ id: inputId,
67
+ "aria-label": label && !inputLabel ? label : undefined,
60
68
  $palette: palette,
61
69
  $hasBorder: !useModernStyles || hasError,
62
70
  $paddingLeft: 18,
@@ -11,7 +11,7 @@ export type TProps = {
11
11
  dropdownProps?: Pick<TDropdownProps, 'isAutoPosition' | 'positionLeft' | 'positionRight' | 'positionVertical'>;
12
12
  useModernStyles?: boolean;
13
13
  required?: boolean;
14
- } & Pick<TPureInputProps, 'hasError' | 'name' | 'onBlur' | 'onFocus'> & Pick<TInputLabelProps, 'label'> & Pick<TCalendarProps, 'maxDate' | 'minDate'> & {
14
+ } & Pick<TPureInputProps, 'hasError' | 'name' | 'onBlur' | 'onFocus' | 'id'> & Pick<TInputLabelProps, 'label'> & Pick<TCalendarProps, 'maxDate' | 'minDate'> & {
15
15
  size?: TSizes;
16
16
  };
17
17
  export declare const DateInput: FC<TProps>;