@fluentui/react-tags 0.0.0-nightly-20231004-0414.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 (178) hide show
  1. package/CHANGELOG.json +958 -0
  2. package/CHANGELOG.md +302 -0
  3. package/LICENSE +15 -0
  4. package/README.md +72 -0
  5. package/dist/index.d.ts +405 -0
  6. package/lib/InteractionTag.js +1 -0
  7. package/lib/InteractionTag.js.map +1 -0
  8. package/lib/InteractionTagPrimary.js +1 -0
  9. package/lib/InteractionTagPrimary.js.map +1 -0
  10. package/lib/InteractionTagSecondary.js +1 -0
  11. package/lib/InteractionTagSecondary.js.map +1 -0
  12. package/lib/Tag.js +1 -0
  13. package/lib/Tag.js.map +1 -0
  14. package/lib/TagGroup.js +1 -0
  15. package/lib/TagGroup.js.map +1 -0
  16. package/lib/components/InteractionTag/InteractionTag.js +16 -0
  17. package/lib/components/InteractionTag/InteractionTag.js.map +1 -0
  18. package/lib/components/InteractionTag/InteractionTag.types.js +1 -0
  19. package/lib/components/InteractionTag/InteractionTag.types.js.map +1 -0
  20. package/lib/components/InteractionTag/index.js +6 -0
  21. package/lib/components/InteractionTag/index.js.map +1 -0
  22. package/lib/components/InteractionTag/renderInteractionTag.js +12 -0
  23. package/lib/components/InteractionTag/renderInteractionTag.js.map +1 -0
  24. package/lib/components/InteractionTag/useInteractionTag.js +36 -0
  25. package/lib/components/InteractionTag/useInteractionTag.js.map +1 -0
  26. package/lib/components/InteractionTag/useInteractionTagContextValues.js +23 -0
  27. package/lib/components/InteractionTag/useInteractionTagContextValues.js.map +1 -0
  28. package/lib/components/InteractionTag/useInteractionTagStyles.styles.js +45 -0
  29. package/lib/components/InteractionTag/useInteractionTagStyles.styles.js.map +1 -0
  30. package/lib/components/InteractionTagPrimary/InteractionTagPrimary.js +16 -0
  31. package/lib/components/InteractionTagPrimary/InteractionTagPrimary.js.map +1 -0
  32. package/lib/components/InteractionTagPrimary/InteractionTagPrimary.types.js +1 -0
  33. package/lib/components/InteractionTagPrimary/InteractionTagPrimary.types.js.map +1 -0
  34. package/lib/components/InteractionTagPrimary/index.js +5 -0
  35. package/lib/components/InteractionTagPrimary/index.js.map +1 -0
  36. package/lib/components/InteractionTagPrimary/renderInteractionTagPrimary.js +19 -0
  37. package/lib/components/InteractionTagPrimary/renderInteractionTagPrimary.js.map +1 -0
  38. package/lib/components/InteractionTagPrimary/useInteractionTagPrimary.js +64 -0
  39. package/lib/components/InteractionTagPrimary/useInteractionTagPrimary.js.map +1 -0
  40. package/lib/components/InteractionTagPrimary/useInteractionTagPrimaryStyles.styles.js +232 -0
  41. package/lib/components/InteractionTagPrimary/useInteractionTagPrimaryStyles.styles.js.map +1 -0
  42. package/lib/components/InteractionTagSecondary/InteractionTagSecondary.js +14 -0
  43. package/lib/components/InteractionTagSecondary/InteractionTagSecondary.js.map +1 -0
  44. package/lib/components/InteractionTagSecondary/InteractionTagSecondary.types.js +1 -0
  45. package/lib/components/InteractionTagSecondary/InteractionTagSecondary.types.js.map +1 -0
  46. package/lib/components/InteractionTagSecondary/index.js +5 -0
  47. package/lib/components/InteractionTagSecondary/index.js.map +1 -0
  48. package/lib/components/InteractionTagSecondary/renderInteractionTagSecondary.js +8 -0
  49. package/lib/components/InteractionTagSecondary/renderInteractionTagSecondary.js.map +1 -0
  50. package/lib/components/InteractionTagSecondary/useInteractionTagSecondary.js +57 -0
  51. package/lib/components/InteractionTagSecondary/useInteractionTagSecondary.js.map +1 -0
  52. package/lib/components/InteractionTagSecondary/useInteractionTagSecondaryStyles.styles.js +126 -0
  53. package/lib/components/InteractionTagSecondary/useInteractionTagSecondaryStyles.styles.js.map +1 -0
  54. package/lib/components/Tag/Tag.js +16 -0
  55. package/lib/components/Tag/Tag.js.map +1 -0
  56. package/lib/components/Tag/Tag.types.js +1 -0
  57. package/lib/components/Tag/Tag.types.js.map +1 -0
  58. package/lib/components/Tag/index.js +5 -0
  59. package/lib/components/Tag/index.js.map +1 -0
  60. package/lib/components/Tag/renderTag.js +20 -0
  61. package/lib/components/Tag/renderTag.js.map +1 -0
  62. package/lib/components/Tag/useTag.js +98 -0
  63. package/lib/components/Tag/useTag.js.map +1 -0
  64. package/lib/components/Tag/useTagStyles.styles.js +320 -0
  65. package/lib/components/Tag/useTagStyles.styles.js.map +1 -0
  66. package/lib/components/TagGroup/TagGroup.js +16 -0
  67. package/lib/components/TagGroup/TagGroup.js.map +1 -0
  68. package/lib/components/TagGroup/TagGroup.types.js +1 -0
  69. package/lib/components/TagGroup/TagGroup.types.js.map +1 -0
  70. package/lib/components/TagGroup/index.js +6 -0
  71. package/lib/components/TagGroup/index.js.map +1 -0
  72. package/lib/components/TagGroup/renderTagGroup.js +12 -0
  73. package/lib/components/TagGroup/renderTagGroup.js.map +1 -0
  74. package/lib/components/TagGroup/useTagGroup.js +67 -0
  75. package/lib/components/TagGroup/useTagGroup.js.map +1 -0
  76. package/lib/components/TagGroup/useTagGroupContextValues.js +13 -0
  77. package/lib/components/TagGroup/useTagGroupContextValues.js.map +1 -0
  78. package/lib/components/TagGroup/useTagGroupStyles.styles.js +36 -0
  79. package/lib/components/TagGroup/useTagGroupStyles.styles.js.map +1 -0
  80. package/lib/contexts/interactionTagContext.js +16 -0
  81. package/lib/contexts/interactionTagContext.js.map +1 -0
  82. package/lib/contexts/tagGroupContext.js +11 -0
  83. package/lib/contexts/tagGroupContext.js.map +1 -0
  84. package/lib/index.js +6 -0
  85. package/lib/index.js.map +1 -0
  86. package/lib/utils/index.js +2 -0
  87. package/lib/utils/index.js.map +1 -0
  88. package/lib/utils/types.js +1 -0
  89. package/lib/utils/types.js.map +1 -0
  90. package/lib/utils/useTagAvatarContextValues.js +14 -0
  91. package/lib/utils/useTagAvatarContextValues.js.map +1 -0
  92. package/lib-commonjs/InteractionTag.js +6 -0
  93. package/lib-commonjs/InteractionTag.js.map +1 -0
  94. package/lib-commonjs/InteractionTagPrimary.js +6 -0
  95. package/lib-commonjs/InteractionTagPrimary.js.map +1 -0
  96. package/lib-commonjs/InteractionTagSecondary.js +6 -0
  97. package/lib-commonjs/InteractionTagSecondary.js.map +1 -0
  98. package/lib-commonjs/Tag.js +6 -0
  99. package/lib-commonjs/Tag.js.map +1 -0
  100. package/lib-commonjs/TagGroup.js +6 -0
  101. package/lib-commonjs/TagGroup.js.map +1 -0
  102. package/lib-commonjs/components/InteractionTag/InteractionTag.js +24 -0
  103. package/lib-commonjs/components/InteractionTag/InteractionTag.js.map +1 -0
  104. package/lib-commonjs/components/InteractionTag/InteractionTag.types.js +4 -0
  105. package/lib-commonjs/components/InteractionTag/InteractionTag.types.js.map +1 -0
  106. package/lib-commonjs/components/InteractionTag/index.js +11 -0
  107. package/lib-commonjs/components/InteractionTag/index.js.map +1 -0
  108. package/lib-commonjs/components/InteractionTag/renderInteractionTag.js +20 -0
  109. package/lib-commonjs/components/InteractionTag/renderInteractionTag.js.map +1 -0
  110. package/lib-commonjs/components/InteractionTag/useInteractionTag.js +39 -0
  111. package/lib-commonjs/components/InteractionTag/useInteractionTag.js.map +1 -0
  112. package/lib-commonjs/components/InteractionTag/useInteractionTagContextValues.js +34 -0
  113. package/lib-commonjs/components/InteractionTag/useInteractionTagContextValues.js.map +1 -0
  114. package/lib-commonjs/components/InteractionTag/useInteractionTagStyles.styles.js +93 -0
  115. package/lib-commonjs/components/InteractionTag/useInteractionTagStyles.styles.js.map +1 -0
  116. package/lib-commonjs/components/InteractionTagPrimary/InteractionTagPrimary.js +24 -0
  117. package/lib-commonjs/components/InteractionTagPrimary/InteractionTagPrimary.js.map +1 -0
  118. package/lib-commonjs/components/InteractionTagPrimary/InteractionTagPrimary.types.js +4 -0
  119. package/lib-commonjs/components/InteractionTagPrimary/InteractionTagPrimary.types.js.map +1 -0
  120. package/lib-commonjs/components/InteractionTagPrimary/index.js +10 -0
  121. package/lib-commonjs/components/InteractionTagPrimary/index.js.map +1 -0
  122. package/lib-commonjs/components/InteractionTagPrimary/renderInteractionTagPrimary.js +27 -0
  123. package/lib-commonjs/components/InteractionTagPrimary/renderInteractionTagPrimary.js.map +1 -0
  124. package/lib-commonjs/components/InteractionTagPrimary/useInteractionTagPrimary.js +67 -0
  125. package/lib-commonjs/components/InteractionTagPrimary/useInteractionTagPrimary.js.map +1 -0
  126. package/lib-commonjs/components/InteractionTagPrimary/useInteractionTagPrimaryStyles.styles.js +431 -0
  127. package/lib-commonjs/components/InteractionTagPrimary/useInteractionTagPrimaryStyles.styles.js.map +1 -0
  128. package/lib-commonjs/components/InteractionTagSecondary/InteractionTagSecondary.js +23 -0
  129. package/lib-commonjs/components/InteractionTagSecondary/InteractionTagSecondary.js.map +1 -0
  130. package/lib-commonjs/components/InteractionTagSecondary/InteractionTagSecondary.types.js +4 -0
  131. package/lib-commonjs/components/InteractionTagSecondary/InteractionTagSecondary.types.js.map +1 -0
  132. package/lib-commonjs/components/InteractionTagSecondary/index.js +10 -0
  133. package/lib-commonjs/components/InteractionTagSecondary/index.js.map +1 -0
  134. package/lib-commonjs/components/InteractionTagSecondary/renderInteractionTagSecondary.js +16 -0
  135. package/lib-commonjs/components/InteractionTagSecondary/renderInteractionTagSecondary.js.map +1 -0
  136. package/lib-commonjs/components/InteractionTagSecondary/useInteractionTagSecondary.js +60 -0
  137. package/lib-commonjs/components/InteractionTagSecondary/useInteractionTagSecondary.js.map +1 -0
  138. package/lib-commonjs/components/InteractionTagSecondary/useInteractionTagSecondaryStyles.styles.js +261 -0
  139. package/lib-commonjs/components/InteractionTagSecondary/useInteractionTagSecondaryStyles.styles.js.map +1 -0
  140. package/lib-commonjs/components/Tag/Tag.js +24 -0
  141. package/lib-commonjs/components/Tag/Tag.js.map +1 -0
  142. package/lib-commonjs/components/Tag/Tag.types.js +4 -0
  143. package/lib-commonjs/components/Tag/Tag.types.js.map +1 -0
  144. package/lib-commonjs/components/Tag/index.js +10 -0
  145. package/lib-commonjs/components/Tag/index.js.map +1 -0
  146. package/lib-commonjs/components/Tag/renderTag.js +28 -0
  147. package/lib-commonjs/components/Tag/renderTag.js.map +1 -0
  148. package/lib-commonjs/components/Tag/useTag.js +101 -0
  149. package/lib-commonjs/components/Tag/useTag.js.map +1 -0
  150. package/lib-commonjs/components/Tag/useTagStyles.styles.js +569 -0
  151. package/lib-commonjs/components/Tag/useTagStyles.styles.js.map +1 -0
  152. package/lib-commonjs/components/TagGroup/TagGroup.js +24 -0
  153. package/lib-commonjs/components/TagGroup/TagGroup.js.map +1 -0
  154. package/lib-commonjs/components/TagGroup/TagGroup.types.js +4 -0
  155. package/lib-commonjs/components/TagGroup/TagGroup.types.js.map +1 -0
  156. package/lib-commonjs/components/TagGroup/index.js +11 -0
  157. package/lib-commonjs/components/TagGroup/index.js.map +1 -0
  158. package/lib-commonjs/components/TagGroup/renderTagGroup.js +20 -0
  159. package/lib-commonjs/components/TagGroup/renderTagGroup.js.map +1 -0
  160. package/lib-commonjs/components/TagGroup/useTagGroup.js +70 -0
  161. package/lib-commonjs/components/TagGroup/useTagGroup.js.map +1 -0
  162. package/lib-commonjs/components/TagGroup/useTagGroupContextValues.js +24 -0
  163. package/lib-commonjs/components/TagGroup/useTagGroupContextValues.js.map +1 -0
  164. package/lib-commonjs/components/TagGroup/useTagGroupStyles.styles.js +51 -0
  165. package/lib-commonjs/components/TagGroup/useTagGroupStyles.styles.js.map +1 -0
  166. package/lib-commonjs/contexts/interactionTagContext.js +38 -0
  167. package/lib-commonjs/contexts/interactionTagContext.js.map +1 -0
  168. package/lib-commonjs/contexts/tagGroupContext.js +33 -0
  169. package/lib-commonjs/contexts/tagGroupContext.js.map +1 -0
  170. package/lib-commonjs/index.js +102 -0
  171. package/lib-commonjs/index.js.map +1 -0
  172. package/lib-commonjs/utils/index.js +7 -0
  173. package/lib-commonjs/utils/index.js.map +1 -0
  174. package/lib-commonjs/utils/types.js +6 -0
  175. package/lib-commonjs/utils/types.js.map +1 -0
  176. package/lib-commonjs/utils/useTagAvatarContextValues.js +25 -0
  177. package/lib-commonjs/utils/useTagAvatarContextValues.js.map +1 -0
  178. package/package.json +67 -0
@@ -0,0 +1,320 @@
1
+ import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
3
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
4
+ export const tagClassNames = {
5
+ root: 'fui-Tag',
6
+ media: 'fui-Tag__media',
7
+ icon: 'fui-Tag__icon',
8
+ primaryText: 'fui-Tag__primaryText',
9
+ secondaryText: 'fui-Tag__secondaryText',
10
+ dismissIcon: 'fui-Tag__dismissIcon'
11
+ };
12
+ /**
13
+ * Inner horizontal space left and right of Tag
14
+ */
15
+ const tagSpacingMedium = '7px';
16
+ const tagSpacingSmall = '5px';
17
+ const tagSpacingExtraSmall = '5px';
18
+ const mediumIconSize = '20px';
19
+ const smallIconSize = '16px';
20
+ const extraSmallIconSize = '12px';
21
+ const baseStyles = {
22
+ // reset default button style:
23
+ fontFamily: 'inherit',
24
+ padding: '0px',
25
+ appearance: 'button',
26
+ textAlign: 'unset',
27
+ display: 'inline-grid',
28
+ alignItems: 'center',
29
+ gridTemplateAreas: `
30
+ "media primary dismissIcon"
31
+ "media secondary dismissIcon"
32
+ `,
33
+ boxSizing: 'border-box',
34
+ width: 'fit-content',
35
+ border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`
36
+ };
37
+ const useRootRoundedBaseClassName = /*#__PURE__*/__resetStyles("r1d3fbai", "r89ofxt", {
38
+ r: [".r1d3fbai{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\"media primary dismissIcon\" \"media secondary dismissIcon\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusMedium);}", ".r1d3fbai[data-fui-focus-visible]{border-bottom-right-radius:var(--borderRadiusMedium);border-bottom-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);outline-width:var(--strokeWidthThick);outline-style:solid;outline-color:var(--colorStrokeFocus2);}", ".r89ofxt{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\"media primary dismissIcon\" \"media secondary dismissIcon\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusMedium);}", ".r89ofxt[data-fui-focus-visible]{border-bottom-left-radius:var(--borderRadiusMedium);border-bottom-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);outline-width:var(--strokeWidthThick);outline-style:solid;outline-color:var(--colorStrokeFocus2);}"],
39
+ s: ["@media (forced-colors: active){.r1d3fbai{position:relative;}.r1d3fbai::before{content:\"\";border-top-width:var(--strokeWidthThin);border-top-style:solid;position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-top-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);}}", "@media (forced-colors: active){.r89ofxt{position:relative;}.r89ofxt::before{content:\"\";border-top-width:var(--strokeWidthThin);border-top-style:solid;position:absolute;top:-1px;right:-1px;left:-1px;bottom:-1px;border-top-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);}}"]
40
+ });
41
+ const useRootCircularBaseClassName = /*#__PURE__*/__resetStyles("r76els4", "r1g7lw0i", {
42
+ r: [".r76els4{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\"media primary dismissIcon\" \"media secondary dismissIcon\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusCircular);}", ".r76els4[data-fui-focus-visible]{border-bottom-right-radius:var(--borderRadiusCircular);border-bottom-left-radius:var(--borderRadiusCircular);border-top-right-radius:var(--borderRadiusCircular);border-top-left-radius:var(--borderRadiusCircular);outline-width:var(--strokeWidthThick);outline-style:solid;outline-color:var(--colorStrokeFocus2);}", ".r1g7lw0i{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\"media primary dismissIcon\" \"media secondary dismissIcon\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusCircular);}", ".r1g7lw0i[data-fui-focus-visible]{border-bottom-left-radius:var(--borderRadiusCircular);border-bottom-right-radius:var(--borderRadiusCircular);border-top-left-radius:var(--borderRadiusCircular);border-top-right-radius:var(--borderRadiusCircular);outline-width:var(--strokeWidthThick);outline-style:solid;outline-color:var(--colorStrokeFocus2);}"],
43
+ s: ["@media (forced-colors: active){.r76els4{position:relative;}.r76els4::before{content:\"\";border-top-width:var(--strokeWidthThin);border-top-style:solid;border-left-width:var(--strokeWidthThin);border-left-style:solid;border-right-width:var(--strokeWidthThin);border-right-style:solid;position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:var(--borderRadiusCircular);}}", "@media (forced-colors: active){.r1g7lw0i{position:relative;}.r1g7lw0i::before{content:\"\";border-top-width:var(--strokeWidthThin);border-top-style:solid;border-right-width:var(--strokeWidthThin);border-right-style:solid;border-left-width:var(--strokeWidthThin);border-left-style:solid;position:absolute;top:-1px;right:-1px;left:-1px;bottom:-1px;border-radius:var(--borderRadiusCircular);}}"]
44
+ });
45
+ const useRootStyles = /*#__PURE__*/__styles({
46
+ filled: {
47
+ De3pzq: "f16xq7d1",
48
+ sj55zd: "fkfq4zb"
49
+ },
50
+ outline: {
51
+ De3pzq: "fhovq9v",
52
+ sj55zd: "fkfq4zb",
53
+ g2u3we: "fj3muxo",
54
+ h3c5rm: ["f1akhkt", "f1lxtadh"],
55
+ B9xav0g: "f1aperda",
56
+ zhjwy3: ["f1lxtadh", "f1akhkt"]
57
+ },
58
+ brand: {
59
+ De3pzq: "f16xkysk",
60
+ sj55zd: "faj9fo0"
61
+ },
62
+ medium: {
63
+ Bqenvij: "f1d2rq10"
64
+ },
65
+ small: {
66
+ Bqenvij: "frvgh55"
67
+ },
68
+ "extra-small": {
69
+ Bqenvij: "fjamq6b"
70
+ }
71
+ }, {
72
+ d: [".f16xq7d1{background-color:var(--colorNeutralBackground3);}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".fhovq9v{background-color:var(--colorSubtleBackground);}", ".fj3muxo{border-top-color:var(--colorNeutralStroke1);}", ".f1akhkt{border-right-color:var(--colorNeutralStroke1);}", ".f1lxtadh{border-left-color:var(--colorNeutralStroke1);}", ".f1aperda{border-bottom-color:var(--colorNeutralStroke1);}", ".f16xkysk{background-color:var(--colorBrandBackground2);}", ".faj9fo0{color:var(--colorBrandForeground2);}", ".f1d2rq10{height:32px;}", ".frvgh55{height:24px;}", ".fjamq6b{height:20px;}"]
73
+ });
74
+ const useRootDisabledStyles = /*#__PURE__*/__styles({
75
+ filled: {
76
+ Bceei9c: "fdrzuqr",
77
+ De3pzq: "f1bg9a2p",
78
+ sj55zd: "f1s2aq7o",
79
+ g2u3we: "fgig46g",
80
+ h3c5rm: ["f1mxt3zg", "fziff3p"],
81
+ B9xav0g: "f250w3l",
82
+ zhjwy3: ["fziff3p", "f1mxt3zg"]
83
+ },
84
+ outline: {
85
+ Bceei9c: "fdrzuqr",
86
+ De3pzq: "fhovq9v",
87
+ sj55zd: "f1s2aq7o",
88
+ g2u3we: "f1jj8ep1",
89
+ h3c5rm: ["f15xbau", "fy0fskl"],
90
+ B9xav0g: "f4ikngz",
91
+ zhjwy3: ["fy0fskl", "f15xbau"]
92
+ },
93
+ brand: {
94
+ Bceei9c: "fdrzuqr",
95
+ De3pzq: "f1bg9a2p",
96
+ sj55zd: "f1s2aq7o",
97
+ g2u3we: "fgig46g",
98
+ h3c5rm: ["f1mxt3zg", "fziff3p"],
99
+ B9xav0g: "f250w3l",
100
+ zhjwy3: ["fziff3p", "f1mxt3zg"]
101
+ }
102
+ }, {
103
+ d: [".fdrzuqr{cursor:not-allowed;}", ".f1bg9a2p{background-color:var(--colorNeutralBackgroundDisabled);}", ".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}", ".fgig46g{border-top-color:var(--colorTransparentStrokeDisabled);}", ".f1mxt3zg{border-right-color:var(--colorTransparentStrokeDisabled);}", ".fziff3p{border-left-color:var(--colorTransparentStrokeDisabled);}", ".f250w3l{border-bottom-color:var(--colorTransparentStrokeDisabled);}", ".fhovq9v{background-color:var(--colorSubtleBackground);}", ".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}", ".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}", ".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}", ".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}"]
104
+ });
105
+ /**
106
+ * Styles for root slot when Tag is without leading media/icon
107
+ */
108
+ const useRootWithoutMediaStyles = /*#__PURE__*/__styles({
109
+ medium: {
110
+ uwmqm3: ["f1rtp3s9", "f18k1jr3"]
111
+ },
112
+ small: {
113
+ uwmqm3: ["f15vdbe4", "fwiuce9"]
114
+ },
115
+ "extra-small": {
116
+ uwmqm3: ["f15vdbe4", "fwiuce9"]
117
+ }
118
+ }, {
119
+ d: [".f1rtp3s9{padding-left:7px;}", ".f18k1jr3{padding-right:7px;}", ".f15vdbe4{padding-left:5px;}", ".fwiuce9{padding-right:5px;}"]
120
+ });
121
+ /**
122
+ * Styles for root slot when Tag is without dismiss icon
123
+ */
124
+ const useRootWithoutDismissStyles = /*#__PURE__*/__styles({
125
+ medium: {
126
+ z189sj: ["f18k1jr3", "f1rtp3s9"]
127
+ },
128
+ small: {
129
+ z189sj: ["fwiuce9", "f15vdbe4"]
130
+ },
131
+ "extra-small": {
132
+ z189sj: ["fwiuce9", "f15vdbe4"]
133
+ }
134
+ }, {
135
+ d: [".f18k1jr3{padding-right:7px;}", ".f1rtp3s9{padding-left:7px;}", ".fwiuce9{padding-right:5px;}", ".f15vdbe4{padding-left:5px;}"]
136
+ });
137
+ export const useIconStyles = /*#__PURE__*/__styles({
138
+ base: {
139
+ Ijaq50: "f11uok23",
140
+ Br312pm: "f1qdfnnj",
141
+ nk6f5a: "f1s27gz",
142
+ Bw0ie65: "f86d0yl",
143
+ mc9l5x: "f22iagw"
144
+ },
145
+ medium: {
146
+ uwmqm3: ["f1rtp3s9", "f18k1jr3"],
147
+ z189sj: ["f7x41pl", "fruq291"],
148
+ a9b677: "f64fuq3",
149
+ Be2twd7: "fe5j1ua"
150
+ },
151
+ small: {
152
+ uwmqm3: ["f15vdbe4", "fwiuce9"],
153
+ z189sj: ["ffczdla", "fgiv446"],
154
+ a9b677: "fjw5fx7",
155
+ Be2twd7: "f4ybsrx"
156
+ },
157
+ "extra-small": {
158
+ uwmqm3: ["f15vdbe4", "fwiuce9"],
159
+ z189sj: ["ffczdla", "fgiv446"],
160
+ a9b677: "frx94fk",
161
+ Be2twd7: "f1ugzwwg"
162
+ }
163
+ }, {
164
+ d: [".f11uok23{grid-row-start:media;}", ".f1qdfnnj{grid-column-start:media;}", ".f1s27gz{grid-row-end:media;}", ".f86d0yl{grid-column-end:media;}", ".f22iagw{display:flex;}", ".f1rtp3s9{padding-left:7px;}", ".f18k1jr3{padding-right:7px;}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f64fuq3{width:20px;}", ".fe5j1ua{font-size:20px;}", ".f15vdbe4{padding-left:5px;}", ".fwiuce9{padding-right:5px;}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".fjw5fx7{width:16px;}", ".f4ybsrx{font-size:16px;}", ".frx94fk{width:12px;}", ".f1ugzwwg{font-size:12px;}"]
165
+ });
166
+ export const useMediaStyles = /*#__PURE__*/__styles({
167
+ base: {
168
+ Ijaq50: "f11uok23",
169
+ Br312pm: "f1qdfnnj",
170
+ nk6f5a: "f1s27gz",
171
+ Bw0ie65: "f86d0yl",
172
+ mc9l5x: "f22iagw",
173
+ uwmqm3: ["f10xn8zz", "f136y8j8"]
174
+ },
175
+ medium: {
176
+ z189sj: ["f1vdfbxk", "f1f5gg8d"]
177
+ },
178
+ small: {
179
+ z189sj: ["fdw0yi8", "fk8j09s"]
180
+ },
181
+ "extra-small": {
182
+ z189sj: ["fdw0yi8", "fk8j09s"]
183
+ }
184
+ }, {
185
+ d: [".f11uok23{grid-row-start:media;}", ".f1qdfnnj{grid-column-start:media;}", ".f1s27gz{grid-row-end:media;}", ".f86d0yl{grid-column-end:media;}", ".f22iagw{display:flex;}", ".f10xn8zz{padding-left:1px;}", ".f136y8j8{padding-right:1px;}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}", ".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}"]
186
+ });
187
+ const useDismissIconStyles = /*#__PURE__*/__styles({
188
+ base: {
189
+ Ijaq50: "fneo8i2",
190
+ Br312pm: "frbqjvc",
191
+ nk6f5a: "f1a6k60w",
192
+ Bw0ie65: "f1ay3jj",
193
+ mc9l5x: "f22iagw",
194
+ ze5xyy: "f4xjyn1",
195
+ oy3o9n: "f1xtr1b3"
196
+ },
197
+ medium: {
198
+ uwmqm3: ["fruq291", "f7x41pl"],
199
+ z189sj: ["f18k1jr3", "f1rtp3s9"],
200
+ Be2twd7: "fe5j1ua"
201
+ },
202
+ small: {
203
+ uwmqm3: ["fgiv446", "ffczdla"],
204
+ z189sj: ["fwiuce9", "f15vdbe4"],
205
+ Be2twd7: "f4ybsrx"
206
+ },
207
+ "extra-small": {
208
+ uwmqm3: ["fgiv446", "ffczdla"],
209
+ z189sj: ["fwiuce9", "f15vdbe4"],
210
+ Be2twd7: "f1ugzwwg"
211
+ },
212
+ filled: {
213
+ eoavqd: "f8491dx",
214
+ Bi91k9c: "f3ymbdj",
215
+ lj723h: "fryz5bw"
216
+ },
217
+ outline: {
218
+ eoavqd: "f8491dx",
219
+ Bi91k9c: "f3ymbdj",
220
+ lj723h: "fryz5bw"
221
+ },
222
+ brand: {
223
+ eoavqd: "f8491dx",
224
+ Bi91k9c: "f3ymbdj",
225
+ lj723h: "fryz5bw"
226
+ }
227
+ }, {
228
+ d: [".fneo8i2{grid-row-start:dismissIcon;}", ".frbqjvc{grid-column-start:dismissIcon;}", ".f1a6k60w{grid-row-end:dismissIcon;}", ".f1ay3jj{grid-column-end:dismissIcon;}", ".f22iagw{display:flex;}", ".fruq291{padding-left:var(--spacingHorizontalXS);}", ".f7x41pl{padding-right:var(--spacingHorizontalXS);}", ".f18k1jr3{padding-right:7px;}", ".f1rtp3s9{padding-left:7px;}", ".fe5j1ua{font-size:20px;}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}", ".fwiuce9{padding-right:5px;}", ".f15vdbe4{padding-left:5px;}", ".f4ybsrx{font-size:16px;}", ".f1ugzwwg{font-size:12px;}"],
229
+ m: [["@media (forced-colors: active){.f4xjyn1:hover{color:Highlight;}}", {
230
+ m: "(forced-colors: active)"
231
+ }], ["@media (forced-colors: active){.f1xtr1b3:active{color:Highlight;}}", {
232
+ m: "(forced-colors: active)"
233
+ }]],
234
+ h: [".f8491dx:hover{cursor:pointer;}", ".f3ymbdj:hover{color:var(--colorCompoundBrandForeground1Hover);}"],
235
+ a: [".fryz5bw:active{color:var(--colorCompoundBrandForeground1Pressed);}"]
236
+ });
237
+ export const usePrimaryTextStyles = /*#__PURE__*/__styles({
238
+ base: {
239
+ Huce71: "fz5stix",
240
+ uwmqm3: ["fgiv446", "ffczdla"],
241
+ z189sj: ["ffczdla", "fgiv446"]
242
+ },
243
+ medium: {
244
+ Bahqtrf: "fk6fouc",
245
+ Be2twd7: "fkhj508",
246
+ Bhrd7zp: "figsok6",
247
+ Bg96gwp: "f1i3iumi"
248
+ },
249
+ small: {
250
+ Bahqtrf: "fk6fouc",
251
+ Be2twd7: "fy9rknc",
252
+ Bhrd7zp: "figsok6",
253
+ Bg96gwp: "fwrc4pm"
254
+ },
255
+ "extra-small": {
256
+ Bahqtrf: "fk6fouc",
257
+ Be2twd7: "fy9rknc",
258
+ Bhrd7zp: "figsok6",
259
+ Bg96gwp: "fwrc4pm"
260
+ },
261
+ withoutSecondaryText: {
262
+ Br312pm: "faqcfhe",
263
+ Ijaq50: "f1q3ipgb",
264
+ nk6f5a: "fc0ab3q",
265
+ Byoj8tv: "f1g03r3y"
266
+ },
267
+ withSecondaryText: {
268
+ Ijaq50: "f1q3ipgb",
269
+ Br312pm: "faqcfhe",
270
+ nk6f5a: "fs32cm1",
271
+ Bw0ie65: "f1bo7viq",
272
+ Bahqtrf: "fk6fouc",
273
+ Be2twd7: "fy9rknc",
274
+ Bhrd7zp: "figsok6",
275
+ Bg96gwp: "fwrc4pm",
276
+ B6of3ja: "f1ryq6si"
277
+ }
278
+ }, {
279
+ d: [".fz5stix{white-space:nowrap;}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".faqcfhe{grid-column-start:primary;}", ".f1q3ipgb{grid-row-start:primary;}", ".fc0ab3q{grid-row-end:secondary;}", ".f1g03r3y{padding-bottom:var(--spacingHorizontalXXS);}", ".fs32cm1{grid-row-end:primary;}", ".f1bo7viq{grid-column-end:primary;}", ".f1ryq6si{margin-top:-2px;}"]
280
+ });
281
+ export const useSecondaryTextBaseClassName = /*#__PURE__*/__resetStyles("r7hv1ps", "rnrslm9", [".r7hv1ps{grid-area:secondary;padding-left:var(--spacingHorizontalXXS);padding-right:var(--spacingHorizontalXXS);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase100);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase100);white-space:nowrap;}", ".rnrslm9{grid-area:secondary;padding-right:var(--spacingHorizontalXXS);padding-left:var(--spacingHorizontalXXS);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase100);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase100);white-space:nowrap;}"]);
282
+ /**
283
+ * Apply styling to the Tag slots based on the state
284
+ */
285
+ export const useTagStyles_unstable = state => {
286
+ const rootRoundedBaseClassName = useRootRoundedBaseClassName();
287
+ const rootCircularBaseClassName = useRootCircularBaseClassName();
288
+ const rootStyles = useRootStyles();
289
+ const rootDisabledStyles = useRootDisabledStyles();
290
+ const rootWithoutMediaStyles = useRootWithoutMediaStyles();
291
+ const rootWithoutDismissStyles = useRootWithoutDismissStyles();
292
+ const iconStyles = useIconStyles();
293
+ const mediaStyles = useMediaStyles();
294
+ const dismissIconStyles = useDismissIconStyles();
295
+ const primaryTextStyles = usePrimaryTextStyles();
296
+ const secondaryTextBaseClassName = useSecondaryTextBaseClassName();
297
+ const {
298
+ shape,
299
+ size,
300
+ appearance
301
+ } = state;
302
+ state.root.className = mergeClasses(tagClassNames.root, shape === 'rounded' ? rootRoundedBaseClassName : rootCircularBaseClassName, state.disabled ? rootDisabledStyles[appearance] : rootStyles[appearance], rootStyles[size], !state.media && !state.icon && rootWithoutMediaStyles[size], !state.dismissIcon && rootWithoutDismissStyles[size], state.root.className);
303
+ if (state.media) {
304
+ state.media.className = mergeClasses(tagClassNames.media, mediaStyles.base, mediaStyles[size], state.media.className);
305
+ }
306
+ if (state.icon) {
307
+ state.icon.className = mergeClasses(tagClassNames.icon, iconStyles.base, iconStyles[size], state.icon.className);
308
+ }
309
+ if (state.primaryText) {
310
+ state.primaryText.className = mergeClasses(tagClassNames.primaryText, primaryTextStyles.base, primaryTextStyles[size], state.secondaryText ? primaryTextStyles.withSecondaryText : primaryTextStyles.withoutSecondaryText, state.primaryText.className);
311
+ }
312
+ if (state.secondaryText) {
313
+ state.secondaryText.className = mergeClasses(tagClassNames.secondaryText, secondaryTextBaseClassName, state.secondaryText.className);
314
+ }
315
+ if (state.dismissIcon) {
316
+ state.dismissIcon.className = mergeClasses(tagClassNames.dismissIcon, dismissIconStyles.base, dismissIconStyles[size], !state.disabled && dismissIconStyles[appearance], state.dismissIcon.className);
317
+ }
318
+ return state;
319
+ };
320
+ //# sourceMappingURL=useTagStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__resetStyles","__styles","mergeClasses","shorthands","tokens","typographyStyles","createCustomFocusIndicatorStyle","tagClassNames","root","media","icon","primaryText","secondaryText","dismissIcon","tagSpacingMedium","tagSpacingSmall","tagSpacingExtraSmall","mediumIconSize","smallIconSize","extraSmallIconSize","baseStyles","fontFamily","padding","appearance","textAlign","display","alignItems","gridTemplateAreas","boxSizing","width","border","strokeWidthThin","colorTransparentStroke","useRootRoundedBaseClassName","r","s","useRootCircularBaseClassName","useRootStyles","filled","De3pzq","sj55zd","outline","g2u3we","h3c5rm","B9xav0g","zhjwy3","brand","medium","Bqenvij","small","d","useRootDisabledStyles","Bceei9c","useRootWithoutMediaStyles","uwmqm3","useRootWithoutDismissStyles","z189sj","useIconStyles","base","Ijaq50","Br312pm","nk6f5a","Bw0ie65","mc9l5x","a9b677","Be2twd7","useMediaStyles","useDismissIconStyles","ze5xyy","oy3o9n","eoavqd","Bi91k9c","lj723h","m","h","a","usePrimaryTextStyles","Huce71","Bahqtrf","Bhrd7zp","Bg96gwp","withoutSecondaryText","Byoj8tv","withSecondaryText","B6of3ja","useSecondaryTextBaseClassName","useTagStyles_unstable","state","rootRoundedBaseClassName","rootCircularBaseClassName","rootStyles","rootDisabledStyles","rootWithoutMediaStyles","rootWithoutDismissStyles","iconStyles","mediaStyles","dismissIconStyles","primaryTextStyles","secondaryTextBaseClassName","shape","size","className","disabled"],"sources":["useTagStyles.styles.js"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nexport const tagClassNames = {\n root: 'fui-Tag',\n media: 'fui-Tag__media',\n icon: 'fui-Tag__icon',\n primaryText: 'fui-Tag__primaryText',\n secondaryText: 'fui-Tag__secondaryText',\n dismissIcon: 'fui-Tag__dismissIcon'\n};\n/**\n * Inner horizontal space left and right of Tag\n */ const tagSpacingMedium = '7px';\nconst tagSpacingSmall = '5px';\nconst tagSpacingExtraSmall = '5px';\nconst mediumIconSize = '20px';\nconst smallIconSize = '16px';\nconst extraSmallIconSize = '12px';\nconst baseStyles = {\n // reset default button style:\n fontFamily: 'inherit',\n padding: '0px',\n appearance: 'button',\n textAlign: 'unset',\n display: 'inline-grid',\n alignItems: 'center',\n gridTemplateAreas: `\n \"media primary dismissIcon\"\n \"media secondary dismissIcon\"\n `,\n boxSizing: 'border-box',\n width: 'fit-content',\n border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`\n};\nconst useRootRoundedBaseClassName = makeResetStyles({\n ...baseStyles,\n borderRadius: tokens.borderRadiusMedium,\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ...shorthands.outline(tokens.strokeWidthThick, 'solid', tokens.colorStrokeFocus2)\n }),\n /**\n * Pseudo element to draw the border for windows high contrast mode -\n * when Tag is with secondary text, primary text has negative margin that covers the border.\n */ '@media (forced-colors: active)': {\n position: 'relative',\n '::before': {\n content: '\"\"',\n ...shorthands.borderTop(tokens.strokeWidthThin, 'solid'),\n position: 'absolute',\n top: '-1px',\n left: '-1px',\n right: '-1px',\n bottom: '-1px',\n borderTopLeftRadius: tokens.borderRadiusMedium,\n borderTopRightRadius: tokens.borderRadiusMedium\n }\n }\n});\nconst useRootCircularBaseClassName = makeResetStyles({\n ...baseStyles,\n borderRadius: tokens.borderRadiusCircular,\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderRadius(tokens.borderRadiusCircular),\n ...shorthands.outline(tokens.strokeWidthThick, 'solid', tokens.colorStrokeFocus2)\n }),\n /**\n * Pseudo element to draw the border for windows high contrast mode -\n * when Tag is with secondary text, primary text has negative margin that covers the border.\n */ '@media (forced-colors: active)': {\n position: 'relative',\n '::before': {\n content: '\"\"',\n ...shorthands.borderTop(tokens.strokeWidthThin, 'solid'),\n ...shorthands.borderLeft(tokens.strokeWidthThin, 'solid'),\n ...shorthands.borderRight(tokens.strokeWidthThin, 'solid'),\n position: 'absolute',\n top: '-1px',\n left: '-1px',\n right: '-1px',\n bottom: '-1px',\n borderRadius: tokens.borderRadiusCircular\n }\n }\n});\nconst useRootStyles = makeStyles({\n filled: {\n backgroundColor: tokens.colorNeutralBackground3,\n color: tokens.colorNeutralForeground2\n },\n outline: {\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForeground2,\n ...shorthands.borderColor(tokens.colorNeutralStroke1)\n },\n brand: {\n backgroundColor: tokens.colorBrandBackground2,\n color: tokens.colorBrandForeground2\n },\n medium: {\n height: '32px'\n },\n small: {\n height: '24px'\n },\n 'extra-small': {\n height: '20px'\n }\n});\nconst useRootDisabledStyles = makeStyles({\n filled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n color: tokens.colorNeutralForegroundDisabled,\n ...shorthands.borderColor(tokens.colorTransparentStrokeDisabled)\n },\n outline: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorSubtleBackground,\n color: tokens.colorNeutralForegroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled)\n },\n brand: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n color: tokens.colorNeutralForegroundDisabled,\n ...shorthands.borderColor(tokens.colorTransparentStrokeDisabled)\n }\n});\n/**\n * Styles for root slot when Tag is without leading media/icon\n */ const useRootWithoutMediaStyles = makeStyles({\n medium: {\n paddingLeft: tagSpacingMedium\n },\n small: {\n paddingLeft: tagSpacingSmall\n },\n 'extra-small': {\n paddingLeft: tagSpacingExtraSmall\n }\n});\n/**\n * Styles for root slot when Tag is without dismiss icon\n */ const useRootWithoutDismissStyles = makeStyles({\n medium: {\n paddingRight: tagSpacingMedium\n },\n small: {\n paddingRight: tagSpacingSmall\n },\n 'extra-small': {\n paddingRight: tagSpacingExtraSmall\n }\n});\nexport const useIconStyles = makeStyles({\n base: {\n ...shorthands.gridArea('media'),\n display: 'flex'\n },\n medium: {\n paddingLeft: tagSpacingMedium,\n paddingRight: tokens.spacingHorizontalXS,\n width: mediumIconSize,\n fontSize: mediumIconSize\n },\n small: {\n paddingLeft: tagSpacingSmall,\n paddingRight: tokens.spacingHorizontalXXS,\n width: smallIconSize,\n fontSize: smallIconSize\n },\n 'extra-small': {\n paddingLeft: tagSpacingExtraSmall,\n paddingRight: tokens.spacingHorizontalXXS,\n width: extraSmallIconSize,\n fontSize: extraSmallIconSize\n }\n});\nexport const useMediaStyles = makeStyles({\n base: {\n ...shorthands.gridArea('media'),\n display: 'flex',\n paddingLeft: '1px'\n },\n medium: {\n paddingRight: tokens.spacingHorizontalS\n },\n small: {\n paddingRight: tokens.spacingHorizontalSNudge\n },\n 'extra-small': {\n paddingRight: tokens.spacingHorizontalSNudge\n }\n});\nconst useDismissIconStyles = makeStyles({\n base: {\n ...shorthands.gridArea('dismissIcon'),\n display: 'flex',\n // windows high contrast:\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight'\n },\n ':active': {\n color: 'Highlight'\n }\n }\n },\n medium: {\n paddingLeft: tokens.spacingHorizontalXS,\n paddingRight: tagSpacingMedium,\n fontSize: mediumIconSize\n },\n small: {\n paddingLeft: tokens.spacingHorizontalXXS,\n paddingRight: tagSpacingSmall,\n fontSize: smallIconSize\n },\n 'extra-small': {\n paddingLeft: tokens.spacingHorizontalXXS,\n paddingRight: tagSpacingExtraSmall,\n fontSize: extraSmallIconSize\n },\n filled: {\n ':hover': {\n cursor: 'pointer',\n color: tokens.colorCompoundBrandForeground1Hover\n },\n ':active': {\n color: tokens.colorCompoundBrandForeground1Pressed\n }\n },\n outline: {\n ':hover': {\n cursor: 'pointer',\n color: tokens.colorCompoundBrandForeground1Hover\n },\n ':active': {\n color: tokens.colorCompoundBrandForeground1Pressed\n }\n },\n brand: {\n ':hover': {\n cursor: 'pointer',\n color: tokens.colorCompoundBrandForeground1Hover\n },\n ':active': {\n color: tokens.colorCompoundBrandForeground1Pressed\n }\n }\n});\nexport const usePrimaryTextStyles = makeStyles({\n base: {\n whiteSpace: 'nowrap',\n paddingLeft: tokens.spacingHorizontalXXS,\n paddingRight: tokens.spacingHorizontalXXS\n },\n medium: {\n ...typographyStyles.body1\n },\n small: {\n ...typographyStyles.caption1\n },\n 'extra-small': {\n ...typographyStyles.caption1\n },\n withoutSecondaryText: {\n gridColumnStart: 'primary',\n gridRowStart: 'primary',\n gridRowEnd: 'secondary',\n paddingBottom: tokens.spacingHorizontalXXS\n },\n withSecondaryText: {\n ...shorthands.gridArea('primary'),\n ...typographyStyles.caption1,\n marginTop: '-2px'\n }\n});\nexport const useSecondaryTextBaseClassName = makeResetStyles({\n gridArea: 'secondary',\n paddingLeft: tokens.spacingHorizontalXXS,\n paddingRight: tokens.spacingHorizontalXXS,\n ...typographyStyles.caption2,\n whiteSpace: 'nowrap'\n});\n/**\n * Apply styling to the Tag slots based on the state\n */ export const useTagStyles_unstable = (state)=>{\n const rootRoundedBaseClassName = useRootRoundedBaseClassName();\n const rootCircularBaseClassName = useRootCircularBaseClassName();\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootWithoutMediaStyles = useRootWithoutMediaStyles();\n const rootWithoutDismissStyles = useRootWithoutDismissStyles();\n const iconStyles = useIconStyles();\n const mediaStyles = useMediaStyles();\n const dismissIconStyles = useDismissIconStyles();\n const primaryTextStyles = usePrimaryTextStyles();\n const secondaryTextBaseClassName = useSecondaryTextBaseClassName();\n const { shape, size, appearance } = state;\n state.root.className = mergeClasses(tagClassNames.root, shape === 'rounded' ? rootRoundedBaseClassName : rootCircularBaseClassName, state.disabled ? rootDisabledStyles[appearance] : rootStyles[appearance], rootStyles[size], !state.media && !state.icon && rootWithoutMediaStyles[size], !state.dismissIcon && rootWithoutDismissStyles[size], state.root.className);\n if (state.media) {\n state.media.className = mergeClasses(tagClassNames.media, mediaStyles.base, mediaStyles[size], state.media.className);\n }\n if (state.icon) {\n state.icon.className = mergeClasses(tagClassNames.icon, iconStyles.base, iconStyles[size], state.icon.className);\n }\n if (state.primaryText) {\n state.primaryText.className = mergeClasses(tagClassNames.primaryText, primaryTextStyles.base, primaryTextStyles[size], state.secondaryText ? primaryTextStyles.withSecondaryText : primaryTextStyles.withoutSecondaryText, state.primaryText.className);\n }\n if (state.secondaryText) {\n state.secondaryText.className = mergeClasses(tagClassNames.secondaryText, secondaryTextBaseClassName, state.secondaryText.className);\n }\n if (state.dismissIcon) {\n state.dismissIcon.className = mergeClasses(tagClassNames.dismissIcon, dismissIconStyles.base, dismissIconStyles[size], !state.disabled && dismissIconStyles[appearance], state.dismissIcon.className);\n }\n return state;\n};\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { useTagGroup_unstable } from './useTagGroup';
3
+ import { renderTagGroup_unstable } from './renderTagGroup';
4
+ import { useTagGroupStyles_unstable } from './useTagGroupStyles.styles';
5
+ import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
6
+ import { useTagGroupContextValues_unstable } from './useTagGroupContextValues';
7
+ /**
8
+ * TagGroup component - a container for multiple tags.
9
+ * Provides context to size or dismiss children tags.
10
+ */ export const TagGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{
11
+ const state = useTagGroup_unstable(props, ref);
12
+ useTagGroupStyles_unstable(state);
13
+ useCustomStyleHook_unstable('useTagGroupStyles_unstable')(state);
14
+ return renderTagGroup_unstable(state, useTagGroupContextValues_unstable(state));
15
+ });
16
+ TagGroup.displayName = 'TagGroup';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTagGroup_unstable } from './useTagGroup';\nimport { renderTagGroup_unstable } from './renderTagGroup';\nimport { useTagGroupStyles_unstable } from './useTagGroupStyles.styles';\nimport type { TagGroupProps } from './TagGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useTagGroupContextValues_unstable } from './useTagGroupContextValues';\n\n/**\n * TagGroup component - a container for multiple tags.\n * Provides context to size or dismiss children tags.\n */\nexport const TagGroup: ForwardRefComponent<TagGroupProps> = React.forwardRef((props, ref) => {\n const state = useTagGroup_unstable(props, ref);\n\n useTagGroupStyles_unstable(state);\n\n useCustomStyleHook_unstable('useTagGroupStyles_unstable')(state);\n\n return renderTagGroup_unstable(state, useTagGroupContextValues_unstable(state));\n});\n\nTagGroup.displayName = 'TagGroup';\n"],"names":["React","useTagGroup_unstable","renderTagGroup_unstable","useTagGroupStyles_unstable","useCustomStyleHook_unstable","useTagGroupContextValues_unstable","TagGroup","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ,gBAAgB;AACrD,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,0BAA0B,QAAQ,6BAA6B;AAGxE,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,iCAAiC,QAAQ,6BAA6B;AAE/E;;;CAGC,GACD,OAAO,MAAMC,yBAA+CN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACnF,MAAMC,QAAQT,qBAAqBO,OAAOC;IAE1CN,2BAA2BO;IAE3BN,4BAA4B,8BAA8BM;IAE1D,OAAOR,wBAAwBQ,OAAOL,kCAAkCK;AAC1E,GAAG;AAEHJ,SAASK,WAAW,GAAG"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagGroup.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { TagSize, TagValue, TagDismissHandler } from '../../utils/types';\nimport { TagGroupContextValue } from '../../contexts/tagGroupContext';\n\nexport type TagGroupContextValues = {\n tagGroup: TagGroupContextValue;\n};\n\nexport type TagGroupSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * TagGroup Props\n */\nexport type TagGroupProps<Value = TagValue> = ComponentProps<TagGroupSlots> & {\n /**\n * Callback for when a tag is dismissed\n */\n onDismiss?: TagDismissHandler<Value>;\n\n size?: TagSize;\n};\n\n/**\n * State used in rendering TagGroup\n */\nexport type TagGroupState<Value = TagValue> = ComponentState<TagGroupSlots> &\n Required<Pick<TagGroupProps, 'size'>> & {\n handleTagDismiss: TagDismissHandler<Value>;\n };\n"],"names":[],"mappings":"AAAA,WA8BI"}
@@ -0,0 +1,6 @@
1
+ export * from './TagGroup';
2
+ export * from './TagGroup.types';
3
+ export * from './renderTagGroup';
4
+ export * from './useTagGroup';
5
+ export * from './useTagGroupStyles.styles';
6
+ export * from './useTagGroupContextValues';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './TagGroup';\nexport * from './TagGroup.types';\nexport * from './renderTagGroup';\nexport * from './useTagGroup';\nexport * from './useTagGroupStyles.styles';\nexport * from './useTagGroupContextValues';\n"],"names":[],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
+ import { assertSlots } from '@fluentui/react-utilities';
3
+ import { TagGroupContextProvider } from '../../contexts/tagGroupContext';
4
+ /**
5
+ * Render the final JSX of TagGroup
6
+ */ export const renderTagGroup_unstable = (state, contextValue)=>{
7
+ assertSlots(state);
8
+ return /*#__PURE__*/ _jsx(TagGroupContextProvider, {
9
+ value: contextValue.tagGroup,
10
+ children: /*#__PURE__*/ _jsx(state.root, {})
11
+ });
12
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderTagGroup.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { TagGroupState, TagGroupSlots, TagGroupContextValues } from './TagGroup.types';\nimport { TagGroupContextProvider } from '../../contexts/tagGroupContext';\n\n/**\n * Render the final JSX of TagGroup\n */\nexport const renderTagGroup_unstable = (state: TagGroupState, contextValue: TagGroupContextValues) => {\n assertSlots<TagGroupSlots>(state);\n\n return (\n <TagGroupContextProvider value={contextValue.tagGroup}>\n <state.root />\n </TagGroupContextProvider>\n );\n};\n"],"names":["assertSlots","TagGroupContextProvider","renderTagGroup_unstable","state","contextValue","value","tagGroup","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAExD,SAASC,uBAAuB,QAAQ,iCAAiC;AAEzE;;CAEC,GACD,OAAO,MAAMC,0BAA0B,CAACC,OAAsBC;IAC5DJ,YAA2BG;IAE3B,qBACE,KAACF;QAAwBI,OAAOD,aAAaE,QAAQ;kBACnD,cAAA,KAACH,MAAMI,IAAI;;AAGjB,EAAE"}
@@ -0,0 +1,67 @@
1
+ import * as React from 'react';
2
+ import { getNativeElementProps, useEventCallback, useMergedRefs, slot } from '@fluentui/react-utilities';
3
+ import { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';
4
+ import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
5
+ import { interactionTagSecondaryClassNames } from '../InteractionTagSecondary/useInteractionTagSecondaryStyles.styles';
6
+ /**
7
+ * Create the state required to render TagGroup.
8
+ *
9
+ * The returned state can be modified with hooks such as useTagGroupStyles_unstable,
10
+ * before being passed to renderTagGroup_unstable.
11
+ *
12
+ * @param props - props from this instance of TagGroup
13
+ * @param ref - reference to root HTMLDivElement of TagGroup
14
+ */ export const useTagGroup_unstable = (props, ref)=>{
15
+ const { onDismiss, size = 'medium' } = props;
16
+ const innerRef = React.useRef();
17
+ const { targetDocument } = useFluent();
18
+ const { findNextFocusable, findPrevFocusable } = useFocusFinders();
19
+ const handleTagDismiss = useEventCallback((e, data)=>{
20
+ var _innerRef_current;
21
+ onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(e, data);
22
+ // set focus after tag dismiss
23
+ const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
24
+ if ((_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.contains(activeElement)) {
25
+ // focus on next tag only if the active element is within the current tag group
26
+ const next = findNextFocusable(activeElement, {
27
+ container: innerRef.current
28
+ });
29
+ if (next) {
30
+ next.focus();
31
+ return;
32
+ }
33
+ // if there is no next focusable, focus on the previous focusable
34
+ if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.className.includes(interactionTagSecondaryClassNames.root)) {
35
+ const prev = findPrevFocusable(activeElement.parentElement, {
36
+ container: innerRef.current
37
+ });
38
+ prev === null || prev === void 0 ? void 0 : prev.focus();
39
+ } else {
40
+ const prev = findPrevFocusable(activeElement, {
41
+ container: innerRef.current
42
+ });
43
+ prev === null || prev === void 0 ? void 0 : prev.focus();
44
+ }
45
+ }
46
+ });
47
+ const arrowNavigationProps = useArrowNavigationGroup({
48
+ circular: true,
49
+ axis: 'both',
50
+ memorizeCurrent: true
51
+ });
52
+ return {
53
+ handleTagDismiss,
54
+ size,
55
+ components: {
56
+ root: 'div'
57
+ },
58
+ root: slot.always(getNativeElementProps('div', {
59
+ ref: useMergedRefs(ref, innerRef),
60
+ role: 'toolbar',
61
+ ...arrowNavigationProps,
62
+ ...props
63
+ }), {
64
+ elementType: 'div'
65
+ })
66
+ };
67
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useTagGroup.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useEventCallback, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport type { TagGroupProps, TagGroupState } from './TagGroup.types';\nimport { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { interactionTagSecondaryClassNames } from '../InteractionTagSecondary/useInteractionTagSecondaryStyles.styles';\n\n/**\n * Create the state required to render TagGroup.\n *\n * The returned state can be modified with hooks such as useTagGroupStyles_unstable,\n * before being passed to renderTagGroup_unstable.\n *\n * @param props - props from this instance of TagGroup\n * @param ref - reference to root HTMLDivElement of TagGroup\n */\nexport const useTagGroup_unstable = (props: TagGroupProps, ref: React.Ref<HTMLDivElement>): TagGroupState => {\n const { onDismiss, size = 'medium' } = props;\n\n const innerRef = React.useRef<HTMLElement>();\n const { targetDocument } = useFluent();\n const { findNextFocusable, findPrevFocusable } = useFocusFinders();\n\n const handleTagDismiss: TagGroupState['handleTagDismiss'] = useEventCallback((e, data) => {\n onDismiss?.(e, data);\n\n // set focus after tag dismiss\n const activeElement = targetDocument?.activeElement;\n if (innerRef.current?.contains(activeElement as HTMLElement)) {\n // focus on next tag only if the active element is within the current tag group\n const next = findNextFocusable(activeElement as HTMLElement, { container: innerRef.current });\n if (next) {\n next.focus();\n return;\n }\n\n // if there is no next focusable, focus on the previous focusable\n if (activeElement?.className.includes(interactionTagSecondaryClassNames.root)) {\n const prev = findPrevFocusable(activeElement.parentElement as HTMLElement, { container: innerRef.current });\n prev?.focus();\n } else {\n const prev = findPrevFocusable(activeElement as HTMLElement, { container: innerRef.current });\n prev?.focus();\n }\n }\n });\n\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'both',\n memorizeCurrent: true,\n });\n\n return {\n handleTagDismiss,\n size,\n\n components: {\n root: 'div',\n },\n\n root: slot.always(\n getNativeElementProps('div', {\n ref: useMergedRefs(ref, innerRef),\n role: 'toolbar',\n ...arrowNavigationProps,\n ...props,\n }),\n { elementType: 'div' },\n ),\n };\n};\n"],"names":["React","getNativeElementProps","useEventCallback","useMergedRefs","slot","useArrowNavigationGroup","useFocusFinders","useFluent_unstable","useFluent","interactionTagSecondaryClassNames","useTagGroup_unstable","props","ref","onDismiss","size","innerRef","useRef","targetDocument","findNextFocusable","findPrevFocusable","handleTagDismiss","e","data","activeElement","current","contains","next","container","focus","className","includes","root","prev","parentElement","arrowNavigationProps","circular","axis","memorizeCurrent","components","always","role","elementType"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qBAAqB,EAAEC,gBAAgB,EAAEC,aAAa,EAAEC,IAAI,QAAQ,4BAA4B;AAEzG,SAASC,uBAAuB,EAAEC,eAAe,QAAQ,0BAA0B;AACnF,SAASC,sBAAsBC,SAAS,QAAQ,kCAAkC;AAClF,SAASC,iCAAiC,QAAQ,qEAAqE;AAEvH;;;;;;;;CAQC,GACD,OAAO,MAAMC,uBAAuB,CAACC,OAAsBC;IACzD,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAQ,EAAE,GAAGH;IAEvC,MAAMI,WAAWf,MAAMgB,MAAM;IAC7B,MAAM,EAAEC,cAAc,EAAE,GAAGT;IAC3B,MAAM,EAAEU,iBAAiB,EAAEC,iBAAiB,EAAE,GAAGb;IAEjD,MAAMc,mBAAsDlB,iBAAiB,CAACmB,GAAGC;YAK3EP;QAJJF,sBAAAA,gCAAAA,UAAYQ,GAAGC;QAEf,8BAA8B;QAC9B,MAAMC,gBAAgBN,2BAAAA,qCAAAA,eAAgBM,aAAa;QACnD,KAAIR,oBAAAA,SAASS,OAAO,cAAhBT,wCAAAA,kBAAkBU,QAAQ,CAACF,gBAA+B;YAC5D,+EAA+E;YAC/E,MAAMG,OAAOR,kBAAkBK,eAA8B;gBAAEI,WAAWZ,SAASS,OAAO;YAAC;YAC3F,IAAIE,MAAM;gBACRA,KAAKE,KAAK;gBACV;YACF;YAEA,iEAAiE;YACjE,IAAIL,0BAAAA,oCAAAA,cAAeM,SAAS,CAACC,QAAQ,CAACrB,kCAAkCsB,IAAI,GAAG;gBAC7E,MAAMC,OAAOb,kBAAkBI,cAAcU,aAAa,EAAiB;oBAAEN,WAAWZ,SAASS,OAAO;gBAAC;gBACzGQ,iBAAAA,2BAAAA,KAAMJ,KAAK;YACb,OAAO;gBACL,MAAMI,OAAOb,kBAAkBI,eAA8B;oBAAEI,WAAWZ,SAASS,OAAO;gBAAC;gBAC3FQ,iBAAAA,2BAAAA,KAAMJ,KAAK;YACb;QACF;IACF;IAEA,MAAMM,uBAAuB7B,wBAAwB;QACnD8B,UAAU;QACVC,MAAM;QACNC,iBAAiB;IACnB;IAEA,OAAO;QACLjB;QACAN;QAEAwB,YAAY;YACVP,MAAM;QACR;QAEAA,MAAM3B,KAAKmC,MAAM,CACftC,sBAAsB,OAAO;YAC3BW,KAAKT,cAAcS,KAAKG;YACxByB,MAAM;YACN,GAAGN,oBAAoB;YACvB,GAAGvB,KAAK;QACV,IACA;YAAE8B,aAAa;QAAM;IAEzB;AACF,EAAE"}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export function useTagGroupContextValues_unstable(state) {
3
+ const { handleTagDismiss, size } = state;
4
+ return {
5
+ tagGroup: React.useMemo(()=>({
6
+ handleTagDismiss,
7
+ size
8
+ }), [
9
+ handleTagDismiss,
10
+ size
11
+ ])
12
+ };
13
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useTagGroupContextValues.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TagGroupContextValues, TagGroupState } from './TagGroup.types';\n\nexport function useTagGroupContextValues_unstable(state: TagGroupState): TagGroupContextValues {\n const { handleTagDismiss, size } = state;\n return {\n tagGroup: React.useMemo(() => ({ handleTagDismiss, size }), [handleTagDismiss, size]),\n };\n}\n"],"names":["React","useTagGroupContextValues_unstable","state","handleTagDismiss","size","tagGroup","useMemo"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC,kCAAkCC,KAAoB;IACpE,MAAM,EAAEC,gBAAgB,EAAEC,IAAI,EAAE,GAAGF;IACnC,OAAO;QACLG,UAAUL,MAAMM,OAAO,CAAC,IAAO,CAAA;gBAAEH;gBAAkBC;YAAK,CAAA,GAAI;YAACD;YAAkBC;SAAK;IACtF;AACF"}
@@ -0,0 +1,36 @@
1
+ import { __styles, mergeClasses } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ export const tagGroupClassNames = {
4
+ root: 'fui-TagGroup'
5
+ };
6
+ /**
7
+ * Styles for the root slot
8
+ */
9
+ const useRootStyles = /*#__PURE__*/__styles({
10
+ base: {
11
+ mc9l5x: "ftuwxu6"
12
+ },
13
+ medium: {
14
+ i8kkvl: "fsnqrgy"
15
+ },
16
+ small: {
17
+ i8kkvl: "f1rjii52"
18
+ },
19
+ "extra-small": {
20
+ i8kkvl: "f1ufnopg"
21
+ }
22
+ }, {
23
+ d: [".ftuwxu6{display:inline-flex;}", ".fsnqrgy{column-gap:var(--spacingHorizontalS);}", ".f1rjii52{column-gap:var(--spacingHorizontalSNudge);}", ".f1ufnopg{column-gap:var(--spacingHorizontalXS);}"]
24
+ });
25
+ /**
26
+ * Apply styling to the TagGroup slots based on the state
27
+ */
28
+ export const useTagGroupStyles_unstable = state => {
29
+ const styles = useRootStyles();
30
+ const {
31
+ size
32
+ } = state;
33
+ state.root.className = mergeClasses(tagGroupClassNames.root, styles.base, styles[size], state.root.className);
34
+ return state;
35
+ };
36
+ //# sourceMappingURL=useTagGroupStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__styles","mergeClasses","tokens","tagGroupClassNames","root","useRootStyles","base","mc9l5x","medium","i8kkvl","small","d","useTagGroupStyles_unstable","state","styles","size","className"],"sources":["useTagGroupStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const tagGroupClassNames = {\n root: 'fui-TagGroup'\n};\n/**\n * Styles for the root slot\n */ const useRootStyles = makeStyles({\n base: {\n display: 'inline-flex'\n },\n medium: {\n columnGap: tokens.spacingHorizontalS\n },\n small: {\n columnGap: tokens.spacingHorizontalSNudge\n },\n 'extra-small': {\n columnGap: tokens.spacingHorizontalXS\n }\n});\n/**\n * Apply styling to the TagGroup slots based on the state\n */ export const useTagGroupStyles_unstable = (state)=>{\n const styles = useRootStyles();\n const { size } = state;\n state.root.className = mergeClasses(tagGroupClassNames.root, styles.base, styles[size], state.root.className);\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,IAAI,EAAE;AACV,CAAC;AACD;AACA;AACA;AAAI,MAAMC,aAAa,gBAAGL,QAAA;EAAAM,IAAA;IAAAC,MAAA;EAAA;EAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,KAAA;IAAAD,MAAA;EAAA;EAAA;IAAAA,MAAA;EAAA;AAAA;EAAAE,CAAA;AAAA,CAazB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,0BAA0B,GAAIC,KAAK,IAAG;EACnD,MAAMC,MAAM,GAAGT,aAAa,CAAC,CAAC;EAC9B,MAAM;IAAEU;EAAK,CAAC,GAAGF,KAAK;EACtBA,KAAK,CAACT,IAAI,CAACY,SAAS,GAAGf,YAAY,CAACE,kBAAkB,CAACC,IAAI,EAAEU,MAAM,CAACR,IAAI,EAAEQ,MAAM,CAACC,IAAI,CAAC,EAAEF,KAAK,CAACT,IAAI,CAACY,SAAS,CAAC;EAC7G,OAAOH,KAAK;AAChB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ export const InteractionTagContext = /*#__PURE__*/ React.createContext(undefined);
3
+ const interactionTagContextDefaultValue = {
4
+ appearance: 'filled',
5
+ disabled: false,
6
+ handleTagDismiss: ()=>({}),
7
+ interactionTagPrimaryId: '',
8
+ shape: 'rounded',
9
+ size: 'medium',
10
+ value: ''
11
+ };
12
+ export const InteractionTagContextProvider = InteractionTagContext.Provider;
13
+ export const useInteractionTagContext_unstable = ()=>{
14
+ var _React_useContext;
15
+ return (_React_useContext = React.useContext(InteractionTagContext)) !== null && _React_useContext !== void 0 ? _React_useContext : interactionTagContextDefaultValue;
16
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["interactionTagContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { InteractionTagState } from '../components/InteractionTag/index';\nimport { TagDismissHandler } from '../utils/types';\n\nexport const InteractionTagContext = React.createContext<InteractionTagContextValue | undefined>(undefined);\n\nconst interactionTagContextDefaultValue: InteractionTagContextValue = {\n appearance: 'filled',\n disabled: false,\n handleTagDismiss: () => ({}),\n interactionTagPrimaryId: '',\n shape: 'rounded',\n size: 'medium',\n value: '',\n};\n\n/**\n * Context shared between InteractionTag and its children components\n */\nexport type InteractionTagContextValue<Value = string> = Required<\n Pick<InteractionTagState, 'appearance' | 'disabled' | 'shape' | 'size'> & {\n handleTagDismiss: TagDismissHandler<Value>;\n interactionTagPrimaryId: string;\n value?: Value;\n }\n>;\n\nexport const InteractionTagContextProvider = InteractionTagContext.Provider;\n\nexport const useInteractionTagContext_unstable = () =>\n React.useContext(InteractionTagContext) ?? interactionTagContextDefaultValue;\n"],"names":["React","InteractionTagContext","createContext","undefined","interactionTagContextDefaultValue","appearance","disabled","handleTagDismiss","interactionTagPrimaryId","shape","size","value","InteractionTagContextProvider","Provider","useInteractionTagContext_unstable","useContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAI/B,OAAO,MAAMC,sCAAwBD,MAAME,aAAa,CAAyCC,WAAW;AAE5G,MAAMC,oCAAgE;IACpEC,YAAY;IACZC,UAAU;IACVC,kBAAkB,IAAO,CAAA,CAAC,CAAA;IAC1BC,yBAAyB;IACzBC,OAAO;IACPC,MAAM;IACNC,OAAO;AACT;AAaA,OAAO,MAAMC,gCAAgCX,sBAAsBY,QAAQ,CAAC;AAE5E,OAAO,MAAMC,oCAAoC;QAC/Cd;WAAAA,CAAAA,oBAAAA,MAAMe,UAAU,CAACd,oCAAjBD,+BAAAA,oBAA2CI;AAAgC,EAAE"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export const TagGroupContext = /*#__PURE__*/ React.createContext(undefined);
3
+ const tagGroupContextDefaultValue = {
4
+ handleTagDismiss: ()=>({}),
5
+ size: 'medium'
6
+ };
7
+ export const TagGroupContextProvider = TagGroupContext.Provider;
8
+ export const useTagGroupContext_unstable = ()=>{
9
+ var _React_useContext;
10
+ return (_React_useContext = React.useContext(TagGroupContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tagGroupContextDefaultValue;
11
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tagGroupContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TagGroupState } from '../components/TagGroup/index';\n\nexport const TagGroupContext = React.createContext<TagGroupContextValue | undefined>(undefined);\n\nconst tagGroupContextDefaultValue: TagGroupContextValue = {\n handleTagDismiss: () => ({}),\n size: 'medium',\n};\n\n/**\n * Context shared between TagGroup and its children components\n */\nexport type TagGroupContextValue = Required<Pick<TagGroupState, 'handleTagDismiss' | 'size'>>;\n\nexport const TagGroupContextProvider = TagGroupContext.Provider;\n\nexport const useTagGroupContext_unstable = () => React.useContext(TagGroupContext) ?? tagGroupContextDefaultValue;\n"],"names":["React","TagGroupContext","createContext","undefined","tagGroupContextDefaultValue","handleTagDismiss","size","TagGroupContextProvider","Provider","useTagGroupContext_unstable","useContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,MAAMC,gCAAkBD,MAAME,aAAa,CAAmCC,WAAW;AAEhG,MAAMC,8BAAoD;IACxDC,kBAAkB,IAAO,CAAA,CAAC,CAAA;IAC1BC,MAAM;AACR;AAOA,OAAO,MAAMC,0BAA0BN,gBAAgBO,QAAQ,CAAC;AAEhE,OAAO,MAAMC,8BAA8B;QAAMT;WAAAA,CAAAA,oBAAAA,MAAMU,UAAU,CAACT,8BAAjBD,+BAAAA,oBAAqCI;AAA0B,EAAE"}
package/lib/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export { Tag, renderTag_unstable, tagClassNames, useTagStyles_unstable, useTag_unstable } from './Tag';
2
+ export { InteractionTag, renderInteractionTag_unstable, interactionTagClassNames, useInteractionTagStyles_unstable, useInteractionTag_unstable, useInteractionTagContextValues_unstable } from './InteractionTag';
3
+ export { InteractionTagPrimary, interactionTagPrimaryClassNames, renderInteractionTagPrimary_unstable, useInteractionTagPrimaryStyles_unstable, useInteractionTagPrimary_unstable } from './InteractionTagPrimary';
4
+ export { InteractionTagSecondary, renderInteractionTagSecondary_unstable, interactionTagSecondaryClassNames, useInteractionTagSecondaryStyles_unstable, useInteractionTagSecondary_unstable } from './InteractionTagSecondary';
5
+ export { TagGroup, renderTagGroup_unstable, tagGroupClassNames, useTagGroupStyles_unstable, useTagGroup_unstable, useTagGroupContextValues_unstable } from './TagGroup';
6
+ export { useTagAvatarContextValues_unstable } from './utils';