newskit 6.7.0 → 6.9.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 (205) hide show
  1. package/cjs/accordion/accordion.d.ts.map +1 -1
  2. package/cjs/accordion/accordion.js +6 -4
  3. package/cjs/accordion/accordion.js.map +1 -1
  4. package/cjs/audio-player-composable/components/volume-control/volume-control.d.ts.map +1 -1
  5. package/cjs/audio-player-composable/components/volume-control/volume-control.js +2 -1
  6. package/cjs/audio-player-composable/components/volume-control/volume-control.js.map +1 -1
  7. package/cjs/base-floating-element/base-floating-element.d.ts.map +1 -1
  8. package/cjs/base-floating-element/base-floating-element.js +14 -10
  9. package/cjs/base-floating-element/base-floating-element.js.map +1 -1
  10. package/cjs/base-floating-element/types.d.ts +2 -1
  11. package/cjs/base-floating-element/types.d.ts.map +1 -1
  12. package/cjs/base-switch/styled.d.ts.map +1 -1
  13. package/cjs/base-switch/styled.js +3 -1
  14. package/cjs/base-switch/styled.js.map +1 -1
  15. package/cjs/breadcrumbs/defaults.d.ts +6 -3
  16. package/cjs/breadcrumbs/defaults.d.ts.map +1 -1
  17. package/cjs/breadcrumbs/defaults.js +6 -3
  18. package/cjs/breadcrumbs/defaults.js.map +1 -1
  19. package/cjs/drawer/drawer.d.ts.map +1 -1
  20. package/cjs/drawer/drawer.js +2 -1
  21. package/cjs/drawer/drawer.js.map +1 -1
  22. package/cjs/form/form-input.d.ts.map +1 -1
  23. package/cjs/form/form-input.js +1 -1
  24. package/cjs/form/form-input.js.map +1 -1
  25. package/cjs/image/image.d.ts.map +1 -1
  26. package/cjs/image/image.js +2 -2
  27. package/cjs/image/image.js.map +1 -1
  28. package/cjs/image/types.d.ts +4 -6
  29. package/cjs/image/types.d.ts.map +1 -1
  30. package/cjs/image/utils.d.ts +1 -1
  31. package/cjs/image/utils.d.ts.map +1 -1
  32. package/cjs/image/utils.js +7 -8
  33. package/cjs/image/utils.js.map +1 -1
  34. package/cjs/link/style-presets.d.ts.map +1 -1
  35. package/cjs/link/style-presets.js.map +1 -1
  36. package/cjs/link/utils.d.ts.map +1 -1
  37. package/cjs/link/utils.js +1 -1
  38. package/cjs/link/utils.js.map +1 -1
  39. package/cjs/menu/context.d.ts +10 -0
  40. package/cjs/menu/context.d.ts.map +1 -1
  41. package/cjs/menu/context.js +7 -1
  42. package/cjs/menu/context.js.map +1 -1
  43. package/cjs/menu/menu-item.d.ts.map +1 -1
  44. package/cjs/menu/menu-item.js +11 -3
  45. package/cjs/menu/menu-item.js.map +1 -1
  46. package/cjs/menu/menu-sub.d.ts +1 -0
  47. package/cjs/menu/menu-sub.d.ts.map +1 -1
  48. package/cjs/menu/menu-sub.js +61 -14
  49. package/cjs/menu/menu-sub.js.map +1 -1
  50. package/cjs/menu/menu.d.ts.map +1 -1
  51. package/cjs/menu/menu.js +65 -3
  52. package/cjs/menu/menu.js.map +1 -1
  53. package/cjs/menu/types.d.ts +1 -0
  54. package/cjs/menu/types.d.ts.map +1 -1
  55. package/cjs/menu/utils.d.ts +5 -0
  56. package/cjs/menu/utils.d.ts.map +1 -0
  57. package/cjs/menu/utils.js +26 -0
  58. package/cjs/menu/utils.js.map +1 -0
  59. package/cjs/modal/modal.d.ts.map +1 -1
  60. package/cjs/modal/modal.js +2 -1
  61. package/cjs/modal/modal.js.map +1 -1
  62. package/cjs/overlay/overlay.d.ts.map +1 -1
  63. package/cjs/overlay/overlay.js +7 -5
  64. package/cjs/overlay/overlay.js.map +1 -1
  65. package/cjs/popover/popover.d.ts.map +1 -1
  66. package/cjs/popover/popover.js +9 -4
  67. package/cjs/popover/popover.js.map +1 -1
  68. package/cjs/select/defaults.d.ts +3 -0
  69. package/cjs/select/defaults.d.ts.map +1 -1
  70. package/cjs/select/defaults.js +3 -0
  71. package/cjs/select/defaults.js.map +1 -1
  72. package/cjs/select/select-panel.d.ts +2 -2
  73. package/cjs/select/select-panel.d.ts.map +1 -1
  74. package/cjs/select/select-panel.js +6 -6
  75. package/cjs/select/select-panel.js.map +1 -1
  76. package/cjs/select/select.d.ts.map +1 -1
  77. package/cjs/select/select.js +76 -69
  78. package/cjs/select/select.js.map +1 -1
  79. package/cjs/select/styled.d.ts +1 -1
  80. package/cjs/select/styled.d.ts.map +1 -1
  81. package/cjs/select/styled.js +4 -4
  82. package/cjs/select/styled.js.map +1 -1
  83. package/cjs/select/types.d.ts +3 -0
  84. package/cjs/select/types.d.ts.map +1 -1
  85. package/cjs/switch/styled.d.ts +1 -1
  86. package/cjs/switch/styled.d.ts.map +1 -1
  87. package/cjs/switch/switch.js +2 -2
  88. package/cjs/switch/switch.js.map +1 -1
  89. package/cjs/tabs/utils.d.ts +1 -1
  90. package/cjs/tabs/utils.js +1 -1
  91. package/cjs/tabs/utils.js.map +1 -1
  92. package/cjs/tooltip/tooltip.d.ts +1 -1
  93. package/cjs/tooltip/types.d.ts +1 -1
  94. package/cjs/tooltip/types.d.ts.map +1 -1
  95. package/cjs/utils/audio-tests.d.ts.map +1 -1
  96. package/cjs/utils/audio-tests.js +1 -0
  97. package/cjs/utils/audio-tests.js.map +1 -1
  98. package/cjs/utils/text-crop.d.ts +14 -14
  99. package/cjs/utils/text-crop.d.ts.map +1 -1
  100. package/cjs/utils/text-crop.js +15 -4
  101. package/cjs/utils/text-crop.js.map +1 -1
  102. package/cjs/version-number.json +1 -1
  103. package/esm/accordion/accordion.d.ts.map +1 -1
  104. package/esm/accordion/accordion.js +6 -4
  105. package/esm/accordion/accordion.js.map +1 -1
  106. package/esm/audio-player-composable/components/volume-control/volume-control.d.ts.map +1 -1
  107. package/esm/audio-player-composable/components/volume-control/volume-control.js +2 -1
  108. package/esm/audio-player-composable/components/volume-control/volume-control.js.map +1 -1
  109. package/esm/base-floating-element/base-floating-element.d.ts.map +1 -1
  110. package/esm/base-floating-element/base-floating-element.js +14 -10
  111. package/esm/base-floating-element/base-floating-element.js.map +1 -1
  112. package/esm/base-floating-element/types.d.ts +2 -1
  113. package/esm/base-floating-element/types.d.ts.map +1 -1
  114. package/esm/base-switch/styled.d.ts.map +1 -1
  115. package/esm/base-switch/styled.js +3 -1
  116. package/esm/base-switch/styled.js.map +1 -1
  117. package/esm/breadcrumbs/defaults.d.ts +6 -3
  118. package/esm/breadcrumbs/defaults.d.ts.map +1 -1
  119. package/esm/breadcrumbs/defaults.js +6 -3
  120. package/esm/breadcrumbs/defaults.js.map +1 -1
  121. package/esm/drawer/drawer.d.ts.map +1 -1
  122. package/esm/drawer/drawer.js +2 -1
  123. package/esm/drawer/drawer.js.map +1 -1
  124. package/esm/form/form-input.d.ts.map +1 -1
  125. package/esm/form/form-input.js +1 -1
  126. package/esm/form/form-input.js.map +1 -1
  127. package/esm/image/image.d.ts.map +1 -1
  128. package/esm/image/image.js +2 -2
  129. package/esm/image/image.js.map +1 -1
  130. package/esm/image/types.d.ts +4 -6
  131. package/esm/image/types.d.ts.map +1 -1
  132. package/esm/image/utils.d.ts +1 -1
  133. package/esm/image/utils.d.ts.map +1 -1
  134. package/esm/image/utils.js +7 -8
  135. package/esm/image/utils.js.map +1 -1
  136. package/esm/link/style-presets.d.ts.map +1 -1
  137. package/esm/link/style-presets.js.map +1 -1
  138. package/esm/link/utils.d.ts.map +1 -1
  139. package/esm/link/utils.js +1 -1
  140. package/esm/link/utils.js.map +1 -1
  141. package/esm/menu/context.d.ts +10 -0
  142. package/esm/menu/context.d.ts.map +1 -1
  143. package/esm/menu/context.js +7 -1
  144. package/esm/menu/context.js.map +1 -1
  145. package/esm/menu/menu-item.d.ts.map +1 -1
  146. package/esm/menu/menu-item.js +11 -3
  147. package/esm/menu/menu-item.js.map +1 -1
  148. package/esm/menu/menu-sub.d.ts +1 -0
  149. package/esm/menu/menu-sub.d.ts.map +1 -1
  150. package/esm/menu/menu-sub.js +42 -11
  151. package/esm/menu/menu-sub.js.map +1 -1
  152. package/esm/menu/menu.d.ts.map +1 -1
  153. package/esm/menu/menu.js +46 -3
  154. package/esm/menu/menu.js.map +1 -1
  155. package/esm/menu/types.d.ts +1 -0
  156. package/esm/menu/types.d.ts.map +1 -1
  157. package/esm/menu/utils.d.ts +5 -0
  158. package/esm/menu/utils.d.ts.map +1 -0
  159. package/esm/menu/utils.js +19 -0
  160. package/esm/menu/utils.js.map +1 -0
  161. package/esm/modal/modal.d.ts.map +1 -1
  162. package/esm/modal/modal.js +2 -1
  163. package/esm/modal/modal.js.map +1 -1
  164. package/esm/overlay/overlay.d.ts.map +1 -1
  165. package/esm/overlay/overlay.js +7 -5
  166. package/esm/overlay/overlay.js.map +1 -1
  167. package/esm/popover/popover.d.ts.map +1 -1
  168. package/esm/popover/popover.js +9 -4
  169. package/esm/popover/popover.js.map +1 -1
  170. package/esm/select/defaults.d.ts +3 -0
  171. package/esm/select/defaults.d.ts.map +1 -1
  172. package/esm/select/defaults.js +3 -0
  173. package/esm/select/defaults.js.map +1 -1
  174. package/esm/select/select-panel.d.ts +2 -2
  175. package/esm/select/select-panel.d.ts.map +1 -1
  176. package/esm/select/select-panel.js +6 -6
  177. package/esm/select/select-panel.js.map +1 -1
  178. package/esm/select/select.d.ts.map +1 -1
  179. package/esm/select/select.js +78 -71
  180. package/esm/select/select.js.map +1 -1
  181. package/esm/select/styled.d.ts +1 -1
  182. package/esm/select/styled.d.ts.map +1 -1
  183. package/esm/select/styled.js +4 -4
  184. package/esm/select/styled.js.map +1 -1
  185. package/esm/select/types.d.ts +3 -0
  186. package/esm/select/types.d.ts.map +1 -1
  187. package/esm/switch/styled.d.ts +1 -1
  188. package/esm/switch/styled.d.ts.map +1 -1
  189. package/esm/switch/switch.js +2 -2
  190. package/esm/switch/switch.js.map +1 -1
  191. package/esm/tabs/utils.d.ts +1 -1
  192. package/esm/tabs/utils.js +1 -1
  193. package/esm/tabs/utils.js.map +1 -1
  194. package/esm/tooltip/tooltip.d.ts +1 -1
  195. package/esm/tooltip/types.d.ts +1 -1
  196. package/esm/tooltip/types.d.ts.map +1 -1
  197. package/esm/utils/audio-tests.d.ts.map +1 -1
  198. package/esm/utils/audio-tests.js +1 -0
  199. package/esm/utils/audio-tests.js.map +1 -1
  200. package/esm/utils/text-crop.d.ts +14 -14
  201. package/esm/utils/text-crop.d.ts.map +1 -1
  202. package/esm/utils/text-crop.js +15 -4
  203. package/esm/utils/text-crop.js.map +1 -1
  204. package/esm/version-number.json +1 -1
  205. package/package.json +1 -1
@@ -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"}
@@ -27,11 +27,9 @@ var react_1 = require("react");
27
27
  var get_aspect_ratio_1 = require("../utils/get-aspect-ratio");
28
28
  var getters_1 = require("../utils/style/getters");
29
29
  var getResponsiveAspectRatioFromProps = function (_a, handler) {
30
- var overrides = _a.overrides, props = __rest(_a, ["overrides"]);
31
- /* istanbul ignore next */
32
- var overridesWidth = overrides === null || overrides === void 0 ? void 0 : overrides.width;
33
- /* istanbul ignore next */
34
- var overridesHeight = overrides === null || overrides === void 0 ? void 0 : overrides.height;
30
+ var propWidth = _a.width, propHeight = _a.height, overrides = _a.overrides, props = __rest(_a, ["width", "height", "overrides"]);
31
+ var imgWidth = overrides && overrides.width;
32
+ var imgHeight = overrides && overrides.height;
35
33
  return (0, getters_1.handleResponsiveProp)({
36
34
  width: '100%',
37
35
  height: 'auto',
@@ -44,12 +42,13 @@ var getResponsiveAspectRatioFromProps = function (_a, handler) {
44
42
  width: width,
45
43
  }), aspectWidth = _b.width, aspectHeight = _b.height, paddingTop = _b.paddingTop;
46
44
  var responsiveProps = {
47
- height: aspectHeight || 'auto',
48
- width: aspectWidth || '100%',
45
+ height: aspectHeight || (!propHeight && 'auto'),
46
+ width: aspectWidth || (!propWidth && '100%'),
49
47
  paddingTop: paddingTop || '0',
50
48
  };
49
+ // @ts-ignore
51
50
  return handler(responsiveProps);
52
- })(__assign({ width: overridesWidth, height: overridesHeight }, props));
51
+ })(__assign({ width: imgWidth, height: imgHeight }, props));
53
52
  };
54
53
  exports.getResponsiveAspectRatioFromProps = getResponsiveAspectRatioFromProps;
55
54
  var useClientSide = function (callback, imgRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/image/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgC;AAEhC,8DAA+D;AAG/D,kDAA4D;AAGrD,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,IAAA,8BAAoB,EACzB;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,IAAA,uCAAoB,EAAC;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;AAzCW,QAAA,iCAAiC,qCAyC5C;AAEK,IAAM,aAAa,GAAG,UAC3B,QAA8B,EAC9B,MAAyC;IAEzC,IAAA,iBAAS,EAAC;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;AAVW,QAAA,aAAa,iBAUxB;AAEK,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;AANW,QAAA,iBAAiB,qBAM5B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/image/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgC;AAEhC,8DAA+D;AAG/D,kDAA4D;AAGrD,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,IAAA,8BAAoB,EACzB;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,IAAA,uCAAoB,EAAC;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;AA7CW,QAAA,iCAAiC,qCA6C5C;AAEK,IAAM,aAAa,GAAG,UAC3B,QAA8B,EAC9B,MAAyC;IAEzC,IAAA,iBAAS,EAAC;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;AAVW,QAAA,aAAa,iBAUxB;AAEK,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;AANW,QAAA,iBAAiB,qBAM5B"}
@@ -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,wEAAmE;AAEnE,kBAAe;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,2CAAmB;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,2CAAmB;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,2CAAmB;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,2CAAmB;KACrC;CAC6B,CAAC"}
1
+ {"version":3,"file":"style-presets.js","sourceRoot":"","sources":["../../../src/link/style-presets.ts"],"names":[],"mappings":";;AACA,wEAAmE;AAEnE,kBAAe;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,2CAAmB;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,2CAAmB;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,2CAAmB;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,2CAAmB;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/cjs/link/utils.js CHANGED
@@ -8,7 +8,7 @@ var defaults_1 = __importDefault(require("./defaults"));
8
8
  var style_presets_1 = __importDefault(require("./style-presets"));
9
9
  var with_own_theme_1 = require("../utils/with-own-theme");
10
10
  var isLinkExternal = function (href) {
11
- var hostName = href.match(/^https?:\/\/(?:www\.)?([^/?#]+)(?:[/?#]|$)/i);
11
+ var hostName = href && href.match(/^https?:\/\/(?:www\.)?([^/?#]+)(?:[/?#]|$)/i);
12
12
  if (hostName && typeof window !== 'undefined') {
13
13
  var hostLocation = window.location.host;
14
14
  if (hostName[1] !== hostLocation.replace('www.', '')) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/link/utils.tsx"],"names":[],"mappings":";;;;;;AACA,wDAAkC;AAClC,kEAA2C;AAC3C,0DAAqD;AAE9C,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;AAVW,QAAA,cAAc,kBAUzB;AAEK,IAAM,aAAa,GAAG,UAC3B,aAA0E,IACvE,OAAA,IAAA,6BAAY,EAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,oBAAA,EAAE,YAAY,yBAAA,EAAC,CAAC,EAArD,CAAqD,CAAC;AAF9C,QAAA,aAAa,iBAEiC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/link/utils.tsx"],"names":[],"mappings":";;;;;;AACA,wDAAkC;AAClC,kEAA2C;AAC3C,0DAAqD;AAE9C,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;AAXW,QAAA,cAAc,kBAWzB;AAEK,IAAM,aAAa,GAAG,UAC3B,aAA0E,IACvE,OAAA,IAAA,6BAAY,EAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,oBAAA,EAAE,YAAY,yBAAA,EAAC,CAAC,EAArD,CAAqD,CAAC;AAF9C,QAAA,aAAa,iBAEiC"}
@@ -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"}
@@ -2,7 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMenuContext = exports.MenuContextProvider = exports.MenuContext = void 0;
4
4
  var react_1 = require("react");
5
- exports.MenuContext = (0, react_1.createContext)({});
5
+ /* istanbul ignore next */
6
+ var defaultMenuContextArgs = {
7
+ updateExpandedMenuSubId: function () { },
8
+ expandedMenuSubId: null,
9
+ parentSubMenuId: null,
10
+ };
11
+ exports.MenuContext = (0, react_1.createContext)(defaultMenuContextArgs);
6
12
  exports.MenuContextProvider = exports.MenuContext.Provider;
7
13
  var useMenuContext = function () {
8
14
  var context = (0, react_1.useContext)(exports.MenuContext);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/menu/context.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAGnC,QAAA,WAAW,GAAG,IAAA,qBAAa,EAItC,EAAE,CAAC,CAAC;AACO,QAAA,mBAAmB,GAAG,mBAAW,CAAC,QAAQ,CAAC;AAEjD,IAAM,cAAc,GAAG;IAC5B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,mBAAW,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;AAfW,QAAA,cAAc,kBAezB"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/menu/context.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAKhD,0BAA0B;AAC1B,IAAM,sBAAsB,GAAG;IAC7B,uBAAuB,EAAE,cAAO,CAAC;IACjC,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,qBAAa,EAStC,sBAAsB,CAAC,CAAC;AACb,QAAA,mBAAmB,GAAG,mBAAW,CAAC,QAAQ,CAAC;AAEjD,IAAM,cAAc,GAAG;IAC5B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,mBAAW,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;AAfW,QAAA,cAAc,kBAezB"}
@@ -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"}
@@ -33,13 +33,21 @@ var theme_1 = require("../theme");
33
33
  var filter_object_1 = require("../utils/filter-object");
34
34
  var get_1 = require("../utils/get");
35
35
  exports.MenuItem = react_1.default.forwardRef(function (_a, ref) {
36
- 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"]);
37
- var _d = (0, context_1.useMenuContext)(), vertical = _d.vertical, size = _d.size, align = _d.align, menuOverrides = _d.overrides, isSubMenu = _d.isSubMenu;
36
+ 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"]);
37
+ var _d = (0, context_1.useMenuContext)(), vertical = _d.vertical, size = _d.size, align = _d.align, menuOverrides = _d.overrides, updateExpandedMenuSubId = _d.updateExpandedMenuSubId, isSubMenu = _d.isSubMenu;
38
+ var onClick = function (e) {
39
+ if (!vertical) {
40
+ updateExpandedMenuSubId(null);
41
+ }
42
+ if (onClickProp) {
43
+ onClickProp(e);
44
+ }
45
+ };
38
46
  var theme = (0, theme_1.useTheme)();
39
47
  var menuItemOverrides = __assign(__assign({}, (0, get_1.get)(theme.componentDefaults, "".concat(isSubMenu ? 'menuSubItem' : 'menuItem', ".").concat(vertical ? 'vertical' : 'horizontal'))), (0, filter_object_1.filterOutFalsyProperties)(overrides));
40
48
  var buttonProps = __assign(__assign({}, rest), { selected: selected, size: size });
41
49
  return (react_1.default.createElement(styled_1.StyledMenuItem, { className: "nk-menu-item", vertical: vertical, overrides: menuOverrides, ref: ref },
42
- react_1.default.createElement(styled_1.StyledButton, __assign({}, buttonProps, { align: align, eventContext: __assign({ href: rest.href }, eventContext), eventOriginator: eventOriginator, overrides: __assign({}, menuItemOverrides), "aria-current": selected && 'page' }), children)));
50
+ react_1.default.createElement(styled_1.StyledButton, __assign({}, buttonProps, { align: align, eventContext: __assign({ href: rest.href }, eventContext), eventOriginator: eventOriginator, overrides: __assign({}, menuItemOverrides), "aria-current": selected && 'page', onClick: onClick }), children)));
43
51
  });
44
52
  exports.MenuItem.displayName = 'MenuItem';
45
53
  //# sourceMappingURL=menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../src/menu/menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,qCAAyC;AAEzC,mCAAsD;AAEtD,kCAAkC;AAClC,wDAAgE;AAChE,oCAAiC;AAEpB,QAAA,QAAQ,GAAG,eAAK,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,IAAA,wBAAc,GAAE,EALlB,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,KAAK,WAAA,EACM,aAAa,eAAA,EACxB,SAAS,eACS,CAAC;IAErB,IAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACzB,IAAM,iBAAiB,yBAClB,IAAA,SAAG,EACJ,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,IAAA,wCAAwB,EAAC,SAAS,CAAC,CACvC,CAAC;IAEF,IAAM,WAAW,yBACZ,IAAI,KACP,QAAQ,UAAA,EACR,IAAI,MAAA,GACL,CAAC;IAEF,OAAO,CACL,8BAAC,uBAAc,IACb,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,GAAG;QAER,8BAAC,qBAAY,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,gBAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../src/menu/menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,qCAAyC;AAEzC,mCAAsD;AAEtD,kCAAkC;AAClC,wDAAgE;AAChE,oCAAiC;AAEpB,QAAA,QAAQ,GAAG,eAAK,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,IAAA,wBAAc,GAAE,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,IAAA,gBAAQ,GAAE,CAAC;IACzB,IAAM,iBAAiB,yBAClB,IAAA,SAAG,EACJ,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,IAAA,wCAAwB,EAAC,SAAS,CAAC,CACvC,CAAC;IAEF,IAAM,WAAW,yBACZ,IAAI,KACP,QAAQ,UAAA,EACR,IAAI,MAAA,GACL,CAAC;IAEF,OAAO,CACL,8BAAC,uBAAc,IACb,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,GAAG;QAER,8BAAC,qBAAY,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,gBAAQ,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"}
@@ -10,6 +10,25 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
13
32
  var __rest = (this && this.__rest) || function (s, e) {
14
33
  var t = {};
15
34
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -21,12 +40,10 @@ var __rest = (this && this.__rest) || function (s, e) {
21
40
  }
22
41
  return t;
23
42
  };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
43
  Object.defineProperty(exports, "__esModule", { value: true });
28
44
  exports.MenuSub = void 0;
29
- var react_1 = __importDefault(require("react"));
45
+ var react_1 = __importStar(require("react"));
46
+ var react_dom_interactions_1 = require("@floating-ui/react-dom-interactions");
30
47
  var context_1 = require("./context");
31
48
  var styled_1 = require("./styled");
32
49
  var theme_1 = require("../theme");
@@ -36,24 +53,54 @@ var hooks_1 = require("../utils/hooks");
36
53
  var compose_event_handlers_1 = require("../utils/compose-event-handlers");
37
54
  var icons_1 = require("../icons");
38
55
  var overrides_1 = require("../utils/overrides");
56
+ var utils_1 = require("./utils");
39
57
  var DefaultIcon = function (_a) {
40
58
  var expanded = _a.expanded, overrides = _a.overrides;
41
59
  return expanded ? (react_1.default.createElement(icons_1.IconFilledExpandLess, { overrides: __assign({ size: 'iconSize020' }, overrides) })) : (react_1.default.createElement(icons_1.IconFilledExpandMore, { overrides: __assign({ size: 'iconSize020' }, overrides) }));
42
60
  };
43
61
  exports.MenuSub = react_1.default.forwardRef(function (_a, ref) {
44
- 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"]);
45
- var _b = (0, hooks_1.useControlled)({
62
+ 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"]);
63
+ var _c = (0, hooks_1.useControlled)({
46
64
  controlledValue: expandedProp,
47
65
  defaultValue: defaultExpanded,
48
- }), isExpanded = _b[0], setIsExpanded = _b[1];
49
- var _c = (0, overrides_1.getComponentOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.indicatorIcon, DefaultIcon, {
66
+ }), isExpanded = _c[0], setIsExpanded = _c[1];
67
+ var menuContext = (0, context_1.useMenuContext)();
68
+ 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;
69
+ var align = menuSubAlign || menuAlign;
70
+ var id = (0, react_dom_interactions_1.useId)();
71
+ var nestedId = (0, utils_1.buildNestedId)(id, parentSubMenuId);
72
+ (0, react_1.useEffect)(function () {
73
+ if (!expandedMenuSubId) {
74
+ // all sub menus have been collapsed
75
+ setIsExpanded(false);
76
+ }
77
+ else if (expandedMenuSubId === nestedId ||
78
+ (0, utils_1.isDescendant)(nestedId, expandedMenuSubId)) {
79
+ // this sub menu or one of its descendants has been expanded
80
+ setIsExpanded(true);
81
+ }
82
+ else if ((0, utils_1.isDescendant)(expandedMenuSubId, nestedId)) {
83
+ // this sub menu's ancestor is expanded
84
+ setIsExpanded(false);
85
+ }
86
+ else if (!vertical) {
87
+ // another sub menu elsewhere in the tree has been expanded
88
+ setIsExpanded(false);
89
+ }
90
+ }, [vertical, nestedId, expandedMenuSubId, setIsExpanded]);
91
+ var _d = (0, overrides_1.getComponentOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.indicatorIcon, DefaultIcon, {
50
92
  expanded: isExpanded,
51
- }), IndicatorIcon = _c[0], indicatorIconProps = _c[1];
93
+ }), IndicatorIcon = _d[0], indicatorIconProps = _d[1];
94
+ // Inform the parent context that this sub menu has been clicked.
52
95
  var handleClick = react_1.default.useCallback(function () {
53
- setIsExpanded(!isExpanded);
54
- }, [isExpanded, setIsExpanded]);
55
- var menuContext = (0, context_1.useMenuContext)();
56
- var vertical = menuContext.vertical, size = menuContext.size, align = menuContext.align, menuOverrides = menuContext.overrides, isSubMenu = menuContext.isSubMenu;
96
+ updateExpandedMenuSubId(nestedId);
97
+ }, [nestedId, updateExpandedMenuSubId]);
98
+ // Set the initial expanded state of this sub menu in the parent context.
99
+ (0, react_1.useEffect)(function () {
100
+ if (defaultExpanded) {
101
+ updateExpandedMenuSubId(nestedId);
102
+ }
103
+ }, []);
57
104
  var theme = (0, theme_1.useTheme)();
58
105
  var menuItemOverrides = __assign(__assign({}, (0, get_1.get)(theme.componentDefaults, "".concat(isSubMenu ? 'menuSubItem' : 'menuItem', ".").concat(vertical ? 'vertical' : 'horizontal'))), (0, filter_object_1.filterOutFalsyProperties)(overrides));
59
106
  var buttonProps = __assign(__assign({}, rest), { selected: selected, size: size });
@@ -61,7 +108,7 @@ exports.MenuSub = react_1.default.forwardRef(function (_a, ref) {
61
108
  react_1.default.createElement(styled_1.StyledButton, __assign({}, buttonProps, { align: align, selected: selected, onClick: (0, compose_event_handlers_1.composeEventHandlers)([handleClick, onClick]), "aria-expanded": isExpanded, "data-testid": "menu-sub-button", overrides: __assign({}, menuItemOverrides) }),
62
109
  title,
63
110
  react_1.default.createElement(IndicatorIcon, __assign({}, indicatorIconProps))),
64
- react_1.default.createElement(context_1.MenuContextProvider, { value: __assign(__assign({}, menuContext), { isSubMenu: true }) },
111
+ react_1.default.createElement(context_1.MenuContextProvider, { value: __assign(__assign({}, menuContext), { isSubMenu: true, parentSubMenuId: nestedId, align: align }) },
65
112
  react_1.default.createElement(styled_1.StyledUl, { expanded: isExpanded, vertical: vertical, overrides: overrides }, children))));
66
113
  });
67
114
  exports.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/cjs/menu/menu.js CHANGED
@@ -10,6 +10,25 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
13
32
  var __rest = (this && this.__rest) || function (s, e) {
14
33
  var t = {};
15
34
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -26,12 +45,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
45
  };
27
46
  Object.defineProperty(exports, "__esModule", { value: true });
28
47
  exports.Menu = void 0;
29
- var react_1 = __importDefault(require("react"));
48
+ var react_1 = __importStar(require("react"));
49
+ var compose_react_refs_1 = __importDefault(require("@seznam/compose-react-refs"));
30
50
  var context_1 = require("./context");
31
51
  var styled_1 = require("./styled");
32
52
  var defaults_1 = __importDefault(require("./defaults"));
33
53
  var style_presets_1 = __importDefault(require("./style-presets"));
34
54
  var with_own_theme_1 = require("../utils/with-own-theme");
55
+ var utils_1 = require("./utils");
35
56
  var getAlign = function (align, vertical) {
36
57
  if (!align) {
37
58
  return vertical ? 'start' : 'center';
@@ -41,8 +62,49 @@ var getAlign = function (align, vertical) {
41
62
  var ThemelessMenu = react_1.default.forwardRef(function (_a, ref) {
42
63
  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"]);
43
64
  var align = getAlign(passedAlign, vertical);
44
- return (react_1.default.createElement(context_1.MenuContextProvider, { value: { vertical: vertical, size: size, align: align, overrides: overrides } },
45
- react_1.default.createElement(styled_1.StyledMenu, __assign({ role: "navigation", "data-testid": "menu-container", overrides: overrides, vertical: vertical, ref: ref }, rest),
65
+ var _d = (0, react_1.useState)(null), expandedMenuSubId = _d[0], setExpandedMenuSubId = _d[1];
66
+ var updateExpandedMenuSubId = function (id) {
67
+ if (!id) {
68
+ setExpandedMenuSubId(null);
69
+ }
70
+ else if (!expandedMenuSubId) {
71
+ // no sub menu currently expanded
72
+ setExpandedMenuSubId(id);
73
+ }
74
+ else if (expandedMenuSubId === id) {
75
+ // the currently expanded sub menu has been clicked
76
+ setExpandedMenuSubId((0, utils_1.getParentId)(id));
77
+ }
78
+ else if ((0, utils_1.isDescendant)(id, expandedMenuSubId)) {
79
+ // the parent of the currently expanded sub menu has been clicked
80
+ setExpandedMenuSubId((0, utils_1.getParentId)(id));
81
+ }
82
+ else {
83
+ // any other sub menu has been clicked
84
+ setExpandedMenuSubId(id);
85
+ }
86
+ };
87
+ var menuRef = (0, react_1.useRef)(null);
88
+ (0, react_1.useEffect)(function () {
89
+ document.addEventListener("click", function (_a) {
90
+ var target = _a.target;
91
+ if (menuRef.current &&
92
+ !menuRef.current.contains(target) &&
93
+ !vertical) {
94
+ setExpandedMenuSubId(null);
95
+ }
96
+ });
97
+ }, [vertical]);
98
+ return (react_1.default.createElement(context_1.MenuContextProvider, { value: {
99
+ vertical: vertical,
100
+ size: size,
101
+ align: align,
102
+ overrides: overrides,
103
+ updateExpandedMenuSubId: updateExpandedMenuSubId,
104
+ expandedMenuSubId: expandedMenuSubId,
105
+ parentSubMenuId: null,
106
+ } },
107
+ react_1.default.createElement(styled_1.StyledMenu, __assign({ role: "navigation", "data-testid": "menu-container", overrides: overrides, vertical: vertical, ref: (0, compose_react_refs_1.default)(ref, menuRef) }, rest),
46
108
  react_1.default.createElement("ul", { role: "list" }, children))));
47
109
  });
48
110
  exports.Menu = (0, with_own_theme_1.withOwnTheme)(ThemelessMenu)({ defaults: defaults_1.default, stylePresets: style_presets_1.default });
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/menu/menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,qCAA8C;AAE9C,mCAAoC;AACpC,wDAAkC;AAClC,kEAA2C;AAC3C,0DAAqD;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,eAAK,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,8BAAC,6BAAmB,IAAC,KAAK,EAAE,EAAC,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAC;QAC5D,8BAAC,mBAAU,aACT,IAAI,EAAC,YAAY,iBACL,gBAAgB,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,IACJ,IAAI;YAGR,sCAAI,IAAI,EAAC,MAAM,IAAE,QAAQ,CAAM,CACpB,CACO,CACvB,CAAC;AACJ,CAAC,CACF,CAAC;AAEW,QAAA,IAAI,GAAG,IAAA,6BAAY,EAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,oBAAA,EAAE,YAAY,yBAAA,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/menu/menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyD;AACzD,kFAAqD;AACrD,qCAAkE;AAElE,mCAAoC;AACpC,wDAAkC;AAClC,kEAA2C;AAC3C,0DAAqD;AACrD,iCAAkD;AAElD,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,eAAK,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;IAExC,IAAA,KAA4C,IAAA,gBAAQ,EACxD,IAAI,CACL,EAFM,iBAAiB,QAAA,EAAE,oBAAoB,QAE7C,CAAC;IACF,IAAM,uBAAuB,GAAuB,UAAA,EAAE;QACpD,IAAI,CAAC,EAAE,EAAE;YACP,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;aAAM,IAAI,CAAC,iBAAiB,EAAE;YAC7B,iCAAiC;YACjC,oBAAoB,CAAC,EAAE,CAAC,CAAC;SAC1B;aAAM,IAAI,iBAAiB,KAAK,EAAE,EAAE;YACnC,mDAAmD;YACnD,oBAAoB,CAAC,IAAA,mBAAW,EAAC,EAAE,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,IAAA,oBAAY,EAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE;YAC9C,iEAAiE;YACjE,oBAAoB,CAAC,IAAA,mBAAW,EAAC,EAAE,CAAC,CAAC,CAAC;SACvC;aAAM;YACL,sCAAsC;YACtC,oBAAoB,CAAC,EAAE,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC7C,IAAA,iBAAS,EAAC;QACR,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,EAAoB;gBAAnB,MAAM,YAAA;YACzC,IACE,OAAO,CAAC,OAAO;gBACf,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAc,CAAC;gBACzC,CAAC,QAAQ,EACT;gBACA,oBAAoB,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,8BAAC,6BAAmB,IAClB,KAAK,EAAE;YACL,QAAQ,UAAA;YACR,IAAI,MAAA;YACJ,KAAK,OAAA;YACL,SAAS,WAAA;YACT,uBAAuB,yBAAA;YACvB,iBAAiB,mBAAA;YACjB,eAAe,EAAE,IAAI;SACtB;QAED,8BAAC,mBAAU,aACT,IAAI,EAAC,YAAY,iBACL,gBAAgB,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,IAAA,4BAAW,EAAC,GAAG,EAAE,OAAO,CAAC,IAC1B,IAAI;YAGR,sCAAI,IAAI,EAAC,MAAM,IAAE,QAAQ,CAAM,CACpB,CACO,CACvB,CAAC;AACJ,CAAC,CACF,CAAC;AAEW,QAAA,IAAI,GAAG,IAAA,6BAAY,EAAC,aAAa,CAAC,CAAC,EAAC,QAAQ,oBAAA,EAAE,YAAY,yBAAA,EAAC,CAAC,CAAC"}
@@ -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":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAE5C,oBAAY,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACxD,oBAAY,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;KAC1B,GAAG,YAAY,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc;IAC1D,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,CAAC,EAAE;YACN,gBAAgB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9B,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YACzB,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YACzB,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;SACzB,CAAC;KACH,CAAC;CACH;AAED,aAAK,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;AACrE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,EACvD,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,SAAS;IACX,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAChE;AAED,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CAAC;AAEtE,oBAAY,YAAY,GAAG,IAAI,CAC7B,aAAa,EACb,OAAO,GAAG,WAAW,GAAG,MAAM,CAC/B,GAAG;IACF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YACL,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;SAC1B,GAAG,YAAY,CAAC;KAClB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,gBAAgB,GAAG;QAC7B,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/menu/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAE5C,oBAAY,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACxD,oBAAY,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;KAC1B,GAAG,YAAY,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc;IAC1D,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,CAAC,EAAE;YACN,gBAAgB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9B,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YACzB,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YACzB,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;SACzB,CAAC;KACH,CAAC;CACH;AAED,aAAK,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;AACrE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,EACvD,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,SAAS;IACX,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAChE;AAED,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CAAC;AAEtE,oBAAY,YAAY,GAAG,IAAI,CAC7B,aAAa,EACb,OAAO,GAAG,WAAW,GAAG,MAAM,CAC/B,GAAG;IACF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YACL,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;SAC1B,GAAG,YAAY,CAAC;KAClB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,gBAAgB,GAAG;QAC7B,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;CACH"}
@@ -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,26 @@
1
+ "use strict";
2
+ // Note: using an immutable concatenated string ID (instead of an array of strings)
3
+ // so that useEffect hooks do not repeatedly fire when ref changes but value
4
+ // remains the same.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getParentId = exports.isDescendant = exports.getIdDepth = exports.buildNestedId = void 0;
7
+ var buildNestedId = function (id, parentId) {
8
+ return parentId ? "".concat(parentId, "|").concat(id) : id;
9
+ };
10
+ exports.buildNestedId = buildNestedId;
11
+ var getIdDepth = function (id) {
12
+ return id.length - id.replace(/\|/g, '').length + 1;
13
+ };
14
+ exports.getIdDepth = getIdDepth;
15
+ var isDescendant = function (id, descendantId) {
16
+ return id === descendantId.split('|').slice(0, (0, exports.getIdDepth)(id)).join('|');
17
+ };
18
+ exports.isDescendant = isDescendant;
19
+ var getParentId = function (id) {
20
+ return id
21
+ .split('|')
22
+ .slice(0, (0, exports.getIdDepth)(id) - 1)
23
+ .join('|') || null;
24
+ };
25
+ exports.getParentId = getParentId;
26
+ //# 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;;;AAEb,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;AADzB,QAAA,aAAa,iBACY;AAE/B,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;AADlC,QAAA,UAAU,cACwB;AAExC,IAAM,YAAY,GAAG,UAAC,EAAU,EAAE,YAAoB;IAC3D,OAAA,EAAE,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAA,kBAAU,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAAjE,CAAiE,CAAC;AADvD,QAAA,YAAY,gBAC2C;AAE7D,IAAM,WAAW,GAAG,UAAC,EAAU;IACpC,OAAA,EAAE;SACC,KAAK,CAAC,GAAG,CAAC;SACV,KAAK,CAAC,CAAC,EAAE,IAAA,kBAAU,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI;AAHpB,CAGoB,CAAC;AAJV,QAAA,WAAW,eAID"}
@@ -1 +1 @@
1
- {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../src/modal/modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA8G1B,eAAO,MAAM,KAAK;;;;;;;;;;;;wCAGhB,CAAC"}
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../src/modal/modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAiH1B,eAAO,MAAM,KAAK;;;;;;;;;;;;wCAGhB,CAAC"}
@@ -48,13 +48,14 @@ var ThemelessModal = react_1.default.forwardRef(function (_a, ref) {
48
48
  /* istanbul ignore next */
49
49
  open = _b === void 0 ? false : _b, onDismiss = _a.onDismiss, restoreFocusTo = _a.restoreFocusTo, _c = _a.closePosition, closePosition = _c === void 0 ? 'right' : _c, overrides = _a.overrides, hideOverlay = _a.hideOverlay, disableFocusTrap = _a.disableFocusTrap, props = __rest(_a, ["children", "open", "onDismiss", "restoreFocusTo", "closePosition", "overrides", "hideOverlay", "disableFocusTrap"]);
50
50
  var theme = (0, theme_1.useTheme)();
51
+ var cssTransitionNodeRef = react_1.default.useRef(null);
51
52
  var overlayOverrides = __assign({}, (0, deep_merge_1.deepMerge)((0, merge_breakpoint_object_1.mergeBreakpointObject)(Object.keys(theme.breakpoints)), theme.componentDefaults.modal.overlay, (0, filter_object_1.filterOutFalsyProperties)(overrides && overrides.overlay)));
52
53
  var _d = react_1.default.useState(false), showWrapper = _d[0], setShowWrapper = _d[1];
53
54
  // When Modal is used inline, it should not be in a layer
54
55
  var OuterWrapper = props.inline ? react_1.default.Fragment : layer_1.Layer;
55
56
  return (react_1.default.createElement(OuterWrapper, null,
56
57
  react_1.default.createElement(dialog_1.BaseDialogFunction, { ref: ref, open: open, restoreFocusTo: restoreFocusTo, onDismiss: onDismiss, hideOverlay: hideOverlay, disableFocusTrap: disableFocusTrap, renderOverlay: function (handleOverlayClick) { return (react_1.default.createElement(overlay_1.Overlay, { open: open, onClick: handleOverlayClick, overrides: overlayOverrides })); } }, function (handleCloseButtonClick) { return (react_1.default.createElement(styled_1.StyledModalWrapper, { inline: props.inline, "$open": showWrapper, overrides: overrides },
57
- react_1.default.createElement(react_transition_group_1.CSSTransition, { in: open, timeout: (0, get_transition_duration_1.getTransitionDuration)("modal.panel", '')({ theme: theme, overrides: overrides }), classNames: "nk-modal", mountOnEnter: true, unmountOnExit: true, appear: true, onEnter: function () { return setShowWrapper(true); }, onExited: function () { return setShowWrapper(false); } }, function (state) { return (react_1.default.createElement(styled_1.StyledModal, __assign({ open: open, className: (0, get_transition_class_name_1.getTransitionClassName)('nk-modal', state), disableFocusTrap: disableFocusTrap, handleCloseButtonClick: handleCloseButtonClick, path: "modal", "data-testid": "modal", closePosition: closePosition, overrides: overrides }, props), children)); }))); })));
58
+ react_1.default.createElement(react_transition_group_1.CSSTransition, { nodeRef: cssTransitionNodeRef, in: open, timeout: (0, get_transition_duration_1.getTransitionDuration)("modal.panel", '')({ theme: theme, overrides: overrides }), classNames: "nk-modal", mountOnEnter: true, unmountOnExit: true, appear: true, onEnter: function () { return setShowWrapper(true); }, onExited: function () { return setShowWrapper(false); } }, function (state) { return (react_1.default.createElement(styled_1.StyledModal, __assign({ ref: cssTransitionNodeRef, open: open, className: (0, get_transition_class_name_1.getTransitionClassName)('nk-modal', state), disableFocusTrap: disableFocusTrap, handleCloseButtonClick: handleCloseButtonClick, path: "modal", "data-testid": "modal", closePosition: closePosition, overrides: overrides }, props), children)); }))); })));
58
59
  });
59
60
  exports.Modal = (0, with_own_theme_1.withOwnTheme)(ThemelessModal)({
60
61
  defaults: defaults_1.default,