@fluentui-copilot/react-reference 0.0.0-nightly-20240313-0404-8abc883d.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/CHANGELOG.json +943 -0
  2. package/CHANGELOG.md +281 -0
  3. package/LICENSE +23 -0
  4. package/README.md +5 -0
  5. package/dist/index.d.ts +539 -0
  6. package/lib/Citation.js +2 -0
  7. package/lib/Citation.js.map +1 -0
  8. package/lib/Reference.js +2 -0
  9. package/lib/Reference.js.map +1 -0
  10. package/lib/ReferenceGroup.js +2 -0
  11. package/lib/ReferenceGroup.js.map +1 -0
  12. package/lib/ReferenceGroupToggle.js +2 -0
  13. package/lib/ReferenceGroupToggle.js.map +1 -0
  14. package/lib/ReferenceList.js +2 -0
  15. package/lib/ReferenceList.js.map +1 -0
  16. package/lib/components/Citation/Citation.js +14 -0
  17. package/lib/components/Citation/Citation.js.map +1 -0
  18. package/lib/components/Citation/Citation.types.js +2 -0
  19. package/lib/components/Citation/Citation.types.js.map +1 -0
  20. package/lib/components/Citation/index.js +6 -0
  21. package/lib/components/Citation/index.js.map +1 -0
  22. package/lib/components/Citation/renderCitation.js +29 -0
  23. package/lib/components/Citation/renderCitation.js.map +1 -0
  24. package/lib/components/Citation/useCitation.js +191 -0
  25. package/lib/components/Citation/useCitation.js.map +1 -0
  26. package/lib/components/Citation/useCitationStyles.js +44 -0
  27. package/lib/components/Citation/useCitationStyles.js.map +1 -0
  28. package/lib/components/Reference/Reference.js +14 -0
  29. package/lib/components/Reference/Reference.js.map +1 -0
  30. package/lib/components/Reference/Reference.types.js +2 -0
  31. package/lib/components/Reference/Reference.types.js.map +1 -0
  32. package/lib/components/Reference/index.js +6 -0
  33. package/lib/components/Reference/index.js.map +1 -0
  34. package/lib/components/Reference/renderReference.js +16 -0
  35. package/lib/components/Reference/renderReference.js.map +1 -0
  36. package/lib/components/Reference/useReference.js +197 -0
  37. package/lib/components/Reference/useReference.js.map +1 -0
  38. package/lib/components/Reference/useReferenceStyles.js +253 -0
  39. package/lib/components/Reference/useReferenceStyles.js.map +1 -0
  40. package/lib/components/ReferenceGroup/ReferenceGroup.js +19 -0
  41. package/lib/components/ReferenceGroup/ReferenceGroup.js.map +1 -0
  42. package/lib/components/ReferenceGroup/ReferenceGroup.types.js +2 -0
  43. package/lib/components/ReferenceGroup/ReferenceGroup.types.js.map +1 -0
  44. package/lib/components/ReferenceGroup/index.js +6 -0
  45. package/lib/components/ReferenceGroup/index.js.map +1 -0
  46. package/lib/components/ReferenceGroup/renderReferenceGroup.js +21 -0
  47. package/lib/components/ReferenceGroup/renderReferenceGroup.js.map +1 -0
  48. package/lib/components/ReferenceGroup/useReferenceGroup.js +104 -0
  49. package/lib/components/ReferenceGroup/useReferenceGroup.js.map +1 -0
  50. package/lib/components/ReferenceGroup/useReferenceGroupContextValues.js +10 -0
  51. package/lib/components/ReferenceGroup/useReferenceGroupContextValues.js.map +1 -0
  52. package/lib/components/ReferenceGroup/useReferenceGroupStyles.js +50 -0
  53. package/lib/components/ReferenceGroup/useReferenceGroupStyles.js.map +1 -0
  54. package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js +12 -0
  55. package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +1 -0
  56. package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js +2 -0
  57. package/lib/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js.map +1 -0
  58. package/lib/components/ReferenceGroupToggle/index.js +6 -0
  59. package/lib/components/ReferenceGroupToggle/index.js.map +1 -0
  60. package/lib/components/ReferenceGroupToggle/renderReferenceGroupToggle.js +12 -0
  61. package/lib/components/ReferenceGroupToggle/renderReferenceGroupToggle.js.map +1 -0
  62. package/lib/components/ReferenceGroupToggle/useReferenceGroupToggle.js +40 -0
  63. package/lib/components/ReferenceGroupToggle/useReferenceGroupToggle.js.map +1 -0
  64. package/lib/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.js +20 -0
  65. package/lib/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.js.map +1 -0
  66. package/lib/components/ReferenceList/ReferenceList.js +14 -0
  67. package/lib/components/ReferenceList/ReferenceList.js.map +1 -0
  68. package/lib/components/ReferenceList/ReferenceList.types.js +2 -0
  69. package/lib/components/ReferenceList/ReferenceList.types.js.map +1 -0
  70. package/lib/components/ReferenceList/index.js +6 -0
  71. package/lib/components/ReferenceList/index.js.map +1 -0
  72. package/lib/components/ReferenceList/renderReferenceList.js +10 -0
  73. package/lib/components/ReferenceList/renderReferenceList.js.map +1 -0
  74. package/lib/components/ReferenceList/useReferenceList.js +30 -0
  75. package/lib/components/ReferenceList/useReferenceList.js.map +1 -0
  76. package/lib/components/ReferenceList/useReferenceListStyles.js +17 -0
  77. package/lib/components/ReferenceList/useReferenceListStyles.js.map +1 -0
  78. package/lib/context/ReferenceGroupContext.js +11 -0
  79. package/lib/context/ReferenceGroupContext.js.map +1 -0
  80. package/lib/hooks/index.js +4 -0
  81. package/lib/hooks/index.js.map +1 -0
  82. package/lib/hooks/useReferenceCitation.js +77 -0
  83. package/lib/hooks/useReferenceCitation.js.map +1 -0
  84. package/lib/hooks/useReferenceCitationPreview.js +128 -0
  85. package/lib/hooks/useReferenceCitationPreview.js.map +1 -0
  86. package/lib/hooks/useReferenceGroup.js +40 -0
  87. package/lib/hooks/useReferenceGroup.js.map +1 -0
  88. package/lib/index.js +7 -0
  89. package/lib/index.js.map +1 -0
  90. package/lib-commonjs/Citation.js +7 -0
  91. package/lib-commonjs/Citation.js.map +1 -0
  92. package/lib-commonjs/Reference.js +7 -0
  93. package/lib-commonjs/Reference.js.map +1 -0
  94. package/lib-commonjs/ReferenceGroup.js +7 -0
  95. package/lib-commonjs/ReferenceGroup.js.map +1 -0
  96. package/lib-commonjs/ReferenceGroupToggle.js +7 -0
  97. package/lib-commonjs/ReferenceGroupToggle.js.map +1 -0
  98. package/lib-commonjs/ReferenceList.js +7 -0
  99. package/lib-commonjs/ReferenceList.js.map +1 -0
  100. package/lib-commonjs/components/Citation/Citation.js +23 -0
  101. package/lib-commonjs/components/Citation/Citation.js.map +1 -0
  102. package/lib-commonjs/components/Citation/Citation.types.js +5 -0
  103. package/lib-commonjs/components/Citation/Citation.types.js.map +1 -0
  104. package/lib-commonjs/components/Citation/index.js +11 -0
  105. package/lib-commonjs/components/Citation/index.js.map +1 -0
  106. package/lib-commonjs/components/Citation/renderCitation.js +38 -0
  107. package/lib-commonjs/components/Citation/renderCitation.js.map +1 -0
  108. package/lib-commonjs/components/Citation/useCitation.js +185 -0
  109. package/lib-commonjs/components/Citation/useCitation.js.map +1 -0
  110. package/lib-commonjs/components/Citation/useCitationStyles.js +100 -0
  111. package/lib-commonjs/components/Citation/useCitationStyles.js.map +1 -0
  112. package/lib-commonjs/components/Reference/Reference.js +23 -0
  113. package/lib-commonjs/components/Reference/Reference.js.map +1 -0
  114. package/lib-commonjs/components/Reference/Reference.types.js +5 -0
  115. package/lib-commonjs/components/Reference/Reference.types.js.map +1 -0
  116. package/lib-commonjs/components/Reference/index.js +11 -0
  117. package/lib-commonjs/components/Reference/index.js.map +1 -0
  118. package/lib-commonjs/components/Reference/renderReference.js +40 -0
  119. package/lib-commonjs/components/Reference/renderReference.js.map +1 -0
  120. package/lib-commonjs/components/Reference/useReference.js +201 -0
  121. package/lib-commonjs/components/Reference/useReference.js.map +1 -0
  122. package/lib-commonjs/components/Reference/useReferenceStyles.js +454 -0
  123. package/lib-commonjs/components/Reference/useReferenceStyles.js.map +1 -0
  124. package/lib-commonjs/components/ReferenceGroup/ReferenceGroup.js +25 -0
  125. package/lib-commonjs/components/ReferenceGroup/ReferenceGroup.js.map +1 -0
  126. package/lib-commonjs/components/ReferenceGroup/ReferenceGroup.types.js +5 -0
  127. package/lib-commonjs/components/ReferenceGroup/ReferenceGroup.types.js.map +1 -0
  128. package/lib-commonjs/components/ReferenceGroup/index.js +11 -0
  129. package/lib-commonjs/components/ReferenceGroup/index.js.map +1 -0
  130. package/lib-commonjs/components/ReferenceGroup/renderReferenceGroup.js +33 -0
  131. package/lib-commonjs/components/ReferenceGroup/renderReferenceGroup.js.map +1 -0
  132. package/lib-commonjs/components/ReferenceGroup/useReferenceGroup.js +103 -0
  133. package/lib-commonjs/components/ReferenceGroup/useReferenceGroup.js.map +1 -0
  134. package/lib-commonjs/components/ReferenceGroup/useReferenceGroupContextValues.js +23 -0
  135. package/lib-commonjs/components/ReferenceGroup/useReferenceGroupContextValues.js.map +1 -0
  136. package/lib-commonjs/components/ReferenceGroup/useReferenceGroupStyles.js +75 -0
  137. package/lib-commonjs/components/ReferenceGroup/useReferenceGroupStyles.js.map +1 -0
  138. package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.js +21 -0
  139. package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.js.map +1 -0
  140. package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js +5 -0
  141. package/lib-commonjs/components/ReferenceGroupToggle/ReferenceGroupToggle.types.js.map +1 -0
  142. package/lib-commonjs/components/ReferenceGroupToggle/index.js +11 -0
  143. package/lib-commonjs/components/ReferenceGroupToggle/index.js.map +1 -0
  144. package/lib-commonjs/components/ReferenceGroupToggle/renderReferenceGroupToggle.js +21 -0
  145. package/lib-commonjs/components/ReferenceGroupToggle/renderReferenceGroupToggle.js.map +1 -0
  146. package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggle.js +39 -0
  147. package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggle.js.map +1 -0
  148. package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.js +39 -0
  149. package/lib-commonjs/components/ReferenceGroupToggle/useReferenceGroupToggleStyles.js.map +1 -0
  150. package/lib-commonjs/components/ReferenceList/ReferenceList.js +23 -0
  151. package/lib-commonjs/components/ReferenceList/ReferenceList.js.map +1 -0
  152. package/lib-commonjs/components/ReferenceList/ReferenceList.types.js +5 -0
  153. package/lib-commonjs/components/ReferenceList/ReferenceList.types.js.map +1 -0
  154. package/lib-commonjs/components/ReferenceList/index.js +11 -0
  155. package/lib-commonjs/components/ReferenceList/index.js.map +1 -0
  156. package/lib-commonjs/components/ReferenceList/renderReferenceList.js +16 -0
  157. package/lib-commonjs/components/ReferenceList/renderReferenceList.js.map +1 -0
  158. package/lib-commonjs/components/ReferenceList/useReferenceList.js +30 -0
  159. package/lib-commonjs/components/ReferenceList/useReferenceList.js.map +1 -0
  160. package/lib-commonjs/components/ReferenceList/useReferenceListStyles.js +36 -0
  161. package/lib-commonjs/components/ReferenceList/useReferenceListStyles.js.map +1 -0
  162. package/lib-commonjs/context/ReferenceGroupContext.js +29 -0
  163. package/lib-commonjs/context/ReferenceGroupContext.js.map +1 -0
  164. package/lib-commonjs/hooks/index.js +15 -0
  165. package/lib-commonjs/hooks/index.js.map +1 -0
  166. package/lib-commonjs/hooks/useReferenceCitation.js +78 -0
  167. package/lib-commonjs/hooks/useReferenceCitation.js.map +1 -0
  168. package/lib-commonjs/hooks/useReferenceCitationPreview.js +141 -0
  169. package/lib-commonjs/hooks/useReferenceCitationPreview.js.map +1 -0
  170. package/lib-commonjs/hooks/useReferenceGroup.js +49 -0
  171. package/lib-commonjs/hooks/useReferenceGroup.js.map +1 -0
  172. package/lib-commonjs/index.js +103 -0
  173. package/lib-commonjs/index.js.map +1 -0
  174. package/package.json +43 -0
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
+ import { assertSlots } from '@fluentui/react-components';
3
+ /**
4
+ * Render the final JSX of ReferenceGroupToggle
5
+ */
6
+ export const renderReferenceGroupToggle_unstable = state => {
7
+ assertSlots(state);
8
+ return /*#__PURE__*/_jsxs(state.root, {
9
+ children: [state.root.children, state.icon && /*#__PURE__*/_jsx(state.icon, {})]
10
+ });
11
+ };
12
+ //# sourceMappingURL=renderReferenceGroupToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderReferenceGroupToggle.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { ReferenceGroupToggleState, ReferenceGroupToggleSlots } from './ReferenceGroupToggle.types';\n\n/**\n * Render the final JSX of ReferenceGroupToggle\n */\nexport const renderReferenceGroupToggle_unstable = (state: ReferenceGroupToggleState) => {\n assertSlots<ReferenceGroupToggleSlots>(state);\n\n return (\n <state.root>\n {state.root.children}\n {state.icon && <state.icon />}\n </state.root>\n );\n};\n"],"names":["assertSlots","renderReferenceGroupToggle_unstable","state","root","children","icon"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,6BAA6B;AAGzD;;CAEC,GACD,OAAO,MAAMC,sCAAsC,CAACC;IAClDF,YAAuCE;IAEvC,qBACE,MAACA,MAAMC,IAAI;;YACRD,MAAMC,IAAI,CAACC,QAAQ;YACnBF,MAAMG,IAAI,kBAAI,KAACH,MAAMG,IAAI;;;AAGhC,EAAE"}
@@ -0,0 +1,40 @@
1
+ import * as React from 'react';
2
+ import { getIntrinsicElementProps, slot } from '@fluentui/react-components';
3
+ import { ChevronDown16Regular, ChevronUp16Regular } from '@fluentui/react-icons';
4
+ /**
5
+ * Create the state required to render ReferenceGroupToggle.
6
+ *
7
+ * The returned state can be modified with hooks such as useReferenceGroupToggleStyles_unstable,
8
+ * before being passed to renderReferenceGroupToggle_unstable.
9
+ *
10
+ * @param props - props from this instance of ReferenceGroupToggle
11
+ * @param ref - reference to root HTMLElement of ReferenceGroupToggle
12
+ */
13
+ export const useReferenceGroupToggle_unstable = (props, ref) => {
14
+ const {
15
+ isOpen = false
16
+ } = props;
17
+ return {
18
+ isOpen,
19
+ components: {
20
+ root: 'button',
21
+ icon: 'span'
22
+ },
23
+ root: slot.always(getIntrinsicElementProps('button', {
24
+ ref,
25
+ 'aria-expanded': isOpen,
26
+ type: 'button',
27
+ ...props
28
+ }), {
29
+ elementType: 'button'
30
+ }),
31
+ icon: slot.optional(props.icon, {
32
+ defaultProps: {
33
+ children: isOpen ? /*#__PURE__*/React.createElement(ChevronUp16Regular, null) : /*#__PURE__*/React.createElement(ChevronDown16Regular, null)
34
+ },
35
+ renderByDefault: true,
36
+ elementType: 'span'
37
+ })
38
+ };
39
+ };
40
+ //# sourceMappingURL=useReferenceGroupToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceGroupToggle.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-components';\nimport { ChevronDown16Regular, ChevronUp16Regular } from '@fluentui/react-icons';\nimport type { ReferenceGroupToggleProps, ReferenceGroupToggleState } from './ReferenceGroupToggle.types';\n\n/**\n * Create the state required to render ReferenceGroupToggle.\n *\n * The returned state can be modified with hooks such as useReferenceGroupToggleStyles_unstable,\n * before being passed to renderReferenceGroupToggle_unstable.\n *\n * @param props - props from this instance of ReferenceGroupToggle\n * @param ref - reference to root HTMLElement of ReferenceGroupToggle\n */\nexport const useReferenceGroupToggle_unstable = (\n props: ReferenceGroupToggleProps,\n ref: React.Ref<HTMLButtonElement>,\n): ReferenceGroupToggleState => {\n const { isOpen = false } = props;\n\n return {\n isOpen,\n components: {\n root: 'button',\n icon: 'span',\n },\n root: slot.always(\n getIntrinsicElementProps('button', {\n ref,\n 'aria-expanded': isOpen,\n type: 'button',\n ...props,\n }),\n { elementType: 'button' },\n ),\n icon: slot.optional(props.icon, {\n defaultProps: {\n children: isOpen ? <ChevronUp16Regular /> : <ChevronDown16Regular />,\n },\n renderByDefault: true,\n elementType: 'span',\n }),\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","ChevronDown16Regular","ChevronUp16Regular","useReferenceGroupToggle_unstable","props","ref","isOpen","components","root","icon","always","type","elementType","optional","defaultProps","children","renderByDefault"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,6BAA6B;AAC5E,SAASC,oBAAoB,EAAEC,kBAAkB,QAAQ,wBAAwB;AAGjF;;;;;;;;CAQC,GACD,OAAO,MAAMC,mCAAmC,CAC9CC,OACAC;IAEA,MAAM,EAAEC,SAAS,KAAK,EAAE,GAAGF;IAE3B,OAAO;QACLE;QACAC,YAAY;YACVC,MAAM;YACNC,MAAM;QACR;QACAD,MAAMR,KAAKU,MAAM,CACfX,yBAAyB,UAAU;YACjCM;YACA,iBAAiBC;YACjBK,MAAM;YACN,GAAGP,KAAK;QACV,IACA;YAAEQ,aAAa;QAAS;QAE1BH,MAAMT,KAAKa,QAAQ,CAACT,MAAMK,IAAI,EAAE;YAC9BK,cAAc;gBACZC,UAAUT,uBAAS,oBAACJ,0CAAwB,oBAACD;YAC/C;YACAe,iBAAiB;YACjBJ,aAAa;QACf;IACF;AACF,EAAE"}
@@ -0,0 +1,20 @@
1
+ import { __resetStyles, mergeClasses, shorthands, tokens, typographyStyles } from '@fluentui/react-components';
2
+ export const referenceGroupToggleClassNames = {
3
+ root: 'fai-ReferenceGroupToggle',
4
+ icon: 'fai-ReferenceGroupToggle__icon'
5
+ };
6
+ const useButtonBaseClassName = __resetStyles("rctdkan", "rfdmif3", [".rctdkan{display:inline-flex;column-gap:var(--spacingHorizontalSNudge);align-items:center;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase200);border:0;background-color:var(--colorTransparentBackground);color:var(--colorNeutralForeground3);cursor:pointer;width:max-content;padding-top:var(--spacingVerticalXS);padding-right:0;padding-bottom:var(--spacingVerticalXS);padding-left:0;}", ".rfdmif3{display:inline-flex;column-gap:var(--spacingHorizontalSNudge);align-items:center;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase200);border:0;background-color:var(--colorTransparentBackground);color:var(--colorNeutralForeground3);cursor:pointer;width:max-content;padding-top:var(--spacingVerticalXS);padding-left:0;padding-bottom:var(--spacingVerticalXS);padding-right:0;}"]);
7
+ const useIconBaseClassName = __resetStyles("r18biwo", null, [".r18biwo{display:inline-flex;align-items:center;}"]);
8
+ /**
9
+ * Apply styling to the ReferenceGroupToggle slots based on the state
10
+ */
11
+ export const useReferenceGroupToggleStyles_unstable = state => {
12
+ const iconBaseClassName = useIconBaseClassName();
13
+ const buttonBaseClassName = useButtonBaseClassName();
14
+ state.root.className = mergeClasses(referenceGroupToggleClassNames.root, buttonBaseClassName, state.root.className);
15
+ if (state.icon) {
16
+ state.icon.className = mergeClasses(referenceGroupToggleClassNames.icon, iconBaseClassName, state.icon.className);
17
+ }
18
+ return state;
19
+ };
20
+ //# sourceMappingURL=useReferenceGroupToggleStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceGroupToggleStyles.ts"],"sourcesContent":["import { makeResetStyles, mergeClasses, shorthands, tokens, typographyStyles } from '@fluentui/react-components';\nimport type { ReferenceGroupToggleSlots, ReferenceGroupToggleState } from './ReferenceGroupToggle.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const referenceGroupToggleClassNames: SlotClassNames<ReferenceGroupToggleSlots> = {\n root: 'fai-ReferenceGroupToggle',\n icon: 'fai-ReferenceGroupToggle__icon',\n};\n\nconst useButtonBaseClassName = makeResetStyles({\n display: 'inline-flex',\n columnGap: tokens.spacingHorizontalSNudge,\n alignItems: 'center',\n ...typographyStyles.caption1,\n border: 0,\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorNeutralForeground3,\n cursor: 'pointer',\n width: 'max-content',\n ...shorthands.padding(tokens.spacingVerticalXS, 0),\n});\n\nconst useIconBaseClassName = makeResetStyles({\n display: 'inline-flex',\n alignItems: 'center',\n});\n\n/**\n * Apply styling to the ReferenceGroupToggle slots based on the state\n */\nexport const useReferenceGroupToggleStyles_unstable = (state: ReferenceGroupToggleState): ReferenceGroupToggleState => {\n const iconBaseClassName = useIconBaseClassName();\n const buttonBaseClassName = useButtonBaseClassName();\n state.root.className = mergeClasses(referenceGroupToggleClassNames.root, buttonBaseClassName, state.root.className);\n\n if (state.icon) {\n state.icon.className = mergeClasses(referenceGroupToggleClassNames.icon, iconBaseClassName, state.icon.className);\n }\n\n return state;\n};\n"],"names":["makeResetStyles","mergeClasses","shorthands","tokens","typographyStyles","referenceGroupToggleClassNames","root","icon","useButtonBaseClassName","display","columnGap","spacingHorizontalSNudge","alignItems","caption1","border","backgroundColor","colorTransparentBackground","color","colorNeutralForeground3","cursor","width","padding","spacingVerticalXS","useIconBaseClassName","useReferenceGroupToggleStyles_unstable","state","iconBaseClassName","buttonBaseClassName","className"],"mappings":"AAAA,SAASA,eAAe,EAAEC,YAAY,EAAEC,UAAU,EAAEC,MAAM,EAAEC,gBAAgB,QAAQ,6BAA6B;AAIjH,OAAO,MAAMC,iCAA4E;IACvFC,MAAM;IACNC,MAAM;AACR,EAAE;AAEF,MAAMC,yBAAyBR,gBAAgB;IAC7CS,SAAS;IACTC,WAAWP,OAAOQ,uBAAuB;IACzCC,YAAY;IACZ,GAAGR,iBAAiBS,QAAQ;IAC5BC,QAAQ;IACRC,iBAAiBZ,OAAOa,0BAA0B;IAClDC,OAAOd,OAAOe,uBAAuB;IACrCC,QAAQ;IACRC,OAAO;IACP,GAAGlB,WAAWmB,OAAO,CAAClB,OAAOmB,iBAAiB,EAAE,EAAE;AACpD;AAEA,MAAMC,uBAAuBvB,gBAAgB;IAC3CS,SAAS;IACTG,YAAY;AACd;AAEA;;CAEC,GACD,OAAO,MAAMY,yCAAyC,CAACC;IACrD,MAAMC,oBAAoBH;IAC1B,MAAMI,sBAAsBnB;IAC5BiB,MAAMnB,IAAI,CAACsB,SAAS,GAAG3B,aAAaI,+BAA+BC,IAAI,EAAEqB,qBAAqBF,MAAMnB,IAAI,CAACsB,SAAS;IAElH,IAAIH,MAAMlB,IAAI,EAAE;QACdkB,MAAMlB,IAAI,CAACqB,SAAS,GAAG3B,aAAaI,+BAA+BE,IAAI,EAAEmB,mBAAmBD,MAAMlB,IAAI,CAACqB,SAAS;IAClH;IAEA,OAAOH;AACT,EAAE"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { useReferenceList_unstable } from './useReferenceList';
3
+ import { renderReferenceList_unstable } from './renderReferenceList';
4
+ import { useReferenceListStyles_unstable } from './useReferenceListStyles';
5
+ import { useCustomStyleHook } from '@fluentui-copilot/react-provider';
6
+ //ReferenceList component - TODO: add more docs
7
+ export const ReferenceList = /*#__PURE__*/React.forwardRef((props, ref) => {
8
+ const state = useReferenceList_unstable(props, ref);
9
+ useReferenceListStyles_unstable(state);
10
+ useCustomStyleHook('useReferenceListStyles')(state);
11
+ return renderReferenceList_unstable(state);
12
+ });
13
+ ReferenceList.displayName = 'ReferenceList';
14
+ //# sourceMappingURL=ReferenceList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ReferenceList.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useReferenceList_unstable } from './useReferenceList';\nimport { renderReferenceList_unstable } from './renderReferenceList';\nimport { useReferenceListStyles_unstable } from './useReferenceListStyles';\nimport type { ReferenceListProps } from './ReferenceList.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\n\n//ReferenceList component - TODO: add more docs\nexport const ReferenceList: ForwardRefComponent<ReferenceListProps> = React.forwardRef((props, ref) => {\n const state = useReferenceList_unstable(props, ref);\n\n useReferenceListStyles_unstable(state);\n useCustomStyleHook('useReferenceListStyles')(state);\n\n return renderReferenceList_unstable(state);\n});\n\nReferenceList.displayName = 'ReferenceList';\n"],"names":["React","useReferenceList_unstable","renderReferenceList_unstable","useReferenceListStyles_unstable","useCustomStyleHook","ReferenceList","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,+BAA+B,QAAQ,2BAA2B;AAG3E,SAASC,kBAAkB,QAAQ,mCAAmC;AAEtE,+CAA+C;AAC/C,OAAO,MAAMC,8BAAyDL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IAC7F,MAAMC,QAAQR,0BAA0BM,OAAOC;IAE/CL,gCAAgCM;IAChCL,mBAAmB,0BAA0BK;IAE7C,OAAOP,6BAA6BO;AACtC,GAAG;AAEHJ,cAAcK,WAAW,GAAG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReferenceList.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ReferenceList.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-components';\n\nexport type ReferenceListSlots = {\n /**\n * The root slot.\n */\n root: Slot<'ol'>;\n};\n\n/**\n * ReferenceList Props\n */\nexport type ReferenceListProps = ComponentProps<ReferenceListSlots>;\n\n/**\n * State used in rendering ReferenceList\n */\nexport type ReferenceListState = ComponentState<ReferenceListSlots>;\n"],"names":[],"mappings":"AAAA,WAiBoE"}
@@ -0,0 +1,6 @@
1
+ export * from './ReferenceList';
2
+ export * from './ReferenceList.types';
3
+ export * from './renderReferenceList';
4
+ export * from './useReferenceList';
5
+ export * from './useReferenceListStyles';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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":[],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,qBAAqB;AACnC,cAAc,2BAA2B"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
+ import { assertSlots } from '@fluentui/react-components';
3
+ /**
4
+ * Render the final JSX of ReferenceList
5
+ */
6
+ export const renderReferenceList_unstable = state => {
7
+ assertSlots(state);
8
+ return /*#__PURE__*/_jsx(state.root, {});
9
+ };
10
+ //# sourceMappingURL=renderReferenceList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderReferenceList.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { ReferenceListState, ReferenceListSlots } from './ReferenceList.types';\n\n/**\n * Render the final JSX of ReferenceList\n */\nexport const renderReferenceList_unstable = (state: ReferenceListState) => {\n assertSlots<ReferenceListSlots>(state);\n\n return <state.root />;\n};\n"],"names":["assertSlots","renderReferenceList_unstable","state","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,6BAA6B;AAGzD;;CAEC,GACD,OAAO,MAAMC,+BAA+B,CAACC;IAC3CF,YAAgCE;IAEhC,qBAAO,KAACA,MAAMC,IAAI;AACpB,EAAE"}
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ import { getNativeElementProps, slot } from '@fluentui/react-components';
3
+ import { referenceListItemClassName } from './useReferenceListStyles';
4
+ // If you add JSX to this file, be sure to change the file type to .tsx
5
+ /**
6
+ * Create the state required to render ReferenceList.
7
+ *
8
+ * The returned state can be modified with hooks such as useReferenceListStyles_unstable,
9
+ * before being passed to renderReferenceList_unstable.
10
+ *
11
+ * @param props - props from this instance of ReferenceList
12
+ * @param ref - reference to root HTMLElement of ReferenceList
13
+ */
14
+ export const useReferenceList_unstable = (props, ref) => {
15
+ return {
16
+ components: {
17
+ root: 'ol'
18
+ },
19
+ root: slot.always(getNativeElementProps('ol', {
20
+ ref,
21
+ ...props,
22
+ children: React.Children.map(props.children, child => /*#__PURE__*/React.createElement("li", {
23
+ className: referenceListItemClassName
24
+ }, child))
25
+ }), {
26
+ elementType: 'ol'
27
+ })
28
+ };
29
+ };
30
+ //# sourceMappingURL=useReferenceList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceList.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-components';\nimport type { ReferenceListProps, ReferenceListState } from './ReferenceList.types';\nimport { referenceListItemClassName } from './useReferenceListStyles';\n\n// If you add JSX to this file, be sure to change the file type to .tsx\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<HTMLElement>,\n): ReferenceListState => {\n return {\n components: {\n root: 'ol',\n },\n root: slot.always(\n getNativeElementProps('ol', {\n ref,\n ...props,\n children: React.Children.map(props.children, child => <li className={referenceListItemClassName}>{child}</li>),\n }),\n { elementType: 'ol' },\n ),\n };\n};\n"],"names":["React","getNativeElementProps","slot","referenceListItemClassName","useReferenceList_unstable","props","ref","components","root","always","children","Children","map","child","li","className","elementType"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qBAAqB,EAAEC,IAAI,QAAQ,6BAA6B;AAEzE,SAASC,0BAA0B,QAAQ,2BAA2B;AAEtE,uEAAuE;AAEvE;;;;;;;;CAQC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC;IAEA,OAAO;QACLC,YAAY;YACVC,MAAM;QACR;QACAA,MAAMN,KAAKO,MAAM,CACfR,sBAAsB,MAAM;YAC1BK;YACA,GAAGD,KAAK;YACRK,UAAUV,MAAMW,QAAQ,CAACC,GAAG,CAACP,MAAMK,QAAQ,EAAEG,CAAAA,sBAAS,oBAACC;oBAAGC,WAAWZ;mBAA6BU;QACpG,IACA;YAAEG,aAAa;QAAK;IAExB;AACF,EAAE"}
@@ -0,0 +1,17 @@
1
+ import { __resetStyles, mergeClasses, tokens } from '@fluentui/react-components';
2
+ export const referenceListClassNames = {
3
+ root: 'fai-ReferenceList'
4
+ };
5
+ export const referenceListItemClassName = 'fai-ReferenceList__item';
6
+ /**
7
+ * Styles for the root slot
8
+ */
9
+ const useRootClassName = __resetStyles("rc0s888", null, [".rc0s888{padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacingVerticalS);}", ".rc0s888>.fai-ReferenceList__item{list-style-type:none;}"]);
10
+ /**
11
+ * Apply styling to the ReferenceList slots based on the state
12
+ */
13
+ export const useReferenceListStyles_unstable = state => {
14
+ state.root.className = mergeClasses(referenceListClassNames.root, useRootClassName(), state.root.className);
15
+ return state;
16
+ };
17
+ //# sourceMappingURL=useReferenceListStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceListStyles.ts"],"sourcesContent":["import { makeResetStyles, 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};\n\nexport const referenceListItemClassName = 'fai-ReferenceList__item';\n\n/**\n * Styles for the root slot\n */\nconst useRootClassName = makeResetStyles({\n padding: 0,\n margin: 0,\n display: 'flex',\n flexDirection: 'column',\n gap: tokens.spacingVerticalS,\n\n [`> .${referenceListItemClassName}`]: {\n listStyleType: 'none',\n },\n});\n\n/**\n * Apply styling to the ReferenceList slots based on the state\n */\nexport const useReferenceListStyles_unstable = (state: ReferenceListState): ReferenceListState => {\n state.root.className = mergeClasses(referenceListClassNames.root, useRootClassName(), state.root.className);\n\n return state;\n};\n"],"names":["makeResetStyles","mergeClasses","tokens","referenceListClassNames","root","referenceListItemClassName","useRootClassName","padding","margin","display","flexDirection","gap","spacingVerticalS","listStyleType","useReferenceListStyles_unstable","state","className"],"mappings":"AAAA,SAASA,eAAe,EAAEC,YAAY,EAAEC,MAAM,QAAQ,6BAA6B;AAInF,OAAO,MAAMC,0BAA8D;IACzEC,MAAM;AACR,EAAE;AAEF,OAAO,MAAMC,6BAA6B,0BAA0B;AAEpE;;CAEC,GACD,MAAMC,mBAAmBN,gBAAgB;IACvCO,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,eAAe;IACfC,KAAKT,OAAOU,gBAAgB;IAE5B,CAAC,CAAC,GAAG,EAAEP,2BAA2B,CAAC,CAAC,EAAE;QACpCQ,eAAe;IACjB;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,kCAAkC,CAACC;IAC9CA,MAAMX,IAAI,CAACY,SAAS,GAAGf,aAAaE,wBAAwBC,IAAI,EAAEE,oBAAoBS,MAAMX,IAAI,CAACY,SAAS;IAE1G,OAAOD;AACT,EAAE"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
3
+ const noop = () => {};
4
+ const ReferenceGroupContext = React.createContext(undefined);
5
+ export const ReferenceGroupProvider = ReferenceGroupContext.Provider;
6
+ export const useReferenceGroupSetOpen = () => {
7
+ const context = React.useContext(ReferenceGroupContext);
8
+ var _context_setOpen;
9
+ return (_context_setOpen = context === null || context === void 0 ? void 0 : context.setOpen) !== null && _context_setOpen !== void 0 ? _context_setOpen : noop;
10
+ };
11
+ //# sourceMappingURL=ReferenceGroupContext.js.map
@@ -0,0 +1 @@
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":["React","noop","ReferenceGroupContext","createContext","undefined","ReferenceGroupProvider","Provider","useReferenceGroupSetOpen","context","useContext","setOpen"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,gEAAgE;AAChE,MAAMC,OAAO,KAAO;AAOpB,MAAMC,wBAAwBF,MAAMG,aAAa,CAAoCC;AAErF,OAAO,MAAMC,yBAAyBH,sBAAsBI,QAAQ,CAAC;AAErE,OAAO,MAAMC,2BAA2B;IACtC,MAAMC,UAAUR,MAAMS,UAAU,CAACP;QAC1BM;IAAP,OAAOA,CAAAA,mBAAAA,oBAAAA,8BAAAA,QAASE,OAAO,cAAhBF,8BAAAA,mBAAoBP;AAC7B,EAAE"}
@@ -0,0 +1,4 @@
1
+ export * from './useReferenceCitation';
2
+ export { useReferenceCitationPreview } from './useReferenceCitationPreview';
3
+ export * from './useReferenceGroup';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './useReferenceCitation';\nexport { useReferenceCitationPreview, type UseReferenceCitationPreview } from './useReferenceCitationPreview';\nexport * from './useReferenceGroup';\n"],"names":["useReferenceCitationPreview"],"mappings":"AAAA,cAAc,yBAAyB;AACvC,SAASA,2BAA2B,QAA0C,gCAAgC;AAC9G,cAAc,sBAAsB"}
@@ -0,0 +1,77 @@
1
+ import * as React from 'react';
2
+ import { resolveShorthand, useId } from '@fluentui/react-components';
3
+ import { Citation } from '../Citation';
4
+ import { Reference } from '../Reference';
5
+ /**
6
+ * Hook to package a `Citation` and `Reference` together in an
7
+ * accessibly by default manner.
8
+ *
9
+ * When using citations and references, prefer using them via this
10
+ * hook to ensure props are wired up correctly.
11
+ *
12
+ * @deprecated Use `useReferenceCitationPreview` hook instead.
13
+ */
14
+ export const useReferenceCitation = ({
15
+ index,
16
+ referenceId: propsRefId,
17
+ citationId: propsCiteId,
18
+ citationProps,
19
+ referenceProps,
20
+ popoverProps
21
+ }) => {
22
+ const refId = useId();
23
+ const citeId = useId();
24
+ const referenceId = propsRefId !== null && propsRefId !== void 0 ? propsRefId : refId;
25
+ const citationId = propsCiteId !== null && propsCiteId !== void 0 ? propsCiteId : citeId;
26
+ const components = React.useMemo(() => {
27
+ const citationHref = `#${citationId}`;
28
+ const PackagedCitation = props => {
29
+ return /*#__PURE__*/React.createElement(Citation, {
30
+ ...citationProps,
31
+ id: citationId,
32
+ referenceId: referenceId,
33
+ ...props
34
+ }, index);
35
+ };
36
+ const PackagedReference = props => {
37
+ return /*#__PURE__*/React.createElement(Reference, {
38
+ ...referenceProps,
39
+ index: index,
40
+ referenceId: referenceId,
41
+ citationHref: citationHref,
42
+ ...props
43
+ });
44
+ };
45
+ const PackagedCitationPopover = props => {
46
+ const referenceLabel = referenceProps ? resolveShorthand(referenceProps.label, {
47
+ required: true
48
+ }) : {};
49
+ const popoverLabel = popoverProps ? resolveShorthand(popoverProps.label, {
50
+ required: true
51
+ }) : {};
52
+ const label = resolveShorthand(props.label, {
53
+ required: true
54
+ });
55
+ const labelProps = {
56
+ ...referenceLabel,
57
+ ...popoverLabel,
58
+ ...label
59
+ };
60
+ return /*#__PURE__*/React.createElement(Reference, {
61
+ ...referenceProps,
62
+ ...popoverProps,
63
+ index: index,
64
+ ...props,
65
+ label: labelProps,
66
+ layout: "popover"
67
+ });
68
+ };
69
+ return {
70
+ Citation: PackagedCitation,
71
+ Reference: PackagedReference,
72
+ Popover: PackagedCitationPopover
73
+ };
74
+ }, [index, referenceId, citationId, referenceProps, citationProps, popoverProps]);
75
+ return components;
76
+ };
77
+ //# sourceMappingURL=useReferenceCitation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceCitation.tsx"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand, useId } from '@fluentui/react-components';\n\nimport { Citation } from '../Citation';\nimport { Reference } from '../Reference';\nimport type { CitationProps } from '../Citation';\nimport type { ReferenceProps } from '../Reference';\n\ntype PartialCitationProps = 'referenceHref' | 'referenceId';\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 *\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport type PackagedCitationProps = Omit<CitationProps, PartialCitationProps> &\n Partial<Pick<CitationProps, PartialCitationProps>>;\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 *\n * @deprecated Use `useReferenceCitationPreview` hook instead.\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 *\n * @deprecated Use `useReferenceCitationPreview` hook instead.\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 *\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport type PackagedReference = React.FC<PackagedReferenceProps>;\n\n/**\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport type PackagedCitationPopoverProps = Omit<PackagedReferenceProps, 'layout'>;\n/**\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport type PackagedCitationPopover = React.FC<PackagedCitationPopoverProps>;\n\n/**\n * Data used to package a `Citation` and `Reference` together with\n * the `useReferenceCitation` hook.\n *\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport type ReferenceCitationData = {\n index: number;\n referenceId?: string;\n citationId?: string;\n citationProps?: PackagedCitationProps;\n referenceProps?: PackagedReferenceProps;\n popoverProps?: PackagedCitationPopoverProps;\n};\n\n/**\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport type UseReferenceCitation = (data: ReferenceCitationData) => {\n Citation: PackagedCitation;\n Reference: PackagedReference;\n Popover: PackagedCitationPopover;\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 *\n * @deprecated Use `useReferenceCitationPreview` hook instead.\n */\nexport const useReferenceCitation: UseReferenceCitation = ({\n index,\n referenceId: propsRefId,\n citationId: propsCiteId,\n citationProps,\n referenceProps,\n popoverProps,\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 PackagedCitation: PackagedCitation = props => {\n return (\n <Citation {...citationProps} id={citationId} referenceId={referenceId} {...props}>\n {index}\n </Citation>\n );\n };\n\n const PackagedReference: PackagedReference = props => {\n return (\n <Reference {...referenceProps} index={index} referenceId={referenceId} citationHref={citationHref} {...props} />\n );\n };\n\n const PackagedCitationPopover: PackagedCitationPopover = props => {\n const referenceLabel = referenceProps ? resolveShorthand(referenceProps.label, { required: true }) : {};\n const popoverLabel = popoverProps ? resolveShorthand(popoverProps.label, { required: true }) : {};\n const label = resolveShorthand(props.label, { required: true });\n const labelProps = {\n ...referenceLabel,\n ...popoverLabel,\n ...label,\n };\n\n return (\n <Reference {...referenceProps} {...popoverProps} index={index} {...props} label={labelProps} layout=\"popover\" />\n );\n };\n\n return {\n Citation: PackagedCitation,\n Reference: PackagedReference,\n Popover: PackagedCitationPopover,\n };\n }, [index, referenceId, citationId, referenceProps, citationProps, popoverProps]);\n\n return components;\n};\n"],"names":["React","resolveShorthand","useId","Citation","Reference","useReferenceCitation","index","referenceId","propsRefId","citationId","propsCiteId","citationProps","referenceProps","popoverProps","refId","citeId","components","useMemo","citationHref","PackagedCitation","props","id","PackagedReference","PackagedCitationPopover","referenceLabel","label","required","popoverLabel","labelProps","layout","Popover"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,KAAK,QAAQ,6BAA6B;AAErE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,SAAS,QAAQ,eAAe;AA2EzC;;;;;;;;CAQC,GACD,OAAO,MAAMC,uBAA6C,CAAC,EACzDC,KAAK,EACLC,aAAaC,UAAU,EACvBC,YAAYC,WAAW,EACvBC,aAAa,EACbC,cAAc,EACdC,YAAY,EACb;IACC,MAAMC,QAAQZ;IACd,MAAMa,SAASb;IAEf,MAAMK,cAAcC,uBAAAA,wBAAAA,aAAcM;IAClC,MAAML,aAAaC,wBAAAA,yBAAAA,cAAeK;IAElC,MAAMC,aAAahB,MAAMiB,OAAO,CAAC;QAC/B,MAAMC,eAAe,CAAC,CAAC,EAAET,WAAW,CAAC;QAErC,MAAMU,mBAAqCC,CAAAA;YACzC,qBACE,oBAACjB;gBAAU,GAAGQ,aAAa;gBAAEU,IAAIZ;gBAAYF,aAAaA;gBAAc,GAAGa,KAAK;eAC7Ed;QAGP;QAEA,MAAMgB,oBAAuCF,CAAAA;YAC3C,qBACE,oBAAChB;gBAAW,GAAGQ,cAAc;gBAAEN,OAAOA;gBAAOC,aAAaA;gBAAaW,cAAcA;gBAAe,GAAGE,KAAK;;QAEhH;QAEA,MAAMG,0BAAmDH,CAAAA;YACvD,MAAMI,iBAAiBZ,iBAAiBX,iBAAiBW,eAAea,KAAK,EAAE;gBAAEC,UAAU;YAAK,KAAK,CAAC;YACtG,MAAMC,eAAed,eAAeZ,iBAAiBY,aAAaY,KAAK,EAAE;gBAAEC,UAAU;YAAK,KAAK,CAAC;YAChG,MAAMD,QAAQxB,iBAAiBmB,MAAMK,KAAK,EAAE;gBAAEC,UAAU;YAAK;YAC7D,MAAME,aAAa;gBACjB,GAAGJ,cAAc;gBACjB,GAAGG,YAAY;gBACf,GAAGF,KAAK;YACV;YAEA,qBACE,oBAACrB;gBAAW,GAAGQ,cAAc;gBAAG,GAAGC,YAAY;gBAAEP,OAAOA;gBAAQ,GAAGc,KAAK;gBAAEK,OAAOG;gBAAYC,QAAO;;QAExG;QAEA,OAAO;YACL1B,UAAUgB;YACVf,WAAWkB;YACXQ,SAASP;QACX;IACF,GAAG;QAACjB;QAAOC;QAAaE;QAAYG;QAAgBD;QAAeE;KAAa;IAEhF,OAAOG;AACT,EAAE"}
@@ -0,0 +1,128 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Badge, Caption1, assertSlots, mergeCallbacks, slot, useId, usePopoverContext_unstable } from '@fluentui/react-components';
4
+ // eslint-disable-next-line @nx/enforce-module-boundaries
5
+ import { Preview, PreviewContent, PreviewHeader, PreviewMetadata, PreviewSurface, PreviewTrigger } from '@fluentui-copilot/react-preview';
6
+ import { Citation } from '../Citation';
7
+ import { Reference } from '../Reference';
8
+ // 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.
9
+ const CitationCloseButton = citationCloseButtonProps => {
10
+ const setPopoverOpen = usePopoverContext_unstable(context => context.setOpen);
11
+ const onPopoverCloseClick = React.useCallback(ev => {
12
+ setPopoverOpen(ev, false);
13
+ // Don't navigate
14
+ ev.preventDefault();
15
+ }, [setPopoverOpen]);
16
+ const onCitationCloseButtonClick = mergeCallbacks(onPopoverCloseClick, citationCloseButtonProps.onClick);
17
+ return /*#__PURE__*/_jsx(Citation, {
18
+ ...citationCloseButtonProps,
19
+ onClick: onCitationCloseButtonClick
20
+ });
21
+ };
22
+ /**
23
+ * Hook to package a `Citation` and `Reference` together in an
24
+ * accessibly by default manner.
25
+ *
26
+ * When using citations and references, prefer using them via this
27
+ * hook to ensure props are wired up correctly.
28
+ */
29
+ export const useReferenceCitationPreview = ({
30
+ index,
31
+ referenceId: propsRefId,
32
+ citationId: propsCiteId,
33
+ citationProps,
34
+ referenceProps,
35
+ previewProps,
36
+ previewSurfaceProps
37
+ }) => {
38
+ const refId = useId();
39
+ const citeId = useId();
40
+ const referenceId = propsRefId !== null && propsRefId !== void 0 ? propsRefId : refId;
41
+ const citationId = propsCiteId !== null && propsCiteId !== void 0 ? propsCiteId : citeId;
42
+ const components = React.useMemo(() => {
43
+ const citationHref = `#${citationId}`;
44
+ const PackagedReference = props => {
45
+ var _props_index, _ref;
46
+ 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;
47
+ return /*#__PURE__*/_jsx(Reference, {
48
+ ...referenceProps,
49
+ index: referenceIndex,
50
+ referenceId: referenceId,
51
+ citationHref: citationHref,
52
+ ...props
53
+ });
54
+ };
55
+ const CitationWithPreview = props => {
56
+ // We assert content as a slot to use it with its resolved props object and the correct defaults below.
57
+ const content = slot.always(referenceProps ? referenceProps.content : undefined, {
58
+ defaultProps: {
59
+ children: (referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.excerpt) && /*#__PURE__*/_jsx(Caption1, {
60
+ children: referenceProps.excerpt
61
+ })
62
+ },
63
+ elementType: 'div'
64
+ });
65
+ const citationWithPreviewState = {
66
+ components: {
67
+ content: 'div'
68
+ },
69
+ content
70
+ };
71
+ assertSlots(citationWithPreviewState);
72
+ // We resolve the slots' objects for sensitivityLabel and title here so that we can use the information from their children below.
73
+ const sensitivityLabel = slot.optional(referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.sensitivityLabel, {
74
+ elementType: 'span'
75
+ });
76
+ const title = slot.optional(referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.label, {
77
+ elementType: 'div'
78
+ });
79
+ return /*#__PURE__*/_jsxs(Preview, {
80
+ closeOnScroll: true,
81
+ positioning: "below",
82
+ size: "small",
83
+ trapFocus: true,
84
+ withArrow: true,
85
+ ...previewProps,
86
+ children: [/*#__PURE__*/_jsx(PreviewTrigger, {
87
+ children: /*#__PURE__*/_jsx(Citation, {
88
+ ...citationProps,
89
+ id: citationId,
90
+ referenceId: referenceId,
91
+ ...props,
92
+ children: index
93
+ })
94
+ }), /*#__PURE__*/_jsx(PreviewSurface, {
95
+ ...previewSurfaceProps,
96
+ children: /*#__PURE__*/_jsxs(PreviewContent, {
97
+ children: [/*#__PURE__*/_jsx(PreviewHeader, {
98
+ citation: /*#__PURE__*/_jsx(CitationCloseButton, {
99
+ "aria-label": `Reference ${index}, close`,
100
+ referenceHref: "#",
101
+ tabIndex: -1,
102
+ children: index
103
+ }),
104
+ media: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.media,
105
+ children: title === null || title === void 0 ? void 0 : title.children
106
+ }), /*#__PURE__*/_jsx(PreviewMetadata, {
107
+ icon: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.icon,
108
+ primaryText: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.primaryText,
109
+ secondaryText: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.secondaryText,
110
+ tertiaryText: referenceProps === null || referenceProps === void 0 ? void 0 : referenceProps.tertiaryText
111
+ }), sensitivityLabel && /*#__PURE__*/_jsx(Badge, {
112
+ color: "informative",
113
+ shape: "rounded",
114
+ size: "small",
115
+ children: sensitivityLabel.children
116
+ }), /*#__PURE__*/_jsx(citationWithPreviewState.content, {}), previewProps === null || previewProps === void 0 ? void 0 : previewProps.children]
117
+ })
118
+ })]
119
+ });
120
+ };
121
+ return {
122
+ Citation: CitationWithPreview,
123
+ Reference: PackagedReference
124
+ };
125
+ }, [index, referenceId, citationId, referenceProps, citationProps, previewProps, previewSurfaceProps]);
126
+ return components;
127
+ };
128
+ //# sourceMappingURL=useReferenceCitationPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useReferenceCitationPreview.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport * as React from 'react';\nimport {\n Badge,\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\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport {\n Preview,\n PreviewContent,\n PreviewHeader,\n PreviewMetadata,\n PreviewSurface,\n PreviewTrigger,\n} from '@fluentui-copilot/react-preview';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport type { PreviewProps, PreviewSurfaceProps } from '@fluentui-copilot/react-preview';\n\nimport { Citation } from '../Citation';\nimport { Reference } from '../Reference';\nimport type { CitationProps } from '../Citation';\nimport type { ReferenceProps } from '../Reference';\n\ntype PartialCitationProps = 'referenceHref' | 'referenceId';\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, PartialCitationProps | 'popover' | 'popoverSurface'> &\n Partial<Pick<CitationProps, PartialCitationProps>>;\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};\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}) => {\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 sensitivityLabel and title here so that we can use the information from their children below.\n const sensitivityLabel = slot.optional(referenceProps?.sensitivityLabel, { 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} referenceId={referenceId} {...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 {sensitivityLabel && (\n <Badge color=\"informative\" shape=\"rounded\" size=\"small\">\n {sensitivityLabel.children}\n </Badge>\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 }, [index, referenceId, citationId, referenceProps, citationProps, previewProps, previewSurfaceProps]);\n\n return components;\n};\n"],"names":["React","Badge","Caption1","assertSlots","mergeCallbacks","slot","useId","usePopoverContext_unstable","Preview","PreviewContent","PreviewHeader","PreviewMetadata","PreviewSurface","PreviewTrigger","Citation","Reference","CitationCloseButton","citationCloseButtonProps","setPopoverOpen","context","setOpen","onPopoverCloseClick","useCallback","ev","preventDefault","onCitationCloseButtonClick","onClick","useReferenceCitationPreview","index","referenceId","propsRefId","citationId","propsCiteId","citationProps","referenceProps","previewProps","previewSurfaceProps","refId","citeId","components","useMemo","citationHref","PackagedReference","props","referenceIndex","CitationWithPreview","content","always","undefined","defaultProps","children","excerpt","elementType","citationWithPreviewState","sensitivityLabel","optional","title","label","closeOnScroll","positioning","size","trapFocus","withArrow","id","citation","aria-label","referenceHref","tabIndex","media","icon","primaryText","secondaryText","tertiaryText","color","shape"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,YAAYA,WAAW,QAAQ;AAC/B,SACEC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACXC,cAAc,EACdC,IAAI,EACJC,KAAK,EACLC,0BAA0B,QACrB,6BAA6B;AAGpC,yDAAyD;AACzD,SACEC,OAAO,EACPC,cAAc,EACdC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,cAAc,QACT,kCAAkC;AAIzC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,SAAS,QAAQ,eAAe;AAyDzC,6IAA6I;AAC7I,MAAMC,sBAAsB,CAACC;IAC3B,MAAMC,iBAAiBX,2BAA2BY,CAAAA,UAAWA,QAAQC,OAAO;IAE5E,MAAMC,sBAAsBrB,MAAMsB,WAAW,CAC3CC,CAAAA;QACEL,eAAeK,IAAI;QAEnB,iBAAiB;QACjBA,GAAGC,cAAc;IACnB,GACA;QAACN;KAAe;IAGlB,MAAMO,6BAA6BrB,eAAeiB,qBAAqBJ,yBAAyBS,OAAO;IAEvG,qBAAO,KAACZ;QAAU,GAAGG,wBAAwB;QAAES,SAASD;;AAC1D;AAEA;;;;;;CAMC,GACD,OAAO,MAAME,8BAA2D,CAAC,EACvEC,KAAK,EACLC,aAAaC,UAAU,EACvBC,YAAYC,WAAW,EACvBC,aAAa,EACbC,cAAc,EACdC,YAAY,EACZC,mBAAmB,EACpB;IACC,MAAMC,QAAQ/B;IACd,MAAMgC,SAAShC;IAEf,MAAMuB,cAAcC,uBAAAA,wBAAAA,aAAcO;IAClC,MAAMN,aAAaC,wBAAAA,yBAAAA,cAAeM;IAElC,MAAMC,aAAavC,MAAMwC,OAAO,CAAC;QAC/B,MAAMC,eAAe,CAAC,CAAC,EAAEV,WAAW,CAAC;QAErC,MAAMW,oBAAuCC,CAAAA;gBACpBA,cAAAA;YAAvB,MAAMC,iBAAiBD,CAAAA,OAAAA,CAAAA,eAAAA,MAAMf,KAAK,cAAXe,0BAAAA,eAAeT,2BAAAA,qCAAAA,eAAgBN,KAAK,cAApCe,kBAAAA,OAAwCf;YAE/D,qBACE,KAACb;gBACE,GAAGmB,cAAc;gBAClBN,OAAOgB;gBACPf,aAAaA;gBACbY,cAAcA;gBACb,GAAGE,KAAK;;QAGf;QAEA,MAAME,sBAAwCF,CAAAA;YAC5C,uGAAuG;YACvG,MAAMG,UAAUzC,KAAK0C,MAAM,CAACb,iBAAiBA,eAAeY,OAAO,GAAGE,WAAW;gBAC/EC,cAAc;oBACZC,UAAUhB,CAAAA,2BAAAA,qCAAAA,eAAgBiB,OAAO,mBAAI,KAACjD;kCAAUgC,eAAeiB,OAAO;;gBACxE;gBACAC,aAAa;YACf;YACA,MAAMC,2BAA2B;gBAC/Bd,YAAY;oBACVO,SAAS;gBACX;gBACAA;YACF;YACA3C,YAA+BkD;YAE/B,kIAAkI;YAClI,MAAMC,mBAAmBjD,KAAKkD,QAAQ,CAACrB,2BAAAA,qCAAAA,eAAgBoB,gBAAgB,EAAE;gBAAEF,aAAa;YAAO;YAC/F,MAAMI,QAAQnD,KAAKkD,QAAQ,CAACrB,2BAAAA,qCAAAA,eAAgBuB,KAAK,EAAE;gBAAEL,aAAa;YAAM;YAExE,qBACE,MAAC5C;gBAAQkD,aAAa;gBAACC,aAAY;gBAAQC,MAAK;gBAAQC,SAAS;gBAACC,SAAS;gBAAE,GAAG3B,YAAY;;kCAC1F,KAACtB;kCACC,cAAA,KAACC;4BAAU,GAAGmB,aAAa;4BAAE8B,IAAIhC;4BAAYF,aAAaA;4BAAc,GAAGc,KAAK;sCAC7Ef;;;kCAGL,KAAChB;wBAAgB,GAAGwB,mBAAmB;kCACrC,cAAA,MAAC3B;;8CACC,KAACC;oCACCsD,wBACE,KAAChD;wCAAoBiD,cAAY,CAAC,UAAU,EAAErC,MAAM,OAAO,CAAC;wCAAEsC,eAAc;wCAAIC,UAAU,CAAC;kDACxFvC;;oCAGLwC,KAAK,EAAElC,2BAAAA,qCAAAA,eAAgBkC,KAAK;8CAE3BZ,kBAAAA,4BAAAA,MAAON,QAAQ;;8CAElB,KAACvC;oCACC0D,IAAI,EAAEnC,2BAAAA,qCAAAA,eAAgBmC,IAAI;oCAC1BC,WAAW,EAAEpC,2BAAAA,qCAAAA,eAAgBoC,WAAW;oCACxCC,aAAa,EAAErC,2BAAAA,qCAAAA,eAAgBqC,aAAa;oCAC5CC,YAAY,EAAEtC,2BAAAA,qCAAAA,eAAgBsC,YAAY;;gCAE3ClB,kCACC,KAACrD;oCAAMwE,OAAM;oCAAcC,OAAM;oCAAUd,MAAK;8CAC7CN,iBAAiBJ,QAAQ;;8CAG9B,KAACG,yBAAyBP,OAAO;gCAChCX,yBAAAA,mCAAAA,aAAce,QAAQ;;;;;;QAKjC;QAEA,OAAO;YACLpC,UAAU+B;YACV9B,WAAW2B;QACb;IACF,GAAG;QAACd;QAAOC;QAAaE;QAAYG;QAAgBD;QAAeE;QAAcC;KAAoB;IAErG,OAAOG;AACT,EAAE"}
@@ -0,0 +1,40 @@
1
+ import * as React from 'react';
2
+ import { __styles, useId } from '@fluentui/react-components';
3
+ const useStyles = __styles({
4
+ hidden: {
5
+ mc9l5x: "fjseox"
6
+ }
7
+ }, {
8
+ d: [".fjseox{display:none;}"]
9
+ });
10
+ /**
11
+ * Hook to package a `ReferenceGroupToggle` and `ReferenceList` together and
12
+ * maintain their `isOpen` state.
13
+ *
14
+ * When rendering a group of references, prefer to use this hook
15
+ * hook to ensure state is maintained correctly
16
+ */
17
+ export const useReferenceGroup = props => {
18
+ const [isOpen, setIsOpen] = React.useState(false);
19
+ const styles = useStyles();
20
+ const referenceListId = useId('reference-list', props.referenceListId);
21
+ return React.useMemo(() => {
22
+ const handleClick = () => {
23
+ setIsOpen(isOpen => !isOpen);
24
+ };
25
+ const referenceGroupToggleProps = {
26
+ 'aria-controls': referenceListId,
27
+ isOpen,
28
+ onClick: handleClick
29
+ };
30
+ const referenceListProps = {
31
+ className: isOpen ? undefined : styles.hidden,
32
+ id: referenceListId
33
+ };
34
+ return {
35
+ referenceGroupToggleProps,
36
+ referenceListProps
37
+ };
38
+ }, [isOpen, referenceListId, styles.hidden]);
39
+ };
40
+ //# sourceMappingURL=useReferenceGroup.js.map
@@ -0,0 +1 @@
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":["React","makeStyles","useId","useStyles","hidden","display","useReferenceGroup","props","isOpen","setIsOpen","useState","styles","referenceListId","useMemo","handleClick","referenceGroupToggleProps","onClick","referenceListProps","className","undefined","id"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,KAAK,QAAQ,6BAA6B;AAU/D,MAAMC,YAAYF,WAAW;IAC3BG,QAAQ;QACNC,SAAS;IACX;AACF;AAEA;;;;;;CAMC,GACD,OAAO,MAAMC,oBAAuCC,CAAAA;IAClD,MAAM,CAACC,QAAQC,UAAU,GAAGT,MAAMU,QAAQ,CAAC;IAC3C,MAAMC,SAASR;IACf,MAAMS,kBAAkBV,MAAM,kBAAkBK,MAAMK,eAAe;IAErE,OAAOZ,MAAMa,OAAO,CAAC;QACnB,MAAMC,cAAc;YAClBL,UAAUD,CAAAA,SAAU,CAACA;QACvB;QAEA,MAAMO,4BAA4B;YAChC,iBAAiBH;YACjBJ;YACAQ,SAASF;QACX;QAEA,MAAMG,qBAAqB;YACzBC,WAAWV,SAASW,YAAYR,OAAOP,MAAM;YAC7CgB,IAAIR;QACN;QAEA,OAAO;YAAEG;YAA2BE;QAAmB;IACzD,GAAG;QAACT;QAAQI;QAAiBD,OAAOP,MAAM;KAAC;AAC7C,EAAE"}
package/lib/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { Citation, citationClassNames, renderCitation_unstable, useCitation_unstable, useCitationStyles_unstable } from './Citation';
2
+ export { Reference, referenceClassNames, renderReference_unstable, useReference_unstable, useReferenceStyles_unstable } from './Reference';
3
+ export { useReferenceCitation, useReferenceCitationPreview, useReferenceGroup } from './hooks';
4
+ export { ReferenceList, referenceListClassNames, useReferenceList_unstable, useReferenceListStyles_unstable, renderReferenceList_unstable } from './ReferenceList';
5
+ export { ReferenceGroup, referenceGroupClassNames, renderReferenceGroup_unstable, useReferenceGroup_unstable, useReferenceGroupStyles_unstable } from './ReferenceGroup';
6
+ export { ReferenceGroupToggle, referenceGroupToggleClassNames, renderReferenceGroupToggle_unstable, useReferenceGroupToggleStyles_unstable, useReferenceGroupToggle_unstable } from './ReferenceGroupToggle';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export {\n Citation,\n citationClassNames,\n renderCitation_unstable,\n useCitation_unstable,\n useCitationStyles_unstable,\n} from './Citation';\nexport {\n Reference,\n referenceClassNames,\n renderReference_unstable,\n useReference_unstable,\n useReferenceStyles_unstable,\n} from './Reference';\nexport { useReferenceCitation, useReferenceCitationPreview, useReferenceGroup } from './hooks';\nexport {\n ReferenceList,\n referenceListClassNames,\n useReferenceList_unstable,\n useReferenceListStyles_unstable,\n renderReferenceList_unstable,\n} from './ReferenceList';\nexport {\n ReferenceGroup,\n referenceGroupClassNames,\n renderReferenceGroup_unstable,\n useReferenceGroup_unstable,\n useReferenceGroupStyles_unstable,\n} from './ReferenceGroup';\nexport {\n ReferenceGroupToggle,\n referenceGroupToggleClassNames,\n renderReferenceGroupToggle_unstable,\n useReferenceGroupToggleStyles_unstable,\n useReferenceGroupToggle_unstable,\n} from './ReferenceGroupToggle';\n\n// Types\n\nexport type { CitationSlots, CitationProps, CitationState } from './Citation';\nexport type { ReferenceSlots, ReferenceProps, ReferenceState } from './Reference';\nexport type { ReferenceListSlots, ReferenceListProps, ReferenceListState } from './ReferenceList';\nexport type { ReferenceGroupSlots, ReferenceGroupProps, ReferenceGroupState } from './ReferenceGroup';\nexport type {\n ReferenceGroupToggleSlots,\n ReferenceGroupToggleProps,\n ReferenceGroupToggleState,\n} from './ReferenceGroupToggle';\n\nexport type {\n PackagedCitationProps,\n PackagedCitation,\n PackagedReferenceProps,\n PackagedReference,\n ReferenceCitationData,\n UseReferenceCitation,\n UseReferenceCitationPreview,\n UseReferenceGroup,\n UseReferenceGroupProps,\n} from './hooks';\n"],"names":["Citation","citationClassNames","renderCitation_unstable","useCitation_unstable","useCitationStyles_unstable","Reference","referenceClassNames","renderReference_unstable","useReference_unstable","useReferenceStyles_unstable","useReferenceCitation","useReferenceCitationPreview","useReferenceGroup","ReferenceList","referenceListClassNames","useReferenceList_unstable","useReferenceListStyles_unstable","renderReferenceList_unstable","ReferenceGroup","referenceGroupClassNames","renderReferenceGroup_unstable","useReferenceGroup_unstable","useReferenceGroupStyles_unstable","ReferenceGroupToggle","referenceGroupToggleClassNames","renderReferenceGroupToggle_unstable","useReferenceGroupToggleStyles_unstable","useReferenceGroupToggle_unstable"],"mappings":"AAAA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,oBAAoB,EACpBC,0BAA0B,QACrB,aAAa;AACpB,SACEC,SAAS,EACTC,mBAAmB,EACnBC,wBAAwB,EACxBC,qBAAqB,EACrBC,2BAA2B,QACtB,cAAc;AACrB,SAASC,oBAAoB,EAAEC,2BAA2B,EAAEC,iBAAiB,QAAQ,UAAU;AAC/F,SACEC,aAAa,EACbC,uBAAuB,EACvBC,yBAAyB,EACzBC,+BAA+B,EAC/BC,4BAA4B,QACvB,kBAAkB;AACzB,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,0BAA0B,EAC1BC,gCAAgC,QAC3B,mBAAmB;AAC1B,SACEC,oBAAoB,EACpBC,8BAA8B,EAC9BC,mCAAmC,EACnCC,sCAAsC,EACtCC,gCAAgC,QAC3B,yBAAyB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./components/Citation/index"), exports);
7
+ //# sourceMappingURL=Citation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Citation.js"],"sourcesContent":["export * from './components/Citation/index';\n//# sourceMappingURL=Citation.js.map"],"names":[],"mappings":";;;;;uBAAc;CACd,oCAAoC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./components/Reference/index"), exports);
7
+ //# sourceMappingURL=Reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Reference.js"],"sourcesContent":["export * from './components/Reference/index';\n//# sourceMappingURL=Reference.js.map"],"names":[],"mappings":";;;;;uBAAc;CACd,qCAAqC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./components/ReferenceGroup/index"), exports);
7
+ //# sourceMappingURL=ReferenceGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ReferenceGroup.js"],"sourcesContent":["export * from './components/ReferenceGroup/index';\n//# sourceMappingURL=ReferenceGroup.js.map"],"names":[],"mappings":";;;;;uBAAc;CACd,0CAA0C"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./components/ReferenceGroupToggle/index"), exports);
7
+ //# sourceMappingURL=ReferenceGroupToggle.js.map