@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.
- package/CHANGELOG.md +494 -0
- package/LICENSE +15 -0
- package/README.md +45 -0
- package/dist/index.d.ts +259 -0
- package/lib/Breadcrumb.js +1 -0
- package/lib/Breadcrumb.js.map +1 -0
- package/lib/BreadcrumbButton.js +1 -0
- package/lib/BreadcrumbButton.js.map +1 -0
- package/lib/BreadcrumbDivider.js +1 -0
- package/lib/BreadcrumbDivider.js.map +1 -0
- package/lib/BreadcrumbItem.js +1 -0
- package/lib/BreadcrumbItem.js.map +1 -0
- package/lib/components/Breadcrumb/Breadcrumb.js +16 -0
- package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/Breadcrumb.types.js +1 -0
- package/lib/components/Breadcrumb/Breadcrumb.types.js.map +1 -0
- package/lib/components/Breadcrumb/BreadcrumbContext.js +16 -0
- package/lib/components/Breadcrumb/BreadcrumbContext.js.map +1 -0
- package/lib/components/Breadcrumb/index.js +6 -0
- package/lib/components/Breadcrumb/index.js.map +1 -0
- package/lib/components/Breadcrumb/renderBreadcrumb.js +16 -0
- package/lib/components/Breadcrumb/renderBreadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/useBreadcrumb.js +42 -0
- package/lib/components/Breadcrumb/useBreadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/useBreadcrumbContextValue.js +9 -0
- package/lib/components/Breadcrumb/useBreadcrumbContextValue.js.map +1 -0
- package/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js +18 -0
- package/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js.map +1 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.js +14 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.js.map +1 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js +1 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -0
- package/lib/components/BreadcrumbButton/index.js +5 -0
- package/lib/components/BreadcrumbButton/index.js.map +1 -0
- package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js +6 -0
- package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButton.js +31 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js +161 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js.map +1 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.js +14 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.js.map +1 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js +1 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -0
- package/lib/components/BreadcrumbDivider/index.js +5 -0
- package/lib/components/BreadcrumbDivider/index.js.map +1 -0
- package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js +8 -0
- package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js +57 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js +23 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js.map +1 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.js +15 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.js.map +1 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js +1 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -0
- package/lib/components/BreadcrumbItem/index.js +5 -0
- package/lib/components/BreadcrumbItem/index.js.map +1 -0
- package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js +10 -0
- package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItem.js +26 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js +15 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js.map +1 -0
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/partitionBreadcrumbItems.js +35 -0
- package/lib/utils/partitionBreadcrumbItems.js.map +1 -0
- package/lib/utils/truncateBreadcrumb.js +16 -0
- package/lib/utils/truncateBreadcrumb.js.map +1 -0
- package/lib-commonjs/Breadcrumb.js +6 -0
- package/lib-commonjs/Breadcrumb.js.map +1 -0
- package/lib-commonjs/BreadcrumbButton.js +6 -0
- package/lib-commonjs/BreadcrumbButton.js.map +1 -0
- package/lib-commonjs/BreadcrumbDivider.js +6 -0
- package/lib-commonjs/BreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/BreadcrumbItem.js +6 -0
- package/lib-commonjs/BreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.js +25 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js +4 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js +32 -0
- package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/index.js +11 -0
- package/lib-commonjs/components/Breadcrumb/index.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js +24 -0
- package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js +45 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbContextValue.js +20 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbContextValue.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbStyles.styles.js +34 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbStyles.styles.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.js +23 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js +4 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/index.js +10 -0
- package/lib-commonjs/components/BreadcrumbButton/index.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js +14 -0
- package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js +34 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js +257 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.js +23 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js +4 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/index.js +10 -0
- package/lib-commonjs/components/BreadcrumbDivider/index.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js +16 -0
- package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js +60 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js +38 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.js +23 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js +4 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/index.js +10 -0
- package/lib-commonjs/components/BreadcrumbItem/index.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js +18 -0
- package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js +29 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js +30 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js.map +1 -0
- package/lib-commonjs/index.js +95 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/utils/index.js +26 -0
- package/lib-commonjs/utils/index.js.map +1 -0
- package/lib-commonjs/utils/partitionBreadcrumbItems.js +39 -0
- package/lib-commonjs/utils/partitionBreadcrumbItems.js.map +1 -0
- package/lib-commonjs/utils/truncateBreadcrumb.js +37 -0
- package/lib-commonjs/utils/truncateBreadcrumb.js.map +1 -0
- package/package.json +77 -0
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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
|
+
export { };
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|