newskit 6.7.0 → 6.8.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 (119) hide show
  1. package/cjs/base-switch/styled.d.ts.map +1 -1
  2. package/cjs/base-switch/styled.js +3 -1
  3. package/cjs/base-switch/styled.js.map +1 -1
  4. package/cjs/image/image.d.ts.map +1 -1
  5. package/cjs/image/image.js +2 -2
  6. package/cjs/image/image.js.map +1 -1
  7. package/cjs/image/types.d.ts +4 -6
  8. package/cjs/image/types.d.ts.map +1 -1
  9. package/cjs/image/utils.d.ts +1 -1
  10. package/cjs/image/utils.d.ts.map +1 -1
  11. package/cjs/image/utils.js +7 -8
  12. package/cjs/image/utils.js.map +1 -1
  13. package/cjs/link/style-presets.d.ts.map +1 -1
  14. package/cjs/link/style-presets.js.map +1 -1
  15. package/cjs/link/utils.d.ts.map +1 -1
  16. package/cjs/link/utils.js +1 -1
  17. package/cjs/link/utils.js.map +1 -1
  18. package/cjs/menu/context.d.ts +10 -0
  19. package/cjs/menu/context.d.ts.map +1 -1
  20. package/cjs/menu/context.js +7 -1
  21. package/cjs/menu/context.js.map +1 -1
  22. package/cjs/menu/menu-item.d.ts.map +1 -1
  23. package/cjs/menu/menu-item.js +11 -3
  24. package/cjs/menu/menu-item.js.map +1 -1
  25. package/cjs/menu/menu-sub.d.ts +1 -0
  26. package/cjs/menu/menu-sub.d.ts.map +1 -1
  27. package/cjs/menu/menu-sub.js +61 -14
  28. package/cjs/menu/menu-sub.js.map +1 -1
  29. package/cjs/menu/menu.d.ts.map +1 -1
  30. package/cjs/menu/menu.js +65 -3
  31. package/cjs/menu/menu.js.map +1 -1
  32. package/cjs/menu/types.d.ts +1 -0
  33. package/cjs/menu/types.d.ts.map +1 -1
  34. package/cjs/menu/utils.d.ts +5 -0
  35. package/cjs/menu/utils.d.ts.map +1 -0
  36. package/cjs/menu/utils.js +26 -0
  37. package/cjs/menu/utils.js.map +1 -0
  38. package/cjs/select/defaults.d.ts +3 -0
  39. package/cjs/select/defaults.d.ts.map +1 -1
  40. package/cjs/select/defaults.js +3 -0
  41. package/cjs/select/defaults.js.map +1 -1
  42. package/cjs/select/select-panel.d.ts +2 -2
  43. package/cjs/select/select-panel.d.ts.map +1 -1
  44. package/cjs/select/select-panel.js +6 -6
  45. package/cjs/select/select-panel.js.map +1 -1
  46. package/cjs/select/select.d.ts.map +1 -1
  47. package/cjs/select/select.js +42 -58
  48. package/cjs/select/select.js.map +1 -1
  49. package/cjs/select/styled.d.ts +1 -1
  50. package/cjs/select/styled.d.ts.map +1 -1
  51. package/cjs/select/styled.js +4 -4
  52. package/cjs/select/styled.js.map +1 -1
  53. package/cjs/select/types.d.ts +1 -0
  54. package/cjs/select/types.d.ts.map +1 -1
  55. package/cjs/switch/styled.d.ts +1 -1
  56. package/cjs/switch/styled.d.ts.map +1 -1
  57. package/cjs/switch/switch.js +2 -2
  58. package/cjs/switch/switch.js.map +1 -1
  59. package/cjs/version-number.json +1 -1
  60. package/esm/base-switch/styled.d.ts.map +1 -1
  61. package/esm/base-switch/styled.js +3 -1
  62. package/esm/base-switch/styled.js.map +1 -1
  63. package/esm/image/image.d.ts.map +1 -1
  64. package/esm/image/image.js +2 -2
  65. package/esm/image/image.js.map +1 -1
  66. package/esm/image/types.d.ts +4 -6
  67. package/esm/image/types.d.ts.map +1 -1
  68. package/esm/image/utils.d.ts +1 -1
  69. package/esm/image/utils.d.ts.map +1 -1
  70. package/esm/image/utils.js +7 -8
  71. package/esm/image/utils.js.map +1 -1
  72. package/esm/link/style-presets.d.ts.map +1 -1
  73. package/esm/link/style-presets.js.map +1 -1
  74. package/esm/link/utils.d.ts.map +1 -1
  75. package/esm/link/utils.js +1 -1
  76. package/esm/link/utils.js.map +1 -1
  77. package/esm/menu/context.d.ts +10 -0
  78. package/esm/menu/context.d.ts.map +1 -1
  79. package/esm/menu/context.js +7 -1
  80. package/esm/menu/context.js.map +1 -1
  81. package/esm/menu/menu-item.d.ts.map +1 -1
  82. package/esm/menu/menu-item.js +11 -3
  83. package/esm/menu/menu-item.js.map +1 -1
  84. package/esm/menu/menu-sub.d.ts +1 -0
  85. package/esm/menu/menu-sub.d.ts.map +1 -1
  86. package/esm/menu/menu-sub.js +42 -11
  87. package/esm/menu/menu-sub.js.map +1 -1
  88. package/esm/menu/menu.d.ts.map +1 -1
  89. package/esm/menu/menu.js +46 -3
  90. package/esm/menu/menu.js.map +1 -1
  91. package/esm/menu/types.d.ts +1 -0
  92. package/esm/menu/types.d.ts.map +1 -1
  93. package/esm/menu/utils.d.ts +5 -0
  94. package/esm/menu/utils.d.ts.map +1 -0
  95. package/esm/menu/utils.js +19 -0
  96. package/esm/menu/utils.js.map +1 -0
  97. package/esm/select/defaults.d.ts +3 -0
  98. package/esm/select/defaults.d.ts.map +1 -1
  99. package/esm/select/defaults.js +3 -0
  100. package/esm/select/defaults.js.map +1 -1
  101. package/esm/select/select-panel.d.ts +2 -2
  102. package/esm/select/select-panel.d.ts.map +1 -1
  103. package/esm/select/select-panel.js +6 -6
  104. package/esm/select/select-panel.js.map +1 -1
  105. package/esm/select/select.d.ts.map +1 -1
  106. package/esm/select/select.js +44 -60
  107. package/esm/select/select.js.map +1 -1
  108. package/esm/select/styled.d.ts +1 -1
  109. package/esm/select/styled.d.ts.map +1 -1
  110. package/esm/select/styled.js +4 -4
  111. package/esm/select/styled.js.map +1 -1
  112. package/esm/select/types.d.ts +1 -0
  113. package/esm/select/types.d.ts.map +1 -1
  114. package/esm/switch/styled.d.ts +1 -1
  115. package/esm/switch/styled.d.ts.map +1 -1
  116. package/esm/switch/switch.js +2 -2
  117. package/esm/switch/switch.js.map +1 -1
  118. package/esm/version-number.json +1 -1
  119. package/package.json +1 -1
@@ -33,7 +33,7 @@ import defaults from './defaults';
33
33
  import stylePresets from './style-presets';
34
34
  import { withOwnTheme } from '../utils/with-own-theme';
35
35
  var ImageComponent = React.forwardRef(function (_a, ref) {
36
- var loadingAspectRatio = _a.loadingAspectRatio, _b = _a.placeholderIcon, placeholderIcon = _b === void 0 ? false : _b, _c = _a.overrides, overrides = _c === void 0 ? {} : _c, _d = _a.renderOnServer, renderOnServer = _d === void 0 ? false : _d, loading = _a.loading, src = _a.src, _e = _a.sources, sources = _e === void 0 ? [] : _e, props = __rest(_a, ["loadingAspectRatio", "placeholderIcon", "overrides", "renderOnServer", "loading", "src", "sources"]);
36
+ var width = _a.width, height = _a.height, loadingAspectRatio = _a.loadingAspectRatio, _b = _a.placeholderIcon, placeholderIcon = _b === void 0 ? false : _b, _c = _a.overrides, overrides = _c === void 0 ? {} : _c, _d = _a.renderOnServer, renderOnServer = _d === void 0 ? false : _d, loading = _a.loading, src = _a.src, _e = _a.sources, sources = _e === void 0 ? [] : _e, props = __rest(_a, ["width", "height", "loadingAspectRatio", "placeholderIcon", "overrides", "renderOnServer", "loading", "src", "sources"]);
37
37
  var imageRef = useRef(null);
38
38
  var _f = useState(!renderOnServer), isLoading = _f[0], setIsLoading = _f[1];
39
39
  var _g = useState(false), hasError = _g[0], setError = _g[1];
@@ -83,7 +83,7 @@ var ImageComponent = React.forwardRef(function (_a, ref) {
83
83
  showLoading() && (React.createElement(StyledLoadingContainer, null, placeholderIcon && (React.createElement(StyledIconContainer, null,
84
84
  React.createElement(PlaceholderComponent, __assign({}, placeholderProps)))))),
85
85
  React.createElement(Sources, { sources: sources }),
86
- React.createElement(StyledImage, __assign({}, props, { onLoad: onLoad, onError: onError, isLoading: showLoading(), loading: loading, overrides: overrides, loadingAspectRatio: loadingAspectRatio, ref: composeRefs(imageRef, ref), src: currentSrc }))));
86
+ React.createElement(StyledImage, __assign({}, props, { width: width, height: height, onLoad: onLoad, onError: onError, isLoading: showLoading(), loading: loading, overrides: overrides, loadingAspectRatio: loadingAspectRatio, ref: composeRefs(imageRef, ref), src: currentSrc }))));
87
87
  });
88
88
  var ThemelessImage = React.memo(ImageComponent, dequal);
89
89
  export var Image = withOwnTheme(ThemelessImage)({ defaults: defaults, stylePresets: stylePresets });
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/image/image.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/image/image.tsx"],"names":[],"mappings":"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"}
@@ -6,21 +6,19 @@ import { BreakpointKeys } from '../theme/types';
6
6
  import { Override } from '../utils/overrides';
7
7
  import { LogicalMarginProps } from '../utils/logical-properties';
8
8
  declare type LoadingType = 'lazy' | 'eager';
9
- interface HTMLImageElementWithNoSizes extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'height' | 'width'> {
10
- }
11
- export declare type ImageCommonProps = {
9
+ export interface ImageCommonProps extends React.ImgHTMLAttributes<HTMLImageElement> {
12
10
  isLoading?: boolean;
13
11
  loadingAspectRatio?: MQ<string>;
14
12
  overrides?: {
15
13
  height?: MQ<HeightProperty<string>>;
16
14
  width?: MQ<WidthProperty<string>>;
17
15
  } & LogicalMarginProps;
18
- };
16
+ }
19
17
  interface ImageAlignmentProps {
20
18
  fit?: ObjectFitProperty;
21
19
  position?: ObjectPositionProperty<string>;
22
20
  }
23
- export interface StyledImageProps extends HTMLImageElementWithNoSizes, ImageAlignmentProps, ImageCommonProps {
21
+ export interface StyledImageProps extends React.ImgHTMLAttributes<HTMLImageElement>, ImageAlignmentProps, ImageCommonProps {
24
22
  loading?: LoadingType;
25
23
  overrides?: {
26
24
  maxHeight?: MQ<MaxHeightProperty<string>>;
@@ -32,7 +30,7 @@ export interface StyledPictureProps extends ImageCommonProps {
32
30
  stylePreset?: MQ<string>;
33
31
  } & ImageCommonProps['overrides'];
34
32
  }
35
- export interface ImageProps extends HTMLImageElementWithNoSizes, ImageAlignmentProps {
33
+ export interface ImageProps extends React.ImgHTMLAttributes<HTMLImageElement>, ImageAlignmentProps {
36
34
  placeholderIcon?: boolean;
37
35
  loadingAspectRatio?: MQ<string>;
38
36
  renderOnServer?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/image/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAE/D,aAAK,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,UAAU,2BACR,SAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAAG;AAEhF,oBAAY,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;KACnC,GAAG,kBAAkB,CAAC;CACxB,CAAC;AAEF,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,QAAQ,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CAC3C;AACD,MAAM,WAAW,gBACf,SAAQ,2BAA2B,EACjC,mBAAmB,EACnB,gBAAgB;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnC;AACD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;KAC1B,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnC;AACD,MAAM,WAAW,UACf,SAAQ,2BAA2B,EACjC,mBAAmB;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,eAAe,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KAC9C,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACpE,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/image/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAE/D,aAAK,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;KACnC,GAAG,kBAAkB,CAAC;CACxB;AAED,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,QAAQ,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CAC3C;AACD,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC/C,mBAAmB,EACnB,gBAAgB;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnC;AACD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;KAC1B,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnC;AACD,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC/C,mBAAmB;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,eAAe,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KAC9C,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACpE,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CACjC"}
@@ -2,7 +2,7 @@ import { BreakpointKeys } from '../theme/types';
2
2
  import { CSSObject } from '../utils/style';
3
3
  import { ThemeProp } from '../utils/style-types';
4
4
  import { ImageCommonProps } from './types';
5
- export declare const getResponsiveAspectRatioFromProps: ({ overrides, ...props }: ImageCommonProps & ThemeProp, handler: (values: {
5
+ export declare const getResponsiveAspectRatioFromProps: ({ width: propWidth, height: propHeight, overrides, ...props }: ImageCommonProps & ThemeProp, handler: (values: {
6
6
  width: string;
7
7
  height: string;
8
8
  paddingTop: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/image/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,iCAAiC,4BACrB,gBAAgB,GAAG,SAAS,oBACjC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,KAAK,MAAM,GAAG,SAAS,KACvB,MAAM,GAAG,SAkCX,CAAC;AAEF,eAAO,MAAM,aAAa,aACd,MAAM,OAAO,GAAG,IAAI,UACtB,MAAM,SAAS,CAAC,gBAAgB,CAAC,SAQ1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,cAAc,OAClB,cAAc,EAAE,KACpB,cAAc,GAAG,SAGnB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/image/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,iCAAiC,kEAMzC,gBAAgB,GAAG,SAAS,oBACb;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,KAAK,MAAM,GAAG,SAAS,KACvB,MAAM,GAAG,SAiCX,CAAC;AAEF,eAAO,MAAM,aAAa,aACd,MAAM,OAAO,GAAG,IAAI,UACtB,MAAM,SAAS,CAAC,gBAAgB,CAAC,SAQ1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,cAAc,OAClB,cAAc,EAAE,KACpB,cAAc,GAAG,SAGnB,CAAC"}
@@ -24,11 +24,9 @@ import { useEffect } from 'react';
24
24
  import { getAspectRatioStyles } from '../utils/get-aspect-ratio';
25
25
  import { handleResponsiveProp } from '../utils/style/getters';
26
26
  export var getResponsiveAspectRatioFromProps = function (_a, handler) {
27
- var overrides = _a.overrides, props = __rest(_a, ["overrides"]);
28
- /* istanbul ignore next */
29
- var overridesWidth = overrides === null || overrides === void 0 ? void 0 : overrides.width;
30
- /* istanbul ignore next */
31
- var overridesHeight = overrides === null || overrides === void 0 ? void 0 : overrides.height;
27
+ var propWidth = _a.width, propHeight = _a.height, overrides = _a.overrides, props = __rest(_a, ["width", "height", "overrides"]);
28
+ var imgWidth = overrides && overrides.width;
29
+ var imgHeight = overrides && overrides.height;
32
30
  return handleResponsiveProp({
33
31
  width: '100%',
34
32
  height: 'auto',
@@ -41,12 +39,13 @@ export var getResponsiveAspectRatioFromProps = function (_a, handler) {
41
39
  width: width,
42
40
  }), aspectWidth = _b.width, aspectHeight = _b.height, paddingTop = _b.paddingTop;
43
41
  var responsiveProps = {
44
- height: aspectHeight || 'auto',
45
- width: aspectWidth || '100%',
42
+ height: aspectHeight || (!propHeight && 'auto'),
43
+ width: aspectWidth || (!propWidth && '100%'),
46
44
  paddingTop: paddingTop || '0',
47
45
  };
46
+ // @ts-ignore
48
47
  return handler(responsiveProps);
49
- })(__assign({ width: overridesWidth, height: overridesHeight }, props));
48
+ })(__assign({ width: imgWidth, height: imgHeight }, props));
50
49
  };
51
50
  export var useClientSide = function (callback, imgRef) {
52
51
  useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/image/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,MAAM,CAAC,IAAM,iCAAiC,GAAG,UAC/C,EAAmD,EACnD,OAIwB;IALvB,IAAA,SAAS,eAAA,EAAK,KAAK,cAApB,aAAqB,CAAD;IAOpB,0BAA0B;IAC1B,IAAM,cAAc,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC;IACxC,0BAA0B;IAC1B,IAAM,eAAe,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC;IAE1C,OAAO,oBAAoB,CACzB;QACE,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,kBAAkB,EAAE,EAAE;KACvB,EACD,UAAC,EAAmC;YAAlC,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,kBAAkB,wBAAA;QAC3B,IAAA,KAIF,oBAAoB,CAAC;YACvB,WAAW,EAAE,kBAAkB;YAC/B,MAAM,QAAA;YACN,KAAK,OAAA;SACN,CAAC,EAPO,WAAW,WAAA,EACV,YAAY,YAAA,EACpB,UAAU,gBAKV,CAAC;QACH,IAAM,eAAe,GAAG;YACtB,MAAM,EAAE,YAAY,IAAI,MAAM;YAC9B,KAAK,EAAE,WAAW,IAAI,MAAM;YAC5B,UAAU,EAAE,UAAU,IAAI,GAAG;SAC9B,CAAC;QACF,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC,CACF,CAAC,WACA,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,IACpB,KAAK,CACI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,QAA8B,EAC9B,MAAyC;IAEzC,SAAS,CAAC;QACR,IAAM,YAAY,GAAG,MAAM,CAAC,OAAQ,CAAC;QACrC,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,EAAE;YACzC,QAAQ,EAAE,CAAC;SACZ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,OAAuB,EACvB,GAAqB;IAErB,IAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/image/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,MAAM,CAAC,IAAM,iCAAiC,GAAG,UAC/C,EAK+B,EAC/B,OAIwB;IATtB,IAAO,SAAS,WAAA,EACR,UAAU,YAAA,EAClB,SAAS,eAAA,EACN,KAAK,cAJV,gCAKC,CADS;IAQV,IAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9C,IAAM,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC;IAEhD,OAAO,oBAAoB,CACzB;QACE,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,kBAAkB,EAAE,EAAE;KACvB,EACD,UAAC,EAAmC;YAAlC,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,kBAAkB,wBAAA;QAC3B,IAAA,KAIF,oBAAoB,CAAC;YACvB,WAAW,EAAE,kBAAkB;YAC/B,MAAM,QAAA;YACN,KAAK,OAAA;SACN,CAAC,EAPO,WAAW,WAAA,EACV,YAAY,YAAA,EACpB,UAAU,gBAKV,CAAC;QACH,IAAM,eAAe,GAAG;YACtB,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC;YAC/C,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC;YAC5C,UAAU,EAAE,UAAU,IAAI,GAAG;SAC9B,CAAC;QACF,aAAa;QACb,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC,CACF,CAAC,WACA,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,SAAS,IACd,KAAK,CACI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,QAA8B,EAC9B,MAAyC;IAEzC,SAAS,CAAC;QACR,IAAM,YAAY,GAAG,MAAM,CAAC,OAAQ,CAAC;QACrC,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,EAAE;YACzC,QAAQ,EAAE,CAAC;SACZ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,OAAuB,EACvB,GAAqB;IAErB,IAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"style-presets.d.ts","sourceRoot":"","sources":["../../../src/link/style-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;;AAG3C,wBA4FiC"}
1
+ {"version":3,"file":"style-presets.d.ts","sourceRoot":"","sources":["../../../src/link/style-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;;AAG3C,wBA6FiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"style-presets.js","sourceRoot":"","sources":["../../../src/link/style-presets.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,eAAe;IACb,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,MAAM;SACvB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,mBAAmB;KACrC;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,MAAM;SACvB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,mBAAmB;KACrC;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,OAAO,EAAE;YACP,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE;YACf,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,mBAAmB;KACrC;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,OAAO,EAAE;YACP,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE;YACf,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;SAC9C;QACD,eAAe,EAAE,mBAAmB;KACrC;CAC6B,CAAC"}
1
+ {"version":3,"file":"style-presets.js","sourceRoot":"","sources":["../../../src/link/style-presets.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,eAAe;IACb,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,MAAM;SACvB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,mBAAmB;KACrC;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,MAAM;SACvB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,mBAAmB;KACrC;IAED,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,OAAO,EAAE;YACP,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE;YACf,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,mBAAmB;KACrC;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE;YACJ,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,KAAK,EAAE;YACL,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,OAAO,EAAE;YACP,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;YAC7C,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE;YACf,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,kCAAkC;SAC9C;QACD,eAAe,EAAE,mBAAmB;KACrC;CAC6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/link/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,cAAc,SAAU,MAAM,YAU1C,CAAC;AAEF,eAAO,MAAM,aAAa,2JAEgC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/link/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,cAAc,SAAU,MAAM,YAW1C,CAAC;AAEF,eAAO,MAAM,aAAa,2JAEgC,CAAC"}
package/esm/link/utils.js CHANGED
@@ -2,7 +2,7 @@ import defaults from './defaults';
2
2
  import stylePresets from './style-presets';
3
3
  import { withOwnTheme } from '../utils/with-own-theme';
4
4
  export var isLinkExternal = function (href) {
5
- var hostName = href.match(/^https?:\/\/(?:www\.)?([^/?#]+)(?:[/?#]|$)/i);
5
+ var hostName = href && href.match(/^https?:\/\/(?:www\.)?([^/?#]+)(?:[/?#]|$)/i);
6
6
  if (hostName && typeof window !== 'undefined') {
7
7
  var hostLocation = window.location.host;
8
8
  if (hostName[1] !== hostLocation.replace('www.', '')) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/link/utils.tsx"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,IAAY;IACzC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAE3E,IAAI,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAC7C,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,aAA0E,IACvE,OAAA,YAAY,CAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,UAAA,EAAE,YAAY,cAAA,EAAC,CAAC,EAArD,CAAqD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/link/utils.tsx"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,IAAY;IACzC,IAAM,QAAQ,GACZ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAEpE,IAAI,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAC7C,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,aAA0E,IACvE,OAAA,YAAY,CAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,UAAA,EAAE,YAAY,cAAA,EAAC,CAAC,EAArD,CAAqD,CAAC"}
@@ -1,12 +1,22 @@
1
1
  /// <reference types="react" />
2
2
  import { MenuProps } from './types';
3
+ export declare type OnExpandedChangeFn = (nestedId: string | null) => void;
3
4
  export declare const MenuContext: import("react").Context<Pick<MenuProps, "size" | "vertical" | "align" | "overrides"> & {
5
+ updateExpandedMenuSubId: OnExpandedChangeFn;
6
+ expandedMenuSubId: string | null;
4
7
  isSubMenu?: boolean | undefined;
8
+ parentSubMenuId: string | null;
5
9
  }>;
6
10
  export declare const MenuContextProvider: import("react").Provider<Pick<MenuProps, "size" | "vertical" | "align" | "overrides"> & {
11
+ updateExpandedMenuSubId: OnExpandedChangeFn;
12
+ expandedMenuSubId: string | null;
7
13
  isSubMenu?: boolean | undefined;
14
+ parentSubMenuId: string | null;
8
15
  }>;
9
16
  export declare const useMenuContext: () => Pick<MenuProps, "size" | "vertical" | "align" | "overrides"> & {
17
+ updateExpandedMenuSubId: OnExpandedChangeFn;
18
+ expandedMenuSubId: string | null;
10
19
  isSubMenu?: boolean | undefined;
20
+ parentSubMenuId: string | null;
11
21
  };
12
22
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/menu/context.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,eAAO,MAAM,WAAW;;EAInB,CAAC;AACN,eAAO,MAAM,mBAAmB;;EAAuB,CAAC;AAExD,eAAO,MAAM,cAAc;;CAe1B,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/menu/context.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,oBAAY,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AASnE,eAAO,MAAM,WAAW;6BAGK,kBAAkB;uBAExB,MAAM,GAAG,IAAI;;qBAEf,MAAM,GAAG,IAAI;EAET,CAAC;AAC1B,eAAO,MAAM,mBAAmB;6BAPH,kBAAkB;uBAExB,MAAM,GAAG,IAAI;;qBAEf,MAAM,GAAG,IAAI;EAGqB,CAAC;AAExD,eAAO,MAAM,cAAc;6BATE,kBAAkB;uBAExB,MAAM,GAAG,IAAI;;qBAEf,MAAM,GAAG,IAAI;CAoBjC,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import { createContext, useContext } from 'react';
2
- export var MenuContext = createContext({});
2
+ /* istanbul ignore next */
3
+ var defaultMenuContextArgs = {
4
+ updateExpandedMenuSubId: function () { },
5
+ expandedMenuSubId: null,
6
+ parentSubMenuId: null,
7
+ };
8
+ export var MenuContext = createContext(defaultMenuContextArgs);
3
9
  export var MenuContextProvider = MenuContext.Provider;
4
10
  export var useMenuContext = function () {
5
11
  var context = useContext(MenuContext);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/menu/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAGhD,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAItC,EAAE,CAAC,CAAC;AACN,MAAM,CAAC,IAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC;AAExD,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,wBAAwB;IACxB,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EACjC;QACA,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,iEAAiE,CAClE,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/menu/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAKhD,0BAA0B;AAC1B,IAAM,sBAAsB,GAAG;IAC7B,uBAAuB,EAAE,cAAO,CAAC;IACjC,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAStC,sBAAsB,CAAC,CAAC;AAC1B,MAAM,CAAC,IAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC;AAExD,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,wBAAwB;IACxB,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EACjC;QACA,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,iEAAiE,CAClE,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../src/menu/menu-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAOtC,eAAO,MAAM,QAAQ,qFA2DpB,CAAC"}
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../src/menu/menu-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAOtC,eAAO,MAAM,QAAQ,qFAuEpB,CAAC"}
@@ -27,13 +27,21 @@ import { useTheme } from '../theme';
27
27
  import { filterOutFalsyProperties } from '../utils/filter-object';
28
28
  import { get } from '../utils/get';
29
29
  export var MenuItem = React.forwardRef(function (_a, ref) {
30
- var overrides = _a.overrides, children = _a.children, selected = _a.selected, _b = _a.eventContext, eventContext = _b === void 0 ? {} : _b, _c = _a.eventOriginator, eventOriginator = _c === void 0 ? 'menu-item' : _c, rest = __rest(_a, ["overrides", "children", "selected", "eventContext", "eventOriginator"]);
31
- var _d = useMenuContext(), vertical = _d.vertical, size = _d.size, align = _d.align, menuOverrides = _d.overrides, isSubMenu = _d.isSubMenu;
30
+ var overrides = _a.overrides, children = _a.children, selected = _a.selected, _b = _a.eventContext, eventContext = _b === void 0 ? {} : _b, _c = _a.eventOriginator, eventOriginator = _c === void 0 ? 'menu-item' : _c, onClickProp = _a.onClick, rest = __rest(_a, ["overrides", "children", "selected", "eventContext", "eventOriginator", "onClick"]);
31
+ var _d = useMenuContext(), vertical = _d.vertical, size = _d.size, align = _d.align, menuOverrides = _d.overrides, updateExpandedMenuSubId = _d.updateExpandedMenuSubId, isSubMenu = _d.isSubMenu;
32
+ var onClick = function (e) {
33
+ if (!vertical) {
34
+ updateExpandedMenuSubId(null);
35
+ }
36
+ if (onClickProp) {
37
+ onClickProp(e);
38
+ }
39
+ };
32
40
  var theme = useTheme();
33
41
  var menuItemOverrides = __assign(__assign({}, get(theme.componentDefaults, "".concat(isSubMenu ? 'menuSubItem' : 'menuItem', ".").concat(vertical ? 'vertical' : 'horizontal'))), filterOutFalsyProperties(overrides));
34
42
  var buttonProps = __assign(__assign({}, rest), { selected: selected, size: size });
35
43
  return (React.createElement(StyledMenuItem, { className: "nk-menu-item", vertical: vertical, overrides: menuOverrides, ref: ref },
36
- React.createElement(StyledButton, __assign({}, buttonProps, { align: align, eventContext: __assign({ href: rest.href }, eventContext), eventOriginator: eventOriginator, overrides: __assign({}, menuItemOverrides), "aria-current": selected && 'page' }), children)));
44
+ React.createElement(StyledButton, __assign({}, buttonProps, { align: align, eventContext: __assign({ href: rest.href }, eventContext), eventOriginator: eventOriginator, overrides: __assign({}, menuItemOverrides), "aria-current": selected && 'page', onClick: onClick }), children)));
37
45
  });
38
46
  MenuItem.displayName = 'MenuItem';
39
47
  //# sourceMappingURL=menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../src/menu/menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AAEjC,MAAM,CAAC,IAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACtC,UACE,EAOC,EACD,GAAG;IAPD,IAAA,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,uBAA6B,EAA7B,eAAe,mBAAG,WAAW,KAAA,EAC1B,IAAI,cANT,wEAOC,CADQ;IAIH,IAAA,KAMF,cAAc,EAAE,EALlB,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,KAAK,WAAA,EACM,aAAa,eAAA,EACxB,SAAS,eACS,CAAC;IAErB,IAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAM,iBAAiB,yBAClB,GAAG,CACJ,KAAK,CAAC,iBAAiB,EACvB,UAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,cACvC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CACpC,CACH,GACE,wBAAwB,CAAC,SAAS,CAAC,CACvC,CAAC;IAEF,IAAM,WAAW,yBACZ,IAAI,KACP,QAAQ,UAAA,EACR,IAAI,MAAA,GACL,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,GAAG;QAER,oBAAC,YAAY,eACP,WAAW,IACf,KAAK,EAAE,KAAK,EACZ,YAAY,aAAG,IAAI,EAAE,IAAI,CAAC,IAAI,IAAK,YAAY,GAC/C,eAAe,EAAE,eAAe,EAChC,SAAS,eACJ,iBAAiB,mBAER,QAAQ,IAAI,MAAM,KAE/B,QAAQ,CACI,CACA,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../src/menu/menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AAEjC,MAAM,CAAC,IAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACtC,UACE,EAQC,EACD,GAAG;IARD,IAAA,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,uBAA6B,EAA7B,eAAe,mBAAG,WAAW,KAAA,EACpB,WAAW,aAAA,EACjB,IAAI,cAPT,mFAQC,CADQ;IAIH,IAAA,KAOF,cAAc,EAAE,EANlB,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,KAAK,WAAA,EACM,aAAa,eAAA,EACxB,uBAAuB,6BAAA,EACvB,SAAS,eACS,CAAC;IAErB,IAAM,OAAO,GAA6B,UAAA,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE;YACb,uBAAuB,CAAC,IAAI,CAAC,CAAC;SAC/B;QACD,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,CAAC,CAAC,CAAC;SAChB;IACH,CAAC,CAAC;IAEF,IAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAM,iBAAiB,yBAClB,GAAG,CACJ,KAAK,CAAC,iBAAiB,EACvB,UAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,cACvC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CACpC,CACH,GACE,wBAAwB,CAAC,SAAS,CAAC,CACvC,CAAC;IAEF,IAAM,WAAW,yBACZ,IAAI,KACP,QAAQ,UAAA,EACR,IAAI,MAAA,GACL,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,GAAG;QAER,oBAAC,YAAY,eACP,WAAW,IACf,KAAK,EAAE,KAAK,EACZ,YAAY,aAAG,IAAI,EAAE,IAAI,CAAC,IAAI,IAAK,YAAY,GAC/C,eAAe,EAAE,eAAe,EAChC,SAAS,eACJ,iBAAiB,mBAER,QAAQ,IAAI,MAAM,EAChC,OAAO,EAAE,OAAO,KAEf,QAAQ,CACI,CACA,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
@@ -5,6 +5,7 @@ export declare const MenuSub: React.ForwardRefExoticComponent<Omit<import("./typ
5
5
  href?: string | undefined;
6
6
  expanded?: boolean | undefined;
7
7
  defaultExpanded?: boolean | undefined;
8
+ align?: import("./types").MenuItemAlign | undefined;
8
9
  overrides?: ({
9
10
  indicatorIcon?: import("../utils/overrides").Override<MenuSubIconProps>;
10
11
  list?: ({
@@ -1 +1 @@
1
- {"version":3,"file":"menu-sub.d.ts","sourceRoot":"","sources":["../../../src/menu/menu-sub.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,gBAAgB,EAAe,MAAM,SAAS,CAAC;AA2BvD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCA4FnB,CAAC"}
1
+ {"version":3,"file":"menu-sub.d.ts","sourceRoot":"","sources":["../../../src/menu/menu-sub.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAC,gBAAgB,EAAe,MAAM,SAAS,CAAC;AA4BvD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAsInB,CAAC"}
@@ -20,7 +20,8 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- import React from 'react';
23
+ import React, { useEffect } from 'react';
24
+ import { useId } from '@floating-ui/react-dom-interactions';
24
25
  import { MenuContextProvider, useMenuContext } from './context';
25
26
  import { StyledButton, StyledMenuItem, StyledUl } from './styled';
26
27
  import { useTheme } from '../theme';
@@ -30,24 +31,54 @@ import { useControlled } from '../utils/hooks';
30
31
  import { composeEventHandlers } from '../utils/compose-event-handlers';
31
32
  import { IconFilledExpandLess, IconFilledExpandMore } from '../icons';
32
33
  import { getComponentOverrides } from '../utils/overrides';
34
+ import { buildNestedId, isDescendant } from './utils';
33
35
  var DefaultIcon = function (_a) {
34
36
  var expanded = _a.expanded, overrides = _a.overrides;
35
37
  return expanded ? (React.createElement(IconFilledExpandLess, { overrides: __assign({ size: 'iconSize020' }, overrides) })) : (React.createElement(IconFilledExpandMore, { overrides: __assign({ size: 'iconSize020' }, overrides) }));
36
38
  };
37
39
  export var MenuSub = React.forwardRef(function (_a, ref) {
38
- var overrides = _a.overrides, children = _a.children, title = _a.title, selected = _a.selected, expandedProp = _a.expanded, defaultExpanded = _a.defaultExpanded, onClick = _a.onClick, rest = __rest(_a, ["overrides", "children", "title", "selected", "expanded", "defaultExpanded", "onClick"]);
39
- var _b = useControlled({
40
+ var overrides = _a.overrides, children = _a.children, title = _a.title, selected = _a.selected, expandedProp = _a.expanded, _b = _a.defaultExpanded, defaultExpanded = _b === void 0 ? false : _b, onClick = _a.onClick, menuSubAlign = _a.align, rest = __rest(_a, ["overrides", "children", "title", "selected", "expanded", "defaultExpanded", "onClick", "align"]);
41
+ var _c = useControlled({
40
42
  controlledValue: expandedProp,
41
43
  defaultValue: defaultExpanded,
42
- }), isExpanded = _b[0], setIsExpanded = _b[1];
43
- var _c = getComponentOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.indicatorIcon, DefaultIcon, {
44
+ }), isExpanded = _c[0], setIsExpanded = _c[1];
45
+ var menuContext = useMenuContext();
46
+ var vertical = menuContext.vertical, size = menuContext.size, menuAlign = menuContext.align, menuOverrides = menuContext.overrides, isSubMenu = menuContext.isSubMenu, parentSubMenuId = menuContext.parentSubMenuId, updateExpandedMenuSubId = menuContext.updateExpandedMenuSubId, expandedMenuSubId = menuContext.expandedMenuSubId;
47
+ var align = menuSubAlign || menuAlign;
48
+ var id = useId();
49
+ var nestedId = buildNestedId(id, parentSubMenuId);
50
+ useEffect(function () {
51
+ if (!expandedMenuSubId) {
52
+ // all sub menus have been collapsed
53
+ setIsExpanded(false);
54
+ }
55
+ else if (expandedMenuSubId === nestedId ||
56
+ isDescendant(nestedId, expandedMenuSubId)) {
57
+ // this sub menu or one of its descendants has been expanded
58
+ setIsExpanded(true);
59
+ }
60
+ else if (isDescendant(expandedMenuSubId, nestedId)) {
61
+ // this sub menu's ancestor is expanded
62
+ setIsExpanded(false);
63
+ }
64
+ else if (!vertical) {
65
+ // another sub menu elsewhere in the tree has been expanded
66
+ setIsExpanded(false);
67
+ }
68
+ }, [vertical, nestedId, expandedMenuSubId, setIsExpanded]);
69
+ var _d = getComponentOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.indicatorIcon, DefaultIcon, {
44
70
  expanded: isExpanded,
45
- }), IndicatorIcon = _c[0], indicatorIconProps = _c[1];
71
+ }), IndicatorIcon = _d[0], indicatorIconProps = _d[1];
72
+ // Inform the parent context that this sub menu has been clicked.
46
73
  var handleClick = React.useCallback(function () {
47
- setIsExpanded(!isExpanded);
48
- }, [isExpanded, setIsExpanded]);
49
- var menuContext = useMenuContext();
50
- var vertical = menuContext.vertical, size = menuContext.size, align = menuContext.align, menuOverrides = menuContext.overrides, isSubMenu = menuContext.isSubMenu;
74
+ updateExpandedMenuSubId(nestedId);
75
+ }, [nestedId, updateExpandedMenuSubId]);
76
+ // Set the initial expanded state of this sub menu in the parent context.
77
+ useEffect(function () {
78
+ if (defaultExpanded) {
79
+ updateExpandedMenuSubId(nestedId);
80
+ }
81
+ }, []);
51
82
  var theme = useTheme();
52
83
  var menuItemOverrides = __assign(__assign({}, get(theme.componentDefaults, "".concat(isSubMenu ? 'menuSubItem' : 'menuItem', ".").concat(vertical ? 'vertical' : 'horizontal'))), filterOutFalsyProperties(overrides));
53
84
  var buttonProps = __assign(__assign({}, rest), { selected: selected, size: size });
@@ -55,7 +86,7 @@ export var MenuSub = React.forwardRef(function (_a, ref) {
55
86
  React.createElement(StyledButton, __assign({}, buttonProps, { align: align, selected: selected, onClick: composeEventHandlers([handleClick, onClick]), "aria-expanded": isExpanded, "data-testid": "menu-sub-button", overrides: __assign({}, menuItemOverrides) }),
56
87
  title,
57
88
  React.createElement(IndicatorIcon, __assign({}, indicatorIconProps))),
58
- React.createElement(MenuContextProvider, { value: __assign(__assign({}, menuContext), { isSubMenu: true }) },
89
+ React.createElement(MenuContextProvider, { value: __assign(__assign({}, menuContext), { isSubMenu: true, parentSubMenuId: nestedId, align: align }) },
59
90
  React.createElement(StyledUl, { expanded: isExpanded, vertical: vertical, overrides: overrides }, children))));
60
91
  });
61
92
  MenuSub.displayName = 'MenuSub';
@@ -1 +1 @@
1
- {"version":3,"file":"menu-sub.js","sourceRoot":"","sources":["../../../src/menu/menu-sub.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-sub.js","sourceRoot":"","sources":["../../../src/menu/menu-sub.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAgB,SAAS,EAAC,MAAM,SAAS,CAAC;AA6CjD,eAAO,MAAM,IAAI,wGAAwD,CAAC"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAgB,SAAS,EAAC,MAAM,SAAS,CAAC;AA0FjD,eAAO,MAAM,IAAI,wGAAwD,CAAC"}
package/esm/menu/menu.js CHANGED
@@ -20,12 +20,14 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- import React from 'react';
23
+ import React, { useEffect, useRef, useState } from 'react';
24
+ import composeRefs from '@seznam/compose-react-refs';
24
25
  import { MenuContextProvider } from './context';
25
26
  import { StyledMenu } from './styled';
26
27
  import defaults from './defaults';
27
28
  import stylePresets from './style-presets';
28
29
  import { withOwnTheme } from '../utils/with-own-theme';
30
+ import { getParentId, isDescendant } from './utils';
29
31
  var getAlign = function (align, vertical) {
30
32
  if (!align) {
31
33
  return vertical ? 'start' : 'center';
@@ -35,8 +37,49 @@ var getAlign = function (align, vertical) {
35
37
  var ThemelessMenu = React.forwardRef(function (_a, ref) {
36
38
  var overrides = _a.overrides, children = _a.children, _b = _a.vertical, vertical = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'medium' : _c, passedAlign = _a.align, rest = __rest(_a, ["overrides", "children", "vertical", "size", "align"]);
37
39
  var align = getAlign(passedAlign, vertical);
38
- return (React.createElement(MenuContextProvider, { value: { vertical: vertical, size: size, align: align, overrides: overrides } },
39
- React.createElement(StyledMenu, __assign({ role: "navigation", "data-testid": "menu-container", overrides: overrides, vertical: vertical, ref: ref }, rest),
40
+ var _d = useState(null), expandedMenuSubId = _d[0], setExpandedMenuSubId = _d[1];
41
+ var updateExpandedMenuSubId = function (id) {
42
+ if (!id) {
43
+ setExpandedMenuSubId(null);
44
+ }
45
+ else if (!expandedMenuSubId) {
46
+ // no sub menu currently expanded
47
+ setExpandedMenuSubId(id);
48
+ }
49
+ else if (expandedMenuSubId === id) {
50
+ // the currently expanded sub menu has been clicked
51
+ setExpandedMenuSubId(getParentId(id));
52
+ }
53
+ else if (isDescendant(id, expandedMenuSubId)) {
54
+ // the parent of the currently expanded sub menu has been clicked
55
+ setExpandedMenuSubId(getParentId(id));
56
+ }
57
+ else {
58
+ // any other sub menu has been clicked
59
+ setExpandedMenuSubId(id);
60
+ }
61
+ };
62
+ var menuRef = useRef(null);
63
+ useEffect(function () {
64
+ document.addEventListener("click", function (_a) {
65
+ var target = _a.target;
66
+ if (menuRef.current &&
67
+ !menuRef.current.contains(target) &&
68
+ !vertical) {
69
+ setExpandedMenuSubId(null);
70
+ }
71
+ });
72
+ }, [vertical]);
73
+ return (React.createElement(MenuContextProvider, { value: {
74
+ vertical: vertical,
75
+ size: size,
76
+ align: align,
77
+ overrides: overrides,
78
+ updateExpandedMenuSubId: updateExpandedMenuSubId,
79
+ expandedMenuSubId: expandedMenuSubId,
80
+ parentSubMenuId: null,
81
+ } },
82
+ React.createElement(StyledMenu, __assign({ role: "navigation", "data-testid": "menu-container", overrides: overrides, vertical: vertical, ref: composeRefs(ref, menuRef) }, rest),
40
83
  React.createElement("ul", { role: "list" }, children))));
41
84
  });
42
85
  export var Menu = withOwnTheme(ThemelessMenu)({ defaults: defaults, stylePresets: stylePresets });
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/menu/menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,IAAM,QAAQ,GAAG,UAAC,KAAgC,EAAE,QAAiB;IACnE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;KACtC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACpC,UACE,EAOC,EACD,GAAG;IAPD,IAAA,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACR,WAAW,WAAA,EACf,IAAI,cANT,sDAOC,CADQ;IAIT,IAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,mBAAmB,IAAC,KAAK,EAAE,EAAC,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAC;QAC5D,oBAAC,UAAU,aACT,IAAI,EAAC,YAAY,iBACL,gBAAgB,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,IACJ,IAAI;YAGR,4BAAI,IAAI,EAAC,MAAM,IAAE,QAAQ,CAAM,CACpB,CACO,CACvB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,UAAA,EAAE,YAAY,cAAA,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/menu/menu.tsx"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export declare type MenuSubProps = Omit<MenuItemProps, 'title' | 'overrides' | '
46
46
  href?: string;
47
47
  expanded?: boolean;
48
48
  defaultExpanded?: boolean;
49
+ align?: MenuItemAlign;
49
50
  overrides?: {
50
51
  indicatorIcon?: Override<MenuSubIconProps>;
51
52
  list?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/menu/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/menu/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const buildNestedId: (id: string, parentId: string | null) => string;
2
+ export declare const getIdDepth: (id: string) => number;
3
+ export declare const isDescendant: (id: string, descendantId: string) => boolean;
4
+ export declare const getParentId: (id: string) => string | null;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/menu/utils.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,OAAQ,MAAM,YAAY,MAAM,GAAG,IAAI,KAAG,MAC/B,CAAC;AAEtC,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,MACM,CAAC;AAE/C,eAAO,MAAM,YAAY,OAAQ,MAAM,gBAAgB,MAAM,KAAG,OACG,CAAC;AAEpE,eAAO,MAAM,WAAW,OAAQ,MAAM,KAAG,MAAM,GAAG,IAI5B,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Note: using an immutable concatenated string ID (instead of an array of strings)
2
+ // so that useEffect hooks do not repeatedly fire when ref changes but value
3
+ // remains the same.
4
+ export var buildNestedId = function (id, parentId) {
5
+ return parentId ? "".concat(parentId, "|").concat(id) : id;
6
+ };
7
+ export var getIdDepth = function (id) {
8
+ return id.length - id.replace(/\|/g, '').length + 1;
9
+ };
10
+ export var isDescendant = function (id, descendantId) {
11
+ return id === descendantId.split('|').slice(0, getIdDepth(id)).join('|');
12
+ };
13
+ export var getParentId = function (id) {
14
+ return id
15
+ .split('|')
16
+ .slice(0, getIdDepth(id) - 1)
17
+ .join('|') || null;
18
+ };
19
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/menu/utils.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4EAA4E;AAC5E,oBAAoB;AAEpB,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAAU,EAAE,QAAuB;IAC/D,OAAA,QAAQ,CAAC,CAAC,CAAC,UAAG,QAAQ,cAAI,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;AAAnC,CAAmC,CAAC;AAEtC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAAU;IACnC,OAAA,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;AAA5C,CAA4C,CAAC;AAE/C,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,EAAU,EAAE,YAAoB;IAC3D,OAAA,EAAE,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAAjE,CAAiE,CAAC;AAEpE,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,EAAU;IACpC,OAAA,EAAE;SACC,KAAK,CAAC,GAAG,CAAC;SACV,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI;AAHpB,CAGoB,CAAC"}
@@ -30,6 +30,7 @@ declare const _default: {
30
30
  stylePreset: string;
31
31
  maxHeight: string;
32
32
  spaceInset: string;
33
+ zIndex: string;
33
34
  };
34
35
  modal: {
35
36
  panel: {
@@ -67,6 +68,7 @@ declare const _default: {
67
68
  stylePreset: string;
68
69
  maxHeight: string;
69
70
  spaceInset: string;
71
+ zIndex: string;
70
72
  };
71
73
  modal: {
72
74
  panel: {
@@ -104,6 +106,7 @@ declare const _default: {
104
106
  stylePreset: string;
105
107
  maxHeight: string;
106
108
  spaceInset: string;
109
+ zIndex: string;
107
110
  };
108
111
  modal: {
109
112
  panel: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/select/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwJE"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/select/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA2JE"}
@@ -31,6 +31,7 @@ export default {
31
31
  stylePreset: 'selectPanel',
32
32
  maxHeight: '184px',
33
33
  spaceInset: 'spaceInset020',
34
+ zIndex: 'layer',
34
35
  },
35
36
  modal: {
36
37
  panel: {
@@ -69,6 +70,7 @@ export default {
69
70
  stylePreset: 'selectPanel',
70
71
  maxHeight: '272px',
71
72
  spaceInset: 'spaceInset020',
73
+ zIndex: 'layer',
72
74
  },
73
75
  modal: {
74
76
  panel: {
@@ -107,6 +109,7 @@ export default {
107
109
  stylePreset: 'selectPanel',
108
110
  maxHeight: '360px',
109
111
  spaceInset: 'spaceInset020',
112
+ zIndex: 'layer',
110
113
  },
111
114
  modal: {
112
115
  panel: {