@astral/ui 4.50.0 → 4.52.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 (99) hide show
  1. package/components/DashboardContext/DashboardContext.d.ts +2 -0
  2. package/components/DashboardContext/DashboardContext.js +2 -0
  3. package/components/DashboardContext/DashboardContextProvider/DashboardContextProvider.d.ts +2 -2
  4. package/components/DashboardContext/DashboardContextProvider/DashboardContextProvider.js +4 -1
  5. package/components/DashboardLayout/DashboardLayout.d.ts +1 -1
  6. package/components/DashboardLayout/DashboardLayout.js +2 -2
  7. package/components/DashboardLayout/Header/Header.js +28 -3
  8. package/components/DashboardLayout/Header/constants.d.ts +5 -1
  9. package/components/DashboardLayout/Header/constants.js +5 -1
  10. package/components/DashboardLayout/Header/styles.d.ts +4 -3
  11. package/components/DashboardLayout/Header/styles.js +66 -24
  12. package/components/DashboardLayout/Header/useLogic/useLogic.d.ts +4 -1
  13. package/components/DashboardLayout/Header/useLogic/useLogic.js +16 -11
  14. package/components/DashboardLayout/types.d.ts +5 -0
  15. package/components/DashboardSidebar/DashboardSidebar.js +17 -2
  16. package/components/DashboardSidebar/constants.d.ts +1 -0
  17. package/components/DashboardSidebar/constants.js +1 -0
  18. package/components/DashboardSidebar/styles.js +1 -1
  19. package/components/DashboardSidebar/useLogic/useLogic.d.ts +2 -1
  20. package/components/DashboardSidebar/useLogic/useLogic.js +5 -6
  21. package/components/MenuOrganization/OrganizationButton/OrganizationButton.js +1 -1
  22. package/components/MenuOrganization/constants.d.ts +1 -0
  23. package/components/MenuOrganization/constants.js +1 -0
  24. package/components/NewStepper/NewStepper.js +1 -1
  25. package/components/NewStepper/Step/Label/Label.d.ts +1 -2
  26. package/components/NewStepper/Step/Label/Label.js +2 -2
  27. package/components/NewStepper/Step/Label/styles.js +5 -0
  28. package/components/NewStepper/Step/Step.js +2 -2
  29. package/components/NewStepper/Step/styles.js +9 -0
  30. package/components/NewStepper/StepperContext/StepperContext.d.ts +0 -1
  31. package/components/NewStepper/StepperContext/StepperContext.js +0 -1
  32. package/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.d.ts +1 -1
  33. package/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.js +1 -3
  34. package/components/NewStepper/constants.d.ts +1 -0
  35. package/components/NewStepper/constants.js +1 -0
  36. package/components/NewStepper/styles.js +11 -1
  37. package/components/Profile/Profile.js +1 -1
  38. package/components/Profile/constants.d.ts +3 -0
  39. package/components/Profile/constants.js +3 -0
  40. package/hook-form/FormWizard/FormWizard.js +4 -3
  41. package/hook-form/FormWizard/styles.d.ts +1 -4
  42. package/hook-form/FormWizard/styles.js +4 -6
  43. package/hook-form/FormWizard/useLogic/useLogic.d.ts +5 -6
  44. package/hook-form/FormWizard/useLogic/useLogic.js +4 -5
  45. package/hook-form/useFormWizard/useFormWizard.js +4 -2
  46. package/node/components/DashboardContext/DashboardContext.d.ts +2 -0
  47. package/node/components/DashboardContext/DashboardContext.js +2 -0
  48. package/node/components/DashboardContext/DashboardContextProvider/DashboardContextProvider.d.ts +2 -2
  49. package/node/components/DashboardContext/DashboardContextProvider/DashboardContextProvider.js +4 -1
  50. package/node/components/DashboardLayout/DashboardLayout.d.ts +1 -1
  51. package/node/components/DashboardLayout/DashboardLayout.js +2 -2
  52. package/node/components/DashboardLayout/Header/Header.js +27 -2
  53. package/node/components/DashboardLayout/Header/constants.d.ts +5 -1
  54. package/node/components/DashboardLayout/Header/constants.js +5 -1
  55. package/node/components/DashboardLayout/Header/styles.d.ts +4 -3
  56. package/node/components/DashboardLayout/Header/styles.js +74 -32
  57. package/node/components/DashboardLayout/Header/useLogic/useLogic.d.ts +4 -1
  58. package/node/components/DashboardLayout/Header/useLogic/useLogic.js +15 -10
  59. package/node/components/DashboardLayout/types.d.ts +5 -0
  60. package/node/components/DashboardSidebar/DashboardSidebar.js +17 -2
  61. package/node/components/DashboardSidebar/constants.d.ts +1 -0
  62. package/node/components/DashboardSidebar/constants.js +1 -0
  63. package/node/components/DashboardSidebar/styles.js +1 -1
  64. package/node/components/DashboardSidebar/useLogic/useLogic.d.ts +2 -1
  65. package/node/components/DashboardSidebar/useLogic/useLogic.js +4 -5
  66. package/node/components/MenuOrganization/OrganizationButton/OrganizationButton.js +1 -1
  67. package/node/components/MenuOrganization/constants.d.ts +1 -0
  68. package/node/components/MenuOrganization/constants.js +1 -0
  69. package/node/components/NewStepper/NewStepper.js +1 -1
  70. package/node/components/NewStepper/Step/Label/Label.d.ts +1 -2
  71. package/node/components/NewStepper/Step/Label/Label.js +2 -2
  72. package/node/components/NewStepper/Step/Label/styles.js +5 -0
  73. package/node/components/NewStepper/Step/Step.js +2 -2
  74. package/node/components/NewStepper/Step/styles.js +56 -47
  75. package/node/components/NewStepper/StepperContext/StepperContext.d.ts +0 -1
  76. package/node/components/NewStepper/StepperContext/StepperContext.js +0 -1
  77. package/node/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.d.ts +1 -1
  78. package/node/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.js +1 -3
  79. package/node/components/NewStepper/constants.d.ts +1 -0
  80. package/node/components/NewStepper/constants.js +2 -1
  81. package/node/components/NewStepper/styles.js +10 -0
  82. package/node/components/Profile/Profile.js +1 -1
  83. package/node/components/Profile/constants.d.ts +3 -0
  84. package/node/components/Profile/constants.js +3 -0
  85. package/node/hook-form/FormWizard/FormWizard.js +3 -2
  86. package/node/hook-form/FormWizard/styles.d.ts +1 -4
  87. package/node/hook-form/FormWizard/styles.js +5 -7
  88. package/node/hook-form/FormWizard/useLogic/useLogic.d.ts +5 -6
  89. package/node/hook-form/FormWizard/useLogic/useLogic.js +4 -5
  90. package/node/hook-form/useFormWizard/useFormWizard.js +4 -2
  91. package/package.json +1 -1
  92. package/components/NewStepper/Step/Label/useLogic/index.d.ts +0 -1
  93. package/components/NewStepper/Step/Label/useLogic/index.js +0 -1
  94. package/components/NewStepper/Step/Label/useLogic/useLogic.d.ts +0 -7
  95. package/components/NewStepper/Step/Label/useLogic/useLogic.js +0 -7
  96. package/node/components/NewStepper/Step/Label/useLogic/index.d.ts +0 -1
  97. package/node/components/NewStepper/Step/Label/useLogic/index.js +0 -17
  98. package/node/components/NewStepper/Step/Label/useLogic/useLogic.d.ts +0 -7
  99. package/node/components/NewStepper/Step/Label/useLogic/useLogic.js +0 -11
@@ -29,7 +29,7 @@ const Profile = (props) => {
29
29
  if (isLoading) {
30
30
  return (0, jsx_runtime_1.jsx)(ProfileSkeleton_1.ProfileSkeleton, {});
31
31
  }
32
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ClickAwayListener_1.default, { onClickAway: handleCloseMenu, children: (0, jsx_runtime_1.jsxs)(styles_1.ProfileRoot, { ref: anchorRef, variant: "text", onClick: handleOpenMenu, children: [(0, jsx_runtime_1.jsx)(styles_1.StyledAvatar, { ...avatar }), (0, jsx_runtime_1.jsxs)(styles_1.User, { children: [(0, jsx_runtime_1.jsxs)(styles_1.Credentials, { className: hidePersonalDataClassname, children: [(0, jsx_runtime_1.jsx)(Typography_1.Typography, { variant: "body1", className: constants_1.profileClassnames.credentials, children: displayName }), (0, jsx_runtime_1.jsx)(Typography_1.Typography, { variant: "caption", color: "textSecondary", className: constants_1.profileClassnames.credentials, children: annotation })] }), (0, jsx_runtime_1.jsx)(styles_1.StyledChevron, { isActive: open })] })] }) }), Menu ? ((0, jsx_runtime_1.jsx)(Menu, { open: open, anchorEl: anchorRef.current, onClose: handleCloseMenu, anchorOrigin: {
32
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ClickAwayListener_1.default, { onClickAway: handleCloseMenu, children: (0, jsx_runtime_1.jsxs)(styles_1.ProfileRoot, { ref: anchorRef, variant: "text", onClick: handleOpenMenu, className: constants_1.profileClassnames.button, children: [(0, jsx_runtime_1.jsx)(styles_1.StyledAvatar, { ...avatar, className: constants_1.profileClassnames.avatar }), (0, jsx_runtime_1.jsxs)(styles_1.User, { className: constants_1.profileClassnames.user, children: [(0, jsx_runtime_1.jsxs)(styles_1.Credentials, { className: hidePersonalDataClassname, children: [(0, jsx_runtime_1.jsx)(Typography_1.Typography, { variant: "body1", className: constants_1.profileClassnames.credentials, children: displayName }), (0, jsx_runtime_1.jsx)(Typography_1.Typography, { variant: "caption", color: "textSecondary", className: constants_1.profileClassnames.credentials, children: annotation })] }), (0, jsx_runtime_1.jsx)(styles_1.StyledChevron, { isActive: open })] })] }) }), Menu ? ((0, jsx_runtime_1.jsx)(Menu, { open: open, anchorEl: anchorRef.current, onClose: handleCloseMenu, anchorOrigin: {
33
33
  vertical: 'bottom',
34
34
  horizontal: 'right',
35
35
  }, transformOrigin: {
@@ -1,3 +1,6 @@
1
1
  export declare const profileClassnames: {
2
2
  credentials: string;
3
+ button: string;
4
+ avatar: string;
5
+ user: string;
3
6
  };
@@ -4,4 +4,7 @@ exports.profileClassnames = void 0;
4
4
  const createUIKitClassname_1 = require("../utils/createUIKitClassname");
5
5
  exports.profileClassnames = {
6
6
  credentials: (0, createUIKitClassname_1.createUIKitClassname)('profile__credentials'),
7
+ button: (0, createUIKitClassname_1.createUIKitClassname)('profile__button'),
8
+ avatar: (0, createUIKitClassname_1.createUIKitClassname)('profile__avatar'),
9
+ user: (0, createUIKitClassname_1.createUIKitClassname)('profile__user'),
7
10
  };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FormWizard = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const ContentState_1 = require("../../components/ContentState");
6
+ const NewStepper_1 = require("../../components/NewStepper");
6
7
  const Form_1 = require("../Form");
7
8
  const Footer_1 = require("./Footer");
8
9
  const styles_1 = require("./styles");
@@ -11,7 +12,7 @@ const useLogic_1 = require("./useLogic");
11
12
  * FormWizard предназначен для построения форм со степпером.
12
13
  */
13
14
  const FormWizard = (props) => {
14
- const { Component, footerProps, stepWizardProps } = (0, useLogic_1.useLogic)(props);
15
+ const { Component, footerProps, activeStep, steps } = (0, useLogic_1.useLogic)(props);
15
16
  const { className, isFirstStep, isLastStep, isDisabled, isLoading, isError, form, customFooter, errorMsg, onRetry, onClickStep, onPrevStep, onSubmit, onSubmitError, beforeContent, } = props;
16
17
  const renderFooter = () => {
17
18
  if (customFooter) {
@@ -25,7 +26,7 @@ const FormWizard = (props) => {
25
26
  }
26
27
  return ((0, jsx_runtime_1.jsx)(Footer_1.Footer, { isDisabled: isDisabled, isFirstStep: isFirstStep, isLastStep: isLastStep, onPrevStep: onPrevStep, ...footerProps }));
27
28
  };
28
- return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: className, children: [beforeContent && ((0, jsx_runtime_1.jsx)(styles_1.BeforeContentWrapper, { children: beforeContent })), (0, jsx_runtime_1.jsx)(styles_1.StyledStepperWizard, { connector: "arrow", onClickPrevStep: onClickStep, ...stepWizardProps }), (0, jsx_runtime_1.jsx)(ContentState_1.ContentState, { isLoading: isLoading, isError: isError,
29
+ return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: className, children: [beforeContent && ((0, jsx_runtime_1.jsx)(styles_1.BeforeContentWrapper, { children: beforeContent })), (0, jsx_runtime_1.jsx)(styles_1.StyledNewStepper, { connector: "arrow", onClickPrevStep: onClickStep, activeStep: activeStep, children: steps.map((step) => ((0, jsx_runtime_1.jsx)(NewStepper_1.Step, { ...step }, step.stepId))) }), (0, jsx_runtime_1.jsx)(ContentState_1.ContentState, { isLoading: isLoading, isError: isError,
29
30
  // biome-ignore lint/suspicious/noTsIgnore: onRetry не требуется, если форма не инициализируется данными, получаемыми с backend
30
31
  // @ts-ignore
31
32
  errorState: { errorList: [errorMsg || ''], onRetry }, children: (0, jsx_runtime_1.jsxs)(Form_1.Form, { form: form, isDisabled: isDisabled, onSubmit: form.handleSubmit(onSubmit, onSubmitError), children: [(0, jsx_runtime_1.jsx)(styles_1.FormContent, { children: (0, jsx_runtime_1.jsx)(Component, {}) }), renderFooter()] }) })] }));
@@ -7,10 +7,7 @@ export declare const BeforeContentWrapper: import("@emotion/styled/dist/declarat
7
7
  theme?: import("@emotion/react").Theme | undefined;
8
8
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
9
9
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
- export declare const StyledStepperWizard: import("@emotion/styled/dist/declarations/src/types").StyledComponent<Omit<import("../..").StepperProps, "children"> & {
11
- steps: import("../../components/StepperWizard").StepWizard[];
12
- onClickPrevStep?: ((index: number) => void) | undefined;
13
- } & {
10
+ export declare const StyledNewStepper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<import("../../components/NewStepper").StepperProps & {
14
11
  theme?: import("@emotion/react").Theme | undefined;
15
12
  }, {}, {}>;
16
13
  export declare const FormContent: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormContent = exports.StyledStepperWizard = exports.BeforeContentWrapper = exports.Wrapper = void 0;
4
- const StepperWizard_1 = require("../../components/StepperWizard");
3
+ exports.FormContent = exports.StyledNewStepper = exports.BeforeContentWrapper = exports.Wrapper = void 0;
4
+ const NewStepper_1 = require("../../components/NewStepper");
5
5
  const styled_1 = require("../../components/styled");
6
6
  exports.Wrapper = styled_1.styled.section `
7
7
  display: flex;
@@ -16,14 +16,12 @@ exports.BeforeContentWrapper = styled_1.styled.div `
16
16
  padding: ${({ theme }) => theme.spacing(0, 4)};
17
17
  }
18
18
  `;
19
- exports.StyledStepperWizard = (0, styled_1.styled)(StepperWizard_1.StepperWizard) `
20
- margin-bottom: ${({ theme }) => theme.spacing(4)};
19
+ exports.StyledNewStepper = (0, styled_1.styled)(NewStepper_1.NewStepper) `
20
+ margin-bottom: ${({ theme }) => theme.spacing(5)};
21
21
  padding: ${({ theme }) => theme.spacing(0, 6)};
22
22
 
23
23
  ${({ theme }) => theme.breakpoints.down('sm')} {
24
- overflow-x: auto;
25
-
26
- margin-bottom: ${({ theme }) => theme.spacing(6)};
24
+ margin-bottom: ${({ theme }) => theme.spacing(4)};
27
25
  padding: ${({ theme }) => theme.spacing(0, 4)};
28
26
  }
29
27
  `;
@@ -3,12 +3,11 @@ import { type FormWizardProps } from '../FormWizard';
3
3
  type UseLogicParams<TFormValues extends Record<string, unknown>> = FormWizardProps<TFormValues>;
4
4
  export declare const useLogic: <TFormValues extends Record<string, unknown>>({ currentStepId, steps, submitButtonText, isLastStep, }: UseLogicParams<TFormValues>) => {
5
5
  Component: import("react").FunctionComponent<{}>;
6
- stepWizardProps: {
7
- activeStep: number;
8
- steps: {
9
- label: string;
10
- }[];
11
- };
6
+ steps: {
7
+ label: string;
8
+ stepId: number;
9
+ }[];
10
+ activeStep: number;
12
11
  footerProps: {
13
12
  prevButtonText: string;
14
13
  submitButtonText: string;
@@ -8,17 +8,16 @@ const useLogic = ({ currentStepId, steps, submitButtonText, isLastStep, }) => {
8
8
  ? steps?.findIndex(({ id }) => Object.is(id, currentStepId))
9
9
  : 0, [currentStepId, steps]);
10
10
  const currentStep = steps[indexStep];
11
- const stepsByLabel = steps.map(({ label }) => ({
11
+ const stepsByLabel = steps.map(({ label }, index) => ({
12
12
  label,
13
+ stepId: index,
13
14
  }));
14
15
  const prevButtonText = currentStep.prevButtonText || constants_1.DEFAULT_PREV_BUTTON_TEXT;
15
16
  const nextButtonText = currentStep.nextButtonText || constants_1.DEFAULT_NEXT_BUTTON_TEXT;
16
17
  return {
17
18
  Component: currentStep.component,
18
- stepWizardProps: {
19
- activeStep: indexStep,
20
- steps: stepsByLabel,
21
- },
19
+ steps: stepsByLabel,
20
+ activeStep: indexStep,
22
21
  footerProps: {
23
22
  prevButtonText,
24
23
  submitButtonText: isLastStep ? submitButtonText : nextButtonText,
@@ -68,8 +68,10 @@ const useFormWizard = ({ initialStepId, defaultValues, isDisabled, steps, autoSa
68
68
  return;
69
69
  };
70
70
  const handleClickStep = (index) => {
71
- const stepId = steps[index].id;
72
- setCurrentStepId(stepId);
71
+ if (index < 0 || index >= visibleSteps.length) {
72
+ return;
73
+ }
74
+ setCurrentStepId(visibleSteps[index].id);
73
75
  };
74
76
  const handlePrevStep = () => {
75
77
  if (isFirstStep) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/ui",
3
- "version": "4.50.0",
3
+ "version": "4.52.0",
4
4
  "browser": "./index.js",
5
5
  "main": "./node/index.js",
6
6
  "dependencies": {
@@ -1 +0,0 @@
1
- export * from './useLogic';
@@ -1 +0,0 @@
1
- export * from './useLogic';
@@ -1,7 +0,0 @@
1
- type UseLogicParams = {
2
- stepId: number;
3
- };
4
- export declare const useLogic: ({ stepId }: UseLogicParams) => {
5
- isStepActive: boolean;
6
- };
7
- export {};
@@ -1,7 +0,0 @@
1
- import { useContext } from 'react';
2
- import { StepperContext } from '../../../StepperContext';
3
- export const useLogic = ({ stepId }) => {
4
- const { activeStep } = useContext(StepperContext);
5
- const isStepActive = activeStep === stepId;
6
- return { isStepActive };
7
- };
@@ -1 +0,0 @@
1
- export * from './useLogic';
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./useLogic"), exports);
@@ -1,7 +0,0 @@
1
- type UseLogicParams = {
2
- stepId: number;
3
- };
4
- export declare const useLogic: ({ stepId }: UseLogicParams) => {
5
- isStepActive: boolean;
6
- };
7
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useLogic = void 0;
4
- const react_1 = require("react");
5
- const StepperContext_1 = require("../../../StepperContext");
6
- const useLogic = ({ stepId }) => {
7
- const { activeStep } = (0, react_1.useContext)(StepperContext_1.StepperContext);
8
- const isStepActive = activeStep === stepId;
9
- return { isStepActive };
10
- };
11
- exports.useLogic = useLogic;