@react-md/core 1.0.0-next.0 → 1.0.0-next.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 (905) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/.turbo/turbo-test.log +166 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/CHANGELOG.md +57 -0
  6. package/coverage/clover.xml +3 -1118
  7. package/coverage/coverage-final.json +1 -7
  8. package/coverage/lcov-report/CircularProgress.tsx.html +799 -0
  9. package/coverage/lcov-report/Dialog.tsx.html +1309 -0
  10. package/coverage/lcov-report/DialogContent.tsx.html +178 -0
  11. package/coverage/lcov-report/DialogFooter.tsx.html +169 -0
  12. package/coverage/lcov-report/LinearProgress.tsx.html +658 -0
  13. package/coverage/lcov-report/MaterialIcon.tsx.html +36 -42
  14. package/coverage/lcov-report/MaterialSymbol.tsx.html +240 -222
  15. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +979 -0
  16. package/coverage/lcov-report/MenuItemSeparator.tsx.html +223 -0
  17. package/coverage/lcov-report/MenuItemTextField.tsx.html +289 -0
  18. package/coverage/lcov-report/Switch.tsx.html +535 -0
  19. package/coverage/lcov-report/SwitchTrack.tsx.html +262 -0
  20. package/coverage/lcov-report/Table.tsx.html +457 -0
  21. package/coverage/lcov-report/TableCell.tsx.html +982 -0
  22. package/coverage/lcov-report/TableCheckbox.tsx.html +709 -0
  23. package/coverage/lcov-report/TableContainer.tsx.html +220 -0
  24. package/coverage/lcov-report/TableFooter.tsx.html +502 -0
  25. package/coverage/lcov-report/TableHeader.tsx.html +541 -0
  26. package/coverage/lcov-report/TableRadio.tsx.html +670 -0
  27. package/coverage/lcov-report/TableRow.tsx.html +289 -0
  28. package/coverage/lcov-report/Tooltip.tsx.html +98 -155
  29. package/coverage/lcov-report/avatar/Avatar.tsx.html +37 -31
  30. package/coverage/lcov-report/avatar/index.html +22 -7
  31. package/coverage/lcov-report/avatar/styles.ts.html +268 -0
  32. package/coverage/lcov-report/button/AsyncButton.tsx.html +217 -10
  33. package/coverage/lcov-report/button/Button.tsx.html +95 -83
  34. package/coverage/lcov-report/button/index.html +12 -12
  35. package/coverage/lcov-report/config.ts.html +33 -18
  36. package/coverage/lcov-report/cssUtils.ts.html +143 -65
  37. package/coverage/lcov-report/dialog/Dialog.tsx.html +170 -167
  38. package/coverage/lcov-report/dialog/DialogContent.tsx.html +178 -0
  39. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +169 -0
  40. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +148 -0
  41. package/coverage/lcov-report/dialog/DialogTitle.tsx.html +256 -0
  42. package/coverage/lcov-report/dialog/index.html +18 -33
  43. package/coverage/lcov-report/dialog/styles.ts.html +439 -0
  44. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +36 -24
  45. package/coverage/lcov-report/form/MenuItemTextField.tsx.html +12 -9
  46. package/coverage/lcov-report/form/SliderValueTooltip.tsx.html +319 -0
  47. package/coverage/lcov-report/form/Switch.tsx.html +310 -385
  48. package/coverage/lcov-report/form/SwitchTrack.tsx.html +98 -71
  49. package/coverage/lcov-report/form/index.html +20 -245
  50. package/coverage/lcov-report/form/switchStyles.ts.html +172 -0
  51. package/coverage/lcov-report/form/useRadioGroup.ts.html +79 -79
  52. package/coverage/lcov-report/hoverMode/index.html +116 -0
  53. package/coverage/lcov-report/hoverMode/useHoverMode.ts.html +676 -0
  54. package/coverage/lcov-report/icon/FontIcon.tsx.html +37 -46
  55. package/coverage/lcov-report/icon/index.html +12 -12
  56. package/coverage/lcov-report/icon/styles.ts.html +41 -104
  57. package/coverage/lcov-report/iconConfig.tsx.html +973 -0
  58. package/coverage/lcov-report/index.html +11 -101
  59. package/coverage/lcov-report/link/Link.tsx.html +358 -0
  60. package/coverage/lcov-report/link/index.html +20 -20
  61. package/coverage/lcov-report/list/ListItemLink.tsx.html +29 -35
  62. package/coverage/lcov-report/list/index.html +8 -38
  63. package/coverage/lcov-report/materialConfig.ts.html +703 -0
  64. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  65. package/coverage/lcov-report/media-queries/index.html +10 -10
  66. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +976 -0
  67. package/coverage/lcov-report/menu/Menu.tsx.html +111 -60
  68. package/coverage/lcov-report/menu/MenuConfigurationProvider.tsx.html +637 -0
  69. package/coverage/lcov-report/menu/MenuSheet.tsx.html +37 -13
  70. package/coverage/lcov-report/menu/index.html +35 -65
  71. package/coverage/lcov-report/menu/menuConfig.ts.html +118 -0
  72. package/coverage/lcov-report/progress/CircularProgress.tsx.html +799 -0
  73. package/coverage/lcov-report/progress/LinearProgress.tsx.html +100 -94
  74. package/coverage/lcov-report/progress/index.html +22 -7
  75. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  76. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  77. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  78. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +65 -65
  79. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  80. package/coverage/lcov-report/src/app-bar/index.html +20 -5
  81. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +36 -27
  82. package/coverage/lcov-report/src/avatar/index.html +22 -7
  83. package/coverage/lcov-report/src/avatar/styles.ts.html +77 -8
  84. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  85. package/coverage/lcov-report/src/badge/index.html +1 -1
  86. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  87. package/coverage/lcov-report/src/box/index.html +10 -25
  88. package/coverage/lcov-report/src/box/styles.ts.html +103 -49
  89. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +833 -284
  90. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  91. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  92. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +39 -39
  93. package/coverage/lcov-report/src/button/buttonStyles.ts.html +59 -59
  94. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  95. package/coverage/lcov-report/src/button/index.html +23 -8
  96. package/coverage/lcov-report/src/card/Card.tsx.html +1 -1
  97. package/coverage/lcov-report/src/card/CardContent.tsx.html +1 -1
  98. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  99. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  100. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  101. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  102. package/coverage/lcov-report/src/card/index.html +95 -5
  103. package/coverage/lcov-report/src/card/styles.ts.html +1 -1
  104. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  105. package/coverage/lcov-report/src/chip/index.html +1 -1
  106. package/coverage/lcov-report/src/chip/styles.ts.html +1 -1
  107. package/coverage/lcov-report/src/cssUtils.ts.html +68 -59
  108. package/coverage/lcov-report/src/delegateEvent.ts.html +84 -84
  109. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +158 -155
  110. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +27 -27
  111. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +72 -72
  112. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +14 -14
  113. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +9 -9
  114. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +124 -124
  115. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  116. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +3 -3
  117. package/coverage/lcov-report/src/dialog/index.html +21 -21
  118. package/coverage/lcov-report/src/dialog/styles.ts.html +61 -61
  119. package/coverage/lcov-report/src/divider/Divider.tsx.html +24 -24
  120. package/coverage/lcov-report/src/divider/index.html +21 -6
  121. package/coverage/lcov-report/src/divider/styles.ts.html +11 -11
  122. package/coverage/lcov-report/src/draggable/index.html +5 -5
  123. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +322 -322
  124. package/coverage/lcov-report/src/draggable/utils.ts.html +81 -81
  125. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  126. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  127. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +11 -20
  128. package/coverage/lcov-report/src/expansion-panel/index.html +25 -10
  129. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  130. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +1 -1
  131. package/coverage/lcov-report/src/focus/index.html +23 -23
  132. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +142 -121
  133. package/coverage/lcov-report/src/focus/utils.ts.html +37 -37
  134. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  135. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  136. package/coverage/lcov-report/src/form/FileInput.tsx.html +133 -139
  137. package/coverage/lcov-report/src/form/Form.tsx.html +1 -1
  138. package/coverage/lcov-report/src/form/FormMessage.tsx.html +126 -264
  139. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +42 -45
  140. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  141. package/coverage/lcov-report/src/form/InputToggle.tsx.html +7 -16
  142. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +1 -1
  143. package/coverage/lcov-report/src/form/Label.tsx.html +102 -102
  144. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  145. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +11 -5
  146. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +3 -3
  147. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +21 -9
  148. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +11 -5
  149. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  150. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +13 -4
  151. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +20 -5
  152. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  153. package/coverage/lcov-report/src/form/Option.tsx.html +4 -4
  154. package/coverage/lcov-report/src/form/Password.tsx.html +3 -3
  155. package/coverage/lcov-report/src/form/Radio.tsx.html +1 -1
  156. package/coverage/lcov-report/src/form/Select.tsx.html +1 -1
  157. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  158. package/coverage/lcov-report/src/form/Slider.tsx.html +129 -9
  159. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  160. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  161. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  162. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +43 -7
  163. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  164. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +11 -5
  165. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +2 -2
  166. package/coverage/lcov-report/src/form/Switch.tsx.html +310 -373
  167. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +99 -69
  168. package/coverage/lcov-report/src/form/TextArea.tsx.html +21 -9
  169. package/coverage/lcov-report/src/form/TextField.tsx.html +16 -10
  170. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +14 -26
  171. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +28 -10
  172. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +17 -8
  173. package/coverage/lcov-report/src/form/fileUtils.ts.html +3 -3
  174. package/coverage/lcov-report/src/form/formConfig.ts.html +18 -18
  175. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +40 -40
  176. package/coverage/lcov-report/src/form/index.html +14 -164
  177. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +34 -7
  179. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  180. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  181. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  182. package/coverage/lcov-report/src/form/selectUtils.ts.html +6 -9
  183. package/coverage/lcov-report/src/form/sliderUtils.ts.html +20 -14
  184. package/coverage/lcov-report/src/form/switchStyles.ts.html +68 -68
  185. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  186. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  187. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +2 -2
  188. package/coverage/lcov-report/src/form/useFileUpload.ts.html +28 -19
  189. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +5 -8
  190. package/coverage/lcov-report/src/form/useNumberField.ts.html +10 -10
  191. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +22 -7
  192. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +3 -3
  193. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +523 -0
  194. package/coverage/lcov-report/src/form/useSlider.ts.html +2 -2
  195. package/coverage/lcov-report/src/form/useTextField.ts.html +32 -26
  196. package/coverage/lcov-report/src/form/utils.ts.html +2 -2
  197. package/coverage/lcov-report/src/form/validation.ts.html +2 -2
  198. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  199. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +95 -95
  200. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +3 -3
  201. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +34 -43
  202. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +1 -1
  203. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +36 -42
  204. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +240 -222
  205. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  206. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +33 -33
  207. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +973 -0
  208. package/coverage/lcov-report/src/icon/index.html +149 -14
  209. package/coverage/lcov-report/src/icon/material.ts.html +748 -58
  210. package/coverage/lcov-report/src/icon/materialConfig.ts.html +703 -0
  211. package/coverage/lcov-report/src/icon/styles.ts.html +47 -110
  212. package/coverage/lcov-report/src/index.html +8 -8
  213. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +60 -60
  214. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +41 -47
  215. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +240 -240
  216. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  217. package/coverage/lcov-report/src/interaction/index.html +100 -10
  218. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +146 -146
  219. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +17 -17
  220. package/coverage/lcov-report/src/interaction/utils.ts.html +171 -171
  221. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  222. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  223. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  224. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  225. package/coverage/lcov-report/src/layout/index.html +200 -5
  226. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  227. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  228. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  229. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  230. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  231. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +1 -1
  232. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  233. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  234. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  235. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  236. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +3 -3
  237. package/coverage/lcov-report/src/link/Link.tsx.html +39 -9
  238. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  239. package/coverage/lcov-report/src/link/index.html +16 -16
  240. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  241. package/coverage/lcov-report/src/list/List.tsx.html +33 -33
  242. package/coverage/lcov-report/src/list/ListItem.tsx.html +534 -534
  243. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +33 -33
  244. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +77 -77
  245. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +2 -2
  246. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  247. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  248. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +33 -33
  249. package/coverage/lcov-report/src/list/index.html +128 -8
  250. package/coverage/lcov-report/src/list/listItemStyles.ts.html +1 -1
  251. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +59 -59
  252. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  253. package/coverage/lcov-report/src/media-queries/index.html +20 -5
  254. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +24 -24
  255. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +73 -16
  256. package/coverage/lcov-report/src/menu/Menu.tsx.html +66 -33
  257. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  258. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +3 -3
  259. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  260. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  261. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +3 -3
  262. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  263. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +6 -36
  264. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +34 -7
  265. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  266. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  267. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  268. package/coverage/lcov-report/src/menu/index.html +69 -24
  269. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  270. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  271. package/coverage/lcov-report/src/menu/utils.ts.html +10 -10
  272. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  273. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  274. package/coverage/lcov-report/src/movement/index.html +53 -8
  275. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +92 -92
  276. package/coverage/lcov-report/src/movement/utils.ts.html +1 -1
  277. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +64 -64
  278. package/coverage/lcov-report/src/overlay/index.html +1 -1
  279. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +28 -28
  280. package/coverage/lcov-report/src/portal/Portal.tsx.html +9 -9
  281. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +29 -29
  282. package/coverage/lcov-report/src/portal/index.html +20 -5
  283. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  284. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +63 -63
  285. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +65 -65
  286. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +94 -94
  287. package/coverage/lcov-report/src/positioning/index.html +70 -10
  288. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +200 -200
  289. package/coverage/lcov-report/src/positioning/utils.ts.html +111 -111
  290. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +501 -456
  291. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +419 -338
  292. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  293. package/coverage/lcov-report/src/progress/index.html +32 -32
  294. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  295. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  296. package/coverage/lcov-report/src/responsive-item/index.html +20 -5
  297. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  298. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  299. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +25 -25
  300. package/coverage/lcov-report/src/scroll/index.html +5 -5
  301. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +27 -27
  302. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +4 -4
  303. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +29 -8
  304. package/coverage/lcov-report/src/segmented-button/index.html +50 -5
  305. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +15 -6
  306. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  307. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  308. package/coverage/lcov-report/src/sheet/index.html +20 -5
  309. package/coverage/lcov-report/src/sheet/styles.ts.html +28 -28
  310. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +8 -5
  311. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +7 -133
  312. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +2 -2
  313. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  314. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +3 -3
  315. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +7 -115
  316. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +1783 -0
  317. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +16 -1696
  318. package/coverage/lcov-report/src/snackbar/index.html +159 -9
  319. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +214 -0
  320. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +196 -0
  321. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +1 -1
  322. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  323. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +57 -6
  324. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +1 -1
  325. package/coverage/lcov-report/src/suspense/index.html +7 -22
  326. package/coverage/lcov-report/src/table/Table.tsx.html +1 -1
  327. package/coverage/lcov-report/src/table/TableBody.tsx.html +1 -1
  328. package/coverage/lcov-report/src/table/TableCell.tsx.html +20 -35
  329. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +2 -2
  330. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +1 -1
  331. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +6 -12
  332. package/coverage/lcov-report/src/table/TableContainer.tsx.html +1 -1
  333. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  334. package/coverage/lcov-report/src/table/TableFooter.tsx.html +1 -1
  335. package/coverage/lcov-report/src/table/TableHeader.tsx.html +1 -1
  336. package/coverage/lcov-report/src/table/TableRow.tsx.html +1 -1
  337. package/coverage/lcov-report/src/table/index.html +113 -8
  338. package/coverage/lcov-report/src/tabs/Tab.tsx.html +69 -69
  339. package/coverage/lcov-report/src/tabs/TabList.tsx.html +92 -92
  340. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +61 -61
  341. package/coverage/lcov-report/src/tabs/index.html +143 -8
  342. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +157 -0
  343. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +226 -0
  344. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +241 -0
  345. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +17 -17
  346. package/coverage/lcov-report/src/tabs/useTabList.ts.html +94 -94
  347. package/coverage/lcov-report/src/tabs/useTabs.ts.html +54 -54
  348. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  349. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  350. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +1 -1
  351. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +100 -0
  352. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  353. package/coverage/lcov-report/src/test-utils/index.html +114 -9
  354. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +21 -9
  355. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
  356. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  357. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  358. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  359. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  360. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  361. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  362. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  363. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  364. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  365. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +22 -4
  366. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  367. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  368. package/coverage/lcov-report/src/theme/index.html +71 -11
  369. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +1 -1
  370. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  371. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  372. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  373. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  374. package/coverage/lcov-report/src/theme/utils.ts.html +58 -58
  375. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +98 -74
  376. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +60 -6
  377. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  378. package/coverage/lcov-report/src/tooltip/index.html +72 -27
  379. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +18 -18
  380. package/coverage/lcov-report/src/tooltip/useOverflowTooltip.ts.html +196 -196
  381. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +511 -211
  382. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +29 -29
  383. package/coverage/lcov-report/src/tooltip/utils.ts.html +23 -23
  384. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  385. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  386. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  387. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  388. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +1 -1
  389. package/coverage/lcov-report/src/transition/Slide.tsx.html +46 -46
  390. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  391. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  392. package/coverage/lcov-report/src/transition/config.ts.html +187 -0
  393. package/coverage/lcov-report/src/transition/index.html +295 -10
  394. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  395. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +69 -69
  396. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  397. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +99 -99
  398. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  399. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  400. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  401. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +1 -1
  402. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +20 -20
  403. package/coverage/lcov-report/src/transition/useTransition.ts.html +277 -250
  404. package/coverage/lcov-report/src/transition/utils.ts.html +68 -68
  405. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +2 -2
  406. package/coverage/lcov-report/src/tree/Tree.tsx.html +24 -36
  407. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  408. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +213 -216
  409. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +3 -3
  410. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +29 -11
  411. package/coverage/lcov-report/src/tree/index.html +114 -9
  412. package/coverage/lcov-report/src/tree/styles.ts.html +1 -1
  413. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  414. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  415. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +10 -13
  416. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
  417. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  418. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  419. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +26 -26
  420. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  421. package/coverage/lcov-report/src/typography/Typography.tsx.html +71 -71
  422. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +75 -75
  423. package/coverage/lcov-report/src/typography/index.html +64 -19
  424. package/coverage/lcov-report/src/useAsyncAction.ts.html +25 -25
  425. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
  426. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  427. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  428. package/coverage/lcov-report/src/useEnsuredRef.ts.html +22 -19
  429. package/coverage/lcov-report/src/useEnsuredState.ts.html +18 -18
  430. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  431. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +32 -32
  432. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  433. package/coverage/lcov-report/src/useLocalStorage.ts.html +225 -225
  434. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  435. package/coverage/lcov-report/src/usePageInactive.ts.html +25 -25
  436. package/coverage/lcov-report/src/useResizeListener.ts.html +1 -1
  437. package/coverage/lcov-report/src/useResizeObserver.ts.html +28 -28
  438. package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
  439. package/coverage/lcov-report/src/useToggle.ts.html +18 -18
  440. package/coverage/lcov-report/src/useUnmounted.ts.html +11 -11
  441. package/coverage/lcov-report/src/useWindowSize.ts.html +1 -1
  442. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  443. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  444. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  445. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  446. package/coverage/lcov-report/src/utils/filters.ts.html +1 -1
  447. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  448. package/coverage/lcov-report/src/utils/getPercentage.ts.html +36 -36
  449. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +1 -1
  450. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +1 -1
  451. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  452. package/coverage/lcov-report/src/utils/index.html +212 -17
  453. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +14 -14
  454. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  455. package/coverage/lcov-report/src/utils/nearest.ts.html +1 -1
  456. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +41 -41
  457. package/coverage/lcov-report/src/utils/randomInt.ts.html +1 -1
  458. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  459. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  460. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  461. package/coverage/lcov-report/src/window-splitter/index.html +1 -1
  462. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +1 -1
  463. package/coverage/lcov-report/styles.ts.html +134 -320
  464. package/coverage/lcov-report/switchStyles.ts.html +172 -0
  465. package/coverage/lcov-report/table/Table.tsx.html +526 -0
  466. package/coverage/lcov-report/table/TableBody.tsx.html +280 -0
  467. package/coverage/lcov-report/table/TableCell.tsx.html +159 -168
  468. package/coverage/lcov-report/table/TableCheckbox.tsx.html +10 -13
  469. package/coverage/lcov-report/table/TableRadio.tsx.html +670 -0
  470. package/coverage/lcov-report/table/TableRow.tsx.html +370 -0
  471. package/coverage/lcov-report/table/index.html +62 -32
  472. package/coverage/lcov-report/tableCellStyles.ts.html +334 -0
  473. package/coverage/lcov-report/tableContainerStyles.ts.html +142 -0
  474. package/coverage/lcov-report/tableFooterStyles.ts.html +157 -0
  475. package/coverage/lcov-report/tableHeaderStyles.ts.html +163 -0
  476. package/coverage/lcov-report/tableRowStyles.ts.html +169 -0
  477. package/coverage/lcov-report/tableStyles.ts.html +157 -0
  478. package/coverage/lcov-report/tabs/Tab.tsx.html +502 -0
  479. package/coverage/lcov-report/tabs/TabList.tsx.html +796 -0
  480. package/coverage/lcov-report/tabs/index.html +62 -17
  481. package/coverage/lcov-report/tabs/useTabs.ts.html +1567 -0
  482. package/coverage/lcov-report/tabs/utils.ts.html +337 -0
  483. package/coverage/lcov-report/test-utils/index.html +20 -20
  484. package/coverage/lcov-report/test-utils/jest-setup.ts.html +124 -0
  485. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +98 -74
  486. package/coverage/lcov-report/tooltip/TooltipHoverModeProvider.tsx.html +167 -11
  487. package/coverage/lcov-report/tooltip/constants.ts.html +1 -1
  488. package/coverage/lcov-report/tooltip/index.html +32 -17
  489. package/coverage/lcov-report/tooltip/tooltipStyles.ts.html +181 -0
  490. package/coverage/lcov-report/tooltip/useTooltip.ts.html +490 -190
  491. package/coverage/lcov-report/tooltipStyles.ts.html +181 -0
  492. package/coverage/lcov-report/transition/config.ts.html +187 -0
  493. package/coverage/lcov-report/transition/index.html +9 -24
  494. package/coverage/lcov-report/transition/useTransition.ts.html +943 -0
  495. package/coverage/lcov-report/tree/Tree.tsx.html +24 -36
  496. package/coverage/lcov-report/tree/TreeItem.tsx.html +213 -216
  497. package/coverage/lcov-report/tree/TreeProvider.tsx.html +55 -10
  498. package/coverage/lcov-report/tree/index.html +14 -59
  499. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +781 -0
  500. package/coverage/lcov-report/typography/index.html +8 -8
  501. package/coverage/lcov-report/useTooltip.ts.html +651 -375
  502. package/coverage/lcov-report/useTransition.ts.html +934 -0
  503. package/coverage/lcov-report/utils/index.html +24 -39
  504. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  505. package/coverage/lcov-report/utils/parseCssLengthUnit.ts.html +19 -19
  506. package/coverage/lcov.info +0 -1176
  507. package/dist/_core.scss +5 -1
  508. package/dist/avatar/Avatar.d.ts +2 -15
  509. package/dist/avatar/Avatar.js +3 -2
  510. package/dist/avatar/Avatar.js.map +1 -1
  511. package/dist/avatar/_avatar.scss +4 -2
  512. package/dist/avatar/styles.d.ts +20 -2
  513. package/dist/avatar/styles.js +4 -1
  514. package/dist/avatar/styles.js.map +1 -1
  515. package/dist/button/AsyncButton.d.ts +29 -0
  516. package/dist/button/AsyncButton.js +14 -1
  517. package/dist/button/AsyncButton.js.map +1 -1
  518. package/dist/chip/_chip.scss +0 -16
  519. package/dist/chip/styles.d.ts +1 -1
  520. package/dist/chip/styles.js +3 -4
  521. package/dist/chip/styles.js.map +1 -1
  522. package/dist/cssUtils.d.ts +1 -0
  523. package/dist/cssUtils.js +1 -1
  524. package/dist/cssUtils.js.map +1 -1
  525. package/dist/dialog/Dialog.d.ts +1 -1
  526. package/dist/dialog/Dialog.js +2 -1
  527. package/dist/dialog/Dialog.js.map +1 -1
  528. package/dist/focus/useFocusContainer.d.ts +8 -8
  529. package/dist/focus/useFocusContainer.js +11 -10
  530. package/dist/focus/useFocusContainer.js.map +1 -1
  531. package/dist/form/MenuItemInputToggle.js +2 -2
  532. package/dist/form/MenuItemInputToggle.js.map +1 -1
  533. package/dist/form/MenuItemTextField.d.ts +2 -0
  534. package/dist/form/MenuItemTextField.js.map +1 -1
  535. package/dist/form/Slider.d.ts +41 -5
  536. package/dist/form/Slider.js +2 -1
  537. package/dist/form/Slider.js.map +1 -1
  538. package/dist/form/SliderThumb.d.ts +7 -2
  539. package/dist/form/SliderThumb.js +4 -2
  540. package/dist/form/SliderThumb.js.map +1 -1
  541. package/dist/form/SliderValueMarks.js +1 -1
  542. package/dist/form/SliderValueMarks.js.map +1 -1
  543. package/dist/form/SliderValueTooltip.js +1 -1
  544. package/dist/form/SliderValueTooltip.js.map +1 -1
  545. package/dist/form/Switch.d.ts +3 -2
  546. package/dist/form/Switch.js +7 -26
  547. package/dist/form/Switch.js.map +1 -1
  548. package/dist/form/SwitchTrack.d.ts +2 -1
  549. package/dist/form/SwitchTrack.js +8 -4
  550. package/dist/form/SwitchTrack.js.map +1 -1
  551. package/dist/form/_form.scss +41 -34
  552. package/dist/form/switchStyles.d.ts +1 -0
  553. package/dist/form/switchStyles.js +2 -1
  554. package/dist/form/switchStyles.js.map +1 -1
  555. package/dist/hoverMode/useHoverMode.d.ts +2 -2
  556. package/dist/hoverMode/useHoverMode.js +1 -1
  557. package/dist/hoverMode/useHoverMode.js.map +1 -1
  558. package/dist/icon/FontIcon.d.ts +2 -1
  559. package/dist/icon/FontIcon.js +4 -5
  560. package/dist/icon/FontIcon.js.map +1 -1
  561. package/dist/icon/MaterialIcon.d.ts +2 -2
  562. package/dist/icon/MaterialIcon.js +3 -6
  563. package/dist/icon/MaterialIcon.js.map +1 -1
  564. package/dist/icon/MaterialSymbol.d.ts +15 -8
  565. package/dist/icon/MaterialSymbol.js +15 -11
  566. package/dist/icon/MaterialSymbol.js.map +1 -1
  567. package/dist/icon/iconConfig.js.map +1 -1
  568. package/dist/icon/material.d.ts +1 -1
  569. package/dist/icon/material.js.map +1 -1
  570. package/dist/icon/materialConfig.d.ts +156 -0
  571. package/dist/icon/materialConfig.js +29 -0
  572. package/dist/icon/materialConfig.js.map +1 -0
  573. package/dist/icon/styles.d.ts +0 -15
  574. package/dist/icon/styles.js +2 -4
  575. package/dist/icon/styles.js.map +1 -1
  576. package/dist/index.d.ts +8 -6
  577. package/dist/index.js +8 -6
  578. package/dist/index.js.map +1 -1
  579. package/dist/link/Link.d.ts +12 -6
  580. package/dist/link/Link.js +1 -2
  581. package/dist/link/Link.js.map +1 -1
  582. package/dist/list/ListItemLink.d.ts +1 -1
  583. package/dist/list/ListItemLink.js.map +1 -1
  584. package/dist/menu/DropdownMenu.d.ts +12 -1
  585. package/dist/menu/DropdownMenu.js +13 -4
  586. package/dist/menu/DropdownMenu.js.map +1 -1
  587. package/dist/menu/Menu.d.ts +8 -0
  588. package/dist/menu/Menu.js +2 -1
  589. package/dist/menu/Menu.js.map +1 -1
  590. package/dist/menu/MenuItemSeparator.d.ts +1 -2
  591. package/dist/menu/MenuItemSeparator.js +2 -8
  592. package/dist/menu/MenuItemSeparator.js.map +1 -1
  593. package/dist/menu/MenuSheet.d.ts +6 -1
  594. package/dist/menu/MenuSheet.js.map +1 -1
  595. package/dist/menu/menuConfig.d.ts +60 -0
  596. package/dist/progress/CircularProgress.d.ts +5 -4
  597. package/dist/progress/CircularProgress.js +3 -3
  598. package/dist/progress/CircularProgress.js.map +1 -1
  599. package/dist/progress/LinearProgress.d.ts +7 -5
  600. package/dist/progress/LinearProgress.js +4 -3
  601. package/dist/progress/LinearProgress.js.map +1 -1
  602. package/dist/segmented-button/_segmented-button.scss +5 -0
  603. package/dist/suspense/CircularProgressSuspense.d.ts +4 -0
  604. package/dist/suspense/CircularProgressSuspense.js +3 -1
  605. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  606. package/dist/table/Table.d.ts +0 -12
  607. package/dist/table/Table.js +1 -12
  608. package/dist/table/Table.js.map +1 -1
  609. package/dist/table/TableCell.d.ts +13 -38
  610. package/dist/table/TableCell.js +7 -15
  611. package/dist/table/TableCell.js.map +1 -1
  612. package/dist/table/TableCellContent.d.ts +9 -0
  613. package/dist/table/TableCellContent.js +2 -1
  614. package/dist/table/TableCellContent.js.map +1 -1
  615. package/dist/table/TableCheckbox.d.ts +2 -2
  616. package/dist/table/TableCheckbox.js +3 -3
  617. package/dist/table/TableCheckbox.js.map +1 -1
  618. package/dist/table/TableContainer.d.ts +0 -6
  619. package/dist/table/TableContainer.js +1 -6
  620. package/dist/table/TableContainer.js.map +1 -1
  621. package/dist/table/TableFooter.d.ts +7 -1
  622. package/dist/table/TableFooter.js +17 -16
  623. package/dist/table/TableFooter.js.map +1 -1
  624. package/dist/table/TableHeader.d.ts +7 -14
  625. package/dist/table/TableHeader.js +6 -14
  626. package/dist/table/TableHeader.js.map +1 -1
  627. package/dist/table/TableRadio.d.ts +106 -0
  628. package/dist/table/TableRadio.js +106 -0
  629. package/dist/table/TableRadio.js.map +1 -0
  630. package/dist/table/TableRow.d.ts +0 -10
  631. package/dist/table/TableRow.js +1 -12
  632. package/dist/table/TableRow.js.map +1 -1
  633. package/dist/table/_table.scss +16 -18
  634. package/dist/table/tableCellStyles.d.ts +33 -0
  635. package/dist/table/tableCellStyles.js +15 -0
  636. package/dist/table/tableCellStyles.js.map +1 -0
  637. package/dist/table/tableContainerStyles.d.ts +10 -0
  638. package/dist/table/tableContainerStyles.js +9 -0
  639. package/dist/table/tableContainerStyles.js.map +1 -0
  640. package/dist/table/tableFooterStyles.d.ts +10 -0
  641. package/dist/table/tableFooterStyles.js +12 -0
  642. package/dist/table/tableFooterStyles.js.map +1 -0
  643. package/dist/table/tableHeaderStyles.d.ts +10 -0
  644. package/dist/table/tableHeaderStyles.js +13 -0
  645. package/dist/table/tableHeaderStyles.js.map +1 -0
  646. package/dist/table/tableRowStyles.d.ts +10 -0
  647. package/dist/table/tableRowStyles.js +14 -0
  648. package/dist/table/tableRowStyles.js.map +1 -0
  649. package/dist/table/tableStyles.d.ts +12 -0
  650. package/dist/table/tableStyles.js +14 -0
  651. package/dist/table/tableStyles.js.map +1 -0
  652. package/dist/table/types.d.ts +28 -15
  653. package/dist/table/types.js.map +1 -1
  654. package/dist/tabs/_tabs.scss +2 -0
  655. package/dist/test-utils/data-testid.js +2 -0
  656. package/dist/test-utils/data-testid.js.map +1 -0
  657. package/dist/test-utils/jest-setup.js +3 -0
  658. package/dist/test-utils/jest-setup.js.map +1 -1
  659. package/dist/theme/ThemeProvider.d.ts +5 -0
  660. package/dist/theme/ThemeProvider.js.map +1 -1
  661. package/dist/tooltip/Tooltip.d.ts +13 -6
  662. package/dist/tooltip/Tooltip.js +2 -2
  663. package/dist/tooltip/Tooltip.js.map +1 -1
  664. package/dist/tooltip/TooltipHoverModeProvider.d.ts +15 -0
  665. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  666. package/dist/tooltip/_tooltip.scss +1 -0
  667. package/dist/tooltip/tooltipStyles.d.ts +2 -1
  668. package/dist/tooltip/tooltipStyles.js +2 -2
  669. package/dist/tooltip/tooltipStyles.js.map +1 -1
  670. package/dist/tooltip/useTooltip.d.ts +71 -8
  671. package/dist/tooltip/useTooltip.js +68 -7
  672. package/dist/tooltip/useTooltip.js.map +1 -1
  673. package/dist/transition/config.d.ts +22 -0
  674. package/dist/transition/config.js +16 -0
  675. package/dist/transition/config.js.map +1 -0
  676. package/dist/transition/useTransition.js +15 -6
  677. package/dist/transition/useTransition.js.map +1 -1
  678. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -1
  679. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  680. package/dist/tree/Tree.d.ts +1 -1
  681. package/dist/tree/Tree.js +18 -21
  682. package/dist/tree/Tree.js.map +1 -1
  683. package/dist/tree/TreeItem.js +1 -3
  684. package/dist/tree/TreeItem.js.map +1 -1
  685. package/dist/tree/TreeProvider.d.ts +2 -0
  686. package/dist/tree/TreeProvider.js +3 -1
  687. package/dist/tree/TreeProvider.js.map +1 -1
  688. package/package.json +20 -17
  689. package/src/__tests__/NoSsr.tsx +5 -5
  690. package/src/__tests__/useAsyncAction.tsx +14 -6
  691. package/src/__tests__/useDebouncedFunction.tsx +6 -3
  692. package/src/__tests__/useDropzone.tsx +10 -10
  693. package/src/__tests__/useEnsuredId.tsx +5 -5
  694. package/src/__tests__/useEnsuredState.tsx +1 -2
  695. package/src/__tests__/useLocalStorage.tsx +21 -21
  696. package/src/__tests__/useResizeObserver.tsx +2 -0
  697. package/src/__tests__/useThrottledFunction.tsx +9 -8
  698. package/src/__tests__/useToggle.tsx +10 -10
  699. package/src/_core.scss +5 -1
  700. package/src/app-bar/__tests__/AppBar.tsx +15 -15
  701. package/src/app-bar/__tests__/AppBarTitle.tsx +3 -5
  702. package/src/avatar/Avatar.tsx +12 -20
  703. package/src/avatar/__tests__/Avatar.tsx +6 -6
  704. package/src/avatar/_avatar.scss +4 -2
  705. package/src/avatar/styles.ts +27 -4
  706. package/src/badge/__tests__/Badge.tsx +3 -3
  707. package/src/button/AsyncButton.tsx +71 -4
  708. package/src/button/__tests__/AsyncButton.tsx +2 -0
  709. package/src/button/__tests__/Button.tsx +12 -12
  710. package/src/button/__tests__/ButtonUnstyled.tsx +3 -3
  711. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +31 -8
  712. package/src/card/__tests__/Card.tsx +3 -3
  713. package/src/card/__tests__/CardContent.tsx +3 -3
  714. package/src/card/__tests__/CardFooter.tsx +3 -3
  715. package/src/card/__tests__/CardHeader.tsx +5 -5
  716. package/src/card/__tests__/CardSubtitle.tsx +3 -3
  717. package/src/card/__tests__/CardTitle.tsx +3 -3
  718. package/src/chip/__tests__/Chip.tsx +20 -22
  719. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +3 -3
  720. package/src/chip/__tests__/__snapshots__/styles.ts.snap +1 -1
  721. package/src/chip/_chip.scss +0 -16
  722. package/src/chip/styles.ts +4 -5
  723. package/src/cssUtils.ts +4 -1
  724. package/src/dialog/Dialog.tsx +5 -4
  725. package/src/dialog/__tests__/Dialog.tsx +316 -0
  726. package/src/dialog/__tests__/DialogContent.tsx +53 -0
  727. package/src/dialog/__tests__/DialogFooter.tsx +70 -0
  728. package/src/dialog/__tests__/DialogHeader.tsx +37 -0
  729. package/src/dialog/__tests__/DialogTitle.tsx +41 -0
  730. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +84 -0
  731. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +36 -0
  732. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +186 -0
  733. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +18 -0
  734. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +26 -0
  735. package/src/divider/__tests__/Divider.tsx +3 -3
  736. package/src/draggable/__tests__/useDraggable.tsx +35 -39
  737. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +28 -23
  738. package/src/focus/__tests__/useFocusContainer.tsx +280 -0
  739. package/src/focus/useFocusContainer.ts +17 -10
  740. package/src/form/MenuItemInputToggle.tsx +6 -2
  741. package/src/form/MenuItemTextField.tsx +3 -0
  742. package/src/form/Slider.tsx +45 -5
  743. package/src/form/SliderThumb.tsx +15 -3
  744. package/src/form/SliderValueMarks.tsx +3 -1
  745. package/src/form/SliderValueTooltip.tsx +1 -1
  746. package/src/form/Switch.tsx +6 -27
  747. package/src/form/SwitchTrack.tsx +12 -2
  748. package/src/form/__tests__/Checkbox.tsx +5 -5
  749. package/src/form/__tests__/Fieldset.tsx +3 -3
  750. package/src/form/__tests__/FileInput.tsx +2 -2
  751. package/src/form/__tests__/Label.tsx +3 -3
  752. package/src/form/__tests__/Legend.tsx +3 -3
  753. package/src/form/__tests__/Radio.tsx +3 -3
  754. package/src/form/__tests__/Switch.tsx +152 -0
  755. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +428 -0
  756. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +1 -1
  757. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +1 -1
  758. package/src/form/__tests__/useCheckboxGroup.tsx +33 -33
  759. package/src/form/__tests__/useFileUpload.tsx +41 -33
  760. package/src/form/__tests__/useRadioGroup.tsx +25 -25
  761. package/src/form/_form.scss +41 -34
  762. package/src/form/switchStyles.ts +3 -3
  763. package/src/hoverMode/useHoverMode.ts +4 -4
  764. package/src/icon/FontIcon.tsx +2 -5
  765. package/src/icon/MaterialIcon.tsx +4 -6
  766. package/src/icon/MaterialSymbol.tsx +18 -12
  767. package/src/icon/__tests__/FontIcon.tsx +7 -11
  768. package/src/icon/__tests__/IconRotator.tsx +4 -4
  769. package/src/icon/__tests__/MaterialIcon.tsx +79 -0
  770. package/src/icon/__tests__/MaterialSymbol.tsx +100 -0
  771. package/src/icon/__tests__/SVGIcon.tsx +6 -5
  772. package/src/icon/__tests__/TextIconSpacing.tsx +15 -17
  773. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +6 -6
  774. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +82 -0
  775. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +42 -0
  776. package/src/icon/iconConfig.tsx +1 -0
  777. package/src/icon/material.ts +284 -54
  778. package/src/icon/{MaterialSymbolsProvider.tsx → materialConfig.ts} +49 -67
  779. package/src/icon/styles.ts +0 -21
  780. package/src/index.ts +8 -6
  781. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +3 -3
  782. package/src/layout/__tests__/useExpandableLayout.tsx +12 -1
  783. package/src/layout/__tests__/useLayoutTree.tsx +6 -1
  784. package/src/layout/__tests__/useResizableLayout.tsx +13 -1
  785. package/src/layout/__tests__/useTemporaryLayout.tsx +6 -1
  786. package/src/link/Link.tsx +15 -5
  787. package/src/link/__tests__/Link.tsx +3 -3
  788. package/src/link/__tests__/SkipToMainContent.tsx +11 -14
  789. package/src/list/ListItemLink.tsx +1 -1
  790. package/src/list/__tests__/List.tsx +7 -7
  791. package/src/list/__tests__/ListItem.tsx +17 -16
  792. package/src/list/__tests__/ListItemLink.tsx +7 -7
  793. package/src/list/__tests__/ListSubheader.tsx +5 -5
  794. package/src/menu/DropdownMenu.tsx +23 -4
  795. package/src/menu/Menu.tsx +11 -0
  796. package/src/menu/MenuItemSeparator.tsx +2 -12
  797. package/src/menu/MenuSheet.tsx +10 -1
  798. package/src/menu/__tests__/DropdownMenu.tsx +74 -65
  799. package/src/menu/__tests__/MenuBar.tsx +57 -48
  800. package/src/menu/__tests__/MenuVisibilityProvider.tsx +3 -3
  801. package/src/overlay/__tests__/Overlay.tsx +37 -35
  802. package/src/portal/__tests__/PortalContainerProvider.node.tsx +1 -0
  803. package/src/portal/__tests__/PortalContainerProvider.tsx +9 -9
  804. package/src/positioning/__tests__/useFixedPositioning.tsx +20 -14
  805. package/src/progress/CircularProgress.tsx +5 -4
  806. package/src/progress/LinearProgress.tsx +88 -86
  807. package/src/progress/__tests__/CircularProgress.tsx +49 -27
  808. package/src/progress/__tests__/LinearProgress.tsx +40 -25
  809. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +21 -0
  810. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +20 -0
  811. package/src/segmented-button/_segmented-button.scss +5 -0
  812. package/src/snackbar/__tests__/Snackbar.tsx +2 -2
  813. package/src/snackbar/__tests__/Toast.tsx +8 -3
  814. package/src/snackbar/__tests__/ToastActionButton.tsx +2 -2
  815. package/src/snackbar/__tests__/ToastCloseButton.tsx +2 -2
  816. package/src/snackbar/__tests__/ToastManagerProvider.tsx +8 -0
  817. package/src/suspense/CircularProgressSuspense.tsx +19 -2
  818. package/src/table/Table.tsx +1 -24
  819. package/src/table/TableCell.tsx +22 -85
  820. package/src/table/TableCellContent.tsx +20 -2
  821. package/src/table/TableCheckbox.tsx +3 -3
  822. package/src/table/TableContainer.tsx +1 -8
  823. package/src/table/TableFooter.tsx +30 -23
  824. package/src/table/TableHeader.tsx +23 -40
  825. package/src/table/TableRadio.tsx +195 -0
  826. package/src/table/TableRow.tsx +1 -28
  827. package/src/table/__tests__/Table.tsx +4 -10
  828. package/src/table/__tests__/TableBody.tsx +3 -3
  829. package/src/table/__tests__/TableCheckbox.tsx +10 -11
  830. package/src/table/__tests__/TableContainer.tsx +3 -3
  831. package/src/table/__tests__/TableRadio.tsx +112 -0
  832. package/src/table/__tests__/TableRow.tsx +4 -10
  833. package/src/table/__tests__/__snapshots__/Table.tsx.snap +249 -251
  834. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +3 -3
  835. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +4 -4
  836. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +138 -0
  837. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +4 -6
  838. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +3 -0
  839. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +3 -0
  840. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +3 -0
  841. package/src/table/__tests__/tableContainerStyles.ts +8 -0
  842. package/src/table/__tests__/tableRowStyles.ts +8 -0
  843. package/src/table/__tests__/tableStyles.ts +8 -0
  844. package/src/table/_table.scss +16 -18
  845. package/src/table/tableCellStyles.ts +83 -0
  846. package/src/table/tableContainerStyles.ts +19 -0
  847. package/src/table/tableFooterStyles.ts +27 -0
  848. package/src/table/tableHeaderStyles.ts +29 -0
  849. package/src/table/tableRowStyles.ts +28 -0
  850. package/src/table/tableStyles.ts +24 -0
  851. package/src/table/types.ts +33 -15
  852. package/src/tabs/__tests__/Tab.tsx +3 -3
  853. package/src/tabs/__tests__/TabList.tsx +50 -40
  854. package/src/tabs/__tests__/useTabs.tsx +27 -24
  855. package/src/tabs/_tabs.scss +2 -0
  856. package/src/test-utils/data-testid.ts +5 -0
  857. package/src/test-utils/jest-setup.ts +4 -0
  858. package/src/theme/ThemeProvider.tsx +6 -0
  859. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +4 -4
  860. package/src/theme/__tests__/useCSSVariables.tsx +4 -4
  861. package/src/tooltip/Tooltip.tsx +17 -9
  862. package/src/tooltip/TooltipHoverModeProvider.tsx +18 -0
  863. package/src/tooltip/__tests__/Tooltip.tsx +147 -104
  864. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +8 -3
  865. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -33
  866. package/src/tooltip/_tooltip.scss +1 -0
  867. package/src/tooltip/tooltipStyles.ts +4 -4
  868. package/src/tooltip/useTooltip.ts +119 -19
  869. package/src/transition/__tests__/CSSTransition.tsx +12 -6
  870. package/src/transition/__tests__/Collapse.tsx +19 -17
  871. package/src/transition/__tests__/CrossFade.tsx +20 -17
  872. package/src/transition/__tests__/ScaleTransition.tsx +18 -14
  873. package/src/transition/__tests__/useCSSTransition.tsx +18 -14
  874. package/src/transition/__tests__/useCollapseTransition.tsx +25 -21
  875. package/src/transition/__tests__/useCrossFadeTransition.tsx +20 -16
  876. package/src/transition/__tests__/useScaleTransition.tsx +18 -12
  877. package/src/transition/__tests__/useTransition.tsx +165 -68
  878. package/src/transition/config.ts +34 -0
  879. package/src/transition/useTransition.ts +15 -6
  880. package/src/tree/DefaultTreeItemRenderer.tsx +1 -1
  881. package/src/tree/Tree.tsx +20 -24
  882. package/src/tree/TreeItem.tsx +2 -3
  883. package/src/tree/TreeProvider.tsx +6 -0
  884. package/src/tree/__tests__/Tree.tsx +7 -2
  885. package/src/tree/__tests__/TreeGroup.tsx +1 -0
  886. package/src/tree/__tests__/TreeItemExpander.tsx +1 -0
  887. package/src/typography/__tests__/TextContainer.tsx +3 -3
  888. package/src/typography/__tests__/Typography.tsx +10 -12
  889. package/src/typography/__tests__/WritingDirectionProvider.tsx +7 -7
  890. package/dist/divider/VerticalDivider.js +0 -40
  891. package/dist/divider/VerticalDivider.js.map +0 -1
  892. package/dist/divider/useVerticalDividerHeight.js +0 -40
  893. package/dist/divider/useVerticalDividerHeight.js.map +0 -1
  894. package/dist/link/LinkProvider.js +0 -26
  895. package/dist/link/LinkProvider.js.map +0 -1
  896. package/dist/tooltip/useOverflowTooltip.js +0 -71
  897. package/dist/tooltip/useOverflowTooltip.js.map +0 -1
  898. package/src/divider/VerticalDivider.tsx +0 -50
  899. package/src/divider/__tests__/VerticalDivider.tsx +0 -35
  900. package/src/divider/__tests__/__snapshots__/VerticalDivider.tsx.snap +0 -41
  901. package/src/divider/useVerticalDividerHeight.ts +0 -72
  902. package/src/icon/MaterialIconsProvider.ts +0 -23
  903. package/src/link/LinkProvider.tsx +0 -51
  904. package/src/tooltip/__tests__/useOverflowTooltip.tsx +0 -77
  905. package/src/tooltip/useOverflowTooltip.ts +0 -93
@@ -0,0 +1,1567 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for tabs/useTabs.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">tabs</a> useTabs.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">99.59% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>492/494</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">87.5% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>14/16</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>8/8</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">99.59% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>492/494</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
561
+ <span class="cline-any cline-yes">1x</span>
562
+ <span class="cline-any cline-yes">1x</span>
563
+ <span class="cline-any cline-yes">1x</span>
564
+ <span class="cline-any cline-yes">1x</span>
565
+ <span class="cline-any cline-yes">1x</span>
566
+ <span class="cline-any cline-yes">1x</span>
567
+ <span class="cline-any cline-yes">1x</span>
568
+ <span class="cline-any cline-yes">1x</span>
569
+ <span class="cline-any cline-yes">1x</span>
570
+ <span class="cline-any cline-yes">1x</span>
571
+ <span class="cline-any cline-yes">1x</span>
572
+ <span class="cline-any cline-yes">1x</span>
573
+ <span class="cline-any cline-yes">1x</span>
574
+ <span class="cline-any cline-yes">1x</span>
575
+ <span class="cline-any cline-yes">1x</span>
576
+ <span class="cline-any cline-yes">1x</span>
577
+ <span class="cline-any cline-yes">1x</span>
578
+ <span class="cline-any cline-yes">1x</span>
579
+ <span class="cline-any cline-yes">1x</span>
580
+ <span class="cline-any cline-yes">1x</span>
581
+ <span class="cline-any cline-yes">1x</span>
582
+ <span class="cline-any cline-yes">1x</span>
583
+ <span class="cline-any cline-yes">1x</span>
584
+ <span class="cline-any cline-yes">1x</span>
585
+ <span class="cline-any cline-yes">1x</span>
586
+ <span class="cline-any cline-yes">1x</span>
587
+ <span class="cline-any cline-yes">1x</span>
588
+ <span class="cline-any cline-yes">1x</span>
589
+ <span class="cline-any cline-yes">1x</span>
590
+ <span class="cline-any cline-yes">1x</span>
591
+ <span class="cline-any cline-yes">1x</span>
592
+ <span class="cline-any cline-yes">1x</span>
593
+ <span class="cline-any cline-yes">1x</span>
594
+ <span class="cline-any cline-yes">1x</span>
595
+ <span class="cline-any cline-yes">1x</span>
596
+ <span class="cline-any cline-yes">1x</span>
597
+ <span class="cline-any cline-yes">1x</span>
598
+ <span class="cline-any cline-yes">1x</span>
599
+ <span class="cline-any cline-yes">1x</span>
600
+ <span class="cline-any cline-yes">1x</span>
601
+ <span class="cline-any cline-yes">1x</span>
602
+ <span class="cline-any cline-yes">1x</span>
603
+ <span class="cline-any cline-yes">1x</span>
604
+ <span class="cline-any cline-yes">1x</span>
605
+ <span class="cline-any cline-yes">1x</span>
606
+ <span class="cline-any cline-yes">1x</span>
607
+ <span class="cline-any cline-yes">1x</span>
608
+ <span class="cline-any cline-yes">1x</span>
609
+ <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-yes">1x</span>
611
+ <span class="cline-any cline-yes">1x</span>
612
+ <span class="cline-any cline-yes">1x</span>
613
+ <span class="cline-any cline-yes">1x</span>
614
+ <span class="cline-any cline-yes">1x</span>
615
+ <span class="cline-any cline-yes">1x</span>
616
+ <span class="cline-any cline-yes">1x</span>
617
+ <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-yes">1x</span>
619
+ <span class="cline-any cline-yes">1x</span>
620
+ <span class="cline-any cline-yes">1x</span>
621
+ <span class="cline-any cline-yes">1x</span>
622
+ <span class="cline-any cline-yes">1x</span>
623
+ <span class="cline-any cline-yes">1x</span>
624
+ <span class="cline-any cline-yes">1x</span>
625
+ <span class="cline-any cline-yes">1x</span>
626
+ <span class="cline-any cline-yes">1x</span>
627
+ <span class="cline-any cline-yes">1x</span>
628
+ <span class="cline-any cline-yes">1x</span>
629
+ <span class="cline-any cline-yes">1x</span>
630
+ <span class="cline-any cline-yes">1x</span>
631
+ <span class="cline-any cline-yes">1x</span>
632
+ <span class="cline-any cline-yes">1x</span>
633
+ <span class="cline-any cline-yes">1x</span>
634
+ <span class="cline-any cline-yes">1x</span>
635
+ <span class="cline-any cline-yes">1x</span>
636
+ <span class="cline-any cline-yes">1x</span>
637
+ <span class="cline-any cline-yes">1x</span>
638
+ <span class="cline-any cline-yes">1x</span>
639
+ <span class="cline-any cline-yes">1x</span>
640
+ <span class="cline-any cline-yes">1x</span>
641
+ <span class="cline-any cline-yes">1x</span>
642
+ <span class="cline-any cline-yes">1x</span>
643
+ <span class="cline-any cline-yes">1x</span>
644
+ <span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-yes">1x</span>
646
+ <span class="cline-any cline-yes">1x</span>
647
+ <span class="cline-any cline-yes">1x</span>
648
+ <span class="cline-any cline-yes">1x</span>
649
+ <span class="cline-any cline-yes">1x</span>
650
+ <span class="cline-any cline-yes">1x</span>
651
+ <span class="cline-any cline-yes">1x</span>
652
+ <span class="cline-any cline-yes">1x</span>
653
+ <span class="cline-any cline-yes">1x</span>
654
+ <span class="cline-any cline-yes">1x</span>
655
+ <span class="cline-any cline-yes">1x</span>
656
+ <span class="cline-any cline-yes">1x</span>
657
+ <span class="cline-any cline-yes">1x</span>
658
+ <span class="cline-any cline-yes">1x</span>
659
+ <span class="cline-any cline-yes">1x</span>
660
+ <span class="cline-any cline-yes">1x</span>
661
+ <span class="cline-any cline-yes">1x</span>
662
+ <span class="cline-any cline-yes">1x</span>
663
+ <span class="cline-any cline-yes">1x</span>
664
+ <span class="cline-any cline-yes">1x</span>
665
+ <span class="cline-any cline-yes">1x</span>
666
+ <span class="cline-any cline-yes">1x</span>
667
+ <span class="cline-any cline-yes">1x</span>
668
+ <span class="cline-any cline-yes">1x</span>
669
+ <span class="cline-any cline-yes">1x</span>
670
+ <span class="cline-any cline-yes">1x</span>
671
+ <span class="cline-any cline-yes">1x</span>
672
+ <span class="cline-any cline-yes">1x</span>
673
+ <span class="cline-any cline-yes">1x</span>
674
+ <span class="cline-any cline-yes">1x</span>
675
+ <span class="cline-any cline-yes">1x</span>
676
+ <span class="cline-any cline-yes">1x</span>
677
+ <span class="cline-any cline-yes">1x</span>
678
+ <span class="cline-any cline-yes">1x</span>
679
+ <span class="cline-any cline-yes">1x</span>
680
+ <span class="cline-any cline-yes">1x</span>
681
+ <span class="cline-any cline-yes">1x</span>
682
+ <span class="cline-any cline-yes">1x</span>
683
+ <span class="cline-any cline-yes">1x</span>
684
+ <span class="cline-any cline-yes">1x</span>
685
+ <span class="cline-any cline-yes">1x</span>
686
+ <span class="cline-any cline-yes">1x</span>
687
+ <span class="cline-any cline-yes">1x</span>
688
+ <span class="cline-any cline-yes">1x</span>
689
+ <span class="cline-any cline-yes">1x</span>
690
+ <span class="cline-any cline-yes">1x</span>
691
+ <span class="cline-any cline-yes">1x</span>
692
+ <span class="cline-any cline-yes">1x</span>
693
+ <span class="cline-any cline-yes">1x</span>
694
+ <span class="cline-any cline-yes">1x</span>
695
+ <span class="cline-any cline-yes">1x</span>
696
+ <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-yes">1x</span>
698
+ <span class="cline-any cline-yes">1x</span>
699
+ <span class="cline-any cline-yes">1x</span>
700
+ <span class="cline-any cline-yes">1x</span>
701
+ <span class="cline-any cline-yes">1x</span>
702
+ <span class="cline-any cline-yes">1x</span>
703
+ <span class="cline-any cline-yes">1x</span>
704
+ <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-yes">1x</span>
706
+ <span class="cline-any cline-yes">1x</span>
707
+ <span class="cline-any cline-yes">1x</span>
708
+ <span class="cline-any cline-yes">1x</span>
709
+ <span class="cline-any cline-yes">1x</span>
710
+ <span class="cline-any cline-yes">1x</span>
711
+ <span class="cline-any cline-yes">1x</span>
712
+ <span class="cline-any cline-yes">1x</span>
713
+ <span class="cline-any cline-yes">1x</span>
714
+ <span class="cline-any cline-yes">1x</span>
715
+ <span class="cline-any cline-yes">1x</span>
716
+ <span class="cline-any cline-yes">1x</span>
717
+ <span class="cline-any cline-yes">1x</span>
718
+ <span class="cline-any cline-yes">1x</span>
719
+ <span class="cline-any cline-yes">1x</span>
720
+ <span class="cline-any cline-yes">1x</span>
721
+ <span class="cline-any cline-yes">1x</span>
722
+ <span class="cline-any cline-yes">1x</span>
723
+ <span class="cline-any cline-yes">1x</span>
724
+ <span class="cline-any cline-yes">1x</span>
725
+ <span class="cline-any cline-yes">1x</span>
726
+ <span class="cline-any cline-yes">1x</span>
727
+ <span class="cline-any cline-yes">1x</span>
728
+ <span class="cline-any cline-yes">1x</span>
729
+ <span class="cline-any cline-yes">1x</span>
730
+ <span class="cline-any cline-yes">1x</span>
731
+ <span class="cline-any cline-yes">1x</span>
732
+ <span class="cline-any cline-yes">1x</span>
733
+ <span class="cline-any cline-yes">1x</span>
734
+ <span class="cline-any cline-yes">1x</span>
735
+ <span class="cline-any cline-yes">1x</span>
736
+ <span class="cline-any cline-yes">1x</span>
737
+ <span class="cline-any cline-yes">1x</span>
738
+ <span class="cline-any cline-yes">1x</span>
739
+ <span class="cline-any cline-yes">1x</span>
740
+ <span class="cline-any cline-yes">1x</span>
741
+ <span class="cline-any cline-yes">1x</span>
742
+ <span class="cline-any cline-yes">1x</span>
743
+ <span class="cline-any cline-yes">1x</span>
744
+ <span class="cline-any cline-yes">1x</span>
745
+ <span class="cline-any cline-yes">1x</span>
746
+ <span class="cline-any cline-yes">1x</span>
747
+ <span class="cline-any cline-yes">1x</span>
748
+ <span class="cline-any cline-yes">1x</span>
749
+ <span class="cline-any cline-yes">1x</span>
750
+ <span class="cline-any cline-yes">1x</span>
751
+ <span class="cline-any cline-yes">1x</span>
752
+ <span class="cline-any cline-yes">1x</span>
753
+ <span class="cline-any cline-yes">1x</span>
754
+ <span class="cline-any cline-yes">1x</span>
755
+ <span class="cline-any cline-yes">1x</span>
756
+ <span class="cline-any cline-yes">1x</span>
757
+ <span class="cline-any cline-yes">1x</span>
758
+ <span class="cline-any cline-yes">1x</span>
759
+ <span class="cline-any cline-yes">1x</span>
760
+ <span class="cline-any cline-yes">1x</span>
761
+ <span class="cline-any cline-yes">1x</span>
762
+ <span class="cline-any cline-yes">1x</span>
763
+ <span class="cline-any cline-yes">1x</span>
764
+ <span class="cline-any cline-yes">1x</span>
765
+ <span class="cline-any cline-yes">1x</span>
766
+ <span class="cline-any cline-yes">1x</span>
767
+ <span class="cline-any cline-yes">1x</span>
768
+ <span class="cline-any cline-yes">1x</span>
769
+ <span class="cline-any cline-yes">1x</span>
770
+ <span class="cline-any cline-yes">1x</span>
771
+ <span class="cline-any cline-yes">1x</span>
772
+ <span class="cline-any cline-yes">1x</span>
773
+ <span class="cline-any cline-yes">1x</span>
774
+ <span class="cline-any cline-yes">1x</span>
775
+ <span class="cline-any cline-yes">1x</span>
776
+ <span class="cline-any cline-yes">1x</span>
777
+ <span class="cline-any cline-yes">1x</span>
778
+ <span class="cline-any cline-yes">1x</span>
779
+ <span class="cline-any cline-yes">1x</span>
780
+ <span class="cline-any cline-yes">1x</span>
781
+ <span class="cline-any cline-yes">1x</span>
782
+ <span class="cline-any cline-yes">1x</span>
783
+ <span class="cline-any cline-yes">1x</span>
784
+ <span class="cline-any cline-yes">1x</span>
785
+ <span class="cline-any cline-yes">1x</span>
786
+ <span class="cline-any cline-yes">1x</span>
787
+ <span class="cline-any cline-yes">1x</span>
788
+ <span class="cline-any cline-yes">1x</span>
789
+ <span class="cline-any cline-yes">1x</span>
790
+ <span class="cline-any cline-yes">1x</span>
791
+ <span class="cline-any cline-yes">1x</span>
792
+ <span class="cline-any cline-yes">1x</span>
793
+ <span class="cline-any cline-yes">1x</span>
794
+ <span class="cline-any cline-yes">1x</span>
795
+ <span class="cline-any cline-yes">1x</span>
796
+ <span class="cline-any cline-yes">1x</span>
797
+ <span class="cline-any cline-yes">1x</span>
798
+ <span class="cline-any cline-yes">1x</span>
799
+ <span class="cline-any cline-yes">1x</span>
800
+ <span class="cline-any cline-yes">1x</span>
801
+ <span class="cline-any cline-yes">1x</span>
802
+ <span class="cline-any cline-yes">1x</span>
803
+ <span class="cline-any cline-yes">1x</span>
804
+ <span class="cline-any cline-yes">1x</span>
805
+ <span class="cline-any cline-yes">1x</span>
806
+ <span class="cline-any cline-yes">1x</span>
807
+ <span class="cline-any cline-yes">1x</span>
808
+ <span class="cline-any cline-yes">1x</span>
809
+ <span class="cline-any cline-yes">1x</span>
810
+ <span class="cline-any cline-yes">1x</span>
811
+ <span class="cline-any cline-yes">1x</span>
812
+ <span class="cline-any cline-yes">1x</span>
813
+ <span class="cline-any cline-yes">1x</span>
814
+ <span class="cline-any cline-yes">1x</span>
815
+ <span class="cline-any cline-yes">1x</span>
816
+ <span class="cline-any cline-yes">1x</span>
817
+ <span class="cline-any cline-yes">1x</span>
818
+ <span class="cline-any cline-yes">1x</span>
819
+ <span class="cline-any cline-yes">1x</span>
820
+ <span class="cline-any cline-yes">1x</span>
821
+ <span class="cline-any cline-yes">1x</span>
822
+ <span class="cline-any cline-yes">1x</span>
823
+ <span class="cline-any cline-yes">1x</span>
824
+ <span class="cline-any cline-yes">1x</span>
825
+ <span class="cline-any cline-yes">1x</span>
826
+ <span class="cline-any cline-yes">1x</span>
827
+ <span class="cline-any cline-yes">1x</span>
828
+ <span class="cline-any cline-yes">1x</span>
829
+ <span class="cline-any cline-yes">1x</span>
830
+ <span class="cline-any cline-yes">1x</span>
831
+ <span class="cline-any cline-yes">1x</span>
832
+ <span class="cline-any cline-yes">1x</span>
833
+ <span class="cline-any cline-yes">1x</span>
834
+ <span class="cline-any cline-yes">1x</span>
835
+ <span class="cline-any cline-yes">1x</span>
836
+ <span class="cline-any cline-yes">1x</span>
837
+ <span class="cline-any cline-yes">1x</span>
838
+ <span class="cline-any cline-yes">1x</span>
839
+ <span class="cline-any cline-yes">1x</span>
840
+ <span class="cline-any cline-yes">1x</span>
841
+ <span class="cline-any cline-yes">1x</span>
842
+ <span class="cline-any cline-yes">1x</span>
843
+ <span class="cline-any cline-yes">1x</span>
844
+ <span class="cline-any cline-yes">1x</span>
845
+ <span class="cline-any cline-yes">1x</span>
846
+ <span class="cline-any cline-yes">1x</span>
847
+ <span class="cline-any cline-yes">1x</span>
848
+ <span class="cline-any cline-yes">1x</span>
849
+ <span class="cline-any cline-yes">1x</span>
850
+ <span class="cline-any cline-yes">1x</span>
851
+ <span class="cline-any cline-yes">1x</span>
852
+ <span class="cline-any cline-yes">1x</span>
853
+ <span class="cline-any cline-yes">1x</span>
854
+ <span class="cline-any cline-yes">1x</span>
855
+ <span class="cline-any cline-yes">1x</span>
856
+ <span class="cline-any cline-yes">1x</span>
857
+ <span class="cline-any cline-yes">1x</span>
858
+ <span class="cline-any cline-yes">1x</span>
859
+ <span class="cline-any cline-yes">1x</span>
860
+ <span class="cline-any cline-yes">1x</span>
861
+ <span class="cline-any cline-yes">1x</span>
862
+ <span class="cline-any cline-yes">1x</span>
863
+ <span class="cline-any cline-yes">1x</span>
864
+ <span class="cline-any cline-yes">1x</span>
865
+ <span class="cline-any cline-yes">1x</span>
866
+ <span class="cline-any cline-yes">1x</span>
867
+ <span class="cline-any cline-yes">1x</span>
868
+ <span class="cline-any cline-yes">1x</span>
869
+ <span class="cline-any cline-yes">1x</span>
870
+ <span class="cline-any cline-yes">1x</span>
871
+ <span class="cline-any cline-yes">1x</span>
872
+ <span class="cline-any cline-yes">1x</span>
873
+ <span class="cline-any cline-yes">1x</span>
874
+ <span class="cline-any cline-yes">1x</span>
875
+ <span class="cline-any cline-yes">1x</span>
876
+ <span class="cline-any cline-yes">1x</span>
877
+ <span class="cline-any cline-yes">1x</span>
878
+ <span class="cline-any cline-yes">1x</span>
879
+ <span class="cline-any cline-yes">1x</span>
880
+ <span class="cline-any cline-yes">1x</span>
881
+ <span class="cline-any cline-yes">1x</span>
882
+ <span class="cline-any cline-yes">1x</span>
883
+ <span class="cline-any cline-yes">1x</span>
884
+ <span class="cline-any cline-yes">1x</span>
885
+ <span class="cline-any cline-yes">1x</span>
886
+ <span class="cline-any cline-yes">1x</span>
887
+ <span class="cline-any cline-yes">1x</span>
888
+ <span class="cline-any cline-yes">1x</span>
889
+ <span class="cline-any cline-yes">1x</span>
890
+ <span class="cline-any cline-yes">1x</span>
891
+ <span class="cline-any cline-yes">1x</span>
892
+ <span class="cline-any cline-yes">1x</span>
893
+ <span class="cline-any cline-yes">1x</span>
894
+ <span class="cline-any cline-yes">1x</span>
895
+ <span class="cline-any cline-yes">1x</span>
896
+ <span class="cline-any cline-yes">1x</span>
897
+ <span class="cline-any cline-yes">1x</span>
898
+ <span class="cline-any cline-yes">1x</span>
899
+ <span class="cline-any cline-yes">1x</span>
900
+ <span class="cline-any cline-yes">1x</span>
901
+ <span class="cline-any cline-yes">1x</span>
902
+ <span class="cline-any cline-yes">1x</span>
903
+ <span class="cline-any cline-yes">1x</span>
904
+ <span class="cline-any cline-yes">1x</span>
905
+ <span class="cline-any cline-yes">1x</span>
906
+ <span class="cline-any cline-yes">1x</span>
907
+ <span class="cline-any cline-yes">1x</span>
908
+ <span class="cline-any cline-yes">1x</span>
909
+ <span class="cline-any cline-yes">1x</span>
910
+ <span class="cline-any cline-yes">1x</span>
911
+ <span class="cline-any cline-yes">1x</span>
912
+ <span class="cline-any cline-yes">1x</span>
913
+ <span class="cline-any cline-yes">1x</span>
914
+ <span class="cline-any cline-yes">1x</span>
915
+ <span class="cline-any cline-yes">1x</span>
916
+ <span class="cline-any cline-yes">1x</span>
917
+ <span class="cline-any cline-yes">1x</span>
918
+ <span class="cline-any cline-yes">1x</span>
919
+ <span class="cline-any cline-yes">1x</span>
920
+ <span class="cline-any cline-yes">1x</span>
921
+ <span class="cline-any cline-yes">1x</span>
922
+ <span class="cline-any cline-yes">1x</span>
923
+ <span class="cline-any cline-yes">1x</span>
924
+ <span class="cline-any cline-yes">1x</span>
925
+ <span class="cline-any cline-yes">1x</span>
926
+ <span class="cline-any cline-yes">1x</span>
927
+ <span class="cline-any cline-yes">1x</span>
928
+ <span class="cline-any cline-yes">1x</span>
929
+ <span class="cline-any cline-yes">1x</span>
930
+ <span class="cline-any cline-yes">1x</span>
931
+ <span class="cline-any cline-yes">1x</span>
932
+ <span class="cline-any cline-yes">1x</span>
933
+ <span class="cline-any cline-yes">1x</span>
934
+ <span class="cline-any cline-yes">1x</span>
935
+ <span class="cline-any cline-yes">1x</span>
936
+ <span class="cline-any cline-yes">1x</span>
937
+ <span class="cline-any cline-yes">1x</span>
938
+ <span class="cline-any cline-yes">1x</span>
939
+ <span class="cline-any cline-yes">1x</span>
940
+ <span class="cline-any cline-yes">1x</span>
941
+ <span class="cline-any cline-yes">1x</span>
942
+ <span class="cline-any cline-yes">1x</span>
943
+ <span class="cline-any cline-yes">1x</span>
944
+ <span class="cline-any cline-yes">1x</span>
945
+ <span class="cline-any cline-yes">1x</span>
946
+ <span class="cline-any cline-yes">1x</span>
947
+ <span class="cline-any cline-yes">1x</span>
948
+ <span class="cline-any cline-yes">1x</span>
949
+ <span class="cline-any cline-yes">1x</span>
950
+ <span class="cline-any cline-yes">1x</span>
951
+ <span class="cline-any cline-yes">1x</span>
952
+ <span class="cline-any cline-yes">1x</span>
953
+ <span class="cline-any cline-yes">1x</span>
954
+ <span class="cline-any cline-yes">1x</span>
955
+ <span class="cline-any cline-yes">1x</span>
956
+ <span class="cline-any cline-yes">1x</span>
957
+ <span class="cline-any cline-yes">1x</span>
958
+ <span class="cline-any cline-yes">1x</span>
959
+ <span class="cline-any cline-yes">1x</span>
960
+ <span class="cline-any cline-yes">1x</span>
961
+ <span class="cline-any cline-yes">1x</span>
962
+ <span class="cline-any cline-yes">1x</span>
963
+ <span class="cline-any cline-yes">1x</span>
964
+ <span class="cline-any cline-yes">1x</span>
965
+ <span class="cline-any cline-yes">1x</span>
966
+ <span class="cline-any cline-yes">1x</span>
967
+ <span class="cline-any cline-yes">1x</span>
968
+ <span class="cline-any cline-yes">1x</span>
969
+ <span class="cline-any cline-yes">1x</span>
970
+ <span class="cline-any cline-yes">1x</span>
971
+ <span class="cline-any cline-yes">1x</span>
972
+ <span class="cline-any cline-yes">1x</span>
973
+ <span class="cline-any cline-yes">1x</span>
974
+ <span class="cline-any cline-yes">1x</span>
975
+ <span class="cline-any cline-yes">33x</span>
976
+ <span class="cline-any cline-yes">33x</span>
977
+ <span class="cline-any cline-yes">33x</span>
978
+ <span class="cline-any cline-yes">33x</span>
979
+ <span class="cline-any cline-yes">33x</span>
980
+ <span class="cline-any cline-yes">33x</span>
981
+ <span class="cline-any cline-yes">33x</span>
982
+ <span class="cline-any cline-yes">33x</span>
983
+ <span class="cline-any cline-yes">33x</span>
984
+ <span class="cline-any cline-yes">33x</span>
985
+ <span class="cline-any cline-yes">33x</span>
986
+ <span class="cline-any cline-yes">33x</span>
987
+ <span class="cline-any cline-yes">33x</span>
988
+ <span class="cline-any cline-yes">33x</span>
989
+ <span class="cline-any cline-yes">33x</span>
990
+ <span class="cline-any cline-yes">33x</span>
991
+ <span class="cline-any cline-yes">33x</span>
992
+ <span class="cline-any cline-yes">33x</span>
993
+ <span class="cline-any cline-yes">33x</span>
994
+ <span class="cline-any cline-yes">33x</span>
995
+ <span class="cline-any cline-yes">33x</span>
996
+ <span class="cline-any cline-yes">297x</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-yes">297x</span>
999
+ <span class="cline-any cline-yes">33x</span>
1000
+ <span class="cline-any cline-yes">33x</span>
1001
+ <span class="cline-any cline-yes">33x</span>
1002
+ <span class="cline-any cline-yes">33x</span>
1003
+ <span class="cline-any cline-yes">33x</span>
1004
+ <span class="cline-any cline-yes">33x</span>
1005
+ <span class="cline-any cline-yes">21x</span>
1006
+ <span class="cline-any cline-yes">21x</span>
1007
+ <span class="cline-any cline-yes">13x</span>
1008
+ <span class="cline-any cline-yes">13x</span>
1009
+ <span class="cline-any cline-yes">8x</span>
1010
+ <span class="cline-any cline-yes">8x</span>
1011
+ <span class="cline-any cline-yes">33x</span>
1012
+ <span class="cline-any cline-yes">33x</span>
1013
+ <span class="cline-any cline-yes">33x</span>
1014
+ <span class="cline-any cline-yes">33x</span>
1015
+ <span class="cline-any cline-yes">33x</span>
1016
+ <span class="cline-any cline-yes">33x</span>
1017
+ <span class="cline-any cline-yes">33x</span>
1018
+ <span class="cline-any cline-yes">33x</span>
1019
+ <span class="cline-any cline-yes">99x</span>
1020
+ <span class="cline-any cline-yes">99x</span>
1021
+ <span class="cline-any cline-yes">99x</span>
1022
+ <span class="cline-any cline-yes">99x</span>
1023
+ <span class="cline-any cline-yes">99x</span>
1024
+ <span class="cline-any cline-yes">99x</span>
1025
+ <span class="cline-any cline-yes">33x</span>
1026
+ <span class="cline-any cline-yes">33x</span>
1027
+ <span class="cline-any cline-yes">33x</span>
1028
+ <span class="cline-any cline-yes">33x</span>
1029
+ <span class="cline-any cline-yes">9x</span>
1030
+ <span class="cline-any cline-yes">9x</span>
1031
+ <span class="cline-any cline-no">&nbsp;</span>
1032
+ <span class="cline-any cline-yes">9x</span>
1033
+ <span class="cline-any cline-yes">9x</span>
1034
+ <span class="cline-any cline-yes">9x</span>
1035
+ <span class="cline-any cline-yes">9x</span>
1036
+ <span class="cline-any cline-yes">33x</span>
1037
+ <span class="cline-any cline-yes">33x</span>
1038
+ <span class="cline-any cline-yes">33x</span>
1039
+ <span class="cline-any cline-yes">33x</span>
1040
+ <span class="cline-any cline-yes">33x</span>
1041
+ <span class="cline-any cline-yes">33x</span>
1042
+ <span class="cline-any cline-yes">33x</span>
1043
+ <span class="cline-any cline-yes">33x</span>
1044
+ <span class="cline-any cline-yes">33x</span>
1045
+ <span class="cline-any cline-yes">33x</span>
1046
+ <span class="cline-any cline-yes">33x</span>
1047
+ <span class="cline-any cline-yes">11x</span>
1048
+ <span class="cline-any cline-yes">11x</span>
1049
+ <span class="cline-any cline-yes">11x</span>
1050
+ <span class="cline-any cline-yes">11x</span>
1051
+ <span class="cline-any cline-yes">11x</span>
1052
+ <span class="cline-any cline-yes">33x</span>
1053
+ <span class="cline-any cline-yes">33x</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use client";
1055
+ import type { Dispatch, Ref, RefObject } from "react";
1056
+ import { useEffect, useRef, useState } from "react";
1057
+ import type { SlideDirection } from "../transition/SlideContainer.js";
1058
+ import type { UseStateInitializer, UseStateSetter } from "../types.js";
1059
+ import { useEnsuredId } from "../useEnsuredId.js";
1060
+ import { useEnsuredState } from "../useEnsuredState.js";
1061
+ &nbsp;
1062
+ const EMPTY_LIST = [] as const;
1063
+ const PANEL_PREFIX = "panel-";
1064
+ &nbsp;
1065
+ /**
1066
+ * @remarks \@since 6.0.0
1067
+ */
1068
+ export interface TabsHookOptions&lt;TabValue extends string | number = number&gt; {
1069
+ /**
1070
+ * This can be used to generate the ids for the different components within
1071
+ * the tab widget.
1072
+ *
1073
+ * @defaultValue `"tab-" + useId()`
1074
+ */
1075
+ baseId?: string;
1076
+ &nbsp;
1077
+ /**
1078
+ * Set this to `true` if changing active tabs should no longer attempt to
1079
+ * scroll to the top of the tab panels container when using the
1080
+ * {@link TabsImplementation.getTabPanelsProps}.
1081
+ *
1082
+ * @defaultValue `false`
1083
+ */
1084
+ disableScrollFix?: boolean;
1085
+ &nbsp;
1086
+ /**
1087
+ * Set this to an **ordered** list of tab values when:
1088
+ * - using a `string` tab value
1089
+ * - using a `number` tab value does not represent a tab index
1090
+ *
1091
+ * See the examples on the {@link useTabs} for usage.
1092
+ */
1093
+ tabs?: readonly TabValue[];
1094
+ &nbsp;
1095
+ /**
1096
+ * Provide this value and {@link setActiveTab} to control the active tab
1097
+ * behavior.
1098
+ */
1099
+ activeTab?: TabValue;
1100
+ &nbsp;
1101
+ /** @see {@link activeTab} */
1102
+ setActiveTab?: Dispatch&lt;TabValue&gt;;
1103
+ &nbsp;
1104
+ /**
1105
+ * Set this to the default tab index when not controlling the active tab value
1106
+ * through {@link activeTab} and {@link setActiveTab}.
1107
+ *
1108
+ * @defaultValue `0`
1109
+ */
1110
+ defaultActiveTab?: UseStateInitializer&lt;TabValue&gt;;
1111
+ }
1112
+ &nbsp;
1113
+ /**
1114
+ * @remarks \@since 6.0.0
1115
+ */
1116
+ export interface ProvidedTabProps {
1117
+ "aria-controls": string;
1118
+ id: string;
1119
+ active: boolean;
1120
+ }
1121
+ &nbsp;
1122
+ /**
1123
+ * @remarks \@since 6.0.0
1124
+ */
1125
+ export interface ProvidedTabListProps {
1126
+ activeIndex: number;
1127
+ setActiveIndex: Dispatch&lt;number&gt;;
1128
+ }
1129
+ &nbsp;
1130
+ /**
1131
+ * @remarks \@since 6.0.0
1132
+ */
1133
+ export interface ProvidedTabPanelProps {
1134
+ "aria-labelledby": string;
1135
+ id: string;
1136
+ role: "tabpanel";
1137
+ active: boolean;
1138
+ }
1139
+ &nbsp;
1140
+ /**
1141
+ * @remarks \@since 6.0.0
1142
+ */
1143
+ export interface ProvidedTabPanelsProps&lt;E extends HTMLElement&gt; {
1144
+ ref: Ref&lt;E&gt;;
1145
+ direction: SlideDirection;
1146
+ }
1147
+ &nbsp;
1148
+ /**
1149
+ * @remarks \@since 6.0.0
1150
+ */
1151
+ export interface TabsImplementation&lt;TabValue extends string | number = number&gt; {
1152
+ direction: SlideDirection;
1153
+ setDirection: UseStateSetter&lt;SlideDirection&gt;;
1154
+ activeTab?: TabValue;
1155
+ setActiveTab?(nextActiveTab: TabValue): void;
1156
+ getTabProps(tabValue: TabValue): ProvidedTabProps;
1157
+ getTabListProps(): ProvidedTabListProps;
1158
+ getTabPanelProps(tabValue: TabValue): ProvidedTabPanelProps;
1159
+ getTabPanelsProps&lt;E extends HTMLElement&gt;(): ProvidedTabPanelsProps&lt;E&gt;;
1160
+ }
1161
+ &nbsp;
1162
+ /**
1163
+ * @example
1164
+ * Super Simple
1165
+ * ```tsx
1166
+ * import { TabList, Tab, SlideContainer, Slide, useTabs } from "@react-md/core";
1167
+ * import type { ReactElement } from "react";
1168
+ *
1169
+ * function Example(): ReactElement {
1170
+ * const {
1171
+ * activeTab,
1172
+ * setActiveTab,
1173
+ * direction,
1174
+ * setDirection,
1175
+ * getTabListProps,
1176
+ * getTabPanelProps,
1177
+ * getTabPanelsProps,
1178
+ * getTabProps,
1179
+ * } = useTabs();
1180
+ *
1181
+ * return (
1182
+ * &lt;&gt;
1183
+ * &lt;TabList {...getTabListProps()}&gt;
1184
+ * &lt;Tab {...getTabProps(0)}&gt;Tab 1&lt;/Tab&gt;
1185
+ * &lt;Tab {...getTabProps(1)}&gt;Tab 2&lt;/Tab&gt;
1186
+ * &lt;Tab {...getTabProps(2)}&gt;Tab 3&lt;/Tab&gt;
1187
+ * &lt;/TabList&gt;
1188
+ * &lt;SlideContainer {...getTabPanelsProps()}&gt;
1189
+ * &lt;Slide {...getTabPanelProps(0)}&gt;Tab 1 Content&lt;/Slide&gt;
1190
+ * &lt;Slide {...getTabPanelProps(1)}&gt;Tab 2 Content&lt;/Slide&gt;
1191
+ * &lt;Slide {...getTabPanelProps(2)}&gt;Tab 3 Content&lt;/Slide&gt;
1192
+ * &lt;/SlideContainer&gt;
1193
+ * &lt;/&gt;
1194
+ * );
1195
+ * }
1196
+ * ```
1197
+ *
1198
+ * @remarks \@since 6.0.0
1199
+ */
1200
+ export function useTabs(): TabsImplementation&lt;number&gt; &amp; {
1201
+ activeTab: number;
1202
+ setActiveTab: number;
1203
+ };
1204
+ /**
1205
+ * The tab behavior can be controlled by providing the `activeTab` and
1206
+ * `setActiveTab` options.
1207
+ *
1208
+ * @example
1209
+ * Controlled
1210
+ * ```tsx
1211
+ * import { TabList, Tab, SlideContainer, Slide, useTabs } from "@react-md/core";
1212
+ * import type { ReactElement } from "react";
1213
+ * import { useState } from "react";
1214
+ *
1215
+ * function Example(): ReactElement {
1216
+ * const [activeTab, setActiveTab] = useState(1);
1217
+ *
1218
+ * const {
1219
+ * direction,
1220
+ * setDirection,
1221
+ * getTabListProps,
1222
+ * getTabPanelProps,
1223
+ * getTabPanelsProps,
1224
+ * getTabProps,
1225
+ * } = useTabs({
1226
+ * activeTab,
1227
+ * setActiveTab,
1228
+ * });
1229
+ *
1230
+ * return (
1231
+ * &lt;&gt;
1232
+ * &lt;TabList {...getTabListProps()}&gt;
1233
+ * &lt;Tab {...getTabProps(0)}&gt;Tab 1&lt;/Tab&gt;
1234
+ * &lt;Tab {...getTabProps(1)}&gt;Tab 2&lt;/Tab&gt;
1235
+ * &lt;Tab {...getTabProps(2)}&gt;Tab 3&lt;/Tab&gt;
1236
+ * &lt;/TabList&gt;
1237
+ * &lt;SlideContainer {...getTabPanelsProps()}&gt;
1238
+ * &lt;Slide {...getTabPanelProps(0)}&gt;Tab 1 Content&lt;/Slide&gt;
1239
+ * &lt;Slide {...getTabPanelProps(1)}&gt;Tab 2 Content&lt;/Slide&gt;
1240
+ * &lt;Slide {...getTabPanelProps(2)}&gt;Tab 3 Content&lt;/Slide&gt;
1241
+ * &lt;/SlideContainer&gt;
1242
+ * &lt;/&gt;
1243
+ * );
1244
+ * }
1245
+ * ```
1246
+ *
1247
+ * @remarks \@since 6.0.0
1248
+ */
1249
+ export function useTabs&lt;TabValue extends number&gt;(
1250
+ options: TabsHookOptions&lt;TabValue&gt; &amp; {
1251
+ tabs?: readonly TabValue[];
1252
+ activeTab: TabValue;
1253
+ setActiveTab: Dispatch&lt;TabValue&gt;;
1254
+ defaultActiveTab?: never;
1255
+ }
1256
+ ): TabsImplementation&lt;TabValue&gt; &amp; { activeTab?: never; setActiveTab?: never };
1257
+ export function useTabs&lt;TabValue extends number&gt;(
1258
+ options: TabsHookOptions&lt;TabValue&gt; &amp; {
1259
+ tabs?: readonly TabValue[];
1260
+ activeTab?: never;
1261
+ setActiveTab?: never;
1262
+ defaultActiveTab?: UseStateInitializer&lt;TabValue&gt;;
1263
+ }
1264
+ ): TabsImplementation&lt;TabValue&gt; &amp; {
1265
+ activeTab: TabValue;
1266
+ setActiveTab: Dispatch&lt;TabValue&gt;;
1267
+ };
1268
+ /**
1269
+ * When using string values, the {@link TabsHookOptions.tabs} option **must** be
1270
+ * provided to determine the correct active tab index.
1271
+ *
1272
+ * @example
1273
+ * String Value Simple
1274
+ * ```tsx
1275
+ * import { TabList, Tab, SlideContainer, Slide, useTabs } from "@react-md/core";
1276
+ * import type { ReactElement } from "react";
1277
+ *
1278
+ * const tabs = ["value-1", "value-2", "value-3"];
1279
+ *
1280
+ * function Example(): ReactElement {
1281
+ * const {
1282
+ * activeTab,
1283
+ * setActiveTab,
1284
+ * direction,
1285
+ * setDirection,
1286
+ * getTabListProps,
1287
+ * getTabPanelProps,
1288
+ * getTabPanelsProps,
1289
+ * getTabProps,
1290
+ * } = useTabs({ tabs });
1291
+ *
1292
+ * return (
1293
+ * &lt;&gt;
1294
+ * &lt;TabList {...getTabListProps()}&gt;
1295
+ * {tabs.map((value) =&gt; (
1296
+ * &lt;Tab key={value} {...getTabProps(value)}&gt;{value}&lt;/Tab&gt;
1297
+ * ))}
1298
+ * &lt;/TabList&gt;
1299
+ * &lt;SlideContainer {...getTabPanelsProps()}&gt;
1300
+ * {tabs.map((value) =&gt; (
1301
+ * &lt;Slide key={value}&gt;{value} Content&lt;/Slide&gt;
1302
+ * ))}
1303
+ * &lt;/SlideContainer&gt;
1304
+ * &lt;/&gt;
1305
+ * );
1306
+ * }
1307
+ * ```
1308
+ *
1309
+ * @remarks \@since 6.0.0
1310
+ */
1311
+ export function useTabs&lt;TabValue extends string&gt;(
1312
+ options: TabsHookOptions&lt;TabValue&gt; &amp; {
1313
+ tabs: readonly TabValue[];
1314
+ activeTab?: never;
1315
+ setActiveTab?: never;
1316
+ defaultActiveTab?: UseStateInitializer&lt;TabValue&gt;;
1317
+ }
1318
+ ): TabsImplementation&lt;TabValue&gt; &amp; {
1319
+ activeTab: TabValue;
1320
+ setActiveTab: Dispatch&lt;TabValue&gt;;
1321
+ };
1322
+ /**
1323
+ * When using string values, the {@link TabsHookOptions.tabs} option **must** be
1324
+ * provided to determine the correct active tab index.
1325
+ *
1326
+ * @example
1327
+ * String Controlled Simple
1328
+ * ```tsx
1329
+ * import { TabList, Tab, SlideContainer, Slide, useTabs } from "@react-md/core";
1330
+ * import type { ReactElement } from "react";
1331
+ *
1332
+ * const tabs = ["value-1", "value-2", "value-3"] as const;
1333
+ *
1334
+ * function Example(): ReactElement {
1335
+ * const [activeTab, setActiveTab] = useState(tabs[0]);
1336
+ *
1337
+ * const {
1338
+ * direction,
1339
+ * setDirection,
1340
+ * getTabListProps,
1341
+ * getTabPanelProps,
1342
+ * getTabPanelsProps,
1343
+ * getTabProps,
1344
+ * } = useTabs({
1345
+ * tabs,
1346
+ * activeTab,
1347
+ * setActiveTab,
1348
+ * });
1349
+ *
1350
+ * return (
1351
+ * &lt;&gt;
1352
+ * &lt;TabList {...getTabListProps()}&gt;
1353
+ * {tabs.map((value) =&gt; (
1354
+ * &lt;Tab key={value} {...getTabProps(value)}&gt;{value}&lt;/Tab&gt;
1355
+ * ))}
1356
+ * &lt;/TabList&gt;
1357
+ * &lt;SlideContainer {...getTabPanelsProps()}&gt;
1358
+ * {tabs.map((value) =&gt; (
1359
+ * &lt;Slide key={value}&gt;{value} Content&lt;/Slide&gt;
1360
+ * ))}
1361
+ * &lt;/SlideContainer&gt;
1362
+ * &lt;/&gt;
1363
+ * );
1364
+ * }
1365
+ * ```
1366
+ *
1367
+ * @example
1368
+ * Navigation Tabs
1369
+ * ```tsx
1370
+ * "use client";
1371
+ * import {
1372
+ * RippleContainer,
1373
+ * Tab,
1374
+ * TabList,
1375
+ * useElementInteraction,
1376
+ * useEnsuredId,
1377
+ * useHigherContrastChildren,
1378
+ * useKeyboardMovementContext,
1379
+ * useTabs,
1380
+ * } from "@react-md/core";
1381
+ * import type { LinkProps } from "next/link";
1382
+ * import Link from "next/link";
1383
+ * import type { PropsWithChildren, ReactElement } from "react";
1384
+ * import { usePathname } from "next/navigation";
1385
+ *
1386
+ * interface TabLinkProps extends LinkProps {
1387
+ * active: boolean;
1388
+ * }
1389
+ *
1390
+ * function TabLink(props: LinkProps): ReactElement {
1391
+ * const {
1392
+ * id: propId,
1393
+ * children: propChildren,
1394
+ * active,
1395
+ * className,
1396
+ * ...remaining,
1397
+ * } = props;
1398
+ *
1399
+ * const id = useEnsuredId(propId, "tab");
1400
+ * const { activeDescendantId } = useKeyboardMovementContext();
1401
+ * const { handlers, ripples } = useElementInteraction(props);
1402
+ * const children = useHigherContrastChildren(propChildren);
1403
+ *
1404
+ * return (
1405
+ * &lt;Link
1406
+ * {...props}
1407
+ * {...handlers}
1408
+ * id={id}
1409
+ * aria-selected={active}
1410
+ * role="tab"
1411
+ * tabIndex={id === activeDescendantId ? 0 : -1}
1412
+ * className={tab({
1413
+ * className,
1414
+ * active,
1415
+ * // stacked,
1416
+ * // reversed,
1417
+ * })}
1418
+ * &gt;
1419
+ * {children}
1420
+ * {ripples}
1421
+ * &lt;/Link&gt;
1422
+ * );
1423
+ * }
1424
+ *
1425
+ * const noop = (): void =&gt; {
1426
+ * // do nothing
1427
+ * };
1428
+ *
1429
+ * const PATHNAME_TABS = ["/", "/page-1", "/page-2"];
1430
+ *
1431
+ * function Layout({ children }: PropsWithChildren) {
1432
+ * const pathname = usePathname();
1433
+ * const { getTabListProps, getTabProps } = useTabs({
1434
+ * tabs: PATHNAME_TABS,
1435
+ * activeTab: pathname,
1436
+ * setActiveTab: noop,
1437
+ * });
1438
+ *
1439
+ * return (
1440
+ * &lt;&gt;
1441
+ * &lt;TabList {...getTabListProps()}&gt;
1442
+ * &lt;TabLink {...getTabProps("/")} href="/"&gt;Home&lt;/TabLink&gt;
1443
+ * &lt;TabLink {...getTabProps("/page-1")} href="/page-1"&gt;Page 1&lt;/TabLink&gt;
1444
+ * &lt;TabLink {...getTabProps("/page-2")} href="/page-2"&gt;Page 2&lt;/TabLink&gt;
1445
+ * &lt;/TabList&gt;
1446
+ * &lt;main&gt;{children}&lt;/main&gt;
1447
+ * &lt;/&gt;
1448
+ * );
1449
+ * }
1450
+ * ```
1451
+ *
1452
+ * @remarks \@since 6.0.0
1453
+ */
1454
+ export function useTabs&lt;TabValue extends string&gt;(
1455
+ options: TabsHookOptions&lt;TabValue&gt; &amp; {
1456
+ tabs: readonly TabValue[];
1457
+ activeTab: TabValue;
1458
+ setActiveTab: Dispatch&lt;TabValue&gt;;
1459
+ defaultActiveTab?: never;
1460
+ }
1461
+ ): TabsImplementation&lt;TabValue&gt; &amp; { activeTab?: never; setActiveTab?: never };
1462
+ /**
1463
+ * This hook can be uncontrolled/controlled and supports strongly typing the tab
1464
+ * values if needed. Check out the overloads for examples.
1465
+ *
1466
+ * @remarks \@since 6.0.0
1467
+ */
1468
+ export function useTabs&lt;TabValue extends string | number&gt;(
1469
+ options: TabsHookOptions&lt;TabValue&gt; = {}
1470
+ ): TabsImplementation&lt;TabValue&gt; {
1471
+ const {
1472
+ baseId: propBaseId,
1473
+ disableScrollFix,
1474
+ tabs = EMPTY_LIST,
1475
+ activeTab: propActiveTab,
1476
+ setActiveTab: propSetActiveTab,
1477
+ defaultActiveTab,
1478
+ } = options;
1479
+ &nbsp;
1480
+ const baseId = useEnsuredId(propBaseId, "tab");
1481
+ const [direction, setDirection] = useState&lt;SlideDirection&gt;("left");
1482
+ &nbsp;
1483
+ const [activeTab, setActiveTab] = useEnsuredState({
1484
+ value: propActiveTab,
1485
+ setValue: propSetActiveTab,
1486
+ defaultValue: defaultActiveTab ?? (0 as TabValue),
1487
+ });
1488
+ &nbsp;
1489
+ const getTabIndex = (tabValue: TabValue): number =&gt;
1490
+ typeof tabValue === "string" || tabs.length &gt; <span class="branch-0 cbranch-no" title="branch not covered" >0</span>
1491
+ <span class="cstat-no" title="statement not covered" > ? tabs.indexOf(tabValue)</span>
1492
+ : tabValue;
1493
+ const getTabId = (tabValue: TabValue, prefix = ""): string =&gt;
1494
+ `${baseId}-${prefix}${getTabIndex(tabValue) + 1}`;
1495
+ &nbsp;
1496
+ const activeIndex = getTabIndex(activeTab);
1497
+ const tabPanelsRef = useRef&lt;HTMLElement&gt;(null);
1498
+ useEffect(() =&gt; {
1499
+ const container = tabPanelsRef.current;
1500
+ if (!container || disableScrollFix) {
1501
+ return;
1502
+ }
1503
+ &nbsp;
1504
+ container.scrollTop = 0;
1505
+ }, [disableScrollFix, activeTab]);
1506
+ &nbsp;
1507
+ return {
1508
+ activeTab,
1509
+ setActiveTab,
1510
+ direction,
1511
+ setDirection,
1512
+ getTabProps(tabValue) {
1513
+ return {
1514
+ "aria-controls": getTabId(tabValue, PANEL_PREFIX),
1515
+ id: getTabId(tabValue),
1516
+ active: tabValue === activeTab,
1517
+ };
1518
+ },
1519
+ getTabListProps() {
1520
+ return {
1521
+ activeIndex,
1522
+ setActiveIndex: (nextActiveIndex) =&gt; {
1523
+ setDirection(activeIndex &lt; nextActiveIndex ? "left" : "right");
1524
+ if (typeof activeTab === "string" || tabs.length &gt; 0) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
1525
+ <span class="cstat-no" title="statement not covered" > setActiveTab(tabs[nextActiveIndex]);</span>
1526
+ } else {
1527
+ setActiveTab(nextActiveIndex as TabValue);
1528
+ }
1529
+ },
1530
+ };
1531
+ },
1532
+ getTabPanelProps(tabValue) {
1533
+ return {
1534
+ "aria-labelledby": getTabId(tabValue),
1535
+ id: getTabId(tabValue, PANEL_PREFIX),
1536
+ role: "tabpanel",
1537
+ active: tabValue === activeTab,
1538
+ };
1539
+ },
1540
+ getTabPanelsProps&lt;E&gt;() {
1541
+ return {
1542
+ ref: tabPanelsRef as RefObject&lt;E&gt;,
1543
+ direction,
1544
+ };
1545
+ },
1546
+ };
1547
+ }
1548
+ &nbsp;</pre></td></tr></table></pre>
1549
+
1550
+ <div class='push'></div><!-- for sticky footer -->
1551
+ </div><!-- /wrapper -->
1552
+ <div class='footer quiet pad2 space-top1 center small'>
1553
+ Code coverage generated by
1554
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1555
+ at 2023-11-10T19:08:00.813Z
1556
+ </div>
1557
+ <script src="../prettify.js"></script>
1558
+ <script>
1559
+ window.onload = function () {
1560
+ prettyPrint();
1561
+ };
1562
+ </script>
1563
+ <script src="../sorter.js"></script>
1564
+ <script src="../block-navigation.js"></script>
1565
+ </body>
1566
+ </html>
1567
+