@astral/ui 4.84.0 → 4.85.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.
Files changed (74) hide show
  1. package/components/HintPopover/HintPopover.d.ts +6 -0
  2. package/components/HintPopover/HintPopover.js +23 -0
  3. package/components/HintPopover/constants.d.ts +4 -0
  4. package/components/HintPopover/constants.js +5 -0
  5. package/components/HintPopover/index.d.ts +2 -0
  6. package/components/HintPopover/index.js +1 -0
  7. package/components/HintPopover/public.d.ts +2 -0
  8. package/components/HintPopover/public.js +1 -0
  9. package/components/HintPopover/styles.d.ts +38 -0
  10. package/components/HintPopover/styles.js +69 -0
  11. package/components/HintPopover/types.d.ts +24 -0
  12. package/components/HintPopover/types.js +1 -0
  13. package/components/NewPopover/NewPopover.d.ts +1 -1
  14. package/components/NewPopover/NewPopover.js +5 -4
  15. package/components/NewPopover/constants.d.ts +11 -0
  16. package/components/NewPopover/constants.js +11 -0
  17. package/components/NewPopover/styles.js +35 -30
  18. package/components/NewPopover/types.d.ts +5 -0
  19. package/components/NewPopover/useLogic/useLogic.d.ts +4 -3
  20. package/components/NewPopover/useLogic/useLogic.js +17 -8
  21. package/components/NewPopover/useLogic/utils/getArrowPadding/getArrowPadding.d.ts +14 -0
  22. package/components/NewPopover/useLogic/utils/getArrowPadding/getArrowPadding.js +12 -0
  23. package/components/NewPopover/useLogic/utils/getArrowPadding/index.d.ts +1 -0
  24. package/components/NewPopover/useLogic/utils/getArrowPadding/index.js +1 -0
  25. package/components/NewPopover/useLogic/utils/getPopoverCssVars/getPopoverCssVars.d.ts +2 -0
  26. package/components/NewPopover/useLogic/utils/getPopoverCssVars/getPopoverCssVars.js +6 -0
  27. package/components/NewPopover/useLogic/utils/getPopoverCssVars/index.d.ts +1 -0
  28. package/components/NewPopover/useLogic/utils/getPopoverCssVars/index.js +1 -0
  29. package/components/NewPopover/useLogic/utils/resolveAnchorNode/resolveAnchorNode.d.ts +6 -0
  30. package/components/NewPopover/useLogic/utils/resolveAnchorNode/resolveAnchorNode.js +8 -0
  31. package/components/Onboarding/ui/StepStrategy/steps/HighlightStep/HighlightStep.js +3 -4
  32. package/components/Onboarding/ui/StepStrategy/steps/HighlightStep/styles.d.ts +6 -22
  33. package/components/Onboarding/ui/StepStrategy/steps/HighlightStep/styles.js +2 -45
  34. package/node/components/HintPopover/HintPopover.d.ts +6 -0
  35. package/node/components/HintPopover/HintPopover.js +27 -0
  36. package/node/components/HintPopover/constants.d.ts +4 -0
  37. package/node/components/HintPopover/constants.js +8 -0
  38. package/node/components/HintPopover/index.d.ts +2 -0
  39. package/node/components/HintPopover/index.js +5 -0
  40. package/node/components/HintPopover/public.d.ts +2 -0
  41. package/node/components/HintPopover/public.js +5 -0
  42. package/node/components/HintPopover/styles.d.ts +38 -0
  43. package/node/components/HintPopover/styles.js +72 -0
  44. package/node/components/HintPopover/types.d.ts +24 -0
  45. package/node/components/HintPopover/types.js +2 -0
  46. package/node/components/NewPopover/NewPopover.d.ts +1 -1
  47. package/node/components/NewPopover/NewPopover.js +5 -4
  48. package/node/components/NewPopover/constants.d.ts +11 -0
  49. package/node/components/NewPopover/constants.js +12 -1
  50. package/node/components/NewPopover/styles.js +34 -29
  51. package/node/components/NewPopover/types.d.ts +5 -0
  52. package/node/components/NewPopover/useLogic/useLogic.d.ts +4 -3
  53. package/node/components/NewPopover/useLogic/useLogic.js +18 -9
  54. package/node/components/NewPopover/useLogic/utils/getArrowPadding/getArrowPadding.d.ts +14 -0
  55. package/node/components/NewPopover/useLogic/utils/getArrowPadding/getArrowPadding.js +16 -0
  56. package/node/components/NewPopover/useLogic/utils/getArrowPadding/index.d.ts +1 -0
  57. package/node/components/NewPopover/useLogic/utils/getArrowPadding/index.js +17 -0
  58. package/node/components/NewPopover/useLogic/utils/getPopoverCssVars/getPopoverCssVars.d.ts +2 -0
  59. package/node/components/NewPopover/useLogic/utils/getPopoverCssVars/getPopoverCssVars.js +10 -0
  60. package/node/components/NewPopover/useLogic/utils/getPopoverCssVars/index.d.ts +1 -0
  61. package/node/components/NewPopover/useLogic/utils/getPopoverCssVars/index.js +5 -0
  62. package/node/components/NewPopover/useLogic/utils/resolveAnchorNode/resolveAnchorNode.d.ts +6 -0
  63. package/node/components/NewPopover/{utils → useLogic/utils/resolveAnchorNode}/resolveAnchorNode.js +2 -2
  64. package/node/components/Onboarding/ui/StepStrategy/steps/HighlightStep/HighlightStep.js +1 -2
  65. package/node/components/Onboarding/ui/StepStrategy/steps/HighlightStep/styles.d.ts +6 -22
  66. package/node/components/Onboarding/ui/StepStrategy/steps/HighlightStep/styles.js +3 -46
  67. package/package.json +1 -1
  68. package/components/NewPopover/utils/resolveAnchorNode.d.ts +0 -6
  69. package/components/NewPopover/utils/resolveAnchorNode.js +0 -8
  70. package/node/components/NewPopover/utils/resolveAnchorNode.d.ts +0 -6
  71. /package/components/NewPopover/{utils → useLogic/utils/resolveAnchorNode}/index.d.ts +0 -0
  72. /package/components/NewPopover/{utils → useLogic/utils/resolveAnchorNode}/index.js +0 -0
  73. /package/node/components/NewPopover/{utils → useLogic/utils/resolveAnchorNode}/index.d.ts +0 -0
  74. /package/node/components/NewPopover/{utils → useLogic/utils/resolveAnchorNode}/index.js +0 -0
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPopoverCssVars = void 0;
4
+ const getPopoverCssVars = () => ({
5
+ // Единая тень на весь силуэт (поповер + уголок стрелки).
6
+ // Эквивалент elevation[200], переведённого в drop-shadow(): box-shadow
7
+ // не умеет обводить единый силуэт поповера со стрелкой.
8
+ '--drop-shadow': 'drop-shadow(0px 0px 1px #072D574F) drop-shadow(0px 3px 5px #072D5733)',
9
+ });
10
+ exports.getPopoverCssVars = getPopoverCssVars;
@@ -0,0 +1 @@
1
+ export { getPopoverCssVars } from './getPopoverCssVars';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPopoverCssVars = void 0;
4
+ var getPopoverCssVars_1 = require("./getPopoverCssVars");
5
+ Object.defineProperty(exports, "getPopoverCssVars", { enumerable: true, get: function () { return getPopoverCssVars_1.getPopoverCssVars; } });
@@ -0,0 +1,6 @@
1
+ import { type NewPopoverAnchorEl } from '../../../types';
2
+ /**
3
+ * Приводит anchorEl к DOM-ноде (virtual-anchor → null), чтобы исключить якорь из
4
+ * клика-вне — иначе клик по нему закрывал бы поповер.
5
+ */
6
+ export declare const resolveAnchorNode: (anchorEl: NewPopoverAnchorEl | undefined) => Node | null;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveAnchorNode = void 0;
4
4
  /**
5
- * Резолвит anchorEl в DOM-ноду, если это возможно.
6
- * Для virtual-элементов вернёт null.
5
+ * Приводит anchorEl к DOM-ноде (virtual-anchor null), чтобы исключить якорь из
6
+ * клика-вне иначе клик по нему закрывал бы поповер.
7
7
  */
8
8
  const resolveAnchorNode = (anchorEl) => {
9
9
  const value = typeof anchorEl === 'function' ? anchorEl() : anchorEl;
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HighlightStep = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const CrossOutlineMd_1 = require("../../../../../../icons/CrossOutlineMd");
6
5
  const Typography_1 = require("../../../../../Typography");
7
6
  const StepFooter_1 = require("../StepFooter");
8
7
  const styles_1 = require("./styles");
@@ -18,6 +17,6 @@ const HighlightStep = ({ activeStep, isClosing, geometry, }) => {
18
17
  if (!anchorEl) {
19
18
  return null;
20
19
  }
21
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: shouldShowPopover && ((0, jsx_runtime_1.jsx)(styles_1.StepPopover, { isOpen: isOpen, disableAutoFocus: true, hasArrow: true, anchorEl: anchorEl, placement: step.position, children: (0, jsx_runtime_1.jsxs)(styles_1.PopoverBody, { ref: setPopoverNode, tabIndex: -1, children: [(0, jsx_runtime_1.jsx)(styles_1.CloseButton, { variant: "text", onClick: handleClose, "aria-label": "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", children: (0, jsx_runtime_1.jsx)(CrossOutlineMd_1.CrossOutlineMd, {}) }), (0, jsx_runtime_1.jsxs)(styles_1.Content, { children: [step.title && ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { component: "div", variant: "h5", children: step.title })), step.content && ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { component: "div", variant: "body1", color: "grey", colorIntensity: "900", children: step.content }))] }), (0, jsx_runtime_1.jsx)(StepFooter_1.StepFooter, { activeStep: activeStep })] }) })) }));
20
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: shouldShowPopover && ((0, jsx_runtime_1.jsx)(styles_1.StepPopover, { variant: "light", isOpen: isOpen, disableAutoFocus: true, anchorEl: anchorEl, placement: step.position, onClose: handleClose, contentRef: setPopoverNode, title: step.title, action: (0, jsx_runtime_1.jsx)(StepFooter_1.StepFooter, { activeStep: activeStep }), children: step.content && ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { component: "div", variant: "body1", color: "grey", colorIntensity: "900", children: step.content })) })) }));
22
21
  };
23
22
  exports.HighlightStep = HighlightStep;
@@ -1,25 +1,9 @@
1
1
  /// <reference types="react" />
2
- /**
3
- * Popover шага, z-index над overlay, быстрое закрытие.
4
- */
5
- export declare const StepPopover: import("@emotion/styled/dist/declarations/src/types").StyledComponent<import("../../../../../NewPopover").NewPopoverProps & {
2
+ export declare const StepPopover: import("@emotion/styled/dist/declarations/src/types").StyledComponent<Omit<import("../../../../../NewPopover").NewPopoverProps, "title" | "hasArrow" | "disableMobileDrawer"> & {
3
+ variant?: import("../../../../../HintPopover").HintPopoverVariant | undefined;
4
+ title?: import("react").ReactNode;
5
+ action?: import("react").ReactNode;
6
+ contentRef?: import("react").Ref<HTMLDivElement> | undefined;
7
+ } & {
6
8
  theme?: import("@emotion/react").Theme | undefined;
7
9
  }, {}, {}>;
8
- export declare const PopoverBody: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
9
- theme?: import("@emotion/react").Theme | undefined;
10
- as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
11
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
12
- export declare const CloseButton: import("@emotion/styled/dist/declarations/src/types").StyledComponent<Omit<import("../../../../..").WithoutEmotionSpecific<import("@mui/material").ButtonProps>, "color" | "component" | "size" | "variant" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple"> & {
13
- variant?: "light" | "link" | "text" | "contained" | "outlined" | undefined;
14
- loading?: boolean | undefined;
15
- color?: "primary" | "success" | "warning" | "error" | "grey" | undefined;
16
- component?: import("react").ElementType | undefined;
17
- selected?: boolean | undefined;
18
- size?: "large" | "medium" | undefined;
19
- } & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, ""> & import("react").RefAttributes<HTMLButtonElement> & {
20
- theme?: import("@emotion/react").Theme | undefined;
21
- }, {}, {}>;
22
- export declare const Content: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
23
- theme?: import("@emotion/react").Theme | undefined;
24
- as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
25
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,59 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Content = exports.CloseButton = exports.PopoverBody = exports.StepPopover = void 0;
4
- const IconButton_1 = require("../../../../../IconButton");
5
- const NewPopover_1 = require("../../../../../NewPopover");
3
+ exports.StepPopover = void 0;
4
+ const HintPopover_1 = require("../../../../../HintPopover");
6
5
  const constants_1 = require("../../../../../NewPopover/constants");
7
6
  const styled_1 = require("../../../../../styled");
8
7
  const constants_2 = require("../../../../constants");
9
- /**
10
- * Popover шага, z-index над overlay, быстрое закрытие.
11
- */
12
- exports.StepPopover = (0, styled_1.styled)(NewPopover_1.NewPopover) `
8
+ exports.StepPopover = (0, styled_1.styled)(HintPopover_1.HintPopover) `
13
9
  && {
14
10
  z-index: ${({ theme }) => theme.zIndex.tooltip + constants_2.ONBOARDING_Z_INDEX_OFFSET.popover};
15
11
  }
16
-
17
- .${constants_1.popoverClassnames.innerContainer} {
18
- border-radius: calc(${({ theme }) => theme.shape.medium} * 2);
19
- }
20
12
 
21
13
  .${constants_1.popoverClassnames.animatedWrapper}:not(.${constants_1.popoverClassnames.animatedWrapperOpen}) {
22
14
  animation-duration: ${({ theme }) => theme.transitions.duration.shortest}ms;
23
15
  }
24
16
  `;
25
- exports.PopoverBody = styled_1.styled.div `
26
- position: relative;
27
-
28
- width: 400px;
29
- padding: ${({ theme }) => theme.spacing(6)};
30
-
31
- border-radius: calc(${({ theme }) => theme.shape.medium} * 2);
32
-
33
- /* Фокус-трап ставит фокус на контейнер, браузерную рамку убираем. */
34
- &:focus {
35
- outline: none;
36
- }
37
- `;
38
- exports.CloseButton = (0, styled_1.styled)(IconButton_1.IconButton) `
39
- position: absolute;
40
- top: ${({ theme }) => theme.spacing(6)};
41
- right: ${({ theme }) => theme.spacing(6)};
42
- `;
43
- exports.Content = styled_1.styled.div `
44
- display: flex;
45
- flex-direction: column;
46
- gap: ${({ theme }) => theme.spacing(4)};
47
-
48
- margin-bottom: ${({ theme }) => theme.spacing(6)};
49
-
50
- &:last-child {
51
- margin-bottom: 0;
52
- }
53
-
54
- /* Резерв справа под крестик — только у верхнего элемента (заголовок, а если
55
- его нет — текст) */
56
- & > *:first-of-type {
57
- padding-right: ${({ theme }) => theme.spacing(10)};
58
- }
59
- `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/ui",
3
- "version": "4.84.0",
3
+ "version": "4.85.0",
4
4
  "browser": "./index.js",
5
5
  "main": "./node/index.js",
6
6
  "dependencies": {
@@ -1,6 +0,0 @@
1
- import { type NewPopoverAnchorEl } from '../types';
2
- /**
3
- * Резолвит anchorEl в DOM-ноду, если это возможно.
4
- * Для virtual-элементов вернёт null.
5
- */
6
- export declare const resolveAnchorNode: (anchorEl: NewPopoverAnchorEl | undefined) => Node | null;
@@ -1,8 +0,0 @@
1
- /**
2
- * Резолвит anchorEl в DOM-ноду, если это возможно.
3
- * Для virtual-элементов вернёт null.
4
- */
5
- export const resolveAnchorNode = (anchorEl) => {
6
- const value = typeof anchorEl === 'function' ? anchorEl() : anchorEl;
7
- return value instanceof Node ? value : null;
8
- };
@@ -1,6 +0,0 @@
1
- import { type NewPopoverAnchorEl } from '../types';
2
- /**
3
- * Резолвит anchorEl в DOM-ноду, если это возможно.
4
- * Для virtual-элементов вернёт null.
5
- */
6
- export declare const resolveAnchorNode: (anchorEl: NewPopoverAnchorEl | undefined) => Node | null;