@fluentui/react-menu 0.0.0-nightly-20230804-0415.1 → 0.0.0-nightly-20230808-0415.1

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 (83) hide show
  1. package/CHANGELOG.json +96 -27
  2. package/CHANGELOG.md +34 -16
  3. package/lib/components/MenuDivider/renderMenuDivider.js +3 -3
  4. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  5. package/lib/components/MenuDivider/useMenuDivider.js +4 -2
  6. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  7. package/lib/components/MenuGroup/renderMenuGroup.js +3 -3
  8. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  9. package/lib/components/MenuGroup/useMenuGroup.js +4 -2
  10. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  11. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +3 -3
  12. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  13. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +4 -2
  14. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  15. package/lib/components/MenuItem/renderMenuItem.js +3 -3
  16. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  17. package/lib/components/MenuItem/useMenuItem.js +22 -14
  18. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  19. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +3 -3
  20. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  21. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +4 -3
  22. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  23. package/lib/components/MenuItemLink/renderMenuItemLink.js +3 -3
  24. package/lib/components/MenuItemLink/renderMenuItemLink.js.map +1 -1
  25. package/lib/components/MenuItemLink/useMenuItemLink.js +4 -2
  26. package/lib/components/MenuItemLink/useMenuItemLink.js.map +1 -1
  27. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +3 -3
  28. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  29. package/lib/components/MenuItemRadio/useMenuItemRadio.js +4 -3
  30. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  31. package/lib/components/MenuList/renderMenuList.js +3 -3
  32. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  33. package/lib/components/MenuList/useMenuList.js +4 -2
  34. package/lib/components/MenuList/useMenuList.js.map +1 -1
  35. package/lib/components/MenuPopover/renderMenuPopover.js +4 -4
  36. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  37. package/lib/components/MenuPopover/useMenuPopover.js +4 -2
  38. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  39. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +3 -3
  40. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  41. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +4 -2
  42. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  43. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +2 -2
  44. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  45. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +3 -1
  46. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  47. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +2 -2
  48. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  49. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +3 -1
  50. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  51. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -2
  52. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  53. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +3 -1
  54. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  55. package/lib-commonjs/components/MenuItem/renderMenuItem.js +2 -2
  56. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  57. package/lib-commonjs/components/MenuItem/useMenuItem.js +21 -13
  58. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  59. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +2 -2
  60. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  61. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +3 -2
  62. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  63. package/lib-commonjs/components/MenuItemLink/renderMenuItemLink.js +2 -2
  64. package/lib-commonjs/components/MenuItemLink/renderMenuItemLink.js.map +1 -1
  65. package/lib-commonjs/components/MenuItemLink/useMenuItemLink.js +3 -1
  66. package/lib-commonjs/components/MenuItemLink/useMenuItemLink.js.map +1 -1
  67. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +2 -2
  68. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  69. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +3 -2
  70. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  71. package/lib-commonjs/components/MenuList/renderMenuList.js +2 -2
  72. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  73. package/lib-commonjs/components/MenuList/useMenuList.js +3 -1
  74. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  75. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +3 -3
  76. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  77. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +3 -1
  78. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  79. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +2 -2
  80. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  81. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +3 -1
  82. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  83. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuGroupHeader.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroupContext_unstable } from '../../contexts/menuGroupContext';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\n/**\n * Given user props, returns state and render function for a MenuGroupHeader.\n */ export function useMenuGroupHeader_unstable(props, ref) {\n const { headerId: id } = useMenuGroupContext_unstable();\n return {\n components: {\n root: 'div'\n },\n root: getNativeElementProps('div', {\n ref,\n id,\n ...props\n })\n };\n}\n"],"names":["useMenuGroupHeader_unstable","props","ref","headerId","id","useMenuGroupContext_unstable","components","root","getNativeElementProps"],"mappings":";;;;+BAKoBA;;aAAAA;;;6DALG;kCACsB;gCACP;AAG3B,SAASA,4BAA4BC,KAAK,EAAEC,GAAG,EAAE;IACxD,MAAM,EAAEC,UAAUC,GAAE,EAAG,GAAGC,IAAAA,8CAA4B;IACtD,OAAO;QACHC,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,IAAAA,qCAAqB,EAAC,OAAO;YAC/BN;YACAE;YACA,GAAGH,KAAK;QACZ;IACJ;AACJ"}
1
+ {"version":3,"sources":["useMenuGroupHeader.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroupContext_unstable } from '../../contexts/menuGroupContext';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Given user props, returns state and render function for a MenuGroupHeader.\n */ export function useMenuGroupHeader_unstable(props, ref) {\n const { headerId: id } = useMenuGroupContext_unstable();\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getNativeElementProps('div', {\n ref,\n id,\n ...props\n }), {\n elementType: 'div'\n })\n };\n}\n"],"names":["useMenuGroupHeader_unstable","props","ref","headerId","id","useMenuGroupContext_unstable","components","root","slot","always","getNativeElementProps","elementType"],"mappings":";;;;+BAKoBA;;aAAAA;;;6DALG;kCACsB;gCACD;AAGjC,SAASA,4BAA4BC,KAAK,EAAEC,GAAG,EAAE;IACxD,MAAM,EAAEC,UAAUC,GAAE,EAAG,GAAGC,IAAAA,8CAA4B;IACtD,OAAO;QACHC,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,oBAAI,CAACC,MAAM,CAACC,IAAAA,qCAAqB,EAAC,OAAO;YAC3CR;YACAE;YACA,GAAGH,KAAK;QACZ,IAAI;YACAU,aAAa;QACjB;IACJ;AACJ"}
@@ -9,6 +9,6 @@ Object.defineProperty(exports, "renderMenuItem_unstable", {
9
9
  const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderMenuItem_unstable = (state)=>{
12
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
- return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.secondaryContent, slotProps.secondaryContent), slots.submenuIndicator && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.submenuIndicator, slotProps.submenuIndicator));
12
+ (0, _reactUtilities.assertSlots)(state);
13
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, state.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.checkmark, null), state.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.icon, null), state.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.content, null), state.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.secondaryContent, null), state.submenuIndicator && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.submenuIndicator, null));
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuItem.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuItem_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ createElement(slots.secondaryContent, slotProps.secondaryContent), slots.submenuIndicator && /*#__PURE__*/ createElement(slots.submenuIndicator, slotProps.submenuIndicator));\n};\n"],"names":["renderMenuItem_unstable","state","slots","slotProps","getSlotsNext","createElement","root","checkmark","icon","content","secondaryContent","submenuIndicator"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACtD;AAGlB,MAAMA,0BAA0B,CAACC,QAAQ;IAChD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAEJ,MAAMK,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMK,SAAS,EAAEJ,UAAUI,SAAS,GAAGL,MAAMM,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMM,IAAI,EAAEL,UAAUK,IAAI,GAAGN,MAAMO,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMO,OAAO,EAAEN,UAAUM,OAAO,GAAGP,MAAMQ,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACH,MAAMQ,gBAAgB,EAAEP,UAAUO,gBAAgB,GAAGR,MAAMS,gBAAgB,IAAI,WAAW,GAAGN,IAAAA,8BAAa,EAACH,MAAMS,gBAAgB,EAAER,UAAUQ,gBAAgB;AACngB"}
1
+ {"version":3,"sources":["renderMenuItem.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuItem_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null, state.checkmark && /*#__PURE__*/ createElement(state.checkmark, null), state.icon && /*#__PURE__*/ createElement(state.icon, null), state.content && /*#__PURE__*/ createElement(state.content, null), state.secondaryContent && /*#__PURE__*/ createElement(state.secondaryContent, null), state.submenuIndicator && /*#__PURE__*/ createElement(state.submenuIndicator, null));\n};\n"],"names":["renderMenuItem_unstable","state","assertSlots","createElement","root","checkmark","icon","content","secondaryContent","submenuIndicator"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACvD;AAGjB,MAAMA,0BAA0B,CAACC,QAAQ;IAChDC,IAAAA,2BAAW,EAACD;IACZ,OAAO,WAAW,GAAGE,IAAAA,8BAAa,EAACF,MAAMG,IAAI,EAAE,IAAI,EAAEH,MAAMI,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACF,MAAMI,SAAS,EAAE,IAAI,GAAGJ,MAAMK,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACF,MAAMK,IAAI,EAAE,IAAI,GAAGL,MAAMM,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACF,MAAMM,OAAO,EAAE,IAAI,GAAGN,MAAMO,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACF,MAAMO,gBAAgB,EAAE,IAAI,GAAGP,MAAMQ,gBAAgB,IAAI,WAAW,GAAGN,IAAAA,8BAAa,EAACF,MAAMQ,gBAAgB,EAAE,IAAI;AACva"}
@@ -41,7 +41,7 @@ const useMenuItem_unstable = (props, ref)=>{
41
41
  content: 'span',
42
42
  secondaryContent: 'span'
43
43
  },
44
- root: (0, _reactUtilities.getNativeElementProps)(as, (0, _reactAria.useARIAButtonProps)(as, {
44
+ root: _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)(as, (0, _reactAria.useARIAButtonProps)(as, {
45
45
  role: 'menuitem',
46
46
  ...props,
47
47
  disabled: false,
@@ -73,26 +73,34 @@ const useMenuItem_unstable = (props, ref)=>{
73
73
  }
74
74
  (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);
75
75
  })
76
- })),
77
- icon: (0, _reactUtilities.resolveShorthand)(props.icon, {
78
- required: hasIcons
76
+ })), {
77
+ elementType: 'div'
79
78
  }),
80
- checkmark: (0, _reactUtilities.resolveShorthand)(props.checkmark, {
81
- required: hasCheckmarks
79
+ icon: _reactUtilities.slot.optional(props.icon, {
80
+ renderByDefault: hasIcons,
81
+ elementType: 'span'
82
82
  }),
83
- submenuIndicator: (0, _reactUtilities.resolveShorthand)(props.submenuIndicator, {
84
- required: hasSubmenu,
83
+ checkmark: _reactUtilities.slot.optional(props.checkmark, {
84
+ renderByDefault: hasCheckmarks,
85
+ elementType: 'span'
86
+ }),
87
+ submenuIndicator: _reactUtilities.slot.optional(props.submenuIndicator, {
88
+ renderByDefault: hasSubmenu,
85
89
  defaultProps: {
86
90
  children: dir === 'ltr' ? /*#__PURE__*/ _react.createElement(ChevronRightIcon, null) : /*#__PURE__*/ _react.createElement(ChevronLeftIcon, null)
87
- }
91
+ },
92
+ elementType: 'span'
88
93
  }),
89
- content: (0, _reactUtilities.resolveShorthand)(props.content, {
90
- required: !!props.children,
94
+ content: _reactUtilities.slot.optional(props.content, {
95
+ renderByDefault: !!props.children,
91
96
  defaultProps: {
92
97
  children: props.children
93
- }
98
+ },
99
+ elementType: 'span'
94
100
  }),
95
- secondaryContent: (0, _reactUtilities.resolveShorthand)(props.secondaryContent)
101
+ secondaryContent: _reactUtilities.slot.optional(props.secondaryContent, {
102
+ elementType: 'span'
103
+ })
96
104
  };
97
105
  (0, _useCharacterSearch.useCharacterSearch)(state, innerRef);
98
106
  return state;
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuItem.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, resolveShorthand, useMergedRefs, getNativeElementProps } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useCharacterSearch } from './useCharacterSearch';\nimport { useMenuTriggerContext_unstable } from '../../contexts/menuTriggerContext';\nimport { ChevronRightFilled, ChevronRightRegular, ChevronLeftFilled, ChevronLeftRegular, bundleIcon } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nconst ChevronRightIcon = bundleIcon(ChevronRightFilled, ChevronRightRegular);\nconst ChevronLeftIcon = bundleIcon(ChevronLeftFilled, ChevronLeftRegular);\n/**\n * Returns the props and state required to render the component\n */ export const useMenuItem_unstable = (props, ref)=>{\n const isSubmenuTrigger = useMenuTriggerContext_unstable();\n const persistOnClickContext = useMenuContext_unstable((context)=>context.persistOnItemClick);\n const { as ='div' , disabled =false , hasSubmenu =isSubmenuTrigger , persistOnClick =persistOnClickContext } = props;\n const hasIcons = useMenuListContext_unstable((context)=>context.hasIcons);\n const hasCheckmarks = useMenuListContext_unstable((context)=>context.hasCheckmarks);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const { dir } = useFluent();\n const innerRef = React.useRef(null);\n const dismissedWithKeyboardRef = React.useRef(false);\n const state = {\n hasSubmenu,\n disabled,\n persistOnClick,\n components: {\n root: 'div',\n icon: 'span',\n checkmark: 'span',\n submenuIndicator: 'span',\n content: 'span',\n secondaryContent: 'span'\n },\n root: getNativeElementProps(as, useARIAButtonProps(as, {\n role: 'menuitem',\n ...props,\n disabled: false,\n disabledFocusable: disabled,\n ref: useMergedRefs(ref, innerRef),\n onKeyDown: useEventCallback((event)=>{\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if (!event.isDefaultPrevented() && (event.key === Space || event.key === Enter)) {\n dismissedWithKeyboardRef.current = true;\n }\n }),\n onMouseEnter: useEventCallback((event)=>{\n var _innerRef_current, _props_onMouseEnter;\n (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.focus();\n (_props_onMouseEnter = props.onMouseEnter) === null || _props_onMouseEnter === void 0 ? void 0 : _props_onMouseEnter.call(props, event);\n }),\n onClick: useEventCallback((event)=>{\n var _props_onClick;\n if (!hasSubmenu && !persistOnClick) {\n setOpen(event, {\n open: false,\n keyboard: dismissedWithKeyboardRef.current,\n bubble: true,\n type: 'menuItemClick',\n event\n });\n dismissedWithKeyboardRef.current = false;\n }\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);\n })\n })),\n icon: resolveShorthand(props.icon, {\n required: hasIcons\n }),\n checkmark: resolveShorthand(props.checkmark, {\n required: hasCheckmarks\n }),\n submenuIndicator: resolveShorthand(props.submenuIndicator, {\n required: hasSubmenu,\n defaultProps: {\n children: dir === 'ltr' ? /*#__PURE__*/ React.createElement(ChevronRightIcon, null) : /*#__PURE__*/ React.createElement(ChevronLeftIcon, null)\n }\n }),\n content: resolveShorthand(props.content, {\n required: !!props.children,\n defaultProps: {\n children: props.children\n }\n }),\n secondaryContent: resolveShorthand(props.secondaryContent)\n };\n useCharacterSearch(state, innerRef);\n return state;\n};\n"],"names":["useMenuItem_unstable","ChevronRightIcon","bundleIcon","ChevronRightFilled","ChevronRightRegular","ChevronLeftIcon","ChevronLeftFilled","ChevronLeftRegular","props","ref","isSubmenuTrigger","useMenuTriggerContext_unstable","persistOnClickContext","useMenuContext_unstable","context","persistOnItemClick","as","disabled","hasSubmenu","persistOnClick","hasIcons","useMenuListContext_unstable","hasCheckmarks","setOpen","dir","useFluent","innerRef","React","useRef","dismissedWithKeyboardRef","state","components","root","icon","checkmark","submenuIndicator","content","secondaryContent","getNativeElementProps","useARIAButtonProps","role","disabledFocusable","useMergedRefs","onKeyDown","useEventCallback","event","_props_onKeyDown","call","isDefaultPrevented","key","Space","Enter","current","onMouseEnter","_innerRef_current","_props_onMouseEnter","focus","onClick","_props_onClick","open","keyboard","bubble","type","resolveShorthand","required","defaultProps","children","createElement","useCharacterSearch"],"mappings":"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"}
1
+ {"version":3,"sources":["useMenuItem.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useMergedRefs, getNativeElementProps, slot } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useCharacterSearch } from './useCharacterSearch';\nimport { useMenuTriggerContext_unstable } from '../../contexts/menuTriggerContext';\nimport { ChevronRightFilled, ChevronRightRegular, ChevronLeftFilled, ChevronLeftRegular, bundleIcon } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nconst ChevronRightIcon = bundleIcon(ChevronRightFilled, ChevronRightRegular);\nconst ChevronLeftIcon = bundleIcon(ChevronLeftFilled, ChevronLeftRegular);\n/**\n * Returns the props and state required to render the component\n */ export const useMenuItem_unstable = (props, ref)=>{\n const isSubmenuTrigger = useMenuTriggerContext_unstable();\n const persistOnClickContext = useMenuContext_unstable((context)=>context.persistOnItemClick);\n const { as ='div' , disabled =false , hasSubmenu =isSubmenuTrigger , persistOnClick =persistOnClickContext } = props;\n const hasIcons = useMenuListContext_unstable((context)=>context.hasIcons);\n const hasCheckmarks = useMenuListContext_unstable((context)=>context.hasCheckmarks);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const { dir } = useFluent();\n const innerRef = React.useRef(null);\n const dismissedWithKeyboardRef = React.useRef(false);\n const state = {\n hasSubmenu,\n disabled,\n persistOnClick,\n components: {\n root: 'div',\n icon: 'span',\n checkmark: 'span',\n submenuIndicator: 'span',\n content: 'span',\n secondaryContent: 'span'\n },\n root: slot.always(getNativeElementProps(as, useARIAButtonProps(as, {\n role: 'menuitem',\n ...props,\n disabled: false,\n disabledFocusable: disabled,\n ref: useMergedRefs(ref, innerRef),\n onKeyDown: useEventCallback((event)=>{\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if (!event.isDefaultPrevented() && (event.key === Space || event.key === Enter)) {\n dismissedWithKeyboardRef.current = true;\n }\n }),\n onMouseEnter: useEventCallback((event)=>{\n var _innerRef_current, _props_onMouseEnter;\n (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.focus();\n (_props_onMouseEnter = props.onMouseEnter) === null || _props_onMouseEnter === void 0 ? void 0 : _props_onMouseEnter.call(props, event);\n }),\n onClick: useEventCallback((event)=>{\n var _props_onClick;\n if (!hasSubmenu && !persistOnClick) {\n setOpen(event, {\n open: false,\n keyboard: dismissedWithKeyboardRef.current,\n bubble: true,\n type: 'menuItemClick',\n event\n });\n dismissedWithKeyboardRef.current = false;\n }\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);\n })\n })), {\n elementType: 'div'\n }),\n icon: slot.optional(props.icon, {\n renderByDefault: hasIcons,\n elementType: 'span'\n }),\n checkmark: slot.optional(props.checkmark, {\n renderByDefault: hasCheckmarks,\n elementType: 'span'\n }),\n submenuIndicator: slot.optional(props.submenuIndicator, {\n renderByDefault: hasSubmenu,\n defaultProps: {\n children: dir === 'ltr' ? /*#__PURE__*/ React.createElement(ChevronRightIcon, null) : /*#__PURE__*/ React.createElement(ChevronLeftIcon, null)\n },\n elementType: 'span'\n }),\n content: slot.optional(props.content, {\n renderByDefault: !!props.children,\n defaultProps: {\n children: props.children\n },\n elementType: 'span'\n }),\n secondaryContent: slot.optional(props.secondaryContent, {\n elementType: 'span'\n })\n };\n useCharacterSearch(state, innerRef);\n return state;\n};\n"],"names":["useMenuItem_unstable","ChevronRightIcon","bundleIcon","ChevronRightFilled","ChevronRightRegular","ChevronLeftIcon","ChevronLeftFilled","ChevronLeftRegular","props","ref","isSubmenuTrigger","useMenuTriggerContext_unstable","persistOnClickContext","useMenuContext_unstable","context","persistOnItemClick","as","disabled","hasSubmenu","persistOnClick","hasIcons","useMenuListContext_unstable","hasCheckmarks","setOpen","dir","useFluent","innerRef","React","useRef","dismissedWithKeyboardRef","state","components","root","icon","checkmark","submenuIndicator","content","secondaryContent","slot","always","getNativeElementProps","useARIAButtonProps","role","disabledFocusable","useMergedRefs","onKeyDown","useEventCallback","event","_props_onKeyDown","call","isDefaultPrevented","key","Space","Enter","current","onMouseEnter","_innerRef_current","_props_onMouseEnter","focus","onClick","_props_onClick","open","keyboard","bubble","type","elementType","optional","renderByDefault","defaultProps","children","createElement","useCharacterSearch"],"mappings":"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"}
@@ -9,6 +9,6 @@ Object.defineProperty(exports, "renderMenuItemCheckbox_unstable", {
9
9
  const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderMenuItemCheckbox_unstable = (state)=>{
12
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
- return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.secondaryContent, slotProps.secondaryContent));
12
+ (0, _reactUtilities.assertSlots)(state);
13
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, state.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.checkmark, null), state.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.icon, null), state.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.content, null), state.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.secondaryContent, null));
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuItemCheckbox.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/** Function that renders the final JSX of the component */ export const renderMenuItemCheckbox_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ createElement(slots.secondaryContent, slotProps.secondaryContent));\n};\n"],"names":["renderMenuItemCheckbox_unstable","state","slots","slotProps","getSlotsNext","createElement","root","checkmark","icon","content","secondaryContent"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAEwBA;;aAAAA;;iCAFS;gCACtD;AACuC,MAAMA,kCAAkC,CAACC,QAAQ;IACjH,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAEJ,MAAMK,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMK,SAAS,EAAEJ,UAAUI,SAAS,GAAGL,MAAMM,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMM,IAAI,EAAEL,UAAUK,IAAI,GAAGN,MAAMO,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMO,OAAO,EAAEN,UAAUM,OAAO,GAAGP,MAAMQ,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACH,MAAMQ,gBAAgB,EAAEP,UAAUO,gBAAgB;AACxZ"}
1
+ {"version":3,"sources":["renderMenuItemCheckbox.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/** Function that renders the final JSX of the component */ export const renderMenuItemCheckbox_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null, state.checkmark && /*#__PURE__*/ createElement(state.checkmark, null), state.icon && /*#__PURE__*/ createElement(state.icon, null), state.content && /*#__PURE__*/ createElement(state.content, null), state.secondaryContent && /*#__PURE__*/ createElement(state.secondaryContent, null));\n};\n"],"names":["renderMenuItemCheckbox_unstable","state","assertSlots","createElement","root","checkmark","icon","content","secondaryContent"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAEwBA;;aAAAA;;iCAFS;gCACvD;AACwC,MAAMA,kCAAkC,CAACC,QAAQ;IACjHC,IAAAA,2BAAW,EAACD;IACZ,OAAO,WAAW,GAAGE,IAAAA,8BAAa,EAACF,MAAMG,IAAI,EAAE,IAAI,EAAEH,MAAMI,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACF,MAAMI,SAAS,EAAE,IAAI,GAAGJ,MAAMK,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACF,MAAMK,IAAI,EAAE,IAAI,GAAGL,MAAMM,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACF,MAAMM,OAAO,EAAE,IAAI,GAAGN,MAAMO,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACF,MAAMO,gBAAgB,EAAE,IAAI;AAClV"}
@@ -26,11 +26,12 @@ const useMenuItemCheckbox_unstable = (props, ref)=>{
26
26
  persistOnClick: true,
27
27
  ...props,
28
28
  'aria-checked': checked,
29
- checkmark: (0, _reactUtilities.resolveShorthand)(props.checkmark, {
29
+ checkmark: _reactUtilities.slot.optional(props.checkmark, {
30
30
  defaultProps: {
31
31
  children: /*#__PURE__*/ _react.createElement(_reactIcons.Checkmark16Filled, null)
32
32
  },
33
- required: true
33
+ renderByDefault: true,
34
+ elementType: 'span'
34
35
  }),
35
36
  onClick: (e)=>{
36
37
  var _props_onClick;
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuItemCheckbox.js"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\n/** Returns the props and state required to render the component */ export const useMenuItemCheckbox_unstable = (props, ref)=>{\n const toggleCheckbox = useMenuListContext_unstable((context)=>context.toggleCheckbox);\n const { name , value } = props;\n const checked = useMenuListContext_unstable((context)=>{\n var _context_checkedValues;\n const checkedItems = ((_context_checkedValues = context.checkedValues) === null || _context_checkedValues === void 0 ? void 0 : _context_checkedValues[name]) || [];\n return checkedItems.indexOf(value) !== -1;\n });\n const state = {\n ...useMenuItem_unstable({\n role: 'menuitemcheckbox',\n persistOnClick: true,\n ...props,\n 'aria-checked': checked,\n checkmark: resolveShorthand(props.checkmark, {\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(Checkmark16Filled, null)\n },\n required: true\n }),\n onClick: (e)=>{\n var _props_onClick;\n toggleCheckbox === null || toggleCheckbox === void 0 ? void 0 : toggleCheckbox(e, name, value, checked);\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, e);\n }\n }, ref),\n name,\n value,\n checked\n };\n return state;\n};\n"],"names":["useMenuItemCheckbox_unstable","props","ref","toggleCheckbox","useMenuListContext_unstable","context","name","value","checked","_context_checkedValues","checkedItems","checkedValues","indexOf","state","useMenuItem_unstable","role","persistOnClick","checkmark","resolveShorthand","defaultProps","children","React","createElement","Checkmark16Filled","required","onClick","e","_props_onClick","call"],"mappings":";;;;+BAKiFA;;aAAAA;;;6DAL1D;gCACU;4BACC;iCACU;6BACP;AACsC,MAAMA,+BAA+B,CAACC,OAAOC,MAAM;IAC1H,MAAMC,iBAAiBC,IAAAA,4CAA2B,EAAC,CAACC,UAAUA,QAAQF,cAAc;IACpF,MAAM,EAAEG,KAAI,EAAGC,MAAK,EAAG,GAAGN;IAC1B,MAAMO,UAAUJ,IAAAA,4CAA2B,EAAC,CAACC,UAAU;QACnD,IAAII;QACJ,MAAMC,eAAe,AAAC,CAAA,AAACD,CAAAA,yBAAyBJ,QAAQM,aAAa,AAAD,MAAO,IAAI,IAAIF,2BAA2B,KAAK,IAAI,KAAK,IAAIA,sBAAsB,CAACH,KAAK,AAAD,KAAM,EAAE;QACnK,OAAOI,aAAaE,OAAO,CAACL,WAAW,CAAC;IAC5C;IACA,MAAMM,QAAQ;QACV,GAAGC,IAAAA,iCAAoB,EAAC;YACpBC,MAAM;YACNC,gBAAgB,IAAI;YACpB,GAAGf,KAAK;YACR,gBAAgBO;YAChBS,WAAWC,IAAAA,gCAAgB,EAACjB,MAAMgB,SAAS,EAAE;gBACzCE,cAAc;oBACVC,UAAU,WAAW,GAAGC,OAAMC,aAAa,CAACC,6BAAiB,EAAE,IAAI;gBACvE;gBACAC,UAAU,IAAI;YAClB;YACAC,SAAS,CAACC,IAAI;gBACV,IAAIC;gBACJxB,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeuB,GAAGpB,MAAMC,OAAOC,QAAQ;gBACtGmB,CAAAA,iBAAiB1B,MAAMwB,OAAO,AAAD,MAAO,IAAI,IAAIE,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeC,IAAI,CAAC3B,OAAOyB,EAAE;YACnH;QACJ,GAAGxB,IAAI;QACPI;QACAC;QACAC;IACJ;IACA,OAAOK;AACX"}
1
+ {"version":3,"sources":["useMenuItemCheckbox.js"],"sourcesContent":["import * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\n/** Returns the props and state required to render the component */ export const useMenuItemCheckbox_unstable = (props, ref)=>{\n const toggleCheckbox = useMenuListContext_unstable((context)=>context.toggleCheckbox);\n const { name , value } = props;\n const checked = useMenuListContext_unstable((context)=>{\n var _context_checkedValues;\n const checkedItems = ((_context_checkedValues = context.checkedValues) === null || _context_checkedValues === void 0 ? void 0 : _context_checkedValues[name]) || [];\n return checkedItems.indexOf(value) !== -1;\n });\n const state = {\n ...useMenuItem_unstable({\n role: 'menuitemcheckbox',\n persistOnClick: true,\n ...props,\n 'aria-checked': checked,\n checkmark: slot.optional(props.checkmark, {\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(Checkmark16Filled, null)\n },\n renderByDefault: true,\n elementType: 'span'\n }),\n onClick: (e)=>{\n var _props_onClick;\n toggleCheckbox === null || toggleCheckbox === void 0 ? void 0 : toggleCheckbox(e, name, value, checked);\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, e);\n }\n }, ref),\n name,\n value,\n checked\n };\n return state;\n};\n"],"names":["useMenuItemCheckbox_unstable","props","ref","toggleCheckbox","useMenuListContext_unstable","context","name","value","checked","_context_checkedValues","checkedItems","checkedValues","indexOf","state","useMenuItem_unstable","role","persistOnClick","checkmark","slot","optional","defaultProps","children","React","createElement","Checkmark16Filled","renderByDefault","elementType","onClick","e","_props_onClick","call"],"mappings":";;;;+BAKiFA;;aAAAA;;;6DAL1D;gCACF;4BACa;iCACU;6BACP;AACsC,MAAMA,+BAA+B,CAACC,OAAOC,MAAM;IAC1H,MAAMC,iBAAiBC,IAAAA,4CAA2B,EAAC,CAACC,UAAUA,QAAQF,cAAc;IACpF,MAAM,EAAEG,KAAI,EAAGC,MAAK,EAAG,GAAGN;IAC1B,MAAMO,UAAUJ,IAAAA,4CAA2B,EAAC,CAACC,UAAU;QACnD,IAAII;QACJ,MAAMC,eAAe,AAAC,CAAA,AAACD,CAAAA,yBAAyBJ,QAAQM,aAAa,AAAD,MAAO,IAAI,IAAIF,2BAA2B,KAAK,IAAI,KAAK,IAAIA,sBAAsB,CAACH,KAAK,AAAD,KAAM,EAAE;QACnK,OAAOI,aAAaE,OAAO,CAACL,WAAW,CAAC;IAC5C;IACA,MAAMM,QAAQ;QACV,GAAGC,IAAAA,iCAAoB,EAAC;YACpBC,MAAM;YACNC,gBAAgB,IAAI;YACpB,GAAGf,KAAK;YACR,gBAAgBO;YAChBS,WAAWC,oBAAI,CAACC,QAAQ,CAAClB,MAAMgB,SAAS,EAAE;gBACtCG,cAAc;oBACVC,UAAU,WAAW,GAAGC,OAAMC,aAAa,CAACC,6BAAiB,EAAE,IAAI;gBACvE;gBACAC,iBAAiB,IAAI;gBACrBC,aAAa;YACjB;YACAC,SAAS,CAACC,IAAI;gBACV,IAAIC;gBACJ1B,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeyB,GAAGtB,MAAMC,OAAOC,QAAQ;gBACtGqB,CAAAA,iBAAiB5B,MAAM0B,OAAO,AAAD,MAAO,IAAI,IAAIE,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeC,IAAI,CAAC7B,OAAO2B,EAAE;YACnH;QACJ,GAAG1B,IAAI;QACPI;QACAC;QACAC;IACJ;IACA,OAAOK;AACX"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "renderMenuItemLink_unstable", {
9
9
  const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderMenuItemLink_unstable = (state)=>{
12
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
12
+ (0, _reactUtilities.assertSlots)(state);
13
13
  // TODO Add additional slots in the appropriate place
14
- return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.secondaryContent, slotProps.secondaryContent));
14
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, state.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.checkmark, null), state.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.icon, null), state.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.content, null), state.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.secondaryContent, null));
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuItemLink.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of MenuItemLink\n */ export const renderMenuItemLink_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n // TODO Add additional slots in the appropriate place\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ createElement(slots.secondaryContent, slotProps.secondaryContent));\n};\n"],"names":["renderMenuItemLink_unstable","state","slots","slotProps","getSlotsNext","createElement","root","checkmark","icon","content","secondaryContent"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACtD;AAGlB,MAAMA,8BAA8B,CAACC,QAAQ;IACpD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,qDAAqD;IACrD,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAEJ,MAAMK,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMK,SAAS,EAAEJ,UAAUI,SAAS,GAAGL,MAAMM,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMM,IAAI,EAAEL,UAAUK,IAAI,GAAGN,MAAMO,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMO,OAAO,EAAEN,UAAUM,OAAO,GAAGP,MAAMQ,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACH,MAAMQ,gBAAgB,EAAEP,UAAUO,gBAAgB;AACxZ"}
1
+ {"version":3,"sources":["renderMenuItemLink.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of MenuItemLink\n */ export const renderMenuItemLink_unstable = (state)=>{\n assertSlots(state);\n // TODO Add additional slots in the appropriate place\n return /*#__PURE__*/ createElement(state.root, null, state.checkmark && /*#__PURE__*/ createElement(state.checkmark, null), state.icon && /*#__PURE__*/ createElement(state.icon, null), state.content && /*#__PURE__*/ createElement(state.content, null), state.secondaryContent && /*#__PURE__*/ createElement(state.secondaryContent, null));\n};\n"],"names":["renderMenuItemLink_unstable","state","assertSlots","createElement","root","checkmark","icon","content","secondaryContent"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACvD;AAGjB,MAAMA,8BAA8B,CAACC,QAAQ;IACpDC,IAAAA,2BAAW,EAACD;IACZ,qDAAqD;IACrD,OAAO,WAAW,GAAGE,IAAAA,8BAAa,EAACF,MAAMG,IAAI,EAAE,IAAI,EAAEH,MAAMI,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACF,MAAMI,SAAS,EAAE,IAAI,GAAGJ,MAAMK,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACF,MAAMK,IAAI,EAAE,IAAI,GAAGL,MAAMM,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACF,MAAMM,OAAO,EAAE,IAAI,GAAGN,MAAMO,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACF,MAAMO,gBAAgB,EAAE,IAAI;AAClV"}
@@ -19,10 +19,12 @@ const useMenuItemLink_unstable = (props, ref)=>{
19
19
  ...baseState.components,
20
20
  root: 'a'
21
21
  },
22
- root: (0, _reactUtilities.getNativeElementProps)('a', {
22
+ root: _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)('a', {
23
23
  ref,
24
24
  role: 'menuitem',
25
25
  ...props
26
+ }), {
27
+ elementType: 'a'
26
28
  })
27
29
  };
28
30
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuItemLink.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\n/**\n * Create the state required to render MenuItemLink.\n *\n * The returned state can be modified with hooks such as useMenuItemLinkStyles_unstable,\n * before being passed to renderMenuItemLink_unstable.\n *\n * @param props - props from this instance of MenuItemLink\n * @param ref - reference to root HTMLElement of MenuItemLink\n */ export const useMenuItemLink_unstable = (props, ref)=>{\n // casting because the root slot changes from div to a\n const baseState = useMenuItem_unstable(props, null);\n return {\n ...baseState,\n components: {\n ...baseState.components,\n root: 'a'\n },\n root: getNativeElementProps('a', {\n ref,\n role: 'menuitem',\n ...props\n })\n };\n};\n"],"names":["useMenuItemLink_unstable","props","ref","baseState","useMenuItem_unstable","components","root","getNativeElementProps","role"],"mappings":";;;;+BAWiBA;;aAAAA;;;6DAXM;gCACe;6BACD;AAS1B,MAAMA,2BAA2B,CAACC,OAAOC,MAAM;IACtD,sDAAsD;IACtD,MAAMC,YAAYC,IAAAA,iCAAoB,EAACH,OAAO,IAAI;IAClD,OAAO;QACH,GAAGE,SAAS;QACZE,YAAY;YACR,GAAGF,UAAUE,UAAU;YACvBC,MAAM;QACV;QACAA,MAAMC,IAAAA,qCAAqB,EAAC,KAAK;YAC7BL;YACAM,MAAM;YACN,GAAGP,KAAK;QACZ;IACJ;AACJ"}
1
+ {"version":3,"sources":["useMenuItemLink.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\n/**\n * Create the state required to render MenuItemLink.\n *\n * The returned state can be modified with hooks such as useMenuItemLinkStyles_unstable,\n * before being passed to renderMenuItemLink_unstable.\n *\n * @param props - props from this instance of MenuItemLink\n * @param ref - reference to root HTMLElement of MenuItemLink\n */ export const useMenuItemLink_unstable = (props, ref)=>{\n // casting because the root slot changes from div to a\n const baseState = useMenuItem_unstable(props, null);\n return {\n ...baseState,\n components: {\n ...baseState.components,\n root: 'a'\n },\n root: slot.always(getNativeElementProps('a', {\n ref,\n role: 'menuitem',\n ...props\n }), {\n elementType: 'a'\n })\n };\n};\n"],"names":["useMenuItemLink_unstable","props","ref","baseState","useMenuItem_unstable","components","root","slot","always","getNativeElementProps","role","elementType"],"mappings":";;;;+BAWiBA;;aAAAA;;;6DAXM;gCACqB;6BACP;AAS1B,MAAMA,2BAA2B,CAACC,OAAOC,MAAM;IACtD,sDAAsD;IACtD,MAAMC,YAAYC,IAAAA,iCAAoB,EAACH,OAAO,IAAI;IAClD,OAAO;QACH,GAAGE,SAAS;QACZE,YAAY;YACR,GAAGF,UAAUE,UAAU;YACvBC,MAAM;QACV;QACAA,MAAMC,oBAAI,CAACC,MAAM,CAACC,IAAAA,qCAAqB,EAAC,KAAK;YACzCP;YACAQ,MAAM;YACN,GAAGT,KAAK;QACZ,IAAI;YACAU,aAAa;QACjB;IACJ;AACJ"}
@@ -9,6 +9,6 @@ Object.defineProperty(exports, "renderMenuItemRadio_unstable", {
9
9
  const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderMenuItemRadio_unstable = (state)=>{
12
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
- return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.secondaryContent, slotProps.secondaryContent));
12
+ (0, _reactUtilities.assertSlots)(state);
13
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, state.checkmark && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.checkmark, null), state.icon && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.icon, null), state.content && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.content, null), state.secondaryContent && /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.secondaryContent, null));
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuItemRadio.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Redefine the render function to add slots. Reuse the menuitemradio structure but add\n * slots to children.\n */ export const renderMenuItemRadio_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ createElement(slots.secondaryContent, slotProps.secondaryContent));\n};\n"],"names":["renderMenuItemRadio_unstable","state","slots","slotProps","getSlotsNext","createElement","root","checkmark","icon","content","secondaryContent"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACtD;AAIlB,MAAMA,+BAA+B,CAACC,QAAQ;IACrD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAEJ,MAAMK,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMK,SAAS,EAAEJ,UAAUI,SAAS,GAAGL,MAAMM,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMM,IAAI,EAAEL,UAAUK,IAAI,GAAGN,MAAMO,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMO,OAAO,EAAEN,UAAUM,OAAO,GAAGP,MAAMQ,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACH,MAAMQ,gBAAgB,EAAEP,UAAUO,gBAAgB;AACxZ"}
1
+ {"version":3,"sources":["renderMenuItemRadio.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Redefine the render function to add slots. Reuse the menuitemradio structure but add\n * slots to children.\n */ export const renderMenuItemRadio_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null, state.checkmark && /*#__PURE__*/ createElement(state.checkmark, null), state.icon && /*#__PURE__*/ createElement(state.icon, null), state.content && /*#__PURE__*/ createElement(state.content, null), state.secondaryContent && /*#__PURE__*/ createElement(state.secondaryContent, null));\n};\n"],"names":["renderMenuItemRadio_unstable","state","assertSlots","createElement","root","checkmark","icon","content","secondaryContent"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACvD;AAIjB,MAAMA,+BAA+B,CAACC,QAAQ;IACrDC,IAAAA,2BAAW,EAACD;IACZ,OAAO,WAAW,GAAGE,IAAAA,8BAAa,EAACF,MAAMG,IAAI,EAAE,IAAI,EAAEH,MAAMI,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACF,MAAMI,SAAS,EAAE,IAAI,GAAGJ,MAAMK,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACF,MAAMK,IAAI,EAAE,IAAI,GAAGL,MAAMM,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACF,MAAMM,OAAO,EAAE,IAAI,GAAGN,MAAMO,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACF,MAAMO,gBAAgB,EAAE,IAAI;AAClV"}
@@ -25,11 +25,12 @@ const useMenuItemRadio_unstable = (props, ref)=>{
25
25
  ...props,
26
26
  role: 'menuitemradio',
27
27
  'aria-checked': checked,
28
- checkmark: (0, _reactUtilities.resolveShorthand)(props.checkmark, {
28
+ checkmark: _reactUtilities.slot.optional(props.checkmark, {
29
29
  defaultProps: {
30
30
  children: /*#__PURE__*/ _react.createElement(_reactIcons.Checkmark16Filled, null)
31
31
  },
32
- required: true
32
+ renderByDefault: true,
33
+ elementType: 'span'
33
34
  }),
34
35
  onClick: (e)=>{
35
36
  var _props_onClick;
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuItemRadio.js"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\n/**\n * Given user props, returns state and render function for a MenuItemRadio.\n */ export const useMenuItemRadio_unstable = (props, ref)=>{\n const { name , value } = props;\n const checked = useMenuListContext_unstable((context)=>{\n var _context_checkedValues;\n const checkedItems = ((_context_checkedValues = context.checkedValues) === null || _context_checkedValues === void 0 ? void 0 : _context_checkedValues[name]) || [];\n return checkedItems.indexOf(value) !== -1;\n });\n const selectRadio = useMenuListContext_unstable((context)=>context.selectRadio);\n return {\n ...useMenuItem_unstable({\n ...props,\n role: 'menuitemradio',\n 'aria-checked': checked,\n checkmark: resolveShorthand(props.checkmark, {\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(Checkmark16Filled, null)\n },\n required: true\n }),\n onClick: (e)=>{\n var _props_onClick;\n selectRadio === null || selectRadio === void 0 ? void 0 : selectRadio(e, name, value, checked);\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, e);\n }\n }, ref),\n checked,\n name,\n value\n };\n};\n"],"names":["useMenuItemRadio_unstable","props","ref","name","value","checked","useMenuListContext_unstable","context","_context_checkedValues","checkedItems","checkedValues","indexOf","selectRadio","useMenuItem_unstable","role","checkmark","resolveShorthand","defaultProps","children","React","createElement","Checkmark16Filled","required","onClick","e","_props_onClick","call"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;gCACU;4BACC;iCACU;6BACP;AAG1B,MAAMA,4BAA4B,CAACC,OAAOC,MAAM;IACvD,MAAM,EAAEC,KAAI,EAAGC,MAAK,EAAG,GAAGH;IAC1B,MAAMI,UAAUC,IAAAA,4CAA2B,EAAC,CAACC,UAAU;QACnD,IAAIC;QACJ,MAAMC,eAAe,AAAC,CAAA,AAACD,CAAAA,yBAAyBD,QAAQG,aAAa,AAAD,MAAO,IAAI,IAAIF,2BAA2B,KAAK,IAAI,KAAK,IAAIA,sBAAsB,CAACL,KAAK,AAAD,KAAM,EAAE;QACnK,OAAOM,aAAaE,OAAO,CAACP,WAAW,CAAC;IAC5C;IACA,MAAMQ,cAAcN,IAAAA,4CAA2B,EAAC,CAACC,UAAUA,QAAQK,WAAW;IAC9E,OAAO;QACH,GAAGC,IAAAA,iCAAoB,EAAC;YACpB,GAAGZ,KAAK;YACRa,MAAM;YACN,gBAAgBT;YAChBU,WAAWC,IAAAA,gCAAgB,EAACf,MAAMc,SAAS,EAAE;gBACzCE,cAAc;oBACVC,UAAU,WAAW,GAAGC,OAAMC,aAAa,CAACC,6BAAiB,EAAE,IAAI;gBACvE;gBACAC,UAAU,IAAI;YAClB;YACAC,SAAS,CAACC,IAAI;gBACV,IAAIC;gBACJb,gBAAgB,IAAI,IAAIA,gBAAgB,KAAK,IAAI,KAAK,IAAIA,YAAYY,GAAGrB,MAAMC,OAAOC,QAAQ;gBAC7FoB,CAAAA,iBAAiBxB,MAAMsB,OAAO,AAAD,MAAO,IAAI,IAAIE,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeC,IAAI,CAACzB,OAAOuB,EAAE;YACnH;QACJ,GAAGtB,IAAI;QACPG;QACAF;QACAC;IACJ;AACJ"}
1
+ {"version":3,"sources":["useMenuItemRadio.js"],"sourcesContent":["import * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\n/**\n * Given user props, returns state and render function for a MenuItemRadio.\n */ export const useMenuItemRadio_unstable = (props, ref)=>{\n const { name , value } = props;\n const checked = useMenuListContext_unstable((context)=>{\n var _context_checkedValues;\n const checkedItems = ((_context_checkedValues = context.checkedValues) === null || _context_checkedValues === void 0 ? void 0 : _context_checkedValues[name]) || [];\n return checkedItems.indexOf(value) !== -1;\n });\n const selectRadio = useMenuListContext_unstable((context)=>context.selectRadio);\n return {\n ...useMenuItem_unstable({\n ...props,\n role: 'menuitemradio',\n 'aria-checked': checked,\n checkmark: slot.optional(props.checkmark, {\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(Checkmark16Filled, null)\n },\n renderByDefault: true,\n elementType: 'span'\n }),\n onClick: (e)=>{\n var _props_onClick;\n selectRadio === null || selectRadio === void 0 ? void 0 : selectRadio(e, name, value, checked);\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, e);\n }\n }, ref),\n checked,\n name,\n value\n };\n};\n"],"names":["useMenuItemRadio_unstable","props","ref","name","value","checked","useMenuListContext_unstable","context","_context_checkedValues","checkedItems","checkedValues","indexOf","selectRadio","useMenuItem_unstable","role","checkmark","slot","optional","defaultProps","children","React","createElement","Checkmark16Filled","renderByDefault","elementType","onClick","e","_props_onClick","call"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;gCACF;4BACa;iCACU;6BACP;AAG1B,MAAMA,4BAA4B,CAACC,OAAOC,MAAM;IACvD,MAAM,EAAEC,KAAI,EAAGC,MAAK,EAAG,GAAGH;IAC1B,MAAMI,UAAUC,IAAAA,4CAA2B,EAAC,CAACC,UAAU;QACnD,IAAIC;QACJ,MAAMC,eAAe,AAAC,CAAA,AAACD,CAAAA,yBAAyBD,QAAQG,aAAa,AAAD,MAAO,IAAI,IAAIF,2BAA2B,KAAK,IAAI,KAAK,IAAIA,sBAAsB,CAACL,KAAK,AAAD,KAAM,EAAE;QACnK,OAAOM,aAAaE,OAAO,CAACP,WAAW,CAAC;IAC5C;IACA,MAAMQ,cAAcN,IAAAA,4CAA2B,EAAC,CAACC,UAAUA,QAAQK,WAAW;IAC9E,OAAO;QACH,GAAGC,IAAAA,iCAAoB,EAAC;YACpB,GAAGZ,KAAK;YACRa,MAAM;YACN,gBAAgBT;YAChBU,WAAWC,oBAAI,CAACC,QAAQ,CAAChB,MAAMc,SAAS,EAAE;gBACtCG,cAAc;oBACVC,UAAU,WAAW,GAAGC,OAAMC,aAAa,CAACC,6BAAiB,EAAE,IAAI;gBACvE;gBACAC,iBAAiB,IAAI;gBACrBC,aAAa;YACjB;YACAC,SAAS,CAACC,IAAI;gBACV,IAAIC;gBACJf,gBAAgB,IAAI,IAAIA,gBAAgB,KAAK,IAAI,KAAK,IAAIA,YAAYc,GAAGvB,MAAMC,OAAOC,QAAQ;gBAC7FsB,CAAAA,iBAAiB1B,MAAMwB,OAAO,AAAD,MAAO,IAAI,IAAIE,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeC,IAAI,CAAC3B,OAAOyB,EAAE;YACnH;QACJ,GAAGxB,IAAI;QACPG;QACAF;QACAC;IACJ;AACJ"}
@@ -10,8 +10,8 @@ const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const _menuListContext = require("../../contexts/menuListContext");
12
12
  const renderMenuList_unstable = (state, contextValues)=>{
13
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
+ (0, _reactUtilities.assertSlots)(state);
14
14
  return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(_menuListContext.MenuListProvider, {
15
15
  value: contextValues.menuList
16
- }, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root));
16
+ }, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null));
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuList.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { MenuListProvider } from '../../contexts/menuListContext';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuList_unstable = (state, contextValues)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(MenuListProvider, {\n value: contextValues.menuList\n }, /*#__PURE__*/ createElement(slots.root, slotProps.root));\n};\n"],"names":["renderMenuList_unstable","state","contextValues","slots","slotProps","getSlotsNext","createElement","MenuListProvider","value","menuList","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACtD;iCACI;AAGtB,MAAMA,0BAA0B,CAACC,OAAOC,gBAAgB;IAC/D,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACJ;IAC5C,OAAO,WAAW,GAAGK,IAAAA,8BAAa,EAACC,iCAAgB,EAAE;QACjDC,OAAON,cAAcO,QAAQ;IACjC,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMO,IAAI,EAAEN,UAAUM,IAAI;AAC7D"}
1
+ {"version":3,"sources":["renderMenuList.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { MenuListProvider } from '../../contexts/menuListContext';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuList_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(MenuListProvider, {\n value: contextValues.menuList\n }, /*#__PURE__*/ createElement(state.root, null));\n};\n"],"names":["renderMenuList_unstable","state","contextValues","assertSlots","createElement","MenuListProvider","value","menuList","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACvD;iCACK;AAGtB,MAAMA,0BAA0B,CAACC,OAAOC,gBAAgB;IAC/DC,IAAAA,2BAAW,EAACF;IACZ,OAAO,WAAW,GAAGG,IAAAA,8BAAa,EAACC,iCAAgB,EAAE;QACjDC,OAAOJ,cAAcK,QAAQ;IACjC,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMO,IAAI,EAAE,IAAI;AACnD"}
@@ -113,12 +113,14 @@ const useMenuList_unstable = (props, ref)=>{
113
113
  components: {
114
114
  root: 'div'
115
115
  },
116
- root: (0, _reactUtilities.getNativeElementProps)('div', {
116
+ root: _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)('div', {
117
117
  ref: (0, _reactUtilities.useMergedRefs)(ref, innerRef),
118
118
  role: 'menu',
119
119
  'aria-labelledby': menuContext.triggerId,
120
120
  ...focusAttributes,
121
121
  ...props
122
+ }), {
123
+ elementType: 'div'
122
124
  }),
123
125
  hasIcons: menuContext.hasIcons || false,
124
126
  hasCheckmarks: menuContext.hasCheckmarks || false,
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuList.js"],"sourcesContent":["import * as React from 'react';\nimport { useMergedRefs, useEventCallback, useControllableState, getNativeElementProps } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MenuContext } from '../../contexts/menuContext';\n/**\n * Returns the props and state required to render the component\n */ export const useMenuList_unstable = (props, ref)=>{\n const { findAllFocusable } = useFocusFinders();\n const menuContext = useMenuContextSelectors();\n const hasMenuContext = useHasParentContext(MenuContext);\n const focusAttributes = useArrowNavigationGroup({\n circular: true,\n ignoreDefaultKeydown: {\n Tab: hasMenuContext\n }\n });\n if (usingPropsAndMenuContext(props, menuContext, hasMenuContext)) {\n // TODO throw warnings in development safely\n // eslint-disable-next-line no-console\n console.warn('You are using both MenuList and Menu props, we recommend you to use Menu props when available');\n }\n const innerRef = React.useRef(null);\n const setFocusByFirstCharacter = React.useCallback((e, itemEl)=>{\n // TODO use some kind of children registration to reduce dependency on DOM roles\n const acceptedRoles = [\n 'menuitem',\n 'menuitemcheckbox',\n 'menuitemradio'\n ];\n if (!innerRef.current) {\n return;\n }\n const menuItems = findAllFocusable(innerRef.current, (el)=>el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')) !== -1);\n let startIndex = menuItems.indexOf(itemEl) + 1;\n if (startIndex === menuItems.length) {\n startIndex = 0;\n }\n const firstChars = menuItems.map((menuItem)=>{\n var _menuItem_textContent;\n return (_menuItem_textContent = menuItem.textContent) === null || _menuItem_textContent === void 0 ? void 0 : _menuItem_textContent.charAt(0).toLowerCase();\n });\n const char = e.key.toLowerCase();\n const getIndexFirstChars = (start, firstChar)=>{\n for(let i = start; i < firstChars.length; i++){\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n };\n // Check remaining slots in the menu\n let index = getIndexFirstChars(startIndex, char);\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = getIndexFirstChars(0, char);\n }\n // If match was found...\n if (index > -1) {\n menuItems[index].focus();\n }\n }, [\n findAllFocusable\n ]);\n var _props_checkedValues;\n const [checkedValues, setCheckedValues] = useControllableState({\n state: (_props_checkedValues = props.checkedValues) !== null && _props_checkedValues !== void 0 ? _props_checkedValues : hasMenuContext ? menuContext.checkedValues : undefined,\n defaultState: props.defaultCheckedValues,\n initialState: {}\n });\n var _props_onCheckedValueChange;\n const handleCheckedValueChange = (_props_onCheckedValueChange = props.onCheckedValueChange) !== null && _props_onCheckedValueChange !== void 0 ? _props_onCheckedValueChange : hasMenuContext ? menuContext.onCheckedValueChange : undefined;\n const toggleCheckbox = useEventCallback((e, name, value, checked)=>{\n const checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];\n const newCheckedItems = [\n ...checkedItems\n ];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n setCheckedValues((s)=>({\n ...s,\n [name]: newCheckedItems\n }));\n });\n const selectRadio = useEventCallback((e, name, value)=>{\n const newCheckedItems = [\n value\n ];\n setCheckedValues((s)=>({\n ...s,\n [name]: newCheckedItems\n }));\n handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n });\n return {\n components: {\n root: 'div'\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, innerRef),\n role: 'menu',\n 'aria-labelledby': menuContext.triggerId,\n ...focusAttributes,\n ...props\n }),\n hasIcons: menuContext.hasIcons || false,\n hasCheckmarks: menuContext.hasCheckmarks || false,\n checkedValues,\n hasMenuContext,\n setFocusByFirstCharacter,\n selectRadio,\n toggleCheckbox\n };\n};\n/**\n * Adds some sugar to fetching multiple context selector values\n */ const useMenuContextSelectors = ()=>{\n const checkedValues = useMenuContext_unstable((context)=>context.checkedValues);\n const onCheckedValueChange = useMenuContext_unstable((context)=>context.onCheckedValueChange);\n const triggerId = useMenuContext_unstable((context)=>context.triggerId);\n const hasIcons = useMenuContext_unstable((context)=>context.hasIcons);\n const hasCheckmarks = useMenuContext_unstable((context)=>context.hasCheckmarks);\n return {\n checkedValues,\n onCheckedValueChange,\n triggerId,\n hasIcons,\n hasCheckmarks\n };\n};\n/**\n * Helper function to detect if props and MenuContext values are both used\n */ const usingPropsAndMenuContext = (props, contextValue, hasMenuContext)=>{\n let isUsingPropsAndContext = false;\n for(const val in contextValue){\n if (props[val]) {\n isUsingPropsAndContext = true;\n }\n }\n return hasMenuContext && isUsingPropsAndContext;\n};\n"],"names":["useMenuList_unstable","props","ref","findAllFocusable","useFocusFinders","menuContext","useMenuContextSelectors","hasMenuContext","useHasParentContext","MenuContext","focusAttributes","useArrowNavigationGroup","circular","ignoreDefaultKeydown","Tab","usingPropsAndMenuContext","console","warn","innerRef","React","useRef","setFocusByFirstCharacter","useCallback","e","itemEl","acceptedRoles","current","menuItems","el","hasAttribute","indexOf","getAttribute","startIndex","length","firstChars","map","menuItem","_menuItem_textContent","textContent","charAt","toLowerCase","char","key","getIndexFirstChars","start","firstChar","i","index","focus","_props_checkedValues","checkedValues","setCheckedValues","useControllableState","state","undefined","defaultState","defaultCheckedValues","initialState","_props_onCheckedValueChange","handleCheckedValueChange","onCheckedValueChange","toggleCheckbox","useEventCallback","name","value","checked","checkedItems","newCheckedItems","splice","push","s","selectRadio","components","root","getNativeElementProps","useMergedRefs","role","triggerId","hasIcons","hasCheckmarks","useMenuContext_unstable","context","contextValue","isUsingPropsAndContext","val"],"mappings":"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"}
1
+ {"version":3,"sources":["useMenuList.js"],"sourcesContent":["import * as React from 'react';\nimport { useMergedRefs, useEventCallback, useControllableState, getNativeElementProps, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MenuContext } from '../../contexts/menuContext';\n/**\n * Returns the props and state required to render the component\n */ export const useMenuList_unstable = (props, ref)=>{\n const { findAllFocusable } = useFocusFinders();\n const menuContext = useMenuContextSelectors();\n const hasMenuContext = useHasParentContext(MenuContext);\n const focusAttributes = useArrowNavigationGroup({\n circular: true,\n ignoreDefaultKeydown: {\n Tab: hasMenuContext\n }\n });\n if (usingPropsAndMenuContext(props, menuContext, hasMenuContext)) {\n // TODO throw warnings in development safely\n // eslint-disable-next-line no-console\n console.warn('You are using both MenuList and Menu props, we recommend you to use Menu props when available');\n }\n const innerRef = React.useRef(null);\n const setFocusByFirstCharacter = React.useCallback((e, itemEl)=>{\n // TODO use some kind of children registration to reduce dependency on DOM roles\n const acceptedRoles = [\n 'menuitem',\n 'menuitemcheckbox',\n 'menuitemradio'\n ];\n if (!innerRef.current) {\n return;\n }\n const menuItems = findAllFocusable(innerRef.current, (el)=>el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')) !== -1);\n let startIndex = menuItems.indexOf(itemEl) + 1;\n if (startIndex === menuItems.length) {\n startIndex = 0;\n }\n const firstChars = menuItems.map((menuItem)=>{\n var _menuItem_textContent;\n return (_menuItem_textContent = menuItem.textContent) === null || _menuItem_textContent === void 0 ? void 0 : _menuItem_textContent.charAt(0).toLowerCase();\n });\n const char = e.key.toLowerCase();\n const getIndexFirstChars = (start, firstChar)=>{\n for(let i = start; i < firstChars.length; i++){\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n };\n // Check remaining slots in the menu\n let index = getIndexFirstChars(startIndex, char);\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = getIndexFirstChars(0, char);\n }\n // If match was found...\n if (index > -1) {\n menuItems[index].focus();\n }\n }, [\n findAllFocusable\n ]);\n var _props_checkedValues;\n const [checkedValues, setCheckedValues] = useControllableState({\n state: (_props_checkedValues = props.checkedValues) !== null && _props_checkedValues !== void 0 ? _props_checkedValues : hasMenuContext ? menuContext.checkedValues : undefined,\n defaultState: props.defaultCheckedValues,\n initialState: {}\n });\n var _props_onCheckedValueChange;\n const handleCheckedValueChange = (_props_onCheckedValueChange = props.onCheckedValueChange) !== null && _props_onCheckedValueChange !== void 0 ? _props_onCheckedValueChange : hasMenuContext ? menuContext.onCheckedValueChange : undefined;\n const toggleCheckbox = useEventCallback((e, name, value, checked)=>{\n const checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];\n const newCheckedItems = [\n ...checkedItems\n ];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n setCheckedValues((s)=>({\n ...s,\n [name]: newCheckedItems\n }));\n });\n const selectRadio = useEventCallback((e, name, value)=>{\n const newCheckedItems = [\n value\n ];\n setCheckedValues((s)=>({\n ...s,\n [name]: newCheckedItems\n }));\n handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n });\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getNativeElementProps('div', {\n ref: useMergedRefs(ref, innerRef),\n role: 'menu',\n 'aria-labelledby': menuContext.triggerId,\n ...focusAttributes,\n ...props\n }), {\n elementType: 'div'\n }),\n hasIcons: menuContext.hasIcons || false,\n hasCheckmarks: menuContext.hasCheckmarks || false,\n checkedValues,\n hasMenuContext,\n setFocusByFirstCharacter,\n selectRadio,\n toggleCheckbox\n };\n};\n/**\n * Adds some sugar to fetching multiple context selector values\n */ const useMenuContextSelectors = ()=>{\n const checkedValues = useMenuContext_unstable((context)=>context.checkedValues);\n const onCheckedValueChange = useMenuContext_unstable((context)=>context.onCheckedValueChange);\n const triggerId = useMenuContext_unstable((context)=>context.triggerId);\n const hasIcons = useMenuContext_unstable((context)=>context.hasIcons);\n const hasCheckmarks = useMenuContext_unstable((context)=>context.hasCheckmarks);\n return {\n checkedValues,\n onCheckedValueChange,\n triggerId,\n hasIcons,\n hasCheckmarks\n };\n};\n/**\n * Helper function to detect if props and MenuContext values are both used\n */ const usingPropsAndMenuContext = (props, contextValue, hasMenuContext)=>{\n let isUsingPropsAndContext = false;\n for(const val in contextValue){\n if (props[val]) {\n isUsingPropsAndContext = true;\n }\n }\n return hasMenuContext && isUsingPropsAndContext;\n};\n"],"names":["useMenuList_unstable","props","ref","findAllFocusable","useFocusFinders","menuContext","useMenuContextSelectors","hasMenuContext","useHasParentContext","MenuContext","focusAttributes","useArrowNavigationGroup","circular","ignoreDefaultKeydown","Tab","usingPropsAndMenuContext","console","warn","innerRef","React","useRef","setFocusByFirstCharacter","useCallback","e","itemEl","acceptedRoles","current","menuItems","el","hasAttribute","indexOf","getAttribute","startIndex","length","firstChars","map","menuItem","_menuItem_textContent","textContent","charAt","toLowerCase","char","key","getIndexFirstChars","start","firstChar","i","index","focus","_props_checkedValues","checkedValues","setCheckedValues","useControllableState","state","undefined","defaultState","defaultCheckedValues","initialState","_props_onCheckedValueChange","handleCheckedValueChange","onCheckedValueChange","toggleCheckbox","useEventCallback","name","value","checked","checkedItems","newCheckedItems","splice","push","s","selectRadio","components","root","slot","always","getNativeElementProps","useMergedRefs","role","triggerId","elementType","hasIcons","hasCheckmarks","useMenuContext_unstable","context","contextValue","isUsingPropsAndContext","val"],"mappings":"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"}
@@ -10,11 +10,11 @@ const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const _reactPortal = require("@fluentui/react-portal");
12
12
  const renderMenuPopover_unstable = (state)=>{
13
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
+ (0, _reactUtilities.assertSlots)(state);
14
14
  if (state.inline) {
15
- return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root);
15
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null);
16
16
  }
17
17
  return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(_reactPortal.Portal, {
18
18
  mountNode: state.mountNode
19
- }, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root));
19
+ }, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null));
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuPopover.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { Portal } from '@fluentui/react-portal';\n/**\n * Render the final JSX of MenuPopover\n */ export const renderMenuPopover_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n if (state.inline) {\n return /*#__PURE__*/ createElement(slots.root, slotProps.root);\n }\n return /*#__PURE__*/ createElement(Portal, {\n mountNode: state.mountNode\n }, /*#__PURE__*/ createElement(slots.root, slotProps.root));\n};\n"],"names":["renderMenuPopover_unstable","state","slots","slotProps","getSlotsNext","inline","createElement","root","Portal","mountNode"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACtD;6BACN;AAGZ,MAAMA,6BAA6B,CAACC,QAAQ;IACnD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,IAAIA,MAAMI,MAAM,EAAE;QACd,OAAO,WAAW,GAAGC,IAAAA,8BAAa,EAACJ,MAAMK,IAAI,EAAEJ,UAAUI,IAAI;IACjE,CAAC;IACD,OAAO,WAAW,GAAGD,IAAAA,8BAAa,EAACE,mBAAM,EAAE;QACvCC,WAAWR,MAAMQ,SAAS;IAC9B,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACJ,MAAMK,IAAI,EAAEJ,UAAUI,IAAI;AAC7D"}
1
+ {"version":3,"sources":["renderMenuPopover.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { Portal } from '@fluentui/react-portal';\n/**\n * Render the final JSX of MenuPopover\n */ export const renderMenuPopover_unstable = (state)=>{\n assertSlots(state);\n if (state.inline) {\n return /*#__PURE__*/ createElement(state.root, null);\n }\n return /*#__PURE__*/ createElement(Portal, {\n mountNode: state.mountNode\n }, /*#__PURE__*/ createElement(state.root, null));\n};\n"],"names":["renderMenuPopover_unstable","state","assertSlots","inline","createElement","root","Portal","mountNode"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACvD;6BACL;AAGZ,MAAMA,6BAA6B,CAACC,QAAQ;IACnDC,IAAAA,2BAAW,EAACD;IACZ,IAAIA,MAAME,MAAM,EAAE;QACd,OAAO,WAAW,GAAGC,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAE,IAAI;IACvD,CAAC;IACD,OAAO,WAAW,GAAGD,IAAAA,8BAAa,EAACE,mBAAM,EAAE;QACvCC,WAAWN,MAAMM,SAAS;IAC9B,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAE,IAAI;AACnD"}
@@ -54,11 +54,13 @@ const useMenuPopover_unstable = (props, ref)=>{
54
54
  var _useMenuContext_unstable;
55
55
  const inline = (_useMenuContext_unstable = (0, _menuContext.useMenuContext_unstable)((context)=>context.inline)) !== null && _useMenuContext_unstable !== void 0 ? _useMenuContext_unstable : false;
56
56
  const mountNode = (0, _menuContext.useMenuContext_unstable)((context)=>context.mountNode);
57
- const rootProps = (0, _reactUtilities.getNativeElementProps)('div', {
57
+ const rootProps = _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)('div', {
58
58
  role: 'presentation',
59
59
  ...restoreFocusSourceAttributes,
60
60
  ...props,
61
61
  ref: (0, _reactUtilities.useMergedRefs)(ref, popoverRef, mouseOverListenerCallbackRef)
62
+ }), {
63
+ elementType: 'div'
62
64
  });
63
65
  const { onMouseEnter: onMouseEnterOriginal , onKeyDown: onKeyDownOriginal } = rootProps;
64
66
  rootProps.onMouseEnter = (0, _reactUtilities.useEventCallback)((event)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuPopover.js"],"sourcesContent":["import * as React from 'react';\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { getNativeElementProps, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { dispatchMenuEnterEvent } from '../../utils/index';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useRestoreFocusSource } from '@fluentui/react-tabster';\n/**\n * Create the state required to render MenuPopover.\n *\n * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,\n * before being passed to renderMenuPopover_unstable.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */ export const useMenuPopover_unstable = (props, ref)=>{\n const popoverRef = useMenuContext_unstable((context)=>context.menuPopoverRef);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const open = useMenuContext_unstable((context)=>context.open);\n const openOnHover = useMenuContext_unstable((context)=>context.openOnHover);\n const triggerRef = useMenuContext_unstable((context)=>context.triggerRef);\n const isSubmenu = useIsSubmenu();\n const canDispatchCustomEventRef = React.useRef(true);\n const throttleDispatchTimerRef = React.useRef(0);\n const restoreFocusSourceAttributes = useRestoreFocusSource();\n const { dir } = useFluent();\n const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n // use DOM listener since react events propagate up the react tree\n // no need to do `contains` logic as menus are all positioned in different portals\n const mouseOverListenerCallbackRef = React.useCallback((node)=>{\n if (node) {\n // Dispatches the custom menu mouse enter event with throttling\n // Needs to trigger on mouseover to support keyboard + mouse together\n // i.e. keyboard opens submenus while cursor is still on the parent\n node.addEventListener('mouseover', (e)=>{\n if (canDispatchCustomEventRef.current) {\n canDispatchCustomEventRef.current = false;\n dispatchMenuEnterEvent(popoverRef.current, e);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore #16889 Node setTimeout type leaking\n throttleDispatchTimerRef.current = setTimeout(()=>canDispatchCustomEventRef.current = true, 250);\n }\n });\n }\n }, [\n popoverRef,\n throttleDispatchTimerRef\n ]);\n React.useEffect(()=>{\n ()=>clearTimeout(throttleDispatchTimerRef.current);\n }, []);\n var _useMenuContext_unstable;\n const inline = (_useMenuContext_unstable = useMenuContext_unstable((context)=>context.inline)) !== null && _useMenuContext_unstable !== void 0 ? _useMenuContext_unstable : false;\n const mountNode = useMenuContext_unstable((context)=>context.mountNode);\n const rootProps = getNativeElementProps('div', {\n role: 'presentation',\n ...restoreFocusSourceAttributes,\n ...props,\n ref: useMergedRefs(ref, popoverRef, mouseOverListenerCallbackRef)\n });\n const { onMouseEnter: onMouseEnterOriginal , onKeyDown: onKeyDownOriginal } = rootProps;\n rootProps.onMouseEnter = useEventCallback((event)=>{\n if (openOnHover) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuPopoverMouseEnter',\n event\n });\n }\n onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(event);\n });\n rootProps.onKeyDown = useEventCallback((event)=>{\n const key = event.key;\n if (key === Escape || isSubmenu && key === CloseArrowKey) {\n var _popoverRef_current;\n if (open && ((_popoverRef_current = popoverRef.current) === null || _popoverRef_current === void 0 ? void 0 : _popoverRef_current.contains(event.target))) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuPopoverKeyDown',\n event\n });\n // stop propagation to avoid conflicting with other elements that listen for `Escape`\n // e,g: Dialog, Popover and Tooltip\n event.stopPropagation();\n }\n }\n if (key === Tab) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuPopoverKeyDown',\n event\n });\n if (!isSubmenu) {\n var _triggerRef_current;\n (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n }\n }\n onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(event);\n });\n return {\n inline,\n mountNode,\n components: {\n root: 'div'\n },\n root: rootProps\n };\n};\n"],"names":["useMenuPopover_unstable","props","ref","popoverRef","useMenuContext_unstable","context","menuPopoverRef","setOpen","open","openOnHover","triggerRef","isSubmenu","useIsSubmenu","canDispatchCustomEventRef","React","useRef","throttleDispatchTimerRef","restoreFocusSourceAttributes","useRestoreFocusSource","dir","useFluent","CloseArrowKey","ArrowLeft","ArrowRight","mouseOverListenerCallbackRef","useCallback","node","addEventListener","e","current","dispatchMenuEnterEvent","setTimeout","useEffect","clearTimeout","_useMenuContext_unstable","inline","mountNode","rootProps","getNativeElementProps","role","useMergedRefs","onMouseEnter","onMouseEnterOriginal","onKeyDown","onKeyDownOriginal","useEventCallback","event","keyboard","type","key","Escape","_popoverRef_current","contains","target","stopPropagation","Tab","_triggerRef_current","focus","components","root"],"mappings":"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"}
1
+ {"version":3,"sources":["useMenuPopover.js"],"sourcesContent":["import * as React from 'react';\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { getNativeElementProps, useEventCallback, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { dispatchMenuEnterEvent } from '../../utils/index';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useRestoreFocusSource } from '@fluentui/react-tabster';\n/**\n * Create the state required to render MenuPopover.\n *\n * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,\n * before being passed to renderMenuPopover_unstable.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */ export const useMenuPopover_unstable = (props, ref)=>{\n const popoverRef = useMenuContext_unstable((context)=>context.menuPopoverRef);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const open = useMenuContext_unstable((context)=>context.open);\n const openOnHover = useMenuContext_unstable((context)=>context.openOnHover);\n const triggerRef = useMenuContext_unstable((context)=>context.triggerRef);\n const isSubmenu = useIsSubmenu();\n const canDispatchCustomEventRef = React.useRef(true);\n const throttleDispatchTimerRef = React.useRef(0);\n const restoreFocusSourceAttributes = useRestoreFocusSource();\n const { dir } = useFluent();\n const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n // use DOM listener since react events propagate up the react tree\n // no need to do `contains` logic as menus are all positioned in different portals\n const mouseOverListenerCallbackRef = React.useCallback((node)=>{\n if (node) {\n // Dispatches the custom menu mouse enter event with throttling\n // Needs to trigger on mouseover to support keyboard + mouse together\n // i.e. keyboard opens submenus while cursor is still on the parent\n node.addEventListener('mouseover', (e)=>{\n if (canDispatchCustomEventRef.current) {\n canDispatchCustomEventRef.current = false;\n dispatchMenuEnterEvent(popoverRef.current, e);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore #16889 Node setTimeout type leaking\n throttleDispatchTimerRef.current = setTimeout(()=>canDispatchCustomEventRef.current = true, 250);\n }\n });\n }\n }, [\n popoverRef,\n throttleDispatchTimerRef\n ]);\n React.useEffect(()=>{\n ()=>clearTimeout(throttleDispatchTimerRef.current);\n }, []);\n var _useMenuContext_unstable;\n const inline = (_useMenuContext_unstable = useMenuContext_unstable((context)=>context.inline)) !== null && _useMenuContext_unstable !== void 0 ? _useMenuContext_unstable : false;\n const mountNode = useMenuContext_unstable((context)=>context.mountNode);\n const rootProps = slot.always(getNativeElementProps('div', {\n role: 'presentation',\n ...restoreFocusSourceAttributes,\n ...props,\n ref: useMergedRefs(ref, popoverRef, mouseOverListenerCallbackRef)\n }), {\n elementType: 'div'\n });\n const { onMouseEnter: onMouseEnterOriginal , onKeyDown: onKeyDownOriginal } = rootProps;\n rootProps.onMouseEnter = useEventCallback((event)=>{\n if (openOnHover) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuPopoverMouseEnter',\n event\n });\n }\n onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(event);\n });\n rootProps.onKeyDown = useEventCallback((event)=>{\n const key = event.key;\n if (key === Escape || isSubmenu && key === CloseArrowKey) {\n var _popoverRef_current;\n if (open && ((_popoverRef_current = popoverRef.current) === null || _popoverRef_current === void 0 ? void 0 : _popoverRef_current.contains(event.target))) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuPopoverKeyDown',\n event\n });\n // stop propagation to avoid conflicting with other elements that listen for `Escape`\n // e,g: Dialog, Popover and Tooltip\n event.stopPropagation();\n }\n }\n if (key === Tab) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuPopoverKeyDown',\n event\n });\n if (!isSubmenu) {\n var _triggerRef_current;\n (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n }\n }\n onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(event);\n });\n return {\n inline,\n mountNode,\n components: {\n root: 'div'\n },\n root: rootProps\n };\n};\n"],"names":["useMenuPopover_unstable","props","ref","popoverRef","useMenuContext_unstable","context","menuPopoverRef","setOpen","open","openOnHover","triggerRef","isSubmenu","useIsSubmenu","canDispatchCustomEventRef","React","useRef","throttleDispatchTimerRef","restoreFocusSourceAttributes","useRestoreFocusSource","dir","useFluent","CloseArrowKey","ArrowLeft","ArrowRight","mouseOverListenerCallbackRef","useCallback","node","addEventListener","e","current","dispatchMenuEnterEvent","setTimeout","useEffect","clearTimeout","_useMenuContext_unstable","inline","mountNode","rootProps","slot","always","getNativeElementProps","role","useMergedRefs","elementType","onMouseEnter","onMouseEnterOriginal","onKeyDown","onKeyDownOriginal","useEventCallback","event","keyboard","type","key","Escape","_popoverRef_current","contains","target","stopPropagation","Tab","_triggerRef_current","focus","components","root"],"mappings":"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"}
@@ -9,6 +9,6 @@ Object.defineProperty(exports, "renderMenuSplitGroup_unstable", {
9
9
  const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderMenuSplitGroup_unstable = (state)=>{
12
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
- return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root);
12
+ (0, _reactUtilities.assertSlots)(state);
13
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null);
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["renderMenuSplitGroup.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of MenuSplitGroup\n */ export const renderMenuSplitGroup_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root);\n};\n"],"names":["renderMenuSplitGroup_unstable","state","slots","slotProps","getSlotsNext","createElement","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACtD;AAGlB,MAAMA,gCAAgC,CAACC,QAAQ;IACtD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI;AACjE"}
1
+ {"version":3,"sources":["renderMenuSplitGroup.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of MenuSplitGroup\n */ export const renderMenuSplitGroup_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null);\n};\n"],"names":["renderMenuSplitGroup_unstable","state","assertSlots","createElement","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACvD;AAGjB,MAAMA,gCAAgC,CAACC,QAAQ;IACtDC,IAAAA,2BAAW,EAACD;IACZ,OAAO,WAAW,GAAGE,IAAAA,8BAAa,EAACF,MAAMG,IAAI,EAAE,IAAI;AACvD"}
@@ -50,11 +50,13 @@ const useMenuSplitGroup_unstable = (props, ref)=>{
50
50
  components: {
51
51
  root: 'div'
52
52
  },
53
- root: (0, _reactUtilities.getNativeElementProps)('div', {
53
+ root: _reactUtilities.slot.always((0, _reactUtilities.getNativeElementProps)('div', {
54
54
  role: 'group',
55
55
  ref: (0, _reactUtilities.useMergedRefs)(ref, innerRef),
56
56
  onKeyDown,
57
57
  ...props
58
+ }), {
59
+ elementType: 'div'
58
60
  })
59
61
  };
60
62
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useMenuSplitGroup.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, getRTLSafeKey, useMergedRefs } from '@fluentui/react-utilities';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft } from '@fluentui/keyboard-keys';\n/**\n * Create the state required to render MenuSplitGroup.\n *\n * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,\n * before being passed to renderMenuSplitGroup_unstable.\n *\n * @param props - props from this instance of MenuSplitGroup\n * @param ref - reference to root HTMLElement of MenuSplitGroup\n */ export const useMenuSplitGroup_unstable = (props, ref)=>{\n const innerRef = React.useRef();\n const { dir , targetDocument } = useFluent();\n const nextArrowKey = getRTLSafeKey(ArrowRight, dir);\n const prevArrowKey = getRTLSafeKey(ArrowLeft, dir);\n const { findNextFocusable , findPrevFocusable } = useFocusFinders();\n const onKeyDown = React.useCallback((e)=>{\n var _innerRef_current;\n const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;\n if (!activeElement) {\n return;\n }\n if (!((_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.contains(activeElement))) {\n return;\n }\n if (e.key === nextArrowKey) {\n const next = findNextFocusable(activeElement, {\n container: innerRef.current\n });\n next === null || next === void 0 ? void 0 : next.focus();\n }\n if (e.key === prevArrowKey) {\n const prev = findPrevFocusable(activeElement, {\n container: innerRef.current\n });\n prev === null || prev === void 0 ? void 0 : prev.focus();\n }\n }, [\n findNextFocusable,\n findPrevFocusable,\n targetDocument,\n nextArrowKey,\n prevArrowKey\n ]);\n return {\n components: {\n root: 'div'\n },\n root: getNativeElementProps('div', {\n role: 'group',\n ref: useMergedRefs(ref, innerRef),\n onKeyDown,\n ...props\n })\n };\n};\n"],"names":["useMenuSplitGroup_unstable","props","ref","innerRef","React","useRef","dir","targetDocument","useFluent","nextArrowKey","getRTLSafeKey","ArrowRight","prevArrowKey","ArrowLeft","findNextFocusable","findPrevFocusable","useFocusFinders","onKeyDown","useCallback","e","_innerRef_current","activeElement","current","contains","key","next","container","focus","prev","components","root","getNativeElementProps","role","useMergedRefs"],"mappings":";;;;+BAaiBA;;aAAAA;;;6DAbM;gCAC6C;8BACpC;qCACgB;8BACV;AAS3B,MAAMA,6BAA6B,CAACC,OAAOC,MAAM;IACxD,MAAMC,WAAWC,OAAMC,MAAM;IAC7B,MAAM,EAAEC,IAAG,EAAGC,eAAc,EAAG,GAAGC,IAAAA,uCAAS;IAC3C,MAAMC,eAAeC,IAAAA,6BAAa,EAACC,wBAAU,EAAEL;IAC/C,MAAMM,eAAeF,IAAAA,6BAAa,EAACG,uBAAS,EAAEP;IAC9C,MAAM,EAAEQ,kBAAiB,EAAGC,kBAAiB,EAAG,GAAGC,IAAAA,6BAAe;IAClE,MAAMC,YAAYb,OAAMc,WAAW,CAAC,CAACC,IAAI;QACrC,IAAIC;QACJ,MAAMC,gBAAgBd,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAec,aAAa;QAClH,IAAI,CAACA,eAAe;YAChB;QACJ,CAAC;QACD,IAAI,CAAE,CAAA,AAACD,CAAAA,oBAAoBjB,SAASmB,OAAO,AAAD,MAAO,IAAI,IAAIF,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBG,QAAQ,CAACF,cAAc,AAAD,GAAI;YACzI;QACJ,CAAC;QACD,IAAIF,EAAEK,GAAG,KAAKf,cAAc;YACxB,MAAMgB,OAAOX,kBAAkBO,eAAe;gBAC1CK,WAAWvB,SAASmB,OAAO;YAC/B;YACAG,SAAS,IAAI,IAAIA,SAAS,KAAK,IAAI,KAAK,IAAIA,KAAKE,KAAK,EAAE;QAC5D,CAAC;QACD,IAAIR,EAAEK,GAAG,KAAKZ,cAAc;YACxB,MAAMgB,OAAOb,kBAAkBM,eAAe;gBAC1CK,WAAWvB,SAASmB,OAAO;YAC/B;YACAM,SAAS,IAAI,IAAIA,SAAS,KAAK,IAAI,KAAK,IAAIA,KAAKD,KAAK,EAAE;QAC5D,CAAC;IACL,GAAG;QACCb;QACAC;QACAR;QACAE;QACAG;KACH;IACD,OAAO;QACHiB,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,IAAAA,qCAAqB,EAAC,OAAO;YAC/BC,MAAM;YACN9B,KAAK+B,IAAAA,6BAAa,EAAC/B,KAAKC;YACxBc;YACA,GAAGhB,KAAK;QACZ;IACJ;AACJ"}
1
+ {"version":3,"sources":["useMenuSplitGroup.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, getRTLSafeKey, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft } from '@fluentui/keyboard-keys';\n/**\n * Create the state required to render MenuSplitGroup.\n *\n * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,\n * before being passed to renderMenuSplitGroup_unstable.\n *\n * @param props - props from this instance of MenuSplitGroup\n * @param ref - reference to root HTMLElement of MenuSplitGroup\n */ export const useMenuSplitGroup_unstable = (props, ref)=>{\n const innerRef = React.useRef();\n const { dir , targetDocument } = useFluent();\n const nextArrowKey = getRTLSafeKey(ArrowRight, dir);\n const prevArrowKey = getRTLSafeKey(ArrowLeft, dir);\n const { findNextFocusable , findPrevFocusable } = useFocusFinders();\n const onKeyDown = React.useCallback((e)=>{\n var _innerRef_current;\n const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;\n if (!activeElement) {\n return;\n }\n if (!((_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.contains(activeElement))) {\n return;\n }\n if (e.key === nextArrowKey) {\n const next = findNextFocusable(activeElement, {\n container: innerRef.current\n });\n next === null || next === void 0 ? void 0 : next.focus();\n }\n if (e.key === prevArrowKey) {\n const prev = findPrevFocusable(activeElement, {\n container: innerRef.current\n });\n prev === null || prev === void 0 ? void 0 : prev.focus();\n }\n }, [\n findNextFocusable,\n findPrevFocusable,\n targetDocument,\n nextArrowKey,\n prevArrowKey\n ]);\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getNativeElementProps('div', {\n role: 'group',\n ref: useMergedRefs(ref, innerRef),\n onKeyDown,\n ...props\n }), {\n elementType: 'div'\n })\n };\n};\n"],"names":["useMenuSplitGroup_unstable","props","ref","innerRef","React","useRef","dir","targetDocument","useFluent","nextArrowKey","getRTLSafeKey","ArrowRight","prevArrowKey","ArrowLeft","findNextFocusable","findPrevFocusable","useFocusFinders","onKeyDown","useCallback","e","_innerRef_current","activeElement","current","contains","key","next","container","focus","prev","components","root","slot","always","getNativeElementProps","role","useMergedRefs","elementType"],"mappings":";;;;+BAaiBA;;aAAAA;;;6DAbM;gCACmD;8BAC1C;qCACgB;8BACV;AAS3B,MAAMA,6BAA6B,CAACC,OAAOC,MAAM;IACxD,MAAMC,WAAWC,OAAMC,MAAM;IAC7B,MAAM,EAAEC,IAAG,EAAGC,eAAc,EAAG,GAAGC,IAAAA,uCAAS;IAC3C,MAAMC,eAAeC,IAAAA,6BAAa,EAACC,wBAAU,EAAEL;IAC/C,MAAMM,eAAeF,IAAAA,6BAAa,EAACG,uBAAS,EAAEP;IAC9C,MAAM,EAAEQ,kBAAiB,EAAGC,kBAAiB,EAAG,GAAGC,IAAAA,6BAAe;IAClE,MAAMC,YAAYb,OAAMc,WAAW,CAAC,CAACC,IAAI;QACrC,IAAIC;QACJ,MAAMC,gBAAgBd,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAec,aAAa;QAClH,IAAI,CAACA,eAAe;YAChB;QACJ,CAAC;QACD,IAAI,CAAE,CAAA,AAACD,CAAAA,oBAAoBjB,SAASmB,OAAO,AAAD,MAAO,IAAI,IAAIF,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBG,QAAQ,CAACF,cAAc,AAAD,GAAI;YACzI;QACJ,CAAC;QACD,IAAIF,EAAEK,GAAG,KAAKf,cAAc;YACxB,MAAMgB,OAAOX,kBAAkBO,eAAe;gBAC1CK,WAAWvB,SAASmB,OAAO;YAC/B;YACAG,SAAS,IAAI,IAAIA,SAAS,KAAK,IAAI,KAAK,IAAIA,KAAKE,KAAK,EAAE;QAC5D,CAAC;QACD,IAAIR,EAAEK,GAAG,KAAKZ,cAAc;YACxB,MAAMgB,OAAOb,kBAAkBM,eAAe;gBAC1CK,WAAWvB,SAASmB,OAAO;YAC/B;YACAM,SAAS,IAAI,IAAIA,SAAS,KAAK,IAAI,KAAK,IAAIA,KAAKD,KAAK,EAAE;QAC5D,CAAC;IACL,GAAG;QACCb;QACAC;QACAR;QACAE;QACAG;KACH;IACD,OAAO;QACHiB,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,oBAAI,CAACC,MAAM,CAACC,IAAAA,qCAAqB,EAAC,OAAO;YAC3CC,MAAM;YACNhC,KAAKiC,IAAAA,6BAAa,EAACjC,KAAKC;YACxBc;YACA,GAAGhB,KAAK;QACZ,IAAI;YACAmC,aAAa;QACjB;IACJ;AACJ"}