@fluentui/react-label 9.0.0-alpha.8 → 9.0.0-beta.10
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.json +1624 -1
- package/CHANGELOG.md +561 -2
- package/README.md +2 -1
- package/Spec.md +23 -33
- package/dist/react-label.d.ts +34 -52
- package/lib/components/Label/Label.d.ts +3 -4
- package/lib/components/Label/Label.js +8 -8
- package/lib/components/Label/Label.js.map +1 -1
- package/lib/components/Label/Label.types.d.ts +20 -35
- package/lib/components/Label/Label.types.js.map +1 -1
- package/lib/components/Label/renderLabel.d.ts +2 -3
- package/lib/components/Label/renderLabel.js +9 -8
- package/lib/components/Label/renderLabel.js.map +1 -1
- package/lib/components/Label/useLabel.d.ts +4 -12
- package/lib/components/Label/useLabel.js +30 -42
- package/lib/components/Label/useLabel.js.map +1 -1
- package/lib/components/Label/useLabelStyles.d.ts +8 -2
- package/lib/components/Label/useLabelStyles.js +53 -37
- package/lib/components/Label/useLabelStyles.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/lib-commonjs/Label.js +7 -2
- package/lib-commonjs/Label.js.map +1 -1
- package/lib-commonjs/components/Label/Label.d.ts +3 -4
- package/lib-commonjs/components/Label/Label.js +18 -10
- package/lib-commonjs/components/Label/Label.js.map +1 -1
- package/lib-commonjs/components/Label/Label.types.d.ts +20 -35
- package/lib-commonjs/components/Label/Label.types.js +4 -1
- package/lib-commonjs/components/Label/Label.types.js.map +1 -1
- package/lib-commonjs/components/Label/index.js +11 -2
- package/lib-commonjs/components/Label/index.js.map +1 -1
- package/lib-commonjs/components/Label/renderLabel.d.ts +2 -3
- package/lib-commonjs/components/Label/renderLabel.js +21 -13
- package/lib-commonjs/components/Label/renderLabel.js.map +1 -1
- package/lib-commonjs/components/Label/useLabel.d.ts +4 -12
- package/lib-commonjs/components/Label/useLabel.js +40 -45
- package/lib-commonjs/components/Label/useLabel.js.map +1 -1
- package/lib-commonjs/components/Label/useLabelStyles.d.ts +8 -2
- package/lib-commonjs/components/Label/useLabelStyles.js +63 -40
- package/lib-commonjs/components/Label/useLabelStyles.js.map +1 -1
- package/lib-commonjs/index.d.ts +2 -2
- package/lib-commonjs/index.js +45 -3
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +23 -23
- package/config/api-extractor.json +0 -3
- package/config/tests.js +0 -7
- package/etc/react-label.api.md +0 -51
- package/just.config.ts +0 -3
- package/lib/common/isConformant.d.ts +0 -4
- package/lib/common/isConformant.js +0 -9
- package/lib/common/isConformant.js.map +0 -1
- package/lib-amd/Label.d.ts +0 -1
- package/lib-amd/Label.js +0 -6
- package/lib-amd/Label.js.map +0 -1
- package/lib-amd/common/isConformant.d.ts +0 -4
- package/lib-amd/common/isConformant.js +0 -14
- package/lib-amd/common/isConformant.js.map +0 -1
- package/lib-amd/components/Label/Label.d.ts +0 -7
- package/lib-amd/components/Label/Label.js +0 -16
- package/lib-amd/components/Label/Label.js.map +0 -1
- package/lib-amd/components/Label/Label.types.d.ts +0 -53
- package/lib-amd/components/Label/Label.types.js +0 -5
- package/lib-amd/components/Label/Label.types.js.map +0 -1
- package/lib-amd/components/Label/index.d.ts +0 -5
- package/lib-amd/components/Label/index.js +0 -10
- package/lib-amd/components/Label/index.js.map +0 -1
- package/lib-amd/components/Label/renderLabel.d.ts +0 -6
- package/lib-amd/components/Label/renderLabel.js +0 -17
- package/lib-amd/components/Label/renderLabel.js.map +0 -1
- package/lib-amd/components/Label/useLabel.d.ts +0 -20
- package/lib-amd/components/Label/useLabel.js +0 -55
- package/lib-amd/components/Label/useLabel.js.map +0 -1
- package/lib-amd/components/Label/useLabelStyles.d.ts +0 -5
- package/lib-amd/components/Label/useLabelStyles.js +0 -51
- package/lib-amd/components/Label/useLabelStyles.js.map +0 -1
- package/lib-amd/index.d.ts +0 -2
- package/lib-amd/index.js +0 -6
- package/lib-amd/index.js.map +0 -1
- package/lib-commonjs/common/isConformant.d.ts +0 -4
- package/lib-commonjs/common/isConformant.js +0 -13
- package/lib-commonjs/common/isConformant.js.map +0 -1
- package/src/components/Label/Label.types.ts +0 -61
package/Spec.md
CHANGED
@@ -75,58 +75,48 @@ The Label component should be simple as shown below. It will just need the text
|
|
75
75
|
## API
|
76
76
|
|
77
77
|
```ts
|
78
|
-
|
79
|
-
* Label Props
|
80
|
-
* {@docCategory Label}
|
81
|
-
*/
|
82
|
-
export interface LabelProps extends ComponentProps, React.LabelHTMLAttributes<HTMLElement> {
|
78
|
+
export type LabelCommons = {
|
83
79
|
/**
|
84
80
|
* Renders the label as disabled
|
85
81
|
* @defaultvalue false
|
86
82
|
*/
|
87
|
-
disabled
|
88
|
-
|
89
|
-
/**
|
90
|
-
* Whether the associated form field is required or not. If true it will be an asterisk, otherwise it will be what is provided.
|
91
|
-
* @defaultvalue false
|
92
|
-
*/
|
93
|
-
required?: boolean | ShorthandProps<ComponentProps>;
|
83
|
+
disabled: boolean;
|
94
84
|
|
95
85
|
/**
|
96
|
-
* A label supports different
|
86
|
+
* A label supports different sizes.
|
97
87
|
* @defaultvalue 'medium'
|
98
88
|
*/
|
99
|
-
size
|
89
|
+
size: 'small' | 'medium' | 'large';
|
100
90
|
|
101
91
|
/**
|
102
|
-
* A label supports semibold/strong fontweight.
|
92
|
+
* A label supports semibold/strong fontweight.
|
103
93
|
* @defaultvalue false
|
104
94
|
*/
|
105
|
-
strong
|
106
|
-
}
|
95
|
+
strong: boolean;
|
96
|
+
};
|
107
97
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
export type LabelShorthandProps = 'required';
|
98
|
+
export type LabelSlots = {
|
99
|
+
root: IntrinsicSlotProps<'label'>;
|
100
|
+
required?: IntrinsicSlotProps<'span'>;
|
101
|
+
};
|
113
102
|
|
114
103
|
/**
|
115
|
-
*
|
116
|
-
* {@docCategory Label}
|
104
|
+
* State used in rendering Label
|
117
105
|
*/
|
118
|
-
export type
|
106
|
+
export type LabelState = ComponentState<LabelSlots> & LabelCommons;
|
119
107
|
|
120
108
|
/**
|
121
|
-
*
|
122
|
-
* {@docCategory Label}
|
109
|
+
* Label Props
|
123
110
|
*/
|
124
|
-
export
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
111
|
+
export type LabelProps = Omit<ComponentProps<LabelSlots>, 'required'> &
|
112
|
+
Partial<LabelCommons> & {
|
113
|
+
/**
|
114
|
+
* Displays and indicator that the label is for a required field. The required prop can be set to true to display
|
115
|
+
* an asterisk (*). Or it can be set to a string or jsx content to display a different indicator.
|
116
|
+
* @defaultvalue false
|
117
|
+
*/
|
118
|
+
required?: boolean | IntrinsicSlotProps<'span'> | React.ReactNode;
|
119
|
+
};
|
130
120
|
```
|
131
121
|
|
132
122
|
## Structure
|
package/dist/react-label.d.ts
CHANGED
@@ -1,99 +1,81 @@
|
|
1
|
-
import { ComponentProps } from '@fluentui/react-utilities';
|
2
|
-
import { ComponentState } from '@fluentui/react-utilities';
|
3
|
-
import {
|
1
|
+
import type { ComponentProps } from '@fluentui/react-utilities';
|
2
|
+
import type { ComponentState } from '@fluentui/react-utilities';
|
3
|
+
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
4
4
|
import * as React_2 from 'react';
|
5
|
-
import {
|
5
|
+
import type { Slot } from '@fluentui/react-utilities';
|
6
|
+
import type { SlotClassNames } from '@fluentui/react-utilities';
|
6
7
|
|
7
8
|
/**
|
8
9
|
* A label component provides a title or name to a component.
|
9
|
-
* {@docCategory Label}
|
10
10
|
*/
|
11
|
-
export declare const Label:
|
11
|
+
export declare const Label: ForwardRefComponent<LabelProps>;
|
12
12
|
|
13
13
|
/**
|
14
|
-
*
|
15
|
-
* {@docCategory Label}
|
14
|
+
* @deprecated Use `labelClassNames.root` instead.
|
16
15
|
*/
|
17
|
-
export declare
|
16
|
+
export declare const labelClassName = "fui-Label";
|
18
17
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
*/
|
23
|
-
export declare interface LabelProps extends ComponentProps, React_2.LabelHTMLAttributes<HTMLLabelElement> {
|
18
|
+
export declare const labelClassNames: SlotClassNames<LabelSlots>;
|
19
|
+
|
20
|
+
declare type LabelCommons = {
|
24
21
|
/**
|
25
22
|
* Renders the label as disabled
|
26
23
|
* @defaultvalue false
|
27
24
|
*/
|
28
|
-
disabled
|
29
|
-
/**
|
30
|
-
* Displays and indicator that the label is for a required field. The required prop can be set to true to display
|
31
|
-
* an asterisk (*). Or it can be set to a string or jsx content to display a different indicator.
|
32
|
-
* @defaultvalue false
|
33
|
-
*/
|
34
|
-
required?: boolean | ShorthandProps<ComponentProps>;
|
25
|
+
disabled: boolean;
|
35
26
|
/**
|
36
27
|
* A label supports different sizes.
|
37
28
|
* @defaultvalue 'medium'
|
38
29
|
*/
|
39
|
-
size
|
30
|
+
size: 'small' | 'medium' | 'large';
|
40
31
|
/**
|
41
32
|
* A label supports semibold/strong fontweight.
|
42
33
|
* @defaultvalue false
|
43
34
|
*/
|
44
|
-
strong
|
45
|
-
}
|
35
|
+
strong: boolean;
|
36
|
+
};
|
46
37
|
|
47
38
|
/**
|
48
|
-
*
|
49
|
-
* {@docCategory Label}
|
39
|
+
* Label Props
|
50
40
|
*/
|
51
|
-
export declare type
|
41
|
+
export declare type LabelProps = Omit<ComponentProps<LabelSlots>, 'required'> & Partial<LabelCommons> & {
|
42
|
+
/**
|
43
|
+
* Displays and indicator that the label is for a required field. The required prop can be set to true to display
|
44
|
+
* an asterisk (*). Or it can be set to a string or jsx content to display a different indicator.
|
45
|
+
* @defaultvalue false
|
46
|
+
*/
|
47
|
+
required?: boolean | Slot<'span'>;
|
48
|
+
};
|
52
49
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
export declare const labelShorthandProps: LabelShorthandProps[];
|
50
|
+
export declare type LabelSlots = {
|
51
|
+
root: Slot<'label'>;
|
52
|
+
required?: Slot<'span'>;
|
53
|
+
};
|
58
54
|
|
59
55
|
/**
|
60
56
|
* State used in rendering Label
|
61
|
-
* {@docCategory Label}
|
62
57
|
*/
|
63
|
-
export declare
|
64
|
-
/**
|
65
|
-
* Ref to the root element
|
66
|
-
*/
|
67
|
-
ref: React_2.Ref<HTMLElement>;
|
68
|
-
/**
|
69
|
-
* The required prop resolved to a slot object
|
70
|
-
*/
|
71
|
-
required?: ObjectShorthandProps<ComponentProps>;
|
72
|
-
}
|
58
|
+
export declare type LabelState = ComponentState<LabelSlots> & LabelCommons;
|
73
59
|
|
74
60
|
/**
|
75
61
|
* Render the final JSX of Label
|
76
|
-
* {@docCategory Label}
|
77
62
|
*/
|
78
|
-
export declare const
|
63
|
+
export declare const renderLabel_unstable: (state: LabelState) => JSX.Element;
|
79
64
|
|
80
65
|
/**
|
81
66
|
* Create the state required to render Label.
|
82
67
|
*
|
83
|
-
* The returned state can be modified with hooks such as
|
84
|
-
* before being passed to
|
68
|
+
* The returned state can be modified with hooks such as useLabelStyles_unstable,
|
69
|
+
* before being passed to renderLabel_unstable.
|
85
70
|
*
|
86
71
|
* @param props - props from this instance of Label
|
87
72
|
* @param ref - reference to root HTMLElement of Label
|
88
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
89
|
-
*
|
90
|
-
* {@docCategory Label}
|
91
73
|
*/
|
92
|
-
export declare const
|
74
|
+
export declare const useLabel_unstable: (props: LabelProps, ref: React_2.Ref<HTMLElement>) => LabelState;
|
93
75
|
|
94
76
|
/**
|
95
77
|
* Apply styling to the Label slots based on the state
|
96
78
|
*/
|
97
|
-
export declare const
|
79
|
+
export declare const useLabelStyles_unstable: (state: LabelState) => LabelState;
|
98
80
|
|
99
81
|
export { }
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import
|
2
|
-
import {
|
1
|
+
import type { LabelProps } from './Label.types';
|
2
|
+
import type { ForwardRefComponent } from '@fluentui/react-utilities';
|
3
3
|
/**
|
4
4
|
* A label component provides a title or name to a component.
|
5
|
-
* {@docCategory Label}
|
6
5
|
*/
|
7
|
-
export declare const Label:
|
6
|
+
export declare const Label: ForwardRefComponent<LabelProps>;
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
2
|
+
import { useLabel_unstable } from './useLabel';
|
3
|
+
import { renderLabel_unstable } from './renderLabel';
|
4
|
+
import { useLabelStyles_unstable } from './useLabelStyles';
|
5
5
|
/**
|
6
6
|
* A label component provides a title or name to a component.
|
7
|
-
* {@docCategory Label}
|
8
7
|
*/
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
|
9
|
+
export const Label = /*#__PURE__*/React.forwardRef((props, ref) => {
|
10
|
+
const state = useLabel_unstable(props, ref);
|
11
|
+
useLabelStyles_unstable(state);
|
12
|
+
return renderLabel_unstable(state);
|
13
13
|
});
|
14
14
|
Label.displayName = 'Label';
|
15
15
|
//# sourceMappingURL=Label.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["components/Label/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,iBAAT,QAAkC,YAAlC;AACA,SAAS,oBAAT,QAAqC,eAArC;AACA,SAAS,uBAAT,QAAwC,kBAAxC;AAIA;;AAEG;;AACH,OAAO,MAAM,KAAK,gBAAoC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACpF,QAAM,KAAK,GAAG,iBAAiB,CAAC,KAAD,EAAQ,GAAR,CAA/B;AAEA,EAAA,uBAAuB,CAAC,KAAD,CAAvB;AACA,SAAO,oBAAoB,CAAC,KAAD,CAA3B;AACD,CALqD,CAA/C;AAOP,KAAK,CAAC,WAAN,GAAoB,OAApB","sourcesContent":["import * as React from 'react';\nimport { useLabel_unstable } from './useLabel';\nimport { renderLabel_unstable } from './renderLabel';\nimport { useLabelStyles_unstable } from './useLabelStyles';\nimport type { LabelProps } from './Label.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * A label component provides a title or name to a component.\n */\nexport const Label: ForwardRefComponent<LabelProps> = React.forwardRef((props, ref) => {\n const state = useLabel_unstable(props, ref);\n\n useLabelStyles_unstable(state);\n return renderLabel_unstable(state);\n});\n\nLabel.displayName = 'Label';\n"],"sourceRoot":"../src/"}
|
@@ -1,53 +1,38 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Label Props
|
5
|
-
* {@docCategory Label}
|
6
|
-
*/
|
7
|
-
export interface LabelProps extends ComponentProps, React.LabelHTMLAttributes<HTMLLabelElement> {
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
2
|
+
declare type LabelCommons = {
|
8
3
|
/**
|
9
4
|
* Renders the label as disabled
|
10
5
|
* @defaultvalue false
|
11
6
|
*/
|
12
|
-
disabled
|
13
|
-
/**
|
14
|
-
* Displays and indicator that the label is for a required field. The required prop can be set to true to display
|
15
|
-
* an asterisk (*). Or it can be set to a string or jsx content to display a different indicator.
|
16
|
-
* @defaultvalue false
|
17
|
-
*/
|
18
|
-
required?: boolean | ShorthandProps<ComponentProps>;
|
7
|
+
disabled: boolean;
|
19
8
|
/**
|
20
9
|
* A label supports different sizes.
|
21
10
|
* @defaultvalue 'medium'
|
22
11
|
*/
|
23
|
-
size
|
12
|
+
size: 'small' | 'medium' | 'large';
|
24
13
|
/**
|
25
14
|
* A label supports semibold/strong fontweight.
|
26
15
|
* @defaultvalue false
|
27
16
|
*/
|
28
|
-
strong
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
export declare type LabelShorthandProps = 'required';
|
17
|
+
strong: boolean;
|
18
|
+
};
|
19
|
+
export declare type LabelSlots = {
|
20
|
+
root: Slot<'label'>;
|
21
|
+
required?: Slot<'span'>;
|
22
|
+
};
|
35
23
|
/**
|
36
|
-
*
|
37
|
-
* {@docCategory Label}
|
24
|
+
* State used in rendering Label
|
38
25
|
*/
|
39
|
-
export declare type
|
26
|
+
export declare type LabelState = ComponentState<LabelSlots> & LabelCommons;
|
40
27
|
/**
|
41
|
-
*
|
42
|
-
* {@docCategory Label}
|
28
|
+
* Label Props
|
43
29
|
*/
|
44
|
-
export
|
30
|
+
export declare type LabelProps = Omit<ComponentProps<LabelSlots>, 'required'> & Partial<LabelCommons> & {
|
45
31
|
/**
|
46
|
-
*
|
47
|
-
|
48
|
-
|
49
|
-
/**
|
50
|
-
* The required prop resolved to a slot object
|
32
|
+
* Displays and indicator that the label is for a required field. The required prop can be set to true to display
|
33
|
+
* an asterisk (*). Or it can be set to a string or jsx content to display a different indicator.
|
34
|
+
* @defaultvalue false
|
51
35
|
*/
|
52
|
-
required?:
|
53
|
-
}
|
36
|
+
required?: boolean | Slot<'span'>;
|
37
|
+
};
|
38
|
+
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Label.types.js","sourceRoot":"../src/","sources":["components/Label/Label.types.ts"],"names":[],"mappings":"","sourcesContent":["import
|
1
|
+
{"version":3,"file":"Label.types.js","sourceRoot":"../src/","sources":["components/Label/Label.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\ntype LabelCommons = {\n /**\n * Renders the label as disabled\n * @defaultvalue false\n */\n disabled: boolean;\n\n /**\n * A label supports different sizes.\n * @defaultvalue 'medium'\n */\n size: 'small' | 'medium' | 'large';\n\n /**\n * A label supports semibold/strong fontweight.\n * @defaultvalue false\n */\n strong: boolean;\n};\n\nexport type LabelSlots = {\n root: Slot<'label'>;\n required?: Slot<'span'>;\n};\n\n/**\n * State used in rendering Label\n */\nexport type LabelState = ComponentState<LabelSlots> & LabelCommons;\n\n/**\n * Label Props\n */\nexport type LabelProps = Omit<ComponentProps<LabelSlots>, 'required'> &\n Partial<LabelCommons> & {\n /**\n * Displays and indicator that the label is for a required field. The required prop can be set to true to display\n * an asterisk (*). Or it can be set to a string or jsx content to display a different indicator.\n * @defaultvalue false\n */\n required?: boolean | Slot<'span'>;\n };\n"]}
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import { LabelState } from './Label.types';
|
1
|
+
import type { LabelState } from './Label.types';
|
2
2
|
/**
|
3
3
|
* Render the final JSX of Label
|
4
|
-
* {@docCategory Label}
|
5
4
|
*/
|
6
|
-
export declare const
|
5
|
+
export declare const renderLabel_unstable: (state: LabelState) => JSX.Element;
|
@@ -1,15 +1,16 @@
|
|
1
|
-
import { __assign } from "tslib";
|
2
1
|
import * as React from 'react';
|
3
2
|
import { getSlots } from '@fluentui/react-utilities';
|
4
|
-
import { labelShorthandProps } from './useLabel';
|
5
3
|
/**
|
6
4
|
* Render the final JSX of Label
|
7
|
-
* {@docCategory Label}
|
8
5
|
*/
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
|
7
|
+
export const renderLabel_unstable = state => {
|
8
|
+
const {
|
9
|
+
slots,
|
10
|
+
slotProps
|
11
|
+
} = getSlots(state);
|
12
|
+
return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
|
13
|
+
}, state.root.children, slots.required && /*#__PURE__*/React.createElement(slots.required, { ...slotProps.required
|
14
|
+
}));
|
14
15
|
};
|
15
16
|
//# sourceMappingURL=renderLabel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["components/Label/renderLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,oBAAoB,GAAI,KAAD,IAAsB;AACxD,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAa,KAAb,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,KAAK,CAAC,IAAN,CAAW,QADd,EAEG,KAAK,CAAC,QAAN,iBAAkB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAP,EAAe,EAAA,GAAK,SAAS,CAAC;AAAf,GAAf,CAFrB,CADF;AAMD,CATM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { LabelState, LabelSlots } from './Label.types';\n\n/**\n * Render the final JSX of Label\n */\nexport const renderLabel_unstable = (state: LabelState) => {\n const { slots, slotProps } = getSlots<LabelSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {state.root.children}\n {slots.required && <slots.required {...slotProps.required} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
|
@@ -1,20 +1,12 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
import { LabelProps,
|
3
|
-
/**
|
4
|
-
* Array of all shorthand properties listed in LabelShorthandProps
|
5
|
-
* {@docCatergory Label}
|
6
|
-
*/
|
7
|
-
export declare const labelShorthandProps: LabelShorthandProps[];
|
2
|
+
import type { LabelProps, LabelState } from './Label.types';
|
8
3
|
/**
|
9
4
|
* Create the state required to render Label.
|
10
5
|
*
|
11
|
-
* The returned state can be modified with hooks such as
|
12
|
-
* before being passed to
|
6
|
+
* The returned state can be modified with hooks such as useLabelStyles_unstable,
|
7
|
+
* before being passed to renderLabel_unstable.
|
13
8
|
*
|
14
9
|
* @param props - props from this instance of Label
|
15
10
|
* @param ref - reference to root HTMLElement of Label
|
16
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
17
|
-
*
|
18
|
-
* {@docCategory Label}
|
19
11
|
*/
|
20
|
-
export declare const
|
12
|
+
export declare const useLabel_unstable: (props: LabelProps, ref: React.Ref<HTMLElement>) => LabelState;
|
@@ -1,51 +1,39 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
/**
|
4
|
-
* Array of all shorthand properties listed in LabelShorthandProps
|
5
|
-
* {@docCatergory Label}
|
6
|
-
*/
|
7
|
-
export var labelShorthandProps = ['required'];
|
8
|
-
var mergeProps = makeMergeProps({ deepMerge: labelShorthandProps });
|
1
|
+
import { getNativeElementProps } from '@fluentui/react-utilities';
|
2
|
+
import { resolveShorthand } from '@fluentui/react-utilities';
|
9
3
|
/**
|
10
4
|
* Create the state required to render Label.
|
11
5
|
*
|
12
|
-
* The returned state can be modified with hooks such as
|
13
|
-
* before being passed to
|
6
|
+
* The returned state can be modified with hooks such as useLabelStyles_unstable,
|
7
|
+
* before being passed to renderLabel_unstable.
|
14
8
|
*
|
15
9
|
* @param props - props from this instance of Label
|
16
10
|
* @param ref - reference to root HTMLElement of Label
|
17
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
18
|
-
*
|
19
|
-
* {@docCategory Label}
|
20
|
-
*/
|
21
|
-
export var useLabel = function (props, ref, defaultProps) {
|
22
|
-
var state = mergeProps({
|
23
|
-
ref: ref,
|
24
|
-
as: 'label',
|
25
|
-
size: 'medium',
|
26
|
-
required: {
|
27
|
-
as: 'span',
|
28
|
-
},
|
29
|
-
}, defaultProps && resolveLabelShorthandProps(defaultProps), resolveLabelShorthandProps(props));
|
30
|
-
return state;
|
31
|
-
};
|
32
|
-
/**
|
33
|
-
* Label will first need to check if required is a boolean or shorthandprops,
|
34
|
-
* this allows for the required prop to handle both the default asterisk for required
|
35
|
-
* or a custom required text.
|
36
11
|
*/
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
12
|
+
|
13
|
+
export const useLabel_unstable = (props, ref) => {
|
14
|
+
const {
|
15
|
+
disabled = false,
|
16
|
+
required = false,
|
17
|
+
strong = false,
|
18
|
+
size = 'medium'
|
19
|
+
} = props;
|
20
|
+
return {
|
21
|
+
disabled,
|
22
|
+
required: resolveShorthand(required === true ? '*' : required || undefined, {
|
23
|
+
defaultProps: {
|
24
|
+
'aria-hidden': 'true'
|
25
|
+
}
|
26
|
+
}),
|
27
|
+
strong,
|
28
|
+
size,
|
29
|
+
components: {
|
30
|
+
root: 'label',
|
31
|
+
required: 'span'
|
32
|
+
},
|
33
|
+
root: getNativeElementProps('label', {
|
34
|
+
ref,
|
35
|
+
...props
|
36
|
+
})
|
37
|
+
};
|
50
38
|
};
|
51
39
|
//# sourceMappingURL=useLabel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["components/Label/useLabel.tsx"],"names":[],"mappings":"AACA,SAAS,qBAAT,QAAsC,2BAAtC;AAEA,SAAS,gBAAT,QAAiC,2BAAjC;AAEA;;;;;;;;AAQG;;AACH,OAAO,MAAM,iBAAiB,GAAG,CAAC,KAAD,EAAoB,GAApB,KAA+D;AAC9F,QAAM;AAAE,IAAA,QAAQ,GAAG,KAAb;AAAoB,IAAA,QAAQ,GAAG,KAA/B;AAAsC,IAAA,MAAM,GAAG,KAA/C;AAAsD,IAAA,IAAI,GAAG;AAA7D,MAA0E,KAAhF;AACA,SAAO;AACL,IAAA,QADK;AAEL,IAAA,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,KAAK,IAAb,GAAoB,GAApB,GAA0B,QAAQ,IAAI,SAAvC,EAAkD;AAC1E,MAAA,YAAY,EAAE;AAAE,uBAAe;AAAjB;AAD4D,KAAlD,CAFrB;AAKL,IAAA,MALK;AAML,IAAA,IANK;AAOL,IAAA,UAAU,EAAE;AAAE,MAAA,IAAI,EAAE,OAAR;AAAiB,MAAA,QAAQ,EAAE;AAA3B,KAPP;AAQL,IAAA,IAAI,EAAE,qBAAqB,CAAC,OAAD,EAAU;AAAE,MAAA,GAAF;AAAO,SAAG;AAAV,KAAV;AARtB,GAAP;AAUD,CAZM","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\nimport type { LabelProps, LabelState } from './Label.types';\nimport { resolveShorthand } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render Label.\n *\n * The returned state can be modified with hooks such as useLabelStyles_unstable,\n * before being passed to renderLabel_unstable.\n *\n * @param props - props from this instance of Label\n * @param ref - reference to root HTMLElement of Label\n */\nexport const useLabel_unstable = (props: LabelProps, ref: React.Ref<HTMLElement>): LabelState => {\n const { disabled = false, required = false, strong = false, size = 'medium' } = props;\n return {\n disabled,\n required: resolveShorthand(required === true ? '*' : required || undefined, {\n defaultProps: { 'aria-hidden': 'true' },\n }),\n strong,\n size,\n components: { root: 'label', required: 'span' },\n root: getNativeElementProps('label', { ref, ...props }),\n };\n};\n"],"sourceRoot":"../src/"}
|
@@ -1,5 +1,11 @@
|
|
1
|
-
import { LabelState } from './Label.types';
|
1
|
+
import type { LabelSlots, LabelState } from './Label.types';
|
2
|
+
import type { SlotClassNames } from '@fluentui/react-utilities';
|
3
|
+
/**
|
4
|
+
* @deprecated Use `labelClassNames.root` instead.
|
5
|
+
*/
|
6
|
+
export declare const labelClassName = "fui-Label";
|
7
|
+
export declare const labelClassNames: SlotClassNames<LabelSlots>;
|
2
8
|
/**
|
3
9
|
* Apply styling to the Label slots based on the state
|
4
10
|
*/
|
5
|
-
export declare const
|
11
|
+
export declare const useLabelStyles_unstable: (state: LabelState) => LabelState;
|