@fluentui/react-breadcrumb 9.0.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 (141) hide show
  1. package/CHANGELOG.md +494 -0
  2. package/LICENSE +15 -0
  3. package/README.md +45 -0
  4. package/dist/index.d.ts +259 -0
  5. package/lib/Breadcrumb.js +1 -0
  6. package/lib/Breadcrumb.js.map +1 -0
  7. package/lib/BreadcrumbButton.js +1 -0
  8. package/lib/BreadcrumbButton.js.map +1 -0
  9. package/lib/BreadcrumbDivider.js +1 -0
  10. package/lib/BreadcrumbDivider.js.map +1 -0
  11. package/lib/BreadcrumbItem.js +1 -0
  12. package/lib/BreadcrumbItem.js.map +1 -0
  13. package/lib/components/Breadcrumb/Breadcrumb.js +16 -0
  14. package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -0
  15. package/lib/components/Breadcrumb/Breadcrumb.types.js +1 -0
  16. package/lib/components/Breadcrumb/Breadcrumb.types.js.map +1 -0
  17. package/lib/components/Breadcrumb/BreadcrumbContext.js +16 -0
  18. package/lib/components/Breadcrumb/BreadcrumbContext.js.map +1 -0
  19. package/lib/components/Breadcrumb/index.js +6 -0
  20. package/lib/components/Breadcrumb/index.js.map +1 -0
  21. package/lib/components/Breadcrumb/renderBreadcrumb.js +16 -0
  22. package/lib/components/Breadcrumb/renderBreadcrumb.js.map +1 -0
  23. package/lib/components/Breadcrumb/useBreadcrumb.js +42 -0
  24. package/lib/components/Breadcrumb/useBreadcrumb.js.map +1 -0
  25. package/lib/components/Breadcrumb/useBreadcrumbContextValue.js +9 -0
  26. package/lib/components/Breadcrumb/useBreadcrumbContextValue.js.map +1 -0
  27. package/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js +18 -0
  28. package/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js.map +1 -0
  29. package/lib/components/BreadcrumbButton/BreadcrumbButton.js +14 -0
  30. package/lib/components/BreadcrumbButton/BreadcrumbButton.js.map +1 -0
  31. package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js +1 -0
  32. package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -0
  33. package/lib/components/BreadcrumbButton/index.js +5 -0
  34. package/lib/components/BreadcrumbButton/index.js.map +1 -0
  35. package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js +6 -0
  36. package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -0
  37. package/lib/components/BreadcrumbButton/useBreadcrumbButton.js +31 -0
  38. package/lib/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -0
  39. package/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js +161 -0
  40. package/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js.map +1 -0
  41. package/lib/components/BreadcrumbDivider/BreadcrumbDivider.js +14 -0
  42. package/lib/components/BreadcrumbDivider/BreadcrumbDivider.js.map +1 -0
  43. package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js +1 -0
  44. package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -0
  45. package/lib/components/BreadcrumbDivider/index.js +5 -0
  46. package/lib/components/BreadcrumbDivider/index.js.map +1 -0
  47. package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js +8 -0
  48. package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -0
  49. package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js +57 -0
  50. package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -0
  51. package/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js +23 -0
  52. package/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js.map +1 -0
  53. package/lib/components/BreadcrumbItem/BreadcrumbItem.js +15 -0
  54. package/lib/components/BreadcrumbItem/BreadcrumbItem.js.map +1 -0
  55. package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js +1 -0
  56. package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -0
  57. package/lib/components/BreadcrumbItem/index.js +5 -0
  58. package/lib/components/BreadcrumbItem/index.js.map +1 -0
  59. package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js +10 -0
  60. package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -0
  61. package/lib/components/BreadcrumbItem/useBreadcrumbItem.js +26 -0
  62. package/lib/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -0
  63. package/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js +15 -0
  64. package/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js.map +1 -0
  65. package/lib/index.js +6 -0
  66. package/lib/index.js.map +1 -0
  67. package/lib/utils/index.js +2 -0
  68. package/lib/utils/index.js.map +1 -0
  69. package/lib/utils/partitionBreadcrumbItems.js +35 -0
  70. package/lib/utils/partitionBreadcrumbItems.js.map +1 -0
  71. package/lib/utils/truncateBreadcrumb.js +16 -0
  72. package/lib/utils/truncateBreadcrumb.js.map +1 -0
  73. package/lib-commonjs/Breadcrumb.js +6 -0
  74. package/lib-commonjs/Breadcrumb.js.map +1 -0
  75. package/lib-commonjs/BreadcrumbButton.js +6 -0
  76. package/lib-commonjs/BreadcrumbButton.js.map +1 -0
  77. package/lib-commonjs/BreadcrumbDivider.js +6 -0
  78. package/lib-commonjs/BreadcrumbDivider.js.map +1 -0
  79. package/lib-commonjs/BreadcrumbItem.js +6 -0
  80. package/lib-commonjs/BreadcrumbItem.js.map +1 -0
  81. package/lib-commonjs/components/Breadcrumb/Breadcrumb.js +25 -0
  82. package/lib-commonjs/components/Breadcrumb/Breadcrumb.js.map +1 -0
  83. package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js +4 -0
  84. package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js.map +1 -0
  85. package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js +32 -0
  86. package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js.map +1 -0
  87. package/lib-commonjs/components/Breadcrumb/index.js +11 -0
  88. package/lib-commonjs/components/Breadcrumb/index.js.map +1 -0
  89. package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js +24 -0
  90. package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js.map +1 -0
  91. package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js +45 -0
  92. package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js.map +1 -0
  93. package/lib-commonjs/components/Breadcrumb/useBreadcrumbContextValue.js +20 -0
  94. package/lib-commonjs/components/Breadcrumb/useBreadcrumbContextValue.js.map +1 -0
  95. package/lib-commonjs/components/Breadcrumb/useBreadcrumbStyles.styles.js +34 -0
  96. package/lib-commonjs/components/Breadcrumb/useBreadcrumbStyles.styles.js.map +1 -0
  97. package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.js +23 -0
  98. package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.js.map +1 -0
  99. package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js +4 -0
  100. package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -0
  101. package/lib-commonjs/components/BreadcrumbButton/index.js +10 -0
  102. package/lib-commonjs/components/BreadcrumbButton/index.js.map +1 -0
  103. package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js +14 -0
  104. package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -0
  105. package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js +34 -0
  106. package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -0
  107. package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js +257 -0
  108. package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js.map +1 -0
  109. package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.js +23 -0
  110. package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.js.map +1 -0
  111. package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js +4 -0
  112. package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -0
  113. package/lib-commonjs/components/BreadcrumbDivider/index.js +10 -0
  114. package/lib-commonjs/components/BreadcrumbDivider/index.js.map +1 -0
  115. package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js +16 -0
  116. package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -0
  117. package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js +60 -0
  118. package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -0
  119. package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js +38 -0
  120. package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js.map +1 -0
  121. package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.js +23 -0
  122. package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.js.map +1 -0
  123. package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js +4 -0
  124. package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -0
  125. package/lib-commonjs/components/BreadcrumbItem/index.js +10 -0
  126. package/lib-commonjs/components/BreadcrumbItem/index.js.map +1 -0
  127. package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js +18 -0
  128. package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -0
  129. package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js +29 -0
  130. package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -0
  131. package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js +30 -0
  132. package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js.map +1 -0
  133. package/lib-commonjs/index.js +95 -0
  134. package/lib-commonjs/index.js.map +1 -0
  135. package/lib-commonjs/utils/index.js +26 -0
  136. package/lib-commonjs/utils/index.js.map +1 -0
  137. package/lib-commonjs/utils/partitionBreadcrumbItems.js +39 -0
  138. package/lib-commonjs/utils/partitionBreadcrumbItems.js.map +1 -0
  139. package/lib-commonjs/utils/truncateBreadcrumb.js +37 -0
  140. package/lib-commonjs/utils/truncateBreadcrumb.js.map +1 -0
  141. package/package.json +77 -0
@@ -0,0 +1,259 @@
1
+ /// <reference types="react" />
2
+
3
+ import { ButtonProps } from '@fluentui/react-button';
4
+ import { ButtonSlots } from '@fluentui/react-button';
5
+ import { ButtonState } from '@fluentui/react-button';
6
+ import type { ComponentProps } from '@fluentui/react-utilities';
7
+ import type { ComponentState } from '@fluentui/react-utilities';
8
+ import type { ForwardRefComponent } from '@fluentui/react-utilities';
9
+ import * as React_2 from 'react';
10
+ import type { Slot } from '@fluentui/react-utilities';
11
+ import type { SlotClassNames } from '@fluentui/react-utilities';
12
+
13
+ /**
14
+ * Breadcrumb component - TODO: add more docs
15
+ */
16
+ export declare const Breadcrumb: ForwardRefComponent<BreadcrumbProps>;
17
+
18
+ /**
19
+ * A button component which is used inside the Breadcrumb.
20
+ */
21
+ export declare const BreadcrumbButton: ForwardRefComponent<BreadcrumbButtonProps>;
22
+
23
+ /**
24
+ * Static CSS class names used internally for the component slots.
25
+ */
26
+ export declare const breadcrumbButtonClassNames: SlotClassNames<BreadcrumbButtonSlots>;
27
+
28
+ /**
29
+ * BreadcrumbButton Props
30
+ */
31
+ export declare type BreadcrumbButtonProps = ComponentProps<BreadcrumbButtonSlots> & Pick<BreadcrumbProps, 'size'> & Pick<ButtonProps, 'disabled' | 'disabledFocusable'> & {
32
+ /**
33
+ * Defines current sate of BreadcrumbButton.
34
+ *
35
+ * @default false
36
+ */
37
+ current?: boolean;
38
+ };
39
+
40
+ export declare type BreadcrumbButtonSlots = ButtonSlots;
41
+
42
+ /**
43
+ * State used in rendering BreadcrumbButton
44
+ */
45
+ export declare type BreadcrumbButtonState = ComponentState<BreadcrumbButtonSlots> & Omit<ButtonState, keyof ButtonSlots | 'components'> & Required<Pick<BreadcrumbButtonProps, 'current' | 'size'>>;
46
+
47
+ export declare const breadcrumbClassNames: SlotClassNames<BreadcrumbSlots>;
48
+
49
+ /**
50
+ * Data shared between breadcrumb components
51
+ */
52
+ export declare type BreadcrumbContextValues = Required<Pick<BreadcrumbProps, 'size'>>;
53
+
54
+ /**
55
+ * A divider component which is used inside the Breadcrumb
56
+ */
57
+ export declare const BreadcrumbDivider: ForwardRefComponent<BreadcrumbDividerProps>;
58
+
59
+ export declare const breadcrumbDividerClassNames: SlotClassNames<BreadcrumbDividerSlots>;
60
+
61
+ /**
62
+ * BreadcrumbDivider Props
63
+ */
64
+ export declare type BreadcrumbDividerProps = ComponentProps<BreadcrumbDividerSlots> & {};
65
+
66
+ export declare type BreadcrumbDividerSlots = {
67
+ root: Slot<'li'>;
68
+ };
69
+
70
+ /**
71
+ * State used in rendering BreadcrumbDivider
72
+ */
73
+ export declare type BreadcrumbDividerState = ComponentState<BreadcrumbDividerSlots>;
74
+
75
+ /**
76
+ * BreadcrumbItem component is a wrapper for BreadcrumbLink and BreadcrumbButton.
77
+ * It can be used as a non-interactive item.
78
+ */
79
+ export declare const BreadcrumbItem: ForwardRefComponent<BreadcrumbItemProps>;
80
+
81
+ export declare const breadcrumbItemClassNames: SlotClassNames<BreadcrumbItemSlots>;
82
+
83
+ /**
84
+ * BreadcrumbItem Props
85
+ */
86
+ export declare type BreadcrumbItemProps = ComponentProps<BreadcrumbItemSlots> & Pick<BreadcrumbProps, 'size'>;
87
+
88
+ export declare type BreadcrumbItemSlots = {
89
+ root: Slot<'li'>;
90
+ };
91
+
92
+ /**
93
+ * State used in rendering BreadcrumbItem
94
+ */
95
+ export declare type BreadcrumbItemState = ComponentState<BreadcrumbItemSlots> & Required<Pick<BreadcrumbItemProps, 'size'>>;
96
+
97
+ /**
98
+ * Breadcrumb Props
99
+ */
100
+ export declare type BreadcrumbProps = ComponentProps<BreadcrumbSlots> & {
101
+ /**
102
+ * Sets the focus behavior for the Breadcrumb.
103
+ *
104
+ * `tab`
105
+ * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Tab key and then release focus
106
+ * after the last inner element.
107
+ *
108
+ * `arrow`
109
+ * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Arrow key.
110
+ *
111
+ * @default 'tab'
112
+ */
113
+ focusMode?: 'arrow' | 'tab';
114
+ /**
115
+ * Controls size of Breadcrumb items and dividers.
116
+ *
117
+ * @default 'medium'
118
+ */
119
+ size?: 'small' | 'medium' | 'large';
120
+ };
121
+
122
+ /**
123
+ * @internal
124
+ */
125
+ export declare const BreadcrumbProvider: React_2.Provider<Required<Pick<BreadcrumbProps, "size">> | undefined>;
126
+
127
+ export declare type BreadcrumbSlots = {
128
+ /**
129
+ * Root element of the component.
130
+ */
131
+ root: Slot<'nav'>;
132
+ /**
133
+ * Ordered list which contains items.
134
+ */
135
+ list?: Slot<'ol'>;
136
+ };
137
+
138
+ /**
139
+ * State used in rendering Breadcrumb
140
+ */
141
+ export declare type BreadcrumbState = ComponentState<BreadcrumbSlots> & Required<Pick<BreadcrumbProps, 'size'>>;
142
+
143
+ export declare const isTruncatableBreadcrumbContent: (content: string, maxLength: number) => boolean;
144
+
145
+ export declare type PartitionBreadcrumbItems<T> = {
146
+ startDisplayedItems: readonly T[];
147
+ overflowItems?: readonly T[];
148
+ endDisplayedItems?: readonly T[];
149
+ };
150
+
151
+ /**
152
+ * Get the displayed items and overflowing items based on the array of BreadcrumbItems needed for Breadcrumb.
153
+ *
154
+ * @param options - Configure the partition options
155
+ *
156
+ * @returns Three arrays split into displayed items and overflow items based on maxDisplayedItems.
157
+ */
158
+ export declare const partitionBreadcrumbItems: <T>(options: PartitionBreadcrumbItemsOptions<T>) => PartitionBreadcrumbItems<T>;
159
+
160
+ export declare type PartitionBreadcrumbItemsOptions<T> = {
161
+ items: readonly T[];
162
+ maxDisplayedItems?: number;
163
+ overflowIndex?: number;
164
+ };
165
+
166
+ /**
167
+ * Render the final JSX of Breadcrumb
168
+ */
169
+ export declare const renderBreadcrumb_unstable: (state: BreadcrumbState, contextValues: BreadcrumbContextValues) => JSX.Element;
170
+
171
+ /**
172
+ * Render the final JSX of BreadcrumbButton
173
+ */
174
+ export declare const renderBreadcrumbButton_unstable: (state: BreadcrumbButtonState) => JSX.Element;
175
+
176
+ /**
177
+ * Render the final JSX of BreadcrumbDivider
178
+ */
179
+ export declare const renderBreadcrumbDivider_unstable: (state: BreadcrumbDividerState) => JSX.Element;
180
+
181
+ /**
182
+ * Render the final JSX of BreadcrumbItem
183
+ */
184
+ export declare const renderBreadcrumbItem_unstable: (state: BreadcrumbItemState) => JSX.Element;
185
+
186
+ export declare const truncateBreadcrumbLongName: (content: string, maxLength?: number) => string;
187
+
188
+ export declare const truncateBreadcrumLongTooltip: (content: string, maxLength?: number) => string;
189
+
190
+ /**
191
+ * Create the state required to render Breadcrumb.
192
+ *
193
+ * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,
194
+ * before being passed to renderBreadcrumb_unstable.
195
+ *
196
+ * @param props - props from this instance of Breadcrumb
197
+ * @param ref - reference to root HTMLElement of Breadcrumb
198
+ */
199
+ export declare const useBreadcrumb_unstable: (props: BreadcrumbProps, ref: React_2.Ref<HTMLElement>) => BreadcrumbState;
200
+
201
+ /**
202
+ * Create the state required to render BreadcrumbButton.
203
+ *
204
+ * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable,
205
+ * before being passed to renderBreadcrumbButton_unstable.
206
+ *
207
+ * @param props - props from this instance of BreadcrumbButton
208
+ * @param ref - reference to root HTMLElement of BreadcrumbButton
209
+ */
210
+ export declare const useBreadcrumbButton_unstable: (props: BreadcrumbButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => BreadcrumbButtonState;
211
+
212
+ /**
213
+ * Apply styling to the BreadcrumbButton slots based on the state
214
+ */
215
+ export declare const useBreadcrumbButtonStyles_unstable: (state: BreadcrumbButtonState) => BreadcrumbButtonState;
216
+
217
+ /**
218
+ * @internal
219
+ */
220
+ export declare const useBreadcrumbContext_unstable: () => Required<Pick<BreadcrumbProps, "size">>;
221
+
222
+ /**
223
+ * Create the state required to render BreadcrumbDivider.
224
+ *
225
+ * The returned state can be modified with hooks such as useBreadcrumbDividerStyles_unstable,
226
+ * before being passed to renderBreadcrumbDivider_unstable.
227
+ *
228
+ * @param props - props from this instance of BreadcrumbDivider
229
+ * @param ref - reference to root HTMLElement of BreadcrumbDivider
230
+ */
231
+ export declare const useBreadcrumbDivider_unstable: (props: BreadcrumbDividerProps, ref: React_2.Ref<HTMLLIElement>) => BreadcrumbDividerState;
232
+
233
+ /**
234
+ * Apply styling to the BreadcrumbDivider slots based on the state
235
+ */
236
+ export declare const useBreadcrumbDividerStyles_unstable: (state: BreadcrumbDividerState) => BreadcrumbDividerState;
237
+
238
+ /**
239
+ * Create the state required to render BreadcrumbItem.
240
+ *
241
+ * The returned state can be modified with hooks such as useBreadcrumbItemStyles_unstable,
242
+ * before being passed to renderBreadcrumbItem_unstable.
243
+ *
244
+ * @param props - props from this instance of BreadcrumbItem
245
+ * @param ref - reference to root HTMLElement of BreadcrumbItem
246
+ */
247
+ export declare const useBreadcrumbItem_unstable: (props: BreadcrumbItemProps, ref: React_2.Ref<HTMLLIElement>) => BreadcrumbItemState;
248
+
249
+ /**
250
+ * Apply styling to the BreadcrumbItem slots based on the state
251
+ */
252
+ export declare const useBreadcrumbItemStyles_unstable: (state: BreadcrumbItemState) => BreadcrumbItemState;
253
+
254
+ /**
255
+ * Apply styling to the Breadcrumb slots based on the state
256
+ */
257
+ export declare const useBreadcrumbStyles_unstable: (state: BreadcrumbState) => BreadcrumbState;
258
+
259
+ export { }
@@ -0,0 +1 @@
1
+ export * from './components/Breadcrumb/index';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Breadcrumb.ts"],"sourcesContent":["export * from './components/Breadcrumb/index';\n"],"names":[],"mappings":"AAAA,cAAc,gCAAgC"}
@@ -0,0 +1 @@
1
+ export * from './components/BreadcrumbButton/index';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["BreadcrumbButton.ts"],"sourcesContent":["export * from './components/BreadcrumbButton/index';\n"],"names":[],"mappings":"AAAA,cAAc,sCAAsC"}
@@ -0,0 +1 @@
1
+ export * from './components/BreadcrumbDivider/index';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["BreadcrumbDivider.ts"],"sourcesContent":["export * from './components/BreadcrumbDivider/index';\n"],"names":[],"mappings":"AAAA,cAAc,uCAAuC"}
@@ -0,0 +1 @@
1
+ export * from './components/BreadcrumbItem/index';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["BreadcrumbItem.ts"],"sourcesContent":["export * from './components/BreadcrumbItem/index';\n"],"names":[],"mappings":"AAAA,cAAc,oCAAoC"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { useBreadcrumb_unstable } from './useBreadcrumb';
3
+ import { renderBreadcrumb_unstable } from './renderBreadcrumb';
4
+ import { useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';
5
+ import { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';
6
+ import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
7
+ /**
8
+ * Breadcrumb component - TODO: add more docs
9
+ */ export const Breadcrumb = /*#__PURE__*/ React.forwardRef((props, ref)=>{
10
+ const state = useBreadcrumb_unstable(props, ref);
11
+ const contextValues = useBreadcrumbContextValues_unstable(state);
12
+ useBreadcrumbStyles_unstable(state);
13
+ useCustomStyleHook_unstable('useBreadcrumbStyles_unstable')(state);
14
+ return renderBreadcrumb_unstable(state, contextValues);
15
+ });
16
+ Breadcrumb.displayName = 'Breadcrumb';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Breadcrumb.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useBreadcrumb_unstable } from './useBreadcrumb';\nimport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nimport { useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\nimport type { BreadcrumbProps } from './Breadcrumb.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Breadcrumb component - TODO: add more docs\n */\nexport const Breadcrumb: ForwardRefComponent<BreadcrumbProps> = React.forwardRef((props, ref) => {\n const state = useBreadcrumb_unstable(props, ref);\n const contextValues = useBreadcrumbContextValues_unstable(state);\n\n useBreadcrumbStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbStyles_unstable')(state);\n\n return renderBreadcrumb_unstable(state, contextValues);\n});\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["React","useBreadcrumb_unstable","renderBreadcrumb_unstable","useBreadcrumbStyles_unstable","useBreadcrumbContextValues_unstable","useCustomStyleHook_unstable","Breadcrumb","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,+BAA+B;AAG5E,SAASC,mCAAmC,QAAQ,8BAA8B;AAClF,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,2BAAmDN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACvF,MAAMC,QAAQT,uBAAuBO,OAAOC;IAC5C,MAAME,gBAAgBP,oCAAoCM;IAE1DP,6BAA6BO;IAC7BL,4BAA4B,gCAAgCK;IAE5D,OAAOR,0BAA0BQ,OAAOC;AAC1C,GAAG;AAEHL,WAAWM,WAAW,GAAG"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["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":"AAAA,WA+CwG"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ const BreadcrumbContext = React.createContext(undefined);
3
+ /**
4
+ * @internal
5
+ */ export const breadcrumbDefaultValue = {
6
+ size: 'medium'
7
+ };
8
+ /**
9
+ * @internal
10
+ */ export const BreadcrumbProvider = BreadcrumbContext.Provider;
11
+ /**
12
+ * @internal
13
+ */ export const useBreadcrumbContext_unstable = ()=>{
14
+ var _React_useContext;
15
+ return (_React_useContext = React.useContext(BreadcrumbContext)) !== null && _React_useContext !== void 0 ? _React_useContext : breadcrumbDefaultValue;
16
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["BreadcrumbContext.ts"],"sourcesContent":["import * 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 = () => React.useContext(BreadcrumbContext) ?? breadcrumbDefaultValue;\n"],"names":["React","BreadcrumbContext","createContext","undefined","breadcrumbDefaultValue","size","BreadcrumbProvider","Provider","useBreadcrumbContext_unstable","useContext"],"mappings":"AAAA,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;QAAMR;WAAAA,CAAAA,oBAAAA,MAAMS,UAAU,CAACR,gCAAjBD,+BAAAA,oBAAuCI;AAAqB,EAAE"}
@@ -0,0 +1,6 @@
1
+ export * from './Breadcrumb';
2
+ export * from './Breadcrumb.types';
3
+ export * from './BreadcrumbContext';
4
+ export * from './renderBreadcrumb';
5
+ export * from './useBreadcrumb';
6
+ export * from './useBreadcrumbStyles.styles';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './Breadcrumb';\nexport * from './Breadcrumb.types';\nexport * from './BreadcrumbContext';\nexport * from './renderBreadcrumb';\nexport * from './useBreadcrumb';\nexport * from './useBreadcrumbStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,+BAA+B"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
+ import { assertSlots } from '@fluentui/react-utilities';
3
+ import { BreadcrumbProvider } from './BreadcrumbContext';
4
+ /**
5
+ * Render the final JSX of Breadcrumb
6
+ */ export const renderBreadcrumb_unstable = (state, contextValues)=>{
7
+ assertSlots(state);
8
+ return /*#__PURE__*/ _jsx(state.root, {
9
+ children: /*#__PURE__*/ _jsx(BreadcrumbProvider, {
10
+ value: contextValues,
11
+ children: state.list && /*#__PURE__*/ _jsx(state.list, {
12
+ children: state.root.children
13
+ })
14
+ })
15
+ });
16
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderBreadcrumb.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\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 = (state: BreadcrumbState, contextValues: BreadcrumbContextValues) => {\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;AACxD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC,OAAwBC;IAChEJ,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"}
@@ -0,0 +1,42 @@
1
+ import * as React from 'react';
2
+ import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
3
+ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
4
+ /**
5
+ * Create the state required to render Breadcrumb.
6
+ *
7
+ * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,
8
+ * before being passed to renderBreadcrumb_unstable.
9
+ *
10
+ * @param props - props from this instance of Breadcrumb
11
+ * @param ref - reference to root HTMLElement of Breadcrumb
12
+ */ export const useBreadcrumb_unstable = (props, ref)=>{
13
+ const { focusMode = 'tab', size = 'medium', list, ...rest } = props;
14
+ const focusAttributes = useArrowNavigationGroup({
15
+ circular: true,
16
+ axis: 'horizontal',
17
+ memorizeCurrent: true
18
+ });
19
+ var _props_arialabel;
20
+ return {
21
+ components: {
22
+ root: 'nav',
23
+ list: 'ol'
24
+ },
25
+ root: slot.always(getIntrinsicElementProps('nav', {
26
+ ref,
27
+ 'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : 'breadcrumb',
28
+ ...focusMode === 'arrow' ? focusAttributes : {},
29
+ ...rest
30
+ }), {
31
+ elementType: 'nav'
32
+ }),
33
+ list: slot.optional(list, {
34
+ renderByDefault: true,
35
+ defaultProps: {
36
+ role: 'list'
37
+ },
38
+ elementType: 'ol'
39
+ }),
40
+ size
41
+ };
42
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useBreadcrumb.ts"],"sourcesContent":["import * 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,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"}
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ export function useBreadcrumbContextValues_unstable(state) {
3
+ const { size } = state;
4
+ return React.useMemo(()=>({
5
+ size
6
+ }), [
7
+ size
8
+ ]);
9
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useBreadcrumbContextValue.ts"],"sourcesContent":["import * as React from 'react';\nimport type { BreadcrumbContextValues, BreadcrumbState } from './Breadcrumb.types';\n\nexport function useBreadcrumbContextValues_unstable(state: BreadcrumbState): BreadcrumbContextValues {\n const { size } = state;\n return React.useMemo(() => ({ size }), [size]);\n}\n"],"names":["React","useBreadcrumbContextValues_unstable","state","size","useMemo"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC,oCAAoCC,KAAsB;IACxE,MAAM,EAAEC,IAAI,EAAE,GAAGD;IACjB,OAAOF,MAAMI,OAAO,CAAC,IAAO,CAAA;YAAED;QAAK,CAAA,GAAI;QAACA;KAAK;AAC/C"}
@@ -0,0 +1,18 @@
1
+ import { __resetStyles, mergeClasses } from '@griffel/react';
2
+ export const breadcrumbClassNames = {
3
+ root: 'fui-Breadcrumb',
4
+ list: 'fui-Breadcrumb__list'
5
+ };
6
+ const useListClassName = /*#__PURE__*/__resetStyles("rc5rb6b", null, [".rc5rb6b{list-style-type:none;display:flex;align-items:center;margin:0;padding:0;}"]);
7
+ /**
8
+ * Apply styling to the Breadcrumb slots based on the state
9
+ */
10
+ export const useBreadcrumbStyles_unstable = state => {
11
+ const listBaseClassName = useListClassName();
12
+ state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);
13
+ if (state.list) {
14
+ state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);
15
+ }
16
+ return state;
17
+ };
18
+ //# sourceMappingURL=useBreadcrumbStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__resetStyles","mergeClasses","breadcrumbClassNames","root","list","useListClassName","useBreadcrumbStyles_unstable","state","listBaseClassName","className"],"sources":["useBreadcrumbStyles.styles.js"],"sourcesContent":["import { makeResetStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbClassNames = {\n root: 'fui-Breadcrumb',\n list: 'fui-Breadcrumb__list'\n};\nconst useListClassName = makeResetStyles({\n listStyleType: 'none',\n display: 'flex',\n alignItems: 'center',\n margin: 0,\n padding: 0\n});\n/**\n * Apply styling to the Breadcrumb slots based on the state\n */ export const useBreadcrumbStyles_unstable = (state)=>{\n const listBaseClassName = useListClassName();\n state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);\n if (state.list) {\n state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);\n }\n return state;\n};\n"],"mappings":"AAAA,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,OAAO,MAAMC,oBAAoB,GAAG;EAChCC,IAAI,EAAE,gBAAgB;EACtBC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,gBAAgB,gBAAGL,aAAA,wGAMxB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMM,4BAA4B,GAAIC,KAAK,IAAG;EACrD,MAAMC,iBAAiB,GAAGH,gBAAgB,CAAC,CAAC;EAC5CE,KAAK,CAACJ,IAAI,CAACM,SAAS,GAAGR,YAAY,CAACC,oBAAoB,CAACC,IAAI,EAAEI,KAAK,CAACJ,IAAI,CAACM,SAAS,CAAC;EACpF,IAAIF,KAAK,CAACH,IAAI,EAAE;IACZG,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACO,iBAAiB,EAAEN,oBAAoB,CAACE,IAAI,EAAEG,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EAC3G;EACA,OAAOF,KAAK;AAChB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { useBreadcrumbButton_unstable } from './useBreadcrumbButton';
3
+ import { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';
4
+ import { useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';
5
+ import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
6
+ /**
7
+ * A button component which is used inside the Breadcrumb.
8
+ */ export const BreadcrumbButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{
9
+ const state = useBreadcrumbButton_unstable(props, ref);
10
+ useBreadcrumbButtonStyles_unstable(state);
11
+ useCustomStyleHook_unstable('useBreadcrumbButtonStyles_unstable')(state);
12
+ return renderBreadcrumbButton_unstable(state);
13
+ });
14
+ BreadcrumbButton.displayName = 'BreadcrumbButton';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["BreadcrumbButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useBreadcrumbButton_unstable } from './useBreadcrumbButton';\nimport { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';\nimport { useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport type { BreadcrumbButtonProps } from './BreadcrumbButton.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * A button component which is used inside the Breadcrumb.\n */\nexport const BreadcrumbButton: ForwardRefComponent<BreadcrumbButtonProps> = React.forwardRef((props, ref) => {\n const state = useBreadcrumbButton_unstable(props, ref);\n\n useBreadcrumbButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbButtonStyles_unstable')(state);\n\n return renderBreadcrumbButton_unstable(state);\n});\n\nBreadcrumbButton.displayName = 'BreadcrumbButton';\n"],"names":["React","useBreadcrumbButton_unstable","renderBreadcrumbButton_unstable","useBreadcrumbButtonStyles_unstable","useCustomStyleHook_unstable","BreadcrumbButton","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,+BAA+B,QAAQ,2BAA2B;AAC3E,SAASC,kCAAkC,QAAQ,qCAAqC;AACxF,SAASC,2BAA2B,QAAQ,kCAAkC;AAI9E;;CAEC,GACD,OAAO,MAAMC,iCAA+DL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IACnG,MAAMC,QAAQR,6BAA6BM,OAAOC;IAElDL,mCAAmCM;IACnCL,4BAA4B,sCAAsCK;IAElE,OAAOP,gCAAgCO;AACzC,GAAG;AAEHJ,iBAAiBK,WAAW,GAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["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":"AAAA,WAyB4D"}
@@ -0,0 +1,5 @@
1
+ export * from './BreadcrumbButton';
2
+ export * from './BreadcrumbButton.types';
3
+ export * from './renderBreadcrumbButton';
4
+ export * from './useBreadcrumbButton';
5
+ export * from './useBreadcrumbButtonStyles.styles';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './BreadcrumbButton';\nexport * from './BreadcrumbButton.types';\nexport * from './renderBreadcrumbButton';\nexport * from './useBreadcrumbButton';\nexport * from './useBreadcrumbButtonStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC,cAAc,wBAAwB;AACtC,cAAc,qCAAqC"}
@@ -0,0 +1,6 @@
1
+ import { renderButton_unstable } from '@fluentui/react-button';
2
+ /**
3
+ * Render the final JSX of BreadcrumbButton
4
+ */ export const renderBreadcrumbButton_unstable = (state)=>{
5
+ return renderButton_unstable(state);
6
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderBreadcrumbButton.tsx"],"sourcesContent":["import type { BreadcrumbButtonState } from './BreadcrumbButton.types';\nimport { renderButton_unstable } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of BreadcrumbButton\n */\nexport const renderBreadcrumbButton_unstable = (state: BreadcrumbButtonState) => {\n return renderButton_unstable(state);\n};\n"],"names":["renderButton_unstable","renderBreadcrumbButton_unstable","state"],"mappings":"AACA,SAASA,qBAAqB,QAAQ,yBAAyB;AAE/D;;CAEC,GACD,OAAO,MAAMC,kCAAkC,CAACC;IAC9C,OAAOF,sBAAsBE;AAC/B,EAAE"}
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import { useButton_unstable } from '@fluentui/react-button';
3
+ import { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';
4
+ /**
5
+ * Create the state required to render BreadcrumbButton.
6
+ *
7
+ * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable,
8
+ * before being passed to renderBreadcrumbButton_unstable.
9
+ *
10
+ * @param props - props from this instance of BreadcrumbButton
11
+ * @param ref - reference to root HTMLElement of BreadcrumbButton
12
+ */ export const useBreadcrumbButton_unstable = (props, ref)=>{
13
+ const { size } = useBreadcrumbContext_unstable();
14
+ const { current = false, as, ...rest } = props;
15
+ const controlType = (as !== null && as !== void 0 ? as : props.href) ? 'a' : 'button';
16
+ var _props_ariacurrent, _props_ariadisabled;
17
+ return {
18
+ ...useButton_unstable({
19
+ appearance: 'subtle',
20
+ role: undefined,
21
+ type: undefined,
22
+ as: controlType,
23
+ iconPosition: 'before',
24
+ 'aria-current': current ? (_props_ariacurrent = props['aria-current']) !== null && _props_ariacurrent !== void 0 ? _props_ariacurrent : 'page' : undefined,
25
+ 'aria-disabled': current ? (_props_ariadisabled = props['aria-disabled']) !== null && _props_ariadisabled !== void 0 ? _props_ariadisabled : true : undefined,
26
+ ...rest
27
+ }, ref),
28
+ current,
29
+ size
30
+ };
31
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useBreadcrumbButton.ts"],"sourcesContent":["import * 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,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"}