@fluentui/react-tag-picker 9.6.6 → 9.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/lib/components/TagPickerButton/useTagPickerButtonStyles.styles.raw.js +113 -0
  3. package/lib/components/TagPickerButton/useTagPickerButtonStyles.styles.raw.js.map +1 -0
  4. package/lib/components/TagPickerControl/useTagPickerControlStyles.styles.raw.js +223 -0
  5. package/lib/components/TagPickerControl/useTagPickerControlStyles.styles.raw.js.map +1 -0
  6. package/lib/components/TagPickerGroup/useTagPickerGroupStyles.styles.raw.js +38 -0
  7. package/lib/components/TagPickerGroup/useTagPickerGroupStyles.styles.raw.js.map +1 -0
  8. package/lib/components/TagPickerInput/useTagPickerInputStyles.styles.raw.js +65 -0
  9. package/lib/components/TagPickerInput/useTagPickerInputStyles.styles.raw.js.map +1 -0
  10. package/lib/components/TagPickerList/useTagPickerListStyles.styles.raw.js +26 -0
  11. package/lib/components/TagPickerList/useTagPickerListStyles.styles.raw.js.map +1 -0
  12. package/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.raw.js +51 -0
  13. package/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.raw.js.map +1 -0
  14. package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.raw.js +17 -0
  15. package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.raw.js.map +1 -0
  16. package/lib-commonjs/components/TagPickerButton/useTagPickerButtonStyles.styles.raw.js +129 -0
  17. package/lib-commonjs/components/TagPickerButton/useTagPickerButtonStyles.styles.raw.js.map +1 -0
  18. package/lib-commonjs/components/TagPickerControl/useTagPickerControlStyles.styles.raw.js +245 -0
  19. package/lib-commonjs/components/TagPickerControl/useTagPickerControlStyles.styles.raw.js.map +1 -0
  20. package/lib-commonjs/components/TagPickerGroup/useTagPickerGroupStyles.styles.raw.js +54 -0
  21. package/lib-commonjs/components/TagPickerGroup/useTagPickerGroupStyles.styles.raw.js.map +1 -0
  22. package/lib-commonjs/components/TagPickerInput/useTagPickerInputStyles.styles.raw.js +81 -0
  23. package/lib-commonjs/components/TagPickerInput/useTagPickerInputStyles.styles.raw.js.map +1 -0
  24. package/lib-commonjs/components/TagPickerList/useTagPickerListStyles.styles.raw.js +42 -0
  25. package/lib-commonjs/components/TagPickerList/useTagPickerListStyles.styles.raw.js.map +1 -0
  26. package/lib-commonjs/components/TagPickerOption/useTagPickerOptionStyles.styles.raw.js +67 -0
  27. package/lib-commonjs/components/TagPickerOption/useTagPickerOptionStyles.styles.raw.js.map +1 -0
  28. package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.raw.js +33 -0
  29. package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.raw.js.map +1 -0
  30. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -1,12 +1,40 @@
1
1
  # Change Log - @fluentui/react-tag-picker
2
2
 
3
- This log was last generated on Fri, 04 Jul 2025 10:00:09 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 17 Jul 2025 13:45:49 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.7.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.7.0)
8
+
9
+ Thu, 17 Jul 2025 13:45:49 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tag-picker_v9.6.7..@fluentui/react-tag-picker_v9.7.0)
11
+
12
+ ### Minor changes
13
+
14
+ - feat: enable griffel raw styles ([PR #34853](https://github.com/microsoft/fluentui/pull/34853) by martinhochel@microsoft.com)
15
+ - Bump @fluentui/react-portal to v9.7.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
16
+ - Bump @fluentui/react-tabster to v9.26.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
17
+ - Bump @fluentui/react-aria to v9.15.4 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
18
+ - Bump @fluentui/react-combobox to v9.16.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
19
+ - Bump @fluentui/react-tags to v9.7.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
20
+ - Bump @fluentui/react-positioning to v9.20.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
21
+ - Bump @fluentui/react-field to v9.4.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
22
+
23
+ ## [9.6.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.6.7)
24
+
25
+ Fri, 11 Jul 2025 15:59:24 GMT
26
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tag-picker_v9.6.6..@fluentui/react-tag-picker_v9.6.7)
27
+
28
+ ### Patches
29
+
30
+ - Bump @fluentui/react-combobox to v9.15.7 ([PR #34807](https://github.com/microsoft/fluentui/pull/34807) by beachball)
31
+ - Bump @fluentui/react-tags to v9.6.7 ([PR #34807](https://github.com/microsoft/fluentui/pull/34807) by beachball)
32
+ - Bump @fluentui/react-positioning to v9.19.0 ([PR #34807](https://github.com/microsoft/fluentui/pull/34807) by beachball)
33
+ - Bump @fluentui/react-field to v9.3.7 ([PR #34807](https://github.com/microsoft/fluentui/pull/34807) by beachball)
34
+
7
35
  ## [9.6.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.6.6)
8
36
 
9
- Fri, 04 Jul 2025 10:00:09 GMT
37
+ Fri, 04 Jul 2025 10:02:48 GMT
10
38
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tag-picker_v9.6.5..@fluentui/react-tag-picker_v9.6.6)
11
39
 
12
40
  ### Patches
@@ -0,0 +1,113 @@
1
+ import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
3
+ export const tagPickerButtonClassNames = {
4
+ root: 'fui-TagPickerButton'
5
+ };
6
+ /**
7
+ * Styles for the root slot
8
+ */ const useStyles = makeStyles({
9
+ button: {
10
+ alignItems: 'center',
11
+ minHeight: '32px',
12
+ backgroundColor: tokens.colorTransparentBackground,
13
+ border: 'none',
14
+ boxSizing: 'border-box',
15
+ color: tokens.colorNeutralForeground1,
16
+ columnGap: tokens.spacingHorizontalXXS,
17
+ cursor: 'pointer',
18
+ fontFamily: tokens.fontFamilyBase,
19
+ textAlign: 'left',
20
+ flexGrow: 1,
21
+ '&:focus': {
22
+ outlineStyle: 'none'
23
+ }
24
+ },
25
+ placeholder: {
26
+ color: tokens.colorNeutralForeground4
27
+ },
28
+ // size variants
29
+ medium: {
30
+ ...typographyStyles.caption1,
31
+ padding: `3px ${tokens.spacingHorizontalSNudge} 3px ${`calc(${tokens.spacingHorizontalSNudge} + ${tokens.spacingHorizontalXXS})`}`
32
+ },
33
+ large: {
34
+ ...typographyStyles.body1,
35
+ padding: `5px ${tokens.spacingHorizontalMNudge} 5px ${`calc(${tokens.spacingHorizontalMNudge} + ${tokens.spacingHorizontalXXS})`}`
36
+ },
37
+ 'extra-large': {
38
+ columnGap: tokens.spacingHorizontalSNudge,
39
+ ...typographyStyles.body2,
40
+ padding: `7px ${tokens.spacingHorizontalM} 7px ${`calc(${tokens.spacingHorizontalM} + ${tokens.spacingHorizontalSNudge})`}`
41
+ },
42
+ // appearance variants
43
+ outline: {
44
+ backgroundColor: tokens.colorNeutralBackground1,
45
+ border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,
46
+ borderBottomColor: tokens.colorNeutralStrokeAccessible
47
+ },
48
+ outlineInteractive: {
49
+ '&:hover': {
50
+ ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),
51
+ borderBottomColor: tokens.colorNeutralStrokeAccessible
52
+ },
53
+ '&:active': {
54
+ ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),
55
+ borderBottomColor: tokens.colorNeutralStrokeAccessible
56
+ }
57
+ },
58
+ underline: {
59
+ backgroundColor: tokens.colorTransparentBackground,
60
+ borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStrokeAccessible}`,
61
+ borderRadius: '0'
62
+ },
63
+ 'filled-lighter': {
64
+ backgroundColor: tokens.colorNeutralBackground1,
65
+ border: `${tokens.strokeWidthThin} solid transparent`
66
+ },
67
+ 'filled-darker': {
68
+ backgroundColor: tokens.colorNeutralBackground3,
69
+ border: `${tokens.strokeWidthThin} solid transparent`
70
+ },
71
+ invalid: {
72
+ ':not(:focus-within),:hover:not(:focus-within)': {
73
+ ...shorthands.borderColor(tokens.colorPaletteRedBorder2)
74
+ }
75
+ },
76
+ invalidUnderline: {
77
+ ':not(:focus-within),:hover:not(:focus-within)': {
78
+ borderBottomColor: tokens.colorPaletteRedBorder2
79
+ }
80
+ },
81
+ disabled: {
82
+ cursor: 'not-allowed',
83
+ backgroundColor: tokens.colorTransparentBackground,
84
+ ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),
85
+ '@media (forced-colors: active)': {
86
+ ...shorthands.borderColor('GrayText')
87
+ }
88
+ },
89
+ disabledText: {
90
+ color: tokens.colorNeutralForegroundDisabled,
91
+ cursor: 'not-allowed'
92
+ },
93
+ hidden: {
94
+ display: 'none'
95
+ },
96
+ visuallyHidden: {
97
+ clip: 'rect(0px, 0px, 0px, 0px)',
98
+ height: '1px',
99
+ margin: '-1px',
100
+ overflow: 'hidden',
101
+ padding: '0px',
102
+ width: '1px',
103
+ position: 'absolute'
104
+ }
105
+ });
106
+ /**
107
+ * Apply styling to the PickerButton slots based on the state
108
+ */ export const useTagPickerButtonStyles_unstable = (state)=>{
109
+ 'use no memo';
110
+ const styles = useStyles();
111
+ state.root.className = mergeClasses(tagPickerButtonClassNames.root, styles.button, styles[state.size], state.hasSelectedOption && styles.visuallyHidden, state.root.className);
112
+ return state;
113
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TagPickerButton/useTagPickerButtonStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { TagPickerButtonSlots, TagPickerButtonState } from './TagPickerButton.types';\n\nexport const tagPickerButtonClassNames: SlotClassNames<TagPickerButtonSlots> = {\n root: 'fui-TagPickerButton',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n button: {\n alignItems: 'center',\n minHeight: '32px',\n backgroundColor: tokens.colorTransparentBackground,\n border: 'none',\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground1,\n columnGap: tokens.spacingHorizontalXXS,\n cursor: 'pointer',\n fontFamily: tokens.fontFamilyBase,\n textAlign: 'left',\n flexGrow: 1,\n\n '&:focus': {\n outlineStyle: 'none',\n },\n },\n\n placeholder: {\n color: tokens.colorNeutralForeground4,\n },\n\n // size variants\n medium: {\n ...typographyStyles.caption1,\n padding: `3px ${\n tokens.spacingHorizontalSNudge\n } 3px ${`calc(${tokens.spacingHorizontalSNudge} + ${tokens.spacingHorizontalXXS})`}`,\n },\n large: {\n ...typographyStyles.body1,\n padding: `5px ${\n tokens.spacingHorizontalMNudge\n } 5px ${`calc(${tokens.spacingHorizontalMNudge} + ${tokens.spacingHorizontalXXS})`}`,\n },\n 'extra-large': {\n columnGap: tokens.spacingHorizontalSNudge,\n ...typographyStyles.body2,\n padding: `7px ${\n tokens.spacingHorizontalM\n } 7px ${`calc(${tokens.spacingHorizontalM} + ${tokens.spacingHorizontalSNudge})`}`,\n },\n\n // appearance variants\n outline: {\n backgroundColor: tokens.colorNeutralBackground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n },\n outlineInteractive: {\n '&:hover': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n },\n\n '&:active': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n },\n },\n underline: {\n backgroundColor: tokens.colorTransparentBackground,\n borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStrokeAccessible}`,\n borderRadius: '0',\n },\n 'filled-lighter': {\n backgroundColor: tokens.colorNeutralBackground1,\n border: `${tokens.strokeWidthThin} solid transparent`,\n },\n 'filled-darker': {\n backgroundColor: tokens.colorNeutralBackground3,\n border: `${tokens.strokeWidthThin} solid transparent`,\n },\n invalid: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n ...shorthands.borderColor(tokens.colorPaletteRedBorder2),\n },\n },\n invalidUnderline: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n borderBottomColor: tokens.colorPaletteRedBorder2,\n },\n },\n disabled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('GrayText'),\n },\n },\n\n disabledText: {\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n },\n\n hidden: {\n display: 'none',\n },\n visuallyHidden: {\n clip: 'rect(0px, 0px, 0px, 0px)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0px',\n width: '1px',\n position: 'absolute',\n },\n});\n\n/**\n * Apply styling to the PickerButton slots based on the state\n */\nexport const useTagPickerButtonStyles_unstable = (state: TagPickerButtonState): TagPickerButtonState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(\n tagPickerButtonClassNames.root,\n styles.button,\n styles[state.size],\n state.hasSelectedOption && styles.visuallyHidden,\n state.root.className,\n );\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","tagPickerButtonClassNames","root","useStyles","button","alignItems","minHeight","backgroundColor","colorTransparentBackground","border","boxSizing","color","colorNeutralForeground1","columnGap","spacingHorizontalXXS","cursor","fontFamily","fontFamilyBase","textAlign","flexGrow","outlineStyle","placeholder","colorNeutralForeground4","medium","caption1","padding","spacingHorizontalSNudge","large","body1","spacingHorizontalMNudge","body2","spacingHorizontalM","outline","colorNeutralBackground1","strokeWidthThin","colorNeutralStroke1","borderBottomColor","colorNeutralStrokeAccessible","outlineInteractive","borderColor","colorNeutralStroke1Hover","colorNeutralStroke1Pressed","underline","borderBottom","borderRadius","colorNeutralBackground3","invalid","colorPaletteRedBorder2","invalidUnderline","disabled","colorNeutralStrokeDisabled","disabledText","colorNeutralForegroundDisabled","hidden","display","visuallyHidden","clip","height","margin","overflow","width","position","useTagPickerButtonStyles_unstable","state","styles","className","size","hasSelectedOption"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AACtE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AAIjE,OAAO,MAAMC,4BAAkE;IAC7EC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYP,WAAW;IAC3BQ,QAAQ;QACNC,YAAY;QACZC,WAAW;QACXC,iBAAiBR,OAAOS,0BAA0B;QAClDC,QAAQ;QACRC,WAAW;QACXC,OAAOZ,OAAOa,uBAAuB;QACrCC,WAAWd,OAAOe,oBAAoB;QACtCC,QAAQ;QACRC,YAAYjB,OAAOkB,cAAc;QACjCC,WAAW;QACXC,UAAU;QAEV,WAAW;YACTC,cAAc;QAChB;IACF;IAEAC,aAAa;QACXV,OAAOZ,OAAOuB,uBAAuB;IACvC;IAEA,gBAAgB;IAChBC,QAAQ;QACN,GAAGvB,iBAAiBwB,QAAQ;QAC5BC,SAAS,CAAC,IAAI,EACZ1B,OAAO2B,uBAAuB,CAC/B,KAAK,EAAE,CAAC,KAAK,EAAE3B,OAAO2B,uBAAuB,CAAC,GAAG,EAAE3B,OAAOe,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF;IACAa,OAAO;QACL,GAAG3B,iBAAiB4B,KAAK;QACzBH,SAAS,CAAC,IAAI,EACZ1B,OAAO8B,uBAAuB,CAC/B,KAAK,EAAE,CAAC,KAAK,EAAE9B,OAAO8B,uBAAuB,CAAC,GAAG,EAAE9B,OAAOe,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF;IACA,eAAe;QACbD,WAAWd,OAAO2B,uBAAuB;QACzC,GAAG1B,iBAAiB8B,KAAK;QACzBL,SAAS,CAAC,IAAI,EACZ1B,OAAOgC,kBAAkB,CAC1B,KAAK,EAAE,CAAC,KAAK,EAAEhC,OAAOgC,kBAAkB,CAAC,GAAG,EAAEhC,OAAO2B,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF;IAEA,sBAAsB;IACtBM,SAAS;QACPzB,iBAAiBR,OAAOkC,uBAAuB;QAC/CxB,QAAQ,CAAC,EAAEV,OAAOmC,eAAe,CAAC,OAAO,EAAEnC,OAAOoC,mBAAmB,CAAC,CAAC;QACvEC,mBAAmBrC,OAAOsC,4BAA4B;IACxD;IACAC,oBAAoB;QAClB,WAAW;YACT,GAAGxC,WAAWyC,WAAW,CAACxC,OAAOyC,wBAAwB,CAAC;YAC1DJ,mBAAmBrC,OAAOsC,4BAA4B;QACxD;QAEA,YAAY;YACV,GAAGvC,WAAWyC,WAAW,CAACxC,OAAO0C,0BAA0B,CAAC;YAC5DL,mBAAmBrC,OAAOsC,4BAA4B;QACxD;IACF;IACAK,WAAW;QACTnC,iBAAiBR,OAAOS,0BAA0B;QAClDmC,cAAc,CAAC,EAAE5C,OAAOmC,eAAe,CAAC,OAAO,EAAEnC,OAAOsC,4BAA4B,CAAC,CAAC;QACtFO,cAAc;IAChB;IACA,kBAAkB;QAChBrC,iBAAiBR,OAAOkC,uBAAuB;QAC/CxB,QAAQ,CAAC,EAAEV,OAAOmC,eAAe,CAAC,kBAAkB,CAAC;IACvD;IACA,iBAAiB;QACf3B,iBAAiBR,OAAO8C,uBAAuB;QAC/CpC,QAAQ,CAAC,EAAEV,OAAOmC,eAAe,CAAC,kBAAkB,CAAC;IACvD;IACAY,SAAS;QACP,iDAAiD;YAC/C,GAAGhD,WAAWyC,WAAW,CAACxC,OAAOgD,sBAAsB,CAAC;QAC1D;IACF;IACAC,kBAAkB;QAChB,iDAAiD;YAC/CZ,mBAAmBrC,OAAOgD,sBAAsB;QAClD;IACF;IACAE,UAAU;QACRlC,QAAQ;QACRR,iBAAiBR,OAAOS,0BAA0B;QAClD,GAAGV,WAAWyC,WAAW,CAACxC,OAAOmD,0BAA0B,CAAC;QAC5D,kCAAkC;YAChC,GAAGpD,WAAWyC,WAAW,CAAC,WAAW;QACvC;IACF;IAEAY,cAAc;QACZxC,OAAOZ,OAAOqD,8BAA8B;QAC5CrC,QAAQ;IACV;IAEAsC,QAAQ;QACNC,SAAS;IACX;IACAC,gBAAgB;QACdC,MAAM;QACNC,QAAQ;QACRC,QAAQ;QACRC,UAAU;QACVlC,SAAS;QACTmC,OAAO;QACPC,UAAU;IACZ;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,oCAAoC,CAACC;IAChD;IAEA,MAAMC,SAAS7D;IACf4D,MAAM7D,IAAI,CAAC+D,SAAS,GAAGpE,aACrBI,0BAA0BC,IAAI,EAC9B8D,OAAO5D,MAAM,EACb4D,MAAM,CAACD,MAAMG,IAAI,CAAC,EAClBH,MAAMI,iBAAiB,IAAIH,OAAOT,cAAc,EAChDQ,MAAM7D,IAAI,CAAC+D,SAAS;IAGtB,OAAOF;AACT,EAAE"}
@@ -0,0 +1,223 @@
1
+ import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ export const tagPickerControlClassNames = {
4
+ root: 'fui-TagPickerControl',
5
+ expandIcon: 'fui-TagPickerControl__expandIcon',
6
+ secondaryAction: 'fui-TagPickerControl__secondaryAction',
7
+ aside: 'fui-TagPickerControl__aside'
8
+ };
9
+ export const tagPickerControlAsideWidthToken = '--fui-TagPickerControl-aside-width';
10
+ /**
11
+ * Styles for the root slot
12
+ */ const useStyles = makeStyles({
13
+ root: {
14
+ borderRadius: tokens.borderRadiusMedium,
15
+ paddingRight: `calc(${tokens.spacingHorizontalM} + var(${tagPickerControlAsideWidthToken}, 0px))`,
16
+ paddingLeft: tokens.spacingHorizontalM,
17
+ alignItems: 'center',
18
+ columnGap: tokens.spacingHorizontalXXS,
19
+ boxSizing: 'border-box',
20
+ display: 'flex',
21
+ minWidth: '250px',
22
+ position: 'relative',
23
+ flexWrap: 'wrap',
24
+ // windows high contrast mode focus indicator
25
+ ':focus-within': {
26
+ outlineWidth: '2px',
27
+ outlineStyle: 'solid',
28
+ outlineColor: 'transparent'
29
+ },
30
+ // bottom focus border, shared with Input, Select, and SpinButton
31
+ '::after': {
32
+ boxSizing: 'border-box',
33
+ content: '""',
34
+ position: 'absolute',
35
+ left: '-1px',
36
+ bottom: '-1px',
37
+ right: '-1px',
38
+ height: `max(2px, ${tokens.borderRadiusMedium})`,
39
+ borderBottomLeftRadius: tokens.borderRadiusMedium,
40
+ borderBottomRightRadius: tokens.borderRadiusMedium,
41
+ borderBottom: `${tokens.strokeWidthThick} solid ${tokens.colorCompoundBrandStroke}`,
42
+ clipPath: 'inset(calc(100% - 2px) 0 0 0)',
43
+ transform: 'scaleX(0)',
44
+ transitionProperty: 'transform',
45
+ transitionDuration: tokens.durationUltraFast,
46
+ transitionDelay: tokens.curveAccelerateMid,
47
+ '@media screen and (prefers-reduced-motion: reduce)': {
48
+ transitionDuration: '0.01ms',
49
+ transitionDelay: '0.01ms'
50
+ }
51
+ },
52
+ ':focus-within::after': {
53
+ transform: 'scaleX(1)',
54
+ transitionProperty: 'transform',
55
+ transitionDuration: tokens.durationNormal,
56
+ transitionDelay: tokens.curveDecelerateMid,
57
+ '@media screen and (prefers-reduced-motion: reduce)': {
58
+ transitionDuration: '0.01ms',
59
+ transitionDelay: '0.01ms'
60
+ }
61
+ },
62
+ ':focus-within:active::after': {
63
+ borderBottomColor: tokens.colorCompoundBrandStrokePressed
64
+ }
65
+ },
66
+ listbox: {
67
+ boxShadow: `${tokens.shadow16}`,
68
+ borderRadius: tokens.borderRadiusMedium,
69
+ maxHeight: '80vh',
70
+ boxSizing: 'border-box'
71
+ },
72
+ listboxCollapsed: {
73
+ display: 'none'
74
+ },
75
+ // size variants
76
+ medium: {
77
+ minHeight: '32px'
78
+ },
79
+ large: {
80
+ minHeight: '40px'
81
+ },
82
+ 'extra-large': {
83
+ minHeight: '44px'
84
+ },
85
+ // appearance variants
86
+ outline: {
87
+ backgroundColor: tokens.colorNeutralBackground1,
88
+ border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,
89
+ borderBottomColor: tokens.colorNeutralStrokeAccessible
90
+ },
91
+ outlineInteractive: {
92
+ '&:hover': {
93
+ ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),
94
+ borderBottomColor: tokens.colorNeutralStrokeAccessibleHover
95
+ },
96
+ '&:active': {
97
+ ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),
98
+ borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed
99
+ },
100
+ '&:focus-within': {
101
+ ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),
102
+ borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed
103
+ }
104
+ },
105
+ underline: {
106
+ backgroundColor: tokens.colorTransparentBackground,
107
+ borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStrokeAccessible}`,
108
+ borderRadius: '0'
109
+ },
110
+ 'filled-lighter': {
111
+ backgroundColor: tokens.colorNeutralBackground1,
112
+ border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`
113
+ },
114
+ 'filled-darker': {
115
+ backgroundColor: tokens.colorNeutralBackground3,
116
+ border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`
117
+ },
118
+ invalid: {
119
+ ':not(:focus-within),:hover:not(:focus-within)': {
120
+ ...shorthands.borderColor(tokens.colorPaletteRedBorder2)
121
+ }
122
+ },
123
+ invalidUnderline: {
124
+ ':not(:focus-within),:hover:not(:focus-within)': {
125
+ borderBottomColor: tokens.colorPaletteRedBorder2
126
+ }
127
+ },
128
+ disabled: {
129
+ cursor: 'not-allowed',
130
+ backgroundColor: tokens.colorTransparentBackground,
131
+ ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),
132
+ '@media (forced-colors: active)': {
133
+ ...shorthands.borderColor('GrayText')
134
+ }
135
+ }
136
+ });
137
+ const useAsideStyles = makeStyles({
138
+ root: {
139
+ display: 'flex',
140
+ position: 'absolute',
141
+ top: '0',
142
+ right: tokens.spacingHorizontalM,
143
+ height: '100%',
144
+ cursor: 'text'
145
+ },
146
+ // size variants
147
+ medium: {
148
+ minHeight: '32px'
149
+ },
150
+ large: {
151
+ minHeight: '40px'
152
+ },
153
+ 'extra-large': {
154
+ minHeight: '44px'
155
+ }
156
+ });
157
+ export const iconSizes = {
158
+ small: '16px',
159
+ medium: '20px',
160
+ large: '24px'
161
+ };
162
+ const useIconStyles = makeStyles({
163
+ icon: {
164
+ boxSizing: 'border-box',
165
+ color: tokens.colorNeutralStrokeAccessible,
166
+ cursor: 'pointer',
167
+ display: 'flex',
168
+ justifyContent: 'center',
169
+ alignItems: 'center',
170
+ alignSelf: 'flex-start',
171
+ fontSize: tokens.fontSizeBase500,
172
+ // the SVG must have display: block for accurate positioning
173
+ // otherwise an extra inline space is inserted after the svg element
174
+ '& svg': {
175
+ display: 'block'
176
+ }
177
+ },
178
+ // icon size variants
179
+ medium: {
180
+ fontSize: iconSizes.small,
181
+ marginLeft: tokens.spacingHorizontalXXS,
182
+ minHeight: '32px'
183
+ },
184
+ large: {
185
+ fontSize: iconSizes.medium,
186
+ marginLeft: tokens.spacingHorizontalXXS,
187
+ minHeight: '40px'
188
+ },
189
+ 'extra-large': {
190
+ fontSize: iconSizes.large,
191
+ marginLeft: tokens.spacingHorizontalSNudge,
192
+ minHeight: '44px'
193
+ },
194
+ disabled: {
195
+ color: tokens.colorNeutralForegroundDisabled,
196
+ cursor: 'not-allowed'
197
+ }
198
+ });
199
+ const useSecondaryActionStyles = makeStyles({
200
+ root: {
201
+ display: 'flex'
202
+ }
203
+ });
204
+ /**
205
+ * Apply styling to the PickerControl slots based on the state
206
+ */ export const useTagPickerControlStyles_unstable = (state)=>{
207
+ 'use no memo';
208
+ const styles = useStyles();
209
+ const iconStyles = useIconStyles();
210
+ const asideStyles = useAsideStyles();
211
+ const secondaryActionStyles = useSecondaryActionStyles();
212
+ state.root.className = mergeClasses(tagPickerControlClassNames.root, styles.root, styles[state.size], styles[state.appearance], !state.disabled && state.appearance === 'outline' && styles.outlineInteractive, state.invalid && state.appearance !== 'underline' && styles.invalid, state.invalid && state.appearance === 'underline' && styles.invalidUnderline, state.disabled && styles.disabled, state.root.className);
213
+ if (state.aside) {
214
+ state.aside.className = mergeClasses(tagPickerControlClassNames.aside, asideStyles.root, asideStyles[state.size], state.aside.className);
215
+ }
216
+ if (state.expandIcon) {
217
+ state.expandIcon.className = mergeClasses(tagPickerControlClassNames.expandIcon, iconStyles.icon, iconStyles[state.size], state.disabled && iconStyles.disabled, state.expandIcon.className);
218
+ }
219
+ if (state.secondaryAction) {
220
+ state.secondaryAction.className = mergeClasses(tagPickerControlClassNames.secondaryAction, secondaryActionStyles.root, state.secondaryAction.className);
221
+ }
222
+ return state;
223
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TagPickerControl/useTagPickerControlStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport type {\n TagPickerControlInternalSlots,\n TagPickerControlSlots,\n TagPickerControlState,\n} from './TagPickerControl.types';\n\nexport const tagPickerControlClassNames: SlotClassNames<TagPickerControlSlots & TagPickerControlInternalSlots> = {\n root: 'fui-TagPickerControl',\n expandIcon: 'fui-TagPickerControl__expandIcon',\n secondaryAction: 'fui-TagPickerControl__secondaryAction',\n aside: 'fui-TagPickerControl__aside',\n};\n\nexport const tagPickerControlAsideWidthToken = '--fui-TagPickerControl-aside-width' as const;\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n borderRadius: tokens.borderRadiusMedium,\n paddingRight: `calc(${tokens.spacingHorizontalM} + var(${tagPickerControlAsideWidthToken}, 0px))`,\n paddingLeft: tokens.spacingHorizontalM,\n alignItems: 'center',\n columnGap: tokens.spacingHorizontalXXS,\n boxSizing: 'border-box',\n display: 'flex',\n minWidth: '250px',\n position: 'relative',\n flexWrap: 'wrap',\n\n // windows high contrast mode focus indicator\n ':focus-within': {\n outlineWidth: '2px',\n outlineStyle: 'solid',\n outlineColor: 'transparent',\n },\n\n // bottom focus border, shared with Input, Select, and SpinButton\n '::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n left: '-1px',\n bottom: '-1px',\n right: '-1px',\n height: `max(2px, ${tokens.borderRadiusMedium})`,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n borderBottom: `${tokens.strokeWidthThick} solid ${tokens.colorCompoundBrandStroke}`,\n clipPath: 'inset(calc(100% - 2px) 0 0 0)',\n transform: 'scaleX(0)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationUltraFast,\n transitionDelay: tokens.curveAccelerateMid,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms',\n },\n },\n ':focus-within::after': {\n transform: 'scaleX(1)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationNormal,\n transitionDelay: tokens.curveDecelerateMid,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms',\n },\n },\n ':focus-within:active::after': {\n borderBottomColor: tokens.colorCompoundBrandStrokePressed,\n },\n },\n\n listbox: {\n boxShadow: `${tokens.shadow16}`,\n borderRadius: tokens.borderRadiusMedium,\n maxHeight: '80vh',\n boxSizing: 'border-box',\n },\n\n listboxCollapsed: {\n display: 'none',\n },\n\n // size variants\n medium: {\n minHeight: '32px',\n },\n large: {\n minHeight: '40px',\n },\n 'extra-large': {\n minHeight: '44px',\n },\n\n // appearance variants\n outline: {\n backgroundColor: tokens.colorNeutralBackground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n },\n\n outlineInteractive: {\n '&:hover': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover,\n },\n\n '&:active': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed,\n },\n\n '&:focus-within': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed,\n },\n },\n underline: {\n backgroundColor: tokens.colorTransparentBackground,\n borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStrokeAccessible}`,\n borderRadius: '0',\n },\n 'filled-lighter': {\n backgroundColor: tokens.colorNeutralBackground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`,\n },\n 'filled-darker': {\n backgroundColor: tokens.colorNeutralBackground3,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`,\n },\n invalid: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n ...shorthands.borderColor(tokens.colorPaletteRedBorder2),\n },\n },\n invalidUnderline: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n borderBottomColor: tokens.colorPaletteRedBorder2,\n },\n },\n\n disabled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('GrayText'),\n },\n },\n});\n\nconst useAsideStyles = makeStyles({\n root: {\n display: 'flex',\n position: 'absolute',\n top: '0',\n right: tokens.spacingHorizontalM,\n height: '100%',\n cursor: 'text',\n },\n // size variants\n medium: {\n minHeight: '32px',\n },\n large: {\n minHeight: '40px',\n },\n 'extra-large': {\n minHeight: '44px',\n },\n});\n\nexport const iconSizes = {\n small: '16px',\n medium: '20px',\n large: '24px',\n};\n\nconst useIconStyles = makeStyles({\n icon: {\n boxSizing: 'border-box',\n color: tokens.colorNeutralStrokeAccessible,\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'flex-start',\n fontSize: tokens.fontSizeBase500,\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 // icon size variants\n medium: {\n fontSize: iconSizes.small,\n marginLeft: tokens.spacingHorizontalXXS,\n minHeight: '32px',\n },\n large: {\n fontSize: iconSizes.medium,\n marginLeft: tokens.spacingHorizontalXXS,\n minHeight: '40px',\n },\n 'extra-large': {\n fontSize: iconSizes.large,\n marginLeft: tokens.spacingHorizontalSNudge,\n minHeight: '44px',\n },\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n },\n});\n\nconst useSecondaryActionStyles = makeStyles({\n root: { display: 'flex' },\n});\n\n/**\n * Apply styling to the PickerControl slots based on the state\n */\nexport const useTagPickerControlStyles_unstable = (state: TagPickerControlState): TagPickerControlState => {\n 'use no memo';\n\n const styles = useStyles();\n const iconStyles = useIconStyles();\n const asideStyles = useAsideStyles();\n const secondaryActionStyles = useSecondaryActionStyles();\n state.root.className = mergeClasses(\n tagPickerControlClassNames.root,\n styles.root,\n styles[state.size],\n styles[state.appearance],\n !state.disabled && state.appearance === 'outline' && styles.outlineInteractive,\n state.invalid && state.appearance !== 'underline' && styles.invalid,\n state.invalid && state.appearance === 'underline' && styles.invalidUnderline,\n state.disabled && styles.disabled,\n state.root.className,\n );\n\n if (state.aside) {\n state.aside.className = mergeClasses(\n tagPickerControlClassNames.aside,\n asideStyles.root,\n asideStyles[state.size],\n state.aside.className,\n );\n }\n\n if (state.expandIcon) {\n state.expandIcon.className = mergeClasses(\n tagPickerControlClassNames.expandIcon,\n iconStyles.icon,\n iconStyles[state.size],\n state.disabled && iconStyles.disabled,\n state.expandIcon.className,\n );\n }\n\n if (state.secondaryAction) {\n state.secondaryAction.className = mergeClasses(\n tagPickerControlClassNames.secondaryAction,\n secondaryActionStyles.root,\n state.secondaryAction.className,\n );\n }\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","tagPickerControlClassNames","root","expandIcon","secondaryAction","aside","tagPickerControlAsideWidthToken","useStyles","borderRadius","borderRadiusMedium","paddingRight","spacingHorizontalM","paddingLeft","alignItems","columnGap","spacingHorizontalXXS","boxSizing","display","minWidth","position","flexWrap","outlineWidth","outlineStyle","outlineColor","content","left","bottom","right","height","borderBottomLeftRadius","borderBottomRightRadius","borderBottom","strokeWidthThick","colorCompoundBrandStroke","clipPath","transform","transitionProperty","transitionDuration","durationUltraFast","transitionDelay","curveAccelerateMid","durationNormal","curveDecelerateMid","borderBottomColor","colorCompoundBrandStrokePressed","listbox","boxShadow","shadow16","maxHeight","listboxCollapsed","medium","minHeight","large","outline","backgroundColor","colorNeutralBackground1","border","strokeWidthThin","colorNeutralStroke1","colorNeutralStrokeAccessible","outlineInteractive","borderColor","colorNeutralStroke1Hover","colorNeutralStrokeAccessibleHover","colorNeutralStroke1Pressed","colorNeutralStrokeAccessiblePressed","underline","colorTransparentBackground","colorTransparentStroke","colorNeutralBackground3","invalid","colorPaletteRedBorder2","invalidUnderline","disabled","cursor","colorNeutralStrokeDisabled","useAsideStyles","top","iconSizes","small","useIconStyles","icon","color","justifyContent","alignSelf","fontSize","fontSizeBase500","marginLeft","spacingHorizontalSNudge","colorNeutralForegroundDisabled","useSecondaryActionStyles","useTagPickerControlStyles_unstable","state","styles","iconStyles","asideStyles","secondaryActionStyles","className","size","appearance"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { makeStyles, mergeClasses } from '@griffel/react';
2
+ import { useTagGroupStyles_unstable } from '@fluentui/react-tags';
3
+ import { tokens } from '@fluentui/react-theme';
4
+ import { tagSizeToTagPickerSize } from '../../utils/tagPicker2Tag';
5
+ export const tagPickerGroupClassNames = {
6
+ root: 'fui-TagPickerGroup'
7
+ };
8
+ /**
9
+ * Styles for the root slot
10
+ */ const useStyles = makeStyles({
11
+ root: {
12
+ flexWrap: 'wrap',
13
+ boxSizing: 'border-box',
14
+ cursor: 'text'
15
+ },
16
+ // size variants
17
+ medium: {
18
+ padding: `${tokens.spacingVerticalSNudge} 0 ${tokens.spacingVerticalSNudge} 0`,
19
+ gap: tokens.spacingHorizontalXS
20
+ },
21
+ large: {
22
+ padding: `${tokens.spacingVerticalS} 0 ${tokens.spacingVerticalS} 0`,
23
+ gap: tokens.spacingHorizontalSNudge
24
+ },
25
+ 'extra-large': {
26
+ padding: `${tokens.spacingVerticalS} 0 ${tokens.spacingVerticalS} 0`,
27
+ gap: tokens.spacingHorizontalSNudge
28
+ }
29
+ });
30
+ /**
31
+ * Apply styling to the TagPickerGroup slots based on the state
32
+ */ export const useTagPickerGroupStyles_unstable = (state)=>{
33
+ 'use no memo';
34
+ useTagGroupStyles_unstable(state);
35
+ const styles = useStyles();
36
+ state.root.className = mergeClasses(tagPickerGroupClassNames.root, styles[tagSizeToTagPickerSize(state.size)], styles.root, state.root.className);
37
+ return state;
38
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TagPickerGroup/useTagPickerGroupStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { TagPickerGroupSlots, TagPickerGroupState } from './TagPickerGroup.types';\nimport { useTagGroupStyles_unstable } from '@fluentui/react-tags';\nimport { tokens } from '@fluentui/react-theme';\nimport { tagSizeToTagPickerSize } from '../../utils/tagPicker2Tag';\n\nexport const tagPickerGroupClassNames: SlotClassNames<TagPickerGroupSlots> = {\n root: 'fui-TagPickerGroup',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n flexWrap: 'wrap',\n boxSizing: 'border-box',\n cursor: 'text',\n },\n // size variants\n medium: {\n padding: `${tokens.spacingVerticalSNudge} 0 ${tokens.spacingVerticalSNudge} 0`,\n gap: tokens.spacingHorizontalXS,\n },\n large: {\n padding: `${tokens.spacingVerticalS} 0 ${tokens.spacingVerticalS} 0`,\n gap: tokens.spacingHorizontalSNudge,\n },\n 'extra-large': {\n padding: `${tokens.spacingVerticalS} 0 ${tokens.spacingVerticalS} 0`,\n gap: tokens.spacingHorizontalSNudge,\n },\n});\n\n/**\n * Apply styling to the TagPickerGroup slots based on the state\n */\nexport const useTagPickerGroupStyles_unstable = (state: TagPickerGroupState): TagPickerGroupState => {\n 'use no memo';\n\n useTagGroupStyles_unstable(state);\n const styles = useStyles();\n state.root.className = mergeClasses(\n tagPickerGroupClassNames.root,\n styles[tagSizeToTagPickerSize(state.size)],\n styles.root,\n state.root.className,\n );\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","useTagGroupStyles_unstable","tokens","tagSizeToTagPickerSize","tagPickerGroupClassNames","root","useStyles","flexWrap","boxSizing","cursor","medium","padding","spacingVerticalSNudge","gap","spacingHorizontalXS","large","spacingVerticalS","spacingHorizontalSNudge","useTagPickerGroupStyles_unstable","state","styles","className","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAG1D,SAASC,0BAA0B,QAAQ,uBAAuB;AAClE,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,sBAAsB,QAAQ,4BAA4B;AAEnE,OAAO,MAAMC,2BAAgE;IAC3EC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYP,WAAW;IAC3BM,MAAM;QACJE,UAAU;QACVC,WAAW;QACXC,QAAQ;IACV;IACA,gBAAgB;IAChBC,QAAQ;QACNC,SAAS,CAAC,EAAET,OAAOU,qBAAqB,CAAC,GAAG,EAAEV,OAAOU,qBAAqB,CAAC,EAAE,CAAC;QAC9EC,KAAKX,OAAOY,mBAAmB;IACjC;IACAC,OAAO;QACLJ,SAAS,CAAC,EAAET,OAAOc,gBAAgB,CAAC,GAAG,EAAEd,OAAOc,gBAAgB,CAAC,EAAE,CAAC;QACpEH,KAAKX,OAAOe,uBAAuB;IACrC;IACA,eAAe;QACbN,SAAS,CAAC,EAAET,OAAOc,gBAAgB,CAAC,GAAG,EAAEd,OAAOc,gBAAgB,CAAC,EAAE,CAAC;QACpEH,KAAKX,OAAOe,uBAAuB;IACrC;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAACC;IAC/C;IAEAlB,2BAA2BkB;IAC3B,MAAMC,SAASd;IACfa,MAAMd,IAAI,CAACgB,SAAS,GAAGrB,aACrBI,yBAAyBC,IAAI,EAC7Be,MAAM,CAACjB,uBAAuBgB,MAAMG,IAAI,EAAE,EAC1CF,OAAOf,IAAI,EACXc,MAAMd,IAAI,CAACgB,SAAS;IAGtB,OAAOF;AACT,EAAE"}
@@ -0,0 +1,65 @@
1
+ import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';
2
+ import { typographyStyles, tokens } from '@fluentui/react-theme';
3
+ import { tagPickerInputTokens } from '../../utils/tokens';
4
+ export const tagPickerInputClassNames = {
5
+ root: 'fui-TagPickerInput'
6
+ };
7
+ const useBaseStyle = makeResetStyles({
8
+ backgroundColor: tokens.colorTransparentBackground,
9
+ color: tokens.colorNeutralForeground1,
10
+ fontFamily: tokens.fontFamilyBase,
11
+ boxSizing: 'border-box',
12
+ '&:focus': {
13
+ outlineStyle: 'none'
14
+ },
15
+ '&::placeholder': {
16
+ color: tokens.colorNeutralForeground4,
17
+ opacity: 1
18
+ },
19
+ '&::after': {
20
+ visibility: 'hidden',
21
+ whiteSpace: 'pre-wrap'
22
+ },
23
+ border: 'none',
24
+ minWidth: '24px',
25
+ maxWidth: '100%',
26
+ // by default width is 0,
27
+ // it will be calculated based on the requirement of stretching the component to 100% width
28
+ // see setTagPickerInputStretchStyle method for more details
29
+ width: tagPickerInputTokens.width,
30
+ flexGrow: 1
31
+ });
32
+ /**
33
+ * Styles for the root slot
34
+ */ const useStyles = makeStyles({
35
+ // size variants
36
+ medium: {
37
+ ...typographyStyles.body1,
38
+ padding: `${tokens.spacingVerticalSNudge} 0 ${tokens.spacingVerticalSNudge} 0`
39
+ },
40
+ large: {
41
+ ...typographyStyles.body1,
42
+ padding: `${tokens.spacingVerticalMNudge} 0 ${tokens.spacingVerticalMNudge} 0`
43
+ },
44
+ 'extra-large': {
45
+ ...typographyStyles.body1,
46
+ padding: `${tokens.spacingVerticalM} 0 ${tokens.spacingVerticalM} 0`
47
+ },
48
+ disabled: {
49
+ color: tokens.colorNeutralForegroundDisabled,
50
+ backgroundColor: tokens.colorTransparentBackground,
51
+ cursor: 'not-allowed',
52
+ '::placeholder': {
53
+ color: tokens.colorNeutralForegroundDisabled
54
+ }
55
+ }
56
+ });
57
+ /**
58
+ * Apply styling to the TagPickerInput slots based on the state
59
+ */ export const useTagPickerInputStyles_unstable = (state)=>{
60
+ 'use no memo';
61
+ const baseStyle = useBaseStyle();
62
+ const styles = useStyles();
63
+ state.root.className = mergeClasses(tagPickerInputClassNames.root, baseStyle, styles[state.size], state.disabled && styles.disabled, state.root.className);
64
+ return state;
65
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TagPickerInput/useTagPickerInputStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { typographyStyles, tokens } from '@fluentui/react-theme';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { TagPickerInputSlots, TagPickerInputState } from './TagPickerInput.types';\nimport { tagPickerInputTokens } from '../../utils/tokens';\n\nexport const tagPickerInputClassNames: SlotClassNames<TagPickerInputSlots> = {\n root: 'fui-TagPickerInput',\n};\n\nconst useBaseStyle = makeResetStyles({\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorNeutralForeground1,\n fontFamily: tokens.fontFamilyBase,\n boxSizing: 'border-box',\n\n '&:focus': {\n outlineStyle: 'none',\n },\n '&::placeholder': {\n color: tokens.colorNeutralForeground4,\n opacity: 1,\n },\n '&::after': {\n visibility: 'hidden',\n whiteSpace: 'pre-wrap',\n },\n border: 'none',\n minWidth: '24px',\n maxWidth: '100%',\n // by default width is 0,\n // it will be calculated based on the requirement of stretching the component to 100% width\n // see setTagPickerInputStretchStyle method for more details\n width: tagPickerInputTokens.width,\n flexGrow: 1,\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n // size variants\n medium: {\n ...typographyStyles.body1,\n padding: `${tokens.spacingVerticalSNudge} 0 ${tokens.spacingVerticalSNudge} 0`,\n },\n large: {\n ...typographyStyles.body1,\n padding: `${tokens.spacingVerticalMNudge} 0 ${tokens.spacingVerticalMNudge} 0`,\n },\n 'extra-large': {\n ...typographyStyles.body1,\n padding: `${tokens.spacingVerticalM} 0 ${tokens.spacingVerticalM} 0`,\n },\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: tokens.colorTransparentBackground,\n cursor: 'not-allowed',\n '::placeholder': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n});\n\n/**\n * Apply styling to the TagPickerInput slots based on the state\n */\nexport const useTagPickerInputStyles_unstable = (state: TagPickerInputState): TagPickerInputState => {\n 'use no memo';\n\n const baseStyle = useBaseStyle();\n const styles = useStyles();\n state.root.className = mergeClasses(\n tagPickerInputClassNames.root,\n baseStyle,\n styles[state.size],\n state.disabled && styles.disabled,\n state.root.className,\n );\n return state;\n};\n"],"names":["makeResetStyles","makeStyles","mergeClasses","typographyStyles","tokens","tagPickerInputTokens","tagPickerInputClassNames","root","useBaseStyle","backgroundColor","colorTransparentBackground","color","colorNeutralForeground1","fontFamily","fontFamilyBase","boxSizing","outlineStyle","colorNeutralForeground4","opacity","visibility","whiteSpace","border","minWidth","maxWidth","width","flexGrow","useStyles","medium","body1","padding","spacingVerticalSNudge","large","spacingVerticalMNudge","spacingVerticalM","disabled","colorNeutralForegroundDisabled","cursor","useTagPickerInputStyles_unstable","state","baseStyle","styles","className","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,eAAe,EAAEC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC3E,SAASC,gBAAgB,EAAEC,MAAM,QAAQ,wBAAwB;AAGjE,SAASC,oBAAoB,QAAQ,qBAAqB;AAE1D,OAAO,MAAMC,2BAAgE;IAC3EC,MAAM;AACR,EAAE;AAEF,MAAMC,eAAeR,gBAAgB;IACnCS,iBAAiBL,OAAOM,0BAA0B;IAClDC,OAAOP,OAAOQ,uBAAuB;IACrCC,YAAYT,OAAOU,cAAc;IACjCC,WAAW;IAEX,WAAW;QACTC,cAAc;IAChB;IACA,kBAAkB;QAChBL,OAAOP,OAAOa,uBAAuB;QACrCC,SAAS;IACX;IACA,YAAY;QACVC,YAAY;QACZC,YAAY;IACd;IACAC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACV,yBAAyB;IACzB,2FAA2F;IAC3F,4DAA4D;IAC5DC,OAAOnB,qBAAqBmB,KAAK;IACjCC,UAAU;AACZ;AAEA;;CAEC,GACD,MAAMC,YAAYzB,WAAW;IAC3B,gBAAgB;IAChB0B,QAAQ;QACN,GAAGxB,iBAAiByB,KAAK;QACzBC,SAAS,CAAC,EAAEzB,OAAO0B,qBAAqB,CAAC,GAAG,EAAE1B,OAAO0B,qBAAqB,CAAC,EAAE,CAAC;IAChF;IACAC,OAAO;QACL,GAAG5B,iBAAiByB,KAAK;QACzBC,SAAS,CAAC,EAAEzB,OAAO4B,qBAAqB,CAAC,GAAG,EAAE5B,OAAO4B,qBAAqB,CAAC,EAAE,CAAC;IAChF;IACA,eAAe;QACb,GAAG7B,iBAAiByB,KAAK;QACzBC,SAAS,CAAC,EAAEzB,OAAO6B,gBAAgB,CAAC,GAAG,EAAE7B,OAAO6B,gBAAgB,CAAC,EAAE,CAAC;IACtE;IACAC,UAAU;QACRvB,OAAOP,OAAO+B,8BAA8B;QAC5C1B,iBAAiBL,OAAOM,0BAA0B;QAClD0B,QAAQ;QACR,iBAAiB;YACfzB,OAAOP,OAAO+B,8BAA8B;QAC9C;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAME,mCAAmC,CAACC;IAC/C;IAEA,MAAMC,YAAY/B;IAClB,MAAMgC,SAASd;IACfY,MAAM/B,IAAI,CAACkC,SAAS,GAAGvC,aACrBI,yBAAyBC,IAAI,EAC7BgC,WACAC,MAAM,CAACF,MAAMI,IAAI,CAAC,EAClBJ,MAAMJ,QAAQ,IAAIM,OAAON,QAAQ,EACjCI,MAAM/B,IAAI,CAACkC,SAAS;IAEtB,OAAOH;AACT,EAAE"}
@@ -0,0 +1,26 @@
1
+ import { makeStyles, mergeClasses } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ export const tagPickerListClassNames = {
4
+ root: 'fui-TagPickerList'
5
+ };
6
+ /**
7
+ * Styles for the root slot
8
+ */ const useStyles = makeStyles({
9
+ root: {
10
+ boxShadow: `${tokens.shadow16}`,
11
+ borderRadius: tokens.borderRadiusMedium,
12
+ maxHeight: '80vh',
13
+ boxSizing: 'border-box'
14
+ },
15
+ collapsed: {
16
+ display: 'none'
17
+ }
18
+ });
19
+ /**
20
+ * Apply styling to the TagPickerList slots based on the state
21
+ */ export const useTagPickerListStyles_unstable = (state)=>{
22
+ 'use no memo';
23
+ const styles = useStyles();
24
+ state.root.className = mergeClasses(tagPickerListClassNames.root, styles.root, !state.open && styles.collapsed, state.root.className);
25
+ return state;
26
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TagPickerList/useTagPickerListStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { TagPickerListSlots, TagPickerListState } from './TagPickerList.types';\n\nexport const tagPickerListClassNames: SlotClassNames<TagPickerListSlots> = {\n root: 'fui-TagPickerList',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n boxShadow: `${tokens.shadow16}`,\n borderRadius: tokens.borderRadiusMedium,\n maxHeight: '80vh',\n boxSizing: 'border-box',\n },\n\n collapsed: {\n display: 'none',\n },\n});\n\n/**\n * Apply styling to the TagPickerList slots based on the state\n */\nexport const useTagPickerListStyles_unstable = (state: TagPickerListState): TagPickerListState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(\n tagPickerListClassNames.root,\n styles.root,\n !state.open && styles.collapsed,\n state.root.className,\n );\n return state;\n};\n"],"names":["makeStyles","mergeClasses","tokens","tagPickerListClassNames","root","useStyles","boxShadow","shadow16","borderRadius","borderRadiusMedium","maxHeight","boxSizing","collapsed","display","useTagPickerListStyles_unstable","state","styles","className","open"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC1D,SAASC,MAAM,QAAQ,wBAAwB;AAI/C,OAAO,MAAMC,0BAA8D;IACzEC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYL,WAAW;IAC3BI,MAAM;QACJE,WAAW,CAAC,EAAEJ,OAAOK,QAAQ,CAAC,CAAC;QAC/BC,cAAcN,OAAOO,kBAAkB;QACvCC,WAAW;QACXC,WAAW;IACb;IAEAC,WAAW;QACTC,SAAS;IACX;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,kCAAkC,CAACC;IAC9C;IAEA,MAAMC,SAASX;IACfU,MAAMX,IAAI,CAACa,SAAS,GAAGhB,aACrBE,wBAAwBC,IAAI,EAC5BY,OAAOZ,IAAI,EACX,CAACW,MAAMG,IAAI,IAAIF,OAAOJ,SAAS,EAC/BG,MAAMX,IAAI,CAACa,SAAS;IAEtB,OAAOF;AACT,EAAE"}
@@ -0,0 +1,51 @@
1
+ import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';
2
+ import { useOptionStyles_unstable } from '@fluentui/react-combobox';
3
+ import { typographyStyles } from '@fluentui/react-theme';
4
+ export const tagPickerOptionClassNames = {
5
+ root: 'fui-TagPickerOption',
6
+ media: 'fui-TagPickerOption__media',
7
+ secondaryContent: 'fui-TagPickerOption__secondaryContent'
8
+ };
9
+ const useRootBaseStyle = makeResetStyles({
10
+ display: 'flex',
11
+ alignItems: 'center'
12
+ });
13
+ const useRootStyles = makeStyles({
14
+ secondaryContent: {
15
+ display: 'grid',
16
+ gridTemplateColumns: 'auto 1fr'
17
+ }
18
+ });
19
+ const useSecondaryContentBaseStyle = makeResetStyles({
20
+ gridColumnStart: 2,
21
+ gridRowStart: 2,
22
+ ...typographyStyles.caption1
23
+ });
24
+ const useMediaBaseStyle = makeResetStyles({
25
+ gridRowStart: 'span 2'
26
+ });
27
+ /**
28
+ * Apply styling to the TagPickerOption slots based on the state
29
+ */ export const useTagPickerOptionStyles_unstable = (state)=>{
30
+ 'use no memo';
31
+ const rootBaseStyle = useRootBaseStyle();
32
+ const rootStyles = useRootStyles();
33
+ const secondaryContentBaseStyle = useSecondaryContentBaseStyle();
34
+ const mediaBaseStyle = useMediaBaseStyle();
35
+ state.root.className = mergeClasses(tagPickerOptionClassNames.root, rootBaseStyle, state.secondaryContent && rootStyles.secondaryContent, state.root.className);
36
+ useOptionStyles_unstable({
37
+ ...state,
38
+ active: false,
39
+ disabled: false,
40
+ focusVisible: false,
41
+ checkIcon: undefined,
42
+ selected: false
43
+ });
44
+ if (state.media) {
45
+ state.media.className = mergeClasses(tagPickerOptionClassNames.media, mediaBaseStyle, state.media.className);
46
+ }
47
+ if (state.secondaryContent) {
48
+ state.secondaryContent.className = mergeClasses(tagPickerOptionClassNames.secondaryContent, secondaryContentBaseStyle, state.secondaryContent.className);
49
+ }
50
+ return state;
51
+ };