@fluentui/react-breadcrumb 9.3.17 → 9.4.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 (81) hide show
  1. package/CHANGELOG.md +29 -2
  2. package/dist/index.d.ts +84 -7
  3. package/lib/Breadcrumb.js +1 -1
  4. package/lib/Breadcrumb.js.map +1 -1
  5. package/lib/BreadcrumbButton.js +1 -1
  6. package/lib/BreadcrumbButton.js.map +1 -1
  7. package/lib/BreadcrumbDivider.js +1 -1
  8. package/lib/BreadcrumbDivider.js.map +1 -1
  9. package/lib/BreadcrumbItem.js +1 -1
  10. package/lib/BreadcrumbItem.js.map +1 -1
  11. package/lib/components/Breadcrumb/Breadcrumb.types.js +1 -3
  12. package/lib/components/Breadcrumb/Breadcrumb.types.js.map +1 -1
  13. package/lib/components/Breadcrumb/BreadcrumbContext.js.map +1 -1
  14. package/lib/components/Breadcrumb/index.js +2 -1
  15. package/lib/components/Breadcrumb/index.js.map +1 -1
  16. package/lib/components/Breadcrumb/renderBreadcrumb.js.map +1 -1
  17. package/lib/components/Breadcrumb/useBreadcrumb.js +37 -9
  18. package/lib/components/Breadcrumb/useBreadcrumb.js.map +1 -1
  19. package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js +1 -3
  20. package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -1
  21. package/lib/components/BreadcrumbButton/index.js +1 -1
  22. package/lib/components/BreadcrumbButton/index.js.map +1 -1
  23. package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -1
  24. package/lib/components/BreadcrumbButton/useBreadcrumbButton.js +27 -14
  25. package/lib/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -1
  26. package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js +1 -1
  27. package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -1
  28. package/lib/components/BreadcrumbDivider/index.js +1 -1
  29. package/lib/components/BreadcrumbDivider/index.js.map +1 -1
  30. package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -1
  31. package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js +18 -4
  32. package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -1
  33. package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js +1 -1
  34. package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -1
  35. package/lib/components/BreadcrumbItem/index.js +1 -1
  36. package/lib/components/BreadcrumbItem/index.js.map +1 -1
  37. package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -1
  38. package/lib/components/BreadcrumbItem/useBreadcrumbItem.js +14 -3
  39. package/lib/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -1
  40. package/lib/index.js +4 -4
  41. package/lib/index.js.map +1 -1
  42. package/lib-commonjs/Breadcrumb.js +9 -0
  43. package/lib-commonjs/Breadcrumb.js.map +1 -1
  44. package/lib-commonjs/BreadcrumbButton.js +3 -0
  45. package/lib-commonjs/BreadcrumbButton.js.map +1 -1
  46. package/lib-commonjs/BreadcrumbDivider.js +3 -0
  47. package/lib-commonjs/BreadcrumbDivider.js.map +1 -1
  48. package/lib-commonjs/BreadcrumbItem.js +3 -0
  49. package/lib-commonjs/BreadcrumbItem.js.map +1 -1
  50. package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js +1 -3
  51. package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js.map +1 -1
  52. package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js.map +1 -1
  53. package/lib-commonjs/components/Breadcrumb/index.js +10 -0
  54. package/lib-commonjs/components/Breadcrumb/index.js.map +1 -1
  55. package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js.map +1 -1
  56. package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js +38 -13
  57. package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js.map +1 -1
  58. package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js +1 -3
  59. package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -1
  60. package/lib-commonjs/components/BreadcrumbButton/index.js +3 -0
  61. package/lib-commonjs/components/BreadcrumbButton/index.js.map +1 -1
  62. package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -1
  63. package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js +31 -17
  64. package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -1
  65. package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js +1 -1
  66. package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -1
  67. package/lib-commonjs/components/BreadcrumbDivider/index.js +3 -0
  68. package/lib-commonjs/components/BreadcrumbDivider/index.js.map +1 -1
  69. package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -1
  70. package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js +23 -7
  71. package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -1
  72. package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js +1 -1
  73. package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -1
  74. package/lib-commonjs/components/BreadcrumbItem/index.js +3 -0
  75. package/lib-commonjs/components/BreadcrumbItem/index.js.map +1 -1
  76. package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -1
  77. package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js +19 -7
  78. package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -1
  79. package/lib-commonjs/index.js +18 -0
  80. package/lib-commonjs/index.js.map +1 -1
  81. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -1,12 +1,39 @@
1
1
  # Change Log - @fluentui/react-breadcrumb
2
2
 
3
- This log was last generated on Wed, 25 Feb 2026 13:28:23 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 23 Apr 2026 11:59:40 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.4.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.4.1)
8
+
9
+ Thu, 23 Apr 2026 11:59:40 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-breadcrumb_v9.4.0..@fluentui/react-breadcrumb_v9.4.1)
11
+
12
+ ### Patches
13
+
14
+ - fix: update types for render function ([PR #35972](https://github.com/microsoft/fluentui/pull/35972) by dmytrokirpa@microsoft.com)
15
+ - fix(react-breadcrumb): wrong appearance applied by default to BreadcrumbButton ([PR #35970](https://github.com/microsoft/fluentui/pull/35970) by dmytrokirpa@microsoft.com)
16
+ - Bump @fluentui/react-aria to v9.17.11 ([PR #35996](https://github.com/microsoft/fluentui/pull/35996) by beachball)
17
+ - Bump @fluentui/react-button to v9.9.1 ([PR #35996](https://github.com/microsoft/fluentui/pull/35996) by beachball)
18
+ - Bump @fluentui/react-link to v9.8.1 ([PR #35996](https://github.com/microsoft/fluentui/pull/35996) by beachball)
19
+ - Bump @fluentui/react-tabster to v9.26.14 ([PR #35996](https://github.com/microsoft/fluentui/pull/35996) by beachball)
20
+ - Bump @fluentui/react-utilities to v9.26.3 ([PR #35996](https://github.com/microsoft/fluentui/pull/35996) by beachball)
21
+ - Bump @fluentui/react-jsx-runtime to v9.4.2 ([PR #35996](https://github.com/microsoft/fluentui/pull/35996) by beachball)
22
+
23
+ ## [9.4.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.4.0)
24
+
25
+ Thu, 26 Mar 2026 08:12:47 GMT
26
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-breadcrumb_v9.3.17..@fluentui/react-breadcrumb_v9.4.0)
27
+
28
+ ### Minor changes
29
+
30
+ - feat: add base hooks for Breadcrumb ([PR #35819](https://github.com/microsoft/fluentui/pull/35819) by dmytrokirpa@microsoft.com)
31
+ - Bump @fluentui/react-button to v9.9.0 ([PR #35824](https://github.com/microsoft/fluentui/pull/35824) by beachball)
32
+ - Bump @fluentui/react-link to v9.8.0 ([PR #35824](https://github.com/microsoft/fluentui/pull/35824) by beachball)
33
+
7
34
  ## [9.3.17](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.3.17)
8
35
 
9
- Wed, 25 Feb 2026 13:28:23 GMT
36
+ Wed, 25 Feb 2026 13:32:28 GMT
10
37
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-breadcrumb_v9.3.16..@fluentui/react-breadcrumb_v9.3.17)
11
38
 
12
39
  ### Patches
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { ButtonProps } from '@fluentui/react-button';
2
- import { ButtonSlots } from '@fluentui/react-button';
3
- import { ButtonState } from '@fluentui/react-button';
1
+ import type { ButtonProps } from '@fluentui/react-button';
2
+ import type { ButtonSlots } from '@fluentui/react-button';
3
+ import type { ButtonState } from '@fluentui/react-button';
4
4
  import type { ComponentProps } from '@fluentui/react-utilities';
5
5
  import type { ComponentState } from '@fluentui/react-utilities';
6
6
  import type { ForwardRefComponent } from '@fluentui/react-utilities';
@@ -8,17 +8,26 @@ import type { JSXElement } from '@fluentui/react-utilities';
8
8
  import * as React_2 from 'react';
9
9
  import type { Slot } from '@fluentui/react-utilities';
10
10
  import type { SlotClassNames } from '@fluentui/react-utilities';
11
+ import type { TabsterDOMAttribute } from '@fluentui/react-tabster';
11
12
 
12
13
  /**
13
14
  * Breadcrumb component - TODO: add more docs
14
15
  */
15
16
  export declare const Breadcrumb: ForwardRefComponent<BreadcrumbProps>;
16
17
 
18
+ export declare type BreadcrumbBaseProps = Omit<BreadcrumbProps, 'size'>;
19
+
20
+ export declare type BreadcrumbBaseState = Omit<BreadcrumbState, 'size'>;
21
+
17
22
  /**
18
23
  * A button component which is used inside the Breadcrumb.
19
24
  */
20
25
  export declare const BreadcrumbButton: ForwardRefComponent<BreadcrumbButtonProps>;
21
26
 
27
+ export declare type BreadcrumbButtonBaseProps = Omit<BreadcrumbButtonProps, 'size'>;
28
+
29
+ export declare type BreadcrumbButtonBaseState = Omit<BreadcrumbButtonState, 'appearance' | 'size' | 'shape'>;
30
+
22
31
  /**
23
32
  * Static CSS class names used internally for the component slots.
24
33
  */
@@ -55,6 +64,16 @@ export declare type BreadcrumbContextValues = Required<Pick<BreadcrumbProps, 'si
55
64
  */
56
65
  export declare const BreadcrumbDivider: ForwardRefComponent<BreadcrumbDividerProps>;
57
66
 
67
+ /**
68
+ * BreadcrumbDivider base props (same as BreadcrumbDividerProps since BreadcrumbDivider has no design props of its own)
69
+ */
70
+ export declare type BreadcrumbDividerBaseProps = BreadcrumbDividerProps;
71
+
72
+ /**
73
+ * BreadcrumbDivider base state (excludes size, which is a design prop injected from context)
74
+ */
75
+ export declare type BreadcrumbDividerBaseState = Omit<BreadcrumbDividerState, 'size'>;
76
+
58
77
  export declare const breadcrumbDividerClassNames: SlotClassNames<BreadcrumbDividerSlots>;
59
78
 
60
79
  /**
@@ -77,6 +96,16 @@ export declare type BreadcrumbDividerState = ComponentState<BreadcrumbDividerSlo
77
96
  */
78
97
  export declare const BreadcrumbItem: ForwardRefComponent<BreadcrumbItemProps>;
79
98
 
99
+ /**
100
+ * BreadcrumbItem base props (same as BreadcrumbItemProps since size is passed through context, not as a design prop)
101
+ */
102
+ export declare type BreadcrumbItemBaseProps = Omit<BreadcrumbItemProps, 'size'>;
103
+
104
+ /**
105
+ * BreadcrumbItem base state (excludes size, which is a design prop injected from context)
106
+ */
107
+ export declare type BreadcrumbItemBaseState = Omit<BreadcrumbItemState, 'size'>;
108
+
80
109
  export declare const breadcrumbItemClassNames: SlotClassNames<BreadcrumbItemSlots>;
81
110
 
82
111
  /**
@@ -165,22 +194,22 @@ export declare type PartitionBreadcrumbItemsOptions<T> = {
165
194
  /**
166
195
  * Render the final JSX of Breadcrumb
167
196
  */
168
- export declare const renderBreadcrumb_unstable: (state: BreadcrumbState, contextValues: BreadcrumbContextValues) => JSXElement;
197
+ export declare const renderBreadcrumb_unstable: (state: BreadcrumbBaseState, contextValues: BreadcrumbContextValues) => JSXElement;
169
198
 
170
199
  /**
171
200
  * Render the final JSX of BreadcrumbButton
172
201
  */
173
- export declare const renderBreadcrumbButton_unstable: (state: BreadcrumbButtonState) => JSXElement;
202
+ export declare const renderBreadcrumbButton_unstable: (state: BreadcrumbButtonBaseState) => JSXElement;
174
203
 
175
204
  /**
176
205
  * Render the final JSX of BreadcrumbDivider
177
206
  */
178
- export declare const renderBreadcrumbDivider_unstable: (state: BreadcrumbDividerState) => JSXElement;
207
+ export declare const renderBreadcrumbDivider_unstable: (state: BreadcrumbDividerBaseState) => JSXElement;
179
208
 
180
209
  /**
181
210
  * Render the final JSX of BreadcrumbItem
182
211
  */
183
- export declare const renderBreadcrumbItem_unstable: (state: BreadcrumbItemState) => JSXElement;
212
+ export declare const renderBreadcrumbItem_unstable: (state: BreadcrumbItemBaseState) => JSXElement;
184
213
 
185
214
  export declare const truncateBreadcrumbLongName: (content: string, maxLength?: number) => string;
186
215
 
@@ -197,6 +226,25 @@ export declare const truncateBreadcrumLongTooltip: (content: string, maxLength?:
197
226
  */
198
227
  export declare const useBreadcrumb_unstable: (props: BreadcrumbProps, ref: React_2.Ref<HTMLElement>) => BreadcrumbState;
199
228
 
229
+ /**
230
+ * Hook to get accessibility attributes for Breadcrumb component, such as roving tab index.
231
+ * Based on Tabster's useArrowNavigationGroup.
232
+ *
233
+ * @param focusMode - whether the Breadcrumb uses arrow key navigation or tab key navigation
234
+ * @returns Tabster DOM attributes
235
+ */
236
+ export declare const useBreadcrumbA11yBehavior_unstable: ({ focusMode, }: Pick<BreadcrumbBaseProps, "focusMode">) => Partial<TabsterDOMAttribute>;
237
+
238
+ /**
239
+ * Base hook for Breadcrumb component, which manages state related to slots structure and ARIA attributes.
240
+ *
241
+ * Note: keyboard navigation behavior is not handled in this hook, but in useBreadcrumbA11yBehavior_unstable.
242
+ *
243
+ * @param props - props from this instance of Breadcrumb
244
+ * @param ref - reference to root HTMLElement of Breadcrumb
245
+ */
246
+ export declare const useBreadcrumbBase_unstable: (props: BreadcrumbBaseProps, ref: React_2.Ref<HTMLElement>) => BreadcrumbBaseState;
247
+
200
248
  /**
201
249
  * Create the state required to render BreadcrumbButton.
202
250
  *
@@ -208,6 +256,15 @@ export declare const useBreadcrumb_unstable: (props: BreadcrumbProps, ref: React
208
256
  */
209
257
  export declare const useBreadcrumbButton_unstable: (props: BreadcrumbButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => BreadcrumbButtonState;
210
258
 
259
+ /**
260
+ * Base hook for BreadcrumbButton component, which manages state related to button behavior,
261
+ * ARIA attributes (aria-current, aria-disabled), and slot structure without design props.
262
+ *
263
+ * @param props - props from this instance of BreadcrumbButton
264
+ * @param ref - reference to root HTMLElement of BreadcrumbButton
265
+ */
266
+ export declare const useBreadcrumbButtonBase_unstable: (props: BreadcrumbButtonBaseProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => BreadcrumbButtonBaseState;
267
+
211
268
  /**
212
269
  * Apply styling to the BreadcrumbButton slots based on the state
213
270
  */
@@ -218,6 +275,8 @@ export declare const useBreadcrumbButtonStyles_unstable: (state: BreadcrumbButto
218
275
  */
219
276
  export declare const useBreadcrumbContext_unstable: () => BreadcrumbContextValues;
220
277
 
278
+ export declare function useBreadcrumbContextValues_unstable(state: BreadcrumbState): BreadcrumbContextValues;
279
+
221
280
  /**
222
281
  * Create the state required to render BreadcrumbDivider.
223
282
  *
@@ -229,6 +288,15 @@ export declare const useBreadcrumbContext_unstable: () => BreadcrumbContextValue
229
288
  */
230
289
  export declare const useBreadcrumbDivider_unstable: (props: BreadcrumbDividerProps, ref: React_2.Ref<HTMLLIElement>) => BreadcrumbDividerState;
231
290
 
291
+ /**
292
+ * Base hook for BreadcrumbDivider component, which manages state related to slots structure and ARIA attributes
293
+ * without design props. Note: size is provided via BreadcrumbContext in the full hook.
294
+ *
295
+ * @param props - props from this instance of BreadcrumbDivider
296
+ * @param ref - reference to root HTMLElement of BreadcrumbDivider
297
+ */
298
+ export declare const useBreadcrumbDividerBase_unstable: (props: BreadcrumbDividerBaseProps, ref: React_2.Ref<HTMLLIElement>) => BreadcrumbDividerBaseState;
299
+
232
300
  /**
233
301
  * Apply styling to the BreadcrumbDivider slots based on the state
234
302
  */
@@ -245,6 +313,15 @@ export declare const useBreadcrumbDividerStyles_unstable: (state: BreadcrumbDivi
245
313
  */
246
314
  export declare const useBreadcrumbItem_unstable: (props: BreadcrumbItemProps, ref: React_2.Ref<HTMLLIElement>) => BreadcrumbItemState;
247
315
 
316
+ /**
317
+ * Base hook for BreadcrumbItem component, which manages state related to slots structure
318
+ * without design props. Note: size is provided via BreadcrumbContext in the full hook.
319
+ *
320
+ * @param props - props from this instance of BreadcrumbItem
321
+ * @param ref - reference to root HTMLElement of BreadcrumbItem
322
+ */
323
+ export declare const useBreadcrumbItemBase_unstable: (props: BreadcrumbItemBaseProps, ref: React_2.Ref<HTMLLIElement>) => BreadcrumbItemBaseState;
324
+
248
325
  /**
249
326
  * Apply styling to the BreadcrumbItem slots based on the state
250
327
  */
package/lib/Breadcrumb.js CHANGED
@@ -1 +1 @@
1
- export { Breadcrumb, BreadcrumbProvider, breadcrumbClassNames, breadcrumbDefaultValue, renderBreadcrumb_unstable, useBreadcrumbContext_unstable, useBreadcrumbStyles_unstable, useBreadcrumb_unstable } from './components/Breadcrumb/index';
1
+ export { Breadcrumb, BreadcrumbProvider, breadcrumbClassNames, breadcrumbDefaultValue, renderBreadcrumb_unstable, useBreadcrumbContext_unstable, useBreadcrumbStyles_unstable, useBreadcrumb_unstable, useBreadcrumbContextValues_unstable, useBreadcrumbBase_unstable, useBreadcrumbA11yBehavior_unstable } from './components/Breadcrumb/index';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Breadcrumb.ts"],"sourcesContent":["export type {\n BreadcrumbContextValues,\n BreadcrumbProps,\n BreadcrumbSlots,\n BreadcrumbState,\n} from './components/Breadcrumb/index';\nexport {\n Breadcrumb,\n BreadcrumbProvider,\n breadcrumbClassNames,\n breadcrumbDefaultValue,\n renderBreadcrumb_unstable,\n useBreadcrumbContext_unstable,\n useBreadcrumbStyles_unstable,\n useBreadcrumb_unstable,\n} from './components/Breadcrumb/index';\n"],"names":["Breadcrumb","BreadcrumbProvider","breadcrumbClassNames","breadcrumbDefaultValue","renderBreadcrumb_unstable","useBreadcrumbContext_unstable","useBreadcrumbStyles_unstable","useBreadcrumb_unstable"],"mappings":"AAMA,SACEA,UAAU,EACVC,kBAAkB,EAClBC,oBAAoB,EACpBC,sBAAsB,EACtBC,yBAAyB,EACzBC,6BAA6B,EAC7BC,4BAA4B,EAC5BC,sBAAsB,QACjB,gCAAgC"}
1
+ {"version":3,"sources":["../src/Breadcrumb.ts"],"sourcesContent":["export type {\n BreadcrumbContextValues,\n BreadcrumbProps,\n BreadcrumbSlots,\n BreadcrumbState,\n BreadcrumbBaseProps,\n BreadcrumbBaseState,\n} from './components/Breadcrumb/index';\nexport {\n Breadcrumb,\n BreadcrumbProvider,\n breadcrumbClassNames,\n breadcrumbDefaultValue,\n renderBreadcrumb_unstable,\n useBreadcrumbContext_unstable,\n useBreadcrumbStyles_unstable,\n useBreadcrumb_unstable,\n useBreadcrumbContextValues_unstable,\n useBreadcrumbBase_unstable,\n useBreadcrumbA11yBehavior_unstable,\n} from './components/Breadcrumb/index';\n"],"names":["Breadcrumb","BreadcrumbProvider","breadcrumbClassNames","breadcrumbDefaultValue","renderBreadcrumb_unstable","useBreadcrumbContext_unstable","useBreadcrumbStyles_unstable","useBreadcrumb_unstable","useBreadcrumbContextValues_unstable","useBreadcrumbBase_unstable","useBreadcrumbA11yBehavior_unstable"],"mappings":"AAQA,SACEA,UAAU,EACVC,kBAAkB,EAClBC,oBAAoB,EACpBC,sBAAsB,EACtBC,yBAAyB,EACzBC,6BAA6B,EAC7BC,4BAA4B,EAC5BC,sBAAsB,EACtBC,mCAAmC,EACnCC,0BAA0B,EAC1BC,kCAAkC,QAC7B,gCAAgC"}
@@ -1 +1 @@
1
- export { BreadcrumbButton, breadcrumbButtonClassNames, renderBreadcrumbButton_unstable, useBreadcrumbButtonStyles_unstable, useBreadcrumbButton_unstable } from './components/BreadcrumbButton/index';
1
+ export { BreadcrumbButton, breadcrumbButtonClassNames, renderBreadcrumbButton_unstable, useBreadcrumbButtonStyles_unstable, useBreadcrumbButton_unstable, useBreadcrumbButtonBase_unstable } from './components/BreadcrumbButton/index';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/BreadcrumbButton.ts"],"sourcesContent":["export type {\n BreadcrumbButtonProps,\n BreadcrumbButtonSlots,\n BreadcrumbButtonState,\n} from './components/BreadcrumbButton/index';\nexport {\n BreadcrumbButton,\n breadcrumbButtonClassNames,\n renderBreadcrumbButton_unstable,\n useBreadcrumbButtonStyles_unstable,\n useBreadcrumbButton_unstable,\n} from './components/BreadcrumbButton/index';\n"],"names":["BreadcrumbButton","breadcrumbButtonClassNames","renderBreadcrumbButton_unstable","useBreadcrumbButtonStyles_unstable","useBreadcrumbButton_unstable"],"mappings":"AAKA,SACEA,gBAAgB,EAChBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,kCAAkC,EAClCC,4BAA4B,QACvB,sCAAsC"}
1
+ {"version":3,"sources":["../src/BreadcrumbButton.ts"],"sourcesContent":["export type {\n BreadcrumbButtonProps,\n BreadcrumbButtonSlots,\n BreadcrumbButtonState,\n BreadcrumbButtonBaseProps,\n BreadcrumbButtonBaseState,\n} from './components/BreadcrumbButton/index';\nexport {\n BreadcrumbButton,\n breadcrumbButtonClassNames,\n renderBreadcrumbButton_unstable,\n useBreadcrumbButtonStyles_unstable,\n useBreadcrumbButton_unstable,\n useBreadcrumbButtonBase_unstable,\n} from './components/BreadcrumbButton/index';\n"],"names":["BreadcrumbButton","breadcrumbButtonClassNames","renderBreadcrumbButton_unstable","useBreadcrumbButtonStyles_unstable","useBreadcrumbButton_unstable","useBreadcrumbButtonBase_unstable"],"mappings":"AAOA,SACEA,gBAAgB,EAChBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,kCAAkC,EAClCC,4BAA4B,EAC5BC,gCAAgC,QAC3B,sCAAsC"}
@@ -1 +1 @@
1
- export { BreadcrumbDivider, breadcrumbDividerClassNames, renderBreadcrumbDivider_unstable, useBreadcrumbDividerStyles_unstable, useBreadcrumbDivider_unstable } from './components/BreadcrumbDivider/index';
1
+ export { BreadcrumbDivider, breadcrumbDividerClassNames, renderBreadcrumbDivider_unstable, useBreadcrumbDividerStyles_unstable, useBreadcrumbDivider_unstable, useBreadcrumbDividerBase_unstable } from './components/BreadcrumbDivider/index';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/BreadcrumbDivider.ts"],"sourcesContent":["export type {\n BreadcrumbDividerProps,\n BreadcrumbDividerSlots,\n BreadcrumbDividerState,\n} from './components/BreadcrumbDivider/index';\nexport {\n BreadcrumbDivider,\n breadcrumbDividerClassNames,\n renderBreadcrumbDivider_unstable,\n useBreadcrumbDividerStyles_unstable,\n useBreadcrumbDivider_unstable,\n} from './components/BreadcrumbDivider/index';\n"],"names":["BreadcrumbDivider","breadcrumbDividerClassNames","renderBreadcrumbDivider_unstable","useBreadcrumbDividerStyles_unstable","useBreadcrumbDivider_unstable"],"mappings":"AAKA,SACEA,iBAAiB,EACjBC,2BAA2B,EAC3BC,gCAAgC,EAChCC,mCAAmC,EACnCC,6BAA6B,QACxB,uCAAuC"}
1
+ {"version":3,"sources":["../src/BreadcrumbDivider.ts"],"sourcesContent":["export type {\n BreadcrumbDividerProps,\n BreadcrumbDividerSlots,\n BreadcrumbDividerState,\n BreadcrumbDividerBaseProps,\n BreadcrumbDividerBaseState,\n} from './components/BreadcrumbDivider/index';\nexport {\n BreadcrumbDivider,\n breadcrumbDividerClassNames,\n renderBreadcrumbDivider_unstable,\n useBreadcrumbDividerStyles_unstable,\n useBreadcrumbDivider_unstable,\n useBreadcrumbDividerBase_unstable,\n} from './components/BreadcrumbDivider/index';\n"],"names":["BreadcrumbDivider","breadcrumbDividerClassNames","renderBreadcrumbDivider_unstable","useBreadcrumbDividerStyles_unstable","useBreadcrumbDivider_unstable","useBreadcrumbDividerBase_unstable"],"mappings":"AAOA,SACEA,iBAAiB,EACjBC,2BAA2B,EAC3BC,gCAAgC,EAChCC,mCAAmC,EACnCC,6BAA6B,EAC7BC,iCAAiC,QAC5B,uCAAuC"}
@@ -1 +1 @@
1
- export { BreadcrumbItem, breadcrumbItemClassNames, renderBreadcrumbItem_unstable, useBreadcrumbItemStyles_unstable, useBreadcrumbItem_unstable } from './components/BreadcrumbItem/index';
1
+ export { BreadcrumbItem, breadcrumbItemClassNames, renderBreadcrumbItem_unstable, useBreadcrumbItemStyles_unstable, useBreadcrumbItem_unstable, useBreadcrumbItemBase_unstable } from './components/BreadcrumbItem/index';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/BreadcrumbItem.ts"],"sourcesContent":["export type { BreadcrumbItemProps, BreadcrumbItemSlots, BreadcrumbItemState } from './components/BreadcrumbItem/index';\nexport {\n BreadcrumbItem,\n breadcrumbItemClassNames,\n renderBreadcrumbItem_unstable,\n useBreadcrumbItemStyles_unstable,\n useBreadcrumbItem_unstable,\n} from './components/BreadcrumbItem/index';\n"],"names":["BreadcrumbItem","breadcrumbItemClassNames","renderBreadcrumbItem_unstable","useBreadcrumbItemStyles_unstable","useBreadcrumbItem_unstable"],"mappings":"AACA,SACEA,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,oCAAoC"}
1
+ {"version":3,"sources":["../src/BreadcrumbItem.ts"],"sourcesContent":["export type {\n BreadcrumbItemProps,\n BreadcrumbItemSlots,\n BreadcrumbItemState,\n BreadcrumbItemBaseProps,\n BreadcrumbItemBaseState,\n} from './components/BreadcrumbItem/index';\nexport {\n BreadcrumbItem,\n breadcrumbItemClassNames,\n renderBreadcrumbItem_unstable,\n useBreadcrumbItemStyles_unstable,\n useBreadcrumbItem_unstable,\n useBreadcrumbItemBase_unstable,\n} from './components/BreadcrumbItem/index';\n"],"names":["BreadcrumbItem","breadcrumbItemClassNames","renderBreadcrumbItem_unstable","useBreadcrumbItemStyles_unstable","useBreadcrumbItem_unstable","useBreadcrumbItemBase_unstable"],"mappings":"AAOA,SACEA,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,EAC1BC,8BAA8B,QACzB,oCAAoC"}
@@ -1,3 +1 @@
1
- /**
2
- * State used in rendering Breadcrumb
3
- */ export { };
1
+ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Breadcrumb/Breadcrumb.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\n/**\n * Data shared between breadcrumb components\n */\nexport type BreadcrumbContextValues = Required<Pick<BreadcrumbProps, 'size'>>;\n\nexport type BreadcrumbSlots = {\n /**\n * Root element of the component.\n */\n root: Slot<'nav'>;\n /**\n * Ordered list which contains items.\n */\n list?: Slot<'ol'>;\n};\n\n/**\n * Breadcrumb Props\n */\nexport type BreadcrumbProps = ComponentProps<BreadcrumbSlots> & {\n /**\n * Sets the focus behavior for the Breadcrumb.\n *\n * `tab`\n * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Tab key and then release focus\n * after the last inner element.\n *\n * `arrow`\n * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Arrow key.\n *\n * @default 'tab'\n */\n focusMode?: 'arrow' | 'tab';\n\n /**\n * Controls size of Breadcrumb items and dividers.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\n/**\n * State used in rendering Breadcrumb\n */\nexport type BreadcrumbState = ComponentState<BreadcrumbSlots> & Required<Pick<BreadcrumbProps, 'size'>>;\n"],"names":[],"mappings":"AA4CA;;CAEC,GACD,WAAwG"}
1
+ {"version":3,"sources":["../src/components/Breadcrumb/Breadcrumb.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\n/**\n * Data shared between breadcrumb components\n */\nexport type BreadcrumbContextValues = Required<Pick<BreadcrumbProps, 'size'>>;\n\nexport type BreadcrumbSlots = {\n /**\n * Root element of the component.\n */\n root: Slot<'nav'>;\n /**\n * Ordered list which contains items.\n */\n list?: Slot<'ol'>;\n};\n\n/**\n * Breadcrumb Props\n */\nexport type BreadcrumbProps = ComponentProps<BreadcrumbSlots> & {\n /**\n * Sets the focus behavior for the Breadcrumb.\n *\n * `tab`\n * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Tab key and then release focus\n * after the last inner element.\n *\n * `arrow`\n * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Arrow key.\n *\n * @default 'tab'\n */\n focusMode?: 'arrow' | 'tab';\n\n /**\n * Controls size of Breadcrumb items and dividers.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\n/**\n * State used in rendering Breadcrumb\n */\nexport type BreadcrumbState = ComponentState<BreadcrumbSlots> & Required<Pick<BreadcrumbProps, 'size'>>;\n\nexport type BreadcrumbBaseProps = Omit<BreadcrumbProps, 'size'>;\n\nexport type BreadcrumbBaseState = Omit<BreadcrumbState, 'size'>;\n"],"names":[],"mappings":"AAmDA,WAAgE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Breadcrumb/BreadcrumbContext.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { BreadcrumbContextValues } from './Breadcrumb.types';\n\nconst BreadcrumbContext = React.createContext<BreadcrumbContextValues | undefined>(undefined);\n\n/**\n * @internal\n */\nexport const breadcrumbDefaultValue: BreadcrumbContextValues = {\n size: 'medium',\n};\n\n/**\n * @internal\n */\nexport const BreadcrumbProvider = BreadcrumbContext.Provider;\n\n/**\n * @internal\n */\nexport const useBreadcrumbContext_unstable = (): BreadcrumbContextValues =>\n React.useContext(BreadcrumbContext) ?? breadcrumbDefaultValue;\n"],"names":["React","BreadcrumbContext","createContext","undefined","breadcrumbDefaultValue","size","BreadcrumbProvider","Provider","useBreadcrumbContext_unstable","useContext"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,MAAMC,oBAAoBD,MAAME,aAAa,CAAsCC;AAEnF;;CAEC,GACD,OAAO,MAAMC,yBAAkD;IAC7DC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,qBAAqBL,kBAAkBM,QAAQ,CAAC;AAE7D;;CAEC,GACD,OAAO,MAAMC,gCAAgC;QAC3CR;WAAAA,CAAAA,oBAAAA,MAAMS,UAAU,CAACR,gCAAjBD,+BAAAA,oBAAuCI;EAAuB"}
1
+ {"version":3,"sources":["../src/components/Breadcrumb/BreadcrumbContext.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { BreadcrumbContextValues } from './Breadcrumb.types';\n\nconst BreadcrumbContext = React.createContext<BreadcrumbContextValues | undefined>(undefined);\n\n/**\n * @internal\n */\nexport const breadcrumbDefaultValue: BreadcrumbContextValues = {\n size: 'medium',\n};\n\n/**\n * @internal\n */\nexport const BreadcrumbProvider = BreadcrumbContext.Provider;\n\n/**\n * @internal\n */\nexport const useBreadcrumbContext_unstable = (): BreadcrumbContextValues =>\n React.useContext(BreadcrumbContext) ?? breadcrumbDefaultValue;\n"],"names":["React","BreadcrumbContext","createContext","undefined","breadcrumbDefaultValue","size","BreadcrumbProvider","Provider","useBreadcrumbContext_unstable","useContext"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,MAAMC,oBAAoBD,MAAME,aAAa,CAAsCC;AAEnF;;CAEC,GACD,OAAO,MAAMC,yBAAkD;IAC7DC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,qBAAqBL,kBAAkBM,QAAQ,CAAC;AAE7D;;CAEC,GACD,OAAO,MAAMC,gCAAgC;QAC3CR;WAAAA,CAAAA,oBAAAA,MAAMS,UAAU,CAACR,gCAAjBD,+BAAAA,oBAAuCI;EAAuB"}
@@ -1,5 +1,6 @@
1
1
  export { Breadcrumb } from './Breadcrumb';
2
2
  export { BreadcrumbProvider, breadcrumbDefaultValue, useBreadcrumbContext_unstable } from './BreadcrumbContext';
3
3
  export { renderBreadcrumb_unstable } from './renderBreadcrumb';
4
- export { useBreadcrumb_unstable } from './useBreadcrumb';
4
+ export { useBreadcrumb_unstable, useBreadcrumbBase_unstable, useBreadcrumbA11yBehavior_unstable } from './useBreadcrumb';
5
+ export { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';
5
6
  export { breadcrumbClassNames, useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Breadcrumb/index.ts"],"sourcesContent":["export { Breadcrumb } from './Breadcrumb';\nexport type { BreadcrumbContextValues, BreadcrumbProps, BreadcrumbSlots, BreadcrumbState } from './Breadcrumb.types';\nexport { BreadcrumbProvider, breadcrumbDefaultValue, useBreadcrumbContext_unstable } from './BreadcrumbContext';\nexport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nexport { useBreadcrumb_unstable } from './useBreadcrumb';\nexport { breadcrumbClassNames, useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\n"],"names":["Breadcrumb","BreadcrumbProvider","breadcrumbDefaultValue","useBreadcrumbContext_unstable","renderBreadcrumb_unstable","useBreadcrumb_unstable","breadcrumbClassNames","useBreadcrumbStyles_unstable"],"mappings":"AAAA,SAASA,UAAU,QAAQ,eAAe;AAE1C,SAASC,kBAAkB,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,sBAAsB;AAChH,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,oBAAoB,EAAEC,4BAA4B,QAAQ,+BAA+B"}
1
+ {"version":3,"sources":["../src/components/Breadcrumb/index.ts"],"sourcesContent":["export { Breadcrumb } from './Breadcrumb';\nexport type {\n BreadcrumbBaseProps,\n BreadcrumbBaseState,\n BreadcrumbContextValues,\n BreadcrumbProps,\n BreadcrumbSlots,\n BreadcrumbState,\n} from './Breadcrumb.types';\nexport { BreadcrumbProvider, breadcrumbDefaultValue, useBreadcrumbContext_unstable } from './BreadcrumbContext';\nexport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nexport {\n useBreadcrumb_unstable,\n useBreadcrumbBase_unstable,\n useBreadcrumbA11yBehavior_unstable,\n} from './useBreadcrumb';\nexport { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';\nexport { breadcrumbClassNames, useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\n"],"names":["Breadcrumb","BreadcrumbProvider","breadcrumbDefaultValue","useBreadcrumbContext_unstable","renderBreadcrumb_unstable","useBreadcrumb_unstable","useBreadcrumbBase_unstable","useBreadcrumbA11yBehavior_unstable","useBreadcrumbContextValues_unstable","breadcrumbClassNames","useBreadcrumbStyles_unstable"],"mappings":"AAAA,SAASA,UAAU,QAAQ,eAAe;AAS1C,SAASC,kBAAkB,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,sBAAsB;AAChH,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SACEC,sBAAsB,EACtBC,0BAA0B,EAC1BC,kCAAkC,QAC7B,kBAAkB;AACzB,SAASC,mCAAmC,QAAQ,8BAA8B;AAClF,SAASC,oBAAoB,EAAEC,4BAA4B,QAAQ,+BAA+B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Breadcrumb/renderBreadcrumb.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport { BreadcrumbProvider } from './BreadcrumbContext';\nimport type { BreadcrumbState, BreadcrumbSlots, BreadcrumbContextValues } from './Breadcrumb.types';\n/**\n * Render the final JSX of Breadcrumb\n */\nexport const renderBreadcrumb_unstable = (\n state: BreadcrumbState,\n contextValues: BreadcrumbContextValues,\n): JSXElement => {\n assertSlots<BreadcrumbSlots>(state);\n return (\n <state.root>\n <BreadcrumbProvider value={contextValues}>\n {state.list && <state.list>{state.root.children}</state.list>}\n </BreadcrumbProvider>\n </state.root>\n );\n};\n"],"names":["assertSlots","BreadcrumbProvider","renderBreadcrumb_unstable","state","contextValues","root","value","list","children"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC;IAEAJ,YAA6BG;IAC7B,qBACE,KAACA,MAAME,IAAI;kBACT,cAAA,KAACJ;YAAmBK,OAAOF;sBACxBD,MAAMI,IAAI,kBAAI,KAACJ,MAAMI,IAAI;0BAAEJ,MAAME,IAAI,CAACG,QAAQ;;;;AAIvD,EAAE"}
1
+ {"version":3,"sources":["../src/components/Breadcrumb/renderBreadcrumb.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport { BreadcrumbProvider } from './BreadcrumbContext';\nimport type { BreadcrumbBaseState, BreadcrumbSlots, BreadcrumbContextValues } from './Breadcrumb.types';\n/**\n * Render the final JSX of Breadcrumb\n */\nexport const renderBreadcrumb_unstable = (\n state: BreadcrumbBaseState,\n contextValues: BreadcrumbContextValues,\n): JSXElement => {\n assertSlots<BreadcrumbSlots>(state);\n return (\n <state.root>\n <BreadcrumbProvider value={contextValues}>\n {state.list && <state.list>{state.root.children}</state.list>}\n </BreadcrumbProvider>\n </state.root>\n );\n};\n"],"names":["assertSlots","BreadcrumbProvider","renderBreadcrumb_unstable","state","contextValues","root","value","list","children"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC;IAEAJ,YAA6BG;IAC7B,qBACE,KAACA,MAAME,IAAI;kBACT,cAAA,KAACJ;YAAmBK,OAAOF;sBACxBD,MAAMI,IAAI,kBAAI,KAACJ,MAAMI,IAAI;0BAAEJ,MAAME,IAAI,CAACG,QAAQ;;;;AAIvD,EAAE"}
@@ -1,5 +1,4 @@
1
1
  'use client';
2
- import * as React from 'react';
3
2
  import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
4
3
  import { useArrowNavigationGroup } from '@fluentui/react-tabster';
5
4
  /**
@@ -11,12 +10,29 @@ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
11
10
  * @param props - props from this instance of Breadcrumb
12
11
  * @param ref - reference to root HTMLElement of Breadcrumb
13
12
  */ export const useBreadcrumb_unstable = (props, ref)=>{
14
- const { focusMode = 'tab', size = 'medium', list, ...rest } = props;
15
- const focusAttributes = useArrowNavigationGroup({
16
- circular: true,
17
- axis: 'horizontal',
18
- memorizeCurrent: true
13
+ const { focusMode = 'tab', size = 'medium', ...breadcrumbProps } = props;
14
+ const state = useBreadcrumbBase_unstable(breadcrumbProps, ref);
15
+ const focusAttributes = useBreadcrumbA11yBehavior_unstable({
16
+ focusMode
19
17
  });
18
+ return {
19
+ ...state,
20
+ root: {
21
+ ...focusAttributes,
22
+ ...state.root
23
+ },
24
+ size
25
+ };
26
+ };
27
+ /**
28
+ * Base hook for Breadcrumb component, which manages state related to slots structure and ARIA attributes.
29
+ *
30
+ * Note: keyboard navigation behavior is not handled in this hook, but in useBreadcrumbA11yBehavior_unstable.
31
+ *
32
+ * @param props - props from this instance of Breadcrumb
33
+ * @param ref - reference to root HTMLElement of Breadcrumb
34
+ */ export const useBreadcrumbBase_unstable = (props, ref)=>{
35
+ const { focusMode = 'tab', list, ...rest } = props;
20
36
  var _props_arialabel;
21
37
  return {
22
38
  components: {
@@ -26,7 +42,6 @@ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
26
42
  root: slot.always(getIntrinsicElementProps('nav', {
27
43
  ref,
28
44
  'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : 'breadcrumb',
29
- ...focusMode === 'arrow' ? focusAttributes : {},
30
45
  ...rest
31
46
  }), {
32
47
  elementType: 'nav'
@@ -37,7 +52,20 @@ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
37
52
  role: 'list'
38
53
  },
39
54
  elementType: 'ol'
40
- }),
41
- size
55
+ })
42
56
  };
43
57
  };
58
+ /**
59
+ * Hook to get accessibility attributes for Breadcrumb component, such as roving tab index.
60
+ * Based on Tabster's useArrowNavigationGroup.
61
+ *
62
+ * @param focusMode - whether the Breadcrumb uses arrow key navigation or tab key navigation
63
+ * @returns Tabster DOM attributes
64
+ */ export const useBreadcrumbA11yBehavior_unstable = ({ focusMode })=>{
65
+ const focusAttributes = useArrowNavigationGroup({
66
+ circular: true,
67
+ axis: 'horizontal',
68
+ memorizeCurrent: true
69
+ });
70
+ return focusMode === 'arrow' ? focusAttributes : {};
71
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Breadcrumb/useBreadcrumb.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbProps, BreadcrumbState } from './Breadcrumb.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Create the state required to render Breadcrumb.\n *\n * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,\n * before being passed to renderBreadcrumb_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */\nexport const useBreadcrumb_unstable = (props: BreadcrumbProps, ref: React.Ref<HTMLElement>): BreadcrumbState => {\n const { focusMode = 'tab', size = 'medium', list, ...rest } = props;\n\n const focusAttributes = useArrowNavigationGroup({\n circular: true,\n axis: 'horizontal',\n memorizeCurrent: true,\n });\n\n return {\n components: {\n root: 'nav',\n list: 'ol',\n },\n root: slot.always(\n getIntrinsicElementProps('nav', {\n ref,\n 'aria-label': props['aria-label'] ?? 'breadcrumb',\n ...(focusMode === 'arrow' ? focusAttributes : {}),\n ...rest,\n }),\n { elementType: 'nav' },\n ),\n list: slot.optional(list, { renderByDefault: true, defaultProps: { role: 'list' }, elementType: 'ol' }),\n size,\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useArrowNavigationGroup","useBreadcrumb_unstable","props","ref","focusMode","size","list","rest","focusAttributes","circular","axis","memorizeCurrent","components","root","always","elementType","optional","renderByDefault","defaultProps","role"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAE3E,SAASC,uBAAuB,QAAQ,0BAA0B;AAElE;;;;;;;;CAQC,GACD,OAAO,MAAMC,yBAAyB,CAACC,OAAwBC;IAC7D,MAAM,EAAEC,YAAY,KAAK,EAAEC,OAAO,QAAQ,EAAEC,IAAI,EAAE,GAAGC,MAAM,GAAGL;IAE9D,MAAMM,kBAAkBR,wBAAwB;QAC9CS,UAAU;QACVC,MAAM;QACNC,iBAAiB;IACnB;QAUoBT;IARpB,OAAO;QACLU,YAAY;YACVC,MAAM;YACNP,MAAM;QACR;QACAO,MAAMd,KAAKe,MAAM,CACfhB,yBAAyB,OAAO;YAC9BK;YACA,cAAcD,CAAAA,mBAAAA,KAAK,CAAC,aAAa,cAAnBA,8BAAAA,mBAAuB;YACrC,GAAIE,cAAc,UAAUI,kBAAkB,CAAC,CAAC;YAChD,GAAGD,IAAI;QACT,IACA;YAAEQ,aAAa;QAAM;QAEvBT,MAAMP,KAAKiB,QAAQ,CAACV,MAAM;YAAEW,iBAAiB;YAAMC,cAAc;gBAAEC,MAAM;YAAO;YAAGJ,aAAa;QAAK;QACrGV;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/Breadcrumb/useBreadcrumb.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbBaseProps, BreadcrumbBaseState, BreadcrumbProps, BreadcrumbState } from './Breadcrumb.types';\nimport type { TabsterDOMAttribute } from '@fluentui/react-tabster';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Create the state required to render Breadcrumb.\n *\n * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,\n * before being passed to renderBreadcrumb_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */\nexport const useBreadcrumb_unstable = (props: BreadcrumbProps, ref: React.Ref<HTMLElement>): BreadcrumbState => {\n const { focusMode = 'tab', size = 'medium', ...breadcrumbProps } = props;\n const state = useBreadcrumbBase_unstable(breadcrumbProps, ref);\n const focusAttributes = useBreadcrumbA11yBehavior_unstable({ focusMode });\n\n return {\n ...state,\n root: {\n ...focusAttributes,\n ...state.root,\n },\n size,\n };\n};\n\n/**\n * Base hook for Breadcrumb component, which manages state related to slots structure and ARIA attributes.\n *\n * Note: keyboard navigation behavior is not handled in this hook, but in useBreadcrumbA11yBehavior_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */\nexport const useBreadcrumbBase_unstable = (\n props: BreadcrumbBaseProps,\n ref: React.Ref<HTMLElement>,\n): BreadcrumbBaseState => {\n const { focusMode = 'tab', list, ...rest } = props;\n\n return {\n components: {\n root: 'nav',\n list: 'ol',\n },\n root: slot.always(\n getIntrinsicElementProps('nav', {\n ref,\n 'aria-label': props['aria-label'] ?? 'breadcrumb',\n ...rest,\n }),\n { elementType: 'nav' },\n ),\n list: slot.optional(list, { renderByDefault: true, defaultProps: { role: 'list' }, elementType: 'ol' }),\n };\n};\n\n/**\n * Hook to get accessibility attributes for Breadcrumb component, such as roving tab index.\n * Based on Tabster's useArrowNavigationGroup.\n *\n * @param focusMode - whether the Breadcrumb uses arrow key navigation or tab key navigation\n * @returns Tabster DOM attributes\n */\nexport const useBreadcrumbA11yBehavior_unstable = ({\n focusMode,\n}: Pick<BreadcrumbBaseProps, 'focusMode'>): Partial<TabsterDOMAttribute> => {\n const focusAttributes = useArrowNavigationGroup({\n circular: true,\n axis: 'horizontal',\n memorizeCurrent: true,\n });\n\n return focusMode === 'arrow' ? focusAttributes : {};\n};\n"],"names":["getIntrinsicElementProps","slot","useArrowNavigationGroup","useBreadcrumb_unstable","props","ref","focusMode","size","breadcrumbProps","state","useBreadcrumbBase_unstable","focusAttributes","useBreadcrumbA11yBehavior_unstable","root","list","rest","components","always","elementType","optional","renderByDefault","defaultProps","role","circular","axis","memorizeCurrent"],"mappings":"AAAA;AAGA,SAASA,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAG3E,SAASC,uBAAuB,QAAQ,0BAA0B;AAElE;;;;;;;;CAQC,GACD,OAAO,MAAMC,yBAAyB,CAACC,OAAwBC;IAC7D,MAAM,EAAEC,YAAY,KAAK,EAAEC,OAAO,QAAQ,EAAE,GAAGC,iBAAiB,GAAGJ;IACnE,MAAMK,QAAQC,2BAA2BF,iBAAiBH;IAC1D,MAAMM,kBAAkBC,mCAAmC;QAAEN;IAAU;IAEvE,OAAO;QACL,GAAGG,KAAK;QACRI,MAAM;YACJ,GAAGF,eAAe;YAClB,GAAGF,MAAMI,IAAI;QACf;QACAN;IACF;AACF,EAAE;AAEF;;;;;;;CAOC,GACD,OAAO,MAAMG,6BAA6B,CACxCN,OACAC;IAEA,MAAM,EAAEC,YAAY,KAAK,EAAEQ,IAAI,EAAE,GAAGC,MAAM,GAAGX;QAUzBA;IARpB,OAAO;QACLY,YAAY;YACVH,MAAM;YACNC,MAAM;QACR;QACAD,MAAMZ,KAAKgB,MAAM,CACfjB,yBAAyB,OAAO;YAC9BK;YACA,cAAcD,CAAAA,mBAAAA,KAAK,CAAC,aAAa,cAAnBA,8BAAAA,mBAAuB;YACrC,GAAGW,IAAI;QACT,IACA;YAAEG,aAAa;QAAM;QAEvBJ,MAAMb,KAAKkB,QAAQ,CAACL,MAAM;YAAEM,iBAAiB;YAAMC,cAAc;gBAAEC,MAAM;YAAO;YAAGJ,aAAa;QAAK;IACvG;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMN,qCAAqC,CAAC,EACjDN,SAAS,EAC8B;IACvC,MAAMK,kBAAkBT,wBAAwB;QAC9CqB,UAAU;QACVC,MAAM;QACNC,iBAAiB;IACnB;IAEA,OAAOnB,cAAc,UAAUK,kBAAkB,CAAC;AACpD,EAAE"}
@@ -1,3 +1 @@
1
- /**
2
- * State used in rendering BreadcrumbButton
3
- */ export { };
1
+ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbButton/BreadcrumbButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState } from '@fluentui/react-utilities';\nimport { ButtonProps, ButtonSlots, ButtonState } from '@fluentui/react-button';\nimport { BreadcrumbProps } from '../Breadcrumb/Breadcrumb.types';\n\nexport type BreadcrumbButtonSlots = ButtonSlots;\n\n/**\n * BreadcrumbButton Props\n */\nexport type BreadcrumbButtonProps = ComponentProps<BreadcrumbButtonSlots> &\n Pick<BreadcrumbProps, 'size'> &\n Pick<ButtonProps, 'disabled' | 'disabledFocusable'> & {\n /**\n * Defines current sate of BreadcrumbButton.\n *\n * @default false\n */\n current?: boolean;\n };\n\n/**\n * State used in rendering BreadcrumbButton\n */\nexport type BreadcrumbButtonState = ComponentState<BreadcrumbButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components'> &\n Required<Pick<BreadcrumbButtonProps, 'current' | 'size'>>;\n"],"names":[],"mappings":"AAoBA;;CAEC,GACD,WAE4D"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbButton/BreadcrumbButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState } from '@fluentui/react-utilities';\nimport type { ButtonProps, ButtonSlots, ButtonState } from '@fluentui/react-button';\nimport type { BreadcrumbProps } from '../Breadcrumb/Breadcrumb.types';\n\nexport type BreadcrumbButtonSlots = ButtonSlots;\n\n/**\n * BreadcrumbButton Props\n */\nexport type BreadcrumbButtonProps = ComponentProps<BreadcrumbButtonSlots> &\n Pick<BreadcrumbProps, 'size'> &\n Pick<ButtonProps, 'disabled' | 'disabledFocusable'> & {\n /**\n * Defines current sate of BreadcrumbButton.\n *\n * @default false\n */\n current?: boolean;\n };\n\n/**\n * State used in rendering BreadcrumbButton\n */\nexport type BreadcrumbButtonState = ComponentState<BreadcrumbButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components'> &\n Required<Pick<BreadcrumbButtonProps, 'current' | 'size'>>;\n\nexport type BreadcrumbButtonBaseProps = Omit<BreadcrumbButtonProps, 'size'>;\n\nexport type BreadcrumbButtonBaseState = Omit<BreadcrumbButtonState, 'appearance' | 'size' | 'shape'>;\n"],"names":[],"mappings":"AA6BA,WAAqG"}
@@ -1,4 +1,4 @@
1
1
  export { BreadcrumbButton } from './BreadcrumbButton';
2
2
  export { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';
3
- export { useBreadcrumbButton_unstable } from './useBreadcrumbButton';
3
+ export { useBreadcrumbButton_unstable, useBreadcrumbButtonBase_unstable } from './useBreadcrumbButton';
4
4
  export { breadcrumbButtonClassNames, useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbButton/index.ts"],"sourcesContent":["export { BreadcrumbButton } from './BreadcrumbButton';\nexport type { BreadcrumbButtonProps, BreadcrumbButtonSlots, BreadcrumbButtonState } from './BreadcrumbButton.types';\nexport { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';\nexport { useBreadcrumbButton_unstable } from './useBreadcrumbButton';\nexport { breadcrumbButtonClassNames, useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';\n"],"names":["BreadcrumbButton","renderBreadcrumbButton_unstable","useBreadcrumbButton_unstable","breadcrumbButtonClassNames","useBreadcrumbButtonStyles_unstable"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,qBAAqB;AAEtD,SAASC,+BAA+B,QAAQ,2BAA2B;AAC3E,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,0BAA0B,EAAEC,kCAAkC,QAAQ,qCAAqC"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbButton/index.ts"],"sourcesContent":["export { BreadcrumbButton } from './BreadcrumbButton';\nexport type {\n BreadcrumbButtonBaseProps,\n BreadcrumbButtonBaseState,\n BreadcrumbButtonProps,\n BreadcrumbButtonSlots,\n BreadcrumbButtonState,\n} from './BreadcrumbButton.types';\nexport { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';\nexport { useBreadcrumbButton_unstable, useBreadcrumbButtonBase_unstable } from './useBreadcrumbButton';\nexport { breadcrumbButtonClassNames, useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';\n"],"names":["BreadcrumbButton","renderBreadcrumbButton_unstable","useBreadcrumbButton_unstable","useBreadcrumbButtonBase_unstable","breadcrumbButtonClassNames","useBreadcrumbButtonStyles_unstable"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,qBAAqB;AAQtD,SAASC,+BAA+B,QAAQ,2BAA2B;AAC3E,SAASC,4BAA4B,EAAEC,gCAAgC,QAAQ,wBAAwB;AACvG,SAASC,0BAA0B,EAAEC,kCAAkC,QAAQ,qCAAqC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbButton/renderBreadcrumbButton.tsx"],"sourcesContent":["import type { BreadcrumbButtonState } from './BreadcrumbButton.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport { renderButton_unstable } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of BreadcrumbButton\n */\nexport const renderBreadcrumbButton_unstable = (state: BreadcrumbButtonState): JSXElement => {\n return renderButton_unstable(state);\n};\n"],"names":["renderButton_unstable","renderBreadcrumbButton_unstable","state"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ,yBAAyB;AAE/D;;CAEC,GACD,OAAO,MAAMC,kCAAkC,CAACC;IAC9C,OAAOF,sBAAsBE;AAC/B,EAAE"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbButton/renderBreadcrumbButton.tsx"],"sourcesContent":["import type { BreadcrumbButtonBaseState } from './BreadcrumbButton.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport { renderButton_unstable } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of BreadcrumbButton\n */\nexport const renderBreadcrumbButton_unstable = (state: BreadcrumbButtonBaseState): JSXElement => {\n return renderButton_unstable(state);\n};\n"],"names":["renderButton_unstable","renderBreadcrumbButton_unstable","state"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ,yBAAyB;AAE/D;;CAEC,GACD,OAAO,MAAMC,kCAAkC,CAACC;IAC9C,OAAOF,sBAAsBE;AAC/B,EAAE"}
@@ -1,6 +1,5 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useButton_unstable } from '@fluentui/react-button';
2
+ import { useButtonBase_unstable } from '@fluentui/react-button';
4
3
  import { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';
5
4
  /**
6
5
  * Create the state required to render BreadcrumbButton.
@@ -12,21 +11,35 @@ import { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';
12
11
  * @param ref - reference to root HTMLElement of BreadcrumbButton
13
12
  */ export const useBreadcrumbButton_unstable = (props, ref)=>{
14
13
  const { size } = useBreadcrumbContext_unstable();
14
+ const state = useBreadcrumbButtonBase_unstable(props, ref);
15
+ return {
16
+ appearance: 'subtle',
17
+ size,
18
+ shape: 'rounded',
19
+ ...state
20
+ };
21
+ };
22
+ /**
23
+ * Base hook for BreadcrumbButton component, which manages state related to button behavior,
24
+ * ARIA attributes (aria-current, aria-disabled), and slot structure without design props.
25
+ *
26
+ * @param props - props from this instance of BreadcrumbButton
27
+ * @param ref - reference to root HTMLElement of BreadcrumbButton
28
+ */ export const useBreadcrumbButtonBase_unstable = (props, ref)=>{
15
29
  const { current = false, as, ...rest } = props;
16
30
  const controlType = (as !== null && as !== void 0 ? as : props.href) ? 'a' : 'button';
17
31
  var _props_ariacurrent, _props_ariadisabled;
32
+ const buttonState = useButtonBase_unstable({
33
+ role: undefined,
34
+ type: undefined,
35
+ as: controlType,
36
+ iconPosition: 'before',
37
+ 'aria-current': current ? (_props_ariacurrent = props['aria-current']) !== null && _props_ariacurrent !== void 0 ? _props_ariacurrent : 'page' : undefined,
38
+ 'aria-disabled': current ? (_props_ariadisabled = props['aria-disabled']) !== null && _props_ariadisabled !== void 0 ? _props_ariadisabled : true : undefined,
39
+ ...rest
40
+ }, ref);
18
41
  return {
19
- ...useButton_unstable({
20
- appearance: 'subtle',
21
- role: undefined,
22
- type: undefined,
23
- as: controlType,
24
- iconPosition: 'before',
25
- 'aria-current': current ? (_props_ariacurrent = props['aria-current']) !== null && _props_ariacurrent !== void 0 ? _props_ariacurrent : 'page' : undefined,
26
- 'aria-disabled': current ? (_props_ariadisabled = props['aria-disabled']) !== null && _props_ariadisabled !== void 0 ? _props_ariadisabled : true : undefined,
27
- ...rest
28
- }, ref),
29
- current,
30
- size
42
+ ...buttonState,
43
+ current
31
44
  };
32
45
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbButton/useBreadcrumbButton.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ARIAButtonProps } from '@fluentui/react-aria';\nimport { useButton_unstable } from '@fluentui/react-button';\nimport type { ButtonProps } from '@fluentui/react-button';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\nimport type { BreadcrumbButtonProps, BreadcrumbButtonState } from './BreadcrumbButton.types';\n\n/**\n * Create the state required to render BreadcrumbButton.\n *\n * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable,\n * before being passed to renderBreadcrumbButton_unstable.\n *\n * @param props - props from this instance of BreadcrumbButton\n * @param ref - reference to root HTMLElement of BreadcrumbButton\n */\nexport const useBreadcrumbButton_unstable = (\n props: BreadcrumbButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): BreadcrumbButtonState => {\n const { size } = useBreadcrumbContext_unstable();\n const { current = false, as, ...rest } = props;\n\n const controlType = as ?? (props as ARIAButtonProps<'a'>).href ? 'a' : 'button';\n\n return {\n ...useButton_unstable(\n {\n appearance: 'subtle',\n role: undefined,\n type: undefined,\n as: controlType,\n iconPosition: 'before',\n 'aria-current': current ? props['aria-current'] ?? 'page' : undefined,\n 'aria-disabled': current ? props['aria-disabled'] ?? true : undefined,\n ...rest,\n } as ButtonProps,\n ref,\n ),\n current,\n size,\n };\n};\n"],"names":["React","useButton_unstable","useBreadcrumbContext_unstable","useBreadcrumbButton_unstable","props","ref","size","current","as","rest","controlType","href","appearance","role","undefined","type","iconPosition"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,kBAAkB,QAAQ,yBAAyB;AAE5D,SAASC,6BAA6B,QAAQ,kCAAkC;AAGhF;;;;;;;;CAQC,GACD,OAAO,MAAMC,+BAA+B,CAC1CC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAE,GAAGJ;IACjB,MAAM,EAAEK,UAAU,KAAK,EAAEC,EAAE,EAAE,GAAGC,MAAM,GAAGL;IAEzC,MAAMM,cAAcF,CAAAA,eAAAA,gBAAAA,KAAM,AAACJ,MAA+BO,IAAI,AAAD,IAAI,MAAM;QAUvCP,oBACCA;IATjC,OAAO;QACL,GAAGH,mBACD;YACEW,YAAY;YACZC,MAAMC;YACNC,MAAMD;YACNN,IAAIE;YACJM,cAAc;YACd,gBAAgBT,UAAUH,CAAAA,qBAAAA,KAAK,CAAC,eAAe,cAArBA,gCAAAA,qBAAyB,SAASU;YAC5D,iBAAiBP,UAAUH,CAAAA,sBAAAA,KAAK,CAAC,gBAAgB,cAAtBA,iCAAAA,sBAA0B,OAAOU;YAC5D,GAAGL,IAAI;QACT,GACAJ,IACD;QACDE;QACAD;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbButton/useBreadcrumbButton.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport type { ARIAButtonProps } from '@fluentui/react-aria';\nimport { useButtonBase_unstable } from '@fluentui/react-button';\nimport type { ButtonBaseProps } from '@fluentui/react-button';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\nimport type {\n BreadcrumbButtonBaseProps,\n BreadcrumbButtonBaseState,\n BreadcrumbButtonProps,\n BreadcrumbButtonState,\n} from './BreadcrumbButton.types';\n\n/**\n * Create the state required to render BreadcrumbButton.\n *\n * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable,\n * before being passed to renderBreadcrumbButton_unstable.\n *\n * @param props - props from this instance of BreadcrumbButton\n * @param ref - reference to root HTMLElement of BreadcrumbButton\n */\nexport const useBreadcrumbButton_unstable = (\n props: BreadcrumbButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): BreadcrumbButtonState => {\n const { size } = useBreadcrumbContext_unstable();\n const state = useBreadcrumbButtonBase_unstable(props, ref);\n\n return {\n appearance: 'subtle',\n size,\n shape: 'rounded',\n ...state,\n };\n};\n\n/**\n * Base hook for BreadcrumbButton component, which manages state related to button behavior,\n * ARIA attributes (aria-current, aria-disabled), and slot structure without design props.\n *\n * @param props - props from this instance of BreadcrumbButton\n * @param ref - reference to root HTMLElement of BreadcrumbButton\n */\nexport const useBreadcrumbButtonBase_unstable = (\n props: BreadcrumbButtonBaseProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): BreadcrumbButtonBaseState => {\n const { current = false, as, ...rest } = props;\n\n const controlType = as ?? (props as ARIAButtonProps<'a'>).href ? 'a' : 'button';\n\n const buttonState = useButtonBase_unstable(\n {\n role: undefined,\n type: undefined,\n as: controlType,\n iconPosition: 'before',\n 'aria-current': current ? props['aria-current'] ?? 'page' : undefined,\n 'aria-disabled': current ? props['aria-disabled'] ?? true : undefined,\n ...rest,\n } as ButtonBaseProps,\n ref,\n );\n\n return {\n ...buttonState,\n current,\n };\n};\n"],"names":["useButtonBase_unstable","useBreadcrumbContext_unstable","useBreadcrumbButton_unstable","props","ref","size","state","useBreadcrumbButtonBase_unstable","appearance","shape","current","as","rest","controlType","href","buttonState","role","undefined","type","iconPosition"],"mappings":"AAAA;AAIA,SAASA,sBAAsB,QAAQ,yBAAyB;AAEhE,SAASC,6BAA6B,QAAQ,kCAAkC;AAQhF;;;;;;;;CAQC,GACD,OAAO,MAAMC,+BAA+B,CAC1CC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAE,GAAGJ;IACjB,MAAMK,QAAQC,iCAAiCJ,OAAOC;IAEtD,OAAO;QACLI,YAAY;QACZH;QACAI,OAAO;QACP,GAAGH,KAAK;IACV;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMC,mCAAmC,CAC9CJ,OACAC;IAEA,MAAM,EAAEM,UAAU,KAAK,EAAEC,EAAE,EAAE,GAAGC,MAAM,GAAGT;IAEzC,MAAMU,cAAcF,CAAAA,eAAAA,gBAAAA,KAAM,AAACR,MAA+BW,IAAI,AAAD,IAAI,MAAM;QAQzCX,oBACCA;IAP/B,MAAMY,cAAcf,uBAClB;QACEgB,MAAMC;QACNC,MAAMD;QACNN,IAAIE;QACJM,cAAc;QACd,gBAAgBT,UAAUP,CAAAA,qBAAAA,KAAK,CAAC,eAAe,cAArBA,gCAAAA,qBAAyB,SAASc;QAC5D,iBAAiBP,UAAUP,CAAAA,sBAAAA,KAAK,CAAC,gBAAgB,cAAtBA,iCAAAA,sBAA0B,OAAOc;QAC5D,GAAGL,IAAI;IACT,GACAR;IAGF,OAAO;QACL,GAAGW,WAAW;QACdL;IACF;AACF,EAAE"}
@@ -1,3 +1,3 @@
1
1
  /**
2
- * State used in rendering BreadcrumbDivider
2
+ * BreadcrumbDivider base state (excludes size, which is a design prop injected from context)
3
3
  */ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbDivider/BreadcrumbDivider.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbProps } from '../Breadcrumb/Breadcrumb.types';\n\nexport type BreadcrumbDividerSlots = {\n root: Slot<'li'>;\n};\n\n/**\n * BreadcrumbDivider Props\n */\nexport type BreadcrumbDividerProps = ComponentProps<BreadcrumbDividerSlots> & {};\n\n/**\n * State used in rendering BreadcrumbDivider\n */\nexport type BreadcrumbDividerState = ComponentState<BreadcrumbDividerSlots> & Pick<BreadcrumbProps, 'size'>;\n"],"names":[],"mappings":"AAYA;;CAEC,GACD,WAA4G"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbDivider/BreadcrumbDivider.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbProps } from '../Breadcrumb/Breadcrumb.types';\n\nexport type BreadcrumbDividerSlots = {\n root: Slot<'li'>;\n};\n\n/**\n * BreadcrumbDivider Props\n */\nexport type BreadcrumbDividerProps = ComponentProps<BreadcrumbDividerSlots> & {};\n\n/**\n * State used in rendering BreadcrumbDivider\n */\nexport type BreadcrumbDividerState = ComponentState<BreadcrumbDividerSlots> & Pick<BreadcrumbProps, 'size'>;\n\n/**\n * BreadcrumbDivider base props (same as BreadcrumbDividerProps since BreadcrumbDivider has no design props of its own)\n */\nexport type BreadcrumbDividerBaseProps = BreadcrumbDividerProps;\n\n/**\n * BreadcrumbDivider base state (excludes size, which is a design prop injected from context)\n */\nexport type BreadcrumbDividerBaseState = Omit<BreadcrumbDividerState, 'size'>;\n"],"names":[],"mappings":"AAsBA;;CAEC,GACD,WAA8E"}
@@ -1,4 +1,4 @@
1
1
  export { BreadcrumbDivider } from './BreadcrumbDivider';
2
2
  export { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';
3
- export { useBreadcrumbDivider_unstable } from './useBreadcrumbDivider';
3
+ export { useBreadcrumbDivider_unstable, useBreadcrumbDividerBase_unstable } from './useBreadcrumbDivider';
4
4
  export { breadcrumbDividerClassNames, useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbDivider/index.ts"],"sourcesContent":["export { BreadcrumbDivider } from './BreadcrumbDivider';\nexport type { BreadcrumbDividerProps, BreadcrumbDividerSlots, BreadcrumbDividerState } from './BreadcrumbDivider.types';\nexport { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';\nexport { useBreadcrumbDivider_unstable } from './useBreadcrumbDivider';\nexport { breadcrumbDividerClassNames, useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';\n"],"names":["BreadcrumbDivider","renderBreadcrumbDivider_unstable","useBreadcrumbDivider_unstable","breadcrumbDividerClassNames","useBreadcrumbDividerStyles_unstable"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sBAAsB;AAExD,SAASC,gCAAgC,QAAQ,4BAA4B;AAC7E,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,2BAA2B,EAAEC,mCAAmC,QAAQ,sCAAsC"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbDivider/index.ts"],"sourcesContent":["export { BreadcrumbDivider } from './BreadcrumbDivider';\nexport type {\n BreadcrumbDividerBaseProps,\n BreadcrumbDividerBaseState,\n BreadcrumbDividerProps,\n BreadcrumbDividerSlots,\n BreadcrumbDividerState,\n} from './BreadcrumbDivider.types';\nexport { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';\nexport { useBreadcrumbDivider_unstable, useBreadcrumbDividerBase_unstable } from './useBreadcrumbDivider';\nexport { breadcrumbDividerClassNames, useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';\n"],"names":["BreadcrumbDivider","renderBreadcrumbDivider_unstable","useBreadcrumbDivider_unstable","useBreadcrumbDividerBase_unstable","breadcrumbDividerClassNames","useBreadcrumbDividerStyles_unstable"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sBAAsB;AAQxD,SAASC,gCAAgC,QAAQ,4BAA4B;AAC7E,SAASC,6BAA6B,EAAEC,iCAAiC,QAAQ,yBAAyB;AAC1G,SAASC,2BAA2B,EAAEC,mCAAmC,QAAQ,sCAAsC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BreadcrumbDivider/renderBreadcrumbDivider.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport type { BreadcrumbDividerState, BreadcrumbDividerSlots } from './BreadcrumbDivider.types';\n\n/**\n * Render the final JSX of BreadcrumbDivider\n */\nexport const renderBreadcrumbDivider_unstable = (state: BreadcrumbDividerState): JSXElement => {\n assertSlots<BreadcrumbDividerSlots>(state);\n\n return <state.root />;\n};\n"],"names":["assertSlots","renderBreadcrumbDivider_unstable","state","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAKxD;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAACC;IAC/CF,YAAoCE;IAEpC,qBAAO,KAACA,MAAMC,IAAI;AACpB,EAAE"}
1
+ {"version":3,"sources":["../src/components/BreadcrumbDivider/renderBreadcrumbDivider.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport type { BreadcrumbDividerBaseState, BreadcrumbDividerSlots } from './BreadcrumbDivider.types';\n\n/**\n * Render the final JSX of BreadcrumbDivider\n */\nexport const renderBreadcrumbDivider_unstable = (state: BreadcrumbDividerBaseState): JSXElement => {\n assertSlots<BreadcrumbDividerSlots>(state);\n\n return <state.root />;\n};\n"],"names":["assertSlots","renderBreadcrumbDivider_unstable","state","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAKxD;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAACC;IAC/CF,YAAoCE;IAEpC,qBAAO,KAACA,MAAMC,IAAI;AACpB,EAAE"}