@fluentui-copilot/react-reference 0.0.0-nightly-20240426-0405-4698d75c.1 → 0.0.0-nightly-20240501-0406-278a94d6.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.
- package/CHANGELOG.json +30 -9
- package/CHANGELOG.md +17 -7
- package/lib/Citation.js.map +1 -1
- package/lib/Reference.js.map +1 -1
- package/lib/ReferenceGroupToggle.js.map +1 -1
- package/lib/ReferenceList.js.map +1 -1
- package/lib/ReferenceListV2.js.map +1 -1
- package/lib/ReferenceOverflowButton.js.map +1 -1
- package/lib/ReferenceV2.js.map +1 -1
- package/lib/components/Citation/Citation.js.map +1 -1
- package/lib/components/Citation/Citation.types.js +3 -1
- package/lib/components/Citation/Citation.types.js.map +1 -1
- package/lib/components/Citation/index.js.map +1 -1
- package/lib/components/Citation/renderCitation.js.map +1 -1
- package/lib/components/Citation/useCitation.js.map +1 -1
- package/lib/components/Citation/useCitationStyles.js.map +1 -1
- package/lib/components/Reference/Reference.js.map +1 -1
- package/lib/components/Reference/Reference.types.js +3 -1
- package/lib/components/Reference/Reference.types.js.map +1 -1
- package/lib/components/Reference/index.js.map +1 -1
- package/lib/components/Reference/renderReference.js.map +1 -1
- package/lib/components/Reference/useReference.js.map +1 -1
- package/lib/components/Reference/useReferenceStyles.js.map +1 -1
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +1 -1
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js +3 -1
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js.map +1 -1
- package/lib/components/ReferenceGroupToggle/index.js.map +1 -1
- package/lib/components/ReferenceGroupToggle/renderReferenceGroupToggle.js.map +1 -1
- package/lib/components/ReferenceGroupToggle/useReferenceGroupToggle.js.map +1 -1
- package/lib/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.js.map +1 -1
- package/lib/components/ReferenceList/ReferenceList.js.map +1 -1
- package/lib/components/ReferenceList/ReferenceList.types.js +3 -1
- package/lib/components/ReferenceList/ReferenceList.types.js.map +1 -1
- package/lib/components/ReferenceList/index.js.map +1 -1
- package/lib/components/ReferenceList/renderReferenceList.js.map +1 -1
- package/lib/components/ReferenceList/useReferenceList.js.map +1 -1
- package/lib/components/ReferenceList/useReferenceListStyles.js.map +1 -1
- package/lib/components/reference-v2/Reference/Reference.js.map +1 -1
- package/lib/components/reference-v2/Reference/Reference.types.js.map +1 -1
- package/lib/components/reference-v2/Reference/index.js.map +1 -1
- package/lib/components/reference-v2/Reference/renderReference.js.map +1 -1
- package/lib/components/reference-v2/Reference/useReference.js.map +1 -1
- package/lib/components/reference-v2/Reference/useReferenceStyles.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/ReferenceList.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/ReferenceList.types.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/index.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/renderReferenceList.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/useReferenceList.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/useReferenceListContextValues.js.map +1 -1
- package/lib/components/reference-v2/ReferenceList/useReferenceListStyles.js.map +1 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.js.map +1 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.types.js +3 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.types.js.map +1 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/index.js.map +1 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/renderReferenceOverflowButton.js.map +1 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js.map +1 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButtonStyles.js.map +1 -1
- package/lib/components/reference-v2/index.js.map +1 -1
- package/lib/contexts/ReferenceGroupContext.js.map +1 -1
- package/lib/contexts/reference-v2/index.js.map +1 -1
- package/lib/contexts/reference-v2/referenceListContext.js.map +1 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/reference-v2/index.js.map +1 -1
- package/lib/hooks/reference-v2/useReferenceCitationPreview.js.map +1 -1
- package/lib/hooks/useReferenceCitationPreview.js.map +1 -1
- package/lib/hooks/useReferenceGroup.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/Citation.js.map +1 -1
- package/lib-commonjs/Reference.js.map +1 -1
- package/lib-commonjs/ReferenceGroupToggle.js.map +1 -1
- package/lib-commonjs/ReferenceList.js.map +1 -1
- package/lib-commonjs/ReferenceListV2.js.map +1 -1
- package/lib-commonjs/ReferenceOverflowButton.js.map +1 -1
- package/lib-commonjs/ReferenceV2.js.map +1 -1
- package/lib-commonjs/components/Citation/Citation.js.map +1 -1
- package/lib-commonjs/components/Citation/Citation.types.js +3 -1
- package/lib-commonjs/components/Citation/Citation.types.js.map +1 -1
- package/lib-commonjs/components/Citation/index.js.map +1 -1
- package/lib-commonjs/components/Citation/renderCitation.js.map +1 -1
- package/lib-commonjs/components/Citation/useCitation.js.map +1 -1
- package/lib-commonjs/components/Citation/useCitationStyles.js.map +1 -1
- package/lib-commonjs/components/Reference/Reference.js.map +1 -1
- package/lib-commonjs/components/Reference/Reference.types.js +3 -1
- package/lib-commonjs/components/Reference/Reference.types.js.map +1 -1
- package/lib-commonjs/components/Reference/index.js.map +1 -1
- package/lib-commonjs/components/Reference/renderReference.js.map +1 -1
- package/lib-commonjs/components/Reference/useReference.js.map +1 -1
- package/lib-commonjs/components/Reference/useReferenceStyles.js.map +1 -1
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +1 -1
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js +3 -1
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js.map +1 -1
- package/lib-commonjs/components/ReferenceGroupToggle/index.js.map +1 -1
- package/lib-commonjs/components/ReferenceGroupToggle/renderReferenceGroupToggle.js.map +1 -1
- package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggle.js.map +1 -1
- package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/ReferenceList.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/ReferenceList.types.js +3 -1
- package/lib-commonjs/components/ReferenceList/ReferenceList.types.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/index.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/renderReferenceList.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/useReferenceList.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/useReferenceListStyles.js.map +1 -1
- package/lib-commonjs/components/reference-v2/Reference/Reference.js.map +1 -1
- package/lib-commonjs/components/reference-v2/Reference/Reference.types.js.map +1 -1
- package/lib-commonjs/components/reference-v2/Reference/index.js.map +1 -1
- package/lib-commonjs/components/reference-v2/Reference/renderReference.js.map +1 -1
- package/lib-commonjs/components/reference-v2/Reference/useReference.js.map +1 -1
- package/lib-commonjs/components/reference-v2/Reference/useReferenceStyles.js +3 -3
- package/lib-commonjs/components/reference-v2/Reference/useReferenceStyles.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/ReferenceList.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/ReferenceList.types.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/index.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/renderReferenceList.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceList.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListContextValues.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListStyles.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.types.js +3 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.types.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/index.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/renderReferenceOverflowButton.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js.map +1 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButtonStyles.js.map +1 -1
- package/lib-commonjs/components/reference-v2/index.js.map +1 -1
- package/lib-commonjs/contexts/ReferenceGroupContext.js.map +1 -1
- package/lib-commonjs/contexts/reference-v2/index.js.map +1 -1
- package/lib-commonjs/contexts/reference-v2/referenceListContext.js.map +1 -1
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/reference-v2/index.js.map +1 -1
- package/lib-commonjs/hooks/reference-v2/useReferenceCitationPreview.js.map +1 -1
- package/lib-commonjs/hooks/useReferenceCitationPreview.js.map +1 -1
- package/lib-commonjs/hooks/useReferenceGroup.js.map +1 -1
- package/lib-commonjs/index.js +73 -73
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReference.
|
|
1
|
+
{"version":3,"sources":["useReference.ts"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, mergeClasses, slot, useId } from '@fluentui/react-components';\nimport { useReferenceListContext_unstable } from '../../../contexts/reference-v2/referenceListContext';\nimport { referenceExtraClassNames } from './useReferenceStyles';\nimport type { ReferenceProps, ReferenceState } from './Reference.types';\n\n/**\n * Create the state required to render Reference.\n *\n * The returned state can be modified with hooks such as useReferenceStyles_unstable,\n * before being passed to renderReference_unstable.\n *\n * @param props - props from this instance of Reference\n * @param ref - reference to root HTMLElement of Reference\n */\nexport const useReference_unstable = (props: ReferenceProps, ref: React.Ref<HTMLButtonElement>): ReferenceState => {\n const { children, id } = props;\n\n const { ctxAppearance, shouldUseOverflow } = useReferenceListContext_unstable(ctx => ({\n ctxAppearance: ctx.appearance,\n shouldUseOverflow: ctx.shouldUseOverflow,\n }));\n const appearance = props.appearance || ctxAppearance;\n\n const referenceId = useId('reference-', id);\n\n const citation = slot.optional(props.citation, { elementType: 'span' });\n const media = slot.optional(props.media, { elementType: 'span' });\n const content = slot.optional(props.content, {\n elementType: 'span',\n renderByDefault: media !== undefined || !!children,\n });\n const divider = slot.optional(props.divider, {\n elementType: 'span',\n renderByDefault: citation !== undefined && content !== undefined,\n });\n\n const state: ReferenceState = {\n appearance,\n id: referenceId,\n shouldUseOverflow,\n\n components: {\n root: 'button',\n citation: 'span',\n divider: 'span',\n media: 'span',\n content: 'span',\n },\n\n root: slot.always(\n getIntrinsicElementProps('button', {\n ref,\n ...props,\n id: referenceId,\n }),\n { elementType: 'button' },\n ),\n citation,\n divider,\n content,\n media,\n };\n\n if (state.media && React.isValidElement<HTMLElement>(state.media.children)) {\n state.media.children = React.cloneElement(state.media.children, {\n className: mergeClasses(state.media.children.props.className, referenceExtraClassNames.mediaChild),\n });\n }\n\n return state;\n};\n"],"names":["children","props","ctxAppearance","referenceId","shouldUseOverflow","slot","ctx","appearance","optional","content","elementType","citation","renderByDefault","media","divider","state","components","undefined","ref","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAgBUA;;;eAAAA;;;;iEAhBa;iCAC6C;sCACnB;oCACR;AAavC,MAAQA,wBAAiBC,CAAAA,OAAAA;UAEzB,UACEC;UAGF,EAEAA,aAAMC,EAENC,iBAAiBC,+DAA6C,EAAAC,CAAAA,MAAA,CAAA;YAAOJ,eAAAI,IAAAC,UAAA;YACrEH,mBAAmBI,IAAAA,iBAAoB;;UAAwBD,aAAAN,MAAAM,UAAA,IAAAL;UAC/DC,cAAgBE,IAAAA,sBAAKG,EAAAA,cAAeC;UAClCC,WAAAA,qBAAa,CAAAF,QAAA,CAAAP,MAAAU,QAAA,EAAA;qBACbC;;UAEFC,QAAMC,qBAAUT,CAAAA,QAAKG,CAAAA,MAASP,KAAMa,EAAAA;qBAClCJ;;UAEFD,UAAAJ,qBAAA,CAAAG,QAAA,CAAAP,MAAAQ,OAAA,EAAA;QAEAC,aAAMK;yBACJR,UAAAA,aAAAA,CAAAA,CAAAA;;UAEAH,UAAAA,qBAAAA,CAAAA,QAAAA,CAAAA,MAAAA,OAAAA,EAAAA;qBAEAY;yBACQL,aAAAM,aAAAR,YAAAQ;;kBAENH;;;;oBAKIT;kBAEFa;sBACGjB;qBACHkB;mBAEF;qBAAET;;cAEJC,qBAAAA,CAAAA,MAAAA,CAAAA,IAAAA,yCAAAA,EAAAA,UAAAA;;eAEAF,KAAAA;gBACAI;QACF,IAAA;YAEAH,aAAe;;;;QAIfD;QAEAI;IACA"}
|
|
@@ -15,11 +15,11 @@ _export(exports, {
|
|
|
15
15
|
referenceExtraClassNames: function() {
|
|
16
16
|
return referenceExtraClassNames;
|
|
17
17
|
},
|
|
18
|
-
useRootStyles: function() {
|
|
19
|
-
return useRootStyles;
|
|
20
|
-
},
|
|
21
18
|
useReferenceStyles_unstable: function() {
|
|
22
19
|
return useReferenceStyles_unstable;
|
|
20
|
+
},
|
|
21
|
+
useRootStyles: function() {
|
|
22
|
+
return useRootStyles;
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
const _reactcomponents = require("@fluentui/react-components");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceStyles.
|
|
1
|
+
{"version":3,"sources":["useReferenceStyles.ts"],"sourcesContent":["import {\n makeResetStyles,\n makeStyles,\n mergeClasses,\n shorthands,\n tokens,\n typographyStyles,\n} from '@fluentui/react-components';\nimport type { ReferenceSlots, ReferenceState } from './Reference.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const referenceClassNames: SlotClassNames<ReferenceSlots> = {\n root: 'fai-Reference',\n citation: 'fai-Reference__citation',\n divider: 'fai-Reference__divider',\n media: 'fai-Reference__media',\n content: 'fai-Reference__content',\n};\n\nexport const referenceExtraClassNames = {\n mediaChild: 'fai-Reference__mediaChild',\n};\n\nconst MEDIA_SIZE = '16px';\n\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n backgroundColor: tokens.colorNeutralBackground3,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`,\n borderRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground2,\n columnGap: tokens.spacingHorizontalXXS,\n display: 'flex',\n flexShrink: 0,\n justifyContent: 'center',\n padding: `${tokens.spacingVerticalXXS} ${tokens.spacingHorizontalS}`,\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground3Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground2Hover,\n\n [`& .${referenceClassNames.divider}`]: {\n backgroundColor: tokens.colorNeutralStroke1Hover,\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground3Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground2Pressed,\n\n [`& .${referenceClassNames.divider}`]: {\n backgroundColor: tokens.colorNeutralStroke1Pressed,\n },\n },\n});\n\nexport const useRootStyles = makeStyles({\n darker: {\n backgroundColor: tokens.colorNeutralBackground5,\n ...shorthands.borderColor(tokens.colorNeutralStroke1),\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground5Hover,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground5Pressed,\n },\n },\n overflow: {\n width: '100%',\n },\n});\n\nconst useCitationBaseClassName = makeResetStyles({\n ...typographyStyles.caption2Strong,\n});\n\nconst useDividerBaseClassName = makeResetStyles({\n backgroundColor: tokens.colorNeutralStroke2,\n height: '16px',\n margin: `${tokens.spacingVerticalNone} ${tokens.spacingHorizontalXS}`,\n width: '1px',\n});\n\nconst useDividerStyles = makeStyles({\n darker: {\n backgroundColor: tokens.colorNeutralStroke1,\n },\n});\n\nconst useMediaBaseClassName = makeResetStyles({\n fontSize: MEDIA_SIZE,\n height: MEDIA_SIZE,\n lineHeight: MEDIA_SIZE,\n width: MEDIA_SIZE,\n\n [`> .${referenceExtraClassNames.mediaChild}`]: {\n height: MEDIA_SIZE,\n width: MEDIA_SIZE,\n },\n});\n\nconst useContentBaseClassName = makeResetStyles({\n columnGap: tokens.spacingHorizontalSNudge,\n display: 'inline-flex',\n ...typographyStyles.caption1,\n});\n\n/**\n * Apply styling to the Reference slots based on the state\n */\nexport const useReferenceStyles_unstable = (state: ReferenceState): ReferenceState => {\n const { appearance } = state;\n\n const rootBaseClassName = useRootBaseClassName();\n const citationBaseClassName = useCitationBaseClassName();\n const dividerBaseClassName = useDividerBaseClassName();\n const contentBaseClassName = useContentBaseClassName();\n const mediaBaseClassName = useMediaBaseClassName();\n\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n\n state.root.className = mergeClasses(\n referenceClassNames.root,\n rootBaseClassName,\n appearance === 'darker' && rootStyles.darker,\n state.root.className,\n );\n\n if (state.citation) {\n state.citation.className = mergeClasses(\n referenceClassNames.citation,\n citationBaseClassName,\n state.citation.className,\n );\n }\n\n if (state.divider) {\n state.divider.className = mergeClasses(\n referenceClassNames.divider,\n dividerBaseClassName,\n appearance === 'darker' && dividerStyles.darker,\n state.divider.className,\n );\n }\n\n if (state.content) {\n state.content.className = mergeClasses(referenceClassNames.content, contentBaseClassName, state.content.className);\n }\n\n if (state.media) {\n state.media.className = mergeClasses(referenceClassNames.media, mediaBaseClassName, state.media.className);\n }\n\n return state;\n};\n"],"names":["referenceClassNames","referenceExtraClassNames","shorthands","tokens","alignItems","root","citation","divider","media","content","mediaChild","MEDIA_SIZE","useRootBaseClassName","makeResetStyles","__styles","backgroundColor","border","borderRadius","boxSizing","color","columnGap","spacingHorizontalXXS","display","flexShrink","padding","a9b677","__resetStyles","useDividerBaseClassName","useDividerStyles","borderColor","useMediaBaseClassName","useContentBaseClassName","colorNeutralStroke1","rootBaseClassName","dividerBaseClassName","contentBaseClassName","overflow","width","useRootStyles","dividerStyles","state","className","mergeClasses","appearance","rootStyles","darker","useCitationBaseClassName","typographyStyles","caption2Strong","citationBaseClassName","colorNeutralStroke2","margin","mediaBaseClassName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAWaA,mBAAAA;eAAAA;;IAQAC,wBAAAA;eAAAA;;IA2CNC,2BAAuBC;eAAvBD;;IApCLE,aAAY;eAAZA;;;iCApBgB;AAKX,MAAMJ,sBAAsD;UACjEK;cACAC;aACAC;WACAC;aACAC;AACF;AAEO,MAAMR,2BAA2B;gBACtCS;AACF;AAEA,MAAMC,aAAa;AAEnB,MAAMC,uBAAuBC,IAAAA,8BAAAA,EAAAA,YAAgB,MAAA;IAAA;IAAA;IAAA;IAAA;IAAA;CAAA;AAC3CT,MAAAA,gBAAYU,IAAAA,yBAAA,EAAA;YACZC;QACAC,QAAQ;QACRC,QAAAA;QACAC,QAAAA;YAAAA;YAAW;SAAA;QACXC,SAAOhB;QACPiB,QAAAA;YAAAA;YAAkBC;SAAAA;QAClBC,QAAAA;QACAC,QAAAA;;cAEAC;QAEAC,QAAA;;;;;QAG4C;QAAA;QAAA;QAAA;QAAA;KAAA;;;QAEH;KAAA;;iCAEvCC,IAAAA,8BAAA,EAAA,WAAA,MAAA;IAAA;CAAA;MACFC,0BAAAD,IAAAA,8BAAA,EAAA,YAAA,MAAA;IAAA;CAAA;MAEAE,mBAAiBd,IAAAA,yBAAA,EAAA;YACfC;gBACAc;;;;;KAIoD;;MAEtDC,wBAAAJ,IAAAA,8BAAA,EAAA,WAAA,MAAA;IAAA;IAAA;CAAA;AACF,MAAAK,0BAAAL,IAAAA,8BAAA,EAAA,YAAA,MAAA;IAAA;CAAA;MAKOxB,8BAA8B8B,CAAAA;UAEjC,YACEjB;UAGFkB,oBAAiBrB;kCACET;UACnB+B,uBAAAP;UACFQ,uBAAAJ;UACAK,qBAAUN;UACRO,aAAOC;UACTC,gBAAAX;IACFY,MAAGnC,IAAA,CAAAoC,SAAA,GAAAC,IAAAA,6BAAA,EAAA1C,oBAAAK,IAAA,EAAA4B,mBAAAU,eAAA,YAAAC,WAAAC,MAAA,EAAAL,MAAAnC,IAAA,CAAAoC,SAAA;IAEH,IAAMK,MAAAA,QAAAA,EAAAA;QACJN,MAAGO,QAAAA,CAAAA,SAAiBC,GAAAA,IAAAA,6BAAc,EAAAhD,oBAAAM,QAAA,EAAA2C,uBAAAT,MAAAlC,QAAA,CAAAmC,SAAA;IACpC;IAEA,IAAMd,MAAAA,OAAAA,EAAAA;QACJZ,MAAAA,OAAAA,CAAAA,SAAiBZ,GAAO+C,IAAAA,6BAAAA,EAAAA,oBAAmB3C,OAAA,EAAA2B,sBAAAS,eAAA,YAAAJ,cAAAM,MAAA,EAAAL,MAAAjC,OAAA,CAAAkC,SAAA;;QAE3CU,MAAQ1C,OAAGN,EAAAA;QACXkC,MAAAA,OAAO,CAAAI,SAAA,GAAAC,IAAAA,6BAAA,EAAA1C,oBAAAS,OAAA,EAAA0B,sBAAAK,MAAA/B,OAAA,CAAAgC,SAAA;IACT;IAEA,IAAMb,MAAAA,KAAAA,EAAAA;QACJiB,MAAAA,KAAQ,CAAAJ,SAAA,GAAAC,IAAAA,6BAAA,EAAA1C,oBAAAQ,KAAA,EAAA4C,oBAAAZ,MAAAhC,KAAA,CAAAiC,SAAA;;WAERD;AACF,GAEA,8CAA8C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReferenceList.
|
|
1
|
+
{"version":3,"sources":["ReferenceList.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\nimport { renderReferenceList_unstable } from './renderReferenceList';\nimport { useReferenceList_unstable } from './useReferenceList';\nimport { useReferenceListStyles_unstable } from './useReferenceListStyles';\nimport { useReferenceListContextValues_unstable } from './useReferenceListContextValues';\nimport type { ReferenceListProps } from './ReferenceList.types';\n\nexport const ReferenceList: ForwardRefComponent<ReferenceListProps> = React.forwardRef((props, ref) => {\n const state = useReferenceList_unstable(props, ref);\n const referenceListContextValues = useReferenceListContextValues_unstable(state);\n\n useReferenceListStyles_unstable(state);\n\n return renderReferenceList_unstable(state, referenceListContextValues);\n});\n\nReferenceList.displayName = 'ReferenceList';\n"],"names":["ReferenceList","React","forwardRef","props","state","useReferenceList_unstable","referenceListContextValues","useReferenceListContextValues_unstable","useReferenceListStyles_unstable","renderReferenceList_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;qCAEsB;kCACH;wCACM;+CACO;AAGhD,MAAMA,gBAAAA,WAAAA,GAAAA,OAAyDC,UAAMC,CAAU,CAACC,OAACA;UACtFC,QAAMA,IAAAA,2CAAQC,EAAAA,OAA0BF;UACxCG,6BAAMA,IAAAA,qEAA6BC,EAAAA;+DAEnCC,EAAAA;WAEAC,IAAAA,iDAAOA,EAAAA,OAA6BL;AACtC;AAEAJ,cAAcU,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReferenceList.types.
|
|
1
|
+
{"version":3,"sources":["ReferenceList.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-components';\nimport type { ReferenceListContextValue } from '../../../contexts/reference-v2/referenceListContext';\n\nexport type ReferenceListSlots = {\n root: NonNullable<Slot<'div'>>;\n showMoreButton?: Slot<'span'>;\n showLessButton?: Slot<'span'>;\n};\n\nexport type ReferenceListProps = ComponentProps<ReferenceListSlots> & {\n /**\n * The appearance of the reference.\n * @default 'lighter'\n */\n appearance?: 'lighter' | 'darker';\n\n /**\n * The maximum number of references to display before the overflow button is shown even if there is\n * enough space available to show more.\n * If not set, the overflow functionality will be disabled.\n * @default undefined\n */\n maxVisibleReferences?: number;\n};\n\nexport type ReferenceListState = ComponentState<ReferenceListSlots> &\n Required<Pick<ReferenceListProps, 'appearance'>> & {\n areReferencesExpanded: boolean;\n overflowButtonTriggeredViaKeyboard: React.MutableRefObject<boolean>;\n previousOverflowCount: React.MutableRefObject<number>;\n shouldUseOverflow: boolean;\n };\n\nexport type ReferenceListContextValues = {\n referenceList: ReferenceListContextValue;\n};\n"],"names":[],"rangeMappings":"","mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './ReferenceList';\nexport * from './ReferenceList.types';\nexport * from './renderReferenceList';\nexport * from './useReferenceList';\nexport * from './useReferenceListStyles';\n"],"names":[],"rangeMappings":";;;;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderReferenceList.
|
|
1
|
+
{"version":3,"sources":["renderReferenceList.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { Overflow, assertSlots } from '@fluentui/react-components';\nimport type { ReferenceListState, ReferenceListSlots, ReferenceListContextValues } from './ReferenceList.types';\nimport { ReferenceListContextProvider } from '../../../contexts/reference-v2/referenceListContext';\n\n/**\n * Render the final JSX of ReferenceList\n */\nexport const renderReferenceList_unstable = (state: ReferenceListState, contextValues: ReferenceListContextValues) => {\n assertSlots<ReferenceListSlots>(state);\n\n return (\n <ReferenceListContextProvider value={contextValues.referenceList}>\n <Overflow>\n <state.root>\n {state.root.children}\n {state.showMoreButton && <state.showMoreButton />}\n {state.showLessButton && <state.showLessButton />}\n </state.root>\n </Overflow>\n </ReferenceListContextProvider>\n );\n};\n"],"names":["assertSlots","state","value","contextValues","referenceList","Overflow","_jsx","root","children","showMoreButton","showLessButton"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWEA;;;eAAAA;;;4BAVF;iCAEsC;sCAEO;AAM3CA,MAAAA,+BAAgCC,CAAAA,OAAAA;oCAEhC,EAAAA;WACgCC,WAAOC,GAAAA,IAAAA,eAAAA,EAAAA,kDAA2B,EAAA;6BAC9DC,aAACC;6BACC,GAAAC,IAAAA,eAAA,EAAAD,yBAAA,EAACJ;;;0BACEA,IAAMM,CAAIC,QAACA;oBAAQP,MAAAQ,cAAA,IAAA,WAAA,GAAAH,IAAAA,eAAA,EAAAL,MAAAQ,cAAA,EAAA,CAAA;oBAAAR,MAAAS,cAAA,IAAA,WAAA,GAAAJ,IAAAA,eAAA,EAAAL,MAAAS,cAAA,EAAA,CAAA;iBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceList.
|
|
1
|
+
{"version":3,"sources":["useReferenceList.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n getIntrinsicElementProps,\n mergeCallbacks,\n mergeClasses,\n slot,\n useArrowNavigationGroup,\n} from '@fluentui/react-components';\nimport type { ReferenceListProps, ReferenceListState } from './ReferenceList.types';\nimport { useRootStyles as useReferenceStyles } from '../Reference/useReferenceStyles';\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 { appearance = 'lighter', children, maxVisibleReferences, showLessButton, showMoreButton, ...rest } = props;\n\n const [areReferencesExpanded, setAreReferencesExpanded] = React.useState(false);\n\n const referenceInOverflowClassName = useReferenceStyles().overflow;\n const resolvedChildren = React.useMemo(() => {\n if (maxVisibleReferences !== undefined && !areReferencesExpanded) {\n const results = [];\n const childrenArray = React.Children.toArray(children);\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\n return children;\n }, [areReferencesExpanded, children, maxVisibleReferences, referenceInOverflowClassName]);\n\n // We keep track of the previous overflow count to determine element to move focus to when expanding the references via keyboard.\n const previousOverflowCount = React.useRef(0);\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 appearance,\n areReferencesExpanded,\n overflowButtonTriggeredViaKeyboard,\n previousOverflowCount,\n shouldUseOverflow,\n\n components: {\n root: 'div',\n showMoreButton: 'span',\n showLessButton: 'span',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\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":["appearance","children","maxVisibleReferences","referenceInOverflowClassName","resolvedChildren","results","childrenArray","setAreReferencesExpanded","React","useState","isValidElement","cloneElement","props","areReferencesExpanded","className","Children","toArray","index","length","child","push","previousOverflowCount","useArrowNavigationGroup","circular","useRef","memorizeCurrent","axis","onShowMoreButtonClick","onShowLessButtonClick","useCallback","overflowButtonTriggeredViaKeyboard","showLessButton","always","ref","rest","getIntrinsicElementProps","focusAttributes","elementType","showMoreButton","optional","undefined","slot","state","onClick","mergeCallbacks"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAwBUA;;;eAAAA;;;;iEAxBa;iCAOhB;oCAE6C;AAelD,MAAQA,4BAAwBC,CAAAA,OAAUC;UAE1C,EAEAF,aAAMG,SAAAA,EACNF,QAAMG,sBACAF,gBACIG,gBACAC;kCAGJC,yBAAA,GAAAC,OAAAC,QAAA,CAAA;yCACaP,IAAAA,iCAAwBM,IAAME,QAAAA;6BACzCL,OACEG,OAAMG,CAAAA;qCACKC,aAAK,CAAAC,uBAAA;8BACdC;kCACFN,OAAAO,QAAA,CAAAC,OAAA,CAAAf;4BAEG,GAAAgB,QAAAX,cAAAY,MAAA,EAAAD,QAAA;8BACLZ,aAAac,CAAAA,MAAAA;8EACf;oBACFF,SAAAf,sCAAAM,OAAAE,cAAA,CAAAS,QAAA;4BACAC,IAAOf,eAAAA,OAAAA,YAAAA,CAAAA,OAAAA;wBACT,GAAAc,MAAAP,KAAA;wBAEAE,WAAOb,IAAAA,6BAAAA,EAAAA,MAAAA,KAAAA,CAAAA,SAAAA,EAAAA;oBACN;gBAACY,OAAAA;oBAAuBZ,QAAAA,IAAAA,CAAAA;gBAAUC;;YAAmD,OAAAG;QAExF;QACA,OAAMgB;OAEN;QAAAR;QAAAZ;QAAAC;QAAAC;KAAA;qIACwD;UAExDkB,wBAAwBC,OAAAA,MAAAA,CAAAA;gGAChB;UACNC,qCAAUf,OAAAgB,MAAA,CAAA;UACVC,kBAAiBH,IAAAA,wCAAA,EAAA;QACnBI,MAAA;QAEAH,UAAMI;yBACJpB;;UAGFoB,wBAAMC,OAAwBpB,WAAMqB,CAAAA;iCAClCtB;OACF,EAAG;UAEHqB,wBAA0B1B,OAAAA,WAAAA,CAAAA;QAE1BK,yBAAkC;;UAEhCM,oBAAAA,yBAAAA,aAAAA,CAAAA;UACAiB,QAAAA;;;;;;oBAOEC;kBACF;4BACWC;4BAEPC;;mCAEA,CAAGC,MAAI,CAAAC,IAAAA,yCAAA,EAAA,OAAA;;eAETC,eACA;mBAAEC;sBAAmBjC;YAEvBkC;yBAAoED;;wBACpEN,oBAAgBlB,qBAAAA,CAAAA,QAA6B0B,CAAAA,gBAASR;yBAAkBM;aAAoBG;QAC9FT,gBAAAlB,wBAAA4B,qBAAA,CAAAF,QAAA,CAAAR,gBAAA;YAEAM,aAAUC;aACRI;;QAGFA,MAAIA,cAAMX,EAAc;cACtBW,cAAMX,CAAAA,OAAeY,GAAAA,IAAAA,+BAAUC,EAAAA,uBAAehB,MAAuBc,cAAMX,CAAAA,OAAeY;;QAG5FD,MAAOA,cAAAA,EAAAA;QACPA,MAAAX,cAAA,CAAAY,OAAA,GAAAC,IAAAA,+BAAA,EAAAhB,uBAAAc,MAAAX,cAAA,CAAAY,OAAA"}
|
package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListContextValues.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceListContextValues.
|
|
1
|
+
{"version":3,"sources":["useReferenceListContextValues.ts"],"sourcesContent":["import type { ReferenceListState, ReferenceListContextValues } from './ReferenceList.types';\n\nexport function useReferenceListContextValues_unstable(state: ReferenceListState): ReferenceListContextValues {\n const {\n appearance,\n areReferencesExpanded,\n overflowButtonTriggeredViaKeyboard,\n previousOverflowCount,\n shouldUseOverflow,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", there is no sense to memoize it\n const referenceList = {\n appearance,\n areReferencesExpanded,\n overflowButtonTriggeredViaKeyboard,\n previousOverflowCount,\n shouldUseOverflow,\n };\n\n return { referenceList };\n}\n"],"names":["useReferenceListContextValues_unstable","state","appearance","areReferencesExpanded","referenceList","overflowButtonTriggeredViaKeyboard","shouldUseOverflow","previousOverflowCount"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":";;;;+BAEgBA;;;eAAAA;;;AAAT,SAASA,uCAAuCC,KAAyB;UAC9E,EAQAC,UAAA,EACAC,qBAAMC,oCACJF,uBACAC,mBACAE;uGAEAC;UACFF,gBAAA;QAEAF;;QAAuBG;QACzBE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceListStyles.
|
|
1
|
+
{"version":3,"sources":["useReferenceListStyles.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 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;;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;YAGAC,qBAAaZ,EACXa,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"}
|
package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/ReferenceOverflowButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReferenceOverflowButton.
|
|
1
|
+
{"version":3,"sources":["ReferenceOverflowButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useReferenceOverflowButton_unstable } from './useReferenceOverflowButton';\nimport { renderReferenceOverflowButton_unstable } from './renderReferenceOverflowButton';\nimport { useReferenceOverflowButtonStyles_unstable } from './useReferenceOverflowButtonStyles';\nimport type { ReferenceOverflowButtonProps } from './ReferenceOverflowButton.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\n// ReferenceOverflowButton component - TODO: add more docs\nexport const ReferenceOverflowButton: ForwardRefComponent<ReferenceOverflowButtonProps> = React.forwardRef(\n (props, ref) => {\n const state = useReferenceOverflowButton_unstable(props, ref);\n\n useReferenceOverflowButtonStyles_unstable(state);\n return renderReferenceOverflowButton_unstable(state);\n },\n);\n\nReferenceOverflowButton.displayName = 'ReferenceOverflowButton';\n"],"names":["ReferenceOverflowButton","React","forwardRef","props","state","useReferenceOverflowButton_unstable","useReferenceOverflowButtonStyles_unstable","renderReferenceOverflowButton_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;4CAC6B;+CACG;kDACG;AAKnD,MAAMA,0BAAAA,WAAAA,GAAAA,OAA6EC,UAAMC,CAAU,CACxGC,OAACA;UACCC,QAAMA,IAAAA,+DAAQC,EAAAA,OAAoCF;mFAElDG,EAAAA;WACAC,IAAAA,qEAAOA,EAAAA;AACT;AAGFP,wBAAwBQ,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReferenceOverflowButton.types.
|
|
1
|
+
{"version":3,"sources":["ReferenceOverflowButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-components';\n\nexport type ReferenceOverflowButtonSlots = {\n root: Slot<'button'>;\n};\n\n/**\n * ReferenceOverflowButton Props\n */\nexport type ReferenceOverflowButtonProps = ComponentProps<ReferenceOverflowButtonSlots> & {\n /**\n * The appearance of the reference.\n * @default 'lighter'\n */\n appearance?: 'lighter' | 'darker';\n\n text?: string | ((overflowCount: number) => React.ReactNode);\n};\n\n/**\n * State used in rendering ReferenceOverflowButton\n */\nexport type ReferenceOverflowButtonState = ComponentState<ReferenceOverflowButtonSlots> &\n Required<Pick<ReferenceOverflowButtonProps, 'appearance'>> & {\n shouldRenderOverflowButton: boolean;\n };\n"],"names":[],"rangeMappings":";;","mappings":"AAmBA;;CAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './ReferenceOverflowButton';\nexport * from './ReferenceOverflowButton.types';\nexport * from './renderReferenceOverflowButton';\nexport * from './useReferenceOverflowButton';\nexport * from './useReferenceOverflowButtonStyles';\n"],"names":[],"rangeMappings":";;;;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderReferenceOverflowButton.
|
|
1
|
+
{"version":3,"sources":["renderReferenceOverflowButton.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { ReferenceOverflowButtonState, ReferenceOverflowButtonSlots } from './ReferenceOverflowButton.types';\n\n/**\n * Render the final JSX of ReferenceOverflowButton\n */\nexport const renderReferenceOverflowButton_unstable = (state: ReferenceOverflowButtonState) => {\n assertSlots<ReferenceOverflowButtonSlots>(state);\n\n return state.shouldRenderOverflowButton ? <state.root /> : null;\n};\n"],"names":["assertSlots","state","shouldRenderOverflowButton","_jsx","root"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAUEA;;;eAAAA;;;4BAVwB;iCAGE;AAO1BA,MAAAA,yCAA0CC,CAAAA;oCAEnCA,EAAAA;IACP,OAAAA,MAAAC,0BAAA,GAAA,WAAA,GAAAC,IAAAA,eAAA,EAAAF,MAAAG,IAAA,EAAA,CAAA,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceOverflowButton.
|
|
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 const { children, text } = props;\n\n const rootRef = React.useRef<HTMLButtonElement>(null);\n\n const [setTimeout] = useTimeout();\n\n const { areReferencesExpanded, ctxAppearance, previousOverflowCount, triggeredViaKeyboard } =\n useReferenceListContext_unstable(ctx => ({\n ctxAppearance: ctx.appearance,\n areReferencesExpanded: ctx.areReferencesExpanded,\n previousOverflowCount: ctx.previousOverflowCount,\n triggeredViaKeyboard: ctx.overflowButtonTriggeredViaKeyboard,\n }));\n const appearance = props.appearance || ctxAppearance;\n\n const { isOverflowing, overflowCount } = useOverflowMenu();\n\n const processedText = children ?? (typeof text === 'function' ? text(overflowCount) : text);\n\n const { findPrevFocusable } = 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 // When the references are expanded or contracted via keyboard, we need to move focus to the appropriate element.\n React.useEffect(\n () => {\n if (triggeredViaKeyboard.current) {\n let elementToFocus: HTMLElement | null | undefined;\n\n // If the references are contracted, we move focus to the overflow button.\n if (!areReferencesExpanded) {\n elementToFocus = rootRef.current;\n }\n // If the references are expanded, we move focus to the first reference that was hidden when they were contracted.\n // We do this by moving focus to the element that is overflowCount elements before the overflow button.\n else if (rootRef.current && previousOverflowCount) {\n let currentElement: HTMLElement | null | undefined = rootRef.current;\n for (let i = 0; i < previousOverflowCount.current && currentElement; i++) {\n currentElement = findPrevFocusable(currentElement);\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 // We update the previousOverflowCount to the current one when references are contracted, so that we have the correct number once they are expanded.\n previousOverflowCount.current = areReferencesExpanded ? 0 : overflowCount;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [areReferencesExpanded, isOverflowing, triggeredViaKeyboard],\n );\n\n const state: ReferenceOverflowButtonState = {\n appearance,\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":["children","props","setTimeout","text","areReferencesExpanded","previousOverflowCount","ctxAppearance","appearance","triggeredViaKeyboard","processedText","useReferenceListContext_unstable","useFocusFinders","onKeyDown","React","useCallback","Enter","ctx","overflowButtonTriggeredViaKeyboard","isOverflowing","useEffect","elementToFocus","rootRef","current","ev","currentElement","i","overflowCount","findPrevFocusable","focus","shouldRenderOverflowButton","ref","state","elementType","root","slot","always","getIntrinsicElementProps","mergeCallbacks"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA2BUA;;;eAAAA;;;;iEA3Ba;8BACM;iCAQtB;gCACoB;sCACsB;AAgB/C,MAAQA,sCAAmBC,CAAAA,OAAAA;UAE3B,EAEAD,QAAOE,EAEPC,IAAA;oBAGIC,OAAAA,MAAAA,CAAAA;sBACAC,GAAAA,IAAAA,0BAAAA;iCAEF,EACFC,aAAMC,EAENF,qBAAqB,EAErBG,oBAAMC,KAENC,IAAAA,sDAA8BC,EAAAA,CAAAA,MAAAA,CAAAA;YAC9BL,eAAMM,IAAYC,UAAMC;mCAELC,IAAAA,qBAA2B;mCACxCP,IAAAA,qBAA+B;kCACjCQ,IAAAC,kCAAA;;UAEDT,aAAAA,MAAAA,UAAAA,IAAAA;UAAqB,EAGxBU,aAAA,EACAL,aAAMM,yCAEEX;0BACEY,aAAAA,QAAAA,aAAAA,KAAAA,IAAAA,WAAAA,OAAAA,SAAAA,aAAAA,KAAAA,iBAAAA;6BAGChB,yCACHgB;sBAIGP,OAAIQ,WAAQC,CAAOC,CAAAA;uBACtBR,mBAAIS,IAAAA,GAAAA,GAAAA,KAAiDH,mBAAAA,EAAQC;iCACpDG,OAAOA,GAAIpB;;;;KAEpB;qHACiBmB;oBACnB,CAAA;iCAEAF,OAAA,EAAA;;sFAEEF;wCACAZ;iCACCa,QAAAC,OAAA;mBACL,IAAAD,QAAAC,OAAA,IAAAjB,uBAAA;gBAEA,IAAAmB,iBAAAH,QAAAC,OAAA;gBACAjB,IAAAA,IAAAA,IAAAA,GAAAA,IAAAA,sBAAgCD,OAAAA,IAAAA,gBAA4BsB,IAAAA;oBAE9DF,iBAAAG,kBAAAH;gBACA;gBAACpB,iBAAAA;;2JAAsCI;YAAqBN,WAAA;gBAG9DkB,mBAA4C,QAAAA,mBAAA,KAAA,IAAA,KAAA,IAAAA,eAAAQ,KAAA;gBAC1CrB,qBAAAA,OAAAA,GAAAA;eACAsB;;4JAGQ;8BACRP,OAAA,GAAAlB,wBAAA,IAAAsB;8DAIgCI;;;QACpBZ;QAAAV;KAAA;UACVuB,QACA;;oCAEctB,iBAAAA;oBACZ;kBACAuB;;QAGNC,MAAAC,qBAAA,CAAAC,MAAA,CAAAC,IAAAA,yCAAA,EAAA,UAAA;YAEAL,KAAME,IAAAA,8BAAc,EAAAZ,SAAGgB;YAEvB,GAAApC,KAAO8B;QACP,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceOverflowButtonStyles.
|
|
1
|
+
{"version":3,"sources":["useReferenceOverflowButtonStyles.ts"],"sourcesContent":["import {\n makeResetStyles,\n makeStyles,\n mergeClasses,\n shorthands,\n tokens,\n typographyStyles,\n} 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\nconst useRootStyles = makeStyles({\n darker: {\n backgroundColor: tokens.colorNeutralBackground5,\n ...shorthands.borderColor(tokens.colorNeutralStroke1),\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground5Hover,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground5Pressed,\n },\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 const { appearance } = state;\n\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n\n state.root.className = mergeClasses(\n referenceOverflowButtonClassNames.root,\n rootBaseClassName,\n appearance === 'darker' && rootStyles.darker,\n state.root.className,\n );\n\n return state;\n};\n"],"names":["referenceOverflowButtonClassNames","useRootStyles","root","backgroundColor","colorNeutralBackground3","border","strokeWidthThin","borderRadius","color","tokens","display","padding","spacingVerticalXXS","B9xav0g","typographyStyles","zhjwy3","borderColor","state","darker","rootBaseClassName","useRootBaseClassName","className","mergeClasses","appearance","rootStyles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAWaA,iCAAAA;eAAAA;;IA6BPC,yCAA2B;eAA3BA;;;iCAlCY;AAKX,MAAMD,oCAAkF;UAC7FE;AACF;AAEA;;CAEC,SAECC,uBAAwBC,IAAAA,8BAAAA,EAAAA,WAAuB,MAAA;IAAA;IAAA;IAAA;CAAA;MAC/CC,gBAAkBC,IAAAA,yBAAAA,EAAAA;YAClBC;QACAC,QAAOC;QACPC,QAAAA;QACAC,QAAAA;YAAS;YAAUC;SAAAA;QACnBC,SAAGC;QAEHC,QAAA;YAAA;YAAU;SAAA;gBACRZ;gBACAa;;;OAIF;QAAA;QAAiB;QAAA;QAAA;QAAA;KAAA;;;QACuC;KAAA;;AAMpDf,MAAAA,4CAA2BgB,CAAAA;UAC/BC,YACEf;UAGAgB,oBAAUC;uBACRjB;UACFD,IAAA,CAAAmB,SAAA,GAAAC,IAAAA,6BAAA,EAAAtB,kCAAAE,IAAA,EAAAiB,mBAAAI,eAAA,YAAAC,WAAAN,MAAA,EAAAD,MAAAf,IAAA,CAAAmB,SAAA;WAEAJ;+DAEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './Reference';\nexport * from './ReferenceList';\nexport * from './ReferenceOverflowButton';\n"],"names":[],"rangeMappings":";;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReferenceGroupContext.
|
|
1
|
+
{"version":3,"sources":["ReferenceGroupContext.ts"],"sourcesContent":["import * as React from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nexport type ReferenceGroupContext = {\n open?: boolean;\n setOpen: () => void;\n};\n\nconst ReferenceGroupContext = React.createContext<ReferenceGroupContext | undefined>(undefined);\n\nexport const ReferenceGroupProvider = ReferenceGroupContext.Provider;\n\nexport const useReferenceGroupSetOpen = (): (() => void) => {\n const context = React.useContext(ReferenceGroupContext);\n return context?.setOpen ?? noop;\n};\n"],"names":["ReferenceGroupProvider","useReferenceGroupSetOpen","noop","ReferenceGroupContext","React","createContext","undefined","Provider","context","useContext","_context_setOpen","setOpen"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAYaA,sBAAAA;eAAAA;;IAEAC,wBAAAA;eAAAA;;;;iEAdU;AAEvB,gEAAgE;AAChE,MAAMC,OAAO,KAAO;AAOpB,MAAMC,sCAAwBC,OAAMC,aAAa,CAAoCC;AAE9E,MAAMN,yBAAyBG,sBAAsBI,QAAQ;AAE7D,MAAMN,2BAA2B;UACtCO,UAAMA,OAAUJ,UAAMK,CAAAA;;WACtB,AAAAC,CAAAA,mBAAOF,YAAAA,QAAAA,YAAAA,KAAAA,IAAAA,KAAAA,IAAAA,QAAAA,OAASG,MAAO,QAAAD,qBAAhBF,KAAAA,IAAAA,mBAAAA;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './referenceListContext';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["referenceListContext.
|
|
1
|
+
{"version":3,"sources":["referenceListContext.ts"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { Context, ContextSelector } from '@fluentui/react-context-selector';\nimport type { ReferenceListState } from '../../ReferenceListV2';\n\n/**\n * Context shared between ReferenceList and its children components\n */\nexport type ReferenceListContextValue = Pick<\n ReferenceListState,\n | 'appearance'\n | 'areReferencesExpanded'\n | 'overflowButtonTriggeredViaKeyboard'\n | 'previousOverflowCount'\n | 'shouldUseOverflow'\n>;\n\nexport const ReferenceListContext: Context<ReferenceListContextValue> = createContext<\n ReferenceListContextValue | undefined\n>(undefined) as Context<ReferenceListContextValue>;\n\nconst referenceListContextDefaultValue: ReferenceListContextValue = {\n appearance: 'lighter',\n areReferencesExpanded: false,\n overflowButtonTriggeredViaKeyboard: { current: false },\n previousOverflowCount: { current: 0 },\n shouldUseOverflow: false,\n};\n\nexport const ReferenceListContextProvider = ReferenceListContext.Provider;\n\nexport const useReferenceListContext_unstable = <T>(selector: ContextSelector<ReferenceListContextValue, T>) =>\n useContextSelector(ReferenceListContext, (ctx = referenceListContextDefaultValue) => selector(ctx));\n"],"names":["ReferenceListContext","ReferenceListContextProvider","useReferenceListContext_unstable","createContext","undefined","referenceListContextDefaultValue","appearance","areReferencesExpanded","overflowButtonTriggeredViaKeyboard","current","previousOverflowCount","shouldUseOverflow","Provider","selector","useContextSelector","ctx"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAgBaA,oBAAAA;eAAAA;;IAYAC,4BAAAA;eAAAA;;IAEAC,gCAAAA;eAAAA;;;sCA9BqC;AAgB3C,MAAMF,uBAA2DG,IAAAA,mCAAAA,EAEtEC;AAEF,MAAMC,mCAA8D;gBAClEC;2BACAC;wCACAC;iBAAsCC;;2BACtCC;iBAAyBD;;uBACzBE;AACF;AAEO,MAAMV,+BAA+BD,qBAAqBY,QAAQ;AAElE,MAAMV,mCAAmCW,CAAAA,WAC9CC,IAAAA,wCAAAA,EAAmBd,sBAAsB,CAACe,MAAMV,gCAAgC,GAAKQ,SAASE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './useReferenceCitationPreview';\nexport * from './useReferenceGroup';\n"],"names":[],"rangeMappings":";;;;;;","mappings":";;;;;uBAAc;uBACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './useReferenceCitationPreview';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceCitationPreview.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport * as React from 'react';\nimport { mergeCallbacks, usePopoverContext_unstable } from '@fluentui/react-components';\nimport { Preview, PreviewContent, PreviewHeader, PreviewMetadata, PreviewSurface, PreviewTrigger } from '@fluentui-copilot/react-preview';\nimport { SensitivityLabel } from '@fluentui-copilot/react-sensitivity-label';\nimport { Citation } from '../../Citation';\nimport { Reference } from '../../ReferenceV2';\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 => {\n const setPopoverOpen = usePopoverContext_unstable(context => context.setOpen);\n const onPopoverCloseClick = React.useCallback(ev => {\n setPopoverOpen(ev, false);\n // Don't navigate\n ev.preventDefault();\n }, [setPopoverOpen]);\n const onCitationCloseButtonClick = mergeCallbacks(onPopoverCloseClick, citationCloseButtonProps.onClick);\n return /*#__PURE__*/_jsx(Citation, {\n ...citationCloseButtonProps,\n onClick: onCitationCloseButtonClick\n });\n};\nexport const useReferenceCitationPreview = props => {\n const {\n citationPreviewProps,\n citationPreviewSurfaceProps,\n citationProps,\n index,\n previewContentProps,\n referencePreviewProps,\n referencePreviewSurfaceProps,\n referenceProps,\n sensitivityLabelProps\n } = props;\n const components = React.useMemo(() => {\n const citationWithPreview = props => {\n var _previewContentProps_content;\n return /*#__PURE__*/_jsxs(Preview, {\n closeOnScroll: true,\n positioning: \"below\",\n size: \"small\",\n trapFocus: true,\n withArrow: true,\n ...citationPreviewProps,\n children: [/*#__PURE__*/_jsx(PreviewTrigger, {\n children: /*#__PURE__*/_jsx(Citation, {\n ...citationProps,\n ...props,\n children: index\n })\n }), /*#__PURE__*/_jsx(PreviewSurface, {\n ...citationPreviewSurfaceProps,\n children: /*#__PURE__*/_jsxs(PreviewContent, {\n children: [/*#__PURE__*/_jsx(PreviewHeader, {\n citation: /*#__PURE__*/_jsx(CitationCloseButton, {\n \"aria-label\": `Reference ${index}, close`,\n referenceHref: \"#\",\n tabIndex: -1,\n children: index\n }),\n media: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.media,\n children: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.children\n }), /*#__PURE__*/_jsx(PreviewMetadata, {\n icon: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.icon,\n primaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.primaryText,\n secondaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.secondaryText,\n tertiaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.tertiaryText\n }), sensitivityLabelProps && /*#__PURE__*/_jsx(SensitivityLabel, {\n ...sensitivityLabelProps\n }), (_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]\n })\n })]\n });\n };\n const referenceWithPreview = props => {\n var _previewContentProps_content;\n return /*#__PURE__*/_jsxs(Preview, {\n closeOnScroll: true,\n positioning: \"below\",\n size: \"small\",\n trapFocus: true,\n withArrow: true,\n ...referencePreviewProps,\n children: [/*#__PURE__*/_jsx(PreviewTrigger, {\n children: /*#__PURE__*/_jsx(Reference, {\n citation: index,\n ...referenceProps,\n ...props\n })\n }), /*#__PURE__*/_jsx(PreviewSurface, {\n ...referencePreviewSurfaceProps,\n children: /*#__PURE__*/_jsxs(PreviewContent, {\n children: [/*#__PURE__*/_jsx(PreviewHeader, {\n citation: /*#__PURE__*/_jsx(CitationCloseButton, {\n \"aria-label\": `Reference ${index}, close`,\n referenceHref: \"#\",\n tabIndex: -1,\n children: index\n }),\n media: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.media,\n children: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.children\n }), /*#__PURE__*/_jsx(PreviewMetadata, {\n icon: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.icon,\n primaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.primaryText,\n secondaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.secondaryText,\n tertiaryText: previewContentProps === null || previewContentProps === void 0 ? void 0 : previewContentProps.tertiaryText\n }), sensitivityLabelProps && /*#__PURE__*/_jsx(SensitivityLabel, {\n ...sensitivityLabelProps\n }), (_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]\n })\n })]\n });\n };\n return {\n Citation: citationWithPreview,\n Reference: referenceWithPreview\n };\n }, [citationPreviewProps, citationPreviewSurfaceProps, citationProps, index, referencePreviewProps, referencePreviewSurfaceProps, referenceProps, previewContentProps, sensitivityLabelProps]);\n return components;\n};\n//# sourceMappingURL=useReferenceCitationPreview.js.map"],"names":["useReferenceCitationPreview","CitationCloseButton","citationCloseButtonProps","setPopoverOpen","usePopoverContext_unstable","context","setOpen","onPopoverCloseClick","React","useCallback","ev","preventDefault","onCitationCloseButtonClick","mergeCallbacks","onClick","_jsx","Citation","props","citationPreviewProps","citationPreviewSurfaceProps","citationProps","index","previewContentProps","referencePreviewProps","referencePreviewSurfaceProps","referenceProps","sensitivityLabelProps","components","useMemo","citationWithPreview","_previewContentProps_content","_jsxs","Preview","closeOnScroll","positioning","size","trapFocus","withArrow","children","PreviewTrigger","PreviewSurface","PreviewContent","PreviewHeader","citation","referenceHref","tabIndex","media","PreviewMetadata","icon","primaryText","secondaryText","tertiaryText","SensitivityLabel","content","referenceWithPreview","Reference"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["useReferenceCitationPreview.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport * 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 UseReferenceCitationPreviewProps = {\n citationPreviewProps?: PreviewProps;\n citationPreviewSurfaceProps?: PreviewSurfaceProps;\n citationProps?: CitationProps;\n index: number;\n previewContentProps?: PackagedPreviewContentProps;\n referencePreviewProps?: PreviewProps;\n referencePreviewSurfaceProps?: PreviewSurfaceProps;\n referenceProps?: ReferenceProps;\n sensitivityLabelProps?: SensitivityLabelProps;\n};\n\nexport type UseReferenceCitationPreview = (props: UseReferenceCitationPreviewProps) => {\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\nexport const useReferenceCitationPreview: UseReferenceCitationPreview = props => {\n const {\n citationPreviewProps,\n citationPreviewSurfaceProps,\n citationProps,\n index,\n previewContentProps,\n referencePreviewProps,\n referencePreviewSurfaceProps,\n referenceProps,\n sensitivityLabelProps,\n } = props;\n\n const components = React.useMemo(() => {\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?.media 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 return (\n <Preview closeOnScroll positioning=\"below\" size=\"small\" trapFocus withArrow {...referencePreviewProps}>\n <PreviewTrigger>\n <Reference citation={index} {...referenceProps} {...props} />\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?.media 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 ?? referencePreviewProps?.children}\n </PreviewContent>\n </PreviewSurface>\n </Preview>\n );\n };\n\n return {\n Citation: citationWithPreview,\n Reference: referenceWithPreview,\n };\n }, [\n citationPreviewProps,\n citationPreviewSurfaceProps,\n citationProps,\n index,\n referencePreviewProps,\n referencePreviewSurfaceProps,\n referenceProps,\n previewContentProps,\n sensitivityLabelProps,\n ]);\n\n return components;\n};\n"],"names":["CitationCloseButton","citationCloseButtonProps","setPopoverOpen","usePopoverContext_unstable","context","setOpen","onPopoverCloseClick","React","useCallback","ev","preventDefault","_jsx","Citation","onCitationCloseButtonClick","onClick","citationPreviewProps","useReferenceCitationPreview","citationPreviewSurfaceProps","citationProps","components","previewContentProps","positioning","withArrow","useMemo","PreviewTrigger","PreviewSurface","aria-label","referenceHref","index","referenceProps","primaryText","secondaryText","sensitivityLabelProps","SensitivityLabel","referenceWithPreview","_jsxs","Preview","closeOnScroll","trapFocus","referencePreviewProps","Reference","citation","referencePreviewSurfaceProps","PreviewContent","tabIndex","media","children","PreviewMetadata","_previewContentProps_content"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;4BACA;iEAEuB;iCAEoC;8BASpD;uCAC0B;0BASR;6BACC;AAgC1B,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,GAAAS,IAAAA,eAAA,EAAAC,kBAAA,EAAA;QAGlB,GAAAX,wBAAMY;QAENC,SAAAD;;;;IACF,MAAA,EAEAE,oBAAaC,EACXC,2BACEF,EAWFG,aAAMC,OACJ,qBA2BWC,uBA1BT,8BACwB,gBAACC,uBAAyB;uBAAkBC,OAASC,OAAA,CAAA;oCAAKR,CAAAA;;4EAC7ES,EAAAA;;;;;;;;qDAKD,EAAAA,4BAACC,EAAAA;6CAAmBR,GAAAA,IAAAA,eAAAA,EAAAA,kBAAAA,EAAAA;;;;;;mFAISS,EAAAA;sDAAyCC;kGAA6B,EAAA;;8FACxFC,EAAAA;;iEAGA,EAAEC,MAAAA,OAAAA,CAAAA;;;;;8DAMPC,QAAWD,mBAAET,KAAAA,IAAAA,KAAAA,IAAAA,eAAAA,KAAAA;iEACbW,QAAeX,mBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,eAAAA,QAAAA;;gGACH,EAAEA;;yEAEfY,QAAAA,wBAA0BC,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,WAAAA;2EAAqBD,QAAqBZ,wBAAA,KAAA,IAAA,KAAA,IAAAA,oBAAAW,aAAA;;;yDACpEX,WAAAA,GAAAA,IAAAA,eAAAA,EAAAA,uCAAAA,EAAAA;;;;;;;;;;cAOXc,uBAAMA,CAAAA;;mBACJ,WAAA,GAAAC,IAAAA,gBAAA,EAAAC,qBACGA,EAAAA;+BAAQC;6BAAchB;;2BAAiCiB;2BAAUhB;wCAAciB;;;mEAC9E,EAAAC,sBAAChB,EAAAA;;6CACYiB;;;;;;oEAEb,EAAChB,4BAAAA,EAAAA;;2CAAmBiB,GAAAA,IAAAA,eAAAA,EAAAA,2BAAAA,EAA4B;yDAC9C,GAAA/B,IAAAA,eAAA,EAAAX,qBAAC2C;;;;;;8DAGqFC,QAAAA,mBAAW,KAAA,IAAA,KAAA,IAAAf,eAAAgB,KAAA;yEACxFjB,mBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,eAAAA,QAAAA;;;kEAGEC,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,IAAAA;yEAENA,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,WAAgBiB;;0EAElBC,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,YAAAA;;yDACK,WAAE3B,GAAAA,IAAAA,eAAAA,EAAAA,uCAAAA,EAAAA;4DACNU;;gEACAC,wBAAeX,QAAAA,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAAA,OAAqBW,MAAAA,QAAaiB,iCAAA,KAAA,IAAAA,+BAAAT,0BAAA,QAAAA,0BAAA,KAAA,IAAA,KAAA,IAAAA,sBAAAO,QAAA;6BAAA;;;;;;;;;;;;;;;;;;;;;;0DAS7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceCitationPreview.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport * as React from 'react';\nimport { Caption1, assertSlots, mergeCallbacks, slot, useId, usePopoverContext_unstable } from '@fluentui/react-components';\nimport { Preview, PreviewContent, PreviewHeader, PreviewMetadata, PreviewSurface, PreviewTrigger } from '@fluentui-copilot/react-preview';\nimport { SensitivityLabel } from '@fluentui-copilot/react-sensitivity-label';\nimport { Citation } from '../Citation';\nimport { Reference } from '../Reference';\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 => {\n const setPopoverOpen = usePopoverContext_unstable(context => context.setOpen);\n const onPopoverCloseClick = React.useCallback(ev => {\n setPopoverOpen(ev, false);\n // Don't navigate\n ev.preventDefault();\n }, [setPopoverOpen]);\n const onCitationCloseButtonClick = mergeCallbacks(onPopoverCloseClick, citationCloseButtonProps.onClick);\n return /*#__PURE__*/_jsx(Citation, {\n ...citationCloseButtonProps,\n onClick: onCitationCloseButtonClick\n });\n};\n/**\n * Hook to package a `Citation` and `Reference` together in an\n * accessibly by default manner.\n *\n * When using citations and references, prefer using them via this\n * hook to ensure props are wired up correctly.\n */\nexport const useReferenceCitationPreview = ({\n index,\n referenceId: propsRefId,\n citationId: propsCiteId,\n citationProps,\n referenceProps,\n previewProps,\n previewSurfaceProps,\n sensitivityLabelProps\n}) => {\n const refId = useId();\n const citeId = useId();\n const referenceId = propsRefId !== null && propsRefId !== void 0 ? propsRefId : refId;\n const citationId = propsCiteId !== null && propsCiteId !== void 0 ? propsCiteId : citeId;\n const components = React.useMemo(() => {\n const citationHref = `#${citationId}`;\n const PackagedReference = props => {\n var _props_index, _ref;\n const referenceIndex = (_ref = (_props_index = props.index) !== null && _props_index !== void 0 ? _props_index : referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.index) !== null && _ref !== void 0 ? _ref : index;\n return /*#__PURE__*/_jsx(Reference, {\n ...referenceProps,\n index: referenceIndex,\n referenceId: referenceId,\n citationHref: citationHref,\n ...props\n });\n };\n const CitationWithPreview = props => {\n // We assert content as a slot to use it with its resolved props object and the correct defaults below.\n const content = slot.always(referenceProps ? referenceProps.content : undefined, {\n defaultProps: {\n children: (referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.excerpt) && /*#__PURE__*/_jsx(Caption1, {\n children: referenceProps.excerpt\n })\n },\n elementType: 'div'\n });\n const citationWithPreviewState = {\n components: {\n content: 'div'\n },\n content\n };\n assertSlots(citationWithPreviewState);\n // We resolve the slots' objects for sensitivity and title here so that we can use the information from their children below.\n const sensitivity = slot.optional(referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.sensitivity, {\n elementType: 'span'\n });\n const title = slot.optional(referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.label, {\n elementType: 'div'\n });\n var _sensitivityLabelProps_description;\n return /*#__PURE__*/_jsxs(Preview, {\n closeOnScroll: true,\n positioning: \"below\",\n size: \"small\",\n trapFocus: true,\n withArrow: true,\n ...previewProps,\n children: [/*#__PURE__*/_jsx(PreviewTrigger, {\n children: /*#__PURE__*/_jsx(Citation, {\n ...citationProps,\n id: citationId,\n ...props,\n children: index\n })\n }), /*#__PURE__*/_jsx(PreviewSurface, {\n ...previewSurfaceProps,\n children: /*#__PURE__*/_jsxs(PreviewContent, {\n children: [/*#__PURE__*/_jsx(PreviewHeader, {\n citation: /*#__PURE__*/_jsx(CitationCloseButton, {\n \"aria-label\": `Reference ${index}, close`,\n referenceHref: \"#\",\n tabIndex: -1,\n children: index\n }),\n media: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.media,\n children: title === null || title === void 0 ? void 0 : title.children\n }), /*#__PURE__*/_jsx(PreviewMetadata, {\n icon: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.icon,\n primaryText: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.primaryText,\n secondaryText: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.secondaryText,\n tertiaryText: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.tertiaryText\n }), sensitivity && /*#__PURE__*/_jsx(SensitivityLabel, {\n description: (_sensitivityLabelProps_description = sensitivityLabelProps === null || sensitivityLabelProps === void 0 ? void 0 : sensitivityLabelProps.description) !== null && _sensitivityLabelProps_description !== void 0 ? _sensitivityLabelProps_description : '',\n children: sensitivity.children\n }), /*#__PURE__*/_jsx(citationWithPreviewState.content, {}), previewProps === null || previewProps === void 0 ? void 0 : previewProps.children]\n })\n })]\n });\n };\n return {\n Citation: CitationWithPreview,\n Reference: PackagedReference\n };\n }, [index, referenceId, citationId, referenceProps, citationProps, previewProps, previewSurfaceProps, sensitivityLabelProps]);\n return components;\n};\n//# sourceMappingURL=useReferenceCitationPreview.js.map"],"names":["useReferenceCitationPreview","CitationCloseButton","citationCloseButtonProps","setPopoverOpen","usePopoverContext_unstable","context","setOpen","onPopoverCloseClick","React","useCallback","ev","preventDefault","onCitationCloseButtonClick","mergeCallbacks","onClick","_jsx","Citation","index","referenceId","propsRefId","citationId","propsCiteId","citationProps","referenceProps","previewProps","previewSurfaceProps","sensitivityLabelProps","refId","useId","citeId","components","useMemo","citationHref","PackagedReference","props","_props_index","_ref","referenceIndex","Reference","CitationWithPreview","content","slot","always","undefined","defaultProps","children","excerpt","Caption1","elementType","citationWithPreviewState","assertSlots","sensitivity","optional","title","label","_sensitivityLabelProps_description","_jsxs","Preview","closeOnScroll","positioning","size","trapFocus","withArrow","PreviewTrigger","id","PreviewSurface","PreviewContent","PreviewHeader","citation","referenceHref","tabIndex","media","PreviewMetadata","icon","primaryText","secondaryText","tertiaryText","SensitivityLabel","description"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["useReferenceCitationPreview.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport * as React from 'react';\nimport {\n Caption1,\n assertSlots,\n mergeCallbacks,\n slot,\n useId,\n usePopoverContext_unstable,\n} from '@fluentui/react-components';\nimport type { Slot } 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 { PreviewProps, PreviewSurfaceProps } from '@fluentui-copilot/react-preview';\nimport type { SensitivityLabelProps } from '@fluentui-copilot/react-sensitivity-label';\n\nimport { Citation } from '../Citation';\nimport { Reference } from '../Reference';\nimport type { CitationProps } from '../Citation';\nimport type { ReferenceProps } from '../Reference';\n\n/**\n * Props for a \"packaged Citation\". A packaged Citation is a `Citation` that is\n * pre-packaged with props set by the `useReferenceCitation` hook.\n */\nexport type PackagedCitationProps = Omit<CitationProps, 'referenceHref'> &\n Partial<Pick<CitationProps, 'referenceHref'>>;\n\n/**\n * A \"packaged Citation\". A packaged Citation is a `Citation` that is\n * pre-packaged with props set by the `useReferenceCitation` hook.\n */\nexport type PackagedCitation = React.FC<PackagedCitationProps>;\n\ntype PartialReferenceProps = 'citationHref' | 'index' | 'referenceId';\n\n/**\n * Props for a \"packaged Reference\". A packaged Reference is a `Reference` that is\n * pre-packaged with props set by the `useReferenceCitation` hook.\n */\nexport type PackagedReferenceProps = Omit<ReferenceProps, PartialReferenceProps> &\n Partial<Pick<ReferenceProps, PartialReferenceProps>>;\n\n/**\n * A \"packaged Reference\". A packaged Reference is a `Reference` that is\n * pre-packaged with props set by the `useReferenceCitation` hook.\n */\nexport type PackagedReference = React.FC<PackagedReferenceProps>;\n\n/**\n * Data used to package a `Citation` and `Reference` together with\n * the `useReferenceCitation` hook.\n */\nexport type ReferenceCitationData = {\n index: number;\n referenceId?: string;\n citationId?: string;\n citationProps?: PackagedCitationProps;\n referenceProps?: PackagedReferenceProps;\n previewProps?: PreviewProps;\n previewSurfaceProps?: PreviewSurfaceProps;\n sensitivityLabelProps?: SensitivityLabelProps;\n};\n\nexport type UseReferenceCitationPreview = (data: ReferenceCitationData) => {\n Citation: PackagedCitation;\n Reference: PackagedReference;\n};\n\ntype PreviewExtraSlots = {\n content: Slot<'div'>;\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 * Hook to package a `Citation` and `Reference` together in an\n * accessibly by default manner.\n *\n * When using citations and references, prefer using them via this\n * hook to ensure props are wired up correctly.\n */\nexport const useReferenceCitationPreview: UseReferenceCitationPreview = ({\n index,\n referenceId: propsRefId,\n citationId: propsCiteId,\n citationProps,\n referenceProps,\n previewProps,\n previewSurfaceProps,\n sensitivityLabelProps,\n}) => {\n const refId = useId();\n const citeId = useId();\n\n const referenceId = propsRefId ?? refId;\n const citationId = propsCiteId ?? citeId;\n\n const components = React.useMemo(() => {\n const citationHref = `#${citationId}`;\n\n const PackagedReference: PackagedReference = props => {\n const referenceIndex = props.index ?? referenceProps?.index ?? index;\n\n return (\n <Reference\n {...referenceProps}\n index={referenceIndex}\n referenceId={referenceId}\n citationHref={citationHref}\n {...props}\n />\n );\n };\n\n const CitationWithPreview: PackagedCitation = props => {\n // We assert content as a slot to use it with its resolved props object and the correct defaults below.\n const content = slot.always(referenceProps ? referenceProps.content : undefined, {\n defaultProps: {\n children: referenceProps?.excerpt && <Caption1>{referenceProps.excerpt}</Caption1>,\n },\n elementType: 'div',\n });\n const citationWithPreviewState = {\n components: {\n content: 'div',\n },\n content,\n };\n assertSlots<PreviewExtraSlots>(citationWithPreviewState);\n\n // We resolve the slots' objects for sensitivity and title here so that we can use the information from their children below.\n const sensitivity = slot.optional(referenceProps?.sensitivity, { elementType: 'span' });\n const title = slot.optional(referenceProps?.label, { elementType: 'div' });\n\n return (\n <Preview closeOnScroll positioning=\"below\" size=\"small\" trapFocus withArrow {...previewProps}>\n <PreviewTrigger>\n <Citation {...citationProps} id={citationId} {...props}>\n {index}\n </Citation>\n </PreviewTrigger>\n <PreviewSurface {...previewSurfaceProps}>\n <PreviewContent>\n <PreviewHeader\n citation={\n <CitationCloseButton aria-label={`Reference ${index}, close`} referenceHref=\"#\" tabIndex={-1}>\n {index}\n </CitationCloseButton>\n }\n media={referenceProps?.media}\n >\n {title?.children}\n </PreviewHeader>\n <PreviewMetadata\n icon={referenceProps?.icon}\n primaryText={referenceProps?.primaryText}\n secondaryText={referenceProps?.secondaryText}\n tertiaryText={referenceProps?.tertiaryText}\n />\n {sensitivity && (\n <SensitivityLabel description={sensitivityLabelProps?.description ?? ''}>\n {sensitivity.children}\n </SensitivityLabel>\n )}\n <citationWithPreviewState.content />\n {previewProps?.children}\n </PreviewContent>\n </PreviewSurface>\n </Preview>\n );\n };\n\n return {\n Citation: CitationWithPreview,\n Reference: PackagedReference,\n };\n }, [\n index,\n referenceId,\n citationId,\n referenceProps,\n citationProps,\n previewProps,\n previewSurfaceProps,\n sensitivityLabelProps,\n ]);\n\n return components;\n};\n"],"names":["CitationCloseButton","citationCloseButtonProps","setPopoverOpen","usePopoverContext_unstable","context","setOpen","onPopoverCloseClick","React","useCallback","ev","preventDefault","_jsx","Citation","onCitationCloseButtonClick","onClick","index","refId","useId","citeId","referenceId","citationId","components","citationHref","PackagedReference","referenceIndex","referenceProps","propsRefId","props","_ref","_props_index","CitationWithPreview","defaultProps","children","content","citationWithPreviewState","undefined","excerpt","Caption1","assertSlots","optional","elementType","sensitivityLabelProps","Preview","closeOnScroll","sensitivity","positioning","trapFocus","label","withArrow","PreviewTrigger","PreviewSurface","previewSurfaceProps","aria-label","primaryText","secondaryText","SensitivityLabel","description","tertiaryText","_sensitivityLabelProps_description","previewProps","citationProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReferenceGroup.
|
|
1
|
+
{"version":3,"sources":["useReferenceGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { makeStyles, useId } from '@fluentui/react-components';\nimport type { ReferenceListProps } from '../ReferenceList';\nimport type { ReferenceGroupToggleProps } from '../ReferenceGroupToggle';\n\nexport type UseReferenceGroupProps = { referenceListId?: string };\nexport type UseReferenceGroup = (props: UseReferenceGroupProps) => {\n referenceGroupToggleProps: ReferenceGroupToggleProps;\n referenceListProps: ReferenceListProps;\n};\n\nconst useStyles = makeStyles({\n hidden: {\n display: 'none',\n },\n});\n\n/**\n * Hook to package a `ReferenceGroupToggle` and `ReferenceList` together and\n * maintain their `isOpen` state.\n *\n * When rendering a group of references, prefer to use this hook\n * hook to ensure state is maintained correctly\n */\nexport const useReferenceGroup: UseReferenceGroup = props => {\n const [isOpen, setIsOpen] = React.useState(false);\n const styles = useStyles();\n const referenceListId = useId('reference-list', props.referenceListId);\n\n return React.useMemo(() => {\n const handleClick = () => {\n setIsOpen(isOpen => !isOpen);\n };\n\n const referenceGroupToggleProps = {\n 'aria-controls': referenceListId,\n isOpen,\n onClick: handleClick,\n };\n\n const referenceListProps = {\n className: isOpen ? undefined : styles.hidden,\n id: referenceListId,\n };\n\n return { referenceGroupToggleProps, referenceListProps };\n }, [isOpen, referenceListId, styles.hidden]);\n};\n"],"names":["referenceListId","useStyles","makeStyles","hidden","display","d","useId","isOpen","useMemo","React","useState","styles","handleClick","referenceGroupToggleProps","className","referenceListProps","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA2BQA;;;eAAAA;;;;iEA3Be;iCACG;AAU1B,MAAMC,YAAYC,IAAAA,yBAAAA,EAAAA;YAChBC;gBACEC;;AAEJ,GAAA;IAEAC,GAAA;QAAA;KAAA;;AAUE,MAAML,oBAAkBM,CAAAA;UAExB,CAAAC,QAAaC,UAAQ,GAAAC,OAAAC,QAAA,CAAA;UACnBC,SAAMC;4BACML,IAAAA,sBAAAA,EAAU,kBAACA,MAAAA,eAAAA;WACvBE,OAAAD,OAAA,CAAA;cAEAI,cAAMC;sBACJN,CAAAA,SAAA,CAAAA;;0CAESK;6BACXZ;;qBAGEc;;cAEFC,qBAAA;uBAEOR,SAAAS,YAAAL,OAAAR,MAAA;;;eAAgD;YACzDU;;;;;QAA6BF;QAAaA,OAAAR,MAAA;KAAA;GAC5C,6CAAE"}
|