@fluentui/react-select 0.0.0-nightly-20220525-0423.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +194 -0
- package/CHANGELOG.md +96 -0
- package/LICENSE +15 -0
- package/README.md +9 -0
- package/Spec.md +243 -0
- package/dist/index.d.ts +68 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/Select.js +2 -0
- package/lib/Select.js.map +1 -0
- package/lib/components/Select/Select.js +15 -0
- package/lib/components/Select/Select.js.map +1 -0
- package/lib/components/Select/Select.types.js +2 -0
- package/lib/components/Select/Select.types.js.map +1 -0
- package/lib/components/Select/index.js +6 -0
- package/lib/components/Select/index.js.map +1 -0
- package/lib/components/Select/renderSelect.js +17 -0
- package/lib/components/Select/renderSelect.js.map +1 -0
- package/lib/components/Select/useSelect.js +56 -0
- package/lib/components/Select/useSelect.js.map +1 -0
- package/lib/components/Select/useSelectStyles.js +219 -0
- package/lib/components/Select/useSelectStyles.js.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib-commonjs/Select.js +10 -0
- package/lib-commonjs/Select.js.map +1 -0
- package/lib-commonjs/components/Select/Select.js +26 -0
- package/lib-commonjs/components/Select/Select.js.map +1 -0
- package/lib-commonjs/components/Select/Select.types.js +6 -0
- package/lib-commonjs/components/Select/Select.types.js.map +1 -0
- package/lib-commonjs/components/Select/index.js +18 -0
- package/lib-commonjs/components/Select/index.js.map +1 -0
- package/lib-commonjs/components/Select/renderSelect.js +28 -0
- package/lib-commonjs/components/Select/renderSelect.js.map +1 -0
- package/lib-commonjs/components/Select/useSelect.js +68 -0
- package/lib-commonjs/components/Select/useSelect.js.map +1 -0
- package/lib-commonjs/components/Select/useSelectStyles.js +230 -0
- package/lib-commonjs/components/Select/useSelectStyles.js.map +1 -0
- package/lib-commonjs/index.js +40 -0
- package/lib-commonjs/index.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSelectStyles_unstable = exports.selectClassNames = void 0;
|
|
7
|
+
|
|
8
|
+
const react_1 = /*#__PURE__*/require("@griffel/react");
|
|
9
|
+
|
|
10
|
+
const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
|
|
11
|
+
|
|
12
|
+
exports.selectClassNames = {
|
|
13
|
+
root: 'fui-Select',
|
|
14
|
+
select: 'fui-Select__select',
|
|
15
|
+
icon: 'fui-Select__icon'
|
|
16
|
+
};
|
|
17
|
+
const iconSizes = {
|
|
18
|
+
small: '16px',
|
|
19
|
+
medium: '20px',
|
|
20
|
+
large: '24px'
|
|
21
|
+
}; // TODO: This 400 style is not in the typography styles.
|
|
22
|
+
// May need a design change
|
|
23
|
+
|
|
24
|
+
const contentSizes = {
|
|
25
|
+
400: {
|
|
26
|
+
fontSize: react_theme_1.tokens.fontSizeBase400,
|
|
27
|
+
lineHeight: react_theme_1.tokens.lineHeightBase400
|
|
28
|
+
}
|
|
29
|
+
}; //TODO: Should fieldHeights be a set of global design tokens or constants?
|
|
30
|
+
|
|
31
|
+
const fieldHeights = {
|
|
32
|
+
small: '24px',
|
|
33
|
+
medium: '32px',
|
|
34
|
+
large: '40px'
|
|
35
|
+
};
|
|
36
|
+
/* end of shared values */
|
|
37
|
+
|
|
38
|
+
const useRootStyles = /*#__PURE__*/react_1.__styles({
|
|
39
|
+
"base": {
|
|
40
|
+
"Bt984gj": "f122n59",
|
|
41
|
+
"B7ck84d": "f1ewtqcl",
|
|
42
|
+
"mc9l5x": "f22iagw",
|
|
43
|
+
"Eh141a": "flvyvdh",
|
|
44
|
+
"Bahqtrf": "fk6fouc",
|
|
45
|
+
"qhf8xq": "f10pi13n",
|
|
46
|
+
"Bb096xy": "fw24s6l",
|
|
47
|
+
"frdscb": ["fvxed1z", "f1j2a01o"],
|
|
48
|
+
"B9nohqn": ["f1j2a01o", "fvxed1z"],
|
|
49
|
+
"B1dhsta": ["f1pvm60u", "f179ivkp"],
|
|
50
|
+
"Bjdmjzx": ["f179ivkp", "f1pvm60u"],
|
|
51
|
+
"oqd9ik": "ffdc0f3",
|
|
52
|
+
"Bs6t6z0": "fqc6z8f",
|
|
53
|
+
"mpb1vu": "feciixf",
|
|
54
|
+
"Hdbjpj": "f11ef69",
|
|
55
|
+
"Bj55yzk": "fw2wsqs",
|
|
56
|
+
"jc51t6": ["f1cvlmu2", "f15lyva8"],
|
|
57
|
+
"cnmfks": ["f15lyva8", "f1cvlmu2"],
|
|
58
|
+
"xn0juu": "f1lmmjng",
|
|
59
|
+
"wbfbqe": "fopw4to",
|
|
60
|
+
"mafdb0": "f1jogkkn",
|
|
61
|
+
"s1xtto": "f1hql58f",
|
|
62
|
+
"umuwi5": "fjw5xc1",
|
|
63
|
+
"Blcqepd": "f1xdyd5c",
|
|
64
|
+
"nplu4u": "fatpbeo",
|
|
65
|
+
"Bioka5o": "fb7uyps"
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
"d": [".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f1ewtqcl{box-sizing:border-box;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".flvyvdh{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".f10pi13n{position:relative;}", ".fw24s6l:after{background-image:linear-gradient(\n 0deg,\n var(--colorCompoundBrandStroke) 0%,\n var(--colorCompoundBrandStroke) 50%,\n transparent 50%,\n transparent 100%\n );}", ".fvxed1z:after{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f1j2a01o:after{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1pvm60u:after{border-top-right-radius:0;}", ".f179ivkp:after{border-top-left-radius:0;}", ".ffdc0f3:after{box-sizing:border-box;}", ".fqc6z8f:after{content:\"\";}", ".feciixf:after{height:var(--borderRadiusMedium);}", ".f11ef69:after{position:absolute;}", ".fw2wsqs:after{bottom:0;}", ".f1cvlmu2:after{left:0;}", ".f15lyva8:after{right:0;}", ".f1lmmjng:after{-webkit-transform:scaleX(0);-moz-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);}", ".fopw4to:after{transition-property:transform;}", ".f1jogkkn:after{transition-duration:var(--durationUltraFast);}", ".f1hql58f:after{transition-delay:var(--curveAccelerateMid);}"],
|
|
69
|
+
"w": [".fjw5xc1:focus-within::after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}", ".f1xdyd5c:focus-within::after{transition-property:transform;}", ".fatpbeo:focus-within::after{transition-duration:var(--durationNormal);}", ".fb7uyps:focus-within::after{transition-delay:var(--curveDecelerateMid);}"]
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
const useSelectStyles = /*#__PURE__*/react_1.__styles({
|
|
73
|
+
"base": {
|
|
74
|
+
"Bowrso0": "fqrijq1",
|
|
75
|
+
"B4j52fo": "f5ogflp",
|
|
76
|
+
"Bekrc4i": ["f1hqa2wf", "finvdd3"],
|
|
77
|
+
"Bn0qgzm": "f1f09k3d",
|
|
78
|
+
"ibv6hh": ["finvdd3", "f1hqa2wf"],
|
|
79
|
+
"icvyot": "fzkkow9",
|
|
80
|
+
"vrafjx": ["fcdblym", "fjik90z"],
|
|
81
|
+
"oivjwe": "fg706s2",
|
|
82
|
+
"wvpqe5": ["fjik90z", "fcdblym"],
|
|
83
|
+
"g2u3we": "f1p3nwhy",
|
|
84
|
+
"h3c5rm": ["f11589ue", "f1pdflbu"],
|
|
85
|
+
"B9xav0g": "f1q5o8ev",
|
|
86
|
+
"zhjwy3": ["f1pdflbu", "f11589ue"],
|
|
87
|
+
"Bbmb7ep": ["f1aa9q02", "f16jpd5f"],
|
|
88
|
+
"Beyfa6y": ["f16jpd5f", "f1aa9q02"],
|
|
89
|
+
"B7oj6ja": ["f1jar5jt", "fyu767a"],
|
|
90
|
+
"Btl43ni": ["fyu767a", "f1jar5jt"],
|
|
91
|
+
"E5pizo": "f1couhl3",
|
|
92
|
+
"B7ck84d": "f1ewtqcl",
|
|
93
|
+
"sj55zd": "f19n0e5",
|
|
94
|
+
"Bh6795r": "fqerorx",
|
|
95
|
+
"Beohmeb": "f11uhznr",
|
|
96
|
+
"B486eqv": "f1u8i3ug",
|
|
97
|
+
"vu0emg": "fe1nke"
|
|
98
|
+
},
|
|
99
|
+
"disabled": {
|
|
100
|
+
"De3pzq": "f1c21dwh",
|
|
101
|
+
"sj55zd": "f1s2aq7o",
|
|
102
|
+
"Bceei9c": "fdrzuqr"
|
|
103
|
+
},
|
|
104
|
+
"small": {
|
|
105
|
+
"Bqenvij": "frvgh55",
|
|
106
|
+
"z8tnut": "f1g0x7ka",
|
|
107
|
+
"z189sj": ["fdw0yi8", "fk8j09s"],
|
|
108
|
+
"Byoj8tv": "f1qch9an",
|
|
109
|
+
"uwmqm3": ["fk8j09s", "fdw0yi8"],
|
|
110
|
+
"Bahqtrf": "fk6fouc",
|
|
111
|
+
"Be2twd7": "fy9rknc",
|
|
112
|
+
"Bhrd7zp": "figsok6",
|
|
113
|
+
"Bg96gwp": "fwrc4pm"
|
|
114
|
+
},
|
|
115
|
+
"medium": {
|
|
116
|
+
"Bqenvij": "f1d2rq10",
|
|
117
|
+
"z8tnut": "f1g0x7ka",
|
|
118
|
+
"z189sj": ["f11gcy0p", "f1ng84yb"],
|
|
119
|
+
"Byoj8tv": "f1qch9an",
|
|
120
|
+
"uwmqm3": ["f1ng84yb", "f11gcy0p"],
|
|
121
|
+
"Bahqtrf": "fk6fouc",
|
|
122
|
+
"Be2twd7": "fkhj508",
|
|
123
|
+
"Bhrd7zp": "figsok6",
|
|
124
|
+
"Bg96gwp": "f1i3iumi"
|
|
125
|
+
},
|
|
126
|
+
"large": {
|
|
127
|
+
"Bqenvij": "fbhnoac",
|
|
128
|
+
"z8tnut": "f1g0x7ka",
|
|
129
|
+
"z189sj": ["fw5db7e", "f1uw59to"],
|
|
130
|
+
"Byoj8tv": "f1qch9an",
|
|
131
|
+
"uwmqm3": ["f1uw59to", "fw5db7e"],
|
|
132
|
+
"Be2twd7": "fod5ikn",
|
|
133
|
+
"Bg96gwp": "faaz57k"
|
|
134
|
+
},
|
|
135
|
+
"outline": {
|
|
136
|
+
"De3pzq": "fxugw4r",
|
|
137
|
+
"B4j52fo": "f5ogflp",
|
|
138
|
+
"Bekrc4i": ["f1hqa2wf", "finvdd3"],
|
|
139
|
+
"Bn0qgzm": "f1f09k3d",
|
|
140
|
+
"ibv6hh": ["finvdd3", "f1hqa2wf"],
|
|
141
|
+
"icvyot": "fzkkow9",
|
|
142
|
+
"vrafjx": ["fcdblym", "fjik90z"],
|
|
143
|
+
"oivjwe": "fg706s2",
|
|
144
|
+
"wvpqe5": ["fjik90z", "fcdblym"],
|
|
145
|
+
"g2u3we": "fj3muxo",
|
|
146
|
+
"h3c5rm": ["f1akhkt", "f1lxtadh"],
|
|
147
|
+
"B9xav0g": "f1c1zstj",
|
|
148
|
+
"zhjwy3": ["f1lxtadh", "f1akhkt"]
|
|
149
|
+
},
|
|
150
|
+
"underline": {
|
|
151
|
+
"De3pzq": "f1c21dwh",
|
|
152
|
+
"Bn0qgzm": "f1f09k3d",
|
|
153
|
+
"oivjwe": "fg706s2",
|
|
154
|
+
"B9xav0g": "f1c1zstj",
|
|
155
|
+
"Bbmb7ep": ["f1krrbdw", "f1deotkl"],
|
|
156
|
+
"Beyfa6y": ["f1deotkl", "f1krrbdw"],
|
|
157
|
+
"B7oj6ja": ["f10ostut", "f1ozlkrg"],
|
|
158
|
+
"Btl43ni": ["f1ozlkrg", "f10ostut"]
|
|
159
|
+
},
|
|
160
|
+
"filled-lighter": {
|
|
161
|
+
"De3pzq": "fxugw4r"
|
|
162
|
+
},
|
|
163
|
+
"filled-darker": {
|
|
164
|
+
"De3pzq": "f16xq7d1"
|
|
165
|
+
}
|
|
166
|
+
}, {
|
|
167
|
+
"d": [".fqrijq1{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".f1p3nwhy{border-top-color:transparent;}", ".f11589ue{border-right-color:transparent;}", ".f1pdflbu{border-left-color:transparent;}", ".f1q5o8ev{border-bottom-color:transparent;}", ".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".f1couhl3{box-shadow:none;}", ".f1ewtqcl{box-sizing:border-box;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}", ".fdrzuqr{cursor:not-allowed;}", ".frvgh55{height:24px;}", ".f1g0x7ka{padding-top:0;}", ".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}", ".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}", ".f1qch9an{padding-bottom:0;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f1d2rq10{height:32px;}", ".f11gcy0p{padding-right:var(--spacingHorizontalMNudge);}", ".f1ng84yb{padding-left:var(--spacingHorizontalMNudge);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".fbhnoac{height:40px;}", ".fw5db7e{padding-right:var(--spacingHorizontalM);}", ".f1uw59to{padding-left:var(--spacingHorizontalM);}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fj3muxo{border-top-color:var(--colorNeutralStroke1);}", ".f1akhkt{border-right-color:var(--colorNeutralStroke1);}", ".f1lxtadh{border-left-color:var(--colorNeutralStroke1);}", ".f1c1zstj{border-bottom-color:var(--colorNeutralStrokeAccessible);}", ".f1krrbdw{border-bottom-right-radius:0;}", ".f1deotkl{border-bottom-left-radius:0;}", ".f10ostut{border-top-right-radius:0;}", ".f1ozlkrg{border-top-left-radius:0;}", ".f16xq7d1{background-color:var(--colorNeutralBackground3);}"],
|
|
168
|
+
"i": [".f11uhznr:focus-visible{outline-width:2px;}", ".f1u8i3ug:focus-visible{outline-style:solid;}", ".fe1nke:focus-visible{outline-color:transparent;}"]
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
const useIconStyles = /*#__PURE__*/react_1.__styles({
|
|
172
|
+
"icon": {
|
|
173
|
+
"B7ck84d": "f1ewtqcl",
|
|
174
|
+
"sj55zd": "fxkbij4",
|
|
175
|
+
"mc9l5x": "ftgm304",
|
|
176
|
+
"qhf8xq": "f1euv43f",
|
|
177
|
+
"j35jbq": ["fnyteob", "f1enpzzf"],
|
|
178
|
+
"Bkecrkj": "f1aehjj5",
|
|
179
|
+
"Bo70h7d": "fvc9v3g"
|
|
180
|
+
},
|
|
181
|
+
"small": {
|
|
182
|
+
"Be2twd7": "f4ybsrx",
|
|
183
|
+
"Bqenvij": "fd461yt",
|
|
184
|
+
"z189sj": ["fdw0yi8", "fk8j09s"],
|
|
185
|
+
"uwmqm3": ["fgiv446", "ffczdla"],
|
|
186
|
+
"a9b677": "fjw5fx7"
|
|
187
|
+
},
|
|
188
|
+
"medium": {
|
|
189
|
+
"Be2twd7": "fe5j1ua",
|
|
190
|
+
"Bqenvij": "fjamq6b",
|
|
191
|
+
"z189sj": ["fw5db7e", "f1uw59to"],
|
|
192
|
+
"uwmqm3": ["fgiv446", "ffczdla"],
|
|
193
|
+
"a9b677": "f64fuq3"
|
|
194
|
+
},
|
|
195
|
+
"large": {
|
|
196
|
+
"Be2twd7": "f1rt2boy",
|
|
197
|
+
"Bqenvij": "frvgh55",
|
|
198
|
+
"z189sj": ["fw5db7e", "f1uw59to"],
|
|
199
|
+
"uwmqm3": ["fk8j09s", "fdw0yi8"],
|
|
200
|
+
"a9b677": "fq4mcun"
|
|
201
|
+
}
|
|
202
|
+
}, {
|
|
203
|
+
"d": [".f1ewtqcl{box-sizing:border-box;}", ".fxkbij4{color:var(--colorNeutralStrokeAccessible);}", ".ftgm304{display:block;}", ".f1euv43f{position:absolute;}", ".fnyteob{right:var(--spacingHorizontalMNudge);}", ".f1enpzzf{left:var(--spacingHorizontalMNudge);}", ".f1aehjj5{pointer-events:none;}", ".fvc9v3g svg{display:block;}", ".f4ybsrx{font-size:16px;}", ".fd461yt{height:16px;}", ".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}", ".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}", ".fjw5fx7{width:16px;}", ".fe5j1ua{font-size:20px;}", ".fjamq6b{height:20px;}", ".fw5db7e{padding-right:var(--spacingHorizontalM);}", ".f1uw59to{padding-left:var(--spacingHorizontalM);}", ".f64fuq3{width:20px;}", ".f1rt2boy{font-size:24px;}", ".frvgh55{height:24px;}", ".fq4mcun{width:24px;}"]
|
|
204
|
+
});
|
|
205
|
+
/**
|
|
206
|
+
* Apply styling to the Select slots based on the state
|
|
207
|
+
*/
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
const useSelectStyles_unstable = state => {
|
|
211
|
+
const {
|
|
212
|
+
size,
|
|
213
|
+
appearance
|
|
214
|
+
} = state;
|
|
215
|
+
const disabled = state.select.disabled;
|
|
216
|
+
const iconStyles = useIconStyles();
|
|
217
|
+
const rootStyles = useRootStyles();
|
|
218
|
+
const selectStyles = useSelectStyles();
|
|
219
|
+
state.root.className = react_1.mergeClasses(exports.selectClassNames.root, rootStyles.base, state.root.className);
|
|
220
|
+
state.select.className = react_1.mergeClasses(exports.selectClassNames.select, selectStyles.base, selectStyles[size], selectStyles[appearance], disabled && selectStyles.disabled, state.select.className);
|
|
221
|
+
|
|
222
|
+
if (state.icon) {
|
|
223
|
+
state.icon.className = react_1.mergeClasses(exports.selectClassNames.icon, iconStyles.icon, iconStyles[size], state.icon.className);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return state;
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
exports.useSelectStyles_unstable = useSelectStyles_unstable;
|
|
230
|
+
//# sourceMappingURL=useSelectStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/Select/useSelectStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { SlotClassNames } from '@fluentui/react-utilities';\nimport type { SelectSlots, SelectState } from './Select.types';\n\nexport const selectClassNames: SlotClassNames<SelectSlots> = {\n root: 'fui-Select',\n select: 'fui-Select__select',\n icon: 'fui-Select__icon',\n};\n\nconst iconSizes = {\n small: '16px',\n medium: '20px',\n large: '24px',\n};\n\n// TODO: This 400 style is not in the typography styles.\n// May need a design change\nconst contentSizes = {\n 400: {\n fontSize: tokens.fontSizeBase400,\n lineHeight: tokens.lineHeightBase400,\n },\n};\n\n//TODO: Should fieldHeights be a set of global design tokens or constants?\nconst fieldHeights = {\n small: '24px',\n medium: '32px',\n large: '40px',\n};\n\n/* end of shared values */\n\nconst useRootStyles = makeStyles({\n base: {\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'nowrap',\n fontFamily: tokens.fontFamilyBase,\n position: 'relative',\n\n '&:after': {\n backgroundImage: `linear-gradient(\n 0deg,\n ${tokens.colorCompoundBrandStroke} 0%,\n ${tokens.colorCompoundBrandStroke} 50%,\n transparent 50%,\n transparent 100%\n )`,\n ...shorthands.borderRadius(0, 0, tokens.borderRadiusMedium, tokens.borderRadiusMedium),\n boxSizing: 'border-box',\n content: '\"\"',\n height: tokens.borderRadiusMedium,\n position: 'absolute',\n bottom: '0',\n left: '0',\n right: '0',\n transform: 'scaleX(0)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationUltraFast,\n transitionDelay: tokens.curveAccelerateMid,\n },\n\n '&:focus-within::after': {\n transform: 'scaleX(1)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationNormal,\n transitionDelay: tokens.curveDecelerateMid,\n },\n },\n});\n\nconst useSelectStyles = makeStyles({\n base: {\n appearance: 'none',\n ...shorthands.border('1px', 'solid', 'transparent'),\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n boxShadow: 'none',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground1,\n flexGrow: 1,\n\n ':focus-visible': {\n outlineWidth: '2px',\n outlineStyle: 'solid',\n outlineColor: 'transparent',\n },\n },\n disabled: {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n },\n small: {\n height: fieldHeights.small,\n ...shorthands.padding('0', tokens.spacingHorizontalSNudge),\n ...typographyStyles.caption1,\n },\n medium: {\n height: fieldHeights.medium,\n ...shorthands.padding('0', tokens.spacingHorizontalMNudge),\n ...typographyStyles.body1,\n },\n large: {\n height: fieldHeights.large,\n ...shorthands.padding('0', tokens.spacingHorizontalM),\n ...contentSizes[400],\n },\n outline: {\n backgroundColor: tokens.colorNeutralBackground1,\n ...shorthands.border('1px', 'solid', tokens.colorNeutralStroke1),\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n },\n underline: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderBottom('1px', 'solid', tokens.colorNeutralStrokeAccessible),\n ...shorthands.borderRadius(0),\n },\n 'filled-lighter': {\n backgroundColor: tokens.colorNeutralBackground1,\n },\n 'filled-darker': {\n backgroundColor: tokens.colorNeutralBackground3,\n },\n});\n\nconst useIconStyles = makeStyles({\n icon: {\n boxSizing: 'border-box',\n color: tokens.colorNeutralStrokeAccessible,\n display: 'block',\n position: 'absolute',\n right: tokens.spacingHorizontalMNudge,\n pointerEvents: 'none',\n\n // the SVG must have display: block for accurate positioning\n // otherwise an extra inline space is inserted after the svg element\n '& svg': {\n display: 'block',\n },\n },\n small: {\n fontSize: iconSizes.small,\n height: iconSizes.small,\n paddingRight: tokens.spacingHorizontalSNudge,\n paddingLeft: tokens.spacingHorizontalXXS,\n width: iconSizes.small,\n },\n medium: {\n fontSize: iconSizes.medium,\n height: iconSizes.medium,\n paddingRight: tokens.spacingHorizontalM,\n paddingLeft: tokens.spacingHorizontalXXS,\n width: iconSizes.medium,\n },\n large: {\n fontSize: iconSizes.large,\n height: iconSizes.large,\n paddingRight: tokens.spacingHorizontalM,\n paddingLeft: tokens.spacingHorizontalSNudge,\n width: iconSizes.large,\n },\n});\n\n/**\n * Apply styling to the Select slots based on the state\n */\nexport const useSelectStyles_unstable = (state: SelectState): SelectState => {\n const { size, appearance } = state;\n const disabled = state.select.disabled;\n\n const iconStyles = useIconStyles();\n const rootStyles = useRootStyles();\n const selectStyles = useSelectStyles();\n\n state.root.className = mergeClasses(selectClassNames.root, rootStyles.base, state.root.className);\n\n state.select.className = mergeClasses(\n selectClassNames.select,\n selectStyles.base,\n selectStyles[size],\n selectStyles[appearance],\n disabled && selectStyles.disabled,\n state.select.className,\n );\n\n if (state.icon) {\n state.icon.className = mergeClasses(selectClassNames.icon, iconStyles.icon, iconStyles[size], state.icon.className);\n }\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSelect_unstable = exports.useSelectStyles_unstable = exports.renderSelect_unstable = exports.selectClassNames = exports.Select = void 0;
|
|
7
|
+
|
|
8
|
+
var Select_1 = /*#__PURE__*/require("./Select");
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, "Select", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return Select_1.Select;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "selectClassNames", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () {
|
|
19
|
+
return Select_1.selectClassNames;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(exports, "renderSelect_unstable", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () {
|
|
25
|
+
return Select_1.renderSelect_unstable;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports, "useSelectStyles_unstable", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () {
|
|
31
|
+
return Select_1.useSelectStyles_unstable;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, "useSelect_unstable", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function () {
|
|
37
|
+
return Select_1.useSelect_unstable;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;AAAA,IAAA,QAAA,gBAAA,OAAA,CAAA,UAAA,CAAA;;AACE,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,QAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,QAAA,CAAA,MAAA;AAAM;AAAN,CAAA;AACA,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,kBAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,QAAA,CAAA,gBAAA;AAAgB;AAAhB,CAAA;AACA,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,uBAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,QAAA,CAAA,qBAAA;AAAqB;AAArB,CAAA;AACA,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,0BAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,QAAA,CAAA,wBAAA;AAAwB;AAAxB,CAAA;AACA,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,oBAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,QAAA,CAAA,kBAAA;AAAkB;AAAlB,CAAA","sourcesContent":["export {\n Select,\n selectClassNames,\n renderSelect_unstable,\n useSelectStyles_unstable,\n useSelect_unstable,\n} from './Select';\nexport type { SelectProps, SelectSlots, SelectState } from './Select';\n"],"sourceRoot":"../src/"}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fluentui/react-select",
|
|
3
|
+
"version": "0.0.0-nightly-20220525-0423.1",
|
|
4
|
+
"description": "Fluent UI React Select component",
|
|
5
|
+
"main": "lib-commonjs/index.js",
|
|
6
|
+
"module": "lib/index.js",
|
|
7
|
+
"typings": "dist/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/microsoft/fluentui"
|
|
12
|
+
},
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "just-scripts build",
|
|
16
|
+
"bundle-size": "bundle-size measure",
|
|
17
|
+
"clean": "just-scripts clean",
|
|
18
|
+
"code-style": "just-scripts code-style",
|
|
19
|
+
"just": "just-scripts",
|
|
20
|
+
"lint": "just-scripts lint",
|
|
21
|
+
"start": "yarn storybook",
|
|
22
|
+
"test": "jest --passWithNoTests",
|
|
23
|
+
"docs": "api-extractor run --config=config/api-extractor.local.json --local",
|
|
24
|
+
"build:local": "tsc -p ./tsconfig.lib.json --module esnext --emitDeclarationOnly && node ../../../scripts/typescript/normalize-import --output ./dist/packages/react-components/react-select/src && yarn docs",
|
|
25
|
+
"storybook": "node ../../../scripts/storybook/runner",
|
|
26
|
+
"type-check": "tsc -b tsconfig.json"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@fluentui/eslint-plugin": "*",
|
|
30
|
+
"@fluentui/react-conformance": "*",
|
|
31
|
+
"@fluentui/react-conformance-griffel": "0.0.0-nightly-20220525-0423.0"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@fluentui/react-icons": "^2.0.166-rc.3",
|
|
35
|
+
"@fluentui/react-theme": "0.0.0-nightly-20220525-0423.0",
|
|
36
|
+
"@fluentui/react-utilities": "0.0.0-nightly-20220525-0423.0",
|
|
37
|
+
"@griffel/react": "1.0.5",
|
|
38
|
+
"tslib": "^2.1.0"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"@types/react": ">=16.8.0 <18.0.0",
|
|
42
|
+
"@types/react-dom": ">=16.8.0 <18.0.0",
|
|
43
|
+
"react": ">=16.8.0 <18.0.0",
|
|
44
|
+
"react-dom": ">=16.8.0 <18.0.0"
|
|
45
|
+
},
|
|
46
|
+
"beachball": {
|
|
47
|
+
"tag": "beta",
|
|
48
|
+
"disallowedChangeTypes": [
|
|
49
|
+
"major",
|
|
50
|
+
"minor",
|
|
51
|
+
"patch"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"exports": {
|
|
55
|
+
".": {
|
|
56
|
+
"types": "./lib/index.d.ts",
|
|
57
|
+
"import": "./lib/index.js",
|
|
58
|
+
"require": "./lib-commonjs/index.js"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|