@mailstep/design-system 0.8.34-beta.0 → 0.8.35

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 (153) hide show
  1. package/package.json +2 -3
  2. package/ui/Blocks/CommonGrid/components/ControlButtons/styles.d.ts +4 -4
  3. package/ui/Blocks/CommonGrid/components/ExtraControlButtons/ExtraControlButtons.d.ts +1 -1
  4. package/ui/Blocks/CommonGrid/components/FloatingButton/FloatingButton.d.ts +2 -2
  5. package/ui/Blocks/CommonGrid/components/GridAggregation/styles.d.ts +3 -3
  6. package/ui/Blocks/CommonGrid/components/IconList/IconList.d.ts +4 -4
  7. package/ui/Blocks/CommonGrid/components/ManageColumnForm/styles.d.ts +1 -1
  8. package/ui/Blocks/CommonGrid/components/MobileOverlayWrapper.d.ts +1 -1
  9. package/ui/Blocks/CommonGrid/components/PresetsModalBody/components/TagRemove.d.ts +1 -1
  10. package/ui/Blocks/CommonGrid/components/Table.d.ts +8 -8
  11. package/ui/Blocks/CommonGrid/components/gridCells/LinkInCell.d.ts +1 -1
  12. package/ui/Blocks/CommonGrid/components/gridCells/RemoveItem.d.ts +2 -2
  13. package/ui/Blocks/CommonGrid/styles.d.ts +5 -5
  14. package/ui/Blocks/CornerDialog/styles.d.ts +6 -6
  15. package/ui/Blocks/Header/components/HamburgerToggle/index.d.ts +9 -0
  16. package/ui/Blocks/Header/components/HamburgerToggle/index.js +64 -0
  17. package/ui/Blocks/Header/components/HamburgerToggle/styles.d.ts +1 -0
  18. package/ui/Blocks/Header/components/HamburgerToggle/styles.js +20 -0
  19. package/ui/Blocks/Header/components/MenuItems/components/MenuItem/index.d.ts +2 -0
  20. package/ui/Blocks/Header/components/MenuItems/components/MenuItem/index.js +28 -11
  21. package/ui/Blocks/Header/components/MenuItems/components/MenuItem/utils/isItemActive.d.ts +10 -0
  22. package/ui/Blocks/Header/components/MenuItems/components/MenuItem/utils/isItemActive.js +33 -0
  23. package/ui/Blocks/Header/components/MenuItems/index.d.ts +2 -0
  24. package/ui/Blocks/Header/components/MenuItems/index.js +5 -2
  25. package/ui/Blocks/Header/components/MenuItems/styles.d.ts +12 -2
  26. package/ui/Blocks/Header/components/MenuItems/styles.js +109 -7
  27. package/ui/Blocks/Header/components/UserMenu/components/UserInfo/styles.d.ts +2 -2
  28. package/ui/Blocks/Header/components/UserMenu/index.d.ts +7 -1
  29. package/ui/Blocks/Header/components/UserMenu/index.js +38 -28
  30. package/ui/Blocks/Header/components/UserMenu/styles.d.ts +2 -3
  31. package/ui/Blocks/Header/components/UserMenu/styles.js +1 -7
  32. package/ui/Blocks/Header/index.d.ts +16 -2
  33. package/ui/Blocks/Header/index.js +94 -32
  34. package/ui/Blocks/Header/stories/Header.stories.d.ts +19 -0
  35. package/ui/Blocks/Header/styles.d.ts +27 -4
  36. package/ui/Blocks/Header/styles.js +59 -4
  37. package/ui/Blocks/Header/types.d.ts +1 -0
  38. package/ui/Blocks/ImageList/components/AddPhoto/styles.d.ts +2 -2
  39. package/ui/Blocks/ImageList/components/CloseButton/styles.d.ts +1 -1
  40. package/ui/Blocks/ImageList/components/ImageElement/styles.d.ts +3 -3
  41. package/ui/Blocks/ImageList/components/ImageTag/styles.d.ts +1 -1
  42. package/ui/Blocks/ImageList/styles.d.ts +2 -2
  43. package/ui/Blocks/LanguageSwitch/styles.d.ts +3 -3
  44. package/ui/Blocks/LightBox/styles.d.ts +4 -4
  45. package/ui/Blocks/LoginPage/components/SocialLinks.d.ts +4 -4
  46. package/ui/Blocks/LoginPage/styles.d.ts +7 -7
  47. package/ui/Blocks/Modal/hooks/useClickOutside.d.ts +1 -1
  48. package/ui/Blocks/Modal/hooks/useClickOutside.js +4 -2
  49. package/ui/Blocks/Modal/styles.d.ts +8 -8
  50. package/ui/Blocks/Modal/types.d.ts +1 -0
  51. package/ui/Blocks/Popover/index.d.ts +1 -0
  52. package/ui/Blocks/Popover/index.js +3 -2
  53. package/ui/Blocks/Scheduler/components/BookedTimeSlots/styles.d.ts +3 -3
  54. package/ui/Blocks/Scheduler/components/CurrentTimeMarker/styles.d.ts +3 -3
  55. package/ui/Blocks/Scheduler/components/DateChanger/styles.d.ts +2 -2
  56. package/ui/Blocks/Scheduler/components/Groups/styles.d.ts +3 -3
  57. package/ui/Blocks/Scheduler/components/TimeSlots/styles.d.ts +4 -4
  58. package/ui/Blocks/Scheduler/styles.d.ts +2 -2
  59. package/ui/Blocks/SideMenu/MenuItem.js +16 -8
  60. package/ui/Blocks/SideMenu/SideMenu.js +2 -1
  61. package/ui/Blocks/SideMenu/components/Footer.d.ts +2 -2
  62. package/ui/Blocks/SideMenu/styles.d.ts +16 -15
  63. package/ui/Blocks/SideMenu/styles.js +1 -1
  64. package/ui/Blocks/SideMenu/types.d.ts +1 -0
  65. package/ui/Blocks/Stepper/components/StepCircle/styles.d.ts +1 -1
  66. package/ui/Blocks/Stepper/components/StepItem/styles.d.ts +3 -3
  67. package/ui/Blocks/Stepper/styles.d.ts +2 -2
  68. package/ui/Blocks/Tabs/styles.d.ts +5 -5
  69. package/ui/Elements/Alert/styles.d.ts +4 -4
  70. package/ui/Elements/Avatar/Avatar.js +36 -32
  71. package/ui/Elements/Avatar/styles.d.ts +10 -0
  72. package/ui/Elements/Avatar/styles.js +39 -0
  73. package/ui/Elements/Avatar/types.d.ts +10 -0
  74. package/ui/Elements/BarChartSymbol/styles.d.ts +1 -1
  75. package/ui/Elements/Button/styles.d.ts +4 -4
  76. package/ui/Elements/Card/styles.d.ts +1 -1
  77. package/ui/Elements/CheckedCircle/styles.d.ts +1 -1
  78. package/ui/Elements/DatePicker/Datetime/components/FooterRow.d.ts +1 -1
  79. package/ui/Elements/DatePicker/Datetime/components/FooterRowLabel.d.ts +1 -1
  80. package/ui/Elements/DatePicker/Datetime/components/TimeInput.d.ts +1 -1
  81. package/ui/Elements/DatePicker/styles.d.ts +1 -1
  82. package/ui/Elements/DropdownSelect/DropdownSelect.d.ts +1 -1
  83. package/ui/Elements/Icon/Icon.js +8 -6
  84. package/ui/Elements/Icon/assets/dispatch.svg +31 -0
  85. package/ui/Elements/Icon/assets/no-image.svg +7 -0
  86. package/ui/Elements/Icon/assets/package.svg +20 -0
  87. package/ui/Elements/Icon/icons/ArrowDownLine.d.ts +3 -0
  88. package/ui/Elements/Icon/icons/ArrowDownLine.js +12 -0
  89. package/ui/Elements/Icon/icons/Backspace.d.ts +3 -0
  90. package/ui/Elements/Icon/icons/Backspace.js +11 -0
  91. package/ui/Elements/Icon/icons/BanCircle.d.ts +3 -0
  92. package/ui/Elements/Icon/icons/BanCircle.js +11 -0
  93. package/ui/Elements/Icon/icons/Calculator.d.ts +3 -0
  94. package/ui/Elements/Icon/icons/Calculator.js +15 -0
  95. package/ui/Elements/Icon/icons/CloudUpload.d.ts +3 -0
  96. package/ui/Elements/Icon/icons/CloudUpload.js +11 -0
  97. package/ui/Elements/Icon/icons/DangerCircle.d.ts +3 -0
  98. package/ui/Elements/Icon/icons/DangerCircle.js +11 -0
  99. package/ui/Elements/Icon/icons/Eco.d.ts +3 -0
  100. package/ui/Elements/Icon/icons/Eco.js +20 -0
  101. package/ui/Elements/Icon/icons/Exclamation.d.ts +3 -0
  102. package/ui/Elements/Icon/icons/Exclamation.js +24 -0
  103. package/ui/Elements/Icon/icons/EyeOpen.d.ts +3 -0
  104. package/ui/Elements/Icon/icons/EyeOpen.js +14 -0
  105. package/ui/Elements/Icon/icons/Key.d.ts +3 -0
  106. package/ui/Elements/Icon/icons/Key.js +11 -0
  107. package/ui/Elements/Icon/icons/Layers.d.ts +3 -0
  108. package/ui/Elements/Icon/icons/Layers.js +12 -0
  109. package/ui/Elements/Icon/icons/MailwrapLogo.d.ts +3 -0
  110. package/ui/Elements/Icon/icons/MailwrapLogo.js +76 -0
  111. package/ui/Elements/Icon/icons/NoImage.d.ts +3 -0
  112. package/ui/Elements/Icon/icons/NoImage.js +16 -0
  113. package/ui/Elements/Icon/icons/Reject.d.ts +3 -0
  114. package/ui/Elements/Icon/icons/Reject.js +17 -0
  115. package/ui/Elements/Icon/icons/Share.d.ts +3 -0
  116. package/ui/Elements/Icon/icons/Share.js +11 -0
  117. package/ui/Elements/Icon/icons/TickCircle.d.ts +3 -0
  118. package/ui/Elements/Icon/icons/TickCircle.js +11 -0
  119. package/ui/Elements/Icon/icons/Toolbox.d.ts +3 -0
  120. package/ui/Elements/Icon/icons/Toolbox.js +11 -0
  121. package/ui/Elements/Icon/icons/UserHeader.d.ts +3 -0
  122. package/ui/Elements/Icon/icons/UserHeader.js +11 -0
  123. package/ui/Elements/Icon/icons/WarehouseShelves.d.ts +3 -0
  124. package/ui/Elements/Icon/icons/WarehouseShelves.js +16 -0
  125. package/ui/Elements/Icon/icons/index.d.ts +19 -0
  126. package/ui/Elements/Icon/icons/index.js +39 -1
  127. package/ui/Elements/Icon/index.d.ts +1 -1
  128. package/ui/Elements/Icon/index.js +20 -1
  129. package/ui/Elements/Icon/stories/BadgeIcon.stories.d.ts +4 -0
  130. package/ui/Elements/Icon/types.d.ts +5 -0
  131. package/ui/Elements/Label/Label.d.ts +2 -2
  132. package/ui/Elements/Label/stories/Label.stories.d.ts +1 -1
  133. package/ui/Elements/Logo/Logo.js +2 -0
  134. package/ui/Elements/Logo/assets/mailwise/mailwiseLogoWhiteBg.svg +47 -0
  135. package/ui/Elements/Pagination/styled.d.ts +6 -6
  136. package/ui/Elements/ProgressBar/styles.d.ts +3 -3
  137. package/ui/Elements/Select/components/SelectedIndicator.d.ts +1 -1
  138. package/ui/Elements/Select/styles.d.ts +3 -3
  139. package/ui/Elements/SimpleLink/SimpleLink.d.ts +1 -1
  140. package/ui/Elements/Spinner/styles.d.ts +2 -2
  141. package/ui/Elements/Table/Table.d.ts +6 -6
  142. package/ui/Elements/Table/stories/Table.stories.d.ts +1 -1
  143. package/ui/Elements/Tag/Tag.d.ts +1 -1
  144. package/ui/Elements/Tag/stories/Tag.stories.d.ts +1 -1
  145. package/ui/Elements/Toast/styles.d.ts +5 -5
  146. package/ui/Forms/Checkbox/styles.d.ts +4 -4
  147. package/ui/Forms/Input/Input.js +1 -5
  148. package/ui/Forms/Input/styles.d.ts +9 -9
  149. package/ui/Forms/RadioButton/styles.d.ts +6 -6
  150. package/ui/Forms/TextArea/styles.d.ts +5 -5
  151. package/ui/index.js +20 -1
  152. package/ui/Blocks/Header/utils/constants.d.ts +0 -1
  153. package/ui/Blocks/Header/utils/constants.js +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.8.34-beta.0",
3
+ "version": "0.8.35",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -16,12 +16,11 @@
16
16
  "build:win": "tsdown && tsc --emitDeclarationOnly && copy package.json build && copy README.md build",
17
17
  "build-storybook": "storybook build",
18
18
  "deploy": "npm run build && npm publish ./build",
19
- "deploy:beta": "npm run build && npm publish ./build --tag beta",
20
19
  "deploy:win": "npm run build:win && npm publish ./build",
21
20
  "dev": "yarn storybook",
22
21
  "test": "echo \"The tests are still waiting to be written, but it seems like they're really good at procrastinating!\"",
23
22
  "lint": "eslint ./packages/ui/**/*.{ts,tsx}",
24
- "prepare": "husky"
23
+ "prepare": "husky install"
25
24
  },
26
25
  "lint-staged": {
27
26
  "*.{js,ts,tsx}": "yarn eslint --fix"
@@ -1,4 +1,4 @@
1
- export declare const ControlButtonsContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
2
- export declare const Left: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
3
- export declare const Right: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
4
- export declare const StyledColumnButton: import("styled-components").StyledComponent<import("react").FC<import("../../../../Elements/Button/types").Props>, import("@xstyled/system").Theme, {}, never>;
1
+ export declare const ControlButtonsContainer: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
2
+ export declare const Left: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
3
+ export declare const Right: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
4
+ export declare const StyledColumnButton: import("styled-components").StyledComponent<import("react").FC<import("../../../../Elements/Button/types").Props>, import("@xstyled/styled-components").Theme, {}, never>;
@@ -1,6 +1,6 @@
1
1
  import { type FC } from 'react';
2
2
  import { type CommonGridProps, type ExtraControlButton } from '../../types';
3
- export declare const Row: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
3
+ export declare const Row: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
4
4
  type Props = {
5
5
  extraControlButtons: CommonGridProps['extraControlButtons'];
6
6
  targetPosition?: ExtraControlButton['position'];
@@ -1,7 +1,7 @@
1
1
  import type { FC } from 'react';
2
2
  import { type FloatingButtonProps } from '../../types';
3
- export declare const StyledButton: import("styled-components").StyledComponent<"button", import("@xstyled/system").Theme, {}, never>;
4
- export declare const StyledCross: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
3
+ export declare const StyledButton: import("styled-components").StyledComponent<"button", import("@xstyled/styled-components").Theme, {}, never>;
4
+ export declare const StyledCross: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
5
5
  isOpen: boolean;
6
6
  }, never>;
7
7
  declare const FloatingButton: FC<FloatingButtonProps>;
@@ -1,3 +1,3 @@
1
- export declare const Wrapper: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
2
- export declare const StyledSelect: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
3
- export declare const ColumnTitle: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
1
+ export declare const Wrapper: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme>, "color">;
2
+ export declare const StyledSelect: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme>, "color">;
3
+ export declare const ColumnTitle: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme>, "color">;
@@ -1,10 +1,10 @@
1
1
  import type { FC } from 'react';
2
- export declare const List: import("styled-components").StyledComponent<"ul", import("@xstyled/system").Theme, {}, never>;
3
- export declare const ListItem: import("styled-components").StyledComponent<"li", import("@xstyled/system").Theme, {}, never>;
4
- export declare const ListItemContent: import("styled-components").StyledComponent<"span", import("@xstyled/system").Theme, {
2
+ export declare const List: import("styled-components").StyledComponent<"ul", import("@xstyled/styled-components").Theme, {}, never>;
3
+ export declare const ListItem: import("styled-components").StyledComponent<"li", import("@xstyled/styled-components").Theme, {}, never>;
4
+ export declare const ListItemContent: import("styled-components").StyledComponent<"span", import("@xstyled/styled-components").Theme, {
5
5
  selected?: boolean;
6
6
  }, never>;
7
- export declare const ListItemIcon: import("styled-components").StyledComponent<"span", import("@xstyled/system").Theme, {}, never>;
7
+ export declare const ListItemIcon: import("styled-components").StyledComponent<"span", import("@xstyled/styled-components").Theme, {}, never>;
8
8
  type Item = {
9
9
  value: string;
10
10
  icon?: string;
@@ -1,4 +1,4 @@
1
- export declare const RowLayout: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
1
+ export declare const RowLayout: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
2
2
  $isVisible: boolean;
3
3
  transition?: string;
4
4
  transform?: string;
@@ -1 +1 @@
1
- export declare const MobileOverlayWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
1
+ export declare const MobileOverlayWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
@@ -1 +1 @@
1
- export declare const TagRemove: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
1
+ export declare const TagRemove: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
@@ -1,8 +1,8 @@
1
- export declare const Row: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
1
+ export declare const Row: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
2
2
  hasRowClick?: boolean;
3
3
  align?: string;
4
4
  }, never>;
5
- export declare const Cell: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
5
+ export declare const Cell: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
6
6
  align?: string;
7
7
  flexBasis?: number;
8
8
  flexGrow?: number;
@@ -10,13 +10,13 @@ export declare const Cell: import("styled-components").StyledComponent<"div", im
10
10
  transition?: string;
11
11
  transform?: string;
12
12
  }, never>;
13
- export declare const StyledDataRow: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
13
+ export declare const StyledDataRow: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
14
14
  hasRowClick?: boolean;
15
15
  align?: string;
16
16
  } & {
17
17
  isEven: boolean;
18
18
  }, never>;
19
- export declare const TextCell: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
19
+ export declare const TextCell: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
20
20
  align?: string;
21
21
  flexBasis?: number;
22
22
  flexGrow?: number;
@@ -24,7 +24,7 @@ export declare const TextCell: import("styled-components").StyledComponent<"div"
24
24
  transition?: string;
25
25
  transform?: string;
26
26
  }, never>;
27
- export declare const MessageCell: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
27
+ export declare const MessageCell: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
28
28
  align?: string;
29
29
  flexBasis?: number;
30
30
  flexGrow?: number;
@@ -33,10 +33,10 @@ export declare const MessageCell: import("styled-components").StyledComponent<"d
33
33
  transform?: string;
34
34
  }, never>;
35
35
  declare const variantColors: {
36
- error: (props: import("@xstyled/util").Props<import("@xstyled/system").Theme>) => import("@xstyled/system").CSSScalar;
37
- info: (props: import("@xstyled/util").Props<import("@xstyled/system").Theme>) => import("@xstyled/system").CSSScalar;
36
+ error: (props: import("@xstyled/util").Props<import("@xstyled/styled-components").Theme>) => import("@xstyled/styled-components").CSSScalar;
37
+ info: (props: import("@xstyled/util").Props<import("@xstyled/styled-components").Theme>) => import("@xstyled/styled-components").CSSScalar;
38
38
  };
39
- export declare const MessageCellBody: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
39
+ export declare const MessageCellBody: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
40
40
  align?: string;
41
41
  flexBasis?: number;
42
42
  flexGrow?: number;
@@ -1 +1 @@
1
- export declare const LinkInCell: import("styled-components").StyledComponent<typeof import("react-router-dom").Link, import("@xstyled/system").Theme, import("../../../../Elements/SimpleLink/SimpleLink").Props, never>;
1
+ export declare const LinkInCell: import("styled-components").StyledComponent<typeof import("react-router-dom").Link, import("@xstyled/styled-components").Theme, import("../../../../Elements/SimpleLink/SimpleLink").Props, never>;
@@ -1,7 +1,7 @@
1
1
  import type { FC } from 'react';
2
2
  import { type DataCellProps } from '../../types';
3
3
  type Props = DataCellProps<any>;
4
- export declare const Wrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
5
- export declare const Trigger: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
4
+ export declare const Wrap: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
5
+ export declare const Trigger: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
6
6
  export declare const RemoveCell: FC<Props>;
7
7
  export {};
@@ -1,11 +1,11 @@
1
- export declare const BottomWrapper: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme> & {
1
+ export declare const BottomWrapper: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme> & {
2
2
  hasContent: boolean;
3
3
  }, "color">;
4
- export declare const ContentContainer: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
5
- export declare const CommonGridWrap: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme> & {
4
+ export declare const ContentContainer: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme>, "color">;
5
+ export declare const CommonGridWrap: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme> & {
6
6
  withPagination: boolean;
7
7
  }, "color">;
8
- export declare const StyledButtonStrip: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
8
+ export declare const StyledButtonStrip: import("styled-components").StyledComponent<(props: Omit<JSX.IntrinsicElements[string], "color">) => import("react").ReactElement<any, string>, import("@xstyled/styled-components").Theme, import("@xstyled/styled-components").SystemProps<import("@xstyled/styled-components").Theme>, "color">;
9
9
  export declare const CommonGridWithStyles: import("styled-components").StyledComponent<import("react").FC<import("./types").CommonGridProps & {
10
10
  filters?: import("./types").FiltersConfig;
11
11
  handleDragEnd: (item: import("@dnd-kit/core").DragEndEvent) => void;
@@ -13,7 +13,7 @@ export declare const CommonGridWithStyles: import("styled-components").StyledCom
13
13
  hasGroups: boolean;
14
14
  hasFilters: boolean;
15
15
  onCellClick?: (columnName: string) => void;
16
- }>, import("@xstyled/system").Theme, {
16
+ }>, import("@xstyled/styled-components").Theme, {
17
17
  withButtonStrip: boolean;
18
18
  hasGroupsOrFilters: boolean;
19
19
  hasGroups: boolean;
@@ -1,12 +1,12 @@
1
- export declare const Container: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
1
+ export declare const Container: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
2
2
  $mounted: boolean;
3
3
  }, never>;
4
- export declare const Header: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
5
- export declare const Wrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
6
- export declare const Status: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
4
+ export declare const Header: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
5
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
6
+ export declare const Status: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {
7
7
  background: string;
8
8
  }, never>;
9
- export declare const CloseBtn: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
10
- export declare const StatusText: import("styled-components").StyledComponent<"span", import("@xstyled/system").Theme, {
9
+ export declare const CloseBtn: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
10
+ export declare const StatusText: import("styled-components").StyledComponent<"span", import("@xstyled/styled-components").Theme, {
11
11
  fontColor: string;
12
12
  }, never>;
@@ -0,0 +1,9 @@
1
+ import { type FC } from 'react';
2
+ import type { HeaderVariant } from '../../types';
3
+ type HamburgerToggleProps = {
4
+ isOpen?: boolean;
5
+ onClick?: () => void;
6
+ variant?: HeaderVariant;
7
+ };
8
+ export declare const HamburgerToggle: FC<HamburgerToggleProps>;
9
+ export {};
@@ -0,0 +1,64 @@
1
+ import { HamburgerToggleButton } from "./styles.js";
2
+ import { useCallback } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region packages/ui/Blocks/Header/components/HamburgerToggle/index.tsx
5
+ const HamburgerToggle = ({ isOpen, onClick, variant = "light" }) => {
6
+ const lineColor = variant === "dark" ? "#fff" : "#0C1F2F";
7
+ return /* @__PURE__ */ jsx(HamburgerToggleButton, {
8
+ type: "button",
9
+ onClick,
10
+ onMouseDown: useCallback((event) => {
11
+ event.stopPropagation();
12
+ }, []),
13
+ children: isOpen ? /* @__PURE__ */ jsxs("svg", {
14
+ width: "27",
15
+ height: "27",
16
+ viewBox: "0 0 24 24",
17
+ fill: "none",
18
+ stroke: lineColor,
19
+ strokeWidth: "1.25",
20
+ strokeLinecap: "round",
21
+ children: [/* @__PURE__ */ jsx("line", {
22
+ x1: "6",
23
+ y1: "6",
24
+ x2: "18",
25
+ y2: "18"
26
+ }), /* @__PURE__ */ jsx("line", {
27
+ x1: "18",
28
+ y1: "6",
29
+ x2: "6",
30
+ y2: "18"
31
+ })]
32
+ }) : /* @__PURE__ */ jsxs("svg", {
33
+ width: "27",
34
+ height: "27",
35
+ viewBox: "0 0 24 24",
36
+ fill: "none",
37
+ stroke: lineColor,
38
+ strokeWidth: "1.25",
39
+ strokeLinecap: "round",
40
+ children: [
41
+ /* @__PURE__ */ jsx("line", {
42
+ x1: "4",
43
+ y1: "8",
44
+ x2: "20",
45
+ y2: "8"
46
+ }),
47
+ /* @__PURE__ */ jsx("line", {
48
+ x1: "4",
49
+ y1: "12",
50
+ x2: "20",
51
+ y2: "12"
52
+ }),
53
+ /* @__PURE__ */ jsx("line", {
54
+ x1: "4",
55
+ y1: "16",
56
+ x2: "20",
57
+ y2: "16"
58
+ })
59
+ ]
60
+ })
61
+ });
62
+ };
63
+ //#endregion
64
+ export { HamburgerToggle };
@@ -0,0 +1 @@
1
+ export declare const HamburgerToggleButton: import("styled-components").StyledComponent<"button", import("@xstyled/styled-components").Theme, {}, never>;
@@ -0,0 +1,20 @@
1
+ import styled$1 from "@xstyled/styled-components";
2
+ //#region packages/ui/Blocks/Header/components/HamburgerToggle/styles.ts
3
+ const HamburgerToggleButton = styled$1.button`
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ width: 36px;
8
+ height: 36px;
9
+ padding: 0;
10
+ border: none;
11
+ background: transparent;
12
+ cursor: pointer;
13
+ flex-shrink: 0;
14
+
15
+ &:hover {
16
+ opacity: 0.85;
17
+ }
18
+ `;
19
+ //#endregion
20
+ export { HamburgerToggleButton };
@@ -1,7 +1,9 @@
1
1
  import { type FC } from 'react';
2
2
  import type { MenuItemType } from '../../../../../SideMenu/types';
3
+ import type { HeaderVariant } from '../../../../types';
3
4
  type MenuItemProps = {
4
5
  item: MenuItemType;
6
+ variant?: HeaderVariant;
5
7
  };
6
8
  export declare const MenuItem: FC<MenuItemProps>;
7
9
  export {};
@@ -1,15 +1,32 @@
1
- import { MenuItemsListItem } from "../../styles.js";
2
- import { jsx } from "react/jsx-runtime";
3
- import { Link } from "react-router-dom";
1
+ import Icon from "../../../../../../Elements/Icon/Icon.js";
2
+ import { MenuItemDropdownArrow, MenuItemLabel, MenuItemsListItem, SubMenuItemRow, SubMenuList } from "../../styles.js";
3
+ import { isItemActive, isLinkExactActive } from "./utils/isItemActive.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Link, useLocation } from "react-router-dom";
4
6
  //#region packages/ui/Blocks/Header/components/MenuItems/components/MenuItem/index.tsx
5
- const MenuItem = ({ item }) => {
6
- return /* @__PURE__ */ jsx(MenuItemsListItem, {
7
- onClick: item.onClick,
8
- pointer: !!item.onClick,
9
- children: item.link ? /* @__PURE__ */ jsx(Link, {
10
- to: item.link,
11
- children: item.title
12
- }) : item.title
7
+ const MenuItem = ({ item, variant = "light" }) => {
8
+ const hasSubmenu = Array.isArray(item.items) && item.items.length > 0;
9
+ const { pathname, search } = useLocation();
10
+ const isActive = isItemActive(pathname, item);
11
+ return /* @__PURE__ */ jsxs(MenuItemsListItem, {
12
+ pointer: !!item.onClick || hasSubmenu,
13
+ $variant: variant,
14
+ $isActive: isActive,
15
+ children: [/* @__PURE__ */ jsxs(MenuItemLabel, {
16
+ onClick: item.onClick,
17
+ children: [item.link && !hasSubmenu ? /* @__PURE__ */ jsx(Link, {
18
+ to: item.link,
19
+ children: item.title
20
+ }) : /* @__PURE__ */ jsx("span", { children: item.title }), hasSubmenu && /* @__PURE__ */ jsx(MenuItemDropdownArrow, { children: /* @__PURE__ */ jsx(Icon, { icon: "goDown" }) })]
21
+ }), hasSubmenu && /* @__PURE__ */ jsx(SubMenuList, { children: item.items?.map((subItem, key) => /* @__PURE__ */ jsx(SubMenuItemRow, {
22
+ pointer: !!subItem.onClick,
23
+ onClick: subItem.onClick,
24
+ $isActive: isLinkExactActive(pathname, search, subItem.link),
25
+ children: subItem.link ? /* @__PURE__ */ jsx(Link, {
26
+ to: subItem.link,
27
+ children: subItem.title
28
+ }) : /* @__PURE__ */ jsx("span", { children: subItem.title })
29
+ }, key)) })]
13
30
  });
14
31
  };
15
32
  //#endregion
@@ -0,0 +1,10 @@
1
+ import type { MenuItemType } from '../../../../../../SideMenu/types';
2
+ type IsLinkActiveType = (pathname: string, link?: string) => boolean;
3
+ /** Loose path match — used for top-level item highlight (parent of any submenu item). */
4
+ export declare const isLinkActive: IsLinkActiveType;
5
+ type IsLinkExactActiveType = (pathname: string, search: string, link?: string) => boolean;
6
+ /** Exact path + query match — used for submenu item highlight. */
7
+ export declare const isLinkExactActive: IsLinkExactActiveType;
8
+ type IsItemActiveType = (pathname: string, item: MenuItemType) => boolean;
9
+ export declare const isItemActive: IsItemActiveType;
10
+ export {};
@@ -0,0 +1,33 @@
1
+ import { matchPath } from "react-router-dom";
2
+ //#region packages/ui/Blocks/Header/components/MenuItems/components/MenuItem/utils/isItemActive.ts
3
+ const normalizeQuery = (search) => {
4
+ const cleaned = search.startsWith("?") ? search.slice(1) : search;
5
+ if (!cleaned) return "";
6
+ const params = new URLSearchParams(cleaned);
7
+ return Array.from(params.entries()).sort(([a], [b]) => a.localeCompare(b)).map(([k, v]) => `${k}=${v}`).join("&");
8
+ };
9
+ /** Loose path match — used for top-level item highlight (parent of any submenu item). */
10
+ const isLinkActive = (pathname, link) => {
11
+ if (!link) return false;
12
+ const path = link.split("?")[0];
13
+ return !!matchPath(pathname, {
14
+ path,
15
+ exact: false
16
+ });
17
+ };
18
+ /** Exact path + query match — used for submenu item highlight. */
19
+ const isLinkExactActive = (pathname, search, link) => {
20
+ if (!link) return false;
21
+ const [linkPath, linkSearch = ""] = link.split("?");
22
+ if (!matchPath(pathname, {
23
+ path: linkPath,
24
+ exact: true
25
+ })) return false;
26
+ return normalizeQuery(search) === normalizeQuery(linkSearch);
27
+ };
28
+ const isItemActive = (pathname, item) => {
29
+ if (isLinkActive(pathname, item.link)) return true;
30
+ return (item.items ?? []).some((subItem) => isLinkActive(pathname, subItem.link));
31
+ };
32
+ //#endregion
33
+ export { isItemActive, isLinkActive, isLinkExactActive };
@@ -1,7 +1,9 @@
1
1
  import { type FC } from 'react';
2
2
  import type { MenuItemType } from '../../../SideMenu/types';
3
+ import type { HeaderVariant } from '../../types';
3
4
  type MenuItemsProps = {
4
5
  items?: MenuItemType[];
6
+ variant?: HeaderVariant;
5
7
  };
6
8
  export declare const MenuItems: FC<MenuItemsProps>;
7
9
  export {};
@@ -2,8 +2,11 @@ import { MenuItemsList } from "./styles.js";
2
2
  import { MenuItem } from "./components/MenuItem/index.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region packages/ui/Blocks/Header/components/MenuItems/index.tsx
5
- const MenuItems = ({ items }) => {
6
- return /* @__PURE__ */ jsx(MenuItemsList, { children: items?.map((item, key) => /* @__PURE__ */ jsx(MenuItem, { item }, key)) });
5
+ const MenuItems = ({ items, variant = "light" }) => {
6
+ return /* @__PURE__ */ jsx(MenuItemsList, { children: items?.map((item, key) => /* @__PURE__ */ jsx(MenuItem, {
7
+ item,
8
+ variant
9
+ }, key)) });
7
10
  };
8
11
  //#endregion
9
12
  export { MenuItems };
@@ -1,4 +1,14 @@
1
- export declare const MenuItemsList: import("styled-components").StyledComponent<"ul", import("@xstyled/system").Theme, {}, never>;
2
- export declare const MenuItemsListItem: import("styled-components").StyledComponent<"li", import("@xstyled/system").Theme, {
1
+ import type { HeaderVariant } from '../../types';
2
+ export declare const MenuItemsList: import("styled-components").StyledComponent<"ul", import("@xstyled/styled-components").Theme, {}, never>;
3
+ export declare const SubMenuList: import("styled-components").StyledComponent<"ul", import("@xstyled/styled-components").Theme, {}, never>;
4
+ export declare const MenuItemsListItem: import("styled-components").StyledComponent<"li", import("@xstyled/styled-components").Theme, {
3
5
  pointer?: boolean;
6
+ $variant?: HeaderVariant;
7
+ $isActive?: boolean;
8
+ }, never>;
9
+ export declare const MenuItemLabel: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
10
+ export declare const MenuItemDropdownArrow: import("styled-components").StyledComponent<"span", import("@xstyled/styled-components").Theme, {}, never>;
11
+ export declare const SubMenuItemRow: import("styled-components").StyledComponent<"li", import("@xstyled/styled-components").Theme, {
12
+ pointer?: boolean;
13
+ $isActive?: boolean;
4
14
  }, never>;
@@ -1,22 +1,124 @@
1
- import styled$1 from "@xstyled/styled-components";
1
+ import styled$1, { th } from "@xstyled/styled-components";
2
2
  //#region packages/ui/Blocks/Header/components/MenuItems/styles.ts
3
3
  const MenuItemsList = styled$1.ul`
4
4
  display: flex;
5
- gap: 10px;
5
+ align-items: stretch;
6
+ gap: 12px;
7
+ list-style: none;
8
+ margin: 0;
9
+ padding: 0;
10
+ height: 100%;
11
+
12
+ @media (min-width: 768px) {
13
+ gap: 28px;
14
+ }
15
+ `;
16
+ const SubMenuList = styled$1.ul`
17
+ display: none;
18
+ position: absolute;
19
+ top: calc(100% + 12px);
20
+ left: 0;
21
+ z-index: 5;
22
+ min-width: 220px;
23
+ margin: 0;
24
+ padding: 8px 0;
25
+ list-style: none;
26
+ background-color: white;
27
+ border-radius: 8px;
28
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
29
+
30
+ &::before {
31
+ content: '';
32
+ position: absolute;
33
+ top: -12px;
34
+ left: 0;
35
+ right: 0;
36
+ height: 12px;
37
+ }
6
38
  `;
7
39
  const MenuItemsListItem = styled$1.li`
40
+ position: relative;
41
+ display: flex;
42
+ align-items: center;
43
+ height: 100%;
44
+ color: ${({ $variant }) => $variant === "dark" ? "white" : th.color("typoPrimary")};
8
45
  ${({ pointer }) => pointer && "cursor: pointer;"};
9
46
 
10
47
  a {
48
+ color: inherit;
11
49
  text-decoration: none;
12
- border-color: red1;
13
- color: typoPrimary;
50
+ }
51
+
52
+ &::after {
53
+ content: '';
54
+ position: absolute;
55
+ bottom: 0;
56
+ left: 0;
57
+ right: 0;
58
+ height: 2.5px;
59
+ background-color: ${th.color("red1")};
60
+ opacity: ${({ $isActive }) => $isActive ? 1 : 0};
61
+ transition: opacity 0.15s ease;
62
+ }
63
+
64
+ &:hover::after {
65
+ opacity: 1;
66
+ }
67
+
68
+ &:hover > ${SubMenuList} {
69
+ display: block;
70
+ }
71
+ `;
72
+ const MenuItemLabel = styled$1.div`
73
+ display: flex;
74
+ align-items: center;
75
+ gap: 6px;
76
+ user-select: none;
77
+ height: 100%;
78
+ `;
79
+ const MenuItemDropdownArrow = styled$1.span`
80
+ display: inline-flex;
81
+ align-items: center;
82
+ width: 10px;
83
+ height: 10px;
84
+ opacity: 0.6;
85
+ transition: opacity 0.15s ease, transform 0.15s ease;
86
+
87
+ svg {
88
+ width: 10px;
89
+ height: 10px;
90
+ fill: currentColor;
91
+ }
92
+
93
+ ${MenuItemsListItem}:hover & {
94
+ opacity: 1;
95
+ transform: rotate(180deg);
96
+ }
97
+ `;
98
+ const SubMenuItemRow = styled$1.li`
99
+ display: flex;
100
+ align-items: stretch;
101
+ ${({ pointer }) => pointer && "cursor: pointer;"};
102
+
103
+ a,
104
+ span {
105
+ display: block;
106
+ width: 100%;
107
+ padding: 10px 18px;
108
+ color: ${({ $isActive }) => $isActive ? th.color("red1") : th.color("typoPrimary")};
109
+ font-weight: ${({ $isActive }) => $isActive ? 600 : 400};
110
+ text-decoration: none;
111
+ font-size: 14px;
112
+ }
113
+
114
+ &:hover {
115
+ background-color: ${th.color("lightGray7")};
14
116
  }
15
117
 
16
118
  a:hover {
17
- border-bottom: 1px solid;
18
- color: red1;
119
+ border-bottom: none;
120
+ color: ${({ $isActive }) => $isActive ? th.color("red1") : th.color("typoPrimary")};
19
121
  }
20
122
  `;
21
123
  //#endregion
22
- export { MenuItemsList, MenuItemsListItem };
124
+ export { MenuItemDropdownArrow, MenuItemLabel, MenuItemsList, MenuItemsListItem, SubMenuItemRow, SubMenuList };
@@ -1,2 +1,2 @@
1
- export declare const UserInfo: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
2
- export declare const AvatarWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
1
+ export declare const UserInfo: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
2
+ export declare const AvatarWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/styled-components").Theme, {}, never>;
@@ -1,8 +1,14 @@
1
- import type { FC } from 'react';
1
+ import type { FC, ReactNode } from 'react';
2
2
  import type { User } from '../../types';
3
3
  type Props = {
4
4
  user?: User | null;
5
5
  onLogout?: () => void;
6
+ hasUserMenu?: boolean;
7
+ userMenuOverride?: ReactNode;
8
+ withInitials?: boolean;
9
+ withChevron?: boolean;
10
+ withName?: boolean;
11
+ ignoreClickOutsideClosest?: string;
6
12
  };
7
13
  export declare const UserMenu: FC<Props>;
8
14
  export {};