@fluentui-copilot/react-reference 0.11.4 → 0.12.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 (98) hide show
  1. package/CHANGELOG.json +79 -1
  2. package/CHANGELOG.md +26 -2
  3. package/dist/index.d.ts +82 -45
  4. package/lib/components/Reference/Reference.js +1 -1
  5. package/lib/components/Reference/Reference.js.map +1 -1
  6. package/lib/components/Reference/Reference.types.js +1 -3
  7. package/lib/components/Reference/Reference.types.js.map +1 -1
  8. package/lib/components/Reference/renderReference.js +1 -3
  9. package/lib/components/Reference/renderReference.js.map +1 -1
  10. package/lib/components/Reference/useReference.js +2 -0
  11. package/lib/components/Reference/useReference.js.map +1 -1
  12. package/lib/components/Reference/useReferenceStyles.styles.js +4 -0
  13. package/lib/components/Reference/useReferenceStyles.styles.js.map +1 -1
  14. package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js +1 -1
  15. package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +1 -1
  16. package/lib/components/ReferenceList/ReferenceList.js +1 -1
  17. package/lib/components/ReferenceList/ReferenceList.js.map +1 -1
  18. package/lib/components/ReferenceList/ReferenceList.types.js +1 -3
  19. package/lib/components/ReferenceList/ReferenceList.types.js.map +1 -1
  20. package/lib/components/ReferenceList/renderReferenceList.js +1 -3
  21. package/lib/components/ReferenceList/renderReferenceList.js.map +1 -1
  22. package/lib/components/ReferenceList/useReferenceList.js +2 -1
  23. package/lib/components/ReferenceList/useReferenceList.js.map +1 -1
  24. package/lib/components/ReferenceList/useReferenceListStyles.styles.js +4 -0
  25. package/lib/components/ReferenceList/useReferenceListStyles.styles.js.map +1 -1
  26. package/lib/components/reference-v2/Reference/useReference.js +1 -1
  27. package/lib/components/reference-v2/Reference/useReference.js.map +1 -1
  28. package/lib/components/reference-v2/Reference/useReferenceStyles.styles.js +3 -2
  29. package/lib/components/reference-v2/Reference/useReferenceStyles.styles.js.map +1 -1
  30. package/lib/components/reference-v2/ReferenceList/useReferenceList.js +11 -24
  31. package/lib/components/reference-v2/ReferenceList/useReferenceList.js.map +1 -1
  32. package/lib/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js +1 -1
  33. package/lib/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js.map +1 -1
  34. package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js +5 -13
  35. package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js.map +1 -1
  36. package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButtonStyles.styles.js +1 -1
  37. package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButtonStyles.styles.js.map +1 -1
  38. package/lib/index.js +4 -4
  39. package/lib/index.js.map +1 -1
  40. package/lib/utilities/reference-v2/generateReferenceCitationPreview.js +107 -0
  41. package/lib/utilities/reference-v2/generateReferenceCitationPreview.js.map +1 -0
  42. package/lib/utilities/reference-v2/index.js +3 -0
  43. package/lib/utilities/reference-v2/index.js.map +1 -0
  44. package/lib/utilities/reference-v2/useReferenceCitationPreview.js +18 -0
  45. package/lib/utilities/reference-v2/useReferenceCitationPreview.js.map +1 -0
  46. package/lib-commonjs/components/Reference/Reference.js.map +1 -1
  47. package/lib-commonjs/components/Reference/Reference.types.js +1 -3
  48. package/lib-commonjs/components/Reference/Reference.types.js.map +1 -1
  49. package/lib-commonjs/components/Reference/renderReference.js.map +1 -1
  50. package/lib-commonjs/components/Reference/useReference.js.map +1 -1
  51. package/lib-commonjs/components/Reference/useReferenceStyles.styles.js.map +1 -1
  52. package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +1 -1
  53. package/lib-commonjs/components/ReferenceList/ReferenceList.js.map +1 -1
  54. package/lib-commonjs/components/ReferenceList/ReferenceList.types.js +1 -3
  55. package/lib-commonjs/components/ReferenceList/ReferenceList.types.js.map +1 -1
  56. package/lib-commonjs/components/ReferenceList/renderReferenceList.js.map +1 -1
  57. package/lib-commonjs/components/ReferenceList/useReferenceList.js.map +1 -1
  58. package/lib-commonjs/components/ReferenceList/useReferenceListStyles.styles.js.map +1 -1
  59. package/lib-commonjs/components/reference-v2/Reference/useReference.js +1 -1
  60. package/lib-commonjs/components/reference-v2/Reference/useReference.js.map +1 -1
  61. package/lib-commonjs/components/reference-v2/Reference/useReferenceStyles.styles.js +8 -6
  62. package/lib-commonjs/components/reference-v2/Reference/useReferenceStyles.styles.js.map +1 -1
  63. package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceList.js +8 -27
  64. package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceList.js.map +1 -1
  65. package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js +2 -2
  66. package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js.map +1 -1
  67. package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js +5 -7
  68. package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js.map +1 -1
  69. package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButtonStyles.styles.js +4 -4
  70. package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButtonStyles.styles.js.map +1 -1
  71. package/lib-commonjs/index.js +13 -10
  72. package/lib-commonjs/index.js.map +1 -1
  73. package/lib-commonjs/utilities/reference-v2/generateReferenceCitationPreview.js +96 -0
  74. package/lib-commonjs/utilities/reference-v2/generateReferenceCitationPreview.js.map +1 -0
  75. package/lib-commonjs/{hooks → utilities}/reference-v2/index.js +1 -0
  76. package/lib-commonjs/utilities/reference-v2/index.js.map +1 -0
  77. package/lib-commonjs/utilities/reference-v2/useReferenceCitationPreview.js +18 -0
  78. package/lib-commonjs/utilities/reference-v2/useReferenceCitationPreview.js.map +1 -0
  79. package/package.json +10 -9
  80. package/lib/hooks/reference-v2/index.js +0 -2
  81. package/lib/hooks/reference-v2/index.js.map +0 -1
  82. package/lib/hooks/reference-v2/useReferenceCitationPreview.js +0 -125
  83. package/lib/hooks/reference-v2/useReferenceCitationPreview.js.map +0 -1
  84. package/lib-commonjs/hooks/reference-v2/index.js.map +0 -1
  85. package/lib-commonjs/hooks/reference-v2/useReferenceCitationPreview.js +0 -153
  86. package/lib-commonjs/hooks/reference-v2/useReferenceCitationPreview.js.map +0 -1
  87. /package/lib/{hooks → utilities}/index.js +0 -0
  88. /package/lib/{hooks → utilities}/index.js.map +0 -0
  89. /package/lib/{hooks → utilities}/useReferenceCitationPreview.js +0 -0
  90. /package/lib/{hooks → utilities}/useReferenceCitationPreview.js.map +0 -0
  91. /package/lib/{hooks → utilities}/useReferenceGroup.js +0 -0
  92. /package/lib/{hooks → utilities}/useReferenceGroup.js.map +0 -0
  93. /package/lib-commonjs/{hooks → utilities}/index.js +0 -0
  94. /package/lib-commonjs/{hooks → utilities}/index.js.map +0 -0
  95. /package/lib-commonjs/{hooks → utilities}/useReferenceCitationPreview.js +0 -0
  96. /package/lib-commonjs/{hooks → utilities}/useReferenceCitationPreview.js.map +0 -0
  97. /package/lib-commonjs/{hooks → utilities}/useReferenceGroup.js +0 -0
  98. /package/lib-commonjs/{hooks → utilities}/useReferenceGroup.js.map +0 -0
@@ -11,39 +11,20 @@ Object.defineProperty(exports, "useReferenceList_unstable", {
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
13
  const _reactcomponents = require("@fluentui/react-components");
14
+ const _reactutilities = require("@fluentui-copilot/react-utilities");
14
15
  const _useReferenceStylesstyles = require("../Reference/useReferenceStyles.styles");
15
16
  const useReferenceList_unstable = (props, ref)=>{
16
17
  const { children, maxVisibleReferences, showLessButton, showMoreButton, ...rest } = props;
17
18
  const [areReferencesExpanded, setAreReferencesExpanded] = _react.useState(false);
18
19
  const referenceListRef = _react.useRef(null);
19
- const referenceInOverflowClassName = (0, _useReferenceStylesstyles.useRootStyles)().overflow;
20
- const childrenArray = _react.Children.toArray(children);
21
- const totalReferencesCount = childrenArray.length;
22
- const resolvedChildren = _react.useMemo(()=>{
23
- if (maxVisibleReferences !== undefined && !areReferencesExpanded) {
24
- const results = [];
25
- for(let index = 0; index < childrenArray.length; index++){
26
- const child = childrenArray[index];
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- if (index >= maxVisibleReferences && /*#__PURE__*/ _react.isValidElement(child)) {
29
- results.push(/*#__PURE__*/ _react.cloneElement(child, {
30
- ...child.props,
31
- className: (0, _reactcomponents.mergeClasses)(child.props.className, referenceInOverflowClassName)
32
- }));
33
- } else {
34
- results.push(child);
35
- }
36
- }
37
- return results;
38
- }
39
- return children;
40
- }, [
41
- areReferencesExpanded,
20
+ const totalReferencesCount = _react.Children.count(children);
21
+ const styles = (0, _useReferenceStylesstyles.useRootStyles)();
22
+ const resolvedChildren = (0, _reactutilities.useOverflowMaxVisibleItems)({
23
+ additionalCondition: !areReferencesExpanded,
42
24
  children,
43
- childrenArray,
44
- maxVisibleReferences,
45
- referenceInOverflowClassName
46
- ]);
25
+ maxVisibleItems: maxVisibleReferences,
26
+ overflowClassName: styles.overflow
27
+ });
47
28
  // We keep track of whether we are interacting with the overflow button via keyboard or not.
48
29
  const overflowButtonTriggeredViaKeyboard = _react.useRef(false);
49
30
  const focusAttributes = (0, _reactcomponents.useArrowNavigationGroup)({
@@ -1 +1 @@
1
- {"version":3,"sources":["useReferenceList.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n getIntrinsicElementProps,\n mergeCallbacks,\n mergeClasses,\n slot,\n useArrowNavigationGroup,\n useMergedRefs,\n} from '@fluentui/react-components';\nimport type { ReferenceListProps, ReferenceListState } from './ReferenceList.types';\nimport { useRootStyles as useReferenceStyles } from '../Reference/useReferenceStyles.styles';\n\n/**\n * Create the state required to render ReferenceList.\n *\n * The returned state can be modified with hooks such as useReferenceListStyles_unstable,\n * before being passed to renderReferenceList_unstable.\n *\n * @param props - props from this instance of ReferenceList\n * @param ref - reference to root HTMLElement of ReferenceList\n */\nexport const useReferenceList_unstable = (\n props: ReferenceListProps,\n ref: React.Ref<HTMLDivElement>,\n): ReferenceListState => {\n const { children, maxVisibleReferences, showLessButton, showMoreButton, ...rest } = props;\n\n const [areReferencesExpanded, setAreReferencesExpanded] = React.useState(false);\n const referenceListRef = React.useRef<HTMLDivElement>(null);\n\n const referenceInOverflowClassName = useReferenceStyles().overflow;\n\n const childrenArray = React.Children.toArray(children);\n const totalReferencesCount = childrenArray.length;\n const resolvedChildren = React.useMemo(() => {\n if (maxVisibleReferences !== undefined && !areReferencesExpanded) {\n const results = [];\n for (let index = 0; index < childrenArray.length; index++) {\n const child = childrenArray[index] as React.ReactElement;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (index >= maxVisibleReferences && React.isValidElement<any>(child)) {\n results.push(\n React.cloneElement(child, {\n ...child.props,\n className: mergeClasses(child.props.className, referenceInOverflowClassName),\n }),\n );\n } else {\n results.push(child);\n }\n }\n return results;\n }\n return children;\n }, [areReferencesExpanded, children, childrenArray, maxVisibleReferences, referenceInOverflowClassName]);\n\n // We keep track of whether we are interacting with the overflow button via keyboard or not.\n const overflowButtonTriggeredViaKeyboard = React.useRef(false);\n\n const focusAttributes = useArrowNavigationGroup({\n axis: 'both',\n circular: true,\n memorizeCurrent: true,\n });\n\n const onShowMoreButtonClick = React.useCallback<React.MouseEventHandler<HTMLButtonElement>>(() => {\n setAreReferencesExpanded(true);\n }, []);\n\n const onShowLessButtonClick = React.useCallback<React.MouseEventHandler<HTMLButtonElement>>(() => {\n setAreReferencesExpanded(false);\n }, []);\n\n const shouldUseOverflow = maxVisibleReferences !== undefined && !areReferencesExpanded;\n\n const state: ReferenceListState = {\n areReferencesExpanded,\n overflowButtonTriggeredViaKeyboard,\n maxVisibleReferences,\n referenceListRef,\n shouldUseOverflow,\n totalReferencesCount,\n\n components: {\n root: 'div',\n showMoreButton: 'span',\n showLessButton: 'span',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, referenceListRef),\n ...focusAttributes,\n ...rest,\n children: resolvedChildren,\n }),\n { elementType: 'div' },\n ),\n showMoreButton: shouldUseOverflow ? slot.optional(showMoreButton, { elementType: 'span' }) : undefined,\n showLessButton: areReferencesExpanded ? slot.optional(showLessButton, { elementType: 'span' }) : undefined,\n };\n\n if (state.showMoreButton) {\n state.showMoreButton.onClick = mergeCallbacks(onShowMoreButtonClick, state.showMoreButton.onClick);\n }\n\n if (state.showLessButton) {\n state.showLessButton.onClick = mergeCallbacks(onShowLessButtonClick, state.showLessButton.onClick);\n }\n\n return state;\n};\n"],"names":["children","maxVisibleReferences","props","showLessButton","referenceListRef","referenceInOverflowClassName","childrenArray","showMoreButton","totalReferencesCount","rest","setAreReferencesExpanded","React","useState","index","overflow","Children","toArray","results","cloneElement","areReferencesExpanded","className","length","child","isValidElement","push","mergeClasses","overflowButtonTriggeredViaKeyboard","useArrowNavigationGroup","axis","circular","memorizeCurrent","useCallback","shouldUseOverflow","undefined","root","ref","useMergedRefs","focusAttributes","resolvedChildren","elementType","slot","optional","state","onClick","mergeCallbacks","onShowMoreButtonClick","onShowLessButtonClick"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAyBUA;;;eAAAA;;;;iEAzBa;iCAQhB;0CAE6C;AAelD,MAAQA,4BAAUC,CAAoBC,OAAEC;UAExC,EACAH,QAAMI,EAENH,oBAAMI,EAENF,cAAMG,EACNC,cAAMC,EACN,GAAAC;kCAEsBC,yBAAA,GAAAC,OAAAC,QAAA,CAAA;6BACTC,OAAWA,MAAQP,CAAAA;yCACZA,IAAAA,uCAAoB,IAAAQ,QAAA;0BAClCH,OAAAI,QAAA,CAAAC,OAAA,CAAAhB;iCACaC,cAAAA,MAAAA;6BACXgB,OACEN,OAAMO,CAAAA;qCACKhB,aAAK,CAAAiB,uBAAA;8BACdC;4BACF,GAAAP,QAAAP,cAAAe,MAAA,EAAAR,QAAA;8BAEJP,aAAO,CAAAO,MAAA;8EACQS;6BACfrB,sCAAAU,OAAAY,cAAA,CAAAD,QAAA;4BACFE,IAAA,eAAAb,OAAAO,YAAA,CAAAI,OAAA;wBACA,GAAAA,MAAOL,KAAAA;wBACTG,WAAAK,IAAAA,6BAAA,EAAAH,MAAApB,KAAA,CAAAkB,SAAA,EAAAf;oBACA;gBACC,OAAA;oBAACc,QAAAA,IAAAA,CAAAA;gBAAuBnB;;mBAAyBC;;eAAmDD;OAEvG;QAAAmB;QAAAnB;QAAAM;QAAAL;QAAAI;KAA4F;gGACpC;UAExDqB,qCAAwBC,OAAAA,MAAwB,CAAA;UAC9CC,kBAAMD,IAAAA,wCAAA,EAAA;cACNE;kBACAC;QACFA,iBAAA;;UAGEpB,wBAAAA,OAAyBqB,WAAA,CAAA;QAC3BrB,yBAAK;OAEL,EAAA;UACEA,wBAAAA,OAAyBqB,WAAA,CAAA;QAC3BrB,yBAAK;OAEL,EAAA;UAEAsB,oBAAkC/B,yBAAAgC,aAAA,CAAAd;UAChCA,QAAAA;;;;;;;oBAQEe;kBACA3B;4BACAJ;4BACF;;mCAGIgC,CAAAA,MAAKC,CAAAA,IAAAA,yCAAmBhC,EAAAA,OAAAA;mDACrBiC,EAAAA,KAAejC;8BACX;mBACPJ;sBAEFsC;;yBAAqB;;wBAE6CC,oBAAaC,qBAAA,CAAAC,QAAA,CAAAlC,gBAAA;yBAAY0B;aAC7F9B;wBAAwEoC,wBAAaC,qBAAA,CAAAC,QAAA,CAAAtC,gBAAA;yBAAY8B;QACnG,KAAAA;;cAGES,cAAMnC,EAAc;QACtBmC,MAAAnC,cAAA,CAAAoC,OAAA,GAAAC,IAAAA,+BAAA,EAAAC,uBAAAH,MAAAnC,cAAA,CAAAoC,OAAA;;cAGED,cAAMvC,EAAc;QACtBuC,MAAAvC,cAAA,CAAAwC,OAAA,GAAAC,IAAAA,+BAAA,EAAAE,uBAAAJ,MAAAvC,cAAA,CAAAwC,OAAA;;IAGA,OAAAD"}
1
+ {"version":3,"sources":["useReferenceList.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n getIntrinsicElementProps,\n mergeCallbacks,\n slot,\n useArrowNavigationGroup,\n useMergedRefs,\n} from '@fluentui/react-components';\nimport { useOverflowMaxVisibleItems } from '@fluentui-copilot/react-utilities';\nimport { useRootStyles } from '../Reference/useReferenceStyles.styles';\nimport type { ReferenceListProps, ReferenceListState } from './ReferenceList.types';\n\n/**\n * Create the state required to render ReferenceList.\n *\n * The returned state can be modified with hooks such as useReferenceListStyles_unstable,\n * before being passed to renderReferenceList_unstable.\n *\n * @param props - props from this instance of ReferenceList\n * @param ref - reference to root HTMLElement of ReferenceList\n */\nexport const useReferenceList_unstable = (\n props: ReferenceListProps,\n ref: React.Ref<HTMLDivElement>,\n): ReferenceListState => {\n const { children, maxVisibleReferences, showLessButton, showMoreButton, ...rest } = props;\n\n const [areReferencesExpanded, setAreReferencesExpanded] = React.useState(false);\n const referenceListRef = React.useRef<HTMLDivElement>(null);\n\n const totalReferencesCount = React.Children.count(children);\n const styles = useRootStyles();\n const resolvedChildren = useOverflowMaxVisibleItems({\n additionalCondition: !areReferencesExpanded,\n children,\n maxVisibleItems: maxVisibleReferences,\n overflowClassName: styles.overflow,\n });\n\n // We keep track of whether we are interacting with the overflow button via keyboard or not.\n const overflowButtonTriggeredViaKeyboard = React.useRef(false);\n\n const focusAttributes = useArrowNavigationGroup({\n axis: 'both',\n circular: true,\n memorizeCurrent: true,\n });\n\n const onShowMoreButtonClick = React.useCallback<React.MouseEventHandler<HTMLButtonElement>>(() => {\n setAreReferencesExpanded(true);\n }, []);\n\n const onShowLessButtonClick = React.useCallback<React.MouseEventHandler<HTMLButtonElement>>(() => {\n setAreReferencesExpanded(false);\n }, []);\n\n const shouldUseOverflow = maxVisibleReferences !== undefined && !areReferencesExpanded;\n\n const state: ReferenceListState = {\n areReferencesExpanded,\n overflowButtonTriggeredViaKeyboard,\n maxVisibleReferences,\n referenceListRef,\n shouldUseOverflow,\n totalReferencesCount,\n\n components: {\n root: 'div',\n showMoreButton: 'span',\n showLessButton: 'span',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, referenceListRef),\n ...focusAttributes,\n ...rest,\n children: resolvedChildren,\n }),\n { elementType: 'div' },\n ),\n showMoreButton: shouldUseOverflow ? slot.optional(showMoreButton, { elementType: 'span' }) : undefined,\n showLessButton: areReferencesExpanded ? slot.optional(showLessButton, { elementType: 'span' }) : undefined,\n };\n\n if (state.showMoreButton) {\n state.showMoreButton.onClick = mergeCallbacks(onShowMoreButtonClick, state.showMoreButton.onClick);\n }\n\n if (state.showLessButton) {\n state.showLessButton.onClick = mergeCallbacks(onShowLessButtonClick, state.showLessButton.onClick);\n }\n\n return state;\n};\n"],"names":["children","maxVisibleReferences","props","showLessButton","referenceListRef","totalReferencesCount","styles","showMoreButton","resolvedChildren","maxVisibleItems","overflowClassName","overflow","React","Children","count","useRootStyles","overflowButtonTriggeredViaKeyboard","useRef","additionalCondition","focusAttributes","memorizeCurrent","setAreReferencesExpanded","useArrowNavigationGroup","axis","onShowLessButtonClick","onShowMoreButtonClick","useCallback","areReferencesExpanded","components","slot","always","getIntrinsicElementProps","shouldUseOverflow","elementType","rest","undefined","optional","state"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAyBUA;;;eAAAA;;;;iEAzBa;iCAOhB;gCACoC;0CACb;AAgB5B,MAAQA,4BAAUC,CAAoBC,OAAEC;UAExC,EACAH,QAAMI,EAENH,oBAAMI,EACNF,cAAMG,EACNC,cAAMC;UAGJC,CAAAA,uBAAiBR,yBAAAA,GAAAA,OAAAA,QAAAA,CAAAA;UACjBS,mBAAmBJ,OAAAA,MAAOK,CAAAA;UAC5BN,uBAAAO,OAAAC,QAAA,CAAAC,KAAA,CAAAd;UAEAM,SAAAS,IAAAA,uCAAA;UACAP,mBAAMQ,IAAAA,0CAA2CC,EAAAA;QAEjDC,qBAAMC,CAAAA;;yBAEMlB;2BACVmB,OAAiBT,QAAA;;gGAGyE;UAC1FU,qCAAyBT,OAAAK,MAAA,CAAA;UACxBE,kBAAEG,IAAAA,wCAAA,EAAA;QAELC,MAAMC;kBACJH;QACFD,iBAAK;;UAILK,wBAAkCb,OAAAc,WAAA,CAAA;iCAChCC;;UAEA1B,wBAAAA,OAAAA,WAAAA,CAAAA;iCACAG;;UAEAC,oBAAAA,yBAAAA,aAAAA,CAAAA;UAEAuB,QAAAA;;;;;;;oBAQOT;kBACH;4BACUX;4BAEZ;;cAAqBqB,qBAAA,CAAAC,MAAA,CAAAC,IAAAA,yCAAA,EAAA,OAAA;iBAEvBxB,IAAAA,8BAAgByB,EAAAA,KAAAA;8BAAoDC;eAAoBC,IAAKC;sBAC7FhC;;yBAAiGgC;QACnG;QAEA5B,gBAAUA,oBAAgBsB,qBAAA,CAAAO,QAAA,CAAA7B,gBAAA;yBAClBA;QACR,KAAA4B;QAEAhC,gBAAUA,wBAAgB0B,qBAAA,CAAAO,QAAA,CAAAjC,gBAAA;yBAClBA;QACR,KAAAgC;;IAGA,IAAAE,MAAA9B,cAAA,EAAA"}
@@ -36,8 +36,8 @@ const useRootStyles = (0, _reactcomponents.__styles)({
36
36
  ".fni485r{flex-wrap:wrap;}"
37
37
  ]
38
38
  });
39
- const useOverflowButtonBaseClassName = (0, _reactcomponents.__resetStyles)("r6su6fj", null, [
40
- ".r6su6fj{flex-shrink:0;}"
39
+ const useOverflowButtonBaseClassName = (0, _reactcomponents.__resetStyles)("rulvm7g", null, [
40
+ ".rulvm7g{display:inline-flex;flex-shrink:0;}"
41
41
  ]);
42
42
  const useReferenceListStyles_unstable = (state)=>{
43
43
  'use no memo';
@@ -1 +1 @@
1
- {"version":3,"sources":["useReferenceListStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, tokens } from '@fluentui/react-components';\nimport type { ReferenceListSlots, ReferenceListState } from './ReferenceList.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const referenceListClassNames: SlotClassNames<ReferenceListSlots> = {\n root: 'fai-ReferenceList',\n showMoreButton: 'fai-ReferenceList__showMoreButton',\n showLessButton: 'fai-ReferenceList__showLessButton',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootBaseClassName = makeResetStyles({\n display: 'flex',\n flexDirection: 'row',\n gap: `${tokens.spacingVerticalXS} ${tokens.spacingHorizontalXS}`,\n});\n\nconst useRootStyles = makeStyles({\n referencesExpanded: {\n flexWrap: 'wrap',\n },\n});\n\nconst useOverflowButtonBaseClassName = makeResetStyles({\n flexShrink: 0,\n});\n\n/**\n * Apply styling to the ReferenceList slots based on the state\n */\nexport const useReferenceListStyles_unstable = (state: ReferenceListState): ReferenceListState => {\n 'use no memo';\n\n const { areReferencesExpanded, shouldUseOverflow } = state;\n\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n const overflowButtonBaseClassName = useOverflowButtonBaseClassName();\n\n state.root.className = mergeClasses(\n referenceListClassNames.root,\n rootBaseClassName,\n (areReferencesExpanded || !shouldUseOverflow) && rootStyles.referencesExpanded,\n state.root.className,\n );\n\n if (state.showMoreButton) {\n state.showMoreButton.className = mergeClasses(\n referenceListClassNames.showMoreButton,\n overflowButtonBaseClassName,\n state.showMoreButton.className,\n );\n }\n\n if (state.showLessButton) {\n state.showLessButton.className = mergeClasses(\n referenceListClassNames.showLessButton,\n overflowButtonBaseClassName,\n state.showLessButton.className,\n );\n }\n\n return state;\n};\n"],"names":["referenceListClassNames","useReferenceListStyles_unstable","root","showMoreButton","showLessButton","display","__resetStyles","flexDirection","__styles","spacingVerticalXS","Eh141a","useOverflowButtonBaseClassName","state","areReferencesExpanded","shouldUseOverflow","rootBaseClassName","overflowButtonBaseClassName","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAIaA,uBAAAA;eAAAA;;IAyBbC,+BAAA;eAAAA;;;iCA7B0D;AAInD,MAAMD,0BAA8D;UACzEE;oBACAC;oBACAC;AACF;AAEA;;CAEC,SAECC,uBAASC,IAAAA,8BAAA,EAAA,WAAA,MAAA;IAAA;CAAA;MACTC,gBAAeC,IAAAA,yBAAA,EAAA;wBACAC;QACjBC,QAAA;IAEA;;;;KAEc;;AAEd,MAAAC,iCAAAL,IAAAA,8BAAA,EAAA,WAAA,MAAA;IAAA;CAAA;AAMA,MAAAL,kCAAAW,CAAAA;;UAIE,EAEAC,qBAAQA,EAERC,iBAAMC,KACNH;UACAG,oBAAMC;UAENJ,aAAWK;UAOPL,8BAAsBD;UACxBC,IAAAA,CAAAA,SAAMT,GAAAA,IAAAA,6BAAec,EAASjB,wBAC5BA,IAAAA,EAAAA,mBAAwBG,CAAAA,yBACxBa,CAAAA,iBACMb,KAAAA,WAAec,kBAAS,EAAAL,MAAAV,IAAA,CAAAe,SAAA;QAElCL,MAAAT,cAAA,EAAA;QAEAS,MAAIA,cAAMR,CAAAA,SAAgB,GAAAc,IAAAA,6BAAA,EAAAlB,wBAAAG,cAAA,EAAAa,6BAAAJ,MAAAT,cAAA,CAAAc,SAAA;;QAM1BL,MAAAR,cAAA,EAAA;QAEAQ,MAAAR,cAAOQ,CAAAA,SAAAA,GAAAA,IAAAA,6BAAAA,EAAAA,wBAAAA,cAAAA,EAAAA,6BAAAA,MAAAA,cAAAA,CAAAA,SAAAA;IACP"}
1
+ {"version":3,"sources":["useReferenceListStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, tokens } from '@fluentui/react-components';\nimport type { ReferenceListSlots, ReferenceListState } from './ReferenceList.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const referenceListClassNames: SlotClassNames<ReferenceListSlots> = {\n root: 'fai-ReferenceList',\n showMoreButton: 'fai-ReferenceList__showMoreButton',\n showLessButton: 'fai-ReferenceList__showLessButton',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootBaseClassName = makeResetStyles({\n display: 'flex',\n flexDirection: 'row',\n gap: `${tokens.spacingVerticalXS} ${tokens.spacingHorizontalXS}`,\n});\n\nconst useRootStyles = makeStyles({\n referencesExpanded: {\n flexWrap: 'wrap',\n },\n});\n\nconst useOverflowButtonBaseClassName = makeResetStyles({\n display: 'inline-flex',\n flexShrink: 0,\n});\n\n/**\n * Apply styling to the ReferenceList slots based on the state\n */\nexport const useReferenceListStyles_unstable = (state: ReferenceListState): ReferenceListState => {\n 'use no memo';\n\n const { areReferencesExpanded, shouldUseOverflow } = state;\n\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n const overflowButtonBaseClassName = useOverflowButtonBaseClassName();\n\n state.root.className = mergeClasses(\n referenceListClassNames.root,\n rootBaseClassName,\n (areReferencesExpanded || !shouldUseOverflow) && rootStyles.referencesExpanded,\n state.root.className,\n );\n\n if (state.showMoreButton) {\n state.showMoreButton.className = mergeClasses(\n referenceListClassNames.showMoreButton,\n overflowButtonBaseClassName,\n state.showMoreButton.className,\n );\n }\n\n if (state.showLessButton) {\n state.showLessButton.className = mergeClasses(\n referenceListClassNames.showLessButton,\n overflowButtonBaseClassName,\n state.showLessButton.className,\n );\n }\n\n return state;\n};\n"],"names":["referenceListClassNames","useReferenceListStyles_unstable","root","showMoreButton","showLessButton","display","__resetStyles","flexDirection","__styles","spacingVerticalXS","Eh141a","useOverflowButtonBaseClassName","state","areReferencesExpanded","shouldUseOverflow","rootBaseClassName","useRootStyles","rootStyles","overflowButtonBaseClassName","mergeClasses","referencesExpanded","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAIaA,uBAAAA;eAAAA;;IAwBbC,+BAAA;eAAAA;;;iCA5B0D;AAInD,MAAMD,0BAA8D;UACzEE;oBACAC;oBACAC;AACF;AAEA;;CAEC,SAECC,uBAASC,IAAAA,8BAAA,EAAA,WAAA,MAAA;IAAA;CAAA;MACTC,gBAAeC,IAAAA,yBAAA,EAAA;wBACAC;QACjBC,QAAA;IAEA;;;;KAEc;;AAEd,MAAAC,iCAAAL,IAAAA,8BAAA,EAAA,WAAA,MAAA;IAAA;CAAA;AAKA,MAAAL,kCAAAW,CAAAA;IAEA;IAEC,MACD,EACEC,qBAAA,EAEAC,iBAAQD,KAERD;UACAG,oBAAmBC;UACnBC,aAAMC;UAENN,8BAAuBO;UAOnBP,IAAAA,CAAAA,SAAMT,GAAAA,IAAAA,6BAAgB,EAAAH,wBAAAE,IAAA,EAAAa,mBAAA,AAAAF,CAAAA,yBAAA,CAAAC,iBAAA,KAAAG,WAAAG,kBAAA,EAAAR,MAAAV,IAAA,CAAAmB,SAAA;cACxBT,cAAMT,EAAc;QAKtBS,MAAAT,cAAA,CAAAkB,SAAA,GAAAF,IAAAA,6BAAA,EAAAnB,wBAAAG,cAAA,EAAAe,6BAAAN,MAAAT,cAAA,CAAAkB,SAAA;;cAGET,cAAMR,EAAc;QAKtBQ,MAAAR,cAAA,CAAAiB,SAAA,GAAAF,IAAAA,6BAAA,EAAAnB,wBAAAI,cAAA,EAAAc,6BAAAN,MAAAR,cAAA,CAAAiB,SAAA;;IAGA,OAAAT"}
@@ -19,13 +19,11 @@ const useReferenceOverflowButton_unstable = (props, ref)=>{
19
19
  const { children, text } = props;
20
20
  const rootRef = _react.useRef(null);
21
21
  const [setTimeout] = (0, _reactutilities.useTimeout)();
22
- const { areReferencesExpanded, maxVisibleReferences, referenceListRef, totalReferencesCount, triggeredViaKeyboard } = (0, _referenceListContext.useReferenceListContext_unstable)((ctx)=>({
23
- areReferencesExpanded: ctx.areReferencesExpanded,
24
- maxVisibleReferences: ctx.maxVisibleReferences,
25
- referenceListRef: ctx.referenceListRef,
26
- totalReferencesCount: ctx.totalReferencesCount,
27
- triggeredViaKeyboard: ctx.overflowButtonTriggeredViaKeyboard
28
- }));
22
+ const areReferencesExpanded = (0, _referenceListContext.useReferenceListContext_unstable)((ctx)=>ctx.areReferencesExpanded);
23
+ const maxVisibleReferences = (0, _referenceListContext.useReferenceListContext_unstable)((ctx)=>ctx.maxVisibleReferences);
24
+ const referenceListRef = (0, _referenceListContext.useReferenceListContext_unstable)((ctx)=>ctx.referenceListRef);
25
+ const totalReferencesCount = (0, _referenceListContext.useReferenceListContext_unstable)((ctx)=>ctx.totalReferencesCount);
26
+ const triggeredViaKeyboard = (0, _referenceListContext.useReferenceListContext_unstable)((ctx)=>ctx.overflowButtonTriggeredViaKeyboard);
29
27
  const { isOverflowing, overflowCount } = (0, _reactcomponents.useOverflowMenu)();
30
28
  const processedText = children !== null && children !== void 0 ? children : typeof text === 'function' ? text(overflowCount) : text;
31
29
  const { findFirstFocusable, findNextFocusable } = (0, _reactcomponents.useFocusFinders)();
@@ -1 +1 @@
1
- {"version":3,"sources":["useReferenceOverflowButton.ts"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport {\n getIntrinsicElementProps,\n mergeCallbacks,\n slot,\n useFocusFinders,\n useMergedRefs,\n useOverflowMenu,\n} from '@fluentui/react-components';\nimport { useTimeout } from '@fluentui/react-utilities';\nimport { useReferenceListContext_unstable } from '../../../contexts/reference-v2/referenceListContext';\nimport type { ReferenceOverflowButtonProps, ReferenceOverflowButtonState } from './ReferenceOverflowButton.types';\n\n/**\n * Create the state required to render ReferenceOverflowButton.\n *\n * The returned state can be modified with hooks such as useReferenceOverflowButtonStyles_unstable,\n * before being passed to renderReferenceOverflowButton_unstable.\n *\n * @param props - props from this instance of ReferenceOverflowButton\n * @param ref - reference to root HTMLElement of ReferenceOverflowButton\n */\nexport const useReferenceOverflowButton_unstable = (\n props: ReferenceOverflowButtonProps,\n ref: React.Ref<HTMLButtonElement>,\n): ReferenceOverflowButtonState => {\n 'use no memo';\n\n const { children, text } = props;\n\n const rootRef = React.useRef<HTMLButtonElement>(null);\n\n const [setTimeout] = useTimeout();\n\n const { areReferencesExpanded, maxVisibleReferences, referenceListRef, totalReferencesCount, triggeredViaKeyboard } =\n useReferenceListContext_unstable(ctx => ({\n areReferencesExpanded: ctx.areReferencesExpanded,\n maxVisibleReferences: ctx.maxVisibleReferences,\n referenceListRef: ctx.referenceListRef,\n totalReferencesCount: ctx.totalReferencesCount,\n triggeredViaKeyboard: ctx.overflowButtonTriggeredViaKeyboard,\n }));\n\n const { isOverflowing, overflowCount } = useOverflowMenu();\n\n const processedText = children ?? (typeof text === 'function' ? text(overflowCount) : text);\n\n const { findFirstFocusable, findNextFocusable } = useFocusFinders();\n const onKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLButtonElement>>(\n ev => {\n if (ev.key === Enter || ev.key === Space) {\n triggeredViaKeyboard.current = true;\n }\n },\n [triggeredViaKeyboard],\n );\n\n // We keep track of the previous overflow count to help determine the element to move focus to when expanding the references via keyboard.\n const previousOverflow = React.useRef(0);\n\n // When the references are expanded or collapsed via keyboard, we need to move focus to the appropriate element.\n React.useEffect(() => {\n // We only try to move focus if maxVisibleReferences is set and the overflow button was triggered via keyboard.\n if (maxVisibleReferences !== undefined && triggeredViaKeyboard.current) {\n let elementToFocus: HTMLElement | null | undefined;\n\n // If the references are collapsed, we move focus to the overflow button.\n if (!areReferencesExpanded) {\n elementToFocus = rootRef.current;\n previousOverflow.current = overflowCount;\n }\n // If the references are expanded, we move focus to the first reference that was hidden when they were collapsed.\n // We do this by moving focus according to the following heuristics:\n // - If maxVisibleReferences is what determines what overflows, focus is moved to the element that is in the maxVisibleReferences position of the ReferenceList's children.\n // - If the space available is what is determines what overflows, focus is moved to the element that is in the (totalReferencesCount - overflowCount) position of the ReferenceList's children.\n else if (rootRef.current && referenceListRef.current) {\n const positionToFocus =\n maxVisibleReferences < totalReferencesCount - previousOverflow.current\n ? maxVisibleReferences\n : totalReferencesCount - previousOverflow.current;\n\n let currentElement: HTMLElement | null | undefined = findFirstFocusable(referenceListRef.current);\n for (let i = 0; i < positionToFocus && currentElement; i++) {\n currentElement = findNextFocusable(currentElement);\n }\n\n elementToFocus = currentElement;\n }\n\n // We focus on the element and reset the triggeredViaKeyboard flag after a timeout to ensure that this is pushed at the end of the event queue.\n setTimeout(() => {\n elementToFocus?.focus();\n triggeredViaKeyboard.current = false;\n }, 0);\n }\n }, [\n areReferencesExpanded,\n findFirstFocusable,\n findNextFocusable,\n isOverflowing,\n maxVisibleReferences,\n overflowCount,\n referenceListRef,\n setTimeout,\n totalReferencesCount,\n triggeredViaKeyboard,\n ]);\n\n const state: ReferenceOverflowButtonState = {\n shouldRenderOverflowButton: isOverflowing || areReferencesExpanded,\n\n components: {\n root: 'button',\n },\n\n root: slot.always(\n getIntrinsicElementProps('button', {\n ref: useMergedRefs(rootRef, ref),\n ...props,\n }),\n {\n defaultProps: {\n children: processedText,\n },\n elementType: 'button',\n },\n ),\n };\n\n state.root.onKeyDown = mergeCallbacks(onKeyDown, props.onKeyDown);\n\n return state;\n};\n"],"names":["useReferenceOverflowButton_unstable","props","ref","children","areReferencesExpanded","referenceListRef","ctx","totalReferencesCount","maxVisibleReferences","isOverflowing","processedText","findFirstFocusable","triggeredViaKeyboard","React","Space","overflowButtonTriggeredViaKeyboard","useEffect","undefined","text","overflowCount","elementToFocus","previousOverflow","current","Enter","rootRef","positionToFocus","i","currentElement","useRef","findNextFocusable","focus","shouldRenderOverflowButton","setTimeout","state","getIntrinsicElementProps","defaultProps","elementType"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA2BEA;;;eAAAA;;;;iEA3BqB;8BACM;iCAQtB;gCACoB;sCACsB;AAgB/C,MAAAA,sCAAA,CAAAC,OAAAC;;UAMA,EAEAC,QAAQC;oBAIJC,OAAAA,MAAkBC,CAAAA;sBAClBC,GAAAA,IAAAA,0BAAAA;iCAEF,EAEFC,oBAAQC,EAERJ,gBAAMK,EAENH,oBAAQI,EACRC,oBAAkBC,+DAEgB,EAAAP,CAAAA,MAAKQ,CAAAA;mCACjCF,IAAAA,qBAA+B;kCACjCN,IAAAE,oBAAA;YACFH,kBACAC,IAAAD,gBAAA;kCAACO,IAAAA,oBAAAA;kCAAqBN,IAAAS,kCAAA;;UAIxB,EAEAN,aAAA,EACAI,aAAMG,yCACJ;UACAN,gBAAIF,aAAyBS,QAAAA,aAAaL,KAAAA,IAAAA,WAA4B,OAAEM,SAAA,aAAAA,KAAAC,iBAAAD;8BAGtE,mBACKd,yCACHgB;sBACAC,OAAAA,WAAiBC,CAAAA,CAAAA;kBACnB,KAKKC,mBAAIC,IAAAA,GAAQF,GAAAA,KAAOR,mBAAIT,EAAAA;iCACpBoB,OAAAA,GAAAA;;;;KAMGC;8IAC4BC;6BACrCd,OAAAe,MAAA,CAAA;oHAEiBD;oBACnB,CAAA;uHAEA;qCACWV,aAAAL,qBAAAU,OAAA,EAAA;;qFAEsB;wCAC9B;gBACLF,iBAAAI,QAAAF,OAAA;gBACCD,iBAAAC,OAAA,GAAAH;mBACDf,IAAAA,QAAAA,OAAAA,IAAAA,iBAAAA,OAAAA,EAAAA;gBACAO,MAAAA,kBAAAA,uBAAAA,uBAAAA,iBAAAA,OAAAA,GAAAA,uBAAAA,uBAAAA,iBAAAA,OAAAA;gBACAkB,IAAAA,iBAAAA,mBAAAA,iBAAAA,OAAAA;gBACApB,IAAAA,IAAAA,IAAAA,GAAAA,IAAAA,mBAAAA,gBAAAA,IAAAA;oBACAD,iBAAAA,kBAAAA;gBACAW;gBACAd,iBAAAA;;2JAEAE;uBACAK;gBACDQ,mBAAA,QAAAA,mBAAA,KAAA,IAAA,KAAA,IAAAA,eAAAU,KAAA;gBAEDlB,qBAA4CU,OAAA,GAAA;eAC1CS;;;;QAGQpB;QAAAkB;QAAApB;QAAAD;QAAAW;QAAAd;QAAA2B;QAAAzB;QAAAK;KAAA;UACRqB,QAAA;oCAGEC,iBAAAA;oBACEhC;kBACA;;mCAGAiC,CAAAA,MAAAA,CAAAA,IAAAA,yCAAc,EAAA,UAAA;mDACZhC,EAAAA,SAAUO;oBACZ;;0BAEF;gBAEJP,UAAAO;YAEAuB;YAEAG,aAAOH;QACP"}
1
+ {"version":3,"sources":["useReferenceOverflowButton.ts"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport {\n getIntrinsicElementProps,\n mergeCallbacks,\n slot,\n useFocusFinders,\n useMergedRefs,\n useOverflowMenu,\n} from '@fluentui/react-components';\nimport { useTimeout } from '@fluentui/react-utilities';\nimport { useReferenceListContext_unstable } from '../../../contexts/reference-v2/referenceListContext';\nimport type { ReferenceOverflowButtonProps, ReferenceOverflowButtonState } from './ReferenceOverflowButton.types';\n\n/**\n * Create the state required to render ReferenceOverflowButton.\n *\n * The returned state can be modified with hooks such as useReferenceOverflowButtonStyles_unstable,\n * before being passed to renderReferenceOverflowButton_unstable.\n *\n * @param props - props from this instance of ReferenceOverflowButton\n * @param ref - reference to root HTMLElement of ReferenceOverflowButton\n */\nexport const useReferenceOverflowButton_unstable = (\n props: ReferenceOverflowButtonProps,\n ref: React.Ref<HTMLButtonElement>,\n): ReferenceOverflowButtonState => {\n 'use no memo';\n\n const { children, text } = props;\n\n const rootRef = React.useRef<HTMLButtonElement>(null);\n\n const [setTimeout] = useTimeout();\n\n\n const areReferencesExpanded = useReferenceListContext_unstable(ctx => ctx.areReferencesExpanded);\n const maxVisibleReferences = useReferenceListContext_unstable(ctx => ctx.maxVisibleReferences);\n const referenceListRef = useReferenceListContext_unstable(ctx => ctx.referenceListRef);\n const totalReferencesCount = useReferenceListContext_unstable(ctx => ctx.totalReferencesCount);\n const triggeredViaKeyboard = useReferenceListContext_unstable(ctx => ctx.overflowButtonTriggeredViaKeyboard);\n\n const { isOverflowing, overflowCount } = useOverflowMenu();\n\n const processedText = children ?? (typeof text === 'function' ? text(overflowCount) : text);\n\n const { findFirstFocusable, findNextFocusable } = useFocusFinders();\n const onKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLButtonElement>>(\n ev => {\n if (ev.key === Enter || ev.key === Space) {\n triggeredViaKeyboard.current = true;\n }\n },\n [triggeredViaKeyboard],\n );\n\n // We keep track of the previous overflow count to help determine the element to move focus to when expanding the references via keyboard.\n const previousOverflow = React.useRef(0);\n\n // When the references are expanded or collapsed via keyboard, we need to move focus to the appropriate element.\n React.useEffect(() => {\n // We only try to move focus if maxVisibleReferences is set and the overflow button was triggered via keyboard.\n if (maxVisibleReferences !== undefined && triggeredViaKeyboard.current) {\n let elementToFocus: HTMLElement | null | undefined;\n\n // If the references are collapsed, we move focus to the overflow button.\n if (!areReferencesExpanded) {\n elementToFocus = rootRef.current;\n previousOverflow.current = overflowCount;\n }\n // If the references are expanded, we move focus to the first reference that was hidden when they were collapsed.\n // We do this by moving focus according to the following heuristics:\n // - If maxVisibleReferences is what determines what overflows, focus is moved to the element that is in the maxVisibleReferences position of the ReferenceList's children.\n // - If the space available is what is determines what overflows, focus is moved to the element that is in the (totalReferencesCount - overflowCount) position of the ReferenceList's children.\n else if (rootRef.current && referenceListRef.current) {\n const positionToFocus =\n maxVisibleReferences < totalReferencesCount - previousOverflow.current\n ? maxVisibleReferences\n : totalReferencesCount - previousOverflow.current;\n\n let currentElement: HTMLElement | null | undefined = findFirstFocusable(referenceListRef.current);\n for (let i = 0; i < positionToFocus && currentElement; i++) {\n currentElement = findNextFocusable(currentElement);\n }\n\n elementToFocus = currentElement;\n }\n\n // We focus on the element and reset the triggeredViaKeyboard flag after a timeout to ensure that this is pushed at the end of the event queue.\n setTimeout(() => {\n elementToFocus?.focus();\n triggeredViaKeyboard.current = false;\n }, 0);\n }\n }, [\n areReferencesExpanded,\n findFirstFocusable,\n findNextFocusable,\n isOverflowing,\n maxVisibleReferences,\n overflowCount,\n referenceListRef,\n setTimeout,\n totalReferencesCount,\n triggeredViaKeyboard,\n ]);\n\n const state: ReferenceOverflowButtonState = {\n shouldRenderOverflowButton: isOverflowing || areReferencesExpanded,\n\n components: {\n root: 'button',\n },\n\n root: slot.always(\n getIntrinsicElementProps('button', {\n ref: useMergedRefs(rootRef, ref),\n ...props,\n }),\n {\n defaultProps: {\n children: processedText,\n },\n elementType: 'button',\n },\n ),\n };\n\n state.root.onKeyDown = mergeCallbacks(onKeyDown, props.onKeyDown);\n\n return state;\n};\n"],"names":["useReferenceOverflowButton_unstable","props","ref","children","areReferencesExpanded","text","rootRef","totalReferencesCount","setTimeout","triggeredViaKeyboard","useReferenceListContext_unstable","overflowCount","useOverflowMenu","maxVisibleReferences","referenceListRef","findFirstFocusable","useFocusFinders","useCallback","ev","Enter","ctx","overflowButtonTriggeredViaKeyboard","processedText","previousOverflow","findNextFocusable","React","onKeyDown","key","undefined","elementToFocus","current","i","positionToFocus","currentElement","focus","isOverflowing","components","state","shouldRenderOverflowButton","root","getIntrinsicElementProps","useMergedRefs","slot","mergeCallbacks"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA2BEA;;;eAAAA;;;;iEA3BqB;8BACM;iCAQtB;gCACoB;sCACsB;AAgB/C,MAAAA,sCAAA,CAAAC,OAAAC;;UAMA,EAGAC,QAAMC,EACNC,IAAA,KACAJ;UACAK,UAAMC,OAAAA,MAAAA,CAAAA;UACN,CAAAC,WAAMC,GAAAA,IAAAA,0BAAuBC;UAE7BN,wBAAuBO,IAAAA,sDAAkBC,EAAAA,CAAAA,MAAAA,IAAAA,qBAAAA;UAEzCC,uBAAsBV,IAAAA,sDAAAA,EAAAA,CAAAA,MAAAA,IAAAA,oBAAoBE;UAE1CS,mBAAQC,IAAAA,sDAA0CC,EAAAA,CAAAA,MAAAA,IAAAA,gBAAAA;UAClDT,uBAAwBU,IAAAA,sDACtBC,EAAAA,CAAAA,MAAAA,IAAAA,oBAAAA;UACET,uBAAeU,IAAAA,sDAA2B,EAAAC,CAAAA,MAAAA,IAAAC,kCAAA;yBAE1C,EACFV,aACA,yCAACF;UAAqBa,gBAAAnB,aAAA,QAAAA,aAAA,KAAA,IAAAA,WAAA,OAAAE,SAAA,aAAAA,KAAAM,iBAAAN;UAGxB,EACAU,kBAAMQ,EAENC,iBAAA,KACAC,IAAAA,gCAAgB;UACdC,YAAAD,OAAAR,WAAA,CAAAC,CAAAA;YACAA,GAAAS,GAAId,KAAAA,mBAAAA,IAAAA,GAAAA,GAAAA,KAAyBe,mBAAAA,EAAAA;iCACvBC,OAAAA,GAAAA;;;;KAGCzB;8IAC6B;6BAChCmB,OAAiBO,MAAAA,CAAO;oHAM4B;oBACpD,CAAA;uHAKgG;qCAChFC,aAAIC,qBAAmBC,OAAqB,EAAA;;qFAE5D;wCAEiBA;iCACnB3B,QAAAwB,OAAA;iCAEAA,OAAA,GAAAnB;mBACAH,IAAAA,QAAWsB,OAAA,IAAAhB,iBAAAgB,OAAA,EAAA;wCACTD,uBAAAA,uBAAAA,iBAAgBK,OAAK,GAAArB,uBAAAN,uBAAAgB,iBAAAO,OAAA;qCACrBrB,mBAA+BK,iBAAAgB,OAAA;oBACjC,IAAGC,IAAA,GAAAA,IAAAC,mBAAAC,gBAAAF,IAAA;oBACLE,iBAAAT,kBAAAS;gBACC;gBACD7B,iBAAAA;;2JAEAoB;uBACAW;gBACAtB,mBAAAA,QAAAA,mBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,eAAAA,KAAAA;gBACAF,qBAAAA,OAAAA,GAAAA;eACAG;;;;QAEAP;QAAAA;QAAAA;QAAAA;QAAAA;QAAAA;QAAAA;QAAAA;QAAAA;KAAAA;UACAE,QAAAA;oCACD0B,iBAAA/B;QAEDgC,YAAMC;kBACJC;;mCAGEC,CAAAA,MAAM,CAAAC,IAAAA,yCAAA,EAAA,UAAA;iBACRC,IAAAA,8BAAA,EAAAnC,SAAAJ;eAEAqC,KAAMG;;0BAGM;gBACVvC,UACAmB;;yBAEInB;;;UAGJoC,IAAA,CAAAb,SAAA,GAAAiB,IAAAA,+BAAA,EAAAjB,WAAAzB,MAAAyB,SAAA;WAEJW;yDAIOA"}
@@ -22,10 +22,10 @@ const referenceOverflowButtonClassNames = {
22
22
  };
23
23
  /**
24
24
  * Styles for the root slot
25
- */ const useRootBaseClassName = (0, _reactcomponents.__resetStyles)("rbsq19a", null, [
26
- ".rbsq19a{background-color:var(--colorNeutralBackground3);border:var(--strokeWidthThin) solid var(--colorNeutralStroke2);border-radius:var(--borderRadiusMedium);color:var(--colorNeutralForeground2);display:inline-flex;padding:var(--spacingVerticalXXS) var(--spacingHorizontalS);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase200);}",
27
- ".rbsq19a:hover{background-color:var(--colorNeutralBackground3Hover);border-color:var(--colorNeutralStroke1Hover);color:var(--colorNeutralForeground2Hover);}",
28
- ".rbsq19a:hover:active{background-color:var(--colorNeutralBackground3Pressed);border-color:var(--colorNeutralStroke1Pressed);color:var(--colorNeutralForeground2Pressed);}"
25
+ */ const useRootBaseClassName = (0, _reactcomponents.__resetStyles)("r1hm0apo", null, [
26
+ ".r1hm0apo{align-items:center;background-color:var(--colorNeutralBackground3);border:var(--strokeWidthThin) solid var(--colorNeutralStroke2);border-radius:var(--borderRadiusMedium);color:var(--colorNeutralForeground2);cursor:pointer;display:inline-flex;justify-content:center;min-height:24px;padding:var(--spacingVerticalXXS) var(--spacingHorizontalS);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase200);}",
27
+ ".r1hm0apo:hover{background-color:var(--colorNeutralBackground3Hover);border-color:var(--colorNeutralStroke1Hover);color:var(--colorNeutralForeground2Hover);}",
28
+ ".r1hm0apo:hover:active{background-color:var(--colorNeutralBackground3Pressed);border-color:var(--colorNeutralStroke1Pressed);color:var(--colorNeutralForeground2Pressed);}"
29
29
  ]);
30
30
  const useReferenceOverflowButtonStyles_unstable = (state)=>{
31
31
  'use no memo';
@@ -1 +1 @@
1
- {"version":3,"sources":["useReferenceOverflowButtonStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, mergeClasses, tokens, typographyStyles } from '@fluentui/react-components';\nimport type { ReferenceOverflowButtonSlots, ReferenceOverflowButtonState } from './ReferenceOverflowButton.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const referenceOverflowButtonClassNames: SlotClassNames<ReferenceOverflowButtonSlots> = {\n root: 'fai-ReferenceOverflowButton',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootBaseClassName = makeResetStyles({\n backgroundColor: tokens.colorNeutralBackground3,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`,\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground2,\n display: 'inline-flex',\n padding: `${tokens.spacingVerticalXXS} ${tokens.spacingHorizontalS}`,\n ...typographyStyles.caption1,\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground3Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground2Hover,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground3Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground2Pressed,\n },\n});\n\n/**\n * Apply styling to the ReferenceOverflowButton slots based on the state\n */\nexport const useReferenceOverflowButtonStyles_unstable = (\n state: ReferenceOverflowButtonState,\n): ReferenceOverflowButtonState => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n\n state.root.className = mergeClasses(referenceOverflowButtonClassNames.root, rootBaseClassName, state.root.className);\n\n return state;\n};\n"],"names":["referenceOverflowButtonClassNames","useReferenceOverflowButtonStyles_unstable","root","backgroundColor","colorNeutralBackground3","display","state","rootBaseClassName","useRootBaseClassName","tokens","colorNeutralBackground3Hover","className","borderColor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAIaA,iCAAAA;eAAAA;;IAYFC,yCAAA;eAAAA;;;iCAhBqD;AAIzD,MAAMD,oCAAkF;UAC7FE;AACF;AAEA;;CAEC,SAECC,uBAAwBC,IAAAA,8BAAAA,EAAAA,WAAuB,MAAA;IAAA;IAAA;IAAA;CAAA;AAI/CC,MAASJ,4CAAAK,CAAAA;;UAITC,oBAAUC;UACRL,IAAAA,CAAAA,SAAAA,GAAiBM,IAAAA,6BAAOC,EAAAA,kCAA4BR,IAAA,EAAAK,mBAAAD,MAAAJ,IAAA,CAAAS,SAAA;WACpDC;sEAEF"}
1
+ {"version":3,"sources":["useReferenceOverflowButtonStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, mergeClasses, tokens, typographyStyles } from '@fluentui/react-components';\nimport type { ReferenceOverflowButtonSlots, ReferenceOverflowButtonState } from './ReferenceOverflowButton.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const referenceOverflowButtonClassNames: SlotClassNames<ReferenceOverflowButtonSlots> = {\n root: 'fai-ReferenceOverflowButton',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n backgroundColor: tokens.colorNeutralBackground3,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`,\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground2,\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'center',\n minHeight: '24px',\n padding: `${tokens.spacingVerticalXXS} ${tokens.spacingHorizontalS}`,\n ...typographyStyles.caption1,\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground3Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground2Hover,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground3Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground2Pressed,\n },\n});\n\n/**\n * Apply styling to the ReferenceOverflowButton slots based on the state\n */\nexport const useReferenceOverflowButtonStyles_unstable = (\n state: ReferenceOverflowButtonState,\n): ReferenceOverflowButtonState => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n\n state.root.className = mergeClasses(referenceOverflowButtonClassNames.root, rootBaseClassName, state.root.className);\n\n return state;\n};\n"],"names":["referenceOverflowButtonClassNames","tokens","root","alignItems","__resetStyles","color","state","justifyContent","useRootBaseClassName","minHeight","mergeClasses","rootBaseClassName","className","padding"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAIaA,iCAAAA;eAAAA;;IAYJC,yCAA8B;eAA9BA;;;iCAhBuD;AAIzD,MAAMD,oCAAkF;UAC7FE;AACF;AAEA;;CAEC,SAECC,uBAAYC,IAAAA,8BAAA,EAAA,YAAA,MAAA;IAAA;IAAA;IAAA;CAAA;AAIZC,MAAOJ,4CAA8BK,CAAAA;;UAGrCC,oBAAgBC;UAChBC,IAAAA,CAAAA,SAAW,GAAAC,IAAAA,6BAAA,EAAAV,kCAAAE,IAAA,EAAAS,mBAAAL,MAAAJ,IAAA,CAAAU,SAAA;WACXC;sEAGU"}
@@ -39,6 +39,9 @@ _export(exports, {
39
39
  citationClassNames: function() {
40
40
  return _Citation.citationClassNames;
41
41
  },
42
+ generateReferenceCitationPreview: function() {
43
+ return _referencev21.generateReferenceCitationPreview;
44
+ },
42
45
  referenceClassNames: function() {
43
46
  return _Reference.referenceClassNames;
44
47
  },
@@ -88,13 +91,13 @@ _export(exports, {
88
91
  return _Citation.useCitation_unstable;
89
92
  },
90
93
  useReferenceCitationPreview: function() {
91
- return _hooks.useReferenceCitationPreview;
94
+ return _utilities.useReferenceCitationPreview;
92
95
  },
93
96
  useReferenceCitationPreviewV2: function() {
94
97
  return _referencev21.useReferenceCitationPreview;
95
98
  },
96
99
  useReferenceGroup: function() {
97
- return _hooks.useReferenceGroup;
100
+ return _utilities.useReferenceGroup;
98
101
  },
99
102
  useReferenceGroupToggleStyles_unstable: function() {
100
103
  return _ReferenceGroupToggle.useReferenceGroupToggleStyles_unstable;
@@ -105,12 +108,12 @@ _export(exports, {
105
108
  useReferenceListContext_unstable: function() {
106
109
  return _referencev2.useReferenceListContext_unstable;
107
110
  },
108
- useReferenceListStylesV2_unstable: function() {
109
- return _ReferenceListV2.useReferenceListStyles_unstable;
110
- },
111
111
  useReferenceListStyles_unstable: function() {
112
112
  return _ReferenceList.useReferenceListStyles_unstable;
113
113
  },
114
+ useReferenceListV2Styles_unstable: function() {
115
+ return _ReferenceListV2.useReferenceListStyles_unstable;
116
+ },
114
117
  useReferenceListV2_unstable: function() {
115
118
  return _ReferenceListV2.useReferenceList_unstable;
116
119
  },
@@ -123,12 +126,12 @@ _export(exports, {
123
126
  useReferenceOverflowButton_unstable: function() {
124
127
  return _ReferenceOverflowButton.useReferenceOverflowButton_unstable;
125
128
  },
126
- useReferenceStylesV2_unstable: function() {
127
- return _ReferenceV2.useReferenceStyles_unstable;
128
- },
129
129
  useReferenceStyles_unstable: function() {
130
130
  return _Reference.useReferenceStyles_unstable;
131
131
  },
132
+ useReferenceV2Styles_unstable: function() {
133
+ return _ReferenceV2.useReferenceStyles_unstable;
134
+ },
132
135
  useReferenceV2_unstable: function() {
133
136
  return _ReferenceV2.useReference_unstable;
134
137
  },
@@ -138,12 +141,12 @@ _export(exports, {
138
141
  });
139
142
  const _Citation = require("./Citation");
140
143
  const _Reference = require("./Reference");
141
- const _hooks = require("./hooks");
144
+ const _utilities = require("./utilities");
142
145
  const _ReferenceList = require("./ReferenceList");
143
146
  const _ReferenceGroupToggle = require("./ReferenceGroupToggle");
144
147
  const _ReferenceV2 = require("./ReferenceV2");
145
148
  const _ReferenceListV2 = require("./ReferenceListV2");
146
149
  const _ReferenceOverflowButton = require("./ReferenceOverflowButton");
147
150
  const _referencev2 = require("./contexts/reference-v2");
148
- const _referencev21 = require("./hooks/reference-v2");
151
+ const _referencev21 = require("./utilities/reference-v2");
149
152
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export {\n Citation,\n citationClassNames,\n renderCitation_unstable,\n useCitation_unstable,\n useCitationStyles_unstable,\n} from './Citation';\nexport {\n Reference,\n referenceClassNames,\n renderReference_unstable,\n useReference_unstable,\n useReferenceStyles_unstable,\n} from './Reference';\nexport { useReferenceCitationPreview, useReferenceGroup } from './hooks';\nexport {\n ReferenceList,\n referenceListClassNames,\n useReferenceList_unstable,\n useReferenceListStyles_unstable,\n renderReferenceList_unstable,\n} from './ReferenceList';\nexport {\n ReferenceGroupToggle,\n referenceGroupToggleClassNames,\n renderReferenceGroupToggle_unstable,\n useReferenceGroupToggleStyles_unstable,\n useReferenceGroupToggle_unstable,\n} from './ReferenceGroupToggle';\n\n// Types\n\nexport type { CitationSlots, CitationProps, CitationState } from './Citation';\nexport type { ReferenceSlots, ReferenceProps, ReferenceState } from './Reference';\nexport type { ReferenceListSlots, ReferenceListProps, ReferenceListState } from './ReferenceList';\nexport type {\n ReferenceGroupToggleSlots,\n ReferenceGroupToggleProps,\n ReferenceGroupToggleState,\n} from './ReferenceGroupToggle';\n\nexport type {\n PackagedCitationProps,\n PackagedCitation,\n PackagedReferenceProps,\n PackagedReference,\n ReferenceCitationData,\n UseReferenceCitationPreview,\n UseReferenceGroup,\n UseReferenceGroupProps,\n} from './hooks';\n\n// reference-v2 exports\nexport type {\n ReferenceProps as ReferenceV2Props,\n ReferenceSlots as ReferenceV2Slots,\n ReferenceState as ReferenceV2State,\n} from './ReferenceV2';\nexport {\n Reference as ReferenceV2,\n referenceClassNames as referenceV2ClassNames,\n referenceExtraClassNames as referenceV2ExtraClassNames,\n renderReference_unstable as renderReferenceV2_unstable,\n useReferenceStyles_unstable as useReferenceStylesV2_unstable,\n useReference_unstable as useReferenceV2_unstable,\n} from './ReferenceV2';\n\nexport type {\n ReferenceListContextValues as ReferenceListV2ContextValues,\n ReferenceListProps as ReferenceListV2Props,\n ReferenceListSlots as ReferenceListV2Slots,\n ReferenceListState as ReferenceListV2State,\n} from './ReferenceListV2';\nexport {\n ReferenceList as ReferenceListV2,\n referenceListClassNames as referenceListV2ClassNames,\n renderReferenceList_unstable as renderReferenceListV2_unstable,\n useReferenceListStyles_unstable as useReferenceListStylesV2_unstable,\n useReferenceList_unstable as useReferenceListV2_unstable,\n} from './ReferenceListV2';\n\nexport type {\n ReferenceOverflowButtonProps,\n ReferenceOverflowButtonSlots,\n ReferenceOverflowButtonState,\n} from './ReferenceOverflowButton';\nexport {\n ReferenceOverflowButton,\n referenceOverflowButtonClassNames,\n renderReferenceOverflowButton_unstable,\n useReferenceOverflowButtonStyles_unstable,\n useReferenceOverflowButton_unstable,\n} from './ReferenceOverflowButton';\n\nexport type { ReferenceListContextValue } from './contexts/reference-v2';\nexport {\n ReferenceListContext,\n ReferenceListContextProvider,\n useReferenceListContext_unstable,\n} from './contexts/reference-v2';\n\nexport type {\n PackagedCitation as PackagedCitationV2,\n PackagedPreviewContentProps as PackagedPreviewContentV2Props,\n PackagedReference as PackagedReferenceV2,\n UseReferenceCitationPreview as UseReferenceCitationPreviewV2,\n UseReferenceCitationPreviewProps as UseReferenceCitationPreviewV2Props,\n} from './hooks/reference-v2';\nexport { useReferenceCitationPreview as useReferenceCitationPreviewV2 } from './hooks/reference-v2';\n"],"names":["Citation","Reference","ReferenceGroupToggle","ReferenceList","ReferenceListContext","ReferenceListContextProvider","ReferenceListV2","ReferenceOverflowButton","ReferenceV2","citationClassNames","referenceClassNames","referenceGroupToggleClassNames","referenceListClassNames","referenceListV2ClassNames","referenceOverflowButtonClassNames","referenceV2ClassNames","referenceV2ExtraClassNames","referenceExtraClassNames","renderCitation_unstable","renderReferenceGroupToggle_unstable","renderReferenceListV2_unstable","renderReferenceList_unstable","renderReferenceOverflowButton_unstable","renderReferenceV2_unstable","renderReference_unstable","useCitationStyles_unstable","useCitation_unstable","useReferenceCitationPreview","useReferenceCitationPreviewV2","useReferenceGroup","useReferenceGroupToggleStyles_unstable","useReferenceGroupToggle_unstable","useReferenceListContext_unstable","useReferenceListStylesV2_unstable","useReferenceListStyles_unstable","useReferenceListV2_unstable","useReferenceList_unstable","useReferenceOverflowButtonStyles_unstable","useReferenceOverflowButton_unstable","useReferenceStylesV2_unstable","useReferenceStyles_unstable","useReferenceV2_unstable","useReference_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IACEA,QAAQ;eAARA,kBAAQ;;IAORC,SAAS;eAATA,oBAAS;;IAeTC,oBAAoB;eAApBA,0CAAoB;;IAPpBC,aAAa;eAAbA,4BAAa;;IAgFbC,oBAAoB;eAApBA,iCAAoB;;IACpBC,4BAA4B;eAA5BA,yCAA4B;;IAvBXC,eAAe;eAAhCH,8BAAAA;;IAaAI,uBAAuB;eAAvBA,gDAAuB;;IA5BVC,WAAW;eAAxBP,sBAAAA;;IAzDAQ,kBAAkB;eAAlBA,4BAAkB;;IAOlBC,mBAAmB;eAAnBA,8BAAmB;;IAenBC,8BAA8B;eAA9BA,oDAA8B;;IAP9BC,uBAAuB;eAAvBA,sCAAuB;;IA0DIC,yBAAyB;eAApDD,wCAAAA;;IAaAE,iCAAiC;eAAjCA,0DAAiC;;IA5BVC,qBAAqB;eAA5CL,gCAAAA;;IAC4BM,0BAA0B;eAAtDC,qCAAAA;;IA1DAC,uBAAuB;eAAvBA,iCAAuB;;IAsBvBC,mCAAmC;eAAnCA,yDAAmC;;IAmDHC,8BAA8B;eAA9DC,6CAAAA;;IAxDAA,4BAA4B;eAA5BA,2CAA4B;;IAqE5BC,sCAAsC;eAAtCA,+DAAsC;;IA3BVC,0BAA0B;eAAtDC,qCAAAA;;IApDAA,wBAAwB;eAAxBA,mCAAwB;;IALxBC,0BAA0B;eAA1BA,oCAA0B;;IAD1BC,oBAAoB;eAApBA,8BAAoB;;IAUbC,2BAA2B;eAA3BA,kCAA2B;;IA8FIC,6BAA6B;eAA5DD,yCAAAA;;IA9F6BE,iBAAiB;eAAjBA,wBAAiB;;IAYrDC,sCAAsC;eAAtCA,4DAAsC;;IACtCC,gCAAgC;eAAhCA,sDAAgC;;IAuEhCC,gCAAgC;eAAhCA,6CAAgC;;IArBGC,iCAAiC;eAApEC,gDAAAA;;IA1DAA,+BAA+B;eAA/BA,8CAA+B;;IA2DFC,2BAA2B;eAAxDC,0CAAAA;;IA5DAA,yBAAyB;eAAzBA,wCAAyB;;IAwEzBC,yCAAyC;eAAzCA,kEAAyC;;IACzCC,mCAAmC;eAAnCA,4DAAmC;;IA5BJC,6BAA6B;eAA5DC,wCAAAA;;IAnDAA,2BAA2B;eAA3BA,sCAA2B;;IAoDFC,uBAAuB;eAAhDC,kCAAAA;;IArDAA,qBAAqB;eAArBA,gCAAqB;;;0BALhB;2BAOA;uBACwD;+BAOxD;sCAOA;6BAqCA;iCAcA;yCAaA;6BAOA;8BASsE"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export {\n Citation,\n citationClassNames,\n renderCitation_unstable,\n useCitation_unstable,\n useCitationStyles_unstable,\n} from './Citation';\nexport {\n Reference,\n referenceClassNames,\n renderReference_unstable,\n useReference_unstable,\n useReferenceStyles_unstable,\n} from './Reference';\nexport { useReferenceCitationPreview, useReferenceGroup } from './utilities';\nexport {\n ReferenceList,\n referenceListClassNames,\n useReferenceList_unstable,\n useReferenceListStyles_unstable,\n renderReferenceList_unstable,\n} from './ReferenceList';\nexport {\n ReferenceGroupToggle,\n referenceGroupToggleClassNames,\n renderReferenceGroupToggle_unstable,\n useReferenceGroupToggleStyles_unstable,\n useReferenceGroupToggle_unstable,\n} from './ReferenceGroupToggle';\n\n// Types\n\nexport type { CitationSlots, CitationProps, CitationState } from './Citation';\nexport type { ReferenceSlots, ReferenceProps, ReferenceState } from './Reference';\nexport type { ReferenceListSlots, ReferenceListProps, ReferenceListState } from './ReferenceList';\nexport type {\n ReferenceGroupToggleSlots,\n ReferenceGroupToggleProps,\n ReferenceGroupToggleState,\n} from './ReferenceGroupToggle';\n\nexport type {\n PackagedCitationProps,\n PackagedCitation,\n PackagedReferenceProps,\n PackagedReference,\n ReferenceCitationData,\n UseReferenceCitationPreview,\n UseReferenceGroup,\n UseReferenceGroupProps,\n} from './utilities';\n\n// reference-v2 exports\nexport type {\n ReferenceProps as ReferenceV2Props,\n ReferenceSlots as ReferenceV2Slots,\n ReferenceState as ReferenceV2State,\n} from './ReferenceV2';\nexport {\n Reference as ReferenceV2,\n referenceClassNames as referenceV2ClassNames,\n referenceExtraClassNames as referenceV2ExtraClassNames,\n renderReference_unstable as renderReferenceV2_unstable,\n useReferenceStyles_unstable as useReferenceV2Styles_unstable,\n useReference_unstable as useReferenceV2_unstable,\n} from './ReferenceV2';\n\nexport type {\n ReferenceListContextValues as ReferenceListV2ContextValues,\n ReferenceListProps as ReferenceListV2Props,\n ReferenceListSlots as ReferenceListV2Slots,\n ReferenceListState as ReferenceListV2State,\n} from './ReferenceListV2';\nexport {\n ReferenceList as ReferenceListV2,\n referenceListClassNames as referenceListV2ClassNames,\n renderReferenceList_unstable as renderReferenceListV2_unstable,\n useReferenceListStyles_unstable as useReferenceListV2Styles_unstable,\n useReferenceList_unstable as useReferenceListV2_unstable,\n} from './ReferenceListV2';\n\nexport type {\n ReferenceOverflowButtonProps,\n ReferenceOverflowButtonSlots,\n ReferenceOverflowButtonState,\n} from './ReferenceOverflowButton';\nexport {\n ReferenceOverflowButton,\n referenceOverflowButtonClassNames,\n renderReferenceOverflowButton_unstable,\n useReferenceOverflowButtonStyles_unstable,\n useReferenceOverflowButton_unstable,\n} from './ReferenceOverflowButton';\n\nexport type { ReferenceListContextValue } from './contexts/reference-v2';\nexport {\n ReferenceListContext,\n ReferenceListContextProvider,\n useReferenceListContext_unstable,\n} from './contexts/reference-v2';\n\nexport type {\n PackagedCitation as PackagedCitationV2,\n PackagedPreviewContentProps as PackagedPreviewContentV2Props,\n PackagedReference as PackagedReferenceV2,\n ReferenceCitationPreviewGenerator,\n ReferenceCitationPreviewGeneratorProps,\n UseReferenceCitationPreview as UseReferenceCitationPreviewV2,\n UseReferenceCitationPreviewProps as UseReferenceCitationPreviewV2Props,\n} from './utilities/reference-v2';\nexport {\n generateReferenceCitationPreview,\n useReferenceCitationPreview as useReferenceCitationPreviewV2,\n} from './utilities/reference-v2';\n"],"names":["Citation","Reference","ReferenceGroupToggle","ReferenceList","ReferenceListContext","ReferenceListContextProvider","ReferenceListV2","ReferenceOverflowButton","ReferenceV2","citationClassNames","generateReferenceCitationPreview","referenceClassNames","referenceGroupToggleClassNames","referenceListClassNames","referenceListV2ClassNames","referenceOverflowButtonClassNames","referenceV2ClassNames","referenceV2ExtraClassNames","referenceExtraClassNames","renderCitation_unstable","renderReferenceGroupToggle_unstable","renderReferenceListV2_unstable","renderReferenceList_unstable","renderReferenceOverflowButton_unstable","renderReferenceV2_unstable","renderReference_unstable","useCitationStyles_unstable","useCitation_unstable","useReferenceCitationPreview","useReferenceCitationPreviewV2","useReferenceGroup","useReferenceGroupToggleStyles_unstable","useReferenceGroupToggle_unstable","useReferenceListContext_unstable","useReferenceListStyles_unstable","useReferenceListV2Styles_unstable","useReferenceListV2_unstable","useReferenceList_unstable","useReferenceOverflowButtonStyles_unstable","useReferenceOverflowButton_unstable","useReferenceStyles_unstable","useReferenceV2Styles_unstable","useReferenceV2_unstable","useReference_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IACEA,QAAQ;eAARA,kBAAQ;;IAORC,SAAS;eAATA,oBAAS;;IAeTC,oBAAoB;eAApBA,0CAAoB;;IAPpBC,aAAa;eAAbA,4BAAa;;IAgFbC,oBAAoB;eAApBA,iCAAoB;;IACpBC,4BAA4B;eAA5BA,yCAA4B;;IAvBXC,eAAe;eAAhCH,8BAAAA;;IAaAI,uBAAuB;eAAvBA,gDAAuB;;IA5BVC,WAAW;eAAxBP,sBAAAA;;IAzDAQ,kBAAkB;eAAlBA,4BAAkB;;IA6GlBC,gCAAgC;eAAhCA,8CAAgC;;IAtGhCC,mBAAmB;eAAnBA,8BAAmB;;IAenBC,8BAA8B;eAA9BA,oDAA8B;;IAP9BC,uBAAuB;eAAvBA,sCAAuB;;IA0DIC,yBAAyB;eAApDD,wCAAAA;;IAaAE,iCAAiC;eAAjCA,0DAAiC;;IA5BVC,qBAAqB;eAA5CL,gCAAAA;;IAC4BM,0BAA0B;eAAtDC,qCAAAA;;IA1DAC,uBAAuB;eAAvBA,iCAAuB;;IAsBvBC,mCAAmC;eAAnCA,yDAAmC;;IAmDHC,8BAA8B;eAA9DC,6CAAAA;;IAxDAA,4BAA4B;eAA5BA,2CAA4B;;IAqE5BC,sCAAsC;eAAtCA,+DAAsC;;IA3BVC,0BAA0B;eAAtDC,qCAAAA;;IApDAA,wBAAwB;eAAxBA,mCAAwB;;IALxBC,0BAA0B;eAA1BA,oCAA0B;;IAD1BC,oBAAoB;eAApBA,8BAAoB;;IAUbC,2BAA2B;eAA3BA,sCAA2B;;IAkGHC,6BAA6B;eAA5DD,yCAAAA;;IAlGoCE,iBAAiB;eAAjBA,4BAAiB;;IAYrDC,sCAAsC;eAAtCA,4DAAsC;;IACtCC,gCAAgC;eAAhCA,sDAAgC;;IAuEhCC,gCAAgC;eAAhCA,6CAAgC;;IA/EhCC,+BAA+B;eAA/BA,8CAA+B;;IA0DIC,iCAAiC;eAApED,gDAAAA;;IAC6BE,2BAA2B;eAAxDC,0CAAAA;;IA5DAA,yBAAyB;eAAzBA,wCAAyB;;IAwEzBC,yCAAyC;eAAzCA,kEAAyC;;IACzCC,mCAAmC;eAAnCA,4DAAmC;;IA/EnCC,2BAA2B;eAA3BA,sCAA2B;;IAmDIC,6BAA6B;eAA5DD,wCAAAA;;IACyBE,uBAAuB;eAAhDC,kCAAAA;;IArDAA,qBAAqB;eAArBA,gCAAqB;;;0BALhB;2BAOA;2BACwD;+BAOxD;sCAOA;6BAqCA;iCAcA;yCAaA;6BAOA;8BAcA"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "generateReferenceCitationPreview", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return generateReferenceCitationPreview;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _reactcomponents = require("@fluentui/react-components");
14
+ const _reactpreview = require("@fluentui-copilot/react-preview");
15
+ const _reactsensitivitylabel = require("@fluentui-copilot/react-sensitivity-label");
16
+ const _Citation = require("../../Citation");
17
+ const _ReferenceV2 = require("../../ReferenceV2");
18
+ // Abstract the citation that serves as the close button of the Preview into its own component so that we have access to the popover context.
19
+ const CitationCloseButton = (citationCloseButtonProps)=>{
20
+ const setPopoverOpen = (0, _reactcomponents.usePopoverContext_unstable)((context)=>context.setOpen);
21
+ const onPopoverCloseClick = _react.useCallback((ev)=>{
22
+ setPopoverOpen(ev, false);
23
+ // Don't navigate
24
+ ev.preventDefault();
25
+ }, [
26
+ setPopoverOpen
27
+ ]);
28
+ const onCitationCloseButtonClick = (0, _reactcomponents.mergeCallbacks)(onPopoverCloseClick, citationCloseButtonProps.onClick);
29
+ return /*#__PURE__*/ _react.createElement(_Citation.Citation, {
30
+ ...citationCloseButtonProps,
31
+ onClick: onCitationCloseButtonClick
32
+ });
33
+ };
34
+ const generateReferenceCitationPreview = (props)=>{
35
+ const { citationPreviewProps, citationPreviewSurfaceProps, citationProps, index, previewContentProps, previewHeaderProps, referencePreviewProps, referencePreviewSurfaceProps, referenceProps, sensitivityLabelProps } = props;
36
+ const CitationWithPreview = (props)=>{
37
+ var _previewContentProps_content;
38
+ return /*#__PURE__*/ _react.createElement(_reactpreview.Preview, {
39
+ closeOnScroll: true,
40
+ positioning: "below",
41
+ size: "small",
42
+ trapFocus: true,
43
+ withArrow: true,
44
+ ...citationPreviewProps
45
+ }, /*#__PURE__*/ _react.createElement(_reactpreview.PreviewTrigger, null, /*#__PURE__*/ _react.createElement(_Citation.Citation, {
46
+ ...citationProps,
47
+ ...props
48
+ }, index)), /*#__PURE__*/ _react.createElement(_reactpreview.PreviewSurface, citationPreviewSurfaceProps, /*#__PURE__*/ _react.createElement(_reactpreview.PreviewContent, null, /*#__PURE__*/ _react.createElement(_reactpreview.PreviewHeader, {
49
+ citation: /*#__PURE__*/ _react.createElement(CitationCloseButton, {
50
+ "aria-label": `Reference ${index}, close`,
51
+ referenceHref: "#",
52
+ tabIndex: -1
53
+ }, index),
54
+ media: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.graphic
55
+ }, referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.children), /*#__PURE__*/ _react.createElement(_reactpreview.PreviewMetadata, {
56
+ icon: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.icon,
57
+ primaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.primaryText,
58
+ secondaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.secondaryText,
59
+ tertiaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.tertiaryText
60
+ }), sensitivityLabelProps && /*#__PURE__*/ _react.createElement(_reactsensitivitylabel.SensitivityLabel, sensitivityLabelProps), (_previewContentProps_content = previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.content) !== null && _previewContentProps_content !== void 0 ? _previewContentProps_content : citationPreviewProps === null || citationPreviewProps === void 0 ? void 0 : citationPreviewProps.children)));
61
+ };
62
+ const ReferenceWithPreview = (props)=>{
63
+ const mergedReferenceProps = {
64
+ citation: index,
65
+ ...referenceProps,
66
+ ...props
67
+ };
68
+ var _previewHeaderProps_children, _previewContentProps_content;
69
+ return /*#__PURE__*/ _react.createElement(_reactpreview.Preview, {
70
+ closeOnScroll: true,
71
+ positioning: "below",
72
+ size: "small",
73
+ trapFocus: true,
74
+ withArrow: true,
75
+ ...referencePreviewProps
76
+ }, /*#__PURE__*/ _react.createElement(_reactpreview.PreviewTrigger, null, /*#__PURE__*/ _react.createElement(_ReferenceV2.Reference, mergedReferenceProps)), /*#__PURE__*/ _react.createElement(_reactpreview.PreviewSurface, referencePreviewSurfaceProps, /*#__PURE__*/ _react.createElement(_reactpreview.PreviewContent, null, /*#__PURE__*/ _react.createElement(_reactpreview.PreviewHeader, {
77
+ citation: /*#__PURE__*/ _react.createElement(CitationCloseButton, {
78
+ "aria-label": `Reference ${index}, close`,
79
+ referenceHref: "#",
80
+ tabIndex: -1
81
+ }, index),
82
+ media: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.graphic,
83
+ ...previewHeaderProps
84
+ }, (_previewHeaderProps_children = previewHeaderProps === null || previewHeaderProps === void 0 ? void 0 : previewHeaderProps.children) !== null && _previewHeaderProps_children !== void 0 ? _previewHeaderProps_children : referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.children), /*#__PURE__*/ _react.createElement(_reactpreview.PreviewMetadata, {
85
+ icon: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.icon,
86
+ primaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.primaryText,
87
+ secondaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.secondaryText,
88
+ tertiaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.tertiaryText
89
+ }), sensitivityLabelProps && /*#__PURE__*/ _react.createElement(_reactsensitivitylabel.SensitivityLabel, sensitivityLabelProps), (_previewContentProps_content = previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.content) !== null && _previewContentProps_content !== void 0 ? _previewContentProps_content : referencePreviewProps === null || referencePreviewProps === void 0 ? void 0 : referencePreviewProps.children)));
90
+ };
91
+ const components = {
92
+ Citation: CitationWithPreview,
93
+ Reference: ReferenceWithPreview
94
+ };
95
+ return components;
96
+ }; //# sourceMappingURL=generateReferenceCitationPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["generateReferenceCitationPreview.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { mergeCallbacks, usePopoverContext_unstable } from '@fluentui/react-components';\n\nimport {\n Preview,\n PreviewContent,\n PreviewHeader,\n PreviewMetadata,\n PreviewSurface,\n PreviewTrigger,\n} from '@fluentui-copilot/react-preview';\nimport { SensitivityLabel } from '@fluentui-copilot/react-sensitivity-label';\nimport type {\n PreviewHeaderProps,\n PreviewMetadataProps,\n PreviewProps,\n PreviewSurfaceProps,\n} from '@fluentui-copilot/react-preview';\nimport type { SensitivityLabelProps } from '@fluentui-copilot/react-sensitivity-label';\n\nimport { Citation } from '../../Citation';\nimport { Reference } from '../../ReferenceV2';\nimport type { CitationProps } from '../../Citation';\nimport type { ReferenceProps } from '../../ReferenceV2';\n\nexport type PackagedCitation = React.FC<CitationProps>;\n\nexport type PackagedReference = React.FC<ReferenceProps>;\n\nexport type PackagedPreviewContentProps = Pick<\n PreviewMetadataProps,\n 'icon' | 'primaryText' | 'secondaryText' | 'tertiaryText'\n> & {\n content?: React.ReactNode;\n};\n\nexport type ReferenceCitationPreviewGeneratorProps = {\n citationPreviewProps?: PreviewProps;\n citationPreviewSurfaceProps?: PreviewSurfaceProps;\n citationProps?: CitationProps;\n index: number;\n previewContentProps?: PackagedPreviewContentProps;\n previewHeaderProps?: PreviewHeaderProps;\n referencePreviewProps?: PreviewProps;\n referencePreviewSurfaceProps?: PreviewSurfaceProps;\n referenceProps?: ReferenceProps;\n sensitivityLabelProps?: SensitivityLabelProps;\n};\n\nexport type ReferenceCitationPreviewGenerator = (props: ReferenceCitationPreviewGeneratorProps) => {\n Citation: PackagedCitation;\n Reference: PackagedReference;\n};\n\n// Abstract the citation that serves as the close button of the Preview into its own component so that we have access to the popover context.\nconst CitationCloseButton = (citationCloseButtonProps: CitationProps) => {\n const setPopoverOpen = usePopoverContext_unstable(context => context.setOpen);\n\n const onPopoverCloseClick = React.useCallback<NonNullable<CitationProps['onClick']>>(\n ev => {\n setPopoverOpen(ev, false);\n\n // Don't navigate\n ev.preventDefault();\n },\n [setPopoverOpen],\n );\n\n const onCitationCloseButtonClick = mergeCallbacks(onPopoverCloseClick, citationCloseButtonProps.onClick);\n\n return <Citation {...citationCloseButtonProps} onClick={onCitationCloseButtonClick} />;\n};\n\n/**\n * Function to generate a Citation - Reference pair with correctly wired props.\n * Both the Citation and the Reference act as trigger components to Previews that are also correctly wired by the function.\n * Props can either be passed in to the function or applied directly to the generated components in JSX.\n *\n * A `useReferenceCitationPreview` hook exists that calls this function and memoizes its return value based on the props.\n * You should use the hook when the props used to generate the Citation - Reference pair can change dynamically.\n * If they are static, or in case you wanted to generate multiple pairs within a cycle, you should call\n * `generateReferenceCitationPreview` directly.\n *\n * @returns A Citation - Reference pair with correctly wired props.\n */\nexport const generateReferenceCitationPreview: ReferenceCitationPreviewGenerator = props => {\n const {\n citationPreviewProps,\n citationPreviewSurfaceProps,\n citationProps,\n index,\n previewContentProps,\n previewHeaderProps,\n referencePreviewProps,\n referencePreviewSurfaceProps,\n referenceProps,\n sensitivityLabelProps,\n } = props;\n\n const CitationWithPreview: PackagedCitation = props => {\n return (\n <Preview closeOnScroll positioning=\"below\" size=\"small\" trapFocus withArrow {...citationPreviewProps}>\n <PreviewTrigger>\n <Citation {...citationProps} {...props}>\n {index}\n </Citation>\n </PreviewTrigger>\n <PreviewSurface {...citationPreviewSurfaceProps}>\n <PreviewContent>\n <PreviewHeader\n citation={\n <CitationCloseButton aria-label={`Reference ${index}, close`} referenceHref=\"#\" tabIndex={-1}>\n {index}\n </CitationCloseButton>\n }\n media={referenceProps?.graphic as PreviewHeaderProps['media']}\n >\n {referenceProps?.children}\n </PreviewHeader>\n <PreviewMetadata\n icon={previewContentProps?.icon}\n primaryText={previewContentProps?.primaryText}\n secondaryText={previewContentProps?.secondaryText}\n tertiaryText={previewContentProps?.tertiaryText}\n />\n {sensitivityLabelProps && <SensitivityLabel {...sensitivityLabelProps} />}\n {previewContentProps?.content ?? citationPreviewProps?.children}\n </PreviewContent>\n </PreviewSurface>\n </Preview>\n );\n };\n\n const ReferenceWithPreview: PackagedReference = props => {\n const mergedReferenceProps = {\n citation: index,\n ...referenceProps,\n ...props,\n } as ReferenceProps;\n\n return (\n <Preview closeOnScroll positioning=\"below\" size=\"small\" trapFocus withArrow {...referencePreviewProps}>\n <PreviewTrigger>\n <Reference {...mergedReferenceProps} />\n </PreviewTrigger>\n <PreviewSurface {...referencePreviewSurfaceProps}>\n <PreviewContent>\n <PreviewHeader\n citation={\n <CitationCloseButton aria-label={`Reference ${index}, close`} referenceHref=\"#\" tabIndex={-1}>\n {index}\n </CitationCloseButton>\n }\n media={referenceProps?.graphic as PreviewHeaderProps['media']}\n {...previewHeaderProps}\n >\n {previewHeaderProps?.children ?? referenceProps?.children}\n </PreviewHeader>\n <PreviewMetadata\n icon={previewContentProps?.icon}\n primaryText={previewContentProps?.primaryText}\n secondaryText={previewContentProps?.secondaryText}\n tertiaryText={previewContentProps?.tertiaryText}\n />\n {sensitivityLabelProps && <SensitivityLabel {...sensitivityLabelProps} />}\n {previewContentProps?.content ?? referencePreviewProps?.children}\n </PreviewContent>\n </PreviewSurface>\n </Preview>\n );\n };\n\n const components = {\n Citation: CitationWithPreview,\n Reference: ReferenceWithPreview,\n };\n\n return components;\n};\n"],"names":["CitationCloseButton","citationCloseButtonProps","setPopoverOpen","usePopoverContext_unstable","context","setOpen","onPopoverCloseClick","React","useCallback","ev","preventDefault","createElement","Citation","onCitationCloseButtonClick","onClick","citationPreviewProps","citationPreviewSurfaceProps","CitationWithPreview","previewContentProps","closeOnScroll","positioning","trapFocus","withArrow","props","index","Preview","citation","aria-label","tabIndex","referenceProps","children","primaryText","secondaryText","PreviewHeader","tertiaryText","sensitivityLabelProps","referenceHref","ReferenceWithPreview","PreviewMetadata","icon","previewHeaderProps","referencePreviewProps","_previewContentProps_content","media","PreviewSurface","referencePreviewSurfaceProps","PreviewContent","Reference","_previewHeaderProps_children","components"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;iEAAuB;iCAEoC;8BASpD;uCAC0B;0BASR;6BACC;AAiC1B,6IAA6I;AAC7I,MAAMA,sBAAsBC,CAAAA;UAC1BC,iBAAMA,IAAAA,2CAAiBC,EAAAA,CAAAA,UAA2BC,QAAWA,OAAQC;UAErEC,sBAAMA,OAAsBC,WAAMC,CAAAA,CAAAA;uBAE9BN,IAAeO;yBAEf;yBACGC;OACL;QAAAR;KACA;UAACA,6BAAAA,IAAAA,+BAAAA,EAAAA,qBAAAA,yBAAAA,OAAAA;WAAe,WAAA,GAAAK,OAAAI,aAAA,CAAAC,kBAAA,EAAA;QAGlB,GAAAX,wBAAMY;QAENC,SAAAD;;;;IAcD,MACD,EACEE,oBACEA,EAYFC,2BAAMC,eA2BKC,OA1BT,qBACWC,oBAAcC,uBAAyB,8BAAQC,gBAAUC,uBAAcP;gCAEjDQ,CAAAA;;eACxBC,WAAAA,GAAAA,OAAAA,aAGL,CAAAC,qBAAA,EAAA;2BAGMC;yBACuBC;;uBAA2DC;uBAC7EJ;mCAGEK;sBAENA,GAAAA,OAAAA,aAAAA,CAAAA,4BAAAA,EAAAA,MAAAA,WAAAA,GAAAA,OAAAA,aAAgBC,CAAAA,kBAAQ,EAAA;4BAGnBZ;oBACNa;oBACAC,WAAed,GAAAA,OAAAA,aAAAA,CAAAA,4BAAAA,EAAAA,6BAAAA,WAAAA,GAAAA,OAAAA,aAAqBc,CAAAA,4BAAa,EAAA,MAAA,WAAA,GAAAzB,OAAAI,aAAA,CAAAsB,2BAAA,EAAA;sBACjDC,WAAchB,GAAAA,OAAAA,aAAAA,CAAAA,qBAAAA;8BAEfiB,CAAAA,UAAAA,EAAAA,MAAAA,OAAAA,CAAAA;gBAMXC,eAAA;gBAEAR,UAAMS,CAAAA;eACJb;mBACEE,mBAAUF,QAAAA,mBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,eAAAA,OAAAA;8BACPK,QAAcA,mBAAA,KAAA,IAAA,KAAA,IAAAA,eAAAC,QAAA,GAAA,WAAA,GAAAvB,OAAAI,aAAA,CAAA2B,6BAAA,EAAA;kBACjBpB,wBAAQ,QAAAA,wBAAA,KAAA,IAAA,KAAA,IAAAA,oBAAAqB,IAAA;yBACVrB,wBAAA,QAAAA,wBAAA,KAAA,IAAA,KAAA,IAAAA,oBAAAa,WAAA;2BAkBWS,wBASFtB,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,aAAAA;0BAzBTA,wBACE,QAACO,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,YAAAA;qCAAQN,WAAAA,GAAAA,OAAAA,aAAAA,CAAAA,uCAAAA,EAAAA,wBAAAA,CAAAA,+BAAAA,wBAAAA,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,OAAAA,MAAAA,QAAAA,iCAAAA,KAAAA,IAAAA,+BAAAA,yBAAAA,QAAAA,yBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,qBAAAA,QAAAA;;iCAAuCI,CAAAA;qCAAQF;sBAAUC;6BAAcmB;;;0CAQpCC;0BAA4BN,GAAAA,OAAAA,aAAc,CAAAX,qBAAA,EAAA;2BAAIG;yBAC7EJ;kBAGLmB;uBACIH;uBAEHA;oCAGKtB;sBACNa,GAAAA,OAAab,aAAAA,CAAAA,4BAAAA,EAAAA,MAAAA,WAAAA,GAAAA,OAAAA,aAAAA,CAAAA,sBAAAA,EAAAA,wBAAgC,WAAA,GAAAX,OAAAI,aAAA,CAAAiC,4BAAA,EAAAC,8BAAA,WAAA,GAAAtC,OAAAI,aAAA,CAAAmC,4BAAA,EAAA,MAAA,WAAA,GAAAvC,OAAAI,aAAA,CAAAsB,2BAAA,EAAA;sBAC7CD,WAAed,GAAAA,OAAAA,aAAAA,CAAAA,qBAAAA;8BACfgB,CAAAA,UAAchB,EAAAA,MAAAA,OAAAA,CAAAA;+BAEfiB;gBAMXP,UAAA,CAAA;YAEA,GAAAJ;mBACEZ,mBAAUK,QAAAA,mBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,eAAAA,OAAAA;eACV8B,kBAAWV;QACb,GAAA,AAAAW,CAAAA,+BAAAR,uBAAA,QAAAA,uBAAA,KAAA,IAAA,KAAA,IAAAA,mBAAAV,QAAA,MAAA,QAAAkB,iCAAA,KAAA,IAAAA,+BAAAnB,mBAAA,QAAAA,mBAAA,KAAA,IAAA,KAAA,IAAAA,eAAAC,QAAA,GAAA,WAAA,GAAAvB,OAAAI,aAAA,CAAA2B,6BAAA,EAAA;YAEAC,MAAOU,wBAAAA,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,IAAAA;YACPlB,aAAAb,wBAAA,QAAAA,wBAAA,KAAA,IAAA,KAAA,IAAAA,oBAAAa,WAAA"}
@@ -3,5 +3,6 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./generateReferenceCitationPreview"), exports);
6
7
  _export_star._(require("./useReferenceCitationPreview"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './generateReferenceCitationPreview';\nexport * from './useReferenceCitationPreview';\n"],"names":[],"rangeMappings":";;;;;;","mappings":";;;;;uBAAc;uBACA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useReferenceCitationPreview", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useReferenceCitationPreview;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _generateReferenceCitationPreview = require("./generateReferenceCitationPreview");
14
+ const useReferenceCitationPreview = (props)=>{
15
+ return _react.useMemo(()=>(0, _generateReferenceCitationPreview.generateReferenceCitationPreview)(props), [
16
+ props
17
+ ]);
18
+ }; //# sourceMappingURL=useReferenceCitationPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceCitationPreview.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport * as React from 'react';\n\nimport {\n generateReferenceCitationPreview,\n type ReferenceCitationPreviewGenerator,\n type ReferenceCitationPreviewGeneratorProps,\n} from './generateReferenceCitationPreview';\n\nexport type UseReferenceCitationPreviewProps = ReferenceCitationPreviewGeneratorProps;\n\nexport type UseReferenceCitationPreview = ReferenceCitationPreviewGenerator;\n\n/**\n * Hook to generate a Citation - Reference pair with correctly wired props.\n * Both the Citation and the Reference act as trigger components to Previews that are also correctly wired by the hook.\n * Props can either be passed in to the hook or applied directly to the generated components in JSX.\n *\n * This hook internally calls the `generateReferenceCitationPreview` function and memoizes its return value based on the props.\n * You should only use this hook when the props used to generate the Citation - Reference pair can change dynamically.\n * If they are static, or in case you wanted to generate multiple pairs within a cycle, you should call\n * `generateReferenceCitationPreview` directly.\n *\n * @returns A Citation - Reference pair with correctly wired props.\n */\nexport const useReferenceCitationPreview: UseReferenceCitationPreview = props => {\n return React.useMemo(() => generateReferenceCitationPreview(props), [props]);\n};\n"],"names":["React","generateReferenceCitationPreview","props"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":";;;;+BA4BSA;;;eAAAA;;;;iEA5BT;kDASO;AAmBL,MAAOA,8BAAoBC,CAAAA;WAA0CC,OAAAA,OAAAA,CAAAA,IAAAA,IAAAA,kEAAAA,EAAAA,QAAAA;QAAAA;KAAAA;GACvE,uDAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-copilot/react-reference",
3
- "version": "0.11.4",
3
+ "version": "0.12.1",
4
4
  "description": "Fluent AI controls for citations and references",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -12,19 +12,20 @@
12
12
  },
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@fluentui-copilot/react-preview": "^0.4.4",
16
- "@fluentui-copilot/react-provider": "^0.8.3",
17
- "@fluentui-copilot/react-sensitivity-label": "^0.4.4",
15
+ "@fluentui-copilot/react-preview": "^0.5.1",
16
+ "@fluentui-copilot/react-provider": "^0.8.4",
17
+ "@fluentui-copilot/react-sensitivity-label": "^0.5.1",
18
+ "@fluentui-copilot/react-utilities": "^0.0.1",
18
19
  "@swc/helpers": "^0.5.1"
19
20
  },
20
21
  "peerDependencies": {
21
22
  "@fluentui/keyboard-keys": ">=9.0.7 <10.0.0",
22
- "@fluentui/react-components": ">=9.52.0 <10.0.0",
23
- "@fluentui/react-context-selector": ">=9.1.60 <10.0.0",
24
- "@fluentui/react-icons": ">=2.0.240 <3.0.0",
25
- "@fluentui/react-jsx-runtime": ">=9.0.38 <10.0.0",
23
+ "@fluentui/react-components": ">=9.54.4 <10.0.0",
24
+ "@fluentui/react-context-selector": ">=9.1.63 <10.0.0",
25
+ "@fluentui/react-icons": ">=2.0.247 <3.0.0",
26
+ "@fluentui/react-jsx-runtime": ">=9.0.40 <10.0.0",
26
27
  "@fluentui/react-shared-contexts": ">=9.19.0 <10.0.0",
27
- "@fluentui/react-utilities": ">=9.18.9 <10.0.0",
28
+ "@fluentui/react-utilities": ">=9.18.11 <10.0.0",
28
29
  "@types/react": ">=16.14.0 <19.0.0",
29
30
  "@types/react-dom": ">=16.9.8 <19.0.0",
30
31
  "react": ">=16.14.0 <19.0.0",
@@ -1,2 +0,0 @@
1
- export * from './useReferenceCitationPreview';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './useReferenceCitationPreview';\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,gCAAgC"}