@react-md/core 1.0.0-next.13 → 1.0.0-next.14

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 (1114) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/.turbo/turbo-test.log +5498 -0
  4. package/.turbo/turbo-typecheck.log +26 -0
  5. package/CHANGELOG.md +27 -0
  6. package/coverage/clover.xml +657 -140
  7. package/coverage/coverage-final.json +4 -4
  8. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +810 -171
  9. package/coverage/lcov-report/autocomplete/index.html +21 -126
  10. package/coverage/lcov-report/button/Button.tsx.html +84 -84
  11. package/coverage/lcov-report/button/index.html +10 -10
  12. package/coverage/lcov-report/{src/positioning/createHorizontalPosition.ts.html → createHorizontalPosition.ts.html} +137 -137
  13. package/coverage/lcov-report/{src/positioning/createVerticalPosition.ts.html → createVerticalPosition.ts.html} +77 -77
  14. package/coverage/lcov-report/index.html +52 -22
  15. package/coverage/lcov-report/searching/fuzzy.ts.html +80 -83
  16. package/coverage/lcov-report/searching/index.html +13 -43
  17. package/coverage/lcov-report/typography/SrOnly.tsx.html +52 -79
  18. package/coverage/lcov-report/typography/index.html +18 -18
  19. package/coverage/lcov-report/utils.ts.html +940 -97
  20. package/coverage/lcov.info +711 -177
  21. package/dist/_box-shadows.scss +7 -4
  22. package/dist/_core.scss +5 -1
  23. package/dist/_utils.scss +3 -3
  24. package/dist/autocomplete/Autocomplete.d.ts +85 -0
  25. package/dist/autocomplete/Autocomplete.js +138 -0
  26. package/dist/autocomplete/Autocomplete.js.map +1 -0
  27. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +16 -0
  28. package/dist/autocomplete/AutocompleteCircularProgress.js +15 -0
  29. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -0
  30. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +32 -0
  31. package/dist/autocomplete/AutocompleteDropdownButton.js +29 -0
  32. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -0
  33. package/dist/autocomplete/FilterAutocompleteOptions.d.ts +8 -0
  34. package/dist/autocomplete/FilterAutocompleteOptions.js +57 -0
  35. package/dist/autocomplete/FilterAutocompleteOptions.js.map +1 -0
  36. package/dist/autocomplete/_autocomplete.scss +75 -0
  37. package/dist/autocomplete/autocompleteStyles.d.ts +32 -0
  38. package/dist/autocomplete/autocompleteStyles.js +34 -0
  39. package/dist/autocomplete/autocompleteStyles.js.map +1 -0
  40. package/dist/autocomplete/defaults.d.ts +21 -0
  41. package/dist/autocomplete/defaults.js +52 -0
  42. package/dist/autocomplete/defaults.js.map +1 -0
  43. package/dist/autocomplete/types.d.ts +103 -0
  44. package/dist/autocomplete/types.js +5 -0
  45. package/dist/autocomplete/types.js.map +1 -0
  46. package/dist/avatar/_avatar.scss +4 -3
  47. package/dist/button/AsyncButton.js +2 -2
  48. package/dist/button/AsyncButton.js.map +1 -1
  49. package/dist/draggable/useDraggable.js +2 -13
  50. package/dist/draggable/useDraggable.js.map +1 -1
  51. package/dist/form/TextField.d.ts +1 -10
  52. package/dist/form/TextField.js +1 -2
  53. package/dist/form/TextField.js.map +1 -1
  54. package/dist/form/TextFieldAddon.js +5 -2
  55. package/dist/form/TextFieldAddon.js.map +1 -1
  56. package/dist/form/_form.scss +81 -40
  57. package/dist/form/useCombobox.d.ts +6 -6
  58. package/dist/form/useCombobox.js +1 -1
  59. package/dist/form/useCombobox.js.map +1 -1
  60. package/dist/form/useEditableCombobox.js +3 -0
  61. package/dist/form/useEditableCombobox.js.map +1 -1
  62. package/dist/form/useTextFieldContainerAddons.d.ts +88 -0
  63. package/dist/form/useTextFieldContainerAddons.js +85 -0
  64. package/dist/form/useTextFieldContainerAddons.js.map +1 -0
  65. package/dist/icon/iconConfig.d.ts +7 -0
  66. package/dist/icon/iconConfig.js +3 -0
  67. package/dist/icon/iconConfig.js.map +1 -1
  68. package/dist/menu/MenuItemCircularProgress.d.ts +2 -2
  69. package/dist/menu/MenuItemCircularProgress.js +2 -2
  70. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  71. package/dist/positioning/constants.d.ts +1 -1
  72. package/dist/positioning/constants.js.map +1 -1
  73. package/dist/positioning/createHorizontalPosition.d.ts +2 -2
  74. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  75. package/dist/positioning/createVerticalPosition.d.ts +3 -3
  76. package/dist/positioning/createVerticalPosition.js.map +1 -1
  77. package/dist/positioning/getFixedPosition.d.ts +1 -1
  78. package/dist/positioning/getFixedPosition.js.map +1 -1
  79. package/dist/positioning/types.d.ts +1 -1
  80. package/dist/positioning/types.js.map +1 -1
  81. package/dist/positioning/useFixedPositioning.d.ts +3 -3
  82. package/dist/positioning/useFixedPositioning.js.map +1 -1
  83. package/dist/positioning/utils.d.ts +1 -1
  84. package/dist/positioning/utils.js.map +1 -1
  85. package/dist/responsive-item/_responsive-item.scss +4 -1
  86. package/dist/theme/_theme.scss +4 -4
  87. package/dist/transition/CrossFade.js +2 -3
  88. package/dist/transition/CrossFade.js.map +1 -1
  89. package/dist/transition/useCrossFadeTransition.js +2 -1
  90. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  91. package/dist/transition/useScaleTransition.js +2 -1
  92. package/dist/transition/useScaleTransition.js.map +1 -1
  93. package/dist/{useAsyncAction.d.ts → useAsyncFunction.d.ts} +10 -10
  94. package/dist/{useAsyncAction.js → useAsyncFunction.js} +6 -6
  95. package/dist/useAsyncFunction.js.map +1 -0
  96. package/dist/useMutationObserver.d.ts +52 -0
  97. package/dist/useMutationObserver.js +84 -0
  98. package/dist/useMutationObserver.js.map +1 -0
  99. package/package.json +16 -16
  100. package/src/__tests__/{useAsyncAction.tsx → useAsyncFunction.tsx} +3 -3
  101. package/src/__tests__/useWindowSize.tsx +1 -2
  102. package/src/_box-shadows.scss +7 -4
  103. package/src/_core.scss +5 -1
  104. package/src/_utils.scss +3 -3
  105. package/src/autocomplete/Autocomplete.tsx +294 -0
  106. package/src/autocomplete/AutocompleteCircularProgress.tsx +41 -0
  107. package/src/autocomplete/AutocompleteDropdownButton.tsx +66 -0
  108. package/src/autocomplete/FilterAutocompleteOptions.tsx +86 -0
  109. package/src/autocomplete/__tests__/Autocomplete.tsx +458 -0
  110. package/src/autocomplete/__tests__/__snapshots__/Autocomplete.tsx.snap +144 -0
  111. package/src/autocomplete/_autocomplete.scss +75 -0
  112. package/src/autocomplete/autocompleteStyles.ts +78 -0
  113. package/src/autocomplete/defaults.ts +83 -0
  114. package/src/autocomplete/types.ts +122 -0
  115. package/src/avatar/_avatar.scss +4 -3
  116. package/src/button/AsyncButton.tsx +2 -2
  117. package/src/draggable/useDraggable.ts +6 -13
  118. package/src/form/TextField.tsx +0 -13
  119. package/src/form/TextFieldAddon.tsx +6 -4
  120. package/src/form/__tests__/__snapshots__/Select.tsx.snap +2 -2
  121. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +2 -2
  122. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +2 -2
  123. package/src/form/__tests__/useFormReset.tsx +1 -2
  124. package/src/form/_form.scss +81 -40
  125. package/src/form/useCombobox.ts +9 -19
  126. package/src/form/useEditableCombobox.ts +3 -0
  127. package/src/form/useTextFieldContainerAddons.ts +195 -0
  128. package/src/icon/iconConfig.tsx +9 -0
  129. package/src/menu/MenuItemCircularProgress.tsx +2 -2
  130. package/src/positioning/__tests__/createHorizontalPosition.ts +2 -4
  131. package/src/positioning/constants.ts +1 -1
  132. package/src/positioning/createHorizontalPosition.ts +2 -2
  133. package/src/positioning/createVerticalPosition.ts +3 -3
  134. package/src/positioning/getFixedPosition.ts +1 -1
  135. package/src/positioning/types.ts +1 -1
  136. package/src/positioning/useFixedPositioning.ts +12 -4
  137. package/src/positioning/utils.ts +1 -1
  138. package/src/responsive-item/_responsive-item.scss +4 -1
  139. package/src/suspense/__tests__/CircularProgressSuspense.tsx +4 -4
  140. package/src/theme/_theme.scss +4 -4
  141. package/src/transition/CrossFade.tsx +1 -8
  142. package/src/transition/useCrossFadeTransition.ts +2 -0
  143. package/src/transition/useScaleTransition.ts +2 -0
  144. package/src/{useAsyncAction.ts → useAsyncFunction.ts} +15 -15
  145. package/src/useMutationObserver.ts +118 -0
  146. package/coverage/lcov-report/AppBar.tsx.html +0 -784
  147. package/coverage/lcov-report/AsyncButton.tsx.html +0 -649
  148. package/coverage/lcov-report/AutoComplete.tsx.html +0 -283
  149. package/coverage/lcov-report/Avatar.tsx.html +0 -472
  150. package/coverage/lcov-report/Badge.tsx.html +0 -253
  151. package/coverage/lcov-report/CircularProgress.tsx.html +0 -799
  152. package/coverage/lcov-report/Collapse.tsx.html +0 -340
  153. package/coverage/lcov-report/CoreProviders.tsx.html +0 -502
  154. package/coverage/lcov-report/DefaultNavigationRenderer.tsx.html +0 -298
  155. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +0 -526
  156. package/coverage/lcov-report/Dialog.tsx.html +0 -1309
  157. package/coverage/lcov-report/DialogContent.tsx.html +0 -178
  158. package/coverage/lcov-report/DialogFooter.tsx.html +0 -169
  159. package/coverage/lcov-report/ExpansionList.tsx.html +0 -205
  160. package/coverage/lcov-report/ExpansionPanel.tsx.html +0 -934
  161. package/coverage/lcov-report/ExpansionPanelHeader.tsx.html +0 -622
  162. package/coverage/lcov-report/FileInput.tsx.html +0 -733
  163. package/coverage/lcov-report/FontIcon.tsx.html +0 -265
  164. package/coverage/lcov-report/IconRotator.tsx.html +0 -322
  165. package/coverage/lcov-report/InputToggle.tsx.html +0 -1117
  166. package/coverage/lcov-report/InputToggleIcon.tsx.html +0 -478
  167. package/coverage/lcov-report/LinearProgress.tsx.html +0 -658
  168. package/coverage/lcov-report/ListItem.tsx.html +0 -892
  169. package/coverage/lcov-report/ListItemLink.tsx.html +0 -616
  170. package/coverage/lcov-report/MaterialIcon.tsx.html +0 -235
  171. package/coverage/lcov-report/MaterialSymbol.tsx.html +0 -421
  172. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +0 -223
  173. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +0 -925
  174. package/coverage/lcov-report/MenuItemRadio.tsx.html +0 -436
  175. package/coverage/lcov-report/MenuItemSeparator.tsx.html +0 -223
  176. package/coverage/lcov-report/MenuItemTextField.tsx.html +0 -289
  177. package/coverage/lcov-report/NativeSelect.tsx.html +0 -763
  178. package/coverage/lcov-report/Navigation.tsx.html +0 -358
  179. package/coverage/lcov-report/Portal.tsx.html +0 -223
  180. package/coverage/lcov-report/PortalContainerProvider.tsx.html +0 -367
  181. package/coverage/lcov-report/RootHtml.tsx.html +0 -370
  182. package/coverage/lcov-report/SVGIcon.tsx.html +0 -445
  183. package/coverage/lcov-report/SegmentedButton.tsx.html +0 -628
  184. package/coverage/lcov-report/SegmentedButtonContainer.tsx.html +0 -277
  185. package/coverage/lcov-report/Select.tsx.html +0 -1411
  186. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +0 -613
  187. package/coverage/lcov-report/Snackbar.tsx.html +0 -610
  188. package/coverage/lcov-report/SrOnly.tsx.html +0 -328
  189. package/coverage/lcov-report/Switch.tsx.html +0 -535
  190. package/coverage/lcov-report/SwitchTrack.tsx.html +0 -262
  191. package/coverage/lcov-report/Tab.tsx.html +0 -622
  192. package/coverage/lcov-report/TabList.tsx.html +0 -757
  193. package/coverage/lcov-report/TabListScrollButton.tsx.html +0 -472
  194. package/coverage/lcov-report/Table.tsx.html +0 -457
  195. package/coverage/lcov-report/TableCell.tsx.html +0 -982
  196. package/coverage/lcov-report/TableCheckbox.tsx.html +0 -709
  197. package/coverage/lcov-report/TableContainer.tsx.html +0 -220
  198. package/coverage/lcov-report/TableFooter.tsx.html +0 -502
  199. package/coverage/lcov-report/TableHeader.tsx.html +0 -541
  200. package/coverage/lcov-report/TableRadio.tsx.html +0 -670
  201. package/coverage/lcov-report/TableRow.tsx.html +0 -289
  202. package/coverage/lcov-report/TextArea.tsx.html +0 -940
  203. package/coverage/lcov-report/TextField.tsx.html +0 -829
  204. package/coverage/lcov-report/TextFieldAddon.tsx.html +0 -382
  205. package/coverage/lcov-report/TextFieldContainer.tsx.html +0 -364
  206. package/coverage/lcov-report/Toast.tsx.html +0 -868
  207. package/coverage/lcov-report/ToastCloseButton.tsx.html +0 -340
  208. package/coverage/lcov-report/ToastManager.tsx.html +0 -1783
  209. package/coverage/lcov-report/ToastManagerProvider.tsx.html +0 -400
  210. package/coverage/lcov-report/Tooltip.tsx.html +0 -559
  211. package/coverage/lcov-report/TooltipHoverModeProvider.tsx.html +0 -253
  212. package/coverage/lcov-report/Tree.tsx.html +0 -1135
  213. package/coverage/lcov-report/TreeGroup.tsx.html +0 -313
  214. package/coverage/lcov-report/Typography.tsx.html +0 -1027
  215. package/coverage/lcov-report/app-bar/AppBar.tsx.html +0 -928
  216. package/coverage/lcov-report/app-bar/AppBarTitle.tsx.html +0 -430
  217. package/coverage/lcov-report/app-bar/index.html +0 -131
  218. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +0 -283
  219. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +0 -304
  220. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +0 -775
  221. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +0 -1039
  222. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +0 -829
  223. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +0 -715
  224. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +0 -340
  225. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +0 -454
  226. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +0 -373
  227. package/coverage/lcov-report/autocomplete/utils.ts.html +0 -196
  228. package/coverage/lcov-report/avatar/Avatar.tsx.html +0 -535
  229. package/coverage/lcov-report/avatar/index.html +0 -116
  230. package/coverage/lcov-report/avatar/styles.ts.html +0 -268
  231. package/coverage/lcov-report/badge/Badge.tsx.html +0 -364
  232. package/coverage/lcov-report/badge/index.html +0 -116
  233. package/coverage/lcov-report/box/Box.tsx.html +0 -562
  234. package/coverage/lcov-report/box/index.html +0 -131
  235. package/coverage/lcov-report/box/styles.ts.html +0 -622
  236. package/coverage/lcov-report/button/AsyncButton.tsx.html +0 -1045
  237. package/coverage/lcov-report/button/ButtonUnstyled.tsx.html +0 -214
  238. package/coverage/lcov-report/button/FloatingActionButton.tsx.html +0 -427
  239. package/coverage/lcov-report/button/TooltippedButton.tsx.html +0 -433
  240. package/coverage/lcov-report/button/buttonStyles.ts.html +0 -607
  241. package/coverage/lcov-report/button/buttonUnstyledStyles.ts.html +0 -142
  242. package/coverage/lcov-report/card/Card.tsx.html +0 -349
  243. package/coverage/lcov-report/card/CardContent.tsx.html +0 -223
  244. package/coverage/lcov-report/card/CardHeader.tsx.html +0 -322
  245. package/coverage/lcov-report/card/ClickableCard.tsx.html +0 -400
  246. package/coverage/lcov-report/card/index.html +0 -116
  247. package/coverage/lcov-report/card/styles.ts.html +0 -694
  248. package/coverage/lcov-report/chip/Chip.tsx.html +0 -1072
  249. package/coverage/lcov-report/chip/index.html +0 -116
  250. package/coverage/lcov-report/chip/styles.ts.html +0 -436
  251. package/coverage/lcov-report/collapseStyles.ts.html +0 -184
  252. package/coverage/lcov-report/config.ts.html +0 -151
  253. package/coverage/lcov-report/cssUtils.ts.html +0 -814
  254. package/coverage/lcov-report/dialog/Dialog.tsx.html +0 -1309
  255. package/coverage/lcov-report/dialog/DialogContent.tsx.html +0 -178
  256. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +0 -169
  257. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +0 -148
  258. package/coverage/lcov-report/dialog/DialogTitle.tsx.html +0 -256
  259. package/coverage/lcov-report/dialog/FixedDialog.tsx.html +0 -583
  260. package/coverage/lcov-report/dialog/index.html +0 -131
  261. package/coverage/lcov-report/dialog/styles.ts.html +0 -439
  262. package/coverage/lcov-report/divider/Divider.tsx.html +0 -280
  263. package/coverage/lcov-report/divider/index.html +0 -116
  264. package/coverage/lcov-report/draggable/index.html +0 -116
  265. package/coverage/lcov-report/draggable/useControlledDraggable.ts.html +0 -2131
  266. package/coverage/lcov-report/draggable/useDraggable.ts.html +0 -2398
  267. package/coverage/lcov-report/draggable/useDraggableOrig.ts.html +0 -316
  268. package/coverage/lcov-report/draggable/useLocalStorageDraggable.ts.html +0 -361
  269. package/coverage/lcov-report/draggable/useLocalStorageDraggableControls.ts.html +0 -487
  270. package/coverage/lcov-report/draggable/useLocalStorageDraggableLatest.ts.html +0 -334
  271. package/coverage/lcov-report/draggable/utils.ts.html +0 -808
  272. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +0 -211
  273. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +0 -943
  274. package/coverage/lcov-report/expansion-panel/ExpansionPanelHeader.tsx.html +0 -649
  275. package/coverage/lcov-report/expansion-panel/index.html +0 -146
  276. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +0 -928
  277. package/coverage/lcov-report/filters.ts.html +0 -1045
  278. package/coverage/lcov-report/findMatchIndex.ts.html +0 -385
  279. package/coverage/lcov-report/form/AutoComplete.tsx.html +0 -283
  280. package/coverage/lcov-report/form/FileInput.tsx.html +0 -739
  281. package/coverage/lcov-report/form/Form.tsx.html +0 -238
  282. package/coverage/lcov-report/form/FormMessage.tsx.html +0 -322
  283. package/coverage/lcov-report/form/FormMessageContainer.tsx.html +0 -229
  284. package/coverage/lcov-report/form/InputToggle.tsx.html +0 -1108
  285. package/coverage/lcov-report/form/InputToggleIcon.tsx.html +0 -478
  286. package/coverage/lcov-report/form/Label.tsx.html +0 -442
  287. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +0 -979
  288. package/coverage/lcov-report/form/MenuItemTextField.tsx.html +0 -289
  289. package/coverage/lcov-report/form/NativeSelect.tsx.html +0 -826
  290. package/coverage/lcov-report/form/OptGroup.tsx.html +0 -343
  291. package/coverage/lcov-report/form/Option.tsx.html +0 -727
  292. package/coverage/lcov-report/form/Password.tsx.html +0 -721
  293. package/coverage/lcov-report/form/Radio.tsx.html +0 -169
  294. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +0 -442
  295. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +0 -310
  296. package/coverage/lcov-report/form/Select.tsx.html +0 -1456
  297. package/coverage/lcov-report/form/SelectOriginal.tsx.html +0 -1630
  298. package/coverage/lcov-report/form/SelectV2.tsx.html +0 -1024
  299. package/coverage/lcov-report/form/SelectedOption.tsx.html +0 -250
  300. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +0 -727
  301. package/coverage/lcov-report/form/Slider.tsx.html +0 -2014
  302. package/coverage/lcov-report/form/SliderThumb.tsx.html +0 -1030
  303. package/coverage/lcov-report/form/SliderValueTooltip.tsx.html +0 -319
  304. package/coverage/lcov-report/form/Switch.tsx.html +0 -535
  305. package/coverage/lcov-report/form/SwitchTrack.tsx.html +0 -262
  306. package/coverage/lcov-report/form/TextArea.tsx.html +0 -964
  307. package/coverage/lcov-report/form/TextArea2.tsx.html +0 -985
  308. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +0 -1006
  309. package/coverage/lcov-report/form/TextField.tsx.html +0 -829
  310. package/coverage/lcov-report/form/fileUtils.ts.html +0 -2155
  311. package/coverage/lcov-report/form/formMessageStyles.ts.html +0 -238
  312. package/coverage/lcov-report/form/index.html +0 -146
  313. package/coverage/lcov-report/form/inputToggleStyles.ts.html +0 -316
  314. package/coverage/lcov-report/form/selectUtils.ts.html +0 -397
  315. package/coverage/lcov-report/form/switchStyles.ts.html +0 -172
  316. package/coverage/lcov-report/form/textAreaStyles.ts.html +0 -382
  317. package/coverage/lcov-report/form/useAutoComplete.ts.html +0 -787
  318. package/coverage/lcov-report/form/useCheckboxGroup.ts.html +0 -1087
  319. package/coverage/lcov-report/form/useCombobox-6-13.ts.html +0 -1054
  320. package/coverage/lcov-report/form/useCombobox-6-15.ts.html +0 -1048
  321. package/coverage/lcov-report/form/useCombobox.ts.html +0 -1045
  322. package/coverage/lcov-report/form/useComboboxBoth.ts.html +0 -85
  323. package/coverage/lcov-report/form/useComboboxDialog.ts.html +0 -85
  324. package/coverage/lcov-report/form/useComboboxList.ts.html +0 -418
  325. package/coverage/lcov-report/form/useComboboxOrig.ts.html +0 -781
  326. package/coverage/lcov-report/form/useFileUpload.ts.html +0 -1702
  327. package/coverage/lcov-report/form/useFormReset.ts.html +0 -229
  328. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +0 -379
  329. package/coverage/lcov-report/form/useListboxProvider.ts.html +0 -214
  330. package/coverage/lcov-report/form/useNumberField.ts.html +0 -1561
  331. package/coverage/lcov-report/form/useRadioGroup.ts.html +0 -1009
  332. package/coverage/lcov-report/form/useRangeSlider.ts.html +0 -355
  333. package/coverage/lcov-report/form/useResizingTextArea.ts.html +0 -631
  334. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +0 -631
  335. package/coverage/lcov-report/form/useSelectCombobox.ts.html +0 -499
  336. package/coverage/lcov-report/form/useSlider.ts.html +0 -421
  337. package/coverage/lcov-report/form/useTextField.ts.html +0 -2203
  338. package/coverage/lcov-report/form/utils.ts.html +0 -382
  339. package/coverage/lcov-report/form/validation.ts.html +0 -886
  340. package/coverage/lcov-report/getHrefFromParents.ts.html +0 -133
  341. package/coverage/lcov-report/getListItemHeight.ts.html +0 -298
  342. package/coverage/lcov-report/hoverMode/index.html +0 -116
  343. package/coverage/lcov-report/hoverMode/useHoverMode.ts.html +0 -676
  344. package/coverage/lcov-report/icon/FontIcon.tsx.html +0 -256
  345. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +0 -235
  346. package/coverage/lcov-report/icon/index.html +0 -116
  347. package/coverage/lcov-report/icon/styles.ts.html +0 -586
  348. package/coverage/lcov-report/iconConfig.tsx.html +0 -973
  349. package/coverage/lcov-report/inputToggleStyles.ts.html +0 -316
  350. package/coverage/lcov-report/interaction/ElementInteractionProvider.tsx.html +0 -253
  351. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +0 -679
  352. package/coverage/lcov-report/interaction/config.ts.html +0 -181
  353. package/coverage/lcov-report/interaction/index.html +0 -131
  354. package/coverage/lcov-report/layout/LayoutAppBar.tsx.html +0 -358
  355. package/coverage/lcov-report/layout/LayoutNav.tsx.html +0 -682
  356. package/coverage/lcov-report/layout/LayoutWindowSplitter.tsx.html +0 -460
  357. package/coverage/lcov-report/layout/Main.tsx.html +0 -364
  358. package/coverage/lcov-report/layout/NavigationLink.tsx.html +0 -334
  359. package/coverage/lcov-report/layout/NavigationRail.tsx.html +0 -157
  360. package/coverage/lcov-report/layout/index.html +0 -161
  361. package/coverage/lcov-report/layout/layoutNavStyles.ts.html +0 -166
  362. package/coverage/lcov-report/layout/layoutWindowSplitterStyles.ts.html +0 -220
  363. package/coverage/lcov-report/layout/navigationLinkStyles.ts.html +0 -250
  364. package/coverage/lcov-report/layout/navigationRailStyles.ts.html +0 -148
  365. package/coverage/lcov-report/layout/useExpandableLayout.ts.html +0 -928
  366. package/coverage/lcov-report/layout/useExpandableLayoutAppBarTransition.ts.html +0 -199
  367. package/coverage/lcov-report/layout/useHorizontalLayoutTransition.ts.html +0 -349
  368. package/coverage/lcov-report/layout/useLayoutAppBarHeight.ts.html +0 -343
  369. package/coverage/lcov-report/layout/useLayoutNavigation.ts.html +0 -544
  370. package/coverage/lcov-report/layout/useLayoutTree.ts.html +0 -691
  371. package/coverage/lcov-report/layout/useLayoutWindowSplitter.ts.html +0 -517
  372. package/coverage/lcov-report/layout/useMainTabIndex.ts.html +0 -136
  373. package/coverage/lcov-report/layout/useResizableLayout.ts.html +0 -328
  374. package/coverage/lcov-report/layout/useTemporaryLayout.ts.html +0 -589
  375. package/coverage/lcov-report/link/Link.tsx.html +0 -358
  376. package/coverage/lcov-report/link/LinkProvider.tsx.html +0 -214
  377. package/coverage/lcov-report/link/SkipToMainContent.tsx.html +0 -448
  378. package/coverage/lcov-report/link/index.html +0 -116
  379. package/coverage/lcov-report/list/List.tsx.html +0 -490
  380. package/coverage/lcov-report/list/ListItem.tsx.html +0 -886
  381. package/coverage/lcov-report/list/ListItemAddon.tsx.html +0 -286
  382. package/coverage/lcov-report/list/ListItemChildren.tsx.html +0 -445
  383. package/coverage/lcov-report/list/ListItemLink.tsx.html +0 -616
  384. package/coverage/lcov-report/list/ListItemText.tsx.html +0 -280
  385. package/coverage/lcov-report/list/ListSubheader.tsx.html +0 -322
  386. package/coverage/lcov-report/list/index.html +0 -191
  387. package/coverage/lcov-report/list/listItemStyles.ts.html +0 -703
  388. package/coverage/lcov-report/materialConfig.ts.html +0 -703
  389. package/coverage/lcov-report/media-queries/AppSizeProvider.tsx.html +0 -499
  390. package/coverage/lcov-report/media-queries/appSize.ts.html +0 -445
  391. package/coverage/lcov-report/media-queries/index.html +0 -116
  392. package/coverage/lcov-report/media-queries/useMediaQuery.ts.html +0 -244
  393. package/coverage/lcov-report/media-queries/useMinWidthMediaQuery.ts.html +0 -115
  394. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +0 -976
  395. package/coverage/lcov-report/menu/Menu.tsx.html +0 -1894
  396. package/coverage/lcov-report/menu/MenuConfigurationProvider.tsx.html +0 -637
  397. package/coverage/lcov-report/menu/MenuItem.tsx.html +0 -292
  398. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +0 -433
  399. package/coverage/lcov-report/menu/MenuItemGroup.tsx.html +0 -382
  400. package/coverage/lcov-report/menu/MenuSheet.tsx.html +0 -502
  401. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +0 -370
  402. package/coverage/lcov-report/menu/MenuWidget.tsx.html +0 -634
  403. package/coverage/lcov-report/menu/index.html +0 -116
  404. package/coverage/lcov-report/menu/menuConfig.ts.html +0 -118
  405. package/coverage/lcov-report/menu/useContextMenu.ts.html +0 -490
  406. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +0 -319
  407. package/coverage/lcov-report/movement/index.html +0 -116
  408. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +0 -1723
  409. package/coverage/lcov-report/navigation/CollapsibleNavGroup.tsx.html +0 -334
  410. package/coverage/lcov-report/navigation/DefaultNavigationRenderer.tsx.html +0 -298
  411. package/coverage/lcov-report/navigation/NavGroup.tsx.html +0 -193
  412. package/coverage/lcov-report/navigation/NavItem.tsx.html +0 -160
  413. package/coverage/lcov-report/navigation/NavItemButton.tsx.html +0 -397
  414. package/coverage/lcov-report/navigation/NavItemLink.tsx.html +0 -574
  415. package/coverage/lcov-report/navigation/NavSubheader.tsx.html +0 -184
  416. package/coverage/lcov-report/navigation/Navigation.tsx.html +0 -358
  417. package/coverage/lcov-report/navigation/getHrefFromParents.ts.html +0 -130
  418. package/coverage/lcov-report/navigation/index.html +0 -146
  419. package/coverage/lcov-report/navigation/navGroupStyles.ts.html +0 -148
  420. package/coverage/lcov-report/navigation/navItemStyles.ts.html +0 -298
  421. package/coverage/lcov-report/overlay/Overlay.tsx.html +0 -655
  422. package/coverage/lcov-report/overlay/index.html +0 -116
  423. package/coverage/lcov-report/positioning/constants.ts.html +0 -463
  424. package/coverage/lcov-report/positioning/createVerticalPosition.ts.html +0 -1009
  425. package/coverage/lcov-report/positioning/getFixedPosition.ts.html +0 -616
  426. package/coverage/lcov-report/positioning/index.html +0 -131
  427. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +0 -1321
  428. package/coverage/lcov-report/progress/CircularProgress.tsx.html +0 -799
  429. package/coverage/lcov-report/progress/LinearProgress.tsx.html +0 -658
  430. package/coverage/lcov-report/progress/index.html +0 -116
  431. package/coverage/lcov-report/searching/caseInsensitive.ts.html +0 -685
  432. package/coverage/lcov-report/searching/toSearchQuery.ts.html +0 -145
  433. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +0 -211
  434. package/coverage/lcov-report/searching/utils.ts.html +0 -244
  435. package/coverage/lcov-report/segmented-button/SegmentedButton.tsx.html +0 -628
  436. package/coverage/lcov-report/segmented-button/SegmentedButtonContainer.tsx.html +0 -259
  437. package/coverage/lcov-report/segmented-button/index.html +0 -161
  438. package/coverage/lcov-report/segmented-button/segmentedButtonContainerStyles.ts.html +0 -151
  439. package/coverage/lcov-report/segmented-button/segmentedButtonStyles.ts.html +0 -199
  440. package/coverage/lcov-report/segmentedButtonContainerStyles.ts.html +0 -160
  441. package/coverage/lcov-report/segmentedButtonStyles.ts.html +0 -199
  442. package/coverage/lcov-report/sheet/Sheet.tsx.html +0 -397
  443. package/coverage/lcov-report/sheet/index.html +0 -116
  444. package/coverage/lcov-report/sheet/styles.ts.html +0 -376
  445. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +0 -400
  446. package/coverage/lcov-report/snackbar/DefaultToastRenderer.tsx.html +0 -529
  447. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +0 -610
  448. package/coverage/lcov-report/snackbar/Toast.tsx.html +0 -868
  449. package/coverage/lcov-report/snackbar/ToastContent.tsx.html +0 -364
  450. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +0 -1804
  451. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +0 -400
  452. package/coverage/lcov-report/snackbar/index.html +0 -116
  453. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +0 -139
  454. package/coverage/lcov-report/snackbar/toastContentStyles.ts.html +0 -196
  455. package/coverage/lcov-report/snackbar/toastStyles.ts.html +0 -349
  456. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +0 -226
  457. package/coverage/lcov-report/snackbarStyles.ts.html +0 -139
  458. package/coverage/lcov-report/src/AppSize.tsx.html +0 -247
  459. package/coverage/lcov-report/src/AppSizeProvider.tsx.html +0 -787
  460. package/coverage/lcov-report/src/CoreProviders.tsx.html +0 -412
  461. package/coverage/lcov-report/src/NoSsr.tsx.html +0 -250
  462. package/coverage/lcov-report/src/NullSsrSuspense.tsx.html +0 -223
  463. package/coverage/lcov-report/src/RootHtml.tsx.html +0 -370
  464. package/coverage/lcov-report/src/SsrProvider.tsx.html +0 -211
  465. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +0 -937
  466. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +0 -445
  467. package/coverage/lcov-report/src/app-bar/index.html +0 -131
  468. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +0 -328
  469. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +0 -304
  470. package/coverage/lcov-report/src/autocomplete/index.html +0 -221
  471. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +0 -1039
  472. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +0 -829
  473. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +0 -715
  474. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +0 -454
  475. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +0 -373
  476. package/coverage/lcov-report/src/autocomplete/utils.ts.html +0 -196
  477. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +0 -472
  478. package/coverage/lcov-report/src/avatar/index.html +0 -131
  479. package/coverage/lcov-report/src/avatar/styles.ts.html +0 -268
  480. package/coverage/lcov-report/src/badge/Badge.tsx.html +0 -382
  481. package/coverage/lcov-report/src/badge/index.html +0 -116
  482. package/coverage/lcov-report/src/box/Box.tsx.html +0 -541
  483. package/coverage/lcov-report/src/box/index.html +0 -131
  484. package/coverage/lcov-report/src/box/styles.ts.html +0 -622
  485. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +0 -1045
  486. package/coverage/lcov-report/src/button/Button.tsx.html +0 -688
  487. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +0 -211
  488. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +0 -382
  489. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +0 -445
  490. package/coverage/lcov-report/src/button/buttonStyles.ts.html +0 -607
  491. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +0 -142
  492. package/coverage/lcov-report/src/button/index.html +0 -116
  493. package/coverage/lcov-report/src/card/Card.tsx.html +0 -349
  494. package/coverage/lcov-report/src/card/CardContent.tsx.html +0 -223
  495. package/coverage/lcov-report/src/card/CardFooter.tsx.html +0 -196
  496. package/coverage/lcov-report/src/card/CardHeader.tsx.html +0 -319
  497. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +0 -250
  498. package/coverage/lcov-report/src/card/CardTitle.tsx.html +0 -247
  499. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +0 -400
  500. package/coverage/lcov-report/src/card/index.html +0 -221
  501. package/coverage/lcov-report/src/card/styles.ts.html +0 -694
  502. package/coverage/lcov-report/src/chip/Chip.tsx.html +0 -1102
  503. package/coverage/lcov-report/src/chip/index.html +0 -131
  504. package/coverage/lcov-report/src/chip/styles.ts.html +0 -457
  505. package/coverage/lcov-report/src/cssUtils.ts.html +0 -787
  506. package/coverage/lcov-report/src/delegateEvent.ts.html +0 -619
  507. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +0 -1309
  508. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +0 -175
  509. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +0 -178
  510. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +0 -169
  511. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +0 -148
  512. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +0 -256
  513. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +0 -577
  514. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +0 -127
  515. package/coverage/lcov-report/src/dialog/index.html +0 -236
  516. package/coverage/lcov-report/src/dialog/styles.ts.html +0 -439
  517. package/coverage/lcov-report/src/divider/Divider.tsx.html +0 -274
  518. package/coverage/lcov-report/src/divider/VerticalDivider.tsx.html +0 -235
  519. package/coverage/lcov-report/src/divider/index.html +0 -116
  520. package/coverage/lcov-report/src/divider/styles.ts.html +0 -232
  521. package/coverage/lcov-report/src/divider/useVerticalDividerHeight.ts.html +0 -301
  522. package/coverage/lcov-report/src/draggable/index.html +0 -131
  523. package/coverage/lcov-report/src/draggable/useControlledDraggable.ts.html +0 -2137
  524. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +0 -2398
  525. package/coverage/lcov-report/src/draggable/useDraggableOrig.ts.html +0 -316
  526. package/coverage/lcov-report/src/draggable/useLocalStorageDraggable.ts.html +0 -370
  527. package/coverage/lcov-report/src/draggable/utils.ts.html +0 -808
  528. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +0 -211
  529. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +0 -943
  530. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +0 -649
  531. package/coverage/lcov-report/src/expansion-panel/index.html +0 -176
  532. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +0 -322
  533. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +0 -928
  534. package/coverage/lcov-report/src/focus/index.html +0 -131
  535. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +0 -883
  536. package/coverage/lcov-report/src/focus/utils.ts.html +0 -544
  537. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +0 -283
  538. package/coverage/lcov-report/src/form/Checkbox.tsx.html +0 -160
  539. package/coverage/lcov-report/src/form/Fieldset.tsx.html +0 -355
  540. package/coverage/lcov-report/src/form/FileInput.tsx.html +0 -739
  541. package/coverage/lcov-report/src/form/Form.tsx.html +0 -238
  542. package/coverage/lcov-report/src/form/FormMessage.tsx.html +0 -322
  543. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +0 -223
  544. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +0 -262
  545. package/coverage/lcov-report/src/form/FormThemeProvider.tsx.html +0 -313
  546. package/coverage/lcov-report/src/form/InputToggle.tsx.html +0 -1108
  547. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +0 -478
  548. package/coverage/lcov-report/src/form/Label.tsx.html +0 -439
  549. package/coverage/lcov-report/src/form/Legend.tsx.html +0 -199
  550. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +0 -223
  551. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +0 -424
  552. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +0 -925
  553. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +0 -436
  554. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +0 -211
  555. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +0 -289
  556. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +0 -763
  557. package/coverage/lcov-report/src/form/OptGroup.tsx.html +0 -343
  558. package/coverage/lcov-report/src/form/Option.tsx.html +0 -709
  559. package/coverage/lcov-report/src/form/Password.tsx.html +0 -721
  560. package/coverage/lcov-report/src/form/Radio.tsx.html +0 -172
  561. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +0 -988
  562. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +0 -310
  563. package/coverage/lcov-report/src/form/Select.tsx.html +0 -1411
  564. package/coverage/lcov-report/src/form/SelectValue.tsx.html +0 -202
  565. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +0 -694
  566. package/coverage/lcov-report/src/form/Slider.tsx.html +0 -2008
  567. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +0 -358
  568. package/coverage/lcov-report/src/form/SliderMark.tsx.html +0 -208
  569. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +0 -271
  570. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +0 -1084
  571. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +0 -454
  572. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +0 -745
  573. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +0 -319
  574. package/coverage/lcov-report/src/form/Switch.tsx.html +0 -535
  575. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +0 -262
  576. package/coverage/lcov-report/src/form/TextArea.tsx.html +0 -1006
  577. package/coverage/lcov-report/src/form/TextArea2.tsx.html +0 -985
  578. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +0 -985
  579. package/coverage/lcov-report/src/form/TextField.tsx.html +0 -829
  580. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +0 -382
  581. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +0 -364
  582. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +0 -418
  583. package/coverage/lcov-report/src/form/fileUtils.ts.html +0 -2155
  584. package/coverage/lcov-report/src/form/formConfig.ts.html +0 -157
  585. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +0 -238
  586. package/coverage/lcov-report/src/form/index.html +0 -176
  587. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +0 -316
  588. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +0 -319
  589. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +0 -253
  590. package/coverage/lcov-report/src/form/optionStyles.ts.html +0 -151
  591. package/coverage/lcov-report/src/form/passwordStyles.ts.html +0 -235
  592. package/coverage/lcov-report/src/form/selectStyles.ts.html +0 -181
  593. package/coverage/lcov-report/src/form/selectUtils.ts.html +0 -430
  594. package/coverage/lcov-report/src/form/sliderUtils.ts.html +0 -790
  595. package/coverage/lcov-report/src/form/switchStyles.ts.html +0 -172
  596. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +0 -385
  597. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +0 -184
  598. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +0 -787
  599. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +0 -1087
  600. package/coverage/lcov-report/src/form/useCombobox.ts.html +0 -1540
  601. package/coverage/lcov-report/src/form/useComboboxBoth.ts.html +0 -85
  602. package/coverage/lcov-report/src/form/useComboboxDialog.ts.html +0 -85
  603. package/coverage/lcov-report/src/form/useComboboxList.ts.html +0 -403
  604. package/coverage/lcov-report/src/form/useComboboxOrig.ts.html +0 -781
  605. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +0 -502
  606. package/coverage/lcov-report/src/form/useFileUpload.ts.html +0 -1702
  607. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +0 -109
  608. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +0 -214
  609. package/coverage/lcov-report/src/form/useNumberField.ts.html +0 -1561
  610. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +0 -1021
  611. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +0 -355
  612. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +0 -634
  613. package/coverage/lcov-report/src/form/useResizingTextArea.tsx.html +0 -523
  614. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +0 -295
  615. package/coverage/lcov-report/src/form/useSlider.ts.html +0 -421
  616. package/coverage/lcov-report/src/form/useTextField.ts.html +0 -2203
  617. package/coverage/lcov-report/src/form/utils.ts.html +0 -373
  618. package/coverage/lcov-report/src/form/validation.ts.html +0 -886
  619. package/coverage/lcov-report/src/hoverMode/index.html +0 -131
  620. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +0 -676
  621. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +0 -1018
  622. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +0 -256
  623. package/coverage/lcov-report/src/icon/IconProvider.tsx.html +0 -931
  624. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +0 -322
  625. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +0 -235
  626. package/coverage/lcov-report/src/icon/MaterialIconsProvider.ts.html +0 -154
  627. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +0 -421
  628. package/coverage/lcov-report/src/icon/MaterialSymbolsProvider.tsx.html +0 -757
  629. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +0 -445
  630. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +0 -679
  631. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +0 -973
  632. package/coverage/lcov-report/src/icon/index.html +0 -116
  633. package/coverage/lcov-report/src/icon/material.ts.html +0 -15922
  634. package/coverage/lcov-report/src/icon/materialConfig.ts.html +0 -703
  635. package/coverage/lcov-report/src/icon/styles.ts.html +0 -586
  636. package/coverage/lcov-report/src/index.html +0 -116
  637. package/coverage/lcov-report/src/interaction/ElementInteractionProvider.tsx.html +0 -277
  638. package/coverage/lcov-report/src/interaction/LazyRippleContainer.tsx.html +0 -136
  639. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +0 -283
  640. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +0 -211
  641. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +0 -679
  642. package/coverage/lcov-report/src/interaction/config.ts.html +0 -181
  643. package/coverage/lcov-report/src/interaction/index.html +0 -206
  644. package/coverage/lcov-report/src/interaction/useElementInteraction.ts.html +0 -1474
  645. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +0 -1513
  646. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +0 -355
  647. package/coverage/lcov-report/src/interaction/utils.ts.html +0 -496
  648. package/coverage/lcov-report/src/layout/DefaultLayoutNavigationItemRenderer.tsx.html +0 -169
  649. package/coverage/lcov-report/src/layout/DefaultLayoutNavigationMiniItemRenderer.tsx.html +0 -160
  650. package/coverage/lcov-report/src/layout/Layout.tsx.html +0 -235
  651. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +0 -364
  652. package/coverage/lcov-report/src/layout/LayoutAppBarTitle.tsx.html +0 -193
  653. package/coverage/lcov-report/src/layout/LayoutChildren.tsx.html +0 -718
  654. package/coverage/lcov-report/src/layout/LayoutCloseNavigationButton.tsx.html +0 -265
  655. package/coverage/lcov-report/src/layout/LayoutMain.tsx.html +0 -580
  656. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +0 -688
  657. package/coverage/lcov-report/src/layout/LayoutNavToggle.tsx.html +0 -430
  658. package/coverage/lcov-report/src/layout/LayoutNavigation.tsx.html +0 -445
  659. package/coverage/lcov-report/src/layout/LayoutNavigationHeader.tsx.html +0 -274
  660. package/coverage/lcov-report/src/layout/LayoutProvider.tsx.html +0 -706
  661. package/coverage/lcov-report/src/layout/LayoutTree.tsx.html +0 -331
  662. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +0 -472
  663. package/coverage/lcov-report/src/layout/Main.tsx.html +0 -364
  664. package/coverage/lcov-report/src/layout/MiniLayoutWrapper.tsx.html +0 -541
  665. package/coverage/lcov-report/src/layout/NavigationLink.tsx.html +0 -334
  666. package/coverage/lcov-report/src/layout/NavigationRail.tsx.html +0 -157
  667. package/coverage/lcov-report/src/layout/TemporaryLayout.tsx.html +0 -85
  668. package/coverage/lcov-report/src/layout/constants.ts.html +0 -169
  669. package/coverage/lcov-report/src/layout/index.html +0 -146
  670. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +0 -166
  671. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +0 -220
  672. package/coverage/lcov-report/src/layout/mainStyles.ts.html +0 -217
  673. package/coverage/lcov-report/src/layout/navigationLinkStyles.ts.html +0 -250
  674. package/coverage/lcov-report/src/layout/navigationRailStyles.ts.html +0 -148
  675. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +0 -742
  676. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +0 -349
  677. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +0 -358
  678. package/coverage/lcov-report/src/layout/useLayoutNavigation.ts.html +0 -544
  679. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +0 -691
  680. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +0 -496
  681. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +0 -136
  682. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +0 -535
  683. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +0 -589
  684. package/coverage/lcov-report/src/layout/utils.ts.html +0 -391
  685. package/coverage/lcov-report/src/link/Link.tsx.html +0 -358
  686. package/coverage/lcov-report/src/link/LinkProvider.tsx.html +0 -238
  687. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +0 -448
  688. package/coverage/lcov-report/src/link/index.html +0 -146
  689. package/coverage/lcov-report/src/link/styles.ts.html +0 -238
  690. package/coverage/lcov-report/src/list/List.tsx.html +0 -487
  691. package/coverage/lcov-report/src/list/ListItem.tsx.html +0 -892
  692. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +0 -286
  693. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +0 -445
  694. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +0 -616
  695. package/coverage/lcov-report/src/list/ListItemText.tsx.html +0 -277
  696. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +0 -319
  697. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +0 -298
  698. package/coverage/lcov-report/src/list/index.html +0 -116
  699. package/coverage/lcov-report/src/list/listItemStyles.ts.html +0 -703
  700. package/coverage/lcov-report/src/main-layout/DefaultLayoutNavigationItemRenderer.tsx.html +0 -169
  701. package/coverage/lcov-report/src/main-layout/DefaultLayoutNavigationMiniItemRenderer.tsx.html +0 -160
  702. package/coverage/lcov-report/src/main-layout/Main.tsx.html +0 -298
  703. package/coverage/lcov-report/src/main-layout/MainLayout.tsx.html +0 -619
  704. package/coverage/lcov-report/src/main-layout/MainLayoutAppBar.tsx.html +0 -448
  705. package/coverage/lcov-report/src/main-layout/MainLayoutNavigationButton.tsx.html +0 -295
  706. package/coverage/lcov-report/src/main-layout/MainLayoutTitle.tsx.html +0 -184
  707. package/coverage/lcov-report/src/main-layout/MainNavWindowSplitter.tsx.html +0 -427
  708. package/coverage/lcov-report/src/main-layout/MainNavigation.tsx.html +0 -568
  709. package/coverage/lcov-report/src/main-layout/MainNavigationTree.tsx.html +0 -115
  710. package/coverage/lcov-report/src/main-layout/index.html +0 -296
  711. package/coverage/lcov-report/src/main-layout/useLayoutNavigation.ts.html +0 -727
  712. package/coverage/lcov-report/src/main-layout/useMainLayout.ts.html +0 -523
  713. package/coverage/lcov-report/src/main-layout/useMainLayoutProvider.ts.html +0 -484
  714. package/coverage/lcov-report/src/main-layout-current/DefaultLayoutNavigationItemRenderer.tsx.html +0 -169
  715. package/coverage/lcov-report/src/main-layout-current/DefaultLayoutNavigationMiniItemRenderer.tsx.html +0 -160
  716. package/coverage/lcov-report/src/main-layout-current/Main.tsx.html +0 -265
  717. package/coverage/lcov-report/src/main-layout-current/MainLayout.tsx.html +0 -739
  718. package/coverage/lcov-report/src/main-layout-current/MainLayoutAppBar.tsx.html +0 -352
  719. package/coverage/lcov-report/src/main-layout-current/MainLayoutProvider.ts.html +0 -991
  720. package/coverage/lcov-report/src/main-layout-current/MainLayoutTitle.tsx.html +0 -184
  721. package/coverage/lcov-report/src/main-layout-current/MainNavWindowSplitter.tsx.html +0 -520
  722. package/coverage/lcov-report/src/main-layout-current/MainNavigation.tsx.html +0 -586
  723. package/coverage/lcov-report/src/main-layout-current/NavigationButton.tsx.html +0 -283
  724. package/coverage/lcov-report/src/main-layout-current/index.html +0 -266
  725. package/coverage/lcov-report/src/main-layout-current/useLayoutNavigation.ts.html +0 -727
  726. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +0 -502
  727. package/coverage/lcov-report/src/media-queries/appSize.ts.html +0 -445
  728. package/coverage/lcov-report/src/media-queries/index.html +0 -146
  729. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +0 -244
  730. package/coverage/lcov-report/src/media-queries/useMinWidthMediaQuery.ts.html +0 -115
  731. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +0 -976
  732. package/coverage/lcov-report/src/menu/Menu.tsx.html +0 -1870
  733. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +0 -442
  734. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +0 -490
  735. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +0 -637
  736. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +0 -292
  737. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +0 -580
  738. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +0 -433
  739. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +0 -376
  740. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +0 -226
  741. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +0 -502
  742. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +0 -370
  743. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +0 -631
  744. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +0 -190
  745. package/coverage/lcov-report/src/menu/index.html +0 -116
  746. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +0 -490
  747. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +0 -349
  748. package/coverage/lcov-report/src/menu/utils.ts.html +0 -271
  749. package/coverage/lcov-report/src/movement/constants.ts.html +0 -193
  750. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +0 -385
  751. package/coverage/lcov-report/src/movement/index.html +0 -116
  752. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +0 -1687
  753. package/coverage/lcov-report/src/movement/utils.ts.html +0 -895
  754. package/coverage/lcov-report/src/navigation/CollapsibleNavGroup.tsx.html +0 -367
  755. package/coverage/lcov-report/src/navigation/DefaultNavigationRenderer.tsx.html +0 -325
  756. package/coverage/lcov-report/src/navigation/NavGroup.tsx.html +0 -202
  757. package/coverage/lcov-report/src/navigation/NavItem.tsx.html +0 -172
  758. package/coverage/lcov-report/src/navigation/NavSubheader.tsx.html +0 -193
  759. package/coverage/lcov-report/src/navigation/Navigation.tsx.html +0 -358
  760. package/coverage/lcov-report/src/navigation/index.html +0 -191
  761. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +0 -556
  762. package/coverage/lcov-report/src/overlay/index.html +0 -131
  763. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +0 -340
  764. package/coverage/lcov-report/src/portal/Portal.tsx.html +0 -223
  765. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +0 -367
  766. package/coverage/lcov-report/src/portal/index.html +0 -131
  767. package/coverage/lcov-report/src/positioning/constants.ts.html +0 -463
  768. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +0 -610
  769. package/coverage/lcov-report/src/positioning/index.html +0 -191
  770. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +0 -1339
  771. package/coverage/lcov-report/src/positioning/utils.ts.html +0 -1225
  772. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +0 -799
  773. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +0 -658
  774. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +0 -160
  775. package/coverage/lcov-report/src/progress/index.html +0 -146
  776. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +0 -628
  777. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +0 -385
  778. package/coverage/lcov-report/src/responsive-item/index.html +0 -146
  779. package/coverage/lcov-report/src/responsive-item/styles.ts.html +0 -259
  780. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +0 -133
  781. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +0 -181
  782. package/coverage/lcov-report/src/scroll/index.html +0 -146
  783. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +0 -241
  784. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +0 -619
  785. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +0 -277
  786. package/coverage/lcov-report/src/segmented-button/index.html +0 -161
  787. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +0 -160
  788. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +0 -205
  789. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +0 -397
  790. package/coverage/lcov-report/src/sheet/index.html +0 -131
  791. package/coverage/lcov-report/src/sheet/styles.ts.html +0 -376
  792. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +0 -526
  793. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +0 -628
  794. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +0 -841
  795. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +0 -298
  796. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +0 -349
  797. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +0 -364
  798. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +0 -1786
  799. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +0 -400
  800. package/coverage/lcov-report/src/snackbar/index.html +0 -281
  801. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +0 -214
  802. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +0 -196
  803. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +0 -268
  804. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +0 -226
  805. package/coverage/lcov-report/src/snackbar/useDefaultToastRenderer.ts.html +0 -85
  806. package/coverage/lcov-report/src/snackbar/useDefaultToastRenderer.tsx.html +0 -394
  807. package/coverage/lcov-report/src/snackbar/useRemoveToast.ts.html +0 -169
  808. package/coverage/lcov-report/src/snackbar/useToast.ts.html +0 -184
  809. package/coverage/lcov-report/src/snackbar/useToastRenderer.ts.html +0 -85
  810. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +0 -283
  811. package/coverage/lcov-report/src/suspense/NullSsrSuspense.tsx.html +0 -151
  812. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +0 -202
  813. package/coverage/lcov-report/src/suspense/index.html +0 -131
  814. package/coverage/lcov-report/src/table/Table.tsx.html +0 -457
  815. package/coverage/lcov-report/src/table/TableBody.tsx.html +0 -280
  816. package/coverage/lcov-report/src/table/TableCell.tsx.html +0 -982
  817. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +0 -436
  818. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +0 -715
  819. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +0 -484
  820. package/coverage/lcov-report/src/table/TableContainer.tsx.html +0 -220
  821. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +0 -193
  822. package/coverage/lcov-report/src/table/TableFooter.tsx.html +0 -538
  823. package/coverage/lcov-report/src/table/TableHeader.tsx.html +0 -565
  824. package/coverage/lcov-report/src/table/TableRadio.tsx.html +0 -676
  825. package/coverage/lcov-report/src/table/TableRow.tsx.html +0 -289
  826. package/coverage/lcov-report/src/table/index.html +0 -371
  827. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +0 -334
  828. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +0 -142
  829. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +0 -166
  830. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +0 -172
  831. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +0 -169
  832. package/coverage/lcov-report/src/table/tableStyles.ts.html +0 -157
  833. package/coverage/lcov-report/src/tabs/Tab.tsx.html +0 -622
  834. package/coverage/lcov-report/src/tabs/TabList.tsx.html +0 -796
  835. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +0 -490
  836. package/coverage/lcov-report/src/tabs/index.html +0 -251
  837. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +0 -187
  838. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +0 -226
  839. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +0 -241
  840. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +0 -265
  841. package/coverage/lcov-report/src/tabs/useTabList.ts.html +0 -736
  842. package/coverage/lcov-report/src/tabs/useTabs.ts.html +0 -1567
  843. package/coverage/lcov-report/src/tabs/useTabsOriginal.ts.html +0 -760
  844. package/coverage/lcov-report/src/tabs/utils.ts.html +0 -337
  845. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +0 -235
  846. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +0 -1045
  847. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +0 -112
  848. package/coverage/lcov-report/src/test-utils/drag.ts.html +0 -337
  849. package/coverage/lcov-report/src/test-utils/index.html +0 -116
  850. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +0 -124
  851. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +0 -679
  852. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +0 -109
  853. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +0 -100
  854. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +0 -106
  855. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +0 -100
  856. package/coverage/lcov-report/src/test-utils/polyfills/index.html +0 -176
  857. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +0 -109
  858. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +0 -202
  859. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +0 -112
  860. package/coverage/lcov-report/src/test-utils/render.tsx.html +0 -220
  861. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +0 -85
  862. package/coverage/lcov-report/src/test-utils/timers.ts.html +0 -223
  863. package/coverage/lcov-report/src/test-utils/utils.ts.html +0 -118
  864. package/coverage/lcov-report/src/theme/ColorSchemeProvider.tsx.html +0 -811
  865. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +0 -475
  866. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +0 -1510
  867. package/coverage/lcov-report/src/theme/colors.ts.html +0 -910
  868. package/coverage/lcov-report/src/theme/cssVars.ts.html +0 -130
  869. package/coverage/lcov-report/src/theme/index.html +0 -251
  870. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +0 -622
  871. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +0 -490
  872. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +0 -244
  873. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +0 -433
  874. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +0 -121
  875. package/coverage/lcov-report/src/theme/utils.ts.html +0 -670
  876. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +0 -559
  877. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +0 -409
  878. package/coverage/lcov-report/src/tooltip/constants.ts.html +0 -208
  879. package/coverage/lcov-report/src/tooltip/index.html +0 -206
  880. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +0 -181
  881. package/coverage/lcov-report/src/tooltip/useOverflowTooltip.ts.html +0 -364
  882. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +0 -2095
  883. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +0 -388
  884. package/coverage/lcov-report/src/tooltip/utils.ts.html +0 -238
  885. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +0 -358
  886. package/coverage/lcov-report/src/transition/Collapse.tsx.html +0 -337
  887. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +0 -436
  888. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +0 -328
  889. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +0 -613
  890. package/coverage/lcov-report/src/transition/Slide.tsx.html +0 -367
  891. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +0 -649
  892. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +0 -184
  893. package/coverage/lcov-report/src/transition/config.ts.html +0 -187
  894. package/coverage/lcov-report/src/transition/constants.ts.html +0 -103
  895. package/coverage/lcov-report/src/transition/index.html +0 -416
  896. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +0 -157
  897. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +0 -400
  898. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +0 -766
  899. package/coverage/lcov-report/src/transition/useCarousel.ts.html +0 -835
  900. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +0 -1384
  901. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +0 -469
  902. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +0 -205
  903. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +0 -535
  904. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +0 -958
  905. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +0 -424
  906. package/coverage/lcov-report/src/transition/useTransition.ts.html +0 -943
  907. package/coverage/lcov-report/src/transition/utils.ts.html +0 -529
  908. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +0 -313
  909. package/coverage/lcov-report/src/tree/Tree.tsx.html +0 -1054
  910. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +0 -367
  911. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +0 -1006
  912. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +0 -355
  913. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +0 -679
  914. package/coverage/lcov-report/src/tree/index.html +0 -116
  915. package/coverage/lcov-report/src/tree/styles.ts.html +0 -538
  916. package/coverage/lcov-report/src/tree/useTree.ts.html +0 -289
  917. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +0 -241
  918. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +0 -496
  919. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +0 -700
  920. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +0 -274
  921. package/coverage/lcov-report/src/tree/utils.ts.html +0 -277
  922. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +0 -328
  923. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +0 -403
  924. package/coverage/lcov-report/src/typography/Typography.tsx.html +0 -1027
  925. package/coverage/lcov-report/src/typography/WritingDirection.tsx.html +0 -775
  926. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +0 -781
  927. package/coverage/lcov-report/src/typography/index.html +0 -161
  928. package/coverage/lcov-report/src/useAsyncAction.ts.html +0 -685
  929. package/coverage/lcov-report/src/useDebounced.ts.html +0 -190
  930. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +0 -436
  931. package/coverage/lcov-report/src/useDropzone.ts.html +0 -766
  932. package/coverage/lcov-report/src/useElementSize.ts.html +0 -409
  933. package/coverage/lcov-report/src/useEnsuredId.ts.html +0 -175
  934. package/coverage/lcov-report/src/useEnsuredRef.ts.html +0 -253
  935. package/coverage/lcov-report/src/useEnsuredState.ts.html +0 -235
  936. package/coverage/lcov-report/src/useHtmlClassName.ts.html +0 -142
  937. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +0 -1075
  938. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +0 -130
  939. package/coverage/lcov-report/src/useLocalStorage.ts.html +0 -1852
  940. package/coverage/lcov-report/src/useLocalStorageEvents.ts.html +0 -85
  941. package/coverage/lcov-report/src/useMediaQuery.ts.html +0 -241
  942. package/coverage/lcov-report/src/useMinWidthMediaQuery.ts.html +0 -115
  943. package/coverage/lcov-report/src/useMutationObserver.ts.html +0 -310
  944. package/coverage/lcov-report/src/useOrientation.ts.html +0 -271
  945. package/coverage/lcov-report/src/usePageInactive.ts.html +0 -448
  946. package/coverage/lcov-report/src/useResizeListener.ts.html +0 -391
  947. package/coverage/lcov-report/src/useResizeObserver.ts.html +0 -790
  948. package/coverage/lcov-report/src/useThrottledFunction.ts.html +0 -484
  949. package/coverage/lcov-report/src/useToggle.ts.html +0 -253
  950. package/coverage/lcov-report/src/useUnmounted.ts.html +0 -217
  951. package/coverage/lcov-report/src/useWindowSize.ts.html +0 -460
  952. package/coverage/lcov-report/src/utils/RecursiveRender.tsx.html +0 -253
  953. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +0 -790
  954. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +0 -535
  955. package/coverage/lcov-report/src/utils/applyRef.ts.html +0 -214
  956. package/coverage/lcov-report/src/utils/bem.ts.html +0 -412
  957. package/coverage/lcov-report/src/utils/filters.ts.html +0 -1318
  958. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +0 -226
  959. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +0 -163
  960. package/coverage/lcov-report/src/utils/getPercentage.ts.html +0 -253
  961. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +0 -169
  962. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +0 -157
  963. package/coverage/lcov-report/src/utils/getUseStateSetterValue.ts.html +0 -85
  964. package/coverage/lcov-report/src/utils/identity.ts.html +0 -100
  965. package/coverage/lcov-report/src/utils/index.html +0 -116
  966. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +0 -214
  967. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +0 -118
  968. package/coverage/lcov-report/src/utils/loop.ts.html +0 -262
  969. package/coverage/lcov-report/src/utils/nearest.ts.html +0 -220
  970. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +0 -280
  971. package/coverage/lcov-report/src/utils/randomInt.ts.html +0 -148
  972. package/coverage/lcov-report/src/utils/wait.ts.html +0 -139
  973. package/coverage/lcov-report/src/utils/withinRange.ts.html +0 -184
  974. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +0 -445
  975. package/coverage/lcov-report/src/window-splitter/index.html +0 -131
  976. package/coverage/lcov-report/src/window-splitter/useControlledWindowSplitter.ts.html +0 -562
  977. package/coverage/lcov-report/src/window-splitter/useLocalStorageWindowSplitter.ts.html +0 -331
  978. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +0 -508
  979. package/coverage/lcov-report/src/window-splitter/useWindowSplitterDefault.ts.html +0 -466
  980. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +0 -256
  981. package/coverage/lcov-report/styles.ts.html +0 -457
  982. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +0 -283
  983. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +0 -202
  984. package/coverage/lcov-report/suspense/index.html +0 -131
  985. package/coverage/lcov-report/switchStyles.ts.html +0 -172
  986. package/coverage/lcov-report/tabIndicatorStyles.ts.html +0 -187
  987. package/coverage/lcov-report/tabListScrollButtonStyles.ts.html +0 -226
  988. package/coverage/lcov-report/tabListStyles.ts.html +0 -241
  989. package/coverage/lcov-report/tabStyles.ts.html +0 -265
  990. package/coverage/lcov-report/table/Table.tsx.html +0 -526
  991. package/coverage/lcov-report/table/TableBody.tsx.html +0 -280
  992. package/coverage/lcov-report/table/TableCell.tsx.html +0 -1180
  993. package/coverage/lcov-report/table/TableCheckbox.tsx.html +0 -709
  994. package/coverage/lcov-report/table/TableFooter.tsx.html +0 -508
  995. package/coverage/lcov-report/table/TableHeader.tsx.html +0 -607
  996. package/coverage/lcov-report/table/TableRadio.tsx.html +0 -670
  997. package/coverage/lcov-report/table/TableRow.tsx.html +0 -370
  998. package/coverage/lcov-report/table/index.html +0 -191
  999. package/coverage/lcov-report/tableCellStyles.ts.html +0 -334
  1000. package/coverage/lcov-report/tableContainerStyles.ts.html +0 -142
  1001. package/coverage/lcov-report/tableFooterStyles.ts.html +0 -157
  1002. package/coverage/lcov-report/tableHeaderStyles.ts.html +0 -163
  1003. package/coverage/lcov-report/tableRowStyles.ts.html +0 -169
  1004. package/coverage/lcov-report/tableStyles.ts.html +0 -157
  1005. package/coverage/lcov-report/tabs/Tab.tsx.html +0 -592
  1006. package/coverage/lcov-report/tabs/TabList.tsx.html +0 -796
  1007. package/coverage/lcov-report/tabs/TabListScrollButton.tsx.html +0 -472
  1008. package/coverage/lcov-report/tabs/index.html +0 -206
  1009. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +0 -187
  1010. package/coverage/lcov-report/tabs/tabListStyles.ts.html +0 -241
  1011. package/coverage/lcov-report/tabs/tabStyles.ts.html +0 -253
  1012. package/coverage/lcov-report/tabs/useTabList.ts.html +0 -736
  1013. package/coverage/lcov-report/tabs/useTabs.ts.html +0 -1567
  1014. package/coverage/lcov-report/tabs/utils.ts.html +0 -337
  1015. package/coverage/lcov-report/test-utils/index.html +0 -116
  1016. package/coverage/lcov-report/test-utils/jest-setup.ts.html +0 -124
  1017. package/coverage/lcov-report/test-utils/matchMedia.ts.html +0 -667
  1018. package/coverage/lcov-report/test-utils/polyfills/index.html +0 -116
  1019. package/coverage/lcov-report/test-utils/polyfills/matchMedia.ts.html +0 -109
  1020. package/coverage/lcov-report/test-utils/polyfills/offsetParent.ts.html +0 -202
  1021. package/coverage/lcov-report/test-utils/use.ts.html +0 -187
  1022. package/coverage/lcov-report/theme/ColorSchemeProvider.tsx.html +0 -811
  1023. package/coverage/lcov-report/theme/LocalStorageColorSchemeProvider.tsx.html +0 -268
  1024. package/coverage/lcov-report/theme/ThemeProvider.tsx.html +0 -1453
  1025. package/coverage/lcov-report/theme/cssVars.ts.html +0 -130
  1026. package/coverage/lcov-report/theme/index.html +0 -191
  1027. package/coverage/lcov-report/theme/useColorScheme.ts.html +0 -475
  1028. package/coverage/lcov-report/theme/useColorSchemeMetaTag.ts.html +0 -175
  1029. package/coverage/lcov-report/theme/useColorSchemeProvider.ts.html +0 -244
  1030. package/coverage/lcov-report/theme/usePrefersColorScheme.ts.html +0 -103
  1031. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +0 -559
  1032. package/coverage/lcov-report/tooltip/TooltipHoverModeProvider.tsx.html +0 -409
  1033. package/coverage/lcov-report/tooltip/constants.ts.html +0 -208
  1034. package/coverage/lcov-report/tooltip/index.html +0 -116
  1035. package/coverage/lcov-report/tooltip/tooltipStyles.ts.html +0 -181
  1036. package/coverage/lcov-report/tooltip/useOverflowTooltip.ts.html +0 -364
  1037. package/coverage/lcov-report/tooltip/useTooltip.ts.html +0 -2095
  1038. package/coverage/lcov-report/tooltipStyles.ts.html +0 -181
  1039. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +0 -595
  1040. package/coverage/lcov-report/transition/config.ts.html +0 -187
  1041. package/coverage/lcov-report/transition/index.html +0 -116
  1042. package/coverage/lcov-report/transition/maxWidthTransition.ts.html +0 -157
  1043. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +0 -400
  1044. package/coverage/lcov-report/transition/useMaxWidthTransition.ts.html +0 -199
  1045. package/coverage/lcov-report/transition/useScaleTransition.ts.html +0 -535
  1046. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +0 -952
  1047. package/coverage/lcov-report/transition/useTransition.ts.html +0 -943
  1048. package/coverage/lcov-report/tree/DefaultTreeItemRenderer.tsx.html +0 -301
  1049. package/coverage/lcov-report/tree/Tree.tsx.html +0 -1054
  1050. package/coverage/lcov-report/tree/TreeGroup.tsx.html +0 -370
  1051. package/coverage/lcov-report/tree/TreeItem.tsx.html +0 -1006
  1052. package/coverage/lcov-report/tree/TreeItemExpander.tsx.html +0 -328
  1053. package/coverage/lcov-report/tree/TreeProvider.tsx.html +0 -679
  1054. package/coverage/lcov-report/tree/index.html +0 -116
  1055. package/coverage/lcov-report/tree/styles.ts.html +0 -538
  1056. package/coverage/lcov-report/tree/useTree.ts.html +0 -289
  1057. package/coverage/lcov-report/tree/useTreeExpansion.ts.html +0 -241
  1058. package/coverage/lcov-report/tree/useTreeItems.ts.html +0 -496
  1059. package/coverage/lcov-report/tree/useTreeMovement.ts.html +0 -700
  1060. package/coverage/lcov-report/tree/useTreeSelection.ts.html +0 -274
  1061. package/coverage/lcov-report/tree/utils.ts.html +0 -277
  1062. package/coverage/lcov-report/typography/TextContainer.tsx.html +0 -433
  1063. package/coverage/lcov-report/typography/Typography.tsx.html +0 -1027
  1064. package/coverage/lcov-report/typography/WritingDirection.tsx.html +0 -775
  1065. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +0 -781
  1066. package/coverage/lcov-report/useAutoComplete.ts.html +0 -787
  1067. package/coverage/lcov-report/useCSSTransition.ts.html +0 -763
  1068. package/coverage/lcov-report/useCollapseTransition.ts.html +0 -1384
  1069. package/coverage/lcov-report/useCombobox.ts.html +0 -1513
  1070. package/coverage/lcov-report/useDraggable.ts.html +0 -2458
  1071. package/coverage/lcov-report/useDropzone.ts.html +0 -763
  1072. package/coverage/lcov-report/useEnsuredRef.ts.html +0 -250
  1073. package/coverage/lcov-report/useExpandableLayout.ts.html +0 -802
  1074. package/coverage/lcov-report/useExpansionPanels.ts.html +0 -913
  1075. package/coverage/lcov-report/useHigherContrastChildren.tsx.html +0 -355
  1076. package/coverage/lcov-report/useInlineAutoComplete.ts.html +0 -379
  1077. package/coverage/lcov-report/useLayoutTree.ts.html +0 -691
  1078. package/coverage/lcov-report/useLocalStorage.ts.html +0 -1828
  1079. package/coverage/lcov-report/useMinWidthMediaQuery.ts.html +0 -115
  1080. package/coverage/lcov-report/useMutationObserver.ts.html +0 -310
  1081. package/coverage/lcov-report/useRemoveToast.ts.html +0 -160
  1082. package/coverage/lcov-report/useResizeObserver.ts.html +0 -874
  1083. package/coverage/lcov-report/useResizingTextArea.ts.html +0 -523
  1084. package/coverage/lcov-report/useSelectCombobox.ts.html +0 -295
  1085. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +0 -952
  1086. package/coverage/lcov-report/useTabList.ts.html +0 -736
  1087. package/coverage/lcov-report/useTabs.ts.html +0 -757
  1088. package/coverage/lcov-report/useThrottledFunction.ts.html +0 -475
  1089. package/coverage/lcov-report/useTooltip.ts.html +0 -2041
  1090. package/coverage/lcov-report/useTransition.ts.html +0 -934
  1091. package/coverage/lcov-report/useTree.ts.html +0 -286
  1092. package/coverage/lcov-report/useWindowSplitter.ts.html +0 -640
  1093. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +0 -256
  1094. package/coverage/lcov-report/utils/RecursiveRender.tsx.html +0 -253
  1095. package/coverage/lcov-report/utils/RenderRecursively.tsx.html +0 -688
  1096. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +0 -496
  1097. package/coverage/lcov-report/utils/caseInsensitiveFilter.ts.html +0 -397
  1098. package/coverage/lcov-report/utils/filters.ts.html +0 -1318
  1099. package/coverage/lcov-report/utils/fuzzyFilter.ts.html +0 -241
  1100. package/coverage/lcov-report/utils/index.html +0 -116
  1101. package/coverage/lcov-report/utils/isElementVisible.ts.html +0 -211
  1102. package/coverage/lcov-report/utils/parseCssLengthUnit.ts.html +0 -280
  1103. package/coverage/lcov-report/utils/randomInt.ts.html +0 -148
  1104. package/coverage/lcov-report/utils/searching.ts.html +0 -85
  1105. package/coverage/lcov-report/utils/wait.ts.html +0 -139
  1106. package/coverage/lcov-report/wait.ts.html +0 -139
  1107. package/coverage/lcov-report/window-splitter/WindowSplitter.tsx.html +0 -448
  1108. package/coverage/lcov-report/window-splitter/index.html +0 -116
  1109. package/coverage/lcov-report/window-splitter/useControlledWindowSplitter.ts.html +0 -562
  1110. package/coverage/lcov-report/window-splitter/useLocalStorageWindowSplitter.ts.html +0 -331
  1111. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +0 -640
  1112. package/coverage/lcov-report/window-splitter/useWindowSplitterDefault.ts.html +0 -466
  1113. package/coverage/lcov-report/window-splitter/useWindowSplitterOrig.ts.html +0 -598
  1114. package/dist/useAsyncAction.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ import { cnb } from "cnbuilder";
2
+ import { cssUtils } from "../cssUtils.js";
3
+ import { bem } from "../utils/bem.js";
4
+ const styles = bem("rmd-autocomplete");
5
+ /**
6
+ * @since 6.0.0
7
+ */ export function autocomplete(options = {}) {
8
+ const { className, loading, disableDropdownButton } = options;
9
+ return cnb(styles({
10
+ // all other configurations must be set manually
11
+ // right-addon-1: dropdown button only
12
+ ra1: !loading && !disableDropdownButton,
13
+ // right-addon-2: circular progress and dropdown button
14
+ ra2: loading && !disableDropdownButton,
15
+ // right-addon-3: circular progress only
16
+ ra3: loading && disableDropdownButton
17
+ }), className);
18
+ }
19
+ /**
20
+ * @since 6.0.0
21
+ */ export function autocompleteRightAddon(options = {}) {
22
+ const { className } = options;
23
+ return cnb(styles("right-addon"), cssUtils({
24
+ backgroundColor: "current-color"
25
+ }), className);
26
+ }
27
+ /**
28
+ * @since 6.0.0
29
+ */ export function autocompleteClearButton(options = {}) {
30
+ const { className } = options;
31
+ return cnb(styles("clear-button"), className);
32
+ }
33
+
34
+ //# sourceMappingURL=autocompleteStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/autocomplete/autocompleteStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-autocomplete\");\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteClassNameOptions {\n className?: string;\n\n loading?: boolean;\n disableDropdownButton?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocomplete(\n options: AutocompleteClassNameOptions = {}\n): string {\n const { className, loading, disableDropdownButton } = options;\n\n return cnb(\n styles({\n // all other configurations must be set manually\n\n // right-addon-1: dropdown button only\n ra1: !loading && !disableDropdownButton,\n // right-addon-2: circular progress and dropdown button\n ra2: loading && !disableDropdownButton,\n // right-addon-3: circular progress only\n ra3: loading && disableDropdownButton,\n }),\n className\n );\n}\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteRightAddonClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocompleteRightAddon(\n options: AutocompleteRightAddonClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\n styles(\"right-addon\"),\n cssUtils({ backgroundColor: \"current-color\" }),\n className\n );\n}\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteClearButtonClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocompleteClearButton(\n options: AutocompleteClearButtonClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(styles(\"clear-button\"), className);\n}\n"],"names":["cnb","cssUtils","bem","styles","autocomplete","options","className","loading","disableDropdownButton","ra1","ra2","ra3","autocompleteRightAddon","backgroundColor","autocompleteClearButton"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAYnB;;CAEC,GACD,OAAO,SAASE,aACdC,UAAwC,CAAC,CAAC;IAE1C,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAEC,qBAAqB,EAAE,GAAGH;IAEtD,OAAOL,IACLG,OAAO;QACL,gDAAgD;QAEhD,sCAAsC;QACtCM,KAAK,CAACF,WAAW,CAACC;QAClB,uDAAuD;QACvDE,KAAKH,WAAW,CAACC;QACjB,wCAAwC;QACxCG,KAAKJ,WAAWC;IAClB,IACAF;AAEJ;AASA;;CAEC,GACD,OAAO,SAASM,uBACdP,UAAkD,CAAC,CAAC;IAEpD,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IACLG,OAAO,gBACPF,SAAS;QAAEY,iBAAiB;IAAgB,IAC5CP;AAEJ;AASA;;CAEC,GACD,OAAO,SAASQ,wBACdT,UAAmD,CAAC,CAAC;IAErD,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,iBAAiBG;AACrC"}
@@ -0,0 +1,21 @@
1
+ import { type MenuItemProps } from "../menu/MenuItem.js";
2
+ import { type AutocompleteFilterOptions } from "./types.js";
3
+ /**
4
+ * @remarks \@since 6.0.0
5
+ * @internal
6
+ */
7
+ export declare const defaultAutocompleteExtractor: <T>(item: T) => string;
8
+ /**
9
+ * @remarks \@since 6.0.0
10
+ * @internal
11
+ */
12
+ export declare const defaultAutocompleteOptionProps: <T>(options: {
13
+ option: T;
14
+ }) => Partial<MenuItemProps> | undefined;
15
+ /**
16
+ * This is just the {@link caseInsensitiveSearch} but requires
17
+ * the options to start with the current query.
18
+ *
19
+ * @since 6.0.0
20
+ */
21
+ export declare function defaultAutocompleteFilter<T>(options: AutocompleteFilterOptions<T>): readonly T[];
@@ -0,0 +1,52 @@
1
+ import { caseInsensitiveSearch } from "../searching/caseInsensitive.js";
2
+ import { defaultExtractor } from "../searching/utils.js";
3
+ /**
4
+ * @remarks \@since 6.0.0
5
+ * @internal
6
+ */ export const defaultAutocompleteExtractor = (item)=>{
7
+ if (item && typeof item === "object" && "label" in item && typeof item.label === "string") {
8
+ return item.label;
9
+ }
10
+ return defaultExtractor("Autocomplete")(item);
11
+ };
12
+ /**
13
+ * @remarks \@since 6.0.0
14
+ * @internal
15
+ */ const isProbablyMenuItemProps = (item)=>!!item && typeof item === "object";
16
+ /**
17
+ * @remarks \@since 6.0.0
18
+ * @internal
19
+ */ export const defaultAutocompleteOptionProps = (options)=>{
20
+ const { option } = options;
21
+ if (isProbablyMenuItemProps(option)) {
22
+ const { leftAddon, rightAddon, className, disabled, height, textProps, textClassName, primaryText, secondaryText, secondaryTextClassName, multiline, disableTextChildren } = option;
23
+ return {
24
+ leftAddon,
25
+ rightAddon,
26
+ className,
27
+ disabled,
28
+ height,
29
+ textProps,
30
+ textClassName,
31
+ primaryText,
32
+ secondaryText,
33
+ secondaryTextClassName,
34
+ multiline,
35
+ disableTextChildren
36
+ };
37
+ }
38
+ return;
39
+ };
40
+ /**
41
+ * This is just the {@link caseInsensitiveSearch} but requires
42
+ * the options to start with the current query.
43
+ *
44
+ * @since 6.0.0
45
+ */ export function defaultAutocompleteFilter(options) {
46
+ return caseInsensitiveSearch({
47
+ ...options,
48
+ startsWith: true
49
+ });
50
+ }
51
+
52
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/autocomplete/defaults.ts"],"sourcesContent":["import { type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { caseInsensitiveSearch } from \"../searching/caseInsensitive.js\";\nimport { defaultExtractor } from \"../searching/utils.js\";\nimport { type AutocompleteFilterOptions } from \"./types.js\";\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport const defaultAutocompleteExtractor = <T>(item: T): string => {\n if (\n item &&\n typeof item === \"object\" &&\n \"label\" in item &&\n typeof item.label === \"string\"\n ) {\n return item.label;\n }\n\n return defaultExtractor(\"Autocomplete\")(item);\n};\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nconst isProbablyMenuItemProps = (\n item: unknown\n): item is Partial<MenuItemProps> => !!item && typeof item === \"object\";\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport const defaultAutocompleteOptionProps = <T>(options: {\n option: T;\n}): Partial<MenuItemProps> | undefined => {\n const { option } = options;\n if (isProbablyMenuItemProps(option)) {\n const {\n leftAddon,\n rightAddon,\n className,\n disabled,\n height,\n textProps,\n textClassName,\n primaryText,\n secondaryText,\n secondaryTextClassName,\n multiline,\n disableTextChildren,\n } = option;\n\n return {\n leftAddon,\n rightAddon,\n className,\n disabled,\n height,\n textProps,\n textClassName,\n primaryText,\n secondaryText,\n secondaryTextClassName,\n multiline,\n disableTextChildren,\n };\n }\n return;\n};\n\n/**\n * This is just the {@link caseInsensitiveSearch} but requires\n * the options to start with the current query.\n *\n * @since 6.0.0\n */\nexport function defaultAutocompleteFilter<T>(\n options: AutocompleteFilterOptions<T>\n): readonly T[] {\n return caseInsensitiveSearch({ ...options, startsWith: true });\n}\n"],"names":["caseInsensitiveSearch","defaultExtractor","defaultAutocompleteExtractor","item","label","isProbablyMenuItemProps","defaultAutocompleteOptionProps","options","option","leftAddon","rightAddon","className","disabled","height","textProps","textClassName","primaryText","secondaryText","secondaryTextClassName","multiline","disableTextChildren","defaultAutocompleteFilter","startsWith"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,gBAAgB,QAAQ,wBAAwB;AAGzD;;;CAGC,GACD,OAAO,MAAMC,+BAA+B,CAAIC;IAC9C,IACEA,QACA,OAAOA,SAAS,YAChB,WAAWA,QACX,OAAOA,KAAKC,KAAK,KAAK,UACtB;QACA,OAAOD,KAAKC,KAAK;IACnB;IAEA,OAAOH,iBAAiB,gBAAgBE;AAC1C,EAAE;AAEF;;;CAGC,GACD,MAAME,0BAA0B,CAC9BF,OACmC,CAAC,CAACA,QAAQ,OAAOA,SAAS;AAE/D;;;CAGC,GACD,OAAO,MAAMG,iCAAiC,CAAIC;IAGhD,MAAM,EAAEC,MAAM,EAAE,GAAGD;IACnB,IAAIF,wBAAwBG,SAAS;QACnC,MAAM,EACJC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,MAAM,EACNC,SAAS,EACTC,aAAa,EACbC,WAAW,EACXC,aAAa,EACbC,sBAAsB,EACtBC,SAAS,EACTC,mBAAmB,EACpB,GAAGZ;QAEJ,OAAO;YACLC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;QACF;IACF;IACA;AACF,EAAE;AAEF;;;;;CAKC,GACD,OAAO,SAASC,0BACdd,OAAqC;IAErC,OAAOP,sBAAsB;QAAE,GAAGO,OAAO;QAAEe,YAAY;IAAK;AAC9D"}
@@ -0,0 +1,103 @@
1
+ import { type ReactNode } from "react";
2
+ import { type MenuItemProps } from "../menu/MenuItem.jsx";
3
+ import { type BaseSearchOptions, type WhitespaceFilter } from "../searching/types.js";
4
+ import { type RequireAtLeastOne, type TextExtractor } from "../types.js";
5
+ /**
6
+ * @since 6.0.0
7
+ */
8
+ export type AutocompleteMenuLabel<T extends {
9
+ menuLabel?: string;
10
+ menuLabelledBy?: string;
11
+ }> = RequireAtLeastOne<T, "menuLabel" | "menuLabelledBy">;
12
+ /**
13
+ * @since 6.0.0
14
+ */
15
+ export type AutocompleteFilterOptions<T> = Pick<Required<BaseSearchOptions<T>>, "list" | "query" | "extractor" | "whitespace">;
16
+ /**
17
+ * @since 6.0.0
18
+ */
19
+ export interface AutocompleteGetOptionPropsOptions<T> {
20
+ index: number;
21
+ option: T;
22
+ }
23
+ /**
24
+ * @since 6.0.0
25
+ */
26
+ export interface AutocompleteOptionsProps<T> {
27
+ /**
28
+ * This list of options to display and will be filtered based on the current
29
+ * value in the text box unless {@link disableFilter} is `true`.
30
+ *
31
+ * When this is not a list of strings or a list of objects with a
32
+ * `{ label: string }`, the {@link extractor} is required to pull a searchable
33
+ * string from each option.
34
+ */
35
+ options: readonly T[];
36
+ /**
37
+ * This controls how the {@link options} are filtered based on the current
38
+ * value in the text box.
39
+ *
40
+ * @example Fuzzy Search
41
+ * ```tsx
42
+ * import { fuzzySearch } from "@react-md/core/searching/fuzzy";
43
+ *
44
+ * <Autocomplete
45
+ * {...props}
46
+ * filter={fuzzySearch}
47
+ * />
48
+ * ```
49
+ *
50
+ * @defaultValue `caseInsensitiveSearch`
51
+ */
52
+ filter?(options: AutocompleteFilterOptions<T>): readonly T[];
53
+ /**
54
+ * @example
55
+ * ```tsx
56
+ * <Autocomplete
57
+ * options={[{ children: "Apple" }, { children = "Banana" }]}
58
+ * extractor={(option) => option.children}
59
+ * {...props}
60
+ * />
61
+ * ```
62
+ */
63
+ extractor?: TextExtractor<T>;
64
+ /**
65
+ * This can be used to add additional props to each option.
66
+ *
67
+ * @example Simple Example
68
+ * ```tsx
69
+ * getOptionProps={({ option }) => {
70
+ * return {
71
+ * disabled: option === "",
72
+ * className: cnb(option === "a" && styles.blue),
73
+ * leftAddon: option === value && <CheckIcon />,
74
+ * };
75
+ * }}
76
+ * ```
77
+ */
78
+ getOptionProps?(options: AutocompleteGetOptionPropsOptions<T>): Partial<MenuItemProps> | undefined;
79
+ /**
80
+ * The children to display when there are no {@link options} due to the
81
+ * current text box value.
82
+ *
83
+ * @defaultValue `<ListSubheader>No options</ListSubheader`
84
+ */
85
+ noOptionsChildren?: ReactNode;
86
+ /**
87
+ * This will be called whenever one of the options are selected or reset.
88
+ */
89
+ onAutocomplete?(option: T | null): void;
90
+ /**
91
+ * @defaultValue `false`
92
+ */
93
+ clearOnAutocomplete?: boolean;
94
+ /**
95
+ * Set this to `true` to disable the built-in filtering of the
96
+ * {@link options}. This will always be `true` if `aria-autocomplete="none"`.
97
+ *
98
+ * @defaultValue `false`
99
+ */
100
+ disableFilter?: boolean;
101
+ /** @defaultValue `"keep"` */
102
+ whitespace?: WhitespaceFilter;
103
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @since 6.0.0
3
+ */ export { };
4
+
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/autocomplete/types.ts"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { type MenuItemProps } from \"../menu/MenuItem.jsx\";\nimport {\n type BaseSearchOptions,\n type WhitespaceFilter,\n} from \"../searching/types.js\";\nimport { type RequireAtLeastOne, type TextExtractor } from \"../types.js\";\n\n/**\n * @since 6.0.0\n */\nexport type AutocompleteMenuLabel<\n T extends { menuLabel?: string; menuLabelledBy?: string },\n> = RequireAtLeastOne<T, \"menuLabel\" | \"menuLabelledBy\">;\n\n/**\n * @since 6.0.0\n */\nexport type AutocompleteFilterOptions<T> = Pick<\n Required<BaseSearchOptions<T>>,\n \"list\" | \"query\" | \"extractor\" | \"whitespace\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteGetOptionPropsOptions<T> {\n index: number;\n option: T;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteOptionsProps<T> {\n /**\n * This list of options to display and will be filtered based on the current\n * value in the text box unless {@link disableFilter} is `true`.\n *\n * When this is not a list of strings or a list of objects with a\n * `{ label: string }`, the {@link extractor} is required to pull a searchable\n * string from each option.\n */\n options: readonly T[];\n\n /**\n * This controls how the {@link options} are filtered based on the current\n * value in the text box.\n *\n * @example Fuzzy Search\n * ```tsx\n * import { fuzzySearch } from \"@react-md/core/searching/fuzzy\";\n *\n * <Autocomplete\n * {...props}\n * filter={fuzzySearch}\n * />\n * ```\n *\n * @defaultValue `caseInsensitiveSearch`\n */\n filter?(options: AutocompleteFilterOptions<T>): readonly T[];\n\n /**\n * @example\n * ```tsx\n * <Autocomplete\n * options={[{ children: \"Apple\" }, { children = \"Banana\" }]}\n * extractor={(option) => option.children}\n * {...props}\n * />\n * ```\n */\n extractor?: TextExtractor<T>;\n\n /**\n * This can be used to add additional props to each option.\n *\n * @example Simple Example\n * ```tsx\n * getOptionProps={({ option }) => {\n * return {\n * disabled: option === \"\",\n * className: cnb(option === \"a\" && styles.blue),\n * leftAddon: option === value && <CheckIcon />,\n * };\n * }}\n * ```\n */\n getOptionProps?(\n options: AutocompleteGetOptionPropsOptions<T>\n ): Partial<MenuItemProps> | undefined;\n\n /**\n * The children to display when there are no {@link options} due to the\n * current text box value.\n *\n * @defaultValue `<ListSubheader>No options</ListSubheader`\n */\n noOptionsChildren?: ReactNode;\n\n /**\n * This will be called whenever one of the options are selected or reset.\n */\n onAutocomplete?(option: T | null): void;\n\n /**\n * @defaultValue `false`\n */\n clearOnAutocomplete?: boolean;\n\n /**\n * Set this to `true` to disable the built-in filtering of the\n * {@link options}. This will always be `true` if `aria-autocomplete=\"none\"`.\n *\n * @defaultValue `false`\n */\n disableFilter?: boolean;\n\n /** @defaultValue `\"keep\"` */\n whitespace?: WhitespaceFilter;\n}\n"],"names":[],"rangeMappings":";;","mappings":"AA+BA;;CAEC,GACD,WAuFC"}
@@ -1,3 +1,4 @@
1
+ @use "sass:list";
1
2
  @use "sass:map";
2
3
  @use "sass:math";
3
4
  @use "../utils";
@@ -139,14 +140,14 @@ $variables: (
139
140
  }
140
141
 
141
142
  @each $name, $values in $colors {
142
- @if length($values) != 2 {
143
+ @if list.length($values) != 2 {
143
144
  @error 'Unable to create an avatar color because the list of values is not of length 2. The first value should be the background-color and the second should be the text color. "#{$values}"';
144
145
  }
145
146
 
146
147
  @include custom-color(
147
148
  "&--#{$name}",
148
- nth($values, 2),
149
- nth($values, 1),
149
+ list.nth($values, 2),
150
+ list.nth($values, 1),
150
151
  true
151
152
  );
152
153
  }
@@ -5,7 +5,7 @@ import { forwardRef } from "react";
5
5
  import { overlay } from "../overlay/overlayStyles.js";
6
6
  import { CircularProgress } from "../progress/CircularProgress.js";
7
7
  import { LinearProgress } from "../progress/LinearProgress.js";
8
- import { useAsyncAction } from "../useAsyncAction.js";
8
+ import { useAsyncFunction } from "../useAsyncFunction.js";
9
9
  import { useEnsuredId } from "../useEnsuredId.js";
10
10
  import { Button } from "./Button.js";
11
11
  const noop = ()=>{
@@ -73,7 +73,7 @@ const noop = ()=>{
73
73
  */ export const AsyncButton = /*#__PURE__*/ forwardRef(function AsyncButton(props, ref) {
74
74
  const { id: propId, onClick = noop, children, floating = null, theme = floating ? "secondary" : "clear", themeType = floating ? "contained" : "flat", buttonType = floating ? "icon" : "text", className, disabled, loading: propLoading = false, loadingType = "circular-overlay", loadingChildren, loadingDisabledTheme = false, afterAddon: propAfterAddon, beforeAddon: propBeforeAddon, linearProgressProps, circularProgressProps, progressAriaLabel, progressAriaLabelledBy: propProgressAriaLabelledBy, ...remaining } = props;
75
75
  const id = useEnsuredId(propId, "async-button");
76
- const { handleAsync, pending } = useAsyncAction({
76
+ const { handleAsync, pending } = useAsyncFunction({
77
77
  disabled
78
78
  });
79
79
  const loading = pending || propLoading;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/button/AsyncButton.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEvent, type ReactNode } from \"react\";\nimport { type BoxAlignItems } from \"../box/styles.js\";\nimport { overlay } from \"../overlay/overlayStyles.js\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\nimport {\n LinearProgress,\n type LinearProgressProps,\n} from \"../progress/LinearProgress.js\";\nimport { type ProgressTheme } from \"../progress/types.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useAsyncAction } from \"../useAsyncAction.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport type AsyncButtonLoadingType =\n | \"circular-before\"\n | \"circular-after\"\n | \"circular-overlay\"\n | \"linear-above\"\n | \"linear-below\";\n\n/**\n * @since 6.0.0\n */\nexport interface AsyncButtonProps extends ButtonProps {\n /**\n * @see {@link progressAriaLabelledBy}\n * @defaultValue `\"async-button\" + useId()`\n */\n id?: string;\n\n /**\n * When this is defined and returns a `Promise`, the loading indicator will\n * display until the promise has resolved.\n *\n * @defaultValue `() => {}`\n */\n onClick?(event: MouseEvent<HTMLButtonElement>): Promise<void> | void;\n\n /**\n * Set this to `true` to manually display a loading spinner.\n *\n * @defaultValue `false`\n */\n loading?: boolean;\n\n /**\n * - `\"circular-overlay\"` - Covers and hides the button content with a\n * centered circular progress\n * - `\"circular-before\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon before the button text.\n * See {@link beforeAddon} as well.\n * - `\"circular-after\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon after the button text.\n * See {@link afterAddon} as well.\n * - `\"linear-above\"` - Renders a linear progress bar at the top of the button\n * while still displaying the button contents. Usually looks good for\n * outlined buttons.\n * - `\"linear-below\"` - Renders a linear progress bar at the bottom of the\n * button while still displaying the button contents. Usually looks good for\n * outlined buttons.\n *\n * @defaultValue `\"circular-overlay\"`\n */\n loadingType?: AsyncButtonLoadingType;\n\n /**\n * Optional content to display instead of the default `children` while\n * loading.\n */\n loadingChildren?: ReactNode;\n\n /**\n * Set this to `true` to use the `disabled` theme while loading.\n *\n * @defaultValue `false`\n */\n loadingDisabledTheme?: boolean;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-before\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n beforeAddon?: ReactNode;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-after\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n afterAddon?: ReactNode;\n\n /**\n * An optional label to provide to the progressbar.\n *\n * @see {@link progressAriaLabelledBy}\n */\n progressAriaLabel?: string;\n\n /**\n * @see {@link id}\n * @defaultValue `id`\n */\n progressAriaLabelledBy?: string;\n\n /**\n * Any additional props to pass to the `CircularProgress` bar when the\n * {@link loadingType} is one of the circular types.\n */\n linearProgressProps?: PropsWithRef<LinearProgressProps, HTMLDivElement>;\n\n /**\n * Any additional props to pass to the `LinearProgress` bar when the\n * {@link loadingType} is one of the linear types.\n */\n circularProgressProps?: PropsWithRef<CircularProgressProps, HTMLSpanElement>;\n}\n\n/**\n * **Client Component**\n *\n * The async button can be used to render a loading indicator within a button\n * during an async task. The loading spinner can be shown either by enabling the\n * `loading` prop or returning a promise from the `onClick` event which will\n * continue to show the loading indicator until the promise has been resolved.\n *\n * @example Async onClick\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [data, setData] = useState(null);\n * return (\n * <AsyncButton\n * type=\"submit\"\n * onClick={async () => {\n * const response = await fetch(\"/my-api\");\n * const json = await response.json();\n * setData(json);\n * }}\n * >\n * Submit\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @example Manual Loading State\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useMutation } from \"@tanstack/query\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { isLoading, mutate } = useMutation({\n * mutationFn: (newTodo) => fetch('/todos', {\n * method: \"POST\",\n * body: JSON.stringify(newTodo),\n * }),\n * });\n *\n * return (\n * <AsyncButton\n * type=\"submit\"\n * loading={isLoading}\n * onClick={() => {\n * mutate({ id: Date.now(), title: \"Create example\" });\n * }}\n * >\n * Create Todo\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const AsyncButton = forwardRef<HTMLButtonElement, AsyncButtonProps>(\n function AsyncButton(props, ref) {\n const {\n id: propId,\n onClick = noop,\n children,\n floating = null,\n theme = floating ? \"secondary\" : \"clear\",\n themeType = floating ? \"contained\" : \"flat\",\n buttonType = floating ? \"icon\" : \"text\",\n className,\n disabled,\n loading: propLoading = false,\n loadingType = \"circular-overlay\",\n loadingChildren,\n loadingDisabledTheme = false,\n afterAddon: propAfterAddon,\n beforeAddon: propBeforeAddon,\n linearProgressProps,\n circularProgressProps,\n progressAriaLabel,\n progressAriaLabelledBy: propProgressAriaLabelledBy,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"async-button\");\n const { handleAsync, pending } = useAsyncAction({ disabled });\n const loading = pending || propLoading;\n\n let progressTheme: ProgressTheme = \"current-color\";\n if (theme === \"clear\" || theme === \"disabled\") {\n progressTheme = \"primary\";\n }\n\n let progressAriaLabelledBy = propProgressAriaLabelledBy;\n if (\n !progressAriaLabel &&\n !linearProgressProps?.[\"aria-label\"] &&\n !linearProgressProps?.[\"aria-labelledby\"] &&\n !circularProgressProps?.[\"aria-label\"] &&\n !circularProgressProps?.[\"aria-labelledby\"]\n ) {\n progressAriaLabelledBy = id;\n }\n\n const progress = loadingType.includes(\"linear\") ? (\n <LinearProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...linearProgressProps}\n theme={progressTheme}\n />\n ) : (\n <CircularProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...circularProgressProps}\n theme={progressTheme}\n />\n );\n\n let afterAddon = propAfterAddon;\n let beforeAddon = propBeforeAddon;\n let overlayElement: ReactNode;\n let isOverlayCover = false;\n switch (loadingType) {\n case \"circular-before\":\n beforeAddon = loading ? progress : propBeforeAddon;\n break;\n case \"circular-after\":\n afterAddon = loading ? progress : propAfterAddon;\n break;\n case \"circular-overlay\":\n case \"linear-above\":\n case \"linear-below\": {\n let alignItems: BoxAlignItems = \"center\";\n if (loadingType === \"linear-above\") {\n alignItems = \"start\";\n } else if (loadingType === \"linear-below\") {\n alignItems = \"end\";\n } else {\n isOverlayCover = true;\n }\n\n overlayElement = loading && (\n <span\n className={overlay({\n active: true,\n visible: true,\n absolute: true,\n align: alignItems,\n })}\n >\n {progress}\n </span>\n );\n break;\n }\n }\n\n return (\n <Button\n {...remaining}\n aria-disabled={loading || undefined}\n id={id}\n ref={ref}\n disabled={disabled}\n floating={floating}\n className={cnb(\n \"rmd-button--async\",\n loading && isOverlayCover && \"rmd-button--async-overlay\",\n className\n )}\n theme={loading && loadingDisabledTheme ? \"disabled\" : theme}\n themeType={themeType}\n buttonType={buttonType}\n onClick={handleAsync((event) => Promise.resolve(onClick(event)))}\n >\n {beforeAddon}\n {loading && typeof loadingChildren !== \"undefined\"\n ? loadingChildren\n : children}\n {afterAddon}\n {overlayElement}\n </Button>\n );\n }\n);\n"],"names":["cnb","forwardRef","overlay","CircularProgress","LinearProgress","useAsyncAction","useEnsuredId","Button","noop","AsyncButton","props","ref","id","propId","onClick","children","floating","theme","themeType","buttonType","className","disabled","loading","propLoading","loadingType","loadingChildren","loadingDisabledTheme","afterAddon","propAfterAddon","beforeAddon","propBeforeAddon","linearProgressProps","circularProgressProps","progressAriaLabel","progressAriaLabelledBy","propProgressAriaLabelledBy","remaining","handleAsync","pending","progressTheme","progress","includes","aria-label","aria-labelledby","overlayElement","isOverlayCover","alignItems","span","active","visible","absolute","align","aria-disabled","undefined","event","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/button/AsyncButton.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEvent, type ReactNode } from \"react\";\nimport { type BoxAlignItems } from \"../box/styles.js\";\nimport { overlay } from \"../overlay/overlayStyles.js\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\nimport {\n LinearProgress,\n type LinearProgressProps,\n} from \"../progress/LinearProgress.js\";\nimport { type ProgressTheme } from \"../progress/types.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useAsyncFunction } from \"../useAsyncFunction.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport type AsyncButtonLoadingType =\n | \"circular-before\"\n | \"circular-after\"\n | \"circular-overlay\"\n | \"linear-above\"\n | \"linear-below\";\n\n/**\n * @since 6.0.0\n */\nexport interface AsyncButtonProps extends ButtonProps {\n /**\n * @see {@link progressAriaLabelledBy}\n * @defaultValue `\"async-button\" + useId()`\n */\n id?: string;\n\n /**\n * When this is defined and returns a `Promise`, the loading indicator will\n * display until the promise has resolved.\n *\n * @defaultValue `() => {}`\n */\n onClick?(event: MouseEvent<HTMLButtonElement>): Promise<void> | void;\n\n /**\n * Set this to `true` to manually display a loading spinner.\n *\n * @defaultValue `false`\n */\n loading?: boolean;\n\n /**\n * - `\"circular-overlay\"` - Covers and hides the button content with a\n * centered circular progress\n * - `\"circular-before\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon before the button text.\n * See {@link beforeAddon} as well.\n * - `\"circular-after\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon after the button text.\n * See {@link afterAddon} as well.\n * - `\"linear-above\"` - Renders a linear progress bar at the top of the button\n * while still displaying the button contents. Usually looks good for\n * outlined buttons.\n * - `\"linear-below\"` - Renders a linear progress bar at the bottom of the\n * button while still displaying the button contents. Usually looks good for\n * outlined buttons.\n *\n * @defaultValue `\"circular-overlay\"`\n */\n loadingType?: AsyncButtonLoadingType;\n\n /**\n * Optional content to display instead of the default `children` while\n * loading.\n */\n loadingChildren?: ReactNode;\n\n /**\n * Set this to `true` to use the `disabled` theme while loading.\n *\n * @defaultValue `false`\n */\n loadingDisabledTheme?: boolean;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-before\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n beforeAddon?: ReactNode;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-after\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n afterAddon?: ReactNode;\n\n /**\n * An optional label to provide to the progressbar.\n *\n * @see {@link progressAriaLabelledBy}\n */\n progressAriaLabel?: string;\n\n /**\n * @see {@link id}\n * @defaultValue `id`\n */\n progressAriaLabelledBy?: string;\n\n /**\n * Any additional props to pass to the `CircularProgress` bar when the\n * {@link loadingType} is one of the circular types.\n */\n linearProgressProps?: PropsWithRef<LinearProgressProps, HTMLDivElement>;\n\n /**\n * Any additional props to pass to the `LinearProgress` bar when the\n * {@link loadingType} is one of the linear types.\n */\n circularProgressProps?: PropsWithRef<CircularProgressProps, HTMLSpanElement>;\n}\n\n/**\n * **Client Component**\n *\n * The async button can be used to render a loading indicator within a button\n * during an async task. The loading spinner can be shown either by enabling the\n * `loading` prop or returning a promise from the `onClick` event which will\n * continue to show the loading indicator until the promise has been resolved.\n *\n * @example Async onClick\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [data, setData] = useState(null);\n * return (\n * <AsyncButton\n * type=\"submit\"\n * onClick={async () => {\n * const response = await fetch(\"/my-api\");\n * const json = await response.json();\n * setData(json);\n * }}\n * >\n * Submit\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @example Manual Loading State\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useMutation } from \"@tanstack/query\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { isLoading, mutate } = useMutation({\n * mutationFn: (newTodo) => fetch('/todos', {\n * method: \"POST\",\n * body: JSON.stringify(newTodo),\n * }),\n * });\n *\n * return (\n * <AsyncButton\n * type=\"submit\"\n * loading={isLoading}\n * onClick={() => {\n * mutate({ id: Date.now(), title: \"Create example\" });\n * }}\n * >\n * Create Todo\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const AsyncButton = forwardRef<HTMLButtonElement, AsyncButtonProps>(\n function AsyncButton(props, ref) {\n const {\n id: propId,\n onClick = noop,\n children,\n floating = null,\n theme = floating ? \"secondary\" : \"clear\",\n themeType = floating ? \"contained\" : \"flat\",\n buttonType = floating ? \"icon\" : \"text\",\n className,\n disabled,\n loading: propLoading = false,\n loadingType = \"circular-overlay\",\n loadingChildren,\n loadingDisabledTheme = false,\n afterAddon: propAfterAddon,\n beforeAddon: propBeforeAddon,\n linearProgressProps,\n circularProgressProps,\n progressAriaLabel,\n progressAriaLabelledBy: propProgressAriaLabelledBy,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"async-button\");\n const { handleAsync, pending } = useAsyncFunction({ disabled });\n const loading = pending || propLoading;\n\n let progressTheme: ProgressTheme = \"current-color\";\n if (theme === \"clear\" || theme === \"disabled\") {\n progressTheme = \"primary\";\n }\n\n let progressAriaLabelledBy = propProgressAriaLabelledBy;\n if (\n !progressAriaLabel &&\n !linearProgressProps?.[\"aria-label\"] &&\n !linearProgressProps?.[\"aria-labelledby\"] &&\n !circularProgressProps?.[\"aria-label\"] &&\n !circularProgressProps?.[\"aria-labelledby\"]\n ) {\n progressAriaLabelledBy = id;\n }\n\n const progress = loadingType.includes(\"linear\") ? (\n <LinearProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...linearProgressProps}\n theme={progressTheme}\n />\n ) : (\n <CircularProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...circularProgressProps}\n theme={progressTheme}\n />\n );\n\n let afterAddon = propAfterAddon;\n let beforeAddon = propBeforeAddon;\n let overlayElement: ReactNode;\n let isOverlayCover = false;\n switch (loadingType) {\n case \"circular-before\":\n beforeAddon = loading ? progress : propBeforeAddon;\n break;\n case \"circular-after\":\n afterAddon = loading ? progress : propAfterAddon;\n break;\n case \"circular-overlay\":\n case \"linear-above\":\n case \"linear-below\": {\n let alignItems: BoxAlignItems = \"center\";\n if (loadingType === \"linear-above\") {\n alignItems = \"start\";\n } else if (loadingType === \"linear-below\") {\n alignItems = \"end\";\n } else {\n isOverlayCover = true;\n }\n\n overlayElement = loading && (\n <span\n className={overlay({\n active: true,\n visible: true,\n absolute: true,\n align: alignItems,\n })}\n >\n {progress}\n </span>\n );\n break;\n }\n }\n\n return (\n <Button\n {...remaining}\n aria-disabled={loading || undefined}\n id={id}\n ref={ref}\n disabled={disabled}\n floating={floating}\n className={cnb(\n \"rmd-button--async\",\n loading && isOverlayCover && \"rmd-button--async-overlay\",\n className\n )}\n theme={loading && loadingDisabledTheme ? \"disabled\" : theme}\n themeType={themeType}\n buttonType={buttonType}\n onClick={handleAsync((event) => Promise.resolve(onClick(event)))}\n >\n {beforeAddon}\n {loading && typeof loadingChildren !== \"undefined\"\n ? loadingChildren\n : children}\n {afterAddon}\n {overlayElement}\n </Button>\n );\n }\n);\n"],"names":["cnb","forwardRef","overlay","CircularProgress","LinearProgress","useAsyncFunction","useEnsuredId","Button","noop","AsyncButton","props","ref","id","propId","onClick","children","floating","theme","themeType","buttonType","className","disabled","loading","propLoading","loadingType","loadingChildren","loadingDisabledTheme","afterAddon","propAfterAddon","beforeAddon","propBeforeAddon","linearProgressProps","circularProgressProps","progressAriaLabel","progressAriaLabelledBy","propProgressAriaLabelledBy","remaining","handleAsync","pending","progressTheme","progress","includes","aria-label","aria-labelledby","overlayElement","isOverlayCover","alignItems","span","active","visible","absolute","align","aria-disabled","undefined","event","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -157,13 +157,7 @@ const noop = ()=>{
157
157
  max,
158
158
  step
159
159
  });
160
- useEffect(()=>{
161
- if (prevRange.current.min === min && prevRange.current.max === max && prevRange.current.step === step) {
162
- return;
163
- }
164
- // ensure that if the `min`, `max`, or `step` value changes that the value
165
- // is updated as well. Without this, there will be a runtime error if the
166
- // value is not within the new range.
160
+ if (prevRange.current.min !== min || prevRange.current.max !== max || prevRange.current.step !== step) {
167
161
  prevRange.current = {
168
162
  min,
169
163
  max,
@@ -179,12 +173,7 @@ const noop = ()=>{
179
173
  }),
180
174
  value: prevValue
181
175
  }));
182
- }, [
183
- max,
184
- min,
185
- setValue,
186
- step
187
- ]);
176
+ }
188
177
  const mouseEventHandlers = {
189
178
  onMouseDown: useCallback((event)=>{
190
179
  onMouseDown(event);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/draggable/useDraggable.ts"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport type { HTMLAttributes, Ref, RefCallback } from \"react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { useScrollLock } from \"../scroll/useScrollLock.js\";\nimport type {\n NonNullRef,\n UseStateInitializer,\n UseStateSetter,\n} from \"../types.js\";\nimport { useDir } from \"../typography/WritingDirectionProvider.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useEnsuredState } from \"../useEnsuredState.js\";\nimport { useHtmlClassName } from \"../useHtmlClassName.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport { getRangeDefaultValue } from \"../utils/getRangeDefaultValue.js\";\nimport { getRangeSteps } from \"../utils/getRangeSteps.js\";\nimport { nearest } from \"../utils/nearest.js\";\nimport { withinRange } from \"../utils/withinRange.js\";\nimport {\n isMouseDragStartEvent,\n isTouchDragStartEvent,\n updateDragPosition,\n} from \"./utils.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport type DraggableTouchEventHandlers<E extends HTMLElement> = Pick<\n HTMLAttributes<E>,\n \"onTouchStart\" | \"onTouchMove\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableMouseEventHandlers<E extends HTMLElement> = Pick<\n HTMLAttributes<E>,\n \"onMouseDown\" | \"onMouseUp\" | \"onMouseMove\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableKeyboardEventHandlers<E extends HTMLElement> = Pick<\n HTMLAttributes<E>,\n \"onKeyDown\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableEventHandlers<E extends HTMLElement> =\n DraggableTouchEventHandlers<E> &\n DraggableMouseEventHandlers<E> &\n DraggableKeyboardEventHandlers<E>;\n\n/**\n * @since 6.0.0\n */\nexport interface ControllableDraggableStateOptions {\n value?: number;\n setValue?: UseStateSetter<number>;\n defaultValue?: UseStateInitializer<number>;\n dragging?: boolean;\n setDragging?: UseStateSetter<boolean>;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface BaseDraggableOptions<E extends HTMLElement>\n extends DraggableEventHandlers<E>,\n ControllableDraggableStateOptions {\n /**\n * An optional ref to merge with the returned\n * {@link DraggableImplementation.draggableRef}.\n */\n ref?: Ref<E>;\n\n /**\n * The minimum number of pixels allowed for the draggable element. This must\n * be a number greater than or equal to 0.\n *\n * When {@link withinOffsetParent} is set to `true`, this is the minimum value\n * allowed instead of pixels.\n */\n min: number;\n\n /**\n * The maximum number of pixels allowed for the draggable element. This must\n * be a number greater than the {@link min} and usually a number less than the\n * viewport size.\n *\n * When {@link withinOffsetParent} is set to `true`, this is the maximum value\n * allowed instead of pixels.\n */\n max: number;\n\n /**\n * The amount to increment or decrement the value with arrow keys.\n *\n * @defaultValue `1`\n */\n step?: number;\n\n /**\n * This was added to support range sliders where there are two (or more)\n * draggable elements within the same container element and their values\n * cannot pass each other. Without these overrides, the range would keep\n * changing as the other values change, so the drag percentage would be\n * incorrect.\n *\n * @example Range Slider\n * ```ts\n * const min = 0;\n * const max = 100;\n * const minValue = 3;\n * const maxValue = 80;\n *\n * const minValueDraggable = useDraggable({\n * min,\n * max,\n * rangeMax: maxValue,\n * });\n * const maxValueDraggable = useDraggable({\n * min,\n * max,\n * rangeMin: minValue,\n * });\n * ```\n *\n * @defaultValue `min`\n */\n rangeMin?: number;\n\n /**\n * @see {@link rangeMin} for an explanation of this option.\n * @defaultValue `max`\n */\n rangeMax?: number;\n\n /**\n * Set this to `true` to enable dragging vertically instead of horizontally.\n *\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * The default drag behavior is to increase the value when:\n *\n * - dragging `\"right\"` and the writing direction is `\"ltr\"`\n * - dragging `\"left\"` and the writing direction is `\"rtl\"`\n * - dragging `\"upwards\"`\n *\n * When this is set to `true`, the value when increase when:\n *\n * - dragging `\"left\"` and the writing direction is `\"ltr\"`\n * - dragging `\"right\"` and the writing direction is `\"rtl\"`\n * - dragging `\"downwards\"`\n *\n * @defaultValue `false`\n */\n reversed?: boolean;\n\n /**\n * Set this to `true` to disable all drag behavior. This will still call any\n * of the provided {@link DraggableEventHandlers}.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n\n /**\n * Set this to `true` if the dragging calculations should be to the\n * `draggableRef.current.offsetParent` instead of the entire window. The main\n * use case for this is sliders.\n *\n * @defaultValue `false`\n */\n withinOffsetParent?: boolean;\n\n /**\n * Set this to `true` to prevent the `document.documentElement` from gaining\n * the `.rmd-dragging` class names while dragging.\n *\n * This should normally remain as `false` to improve performance and prevent\n * other mouse events from firing while dragging.\n *\n * @defaultValue `false`\n */\n disableDraggingClassName?: boolean;\n\n /**\n * Set this to `true` to prevent the vertical or horizontal cursor from\n * appearing while dragging.\n *\n * @defaultValue `false`\n */\n disableDraggingCursorClassName?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface UncontrolledDraggableOptions {\n value?: never;\n setValue?: never;\n dragging?: never;\n setDragging?: never;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface ControlledValueDraggableOptions {\n value: number;\n setValue: UseStateSetter<number>;\n defaultValue?: never;\n dragging?: never;\n setDragging?: never;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface ControlledDraggingDraggableOptions {\n value?: never;\n setValue?: never;\n defaultValue?: never;\n dragging: boolean;\n setDragging: UseStateSetter<boolean>;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface FullyControlledDraggableOptions {\n value: number;\n setValue: UseStateSetter<number>;\n dragging: boolean;\n setDragging: UseStateSetter<boolean>;\n}\n\n/**\n * @since 6.0.0\n */\nexport type DraggableStateOptions =\n | UncontrolledDraggableOptions\n | ControlledValueDraggableOptions\n | ControlledDraggingDraggableOptions\n | FullyControlledDraggableOptions;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableOptions<E extends HTMLElement = HTMLElement> =\n BaseDraggableOptions<E> & DraggableStateOptions;\n\n/**\n * @since 6.0.0\n */\nexport interface DraggableImplementation<E extends HTMLElement = HTMLElement>\n extends Required<DraggableEventHandlers<E>> {\n mouseEventHandlers: Required<DraggableMouseEventHandlers<E>>;\n touchEventHandlers: Required<DraggableTouchEventHandlers<E>>;\n keyboardEventHandlers: Required<DraggableKeyboardEventHandlers<E>>;\n\n /**\n * Set the {@link value} to {@link DraggableOptions.min}.\n */\n minimum(): void;\n\n /**\n * Set the {@link value} to {@link DraggableOptions.max}.\n */\n maximum(): void;\n\n /**\n * Increment the {@link value} by {@link DraggableOptions.step}.\n */\n increment(): void;\n\n /**\n * Decrement the {@link value} by {@link DraggableOptions.step}.\n */\n decrement(): void;\n\n /**\n * The current percentage the `value` is within the range.\n *\n * ```ts\n * const percentage =\n * dragging && withinOffsetParent\n * ? : dragPercentage\n * : getPercentage({ min, max, value });\n * ```\n */\n percentage: number;\n\n /**\n * A ref that **Must** be passed to the element that should be draggable.\n */\n draggableRef: RefCallback<E>;\n\n /**\n * This value will only update while dragging with a mouse or touch and should\n * be used for the positioning styles while dragging.\n *\n * Note: The {@link percentage} will use this value while dragging.\n */\n dragPercentage: number;\n\n /**\n * Flag to determine if the user has dragged at least once. Used internally\n * for manually persisting the value into local storage once the user has\n * stopped dragging.\n */\n draggedOnce: NonNullRef<boolean>;\n\n value: number;\n setValue: UseStateSetter<number>;\n dragging: boolean;\n setDragging: UseStateSetter<boolean>;\n}\n\n/**\n * This is most likely an internal only hook that provides the functionality for\n * dragging an element through mouse, touch, and keyboard events. The main use\n * cases so far for this hook are:\n * - window splitters\n * - sliders\n *\n * @since 6.0.0\n */\nexport function useDraggable<E extends HTMLElement>(\n options: DraggableOptions<E>\n): DraggableImplementation<E> {\n const {\n ref: propRef,\n min,\n max,\n rangeMin = min,\n rangeMax = max,\n step = 1,\n reversed = false,\n vertical = false,\n onKeyDown = noop,\n onMouseUp = noop,\n onMouseDown = noop,\n onMouseMove = noop,\n onTouchStart = noop,\n onTouchMove = noop,\n dragging: propDragging,\n setDragging: propSetDragging,\n value: propValue,\n setValue: propSetValue,\n defaultValue,\n withinOffsetParent = false,\n disabled = false,\n disableDraggingClassName = false,\n disableDraggingCursorClassName = disableDraggingClassName,\n } = options;\n\n const [nodeRef, ref] = useEnsuredRef(propRef);\n const isTouch = useUserInteractionMode() === \"touch\";\n const draggingRef = useRef(false);\n const [dragPercentage, setDragPercentage] = useState(min);\n const [value, setValue] = useEnsuredState({\n value: propValue,\n setValue: propSetValue,\n defaultValue: getRangeDefaultValue({\n min,\n max,\n step: 1,\n defaultValue,\n }),\n });\n const [dragging, setDragging] = useEnsuredState({\n value: propDragging,\n setValue: propSetDragging,\n defaultValue: false,\n });\n\n const isRTL = useDir().dir === \"rtl\";\n const percentage =\n dragging && withinOffsetParent\n ? dragPercentage\n : getPercentage({ min, max, value });\n const maximum = useCallback(() => {\n setValue(max);\n }, [max, setValue]);\n const minimum = useCallback(() => {\n setValue(min);\n }, [min, setValue]);\n const increment = useCallback(() => {\n setValue((prevValue) => withinRange({ min, max, value: prevValue + step }));\n }, [max, min, setValue, step]);\n const decrement = useCallback(() => {\n setValue((prevValue) => withinRange({ min, max, value: prevValue - step }));\n }, [max, min, setValue, step]);\n\n const draggingClassName = dragging && !disableDraggingClassName;\n useHtmlClassName(cnb(draggingClassName && \"rmd-dragging\"));\n useHtmlClassName(\n cnb(\n !disableDraggingCursorClassName &&\n draggingClassName &&\n `rmd-dragging--${vertical ? \"v\" : \"h\"}`\n )\n );\n\n const draggedOnce = useRef(false);\n useEffect(() => {\n if (!dragging) {\n return;\n }\n\n draggedOnce.current = true;\n const updatePosition = (event: MouseEvent | TouchEvent): void => {\n if (!event.cancelable) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n updateDragPosition({\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n isDragStart: false,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n };\n\n const stopDragging = (event: MouseEvent | TouchEvent): void => {\n updatePosition(event);\n draggingRef.current = false;\n setDragging(false);\n };\n\n const updateKey = isTouch ? \"touchmove\" : \"mousemove\";\n const stopKey = isTouch ? \"touchend\" : \"mouseup\";\n const passive = isTouch ? { passive: false } : undefined;\n\n window.addEventListener(updateKey, updatePosition, passive);\n window.addEventListener(stopKey, stopDragging);\n return () => {\n window.removeEventListener(updateKey, updatePosition);\n window.removeEventListener(stopKey, stopDragging);\n };\n }, [\n dragging,\n isRTL,\n isTouch,\n max,\n min,\n nodeRef,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]);\n\n const prevRange = useRef({ min, max, step });\n useEffect(() => {\n if (\n prevRange.current.min === min &&\n prevRange.current.max === max &&\n prevRange.current.step === step\n ) {\n return;\n }\n\n // ensure that if the `min`, `max`, or `step` value changes that the value\n // is updated as well. Without this, there will be a runtime error if the\n // value is not within the new range.\n prevRange.current = { min, max, step };\n setValue((prevValue) =>\n nearest({\n min,\n max,\n steps: getRangeSteps({ min, max, step }),\n value: prevValue,\n })\n );\n }, [max, min, setValue, step]);\n\n const mouseEventHandlers: Required<DraggableMouseEventHandlers<E>> = {\n onMouseDown: useCallback(\n (event) => {\n onMouseDown(event);\n if (disabled || isTouch || !isMouseDragStartEvent(event)) {\n return;\n }\n\n // don't allow text to be selected\n event.preventDefault();\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n\n // don't set dragging immediately so that click events can still happen\n draggingRef.current = true;\n },\n [\n disabled,\n isRTL,\n isTouch,\n max,\n min,\n nodeRef,\n onMouseDown,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n onMouseMove: useCallback(\n (event) => {\n onMouseMove(event);\n if (disabled || isTouch || !draggingRef.current || dragging) {\n return;\n }\n\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n setDragging(true);\n },\n [\n disabled,\n dragging,\n isRTL,\n isTouch,\n max,\n min,\n nodeRef,\n onMouseMove,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n onMouseUp: useCallback(\n (event) => {\n onMouseUp(event);\n if (disabled || isTouch) {\n return;\n }\n\n draggingRef.current = false;\n },\n [disabled, isTouch, onMouseUp]\n ),\n };\n const keyboardEventHandlers: Required<DraggableKeyboardEventHandlers<E>> = {\n onKeyDown: useCallback(\n (event) => {\n onKeyDown(event);\n if (disabled) {\n return;\n }\n\n const decrementKey = vertical ? \"ArrowUp\" : \"ArrowLeft\";\n const incrementKey = vertical ? \"ArrowDown\" : \"ArrowRight\";\n\n switch (event.key) {\n case decrementKey:\n event.preventDefault();\n decrement();\n break;\n case incrementKey:\n event.preventDefault();\n increment();\n break;\n case \"Home\":\n event.preventDefault();\n minimum();\n break;\n case \"End\":\n event.preventDefault();\n maximum();\n break;\n }\n },\n [decrement, disabled, increment, maximum, minimum, onKeyDown, vertical]\n ),\n };\n\n // touch devices are a bit weird and cause issues since the \"start\" event is\n // also used for scrolling. If the user quickly grabs the draggable element\n // and drags vertically, most of the time it will try to scroll instead of\n // dragging the element. The workaround is to being the drag events\n // immediately on touchstart and disable scroll behavior for the page.\n //\n // There are also some issues with calling `event.preventDefault()` within\n // touch events even while `{ passive: false } is manually set, so need to\n // also attach a touchmove event.\n useScrollLock(isTouch && dragging);\n const touchEventHandlers: Required<DraggableTouchEventHandlers<E>> = {\n onTouchStart: useCallback(\n (event) => {\n onTouchStart(event);\n if (disabled || !isTouchDragStartEvent(event)) {\n return;\n }\n\n draggingRef.current = true;\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n },\n [\n disabled,\n isRTL,\n max,\n min,\n nodeRef,\n onTouchStart,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n onTouchMove: useCallback(\n (event) => {\n onTouchMove(event);\n if (disabled || !draggingRef.current || !event.cancelable) {\n return;\n }\n\n // prevent the document's touchmove event from also firing\n event.stopPropagation();\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n },\n [\n disabled,\n isRTL,\n max,\n min,\n nodeRef,\n onTouchMove,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n };\n\n return {\n ...touchEventHandlers,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n value,\n setValue,\n dragging,\n setDragging,\n maximum,\n minimum,\n increment,\n decrement,\n draggedOnce,\n draggableRef: ref,\n percentage,\n dragPercentage,\n touchEventHandlers,\n mouseEventHandlers,\n keyboardEventHandlers,\n };\n}\n"],"names":["cnb","useCallback","useEffect","useRef","useState","useUserInteractionMode","useScrollLock","useDir","useEnsuredRef","useEnsuredState","useHtmlClassName","getPercentage","getRangeDefaultValue","getRangeSteps","nearest","withinRange","isMouseDragStartEvent","isTouchDragStartEvent","updateDragPosition","noop","useDraggable","options","ref","propRef","min","max","rangeMin","rangeMax","step","reversed","vertical","onKeyDown","onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchMove","dragging","propDragging","setDragging","propSetDragging","value","propValue","setValue","propSetValue","defaultValue","withinOffsetParent","disabled","disableDraggingClassName","disableDraggingCursorClassName","nodeRef","isTouch","draggingRef","dragPercentage","setDragPercentage","isRTL","dir","percentage","maximum","minimum","increment","prevValue","decrement","draggingClassName","draggedOnce","current","updatePosition","event","cancelable","preventDefault","stopPropagation","isDragStart","stopDragging","updateKey","stopKey","passive","undefined","window","addEventListener","removeEventListener","prevRange","steps","mouseEventHandlers","keyboardEventHandlers","decrementKey","incrementKey","key","touchEventHandlers","draggableRef"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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AAO,GAAG;YACtB/C,mBAAmB;gBACjBqD,aAAa;gBACbJ;gBACAjB;gBACA1B;gBACAC;gBACAG;gBACAF;gBACAC;gBACA4B;gBACA1B;gBACAC;gBACAa;gBACAJ;gBACAe;gBACAR;YACF;QACF,GACA;YACEC;YACAQ;YACA9B;YACAD;YACA0B;YACAf;YACAR;YACAD;YACAG;YACAU;YACAI;YACAf;YACAE;YACAgB;SACD;QAEHV,aAAanC,YACX,CAACkE;YACC/B,YAAY+B;YACZ,IAAIpB,YAAY,CAACK,YAAYa,OAAO,IAAI,CAACE,MAAMC,UAAU,EAAE;gBACzD;YACF;YAEA,0DAA0D;YAC1DD,MAAMG,eAAe;YACrBpD,mBAAmB;gBACjBqD,aAAa;gBACbJ;gBACAjB;gBACA1B;gBACAC;gBACAG;gBACAF;gBACAC;gBACA4B;gBACA1B;gBACAC;gBACAa;gBACAJ;gBACAe;gBACAR;YACF;QACF,GACA;YACEC;YACAQ;YACA9B;YACAD;YACA0B;YACAd;YACAT;YACAD;YACAG;YACAU;YACAI;YACAf;YACAE;YACAgB;SACD;IAEL;IAEA,OAAO;QACL,GAAGyC,kBAAkB;QACrB,GAAGL,kBAAkB;QACrB,GAAGC,qBAAqB;QACxB1C;QACAE;QACAN;QACAE;QACAmB;QACAC;QACAC;QACAE;QACAE;QACAwB,cAAclE;QACdmC;QACAJ;QACAkC;QACAL;QACAC;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/draggable/useDraggable.ts"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport type { HTMLAttributes, Ref, RefCallback } from \"react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { useScrollLock } from \"../scroll/useScrollLock.js\";\nimport type {\n NonNullRef,\n UseStateInitializer,\n UseStateSetter,\n} from \"../types.js\";\nimport { useDir } from \"../typography/WritingDirectionProvider.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useEnsuredState } from \"../useEnsuredState.js\";\nimport { useHtmlClassName } from \"../useHtmlClassName.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport { getRangeDefaultValue } from \"../utils/getRangeDefaultValue.js\";\nimport { getRangeSteps } from \"../utils/getRangeSteps.js\";\nimport { nearest } from \"../utils/nearest.js\";\nimport { withinRange } from \"../utils/withinRange.js\";\nimport {\n isMouseDragStartEvent,\n isTouchDragStartEvent,\n updateDragPosition,\n} from \"./utils.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport type DraggableTouchEventHandlers<E extends HTMLElement> = Pick<\n HTMLAttributes<E>,\n \"onTouchStart\" | \"onTouchMove\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableMouseEventHandlers<E extends HTMLElement> = Pick<\n HTMLAttributes<E>,\n \"onMouseDown\" | \"onMouseUp\" | \"onMouseMove\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableKeyboardEventHandlers<E extends HTMLElement> = Pick<\n HTMLAttributes<E>,\n \"onKeyDown\"\n>;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableEventHandlers<E extends HTMLElement> =\n DraggableTouchEventHandlers<E> &\n DraggableMouseEventHandlers<E> &\n DraggableKeyboardEventHandlers<E>;\n\n/**\n * @since 6.0.0\n */\nexport interface ControllableDraggableStateOptions {\n value?: number;\n setValue?: UseStateSetter<number>;\n defaultValue?: UseStateInitializer<number>;\n dragging?: boolean;\n setDragging?: UseStateSetter<boolean>;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface BaseDraggableOptions<E extends HTMLElement>\n extends DraggableEventHandlers<E>,\n ControllableDraggableStateOptions {\n /**\n * An optional ref to merge with the returned\n * {@link DraggableImplementation.draggableRef}.\n */\n ref?: Ref<E>;\n\n /**\n * The minimum number of pixels allowed for the draggable element. This must\n * be a number greater than or equal to 0.\n *\n * When {@link withinOffsetParent} is set to `true`, this is the minimum value\n * allowed instead of pixels.\n */\n min: number;\n\n /**\n * The maximum number of pixels allowed for the draggable element. This must\n * be a number greater than the {@link min} and usually a number less than the\n * viewport size.\n *\n * When {@link withinOffsetParent} is set to `true`, this is the maximum value\n * allowed instead of pixels.\n */\n max: number;\n\n /**\n * The amount to increment or decrement the value with arrow keys.\n *\n * @defaultValue `1`\n */\n step?: number;\n\n /**\n * This was added to support range sliders where there are two (or more)\n * draggable elements within the same container element and their values\n * cannot pass each other. Without these overrides, the range would keep\n * changing as the other values change, so the drag percentage would be\n * incorrect.\n *\n * @example Range Slider\n * ```ts\n * const min = 0;\n * const max = 100;\n * const minValue = 3;\n * const maxValue = 80;\n *\n * const minValueDraggable = useDraggable({\n * min,\n * max,\n * rangeMax: maxValue,\n * });\n * const maxValueDraggable = useDraggable({\n * min,\n * max,\n * rangeMin: minValue,\n * });\n * ```\n *\n * @defaultValue `min`\n */\n rangeMin?: number;\n\n /**\n * @see {@link rangeMin} for an explanation of this option.\n * @defaultValue `max`\n */\n rangeMax?: number;\n\n /**\n * Set this to `true` to enable dragging vertically instead of horizontally.\n *\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * The default drag behavior is to increase the value when:\n *\n * - dragging `\"right\"` and the writing direction is `\"ltr\"`\n * - dragging `\"left\"` and the writing direction is `\"rtl\"`\n * - dragging `\"upwards\"`\n *\n * When this is set to `true`, the value when increase when:\n *\n * - dragging `\"left\"` and the writing direction is `\"ltr\"`\n * - dragging `\"right\"` and the writing direction is `\"rtl\"`\n * - dragging `\"downwards\"`\n *\n * @defaultValue `false`\n */\n reversed?: boolean;\n\n /**\n * Set this to `true` to disable all drag behavior. This will still call any\n * of the provided {@link DraggableEventHandlers}.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n\n /**\n * Set this to `true` if the dragging calculations should be to the\n * `draggableRef.current.offsetParent` instead of the entire window. The main\n * use case for this is sliders.\n *\n * @defaultValue `false`\n */\n withinOffsetParent?: boolean;\n\n /**\n * Set this to `true` to prevent the `document.documentElement` from gaining\n * the `.rmd-dragging` class names while dragging.\n *\n * This should normally remain as `false` to improve performance and prevent\n * other mouse events from firing while dragging.\n *\n * @defaultValue `false`\n */\n disableDraggingClassName?: boolean;\n\n /**\n * Set this to `true` to prevent the vertical or horizontal cursor from\n * appearing while dragging.\n *\n * @defaultValue `false`\n */\n disableDraggingCursorClassName?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface UncontrolledDraggableOptions {\n value?: never;\n setValue?: never;\n dragging?: never;\n setDragging?: never;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface ControlledValueDraggableOptions {\n value: number;\n setValue: UseStateSetter<number>;\n defaultValue?: never;\n dragging?: never;\n setDragging?: never;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface ControlledDraggingDraggableOptions {\n value?: never;\n setValue?: never;\n defaultValue?: never;\n dragging: boolean;\n setDragging: UseStateSetter<boolean>;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface FullyControlledDraggableOptions {\n value: number;\n setValue: UseStateSetter<number>;\n dragging: boolean;\n setDragging: UseStateSetter<boolean>;\n}\n\n/**\n * @since 6.0.0\n */\nexport type DraggableStateOptions =\n | UncontrolledDraggableOptions\n | ControlledValueDraggableOptions\n | ControlledDraggingDraggableOptions\n | FullyControlledDraggableOptions;\n\n/**\n * @since 6.0.0\n */\nexport type DraggableOptions<E extends HTMLElement = HTMLElement> =\n BaseDraggableOptions<E> & DraggableStateOptions;\n\n/**\n * @since 6.0.0\n */\nexport interface DraggableImplementation<E extends HTMLElement = HTMLElement>\n extends Required<DraggableEventHandlers<E>> {\n mouseEventHandlers: Required<DraggableMouseEventHandlers<E>>;\n touchEventHandlers: Required<DraggableTouchEventHandlers<E>>;\n keyboardEventHandlers: Required<DraggableKeyboardEventHandlers<E>>;\n\n /**\n * Set the {@link value} to {@link DraggableOptions.min}.\n */\n minimum(): void;\n\n /**\n * Set the {@link value} to {@link DraggableOptions.max}.\n */\n maximum(): void;\n\n /**\n * Increment the {@link value} by {@link DraggableOptions.step}.\n */\n increment(): void;\n\n /**\n * Decrement the {@link value} by {@link DraggableOptions.step}.\n */\n decrement(): void;\n\n /**\n * The current percentage the `value` is within the range.\n *\n * ```ts\n * const percentage =\n * dragging && withinOffsetParent\n * ? : dragPercentage\n * : getPercentage({ min, max, value });\n * ```\n */\n percentage: number;\n\n /**\n * A ref that **Must** be passed to the element that should be draggable.\n */\n draggableRef: RefCallback<E>;\n\n /**\n * This value will only update while dragging with a mouse or touch and should\n * be used for the positioning styles while dragging.\n *\n * Note: The {@link percentage} will use this value while dragging.\n */\n dragPercentage: number;\n\n /**\n * Flag to determine if the user has dragged at least once. Used internally\n * for manually persisting the value into local storage once the user has\n * stopped dragging.\n */\n draggedOnce: NonNullRef<boolean>;\n\n value: number;\n setValue: UseStateSetter<number>;\n dragging: boolean;\n setDragging: UseStateSetter<boolean>;\n}\n\n/**\n * This is most likely an internal only hook that provides the functionality for\n * dragging an element through mouse, touch, and keyboard events. The main use\n * cases so far for this hook are:\n * - window splitters\n * - sliders\n *\n * @since 6.0.0\n */\nexport function useDraggable<E extends HTMLElement>(\n options: DraggableOptions<E>\n): DraggableImplementation<E> {\n const {\n ref: propRef,\n min,\n max,\n rangeMin = min,\n rangeMax = max,\n step = 1,\n reversed = false,\n vertical = false,\n onKeyDown = noop,\n onMouseUp = noop,\n onMouseDown = noop,\n onMouseMove = noop,\n onTouchStart = noop,\n onTouchMove = noop,\n dragging: propDragging,\n setDragging: propSetDragging,\n value: propValue,\n setValue: propSetValue,\n defaultValue,\n withinOffsetParent = false,\n disabled = false,\n disableDraggingClassName = false,\n disableDraggingCursorClassName = disableDraggingClassName,\n } = options;\n\n const [nodeRef, ref] = useEnsuredRef(propRef);\n const isTouch = useUserInteractionMode() === \"touch\";\n const draggingRef = useRef(false);\n const [dragPercentage, setDragPercentage] = useState(min);\n const [value, setValue] = useEnsuredState({\n value: propValue,\n setValue: propSetValue,\n defaultValue: getRangeDefaultValue({\n min,\n max,\n step: 1,\n defaultValue,\n }),\n });\n const [dragging, setDragging] = useEnsuredState({\n value: propDragging,\n setValue: propSetDragging,\n defaultValue: false,\n });\n\n const isRTL = useDir().dir === \"rtl\";\n const percentage =\n dragging && withinOffsetParent\n ? dragPercentage\n : getPercentage({ min, max, value });\n const maximum = useCallback(() => {\n setValue(max);\n }, [max, setValue]);\n const minimum = useCallback(() => {\n setValue(min);\n }, [min, setValue]);\n const increment = useCallback(() => {\n setValue((prevValue) => withinRange({ min, max, value: prevValue + step }));\n }, [max, min, setValue, step]);\n const decrement = useCallback(() => {\n setValue((prevValue) => withinRange({ min, max, value: prevValue - step }));\n }, [max, min, setValue, step]);\n\n const draggingClassName = dragging && !disableDraggingClassName;\n useHtmlClassName(cnb(draggingClassName && \"rmd-dragging\"));\n useHtmlClassName(\n cnb(\n !disableDraggingCursorClassName &&\n draggingClassName &&\n `rmd-dragging--${vertical ? \"v\" : \"h\"}`\n )\n );\n\n const draggedOnce = useRef(false);\n useEffect(() => {\n if (!dragging) {\n return;\n }\n\n draggedOnce.current = true;\n const updatePosition = (event: MouseEvent | TouchEvent): void => {\n if (!event.cancelable) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n updateDragPosition({\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n isDragStart: false,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n };\n\n const stopDragging = (event: MouseEvent | TouchEvent): void => {\n updatePosition(event);\n draggingRef.current = false;\n setDragging(false);\n };\n\n const updateKey = isTouch ? \"touchmove\" : \"mousemove\";\n const stopKey = isTouch ? \"touchend\" : \"mouseup\";\n const passive = isTouch ? { passive: false } : undefined;\n\n window.addEventListener(updateKey, updatePosition, passive);\n window.addEventListener(stopKey, stopDragging);\n return () => {\n window.removeEventListener(updateKey, updatePosition);\n window.removeEventListener(stopKey, stopDragging);\n };\n }, [\n dragging,\n isRTL,\n isTouch,\n max,\n min,\n nodeRef,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]);\n\n const prevRange = useRef({ min, max, step });\n if (\n prevRange.current.min !== min ||\n prevRange.current.max !== max ||\n prevRange.current.step !== step\n ) {\n prevRange.current = { min, max, step };\n setValue((prevValue) =>\n nearest({\n min,\n max,\n steps: getRangeSteps({ min, max, step }),\n value: prevValue,\n })\n );\n }\n\n const mouseEventHandlers: Required<DraggableMouseEventHandlers<E>> = {\n onMouseDown: useCallback(\n (event) => {\n onMouseDown(event);\n if (disabled || isTouch || !isMouseDragStartEvent(event)) {\n return;\n }\n\n // don't allow text to be selected\n event.preventDefault();\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n\n // don't set dragging immediately so that click events can still happen\n draggingRef.current = true;\n },\n [\n disabled,\n isRTL,\n isTouch,\n max,\n min,\n nodeRef,\n onMouseDown,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n onMouseMove: useCallback(\n (event) => {\n onMouseMove(event);\n if (disabled || isTouch || !draggingRef.current || dragging) {\n return;\n }\n\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n setDragging(true);\n },\n [\n disabled,\n dragging,\n isRTL,\n isTouch,\n max,\n min,\n nodeRef,\n onMouseMove,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n onMouseUp: useCallback(\n (event) => {\n onMouseUp(event);\n if (disabled || isTouch) {\n return;\n }\n\n draggingRef.current = false;\n },\n [disabled, isTouch, onMouseUp]\n ),\n };\n const keyboardEventHandlers: Required<DraggableKeyboardEventHandlers<E>> = {\n onKeyDown: useCallback(\n (event) => {\n onKeyDown(event);\n if (disabled) {\n return;\n }\n\n const decrementKey = vertical ? \"ArrowUp\" : \"ArrowLeft\";\n const incrementKey = vertical ? \"ArrowDown\" : \"ArrowRight\";\n\n switch (event.key) {\n case decrementKey:\n event.preventDefault();\n decrement();\n break;\n case incrementKey:\n event.preventDefault();\n increment();\n break;\n case \"Home\":\n event.preventDefault();\n minimum();\n break;\n case \"End\":\n event.preventDefault();\n maximum();\n break;\n }\n },\n [decrement, disabled, increment, maximum, minimum, onKeyDown, vertical]\n ),\n };\n\n // touch devices are a bit weird and cause issues since the \"start\" event is\n // also used for scrolling. If the user quickly grabs the draggable element\n // and drags vertically, most of the time it will try to scroll instead of\n // dragging the element. The workaround is to being the drag events\n // immediately on touchstart and disable scroll behavior for the page.\n //\n // There are also some issues with calling `event.preventDefault()` within\n // touch events even while `{ passive: false } is manually set, so need to\n // also attach a touchmove event.\n useScrollLock(isTouch && dragging);\n const touchEventHandlers: Required<DraggableTouchEventHandlers<E>> = {\n onTouchStart: useCallback(\n (event) => {\n onTouchStart(event);\n if (disabled || !isTouchDragStartEvent(event)) {\n return;\n }\n\n draggingRef.current = true;\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n },\n [\n disabled,\n isRTL,\n max,\n min,\n nodeRef,\n onTouchStart,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n onTouchMove: useCallback(\n (event) => {\n onTouchMove(event);\n if (disabled || !draggingRef.current || !event.cancelable) {\n return;\n }\n\n // prevent the document's touchmove event from also firing\n event.stopPropagation();\n updateDragPosition({\n isDragStart: true,\n event,\n nodeRef,\n min,\n max,\n step,\n rangeMin,\n rangeMax,\n isRTL,\n reversed,\n vertical,\n setValue,\n setDragging,\n setDragPercentage,\n withinOffsetParent,\n });\n },\n [\n disabled,\n isRTL,\n max,\n min,\n nodeRef,\n onTouchMove,\n rangeMax,\n rangeMin,\n reversed,\n setDragging,\n setValue,\n step,\n vertical,\n withinOffsetParent,\n ]\n ),\n };\n\n return {\n ...touchEventHandlers,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n value,\n setValue,\n dragging,\n setDragging,\n maximum,\n minimum,\n increment,\n decrement,\n draggedOnce,\n draggableRef: ref,\n percentage,\n dragPercentage,\n touchEventHandlers,\n mouseEventHandlers,\n keyboardEventHandlers,\n };\n}\n"],"names":["cnb","useCallback","useEffect","useRef","useState","useUserInteractionMode","useScrollLock","useDir","useEnsuredRef","useEnsuredState","useHtmlClassName","getPercentage","getRangeDefaultValue","getRangeSteps","nearest","withinRange","isMouseDragStartEvent","isTouchDragStartEvent","updateDragPosition","noop","useDraggable","options","ref","propRef","min","max","rangeMin","rangeMax","step","reversed","vertical","onKeyDown","onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchMove","dragging","propDragging","setDragging","propSetDragging","value","propValue","setValue","propSetValue","defaultValue","withinOffsetParent","disabled","disableDraggingClassName","disableDraggingCursorClassName","nodeRef","isTouch","draggingRef","dragPercentage","setDragPercentage","isRTL","dir","percentage","maximum","minimum","increment","prevValue","decrement","draggingClassName","draggedOnce","current","updatePosition","event","cancelable","preventDefault","stopPropagation","isDragStart","stopDragging","updateKey","stopKey","passive","undefined","window","addEventListener","removeEventListener","prevRange","steps","mouseEventHandlers","keyboardEventHandlers","decrementKey","incrementKey","key","touchEventHandlers","draggableRef"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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BACA1B;gBACAC;gBACAa;gBACAJ;gBACAe;gBACAR;YACF;QACF,GACA;YACEC;YACAQ;YACA9B;YACAD;YACA0B;YACAf;YACAR;YACAD;YACAG;YACAU;YACAI;YACAf;YACAE;YACAgB;SACD;QAEHV,aAAanC,YACX,CAACkE;YACC/B,YAAY+B;YACZ,IAAIpB,YAAY,CAACK,YAAYa,OAAO,IAAI,CAACE,MAAMC,UAAU,EAAE;gBACzD;YACF;YAEA,0DAA0D;YAC1DD,MAAMG,eAAe;YACrBpD,mBAAmB;gBACjBqD,aAAa;gBACbJ;gBACAjB;gBACA1B;gBACAC;gBACAG;gBACAF;gBACAC;gBACA4B;gBACA1B;gBACAC;gBACAa;gBACAJ;gBACAe;gBACAR;YACF;QACF,GACA;YACEC;YACAQ;YACA9B;YACAD;YACA0B;YACAd;YACAT;YACAD;YACAG;YACAU;YACAI;YACAf;YACAE;YACAgB;SACD;IAEL;IAEA,OAAO;QACL,GAAGyC,kBAAkB;QACrB,GAAGL,kBAAkB;QACrB,GAAGC,qBAAqB;QACxB1C;QACAE;QACAN;QACAE;QACAmB;QACAC;QACAC;QACAE;QACAE;QACAwB,cAAclE;QACdmC;QACAJ;QACAkC;QACAL;QACAC;IACF;AACF"}
@@ -1,4 +1,4 @@
1
- import { type CSSProperties, type HTMLAttributes, type InputHTMLAttributes, type ReactNode } from "react";
1
+ import { type CSSProperties, type HTMLAttributes, type InputHTMLAttributes } from "react";
2
2
  import { type PropsWithRef } from "../types.js";
3
3
  import { type FormFieldOptions, type UserAgentAutocompleteProps } from "./types.js";
4
4
  /**
@@ -50,15 +50,6 @@ export interface TextFieldProps extends TextFieldInputAttributes, UserAgentAutoc
50
50
  * add a `ref` for some DOM behavior.
51
51
  */
52
52
  containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
53
- /**
54
- * The `children` will be rendered within the `TextFieldContainer` and before
55
- * the `<input />` element. This was added to support the new `Select`
56
- * component implementation
57
- *
58
- * @internal
59
- * @since 6.0.0
60
- */
61
- children?: ReactNode;
62
53
  }
63
54
  /**
64
55
  * **Server Component**
@@ -35,7 +35,7 @@ import { textField } from "./textFieldStyles.js";
35
35
  * }
36
36
  * ```
37
37
  */ export const TextField = /*#__PURE__*/ forwardRef(function TextField(props, ref) {
38
- const { id: propId, style, className, type = "text", label, labelProps, labelStyle, labelClassName, autoCompleteValue, autoComplete = autoCompleteValue, name = autoCompleteValue, dense, error, active, inline, stretch, leftAddon, leftAddonProps, rightAddon, rightAddonProps, disableLeftAddonStyles, disableRightAddonStyles, inputStyle, inputClassName, theme, underlineDirection, messageProps, messageContainerProps, containerProps, children, ...remaining } = props;
38
+ const { id: propId, style, className, type = "text", label, labelProps, labelStyle, labelClassName, autoCompleteValue, autoComplete = autoCompleteValue, name = autoCompleteValue, dense, error, active, inline, stretch, leftAddon, leftAddonProps, rightAddon, rightAddonProps, disableLeftAddonStyles, disableRightAddonStyles, inputStyle, inputClassName, theme, underlineDirection, messageProps, messageContainerProps, containerProps, ...remaining } = props;
39
39
  const { disabled, readOnly } = props;
40
40
  const id = useEnsuredId(propId, "text-field");
41
41
  let { placeholder = "" } = props;
@@ -71,7 +71,6 @@ import { textField } from "./textFieldStyles.js";
71
71
  disableLeftAddonStyles: disableLeftAddonStyles,
72
72
  disableRightAddonStyles: disableRightAddonStyles,
73
73
  children: [
74
- children,
75
74
  /*#__PURE__*/ _jsx("input", {
76
75
  ...remaining,
77
76
  id: id,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/TextField.tsx"],"sourcesContent":["import {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { textField } from \"./textFieldStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutocompleteProps,\n} from \"./types.js\";\n\n/**\n * These are all the \"supported\" input types for react-md so that they at least\n * render reasonably well by default. There is no built-in validation or\n * anything adding onto existing browser functionality for these types.\n *\n * @since 2.5.0 - `\"search\"` was added\n * @since 6.0.0 Dropped support for `\"week\"` and `\"month\"` input types since\n * they are not available in Firefox and Safari at this time.\n */\nexport type SupportedInputTypes =\n | \"text\"\n | \"password\"\n | \"number\"\n | \"tel\"\n | \"email\"\n | \"date\"\n | \"time\"\n | \"datetime-local\"\n | \"url\"\n | \"color\"\n | \"search\";\n\n/**\n * @since 6.0.0 Renamed from `TextFieldAttributes` to\n * `TextFieldInputAttributes`\n */\nexport type TextFieldInputAttributes = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"type\"\n>;\n\n/**\n * @since 6.0.0 Removed the `containerRef` prop.\n */\nexport interface TextFieldProps\n extends TextFieldInputAttributes,\n UserAgentAutocompleteProps,\n FormFieldOptions {\n /**\n * @defaultValue `\"text-field-\" + useId()`\n */\n id?: string;\n\n /**\n * Optional placeholder text to display in the text field.\n *\n * @defaultValue `label ? \" \" : \"\"`\n */\n placeholder?: string;\n\n /**\n * Any optional inline styles to set on the input.\n */\n inputStyle?: CSSProperties;\n\n /**\n * An optional `className` to add to the input.\n */\n inputClassName?: string;\n\n /**\n * The text field type.\n *\n * @defaultValue `\"text\"`\n */\n type?: SupportedInputTypes;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n\n /**\n * The `children` will be rendered within the `TextFieldContainer` and before\n * the `<input />` element. This was added to support the new `Select`\n * component implementation\n *\n * @internal\n * @since 6.0.0\n */\n children?: ReactNode;\n}\n\n/**\n * **Server Component**\n *\n * The structure for this component is:\n * @example Component Structure\n * ```tsx\n * <FormMessageContainer {...messageContainerProps}>\n * <TextFieldContainer {...containerProps}>\n * <input {...props} />\n * <Label {...labelProps} />\n * </TextFieldContainer>\n * </FormMessageContainer>\n * ```\n *\n * @example Simple Example\n * ```tsx\n * import { TextField } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <TextField\n * label=\"Name\"\n * placeholder=\"Bob\"\n * defaultValue=\"\"\n * />\n * );\n * }\n * ```\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n function TextField(props, ref) {\n const {\n id: propId,\n style,\n className,\n type = \"text\",\n label,\n labelProps,\n labelStyle,\n labelClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense,\n error,\n active,\n inline,\n stretch,\n leftAddon,\n leftAddonProps,\n rightAddon,\n rightAddonProps,\n disableLeftAddonStyles,\n disableRightAddonStyles,\n inputStyle,\n inputClassName,\n theme,\n underlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n children,\n ...remaining\n } = props;\n const { disabled, readOnly } = props;\n const id = useEnsuredId(propId, \"text-field\");\n\n let { placeholder = \"\" } = props;\n if (label && !placeholder) {\n // See the placeholder type definition comments for information\n placeholder = \" \";\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={\n messageProps && {\n error,\n theme,\n ...messageProps,\n }\n }\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={className}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n stretch={stretch}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n {children}\n <input\n {...remaining}\n id={id}\n ref={ref}\n type={type}\n name={name}\n disabled={disabled}\n placeholder={placeholder}\n autoComplete={autoComplete}\n style={inputStyle}\n className={textField({\n className: inputClassName,\n placeholderHidden: !!label && !active,\n })}\n />\n {label && (\n <Label\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","textField","TextField","props","ref","id","propId","style","className","type","label","labelProps","labelStyle","labelClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","stretch","leftAddon","leftAddonProps","rightAddon","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","inputStyle","inputClassName","theme","underlineDirection","messageProps","messageContainerProps","containerProps","children","remaining","disabled","readOnly","placeholder","input","placeholderHidden","floating","htmlFor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SACEA,UAAU,QAKL,QAAQ;AAEf,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,SAAS,QAAQ,uBAAuB;AA2FjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BC,GACD,OAAO,MAAMC,0BAAYN,WACvB,SAASM,UAAUC,KAAK,EAAEC,GAAG;IAC3B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,OAAO,MAAM,EACbC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,UAAU,EACVC,cAAc,EACdC,KAAK,EACLC,kBAAkB,EAClBC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,QAAQ,EACR,GAAGC,WACJ,GAAGjC;IACJ,MAAM,EAAEkC,QAAQ,EAAEC,QAAQ,EAAE,GAAGnC;IAC/B,MAAME,KAAKR,aAAaS,QAAQ;IAEhC,IAAI,EAAEiC,cAAc,EAAE,EAAE,GAAGpC;IAC3B,IAAIO,SAAS,CAAC6B,aAAa;QACzB,+DAA+D;QAC/DA,cAAc;IAChB;IAEA,qBACE,KAACzC;QACE,GAAGmC,qBAAqB;QACzBD,cACEA,gBAAgB;YACdd;YACAY;YACA,GAAGE,YAAY;QACjB;kBAGF,cAAA,MAAChC;YACE,GAAGkC,cAAc;YAClB3B,OAAOA;YACPC,WAAWA;YACXsB,OAAOA;YACPpB,OAAO,CAAC,CAACA;YACTQ,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRE,SAASA;YACTiB,UAAUA;YACVD,UAAUA;YACVf,WAAWA;YACXC,gBAAgBA;YAChBC,YAAYA;YACZC,iBAAiBA;YACjBM,oBAAoBA;YACpBL,wBAAwBA;YACxBC,yBAAyBA;;gBAExBQ;8BACD,KAACK;oBACE,GAAGJ,SAAS;oBACb/B,IAAIA;oBACJD,KAAKA;oBACLK,MAAMA;oBACNO,MAAMA;oBACNqB,UAAUA;oBACVE,aAAaA;oBACbxB,cAAcA;oBACdR,OAAOqB;oBACPpB,WAAWP,UAAU;wBACnBO,WAAWqB;wBACXY,mBAAmB,CAAC,CAAC/B,SAAS,CAACS;oBACjC;;gBAEDT,uBACC,KAACX;oBACC2C,QAAQ;oBACRzB,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRkB,UAAUA;oBACT,GAAG1B,UAAU;oBACdgC,SAAStC;oBACTE,OAAOI,YAAYJ,SAASK;oBAC5BJ,WAAWG,YAAYH,aAAaK;8BAEnCH;;;;;AAMb,GACA"}
1
+ {"version":3,"sources":["../../src/form/TextField.tsx"],"sourcesContent":["import {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type InputHTMLAttributes,\n} from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { textField } from \"./textFieldStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutocompleteProps,\n} from \"./types.js\";\n\n/**\n * These are all the \"supported\" input types for react-md so that they at least\n * render reasonably well by default. There is no built-in validation or\n * anything adding onto existing browser functionality for these types.\n *\n * @since 2.5.0 - `\"search\"` was added\n * @since 6.0.0 Dropped support for `\"week\"` and `\"month\"` input types since\n * they are not available in Firefox and Safari at this time.\n */\nexport type SupportedInputTypes =\n | \"text\"\n | \"password\"\n | \"number\"\n | \"tel\"\n | \"email\"\n | \"date\"\n | \"time\"\n | \"datetime-local\"\n | \"url\"\n | \"color\"\n | \"search\";\n\n/**\n * @since 6.0.0 Renamed from `TextFieldAttributes` to\n * `TextFieldInputAttributes`\n */\nexport type TextFieldInputAttributes = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"type\"\n>;\n\n/**\n * @since 6.0.0 Removed the `containerRef` prop.\n */\nexport interface TextFieldProps\n extends TextFieldInputAttributes,\n UserAgentAutocompleteProps,\n FormFieldOptions {\n /**\n * @defaultValue `\"text-field-\" + useId()`\n */\n id?: string;\n\n /**\n * Optional placeholder text to display in the text field.\n *\n * @defaultValue `label ? \" \" : \"\"`\n */\n placeholder?: string;\n\n /**\n * Any optional inline styles to set on the input.\n */\n inputStyle?: CSSProperties;\n\n /**\n * An optional `className` to add to the input.\n */\n inputClassName?: string;\n\n /**\n * The text field type.\n *\n * @defaultValue `\"text\"`\n */\n type?: SupportedInputTypes;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n}\n\n/**\n * **Server Component**\n *\n * The structure for this component is:\n * @example Component Structure\n * ```tsx\n * <FormMessageContainer {...messageContainerProps}>\n * <TextFieldContainer {...containerProps}>\n * <input {...props} />\n * <Label {...labelProps} />\n * </TextFieldContainer>\n * </FormMessageContainer>\n * ```\n *\n * @example Simple Example\n * ```tsx\n * import { TextField } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <TextField\n * label=\"Name\"\n * placeholder=\"Bob\"\n * defaultValue=\"\"\n * />\n * );\n * }\n * ```\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n function TextField(props, ref) {\n const {\n id: propId,\n style,\n className,\n type = \"text\",\n label,\n labelProps,\n labelStyle,\n labelClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense,\n error,\n active,\n inline,\n stretch,\n leftAddon,\n leftAddonProps,\n rightAddon,\n rightAddonProps,\n disableLeftAddonStyles,\n disableRightAddonStyles,\n inputStyle,\n inputClassName,\n theme,\n underlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n ...remaining\n } = props;\n const { disabled, readOnly } = props;\n const id = useEnsuredId(propId, \"text-field\");\n\n let { placeholder = \"\" } = props;\n if (label && !placeholder) {\n // See the placeholder type definition comments for information\n placeholder = \" \";\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={\n messageProps && {\n error,\n theme,\n ...messageProps,\n }\n }\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={className}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n stretch={stretch}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n <input\n {...remaining}\n id={id}\n ref={ref}\n type={type}\n name={name}\n disabled={disabled}\n placeholder={placeholder}\n autoComplete={autoComplete}\n style={inputStyle}\n className={textField({\n className: inputClassName,\n placeholderHidden: !!label && !active,\n })}\n />\n {label && (\n <Label\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","textField","TextField","props","ref","id","propId","style","className","type","label","labelProps","labelStyle","labelClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","stretch","leftAddon","leftAddonProps","rightAddon","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","inputStyle","inputClassName","theme","underlineDirection","messageProps","messageContainerProps","containerProps","remaining","disabled","readOnly","placeholder","input","placeholderHidden","floating","htmlFor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SACEA,UAAU,QAIL,QAAQ;AAEf,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,SAAS,QAAQ,uBAAuB;AAiFjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BC,GACD,OAAO,MAAMC,0BAAYN,WACvB,SAASM,UAAUC,KAAK,EAAEC,GAAG;IAC3B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,OAAO,MAAM,EACbC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,UAAU,EACVC,cAAc,EACdC,KAAK,EACLC,kBAAkB,EAClBC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACd,GAAGC,WACJ,GAAGhC;IACJ,MAAM,EAAEiC,QAAQ,EAAEC,QAAQ,EAAE,GAAGlC;IAC/B,MAAME,KAAKR,aAAaS,QAAQ;IAEhC,IAAI,EAAEgC,cAAc,EAAE,EAAE,GAAGnC;IAC3B,IAAIO,SAAS,CAAC4B,aAAa;QACzB,+DAA+D;QAC/DA,cAAc;IAChB;IAEA,qBACE,KAACxC;QACE,GAAGmC,qBAAqB;QACzBD,cACEA,gBAAgB;YACdd;YACAY;YACA,GAAGE,YAAY;QACjB;kBAGF,cAAA,MAAChC;YACE,GAAGkC,cAAc;YAClB3B,OAAOA;YACPC,WAAWA;YACXsB,OAAOA;YACPpB,OAAO,CAAC,CAACA;YACTQ,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRE,SAASA;YACTgB,UAAUA;YACVD,UAAUA;YACVd,WAAWA;YACXC,gBAAgBA;YAChBC,YAAYA;YACZC,iBAAiBA;YACjBM,oBAAoBA;YACpBL,wBAAwBA;YACxBC,yBAAyBA;;8BAEzB,KAACY;oBACE,GAAGJ,SAAS;oBACb9B,IAAIA;oBACJD,KAAKA;oBACLK,MAAMA;oBACNO,MAAMA;oBACNoB,UAAUA;oBACVE,aAAaA;oBACbvB,cAAcA;oBACdR,OAAOqB;oBACPpB,WAAWP,UAAU;wBACnBO,WAAWqB;wBACXW,mBAAmB,CAAC,CAAC9B,SAAS,CAACS;oBACjC;;gBAEDT,uBACC,KAACX;oBACC0C,QAAQ;oBACRxB,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRiB,UAAUA;oBACT,GAAGzB,UAAU;oBACd+B,SAASrC;oBACTE,OAAOI,YAAYJ,SAASK;oBAC5BJ,WAAWG,YAAYH,aAAaK;8BAEnCH;;;;;AAMb,GACA"}