@fluentui/react-accordion 0.0.0-nightlyebf02572f720211207.1 → 0.0.0-nightlyf3017f159620220222.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 (175) hide show
  1. package/CHANGELOG.json +245 -25
  2. package/CHANGELOG.md +58 -14
  3. package/Spec.md +36 -4
  4. package/dist/react-accordion.d.ts +40 -58
  5. package/lib/Accordion.js.map +1 -1
  6. package/lib/AccordionHeader.js.map +1 -1
  7. package/lib/AccordionItem.js.map +1 -1
  8. package/lib/AccordionPanel.js.map +1 -1
  9. package/lib/components/Accordion/Accordion.d.ts +1 -1
  10. package/lib/components/Accordion/Accordion.js +9 -9
  11. package/lib/components/Accordion/Accordion.js.map +1 -1
  12. package/lib/components/Accordion/Accordion.types.d.ts +7 -5
  13. package/lib/components/Accordion/Accordion.types.js.map +1 -1
  14. package/lib/components/Accordion/AccordionContext.js +0 -1
  15. package/lib/components/Accordion/AccordionContext.js.map +1 -1
  16. package/lib/components/Accordion/index.js.map +1 -1
  17. package/lib/components/Accordion/renderAccordion.d.ts +1 -1
  18. package/lib/components/Accordion/renderAccordion.js +3 -2
  19. package/lib/components/Accordion/renderAccordion.js.map +1 -1
  20. package/lib/components/Accordion/useAccordion.d.ts +2 -3
  21. package/lib/components/Accordion/useAccordion.js +17 -20
  22. package/lib/components/Accordion/useAccordion.js.map +1 -1
  23. package/lib/components/Accordion/useAccordionContextValues.d.ts +1 -1
  24. package/lib/components/Accordion/useAccordionContextValues.js +3 -3
  25. package/lib/components/Accordion/useAccordionContextValues.js.map +1 -1
  26. package/lib/components/Accordion/useAccordionStyles.d.ts +1 -1
  27. package/lib/components/Accordion/useAccordionStyles.js +2 -2
  28. package/lib/components/Accordion/useAccordionStyles.js.map +1 -1
  29. package/lib/components/AccordionHeader/AccordionHeader.d.ts +2 -1
  30. package/lib/components/AccordionHeader/AccordionHeader.js +10 -9
  31. package/lib/components/AccordionHeader/AccordionHeader.js.map +1 -1
  32. package/lib/components/AccordionHeader/AccordionHeader.types.d.ts +12 -11
  33. package/lib/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
  34. package/lib/components/AccordionHeader/AccordionHeaderContext.js.map +1 -1
  35. package/lib/components/AccordionHeader/index.d.ts +0 -1
  36. package/lib/components/AccordionHeader/index.js +0 -1
  37. package/lib/components/AccordionHeader/index.js.map +1 -1
  38. package/lib/components/AccordionHeader/renderAccordionHeader.d.ts +1 -1
  39. package/lib/components/AccordionHeader/renderAccordionHeader.js +8 -4
  40. package/lib/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
  41. package/lib/components/AccordionHeader/useAccordionHeader.d.ts +2 -6
  42. package/lib/components/AccordionHeader/useAccordionHeader.js +28 -19
  43. package/lib/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  44. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +1 -1
  45. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js +1 -1
  46. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -1
  47. package/lib/components/AccordionHeader/useAccordionHeaderStyles.d.ts +1 -1
  48. package/lib/components/AccordionHeader/useAccordionHeaderStyles.js +27 -45
  49. package/lib/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -1
  50. package/lib/components/AccordionItem/AccordionItem.d.ts +1 -1
  51. package/lib/components/AccordionItem/AccordionItem.js +9 -9
  52. package/lib/components/AccordionItem/AccordionItem.js.map +1 -1
  53. package/lib/components/AccordionItem/AccordionItem.types.d.ts +4 -3
  54. package/lib/components/AccordionItem/AccordionItem.types.js.map +1 -1
  55. package/lib/components/AccordionItem/AccordionItemContext.d.ts +1 -1
  56. package/lib/components/AccordionItem/AccordionItemContext.js +1 -1
  57. package/lib/components/AccordionItem/AccordionItemContext.js.map +1 -1
  58. package/lib/components/AccordionItem/index.js.map +1 -1
  59. package/lib/components/AccordionItem/renderAccordionItem.d.ts +1 -1
  60. package/lib/components/AccordionItem/renderAccordionItem.js +4 -4
  61. package/lib/components/AccordionItem/renderAccordionItem.js.map +1 -1
  62. package/lib/components/AccordionItem/useAccordionItem.d.ts +2 -6
  63. package/lib/components/AccordionItem/useAccordionItem.js +9 -13
  64. package/lib/components/AccordionItem/useAccordionItem.js.map +1 -1
  65. package/lib/components/AccordionItem/useAccordionItemContextValues.d.ts +1 -1
  66. package/lib/components/AccordionItem/useAccordionItemContextValues.js +1 -1
  67. package/lib/components/AccordionItem/useAccordionItemContextValues.js.map +1 -1
  68. package/lib/components/AccordionItem/useAccordionItemStyles.d.ts +1 -1
  69. package/lib/components/AccordionItem/useAccordionItemStyles.js +2 -2
  70. package/lib/components/AccordionItem/useAccordionItemStyles.js.map +1 -1
  71. package/lib/components/AccordionPanel/AccordionPanel.d.ts +1 -1
  72. package/lib/components/AccordionPanel/AccordionPanel.js +7 -7
  73. package/lib/components/AccordionPanel/AccordionPanel.js.map +1 -1
  74. package/lib/components/AccordionPanel/AccordionPanel.types.d.ts +2 -2
  75. package/lib/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
  76. package/lib/components/AccordionPanel/index.js.map +1 -1
  77. package/lib/components/AccordionPanel/renderAccordionPanel.d.ts +1 -1
  78. package/lib/components/AccordionPanel/renderAccordionPanel.js +4 -4
  79. package/lib/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
  80. package/lib/components/AccordionPanel/useAccordionPanel.d.ts +2 -6
  81. package/lib/components/AccordionPanel/useAccordionPanel.js +6 -9
  82. package/lib/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  83. package/lib/components/AccordionPanel/useAccordionPanelStyles.d.ts +1 -1
  84. package/lib/components/AccordionPanel/useAccordionPanelStyles.js +2 -2
  85. package/lib/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -1
  86. package/lib/index.js.map +1 -1
  87. package/lib-commonjs/Accordion.js.map +1 -1
  88. package/lib-commonjs/AccordionHeader.js.map +1 -1
  89. package/lib-commonjs/AccordionItem.js.map +1 -1
  90. package/lib-commonjs/AccordionPanel.js.map +1 -1
  91. package/lib-commonjs/components/Accordion/Accordion.d.ts +1 -1
  92. package/lib-commonjs/components/Accordion/Accordion.js +5 -5
  93. package/lib-commonjs/components/Accordion/Accordion.js.map +1 -1
  94. package/lib-commonjs/components/Accordion/Accordion.types.d.ts +7 -5
  95. package/lib-commonjs/components/Accordion/Accordion.types.js.map +1 -1
  96. package/lib-commonjs/components/Accordion/AccordionContext.js +0 -1
  97. package/lib-commonjs/components/Accordion/AccordionContext.js.map +1 -1
  98. package/lib-commonjs/components/Accordion/index.js.map +1 -1
  99. package/lib-commonjs/components/Accordion/renderAccordion.d.ts +1 -1
  100. package/lib-commonjs/components/Accordion/renderAccordion.js +5 -4
  101. package/lib-commonjs/components/Accordion/renderAccordion.js.map +1 -1
  102. package/lib-commonjs/components/Accordion/useAccordion.d.ts +2 -3
  103. package/lib-commonjs/components/Accordion/useAccordion.js +20 -22
  104. package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -1
  105. package/lib-commonjs/components/Accordion/useAccordionContextValues.d.ts +1 -1
  106. package/lib-commonjs/components/Accordion/useAccordionContextValues.js +5 -5
  107. package/lib-commonjs/components/Accordion/useAccordionContextValues.js.map +1 -1
  108. package/lib-commonjs/components/Accordion/useAccordionStyles.d.ts +1 -1
  109. package/lib-commonjs/components/Accordion/useAccordionStyles.js +5 -5
  110. package/lib-commonjs/components/Accordion/useAccordionStyles.js.map +1 -1
  111. package/lib-commonjs/components/AccordionHeader/AccordionHeader.d.ts +2 -1
  112. package/lib-commonjs/components/AccordionHeader/AccordionHeader.js +6 -5
  113. package/lib-commonjs/components/AccordionHeader/AccordionHeader.js.map +1 -1
  114. package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.d.ts +12 -11
  115. package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
  116. package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js.map +1 -1
  117. package/lib-commonjs/components/AccordionHeader/index.d.ts +0 -1
  118. package/lib-commonjs/components/AccordionHeader/index.js +0 -2
  119. package/lib-commonjs/components/AccordionHeader/index.js.map +1 -1
  120. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.d.ts +1 -1
  121. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js +10 -7
  122. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
  123. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.d.ts +2 -6
  124. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js +31 -20
  125. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  126. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +1 -1
  127. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js +3 -3
  128. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -1
  129. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.d.ts +1 -1
  130. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js +34 -51
  131. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -1
  132. package/lib-commonjs/components/AccordionItem/AccordionItem.d.ts +1 -1
  133. package/lib-commonjs/components/AccordionItem/AccordionItem.js +5 -5
  134. package/lib-commonjs/components/AccordionItem/AccordionItem.js.map +1 -1
  135. package/lib-commonjs/components/AccordionItem/AccordionItem.types.d.ts +4 -3
  136. package/lib-commonjs/components/AccordionItem/AccordionItem.types.js.map +1 -1
  137. package/lib-commonjs/components/AccordionItem/AccordionItemContext.d.ts +1 -1
  138. package/lib-commonjs/components/AccordionItem/AccordionItemContext.js +3 -3
  139. package/lib-commonjs/components/AccordionItem/AccordionItemContext.js.map +1 -1
  140. package/lib-commonjs/components/AccordionItem/index.js.map +1 -1
  141. package/lib-commonjs/components/AccordionItem/renderAccordionItem.d.ts +1 -1
  142. package/lib-commonjs/components/AccordionItem/renderAccordionItem.js +6 -7
  143. package/lib-commonjs/components/AccordionItem/renderAccordionItem.js.map +1 -1
  144. package/lib-commonjs/components/AccordionItem/useAccordionItem.d.ts +2 -6
  145. package/lib-commonjs/components/AccordionItem/useAccordionItem.js +11 -15
  146. package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -1
  147. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.d.ts +1 -1
  148. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js +3 -3
  149. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js.map +1 -1
  150. package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.d.ts +1 -1
  151. package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.js +5 -5
  152. package/lib-commonjs/components/AccordionItem/useAccordionItemStyles.js.map +1 -1
  153. package/lib-commonjs/components/AccordionPanel/AccordionPanel.d.ts +1 -1
  154. package/lib-commonjs/components/AccordionPanel/AccordionPanel.js +4 -4
  155. package/lib-commonjs/components/AccordionPanel/AccordionPanel.js.map +1 -1
  156. package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.d.ts +2 -2
  157. package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
  158. package/lib-commonjs/components/AccordionPanel/index.js.map +1 -1
  159. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.d.ts +1 -1
  160. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js +6 -7
  161. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
  162. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.d.ts +2 -6
  163. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js +8 -11
  164. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  165. package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.d.ts +1 -1
  166. package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js +6 -6
  167. package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -1
  168. package/lib-commonjs/index.js.map +1 -1
  169. package/package.json +15 -17
  170. package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.d.ts +0 -3
  171. package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.js +0 -41
  172. package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.js.map +0 -1
  173. package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.d.ts +0 -3
  174. package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.js +0 -50
  175. package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.js.map +0 -1
@@ -3,67 +3,71 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAccordion = exports.accordionShorthandProps = void 0;
6
+ exports.useAccordion_unstable = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
10
10
  const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
11
 
12
- exports.accordionShorthandProps = ['root'];
12
+ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
13
13
  /**
14
14
  * Returns the props and state required to render the component
15
15
  * @param props - Accordion properties
16
16
  * @param ref - reference to root HTMLElement of Accordion
17
17
  */
18
18
 
19
- const useAccordion = (props, ref) => {
19
+
20
+ const useAccordion_unstable = (props, ref) => {
20
21
  const {
21
22
  openItems: controlledOpenItems,
22
23
  defaultOpenItems,
23
24
  multiple = false,
24
25
  collapsible = false,
25
26
  onToggle,
26
- navigable = false
27
+ navigation
27
28
  } = props;
28
29
  const [openItems, setOpenItems] = react_utilities_1.useControllableState({
29
30
  state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),
30
31
  defaultState: () => initializeUncontrolledOpenItems({
31
- collapsible,
32
32
  defaultOpenItems,
33
33
  multiple
34
34
  }),
35
35
  initialState: []
36
36
  });
37
+ const arrowNavigationProps = react_tabster_1.useArrowNavigationGroup({
38
+ circular: navigation === 'circular'
39
+ });
37
40
  const requestToggle = react_utilities_1.useEventCallback((event, data) => {
38
41
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, data);
39
- setOpenItems(previousOpenItems => {
40
- return updateOpenItems(data.value, previousOpenItems, {
41
- collapsible,
42
- multiple
43
- });
44
- });
42
+ setOpenItems(previousOpenItems => updateOpenItems(data.value, previousOpenItems, {
43
+ collapsible,
44
+ multiple
45
+ }));
45
46
  });
46
47
  return {
47
48
  multiple,
48
49
  collapsible,
49
- navigable,
50
+ navigation,
50
51
  openItems,
51
52
  requestToggle,
53
+ components: {
54
+ root: 'div'
55
+ },
52
56
  root: react_utilities_1.getNativeElementProps('div', { ...props,
57
+ ...(navigation ? arrowNavigationProps : {}),
53
58
  ref
54
59
  })
55
60
  };
56
61
  };
57
62
 
58
- exports.useAccordion = useAccordion;
63
+ exports.useAccordion_unstable = useAccordion_unstable;
59
64
  /**
60
65
  * Initial value for the uncontrolled case of the list of open indexes
61
66
  */
62
67
 
63
68
  function initializeUncontrolledOpenItems({
64
69
  defaultOpenItems,
65
- multiple,
66
- collapsible
70
+ multiple
67
71
  }) {
68
72
  if (defaultOpenItems !== undefined) {
69
73
  if (Array.isArray(defaultOpenItems)) {
@@ -72,14 +76,8 @@ function initializeUncontrolledOpenItems({
72
76
 
73
77
  return [defaultOpenItems];
74
78
  }
75
- /**
76
- * TODO: since the dropping of descendants API due to performance issues,
77
- * the default behavior of Accordion has been compromised and [0] makes no sense
78
- * indexes are not used anymore to ensure the position of the element which should be opened by default
79
- */
80
-
81
79
 
82
- return collapsible ? [] : [0];
80
+ return [];
83
81
  }
84
82
  /**
85
83
  * Updates the list of open indexes based on an index that changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["components/Accordion/useAccordion.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport type { AccordionProps, AccordionState, AccordionToggleData, AccordionToggleEvent } from './Accordion.types';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Returns the props and state required to render the component\n * @param props - Accordion properties\n * @param ref - reference to root HTMLElement of Accordion\n */\nexport const useAccordion_unstable = (props: AccordionProps, ref: React.Ref<HTMLElement>): AccordionState => {\n const {\n openItems: controlledOpenItems,\n defaultOpenItems,\n multiple = false,\n collapsible = false,\n onToggle,\n navigation,\n } = props;\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),\n defaultState: () => initializeUncontrolledOpenItems({ defaultOpenItems, multiple }),\n initialState: [],\n });\n\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: navigation === 'circular',\n });\n\n const requestToggle = useEventCallback((event: AccordionToggleEvent, data: AccordionToggleData) => {\n onToggle?.(event, data);\n setOpenItems(previousOpenItems =>\n updateOpenItems(data.value, previousOpenItems, {\n collapsible,\n multiple,\n }),\n );\n });\n\n return {\n multiple,\n collapsible,\n navigation,\n openItems,\n requestToggle,\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ...props,\n ...(navigation ? arrowNavigationProps : {}),\n ref,\n }),\n };\n};\n\n/**\n * Initial value for the uncontrolled case of the list of open indexes\n */\nfunction initializeUncontrolledOpenItems({\n defaultOpenItems,\n multiple,\n}: Pick<AccordionProps, 'defaultOpenItems' | 'multiple'>): AccordionItemValue[] {\n if (defaultOpenItems !== undefined) {\n if (Array.isArray(defaultOpenItems)) {\n return multiple ? defaultOpenItems : [defaultOpenItems[0]];\n }\n return [defaultOpenItems];\n }\n return [];\n}\n\n/**\n * Updates the list of open indexes based on an index that changes\n * @param value - the index that will change\n * @param previousOpenItems - list of current open indexes\n * @param param2 - {multiple, collapsible}\n */\nfunction updateOpenItems(\n value: AccordionItemValue,\n previousOpenItems: AccordionItemValue[],\n { multiple, collapsible }: Pick<AccordionState, 'multiple' | 'collapsible'>,\n) {\n if (multiple) {\n if (previousOpenItems.includes(value)) {\n if (previousOpenItems.length > 1 || collapsible) {\n return previousOpenItems.filter(i => i !== value);\n }\n } else {\n return [...previousOpenItems, value].sort();\n }\n } else {\n return previousOpenItems[0] === value && collapsible ? [] : [value];\n }\n return previousOpenItems;\n}\n\n/**\n * Normalizes Accordion index into an array of indexes\n */\nfunction normalizeValues(index?: AccordionItemValue | AccordionItemValue[]): AccordionItemValue[] | undefined {\n if (index === undefined) {\n return undefined;\n }\n return Array.isArray(index) ? index : [index];\n}\n"],"sourceRoot":"../src/"}
@@ -1,2 +1,2 @@
1
1
  import type { AccordionContextValues, AccordionState } from './Accordion.types';
2
- export declare function useAccordionContextValues(state: AccordionState): AccordionContextValues;
2
+ export declare function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues;
@@ -3,18 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAccordionContextValues = void 0;
6
+ exports.useAccordionContextValues_unstable = void 0;
7
7
 
8
- function useAccordionContextValues(state) {
8
+ function useAccordionContextValues_unstable(state) {
9
9
  const {
10
- navigable,
10
+ navigation,
11
11
  openItems,
12
12
  requestToggle,
13
13
  collapsible
14
14
  } = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
15
15
 
16
16
  const accordion = {
17
- navigable,
17
+ navigation,
18
18
  openItems,
19
19
  requestToggle,
20
20
  collapsible
@@ -24,5 +24,5 @@ function useAccordionContextValues(state) {
24
24
  };
25
25
  }
26
26
 
27
- exports.useAccordionContextValues = useAccordionContextValues;
27
+ exports.useAccordionContextValues_unstable = useAccordionContextValues_unstable;
28
28
  //# sourceMappingURL=useAccordionContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":";;;;;;;AAEA,SAAgB,yBAAhB,CAA0C,KAA1C,EAA+D;AAC7D,QAAM;AAAE,IAAA,SAAF;AAAa,IAAA,SAAb;AAAwB,IAAA,aAAxB;AAAuC,IAAA;AAAvC,MAAuD,KAA7D,CAD6D,CAG7D;;AACA,QAAM,SAAS,GAA0B;AACvC,IAAA,SADuC;AAEvC,IAAA,SAFuC;AAGvC,IAAA,aAHuC;AAIvC,IAAA;AAJuC,GAAzC;AAOA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD;;AAZD,OAAA,CAAA,yBAAA,GAAA,yBAAA","sourceRoot":""}
1
+ {"version":3,"sources":["components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":";;;;;;;AAEA,SAAgB,kCAAhB,CAAmD,KAAnD,EAAwE;AACtE,QAAM;AAAE,IAAA,UAAF;AAAc,IAAA,SAAd;AAAyB,IAAA,aAAzB;AAAwC,IAAA;AAAxC,MAAwD,KAA9D,CADsE,CAGtE;;AACA,QAAM,SAAS,GAA0B;AACvC,IAAA,UADuC;AAEvC,IAAA,SAFuC;AAGvC,IAAA,aAHuC;AAIvC,IAAA;AAJuC,GAAzC;AAOA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD;;AAZD,OAAA,CAAA,kCAAA,GAAA,kCAAA","sourcesContent":["import type { AccordionContextValue, AccordionContextValues, AccordionState } from './Accordion.types';\n\nexport function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues {\n const { navigation, openItems, requestToggle, collapsible } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const accordion: AccordionContextValue = {\n navigation,\n openItems,\n requestToggle,\n collapsible,\n };\n\n return { accordion };\n}\n"],"sourceRoot":"../src/"}
@@ -1,3 +1,3 @@
1
1
  import type { AccordionState } from './Accordion.types';
2
2
  export declare const accordionClassName = "fui-Accordion";
3
- export declare const useAccordionStyles: (state: AccordionState) => AccordionState;
3
+ export declare const useAccordionStyles_unstable: (state: AccordionState) => AccordionState;
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAccordionStyles = exports.accordionClassName = void 0;
6
+ exports.useAccordionStyles_unstable = exports.accordionClassName = void 0;
7
7
 
8
- const react_make_styles_1 = /*#__PURE__*/require("@fluentui/react-make-styles");
8
+ const react_1 = /*#__PURE__*/require("@griffel/react");
9
9
 
10
10
  exports.accordionClassName = 'fui-Accordion';
11
11
 
12
- const useAccordionStyles = state => {
13
- state.root.className = react_make_styles_1.mergeClasses(exports.accordionClassName, state.root.className);
12
+ const useAccordionStyles_unstable = state => {
13
+ state.root.className = react_1.mergeClasses(exports.accordionClassName, state.root.className);
14
14
  return state;
15
15
  };
16
16
 
17
- exports.useAccordionStyles = useAccordionStyles;
17
+ exports.useAccordionStyles_unstable = useAccordionStyles_unstable;
18
18
  //# sourceMappingURL=useAccordionStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Accordion/useAccordionStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,mBAAA,gBAAA,OAAA,CAAA,6BAAA,CAAA;;AAGa,OAAA,CAAA,kBAAA,GAAqB,eAArB;;AAEN,MAAM,kBAAkB,GAAI,KAAD,IAA0B;AAC1D,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,mBAAA,CAAA,YAAA,CAAa,OAAA,CAAA,kBAAb,EAAiC,KAAK,CAAC,IAAN,CAAW,SAA5C,CAAvB;AAEA,SAAO,KAAP;AACD,CAJM;;AAAM,OAAA,CAAA,kBAAA,GAAkB,kBAAlB","sourceRoot":""}
1
+ {"version":3,"sources":["components/Accordion/useAccordionStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,OAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AAGa,OAAA,CAAA,kBAAA,GAAqB,eAArB;;AAEN,MAAM,2BAA2B,GAAI,KAAD,IAA0B;AACnE,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,OAAA,CAAA,YAAA,CAAa,OAAA,CAAA,kBAAb,EAAiC,KAAK,CAAC,IAAN,CAAW,SAA5C,CAAvB;AAEA,SAAO,KAAP;AACD,CAJM;;AAAM,OAAA,CAAA,2BAAA,GAA2B,2BAA3B","sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { AccordionState } from './Accordion.types';\n\nexport const accordionClassName = 'fui-Accordion';\n\nexport const useAccordionStyles_unstable = (state: AccordionState) => {\n state.root.className = mergeClasses(accordionClassName, state.root.className);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,6 +1,7 @@
1
1
  import type { AccordionHeaderProps } from './AccordionHeader.types';
2
2
  import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
3
  /**
4
- * Define a styled AccordionHeader, using the `useAccordionHeader` and `useAccordionHeaderStyles` hooks.
4
+ * Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`
5
+ * hooks.
5
6
  */
6
7
  export declare const AccordionHeader: ForwardRefComponent<AccordionHeaderProps>;
@@ -15,15 +15,16 @@ const useAccordionHeaderStyles_1 = /*#__PURE__*/require("./useAccordionHeaderSty
15
15
 
16
16
  const useAccordionHeaderContextValues_1 = /*#__PURE__*/require("./useAccordionHeaderContextValues");
17
17
  /**
18
- * Define a styled AccordionHeader, using the `useAccordionHeader` and `useAccordionHeaderStyles` hooks.
18
+ * Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`
19
+ * hooks.
19
20
  */
20
21
 
21
22
 
22
23
  exports.AccordionHeader = /*#__PURE__*/React.forwardRef((props, ref) => {
23
- const state = useAccordionHeader_1.useAccordionHeader(props, ref);
24
- const contextValues = useAccordionHeaderContextValues_1.useAccordionHeaderContextValues(state);
25
- useAccordionHeaderStyles_1.useAccordionHeaderStyles(state);
26
- return renderAccordionHeader_1.renderAccordionHeader(state, contextValues);
24
+ const state = useAccordionHeader_1.useAccordionHeader_unstable(props, ref);
25
+ const contextValues = useAccordionHeaderContextValues_1.useAccordionHeaderContextValues_unstable(state);
26
+ useAccordionHeaderStyles_1.useAccordionHeaderStyles_unstable(state);
27
+ return renderAccordionHeader_1.renderAccordionHeader_unstable(state, contextValues);
27
28
  });
28
29
  exports.AccordionHeader.displayName = 'AccordionHeader';
29
30
  //# sourceMappingURL=AccordionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AccordionHeader/AccordionHeader.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,sBAAA,CAAA;;AACA,MAAA,uBAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,0BAAA,gBAAA,OAAA,CAAA,4BAAA,CAAA;;AACA,MAAA,iCAAA,gBAAA,OAAA,CAAA,mCAAA,CAAA;AAIA;;AAEG;;;AACU,OAAA,CAAA,eAAA,gBAA6D,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACxG,QAAM,KAAK,GAAG,oBAAA,CAAA,kBAAA,CAAmB,KAAnB,EAA0B,GAA1B,CAAd;AACA,QAAM,aAAa,GAAG,iCAAA,CAAA,+BAAA,CAAgC,KAAhC,CAAtB;AAEA,EAAA,0BAAA,CAAA,wBAAA,CAAyB,KAAzB;AAEA,SAAO,uBAAA,CAAA,qBAAA,CAAsB,KAAtB,EAA6B,aAA7B,CAAP;AACD,CAPyE,CAA7D;AASb,OAAA,CAAA,eAAA,CAAgB,WAAhB,GAA8B,iBAA9B","sourceRoot":""}
1
+ {"version":3,"sources":["components/AccordionHeader/AccordionHeader.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,sBAAA,CAAA;;AACA,MAAA,uBAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,0BAAA,gBAAA,OAAA,CAAA,4BAAA,CAAA;;AACA,MAAA,iCAAA,gBAAA,OAAA,CAAA,mCAAA,CAAA;AAIA;;;AAGG;;;AACU,OAAA,CAAA,eAAA,gBAA6D,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACxG,QAAM,KAAK,GAAG,oBAAA,CAAA,2BAAA,CAA4B,KAA5B,EAAmC,GAAnC,CAAd;AACA,QAAM,aAAa,GAAG,iCAAA,CAAA,wCAAA,CAAyC,KAAzC,CAAtB;AAEA,EAAA,0BAAA,CAAA,iCAAA,CAAkC,KAAlC;AAEA,SAAO,uBAAA,CAAA,8BAAA,CAA+B,KAA/B,EAAsC,aAAtC,CAAP;AACD,CAPyE,CAA7D;AASb,OAAA,CAAA,eAAA,CAAgB,WAAhB,GAA8B,iBAA9B","sourcesContent":["import * as React from 'react';\nimport { useAccordionHeader_unstable } from './useAccordionHeader';\nimport { renderAccordionHeader_unstable } from './renderAccordionHeader';\nimport { useAccordionHeaderStyles_unstable } from './useAccordionHeaderStyles';\nimport { useAccordionHeaderContextValues_unstable } from './useAccordionHeaderContextValues';\nimport type { AccordionHeaderProps } from './AccordionHeader.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled AccordionHeader, using the `useAccordionHeader_unstable` and `useAccordionHeaderStyles_unstable`\n * hooks.\n */\nexport const AccordionHeader: ForwardRefComponent<AccordionHeaderProps> = React.forwardRef((props, ref) => {\n const state = useAccordionHeader_unstable(props, ref);\n const contextValues = useAccordionHeaderContextValues_unstable(state);\n\n useAccordionHeaderStyles_unstable(state);\n\n return renderAccordionHeader_unstable(state, contextValues);\n});\n\nAccordionHeader.displayName = 'AccordionHeader';\n"],"sourceRoot":"../src/"}
@@ -1,7 +1,5 @@
1
- import * as React from 'react';
2
- import type { ComponentProps, ComponentState, IntrinsicShorthandProps, ObjectShorthandProps } from '@fluentui/react-utilities';
3
- import type { AccordionHeaderExpandIconProps } from './AccordionHeaderExpandIcon';
4
- import type { ARIAButtonShorthandProps } from '@fluentui/react-aria';
1
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
+ import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
5
3
  export declare type AccordionHeaderSize = 'small' | 'medium' | 'large' | 'extra-large';
6
4
  export declare type AccordionHeaderExpandIconPosition = 'start' | 'end';
7
5
  export declare type AccordionHeaderContextValue = {
@@ -14,22 +12,24 @@ export declare type AccordionHeaderContextValues = {
14
12
  accordionHeader: AccordionHeaderContextValue;
15
13
  };
16
14
  export declare type AccordionHeaderSlots = {
17
- root: IntrinsicShorthandProps<'div'>;
15
+ /**
16
+ * The element wrapping the button. By default this is a div, but can be a heading.
17
+ */
18
+ root: Slot<'div', 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
18
19
  /**
19
20
  * The component to be used as button in heading
20
21
  */
21
- button: ARIAButtonShorthandProps;
22
+ button: NonNullable<Slot<ARIAButtonSlotProps>>;
22
23
  /**
23
24
  * Expand icon slot rendered before (or after) children content in heading
24
25
  */
25
- expandIcon: AccordionHeaderExpandIconProps;
26
+ expandIcon: Slot<'span'>;
26
27
  /**
27
28
  * Expand icon slot rendered before (or after) children content in heading
28
29
  */
29
- icon?: IntrinsicShorthandProps<'div'>;
30
- children: ObjectShorthandProps<React.HTMLAttributes<HTMLElement>>;
30
+ icon?: Slot<'div'>;
31
31
  };
32
- export declare type AccordionHeaderCommons = {
32
+ declare type AccordionHeaderCommons = {
33
33
  /**
34
34
  * Size of spacing in the heading
35
35
  */
@@ -43,5 +43,6 @@ export declare type AccordionHeaderCommons = {
43
43
  */
44
44
  inline: boolean;
45
45
  };
46
- export declare type AccordionHeaderProps = ComponentProps<AccordionHeaderSlots> & Partial<AccordionHeaderCommons>;
46
+ export declare type AccordionHeaderProps = ComponentProps<Partial<AccordionHeaderSlots>> & Partial<AccordionHeaderCommons>;
47
47
  export declare type AccordionHeaderState = ComponentState<AccordionHeaderSlots> & AccordionHeaderCommons & AccordionHeaderContextValue;
48
+ export {};
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":""}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AccordionHeader/AccordionHeaderContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAGa,OAAA,CAAA,sBAAA,gBAAyB,KAAK,CAAC,aAAN,CAAiD;AACrF,EAAA,IAAI,EAAE,KAD+E;AAErF,EAAA,QAAQ,EAAE,KAF2E;AAGrF,EAAA,IAAI,EAAE,QAH+E;AAIrF,EAAA,kBAAkB,EAAE;AAJiE,CAAjD,CAAzB;;AAON,MAAM,yBAAyB,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,OAAA,CAAA,sBAAjB,CAAxC;;AAAM,OAAA,CAAA,yBAAA,GAAyB,yBAAzB","sourceRoot":""}
1
+ {"version":3,"sources":["components/AccordionHeader/AccordionHeaderContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAGa,OAAA,CAAA,sBAAA,gBAAyB,KAAK,CAAC,aAAN,CAAiD;AACrF,EAAA,IAAI,EAAE,KAD+E;AAErF,EAAA,QAAQ,EAAE,KAF2E;AAGrF,EAAA,IAAI,EAAE,QAH+E;AAIrF,EAAA,kBAAkB,EAAE;AAJiE,CAAjD,CAAzB;;AAON,MAAM,yBAAyB,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,OAAA,CAAA,sBAAjB,CAAxC;;AAAM,OAAA,CAAA,yBAAA,GAAyB,yBAAzB","sourcesContent":["import * as React from 'react';\nimport type { AccordionHeaderContextValue } from './AccordionHeader.types';\n\nexport const AccordionHeaderContext = React.createContext<AccordionHeaderContextValue>({\n open: false,\n disabled: false,\n size: 'medium',\n expandIconPosition: 'start',\n});\n\nexport const useAccordionHeaderContext = () => React.useContext(AccordionHeaderContext);\n"],"sourceRoot":"../src/"}
@@ -1,5 +1,4 @@
1
1
  export * from './AccordionHeader';
2
- export * from './AccordionHeaderExpandIcon';
3
2
  export * from './AccordionHeader.types';
4
3
  export * from './renderAccordionHeader';
5
4
  export * from './useAccordionHeader';
@@ -8,8 +8,6 @@ const tslib_1 = /*#__PURE__*/require("tslib");
8
8
 
9
9
  tslib_1.__exportStar(require("./AccordionHeader"), exports);
10
10
 
11
- tslib_1.__exportStar(require("./AccordionHeaderExpandIcon"), exports);
12
-
13
11
  tslib_1.__exportStar(require("./AccordionHeader.types"), exports);
14
12
 
15
13
  tslib_1.__exportStar(require("./renderAccordionHeader"), exports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AccordionHeader/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,6BAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,yBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,yBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mCAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,4BAAA,CAAA,EAAA,OAAA","sourceRoot":""}
1
+ {"version":3,"sources":["components/AccordionHeader/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,yBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,yBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mCAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,4BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './AccordionHeader';\nexport * from './AccordionHeader.types';\nexport * from './renderAccordionHeader';\nexport * from './useAccordionHeader';\nexport * from './useAccordionHeaderContextValues';\nexport * from './useAccordionHeaderStyles';\n"],"sourceRoot":"../src/"}
@@ -2,4 +2,4 @@ import type { AccordionHeaderState, AccordionHeaderContextValues } from './Accor
2
2
  /**
3
3
  * Function that renders the final JSX of the component
4
4
  */
5
- export declare const renderAccordionHeader: (state: AccordionHeaderState, contextValues: AccordionHeaderContextValues) => JSX.Element;
5
+ export declare const renderAccordionHeader_unstable: (state: AccordionHeaderState, contextValues: AccordionHeaderContextValues) => JSX.Element;
@@ -3,29 +3,32 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.renderAccordionHeader = void 0;
6
+ exports.renderAccordionHeader_unstable = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
10
10
  const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
11
 
12
- const useAccordionHeader_1 = /*#__PURE__*/require("./useAccordionHeader");
13
-
14
12
  const AccordionHeaderContext_1 = /*#__PURE__*/require("./AccordionHeaderContext");
15
13
  /**
16
14
  * Function that renders the final JSX of the component
17
15
  */
18
16
 
19
17
 
20
- const renderAccordionHeader = (state, contextValues) => {
18
+ const renderAccordionHeader_unstable = (state, contextValues) => {
21
19
  const {
22
20
  slots,
23
21
  slotProps
24
- } = react_utilities_1.getSlots(state, useAccordionHeader_1.accordionHeaderShorthandProps);
22
+ } = react_utilities_1.getSlots(state);
25
23
  return React.createElement(AccordionHeaderContext_1.AccordionHeaderContext.Provider, {
26
24
  value: contextValues.accordionHeader
27
- }, React.createElement(slots.root, Object.assign({}, slotProps.root), React.createElement(slots.button, Object.assign({}, slotProps.button), state.expandIconPosition === 'start' && React.createElement(slots.expandIcon, Object.assign({}, slotProps.expandIcon)), React.createElement(slots.icon, Object.assign({}, slotProps.icon)), React.createElement(slots.children, Object.assign({}, slotProps.children)), state.expandIconPosition === 'end' && React.createElement(slots.expandIcon, Object.assign({}, slotProps.expandIcon)))));
25
+ }, React.createElement(slots.root, { ...slotProps.root
26
+ }, React.createElement(slots.button, { ...slotProps.button
27
+ }, state.expandIconPosition === 'start' && React.createElement(slots.expandIcon, { ...slotProps.expandIcon
28
+ }), slots.icon && React.createElement(slots.icon, { ...slotProps.icon
29
+ }), slotProps.root.children, state.expandIconPosition === 'end' && React.createElement(slots.expandIcon, { ...slotProps.expandIcon
30
+ }))));
28
31
  };
29
32
 
30
- exports.renderAccordionHeader = renderAccordionHeader;
33
+ exports.renderAccordionHeader_unstable = renderAccordionHeader_unstable;
31
34
  //# sourceMappingURL=renderAccordionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,sBAAA,CAAA;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,0BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,qBAAqB,GAAG,CAAC,KAAD,EAA8B,aAA9B,KAA6E;AAChH,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA+B,KAA/B,EAAsC,oBAAA,CAAA,6BAAtC,CAA7B;AAEA,SACE,KAAA,CAAA,aAAA,CAAC,wBAAA,CAAA,sBAAA,CAAuB,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,EACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,EACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,MAAP,EAAa,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,MAAf,CAAb,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,IAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,UAAf,CAAjB,CAD3C,EAEE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,CAFF,EAGE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAP,EAAe,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,QAAf,CAAf,CAHF,EAIG,KAAK,CAAC,kBAAN,KAA6B,KAA7B,IAAsC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,UAAf,CAAjB,CAJzC,CADF,CADF,CADF;AAYD,CAfM;;AAAM,OAAA,CAAA,qBAAA,GAAqB,qBAArB","sourceRoot":""}
1
+ {"version":3,"sources":["components/AccordionHeader/renderAccordionHeader.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,0BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,aAF4C,KAG1C;AACF,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA+B,KAA/B,CAA7B;AAEA,SACE,KAAA,CAAA,aAAA,CAAC,wBAAA,CAAA,sBAAA,CAAuB,QAAxB,EAAgC;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAhC,EACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,MAAP,EAAa,EAAA,GAAK,SAAS,CAAC;AAAf,GAAb,EACG,KAAK,CAAC,kBAAN,KAA6B,OAA7B,IAAwC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAD3C,EAEG,KAAK,CAAC,IAAN,IAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFjB,EAGG,SAAS,CAAC,IAAV,CAAe,QAHlB,EAIG,KAAK,CAAC,kBAAN,KAA6B,KAA7B,IAAsC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAJzC,CADF,CADF,CADF;AAYD,CAlBM;;AAAM,OAAA,CAAA,8BAAA,GAA8B,8BAA9B","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { AccordionHeaderContext } from './AccordionHeaderContext';\nimport type { AccordionHeaderState, AccordionHeaderSlots, AccordionHeaderContextValues } from './AccordionHeader.types';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordionHeader_unstable = (\n state: AccordionHeaderState,\n contextValues: AccordionHeaderContextValues,\n) => {\n const { slots, slotProps } = getSlots<AccordionHeaderSlots>(state);\n\n return (\n <AccordionHeaderContext.Provider value={contextValues.accordionHeader}>\n <slots.root {...slotProps.root}>\n <slots.button {...slotProps.button}>\n {state.expandIconPosition === 'start' && <slots.expandIcon {...slotProps.expandIcon} />}\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {slotProps.root.children}\n {state.expandIconPosition === 'end' && <slots.expandIcon {...slotProps.expandIcon} />}\n </slots.button>\n </slots.root>\n </AccordionHeaderContext.Provider>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -1,12 +1,8 @@
1
1
  import * as React from 'react';
2
- import type { AccordionHeaderProps, AccordionHeaderState, AccordionHeaderSlots } from './AccordionHeader.types';
3
- /**
4
- * Const listing which props are shorthand props.
5
- */
6
- export declare const accordionHeaderShorthandProps: Array<keyof AccordionHeaderSlots>;
2
+ import type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';
7
3
  /**
8
4
  * Returns the props and state required to render the component
9
5
  * @param props - AccordionHeader properties
10
6
  * @param ref - reference to root HTMLElement of AccordionHeader
11
7
  */
12
- export declare const useAccordionHeader: (props: AccordionHeaderProps, ref: React.Ref<HTMLElement>) => AccordionHeaderState;
8
+ export declare const useAccordionHeader_unstable: (props: AccordionHeaderProps, ref: React.Ref<HTMLElement>) => AccordionHeaderState;
@@ -3,36 +3,35 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAccordionHeader = exports.accordionHeaderShorthandProps = void 0;
6
+ exports.useAccordionHeader_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
7
9
 
8
10
  const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
11
 
10
12
  const index_1 = /*#__PURE__*/require("../AccordionItem/index");
11
13
 
12
- const AccordionHeaderExpandIcon_1 = /*#__PURE__*/require("./AccordionHeaderExpandIcon");
13
-
14
14
  const react_aria_1 = /*#__PURE__*/require("@fluentui/react-aria");
15
15
 
16
16
  const react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
17
17
 
18
18
  const AccordionContext_1 = /*#__PURE__*/require("../Accordion/AccordionContext");
19
- /**
20
- * Const listing which props are shorthand props.
21
- */
22
19
 
20
+ const react_icons_1 = /*#__PURE__*/require("@fluentui/react-icons");
23
21
 
24
- exports.accordionHeaderShorthandProps = ['root', 'icon', 'button', 'children', 'expandIcon'];
22
+ const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
25
23
  /**
26
24
  * Returns the props and state required to render the component
27
25
  * @param props - AccordionHeader properties
28
26
  * @param ref - reference to root HTMLElement of AccordionHeader
29
27
  */
30
28
 
31
- const useAccordionHeader = (props, ref) => {
29
+
30
+ const useAccordionHeader_unstable = (props, ref) => {
32
31
  const {
32
+ as,
33
33
  icon,
34
34
  button,
35
- children,
36
35
  expandIcon,
37
36
  inline = false,
38
37
  size = 'medium',
@@ -42,13 +41,27 @@ const useAccordionHeader = (props, ref) => {
42
41
  onHeaderClick: onAccordionHeaderClick,
43
42
  disabled,
44
43
  open
45
- } = index_1.useAccordionItemContext();
44
+ } = index_1.useAccordionItemContext_unstable();
46
45
  /**
47
46
  * force disabled state on button if accordion isn't collapsible
48
47
  * and this is the only item opened
49
48
  */
50
49
 
51
50
  const disabledFocusable = react_context_selector_1.useContextSelector(AccordionContext_1.AccordionContext, ctx => !ctx.collapsible && ctx.openItems.length === 1 && open);
51
+ const {
52
+ dir
53
+ } = react_shared_contexts_1.useFluent(); // Calculate how to rotate the expand icon [>] (ChevronRightRegular)
54
+
55
+ let expandIconRotation;
56
+
57
+ if (expandIconPosition === 'end') {
58
+ // If expand icon is at the end, the chevron points up [^] when open, and down [v] when closed
59
+ expandIconRotation = open ? -90 : 90;
60
+ } else {
61
+ // Otherwise, the chevron points down [v] when open, and right [>] (or left [<] in RTL) when closed
62
+ expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;
63
+ }
64
+
52
65
  const buttonShorthand = react_aria_1.useARIAButton(button, {
53
66
  required: true,
54
67
  defaultProps: {
@@ -66,19 +79,20 @@ const useAccordionHeader = (props, ref) => {
66
79
  components: {
67
80
  root: 'div',
68
81
  button: 'button',
69
- expandIcon: AccordionHeaderExpandIcon_1.AccordionHeaderExpandIcon,
70
- icon: 'div',
71
- children: 'div'
82
+ expandIcon: 'span',
83
+ icon: 'div'
72
84
  },
73
- root: react_utilities_1.getNativeElementProps('div', {
85
+ root: react_utilities_1.getNativeElementProps(as || 'div', {
74
86
  ref,
75
- role: 'heading',
76
87
  ...props
77
88
  }),
78
89
  icon: react_utilities_1.resolveShorthand(icon),
79
90
  expandIcon: react_utilities_1.resolveShorthand(expandIcon, {
80
91
  required: true,
81
92
  defaultProps: {
93
+ children: React.createElement(react_icons_1.ChevronRightRegular, {
94
+ transform: `rotate(${expandIconRotation})`
95
+ }),
82
96
  'aria-hidden': true
83
97
  }
84
98
  }),
@@ -92,12 +106,9 @@ const useAccordionHeader = (props, ref) => {
92
106
  onAccordionHeaderClick(ev);
93
107
  }
94
108
  })
95
- },
96
- children: react_utilities_1.resolveShorthand(children, {
97
- required: true
98
- })
109
+ }
99
110
  };
100
111
  };
101
112
 
102
- exports.useAccordionHeader = useAccordionHeader;
113
+ exports.useAccordionHeader_unstable = useAccordionHeader_unstable;
103
114
  //# sourceMappingURL=useAccordionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AccordionHeader/useAccordionHeader.ts"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["components/AccordionHeader/useAccordionHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport { useAccordionItemContext_unstable } from '../AccordionItem/index';\nimport { useARIAButton } from '@fluentui/react-aria';\nimport type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';\nimport { useContextSelector } from '@fluentui/react-context-selector';\nimport { AccordionContext } from '../Accordion/AccordionContext';\nimport { ChevronRightRegular } from '@fluentui/react-icons';\nimport { useFluent } from '@fluentui/react-shared-contexts';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionHeader properties\n * @param ref - reference to root HTMLElement of AccordionHeader\n */\nexport const useAccordionHeader_unstable = (\n props: AccordionHeaderProps,\n ref: React.Ref<HTMLElement>,\n): AccordionHeaderState => {\n const { as, icon, button, expandIcon, inline = false, size = 'medium', expandIconPosition = 'start' } = props;\n const { onHeaderClick: onAccordionHeaderClick, disabled, open } = useAccordionItemContext_unstable();\n\n /**\n * force disabled state on button if accordion isn't collapsible\n * and this is the only item opened\n */\n const disabledFocusable = useContextSelector(\n AccordionContext,\n ctx => !ctx.collapsible && ctx.openItems.length === 1 && open,\n );\n\n const { dir } = useFluent();\n\n // Calculate how to rotate the expand icon [>] (ChevronRightRegular)\n let expandIconRotation: 0 | 90 | -90 | 180;\n if (expandIconPosition === 'end') {\n // If expand icon is at the end, the chevron points up [^] when open, and down [v] when closed\n expandIconRotation = open ? -90 : 90;\n } else {\n // Otherwise, the chevron points down [v] when open, and right [>] (or left [<] in RTL) when closed\n expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;\n }\n\n const buttonShorthand = useARIAButton(button, {\n required: true,\n defaultProps: {\n disabled,\n disabledFocusable,\n 'aria-expanded': open,\n },\n });\n\n return {\n disabled,\n open,\n size,\n inline,\n expandIconPosition,\n components: {\n root: 'div',\n button: 'button',\n expandIcon: 'span',\n icon: 'div',\n },\n root: getNativeElementProps(as || 'div', {\n ref,\n ...props,\n }),\n icon: resolveShorthand(icon),\n expandIcon: resolveShorthand(expandIcon, {\n required: true,\n defaultProps: {\n children: <ChevronRightRegular transform={`rotate(${expandIconRotation})`} />,\n 'aria-hidden': true,\n },\n }),\n button: {\n ...buttonShorthand,\n onClick: useEventCallback(\n (ev: React.MouseEvent<HTMLButtonElement & HTMLDivElement & HTMLSpanElement & HTMLAnchorElement>) => {\n buttonShorthand.onClick?.(ev);\n if (!ev.defaultPrevented) {\n onAccordionHeaderClick(ev);\n }\n },\n ),\n },\n };\n};\n"],"sourceRoot":"../src/"}
@@ -1,2 +1,2 @@
1
1
  import type { AccordionHeaderState, AccordionHeaderContextValues } from './AccordionHeader.types';
2
- export declare function useAccordionHeaderContextValues(state: AccordionHeaderState): AccordionHeaderContextValues;
2
+ export declare function useAccordionHeaderContextValues_unstable(state: AccordionHeaderState): AccordionHeaderContextValues;
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAccordionHeaderContextValues = void 0;
6
+ exports.useAccordionHeaderContextValues_unstable = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
10
- function useAccordionHeaderContextValues(state) {
10
+ function useAccordionHeaderContextValues_unstable(state) {
11
11
  const {
12
12
  disabled,
13
13
  expandIconPosition,
@@ -25,5 +25,5 @@ function useAccordionHeaderContextValues(state) {
25
25
  };
26
26
  }
27
27
 
28
- exports.useAccordionHeaderContextValues = useAccordionHeaderContextValues;
28
+ exports.useAccordionHeaderContextValues_unstable = useAccordionHeaderContextValues_unstable;
29
29
  //# sourceMappingURL=useAccordionHeaderContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AccordionHeader/useAccordionHeaderContextValues.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAOA,SAAgB,+BAAhB,CAAgD,KAAhD,EAA2E;AACzE,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA,kBAAZ;AAAgC,IAAA,IAAhC;AAAsC,IAAA;AAAtC,MAA+C,KAArD;AAEA,QAAM,eAAe,GAAG,KAAK,CAAC,OAAN,CACtB,OAAO;AACL,IAAA,QADK;AAEL,IAAA,kBAFK;AAGL,IAAA,IAHK;AAIL,IAAA;AAJK,GAAP,CADsB,EAOtB,CAAC,QAAD,EAAW,kBAAX,EAA+B,IAA/B,EAAqC,IAArC,CAPsB,CAAxB;AAUA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD;;AAdD,OAAA,CAAA,+BAAA,GAAA,+BAAA","sourceRoot":""}
1
+ {"version":3,"sources":["components/AccordionHeader/useAccordionHeaderContextValues.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAOA,SAAgB,wCAAhB,CAAyD,KAAzD,EAAoF;AAClF,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA,kBAAZ;AAAgC,IAAA,IAAhC;AAAsC,IAAA;AAAtC,MAA+C,KAArD;AAEA,QAAM,eAAe,GAAG,KAAK,CAAC,OAAN,CACtB,OAAO;AACL,IAAA,QADK;AAEL,IAAA,kBAFK;AAGL,IAAA,IAHK;AAIL,IAAA;AAJK,GAAP,CADsB,EAOtB,CAAC,QAAD,EAAW,kBAAX,EAA+B,IAA/B,EAAqC,IAArC,CAPsB,CAAxB;AAUA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD;;AAdD,OAAA,CAAA,wCAAA,GAAA,wCAAA","sourcesContent":["import * as React from 'react';\nimport type {\n AccordionHeaderContextValue,\n AccordionHeaderState,\n AccordionHeaderContextValues,\n} from './AccordionHeader.types';\n\nexport function useAccordionHeaderContextValues_unstable(state: AccordionHeaderState): AccordionHeaderContextValues {\n const { disabled, expandIconPosition, open, size } = state;\n\n const accordionHeader = React.useMemo<AccordionHeaderContextValue>(\n () => ({\n disabled,\n expandIconPosition,\n open,\n size,\n }),\n [disabled, expandIconPosition, open, size],\n );\n\n return { accordionHeader };\n}\n"],"sourceRoot":"../src/"}
@@ -1,4 +1,4 @@
1
1
  import type { AccordionHeaderState } from './AccordionHeader.types';
2
2
  export declare const accordionHeaderClassName = "fui-AccordionHeader";
3
3
  /** Applies style classnames to slots */
4
- export declare const useAccordionHeaderStyles: (state: AccordionHeaderState) => AccordionHeaderState;
4
+ export declare const useAccordionHeaderStyles_unstable: (state: AccordionHeaderState) => AccordionHeaderState;