@fluentui-copilot/react-reference 0.15.4 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +45 -1
- package/CHANGELOG.md +24 -1
- package/dist/index.d.ts +88 -290
- package/lib/Reference.js.map +1 -1
- package/lib/ReferenceList.js +1 -1
- package/lib/ReferenceList.js.map +1 -1
- package/lib/ReferenceOverflowButton.js +1 -1
- package/lib/ReferenceOverflowButton.js.map +1 -1
- package/lib/components/Citation/useCitationStyles.styles.js +3 -3
- package/lib/components/Citation/useCitationStyles.styles.js.map +1 -1
- package/lib/components/Reference/Reference.js +0 -3
- package/lib/components/Reference/Reference.js.map +1 -1
- package/lib/components/Reference/Reference.types.js +1 -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 +13 -8
- package/lib/components/Reference/renderReference.js.map +1 -1
- package/lib/components/Reference/useReference.js +46 -166
- package/lib/components/Reference/useReference.js.map +1 -1
- package/lib/components/Reference/useReferenceStyles.styles.js +40 -220
- package/lib/components/Reference/useReferenceStyles.styles.js.map +1 -1
- package/lib/components/ReferenceList/ReferenceList.js +4 -5
- package/lib/components/ReferenceList/ReferenceList.js.map +1 -1
- package/lib/components/ReferenceList/ReferenceList.types.js +1 -1
- package/lib/components/ReferenceList/ReferenceList.types.js.map +1 -1
- package/lib/components/ReferenceList/index.js +1 -1
- package/lib/components/ReferenceList/index.js.map +1 -1
- package/lib/components/ReferenceList/renderReferenceList.js +19 -5
- package/lib/components/ReferenceList/renderReferenceList.js.map +1 -1
- package/lib/components/ReferenceList/useReferenceList.js +76 -14
- package/lib/components/ReferenceList/useReferenceList.js.map +1 -1
- package/lib/components/ReferenceList/useReferenceListStyles.styles.js +31 -9
- package/lib/components/ReferenceList/useReferenceListStyles.styles.js.map +1 -1
- package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/useReferenceOverflowButton.js +1 -1
- package/lib/components/ReferenceOverflowButton/useReferenceOverflowButton.js.map +1 -0
- package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/useReferenceOverflowButtonStyles.styles.js +2 -2
- package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/useReferenceOverflowButtonStyles.styles.js.map +1 -1
- package/lib/contexts/referenceListContext.js.map +1 -0
- package/lib/index.js +31 -8
- package/lib/index.js.map +1 -1
- package/lib/utilities/{reference-v2/generateReferenceCitationPreview.js → generateReferenceCitationPreview.js} +2 -2
- package/lib/utilities/generateReferenceCitationPreview.js.map +1 -0
- package/lib/utilities/index.js +1 -1
- package/lib/utilities/index.js.map +1 -1
- package/lib/utilities/useReferenceCitationPreview.js +12 -123
- package/lib/utilities/useReferenceCitationPreview.js.map +1 -1
- package/lib-commonjs/Reference.js.map +1 -1
- package/lib-commonjs/ReferenceList.js +0 -3
- package/lib-commonjs/ReferenceList.js.map +1 -1
- package/lib-commonjs/ReferenceOverflowButton.js +1 -1
- package/lib-commonjs/ReferenceOverflowButton.js.map +1 -1
- package/lib-commonjs/components/Citation/useCitationStyles.styles.js +7 -7
- package/lib-commonjs/components/Citation/useCitationStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Reference/Reference.js +0 -2
- package/lib-commonjs/components/Reference/Reference.js.map +1 -1
- package/lib-commonjs/components/Reference/Reference.types.js +1 -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 +11 -18
- package/lib-commonjs/components/Reference/renderReference.js.map +1 -1
- package/lib-commonjs/components/Reference/useReference.js +42 -167
- package/lib-commonjs/components/Reference/useReference.js.map +1 -1
- package/lib-commonjs/components/Reference/useReferenceStyles.styles.js +56 -324
- package/lib-commonjs/components/Reference/useReferenceStyles.styles.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/ReferenceList.js +4 -4
- package/lib-commonjs/components/ReferenceList/ReferenceList.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/ReferenceList.types.js +1 -1
- package/lib-commonjs/components/ReferenceList/ReferenceList.types.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/index.js +0 -3
- package/lib-commonjs/components/ReferenceList/index.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/renderReferenceList.js +16 -2
- package/lib-commonjs/components/ReferenceList/renderReferenceList.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/useReferenceList.js +67 -11
- package/lib-commonjs/components/ReferenceList/useReferenceList.js.map +1 -1
- package/lib-commonjs/components/ReferenceList/useReferenceListStyles.styles.js +34 -9
- package/lib-commonjs/components/ReferenceList/useReferenceListStyles.styles.js.map +1 -1
- package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/useReferenceOverflowButton.js +1 -1
- package/lib-commonjs/components/ReferenceOverflowButton/useReferenceOverflowButton.js.map +1 -0
- package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/useReferenceOverflowButtonStyles.styles.js.map +1 -1
- package/lib-commonjs/contexts/referenceListContext.js.map +1 -0
- package/lib-commonjs/index.js +33 -40
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utilities/{reference-v2/generateReferenceCitationPreview.js → generateReferenceCitationPreview.js} +3 -3
- package/lib-commonjs/utilities/generateReferenceCitationPreview.js.map +1 -0
- package/lib-commonjs/utilities/index.js +4 -4
- package/lib-commonjs/utilities/index.js.map +1 -1
- package/lib-commonjs/utilities/useReferenceCitationPreview.js +4 -129
- package/lib-commonjs/utilities/useReferenceCitationPreview.js.map +1 -1
- package/package.json +4 -4
- package/lib/ReferenceGroupToggle.js +0 -2
- package/lib/ReferenceGroupToggle.js.map +0 -1
- package/lib/ReferenceListV2.js +0 -2
- package/lib/ReferenceListV2.js.map +0 -1
- package/lib/ReferenceV2.js +0 -2
- package/lib/ReferenceV2.js.map +0 -1
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js +0 -12
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +0 -1
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js +0 -4
- package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js.map +0 -1
- package/lib/components/ReferenceGroupToggle/index.js +0 -5
- package/lib/components/ReferenceGroupToggle/index.js.map +0 -1
- package/lib/components/ReferenceGroupToggle/renderReferenceGroupToggle.js +0 -12
- package/lib/components/ReferenceGroupToggle/renderReferenceGroupToggle.js.map +0 -1
- package/lib/components/ReferenceGroupToggle/useReferenceGroupToggle.js +0 -43
- package/lib/components/ReferenceGroupToggle/useReferenceGroupToggle.js.map +0 -1
- package/lib/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.styles.js +0 -43
- package/lib/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.styles.js.map +0 -1
- package/lib/components/reference-v2/Reference/Reference.js +0 -11
- package/lib/components/reference-v2/Reference/Reference.js.map +0 -1
- package/lib/components/reference-v2/Reference/Reference.types.js +0 -2
- package/lib/components/reference-v2/Reference/Reference.types.js.map +0 -1
- package/lib/components/reference-v2/Reference/index.js +0 -5
- package/lib/components/reference-v2/Reference/index.js.map +0 -1
- package/lib/components/reference-v2/Reference/renderReference.js +0 -19
- package/lib/components/reference-v2/Reference/renderReference.js.map +0 -1
- package/lib/components/reference-v2/Reference/useReference.js +0 -74
- package/lib/components/reference-v2/Reference/useReference.js.map +0 -1
- package/lib/components/reference-v2/Reference/useReferenceStyles.styles.js +0 -70
- package/lib/components/reference-v2/Reference/useReferenceStyles.styles.js.map +0 -1
- package/lib/components/reference-v2/ReferenceList/ReferenceList.js +0 -13
- package/lib/components/reference-v2/ReferenceList/ReferenceList.js.map +0 -1
- package/lib/components/reference-v2/ReferenceList/ReferenceList.types.js +0 -2
- package/lib/components/reference-v2/ReferenceList/ReferenceList.types.js.map +0 -1
- package/lib/components/reference-v2/ReferenceList/index.js +0 -5
- package/lib/components/reference-v2/ReferenceList/index.js.map +0 -1
- package/lib/components/reference-v2/ReferenceList/renderReferenceList.js +0 -22
- package/lib/components/reference-v2/ReferenceList/renderReferenceList.js.map +0 -1
- package/lib/components/reference-v2/ReferenceList/useReferenceList.js +0 -93
- package/lib/components/reference-v2/ReferenceList/useReferenceList.js.map +0 -1
- package/lib/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js +0 -46
- package/lib/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js.map +0 -1
- package/lib/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js.map +0 -1
- package/lib/components/reference-v2/index.js +0 -4
- package/lib/components/reference-v2/index.js.map +0 -1
- package/lib/contexts/ReferenceGroupContext.js +0 -11
- package/lib/contexts/ReferenceGroupContext.js.map +0 -1
- package/lib/contexts/reference-v2/referenceListContext.js.map +0 -1
- package/lib/utilities/reference-v2/generateReferenceCitationPreview.js.map +0 -1
- package/lib/utilities/reference-v2/index.js +0 -3
- package/lib/utilities/reference-v2/index.js.map +0 -1
- package/lib/utilities/reference-v2/useReferenceCitationPreview.js +0 -18
- package/lib/utilities/reference-v2/useReferenceCitationPreview.js.map +0 -1
- package/lib/utilities/useReferenceGroup.js +0 -40
- package/lib/utilities/useReferenceGroup.js.map +0 -1
- package/lib-commonjs/ReferenceGroupToggle.js +0 -29
- package/lib-commonjs/ReferenceGroupToggle.js.map +0 -1
- package/lib-commonjs/ReferenceListV2.js +0 -29
- package/lib-commonjs/ReferenceListV2.js.map +0 -1
- package/lib-commonjs/ReferenceV2.js +0 -32
- package/lib-commonjs/ReferenceV2.js.map +0 -1
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.js +0 -21
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +0 -1
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js +0 -7
- package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js.map +0 -1
- package/lib-commonjs/components/ReferenceGroupToggle/index.js +0 -32
- package/lib-commonjs/components/ReferenceGroupToggle/index.js.map +0 -1
- package/lib-commonjs/components/ReferenceGroupToggle/renderReferenceGroupToggle.js +0 -21
- package/lib-commonjs/components/ReferenceGroupToggle/renderReferenceGroupToggle.js.map +0 -1
- package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggle.js +0 -42
- package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggle.js.map +0 -1
- package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.styles.js +0 -64
- package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.styles.js.map +0 -1
- package/lib-commonjs/components/reference-v2/Reference/Reference.js +0 -21
- package/lib-commonjs/components/reference-v2/Reference/Reference.js.map +0 -1
- package/lib-commonjs/components/reference-v2/Reference/Reference.types.js +0 -5
- package/lib-commonjs/components/reference-v2/Reference/Reference.types.js.map +0 -1
- package/lib-commonjs/components/reference-v2/Reference/index.js +0 -35
- package/lib-commonjs/components/reference-v2/Reference/index.js.map +0 -1
- package/lib-commonjs/components/reference-v2/Reference/renderReference.js +0 -32
- package/lib-commonjs/components/reference-v2/Reference/renderReference.js.map +0 -1
- package/lib-commonjs/components/reference-v2/Reference/useReference.js +0 -71
- package/lib-commonjs/components/reference-v2/Reference/useReference.js.map +0 -1
- package/lib-commonjs/components/reference-v2/Reference/useReferenceStyles.styles.js +0 -109
- package/lib-commonjs/components/reference-v2/Reference/useReferenceStyles.styles.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/ReferenceList.js +0 -23
- package/lib-commonjs/components/reference-v2/ReferenceList/ReferenceList.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/ReferenceList.types.js +0 -5
- package/lib-commonjs/components/reference-v2/ReferenceList/ReferenceList.types.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/index.js +0 -32
- package/lib-commonjs/components/reference-v2/ReferenceList/index.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/renderReferenceList.js +0 -30
- package/lib-commonjs/components/reference-v2/ReferenceList/renderReferenceList.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceList.js +0 -86
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceList.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js +0 -62
- package/lib-commonjs/components/reference-v2/ReferenceList/useReferenceListStyles.styles.js.map +0 -1
- package/lib-commonjs/components/reference-v2/ReferenceOverflowButton/useReferenceOverflowButton.js.map +0 -1
- package/lib-commonjs/components/reference-v2/index.js +0 -64
- package/lib-commonjs/components/reference-v2/index.js.map +0 -1
- package/lib-commonjs/contexts/ReferenceGroupContext.js +0 -29
- package/lib-commonjs/contexts/ReferenceGroupContext.js.map +0 -1
- package/lib-commonjs/contexts/reference-v2/referenceListContext.js.map +0 -1
- package/lib-commonjs/utilities/reference-v2/generateReferenceCitationPreview.js.map +0 -1
- package/lib-commonjs/utilities/reference-v2/index.js +0 -21
- package/lib-commonjs/utilities/reference-v2/index.js.map +0 -1
- package/lib-commonjs/utilities/reference-v2/useReferenceCitationPreview.js +0 -18
- package/lib-commonjs/utilities/reference-v2/useReferenceCitationPreview.js.map +0 -1
- package/lib-commonjs/utilities/useReferenceGroup.js +0 -49
- package/lib-commonjs/utilities/useReferenceGroup.js.map +0 -1
- /package/lib/components/{reference-v2/ReferenceList → ReferenceList}/useReferenceListContextValues.js +0 -0
- /package/lib/components/{reference-v2/ReferenceList → ReferenceList}/useReferenceListContextValues.js.map +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.js +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.js.map +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.types.js +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.types.js.map +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/index.js +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/index.js.map +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/renderReferenceOverflowButton.js +0 -0
- /package/lib/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/renderReferenceOverflowButton.js.map +0 -0
- /package/lib/contexts/{reference-v2/index.js → index.js} +0 -0
- /package/lib/contexts/{reference-v2/index.js.map → index.js.map} +0 -0
- /package/lib/contexts/{reference-v2/referenceListContext.js → referenceListContext.js} +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceList → ReferenceList}/useReferenceListContextValues.js +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceList → ReferenceList}/useReferenceListContextValues.js.map +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.js +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.js.map +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.types.js +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/ReferenceOverflowButton.types.js.map +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/index.js +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/index.js.map +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/renderReferenceOverflowButton.js +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/renderReferenceOverflowButton.js.map +0 -0
- /package/lib-commonjs/components/{reference-v2/ReferenceOverflowButton → ReferenceOverflowButton}/useReferenceOverflowButtonStyles.styles.js +0 -0
- /package/lib-commonjs/contexts/{reference-v2/index.js → index.js} +0 -0
- /package/lib-commonjs/contexts/{reference-v2/index.js.map → index.js.map} +0 -0
- /package/lib-commonjs/contexts/{reference-v2/referenceListContext.js → referenceListContext.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ReferenceOverflowButton.ts"],"sourcesContent":["export type {
|
|
1
|
+
{"version":3,"sources":["ReferenceOverflowButton.ts"],"sourcesContent":["export type {\n ReferenceOverflowButtonProps,\n ReferenceOverflowButtonSlots,\n ReferenceOverflowButtonState,\n} from './components/ReferenceOverflowButton/index';\nexport {\n ReferenceOverflowButton,\n referenceOverflowButtonClassNames,\n renderReferenceOverflowButton_unstable,\n useReferenceOverflowButtonStyles_unstable,\n useReferenceOverflowButton_unstable,\n} from './components/ReferenceOverflowButton/index';\n"],"names":["ReferenceOverflowButton","referenceOverflowButtonClassNames","renderReferenceOverflowButton_unstable","useReferenceOverflowButtonStyles_unstable","useReferenceOverflowButton_unstable"],"rangeMappings":"","mappings":"AAKA,SACEA,uBAAuB,EACvBC,iCAAiC,EACjCC,sCAAsC,EACtCC,yCAAyC,EACzCC,mCAAmC,QAC9B,6CAA6C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { __resetStyles, __styles, mergeClasses, shorthands
|
|
2
|
-
import { tokens } from '@fluentui-copilot/tokens';
|
|
1
|
+
import { __resetStyles, __styles, mergeClasses, shorthands } from '@fluentui/react-components';
|
|
2
|
+
import { tokens, typographyStyles } from '@fluentui-copilot/tokens';
|
|
3
3
|
export const citationClassNames = {
|
|
4
4
|
root: 'fai-Citation'
|
|
5
5
|
};
|
|
6
|
-
const useCitationBaseClassName = __resetStyles("
|
|
6
|
+
const useCitationBaseClassName = __resetStyles("r1jm3di4", "r6zn0t3", [".r1jm3di4{display:inline-flex;justify-content:center;box-sizing:border-box;align-items:center;cursor:pointer;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase100);font-weight:var(--fontWeightBold);line-height:var(--lineHeightBase200);background-color:var(--colorNeutralBackground3);border:var(--strokeWidthThin) solid var(--colorNeutralStroke2);color:var(--colorNeutralForeground2);min-width:14px;height:14px;vertical-align:calc((var(--lineHeightBase200) - var(--fontSizeBase100)) / 2);padding-inline:var(--spacingHorizontalXXS);border-radius:var(--borderRadiusMedium);text-decoration:none;margin-left:var(--spacingHorizontalXXS);margin-right:var(--spacingHorizontalXXS);}", ".r1jm3di4:hover{cursor:pointer;color:var(--colorBrandForeground2Hover);border-color:var(--colorBrandStroke2Hover);background-color:var(--colorBrandBackground2Hover);}", ".r1jm3di4:hover:active{cursor:pointer;color:var(--colorBrandForeground2Pressed);border-color:var(--colorBrandStroke2Pressed);background-color:var(--colorBrandBackground2Pressed);}", ".r6zn0t3{display:inline-flex;justify-content:center;box-sizing:border-box;align-items:center;cursor:pointer;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase100);font-weight:var(--fontWeightBold);line-height:var(--lineHeightBase200);background-color:var(--colorNeutralBackground3);border:var(--strokeWidthThin) solid var(--colorNeutralStroke2);color:var(--colorNeutralForeground2);min-width:14px;height:14px;vertical-align:calc((var(--lineHeightBase200) - var(--fontSizeBase100)) / 2);padding-inline:var(--spacingHorizontalXXS);border-radius:var(--borderRadiusMedium);text-decoration:none;margin-right:var(--spacingHorizontalXXS);margin-left:var(--spacingHorizontalXXS);}", ".r6zn0t3:hover{cursor:pointer;color:var(--colorBrandForeground2Hover);border-color:var(--colorBrandStroke2Hover);background-color:var(--colorBrandBackground2Hover);}", ".r6zn0t3:hover:active{cursor:pointer;color:var(--colorBrandForeground2Pressed);border-color:var(--colorBrandStroke2Pressed);background-color:var(--colorBrandBackground2Pressed);}"]);
|
|
7
7
|
const useCitationRootStyles = __styles({
|
|
8
8
|
isBlock: {
|
|
9
9
|
mc9l5x: "f22iagw",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useCitationStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, shorthands
|
|
1
|
+
{"version":3,"sources":["useCitationStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@fluentui/react-components';\nimport { tokens, typographyStyles } from '@fluentui-copilot/tokens';\nimport type { CitationSlots, CitationState } from './Citation.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const citationClassNames: SlotClassNames<CitationSlots> = {\n root: 'fai-Citation',\n};\n\nconst useCitationBaseClassName = makeResetStyles({\n display: 'inline-flex',\n justifyContent: 'center',\n boxSizing: 'border-box',\n alignItems: 'center',\n cursor: 'pointer',\n ...typographyStyles.caption2Strong,\n\n backgroundColor: tokens.colorNeutralBackground3,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`,\n color: tokens.colorNeutralForeground2,\n\n minWidth: '14px',\n height: '14px',\n verticalAlign: `calc((${typographyStyles.caption2Strong.lineHeight} - ${typographyStyles.caption2Strong.fontSize}) / 2)`,\n paddingInline: tokens.spacingHorizontalXXS,\n\n borderRadius: tokens.borderRadiusMedium,\n\n textDecoration: 'none',\n\n marginLeft: tokens.spacingHorizontalXXS,\n marginRight: tokens.spacingHorizontalXXS,\n\n ':hover': {\n cursor: 'pointer',\n color: tokens.colorBrandForeground2Hover,\n borderColor: tokens.colorBrandStroke2Hover,\n backgroundColor: tokens.colorBrandBackground2Hover,\n },\n\n ':hover:active': {\n cursor: 'pointer',\n color: tokens.colorBrandForeground2Pressed,\n borderColor: tokens.colorBrandStroke2Pressed,\n backgroundColor: tokens.colorBrandBackground2Pressed,\n },\n});\n\nconst useCitationRootStyles = makeStyles({\n isBlock: {\n display: 'flex',\n marginLeft: 0,\n marginRight: 0,\n },\n isPopoverLocked: {\n color: tokens.colorBrandForeground2Pressed,\n ...shorthands.borderColor(tokens.colorBrandStroke2Pressed),\n backgroundColor: tokens.colorBrandBackground2,\n ':hover': {\n color: tokens.colorBrandForeground2Pressed,\n ...shorthands.borderColor(tokens.colorBrandStroke2Pressed),\n backgroundColor: tokens.colorBrandBackground2,\n },\n },\n});\n\nconst useNextStyles = makeStyles({ root: { borderRadius: tokens.borderRadiusXLarge } });\n\n/**\n * Apply styling to the Citation slots based on the state\n */\nexport const useCitationStyles_unstable = (state: CitationState): CitationState => {\n 'use no memo';\n\n const { designVersion } = state;\n\n const rootBaseClassName = useCitationBaseClassName();\n const rootStyles = useCitationRootStyles();\n const nextStyles = useNextStyles();\n\n state.root.className = mergeClasses(\n citationClassNames.root,\n state.isPopoverLocked && rootStyles.isPopoverLocked,\n state.block && rootStyles.isBlock,\n rootBaseClassName,\n designVersion === 'next' && nextStyles.root,\n state.root.className,\n );\n\n return state;\n};\n"],"names":["makeResetStyles","makeStyles","mergeClasses","shorthands","tokens","typographyStyles","citationClassNames","root","useCitationBaseClassName","display","justifyContent","boxSizing","alignItems","cursor","caption2Strong","backgroundColor","colorNeutralBackground3","border","strokeWidthThin","colorNeutralStroke2","color","colorNeutralForeground2","minWidth","height","verticalAlign","lineHeight","fontSize","paddingInline","spacingHorizontalXXS","borderRadius","borderRadiusMedium","textDecoration","marginLeft","marginRight","colorBrandForeground2Hover","borderColor","colorBrandStroke2Hover","colorBrandBackground2Hover","colorBrandForeground2Pressed","colorBrandStroke2Pressed","colorBrandBackground2Pressed","useCitationRootStyles","isBlock","isPopoverLocked","colorBrandBackground2","useNextStyles","borderRadiusXLarge","useCitationStyles_unstable","state","designVersion","rootBaseClassName","rootStyles","nextStyles","className","block"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,eAAe,EAAEC,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,6BAA6B;AACnG,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,2BAA2B;AAIpE,OAAO,MAAMC,qBAAoD;IAC/DC,MAAM;AACR,EAAE;AAEF,MAAMC,2BAA2BR,gBAAgB;IAC/CS,SAAS;IACTC,gBAAgB;IAChBC,WAAW;IACXC,YAAY;IACZC,QAAQ;IACR,GAAGR,iBAAiBS,cAAc;IAElCC,iBAAiBX,OAAOY,uBAAuB;IAC/CC,QAAQ,CAAC,EAAEb,OAAOc,eAAe,CAAC,OAAO,EAAEd,OAAOe,mBAAmB,CAAC,CAAC;IACvEC,OAAOhB,OAAOiB,uBAAuB;IAErCC,UAAU;IACVC,QAAQ;IACRC,eAAe,CAAC,MAAM,EAAEnB,iBAAiBS,cAAc,CAACW,UAAU,CAAC,GAAG,EAAEpB,iBAAiBS,cAAc,CAACY,QAAQ,CAAC,MAAM,CAAC;IACxHC,eAAevB,OAAOwB,oBAAoB;IAE1CC,cAAczB,OAAO0B,kBAAkB;IAEvCC,gBAAgB;IAEhBC,YAAY5B,OAAOwB,oBAAoB;IACvCK,aAAa7B,OAAOwB,oBAAoB;IAExC,UAAU;QACRf,QAAQ;QACRO,OAAOhB,OAAO8B,0BAA0B;QACxCC,aAAa/B,OAAOgC,sBAAsB;QAC1CrB,iBAAiBX,OAAOiC,0BAA0B;IACpD;IAEA,iBAAiB;QACfxB,QAAQ;QACRO,OAAOhB,OAAOkC,4BAA4B;QAC1CH,aAAa/B,OAAOmC,wBAAwB;QAC5CxB,iBAAiBX,OAAOoC,4BAA4B;IACtD;AACF;AAEA,MAAMC,wBAAwBxC,WAAW;IACvCyC,SAAS;QACPjC,SAAS;QACTuB,YAAY;QACZC,aAAa;IACf;IACAU,iBAAiB;QACfvB,OAAOhB,OAAOkC,4BAA4B;QAC1C,GAAGnC,WAAWgC,WAAW,CAAC/B,OAAOmC,wBAAwB,CAAC;QAC1DxB,iBAAiBX,OAAOwC,qBAAqB;QAC7C,UAAU;YACRxB,OAAOhB,OAAOkC,4BAA4B;YAC1C,GAAGnC,WAAWgC,WAAW,CAAC/B,OAAOmC,wBAAwB,CAAC;YAC1DxB,iBAAiBX,OAAOwC,qBAAqB;QAC/C;IACF;AACF;AAEA,MAAMC,gBAAgB5C,WAAW;IAAEM,MAAM;QAAEsB,cAAczB,OAAO0C,kBAAkB;IAAC;AAAE;AAErF;;CAEC,GACD,OAAO,MAAMC,6BAA6B,CAACC;IACzC;IAEA,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAE1B,MAAME,oBAAoB1C;IAC1B,MAAM2C,aAAaV;IACnB,MAAMW,aAAaP;IAEnBG,MAAMzC,IAAI,CAAC8C,SAAS,GAAGnD,aACrBI,mBAAmBC,IAAI,EACvByC,MAAML,eAAe,IAAIQ,WAAWR,eAAe,EACnDK,MAAMM,KAAK,IAAIH,WAAWT,OAAO,EACjCQ,mBACAD,kBAAkB,UAAUG,WAAW7C,IAAI,EAC3CyC,MAAMzC,IAAI,CAAC8C,SAAS;IAGtB,OAAOL;AACT,EAAE"}
|
|
@@ -2,12 +2,9 @@ import * as React from 'react';
|
|
|
2
2
|
import { useReference_unstable } from './useReference';
|
|
3
3
|
import { renderReference_unstable } from './renderReference';
|
|
4
4
|
import { useReferenceStyles_unstable } from './useReferenceStyles.styles';
|
|
5
|
-
import { useCustomStyleHook } from '@fluentui-copilot/react-provider';
|
|
6
|
-
/** deprecated Use ReferenceV2 component, hooks and types instead. */
|
|
7
5
|
export const Reference = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
8
6
|
const state = useReference_unstable(props, ref);
|
|
9
7
|
useReferenceStyles_unstable(state);
|
|
10
|
-
useCustomStyleHook('useReferenceStyles')(state);
|
|
11
8
|
return renderReference_unstable(state);
|
|
12
9
|
});
|
|
13
10
|
Reference.displayName = 'Reference';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Reference.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useReference_unstable } from './useReference';\nimport { renderReference_unstable } from './renderReference';\nimport { useReferenceStyles_unstable } from './useReferenceStyles.styles';\nimport type { ReferenceProps } from './Reference.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\
|
|
1
|
+
{"version":3,"sources":["Reference.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useReference_unstable } from './useReference';\nimport { renderReference_unstable } from './renderReference';\nimport { useReferenceStyles_unstable } from './useReferenceStyles.styles';\nimport type { ReferenceProps } from './Reference.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\nexport const Reference: ForwardRefComponent<ReferenceProps> = React.forwardRef((props, ref) => {\n const state = useReference_unstable(props, ref);\n\n useReferenceStyles_unstable(state);\n return renderReference_unstable(state);\n});\n\nReference.displayName = 'Reference';\n"],"names":["React","useReference_unstable","renderReference_unstable","useReferenceStyles_unstable","Reference","forwardRef","props","ref","state","displayName"],"rangeMappings":";;;;;;;;;","mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,2BAA2B,QAAQ,8BAA8B;AAI1E,OAAO,MAAMC,0BAAiDJ,MAAMK,UAAU,CAAC,CAACC,OAAOC;IACrF,MAAMC,QAAQP,sBAAsBK,OAAOC;IAE3CJ,4BAA4BK;IAC5B,OAAON,yBAAyBM;AAClC,GAAG;AAEHJ,UAAUK,WAAW,GAAG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=Reference.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Reference.types.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["Reference.types.ts"],"sourcesContent":["import type { DesignVersion } from '@fluentui-copilot/react-provider';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-components';\nimport type { ReferenceListState } from '../ReferenceList';\n\nexport type ReferenceSlots = {\n /** The root of the component that renders the reference as either a button or an anchor element. */\n root: NonNullable<Slot<'button', 'a'>>;\n\n /** The number of the citation this reference corresponds to. */\n citation?: Slot<'span'>;\n\n /** A divider that visually separates the citation from the content of the reference. */\n divider?: Slot<'span'>;\n\n /** A space containing the content of the reference, which goes into an ellipsis if it overflows. */\n content?: Slot<'span'>;\n\n /** A space within the content slot where a graphic such as an icon or an image can be displayed before the rest of the content. */\n graphic?: Slot<'span'>;\n};\n\nexport type ReferenceProps = ComponentProps<Partial<ReferenceSlots>> & DesignVersion & {};\n\nexport type ReferenceState = ComponentState<ReferenceSlots> &\n Required<Pick<ReferenceProps, 'id' | 'designVersion'>> &\n Pick<ReferenceListState, 'shouldUseOverflow'>;\n"],"names":[],"rangeMappings":"","mappings":"AAuBA,WAEgD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export { Reference } from './Reference';\nexport type { ReferenceProps, ReferenceSlots, ReferenceState } from './Reference.types';\nexport { renderReference_unstable } from './renderReference';\nexport { useReference_unstable } from './useReference';\nexport {
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export { Reference } from './Reference';\nexport type { ReferenceProps, ReferenceSlots, ReferenceState } from './Reference.types';\nexport { renderReference_unstable } from './renderReference';\nexport { useReference_unstable } from './useReference';\nexport {\n referenceClassNames,\n referenceExtraClassNames,\n useReferenceStyles_unstable,\n} from './useReferenceStyles.styles';\n"],"names":["Reference","renderReference_unstable","useReference_unstable","referenceClassNames","referenceExtraClassNames","useReferenceStyles_unstable"],"rangeMappings":";;;","mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AAExC,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SACEC,mBAAmB,EACnBC,wBAAwB,EACxBC,2BAA2B,QACtB,8BAA8B"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@fluentui/react-jsx-runtime/jsx-runtime";
|
|
2
|
-
import { assertSlots } from '@fluentui/react-components';
|
|
3
|
-
/** deprecated Use ReferenceV2 component, hooks and types instead. */
|
|
2
|
+
import { OverflowItem, assertSlots } from '@fluentui/react-components';
|
|
4
3
|
export const renderReference_unstable = state => {
|
|
5
4
|
assertSlots(state);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}), /*#__PURE__*/_jsx(state.
|
|
5
|
+
const {
|
|
6
|
+
id,
|
|
7
|
+
shouldUseOverflow
|
|
8
|
+
} = state;
|
|
9
|
+
const reference = /*#__PURE__*/_jsxs(state.root, {
|
|
10
|
+
children: [state.citation && /*#__PURE__*/_jsx(state.citation, {}), state.divider && /*#__PURE__*/_jsx(state.divider, {}), state.content && /*#__PURE__*/_jsxs(state.content, {
|
|
11
|
+
children: [state.graphic && /*#__PURE__*/_jsx(state.graphic, {}), state.root.children]
|
|
12
|
+
})]
|
|
12
13
|
});
|
|
14
|
+
return shouldUseOverflow ? /*#__PURE__*/_jsx(OverflowItem, {
|
|
15
|
+
id: id,
|
|
16
|
+
children: reference
|
|
17
|
+
}, id) : reference;
|
|
13
18
|
};
|
|
14
19
|
//# sourceMappingURL=renderReference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderReference.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\
|
|
1
|
+
{"version":3,"sources":["renderReference.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { OverflowItem, assertSlots } from '@fluentui/react-components';\nimport type { ReferenceState, ReferenceSlots } from './Reference.types';\n\nexport const renderReference_unstable = (state: ReferenceState) => {\n assertSlots<ReferenceSlots>(state);\n\n const { id, shouldUseOverflow } = state;\n\n const reference = (\n <state.root>\n {state.citation && <state.citation />}\n {state.divider && <state.divider />}\n {state.content && (\n <state.content>\n {state.graphic && <state.graphic />}\n {state.root.children}\n </state.content>\n )}\n </state.root>\n );\n\n return shouldUseOverflow ? (\n <OverflowItem key={id} id={id}>\n {reference}\n </OverflowItem>\n ) : (\n reference\n );\n};\n"],"names":["OverflowItem","assertSlots","renderReference_unstable","state","id","shouldUseOverflow","reference","root","citation","divider","content","graphic","children"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,YAAY,EAAEC,WAAW,QAAQ,6BAA6B;AAGvE,OAAO,MAAMC,2BAA2B,CAACC;IACvCF,YAA4BE;IAE5B,MAAM,EAAEC,EAAE,EAAEC,iBAAiB,EAAE,GAAGF;IAElC,MAAMG,0BACJ,MAACH,MAAMI,IAAI;;YACRJ,MAAMK,QAAQ,kBAAI,KAACL,MAAMK,QAAQ;YACjCL,MAAMM,OAAO,kBAAI,KAACN,MAAMM,OAAO;YAC/BN,MAAMO,OAAO,kBACZ,MAACP,MAAMO,OAAO;;oBACXP,MAAMQ,OAAO,kBAAI,KAACR,MAAMQ,OAAO;oBAC/BR,MAAMI,IAAI,CAACK,QAAQ;;;;;IAM5B,OAAOP,kCACL,KAACL;QAAsBI,IAAIA;kBACxBE;OADgBF,MAInBE;AAEJ,EAAE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { getIntrinsicElementProps, mergeClasses, slot, useId } from '@fluentui/react-components';
|
|
3
|
+
import { useReferenceListContext_unstable } from '../../contexts/referenceListContext';
|
|
4
4
|
import { referenceExtraClassNames } from './useReferenceStyles.styles';
|
|
5
|
-
import {
|
|
6
|
-
import { useReferenceGroupSetOpen } from '../../contexts/ReferenceGroupContext';
|
|
7
|
-
import { useCopilotMode } from '@fluentui-copilot/react-provider';
|
|
5
|
+
import { useDesignVersion } from '@fluentui-copilot/react-provider';
|
|
8
6
|
/**
|
|
9
7
|
* Create the state required to render Reference.
|
|
10
8
|
*
|
|
@@ -13,182 +11,64 @@ import { useCopilotMode } from '@fluentui-copilot/react-provider';
|
|
|
13
11
|
*
|
|
14
12
|
* @param props - props from this instance of Reference
|
|
15
13
|
* @param ref - reference to root HTMLElement of Reference
|
|
16
|
-
*
|
|
17
|
-
* deprecated Use ReferenceV2 component, hooks and types instead.
|
|
18
14
|
*/
|
|
19
15
|
export const useReference_unstable = (props, ref) => {
|
|
20
16
|
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
excerpt,
|
|
25
|
-
layout = 'inline'
|
|
17
|
+
as,
|
|
18
|
+
children,
|
|
19
|
+
id
|
|
26
20
|
} = props;
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
const designVersion = useDesignVersion(props.designVersion);
|
|
22
|
+
const shouldUseOverflow = useReferenceListContext_unstable(ctx => ctx.shouldUseOverflow);
|
|
23
|
+
const referenceId = useId('reference-', id);
|
|
24
|
+
const elementType = as || (props.href ? 'a' : 'button');
|
|
25
|
+
const propsWithAssignedAs = {
|
|
26
|
+
type: elementType === 'button' ? 'button' : undefined,
|
|
27
|
+
...props,
|
|
28
|
+
as: elementType,
|
|
29
|
+
id: referenceId
|
|
34
30
|
};
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
id: labelId
|
|
38
|
-
},
|
|
39
|
-
elementType: 'div'
|
|
31
|
+
const citation = slot.optional(props.citation, {
|
|
32
|
+
elementType: 'span'
|
|
40
33
|
});
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
elementType: '
|
|
34
|
+
const graphic = slot.optional(props.graphic, {
|
|
35
|
+
elementType: 'span'
|
|
36
|
+
});
|
|
37
|
+
const content = slot.optional(props.content, {
|
|
38
|
+
elementType: 'span',
|
|
39
|
+
renderByDefault: graphic !== undefined || !!children
|
|
40
|
+
});
|
|
41
|
+
const divider = slot.optional(props.divider, {
|
|
42
|
+
elementType: 'span',
|
|
43
|
+
renderByDefault: citation !== undefined && content !== undefined
|
|
46
44
|
});
|
|
47
|
-
if (media && /*#__PURE__*/React.isValidElement(media.children)) {
|
|
48
|
-
media.children = /*#__PURE__*/React.cloneElement(media.children, {
|
|
49
|
-
className: mergeClasses(media.children.props.className, referenceExtraClassNames.mediaChild)
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
if (media === null || media === void 0 ? void 0 : media.id) {
|
|
53
|
-
var _label_ariadescribedby;
|
|
54
|
-
var _label_ariadescribedby_concat;
|
|
55
|
-
label['aria-describedby'] = (_label_ariadescribedby_concat = (_label_ariadescribedby = label['aria-describedby']) === null || _label_ariadescribedby === void 0 ? void 0 : _label_ariadescribedby.concat(media.id)) !== null && _label_ariadescribedby_concat !== void 0 ? _label_ariadescribedby_concat : media.id;
|
|
56
|
-
}
|
|
57
|
-
const ariaLabelledByProp = props['aria-labelledby'];
|
|
58
|
-
const groupSemantics = React.useMemo(() => {
|
|
59
|
-
return layout === 'inline' ? {
|
|
60
|
-
role: 'group',
|
|
61
|
-
'aria-labelledby': `${ariaLabelledByProp !== null && ariaLabelledByProp !== void 0 ? ariaLabelledByProp : ''} ${label.id}`,
|
|
62
|
-
tabIndex: -1
|
|
63
|
-
} : {};
|
|
64
|
-
}, [layout, ariaLabelledByProp, label.id]);
|
|
65
|
-
// Within a popup, a citation should function as a close button
|
|
66
|
-
const citationProps = React.useMemo(() => {
|
|
67
|
-
const onPopoverCloseClick = e => {
|
|
68
|
-
setPopoverOpen(e, false);
|
|
69
|
-
// don't navigate
|
|
70
|
-
e.preventDefault();
|
|
71
|
-
};
|
|
72
|
-
return layout === 'popover' ? {
|
|
73
|
-
referenceHref: '#',
|
|
74
|
-
tabIndex: -1,
|
|
75
|
-
'aria-label': `Close Reference ${index}`,
|
|
76
|
-
onClick: onPopoverCloseClick
|
|
77
|
-
} : {
|
|
78
|
-
referenceHref: citationHref
|
|
79
|
-
};
|
|
80
|
-
}, [layout, citationHref, index, setPopoverOpen]);
|
|
81
45
|
const state = {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
index,
|
|
46
|
+
designVersion,
|
|
47
|
+
id: referenceId,
|
|
48
|
+
shouldUseOverflow,
|
|
86
49
|
components: {
|
|
87
|
-
root:
|
|
88
|
-
citation: '
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
sensitivity: 'span',
|
|
93
|
-
metadata: 'div',
|
|
94
|
-
content: 'div',
|
|
95
|
-
primaryText: 'span',
|
|
96
|
-
secondaryText: 'span',
|
|
97
|
-
tertiaryText: 'span',
|
|
98
|
-
icon: 'span',
|
|
99
|
-
detailsButton: Button
|
|
50
|
+
root: elementType,
|
|
51
|
+
citation: 'span',
|
|
52
|
+
divider: 'span',
|
|
53
|
+
graphic: 'span',
|
|
54
|
+
content: 'span'
|
|
100
55
|
},
|
|
101
|
-
root: slot.always(getIntrinsicElementProps(
|
|
56
|
+
root: slot.always(getIntrinsicElementProps(elementType, {
|
|
102
57
|
ref,
|
|
103
|
-
|
|
104
|
-
...groupSemantics,
|
|
105
|
-
...props
|
|
58
|
+
...propsWithAssignedAs
|
|
106
59
|
}), {
|
|
107
|
-
elementType
|
|
108
|
-
}),
|
|
109
|
-
citation: slot.optional(props.citation, {
|
|
110
|
-
defaultProps: {
|
|
111
|
-
children: /*#__PURE__*/React.createElement(Citation, {
|
|
112
|
-
block: true,
|
|
113
|
-
...citationProps
|
|
114
|
-
}, index)
|
|
115
|
-
},
|
|
116
|
-
renderByDefault: true,
|
|
117
|
-
elementType: 'div'
|
|
118
|
-
}),
|
|
119
|
-
media,
|
|
120
|
-
actions: slot.optional(layout === 'inline' ? props.actions : null, {
|
|
121
|
-
renderByDefault: true,
|
|
122
|
-
elementType: 'div'
|
|
123
|
-
}),
|
|
124
|
-
label,
|
|
125
|
-
sensitivity: slot.optional(props.sensitivity, {
|
|
126
|
-
elementType: 'span'
|
|
60
|
+
elementType
|
|
127
61
|
}),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
defaultProps: {
|
|
133
|
-
hidden: !isExpanded
|
|
134
|
-
},
|
|
135
|
-
elementType: 'span'
|
|
136
|
-
}),
|
|
137
|
-
secondaryText: slot.optional(props.secondaryText, {
|
|
138
|
-
defaultProps: {
|
|
139
|
-
hidden: !isExpanded
|
|
140
|
-
},
|
|
141
|
-
elementType: 'span'
|
|
142
|
-
}),
|
|
143
|
-
tertiaryText: slot.optional(props.tertiaryText, {
|
|
144
|
-
defaultProps: {
|
|
145
|
-
hidden: !isExpanded
|
|
146
|
-
},
|
|
147
|
-
elementType: 'span'
|
|
148
|
-
}),
|
|
149
|
-
icon: slot.optional(props.icon, {
|
|
150
|
-
elementType: 'span'
|
|
151
|
-
}),
|
|
152
|
-
content: slot.always(props.content, {
|
|
153
|
-
defaultProps: {
|
|
154
|
-
children: excerpt && /*#__PURE__*/React.createElement(Caption1, null, excerpt)
|
|
155
|
-
},
|
|
156
|
-
elementType: 'div'
|
|
157
|
-
}),
|
|
158
|
-
detailsButton: slot.optional(layout === 'inline' ? props.detailsButton : null, {
|
|
159
|
-
defaultProps: {
|
|
160
|
-
appearance: 'transparent',
|
|
161
|
-
'aria-expanded': isExpanded,
|
|
162
|
-
'aria-label': 'show details',
|
|
163
|
-
size: mode === 'sidecar' ? 'small' : 'medium',
|
|
164
|
-
icon: {
|
|
165
|
-
children: getIcon(isExpanded, mode)
|
|
166
|
-
}
|
|
167
|
-
},
|
|
168
|
-
renderByDefault: true,
|
|
169
|
-
elementType: Button
|
|
170
|
-
})
|
|
62
|
+
citation,
|
|
63
|
+
divider,
|
|
64
|
+
content,
|
|
65
|
+
graphic
|
|
171
66
|
};
|
|
172
|
-
if (state.
|
|
173
|
-
|
|
174
|
-
|
|
67
|
+
if (state.graphic && React.isValidElement(state.graphic.children)) {
|
|
68
|
+
state.graphic.children = React.cloneElement(state.graphic.children, {
|
|
69
|
+
className: mergeClasses(state.graphic.children.props.className, referenceExtraClassNames.graphicChild)
|
|
70
|
+
});
|
|
175
71
|
}
|
|
176
|
-
const referenceGroupSetOpen = useReferenceGroupSetOpen();
|
|
177
|
-
const onTargettedByCitation = e => {
|
|
178
|
-
var _e_relatedTarget;
|
|
179
|
-
const relatedTargetHash = (_e_relatedTarget = e.relatedTarget) === null || _e_relatedTarget === void 0 ? void 0 : _e_relatedTarget.hash;
|
|
180
|
-
if (relatedTargetHash && relatedTargetHash.substring(1) === referenceId) {
|
|
181
|
-
referenceGroupSetOpen();
|
|
182
|
-
setIsExpanded(true);
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
state.root.onFocus = mergeCallbacks(state.root.onFocus, onTargettedByCitation);
|
|
186
72
|
return state;
|
|
187
73
|
};
|
|
188
|
-
const getIcon = (isExpanded, mode) => {
|
|
189
|
-
if (mode === 'sidecar') {
|
|
190
|
-
return !isExpanded ? /*#__PURE__*/React.createElement(ChevronDown16Regular, null) : /*#__PURE__*/React.createElement(ChevronUp16Regular, null);
|
|
191
|
-
}
|
|
192
|
-
return !isExpanded ? /*#__PURE__*/React.createElement(ChevronDown24Regular, null) : /*#__PURE__*/React.createElement(ChevronUp24Regular, null);
|
|
193
|
-
};
|
|
194
74
|
//# sourceMappingURL=useReference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useReference.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Button,\n Caption1,\n getIntrinsicElementProps,\n mergeCallbacks,\n mergeClasses,\n slot,\n useId,\n usePopoverContext_unstable as usePopoverContext,\n} from '@fluentui/react-components';\nimport {\n ChevronDown24Regular,\n ChevronUp24Regular,\n ChevronDown16Regular,\n ChevronUp16Regular,\n} from '@fluentui/react-icons';\nimport { referenceExtraClassNames } from './useReferenceStyles.styles';\nimport { Citation } from '../Citation';\nimport type { ReferenceProps, ReferenceState } from './Reference.types';\nimport { useReferenceGroupSetOpen } from '../../contexts/ReferenceGroupContext';\nimport { useCopilotMode } from '@fluentui-copilot/react-provider';\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 *\n * deprecated Use ReferenceV2 component, hooks and types instead.\n */\nexport const useReference_unstable = (props: ReferenceProps, ref: React.Ref<HTMLDivElement>): ReferenceState => {\n const { index, referenceId, citationHref, excerpt, layout = 'inline' } = props;\n\n const mode = useCopilotMode(props.mode);\n\n const labelId = useId();\n const mediaId = useId();\n const [isExpanded, setIsExpanded] = React.useState(layout === 'popover' ? true : false);\n\n const setPopoverOpen = usePopoverContext(context => context.setOpen);\n\n const onExpandClick: React.MouseEventHandler<HTMLButtonElement> = _e => {\n setIsExpanded(!isExpanded);\n };\n\n const label = slot.always(props.label, {\n defaultProps: { id: labelId },\n elementType: 'div',\n });\n const media = slot.optional(props.media, { defaultProps: { id: mediaId }, elementType: 'div' });\n if (media && React.isValidElement<HTMLElement>(media.children)) {\n media.children = React.cloneElement(media.children, {\n className: mergeClasses(media.children.props.className, referenceExtraClassNames.mediaChild),\n });\n }\n\n if (media?.id) {\n label['aria-describedby'] = label['aria-describedby']?.concat(media.id) ?? media.id;\n }\n\n const ariaLabelledByProp = props['aria-labelledby'];\n const groupSemantics = React.useMemo(() => {\n return layout === 'inline'\n ? {\n role: 'group',\n 'aria-labelledby': `${ariaLabelledByProp ?? ''} ${label.id}`,\n tabIndex: -1,\n }\n : {};\n }, [layout, ariaLabelledByProp, label.id]);\n\n // Within a popup, a citation should function as a close button\n const citationProps = React.useMemo(() => {\n const onPopoverCloseClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n setPopoverOpen(e, false);\n\n // don't navigate\n e.preventDefault();\n };\n\n return layout === 'popover'\n ? {\n referenceHref: '#',\n tabIndex: -1,\n 'aria-label': `Close Reference ${index}`,\n onClick: onPopoverCloseClick,\n }\n : {\n referenceHref: citationHref,\n };\n }, [layout, citationHref, index, setPopoverOpen]);\n\n const state: ReferenceState = {\n isExpanded,\n mode: layout === 'popover' ? 'sidecar' : mode,\n layout,\n index,\n components: {\n root: 'div',\n citation: 'div',\n media: 'div',\n actions: 'div',\n label: 'div',\n sensitivity: 'span',\n metadata: 'div',\n content: 'div',\n primaryText: 'span',\n secondaryText: 'span',\n tertiaryText: 'span',\n icon: 'span',\n detailsButton: Button,\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n id: referenceId,\n ...groupSemantics,\n ...props,\n }),\n { elementType: 'div' },\n ),\n citation: slot.optional(props.citation, {\n defaultProps: {\n children: (\n <Citation block {...citationProps}>\n {index}\n </Citation>\n ),\n },\n renderByDefault: true,\n elementType: 'div',\n }),\n media,\n actions: slot.optional(layout === 'inline' ? props.actions : null, {\n renderByDefault: true,\n elementType: 'div',\n }),\n label,\n sensitivity: slot.optional(props.sensitivity, { elementType: 'span' }),\n metadata: slot.always(props.metadata, { elementType: 'div' }),\n primaryText: slot.optional(props.primaryText, {\n defaultProps: {\n hidden: !isExpanded,\n },\n elementType: 'span',\n }),\n secondaryText: slot.optional(props.secondaryText, {\n defaultProps: {\n hidden: !isExpanded,\n },\n elementType: 'span',\n }),\n tertiaryText: slot.optional(props.tertiaryText, {\n defaultProps: {\n hidden: !isExpanded,\n },\n elementType: 'span',\n }),\n icon: slot.optional(props.icon, { elementType: 'span' }),\n content: slot.always(props.content, {\n defaultProps: {\n children: excerpt && <Caption1>{excerpt}</Caption1>,\n },\n elementType: 'div',\n }),\n detailsButton: slot.optional(layout === 'inline' ? props.detailsButton : null, {\n defaultProps: {\n appearance: 'transparent',\n 'aria-expanded': isExpanded,\n 'aria-label': 'show details',\n size: mode === 'sidecar' ? 'small' : 'medium',\n icon: {\n children: getIcon(isExpanded, mode),\n },\n },\n renderByDefault: true,\n elementType: Button,\n }),\n };\n\n if (state.detailsButton) {\n const onClick = state.detailsButton.onClick as React.MouseEventHandler<HTMLButtonElement>;\n state.detailsButton.onClick = mergeCallbacks(onClick, onExpandClick);\n }\n\n const referenceGroupSetOpen = useReferenceGroupSetOpen();\n const onTargettedByCitation = (e: React.FocusEvent<HTMLElement>) => {\n const relatedTargetHash: string | undefined = (e.relatedTarget as HTMLAnchorElement)?.hash;\n if (relatedTargetHash && relatedTargetHash.substring(1) === referenceId) {\n referenceGroupSetOpen();\n setIsExpanded(true);\n }\n };\n state.root.onFocus = mergeCallbacks(state.root.onFocus, onTargettedByCitation);\n\n return state;\n};\n\nconst getIcon = (isExpanded: boolean, mode: ReferenceProps['mode']): JSX.Element => {\n if (mode === 'sidecar') {\n return !isExpanded ? <ChevronDown16Regular /> : <ChevronUp16Regular />;\n }\n\n return !isExpanded ? <ChevronDown24Regular /> : <ChevronUp24Regular />;\n};\n"],"names":["React","Button","Caption1","getIntrinsicElementProps","mergeCallbacks","mergeClasses","slot","useId","usePopoverContext_unstable","usePopoverContext","ChevronDown24Regular","ChevronUp24Regular","ChevronDown16Regular","ChevronUp16Regular","referenceExtraClassNames","Citation","useReferenceGroupSetOpen","useCopilotMode","useReference_unstable","props","ref","index","referenceId","citationHref","excerpt","layout","mode","labelId","mediaId","isExpanded","setIsExpanded","useState","setPopoverOpen","context","setOpen","onExpandClick","_e","label","always","defaultProps","id","elementType","media","optional","isValidElement","children","cloneElement","className","mediaChild","concat","ariaLabelledByProp","groupSemantics","useMemo","role","tabIndex","citationProps","onPopoverCloseClick","e","preventDefault","referenceHref","onClick","state","components","root","citation","actions","sensitivity","metadata","content","primaryText","secondaryText","tertiaryText","icon","detailsButton","block","renderByDefault","hidden","appearance","size","getIcon","referenceGroupSetOpen","onTargettedByCitation","relatedTargetHash","relatedTarget","hash","substring","onFocus"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
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/referenceListContext';\nimport { referenceExtraClassNames } from './useReferenceStyles.styles';\nimport type { ReferenceProps, ReferenceState } from './Reference.types';\nimport { useDesignVersion } from '@fluentui-copilot/react-provider';\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 = (\n props: ReferenceProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ReferenceState => {\n const { as, children, id } = props;\n\n const designVersion = useDesignVersion(props.designVersion);\n\n const shouldUseOverflow = useReferenceListContext_unstable(ctx => ctx.shouldUseOverflow);\n\n const referenceId = useId('reference-', id);\n\n const elementType = as || ((props as JSX.IntrinsicElements['a']).href ? 'a' : 'button');\n const propsWithAssignedAs = {\n type: elementType === 'button' ? 'button' : undefined,\n ...props,\n as: elementType,\n id: referenceId,\n } as ReferenceProps;\n\n const citation = slot.optional(props.citation, { elementType: 'span' });\n const graphic = slot.optional(props.graphic, { elementType: 'span' });\n const content = slot.optional(props.content, {\n elementType: 'span',\n renderByDefault: graphic !== 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 designVersion,\n id: referenceId,\n shouldUseOverflow,\n\n components: {\n root: elementType,\n citation: 'span',\n divider: 'span',\n graphic: 'span',\n content: 'span',\n },\n\n root: slot.always(\n getIntrinsicElementProps(elementType, {\n ref,\n ...propsWithAssignedAs,\n }),\n { elementType },\n ),\n citation,\n divider,\n content,\n graphic,\n };\n\n if (state.graphic && React.isValidElement<HTMLElement>(state.graphic.children)) {\n state.graphic.children = React.cloneElement(state.graphic.children, {\n className: mergeClasses(state.graphic.children.props.className, referenceExtraClassNames.graphicChild),\n });\n }\n\n return state;\n};\n"],"names":["React","getIntrinsicElementProps","mergeClasses","slot","useId","useReferenceListContext_unstable","referenceExtraClassNames","useDesignVersion","useReference_unstable","props","ref","as","children","id","designVersion","shouldUseOverflow","ctx","referenceId","elementType","href","propsWithAssignedAs","type","undefined","citation","optional","graphic","content","renderByDefault","divider","state","components","root","always","isValidElement","cloneElement","className","graphicChild"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,YAAY,EAAEC,IAAI,EAAEC,KAAK,QAAQ,6BAA6B;AACjG,SAASC,gCAAgC,QAAQ,sCAAsC;AACvF,SAASC,wBAAwB,QAAQ,8BAA8B;AAEvE,SAASC,gBAAgB,QAAQ,mCAAmC;AAEpE;;;;;;;;CAQC,GACD,OAAO,MAAMC,wBAAwB,CACnCC,OACAC;IAEA,MAAM,EAAEC,EAAE,EAAEC,QAAQ,EAAEC,EAAE,EAAE,GAAGJ;IAE7B,MAAMK,gBAAgBP,iBAAiBE,MAAMK,aAAa;IAE1D,MAAMC,oBAAoBV,iCAAiCW,CAAAA,MAAOA,IAAID,iBAAiB;IAEvF,MAAME,cAAcb,MAAM,cAAcS;IAExC,MAAMK,cAAcP,MAAO,CAAA,AAACF,MAAqCU,IAAI,GAAG,MAAM,QAAO;IACrF,MAAMC,sBAAsB;QAC1BC,MAAMH,gBAAgB,WAAW,WAAWI;QAC5C,GAAGb,KAAK;QACRE,IAAIO;QACJL,IAAII;IACN;IAEA,MAAMM,WAAWpB,KAAKqB,QAAQ,CAACf,MAAMc,QAAQ,EAAE;QAAEL,aAAa;IAAO;IACrE,MAAMO,UAAUtB,KAAKqB,QAAQ,CAACf,MAAMgB,OAAO,EAAE;QAAEP,aAAa;IAAO;IACnE,MAAMQ,UAAUvB,KAAKqB,QAAQ,CAACf,MAAMiB,OAAO,EAAE;QAC3CR,aAAa;QACbS,iBAAiBF,YAAYH,aAAa,CAAC,CAACV;IAC9C;IACA,MAAMgB,UAAUzB,KAAKqB,QAAQ,CAACf,MAAMmB,OAAO,EAAE;QAC3CV,aAAa;QACbS,iBAAiBJ,aAAaD,aAAaI,YAAYJ;IACzD;IAEA,MAAMO,QAAwB;QAC5Bf;QACAD,IAAII;QACJF;QAEAe,YAAY;YACVC,MAAMb;YACNK,UAAU;YACVK,SAAS;YACTH,SAAS;YACTC,SAAS;QACX;QAEAK,MAAM5B,KAAK6B,MAAM,CACf/B,yBAAyBiB,aAAa;YACpCR;YACA,GAAGU,mBAAmB;QACxB,IACA;YAAEF;QAAY;QAEhBK;QACAK;QACAF;QACAD;IACF;IAEA,IAAII,MAAMJ,OAAO,IAAIzB,MAAMiC,cAAc,CAAcJ,MAAMJ,OAAO,CAACb,QAAQ,GAAG;QAC9EiB,MAAMJ,OAAO,CAACb,QAAQ,GAAGZ,MAAMkC,YAAY,CAACL,MAAMJ,OAAO,CAACb,QAAQ,EAAE;YAClEuB,WAAWjC,aAAa2B,MAAMJ,OAAO,CAACb,QAAQ,CAACH,KAAK,CAAC0B,SAAS,EAAE7B,yBAAyB8B,YAAY;QACvG;IACF;IAEA,OAAOP;AACT,EAAE"}
|