@invoicebox/ui 0.1.0-alpha.35 → 0.1.0-alpha.37

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,14 @@
1
+ import { FC, ReactNode } from 'react';
2
+ export type TProps = {
3
+ children: ReactNode;
4
+ isOpen: boolean;
5
+ isAutoPosition?: boolean;
6
+ positionVertical?: number;
7
+ positionLeft?: string;
8
+ positionRight?: string;
9
+ minWidth?: string;
10
+ width?: string;
11
+ zIndex?: number;
12
+ onCloseTransitionEnd?: () => void;
13
+ };
14
+ export declare const Dropdown: FC<TProps>;
@@ -0,0 +1,117 @@
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.Dropdown = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var S = _interopRequireWildcard(require("./styles"));
10
+ var _palette = require("../../../palette");
11
+ 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); }
12
+ 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 && Object.prototype.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; }
13
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
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(arr) { if (Array.isArray(arr)) return arr; }
19
+ var Dropdown = exports.Dropdown = function Dropdown(_ref) {
20
+ var children = _ref.children,
21
+ isOpen = _ref.isOpen,
22
+ _ref$isAutoPosition = _ref.isAutoPosition,
23
+ isAutoPosition = _ref$isAutoPosition === void 0 ? false : _ref$isAutoPosition,
24
+ _ref$positionVertical = _ref.positionVertical,
25
+ positionVertical = _ref$positionVertical === void 0 ? 5 : _ref$positionVertical,
26
+ _ref$positionLeft = _ref.positionLeft,
27
+ positionLeft = _ref$positionLeft === void 0 ? '0px' : _ref$positionLeft,
28
+ _ref$positionRight = _ref.positionRight,
29
+ positionRight = _ref$positionRight === void 0 ? 'auto' : _ref$positionRight,
30
+ _ref$minWidth = _ref.minWidth,
31
+ minWidth = _ref$minWidth === void 0 ? 'auto' : _ref$minWidth,
32
+ _ref$width = _ref.width,
33
+ width = _ref$width === void 0 ? 'auto' : _ref$width,
34
+ zIndex = _ref.zIndex,
35
+ onCloseTransitionEnd = _ref.onCloseTransitionEnd;
36
+ var mergedPalette = (0, _palette.useComponentPalette)('dropdown');
37
+ var position = (0, _react.useRef)({
38
+ isAbove: true,
39
+ translateY: '0px'
40
+ });
41
+ var _useState = (0, _react.useState)(null),
42
+ _useState2 = _slicedToArray(_useState, 2),
43
+ elRef = _useState2[0],
44
+ setElRef = _useState2[1];
45
+ var handleCloseTransitionEnd = (0, _react.useCallback)(function (event) {
46
+ if (event.propertyName !== 'opacity') return;
47
+ if (isOpen) return;
48
+ if (onCloseTransitionEnd) onCloseTransitionEnd();
49
+ }, [isOpen, onCloseTransitionEnd]);
50
+ var getPosition = (0, _react.useCallback)(function (_ref2) {
51
+ var dropdownHeight = _ref2.dropdownHeight,
52
+ belowHeight = _ref2.belowHeight,
53
+ aboveHeight = _ref2.aboveHeight,
54
+ dropdownIndent = _ref2.dropdownIndent;
55
+ var isEnoughSpaceBelow = belowHeight >= dropdownHeight + dropdownIndent;
56
+ if (isEnoughSpaceBelow) return {
57
+ isAbove: false,
58
+ translateY: '0px'
59
+ };
60
+ var isEnoghtSpaceAbove = aboveHeight >= dropdownHeight + dropdownIndent;
61
+ if (isEnoghtSpaceAbove) return {
62
+ isAbove: true,
63
+ translateY: '0px'
64
+ };
65
+ var isMoreSpaceBelowThanAbove = belowHeight >= aboveHeight;
66
+ if (isMoreSpaceBelowThanAbove) {
67
+ var outOfViewPortHeight = dropdownHeight + dropdownIndent - belowHeight;
68
+ return {
69
+ isAbove: false,
70
+ translateY: "-".concat(outOfViewPortHeight, "px")
71
+ };
72
+ } else {
73
+ var _outOfViewPortHeight = dropdownHeight + dropdownIndent - aboveHeight;
74
+ return {
75
+ isAbove: true,
76
+ translateY: "".concat(_outOfViewPortHeight, "px")
77
+ };
78
+ }
79
+ }, []);
80
+ var openFlagCache = (0, _react.useRef)(null);
81
+ if (elRef) {
82
+ var isTriggeredByFlag = openFlagCache.current !== isOpen;
83
+ openFlagCache.current = isOpen;
84
+ if (isTriggeredByFlag && isOpen) {
85
+ var viewportHeight = window.innerHeight;
86
+ var parent = elRef.parentElement;
87
+ var _parent$getBoundingCl = parent.getBoundingClientRect(),
88
+ bottom = _parent$getBoundingCl.bottom,
89
+ aboveHeight = _parent$getBoundingCl.top;
90
+ var belowHeight = viewportHeight - bottom;
91
+ var dropdownHeight = elRef.scrollHeight;
92
+ position.current = isAutoPosition ? getPosition({
93
+ dropdownHeight: dropdownHeight,
94
+ aboveHeight: aboveHeight,
95
+ belowHeight: belowHeight,
96
+ dropdownIndent: positionVertical
97
+ }) : {
98
+ isAbove: false,
99
+ translateY: '0px'
100
+ };
101
+ }
102
+ }
103
+ return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
104
+ ref: setElRef,
105
+ $isVisible: isOpen,
106
+ $isAbove: position.current.isAbove,
107
+ $translateY: position.current.translateY,
108
+ $positionVertical: positionVertical,
109
+ $positionLeft: positionLeft,
110
+ $positionRight: positionRight,
111
+ $minWidth: minWidth,
112
+ $width: width,
113
+ $zIndex: zIndex,
114
+ onTransitionEnd: handleCloseTransitionEnd,
115
+ $palette: mergedPalette
116
+ }, children);
117
+ };
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Dropdown, TProps } from '.';
3
+ declare const meta: Meta<typeof Dropdown>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<TProps>;
6
+ export declare const AutoPosition: StoryObj<TProps>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = exports.AutoPosition = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _addonActions = require("@storybook/addon-actions");
9
+ var _ = require(".");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+ 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); }
12
+ 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; }
13
+ 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; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
+ 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); }
17
+ var meta = {
18
+ title: 'common/Dropdown',
19
+ component: _.Dropdown,
20
+ tags: ['autodocs']
21
+ };
22
+ var _default = exports["default"] = meta;
23
+ var args = {
24
+ isOpen: false,
25
+ positionVertical: 5,
26
+ positionLeft: '0px',
27
+ positionRight: 'auto',
28
+ minWidth: 'auto',
29
+ width: 'auto',
30
+ zIndex: 5,
31
+ onCloseTransitionEnd: (0, _addonActions.action)('closeTransitionEnd'),
32
+ children: Array(100).fill('children ').join('')
33
+ };
34
+ var Default = exports.Default = {
35
+ args: _objectSpread(_objectSpread({}, args), {}, {
36
+ isAutoPosition: false
37
+ }),
38
+ render: function render(props) {
39
+ return /*#__PURE__*/_react["default"].createElement("div", {
40
+ style: {
41
+ position: 'relative'
42
+ }
43
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "parent"), /*#__PURE__*/_react["default"].createElement(_.Dropdown, props));
44
+ }
45
+ };
46
+ var AutoPosition = exports.AutoPosition = {
47
+ args: _objectSpread(_objectSpread({}, args), {}, {
48
+ isAutoPosition: true
49
+ }),
50
+ render: function render(props) {
51
+ return /*#__PURE__*/_react["default"].createElement("div", null, "\u0414\u0440\u043E\u043F\u0434\u0430\u0443\u043D \u043D\u0438\u0436\u0435 \u2193", /*#__PURE__*/_react["default"].createElement("div", {
52
+ style: {
53
+ position: 'relative',
54
+ marginTop: '800px',
55
+ marginBottom: '800px'
56
+ }
57
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "parent"), /*#__PURE__*/_react["default"].createElement(_.Dropdown, props)));
58
+ }
59
+ };
@@ -0,0 +1,6 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TDropdownPalette = {
3
+ bg: string;
4
+ shadow: string;
5
+ };
6
+ export declare const generateDropdownPalette: (abstractPalette: TAbstractPalette) => TDropdownPalette;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateDropdownPalette = void 0;
7
+ var _hexToRgba = _interopRequireDefault(require("hex-to-rgba"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ var generateDropdownPalette = exports.generateDropdownPalette = function generateDropdownPalette(abstractPalette) {
10
+ return {
11
+ bg: abstractPalette.base,
12
+ shadow: (0, _hexToRgba["default"])(abstractPalette.primary, 0.09)
13
+ };
14
+ };
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { TDropdownPalette } from './palette';
3
+ export declare const Wrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
4
+ $isVisible: boolean;
5
+ $isAbove: boolean;
6
+ $translateY: string;
7
+ $positionVertical: number;
8
+ $positionLeft: string;
9
+ $positionRight: string;
10
+ $minWidth: string;
11
+ $width: string;
12
+ $zIndex?: number | undefined;
13
+ $palette: TDropdownPalette;
14
+ }>>;
@@ -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.Wrapper = void 0;
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+ 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); }
10
+ 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 && Object.prototype.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; }
11
+ var hidden = (0, _styledComponents.css)(["visibility:hidden;opacity:0;transition:visibility 0ms 200ms,opacity 200ms 0ms ease;"]);
12
+ var visible = (0, _styledComponents.css)(["visibility:visible;opacity:1;transition:visibility 0ms 0ms,opacity 200ms 0ms ease;"]);
13
+ var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
14
+ displayName: "styles__Wrapper",
15
+ componentId: "sc-1f1enhf-0"
16
+ })(["overflow:hidden;border-radius:10px;box-shadow:0px 10px 17px ", ";bckground:", ";min-width:", ";width:", ";position:absolute;left:", ";right:", ";z-index:", ";", ";", ";", ";"], function (_ref) {
17
+ var $palette = _ref.$palette;
18
+ return $palette.shadow;
19
+ }, function (_ref2) {
20
+ var $palette = _ref2.$palette;
21
+ return $palette.bg;
22
+ }, function (_ref3) {
23
+ var $minWidth = _ref3.$minWidth;
24
+ return $minWidth;
25
+ }, function (_ref4) {
26
+ var $width = _ref4.$width;
27
+ return $width;
28
+ }, function (_ref5) {
29
+ var $positionLeft = _ref5.$positionLeft;
30
+ return $positionLeft;
31
+ }, function (_ref6) {
32
+ var $positionRight = _ref6.$positionRight;
33
+ return $positionRight;
34
+ }, function (_ref7) {
35
+ var $zIndex = _ref7.$zIndex;
36
+ return $zIndex !== null && $zIndex !== void 0 ? $zIndex : 5;
37
+ }, function (_ref8) {
38
+ var $isVisible = _ref8.$isVisible;
39
+ return $isVisible ? visible : hidden;
40
+ }, function (_ref9) {
41
+ var $isAbove = _ref9.$isAbove,
42
+ $positionVertical = _ref9.$positionVertical;
43
+ return $isAbove ? (0, _styledComponents.css)(["bottom:calc(100% + ", "px);"], $positionVertical) : (0, _styledComponents.css)(["top:calc(100% + ", "px);"], $positionVertical);
44
+ }, function (_ref10) {
45
+ var $translateY = _ref10.$translateY;
46
+ return (0, _styledComponents.css)(["transform:translateY(", ");"], $translateY);
47
+ });
@@ -0,0 +1,6 @@
1
+ import { FC, ReactNode } from 'react';
2
+ export type TProps = {
3
+ children: ReactNode;
4
+ maxHeight: number;
5
+ };
6
+ export declare const Scrollbar: FC<TProps>;
@@ -0,0 +1,56 @@
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.Scrollbar = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactScrollbarsCustom = require("react-scrollbars-custom");
10
+ var _palette = require("../../../palette");
11
+ 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); }
12
+ 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 && Object.prototype.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; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ var Scrollbar = exports.Scrollbar = function Scrollbar(_ref) {
15
+ var children = _ref.children,
16
+ maxHeight = _ref.maxHeight;
17
+ var palette = (0, _palette.useComponentPalette)('scrollbar');
18
+ var props = (0, _react.useMemo)(function () {
19
+ return {
20
+ style: {
21
+ maxHeight: maxHeight,
22
+ minWidth: '100%',
23
+ maxWidth: '100%'
24
+ },
25
+ thumbYProps: {
26
+ style: {
27
+ backgroundColor: palette.thumb
28
+ }
29
+ },
30
+ trackYProps: {
31
+ style: {
32
+ backgroundColor: 'transparent',
33
+ width: '6px',
34
+ height: 'calc(100% - 0px)',
35
+ top: '0px'
36
+ }
37
+ },
38
+ thumbXProps: {
39
+ style: {
40
+ backgroundColor: palette.thumb
41
+ }
42
+ },
43
+ trackXProps: {
44
+ style: {
45
+ backgroundColor: 'transparent',
46
+ height: '6px',
47
+ width: 'calc(100% - 10px)',
48
+ left: '0px'
49
+ }
50
+ }
51
+ };
52
+ }, [maxHeight, palette]);
53
+ return /*#__PURE__*/_react["default"].createElement(_reactScrollbarsCustom.Scrollbar, _extends({
54
+ translateContentSizesToHolder: true
55
+ }, props), children);
56
+ };
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import type { StoryObj } from '@storybook/react';
3
+ import { Scrollbar } from '.';
4
+ declare const meta: {
5
+ title: string;
6
+ component: import("react").FC<import(".").TProps>;
7
+ tags: string[];
8
+ };
9
+ export default meta;
10
+ export declare const Default: StoryObj<typeof Scrollbar>;
11
+ export declare const Horisontall: StoryObj<typeof Scrollbar>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Horisontall = exports.Default = void 0;
7
+ var _ = require(".");
8
+ var meta = {
9
+ title: 'common/Scrollbar',
10
+ component: _.Scrollbar,
11
+ tags: ['autodocs']
12
+ };
13
+ var _default = exports["default"] = meta;
14
+ var longDummyText = Array(10).fill("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eius\n mod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud\n exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur\n sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est\n laborum.").join(' ');
15
+ var Default = exports.Default = {
16
+ args: {
17
+ children: longDummyText,
18
+ maxHeight: 200
19
+ }
20
+ };
21
+ var Horisontall = exports.Horisontall = {
22
+ args: {
23
+ maxHeight: 200,
24
+ children: /*#__PURE__*/React.createElement("div", {
25
+ style: {
26
+ width: 2000
27
+ }
28
+ }, longDummyText)
29
+ }
30
+ };
@@ -0,0 +1,5 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TScrollbarPalette = {
3
+ thumb: string;
4
+ };
5
+ export declare const generateScrollbarPalette: (abstractPalette: TAbstractPalette) => TScrollbarPalette;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateScrollbarPalette = void 0;
7
+ var generateScrollbarPalette = exports.generateScrollbarPalette = function generateScrollbarPalette(abstractPalette) {
8
+ return {
9
+ thumb: abstractPalette.neutralFoggy
10
+ };
11
+ };
package/dist/index.d.ts CHANGED
@@ -8,4 +8,7 @@ export { InputLabel } from './components/form/InputLabel';
8
8
  export { PureInput } from './components/form/PureInput';
9
9
  export { PositiveIntegerInput } from './components/form/PositiveIntegerInput';
10
10
  export type { TProps as TPositiveIntegerInputProps } from './components/form/PositiveIntegerInput';
11
+ export { Dropdown } from './components/common/Dropdown';
12
+ export type { TProps as TDropdownProps } from './components/common/Dropdown';
13
+ export { Scrollbar } from './components/common/Scrollbar';
11
14
  export { PaletteProvider } from './palette';
package/dist/index.js CHANGED
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "Arrow", {
9
9
  return _Arrow.Arrow;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "Dropdown", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Dropdown.Dropdown;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "InputLabel", {
13
19
  enumerable: true,
14
20
  get: function get() {
@@ -45,6 +51,12 @@ Object.defineProperty(exports, "PureInput", {
45
51
  return _PureInput.PureInput;
46
52
  }
47
53
  });
54
+ Object.defineProperty(exports, "Scrollbar", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _Scrollbar.Scrollbar;
58
+ }
59
+ });
48
60
  Object.defineProperty(exports, "SecondaryButton", {
49
61
  enumerable: true,
50
62
  get: function get() {
@@ -78,4 +90,6 @@ var _Arrow = require("./components/common/Arrow");
78
90
  var _InputLabel = require("./components/form/InputLabel");
79
91
  var _PureInput = require("./components/form/PureInput");
80
92
  var _PositiveIntegerInput = require("./components/form/PositiveIntegerInput");
93
+ var _Dropdown = require("./components/common/Dropdown");
94
+ var _Scrollbar = require("./components/common/Scrollbar");
81
95
  var _palette = require("./palette");
@@ -13,5 +13,6 @@ var defaultAbstractPalette = exports.defaultAbstractPalette = {
13
13
  neutralUsual: '#f1f2f6',
14
14
  neutralHeavy: '#ececf0',
15
15
  neutralMassive: '#dee0e7',
16
+ neutralFoggy: '#ccc',
16
17
  neutralBrutal: '#999'
17
18
  };
@@ -5,6 +5,8 @@ import { TSecondaryButtonPalette } from '../components/common/SecondaryButton/pa
5
5
  import { TArrowPalette } from '../components/common/Arrow/palette';
6
6
  import { TInputLabelPalette } from '../components/form/InputLabel/palette';
7
7
  import { TPureInputPalette } from '../components/form/PureInput/palette';
8
+ import { TDropdownPalette } from '../components/common/Dropdown/palette';
9
+ import { TScrollbarPalette } from '../components/common/Scrollbar/palette';
8
10
  type TContext = {
9
11
  skeleton: TSkeletonPalette;
10
12
  invoiceboxSpinner: TInvoiceboxSpinnerPalette;
@@ -12,6 +14,8 @@ type TContext = {
12
14
  arrow: TArrowPalette;
13
15
  inputLabel: TInputLabelPalette;
14
16
  pureInput: TPureInputPalette;
17
+ dropdown: TDropdownPalette;
18
+ scrollbar: TScrollbarPalette;
15
19
  };
16
20
  export declare const PaletteContext: import("react").Context<TContext>;
17
21
  export {};
@@ -12,11 +12,15 @@ var _palette3 = require("../components/common/SecondaryButton/palette");
12
12
  var _palette4 = require("../components/common/Arrow/palette");
13
13
  var _palette5 = require("../components/form/InputLabel/palette");
14
14
  var _palette6 = require("../components/form/PureInput/palette");
15
+ var _palette7 = require("../components/common/Dropdown/palette");
16
+ var _palette8 = require("../components/common/Scrollbar/palette");
15
17
  var PaletteContext = exports.PaletteContext = /*#__PURE__*/(0, _react.createContext)({
16
18
  skeleton: (0, _palette.generateSkeletonPalette)(_constants.defaultAbstractPalette),
17
19
  invoiceboxSpinner: (0, _palette2.generateInvoiceboxSpinnerPalette)(_constants.defaultAbstractPalette),
18
20
  secondaryButton: (0, _palette3.generateSecondaryButtonPalette)(_constants.defaultAbstractPalette),
19
21
  arrow: (0, _palette4.generateArrowPalette)(_constants.defaultAbstractPalette),
20
22
  inputLabel: (0, _palette5.generateInputLabelPalette)(_constants.defaultAbstractPalette),
21
- pureInput: (0, _palette6.generatePureInputPalette)(_constants.defaultAbstractPalette)
23
+ pureInput: (0, _palette6.generatePureInputPalette)(_constants.defaultAbstractPalette),
24
+ dropdown: (0, _palette7.generateDropdownPalette)(_constants.defaultAbstractPalette),
25
+ scrollbar: (0, _palette8.generateScrollbarPalette)(_constants.defaultAbstractPalette)
22
26
  });
@@ -13,6 +13,8 @@ var _palette3 = require("../components/common/SecondaryButton/palette");
13
13
  var _palette4 = require("../components/common/Arrow/palette");
14
14
  var _palette5 = require("../components/form/InputLabel/palette");
15
15
  var _palette6 = require("../components/form/PureInput/palette");
16
+ var _palette7 = require("../components/common/Dropdown/palette");
17
+ var _palette8 = require("../components/common/Scrollbar/palette");
16
18
  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); }
17
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 && Object.prototype.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; }
18
20
  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); }
@@ -58,9 +60,11 @@ var PaletteProvider = exports.PaletteProvider = function PaletteProvider(_ref) {
58
60
  secondaryButton: mergedSecondaryButtonPalette,
59
61
  arrow: mergedArrowPalette,
60
62
  inputLabel: mergedInputLabelPalette,
61
- pureInput: mergedPureInputPalette
63
+ pureInput: mergedPureInputPalette,
64
+ dropdown: (0, _palette7.generateDropdownPalette)(mergedAbstractPalette),
65
+ scrollbar: (0, _palette8.generateScrollbarPalette)(mergedAbstractPalette)
62
66
  };
63
- }, [mergedSkeletonPalette, mergedInvoiceboxSpinnerPalette, mergedSecondaryButtonPalette, mergedArrowPalette, mergedInputLabelPalette, mergedPureInputPalette]);
67
+ }, [mergedSkeletonPalette, mergedInvoiceboxSpinnerPalette, mergedSecondaryButtonPalette, mergedArrowPalette, mergedInputLabelPalette, mergedPureInputPalette, mergedAbstractPalette]);
64
68
  return /*#__PURE__*/_react["default"].createElement(_context.PaletteContext.Provider, {
65
69
  value: value
66
70
  }, children);
@@ -7,5 +7,6 @@ export type TAbstractPalette = {
7
7
  neutralLight: string;
8
8
  neutralHeavy: string;
9
9
  neutralMassive: string;
10
+ neutralFoggy: string;
10
11
  neutralBrutal: string;
11
12
  };
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useComponentPalette = void 0;
7
+ var _react = require("react");
7
8
  var _usePalette = require("./usePalette");
8
9
  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); }
9
10
  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; }
@@ -14,5 +15,8 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
14
15
  var useComponentPalette = exports.useComponentPalette = function useComponentPalette(componentName, componentPropsPalette) {
15
16
  var palette = (0, _usePalette.usePalette)();
16
17
  var componentPalette = palette[componentName];
17
- return _objectSpread(_objectSpread({}, componentPalette), componentPropsPalette);
18
+ var value = (0, _react.useMemo)(function () {
19
+ return _objectSpread(_objectSpread({}, componentPalette), componentPropsPalette);
20
+ }, [componentPalette, componentPropsPalette]);
21
+ return value;
18
22
  };
@@ -5,4 +5,6 @@ export declare const usePalette: () => {
5
5
  arrow: import("../components/common/Arrow/palette").TArrowPalette;
6
6
  inputLabel: import("../components/form/InputLabel/palette").TInputLabelPalette;
7
7
  pureInput: import("../components/form/PureInput/palette").TPureInputPalette;
8
+ dropdown: import("../components/common/Dropdown/palette").TDropdownPalette;
9
+ scrollbar: import("../components/common/Scrollbar/palette").TScrollbarPalette;
8
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicebox/ui",
3
- "version": "0.1.0-alpha.35",
3
+ "version": "0.1.0-alpha.37",
4
4
  "description": "Invoicebox UI",
5
5
  "license": "Apache License 2.0",
6
6
  "scripts": {
@@ -49,6 +49,7 @@
49
49
  "dependencies": {
50
50
  "hex-to-rgba": "^2.0.1",
51
51
  "lottie-react": "^2.4.0",
52
+ "react-scrollbars-custom": "^4.1.1",
52
53
  "styled-components": "^6.1.8"
53
54
  },
54
55
  "peerDependencies": {