@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.
Files changed (40) hide show
  1. package/CHANGELOG.json +194 -0
  2. package/CHANGELOG.md +96 -0
  3. package/LICENSE +15 -0
  4. package/README.md +9 -0
  5. package/Spec.md +243 -0
  6. package/dist/index.d.ts +68 -0
  7. package/dist/tsdoc-metadata.json +11 -0
  8. package/lib/Select.js +2 -0
  9. package/lib/Select.js.map +1 -0
  10. package/lib/components/Select/Select.js +15 -0
  11. package/lib/components/Select/Select.js.map +1 -0
  12. package/lib/components/Select/Select.types.js +2 -0
  13. package/lib/components/Select/Select.types.js.map +1 -0
  14. package/lib/components/Select/index.js +6 -0
  15. package/lib/components/Select/index.js.map +1 -0
  16. package/lib/components/Select/renderSelect.js +17 -0
  17. package/lib/components/Select/renderSelect.js.map +1 -0
  18. package/lib/components/Select/useSelect.js +56 -0
  19. package/lib/components/Select/useSelect.js.map +1 -0
  20. package/lib/components/Select/useSelectStyles.js +219 -0
  21. package/lib/components/Select/useSelectStyles.js.map +1 -0
  22. package/lib/index.js +2 -0
  23. package/lib/index.js.map +1 -0
  24. package/lib-commonjs/Select.js +10 -0
  25. package/lib-commonjs/Select.js.map +1 -0
  26. package/lib-commonjs/components/Select/Select.js +26 -0
  27. package/lib-commonjs/components/Select/Select.js.map +1 -0
  28. package/lib-commonjs/components/Select/Select.types.js +6 -0
  29. package/lib-commonjs/components/Select/Select.types.js.map +1 -0
  30. package/lib-commonjs/components/Select/index.js +18 -0
  31. package/lib-commonjs/components/Select/index.js.map +1 -0
  32. package/lib-commonjs/components/Select/renderSelect.js +28 -0
  33. package/lib-commonjs/components/Select/renderSelect.js.map +1 -0
  34. package/lib-commonjs/components/Select/useSelect.js +68 -0
  35. package/lib-commonjs/components/Select/useSelect.js.map +1 -0
  36. package/lib-commonjs/components/Select/useSelectStyles.js +230 -0
  37. package/lib-commonjs/components/Select/useSelectStyles.js.map +1 -0
  38. package/lib-commonjs/index.js +40 -0
  39. package/lib-commonjs/index.js.map +1 -0
  40. 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
+ }