@fluentui/react-tabs 1.0.0-beta.98 → 9.0.0-beta.11

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 (224) hide show
  1. package/CHANGELOG.json +234 -1765
  2. package/CHANGELOG.md +66 -723
  3. package/README.md +0 -17
  4. package/Spec.md +433 -0
  5. package/dist/index.d.ts +243 -0
  6. package/lib/Tab.d.ts +1 -0
  7. package/lib/Tab.js +2 -0
  8. package/lib/Tab.js.map +1 -0
  9. package/lib/TabList.d.ts +1 -0
  10. package/lib/TabList.js +2 -0
  11. package/lib/TabList.js.map +1 -0
  12. package/lib/components/Tab/Tab.d.ts +6 -0
  13. package/lib/components/Tab/Tab.js +15 -0
  14. package/lib/components/Tab/Tab.js.map +1 -0
  15. package/lib/components/Tab/Tab.types.d.ts +61 -0
  16. package/lib/components/Tab/Tab.types.js +2 -0
  17. package/lib/components/Tab/Tab.types.js.map +1 -0
  18. package/lib/components/Tab/index.d.ts +6 -0
  19. package/lib/components/Tab/index.js +7 -0
  20. package/lib/components/Tab/index.js.map +1 -0
  21. package/lib/components/Tab/renderTab.d.ts +5 -0
  22. package/lib/components/Tab/renderTab.js +17 -0
  23. package/lib/components/Tab/renderTab.js.map +1 -0
  24. package/lib/components/Tab/useTab.d.ts +12 -0
  25. package/lib/components/Tab/useTab.js +81 -0
  26. package/lib/components/Tab/useTab.js.map +1 -0
  27. package/lib/components/Tab/useTabAnimatedIndicator.d.ts +5 -0
  28. package/lib/components/Tab/useTabAnimatedIndicator.js +134 -0
  29. package/lib/components/Tab/useTabAnimatedIndicator.js.map +1 -0
  30. package/lib/components/Tab/useTabStyles.d.ts +8 -0
  31. package/lib/components/Tab/useTabStyles.js +403 -0
  32. package/lib/components/Tab/useTabStyles.js.map +1 -0
  33. package/lib/components/TabList/TabList.d.ts +6 -0
  34. package/lib/components/TabList/TabList.js +17 -0
  35. package/lib/components/TabList/TabList.js.map +1 -0
  36. package/lib/components/TabList/TabList.types.d.ts +104 -0
  37. package/lib/components/TabList/TabList.types.js +2 -0
  38. package/lib/components/TabList/TabList.types.js.map +1 -0
  39. package/lib/components/TabList/TabListContext.d.ts +3 -0
  40. package/lib/components/TabList/TabListContext.js +23 -0
  41. package/lib/components/TabList/TabListContext.js.map +1 -0
  42. package/lib/components/TabList/index.d.ts +5 -0
  43. package/lib/components/TabList/index.js +6 -0
  44. package/lib/components/TabList/index.js.map +1 -0
  45. package/lib/components/TabList/renderTabList.d.ts +5 -0
  46. package/lib/components/TabList/renderTabList.js +18 -0
  47. package/lib/components/TabList/renderTabList.js.map +1 -0
  48. package/lib/components/TabList/useTabList.d.ts +12 -0
  49. package/lib/components/TabList/useTabList.js +81 -0
  50. package/lib/components/TabList/useTabList.js.map +1 -0
  51. package/lib/components/TabList/useTabListContextValues.d.ts +2 -0
  52. package/lib/components/TabList/useTabListContextValues.js +28 -0
  53. package/lib/components/TabList/useTabListContextValues.js.map +1 -0
  54. package/lib/components/TabList/useTabListStyles.d.ts +8 -0
  55. package/lib/components/TabList/useTabListStyles.js +45 -0
  56. package/lib/components/TabList/useTabListStyles.js.map +1 -0
  57. package/lib/index.d.ts +4 -1
  58. package/lib/index.js +2 -1
  59. package/lib/index.js.map +1 -1
  60. package/lib/tsdoc-metadata.json +1 -1
  61. package/lib-commonjs/Tab.d.ts +1 -0
  62. package/lib-commonjs/Tab.js +10 -0
  63. package/lib-commonjs/Tab.js.map +1 -0
  64. package/lib-commonjs/TabList.d.ts +1 -0
  65. package/lib-commonjs/TabList.js +10 -0
  66. package/lib-commonjs/TabList.js.map +1 -0
  67. package/lib-commonjs/components/Tab/Tab.d.ts +6 -0
  68. package/lib-commonjs/components/Tab/Tab.js +26 -0
  69. package/lib-commonjs/components/Tab/Tab.js.map +1 -0
  70. package/lib-commonjs/components/Tab/Tab.types.d.ts +61 -0
  71. package/lib-commonjs/components/Tab/Tab.types.js +6 -0
  72. package/lib-commonjs/components/Tab/Tab.types.js.map +1 -0
  73. package/lib-commonjs/components/Tab/index.d.ts +6 -0
  74. package/lib-commonjs/components/Tab/index.js +20 -0
  75. package/lib-commonjs/components/Tab/index.js.map +1 -0
  76. package/lib-commonjs/components/Tab/renderTab.d.ts +5 -0
  77. package/lib-commonjs/components/Tab/renderTab.js +28 -0
  78. package/lib-commonjs/components/Tab/renderTab.js.map +1 -0
  79. package/lib-commonjs/components/Tab/useTab.d.ts +12 -0
  80. package/lib-commonjs/components/Tab/useTab.js +94 -0
  81. package/lib-commonjs/components/Tab/useTab.js.map +1 -0
  82. package/lib-commonjs/components/Tab/useTabAnimatedIndicator.d.ts +5 -0
  83. package/lib-commonjs/components/Tab/useTabAnimatedIndicator.js +148 -0
  84. package/lib-commonjs/components/Tab/useTabAnimatedIndicator.js.map +1 -0
  85. package/lib-commonjs/components/Tab/useTabStyles.d.ts +8 -0
  86. package/lib-commonjs/components/Tab/useTabStyles.js +416 -0
  87. package/lib-commonjs/components/Tab/useTabStyles.js.map +1 -0
  88. package/lib-commonjs/components/TabList/TabList.d.ts +6 -0
  89. package/lib-commonjs/components/TabList/TabList.js +29 -0
  90. package/lib-commonjs/components/TabList/TabList.js.map +1 -0
  91. package/lib-commonjs/components/TabList/TabList.types.d.ts +104 -0
  92. package/lib-commonjs/components/TabList/TabList.types.js +6 -0
  93. package/lib-commonjs/components/TabList/TabList.types.js.map +1 -0
  94. package/lib-commonjs/components/TabList/TabListContext.d.ts +3 -0
  95. package/lib-commonjs/components/TabList/TabListContext.js +31 -0
  96. package/lib-commonjs/components/TabList/TabListContext.js.map +1 -0
  97. package/lib-commonjs/components/TabList/index.d.ts +5 -0
  98. package/lib-commonjs/components/TabList/index.js +18 -0
  99. package/lib-commonjs/components/TabList/index.js.map +1 -0
  100. package/lib-commonjs/components/TabList/renderTabList.d.ts +5 -0
  101. package/lib-commonjs/components/TabList/renderTabList.js +30 -0
  102. package/lib-commonjs/components/TabList/renderTabList.js.map +1 -0
  103. package/lib-commonjs/components/TabList/useTabList.d.ts +12 -0
  104. package/lib-commonjs/components/TabList/useTabList.js +93 -0
  105. package/lib-commonjs/components/TabList/useTabList.js.map +1 -0
  106. package/lib-commonjs/components/TabList/useTabListContextValues.d.ts +2 -0
  107. package/lib-commonjs/components/TabList/useTabListContextValues.js +37 -0
  108. package/lib-commonjs/components/TabList/useTabListContextValues.js.map +1 -0
  109. package/lib-commonjs/components/TabList/useTabListStyles.d.ts +8 -0
  110. package/lib-commonjs/components/TabList/useTabListStyles.js +55 -0
  111. package/lib-commonjs/components/TabList/useTabListStyles.js.map +1 -0
  112. package/lib-commonjs/index.d.ts +4 -1
  113. package/lib-commonjs/index.js +83 -3
  114. package/lib-commonjs/index.js.map +1 -1
  115. package/package.json +25 -21
  116. package/config/api-extractor.json +0 -3
  117. package/config/tests.js +0 -14
  118. package/dist/react-tabs.d.ts +0 -197
  119. package/etc/react-tabs.api.md +0 -104
  120. package/just.config.ts +0 -3
  121. package/lib/Tabs.d.ts +0 -1
  122. package/lib/Tabs.js +0 -2
  123. package/lib/Tabs.js.map +0 -1
  124. package/lib/common/isConformant.d.ts +0 -2
  125. package/lib/common/isConformant.js +0 -9
  126. package/lib/common/isConformant.js.map +0 -1
  127. package/lib/components/Tabs/TabItem.d.ts +0 -6
  128. package/lib/components/Tabs/TabItem.js +0 -18
  129. package/lib/components/Tabs/TabItem.js.map +0 -1
  130. package/lib/components/Tabs/TabItem.types.d.ts +0 -61
  131. package/lib/components/Tabs/TabItem.types.js +0 -2
  132. package/lib/components/Tabs/TabItem.types.js.map +0 -1
  133. package/lib/components/Tabs/Tabs.base.d.ts +0 -3
  134. package/lib/components/Tabs/Tabs.base.js +0 -179
  135. package/lib/components/Tabs/Tabs.base.js.map +0 -1
  136. package/lib/components/Tabs/Tabs.d.ts +0 -8
  137. package/lib/components/Tabs/Tabs.js +0 -12
  138. package/lib/components/Tabs/Tabs.js.map +0 -1
  139. package/lib/components/Tabs/Tabs.styles.d.ts +0 -2
  140. package/lib/components/Tabs/Tabs.styles.js +0 -264
  141. package/lib/components/Tabs/Tabs.styles.js.map +0 -1
  142. package/lib/components/Tabs/Tabs.types.d.ts +0 -113
  143. package/lib/components/Tabs/Tabs.types.js +0 -2
  144. package/lib/components/Tabs/Tabs.types.js.map +0 -1
  145. package/lib/components/Tabs/index.d.ts +0 -5
  146. package/lib/components/Tabs/index.js +0 -6
  147. package/lib/components/Tabs/index.js.map +0 -1
  148. package/lib/utilities/observeResize.d.ts +0 -21
  149. package/lib/utilities/observeResize.js +0 -46
  150. package/lib/utilities/observeResize.js.map +0 -1
  151. package/lib/utilities/useOverflow.d.ts +0 -45
  152. package/lib/utilities/useOverflow.js +0 -126
  153. package/lib/utilities/useOverflow.js.map +0 -1
  154. package/lib-amd/Tabs.d.ts +0 -1
  155. package/lib-amd/Tabs.js +0 -6
  156. package/lib-amd/Tabs.js.map +0 -1
  157. package/lib-amd/common/isConformant.d.ts +0 -2
  158. package/lib-amd/common/isConformant.js +0 -14
  159. package/lib-amd/common/isConformant.js.map +0 -1
  160. package/lib-amd/components/Tabs/TabItem.d.ts +0 -6
  161. package/lib-amd/components/Tabs/TabItem.js +0 -20
  162. package/lib-amd/components/Tabs/TabItem.js.map +0 -1
  163. package/lib-amd/components/Tabs/TabItem.types.d.ts +0 -61
  164. package/lib-amd/components/Tabs/TabItem.types.js +0 -5
  165. package/lib-amd/components/Tabs/TabItem.types.js.map +0 -1
  166. package/lib-amd/components/Tabs/Tabs.base.d.ts +0 -3
  167. package/lib-amd/components/Tabs/Tabs.base.js +0 -176
  168. package/lib-amd/components/Tabs/Tabs.base.js.map +0 -1
  169. package/lib-amd/components/Tabs/Tabs.d.ts +0 -8
  170. package/lib-amd/components/Tabs/Tabs.js +0 -14
  171. package/lib-amd/components/Tabs/Tabs.js.map +0 -1
  172. package/lib-amd/components/Tabs/Tabs.styles.d.ts +0 -2
  173. package/lib-amd/components/Tabs/Tabs.styles.js +0 -267
  174. package/lib-amd/components/Tabs/Tabs.styles.js.map +0 -1
  175. package/lib-amd/components/Tabs/Tabs.types.d.ts +0 -113
  176. package/lib-amd/components/Tabs/Tabs.types.js +0 -5
  177. package/lib-amd/components/Tabs/Tabs.types.js.map +0 -1
  178. package/lib-amd/components/Tabs/index.d.ts +0 -5
  179. package/lib-amd/components/Tabs/index.js +0 -11
  180. package/lib-amd/components/Tabs/index.js.map +0 -1
  181. package/lib-amd/index.d.ts +0 -1
  182. package/lib-amd/index.js +0 -6
  183. package/lib-amd/index.js.map +0 -1
  184. package/lib-amd/utilities/observeResize.d.ts +0 -21
  185. package/lib-amd/utilities/observeResize.js +0 -51
  186. package/lib-amd/utilities/observeResize.js.map +0 -1
  187. package/lib-amd/utilities/useOverflow.d.ts +0 -45
  188. package/lib-amd/utilities/useOverflow.js +0 -128
  189. package/lib-amd/utilities/useOverflow.js.map +0 -1
  190. package/lib-commonjs/Tabs.d.ts +0 -1
  191. package/lib-commonjs/Tabs.js +0 -5
  192. package/lib-commonjs/Tabs.js.map +0 -1
  193. package/lib-commonjs/common/isConformant.d.ts +0 -2
  194. package/lib-commonjs/common/isConformant.js +0 -13
  195. package/lib-commonjs/common/isConformant.js.map +0 -1
  196. package/lib-commonjs/components/Tabs/TabItem.d.ts +0 -6
  197. package/lib-commonjs/components/Tabs/TabItem.js +0 -21
  198. package/lib-commonjs/components/Tabs/TabItem.js.map +0 -1
  199. package/lib-commonjs/components/Tabs/TabItem.types.d.ts +0 -61
  200. package/lib-commonjs/components/Tabs/TabItem.types.js +0 -3
  201. package/lib-commonjs/components/Tabs/TabItem.types.js.map +0 -1
  202. package/lib-commonjs/components/Tabs/Tabs.base.d.ts +0 -3
  203. package/lib-commonjs/components/Tabs/Tabs.base.js +0 -182
  204. package/lib-commonjs/components/Tabs/Tabs.base.js.map +0 -1
  205. package/lib-commonjs/components/Tabs/Tabs.d.ts +0 -8
  206. package/lib-commonjs/components/Tabs/Tabs.js +0 -15
  207. package/lib-commonjs/components/Tabs/Tabs.js.map +0 -1
  208. package/lib-commonjs/components/Tabs/Tabs.styles.d.ts +0 -2
  209. package/lib-commonjs/components/Tabs/Tabs.styles.js +0 -268
  210. package/lib-commonjs/components/Tabs/Tabs.styles.js.map +0 -1
  211. package/lib-commonjs/components/Tabs/Tabs.types.d.ts +0 -113
  212. package/lib-commonjs/components/Tabs/Tabs.types.js +0 -3
  213. package/lib-commonjs/components/Tabs/Tabs.types.js.map +0 -1
  214. package/lib-commonjs/components/Tabs/index.d.ts +0 -5
  215. package/lib-commonjs/components/Tabs/index.js +0 -11
  216. package/lib-commonjs/components/Tabs/index.js.map +0 -1
  217. package/lib-commonjs/utilities/observeResize.d.ts +0 -21
  218. package/lib-commonjs/utilities/observeResize.js +0 -50
  219. package/lib-commonjs/utilities/observeResize.js.map +0 -1
  220. package/lib-commonjs/utilities/useOverflow.d.ts +0 -45
  221. package/lib-commonjs/utilities/useOverflow.js +0 -130
  222. package/lib-commonjs/utilities/useOverflow.js.map +0 -1
  223. package/src/components/Tabs/TabItem.types.ts +0 -69
  224. package/src/components/Tabs/Tabs.types.ts +0 -131
@@ -0,0 +1,403 @@
1
+ import { __styles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
3
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
4
+ import { useTabAnimatedIndicatorStyles_unstable } from './useTabAnimatedIndicator';
5
+ export const tabClassNames = {
6
+ root: 'fui-Tab',
7
+ icon: 'fui-Tab__icon',
8
+ content: 'fui-Tab__content'
9
+ }; // TODO temporary export to pass conformance test.
10
+
11
+ export const tabClassName = tabClassNames.root;
12
+ /**
13
+ * Styles for the root slot
14
+ */
15
+
16
+ /* eslint-disable @typescript-eslint/naming-convention */
17
+
18
+ const useRootStyles = /*#__PURE__*/__styles({
19
+ "base": {
20
+ "Bt984gj": "f122n59",
21
+ "g2u3we": "fwhevhj",
22
+ "h3c5rm": ["f61n433", "f1q8l70w"],
23
+ "B9xav0g": "fv1dfc8",
24
+ "zhjwy3": ["f1q8l70w", "f61n433"],
25
+ "Bbmb7ep": ["f1aa9q02", "f16jpd5f"],
26
+ "Beyfa6y": ["f16jpd5f", "f1aa9q02"],
27
+ "B7oj6ja": ["f1jar5jt", "fyu767a"],
28
+ "Btl43ni": ["fyu767a", "f1jar5jt"],
29
+ "B4j52fo": "fre7gi1",
30
+ "Bekrc4i": ["f1358rze", "f1rvrf73"],
31
+ "Bn0qgzm": "fqdk4by",
32
+ "ibv6hh": ["f1rvrf73", "f1358rze"],
33
+ "Bceei9c": "f1k6fduh",
34
+ "mc9l5x": "f22iagw",
35
+ "Beiy3e4": "f1063pyq",
36
+ "Bnnss6s": "fi64zpg",
37
+ "Bahqtrf": "fk6fouc",
38
+ "Bg96gwp": "f1i3iumi",
39
+ "oeaueh": "f1s6fcnf",
40
+ "qhf8xq": "f10pi13n",
41
+ "B68tc82": "f1p9o1ba",
42
+ "Bmxbyg5": "f1sil6mw",
43
+ "B9bfxx9": "f1cxpek8"
44
+ },
45
+ "mediumHorizontal": {
46
+ "i8kkvl": "f1rjii52",
47
+ "Brf1p80": "f4d9j23",
48
+ "z8tnut": "f5yzyt",
49
+ "z189sj": ["f11gcy0p", "f1ng84yb"],
50
+ "Byoj8tv": "fx3omr",
51
+ "uwmqm3": ["f1ng84yb", "f11gcy0p"]
52
+ },
53
+ "mediumVertical": {
54
+ "i8kkvl": "f1rjii52",
55
+ "Brf1p80": "fbhxue7",
56
+ "Bf4jedk": "fyvtabn",
57
+ "z8tnut": "fp2oml8",
58
+ "z189sj": ["f11gcy0p", "f1ng84yb"],
59
+ "Byoj8tv": "f1tdddsa",
60
+ "uwmqm3": ["f1ng84yb", "f11gcy0p"]
61
+ },
62
+ "smallHorizontal": {
63
+ "i8kkvl": "f14mj54c",
64
+ "z8tnut": "fp2oml8",
65
+ "z189sj": ["fdw0yi8", "fk8j09s"],
66
+ "Byoj8tv": "f1tdddsa",
67
+ "uwmqm3": ["fk8j09s", "fdw0yi8"]
68
+ },
69
+ "smallVertical": {
70
+ "i8kkvl": "f14mj54c",
71
+ "z8tnut": "fclwglc",
72
+ "z189sj": ["fdw0yi8", "fk8j09s"],
73
+ "Byoj8tv": "fywfov9",
74
+ "uwmqm3": ["fk8j09s", "fdw0yi8"]
75
+ },
76
+ "transparent": {
77
+ "De3pzq": "f1c21dwh",
78
+ "Jwef8y": "fjxutwb",
79
+ "ecr2s2": "fophhak",
80
+ "Bptxc3x": "fmmjozx",
81
+ "B076xvk": "f1mfqf41",
82
+ "q9r9w5": "f10aiid4",
83
+ "cl4aha": "fpkze5g",
84
+ "Bk452zc": "f149wc3x",
85
+ "a4hkcw": "fjioou7"
86
+ },
87
+ "subtle": {
88
+ "De3pzq": "fhovq9v",
89
+ "Jwef8y": "f1t94bn6",
90
+ "ecr2s2": "f1wfn5kd",
91
+ "Bptxc3x": "fmmjozx",
92
+ "B076xvk": "f1mfqf41",
93
+ "q9r9w5": "f10aiid4",
94
+ "cl4aha": "fpkze5g",
95
+ "Bk452zc": "f149wc3x",
96
+ "a4hkcw": "fjioou7"
97
+ },
98
+ "disabled": {
99
+ "De3pzq": "f1c21dwh",
100
+ "Bptxc3x": "fato7r6",
101
+ "cl4aha": "fao1bnu",
102
+ "Bceei9c": "fdrzuqr"
103
+ },
104
+ "selected": {
105
+ "Bptxc3x": "f1cadz5z",
106
+ "B076xvk": "f1ck17l",
107
+ "q9r9w5": "f42ak0g",
108
+ "cl4aha": "ffplhdr",
109
+ "Bk452zc": "ffth601",
110
+ "a4hkcw": "fhklyu5"
111
+ }
112
+ }, {
113
+ "d": [".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".fwhevhj{border-top-color:none;}", ".f61n433{border-right-color:none;}", ".f1q8l70w{border-left-color:none;}", ".fv1dfc8{border-bottom-color:none;}", ".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".fre7gi1{border-top-width:0;}", ".f1358rze{border-right-width:0;}", ".f1rvrf73{border-left-width:0;}", ".fqdk4by{border-bottom-width:0;}", ".f1k6fduh{cursor:pointer;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}", ".fi64zpg{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f1s6fcnf{outline-style:none;}", ".f10pi13n{position:relative;}", ".f1p9o1ba{overflow-x:hidden;}", ".f1sil6mw{overflow-y:hidden;}", ".f1cxpek8{text-transform:none;}", ".f1rjii52{-webkit-column-gap:var(--spacingHorizontalSNudge);column-gap:var(--spacingHorizontalSNudge);}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f5yzyt{padding-top:var(--spacingVerticalM);}", ".f11gcy0p{padding-right:var(--spacingHorizontalMNudge);}", ".f1ng84yb{padding-left:var(--spacingHorizontalMNudge);}", ".fx3omr{padding-bottom:var(--spacingVerticalM);}", ".fbhxue7{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}", ".fyvtabn{min-width:120px;}", ".fp2oml8{padding-top:var(--spacingVerticalSNudge);}", ".f1tdddsa{padding-bottom:var(--spacingVerticalSNudge);}", ".f14mj54c{-webkit-column-gap:var(--spacingHorizontalXXS);column-gap:var(--spacingHorizontalXXS);}", ".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}", ".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}", ".fclwglc{padding-top:var(--spacingVerticalXXS);}", ".fywfov9{padding-bottom:var(--spacingVerticalXXS);}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".fmmjozx .fui-Tab__icon{color:var(--colorNeutralForeground2);}", ".fpkze5g .fui-Tab__content{color:var(--colorNeutralForeground2);}", ".fhovq9v{background-color:var(--colorSubtleBackground);}", ".fato7r6 .fui-Tab__icon{color:var(--colorNeutralForegroundDisabled);}", ".fao1bnu .fui-Tab__content{color:var(--colorNeutralForegroundDisabled);}", ".fdrzuqr{cursor:not-allowed;}", ".f1cadz5z .fui-Tab__icon{color:var(--colorCompoundBrandForeground1);}", ".ffplhdr .fui-Tab__content{color:var(--colorNeutralForeground1);}"],
114
+ "h": [".fjxutwb:hover{background-color:var(--colorTransparentBackgroundHover);}", ".f1mfqf41:hover .fui-Tab__icon{color:var(--colorNeutralForeground2Hover);}", ".f149wc3x:hover .fui-Tab__content{color:var(--colorNeutralForeground2Hover);}", ".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}", ".f1ck17l:hover .fui-Tab__icon{color:var(--colorCompoundBrandForeground1Hover);}", ".ffth601:hover .fui-Tab__content{color:var(--colorNeutralForeground1Hover);}"],
115
+ "a": [".fophhak:active{background-color:var(--colorTransparentBackgroundPressed);}", ".f10aiid4:active .fui-Tab__icon{color:var(--colorNeutralForeground2Pressed);}", ".fjioou7:active .fui-Tab__content{color:var(--colorNeutralForeground2Pressed);}", ".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}", ".f42ak0g:active .fui-Tab__icon{color:var(--colorCompoundBrandForeground1Pressed);}", ".fhklyu5:active .fui-Tab__content{color:var(--colorNeutralForeground1Pressed);}"]
116
+ });
117
+ /* eslint-enable @typescript-eslint/naming-convention */
118
+
119
+ /**
120
+ * Focus styles for the root slot
121
+ */
122
+
123
+
124
+ const useFocusStyles = /*#__PURE__*/__styles({
125
+ "base": {
126
+ "B486eqv": "f2hkw1w",
127
+ "Bnmjwt4": "flfsvnh",
128
+ "Jopkrh": ["f1781m5e", "flvaaa9"],
129
+ "hhrs2v": "f50u1b5",
130
+ "B7jbng7": ["flvaaa9", "f1781m5e"],
131
+ "B32s92o": "fgeg2qa",
132
+ "Bh48x57": "f19j8a82",
133
+ "B5hngm5": "fhcq1yo",
134
+ "D4py6b": "f1gkya50",
135
+ "Bgwpjed": "fpt6wn7"
136
+ }
137
+ }, {
138
+ "i": [".f2hkw1w:focus-visible{outline-style:none;}"],
139
+ "d": ["[data-keyboard-nav] .flfsvnh:focus{border-top-color:transparent;}", "[data-keyboard-nav] .f1781m5e:focus{border-right-color:transparent;}", "[data-keyboard-nav] .flvaaa9:focus{border-left-color:transparent;}", "[data-keyboard-nav] .f50u1b5:focus{border-bottom-color:transparent;}", "[data-keyboard-nav] .fgeg2qa:focus{outline-width:var(--strokeWidthThick);}", "[data-keyboard-nav] .f19j8a82:focus{outline-color:transparent;}", "[data-keyboard-nav] .fhcq1yo:focus{outline-style:solid;}", "[data-keyboard-nav] .f1gkya50:focus{box-shadow:var(--shadow4),0 0 0 var(--strokeWidthThick) var(--colorStrokeFocus2);}", "[data-keyboard-nav] .fpt6wn7:focus{z-index:1;}"]
140
+ });
141
+ /** Indicator styles for when pending selection */
142
+
143
+
144
+ const usePendingIndicatorStyles = /*#__PURE__*/__styles({
145
+ "base": {
146
+ "az7l2e": "f1en1q2u",
147
+ "Ewkbr9": "f1k6j818",
148
+ "B82ziue": ["fuksyai", "ft3obag"],
149
+ "B5vr1qa": "f1pf7yz1",
150
+ "Bly3rvn": ["ft3obag", "fuksyai"],
151
+ "Bo3r8zu": "f1w2y1rc",
152
+ "Hpvxnh": ["f1gofhvl", "f18htlvq"],
153
+ "Bx11ytk": "fmj5o30",
154
+ "B1rg0w0": ["f18htlvq", "f1gofhvl"],
155
+ "Bv4n3vi": ["f10y1uxy", "f6aiuy0"],
156
+ "vqofr": ["f6aiuy0", "f10y1uxy"],
157
+ "B0uxbk8": ["f1kfpfnu", "f1dx5wco"],
158
+ "Bgqb9hq": ["f1dx5wco", "f1kfpfnu"],
159
+ "g0koyt": "flavhbd",
160
+ "amg5m6": "f1kmhr4c",
161
+ "zkfqfm": "fl1ydde",
162
+ "Bkydozb": "fgv4l33",
163
+ "Bve7jt4": "f1c6521h",
164
+ "Dnitkm": ["f1wuxlei", "f1sgdlzs"],
165
+ "Bf38x9m": "f2jhn7t",
166
+ "wguk8y": ["f1sgdlzs", "f1wuxlei"],
167
+ "vot02b": "f4qfhqc",
168
+ "Bk5rshv": ["f15hpu67", "f4z2jj6"],
169
+ "Bfh7x2i": "f1gpo00o",
170
+ "g1lt9r": ["f4z2jj6", "f15hpu67"],
171
+ "vzq8l0": ["f105swax", "fscdmel"],
172
+ "Bka2azo": ["fscdmel", "f105swax"],
173
+ "Br4ovkg": ["f1tkcw1w", "f1u11x8o"],
174
+ "csmgbd": ["f1u11x8o", "f1tkcw1w"],
175
+ "Bxvbc28": "f17b494j",
176
+ "y36c18": "f16cxu0",
177
+ "B1ctymy": "f1nwgacf"
178
+ },
179
+ "disabled": {
180
+ "Bo3r8zu": "fw4ani8",
181
+ "Hpvxnh": ["f16d985o", "f6tcbgz"],
182
+ "Bx11ytk": "f1b8a0pq",
183
+ "B1rg0w0": ["f6tcbgz", "f16d985o"],
184
+ "vot02b": "fjs3nuh",
185
+ "Bk5rshv": ["f1di1kpg", "furcot2"],
186
+ "Bfh7x2i": "f2pqeb2",
187
+ "g1lt9r": ["furcot2", "f1di1kpg"]
188
+ },
189
+ "mediumHorizontal": {
190
+ "lawp4y": "fchca7p",
191
+ "B0qfbqy": "f1kvmim2",
192
+ "B4f6apu": ["f1m7sk04", "frl2ks5"],
193
+ "y0oebl": "f95p06y",
194
+ "uvfttm": ["frl2ks5", "f1m7sk04"],
195
+ "Baz25je": "f1kz84di",
196
+ "Fbdkly": ["f1o0nnkk", "fxb7rol"],
197
+ "mdwyqc": ["fxb7rol", "f1o0nnkk"]
198
+ },
199
+ "mediumVertical": {
200
+ "lawp4y": "f17jracn",
201
+ "B0qfbqy": "f1kvmim2",
202
+ "B4f6apu": ["f1m7sk04", "frl2ks5"],
203
+ "y0oebl": "f95p06y",
204
+ "uvfttm": ["frl2ks5", "f1m7sk04"],
205
+ "Fbdkly": ["f1fzr1x6", "f1f351id"],
206
+ "Bciustq": "f117lcb2",
207
+ "Ccq8qp": "f13zdgtj"
208
+ },
209
+ "smallHorizontal": {
210
+ "lawp4y": "fchca7p",
211
+ "B0qfbqy": "f1yrrkkt",
212
+ "B4f6apu": ["f70k5xa", "fezrrg8"],
213
+ "y0oebl": "f1qe1oji",
214
+ "uvfttm": ["fezrrg8", "f70k5xa"],
215
+ "Baz25je": "f1kz84di",
216
+ "Fbdkly": ["f1s6rxz5", "fo35v8s"],
217
+ "mdwyqc": ["fo35v8s", "f1s6rxz5"]
218
+ },
219
+ "smallVertical": {
220
+ "lawp4y": "fze4zud",
221
+ "B0qfbqy": "f1kvmim2",
222
+ "B4f6apu": ["f1m7sk04", "frl2ks5"],
223
+ "y0oebl": "f95p06y",
224
+ "uvfttm": ["frl2ks5", "f1m7sk04"],
225
+ "Fbdkly": ["f1fzr1x6", "f1f351id"],
226
+ "Bciustq": "fdp32p8",
227
+ "Ccq8qp": "f13zdgtj"
228
+ }
229
+ }, {
230
+ "h": [".f1en1q2u:hover::before{background-color:none;}", ".f1k6j818:hover::before{border-top-style:solid;}", ".fuksyai:hover::before{border-right-style:solid;}", ".ft3obag:hover::before{border-left-style:solid;}", ".f1pf7yz1:hover::before{border-bottom-style:solid;}", ".f1w2y1rc:hover::before{border-top-color:var(--colorNeutralStroke1Hover);}", ".f1gofhvl:hover::before{border-right-color:var(--colorNeutralStroke1Hover);}", ".f18htlvq:hover::before{border-left-color:var(--colorNeutralStroke1Hover);}", ".fmj5o30:hover::before{border-bottom-color:var(--colorNeutralStroke1Hover);}", ".f10y1uxy:hover::before{border-bottom-right-radius:var(--borderRadiusCircular);}", ".f6aiuy0:hover::before{border-bottom-left-radius:var(--borderRadiusCircular);}", ".f1kfpfnu:hover::before{border-top-right-radius:var(--borderRadiusCircular);}", ".f1dx5wco:hover::before{border-top-left-radius:var(--borderRadiusCircular);}", ".flavhbd:hover::before{box-sizing:border-box;}", ".f1kmhr4c:hover::before{content:\"\";}", ".fl1ydde:hover::before{position:absolute;}", ".fw4ani8:hover::before{border-top-color:var(--colorTransparentStroke);}", ".f16d985o:hover::before{border-right-color:var(--colorTransparentStroke);}", ".f6tcbgz:hover::before{border-left-color:var(--colorTransparentStroke);}", ".f1b8a0pq:hover::before{border-bottom-color:var(--colorTransparentStroke);}"],
231
+ "a": [".fgv4l33:active::before{background-color:none;}", ".f1c6521h:active::before{border-top-style:solid;}", ".f1wuxlei:active::before{border-right-style:solid;}", ".f1sgdlzs:active::before{border-left-style:solid;}", ".f2jhn7t:active::before{border-bottom-style:solid;}", ".f4qfhqc:active::before{border-top-color:var(--colorNeutralStroke1Pressed);}", ".f15hpu67:active::before{border-right-color:var(--colorNeutralStroke1Pressed);}", ".f4z2jj6:active::before{border-left-color:var(--colorNeutralStroke1Pressed);}", ".f1gpo00o:active::before{border-bottom-color:var(--colorNeutralStroke1Pressed);}", ".f105swax:active::before{border-bottom-right-radius:var(--borderRadiusCircular);}", ".fscdmel:active::before{border-bottom-left-radius:var(--borderRadiusCircular);}", ".f1tkcw1w:active::before{border-top-right-radius:var(--borderRadiusCircular);}", ".f1u11x8o:active::before{border-top-left-radius:var(--borderRadiusCircular);}", ".f17b494j:active::before{box-sizing:border-box;}", ".f16cxu0:active::before{content:\"\";}", ".f1nwgacf:active::before{position:absolute;}", ".fjs3nuh:active::before{border-top-color:var(--colorTransparentStroke);}", ".f1di1kpg:active::before{border-right-color:var(--colorTransparentStroke);}", ".furcot2:active::before{border-left-color:var(--colorTransparentStroke);}", ".f2pqeb2:active::before{border-bottom-color:var(--colorTransparentStroke);}"],
232
+ "d": [".fchca7p::before{bottom:0;}", ".f1kvmim2::before{border-top-width:calc(var(--strokeWidthThicker) / 2.0);}", ".f1m7sk04::before{border-right-width:calc(var(--strokeWidthThicker) / 2.0);}", ".frl2ks5::before{border-left-width:calc(var(--strokeWidthThicker) / 2.0);}", ".f95p06y::before{border-bottom-width:calc(var(--strokeWidthThicker) / 2.0);}", ".f1kz84di::before{height:0;}", ".f1o0nnkk::before{left:var(--spacingHorizontalM);}", ".fxb7rol::before{right:var(--spacingHorizontalM);}", ".f17jracn::before{bottom:var(--spacingVerticalS);}", ".f1fzr1x6::before{left:0;}", ".f1f351id::before{right:0;}", ".f117lcb2::before{top:var(--spacingVerticalS);}", ".f13zdgtj::before{width:0;}", ".f1yrrkkt::before{border-top-width:calc(var(--strokeWidthThick) / 2.0);}", ".f70k5xa::before{border-right-width:calc(var(--strokeWidthThick) / 2.0);}", ".fezrrg8::before{border-left-width:calc(var(--strokeWidthThick) / 2.0);}", ".f1qe1oji::before{border-bottom-width:calc(var(--strokeWidthThick) / 2.0);}", ".f1s6rxz5::before{left:var(--spacingHorizontalSNudge);}", ".fo35v8s::before{right:var(--spacingHorizontalSNudge);}", ".fze4zud::before{bottom:var(--spacingVerticalXS);}", ".fdp32p8::before{top:var(--spacingVerticalXS);}"]
233
+ });
234
+
235
+ const useActiveIndicatorStyles = /*#__PURE__*/__styles({
236
+ "base": {
237
+ "B0n5ga8": "f16gxe2i",
238
+ "s924m2": ["fpgykix", "fzybk4o"],
239
+ "B1q35kw": "f1osi826",
240
+ "Gp14am": ["fzybk4o", "fpgykix"],
241
+ "Bm2nyyq": "f8rth92",
242
+ "Barhvk9": ["flthirb", "ftkbnf5"],
243
+ "Bw17bha": "f1lh990p",
244
+ "vfts7": ["ftkbnf5", "flthirb"],
245
+ "B3778ie": ["fprarqb", "f14vs0nd"],
246
+ "d9w3h3": ["f14vs0nd", "fprarqb"],
247
+ "Bl18szs": ["f1gtfqs9", "f18zvfd9"],
248
+ "B4j8arr": ["f18zvfd9", "f1gtfqs9"],
249
+ "li1rpt": "f1gw3sf2",
250
+ "Bsft5z2": "f13zj6fq",
251
+ "E3zdtr": "f1mdlcz9",
252
+ "t2ki1e": "ffmd2fr"
253
+ },
254
+ "selected": {
255
+ "B0n5ga8": "ff21voz",
256
+ "s924m2": ["f13e2re1", "fr799w5"],
257
+ "B1q35kw": "f1jc6hxc",
258
+ "Gp14am": ["fr799w5", "f13e2re1"],
259
+ "Be0v6ae": "f183gc6g",
260
+ "B5kxglz": ["f9bu0jf", "f1gl5qk4"],
261
+ "B3pwyw6": "f1bsp7n4",
262
+ "Bymgtzf": ["f1gl5qk4", "f9bu0jf"],
263
+ "dmfk": "f9opluq",
264
+ "B4ofi8": ["f1efh3oj", "f14e19o9"],
265
+ "jgq6uv": "f73i0vf",
266
+ "Baxewws": ["f14e19o9", "f1efh3oj"]
267
+ },
268
+ "disabled": {
269
+ "B0n5ga8": "f1meqbmf",
270
+ "s924m2": ["f1uv8s8a", "fl4jjo8"],
271
+ "B1q35kw": "f1jzbv2r",
272
+ "Gp14am": ["fl4jjo8", "f1uv8s8a"]
273
+ },
274
+ "mediumHorizontal": {
275
+ "By385i5": "fo72kxq",
276
+ "xrcqlc": "f1o9a6jw",
277
+ "Ihftqj": ["fo3g43a", "fx9b69t"],
278
+ "Bcgy8vk": "fe59e93",
279
+ "Bhxzhr1": ["fx9b69t", "fo3g43a"],
280
+ "Dlnsje": "f1aztngc",
281
+ "Eqx8gd": ["fna7m5n", "f1oxpfwv"],
282
+ "B1piin3": ["f1oxpfwv", "fna7m5n"]
283
+ },
284
+ "mediumVertical": {
285
+ "By385i5": "fipylg0",
286
+ "xrcqlc": "f1o9a6jw",
287
+ "Ihftqj": ["fo3g43a", "fx9b69t"],
288
+ "Bcgy8vk": "fe59e93",
289
+ "Bhxzhr1": ["fx9b69t", "fo3g43a"],
290
+ "Eqx8gd": ["f1n6gb5g", "f15yvnhg"],
291
+ "bn5sak": "fqchiol",
292
+ "a2br6o": "f1x60ewe"
293
+ },
294
+ "smallHorizontal": {
295
+ "By385i5": "fo72kxq",
296
+ "xrcqlc": "fchc3a4",
297
+ "Ihftqj": ["f1g9ny6e", "f1faeqkd"],
298
+ "Bcgy8vk": "f2swisw",
299
+ "Bhxzhr1": ["f1faeqkd", "f1g9ny6e"],
300
+ "Dlnsje": "f1aztngc",
301
+ "Eqx8gd": ["f1q70ajw", "f18rbzdx"],
302
+ "B1piin3": ["f18rbzdx", "f1q70ajw"]
303
+ },
304
+ "smallVertical": {
305
+ "By385i5": "fqbue9b",
306
+ "xrcqlc": "f1o9a6jw",
307
+ "Ihftqj": ["fo3g43a", "fx9b69t"],
308
+ "Bcgy8vk": "fe59e93",
309
+ "Bhxzhr1": ["fx9b69t", "fo3g43a"],
310
+ "Eqx8gd": ["f1n6gb5g", "f15yvnhg"],
311
+ "bn5sak": "fk1klkt",
312
+ "a2br6o": "f1x60ewe"
313
+ }
314
+ }, {
315
+ "d": [".f16gxe2i::after{border-top-color:var(--colorTransparentStroke);}", ".fpgykix::after{border-right-color:var(--colorTransparentStroke);}", ".fzybk4o::after{border-left-color:var(--colorTransparentStroke);}", ".f1osi826::after{border-bottom-color:var(--colorTransparentStroke);}", ".f8rth92::after{border-top-style:solid;}", ".flthirb::after{border-right-style:solid;}", ".ftkbnf5::after{border-left-style:solid;}", ".f1lh990p::after{border-bottom-style:solid;}", ".fprarqb::after{border-bottom-right-radius:var(--borderRadiusCircular);}", ".f14vs0nd::after{border-bottom-left-radius:var(--borderRadiusCircular);}", ".f1gtfqs9::after{border-top-right-radius:var(--borderRadiusCircular);}", ".f18zvfd9::after{border-top-left-radius:var(--borderRadiusCircular);}", ".f1gw3sf2::after{box-sizing:border-box;}", ".f13zj6fq::after{content:\"\";}", ".f1mdlcz9::after{position:absolute;}", ".ffmd2fr::after{z-index:1;}", ".ff21voz::after{border-top-color:var(--colorCompoundBrandStroke);}", ".f13e2re1::after{border-right-color:var(--colorCompoundBrandStroke);}", ".fr799w5::after{border-left-color:var(--colorCompoundBrandStroke);}", ".f1jc6hxc::after{border-bottom-color:var(--colorCompoundBrandStroke);}", ".f1meqbmf::after{border-top-color:var(--colorNeutralForegroundDisabled);}", ".f1uv8s8a::after{border-right-color:var(--colorNeutralForegroundDisabled);}", ".fl4jjo8::after{border-left-color:var(--colorNeutralForegroundDisabled);}", ".f1jzbv2r::after{border-bottom-color:var(--colorNeutralForegroundDisabled);}", ".fo72kxq::after{bottom:0;}", ".f1o9a6jw::after{border-top-width:calc(var(--strokeWidthThicker) / 2.0);}", ".fo3g43a::after{border-right-width:calc(var(--strokeWidthThicker) / 2.0);}", ".fx9b69t::after{border-left-width:calc(var(--strokeWidthThicker) / 2.0);}", ".fe59e93::after{border-bottom-width:calc(var(--strokeWidthThicker) / 2.0);}", ".f1aztngc::after{height:0;}", ".fna7m5n::after{left:var(--spacingHorizontalM);}", ".f1oxpfwv::after{right:var(--spacingHorizontalM);}", ".fipylg0::after{bottom:var(--spacingVerticalS);}", ".f1n6gb5g::after{left:0;}", ".f15yvnhg::after{right:0;}", ".fqchiol::after{top:var(--spacingVerticalS);}", ".f1x60ewe::after{width:0;}", ".fchc3a4::after{border-top-width:calc(var(--strokeWidthThick) / 2.0);}", ".f1g9ny6e::after{border-right-width:calc(var(--strokeWidthThick) / 2.0);}", ".f1faeqkd::after{border-left-width:calc(var(--strokeWidthThick) / 2.0);}", ".f2swisw::after{border-bottom-width:calc(var(--strokeWidthThick) / 2.0);}", ".f1q70ajw::after{left:var(--spacingHorizontalSNudge);}", ".f18rbzdx::after{right:var(--spacingHorizontalSNudge);}", ".fqbue9b::after{bottom:var(--spacingVerticalXS);}", ".fk1klkt::after{top:var(--spacingVerticalXS);}"],
316
+ "h": [".f183gc6g:hover::after{border-top-color:var(--colorCompoundBrandStrokeHover);}", ".f9bu0jf:hover::after{border-right-color:var(--colorCompoundBrandStrokeHover);}", ".f1gl5qk4:hover::after{border-left-color:var(--colorCompoundBrandStrokeHover);}", ".f1bsp7n4:hover::after{border-bottom-color:var(--colorCompoundBrandStrokeHover);}"],
317
+ "a": [".f9opluq:active::after{border-top-color:var(--colorCompoundBrandStrokePressed);}", ".f1efh3oj:active::after{border-right-color:var(--colorCompoundBrandStrokePressed);}", ".f14e19o9:active::after{border-left-color:var(--colorCompoundBrandStrokePressed);}", ".f73i0vf:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}"]
318
+ });
319
+ /**
320
+ * Styles for the icon slot.
321
+ */
322
+
323
+
324
+ const useIconStyles = /*#__PURE__*/__styles({
325
+ "base": {
326
+ "Bt984gj": "f122n59",
327
+ "mc9l5x": "ftuwxu6",
328
+ "Brf1p80": "f4d9j23",
329
+ "B68tc82": "f1p9o1ba",
330
+ "Bmxbyg5": "f1sil6mw"
331
+ },
332
+ "small": {
333
+ "Be2twd7": "fe5j1ua",
334
+ "Bqenvij": "fjamq6b",
335
+ "a9b677": "f64fuq3"
336
+ },
337
+ "medium": {
338
+ "Be2twd7": "fe5j1ua",
339
+ "Bqenvij": "fjamq6b",
340
+ "a9b677": "f64fuq3"
341
+ }
342
+ }, {
343
+ "d": [".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f1p9o1ba{overflow-x:hidden;}", ".f1sil6mw{overflow-y:hidden;}", ".fe5j1ua{font-size:20px;}", ".fjamq6b{height:20px;}", ".f64fuq3{width:20px;}"]
344
+ });
345
+ /**
346
+ * Styles for the content slot (children)
347
+ */
348
+
349
+
350
+ const useContentStyles = /*#__PURE__*/__styles({
351
+ "base": {
352
+ "Bahqtrf": "fk6fouc",
353
+ "Be2twd7": "fkhj508",
354
+ "Bhrd7zp": "figsok6",
355
+ "Bg96gwp": "f1i3iumi",
356
+ "B68tc82": "f1p9o1ba",
357
+ "Bmxbyg5": "f1sil6mw",
358
+ "z8tnut": "fztplxc",
359
+ "z189sj": ["ffczdla", "fgiv446"],
360
+ "Byoj8tv": "f9g1xly",
361
+ "uwmqm3": ["fgiv446", "ffczdla"]
362
+ },
363
+ "selected": {
364
+ "Bahqtrf": "fk6fouc",
365
+ "Be2twd7": "fkhj508",
366
+ "Bhrd7zp": "fl43uef",
367
+ "Bg96gwp": "f1i3iumi"
368
+ }
369
+ }, {
370
+ "d": [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f1p9o1ba{overflow-x:hidden;}", ".f1sil6mw{overflow-y:hidden;}", ".fztplxc{padding-top:var(--spacingVerticalNone);}", ".ffczdla{padding-right:var(--spacingHorizontalXXS);}", ".fgiv446{padding-left:var(--spacingHorizontalXXS);}", ".f9g1xly{padding-bottom:var(--spacingVerticalNone);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}"]
371
+ });
372
+ /**
373
+ * Apply styling to the Tab slots based on the state
374
+ */
375
+
376
+
377
+ export const useTabStyles_unstable = state => {
378
+ const rootStyles = useRootStyles();
379
+ const focusStyles = useFocusStyles();
380
+ const pendingIndicatorStyles = usePendingIndicatorStyles();
381
+ const activeIndicatorStyles = useActiveIndicatorStyles();
382
+ const iconStyles = useIconStyles();
383
+ const contentStyles = useContentStyles();
384
+ const {
385
+ appearance,
386
+ disabled,
387
+ selected,
388
+ size,
389
+ vertical
390
+ } = state;
391
+ state.root.className = mergeClasses(tabClassNames.root, rootStyles.base, size !== 'small' && (vertical ? rootStyles.mediumVertical : rootStyles.mediumHorizontal), size === 'small' && (vertical ? rootStyles.smallVertical : rootStyles.smallHorizontal), focusStyles.base, !disabled && appearance === 'subtle' && rootStyles.subtle, !disabled && appearance === 'transparent' && rootStyles.transparent, !disabled && selected && rootStyles.selected, disabled && rootStyles.disabled, // pending indicator (before pseudo element)
392
+ pendingIndicatorStyles.base, size !== 'small' && (vertical ? pendingIndicatorStyles.mediumVertical : pendingIndicatorStyles.mediumHorizontal), size === 'small' && (vertical ? pendingIndicatorStyles.smallVertical : pendingIndicatorStyles.smallHorizontal), disabled && pendingIndicatorStyles.disabled, // active indicator (after pseudo element)
393
+ selected && activeIndicatorStyles.base, selected && !disabled && activeIndicatorStyles.selected, selected && size !== 'small' && (vertical ? activeIndicatorStyles.mediumVertical : activeIndicatorStyles.mediumHorizontal), selected && size === 'small' && (vertical ? activeIndicatorStyles.smallVertical : activeIndicatorStyles.smallHorizontal), selected && disabled && activeIndicatorStyles.disabled, state.root.className);
394
+
395
+ if (state.icon) {
396
+ state.icon.className = mergeClasses(tabClassNames.icon, iconStyles.base, iconStyles[size], state.icon.className);
397
+ }
398
+
399
+ state.content.className = mergeClasses(tabClassNames.content, contentStyles.base, selected && contentStyles.selected, state.content.className);
400
+ useTabAnimatedIndicatorStyles_unstable(state);
401
+ return state;
402
+ };
403
+ //# sourceMappingURL=useTabStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Tab/useTabStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TabSlots, TabState } from './Tab.types';\n\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { SlotClassNames } from '@fluentui/react-utilities';\nimport { useTabAnimatedIndicatorStyles_unstable } from './useTabAnimatedIndicator';\n\nexport const tabClassNames: SlotClassNames<TabSlots> = {\n root: 'fui-Tab',\n icon: 'fui-Tab__icon',\n content: 'fui-Tab__content',\n};\n\n// TODO temporary export to pass conformance test.\nexport const tabClassName = tabClassNames.root;\n\n/**\n * Styles for the root slot\n */\n/* eslint-disable @typescript-eslint/naming-convention */\nconst useRootStyles = makeStyles({\n base: {\n alignItems: 'center',\n ...shorthands.borderColor('none'),\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ...shorthands.borderWidth(0),\n cursor: 'pointer',\n display: 'flex',\n flexDirection: 'row',\n flexShrink: 0,\n fontFamily: tokens.fontFamilyBase,\n lineHeight: tokens.lineHeightBase300,\n outlineStyle: 'none',\n position: 'relative',\n ...shorthands.overflow('hidden'),\n textTransform: 'none',\n },\n mediumHorizontal: {\n columnGap: tokens.spacingHorizontalSNudge,\n justifyContent: 'center',\n ...shorthands.padding(tokens.spacingVerticalM, tokens.spacingHorizontalMNudge),\n },\n mediumVertical: {\n // horizontal spacing is deliberate. This is the gap between icon and content.\n columnGap: tokens.spacingHorizontalSNudge,\n justifyContent: 'flex-start',\n minWidth: '120px',\n ...shorthands.padding(tokens.spacingVerticalSNudge, tokens.spacingHorizontalMNudge),\n },\n smallHorizontal: {\n columnGap: tokens.spacingHorizontalXXS,\n ...shorthands.padding(tokens.spacingVerticalSNudge, tokens.spacingHorizontalSNudge),\n },\n smallVertical: {\n // horizontal spacing is deliberate. This is the gap between icon and content.\n columnGap: tokens.spacingHorizontalXXS,\n ...shorthands.padding(tokens.spacingVerticalXXS, tokens.spacingHorizontalSNudge),\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n ':active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n '& .fui-Tab__icon': {\n color: tokens.colorNeutralForeground2,\n },\n ':hover .fui-Tab__icon': {\n color: tokens.colorNeutralForeground2Hover,\n },\n ':active .fui-Tab__icon': {\n color: tokens.colorNeutralForeground2Pressed,\n },\n '& .fui-Tab__content': {\n color: tokens.colorNeutralForeground2,\n },\n ':hover .fui-Tab__content': {\n color: tokens.colorNeutralForeground2Hover,\n },\n ':active .fui-Tab__content': {\n color: tokens.colorNeutralForeground2Pressed,\n },\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n },\n '& .fui-Tab__icon': {\n color: tokens.colorNeutralForeground2,\n },\n ':hover .fui-Tab__icon': {\n color: tokens.colorNeutralForeground2Hover,\n },\n ':active .fui-Tab__icon': {\n color: tokens.colorNeutralForeground2Pressed,\n },\n '& .fui-Tab__content': {\n color: tokens.colorNeutralForeground2,\n },\n ':hover .fui-Tab__content': {\n color: tokens.colorNeutralForeground2Hover,\n },\n ':active .fui-Tab__content': {\n color: tokens.colorNeutralForeground2Pressed,\n },\n },\n disabled: {\n backgroundColor: tokens.colorTransparentBackground,\n\n '& .fui-Tab__icon': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n '& .fui-Tab__content': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n cursor: 'not-allowed',\n },\n selected: {\n '& .fui-Tab__icon': {\n color: tokens.colorCompoundBrandForeground1,\n },\n ':hover .fui-Tab__icon': {\n color: tokens.colorCompoundBrandForeground1Hover,\n },\n ':active .fui-Tab__icon': {\n color: tokens.colorCompoundBrandForeground1Pressed,\n },\n '& .fui-Tab__content': {\n color: tokens.colorNeutralForeground1,\n },\n ':hover .fui-Tab__content': {\n color: tokens.colorNeutralForeground1Hover,\n },\n ':active .fui-Tab__content': {\n color: tokens.colorNeutralForeground1Pressed,\n },\n },\n});\n/* eslint-enable @typescript-eslint/naming-convention */\n\n/**\n * Focus styles for the root slot\n */\nconst useFocusStyles = makeStyles({\n // Tab creates a custom focus indicator because the default focus indicator\n // is applied using an ::after pseudo-element on the root. Since the selection\n // indicator uses an ::after pseudo-element on the root, there is a conflict.\n base: createCustomFocusIndicatorStyle({\n ...shorthands.borderColor('transparent'),\n outlineWidth: tokens.strokeWidthThick,\n outlineColor: 'transparent',\n outlineStyle: 'solid',\n boxShadow: `\n ${tokens.shadow4},\n 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorStrokeFocus2}\n `,\n zIndex: 1,\n }),\n});\n\n/** Indicator styles for when pending selection */\nconst usePendingIndicatorStyles = makeStyles({\n base: {\n ':hover::before': {\n backgroundColor: 'none',\n ...shorthands.borderStyle('solid'),\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n ...shorthands.borderRadius(tokens.borderRadiusCircular),\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n },\n ':active::before': {\n backgroundColor: 'none',\n ...shorthands.borderStyle('solid'),\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n ...shorthands.borderRadius(tokens.borderRadiusCircular),\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n },\n },\n disabled: {\n ':hover::before': {\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n },\n ':active::before': {\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n },\n },\n mediumHorizontal: {\n '::before': {\n bottom: 0,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThicker} / 2.0)`),\n height: 0,\n left: tokens.spacingHorizontalM,\n right: tokens.spacingHorizontalM,\n },\n },\n mediumVertical: {\n '::before': {\n bottom: tokens.spacingVerticalS,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThicker} / 2.0)`),\n left: 0,\n top: tokens.spacingVerticalS,\n width: 0,\n },\n },\n smallHorizontal: {\n '::before': {\n bottom: 0,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThick} / 2.0)`),\n height: 0,\n left: tokens.spacingHorizontalSNudge,\n right: tokens.spacingHorizontalSNudge,\n },\n },\n smallVertical: {\n '::before': {\n bottom: tokens.spacingVerticalXS,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThicker} / 2.0)`),\n left: 0,\n top: tokens.spacingVerticalXS,\n width: 0,\n },\n },\n});\n\nconst useActiveIndicatorStyles = makeStyles({\n base: {\n '::after': {\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n ...shorthands.borderStyle('solid'),\n ...shorthands.borderRadius(tokens.borderRadiusCircular),\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n zIndex: 1,\n },\n },\n selected: {\n '::after': {\n ...shorthands.borderColor(tokens.colorCompoundBrandStroke),\n },\n ':hover::after': {\n ...shorthands.borderColor(tokens.colorCompoundBrandStrokeHover),\n },\n ':active::after': {\n ...shorthands.borderColor(tokens.colorCompoundBrandStrokePressed),\n },\n },\n disabled: {\n '::after': {\n ...shorthands.borderColor(tokens.colorNeutralForegroundDisabled),\n },\n },\n mediumHorizontal: {\n '::after': {\n bottom: '0',\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThicker} / 2.0)`),\n height: 0,\n left: tokens.spacingHorizontalM,\n right: tokens.spacingHorizontalM,\n },\n },\n mediumVertical: {\n '::after': {\n bottom: tokens.spacingVerticalS,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThicker} / 2.0)`),\n left: 0,\n top: tokens.spacingVerticalS,\n width: 0,\n },\n },\n smallHorizontal: {\n '::after': {\n bottom: 0,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThick} / 2.0)`),\n height: 0,\n left: tokens.spacingHorizontalSNudge,\n right: tokens.spacingHorizontalSNudge,\n },\n },\n smallVertical: {\n '::after': {\n bottom: tokens.spacingVerticalXS,\n ...shorthands.borderWidth(`calc(${tokens.strokeWidthThicker} / 2.0)`),\n left: '0',\n top: tokens.spacingVerticalXS,\n width: 0,\n },\n },\n});\n\n/**\n * Styles for the icon slot.\n */\nconst useIconStyles = makeStyles({\n base: {\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n ...shorthands.overflow('hidden'),\n },\n // per design, the small and medium font sizes are the same.\n // the size prop only affects spacing.\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n },\n medium: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n },\n});\n\n/**\n * Styles for the content slot (children)\n */\nconst useContentStyles = makeStyles({\n base: {\n ...typographyStyles.body1,\n ...shorthands.overflow('hidden'),\n // content padding is the same for medium & small, horiztonal & vertical\n ...shorthands.padding(tokens.spacingVerticalNone, tokens.spacingHorizontalXXS),\n },\n selected: {\n ...typographyStyles.body1Strong,\n },\n});\n\n/**\n * Apply styling to the Tab slots based on the state\n */\nexport const useTabStyles_unstable = (state: TabState): TabState => {\n const rootStyles = useRootStyles();\n const focusStyles = useFocusStyles();\n const pendingIndicatorStyles = usePendingIndicatorStyles();\n const activeIndicatorStyles = useActiveIndicatorStyles();\n const iconStyles = useIconStyles();\n const contentStyles = useContentStyles();\n\n const { appearance, disabled, selected, size, vertical } = state;\n\n state.root.className = mergeClasses(\n tabClassNames.root,\n rootStyles.base,\n size !== 'small' && (vertical ? rootStyles.mediumVertical : rootStyles.mediumHorizontal),\n size === 'small' && (vertical ? rootStyles.smallVertical : rootStyles.smallHorizontal),\n focusStyles.base,\n !disabled && appearance === 'subtle' && rootStyles.subtle,\n !disabled && appearance === 'transparent' && rootStyles.transparent,\n !disabled && selected && rootStyles.selected,\n disabled && rootStyles.disabled,\n\n // pending indicator (before pseudo element)\n pendingIndicatorStyles.base,\n size !== 'small' && (vertical ? pendingIndicatorStyles.mediumVertical : pendingIndicatorStyles.mediumHorizontal),\n size === 'small' && (vertical ? pendingIndicatorStyles.smallVertical : pendingIndicatorStyles.smallHorizontal),\n disabled && pendingIndicatorStyles.disabled,\n\n // active indicator (after pseudo element)\n selected && activeIndicatorStyles.base,\n selected && !disabled && activeIndicatorStyles.selected,\n selected &&\n size !== 'small' &&\n (vertical ? activeIndicatorStyles.mediumVertical : activeIndicatorStyles.mediumHorizontal),\n selected &&\n size === 'small' &&\n (vertical ? activeIndicatorStyles.smallVertical : activeIndicatorStyles.smallHorizontal),\n selected && disabled && activeIndicatorStyles.disabled,\n state.root.className,\n );\n\n if (state.icon) {\n state.icon.className = mergeClasses(tabClassNames.icon, iconStyles.base, iconStyles[size], state.icon.className);\n }\n\n state.content.className = mergeClasses(\n tabClassNames.content,\n contentStyles.base,\n selected && contentStyles.selected,\n state.content.className,\n );\n\n useTabAnimatedIndicatorStyles_unstable(state);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import type { TabListProps } from './TabList.types';
2
+ import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
+ /**
4
+ * A tab list provides single selection from a set of tabs.
5
+ */
6
+ export declare const TabList: ForwardRefComponent<TabListProps>;
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import { useTabList_unstable } from './useTabList';
3
+ import { renderTabList_unstable } from './renderTabList';
4
+ import { useTabListStyles_unstable } from './useTabListStyles';
5
+ import { useTabListContextValues } from './useTabListContextValues';
6
+ /**
7
+ * A tab list provides single selection from a set of tabs.
8
+ */
9
+
10
+ export const TabList = /*#__PURE__*/React.forwardRef((props, ref) => {
11
+ const state = useTabList_unstable(props, ref);
12
+ const contextValues = useTabListContextValues(state);
13
+ useTabListStyles_unstable(state);
14
+ return renderTabList_unstable(state, contextValues);
15
+ });
16
+ TabList.displayName = 'TabList';
17
+ //# sourceMappingURL=TabList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/TabList/TabList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,mBAAT,QAAoC,cAApC;AACA,SAAS,sBAAT,QAAuC,iBAAvC;AACA,SAAS,yBAAT,QAA0C,oBAA1C;AAGA,SAAS,uBAAT,QAAwC,2BAAxC;AAEA;;AAEG;;AACH,OAAO,MAAM,OAAO,gBAAsC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACxF,QAAM,KAAK,GAAG,mBAAmB,CAAC,KAAD,EAAQ,GAAR,CAAjC;AACA,QAAM,aAAa,GAAG,uBAAuB,CAAC,KAAD,CAA7C;AAEA,EAAA,yBAAyB,CAAC,KAAD,CAAzB;AACA,SAAO,sBAAsB,CAAC,KAAD,EAAQ,aAAR,CAA7B;AACD,CANyD,CAAnD;AAQP,OAAO,CAAC,WAAR,GAAsB,SAAtB","sourcesContent":["import * as React from 'react';\nimport { useTabList_unstable } from './useTabList';\nimport { renderTabList_unstable } from './renderTabList';\nimport { useTabListStyles_unstable } from './useTabListStyles';\nimport type { TabListProps } from './TabList.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTabListContextValues } from './useTabListContextValues';\n\n/**\n * A tab list provides single selection from a set of tabs.\n */\nexport const TabList: ForwardRefComponent<TabListProps> = React.forwardRef((props, ref) => {\n const state = useTabList_unstable(props, ref);\n const contextValues = useTabListContextValues(state);\n\n useTabListStyles_unstable(state);\n return renderTabList_unstable(state, contextValues);\n});\n\nTabList.displayName = 'TabList';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,104 @@
1
+ import * as React from 'react';
2
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
3
+ import { TabValue } from '../Tab/Tab.types';
4
+ export declare type TabRegisterData = {
5
+ /**
6
+ * The value of the tab.
7
+ */
8
+ value: TabValue;
9
+ /**
10
+ * The reference to the tab HTML element.
11
+ */
12
+ ref: React.RefObject<HTMLElement>;
13
+ };
14
+ export declare type RegisterTabEventHandler = (data: TabRegisterData) => void;
15
+ export declare type SelectTabData = {
16
+ /**
17
+ * The value of the selected tab.
18
+ */
19
+ value: TabValue;
20
+ };
21
+ export declare type SelectTabEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;
22
+ export declare type SelectTabEventHandler = (event: SelectTabEvent, data: SelectTabData) => void;
23
+ export declare type TabListSlots = {
24
+ /**
25
+ * The slot associated with the root element of this tab list.
26
+ */
27
+ root: Slot<'div'>;
28
+ };
29
+ declare type TabListCommons = {
30
+ /**
31
+ * A tab list can supports 'transparent' and 'subtle' appearance.
32
+ *- 'subtle': Minimizes emphasis to blend into the background until hovered or focused.
33
+ *- 'transparent': No background and border styling
34
+ * The appearance affects each of the contained tabs.
35
+ * @default 'transparent'
36
+ */
37
+ appearance?: 'transparent' | 'subtle';
38
+ /**
39
+ * A tab list can be set to disable interaction.
40
+ * @default false
41
+ */
42
+ disabled?: boolean;
43
+ /**
44
+ * Raised when a tab is selected.
45
+ */
46
+ onTabSelect?: SelectTabEventHandler;
47
+ /**
48
+ * The value of the currently selected tab.
49
+ */
50
+ selectedValue?: TabValue;
51
+ /**
52
+ * A tab list can be either 'small' or 'medium' size.
53
+ * The size affects each of the contained tabs.
54
+ * @default 'medium'
55
+ */
56
+ size?: 'small' | 'medium';
57
+ /**
58
+ * A tab list can arrange its tabs vertically.
59
+ * @default false
60
+ */
61
+ vertical?: boolean;
62
+ };
63
+ /**
64
+ * TabList Props
65
+ */
66
+ export declare type TabListProps = ComponentProps<TabListSlots> & TabListCommons & {
67
+ /**
68
+ * The value of the tab to be selected by default.
69
+ * Typically useful when the selectedValue is uncontrolled.
70
+ */
71
+ defaultSelectedValue?: TabValue;
72
+ };
73
+ export declare type TabListContextValue = Pick<TabListCommons, 'onTabSelect' | 'selectedValue'> & Required<Pick<TabListCommons, 'appearance' | 'disabled' | 'size' | 'vertical'>> & {
74
+ /** A callback to allow a tab to register itself with the tab list. */
75
+ onRegister: RegisterTabEventHandler;
76
+ /** A callback to allow a tab to unregister itself with the tab list. */
77
+ onUnregister: RegisterTabEventHandler;
78
+ /**
79
+ * A callback to allow a tab to select itself when pressed.
80
+ */
81
+ onSelect: SelectTabEventHandler;
82
+ /**
83
+ * Gets the registered tab data along with current and previous selected values.
84
+ */
85
+ getRegisteredTabs: () => {
86
+ selectedValue?: TabValue;
87
+ previousSelectedValue?: TabValue;
88
+ registeredTabs: Record<string, TabRegisterData>;
89
+ };
90
+ };
91
+ /**
92
+ * Context values used in rendering TabList.
93
+ */
94
+ export declare type TabListContextValues = {
95
+ /**
96
+ * The context of the tab list available to each tab.
97
+ */
98
+ tabList: TabListContextValue;
99
+ };
100
+ /**
101
+ * State used in rendering TabList.
102
+ */
103
+ export declare type TabListState = ComponentState<Required<TabListSlots>> & TabListContextValue;
104
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TabList.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabList.types.js","sourceRoot":"../src/","sources":["components/TabList/TabList.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { TabValue } from '../Tab/Tab.types';\n\nexport type TabRegisterData = {\n /**\n * The value of the tab.\n */\n value: TabValue;\n\n /**\n * The reference to the tab HTML element.\n */\n ref: React.RefObject<HTMLElement>;\n};\n\nexport type RegisterTabEventHandler = (data: TabRegisterData) => void;\n\nexport type SelectTabData = {\n /**\n * The value of the selected tab.\n */\n value: TabValue;\n};\n\nexport type SelectTabEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;\n\nexport type SelectTabEventHandler = (event: SelectTabEvent, data: SelectTabData) => void;\n\nexport type TabListSlots = {\n /**\n * The slot associated with the root element of this tab list.\n */\n root: Slot<'div'>;\n};\n\ntype TabListCommons = {\n /**\n * A tab list can supports 'transparent' and 'subtle' appearance.\n *- 'subtle': Minimizes emphasis to blend into the background until hovered or focused.\n *- 'transparent': No background and border styling\n * The appearance affects each of the contained tabs.\n * @default 'transparent'\n */\n appearance?: 'transparent' | 'subtle';\n\n /**\n * A tab list can be set to disable interaction.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Raised when a tab is selected.\n */\n onTabSelect?: SelectTabEventHandler;\n\n /**\n * The value of the currently selected tab.\n */\n selectedValue?: TabValue;\n\n /**\n * A tab list can be either 'small' or 'medium' size.\n * The size affects each of the contained tabs.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n\n /**\n * A tab list can arrange its tabs vertically.\n * @default false\n */\n vertical?: boolean;\n};\n\n/**\n * TabList Props\n */\nexport type TabListProps = ComponentProps<TabListSlots> &\n TabListCommons & {\n /**\n * The value of the tab to be selected by default.\n * Typically useful when the selectedValue is uncontrolled.\n */\n defaultSelectedValue?: TabValue;\n };\n\nexport type TabListContextValue = Pick<TabListCommons, 'onTabSelect' | 'selectedValue'> &\n Required<Pick<TabListCommons, 'appearance' | 'disabled' | 'size' | 'vertical'>> & {\n /** A callback to allow a tab to register itself with the tab list. */\n onRegister: RegisterTabEventHandler;\n\n /** A callback to allow a tab to unregister itself with the tab list. */\n onUnregister: RegisterTabEventHandler;\n /**\n * A callback to allow a tab to select itself when pressed.\n */\n onSelect: SelectTabEventHandler;\n /**\n * Gets the registered tab data along with current and previous selected values.\n */\n getRegisteredTabs: () => {\n selectedValue?: TabValue;\n previousSelectedValue?: TabValue;\n registeredTabs: Record<string, TabRegisterData>;\n };\n };\n\n/**\n * Context values used in rendering TabList.\n */\nexport type TabListContextValues = {\n /**\n * The context of the tab list available to each tab.\n */\n tabList: TabListContextValue;\n};\n\n/**\n * State used in rendering TabList.\n */\nexport type TabListState = ComponentState<Required<TabListSlots>> & TabListContextValue;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { Context } from '@fluentui/react-context-selector';
2
+ import { TabListContextValue } from './TabList.types';
3
+ export declare const TabListContext: Context<TabListContextValue>;
@@ -0,0 +1,23 @@
1
+ import { createContext } from '@fluentui/react-context-selector';
2
+ export const TabListContext = /*#__PURE__*/createContext({
3
+ appearance: 'transparent',
4
+ disabled: false,
5
+ selectedValue: undefined,
6
+ onRegister: () => {
7
+ /* noop */
8
+ },
9
+ onUnregister: () => {
10
+ /* noop */
11
+ },
12
+ onSelect: () => {
13
+ /* noop */
14
+ },
15
+ getRegisteredTabs: () => {
16
+ return {
17
+ registeredTabs: {}
18
+ };
19
+ },
20
+ size: 'medium',
21
+ vertical: false
22
+ });
23
+ //# sourceMappingURL=TabListContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/TabList/TabListContext.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,kCAA9B;AAIA,OAAO,MAAM,cAAc,gBAAiC,aAAa,CAAsB;AAC7F,EAAA,UAAU,EAAE,aADiF;AAE7F,EAAA,QAAQ,EAAE,KAFmF;AAG7F,EAAA,aAAa,EAAE,SAH8E;AAI7F,EAAA,UAAU,EAAE,MAAK;AACf;AACD,GAN4F;AAO7F,EAAA,YAAY,EAAE,MAAK;AACjB;AACD,GAT4F;AAU7F,EAAA,QAAQ,EAAE,MAAK;AACb;AACD,GAZ4F;AAa7F,EAAA,iBAAiB,EAAE,MAAK;AACtB,WAAO;AACL,MAAA,cAAc,EAAE;AADX,KAAP;AAGD,GAjB4F;AAkB7F,EAAA,IAAI,EAAE,QAlBuF;AAmB7F,EAAA,QAAQ,EAAE;AAnBmF,CAAtB,CAAlE","sourcesContent":["import { createContext } from '@fluentui/react-context-selector';\nimport type { Context } from '@fluentui/react-context-selector';\nimport { TabListContextValue } from './TabList.types';\n\nexport const TabListContext: Context<TabListContextValue> = createContext<TabListContextValue>({\n appearance: 'transparent',\n disabled: false,\n selectedValue: undefined,\n onRegister: () => {\n /* noop */\n },\n onUnregister: () => {\n /* noop */\n },\n onSelect: () => {\n /* noop */\n },\n getRegisteredTabs: () => {\n return {\n registeredTabs: {},\n };\n },\n size: 'medium',\n vertical: false,\n});\n"],"sourceRoot":"../src/"}