@prom-ui/core 2.5.0-alpha.0 → 3.0.0-alpha.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.
- package/Avatar/cjs/index.development.js +8 -0
- package/Avatar/cjs/index.development.v2.js +8 -0
- package/Avatar/cjs/index.production.js +1 -1
- package/Avatar/cjs/index.production.v2.js +1 -1
- package/Avatar/index.d.ts +13 -5
- package/Avatar/package.json +1 -1
- package/Backdrop/cjs/index.development.js +5 -3
- package/Backdrop/cjs/index.development.v2.js +5 -3
- package/Backdrop/cjs/index.production.js +1 -1
- package/Backdrop/cjs/index.production.v2.js +1 -1
- package/Backdrop/index.d.ts +11 -9
- package/Backdrop/package.json +1 -1
- package/Badge/cjs/index.development.js +7 -1
- package/Badge/cjs/index.development.v2.js +7 -1
- package/Badge/cjs/index.production.js +1 -1
- package/Badge/cjs/index.production.v2.js +1 -1
- package/Badge/index.d.ts +17 -9
- package/Badge/package.json +1 -1
- package/Body/cjs/index.development.js +22 -0
- package/Body/cjs/index.development.v2.js +22 -0
- package/Body/index.d.ts +68 -0
- package/Body/package.json +1 -1
- package/BodyProvider/cjs/index.development.js +103 -151
- package/BodyProvider/cjs/index.development.v2.js +103 -151
- package/BodyProvider/cjs/index.production.js +1 -1
- package/BodyProvider/cjs/index.production.v2.js +1 -1
- package/BodyProvider/hooks/useSyncDomColorScheme.d.ts +10 -0
- package/BodyProvider/hooks/useSyncStoreProps.d.ts +13 -0
- package/BodyProvider/index.d.ts +17 -1
- package/BodyProvider/package.json +1 -1
- package/BodyProvider/slices/sliceColorScheme.d.ts +16 -0
- package/BodyProvider/slices/sliceTTag.d.ts +1 -1
- package/BodyProvider/store.d.ts +4 -2
- package/BodyScrollLock/cjs/index.development.js +7 -0
- package/BodyScrollLock/cjs/index.development.v2.js +7 -0
- package/BodyScrollLock/cjs/index.production.js +1 -1
- package/BodyScrollLock/cjs/index.production.v2.js +1 -1
- package/BodyScrollLock/index.d.ts +8 -0
- package/BodyScrollLock/package.json +1 -1
- package/Box/cjs/index.development.js +14 -3
- package/Box/cjs/index.development.v2.js +14 -3
- package/Box/index.d.ts +110 -3
- package/Box/package.json +1 -1
- package/Button/cjs/index.development.js +16 -0
- package/Button/cjs/index.development.v2.js +16 -0
- package/Button/cjs/index.production.js +1 -1
- package/Button/cjs/index.production.v2.js +1 -1
- package/Button/index.d.ts +87 -1
- package/Button/package.json +1 -1
- package/ButtonPageUp/cjs/index.development.js +8 -0
- package/ButtonPageUp/cjs/index.development.v2.js +8 -0
- package/ButtonPageUp/cjs/index.production.js +1 -1
- package/ButtonPageUp/cjs/index.production.v2.js +1 -1
- package/ButtonPageUp/index.d.ts +14 -5
- package/ButtonPageUp/package.json +1 -1
- package/Checkbox/cjs/index.development.js +6 -0
- package/Checkbox/cjs/index.development.v2.js +6 -0
- package/Checkbox/cjs/index.production.js +1 -1
- package/Checkbox/cjs/index.production.v2.js +1 -1
- package/Checkbox/index.d.ts +9 -0
- package/Checkbox/package.json +1 -1
- package/ColorScheme/cjs/index.development.js +14 -3
- package/ColorScheme/cjs/index.development.v2.js +14 -3
- package/ColorScheme/cjs/index.production.js +1 -1
- package/ColorScheme/cjs/index.production.v2.js +1 -1
- package/ColorScheme/index.d.ts +12 -2
- package/ColorScheme/package.json +1 -1
- package/ContextMenu/cjs/index.development.js +8 -0
- package/ContextMenu/cjs/index.development.v2.js +8 -0
- package/ContextMenu/cjs/index.production.js +1 -1
- package/ContextMenu/cjs/index.production.v2.js +1 -1
- package/ContextMenu/index.d.ts +14 -5
- package/ContextMenu/package.json +1 -1
- package/ErrorCatch/ErrorCatch.d.ts +9 -3
- package/ErrorCatch/cjs/index.development.js +6 -1
- package/ErrorCatch/cjs/index.development.v2.js +6 -1
- package/ErrorCatch/cjs/index.production.js +1 -1
- package/ErrorCatch/cjs/index.production.v2.js +1 -1
- package/ErrorCatch/package.json +1 -1
- package/Flex/cjs/index.development.js +30 -0
- package/Flex/cjs/index.development.v2.js +30 -0
- package/Flex/index.d.ts +86 -0
- package/Flex/package.json +1 -1
- package/Grid/cjs/index.development.js +30 -2
- package/Grid/cjs/index.development.v2.js +30 -2
- package/Grid/cjs/index.production.js +1 -1
- package/Grid/cjs/index.production.v2.js +1 -1
- package/Grid/cjs/style.development.css +1324 -4959
- package/Grid/cjs/style.development.v2.css +1324 -4959
- package/Grid/cjs/style.production.css +1 -1
- package/Grid/cjs/style.production.v2.css +1 -1
- package/Grid/index.d.ts +94 -9
- package/Grid/package.json +1 -1
- package/Icon/cjs/index.development.js +13 -0
- package/Icon/cjs/index.development.v2.js +13 -0
- package/Icon/index.d.ts +29 -2
- package/Icon/package.json +1 -1
- package/Image/cjs/index.development.js +16 -0
- package/Image/cjs/index.development.v2.js +16 -0
- package/Image/cjs/style.development.css +1 -2
- package/Image/cjs/style.development.v2.css +1 -2
- package/Image/cjs/style.production.css +1 -1
- package/Image/cjs/style.production.v2.css +1 -1
- package/Image/index.d.ts +74 -0
- package/Image/package.json +1 -1
- package/ImageEmoji/cjs/index.development.js +6 -0
- package/ImageEmoji/cjs/index.development.v2.js +6 -0
- package/ImageEmoji/cjs/index.production.js +1 -1
- package/ImageEmoji/cjs/index.production.v2.js +1 -1
- package/ImageEmoji/index.d.ts +8 -1
- package/ImageEmoji/package.json +1 -1
- package/Input/cjs/index.development.js +15 -0
- package/Input/cjs/index.development.v2.js +15 -0
- package/Input/index.d.ts +35 -0
- package/Input/package.json +1 -1
- package/InputField/cjs/index.development.js +7 -0
- package/InputField/cjs/index.development.v2.js +7 -0
- package/InputField/cjs/index.production.js +1 -1
- package/InputField/cjs/index.production.v2.js +1 -1
- package/InputField/index.d.ts +13 -4
- package/InputField/package.json +1 -1
- package/KeyPress/cjs/index.development.js +8 -0
- package/KeyPress/cjs/index.development.v2.js +8 -0
- package/KeyPress/cjs/index.production.js +1 -1
- package/KeyPress/cjs/index.production.v2.js +1 -1
- package/KeyPress/index.d.ts +11 -4
- package/KeyPress/package.json +1 -1
- package/Label/cjs/index.development.js +9 -1
- package/Label/cjs/index.development.v2.js +9 -1
- package/Label/index.d.ts +15 -2
- package/Label/package.json +1 -1
- package/Line/cjs/index.development.js +11 -0
- package/Line/cjs/index.development.v2.js +11 -0
- package/Line/index.d.ts +35 -0
- package/Line/package.json +1 -1
- package/Link/cjs/index.development.js +10 -4
- package/Link/cjs/index.development.v2.js +10 -4
- package/Link/cjs/style.development.css +1 -2
- package/Link/cjs/style.development.v2.css +1 -2
- package/Link/cjs/style.production.css +1 -1
- package/Link/cjs/style.production.v2.css +1 -1
- package/Link/index.d.ts +61 -3
- package/Link/package.json +1 -1
- package/List/cjs/index.development.js +22 -0
- package/List/cjs/index.development.v2.js +22 -0
- package/List/index.d.ts +64 -0
- package/List/package.json +1 -1
- package/Media/cjs/index.development.js +6 -1
- package/Media/cjs/index.development.v2.js +6 -1
- package/Media/cjs/index.production.js +1 -1
- package/Media/cjs/index.production.v2.js +1 -1
- package/Media/index.d.ts +8 -3
- package/Media/package.json +1 -1
- package/Modal/cjs/index.development.js +8 -0
- package/Modal/cjs/index.development.v2.js +8 -0
- package/Modal/cjs/index.production.js +1 -1
- package/Modal/cjs/index.production.v2.js +1 -1
- package/Modal/index.d.ts +16 -8
- package/Modal/package.json +1 -1
- package/OutsideClick/cjs/index.development.js +8 -0
- package/OutsideClick/cjs/index.development.v2.js +8 -0
- package/OutsideClick/cjs/index.production.js +1 -1
- package/OutsideClick/cjs/index.production.v2.js +1 -1
- package/OutsideClick/index.d.ts +10 -2
- package/OutsideClick/package.json +1 -1
- package/Overlay/cjs/index.development.js +7 -2
- package/Overlay/cjs/index.development.v2.js +7 -2
- package/Overlay/cjs/index.production.js +1 -1
- package/Overlay/cjs/index.production.v2.js +1 -1
- package/Overlay/index.d.ts +34 -29
- package/Overlay/package.json +1 -1
- package/PhotoGallery/cjs/index.development.js +22 -3
- package/PhotoGallery/cjs/index.development.v2.js +22 -3
- package/PhotoGallery/cjs/index.production.js +1 -1
- package/PhotoGallery/cjs/index.production.v2.js +1 -1
- package/PhotoGallery/cjs/style.development.css +34 -18
- package/PhotoGallery/cjs/style.development.v2.css +34 -18
- package/PhotoGallery/cjs/style.production.css +1 -1
- package/PhotoGallery/cjs/style.production.v2.css +1 -1
- package/PhotoGallery/index.d.ts +22 -7
- package/PhotoGallery/package.json +1 -1
- package/Picture/cjs/index.development.js +22 -0
- package/Picture/cjs/index.development.v2.js +22 -0
- package/Picture/cjs/style.development.css +1 -2
- package/Picture/cjs/style.development.v2.css +1 -2
- package/Picture/cjs/style.production.css +1 -1
- package/Picture/cjs/style.production.v2.css +1 -1
- package/Picture/index.d.ts +62 -0
- package/Picture/package.json +1 -1
- package/Portal/cjs/index.development.js +10 -0
- package/Portal/cjs/index.development.v2.js +10 -0
- package/Portal/cjs/index.production.js +1 -1
- package/Portal/cjs/index.production.v2.js +1 -1
- package/Portal/index.d.ts +12 -3
- package/Portal/package.json +1 -1
- package/Progress/cjs/index.development.js +5 -1
- package/Progress/cjs/index.development.v2.js +5 -1
- package/Progress/cjs/index.production.js +1 -1
- package/Progress/cjs/index.production.v2.js +1 -1
- package/Progress/index.d.ts +9 -1
- package/Progress/package.json +1 -1
- package/QRCode/cjs/index.development.js +6 -0
- package/QRCode/cjs/index.development.v2.js +6 -0
- package/QRCode/cjs/index.production.js +1 -1
- package/QRCode/cjs/index.production.v2.js +1 -1
- package/QRCode/index.d.ts +11 -5
- package/QRCode/package.json +1 -1
- package/Rating/cjs/index.development.js +8 -0
- package/Rating/cjs/index.development.v2.js +8 -0
- package/Rating/cjs/index.production.js +1 -1
- package/Rating/cjs/index.production.v2.js +1 -1
- package/Rating/index.d.ts +12 -4
- package/Rating/package.json +1 -1
- package/RatingSelect/cjs/index.development.js +7 -0
- package/RatingSelect/cjs/index.development.v2.js +7 -0
- package/RatingSelect/cjs/index.production.js +1 -1
- package/RatingSelect/cjs/index.production.v2.js +1 -1
- package/RatingSelect/index.d.ts +13 -6
- package/RatingSelect/package.json +1 -1
- package/Scroll/cjs/index.development.js +23 -0
- package/Scroll/cjs/index.development.v2.js +23 -0
- package/Scroll/index.d.ts +67 -7
- package/Scroll/package.json +1 -1
- package/ScrollControls/ScrollControlsButton.d.ts +2 -0
- package/ScrollControls/cjs/index.development.js +19 -3
- package/ScrollControls/cjs/index.development.v2.js +19 -3
- package/ScrollControls/cjs/index.production.js +1 -1
- package/ScrollControls/cjs/index.production.v2.js +1 -1
- package/ScrollControls/index.d.ts +21 -4
- package/ScrollControls/package.json +1 -1
- package/SimpleSlider/cjs/index.development.js +9 -0
- package/SimpleSlider/cjs/index.development.v2.js +9 -0
- package/SimpleSlider/cjs/index.production.js +1 -1
- package/SimpleSlider/cjs/index.production.v2.js +1 -1
- package/SimpleSlider/index.d.ts +27 -16
- package/SimpleSlider/package.json +1 -1
- package/Skeleton/cjs/index.development.js +11 -0
- package/Skeleton/cjs/index.development.v2.js +11 -0
- package/Skeleton/cjs/index.production.js +1 -1
- package/Skeleton/cjs/index.production.v2.js +1 -1
- package/Skeleton/index.d.ts +73 -12
- package/Skeleton/package.json +1 -1
- package/SnackBar/cjs/index.development.js +6 -1
- package/SnackBar/cjs/index.development.v2.js +6 -1
- package/SnackBar/cjs/index.production.js +1 -1
- package/SnackBar/cjs/index.production.v2.js +1 -1
- package/SnackBar/index.d.ts +22 -15
- package/SnackBar/package.json +1 -1
- package/Spinner/cjs/index.development.js +11 -0
- package/Spinner/cjs/index.development.v2.js +11 -0
- package/Spinner/cjs/index.production.js +1 -1
- package/Spinner/cjs/index.production.v2.js +1 -1
- package/Spinner/index.d.ts +39 -7
- package/Spinner/package.json +1 -1
- package/Text/cjs/index.development.js +16 -0
- package/Text/cjs/index.development.v2.js +16 -0
- package/Text/cjs/style.development.css +4 -8
- package/Text/cjs/style.development.v2.css +4 -8
- package/Text/cjs/style.production.css +1 -1
- package/Text/cjs/style.production.v2.css +1 -1
- package/Text/index.d.ts +83 -0
- package/Text/package.json +1 -1
- package/TextEmoji/cjs/index.development.js +7 -0
- package/TextEmoji/cjs/index.development.v2.js +7 -0
- package/TextEmoji/cjs/index.production.js +1 -1
- package/TextEmoji/cjs/index.production.v2.js +1 -1
- package/TextEmoji/index.d.ts +8 -0
- package/TextEmoji/package.json +1 -1
- package/Tooltip/cjs/index.development.js +8 -0
- package/Tooltip/cjs/index.development.v2.js +8 -0
- package/Tooltip/cjs/index.production.js +1 -1
- package/Tooltip/cjs/index.production.v2.js +1 -1
- package/Tooltip/index.d.ts +37 -30
- package/Tooltip/package.json +1 -1
- package/Tumbler/cjs/index.development.js +6 -0
- package/Tumbler/cjs/index.development.v2.js +6 -0
- package/Tumbler/cjs/index.production.js +1 -1
- package/Tumbler/cjs/index.production.v2.js +1 -1
- package/Tumbler/index.d.ts +8 -0
- package/Tumbler/package.json +1 -1
- package/Viewport/cjs/index.development.js +10 -0
- package/Viewport/cjs/index.development.v2.js +10 -0
- package/Viewport/cjs/index.production.js +1 -1
- package/Viewport/cjs/index.production.v2.js +1 -1
- package/Viewport/index.d.ts +15 -4
- package/Viewport/package.json +1 -1
- package/evokit/cjs/index.production.js +1 -1
- package/evokit/cjs/index.production.v2.js +1 -1
- package/evokit/package.json +1 -1
- package/package.json +3 -16
- package/useBrowserLayoutEffect/cjs/index.development.js +1 -1
- package/useBrowserLayoutEffect/cjs/index.development.v2.js +1 -1
- package/useBrowserLayoutEffect/index.d.ts +1 -1
- package/useBrowserLayoutEffect/package.json +1 -1
- package/useColorScheme/cjs/index.development.js +61 -0
- package/useColorScheme/cjs/index.development.v2.js +61 -0
- package/useColorScheme/cjs/index.production.js +1 -0
- package/useColorScheme/cjs/index.production.v2.js +1 -0
- package/useColorScheme/index.d.ts +31 -0
- package/useColorScheme/index.js +7 -0
- package/useColorScheme/index.v2.js +7 -0
- package/useColorScheme/package.json +9 -0
- package/useDebounce/cjs/index.development.js +2 -9
- package/useDebounce/cjs/index.development.v2.js +2 -9
- package/useDebounce/cjs/index.production.js +1 -1
- package/useDebounce/cjs/index.production.v2.js +1 -1
- package/useDebounce/index.d.ts +1 -1
- package/useDebounce/package.json +1 -1
- package/useForwardRef/cjs/index.development.js +1 -1
- package/useForwardRef/cjs/index.development.v2.js +1 -1
- package/useForwardRef/cjs/index.production.js +1 -1
- package/useForwardRef/cjs/index.production.v2.js +1 -1
- package/useForwardRef/index.d.ts +1 -1
- package/useForwardRef/package.json +1 -1
- package/useInView/package.json +1 -1
- package/useIsMounted/cjs/index.development.js +1 -1
- package/useIsMounted/cjs/index.development.v2.js +1 -1
- package/useIsMounted/cjs/index.production.js +1 -1
- package/useIsMounted/cjs/index.production.v2.js +1 -1
- package/useIsMounted/index.d.ts +1 -1
- package/useIsMounted/package.json +1 -1
- package/useKeyPress/cjs/index.development.js +1 -9
- package/useKeyPress/cjs/index.development.v2.js +1 -9
- package/useKeyPress/cjs/index.production.js +1 -1
- package/useKeyPress/cjs/index.production.v2.js +1 -1
- package/useKeyPress/index.d.ts +1 -1
- package/useKeyPress/package.json +1 -1
- package/useMedia/cjs/index.development.js +1 -1
- package/useMedia/cjs/index.development.v2.js +1 -1
- package/useMedia/index.d.ts +3 -3
- package/useMedia/package.json +1 -1
- package/useOutsideClick/cjs/index.development.js +1 -1
- package/useOutsideClick/cjs/index.development.v2.js +1 -1
- package/useOutsideClick/index.d.ts +1 -1
- package/useOutsideClick/package.json +1 -1
- package/usePortal/cjs/index.development.js +9 -21
- package/usePortal/cjs/index.development.v2.js +9 -21
- package/usePortal/cjs/index.production.js +1 -1
- package/usePortal/cjs/index.production.v2.js +1 -1
- package/usePortal/index.d.ts +5 -6
- package/usePortal/package.json +1 -1
- package/useScrollPosition/cjs/index.development.js +1 -1
- package/useScrollPosition/cjs/index.development.v2.js +1 -1
- package/useScrollPosition/index.d.ts +1 -1
- package/useScrollPosition/package.json +1 -1
- package/useScrollSync/cjs/index.development.js +210 -0
- package/useScrollSync/cjs/index.development.v2.js +210 -0
- package/useScrollSync/cjs/index.production.js +1 -0
- package/useScrollSync/cjs/index.production.v2.js +1 -0
- package/useScrollSync/index.d.ts +31 -0
- package/useScrollSync/index.js +7 -0
- package/useScrollSync/index.v2.js +7 -0
- package/useScrollSync/package.json +12 -0
- package/useSnackBar/cjs/index.development.js +1 -1
- package/useSnackBar/cjs/index.development.v2.js +1 -1
- package/useSnackBar/cjs/index.production.js +1 -1
- package/useSnackBar/cjs/index.production.v2.js +1 -1
- package/useSnackBar/index.d.ts +1 -1
- package/useSnackBar/package.json +1 -1
- package/base/colors-dark.css +0 -5
|
@@ -35,6 +35,14 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
|
35
35
|
var css = {"root":"Rating__root___aJlm0"};
|
|
36
36
|
|
|
37
37
|
var _excluded = ["value", "percent", "size", "theme", "className"];
|
|
38
|
+
/**
|
|
39
|
+
* Відображає рейтинг у вигляді 5 зірок (лише для читання).
|
|
40
|
+
* Заливка зірок визначається через `value` (0–5) або `percent` (0–100).
|
|
41
|
+
* @example
|
|
42
|
+
* import { Rating } from '@prom-ui/core/Rating'
|
|
43
|
+
* <Rating value={4} />
|
|
44
|
+
* <Rating percent={75} theme='yellow-500' />
|
|
45
|
+
*/
|
|
38
46
|
var Rating = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
39
47
|
var _ref$value = _ref.value,
|
|
40
48
|
value = _ref$value === void 0 ? 0 : _ref$value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("react"),a=require("clsx");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function L(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("react"),a=require("clsx");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function L(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var l=C(e),o=C(t),c=L(r),n=C(a),i="AYAsy",u=["value","percent","size","theme","className"],s=c.forwardRef(function(e,t){var r=e.value,a=void 0===r?0:r,C=e.percent,L=void 0===C?0:C,s=e.size,f=void 0===s?18:s,d=e.theme,p=void 0===d?"violet-500":d,v=e.className,b=o.default(e,u),m=Math.round(L>0?L:a/5*100),h=c.useId(),y=f;"small"===f?y=14:"default"===f?y=18:"big"===f&&(y=22);var g="yellow-500"===p?"var(--pds-color-light-".concat(p,")"):"var(--".concat(p,")");return c.createElement("svg",l.default({className:n.default(i,v),height:y},b,{ref:t,viewBox:"0 0 120 24",tabIndex:-1,focusable:!1}),c.createElement("defs",null,c.createElement("linearGradient",{id:h},c.createElement("stop",{offset:"".concat(m,"%"),stopColor:g}),c.createElement("stop",{offset:"".concat(m,"%"),stopColor:"var(--black-400)"}))),c.createElement("path",{fill:"url(#".concat(h,")"),d:"M 17.138 22 C 16.863 22 16.588 21.931 16.335 21.792 L 12 19.405 L 7.665 21.792 C 7.102 22.1 6.428 22.063 5.902 21.692 C 5.359 21.308 5.09 20.658 5.199 19.994 L 6.037 14.877 L 2.4939999999999998 11.26 C 2.036 10.792 1.883 10.113 2.092 9.488 C 2.2960000000000003 8.878 2.8120000000000003 8.438 3.439 8.343 L 8.297 7.604 L 10.479 2.974 C 10.763 2.374 11.345 2 12 2 C 12.654 2 13.237 2.374 13.52 2.974 L 15.703 7.604 L 20.561 8.343 C 21.187 8.438 21.704 8.878 21.908 9.488 C 22.117 10.113 21.964 10.792 21.508 11.258 L 17.963 14.877 L 18.802 19.995 C 18.91 20.658 18.641 21.308 18.098 21.692 C 17.809 21.896 17.475 22 17.138 22 Z M 41.138 22 C 40.863 22 40.588 21.931 40.335 21.792 L 36 19.405 L 31.665 21.792 C 31.102 22.1 30.428 22.063 29.902 21.692 C 29.359 21.308 29.09 20.658 29.199 19.994 L 30.037 14.877 L 26.494 11.26 C 26.036 10.792 25.883 10.113 26.092 9.488 C 26.296 8.878 26.812 8.438 27.439 8.343 L 32.297 7.604 L 34.479 2.974 C 34.763 2.374 35.345 2 36 2 C 36.654 2 37.237 2.374 37.52 2.974 L 39.703 7.604 L 44.561 8.343 C 45.187 8.438 45.704 8.878 45.908 9.488 C 46.117 10.113 45.964 10.792 45.508 11.258 L 41.963 14.877 L 42.802 19.995 C 42.91 20.658 42.641 21.308 42.098 21.692 C 41.809 21.896 41.475 22 41.138 22 Z M 65.138 22 C 64.863 22 64.588 21.931 64.335 21.792 L 60 19.405 L 55.665 21.792 C 55.102 22.1 54.428 22.063 53.902 21.692 C 53.359 21.308 53.09 20.658 53.199 19.994 L 54.037 14.877 L 50.494 11.26 C 50.036 10.792 49.883 10.113 50.092 9.488 C 50.296 8.878 50.812 8.438 51.439 8.343 L 56.297 7.604 L 58.479 2.974 C 58.763 2.374 59.345 2 60 2 C 60.654 2 61.237 2.374 61.52 2.974 L 63.703 7.604 L 68.561 8.343 C 69.187 8.438 69.704 8.878 69.908 9.488 C 70.117 10.113 69.964 10.792 69.508 11.258 L 65.963 14.877 L 66.802 19.995 C 66.91 20.658 66.641 21.308 66.098 21.692 C 65.809 21.896 65.475 22 65.138 22 Z M 89.138 22 C 88.863 22 88.588 21.931 88.335 21.792 L 84 19.405 L 79.665 21.792 C 79.102 22.1 78.428 22.063 77.902 21.692 C 77.359 21.308 77.09 20.658 77.199 19.994 L 78.037 14.877 L 74.494 11.26 C 74.036 10.792 73.883 10.113 74.092 9.488 C 74.296 8.878 74.812 8.438 75.439 8.343 L 80.297 7.604 L 82.479 2.974 C 82.763 2.374 83.345 2 84 2 C 84.654 2 85.237 2.374 85.52 2.974 L 87.703 7.604 L 92.561 8.343 C 93.187 8.438 93.704 8.878 93.908 9.488 C 94.117 10.113 93.964 10.792 93.508 11.258 L 89.963 14.877 L 90.802 19.995 C 90.91 20.658 90.641 21.308 90.098 21.692 C 89.809 21.896 89.475 22 89.138 22 Z M 113.138 22 C 112.863 22 112.588 21.931 112.335 21.792 L 108 19.405 L 103.665 21.792 C 103.102 22.1 102.428 22.063 101.902 21.692 C 101.359 21.308 101.09 20.658 101.199 19.994 L 102.037 14.877 L 98.494 11.26 C 98.036 10.792 97.883 10.113 98.092 9.488 C 98.296 8.878 98.812 8.438 99.439 8.343 L 104.297 7.604 L 106.479 2.974 C 106.763 2.374 107.345 2 108 2 C 108.654 2 109.237 2.374 109.52 2.974 L 111.703 7.604 L 116.561 8.343 C 117.187 8.438 117.704 8.878 117.908 9.488 C 118.117 10.113 117.964 10.792 117.508 11.258 L 113.963 14.877 L 114.802 19.995 C 114.91 20.658 114.641 21.308 114.098 21.692 C 113.809 21.896 113.475 22 113.138 22 Z"}))});s.displayName="Rating",exports.Rating=s,require("./style.production.css");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("react"),a=require("clsx");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("react"),a=require("clsx");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var L=C(e),o=C(t),c=l(r),n=C(a),i="aJlm0",u=["value","percent","size","theme","className"],s=c.forwardRef(function(e,t){var r=e.value,a=void 0===r?0:r,C=e.percent,l=void 0===C?0:C,s=e.size,f=void 0===s?18:s,d=e.theme,p=void 0===d?"violet-500":d,v=e.className,b=o.default(e,u),m=Math.round(l>0?l:a/5*100),h=c.useId(),g=f;"small"===f?g=14:"default"===f?g=18:"big"===f&&(g=22);var j="yellow-500"===p?"var(--pds-color-light-".concat(p,")"):"var(--".concat(p,")");return c.createElement("svg",L.default({className:n.default(i,v),height:g},b,{ref:t,viewBox:"0 0 120 24",tabIndex:-1,focusable:!1}),c.createElement("defs",null,c.createElement("linearGradient",{id:h},c.createElement("stop",{offset:"".concat(m,"%"),stopColor:j}),c.createElement("stop",{offset:"".concat(m,"%"),stopColor:"var(--black-400)"}))),c.createElement("path",{fill:"url(#".concat(h,")"),d:"M 17.138 22 C 16.863 22 16.588 21.931 16.335 21.792 L 12 19.405 L 7.665 21.792 C 7.102 22.1 6.428 22.063 5.902 21.692 C 5.359 21.308 5.09 20.658 5.199 19.994 L 6.037 14.877 L 2.4939999999999998 11.26 C 2.036 10.792 1.883 10.113 2.092 9.488 C 2.2960000000000003 8.878 2.8120000000000003 8.438 3.439 8.343 L 8.297 7.604 L 10.479 2.974 C 10.763 2.374 11.345 2 12 2 C 12.654 2 13.237 2.374 13.52 2.974 L 15.703 7.604 L 20.561 8.343 C 21.187 8.438 21.704 8.878 21.908 9.488 C 22.117 10.113 21.964 10.792 21.508 11.258 L 17.963 14.877 L 18.802 19.995 C 18.91 20.658 18.641 21.308 18.098 21.692 C 17.809 21.896 17.475 22 17.138 22 Z M 41.138 22 C 40.863 22 40.588 21.931 40.335 21.792 L 36 19.405 L 31.665 21.792 C 31.102 22.1 30.428 22.063 29.902 21.692 C 29.359 21.308 29.09 20.658 29.199 19.994 L 30.037 14.877 L 26.494 11.26 C 26.036 10.792 25.883 10.113 26.092 9.488 C 26.296 8.878 26.812 8.438 27.439 8.343 L 32.297 7.604 L 34.479 2.974 C 34.763 2.374 35.345 2 36 2 C 36.654 2 37.237 2.374 37.52 2.974 L 39.703 7.604 L 44.561 8.343 C 45.187 8.438 45.704 8.878 45.908 9.488 C 46.117 10.113 45.964 10.792 45.508 11.258 L 41.963 14.877 L 42.802 19.995 C 42.91 20.658 42.641 21.308 42.098 21.692 C 41.809 21.896 41.475 22 41.138 22 Z M 65.138 22 C 64.863 22 64.588 21.931 64.335 21.792 L 60 19.405 L 55.665 21.792 C 55.102 22.1 54.428 22.063 53.902 21.692 C 53.359 21.308 53.09 20.658 53.199 19.994 L 54.037 14.877 L 50.494 11.26 C 50.036 10.792 49.883 10.113 50.092 9.488 C 50.296 8.878 50.812 8.438 51.439 8.343 L 56.297 7.604 L 58.479 2.974 C 58.763 2.374 59.345 2 60 2 C 60.654 2 61.237 2.374 61.52 2.974 L 63.703 7.604 L 68.561 8.343 C 69.187 8.438 69.704 8.878 69.908 9.488 C 70.117 10.113 69.964 10.792 69.508 11.258 L 65.963 14.877 L 66.802 19.995 C 66.91 20.658 66.641 21.308 66.098 21.692 C 65.809 21.896 65.475 22 65.138 22 Z M 89.138 22 C 88.863 22 88.588 21.931 88.335 21.792 L 84 19.405 L 79.665 21.792 C 79.102 22.1 78.428 22.063 77.902 21.692 C 77.359 21.308 77.09 20.658 77.199 19.994 L 78.037 14.877 L 74.494 11.26 C 74.036 10.792 73.883 10.113 74.092 9.488 C 74.296 8.878 74.812 8.438 75.439 8.343 L 80.297 7.604 L 82.479 2.974 C 82.763 2.374 83.345 2 84 2 C 84.654 2 85.237 2.374 85.52 2.974 L 87.703 7.604 L 92.561 8.343 C 93.187 8.438 93.704 8.878 93.908 9.488 C 94.117 10.113 93.964 10.792 93.508 11.258 L 89.963 14.877 L 90.802 19.995 C 90.91 20.658 90.641 21.308 90.098 21.692 C 89.809 21.896 89.475 22 89.138 22 Z M 113.138 22 C 112.863 22 112.588 21.931 112.335 21.792 L 108 19.405 L 103.665 21.792 C 103.102 22.1 102.428 22.063 101.902 21.692 C 101.359 21.308 101.09 20.658 101.199 19.994 L 102.037 14.877 L 98.494 11.26 C 98.036 10.792 97.883 10.113 98.092 9.488 C 98.296 8.878 98.812 8.438 99.439 8.343 L 104.297 7.604 L 106.479 2.974 C 106.763 2.374 107.345 2 108 2 C 108.654 2 109.237 2.374 109.52 2.974 L 111.703 7.604 L 116.561 8.343 C 117.187 8.438 117.704 8.878 117.908 9.488 C 118.117 10.113 117.964 10.792 117.508 11.258 L 113.963 14.877 L 114.802 19.995 C 114.91 20.658 114.641 21.308 114.098 21.692 C 113.809 21.896 113.475 22 113.138 22 Z"}))});s.displayName="Rating",exports.Rating=s,require("./style.production.v2.css");
|
package/Rating/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export type RatingProps = React.ComponentPropsWithRef<'svg'> & {
|
|
3
|
-
/**
|
|
3
|
+
/** Значення рейтингу від 0 до 5 */
|
|
4
4
|
value?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
5
|
-
/**
|
|
5
|
+
/** Значення рейтингу у відсотках від `0` до `100` */
|
|
6
6
|
percent?: number;
|
|
7
|
-
/**
|
|
7
|
+
/** Розмір */
|
|
8
8
|
size?: React.ComponentPropsWithRef<'svg'>['height'];
|
|
9
|
-
/**
|
|
9
|
+
/** Колір зірок */
|
|
10
10
|
theme?: 'violet-500' | 'yellow-500';
|
|
11
11
|
/**
|
|
12
12
|
* @ignore
|
|
@@ -14,4 +14,12 @@ export type RatingProps = React.ComponentPropsWithRef<'svg'> & {
|
|
|
14
14
|
* */
|
|
15
15
|
fr?: string | number;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Відображає рейтинг у вигляді 5 зірок (лише для читання).
|
|
19
|
+
* Заливка зірок визначається через `value` (0–5) або `percent` (0–100).
|
|
20
|
+
* @example
|
|
21
|
+
* import { Rating } from '@prom-ui/core/Rating'
|
|
22
|
+
* <Rating value={4} />
|
|
23
|
+
* <Rating percent={75} theme='yellow-500' />
|
|
24
|
+
*/
|
|
17
25
|
export declare const Rating: React.ForwardRefExoticComponent<Omit<RatingProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
package/Rating/package.json
CHANGED
|
@@ -40,6 +40,13 @@ var css = {"root":"RatingSelect__root___8RSGF","label":"RatingSelect__label___FF
|
|
|
40
40
|
|
|
41
41
|
var _excluded = ["value", "name", "onChange", "onHover", "size", "disabled"];
|
|
42
42
|
var ITEMS_LIST = [1, 2, 3, 4, 5];
|
|
43
|
+
/**
|
|
44
|
+
* Інтерактивний вибір рейтингу від 1 до 5 зірок.
|
|
45
|
+
* Повторний клік на вже вибрану зірку скидає значення до `undefined`.
|
|
46
|
+
* @example
|
|
47
|
+
* import { RatingSelect } from '@prom-ui/core/RatingSelect'
|
|
48
|
+
* <RatingSelect value={3} onChange={(val) => console.log(val)} />
|
|
49
|
+
*/
|
|
43
50
|
var RatingSelect = function RatingSelect(_ref) {
|
|
44
51
|
var value = _ref.value,
|
|
45
52
|
name = _ref.name,
|
|
@@ -40,6 +40,13 @@ var css = {"root":"RatingSelect__root___V-LdE","label":"RatingSelect__label___sg
|
|
|
40
40
|
|
|
41
41
|
var _excluded = ["value", "name", "onChange", "onHover", "size", "disabled"];
|
|
42
42
|
var ITEMS_LIST = [1, 2, 3, 4, 5];
|
|
43
|
+
/**
|
|
44
|
+
* Інтерактивний вибір рейтингу від 1 до 5 зірок.
|
|
45
|
+
* Повторний клік на вже вибрану зірку скидає значення до `undefined`.
|
|
46
|
+
* @example
|
|
47
|
+
* import { RatingSelect } from '@prom-ui/core/RatingSelect'
|
|
48
|
+
* <RatingSelect value={3} onChange={(val) => console.log(val)} />
|
|
49
|
+
*/
|
|
43
50
|
var RatingSelect = function RatingSelect(_ref) {
|
|
44
51
|
var value = _ref.value,
|
|
45
52
|
name = _ref.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/helpers/objectWithoutProperties"),a=require("react"),r=require("clsx"),i=require("@prom-ui/core/useIsMounted"),u=require("@prom-ui/icons/StarFill");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/helpers/objectWithoutProperties"),a=require("react"),r=require("clsx"),i=require("@prom-ui/core/useIsMounted"),u=require("@prom-ui/icons/StarFill");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var l=c(e),s=c(t),d=c(n),f=o(a),p=c(r),b="_8RSGF",m="FF3m3",v="_1Zpyt",_="_25gdX",y="DscdS",g=["value","name","onChange","onHover","size","disabled"],q=[1,2,3,4,5],h=function(e){var t=e.value,n=e.name,a=e.onChange,r=e.onHover,c=e.size,o=void 0===c?18:c,h=e.disabled,S=d.default(e,g),j=i.useIsMounted(),E=f.useId(),O=f.useState(t),F=s.default(O,2),k=F[0],M=F[1],N=f.useState(!0),P=s.default(N,2),z=P[0],C=P[1],x=n||E;f.useEffect(function(){j&&"function"==typeof a&&a(k)},[k]),f.useEffect(function(){t!==k&&M(t)},[t]);return f.createElement("div",{className:p.default(b,l.default({},y,z)),style:{fontSize:o},onMouseLeave:function(){"function"==typeof r&&r(void 0)},"data-qaid":S["data-qaid"]||"rating_select","data-testid":S["data-testid"]||"rating_select"},q.map(function(e){var t="".concat(x,"-").concat(e);return f.createElement("input",{key:e,id:t,className:_,type:"radio",name:x,value:e,checked:k===e,onChange:function(){return function(e){C(!1),M(e)}(e)},disabled:h,"data-qaid":"rating_select_input_".concat(e),"data-testid":"rating_select_input_".concat(e)})}),q.map(function(e){var t="".concat(x,"-").concat(e);return f.createElement("label",{key:e,className:m,htmlFor:t,onClick:function(t){return function(e,t){C(!1),h||k!==e||(null==t||t.preventDefault(),M(void 0))}(e,t)},onMouseEnter:function(){return function(e){z||C(!0),"function"==typeof r&&r(e)}(e)},"data-qaid":"rating_select_label_".concat(e),"data-testid":"rating_select_label_".concat(e)},f.createElement(u.SvgStarFill,{className:v,focusable:!1,"aria-hidden":!0}))}))};h.displayName="RatingSelect",exports.RatingSelect=h,require("./style.production.css");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/helpers/objectWithoutProperties"),a=require("react"),r=require("clsx"),i=require("@prom-ui/core/useIsMounted"),u=require("@prom-ui/icons/StarFill");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/helpers/objectWithoutProperties"),a=require("react"),r=require("clsx"),i=require("@prom-ui/core/useIsMounted"),u=require("@prom-ui/icons/StarFill");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var l=c(e),s=c(t),d=c(n),f=o(a),p=c(r),b="V-LdE",m="sgjOY",v="FTT2B",y="DxUIq",g="LD2kV",_=["value","name","onChange","onHover","size","disabled"],q=[1,2,3,4,5],h=function(e){var t=e.value,n=e.name,a=e.onChange,r=e.onHover,c=e.size,o=void 0===c?18:c,h=e.disabled,j=d.default(e,_),E=i.useIsMounted(),O=f.useId(),S=f.useState(t),k=s.default(S,2),M=k[0],N=k[1],P=f.useState(!0),x=s.default(P,2),z=x[0],C=x[1],D=n||O;f.useEffect(function(){E&&"function"==typeof a&&a(M)},[M]),f.useEffect(function(){t!==M&&N(t)},[t]);return f.createElement("div",{className:p.default(b,l.default({},g,z)),style:{fontSize:o},onMouseLeave:function(){"function"==typeof r&&r(void 0)},"data-qaid":j["data-qaid"]||"rating_select","data-testid":j["data-testid"]||"rating_select"},q.map(function(e){var t="".concat(D,"-").concat(e);return f.createElement("input",{key:e,id:t,className:y,type:"radio",name:D,value:e,checked:M===e,onChange:function(){return function(e){C(!1),N(e)}(e)},disabled:h,"data-qaid":"rating_select_input_".concat(e),"data-testid":"rating_select_input_".concat(e)})}),q.map(function(e){var t="".concat(D,"-").concat(e);return f.createElement("label",{key:e,className:m,htmlFor:t,onClick:function(t){return function(e,t){C(!1),h||M!==e||(null==t||t.preventDefault(),N(void 0))}(e,t)},onMouseEnter:function(){return function(e){z||C(!0),"function"==typeof r&&r(e)}(e)},"data-qaid":"rating_select_label_".concat(e),"data-testid":"rating_select_label_".concat(e)},f.createElement(u.SvgStarFill,{className:v,focusable:!1,"aria-hidden":!0}))}))};h.displayName="RatingSelect",exports.RatingSelect=h,require("./style.production.v2.css");
|
package/RatingSelect/index.d.ts
CHANGED
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
declare const ITEMS_LIST: readonly [1, 2, 3, 4, 5];
|
|
3
3
|
export type RatingSelectProps = {
|
|
4
|
-
/**
|
|
4
|
+
/** Значення рейтингу від 1 до 5 */
|
|
5
5
|
value?: (typeof ITEMS_LIST)[number];
|
|
6
|
-
/**
|
|
6
|
+
/** Ім'я поля вводу для відправки в формі */
|
|
7
7
|
name?: string;
|
|
8
|
-
/**
|
|
8
|
+
/** Функція зворотного виклику при зміні значення рейтингу */
|
|
9
9
|
onChange?: (value?: RatingSelectProps['value']) => void;
|
|
10
|
-
/**
|
|
10
|
+
/** Функція зворотного виклику при наведенні курсора на елементи рейтингу */
|
|
11
11
|
onHover?: (value?: RatingSelectProps['value']) => void;
|
|
12
|
-
/**
|
|
12
|
+
/** Визначає, чи має компонент рейтингу бути відключеним */
|
|
13
13
|
disabled?: boolean;
|
|
14
|
-
/**
|
|
14
|
+
/** Розмір компонента рейтингу */
|
|
15
15
|
size?: string | number;
|
|
16
16
|
/** @ignore */
|
|
17
17
|
'data-qaid'?: string;
|
|
18
18
|
/** @ignore */
|
|
19
19
|
'data-testid'?: string;
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* Інтерактивний вибір рейтингу від 1 до 5 зірок.
|
|
23
|
+
* Повторний клік на вже вибрану зірку скидає значення до `undefined`.
|
|
24
|
+
* @example
|
|
25
|
+
* import { RatingSelect } from '@prom-ui/core/RatingSelect'
|
|
26
|
+
* <RatingSelect value={3} onChange={(val) => console.log(val)} />
|
|
27
|
+
*/
|
|
21
28
|
export declare const RatingSelect: React.FC<RatingSelectProps>;
|
|
22
29
|
export {};
|
|
@@ -6,10 +6,33 @@ var evokit = require('@prom-ui/core/evokit');
|
|
|
6
6
|
|
|
7
7
|
var css = {"ek-scroll":"Scroll__ek-scroll___m6Vr5","ek-scroll__item":"Scroll__ek-scroll__item___bfetG","ek-scroll__item_blackhole_width-fit-content":"Scroll__ek-scroll__item_blackhole_width-fit-content___k-fNo","ek-scroll__item_blackhole_width-max-content":"Scroll__ek-scroll__item_blackhole_width-max-content___s8gGl","ek-scroll_padding_xxs":"Scroll__ek-scroll_padding_xxs___9vZpV","ek-scroll_padding_xs":"Scroll__ek-scroll_padding_xs___L5kMA","ek-scroll_padding_s":"Scroll__ek-scroll_padding_s___Nr3Ig","ek-scroll_padding_m":"Scroll__ek-scroll_padding_m___hcRCz","ek-scroll_padding_l":"Scroll__ek-scroll_padding_l___SKeiS","ek-scroll_padding_xl":"Scroll__ek-scroll_padding_xl___MG4J-","ek-scroll_padding_xxl":"Scroll__ek-scroll_padding_xxl___m8ou2","ek-scroll_padding_3xl":"Scroll__ek-scroll_padding_3xl___xy72W","ek-scroll_padding_4xl":"Scroll__ek-scroll_padding_4xl___gzW-I","ek-scroll_padding_5xl":"Scroll__ek-scroll_padding_5xl___JErmt","ek-scroll_column_1":"Scroll__ek-scroll_column_1___n5mTi","ek-scroll_column_2":"Scroll__ek-scroll_column_2___GqdmF","ek-scroll_column_3":"Scroll__ek-scroll_column_3___DKZCp","ek-scroll_column_4":"Scroll__ek-scroll_column_4___-Nf-L","ek-scroll_column_5":"Scroll__ek-scroll_column_5___OxDq-","ek-scroll_column_6":"Scroll__ek-scroll_column_6___wP8Pu","ek-scroll_column_7":"Scroll__ek-scroll_column_7___-ZDSB","ek-scroll_column_8":"Scroll__ek-scroll_column_8___PnnsU","ek-scroll_column_9":"Scroll__ek-scroll_column_9___DDqgb","ek-scroll_column_10":"Scroll__ek-scroll_column_10___Hh-uZ","ek-scroll_gap_xxs":"Scroll__ek-scroll_gap_xxs___15vfK","ek-scroll_gap_xs":"Scroll__ek-scroll_gap_xs___Kvr2J","ek-scroll_gap_s":"Scroll__ek-scroll_gap_s___71-or","ek-scroll_gap_m":"Scroll__ek-scroll_gap_m___glUvB","ek-scroll_gap_l":"Scroll__ek-scroll_gap_l___pQC7Z","ek-scroll_gap_xl":"Scroll__ek-scroll_gap_xl___L1iAD","ek-scroll_gap_xxl":"Scroll__ek-scroll_gap_xxl___wVNm-","ek-scroll_gap_3xl":"Scroll__ek-scroll_gap_3xl___4tQXK","ek-scroll_gap_4xl":"Scroll__ek-scroll_gap_4xl___1-5dw","ek-scroll_gap_5xl":"Scroll__ek-scroll_gap_5xl___ym2qM","ek-scroll_bar_none":"Scroll__ek-scroll_bar_none___c1gVV","ek-scroll_bar_auto":"Scroll__ek-scroll_bar_auto___-TbaH","ek-scroll_align_normal":"Scroll__ek-scroll_align_normal___zoDjM","ek-scroll_align_start":"Scroll__ek-scroll_align_start___4mACC","ek-scroll_align_center":"Scroll__ek-scroll_align_center___3PWHW","ek-scroll_align_end":"Scroll__ek-scroll_align_end___AwLLA","ek-scroll_snap-type_none":"Scroll__ek-scroll_snap-type_none___oG6uA","ek-scroll_snap-type_mandatory":"Scroll__ek-scroll_snap-type_mandatory___cHUdH","ek-scroll_snap-type_proximity":"Scroll__ek-scroll_snap-type_proximity___-yfBi","ek-scroll_snap-align_none":"Scroll__ek-scroll_snap-align_none___oaQQp","ek-scroll_snap-align_start":"Scroll__ek-scroll_snap-align_start___OOKij","ek-scroll_snap-align_end":"Scroll__ek-scroll_snap-align_end___P1oSD","ek-scroll_snap-align_center":"Scroll__ek-scroll_snap-align_center___wFIuW"};
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Елемент горизонтального скрол-контейнера. Використовується як `<Scroll.Item>`.
|
|
11
|
+
*
|
|
12
|
+
* Не підтримує медіа-суфікси.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <Scroll.Item>Картка 1</Scroll.Item>
|
|
16
|
+
*/
|
|
9
17
|
var ScrollItem = evokit.createBlock('li', 'scroll__item', ['blackhole'], {
|
|
10
18
|
css: css
|
|
11
19
|
});
|
|
12
20
|
ScrollItem.displayName = 'ScrollItem';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Горизонтальний скрол-контейнер зі snap-точками.
|
|
24
|
+
*
|
|
25
|
+
* Не підтримує медіа-суфікси.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* import { Scroll } from '@prom-ui/core/Scroll';
|
|
29
|
+
*
|
|
30
|
+
* <Scroll scroll-column={3} scroll-gap='m' scroll-bar='none'>
|
|
31
|
+
* <Scroll.Item>Картка 1</Scroll.Item>
|
|
32
|
+
* <Scroll.Item>Картка 2</Scroll.Item>
|
|
33
|
+
* <Scroll.Item>Картка 3</Scroll.Item>
|
|
34
|
+
* </Scroll>
|
|
35
|
+
*/
|
|
13
36
|
var Scroll = evokit.createBlock('ul', 'scroll', ['align', 'bar', 'column', 'gap', 'padding', 'snap-type', 'snap-align'], {
|
|
14
37
|
css: css
|
|
15
38
|
}, {
|
|
@@ -6,10 +6,33 @@ var evokit = require('@prom-ui/core/evokit');
|
|
|
6
6
|
|
|
7
7
|
var css = {"ek-scroll":"Scroll__ek-scroll___NXXzp","ek-scroll__item":"Scroll__ek-scroll__item___UI2VC","ek-scroll__item_blackhole_width-fit-content":"Scroll__ek-scroll__item_blackhole_width-fit-content___YaPDT","ek-scroll__item_blackhole_width-max-content":"Scroll__ek-scroll__item_blackhole_width-max-content___zz-b1","ek-scroll_padding_xxs":"Scroll__ek-scroll_padding_xxs___VKmZq","ek-scroll_padding_xs":"Scroll__ek-scroll_padding_xs___Sykio","ek-scroll_padding_s":"Scroll__ek-scroll_padding_s___qbVl4","ek-scroll_padding_m":"Scroll__ek-scroll_padding_m___X5XbZ","ek-scroll_padding_l":"Scroll__ek-scroll_padding_l___XT-PI","ek-scroll_padding_xl":"Scroll__ek-scroll_padding_xl___OC1ZW","ek-scroll_padding_xxl":"Scroll__ek-scroll_padding_xxl___lgDpl","ek-scroll_padding_3xl":"Scroll__ek-scroll_padding_3xl___UNWNQ","ek-scroll_padding_4xl":"Scroll__ek-scroll_padding_4xl___7DEQQ","ek-scroll_padding_5xl":"Scroll__ek-scroll_padding_5xl___mnZOp","ek-scroll_column_1":"Scroll__ek-scroll_column_1___tLCus","ek-scroll_column_2":"Scroll__ek-scroll_column_2___AhNGB","ek-scroll_column_3":"Scroll__ek-scroll_column_3___PY0Dw","ek-scroll_column_4":"Scroll__ek-scroll_column_4___5ELtp","ek-scroll_column_5":"Scroll__ek-scroll_column_5___vAB6d","ek-scroll_column_6":"Scroll__ek-scroll_column_6___bZgnq","ek-scroll_column_7":"Scroll__ek-scroll_column_7___eMuxb","ek-scroll_column_8":"Scroll__ek-scroll_column_8___ROvji","ek-scroll_column_9":"Scroll__ek-scroll_column_9___WuWqZ","ek-scroll_column_10":"Scroll__ek-scroll_column_10___tjrEA","ek-scroll_gap_xxs":"Scroll__ek-scroll_gap_xxs___9hFaq","ek-scroll_gap_xs":"Scroll__ek-scroll_gap_xs___U3T9w","ek-scroll_gap_s":"Scroll__ek-scroll_gap_s___EJwCI","ek-scroll_gap_m":"Scroll__ek-scroll_gap_m___pTbeM","ek-scroll_gap_l":"Scroll__ek-scroll_gap_l___wPxOa","ek-scroll_gap_xl":"Scroll__ek-scroll_gap_xl___prXTQ","ek-scroll_gap_xxl":"Scroll__ek-scroll_gap_xxl___iM4JL","ek-scroll_gap_3xl":"Scroll__ek-scroll_gap_3xl___h8P-N","ek-scroll_gap_4xl":"Scroll__ek-scroll_gap_4xl___n9c6E","ek-scroll_gap_5xl":"Scroll__ek-scroll_gap_5xl___OhoiE","ek-scroll_bar_none":"Scroll__ek-scroll_bar_none___VVtXF","ek-scroll_bar_auto":"Scroll__ek-scroll_bar_auto___nSXCP","ek-scroll_align_normal":"Scroll__ek-scroll_align_normal___TuK6f","ek-scroll_align_start":"Scroll__ek-scroll_align_start___OqCgm","ek-scroll_align_center":"Scroll__ek-scroll_align_center___6uONj","ek-scroll_align_end":"Scroll__ek-scroll_align_end___p5DjP","ek-scroll_snap-type_none":"Scroll__ek-scroll_snap-type_none___7nMDb","ek-scroll_snap-type_mandatory":"Scroll__ek-scroll_snap-type_mandatory___aB-sY","ek-scroll_snap-type_proximity":"Scroll__ek-scroll_snap-type_proximity___Ual5L","ek-scroll_snap-align_none":"Scroll__ek-scroll_snap-align_none___VUmsD","ek-scroll_snap-align_start":"Scroll__ek-scroll_snap-align_start___3FczU","ek-scroll_snap-align_end":"Scroll__ek-scroll_snap-align_end___JKEDD","ek-scroll_snap-align_center":"Scroll__ek-scroll_snap-align_center___ctT2q"};
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Елемент горизонтального скрол-контейнера. Використовується як `<Scroll.Item>`.
|
|
11
|
+
*
|
|
12
|
+
* Не підтримує медіа-суфікси.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <Scroll.Item>Картка 1</Scroll.Item>
|
|
16
|
+
*/
|
|
9
17
|
var ScrollItem = evokit.createBlock('li', 'scroll__item', ['blackhole'], {
|
|
10
18
|
css: css
|
|
11
19
|
});
|
|
12
20
|
ScrollItem.displayName = 'ScrollItem';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Горизонтальний скрол-контейнер зі snap-точками.
|
|
24
|
+
*
|
|
25
|
+
* Не підтримує медіа-суфікси.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* import { Scroll } from '@prom-ui/core/Scroll';
|
|
29
|
+
*
|
|
30
|
+
* <Scroll scroll-column={3} scroll-gap='m' scroll-bar='none'>
|
|
31
|
+
* <Scroll.Item>Картка 1</Scroll.Item>
|
|
32
|
+
* <Scroll.Item>Картка 2</Scroll.Item>
|
|
33
|
+
* <Scroll.Item>Картка 3</Scroll.Item>
|
|
34
|
+
* </Scroll>
|
|
35
|
+
*/
|
|
13
36
|
var Scroll = evokit.createBlock('ul', 'scroll', ['align', 'bar', 'column', 'gap', 'padding', 'snap-type', 'snap-align'], {
|
|
14
37
|
css: css
|
|
15
38
|
}, {
|
package/Scroll/index.d.ts
CHANGED
|
@@ -1,24 +1,84 @@
|
|
|
1
1
|
import { type EvokitProp } from '@prom-ui/core/evokit';
|
|
2
2
|
export type ScrollProps = {
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Відображення смуги прокрутки.
|
|
5
|
+
* @example 'none'
|
|
6
|
+
* @example 'auto'
|
|
7
|
+
*/
|
|
4
8
|
'scroll-bar'?: EvokitProp<'none' | 'auto'>;
|
|
5
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Вирівнювання комірок по горизонтальній осі.
|
|
11
|
+
* @example 'start'
|
|
12
|
+
* @example 'center'
|
|
13
|
+
*/
|
|
6
14
|
'scroll-align'?: EvokitProp<'start' | 'center' | 'end' | 'normal'>;
|
|
7
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Кількість видимих комірок у рядку.
|
|
17
|
+
* @example 3
|
|
18
|
+
* @example 5
|
|
19
|
+
*/
|
|
8
20
|
'scroll-column'?: EvokitProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10>;
|
|
9
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Відступ між комірками (`gap`).
|
|
23
|
+
* Розміри: xxs | xs | s | m | l | xl | xxl | 3xl | 4xl | 5xl
|
|
24
|
+
* @example 's'
|
|
25
|
+
* @example 'm'
|
|
26
|
+
*/
|
|
10
27
|
'scroll-gap'?: EvokitProp<'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | '3xl' | '4xl' | '5xl'>;
|
|
11
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Внутрішній відступ контейнера зліва та справа (`padding-inline`).
|
|
30
|
+
* Розміри: xxs | xs | s | m | l | xl | xxl | 3xl | 4xl | 5xl
|
|
31
|
+
* @example 's'
|
|
32
|
+
* @example 'm'
|
|
33
|
+
*/
|
|
12
34
|
'scroll-padding'?: EvokitProp<'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | '3xl' | '4xl' | '5xl'>;
|
|
13
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Строгість прив'язки прокрутки (`scroll-snap-type`). Дефолт: `'proximity'`.
|
|
37
|
+
* @example 'mandatory'
|
|
38
|
+
* @example 'proximity'
|
|
39
|
+
* @example 'none'
|
|
40
|
+
*/
|
|
14
41
|
'scroll-snap-type'?: EvokitProp<'none' | 'mandatory' | 'proximity'>;
|
|
15
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Положення прив'язки комірок (`scroll-snap-align`). Дефолт: `'start'`.
|
|
44
|
+
* @example 'start'
|
|
45
|
+
* @example 'center'
|
|
46
|
+
*/
|
|
16
47
|
'scroll-snap-align'?: EvokitProp<'none' | 'start' | 'end' | 'center'>;
|
|
17
48
|
};
|
|
18
49
|
export type ScrollItemProps = {
|
|
50
|
+
/**
|
|
51
|
+
* Додаткові CSS-модифікатори.
|
|
52
|
+
* - `'width-fit-content'` — `width: fit-content` (ширина за мінімально необхідним вмістом)
|
|
53
|
+
* - `'width-max-content'` — `width: max-content` (ширина за максимальним вмістом без переносу)
|
|
54
|
+
* @example 'width-fit-content'
|
|
55
|
+
* @example ['width-fit-content', 'width-max-content']
|
|
56
|
+
*/
|
|
19
57
|
'scroll-item-blackhole'?: EvokitProp<'width-fit-content' | 'width-max-content'>;
|
|
20
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Елемент горизонтального скрол-контейнера. Використовується як `<Scroll.Item>`.
|
|
61
|
+
*
|
|
62
|
+
* Не підтримує медіа-суфікси.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* <Scroll.Item>Картка 1</Scroll.Item>
|
|
66
|
+
*/
|
|
21
67
|
declare const ScrollItem: import("@prom-ui/core/evokit").CreateBlock<"li", "scroll__item", ScrollItemProps>;
|
|
68
|
+
/**
|
|
69
|
+
* Горизонтальний скрол-контейнер зі snap-точками.
|
|
70
|
+
*
|
|
71
|
+
* Не підтримує медіа-суфікси.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* import { Scroll } from '@prom-ui/core/Scroll';
|
|
75
|
+
*
|
|
76
|
+
* <Scroll scroll-column={3} scroll-gap='m' scroll-bar='none'>
|
|
77
|
+
* <Scroll.Item>Картка 1</Scroll.Item>
|
|
78
|
+
* <Scroll.Item>Картка 2</Scroll.Item>
|
|
79
|
+
* <Scroll.Item>Картка 3</Scroll.Item>
|
|
80
|
+
* </Scroll>
|
|
81
|
+
*/
|
|
22
82
|
export declare const Scroll: import("@prom-ui/core/evokit").CreateBlock<"ul", "scroll", ScrollProps> & {
|
|
23
83
|
Item: typeof ScrollItem;
|
|
24
84
|
};
|
package/Scroll/package.json
CHANGED
|
@@ -6,6 +6,8 @@ export type ScrollControlsButtonProps = {
|
|
|
6
6
|
onClickNext?: React.MouseEventHandler<HTMLButtonElement>;
|
|
7
7
|
onClickPrev?: React.MouseEventHandler<HTMLButtonElement>;
|
|
8
8
|
zIndex?: number;
|
|
9
|
+
/** Кількість пікселів прокрутки за один клік. За замовчуванням — `clientWidth`. */
|
|
10
|
+
step?: number;
|
|
9
11
|
scrollRef: React.RefObject<HTMLElement | null>;
|
|
10
12
|
};
|
|
11
13
|
export declare const ScrollControlsButton: React.FC<ScrollControlsButtonProps>;
|
|
@@ -59,6 +59,7 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
59
59
|
onClickNext = _ref.onClickNext,
|
|
60
60
|
onClickPrev = _ref.onClickPrev,
|
|
61
61
|
zIndex = _ref.zIndex,
|
|
62
|
+
step = _ref.step,
|
|
62
63
|
children = _ref.children;
|
|
63
64
|
var _useBodyStoreTTag = BodyProvider.useBodyStoreTTag(),
|
|
64
65
|
t = _useBodyStoreTTag.t;
|
|
@@ -87,7 +88,7 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
87
88
|
var _scrollRef$current2 = scrollRef.current,
|
|
88
89
|
scrollLeft = _scrollRef$current2.scrollLeft,
|
|
89
90
|
clientWidth = _scrollRef$current2.clientWidth;
|
|
90
|
-
var offset = clientWidth * direction;
|
|
91
|
+
var offset = (step !== null && step !== void 0 ? step : clientWidth) * direction;
|
|
91
92
|
requestAnimationFrame(function () {
|
|
92
93
|
var nextScrollLeft = scrollLeft + offset;
|
|
93
94
|
updateControlsVisible(nextScrollLeft);
|
|
@@ -120,9 +121,12 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
120
121
|
requestAnimationFrame(function () {
|
|
121
122
|
updateControlsVisible();
|
|
122
123
|
});
|
|
123
|
-
scrollRef.current.addEventListener('scroll', handleOnScroll
|
|
124
|
+
scrollRef.current.addEventListener('scroll', handleOnScroll, {
|
|
125
|
+
passive: true
|
|
126
|
+
});
|
|
124
127
|
}
|
|
125
128
|
return function () {
|
|
129
|
+
clearTimeout(updateControlsTimer.current || 0);
|
|
126
130
|
if (scrollRef.current && isActive) {
|
|
127
131
|
scrollRef.current.removeEventListener('scroll', handleOnScroll);
|
|
128
132
|
}
|
|
@@ -177,7 +181,17 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
177
181
|
};
|
|
178
182
|
ScrollControlsButton.displayName = 'ScrollControlsButton';
|
|
179
183
|
|
|
180
|
-
var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "zIndex"];
|
|
184
|
+
var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "step", "zIndex"];
|
|
185
|
+
/**
|
|
186
|
+
* Обгортає прокручуваний контент і додає кнопки «вперед» / «назад».
|
|
187
|
+
* Зазвичай використовується разом з компонентом `<Scroll>`.
|
|
188
|
+
* @example
|
|
189
|
+
* import { ScrollControls } from '@prom-ui/core/ScrollControls'
|
|
190
|
+
* import { Scroll } from '@prom-ui/core/Scroll'
|
|
191
|
+
* <ScrollControls>
|
|
192
|
+
* <Scroll>...</Scroll>
|
|
193
|
+
* </ScrollControls>
|
|
194
|
+
*/
|
|
181
195
|
var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
182
196
|
var children = _ref.children,
|
|
183
197
|
className = _ref.className,
|
|
@@ -189,6 +203,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
|
|
|
189
203
|
onClickPrev = _ref.onClickPrev,
|
|
190
204
|
_ref$showOnHover = _ref.showOnHover,
|
|
191
205
|
showOnHover = _ref$showOnHover === void 0 ? false : _ref$showOnHover,
|
|
206
|
+
step = _ref.step,
|
|
192
207
|
zIndex = _ref.zIndex,
|
|
193
208
|
props = _objectWithoutProperties__default.default(_ref, _excluded);
|
|
194
209
|
var scrollRef = useForwardRef.useForwardRef(ref, null);
|
|
@@ -202,6 +217,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
|
|
|
202
217
|
isActive: isActive,
|
|
203
218
|
onClickNext: onClickNext,
|
|
204
219
|
onClickPrev: onClickPrev,
|
|
220
|
+
step: step,
|
|
205
221
|
zIndex: zIndex
|
|
206
222
|
}, children));
|
|
207
223
|
});
|
|
@@ -59,6 +59,7 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
59
59
|
onClickNext = _ref.onClickNext,
|
|
60
60
|
onClickPrev = _ref.onClickPrev,
|
|
61
61
|
zIndex = _ref.zIndex,
|
|
62
|
+
step = _ref.step,
|
|
62
63
|
children = _ref.children;
|
|
63
64
|
var _useBodyStoreTTag = BodyProvider.useBodyStoreTTag(),
|
|
64
65
|
t = _useBodyStoreTTag.t;
|
|
@@ -87,7 +88,7 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
87
88
|
var _scrollRef$current2 = scrollRef.current,
|
|
88
89
|
scrollLeft = _scrollRef$current2.scrollLeft,
|
|
89
90
|
clientWidth = _scrollRef$current2.clientWidth;
|
|
90
|
-
var offset = clientWidth * direction;
|
|
91
|
+
var offset = (step !== null && step !== void 0 ? step : clientWidth) * direction;
|
|
91
92
|
requestAnimationFrame(function () {
|
|
92
93
|
var nextScrollLeft = scrollLeft + offset;
|
|
93
94
|
updateControlsVisible(nextScrollLeft);
|
|
@@ -120,9 +121,12 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
120
121
|
requestAnimationFrame(function () {
|
|
121
122
|
updateControlsVisible();
|
|
122
123
|
});
|
|
123
|
-
scrollRef.current.addEventListener('scroll', handleOnScroll
|
|
124
|
+
scrollRef.current.addEventListener('scroll', handleOnScroll, {
|
|
125
|
+
passive: true
|
|
126
|
+
});
|
|
124
127
|
}
|
|
125
128
|
return function () {
|
|
129
|
+
clearTimeout(updateControlsTimer.current || 0);
|
|
126
130
|
if (scrollRef.current && isActive) {
|
|
127
131
|
scrollRef.current.removeEventListener('scroll', handleOnScroll);
|
|
128
132
|
}
|
|
@@ -177,7 +181,17 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
|
|
|
177
181
|
};
|
|
178
182
|
ScrollControlsButton.displayName = 'ScrollControlsButton';
|
|
179
183
|
|
|
180
|
-
var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "zIndex"];
|
|
184
|
+
var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "step", "zIndex"];
|
|
185
|
+
/**
|
|
186
|
+
* Обгортає прокручуваний контент і додає кнопки «вперед» / «назад».
|
|
187
|
+
* Зазвичай використовується разом з компонентом `<Scroll>`.
|
|
188
|
+
* @example
|
|
189
|
+
* import { ScrollControls } from '@prom-ui/core/ScrollControls'
|
|
190
|
+
* import { Scroll } from '@prom-ui/core/Scroll'
|
|
191
|
+
* <ScrollControls>
|
|
192
|
+
* <Scroll>...</Scroll>
|
|
193
|
+
* </ScrollControls>
|
|
194
|
+
*/
|
|
181
195
|
var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
182
196
|
var children = _ref.children,
|
|
183
197
|
className = _ref.className,
|
|
@@ -189,6 +203,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
|
|
|
189
203
|
onClickPrev = _ref.onClickPrev,
|
|
190
204
|
_ref$showOnHover = _ref.showOnHover,
|
|
191
205
|
showOnHover = _ref$showOnHover === void 0 ? false : _ref$showOnHover,
|
|
206
|
+
step = _ref.step,
|
|
192
207
|
zIndex = _ref.zIndex,
|
|
193
208
|
props = _objectWithoutProperties__default.default(_ref, _excluded);
|
|
194
209
|
var scrollRef = useForwardRef.useForwardRef(ref, null);
|
|
@@ -202,6 +217,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
|
|
|
202
217
|
isActive: isActive,
|
|
203
218
|
onClickNext: onClickNext,
|
|
204
219
|
onClickPrev: onClickPrev,
|
|
220
|
+
step: step,
|
|
205
221
|
zIndex: zIndex
|
|
206
222
|
}, children));
|
|
207
223
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),l=require("clsx"),o=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),s=require("@prom-ui/core/BodyProvider"),d=require("@prom-ui/icons/Left"),f=require("@prom-ui/icons/Right");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function b(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var v,p,h=m(e),x=m(t),y=m(r),q=b(n),N=m(l),g=m(i),O=m(u),C="mOlOq",E="_3uXYG _8-zJW",k="L0VTc _8-zJW",w="_8BNAe",z="_1GCww",I="lzBzL",P="StbVV",j=function(e){var t=e.scrollRef,r=e.hideOnDisabled,l=void 0!==r&&r,o=e.isActive,i=void 0===o||o,u=e.onClickNext,m=e.onClickPrev,b=e.zIndex,h=e.step,y=e.children,C=s.useBodyStoreTTag().t,P=n.useRef(null),j=n.useState({prev:!1,next:!1}),L=O.default(j,2),T=L[0],A=L[1],B=function(e){if(t.current){var r=t.current,n=r.scrollLeft,l=r.scrollWidth,o=r.clientWidth,i=(Number.isInteger(e)?e:n)||0;A({prev:i>1,next:i<l-o-1})}},R=function(e){if(t.current){var r=t.current,n=r.scrollLeft,l=r.clientWidth,o=(null!=h?h:l)*e;requestAnimationFrame(function(){var e=n+o;B(e),t.current&&t.current.scrollTo({left:e,behavior:"smooth"})})}},S=function(){clearTimeout(P.current||0),P.current=setTimeout(B,100)};return n.useEffect(function(){return t.current&&i&&(requestAnimationFrame(function(){B()}),t.current.addEventListener("scroll",S,{passive:!0})),function(){clearTimeout(P.current||0),t.current&&i&&t.current.removeEventListener("scroll",S)}},[i,y]),i&&(T.prev||T.next)?q.default.createElement(q.default.Fragment,null,q.default.createElement("div",{className:N.default(E,x.default({},w,!T.prev)),style:{zIndex:b}},q.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:l?z:void 0,onClick:function(e){"function"==typeof m&&m(e),R(-1)},disabled:!T.prev,title:C(v||(v=g.default(["Назад"])))},q.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":d.SvgLeft}))),q.default.createElement("div",{className:N.default(k,x.default({},w,!T.next)),style:{zIndex:b}},q.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:l?z:void 0,onClick:function(e){"function"==typeof u&&u(e),R(1)},disabled:!T.next,title:C(p||(p=g.default(["Далее"])))},q.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":f.SvgRight})))):null};j.displayName="ScrollControlsButton";var L=["children","className","hideOnDisabled","isActive","onClickNext","onClickPrev","showOnHover","step","zIndex"],T=q.forwardRef(function(e,t){var r=e.children,n=e.className,l=e.hideOnDisabled,i=void 0===l||l,u=e.isActive,c=void 0===u||u,a=e.onClickNext,s=e.onClickPrev,d=e.showOnHover,f=void 0!==d&&d,m=e.step,b=e.zIndex,v=y.default(e,L),p=o.useForwardRef(t,null);return q.createElement("div",h.default({className:N.default(C,n,x.default({},P,f))},v),q.cloneElement(r,{ref:p}),q.createElement(j,{scrollRef:p,hideOnDisabled:i,isActive:c,onClickNext:a,onClickPrev:s,step:m,zIndex:b},r))});T.displayName="ScrollControls",exports.ScrollControls=T,require("./style.production.css");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),o=require("clsx"),l=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),o=require("clsx"),l=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),s=require("@prom-ui/core/BodyProvider"),d=require("@prom-ui/icons/Left"),f=require("@prom-ui/icons/Right");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var v,p,h=b(e),x=b(t),y=b(r),g=m(n),q=b(o),N=b(i),C=b(u),E="_5xFyd",k="PY-Co _1fL6b",O="u2XoF _1fL6b",P="AZbdb",w="zw-fa",I="z7X7-",j="PVtmJ",z=function(e){var t=e.scrollRef,r=e.hideOnDisabled,o=void 0!==r&&r,l=e.isActive,i=void 0===l||l,u=e.onClickNext,b=e.onClickPrev,m=e.zIndex,h=e.step,y=e.children,E=s.useBodyStoreTTag().t,j=n.useRef(null),z=n.useState({prev:!1,next:!1}),L=C.default(z,2),A=L[0],R=L[1],T=function(e){if(t.current){var r=t.current,n=r.scrollLeft,o=r.scrollWidth,l=r.clientWidth,i=(Number.isInteger(e)?e:n)||0;R({prev:i>1,next:i<o-l-1})}},F=function(e){if(t.current){var r=t.current,n=r.scrollLeft,o=r.clientWidth,l=(null!=h?h:o)*e;requestAnimationFrame(function(){var e=n+l;T(e),t.current&&t.current.scrollTo({left:e,behavior:"smooth"})})}},S=function(){clearTimeout(j.current||0),j.current=setTimeout(T,100)};return n.useEffect(function(){return t.current&&i&&(requestAnimationFrame(function(){T()}),t.current.addEventListener("scroll",S,{passive:!0})),function(){clearTimeout(j.current||0),t.current&&i&&t.current.removeEventListener("scroll",S)}},[i,y]),i&&(A.prev||A.next)?g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:q.default(k,x.default({},P,!A.prev)),style:{zIndex:m}},g.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:o?w:void 0,onClick:function(e){"function"==typeof b&&b(e),F(-1)},disabled:!A.prev,title:E(v||(v=N.default(["Назад"])))},g.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":d.SvgLeft}))),g.default.createElement("div",{className:q.default(O,x.default({},P,!A.next)),style:{zIndex:m}},g.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:o?w:void 0,onClick:function(e){"function"==typeof u&&u(e),F(1)},disabled:!A.next,title:E(p||(p=N.default(["Далее"])))},g.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":f.SvgRight})))):null};z.displayName="ScrollControlsButton";var L=["children","className","hideOnDisabled","isActive","onClickNext","onClickPrev","showOnHover","step","zIndex"],A=g.forwardRef(function(e,t){var r=e.children,n=e.className,o=e.hideOnDisabled,i=void 0===o||o,u=e.isActive,c=void 0===u||u,a=e.onClickNext,s=e.onClickPrev,d=e.showOnHover,f=void 0!==d&&d,b=e.step,m=e.zIndex,v=y.default(e,L),p=l.useForwardRef(t,null);return g.createElement("div",h.default({className:q.default(E,n,x.default({},j,f))},v),g.cloneElement(r,{ref:p}),g.createElement(z,{scrollRef:p,hideOnDisabled:i,isActive:c,onClickNext:a,onClickPrev:s,step:b,zIndex:m},r))});A.displayName="ScrollControls",exports.ScrollControls=A,require("./style.production.v2.css");
|