@fluentui/react-accordion 9.8.15 → 9.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/dist/index.d.ts +1 -0
  3. package/lib/Accordion.js +1 -1
  4. package/lib/Accordion.js.map +1 -1
  5. package/lib/AccordionHeader.js +1 -1
  6. package/lib/AccordionHeader.js.map +1 -1
  7. package/lib/AccordionPanel.js +1 -1
  8. package/lib/AccordionPanel.js.map +1 -1
  9. package/lib/components/Accordion/Accordion.types.js.map +1 -1
  10. package/lib/components/Accordion/index.js +1 -1
  11. package/lib/components/Accordion/index.js.map +1 -1
  12. package/lib/components/Accordion/useAccordion.js +27 -16
  13. package/lib/components/Accordion/useAccordion.js.map +1 -1
  14. package/lib/components/AccordionHeader/index.js +1 -1
  15. package/lib/components/AccordionHeader/index.js.map +1 -1
  16. package/lib/components/AccordionHeader/useAccordionHeader.js +34 -23
  17. package/lib/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  18. package/lib/components/AccordionItem/useAccordionItem.js +6 -8
  19. package/lib/components/AccordionItem/useAccordionItem.js.map +1 -1
  20. package/lib/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
  21. package/lib/components/AccordionPanel/index.js +1 -1
  22. package/lib/components/AccordionPanel/index.js.map +1 -1
  23. package/lib/components/AccordionPanel/useAccordionPanel.js +30 -14
  24. package/lib/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  25. package/lib/index.js +6 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib-commonjs/Accordion.js +3 -0
  28. package/lib-commonjs/Accordion.js.map +1 -1
  29. package/lib-commonjs/AccordionHeader.js +3 -0
  30. package/lib-commonjs/AccordionHeader.js.map +1 -1
  31. package/lib-commonjs/AccordionPanel.js +3 -0
  32. package/lib-commonjs/AccordionPanel.js.map +1 -1
  33. package/lib-commonjs/components/Accordion/Accordion.types.js.map +1 -1
  34. package/lib-commonjs/components/Accordion/index.js +3 -0
  35. package/lib-commonjs/components/Accordion/index.js.map +1 -1
  36. package/lib-commonjs/components/Accordion/useAccordion.js +32 -17
  37. package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -1
  38. package/lib-commonjs/components/AccordionHeader/index.js +3 -0
  39. package/lib-commonjs/components/AccordionHeader/index.js.map +1 -1
  40. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js +38 -25
  41. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  42. package/lib-commonjs/components/AccordionItem/useAccordionItem.js +5 -7
  43. package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -1
  44. package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
  45. package/lib-commonjs/components/AccordionPanel/index.js +3 -0
  46. package/lib-commonjs/components/AccordionPanel/index.js.map +1 -1
  47. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js +35 -16
  48. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  49. package/lib-commonjs/index.js +6 -0
  50. package/lib-commonjs/index.js.map +1 -1
  51. package/package.json +10 -16
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderAccordion_unstable: function() {
19
19
  return _index.renderAccordion_unstable;
20
20
  },
21
+ useAccordionBase_unstable: function() {
22
+ return _index.useAccordionBase_unstable;
23
+ },
21
24
  useAccordionContextValues_unstable: function() {
22
25
  return _index.useAccordionContextValues_unstable;
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Accordion.ts"],"sourcesContent":["export type {\n AccordionContextValues,\n AccordionIndex,\n AccordionProps,\n AccordionSlots,\n AccordionState,\n AccordionToggleData,\n AccordionToggleEvent,\n AccordionToggleEventHandler,\n} from './components/Accordion/index';\nexport {\n Accordion,\n accordionClassNames,\n renderAccordion_unstable,\n useAccordionContextValues_unstable,\n useAccordionStyles_unstable,\n useAccordion_unstable,\n} from './components/Accordion/index';\n"],"names":["Accordion","accordionClassNames","renderAccordion_unstable","useAccordionContextValues_unstable","useAccordionStyles_unstable","useAccordion_unstable"],"mappings":";;;;;;;;;;;;eAWEA,gBAAS;;;eACTC,0BAAmB;;;eACnBC,+BAAwB;;;eACxBC,yCAAkC;;;eAClCC,kCAA2B;;;eAC3BC,4BAAqB;;;uBAChB,+BAA+B"}
1
+ {"version":3,"sources":["../src/Accordion.ts"],"sourcesContent":["export type {\n AccordionContextValues,\n AccordionIndex,\n AccordionProps,\n AccordionSlots,\n AccordionState,\n AccordionToggleData,\n AccordionToggleEvent,\n AccordionToggleEventHandler,\n AccordionBaseState,\n AccordionBaseProps,\n} from './components/Accordion/index';\nexport {\n Accordion,\n accordionClassNames,\n renderAccordion_unstable,\n useAccordionContextValues_unstable,\n useAccordionStyles_unstable,\n useAccordion_unstable,\n useAccordionBase_unstable,\n} from './components/Accordion/index';\n"],"names":["Accordion","accordionClassNames","renderAccordion_unstable","useAccordionContextValues_unstable","useAccordionStyles_unstable","useAccordion_unstable","useAccordionBase_unstable"],"mappings":";;;;;;;;;;;;eAaEA,gBAAS;;;eACTC,0BAAmB;;;eACnBC,+BAAwB;;;eAIxBI,gCAAyB;;;eAHzBH,yCAAkC;;;eAClCC,kCAA2B;;;eAC3BC,4BAAqB;;;uBAEhB,+BAA+B"}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderAccordionHeader_unstable: function() {
19
19
  return _index.renderAccordionHeader_unstable;
20
20
  },
21
+ useAccordionHeaderBase_unstable: function() {
22
+ return _index.useAccordionHeaderBase_unstable;
23
+ },
21
24
  useAccordionHeaderContextValues_unstable: function() {
22
25
  return _index.useAccordionHeaderContextValues_unstable;
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/AccordionHeader.ts"],"sourcesContent":["export type {\n AccordionHeaderContextValues,\n AccordionHeaderExpandIconPosition,\n AccordionHeaderProps,\n AccordionHeaderSize,\n AccordionHeaderSlots,\n AccordionHeaderState,\n} from './components/AccordionHeader/index';\nexport {\n AccordionHeader,\n accordionHeaderClassNames,\n renderAccordionHeader_unstable,\n useAccordionHeaderContextValues_unstable,\n useAccordionHeaderStyles_unstable,\n useAccordionHeader_unstable,\n} from './components/AccordionHeader/index';\n"],"names":["AccordionHeader","accordionHeaderClassNames","renderAccordionHeader_unstable","useAccordionHeaderContextValues_unstable","useAccordionHeaderStyles_unstable","useAccordionHeader_unstable"],"mappings":";;;;;;;;;;;;eASEA,sBAAe;;;eACfC,gCAAyB;;;eACzBC,qCAA8B;;;eAC9BC,+CAAwC;;;eACxCC,wCAAiC;;;eACjCC,kCAA2B;;;uBACtB,qCAAqC"}
1
+ {"version":3,"sources":["../src/AccordionHeader.ts"],"sourcesContent":["export type {\n AccordionHeaderContextValues,\n AccordionHeaderExpandIconPosition,\n AccordionHeaderProps,\n AccordionHeaderSize,\n AccordionHeaderSlots,\n AccordionHeaderState,\n} from './components/AccordionHeader/index';\nexport {\n AccordionHeader,\n accordionHeaderClassNames,\n renderAccordionHeader_unstable,\n useAccordionHeaderContextValues_unstable,\n useAccordionHeaderStyles_unstable,\n useAccordionHeader_unstable,\n useAccordionHeaderBase_unstable,\n} from './components/AccordionHeader/index';\n"],"names":["AccordionHeader","accordionHeaderClassNames","renderAccordionHeader_unstable","useAccordionHeaderContextValues_unstable","useAccordionHeaderStyles_unstable","useAccordionHeader_unstable","useAccordionHeaderBase_unstable"],"mappings":";;;;;;;;;;;;eASEA,sBAAe;;;eACfC,gCAAyB;;;eACzBC,qCAA8B;;;eAI9BI,sCAA+B;;;eAH/BH,+CAAwC;;;eACxCC,wCAAiC;;;eACjCC,kCAA2B;;;uBAEtB,qCAAqC"}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderAccordionPanel_unstable: function() {
19
19
  return _index.renderAccordionPanel_unstable;
20
20
  },
21
+ useAccordionPanelBase_unstable: function() {
22
+ return _index.useAccordionPanelBase_unstable;
23
+ },
21
24
  useAccordionPanelStyles_unstable: function() {
22
25
  return _index.useAccordionPanelStyles_unstable;
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/AccordionPanel.ts"],"sourcesContent":["export type { AccordionPanelProps, AccordionPanelSlots, AccordionPanelState } from './components/AccordionPanel/index';\nexport {\n AccordionPanel,\n accordionPanelClassNames,\n renderAccordionPanel_unstable,\n useAccordionPanelStyles_unstable,\n useAccordionPanel_unstable,\n} from './components/AccordionPanel/index';\n"],"names":["AccordionPanel","accordionPanelClassNames","renderAccordionPanel_unstable","useAccordionPanelStyles_unstable","useAccordionPanel_unstable"],"mappings":";;;;;;;;;;;;eAEEA,qBAAc;;;eACdC,+BAAwB;;;eACxBC,oCAA6B;;;eAC7BC,uCAAgC;;;eAChCC,iCAA0B;;;uBACrB,oCAAoC"}
1
+ {"version":3,"sources":["../src/AccordionPanel.ts"],"sourcesContent":["export type {\n AccordionPanelProps,\n AccordionPanelSlots,\n AccordionPanelState,\n AccordionPanelBaseProps,\n AccordionPanelBaseState,\n} from './components/AccordionPanel/index';\nexport {\n AccordionPanel,\n accordionPanelClassNames,\n renderAccordionPanel_unstable,\n useAccordionPanelStyles_unstable,\n useAccordionPanel_unstable,\n useAccordionPanelBase_unstable,\n} from './components/AccordionPanel/index';\n"],"names":["AccordionPanel","accordionPanelClassNames","renderAccordionPanel_unstable","useAccordionPanelStyles_unstable","useAccordionPanel_unstable","useAccordionPanelBase_unstable"],"mappings":";;;;;;;;;;;;eAQEA,qBAAc;;;eACdC,+BAAwB;;;eACxBC,oCAA6B;;;eAG7BG,qCAA8B;;;eAF9BF,uCAAgC;;;eAChCC,iCAA0B;;;uBAErB,oCAAoC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Accordion/Accordion.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { AccordionContextValue } from '../../contexts/accordion';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\n\nexport type AccordionIndex = number | number[];\n\nexport type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;\n\nexport type AccordionToggleEventHandler<Value = AccordionItemValue> = (\n event: AccordionToggleEvent,\n data: AccordionToggleData<Value>,\n) => void;\n\nexport type AccordionContextValues = {\n accordion: AccordionContextValue;\n};\n\nexport type AccordionSlots = {\n root: NonNullable<Slot<'div'>>;\n};\n\nexport type AccordionToggleData<Value = AccordionItemValue> = {\n value: Value;\n openItems: Value[];\n};\n\nexport type AccordionProps<Value = AccordionItemValue> = Omit<ComponentProps<AccordionSlots>, 'onToggle'> & {\n /**\n * Default value for the uncontrolled state of the panel.\n */\n defaultOpenItems?: Value | Value[];\n\n /**\n * Indicates if Accordion support multiple Panels closed at the same time.\n */\n collapsible?: boolean;\n\n /**\n * Indicates if Accordion support multiple Panels opened at the same time.\n */\n multiple?: boolean;\n\n /**\n * @deprecated Arrow keyboard navigation is not recommended for accordions. Consider using Tree if arrow navigation is a hard requirement.\n * Indicates if keyboard navigation is available and gives two options, linear or circular navigation.\n */\n navigation?: 'linear' | 'circular';\n\n /**\n * Callback to be called when the opened items change.\n */\n // eslint-disable-next-line @nx/workspace-consistent-callback-type -- can't change type of existing callback\n onToggle?: AccordionToggleEventHandler<Value>;\n\n /**\n * Controls the state of the panel.\n */\n openItems?: Value | Value[];\n};\n\nexport type AccordionState<Value = AccordionItemValue> = ComponentState<AccordionSlots> & AccordionContextValue<Value>;\n"],"names":["React"],"mappings":";;;;;iEAAuB,QAAQ"}
1
+ {"version":3,"sources":["../src/components/Accordion/Accordion.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { AccordionContextValue } from '../../contexts/accordion';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\n\nexport type AccordionIndex = number | number[];\n\nexport type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;\n\nexport type AccordionToggleEventHandler<Value = AccordionItemValue> = (\n event: AccordionToggleEvent,\n data: AccordionToggleData<Value>,\n) => void;\n\nexport type AccordionContextValues = {\n accordion: AccordionContextValue;\n};\n\nexport type AccordionSlots = {\n root: NonNullable<Slot<'div'>>;\n};\n\nexport type AccordionToggleData<Value = AccordionItemValue> = {\n value: Value;\n openItems: Value[];\n};\n\nexport type AccordionProps<Value = AccordionItemValue> = Omit<ComponentProps<AccordionSlots>, 'onToggle'> & {\n /**\n * Default value for the uncontrolled state of the panel.\n */\n defaultOpenItems?: Value | Value[];\n\n /**\n * Indicates if Accordion support multiple Panels closed at the same time.\n */\n collapsible?: boolean;\n\n /**\n * Indicates if Accordion support multiple Panels opened at the same time.\n */\n multiple?: boolean;\n\n /**\n * @deprecated Arrow keyboard navigation is not recommended for accordions. Consider using Tree if arrow navigation is a hard requirement.\n * Indicates if keyboard navigation is available and gives two options, linear or circular navigation.\n */\n navigation?: 'linear' | 'circular';\n\n /**\n * Callback to be called when the opened items change.\n */\n // eslint-disable-next-line @nx/workspace-consistent-callback-type -- can't change type of existing callback\n onToggle?: AccordionToggleEventHandler<Value>;\n\n /**\n * Controls the state of the panel.\n */\n openItems?: Value | Value[];\n};\n\nexport type AccordionBaseProps<Value = AccordionItemValue> = Omit<AccordionProps<Value>, 'navigation'>;\n\nexport type AccordionState<Value = AccordionItemValue> = ComponentState<AccordionSlots> & AccordionContextValue<Value>;\n\nexport type AccordionBaseState<Value = AccordionItemValue> = Omit<AccordionState<Value>, 'navigation'>;\n"],"names":["React"],"mappings":";;;;;iEAAuB,QAAQ"}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderAccordion_unstable: function() {
19
19
  return _renderAccordion.renderAccordion_unstable;
20
20
  },
21
+ useAccordionBase_unstable: function() {
22
+ return _useAccordion.useAccordionBase_unstable;
23
+ },
21
24
  useAccordionContextValues_unstable: function() {
22
25
  return _useAccordionContextValues.useAccordionContextValues_unstable;
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Accordion/index.ts"],"sourcesContent":["export { Accordion } from './Accordion';\nexport type {\n AccordionContextValues,\n AccordionIndex,\n AccordionProps,\n AccordionSlots,\n AccordionState,\n AccordionToggleData,\n AccordionToggleEvent,\n AccordionToggleEventHandler,\n} from './Accordion.types';\nexport { renderAccordion_unstable } from './renderAccordion';\nexport { useAccordion_unstable } from './useAccordion';\nexport { accordionClassNames, useAccordionStyles_unstable } from './useAccordionStyles.styles';\nexport { useAccordionContextValues_unstable } from './useAccordionContextValues';\n"],"names":["Accordion","renderAccordion_unstable","useAccordion_unstable","accordionClassNames","useAccordionStyles_unstable","useAccordionContextValues_unstable"],"mappings":";;;;;;;;;;;;eAASA,oBAAS;;;eAaTG,6CAAmB;;;eAFnBF,yCAAwB;;;eAGxBI,6DAAkC;;;eADbD,qDAA2B;;;eADhDF,mCAAqB;;;2BAZJ,cAAc;iCAWC,oBAAoB;8BACvB,iBAAiB;0CACU,8BAA8B;2CAC5C,8BAA8B"}
1
+ {"version":3,"sources":["../src/components/Accordion/index.ts"],"sourcesContent":["export { Accordion } from './Accordion';\nexport type {\n AccordionContextValues,\n AccordionIndex,\n AccordionProps,\n AccordionSlots,\n AccordionState,\n AccordionToggleData,\n AccordionToggleEvent,\n AccordionToggleEventHandler,\n AccordionBaseState,\n AccordionBaseProps,\n} from './Accordion.types';\nexport { renderAccordion_unstable } from './renderAccordion';\nexport { useAccordion_unstable, useAccordionBase_unstable } from './useAccordion';\nexport { accordionClassNames, useAccordionStyles_unstable } from './useAccordionStyles.styles';\nexport { useAccordionContextValues_unstable } from './useAccordionContextValues';\n"],"names":["Accordion","renderAccordion_unstable","useAccordion_unstable","useAccordionBase_unstable","accordionClassNames","useAccordionStyles_unstable","useAccordionContextValues_unstable"],"mappings":";;;;;;;;;;;IAASA;mCAAS;;IAeTI;4DAAmB;;;eAFnBH,yCAAwB;;;eACDE,uCAAyB;;;eAEhDG,6DAAkC;;;eADbD,qDAA2B;;;eADhDH,mCAAqB;;;2BAdJ,cAAc;iCAaC,oBAAoB;8BACI,iBAAiB;0CACjB,8BAA8B;2CAC5C,8BAA8B"}
@@ -3,9 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "useAccordion_unstable", {
7
- enumerable: true,
8
- get: function() {
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ useAccordionBase_unstable: function() {
14
+ return useAccordionBase_unstable;
15
+ },
16
+ useAccordion_unstable: function() {
9
17
  return useAccordion_unstable;
10
18
  }
11
19
  });
@@ -14,7 +22,23 @@ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
22
  const _reactutilities = require("@fluentui/react-utilities");
15
23
  const _reacttabster = require("@fluentui/react-tabster");
16
24
  const useAccordion_unstable = (props, ref)=>{
17
- const { openItems: controlledOpenItems, defaultOpenItems, multiple = false, collapsible = false, onToggle, navigation, ...rest } = props;
25
+ const { navigation, ...baseProps } = props;
26
+ const state = useAccordionBase_unstable(baseProps, ref);
27
+ /** FIXME: deprecated will be removed after navigation prop is removed */ const arrowNavigationProps = (0, _reacttabster.useArrowNavigationGroup)({
28
+ circular: navigation === 'circular',
29
+ tabbable: true
30
+ });
31
+ return {
32
+ navigation,
33
+ ...state,
34
+ root: {
35
+ ...state.root,
36
+ ...navigation ? arrowNavigationProps : undefined
37
+ }
38
+ };
39
+ };
40
+ const useAccordionBase_unstable = (props, ref)=>{
41
+ const { openItems: controlledOpenItems, defaultOpenItems, multiple = false, collapsible = false, onToggle, ...rest } = props;
18
42
  const [openItems, setOpenItems] = (0, _reactutilities.useControllableState)({
19
43
  state: _react.useMemo(()=>normalizeValues(controlledOpenItems), [
20
44
  controlledOpenItems
@@ -25,10 +49,6 @@ const useAccordion_unstable = (props, ref)=>{
25
49
  })),
26
50
  initialState: []
27
51
  });
28
- /** FIXME: deprecated will be removed after navigation prop is removed */ const arrowNavigationProps = (0, _reacttabster.useArrowNavigationGroup)({
29
- circular: navigation === 'circular',
30
- tabbable: true
31
- });
32
52
  const requestToggle = (0, _reactutilities.useEventCallback)((data)=>{
33
53
  const nextOpenItems = updateOpenItems(data.value, openItems, multiple, collapsible);
34
54
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(data.event, {
@@ -40,20 +60,15 @@ const useAccordion_unstable = (props, ref)=>{
40
60
  return {
41
61
  collapsible,
42
62
  multiple,
43
- navigation,
44
63
  openItems,
45
64
  requestToggle,
46
65
  components: {
47
66
  root: 'div'
48
67
  },
49
- root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
50
- ...rest,
51
- ...navigation ? arrowNavigationProps : undefined,
52
- // FIXME:
53
- // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`
54
- // but since it would be a breaking change to fix it, we are casting ref to it's proper type
55
- ref: ref
56
- }), {
68
+ root: _reactutilities.slot.always({
69
+ ref: ref,
70
+ ...rest
71
+ }, {
57
72
  elementType: 'div'
58
73
  })
59
74
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Accordion/useAccordion.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type { AccordionProps, AccordionState } from './Accordion.types';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { AccordionRequestToggleData } from '../../contexts/accordion';\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 = <Value = AccordionItemValue>(\n props: AccordionProps<Value>,\n ref: React.Ref<HTMLElement>,\n): AccordionState<Value> => {\n const {\n openItems: controlledOpenItems,\n defaultOpenItems,\n multiple = false,\n collapsible = false,\n onToggle,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n navigation,\n ...rest\n } = props;\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),\n defaultState: defaultOpenItems && (() => initializeUncontrolledOpenItems({ defaultOpenItems, multiple })),\n initialState: [],\n });\n\n /** FIXME: deprecated will be removed after navigation prop is removed */\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: navigation === 'circular',\n tabbable: true,\n });\n\n const requestToggle = useEventCallback((data: AccordionRequestToggleData<Value>) => {\n const nextOpenItems = updateOpenItems(data.value, openItems, multiple, collapsible);\n onToggle?.(data.event, { value: data.value, openItems: nextOpenItems });\n setOpenItems(nextOpenItems);\n });\n\n return {\n collapsible,\n multiple,\n navigation,\n openItems,\n requestToggle,\n components: {\n root: 'div',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ...rest,\n\n ...(navigation ? arrowNavigationProps : undefined),\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref as React.Ref<HTMLDivElement>,\n }),\n { elementType: 'div' },\n ),\n };\n};\n\n/**\n * Initial value for the uncontrolled case of the list of open indexes\n */\nfunction initializeUncontrolledOpenItems<Value = AccordionItemValue>({\n defaultOpenItems,\n multiple,\n}: Pick<AccordionProps<Value>, 'defaultOpenItems' | 'multiple'>): Value[] {\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 multiple - if Accordion support multiple Panels opened at the same time\n * @param collapsible - if Accordion support multiple Panels closed at the same time\n */\nfunction updateOpenItems<Value = AccordionItemValue>(\n value: Value,\n previousOpenItems: Value[],\n multiple: boolean,\n collapsible: boolean,\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<Value = AccordionItemValue>(index?: Value | Value[]): Value[] | undefined {\n if (index === undefined) {\n return undefined;\n }\n return Array.isArray(index) ? index : [index];\n}\n"],"names":["React","getIntrinsicElementProps","useControllableState","useEventCallback","slot","useArrowNavigationGroup","useAccordion_unstable","props","ref","openItems","controlledOpenItems","defaultOpenItems","multiple","collapsible","onToggle","navigation","rest","setOpenItems","state","useMemo","normalizeValues","defaultState","initializeUncontrolledOpenItems","initialState","arrowNavigationProps","circular","tabbable","requestToggle","data","nextOpenItems","updateOpenItems","value","event","components","root","always","undefined","elementType","Array","isArray","previousOpenItems","includes","length","filter","i","sort","index"],"mappings":"AAAA;;;;;+BAcaM;;;;;;;iEAZU,QAAQ;gCACwD,4BAA4B;8BAG3E,0BAA0B;AAQ3D,8BAA8B,CACnCC,OACAC;IAEA,MAAM,EACJC,WAAWC,mBAAmB,EAC9BC,gBAAgB,EAChBC,WAAW,KAAK,EAChBC,cAAc,KAAK,EACnBC,QAAQ,EACR,AACAC,UAAU,EACV,GAAGC,MACJ,GAAGT,oCAH0D;IAI9D,MAAM,CAACE,WAAWQ,aAAa,OAAGf,oCAAAA,EAAqB;QACrDgB,OAAOlB,OAAMmB,OAAO,CAAC,IAAMC,gBAAgBV,sBAAsB;YAACA;SAAoB;QACtFW,cAAcV,oBAAqB,KAAMW,gCAAgC;gBAAEX;gBAAkBC;YAAS,EAAA,CAAC;QACvGW,cAAc,EAAE;IAClB;IAEA,uEAAuE,GACvE,MAAMC,2BAAuBnB,qCAAAA,EAAwB;QACnDoB,UAAUV,eAAe;QACzBW,UAAU;IACZ;IAEA,MAAMC,oBAAgBxB,gCAAAA,EAAiB,CAACyB;QACtC,MAAMC,gBAAgBC,gBAAgBF,KAAKG,KAAK,EAAEtB,WAAWG,UAAUC;QACvEC,aAAAA,QAAAA,aAAAA,KAAAA,IAAAA,KAAAA,IAAAA,SAAWc,KAAKI,KAAK,EAAE;YAAED,OAAOH,KAAKG,KAAK;YAAEtB,WAAWoB;QAAc;QACrEZ,aAAaY;IACf;IAEA,OAAO;QACLhB;QACAD;QACAG;QACAN;QACAkB;QACAM,YAAY;YACVC,MAAM;QACR;QACAA,MAAM9B,oBAAAA,CAAK+B,MAAM,KACflC,wCAAAA,EAAyB,OAAO;YAC9B,GAAGe,IAAI;YAEP,GAAID,aAAaS,uBAAuBY,SAAS;YACjD,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5F5B,KAAKA;QACP,IACA;YAAE6B,aAAa;QAAM;IAEzB;AACF,EAAE;AAEF;;CAEC,GACD,SAASf,gCAA4D,EACnEX,gBAAgB,EAChBC,QAAQ,EACqD;IAC7D,IAAID,qBAAqByB,WAAW;QAClC,IAAIE,MAAMC,OAAO,CAAC5B,mBAAmB;YACnC,OAAOC,WAAWD,mBAAmB;gBAACA,gBAAgB,CAAC,EAAE;aAAC;QAC5D;QACA,OAAO;YAACA;SAAiB;IAC3B;IACA,OAAO,EAAE;AACX;AAEA;;;;;;CAMC,GACD,SAASmB,gBACPC,KAAY,EACZS,iBAA0B,EAC1B5B,QAAiB,EACjBC,WAAoB;IAEpB,IAAID,UAAU;QACZ,IAAI4B,kBAAkBC,QAAQ,CAACV,QAAQ;YACrC,IAAIS,kBAAkBE,MAAM,GAAG,KAAK7B,aAAa;gBAC/C,OAAO2B,kBAAkBG,MAAM,CAACC,CAAAA,IAAKA,MAAMb;YAC7C;QACF,OAAO;YACL,OAAO;mBAAIS;gBAAmBT;aAAM,CAACc,IAAI;QAC3C;IACF,OAAO;QACL,OAAOL,iBAAiB,CAAC,EAAE,KAAKT,SAASlB,cAAc,EAAE,GAAG;YAACkB;SAAM;IACrE;IACA,OAAOS;AACT;AAEA;;CAEC,GACD,SAASpB,gBAA4C0B,KAAuB;IAC1E,IAAIA,UAAUV,WAAW;QACvB,OAAOA;IACT;IACA,OAAOE,MAAMC,OAAO,CAACO,SAASA,QAAQ;QAACA;KAAM;AAC/C"}
1
+ {"version":3,"sources":["../src/components/Accordion/useAccordion.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';\nimport type { AccordionBaseProps, AccordionBaseState, AccordionProps, AccordionState } from './Accordion.types';\nimport type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { AccordionRequestToggleData } from '../../contexts/accordion';\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 = <Value = AccordionItemValue>(\n props: AccordionProps<Value>,\n ref: React.Ref<HTMLElement>,\n): AccordionState<Value> => {\n const {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n navigation,\n ...baseProps\n } = props;\n const state = useAccordionBase_unstable(baseProps, ref);\n\n /** FIXME: deprecated will be removed after navigation prop is removed */\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: navigation === 'circular',\n tabbable: true,\n });\n\n return {\n navigation,\n ...state,\n\n root: {\n ...state.root,\n ...(navigation ? arrowNavigationProps : undefined),\n },\n };\n};\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 useAccordionBase_unstable = <Value = AccordionItemValue>(\n props: AccordionBaseProps<Value>,\n ref: React.Ref<HTMLElement>,\n): AccordionBaseState<Value> => {\n const {\n openItems: controlledOpenItems,\n defaultOpenItems,\n multiple = false,\n collapsible = false,\n onToggle,\n ...rest\n } = props;\n const [openItems, setOpenItems] = useControllableState({\n state: React.useMemo(() => normalizeValues(controlledOpenItems), [controlledOpenItems]),\n defaultState: defaultOpenItems && (() => initializeUncontrolledOpenItems({ defaultOpenItems, multiple })),\n initialState: [],\n });\n\n const requestToggle = useEventCallback((data: AccordionRequestToggleData<Value>) => {\n const nextOpenItems = updateOpenItems(data.value, openItems, multiple, collapsible);\n onToggle?.(data.event, { value: data.value, openItems: nextOpenItems });\n setOpenItems(nextOpenItems);\n });\n\n return {\n collapsible,\n multiple,\n openItems,\n requestToggle,\n components: {\n root: 'div',\n },\n root: slot.always(\n {\n ref: ref as React.Ref<HTMLDivElement>,\n ...rest,\n },\n { elementType: 'div' },\n ),\n };\n};\n\n/**\n * Initial value for the uncontrolled case of the list of open indexes\n */\nfunction initializeUncontrolledOpenItems<Value = AccordionItemValue>({\n defaultOpenItems,\n multiple,\n}: Pick<AccordionProps<Value>, 'defaultOpenItems' | 'multiple'>): Value[] {\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 multiple - if Accordion support multiple Panels opened at the same time\n * @param collapsible - if Accordion support multiple Panels closed at the same time\n */\nfunction updateOpenItems<Value = AccordionItemValue>(\n value: Value,\n previousOpenItems: Value[],\n multiple: boolean,\n collapsible: boolean,\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<Value = AccordionItemValue>(index?: Value | Value[]): Value[] | undefined {\n if (index === undefined) {\n return undefined;\n }\n return Array.isArray(index) ? index : [index];\n}\n"],"names":["React","useControllableState","useEventCallback","slot","useArrowNavigationGroup","useAccordion_unstable","props","ref","navigation","baseProps","state","useAccordionBase_unstable","arrowNavigationProps","circular","tabbable","root","undefined","openItems","controlledOpenItems","defaultOpenItems","multiple","collapsible","onToggle","rest","setOpenItems","useMemo","normalizeValues","defaultState","initializeUncontrolledOpenItems","initialState","requestToggle","data","nextOpenItems","updateOpenItems","value","event","components","always","elementType","Array","isArray","previousOpenItems","includes","length","filter","i","sort","index"],"mappings":"AAAA;;;;;;;;;;;;IA+CaW,yBAAAA;;;yBAjCAN;;;;;iEAZU,QAAQ;gCAC8B,4BAA4B;8BAGjD,0BAA0B;AAQ3D,MAAMA,wBAAwB,CACnCC,OACAC;IAEA,MAAM,EACJ,AACAC,UAAU,EACV,GAAGC,WACJ,GAAGH,+BAH0D;IAI9D,MAAMI,QAAQC,0BAA0BF,WAAWF;IAEnD,uEAAuE,GACvE,MAAMK,2BAAuBR,qCAAAA,EAAwB;QACnDS,UAAUL,eAAe;QACzBM,UAAU;IACZ;IAEA,OAAO;QACLN;QACA,GAAGE,KAAK;QAERK,MAAM;YACJ,GAAGL,MAAMK,IAAI;YACb,GAAIP,aAAaI,uBAAuBI,SAAS;QACnD;IACF;AACF,EAAE;AAOK,kCAAkC,CACvCV,OACAC;IAEA,MAAM,EACJU,WAAWC,mBAAmB,EAC9BC,gBAAgB,EAChBC,WAAW,KAAK,EAChBC,cAAc,KAAK,EACnBC,QAAQ,EACR,GAAGC,MACJ,GAAGjB;IACJ,MAAM,CAACW,WAAWO,aAAa,OAAGvB,oCAAAA,EAAqB;QACrDS,OAAOV,OAAMyB,OAAO,CAAC,IAAMC,gBAAgBR,sBAAsB;YAACA;SAAoB;QACtFS,cAAcR,oBAAqB,CAAA,IAAMS,gCAAgC;gBAAET;gBAAkBC;YAAS,EAAA,CAAC;QACvGS,cAAc,EAAE;IAClB;IAEA,MAAMC,oBAAgB5B,gCAAAA,EAAiB,CAAC6B;QACtC,MAAMC,gBAAgBC,gBAAgBF,KAAKG,KAAK,EAAEjB,WAAWG,UAAUC;QACvEC,aAAAA,QAAAA,aAAAA,KAAAA,IAAAA,KAAAA,IAAAA,SAAWS,KAAKI,KAAK,EAAE;YAAED,OAAOH,KAAKG,KAAK;YAAEjB,WAAWe;QAAc;QACrER,aAAaQ;IACf;IAEA,OAAO;QACLX;QACAD;QACAH;QACAa;QACAM,YAAY;YACVrB,MAAM;QACR;QACAA,MAAMZ,oBAAAA,CAAKkC,MAAM,CACf;YACE9B,KAAKA;YACL,GAAGgB,IAAI;QACT,GACA;YAAEe,aAAa;QAAM;IAEzB;AACF,EAAE;AAEF;;CAEC,GACD,SAASV,gCAA4D,EACnET,gBAAgB,EAChBC,QAAQ,EACqD;IAC7D,IAAID,qBAAqBH,WAAW;QAClC,IAAIuB,MAAMC,OAAO,CAACrB,mBAAmB;YACnC,OAAOC,WAAWD,mBAAmB;gBAACA,gBAAgB,CAAC,EAAE;aAAC;QAC5D;QACA,OAAO;YAACA;SAAiB;IAC3B;IACA,OAAO,EAAE;AACX;AAEA;;;;;;CAMC,GACD,SAASc,gBACPC,KAAY,EACZO,iBAA0B,EAC1BrB,QAAiB,EACjBC,WAAoB;IAEpB,IAAID,UAAU;QACZ,IAAIqB,kBAAkBC,QAAQ,CAACR,QAAQ;YACrC,IAAIO,kBAAkBE,MAAM,GAAG,KAAKtB,aAAa;gBAC/C,OAAOoB,kBAAkBG,MAAM,CAACC,CAAAA,IAAKA,MAAMX;YAC7C;QACF,OAAO;YACL,OAAO;mBAAIO;gBAAmBP;aAAM,CAACY,IAAI;QAC3C;IACF,OAAO;QACL,OAAOL,iBAAiB,CAAC,EAAE,KAAKP,SAASb,cAAc,EAAE,GAAG;YAACa;SAAM;IACrE;IACA,OAAOO;AACT;AAEA;;CAEC,GACD,SAASf,gBAA4CqB,KAAuB;IAC1E,IAAIA,UAAU/B,WAAW;QACvB,OAAOA;IACT;IACA,OAAOuB,MAAMC,OAAO,CAACO,SAASA,QAAQ;QAACA;KAAM;AAC/C"}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderAccordionHeader_unstable: function() {
19
19
  return _renderAccordionHeader.renderAccordionHeader_unstable;
20
20
  },
21
+ useAccordionHeaderBase_unstable: function() {
22
+ return _useAccordionHeader.useAccordionHeaderBase_unstable;
23
+ },
21
24
  useAccordionHeaderContextValues_unstable: function() {
22
25
  return _useAccordionHeaderContextValues.useAccordionHeaderContextValues_unstable;
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AccordionHeader/index.ts"],"sourcesContent":["export { AccordionHeader } from './AccordionHeader';\nexport type {\n AccordionHeaderContextValues,\n AccordionHeaderExpandIconPosition,\n AccordionHeaderProps,\n AccordionHeaderSize,\n AccordionHeaderSlots,\n AccordionHeaderState,\n} from './AccordionHeader.types';\nexport { renderAccordionHeader_unstable } from './renderAccordionHeader';\nexport { useAccordionHeader_unstable } from './useAccordionHeader';\nexport { useAccordionHeaderContextValues_unstable } from './useAccordionHeaderContextValues';\nexport { accordionHeaderClassNames, useAccordionHeaderStyles_unstable } from './useAccordionHeaderStyles.styles';\n"],"names":["AccordionHeader","renderAccordionHeader_unstable","useAccordionHeader_unstable","useAccordionHeaderContextValues_unstable","accordionHeaderClassNames","useAccordionHeaderStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,gCAAe;;;eAYfI,yDAAyB;;;eAHzBH,qDAA8B;;;eAE9BE,yEAAwC;;;eACbE,iEAAiC;;;eAF5DH,+CAA2B;;;iCAVJ,oBAAoB;uCASL,0BAA0B;oCAC7B,uBAAuB;iDACV,oCAAoC;gDAChB,oCAAoC"}
1
+ {"version":3,"sources":["../src/components/AccordionHeader/index.ts"],"sourcesContent":["export { AccordionHeader } from './AccordionHeader';\nexport type {\n AccordionHeaderContextValues,\n AccordionHeaderExpandIconPosition,\n AccordionHeaderProps,\n AccordionHeaderSize,\n AccordionHeaderSlots,\n AccordionHeaderState,\n} from './AccordionHeader.types';\nexport { renderAccordionHeader_unstable } from './renderAccordionHeader';\nexport { useAccordionHeader_unstable, useAccordionHeaderBase_unstable } from './useAccordionHeader';\nexport { useAccordionHeaderContextValues_unstable } from './useAccordionHeaderContextValues';\nexport { accordionHeaderClassNames, useAccordionHeaderStyles_unstable } from './useAccordionHeaderStyles.styles';\n"],"names":["AccordionHeader","renderAccordionHeader_unstable","useAccordionHeader_unstable","useAccordionHeaderBase_unstable","useAccordionHeaderContextValues_unstable","accordionHeaderClassNames","useAccordionHeaderStyles_unstable"],"mappings":";;;;;;;;;;;IAASA;+CAAe;;IAYfK;wEAAyB;;;eAHzBJ,qDAA8B;;;eACDE,mDAA+B;;;eAC5DC,yEAAwC;;;eACbE,iEAAiC;;;eAF5DJ,+CAA2B;;;iCAVJ,oBAAoB;uCASL,0BAA0B;oCACI,uBAAuB;iDAC3C,oCAAoC;gDAChB,oCAAoC"}
@@ -3,9 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "useAccordionHeader_unstable", {
7
- enumerable: true,
8
- get: function() {
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ useAccordionHeaderBase_unstable: function() {
14
+ return useAccordionHeaderBase_unstable;
15
+ },
16
+ useAccordionHeader_unstable: function() {
9
17
  return useAccordionHeader_unstable;
10
18
  }
11
19
  });
@@ -19,23 +27,37 @@ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
19
27
  const _accordionItem = require("../../contexts/accordionItem");
20
28
  const _reactmotion = require("@fluentui/react-motion");
21
29
  const useAccordionHeader_unstable = (props, ref)=>{
22
- const { icon, button, expandIcon, inline = false, size = 'medium', expandIconPosition = 'start' } = props;
23
- const { value, disabled, open } = (0, _accordionItem.useAccordionItemContext_unstable)();
24
- const requestToggle = (0, _accordion.useAccordionContext_unstable)((ctx)=>ctx.requestToggle);
25
- /**
26
- * force disabled state on button if accordion isn't collapsible
27
- * and this is the only item opened
28
- */ const disabledFocusable = (0, _accordion.useAccordionContext_unstable)((ctx)=>!ctx.collapsible && ctx.openItems.length === 1 && open);
30
+ const state = useAccordionHeaderBase_unstable(props, ref);
29
31
  const { dir } = (0, _reactsharedcontexts.useFluent_unstable)();
30
32
  // Calculate how to rotate the expand icon [>] (ChevronRightRegular)
31
33
  let expandIconRotation;
32
- if (expandIconPosition === 'end') {
34
+ if (state.expandIconPosition === 'end') {
33
35
  // If expand icon is at the end, the chevron points up [^] when open, and down [v] when closed
34
- expandIconRotation = open ? -90 : 90;
36
+ expandIconRotation = state.open ? -90 : 90;
35
37
  } else {
36
38
  // Otherwise, the chevron points down [v] when open, and right [>] (or left [<] in RTL) when closed
37
- expandIconRotation = open ? 90 : dir !== 'rtl' ? 0 : 180;
39
+ expandIconRotation = state.open ? 90 : dir !== 'rtl' ? 0 : 180;
40
+ }
41
+ if (state.expandIcon) {
42
+ var _state_expandIcon;
43
+ var _children;
44
+ (_children = (_state_expandIcon = state.expandIcon).children) !== null && _children !== void 0 ? _children : _state_expandIcon.children = /*#__PURE__*/ _react.createElement(_reacticons.ChevronRightRegular, {
45
+ style: {
46
+ transform: `rotate(${expandIconRotation}deg)`,
47
+ transition: `transform ${_reactmotion.motionTokens.durationNormal}ms ease-out`
48
+ }
49
+ });
38
50
  }
51
+ return state;
52
+ };
53
+ const useAccordionHeaderBase_unstable = (props, ref)=>{
54
+ const { icon, button, expandIcon, inline = false, size = 'medium', expandIconPosition = 'start', ...rest } = props;
55
+ const { value, disabled, open } = (0, _accordionItem.useAccordionItemContext_unstable)();
56
+ const requestToggle = (0, _accordion.useAccordionContext_unstable)((ctx)=>ctx.requestToggle);
57
+ /**
58
+ * force disabled state on button if accordion isn't collapsible
59
+ * and this is the only item opened
60
+ */ const disabledFocusable = (0, _accordion.useAccordionContext_unstable)((ctx)=>!ctx.collapsible && ctx.openItems.length === 1 && open);
39
61
  const buttonSlot = _reactutilities.slot.always(button, {
40
62
  elementType: 'button',
41
63
  defaultProps: {
@@ -69,13 +91,10 @@ const useAccordionHeader_unstable = (props, ref)=>{
69
91
  expandIcon: 'span',
70
92
  icon: 'div'
71
93
  },
72
- root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
73
- // FIXME:
74
- // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`
75
- // but since it would be a breaking change to fix it, we are casting ref to it's proper type
94
+ root: _reactutilities.slot.always({
76
95
  ref: ref,
77
- ...props
78
- }), {
96
+ ...rest
97
+ }, {
79
98
  elementType: 'div'
80
99
  }),
81
100
  icon: _reactutilities.slot.optional(icon, {
@@ -84,12 +103,6 @@ const useAccordionHeader_unstable = (props, ref)=>{
84
103
  expandIcon: _reactutilities.slot.optional(expandIcon, {
85
104
  renderByDefault: true,
86
105
  defaultProps: {
87
- children: /*#__PURE__*/ _react.createElement(_reacticons.ChevronRightRegular, {
88
- style: {
89
- transform: `rotate(${expandIconRotation}deg)`,
90
- transition: `transform ${_reactmotion.motionTokens.durationNormal}ms ease-out`
91
- }
92
- }),
93
106
  'aria-hidden': true
94
107
  },
95
108
  elementType: 'span'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AccordionHeader/useAccordionHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, slot, isResolvedShorthand } from '@fluentui/react-utilities';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';\nimport { useAccordionContext_unstable } from '../../contexts/accordion';\nimport { ChevronRightRegular } from '@fluentui/react-icons';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useAccordionItemContext_unstable } from '../../contexts/accordionItem';\nimport { motionTokens } from '@fluentui/react-motion';\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 { icon, button, expandIcon, inline = false, size = 'medium', expandIconPosition = 'start' } = props;\n const { value, disabled, open } = useAccordionItemContext_unstable();\n const requestToggle = useAccordionContext_unstable(ctx => ctx.requestToggle);\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 = useAccordionContext_unstable(ctx => !ctx.collapsible && ctx.openItems.length === 1 && open);\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 buttonSlot = slot.always(button, {\n elementType: 'button',\n defaultProps: {\n disabled,\n disabledFocusable,\n 'aria-expanded': open,\n type: 'button',\n },\n });\n\n buttonSlot.onClick = useEventCallback(event => {\n if (isResolvedShorthand(button)) {\n button.onClick?.(event);\n }\n if (!event.defaultPrevented) {\n requestToggle({ value, event });\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: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref as React.Ref<HTMLDivElement>,\n ...props,\n }),\n { elementType: 'div' },\n ),\n icon: slot.optional(icon, { elementType: 'div' }),\n expandIcon: slot.optional(expandIcon, {\n renderByDefault: true,\n defaultProps: {\n children: (\n <ChevronRightRegular\n style={{\n transform: `rotate(${expandIconRotation}deg)`,\n transition: `transform ${motionTokens.durationNormal}ms ease-out`,\n }}\n />\n ),\n 'aria-hidden': true,\n },\n elementType: 'span',\n }),\n button: useARIAButtonProps(buttonSlot.as, buttonSlot),\n };\n};\n"],"names":["React","getIntrinsicElementProps","useEventCallback","slot","isResolvedShorthand","useARIAButtonProps","useAccordionContext_unstable","ChevronRightRegular","useFluent_unstable","useFluent","useAccordionItemContext_unstable","motionTokens","useAccordionHeader_unstable","props","ref","icon","button","expandIcon","inline","size","expandIconPosition","value","disabled","open","requestToggle","ctx","disabledFocusable","collapsible","openItems","length","dir","expandIconRotation","buttonSlot","always","elementType","defaultProps","type","onClick","event","defaultPrevented","components","root","optional","renderByDefault","children","style","transform","transition","durationNormal","as"],"mappings":"AAAA;;;;;+BAiBaY;;;;;;;iEAfU,QAAQ;gCACuD,4BAA4B;2BAC/E,uBAAuB;2BAEb,2BAA2B;4BACpC,wBAAwB;qCACZ,kCAAkC;+BACjC,+BAA+B;6BACnD,yBAAyB;AAO/C,oCAAoC,CACzCC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,SAAS,KAAK,EAAEC,OAAO,QAAQ,EAAEC,qBAAqB,OAAO,EAAE,GAAGP;IACpG,MAAM,EAAEQ,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAE,OAAGb,+CAAAA;IAClC,MAAMc,gBAAgBlB,2CAAAA,EAA6BmB,CAAAA,MAAOA,IAAID,aAAa;IAE3E;;;GAGC,GACD,MAAME,wBAAoBpB,uCAAAA,EAA6BmB,CAAAA,MAAO,CAACA,IAAIE,WAAW,IAAIF,IAAIG,SAAS,CAACC,MAAM,KAAK,KAAKN;IAEhH,MAAM,EAAEO,GAAG,EAAE,OAAGrB,uCAAAA;IAEhB,oEAAoE;IACpE,IAAIsB;IACJ,IAAIX,uBAAuB,OAAO;QAChC,8FAA8F;QAC9FW,qBAAqBR,OAAO,CAAC,KAAK;IACpC,OAAO;QACL,mGAAmG;QACnGQ,qBAAqBR,OAAO,KAAKO,QAAQ,QAAQ,IAAI;IACvD;IAEA,MAAME,aAAa7B,oBAAAA,CAAK8B,MAAM,CAACjB,QAAQ;QACrCkB,aAAa;QACbC,cAAc;YACZb;YACAI;YACA,iBAAiBH;YACjBa,MAAM;QACR;IACF;IAEAJ,WAAWK,OAAO,OAAGnC,gCAAAA,EAAiBoC,CAAAA;QACpC,QAAIlC,mCAAAA,EAAoBY,SAAS;gBAC/BA;aAAAA,kBAAAA,OAAOqB,OAAAA,AAAO,MAAA,QAAdrB,oBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,gBAAAA,IAAAA,CAAAA,QAAiBsB;QACnB;QACA,IAAI,CAACA,MAAMC,gBAAgB,EAAE;YAC3Bf,cAAc;gBAAEH;gBAAOiB;YAAM;QAC/B;IACF;IAEA,OAAO;QACLhB;QACAC;QACAJ;QACAD;QACAE;QACAoB,YAAY;YACVC,MAAM;YACNzB,QAAQ;YACRC,YAAY;YACZF,MAAM;QACR;QACA0B,MAAMtC,oBAAAA,CAAK8B,MAAM,KACfhC,wCAAAA,EAAyB,OAAO;YAC9B,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5Fa,KAAKA;YACL,GAAGD,KAAK;QACV,IACA;YAAEqB,aAAa;QAAM;QAEvBnB,MAAMZ,oBAAAA,CAAKuC,QAAQ,CAAC3B,MAAM;YAAEmB,aAAa;QAAM;QAC/CjB,YAAYd,oBAAAA,CAAKuC,QAAQ,CAACzB,YAAY;YACpC0B,iBAAiB;YACjBR,cAAc;gBACZS,UAAAA,WAAAA,GACE,OAAA,aAAA,CAACrC,+BAAAA,EAAAA;oBACCsC,OAAO;wBACLC,WAAW,CAAC,OAAO,EAAEf,mBAAmB,IAAI,CAAC;wBAC7CgB,YAAY,CAAC,UAAU,EAAEpC,yBAAAA,CAAaqC,cAAc,CAAC,WAAW,CAAC;oBACnE;;gBAGJ,eAAe;YACjB;YACAd,aAAa;QACf;QACAlB,YAAQX,6BAAAA,EAAmB2B,WAAWiB,EAAE,EAAEjB;IAC5C;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/AccordionHeader/useAccordionHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useEventCallback, slot, isResolvedShorthand } from '@fluentui/react-utilities';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport type { AccordionHeaderProps, AccordionHeaderState } from './AccordionHeader.types';\nimport { useAccordionContext_unstable } from '../../contexts/accordion';\nimport { ChevronRightRegular } from '@fluentui/react-icons';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useAccordionItemContext_unstable } from '../../contexts/accordionItem';\nimport { motionTokens } from '@fluentui/react-motion';\n\n/**\n * Returns the props and state required to render the component\n *\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 state = useAccordionHeaderBase_unstable(props, ref);\n const { dir } = useFluent();\n\n // Calculate how to rotate the expand icon [>] (ChevronRightRegular)\n let expandIconRotation: 0 | 90 | -90 | 180;\n if (state.expandIconPosition === 'end') {\n // If expand icon is at the end, the chevron points up [^] when open, and down [v] when closed\n expandIconRotation = state.open ? -90 : 90;\n } else {\n // Otherwise, the chevron points down [v] when open, and right [>] (or left [<] in RTL) when closed\n expandIconRotation = state.open ? 90 : dir !== 'rtl' ? 0 : 180;\n }\n\n if (state.expandIcon) {\n state.expandIcon.children ??= (\n <ChevronRightRegular\n style={{\n transform: `rotate(${expandIconRotation}deg)`,\n transition: `transform ${motionTokens.durationNormal}ms ease-out`,\n }}\n />\n );\n }\n\n return state;\n};\n\n/**\n * Base state hook for AccordionHeader, without design related features.\n *\n * @param props - AccordionHeader properties\n * @param ref - reference to root HTMLElement of AccordionHeader\n */\nexport const useAccordionHeaderBase_unstable = (\n props: AccordionHeaderProps,\n ref: React.Ref<HTMLElement>,\n): AccordionHeaderState => {\n const { icon, button, expandIcon, inline = false, size = 'medium', expandIconPosition = 'start', ...rest } = props;\n const { value, disabled, open } = useAccordionItemContext_unstable();\n const requestToggle = useAccordionContext_unstable(ctx => ctx.requestToggle);\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 = useAccordionContext_unstable(ctx => !ctx.collapsible && ctx.openItems.length === 1 && open);\n\n const buttonSlot = slot.always(button, {\n elementType: 'button',\n defaultProps: {\n disabled,\n disabledFocusable,\n 'aria-expanded': open,\n type: 'button',\n },\n });\n\n buttonSlot.onClick = useEventCallback(event => {\n if (isResolvedShorthand(button)) {\n button.onClick?.(event);\n }\n if (!event.defaultPrevented) {\n requestToggle({ value, event });\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: slot.always(\n {\n ref: ref as React.Ref<HTMLDivElement>,\n ...rest,\n },\n { elementType: 'div' },\n ),\n icon: slot.optional(icon, { elementType: 'div' }),\n expandIcon: slot.optional(expandIcon, {\n renderByDefault: true,\n defaultProps: {\n 'aria-hidden': true,\n },\n elementType: 'span',\n }),\n button: useARIAButtonProps(buttonSlot.as, buttonSlot),\n };\n};\n"],"names":["React","useEventCallback","slot","isResolvedShorthand","useARIAButtonProps","useAccordionContext_unstable","ChevronRightRegular","useFluent_unstable","useFluent","useAccordionItemContext_unstable","motionTokens","useAccordionHeader_unstable","props","ref","state","useAccordionHeaderBase_unstable","dir","expandIconRotation","expandIconPosition","open","expandIcon","children","style","transform","transition","durationNormal","icon","button","inline","size","rest","value","disabled","requestToggle","ctx","disabledFocusable","collapsible","openItems","length","buttonSlot","always","elementType","defaultProps","type","onClick","event","defaultPrevented","components","root","optional","renderByDefault","as"],"mappings":"AAAA;;;;;;;;;;;;mCAuDae;eAAAA;;IArCAJ,2BAAAA;;;;;iEAhBU,QAAQ;gCAC6B,4BAA4B;2BACrD,uBAAuB;2BAEb,2BAA2B;4BACpC,wBAAwB;qCACZ,kCAAkC;+BACjC,+BAA+B;6BACnD,yBAAyB;AAQ/C,oCAAoC,CACzCC,OACAC;IAEA,MAAMC,QAAQC,gCAAgCH,OAAOC;IACrD,MAAM,EAAEG,GAAG,EAAE,OAAGR,uCAAAA;IAEhB,oEAAoE;IACpE,IAAIS;IACJ,IAAIH,MAAMI,kBAAkB,KAAK,OAAO;QACtC,8FAA8F;QAC9FD,qBAAqBH,MAAMK,IAAI,GAAG,CAAC,KAAK;IAC1C,OAAO;QACL,mGAAmG;QACnGF,qBAAqBH,MAAMK,IAAI,GAAG,KAAKH,QAAQ,QAAQ,IAAI;IAC7D;IAEA,IAAIF,MAAMM,UAAU,EAAE;YACpBN;;QAAAA,CAAAA,YAAAA,CAAAA,oBAAAA,MAAMM,UAAAA,AAAU,EAACC,QAAAA,MAAAA,QAAAA,cAAAA,KAAAA,IAAAA,YAAjBP,kBAAiBO,QAAAA,GAAAA,WAAAA,GACf,OAAA,aAAA,CAACf,+BAAAA,EAAAA;YACCgB,OAAO;gBACLC,WAAW,CAAC,OAAO,EAAEN,mBAAmB,IAAI,CAAC;gBAC7CO,YAAY,CAAC,UAAU,EAAEd,yBAAAA,CAAae,cAAc,CAAC,WAAW,CAAC;YACnE;;IAGN;IAEA,OAAOX;AACT,EAAE;AAQK,wCAAwC,CAC7CF,OACAC;IAEA,MAAM,EAAEa,IAAI,EAAEC,MAAM,EAAEP,UAAU,EAAEQ,SAAS,KAAK,EAAEC,OAAO,QAAQ,EAAEX,qBAAqB,OAAO,EAAE,GAAGY,MAAM,GAAGlB;IAC7G,MAAM,EAAEmB,KAAK,EAAEC,QAAQ,EAAEb,IAAI,EAAE,GAAGV,mDAAAA;IAClC,MAAMwB,oBAAgB5B,uCAAAA,EAA6B6B,CAAAA,MAAOA,IAAID,aAAa;IAE3E;;;GAGC,GACD,MAAME,wBAAoB9B,uCAAAA,EAA6B6B,CAAAA,MAAO,CAACA,IAAIE,WAAW,IAAIF,IAAIG,SAAS,CAACC,MAAM,KAAK,KAAKnB;IAEhH,MAAMoB,aAAarC,oBAAAA,CAAKsC,MAAM,CAACb,QAAQ;QACrCc,aAAa;QACbC,cAAc;YACZV;YACAG;YACA,iBAAiBhB;YACjBwB,MAAM;QACR;IACF;IAEAJ,WAAWK,OAAO,OAAG3C,gCAAAA,EAAiB4C,CAAAA;QACpC,QAAI1C,mCAAAA,EAAoBwB,SAAS;gBAC/BA;aAAAA,kBAAAA,OAAOiB,OAAAA,AAAO,MAAA,QAAdjB,oBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,gBAAAA,IAAAA,CAAAA,QAAiBkB;QACnB;QACA,IAAI,CAACA,MAAMC,gBAAgB,EAAE;YAC3Bb,cAAc;gBAAEF;gBAAOc;YAAM;QAC/B;IACF;IAEA,OAAO;QACLb;QACAb;QACAU;QACAD;QACAV;QACA6B,YAAY;YACVC,MAAM;YACNrB,QAAQ;YACRP,YAAY;YACZM,MAAM;QACR;QACAsB,MAAM9C,oBAAAA,CAAKsC,MAAM,CACf;YACE3B,KAAKA;YACL,GAAGiB,IAAI;QACT,GACA;YAAEW,aAAa;QAAM;QAEvBf,MAAMxB,oBAAAA,CAAK+C,QAAQ,CAACvB,MAAM;YAAEe,aAAa;QAAM;QAC/CrB,YAAYlB,oBAAAA,CAAK+C,QAAQ,CAAC7B,YAAY;YACpC8B,iBAAiB;YACjBR,cAAc;gBACZ,eAAe;YACjB;YACAD,aAAa;QACf;QACAd,YAAQvB,6BAAAA,EAAmBmC,WAAWY,EAAE,EAAEZ;IAC5C;AACF,EAAE"}
@@ -14,7 +14,7 @@ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
14
  const _reactutilities = require("@fluentui/react-utilities");
15
15
  const _accordion = require("../../contexts/accordion");
16
16
  const useAccordionItem_unstable = (props, ref)=>{
17
- const { value, disabled = false } = props;
17
+ const { value, disabled = false, ...rest } = props;
18
18
  const requestToggle = (0, _accordion.useAccordionContext_unstable)((ctx)=>ctx.requestToggle);
19
19
  const open = (0, _accordion.useAccordionContext_unstable)((ctx)=>ctx.openItems.includes(value));
20
20
  const onAccordionHeaderClick = (0, _reactutilities.useEventCallback)((event)=>requestToggle({
@@ -29,13 +29,11 @@ const useAccordionItem_unstable = (props, ref)=>{
29
29
  components: {
30
30
  root: 'div'
31
31
  },
32
- root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
33
- // FIXME:
34
- // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`
35
- // but since it would be a breaking change to fix it, we are casting ref to it's proper type
32
+ root: _reactutilities.slot.always({
33
+ disabled,
36
34
  ref: ref,
37
- ...props
38
- }), {
35
+ ...rest
36
+ }, {
39
37
  elementType: 'div'
40
38
  })
41
39
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AccordionItem/useAccordionItem.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot, useEventCallback } from '@fluentui/react-utilities';\nimport type { AccordionItemProps, AccordionItemState } from './AccordionItem.types';\nimport type { AccordionToggleEvent } from '../Accordion/Accordion.types';\nimport { useAccordionContext_unstable } from '../../contexts/accordion';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionItem properties\n * @param ref - reference to root HTMLElement of AccordionItem\n */\nexport const useAccordionItem_unstable = (\n props: AccordionItemProps,\n ref: React.Ref<HTMLElement>,\n): AccordionItemState => {\n const { value, disabled = false } = props;\n\n const requestToggle = useAccordionContext_unstable(ctx => ctx.requestToggle);\n const open = useAccordionContext_unstable(ctx => ctx.openItems.includes(value));\n const onAccordionHeaderClick = useEventCallback((event: AccordionToggleEvent) => requestToggle({ event, value }));\n\n return {\n open,\n value,\n disabled,\n onHeaderClick: onAccordionHeaderClick,\n components: {\n root: 'div',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref as React.Ref<HTMLDivElement>,\n ...props,\n }),\n { elementType: 'div' },\n ),\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useEventCallback","useAccordionContext_unstable","useAccordionItem_unstable","props","ref","value","disabled","requestToggle","ctx","open","openItems","includes","onAccordionHeaderClick","event","onHeaderClick","components","root","always","elementType"],"mappings":"AAAA;;;;;+BAaaK;;;;;;;iEAXU,QAAQ;gCACkC,4BAA4B;2BAGhD,2BAA2B;AAOjE,kCAAkC,CACvCC,OACAC;IAEA,MAAM,EAAEC,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGH;IAEpC,MAAMI,oBAAgBN,uCAAAA,EAA6BO,CAAAA,MAAOA,IAAID,aAAa;IAC3E,MAAME,WAAOR,uCAAAA,EAA6BO,CAAAA,MAAOA,IAAIE,SAAS,CAACC,QAAQ,CAACN;IACxE,MAAMO,6BAAyBZ,gCAAAA,EAAiB,CAACa,QAAgCN,cAAc;YAAEM;YAAOR;QAAM;IAE9G,OAAO;QACLI;QACAJ;QACAC;QACAQ,eAAeF;QACfG,YAAY;YACVC,MAAM;QACR;QACAA,MAAMjB,oBAAAA,CAAKkB,MAAM,KACfnB,wCAAAA,EAAyB,OAAO;YAC9B,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5FM,KAAKA;YACL,GAAGD,KAAK;QACV,IACA;YAAEe,aAAa;QAAM;IAEzB;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/AccordionItem/useAccordionItem.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot, useEventCallback } from '@fluentui/react-utilities';\nimport type { AccordionItemProps, AccordionItemState } from './AccordionItem.types';\nimport type { AccordionToggleEvent } from '../Accordion/Accordion.types';\nimport { useAccordionContext_unstable } from '../../contexts/accordion';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionItem properties\n * @param ref - reference to root HTMLElement of AccordionItem\n */\nexport const useAccordionItem_unstable = (\n props: AccordionItemProps,\n ref: React.Ref<HTMLElement>,\n): AccordionItemState => {\n const { value, disabled = false, ...rest } = props;\n\n const requestToggle = useAccordionContext_unstable(ctx => ctx.requestToggle);\n const open = useAccordionContext_unstable(ctx => ctx.openItems.includes(value));\n const onAccordionHeaderClick = useEventCallback((event: AccordionToggleEvent) => requestToggle({ event, value }));\n\n return {\n open,\n value,\n disabled,\n onHeaderClick: onAccordionHeaderClick,\n components: {\n root: 'div',\n },\n root: slot.always(\n {\n disabled,\n ref: ref as React.Ref<HTMLDivElement>,\n ...rest,\n },\n { elementType: 'div' },\n ),\n };\n};\n"],"names":["React","slot","useEventCallback","useAccordionContext_unstable","useAccordionItem_unstable","props","ref","value","disabled","rest","requestToggle","ctx","open","openItems","includes","onAccordionHeaderClick","event","onHeaderClick","components","root","always","elementType"],"mappings":"AAAA;;;;;+BAaaI;;;;;;;iEAXU,QAAQ;gCACQ,4BAA4B;2BAGtB,2BAA2B;AAOjE,kCAAkC,CACvCC,OACAC;IAEA,MAAM,EAAEC,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGC,MAAM,GAAGJ;IAE7C,MAAMK,oBAAgBP,uCAAAA,EAA6BQ,CAAAA,MAAOA,IAAID,aAAa;IAC3E,MAAME,WAAOT,uCAAAA,EAA6BQ,CAAAA,MAAOA,IAAIE,SAAS,CAACC,QAAQ,CAACP;IACxE,MAAMQ,yBAAyBb,oCAAAA,EAAiB,CAACc,QAAgCN,cAAc;YAAEM;YAAOT;QAAM;IAE9G,OAAO;QACLK;QACAL;QACAC;QACAS,eAAeF;QACfG,YAAY;YACVC,MAAM;QACR;QACAA,MAAMlB,oBAAAA,CAAKmB,MAAM,CACf;YACEZ;YACAF,KAAKA;YACL,GAAGG,IAAI;QACT,GACA;YAAEY,aAAa;QAAM;IAEzB;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AccordionPanel/AccordionPanel.types.ts"],"sourcesContent":["import type { PresenceMotionSlotProps } from '@fluentui/react-motion';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type AccordionPanelSlots = {\n root: NonNullable<Slot<'div'>>;\n collapseMotion?: Slot<PresenceMotionSlotProps>;\n};\n\nexport type AccordionPanelProps = ComponentProps<AccordionPanelSlots>;\n\nexport type AccordionPanelState = ComponentState<AccordionPanelSlots> & {\n /**\n * Internal open state, provided by context.\n */\n open: boolean;\n};\n"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../src/components/AccordionPanel/AccordionPanel.types.ts"],"sourcesContent":["import type { PresenceMotionSlotProps } from '@fluentui/react-motion';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type AccordionPanelSlots = {\n root: NonNullable<Slot<'div'>>;\n collapseMotion?: Slot<PresenceMotionSlotProps>;\n};\n\nexport type AccordionPanelProps = ComponentProps<AccordionPanelSlots>;\n\nexport type AccordionPanelBaseProps = ComponentProps<Omit<AccordionPanelSlots, 'collapseMotion'>>;\n\nexport type AccordionPanelState = ComponentState<AccordionPanelSlots> & {\n /**\n * Internal open state, provided by context.\n */\n open: boolean;\n};\n\nexport type AccordionPanelBaseState = ComponentState<Omit<AccordionPanelSlots, 'collapseMotion'>> &\n Pick<AccordionPanelState, 'open'>;\n"],"names":[],"mappings":""}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderAccordionPanel_unstable: function() {
19
19
  return _renderAccordionPanel.renderAccordionPanel_unstable;
20
20
  },
21
+ useAccordionPanelBase_unstable: function() {
22
+ return _useAccordionPanel.useAccordionPanelBase_unstable;
23
+ },
21
24
  useAccordionPanelStyles_unstable: function() {
22
25
  return _useAccordionPanelStylesstyles.useAccordionPanelStyles_unstable;
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AccordionPanel/index.ts"],"sourcesContent":["export { AccordionPanel } from './AccordionPanel';\nexport type { AccordionPanelProps, AccordionPanelSlots, AccordionPanelState } from './AccordionPanel.types';\nexport { renderAccordionPanel_unstable } from './renderAccordionPanel';\nexport { useAccordionPanel_unstable } from './useAccordionPanel';\nexport { accordionPanelClassNames, useAccordionPanelStyles_unstable } from './useAccordionPanelStyles.styles';\n"],"names":["AccordionPanel","renderAccordionPanel_unstable","useAccordionPanel_unstable","accordionPanelClassNames","useAccordionPanelStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,8BAAc;;;eAIdG,uDAAwB;;;eAFxBF,mDAA6B;;;eAEHG,+DAAgC;;;eAD1DF,6CAA0B;;;gCAHJ,mBAAmB;sCAEJ,yBAAyB;mCAC5B,sBAAsB;+CACU,mCAAmC"}
1
+ {"version":3,"sources":["../src/components/AccordionPanel/index.ts"],"sourcesContent":["export { AccordionPanel } from './AccordionPanel';\nexport type {\n AccordionPanelProps,\n AccordionPanelSlots,\n AccordionPanelState,\n AccordionPanelBaseProps,\n AccordionPanelBaseState,\n} from './AccordionPanel.types';\nexport { renderAccordionPanel_unstable } from './renderAccordionPanel';\nexport { useAccordionPanel_unstable, useAccordionPanelBase_unstable } from './useAccordionPanel';\nexport { accordionPanelClassNames, useAccordionPanelStyles_unstable } from './useAccordionPanelStyles.styles';\n"],"names":["AccordionPanel","renderAccordionPanel_unstable","useAccordionPanel_unstable","useAccordionPanelBase_unstable","accordionPanelClassNames","useAccordionPanelStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,8BAAc;;;eAUdI,uDAAwB;;;eAFxBH,mDAA6B;;;eACDE,iDAA8B;;;eAChCE,+DAAgC;;;eAD1DH,6CAA0B;;;gCATJ,mBAAmB;sCAQJ,yBAAyB;mCACI,sBAAsB;+CACtB,mCAAmC"}
@@ -3,9 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "useAccordionPanel_unstable", {
7
- enumerable: true,
8
- get: function() {
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ useAccordionPanelBase_unstable: function() {
14
+ return useAccordionPanelBase_unstable;
15
+ },
16
+ useAccordionPanel_unstable: function() {
9
17
  return useAccordionPanel_unstable;
10
18
  }
11
19
  });
@@ -18,7 +26,8 @@ const _reactmotioncomponentspreview = require("@fluentui/react-motion-components
18
26
  const _accordion = require("../../contexts/accordion");
19
27
  const _accordionItem = require("../../contexts/accordionItem");
20
28
  const useAccordionPanel_unstable = (props, ref)=>{
21
- const { open } = (0, _accordionItem.useAccordionItemContext_unstable)();
29
+ const { collapseMotion, ...baseProps } = props;
30
+ const state = useAccordionPanelBase_unstable(baseProps, ref);
22
31
  const focusableProps = (0, _reacttabster.useTabsterAttributes)({
23
32
  focusable: {
24
33
  excludeFromMover: true
@@ -26,27 +35,37 @@ const useAccordionPanel_unstable = (props, ref)=>{
26
35
  });
27
36
  const navigation = (0, _accordion.useAccordionContext_unstable)((ctx)=>ctx.navigation);
28
37
  return {
29
- open,
38
+ ...state,
30
39
  components: {
31
- root: 'div',
40
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
41
+ ...state.components,
32
42
  collapseMotion: _reactmotioncomponentspreview.Collapse
33
43
  },
34
- root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
35
- // FIXME:
36
- // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`
37
- // but since it would be a breaking change to fix it, we are casting ref to it's proper type
38
- ref: ref,
39
- ...props,
44
+ root: {
45
+ ...state.root,
40
46
  ...navigation && focusableProps
41
- }), {
42
- elementType: 'div'
43
- }),
47
+ },
44
48
  collapseMotion: (0, _reactmotion.presenceMotionSlot)(props.collapseMotion, {
45
49
  elementType: _reactmotioncomponentspreview.Collapse,
46
50
  defaultProps: {
47
- visible: open,
51
+ visible: state.open,
48
52
  unmountOnExit: true
49
53
  }
50
54
  })
51
55
  };
52
56
  };
57
+ const useAccordionPanelBase_unstable = (props, ref)=>{
58
+ const { open } = (0, _accordionItem.useAccordionItemContext_unstable)();
59
+ return {
60
+ open,
61
+ components: {
62
+ root: 'div'
63
+ },
64
+ root: _reactutilities.slot.always({
65
+ ref: ref,
66
+ ...props
67
+ }, {
68
+ elementType: 'div'
69
+ })
70
+ };
71
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AccordionPanel/useAccordionPanel.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useTabsterAttributes } from '@fluentui/react-tabster';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\nimport { Collapse } from '@fluentui/react-motion-components-preview';\nimport { useAccordionContext_unstable } from '../../contexts/accordion';\nimport type { AccordionPanelProps, AccordionPanelState } from './AccordionPanel.types';\nimport { useAccordionItemContext_unstable } from '../../contexts/accordionItem';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionPanel properties\n * @param ref - reference to root HTMLElement of AccordionPanel\n */\nexport const useAccordionPanel_unstable = (\n props: AccordionPanelProps,\n ref: React.Ref<HTMLElement>,\n): AccordionPanelState => {\n const { open } = useAccordionItemContext_unstable();\n const focusableProps = useTabsterAttributes({ focusable: { excludeFromMover: true } });\n const navigation = useAccordionContext_unstable(ctx => ctx.navigation);\n\n return {\n open,\n components: {\n root: 'div',\n collapseMotion: Collapse,\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref as React.Ref<HTMLDivElement>,\n ...props,\n ...(navigation && focusableProps),\n }),\n { elementType: 'div' },\n ),\n collapseMotion: presenceMotionSlot(props.collapseMotion, {\n elementType: Collapse,\n defaultProps: {\n visible: open,\n unmountOnExit: true,\n },\n }),\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useTabsterAttributes","presenceMotionSlot","Collapse","useAccordionContext_unstable","useAccordionItemContext_unstable","useAccordionPanel_unstable","props","ref","open","focusableProps","focusable","excludeFromMover","navigation","ctx","components","root","collapseMotion","always","elementType","defaultProps","visible","unmountOnExit"],"mappings":"AAAA;;;;;+BAgBaQ;;;;;;;iEAdU,QAAQ;gCACgB,4BAA4B;8BACtC,0BAA0B;6BAC5B,yBAAyB;8CACnC,4CAA4C;2BACxB,2BAA2B;+BAEvB,+BAA+B;AAOzE,mCAAmC,CACxCC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAE,OAAGJ,+CAAAA;IACjB,MAAMK,qBAAiBT,kCAAAA,EAAqB;QAAEU,WAAW;YAAEC,kBAAkB;QAAK;IAAE;IACpF,MAAMC,iBAAaT,uCAAAA,EAA6BU,CAAAA,MAAOA,IAAID,UAAU;IAErE,OAAO;QACLJ;QACAM,YAAY;YACVC,MAAM;YACNC,gBAAgBd,sCAAAA;QAClB;QACAa,MAAMhB,oBAAAA,CAAKkB,MAAM,KACfnB,wCAAAA,EAAyB,OAAO;YAC9B,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5FS,KAAKA;YACL,GAAGD,KAAK;YACR,GAAIM,cAAcH,cAAc;QAClC,IACA;YAAES,aAAa;QAAM;QAEvBF,oBAAgBf,+BAAAA,EAAmBK,MAAMU,cAAc,EAAE;YACvDE,aAAahB,sCAAAA;YACbiB,cAAc;gBACZC,SAASZ;gBACTa,eAAe;YACjB;QACF;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/AccordionPanel/useAccordionPanel.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { useTabsterAttributes } from '@fluentui/react-tabster';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\nimport { Collapse } from '@fluentui/react-motion-components-preview';\nimport { useAccordionContext_unstable } from '../../contexts/accordion';\nimport type {\n AccordionPanelBaseProps,\n AccordionPanelBaseState,\n AccordionPanelProps,\n AccordionPanelState,\n} from './AccordionPanel.types';\nimport { useAccordionItemContext_unstable } from '../../contexts/accordionItem';\n\n/**\n * Returns the props and state required to render the component\n * @param props - AccordionPanel properties\n * @param ref - reference to root HTMLElement of AccordionPanel\n */\nexport const useAccordionPanel_unstable = (\n props: AccordionPanelProps,\n ref: React.Ref<HTMLElement>,\n): AccordionPanelState => {\n const { collapseMotion, ...baseProps } = props;\n const state = useAccordionPanelBase_unstable(baseProps, ref);\n const focusableProps = useTabsterAttributes({ focusable: { excludeFromMover: true } });\n const navigation = useAccordionContext_unstable(ctx => ctx.navigation);\n\n return {\n ...state,\n components: {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ...state.components,\n collapseMotion: Collapse,\n },\n root: {\n ...state.root,\n ...(navigation && focusableProps),\n },\n collapseMotion: presenceMotionSlot(props.collapseMotion, {\n elementType: Collapse,\n defaultProps: {\n visible: state.open,\n unmountOnExit: true,\n },\n }),\n };\n};\n\n/**\n * Base state hook for AccordionPanel, without design related features.\n *\n * @param props - AccordionPanelBaseProps properties\n * @param ref - reference to root HTMLElement of AccordionPanel\n */\nexport const useAccordionPanelBase_unstable = (\n props: AccordionPanelBaseProps,\n ref: React.Ref<HTMLElement>,\n): AccordionPanelBaseState => {\n const { open } = useAccordionItemContext_unstable();\n\n return {\n open,\n components: {\n root: 'div',\n },\n root: slot.always(\n {\n ref: ref as React.Ref<HTMLDivElement>,\n ...props,\n },\n { elementType: 'div' },\n ),\n };\n};\n"],"names":["React","slot","useTabsterAttributes","presenceMotionSlot","Collapse","useAccordionContext_unstable","useAccordionItemContext_unstable","useAccordionPanel_unstable","props","ref","collapseMotion","baseProps","state","useAccordionPanelBase_unstable","focusableProps","focusable","excludeFromMover","navigation","ctx","components","root","elementType","defaultProps","visible","open","unmountOnExit","always"],"mappings":"AAAA;;;;;;;;;;;;IAyDaa,8BAAAA;;;IApCAN,0BAAAA;;;;;iEAnBU,QAAQ;gCACV,4BAA4B;8BACZ,0BAA0B;6BAC5B,yBAAyB;8CACnC,4CAA4C;2BACxB,2BAA2B;+BAOvB,+BAA+B;AAOzE,mCAAmC,CACxCC,OACAC;IAEA,MAAM,EAAEC,cAAc,EAAE,GAAGC,WAAW,GAAGH;IACzC,MAAMI,QAAQC,+BAA+BF,WAAWF;IACxD,MAAMK,qBAAiBZ,kCAAAA,EAAqB;QAAEa,WAAW;YAAEC,kBAAkB;QAAK;IAAE;IACpF,MAAMC,iBAAaZ,uCAAAA,EAA6Ba,CAAAA,MAAOA,IAAID,UAAU;IAErE,OAAO;QACL,GAAGL,KAAK;QACRO,YAAY;YACV,4DAA4D;YAC5D,GAAGP,MAAMO,UAAU;YACnBT,gBAAgBN,sCAAAA;QAClB;QACAgB,MAAM;YACJ,GAAGR,MAAMQ,IAAI;YACb,GAAIH,cAAcH,cAAc;QAClC;QACAJ,oBAAgBP,+BAAAA,EAAmBK,MAAME,cAAc,EAAE;YACvDW,aAAajB,sCAAAA;YACbkB,cAAc;gBACZC,SAASX,MAAMY,IAAI;gBACnBC,eAAe;YACjB;QACF;IACF;AACF,EAAE;AAQK,uCAAuC,CAC5CjB,OACAC;IAEA,MAAM,EAAEe,IAAI,EAAE,OAAGlB,+CAAAA;IAEjB,OAAO;QACLkB;QACAL,YAAY;YACVC,MAAM;QACR;QACAA,MAAMnB,oBAAAA,CAAKyB,MAAM,CACf;YACEjB,KAAKA;YACL,GAAGD,KAAK;QACV,GACA;YAAEa,aAAa;QAAM;IAEzB;AACF,EAAE"}
@@ -104,3 +104,9 @@ const _AccordionPanel = require("./AccordionPanel");
104
104
  const _accordion = require("./contexts/accordion");
105
105
  const _accordionItem = require("./contexts/accordionItem");
106
106
  const _accordionHeader = require("./contexts/accordionHeader");
107
+ // Experimental APIs
108
+ // export type { AccordionBaseState, AccordionBaseProps } from './Accordion';
109
+ // export { useAccordionBase_unstable } from './Accordion';
110
+ // export { useAccordionHeaderBase_unstable } from './AccordionHeader';
111
+ // export type { AccordionPanelBaseState, AccordionPanelBaseProps } from './AccordionPanel';
112
+ // export { useAccordionPanelBase_unstable } from './AccordionPanel';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Accordion,\n accordionClassNames,\n renderAccordion_unstable,\n useAccordionContextValues_unstable,\n useAccordionStyles_unstable,\n useAccordion_unstable,\n} from './Accordion';\nexport type {\n AccordionContextValues,\n AccordionIndex,\n AccordionProps,\n AccordionSlots,\n AccordionState,\n AccordionToggleData,\n AccordionToggleEvent,\n AccordionToggleEventHandler,\n} from './Accordion';\nexport {\n AccordionItem,\n accordionItemClassNames,\n renderAccordionItem_unstable,\n useAccordionItemContextValues_unstable,\n useAccordionItemStyles_unstable,\n useAccordionItem_unstable,\n} from './AccordionItem';\nexport type {\n AccordionItemContextValues,\n AccordionItemProps,\n AccordionItemSlots,\n AccordionItemState,\n AccordionItemValue,\n} from './AccordionItem';\nexport {\n AccordionHeader,\n accordionHeaderClassNames,\n renderAccordionHeader_unstable,\n useAccordionHeaderContextValues_unstable,\n useAccordionHeaderStyles_unstable,\n useAccordionHeader_unstable,\n} from './AccordionHeader';\nexport type {\n AccordionHeaderContextValues,\n AccordionHeaderExpandIconPosition,\n AccordionHeaderProps,\n AccordionHeaderSize,\n AccordionHeaderSlots,\n AccordionHeaderState,\n} from './AccordionHeader';\nexport {\n AccordionPanel,\n accordionPanelClassNames,\n renderAccordionPanel_unstable,\n useAccordionPanelStyles_unstable,\n useAccordionPanel_unstable,\n} from './AccordionPanel';\nexport type { AccordionPanelProps, AccordionPanelSlots, AccordionPanelState } from './AccordionPanel';\n\nexport { AccordionProvider, useAccordionContext_unstable } from './contexts/accordion';\n\nexport type { AccordionContextValue } from './contexts/accordion';\n\nexport { AccordionItemProvider, useAccordionItemContext_unstable } from './contexts/accordionItem';\n\nexport type { AccordionItemContextValue } from './contexts/accordionItem';\n\nexport { AccordionHeaderProvider, useAccordionHeaderContext_unstable } from './contexts/accordionHeader';\n\nexport type { AccordionHeaderContextValue } from './contexts/accordionHeader';\n"],"names":["Accordion","accordionClassNames","renderAccordion_unstable","useAccordionContextValues_unstable","useAccordionStyles_unstable","useAccordion_unstable","AccordionItem","accordionItemClassNames","renderAccordionItem_unstable","useAccordionItemContextValues_unstable","useAccordionItemStyles_unstable","useAccordionItem_unstable","AccordionHeader","accordionHeaderClassNames","renderAccordionHeader_unstable","useAccordionHeaderContextValues_unstable","useAccordionHeaderStyles_unstable","useAccordionHeader_unstable","AccordionPanel","accordionPanelClassNames","renderAccordionPanel_unstable","useAccordionPanelStyles_unstable","useAccordionPanel_unstable","AccordionProvider","useAccordionContext_unstable","AccordionItemProvider","useAccordionItemContext_unstable","AccordionHeaderProvider","useAccordionHeaderContext_unstable"],"mappings":";;;;;;;;;;;IACEA,SAAS;;;;eAiCTY,gCAAe;;IAgCRe,uBAAuB;;;;eA/C9BrB,4BAAa;;;eA2CNmB,oCAAqB;;IAZ5BP,cAAc;;;;eAQPK,4BAAiB;;;eAxDxBtB,8BAAmB;;;eAiCnBY,0CAAyB;;IAfzBN;qDAAuB;;;eA+BvBY,wCAAwB;;kCAfM;eAA9BL;;IAfAN,4BAA4B;;;;eA+B5BY,6CAA6B;;;eAjD7BlB,mCAAwB;;;eACxBC,6CAAkC;;IAsDRqB;sDAA4B;;;eArBtDT,yDAAwC;;;eA6BRa,mDAAkC;;;eA5BlEZ,kDAAiC;;;eACjCC,4CAA2B;;;eAjB3BR,qDAAsC;;;eAwCRiB,+CAAgC;;;eAvC9DhB,8CAA+B;;;eAC/BC,wCAAyB;;;eA6BzBU,gDAAgC;;;eAChCC,0CAA0B;;;eAjD1BlB,sCAA2B;;;eAC3BC,gCAAqB;;;2BAChB,cAAc;+BAkBd,kBAAkB;iCAelB,oBAAoB;gCAepB,mBAAmB;2BAGsC,uBAAuB;+BAIf,2BAA2B;iCAIvB,6BAA6B"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Accordion,\n accordionClassNames,\n renderAccordion_unstable,\n useAccordionContextValues_unstable,\n useAccordionStyles_unstable,\n useAccordion_unstable,\n} from './Accordion';\nexport type {\n AccordionContextValues,\n AccordionIndex,\n AccordionProps,\n AccordionSlots,\n AccordionState,\n AccordionToggleData,\n AccordionToggleEvent,\n AccordionToggleEventHandler,\n} from './Accordion';\nexport {\n AccordionItem,\n accordionItemClassNames,\n renderAccordionItem_unstable,\n useAccordionItemContextValues_unstable,\n useAccordionItemStyles_unstable,\n useAccordionItem_unstable,\n} from './AccordionItem';\nexport type {\n AccordionItemContextValues,\n AccordionItemProps,\n AccordionItemSlots,\n AccordionItemState,\n AccordionItemValue,\n} from './AccordionItem';\nexport {\n AccordionHeader,\n accordionHeaderClassNames,\n renderAccordionHeader_unstable,\n useAccordionHeaderContextValues_unstable,\n useAccordionHeaderStyles_unstable,\n useAccordionHeader_unstable,\n} from './AccordionHeader';\nexport type {\n AccordionHeaderContextValues,\n AccordionHeaderExpandIconPosition,\n AccordionHeaderProps,\n AccordionHeaderSize,\n AccordionHeaderSlots,\n AccordionHeaderState,\n} from './AccordionHeader';\nexport {\n AccordionPanel,\n accordionPanelClassNames,\n renderAccordionPanel_unstable,\n useAccordionPanelStyles_unstable,\n useAccordionPanel_unstable,\n} from './AccordionPanel';\nexport type { AccordionPanelProps, AccordionPanelSlots, AccordionPanelState } from './AccordionPanel';\n\nexport { AccordionProvider, useAccordionContext_unstable } from './contexts/accordion';\n\nexport type { AccordionContextValue } from './contexts/accordion';\n\nexport { AccordionItemProvider, useAccordionItemContext_unstable } from './contexts/accordionItem';\n\nexport type { AccordionItemContextValue } from './contexts/accordionItem';\n\nexport { AccordionHeaderProvider, useAccordionHeaderContext_unstable } from './contexts/accordionHeader';\n\nexport type { AccordionHeaderContextValue } from './contexts/accordionHeader';\n\n// Experimental APIs\n// export type { AccordionBaseState, AccordionBaseProps } from './Accordion';\n// export { useAccordionBase_unstable } from './Accordion';\n// export { useAccordionHeaderBase_unstable } from './AccordionHeader';\n// export type { AccordionPanelBaseState, AccordionPanelBaseProps } from './AccordionPanel';\n// export { useAccordionPanelBase_unstable } from './AccordionPanel';\n"],"names":["Accordion","accordionClassNames","renderAccordion_unstable","useAccordionContextValues_unstable","useAccordionStyles_unstable","useAccordion_unstable","AccordionItem","accordionItemClassNames","renderAccordionItem_unstable","useAccordionItemContextValues_unstable","useAccordionItemStyles_unstable","useAccordionItem_unstable","AccordionHeader","accordionHeaderClassNames","renderAccordionHeader_unstable","useAccordionHeaderContextValues_unstable","useAccordionHeaderStyles_unstable","useAccordionHeader_unstable","AccordionPanel","accordionPanelClassNames","renderAccordionPanel_unstable","useAccordionPanelStyles_unstable","useAccordionPanel_unstable","AccordionProvider","useAccordionContext_unstable","AccordionItemProvider","useAccordionItemContext_unstable","AccordionHeaderProvider","useAccordionHeaderContext_unstable"],"mappings":";;;;;;;;;;;IACEA,SAAS;;;IAiCTY,eAAe;;;IAgCRe;uDAAuB;;;eA/C9BrB,4BAAa;;;eA2CNmB,oCAAqB;;;eAZ5BP,8BAAc;;IAQPK,iBAAiB;;;;eAxDxBtB,8BAAmB;;6BAiCM;eAAzBY;;;eAfAN,sCAAuB;;IA+BvBY;uDAAwB;;IAfxBL;8DAA8B;;;eAf9BN,2CAA4B;;IA+B5BY,6BAA6B;;;;eAjD7BlB,mCAAwB;;;eACxBC,6CAAkC;;gCAsDoB;eAA5BqB;;IArB1BT;wEAAwC;;IA6BRa;kEAAkC;;;eA5BlEZ,kDAAiC;;;eACjCC,4CAA2B;;;eAjB3BR,qDAAsC;;;eAwCRiB,+CAAgC;;;eAvC9DhB,8CAA+B;;;eAC/BC,wCAAyB;;;eA6BzBU,gDAAgC;;;eAChCC,0CAA0B;;+BAjDC;eAA3BlB;;;eACAC,gCAAqB;;;2BAChB,cAAc;+BAkBd,kBAAkB;iCAelB,oBAAoB;gCAepB,mBAAmB;2BAGsC,uBAAuB;+BAIf,2BAA2B;iCAIvB,6BAA6B;CAIzG,oBAAoB;CACpB,6EAA6E;CAC7E,2DAA2D;CAC3D,uEAAuE;CACvE,4FAA4F;CAC5F,qEAAqE"}