{"version":3,"sources":["../src/components/Menu/MenuSplitGroup/useMenuSplitGroup.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot, useMergedRefs } from '@fluentui/react-utilities';\nimport type { MenuSplitGroupProps, MenuSplitGroupState } from '@fluentui/react-menu';\n\n/**\n * Headless `useMenuSplitGroup`.\n * Renders a `role=\"group\"` div and wires the consumer ref.\n */\nexport const useMenuSplitGroup = (props: MenuSplitGroupProps, ref: React.Ref<HTMLElement>): MenuSplitGroupState => {\n  const innerRef = React.useRef<HTMLDivElement>(null);\n\n  return {\n    components: {\n      root: 'div',\n    },\n    setMultiline: NOOP_SET_MULTILINE,\n    root: slot.always(\n      getIntrinsicElementProps('div', {\n        // FIXME: `ref` is wrongly typed as `Ref<HTMLElement>` instead of\n        // `Ref<HTMLDivElement>` upstream; casting to keep behaviour aligned.\n        ref: useMergedRefs(ref, innerRef) as React.Ref<HTMLDivElement>,\n        role: 'group',\n        ...props,\n      }),\n      { elementType: 'div' },\n    ),\n  };\n};\n\nconst NOOP_SET_MULTILINE = () => {\n  /* no-op: multiline attribute is a styling concern handled by consumers. */\n};\n"],"names":["useMenuSplitGroup","props","ref","innerRef","React","useRef","components","root","setMultiline","NOOP_SET_MULTILINE","slot","always","getIntrinsicElementProps","useMergedRefs","role","elementType"],"mappings":"AAAA;;;;;+BAUaA;;;eAAAA;;;;iEARU;gCACuC;AAOvD,MAAMA,oBAAoB,CAACC,OAA4BC;IAC5D,MAAMC,WAAWC,OAAMC,MAAM,CAAiB;IAE9C,OAAO;QACLC,YAAY;YACVC,MAAM;QACR;QACAC,cAAcC;QACdF,MAAMG,oBAAI,CAACC,MAAM,CACfC,IAAAA,wCAAwB,EAAC,OAAO;YAC9B,iEAAiE;YACjE,qEAAqE;YACrEV,KAAKW,IAAAA,6BAAa,EAACX,KAAKC;YACxBW,MAAM;YACN,GAAGb,KAAK;QACV,IACA;YAAEc,aAAa;QAAM;IAEzB;AACF;AAEA,MAAMN,qBAAqB;AACzB,yEAAyE,GAC3E"}