@invoicebox/ui 0.1.0-alpha.187 → 0.1.0-alpha.189

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,2 @@
1
+ declare const Loader: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Loader;
@@ -0,0 +1,26 @@
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"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var S = _interopRequireWildcard(require("./styles"));
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 _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
+ var Loader = function Loader() {
14
+ return /*#__PURE__*/_react["default"].createElement(S.Wrapper, null, /*#__PURE__*/_react["default"].createElement(S.SvgLoader, {
15
+ viewBox: "25 25 50 50"
16
+ }, /*#__PURE__*/_react["default"].createElement(S.CircleLoader, {
17
+ className: "loader-path",
18
+ cx: "50",
19
+ cy: "50",
20
+ r: "20",
21
+ fill: "none",
22
+ stroke: "#70c542",
23
+ strokeWidth: "2"
24
+ })));
25
+ };
26
+ var _default = exports["default"] = Loader;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Wrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const SvgLoader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").SVGProps<SVGSVGElement>, never>> & string;
4
+ export declare const CircleLoader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").SVGProps<SVGCircleElement>, never>> & string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Wrapper = exports.SvgLoader = exports.CircleLoader = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
10
+ displayName: "styles__Wrapper",
11
+ componentId: "sc-86q913-0"
12
+ })(["height:24px;width:24px;position:relative;margin:0 auto;@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124;}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124;}}@-webkit-keyframes color{0%{stroke:#353f47;}40%{stroke:#353f47;}66%{stroke:#353f47;}80%,90%{stroke:#353f47;}}@keyframes color{0%{stroke:#353f47;}40%{stroke:#353f47;}66%{stroke:#353f47;}80%,90%{stroke:#353f47;}}"]);
13
+ var SvgLoader = exports.SvgLoader = _styledComponents["default"].svg.withConfig({
14
+ displayName: "styles__SvgLoader",
15
+ componentId: "sc-86q913-1"
16
+ })(["-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto;"]);
17
+ var CircleLoader = exports.CircleLoader = _styledComponents["default"].circle.withConfig({
18
+ displayName: "styles__CircleLoader",
19
+ componentId: "sc-86q913-2"
20
+ })(["stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round;"]);
@@ -20,7 +20,10 @@ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placehold
20
20
  renderOption?: (entity?: any) => ReactNode;
21
21
  renderGroup?: (entity?: any) => ReactNode;
22
22
  dropdownHeader?: ReactNode;
23
+ scrollbarHeader?: ReactNode;
23
24
  isDrawerOptions?: boolean;
24
25
  scrollbarMaxHeight?: number;
26
+ emptyOptionsLabel?: string;
27
+ isLoading?: boolean;
25
28
  };
26
- export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, scrollbarHeader, emptyOptionsLabel, isLoading, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
@@ -15,6 +15,8 @@ var _useOutsideClick = require("../../../hooks/useOutsideClick");
15
15
  var _palette = require("../../../palette");
16
16
  var _useOptionGroups = require("./hooks/useOptionGroups");
17
17
  var _Drawer = require("../../common/Drawer");
18
+ var _Loader = _interopRequireDefault(require("./components/Loader"));
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
18
20
  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); }
19
21
  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
22
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
@@ -44,7 +46,10 @@ var Select = exports.Select = function Select(_ref) {
44
46
  isDrawerOptions = _ref$isDrawerOptions === void 0 ? false : _ref$isDrawerOptions,
45
47
  renderGroup = _ref.renderGroup,
46
48
  _ref$scrollbarMaxHeig = _ref.scrollbarMaxHeight,
47
- scrollbarMaxHeight = _ref$scrollbarMaxHeig === void 0 ? MAX_LIST_HEIGHT : _ref$scrollbarMaxHeig;
49
+ scrollbarMaxHeight = _ref$scrollbarMaxHeig === void 0 ? MAX_LIST_HEIGHT : _ref$scrollbarMaxHeig,
50
+ scrollbarHeader = _ref.scrollbarHeader,
51
+ emptyOptionsLabel = _ref.emptyOptionsLabel,
52
+ isLoading = _ref.isLoading;
48
53
  var palette = (0, _palette.useComponentPalette)('select');
49
54
  var _useInputFocus = (0, _useInputFocus2.useInputFocus)(),
50
55
  inFocus = _useInputFocus.inFocus,
@@ -140,7 +145,7 @@ var Select = exports.Select = function Select(_ref) {
140
145
  }
141
146
  return null;
142
147
  };
143
- var dropdownContent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, dropdownHeader, optionGroups.map(function (_ref2) {
148
+ var scrollbarContent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, scrollbarHeader, optionGroups.map(function (_ref2) {
144
149
  var group = _ref2.group,
145
150
  groupOptions = _ref2.options;
146
151
  return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
@@ -157,6 +162,33 @@ var Select = exports.Select = function Select(_ref) {
157
162
  }, handleOptionRender(option));
158
163
  }));
159
164
  }));
165
+ var emptyLabel = /*#__PURE__*/_react["default"].createElement(S.DefaultOptionWrapper, null, /*#__PURE__*/_react["default"].createElement(S.EmptyLabel, {
166
+ variant: 'bodyMRegular',
167
+ $color: palette.empty
168
+ }, emptyOptionsLabel || 'Нет значений'));
169
+ var loader = /*#__PURE__*/_react["default"].createElement(S.DefaultOptionWrapper, null, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null));
170
+ var handleDropdownContentRender = function handleDropdownContentRender() {
171
+ if (isLoading) {
172
+ return loader;
173
+ }
174
+ if (optionGroups.length) {
175
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, dropdownHeader, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
176
+ maxHeight: scrollbarMaxHeight
177
+ }, scrollbarContent));
178
+ }
179
+ return emptyLabel;
180
+ };
181
+ var handleDrawerContentRender = function handleDrawerContentRender() {
182
+ if (isLoading) {
183
+ return loader;
184
+ }
185
+ if (optionGroups.length) {
186
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, dropdownHeader, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
187
+ maxHeight: scrollbarMaxHeight
188
+ }, scrollbarContent, /*#__PURE__*/_react["default"].createElement(S.DrawerBottom, null)));
189
+ }
190
+ return emptyLabel;
191
+ };
160
192
  return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
161
193
  ref: isDrawerOptions ? undefined : wrapperRef
162
194
  }, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
@@ -177,13 +209,9 @@ var Select = exports.Select = function Select(_ref) {
177
209
  onClose: handleHide,
178
210
  isOpen: isOpen,
179
211
  isPadding: false
180
- }, /*#__PURE__*/_react["default"].createElement(S.DrawerContent, null, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
181
- maxHeight: scrollbarMaxHeight
182
- }, dropdownContent, /*#__PURE__*/_react["default"].createElement(S.DrawerBottom, null)))) : /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
212
+ }, /*#__PURE__*/_react["default"].createElement(S.DrawerContent, null, handleDrawerContentRender())) : /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
183
213
  isOpen: isOpen,
184
214
  isAutoPosition: true,
185
215
  width: "100%"
186
- }, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
187
- maxHeight: scrollbarMaxHeight
188
- }, dropdownContent)));
216
+ }, handleDropdownContentRender()));
189
217
  };
@@ -3,6 +3,7 @@ import { Select, TProps } from '.';
3
3
  declare const meta: Meta<typeof Select>;
4
4
  export default meta;
5
5
  export declare const Default: StoryObj<TProps<string>>;
6
+ export declare const EmptyOptions: StoryObj<TProps<string>>;
6
7
  export declare const WithDropdownHeader: StoryObj<TProps<string>>;
7
8
  export declare const RenderOption: StoryObj<TProps<string>>;
8
9
  export declare const WithGroups: StoryObj<TProps<string>>;
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = exports.WithGroups = exports.WithDropdownHeader = exports.WithCustomGroups = exports.RenderOptionWithGroups = exports.RenderOption = exports.Default = void 0;
7
+ exports["default"] = exports.WithGroups = exports.WithDropdownHeader = exports.WithCustomGroups = exports.RenderOptionWithGroups = exports.RenderOption = exports.EmptyOptions = exports.Default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _addonActions = require("@storybook/addon-actions");
10
10
  var _ = require(".");
@@ -49,6 +49,7 @@ var COMMON_ARGS = {
49
49
  placeholder: 'Placeholder',
50
50
  isResetButtonEnabled: false,
51
51
  size: 'L',
52
+ isLoading: false,
52
53
  options: [{
53
54
  label: 'Option 1',
54
55
  value: 'option-1',
@@ -137,9 +138,16 @@ var Default = exports.Default = {
137
138
  args: _objectSpread({}, COMMON_ARGS),
138
139
  render: Component
139
140
  };
141
+ var EmptyOptions = exports.EmptyOptions = {
142
+ args: _objectSpread(_objectSpread({}, COMMON_ARGS), {}, {
143
+ options: []
144
+ }),
145
+ render: Component
146
+ };
140
147
  var WithDropdownHeader = exports.WithDropdownHeader = {
141
148
  args: _objectSpread(_objectSpread({}, COMMON_ARGS), {}, {
142
- dropdownHeader: /*#__PURE__*/_react["default"].createElement("div", null, "Dropdown header")
149
+ dropdownHeader: /*#__PURE__*/_react["default"].createElement("div", null, "Dropdown header"),
150
+ options: []
143
151
  }),
144
152
  render: Component
145
153
  };
@@ -1,5 +1,6 @@
1
1
  import { TAbstractPalette } from '../../../palette';
2
2
  export type TSelectPalette = {
3
3
  bgHover: string;
4
+ empty: string;
4
5
  };
5
6
  export declare const generateSelectPalette: (abstractPalette: TAbstractPalette) => TSelectPalette;
@@ -8,6 +8,7 @@ var _hexToRgba = _interopRequireDefault(require("hex-to-rgba"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
9
  var generateSelectPalette = exports.generateSelectPalette = function generateSelectPalette(abstractPalette) {
10
10
  return {
11
- bgHover: (0, _hexToRgba["default"])(abstractPalette.neutralUsual, 0.5)
11
+ bgHover: (0, _hexToRgba["default"])(abstractPalette.neutralUsual, 0.5),
12
+ empty: abstractPalette.neutralFoggy
12
13
  };
13
14
  };
@@ -10,3 +10,6 @@ export declare const Group: import("styled-components/dist/types").IStyledCompon
10
10
  export declare const DefaultOptionWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
11
  export declare const DrawerContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
12
  export declare const DrawerBottom: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
13
+ export declare const EmptyLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TTypographyProps & import("styled-components/dist/types").BaseObject, {
14
+ $color: string;
15
+ }>> & string & Omit<import("react").FC<import("../../common/Typography").TTypographyProps>, keyof import("react").Component<any, {}, any>>;
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Wrapper = exports.Option = exports.InputWrapper = exports.Group = exports.DrawerContent = exports.DrawerBottom = exports.DefaultOptionWrapper = void 0;
7
+ exports.Wrapper = exports.Option = exports.InputWrapper = exports.Group = exports.EmptyLabel = exports.DrawerContent = exports.DrawerBottom = exports.DefaultOptionWrapper = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
  var _Typography = require("../../common/Typography");
10
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); }
@@ -42,4 +42,11 @@ var DrawerContent = exports.DrawerContent = _styledComponents["default"].div.wit
42
42
  var DrawerBottom = exports.DrawerBottom = _styledComponents["default"].div.withConfig({
43
43
  displayName: "styles__DrawerBottom",
44
44
  componentId: "sc-1x9n0z5-6"
45
- })(["height:36px;"]);
45
+ })(["height:36px;"]);
46
+ var EmptyLabel = exports.EmptyLabel = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
47
+ displayName: "styles__EmptyLabel",
48
+ componentId: "sc-1x9n0z5-7"
49
+ })(["color:", ";"], function (_ref3) {
50
+ var $color = _ref3.$color;
51
+ return $color;
52
+ });
@@ -36,7 +36,7 @@ var Validate = exports.Validate = /*#__PURE__*/function () {
36
36
  if (value === '') {
37
37
  return true;
38
38
  }
39
- if (value.match(/^((ftp|http|https):\/\/)?(www.)?(?!.*(ftp|http|https|www.))[a-zA-Z0-9_-]+(\.[a-zA-Z]+)+((\/)[\w#]+)*(\/\w+\?[a-zA-Z0-9_]+=\w+(&[a-zA-Z0-9_]+=\w+)*)?$/gm)) {
39
+ if (value.match(/^(http[s\u017F]?:\/\/)?(www\.)?([\x2D0-9A-Za-z\u017F\u0401\u0410-\u044F\u0451\u1C80-\u1C83\u1C85\u1C86\u212A]+\.[A-Za-z\u017F\u0401\u0410-\u044F\u0451\u1C80-\u1C83\u1C85\u1C86\u212A]{2,})(\/(?:(?![\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uD800-\uDFFF\uFEFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])*)?$/i)) {
40
40
  return true;
41
41
  }
42
42
  return createError('Некорректный адрес');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicebox/ui",
3
- "version": "0.1.0-alpha.187",
3
+ "version": "0.1.0-alpha.189",
4
4
  "description": "Invoicebox UI",
5
5
  "license": "Apache License 2.0",
6
6
  "scripts": {