@smwb/ui-react 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/AI_LESS_OVERRIDES.md +84 -21
  2. package/AI_THEMING.md +72 -28
  3. package/README.md +681 -0
  4. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  5. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  6. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  7. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  8. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  9. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  10. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  11. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  12. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  13. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  14. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  15. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  16. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  17. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  18. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  19. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  20. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  21. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  22. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  23. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  24. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  25. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  26. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  27. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  28. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  29. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  30. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  31. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  32. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  33. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  34. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  35. package/dist/assets/styles/less/connects/rt/table.entry.css +1 -1
  36. package/dist/assets/styles/less/tokens.entry.css +1 -1
  37. package/dist/components/base/icon/icon.d.ts +6 -2
  38. package/dist/components/base/icon/icon.js +49 -37
  39. package/dist/components/base/icon/icon.js.map +1 -1
  40. package/dist/components/base/ripple/ripple.d.ts +3 -0
  41. package/dist/components/base/ripple/ripple.js +38 -23
  42. package/dist/components/base/ripple/ripple.js.map +1 -1
  43. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  44. package/dist/components/dataDisplay/avatar/avatar.js +50 -37
  45. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  46. package/dist/components/dataDisplay/badge/badge.js +37 -28
  47. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  48. package/dist/components/dataDisplay/card/card.d.ts +30 -2
  49. package/dist/components/dataDisplay/card/card.js +50 -23
  50. package/dist/components/dataDisplay/card/card.js.map +1 -1
  51. package/dist/components/dataDisplay/carousel/carousel.js +70 -70
  52. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  53. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  54. package/dist/components/dataDisplay/chart/chart.js +66 -53
  55. package/dist/components/dataDisplay/chart/chart.js.map +1 -1
  56. package/dist/components/dataDisplay/chat/chat.d.ts +43 -1
  57. package/dist/components/dataDisplay/chat/chat.js +179 -150
  58. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  60. package/dist/components/dataDisplay/chat/chatComposer.js +31 -29
  61. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatIconButton.d.ts +1 -1
  63. package/dist/components/dataDisplay/chat/chatIconButton.js +30 -26
  64. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/chatLayout.d.ts +3 -1
  66. package/dist/components/dataDisplay/chat/chatLayout.js +56 -55
  67. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  68. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +3 -1
  69. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  70. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  71. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  72. package/dist/components/dataDisplay/chip/chip.d.ts +31 -0
  73. package/dist/components/dataDisplay/chip/chip.js +110 -83
  74. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  75. package/dist/components/dataDisplay/chipGroup/chipGroup.js +34 -30
  76. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  77. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  78. package/dist/components/dataDisplay/dagView/dagLayout.js +289 -0
  79. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  80. package/dist/components/dataDisplay/dagView/dagView.d.ts +157 -0
  81. package/dist/components/dataDisplay/dagView/dagView.js +543 -0
  82. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  83. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  84. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  85. package/dist/components/dataDisplay/dagView/panZoom.js +171 -0
  86. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  87. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  88. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  89. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +54 -0
  90. package/dist/components/dataDisplay/diffStat/diffStat.js +63 -0
  91. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  92. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  93. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  94. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  95. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  96. package/dist/components/dataDisplay/kanban/kanban.js +46 -35
  97. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  98. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  99. package/dist/components/dataDisplay/kbd/kbd.d.ts +40 -0
  100. package/dist/components/dataDisplay/kbd/kbd.js +27 -0
  101. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  102. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  103. package/dist/components/dataDisplay/kbd/kbdKeys.js +72 -0
  104. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  105. package/dist/components/dataDisplay/lazyImage/lazyImage.js +31 -30
  106. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  107. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  108. package/dist/components/dataDisplay/list/list.js +15 -14
  109. package/dist/components/dataDisplay/list/list.js.map +1 -1
  110. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  111. package/dist/components/dataDisplay/list/listItem.js +47 -24
  112. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  113. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  114. package/dist/components/dataDisplay/meter/meter.js +24 -23
  115. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  116. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  117. package/dist/components/dataDisplay/personChip/personChip.js +39 -27
  118. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  119. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  120. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +28 -0
  121. package/dist/components/dataDisplay/qrCode/qrCode.js +78 -0
  122. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  123. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  124. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  125. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  126. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  127. package/dist/components/dataDisplay/stat/stat.js +25 -13
  128. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  129. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  130. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  131. package/dist/components/dataDisplay/statusDot/statusDot.js +30 -0
  132. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  133. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  134. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +53 -0
  135. package/dist/components/dataDisplay/swimlanes/swimlanes.js +357 -0
  136. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  137. package/dist/components/dataDisplay/table/table.d.ts +16 -1
  138. package/dist/components/dataDisplay/table/table.js +40 -36
  139. package/dist/components/dataDisplay/table/table.js.map +1 -1
  140. package/dist/components/dataDisplay/table/tableBody.js +10 -4
  141. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  143. package/dist/components/dataDisplay/table/tableCell.js +20 -13
  144. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  145. package/dist/components/dataDisplay/table/tableColumns.d.ts +83 -0
  146. package/dist/components/dataDisplay/table/tableColumns.js +112 -0
  147. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +9 -3
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +24 -3
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +60 -65
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableRow.d.ts +3 -1
  154. package/dist/components/dataDisplay/table/tableRow.js +28 -16
  155. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  156. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  157. package/dist/components/dataDisplay/thumbCard/thumbCard.js +79 -59
  158. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  159. package/dist/components/dataDisplay/treeView/treeView.d.ts +19 -1
  160. package/dist/components/dataDisplay/treeView/treeView.js +113 -91
  161. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  162. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  163. package/dist/components/feedBack/emptyState/emptyState.js +22 -12
  164. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  165. package/dist/components/feedBack/message/message.d.ts +2 -0
  166. package/dist/components/feedBack/message/message.js +30 -19
  167. package/dist/components/feedBack/message/message.js.map +1 -1
  168. package/dist/components/feedBack/modal/modal.js +84 -63
  169. package/dist/components/feedBack/modal/modal.js.map +1 -1
  170. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  171. package/dist/components/feedBack/skeleton/skeleton.js +37 -34
  172. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  173. package/dist/components/feedBack/snackbar/snackbar.js +104 -103
  174. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  175. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  176. package/dist/components/feedBack/tooltip/tooltip.js +67 -47
  177. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  178. package/dist/components/inputs/button/button.d.ts +15 -1
  179. package/dist/components/inputs/button/button.js +73 -63
  180. package/dist/components/inputs/button/button.js.map +1 -1
  181. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  182. package/dist/components/inputs/buttonGroups/buttonGroup.js +40 -36
  183. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  184. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  185. package/dist/components/inputs/checkbox/checkbox.js +84 -59
  186. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  187. package/dist/components/inputs/composer/composer.d.ts +149 -0
  188. package/dist/components/inputs/composer/composer.js +219 -0
  189. package/dist/components/inputs/composer/composer.js.map +1 -0
  190. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  191. package/dist/components/inputs/composer/composerFiles.js +19 -0
  192. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  193. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  194. package/dist/components/inputs/composer/composerKeys.js +7 -0
  195. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  196. package/dist/components/inputs/composer/index.d.ts +3 -0
  197. package/dist/components/inputs/datePicker/datePicker.js +170 -164
  198. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  199. package/dist/components/inputs/datePicker/datePickerDay.d.ts +1 -1
  200. package/dist/components/inputs/datePicker/datePickerDay.js +52 -44
  201. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  202. package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +1 -1
  203. package/dist/components/inputs/datePicker/datePickerIconButton.js +32 -28
  204. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  205. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  206. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  207. package/dist/components/inputs/floatingButton/floatingButton.js +32 -30
  208. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  209. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  210. package/dist/components/inputs/radioButton/radioButton.js +77 -58
  211. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  212. package/dist/components/inputs/rating/rating.d.ts +8 -0
  213. package/dist/components/inputs/rating/rating.js +85 -70
  214. package/dist/components/inputs/rating/rating.js.map +1 -1
  215. package/dist/components/inputs/selectField/dropdownMenu.d.ts +20 -1
  216. package/dist/components/inputs/selectField/dropdownMenu.js +266 -113
  217. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  218. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  219. package/dist/components/inputs/selectField/optionNavigation.js +38 -0
  220. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  221. package/dist/components/inputs/selectField/selectField.d.ts +31 -1
  222. package/dist/components/inputs/selectField/selectField.js +358 -218
  223. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  224. package/dist/components/inputs/slider/slider.d.ts +22 -1
  225. package/dist/components/inputs/slider/slider.js +330 -261
  226. package/dist/components/inputs/slider/slider.js.map +1 -1
  227. package/dist/components/inputs/textField/textField.d.ts +7 -0
  228. package/dist/components/inputs/textField/textField.js +118 -100
  229. package/dist/components/inputs/textField/textField.js.map +1 -1
  230. package/dist/components/inputs/textField/textFieldWrapper.d.ts +15 -1
  231. package/dist/components/inputs/textField/textFieldWrapper.js +45 -34
  232. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  233. package/dist/components/inputs/timePicker/timePicker.js +91 -85
  234. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  235. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  236. package/dist/components/inputs/toggle/toggle.js +80 -61
  237. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  238. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  239. package/dist/components/inputs/valueSlider/valueSlider.js +23 -22
  240. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  241. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  242. package/dist/components/layout/appLayout/appLayout.js +25 -24
  243. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  244. package/dist/components/layout/divider/divider.d.ts +2 -0
  245. package/dist/components/layout/divider/divider.js +23 -22
  246. package/dist/components/layout/divider/divider.js.map +1 -1
  247. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  248. package/dist/components/layout/floatingWindow/floatingWindow.js +145 -139
  249. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  250. package/dist/components/layout/grid/grid.d.ts +12 -1
  251. package/dist/components/layout/grid/grid.js +51 -36
  252. package/dist/components/layout/grid/grid.js.map +1 -1
  253. package/dist/components/layout/page/page.d.ts +2 -0
  254. package/dist/components/layout/page/page.js +16 -8
  255. package/dist/components/layout/page/page.js.map +1 -1
  256. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  257. package/dist/components/layout/pageHeader/pageHeader.js +22 -13
  258. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  259. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  260. package/dist/components/layout/sectionHeader/sectionHeader.js +37 -27
  261. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  262. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  263. package/dist/components/layout/sheet/sheet.js +148 -132
  264. package/dist/components/layout/sheet/sheet.js.map +1 -1
  265. package/dist/components/layout/stack/stack.d.ts +2 -0
  266. package/dist/components/layout/stack/stack.js +29 -17
  267. package/dist/components/layout/stack/stack.js.map +1 -1
  268. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  269. package/dist/components/layout/tabGroups/tabGroups.d.ts +94 -0
  270. package/dist/components/layout/tabGroups/tabGroups.js +783 -0
  271. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  272. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  273. package/dist/components/layout/tabGroups/tabGroupsFocus.js +199 -0
  274. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  275. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  276. package/dist/components/layout/tabGroups/tabGroupsLayout.js +497 -0
  277. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  278. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  279. package/dist/components/navigation/appBar/appBar.js +39 -33
  280. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  281. package/dist/components/navigation/bottomBar/bottomBar.js +81 -77
  282. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  283. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  284. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +29 -27
  285. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  286. package/dist/components/navigation/commandPalette/commandPalette.d.ts +111 -0
  287. package/dist/components/navigation/commandPalette/commandPalette.js +337 -0
  288. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  289. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  290. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  291. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  292. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  293. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  294. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  296. package/dist/components/navigation/commandPalette/index.d.ts +4 -0
  297. package/dist/components/navigation/menu/menu.d.ts +12 -0
  298. package/dist/components/navigation/menu/menu.js.map +1 -1
  299. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  300. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  301. package/dist/components/navigation/menu/menuFloating.js +42 -30
  302. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  303. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  304. package/dist/components/navigation/menu/menuItem.js +60 -48
  305. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  306. package/dist/components/navigation/menu/menuList.d.ts +5 -1
  307. package/dist/components/navigation/menu/menuList.js +30 -19
  308. package/dist/components/navigation/menu/menuList.js.map +1 -1
  309. package/dist/components/navigation/menu/menuSubmenu.js +53 -40
  310. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  311. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  312. package/dist/components/navigation/pagination/pagination.js +51 -49
  313. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  314. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  315. package/dist/components/navigation/sidebar/sidebar.js +65 -62
  316. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  317. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  318. package/dist/components/navigation/stepper/stepper.js +37 -28
  319. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  320. package/dist/components/navigation/tabs/index.d.ts +3 -1
  321. package/dist/components/navigation/tabs/tab/tab.d.ts +88 -1
  322. package/dist/components/navigation/tabs/tab/tab.js +116 -35
  323. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  324. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +19 -0
  325. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +27 -0
  326. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  327. package/dist/components/navigation/tabs/tabs.d.ts +80 -4
  328. package/dist/components/navigation/tabs/tabs.js +369 -148
  329. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  330. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  331. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  332. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  333. package/dist/components/navigation/tabs/tabsContext.d.ts +11 -0
  334. package/dist/components/navigation/tabs/tabsContext.js +6 -0
  335. package/dist/components/navigation/tabs/tabsContext.js.map +1 -0
  336. package/dist/connects/rt/table/headerCellRenderer.d.ts +4 -1
  337. package/dist/connects/rt/table/headerCellRenderer.js +45 -15
  338. package/dist/connects/rt/table/headerCellRenderer.js.map +1 -1
  339. package/dist/connects/rt/table/table.d.ts +15 -1
  340. package/dist/connects/rt/table/table.js +125 -131
  341. package/dist/connects/rt/table/table.js.map +1 -1
  342. package/dist/headless/components/base/icon/icon.js +49 -37
  343. package/dist/headless/components/base/icon/icon.js.map +1 -1
  344. package/dist/headless/components/base/ripple/ripple.js +42 -27
  345. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  346. package/dist/headless/components/dataDisplay/avatar/avatar.js +51 -38
  347. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  348. package/dist/headless/components/dataDisplay/badge/badge.js +37 -28
  349. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  350. package/dist/headless/components/dataDisplay/card/card.js +50 -23
  351. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  352. package/dist/headless/components/dataDisplay/carousel/carousel.js +55 -55
  353. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  354. package/dist/headless/components/dataDisplay/chat/chat.js +179 -150
  355. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  356. package/dist/headless/components/dataDisplay/chat/chatComposer.js +31 -29
  357. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  358. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +30 -26
  359. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  360. package/dist/headless/components/dataDisplay/chat/chatLayout.js +56 -55
  361. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  362. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chip/chip.js +108 -81
  364. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +35 -31
  366. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +289 -0
  368. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  369. package/dist/headless/components/dataDisplay/dagView/dagView.js +541 -0
  370. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  371. package/dist/headless/components/dataDisplay/dagView/panZoom.js +171 -0
  372. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  373. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  374. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +61 -0
  375. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  377. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  378. package/dist/headless/components/dataDisplay/kanban/kanban.js +45 -34
  379. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/kbd/kbd.js +25 -0
  381. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +72 -0
  383. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  384. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  385. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/list/list.js +15 -14
  387. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  388. package/dist/headless/components/dataDisplay/list/listItem.js +47 -24
  389. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  390. package/dist/headless/components/dataDisplay/meter/meter.js +19 -18
  391. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/personChip/personChip.js +39 -27
  393. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +76 -0
  395. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  396. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  397. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  398. package/dist/headless/components/dataDisplay/stat/stat.js +27 -15
  399. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +28 -0
  401. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +355 -0
  403. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/table/table.js +40 -36
  405. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/table/tableBody.js +10 -4
  407. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  408. package/dist/headless/components/dataDisplay/table/tableCell.js +20 -13
  409. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  410. package/dist/headless/components/dataDisplay/table/tableColumns.js +112 -0
  411. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  412. package/dist/headless/components/dataDisplay/table/tableHead.js +9 -3
  413. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +60 -65
  415. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -16
  417. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  418. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +78 -58
  419. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  420. package/dist/headless/components/dataDisplay/treeView/treeView.js +113 -91
  421. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  422. package/dist/headless/components/feedBack/emptyState/emptyState.js +21 -11
  423. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  424. package/dist/headless/components/feedBack/message/message.js +31 -20
  425. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  426. package/dist/headless/components/feedBack/modal/modal.js +84 -63
  427. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  428. package/dist/headless/components/feedBack/skeleton/skeleton.js +38 -35
  429. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  430. package/dist/headless/components/feedBack/snackbar/snackbar.js +108 -107
  431. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  432. package/dist/headless/components/feedBack/tooltip/tooltip.js +67 -47
  433. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  434. package/dist/headless/components/inputs/button/button.js +73 -63
  435. package/dist/headless/components/inputs/button/button.js.map +1 -1
  436. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +40 -36
  437. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  438. package/dist/headless/components/inputs/checkbox/checkbox.js +85 -60
  439. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  440. package/dist/headless/components/inputs/composer/composer.js +217 -0
  441. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  442. package/dist/headless/components/inputs/composer/composerFiles.js +19 -0
  443. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  444. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  445. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  446. package/dist/headless/components/inputs/datePicker/datePicker.js +170 -164
  447. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  448. package/dist/headless/components/inputs/datePicker/datePickerDay.js +52 -44
  449. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  450. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +32 -28
  451. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  452. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  453. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  454. package/dist/headless/components/inputs/floatingButton/floatingButton.js +32 -30
  455. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  456. package/dist/headless/components/inputs/radioButton/radioButton.js +77 -58
  457. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  458. package/dist/headless/components/inputs/rating/rating.js +85 -70
  459. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  460. package/dist/headless/components/inputs/selectField/dropdownMenu.js +266 -113
  461. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  462. package/dist/headless/components/inputs/selectField/optionNavigation.js +38 -0
  463. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  464. package/dist/headless/components/inputs/selectField/selectField.js +358 -218
  465. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  466. package/dist/headless/components/inputs/slider/slider.js +330 -261
  467. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  468. package/dist/headless/components/inputs/textField/textField.js +118 -100
  469. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  470. package/dist/headless/components/inputs/textField/textFieldWrapper.js +45 -34
  471. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  472. package/dist/headless/components/inputs/timePicker/timePicker.js +91 -85
  473. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  474. package/dist/headless/components/inputs/toggle/toggle.js +79 -60
  475. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  476. package/dist/headless/components/inputs/valueSlider/valueSlider.js +25 -24
  477. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  478. package/dist/headless/components/layout/appLayout/appLayout.js +27 -26
  479. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  480. package/dist/headless/components/layout/divider/divider.js +18 -17
  481. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  482. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +145 -139
  483. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  484. package/dist/headless/components/layout/grid/grid.js +48 -33
  485. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  486. package/dist/headless/components/layout/page/page.js +15 -7
  487. package/dist/headless/components/layout/page/page.js.map +1 -1
  488. package/dist/headless/components/layout/pageHeader/pageHeader.js +20 -11
  489. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  490. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +36 -26
  491. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  492. package/dist/headless/components/layout/sheet/sheet.js +156 -140
  493. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  494. package/dist/headless/components/layout/stack/stack.js +29 -17
  495. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  496. package/dist/headless/components/layout/tabGroups/tabGroups.js +781 -0
  497. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  498. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +199 -0
  499. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  500. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +497 -0
  501. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  502. package/dist/headless/components/navigation/appBar/appBar.js +35 -29
  503. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  504. package/dist/headless/components/navigation/bottomBar/bottomBar.js +81 -77
  505. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  506. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +32 -30
  507. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  508. package/dist/headless/components/navigation/commandPalette/commandPalette.js +335 -0
  509. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  510. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  511. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  512. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  513. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  514. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  515. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  516. package/dist/headless/components/navigation/menu/menuFloating.js +42 -30
  517. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  518. package/dist/headless/components/navigation/menu/menuItem.js +60 -48
  519. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  520. package/dist/headless/components/navigation/menu/menuList.js +30 -19
  521. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  522. package/dist/headless/components/navigation/menu/menuSubmenu.js +53 -40
  523. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  524. package/dist/headless/components/navigation/pagination/pagination.js +51 -49
  525. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  526. package/dist/headless/components/navigation/sidebar/sidebar.js +55 -52
  527. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  528. package/dist/headless/components/navigation/stepper/stepper.js +42 -33
  529. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  530. package/dist/headless/components/navigation/tabs/tab/tab.js +117 -36
  531. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  532. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +25 -0
  533. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  534. package/dist/headless/components/navigation/tabs/tabs.js +362 -141
  535. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  536. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  537. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  538. package/dist/headless/components/navigation/tabs/tabsContext.js +6 -0
  539. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -0
  540. package/dist/headless/hooks/useDismissOnEscape.js +16 -0
  541. package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
  542. package/dist/headless/hooks/useFocusTrap.js +24 -20
  543. package/dist/headless/hooks/useFocusTrap.js.map +1 -1
  544. package/dist/headless/hooks/useHelperText.js +13 -0
  545. package/dist/headless/hooks/useHelperText.js.map +1 -0
  546. package/dist/headless/hooks/useKeyboardShortcut.js +19 -0
  547. package/dist/headless/hooks/useKeyboardShortcut.js.map +1 -0
  548. package/dist/headless/index.js +360 -316
  549. package/dist/headless/index.js.map +1 -1
  550. package/dist/headless/utils/controlProps.js +14 -0
  551. package/dist/headless/utils/controlProps.js.map +1 -0
  552. package/dist/headless/utils/keyboardShortcut.js +49 -0
  553. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  554. package/dist/headless/utils/linkAttrs.js +13 -0
  555. package/dist/headless/utils/linkAttrs.js.map +1 -0
  556. package/dist/headless/utils/overlayLayer.js +14 -7
  557. package/dist/headless/utils/overlayLayer.js.map +1 -1
  558. package/dist/headless/utils/ownClick.js +40 -0
  559. package/dist/headless/utils/ownClick.js.map +1 -0
  560. package/dist/headless/utils/readOnlyToggle.js +14 -0
  561. package/dist/headless/utils/readOnlyToggle.js.map +1 -0
  562. package/dist/headless/utils/restoreFocus.js +10 -0
  563. package/dist/headless/utils/restoreFocus.js.map +1 -0
  564. package/dist/hooks/useDismissOnEscape.d.ts +11 -0
  565. package/dist/hooks/useDismissOnEscape.js +16 -0
  566. package/dist/hooks/useDismissOnEscape.js.map +1 -0
  567. package/dist/hooks/useFocusTrap.d.ts +8 -1
  568. package/dist/hooks/useFocusTrap.js +24 -20
  569. package/dist/hooks/useFocusTrap.js.map +1 -1
  570. package/dist/hooks/useHelperText.d.ts +21 -0
  571. package/dist/hooks/useHelperText.js +13 -0
  572. package/dist/hooks/useHelperText.js.map +1 -0
  573. package/dist/hooks/useKeyboardShortcut.d.ts +30 -0
  574. package/dist/hooks/useKeyboardShortcut.js +19 -0
  575. package/dist/hooks/useKeyboardShortcut.js.map +1 -0
  576. package/dist/index.cjs +3 -2
  577. package/dist/index.cjs.map +1 -1
  578. package/dist/index.d.ts +24 -3
  579. package/dist/index.js +360 -316
  580. package/dist/index.js.map +1 -1
  581. package/dist/utils/controlProps.d.ts +16 -0
  582. package/dist/utils/controlProps.js +14 -0
  583. package/dist/utils/controlProps.js.map +1 -0
  584. package/dist/utils/keyboardShortcut.d.ts +12 -0
  585. package/dist/utils/keyboardShortcut.js +49 -0
  586. package/dist/utils/keyboardShortcut.js.map +1 -0
  587. package/dist/utils/linkAttrs.d.ts +13 -0
  588. package/dist/utils/linkAttrs.js +13 -0
  589. package/dist/utils/linkAttrs.js.map +1 -0
  590. package/dist/utils/overlayLayer.d.ts +15 -3
  591. package/dist/utils/overlayLayer.js +14 -7
  592. package/dist/utils/overlayLayer.js.map +1 -1
  593. package/dist/utils/ownClick.d.ts +16 -0
  594. package/dist/utils/ownClick.js +40 -0
  595. package/dist/utils/ownClick.js.map +1 -0
  596. package/dist/utils/readOnlyToggle.d.ts +15 -0
  597. package/dist/utils/readOnlyToggle.js +14 -0
  598. package/dist/utils/readOnlyToggle.js.map +1 -0
  599. package/dist/utils/restoreFocus.d.ts +8 -0
  600. package/dist/utils/restoreFocus.js +10 -0
  601. package/dist/utils/restoreFocus.js.map +1 -0
  602. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sources":["../../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\nimport { useEventCallback } from \"../../../hooks/useEventCallback\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: React.ReactNode;\n}\n\nexport interface SliderProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, \"onChange\" | \"defaultValue\"> {\n value?: SliderValue;\n onChange?: (event: Event | React.SyntheticEvent, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: React.ReactNode;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n /** Slider direction. */\n orientation?: \"horizontal\" | \"vertical\";\n /** Show ticks/marks. `true` derives marks from `step`; an array gives explicit positions/labels. */\n marks?: boolean | SliderMark[];\n /** Accessible label applied to the slider control. */\n \"aria-label\"?: string;\n /** Maps the numeric value to a human-readable string for assistive tech. */\n getAriaValueText?: (value: number) => string;\n}\n\nfunction resolveMarks(\n marks: boolean | SliderMark[] | undefined,\n min: number,\n max: number,\n step?: number\n): SliderMark[] {\n if (!marks) {\n return [];\n }\n if (Array.isArray(marks)) {\n return marks;\n }\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nconst RangeSlider = React.forwardRef<HTMLSpanElement, SliderProps>(function RangeSlider(props, ref) {\n const {\n defaultValue,\n value: valueProp,\n onChange,\n min = 0,\n max = 100,\n name,\n disabled = false,\n className,\n step,\n label,\n helperText,\n error,\n size = \"medium\",\n color = \"primary\",\n orientation = \"horizontal\",\n marks,\n getAriaValueText,\n \"aria-label\": ariaLabel,\n // consumed by the dispatcher / not valid DOM attributes — keep them off the span\n /* eslint-disable @typescript-eslint/no-unused-vars */\n range,\n variant,\n valueField,\n withTicks,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...rest\n } = props;\n\n const isVertical = orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [min, max];\n const lo = Math.min(arr[0] ?? min, arr[1] ?? max);\n const hi = Math.max(arr[0] ?? min, arr[1] ?? max);\n return [lo, hi];\n };\n\n const isControlled = valueProp !== undefined;\n const [valueState, setValueState] = React.useState<[number, number]>(() => normalize(defaultValue));\n const value = isControlled ? normalize(valueProp) : valueState;\n\n const containerRef = React.useRef<HTMLSpanElement>(null);\n const rootRef = useForkRef<HTMLSpanElement>(ref, containerRef);\n const activeThumb = React.useRef<0 | 1>(0);\n const isPressedRef = React.useRef<boolean>(false);\n\n const markList = resolveMarks(marks, min, max, step);\n\n const positionToValue = (event: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent) => {\n const rect = containerRef.current?.getBoundingClientRect();\n if (!rect) {\n return min;\n }\n if (isVertical) {\n const y =\n (typeof (event as MouseEvent).clientY === \"number\"\n ? (event as MouseEvent).clientY\n : coordY(event as React.MouseEvent)) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [min, max], { step });\n }\n const x =\n (typeof (event as MouseEvent).clientX === \"number\"\n ? (event as MouseEvent).clientX\n : coordX(event as React.MouseEvent)) - rect.left;\n return rescale(x, [0, rect.width], [min, max], { step });\n };\n\n const commit = (next: [number, number], event: Event | React.SyntheticEvent) => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(min, lo), Math.min(max, hi)];\n if (!isControlled) {\n setValueState(clamped);\n }\n onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event | React.SyntheticEvent) => {\n const idx = activeThumb.current;\n const next: [number, number] = [value[0], value[1]];\n next[idx] = Math.max(min, Math.min(max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number) => {\n activeThumb.current = Math.abs(raw - value[0]) <= Math.abs(raw - value[1]) ? 0 : 1;\n };\n\n const onMouseMove = useEventCallback((event: MouseEvent | TouchEvent) => {\n if (!isPressedRef.current) {\n return;\n }\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n });\n\n const onMouseEnd = useEventCallback(() => {\n isPressedRef.current = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n });\n\n const onMouseDown = (event: React.MouseEvent<HTMLSpanElement>) => {\n if (disabled || event.button !== 0) {\n return;\n }\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressedRef.current = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n\n const onTouchStartNative = (event: TouchEvent) => {\n if (disabled) {\n return;\n }\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressedRef.current = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n useSafeLayoutEffect(() => {\n const el = containerRef.current;\n if (!el) {\n return;\n }\n el.addEventListener(\"touchstart\", onTouchStartNative);\n return () => el.removeEventListener(\"touchstart\", onTouchStartNative);\n });\n\n const onThumbKeyDown = (idx: 0 | 1) => (event: React.KeyboardEvent) => {\n if (disabled) {\n return;\n }\n const delta = step && step > 0 ? step : 1;\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n next = value[idx] - delta;\n } else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n next = value[idx] + delta;\n } else if (event.key === \"Home\") {\n next = min;\n } else if (event.key === \"End\") {\n next = max;\n }\n if (next !== null) {\n event.preventDefault();\n activeThumb.current = idx;\n moveThumb(next, event);\n }\n };\n\n const classNames = cn(\n \"smwb-slider\",\n \"smwb-slider--range\",\n className,\n {\n \"smwb-slider--disabled\": disabled,\n \"smwb-slider--vertical\": isVertical,\n },\n size !== \"medium\" && `smwb-slider_size-${size}`,\n color !== \"primary\" && `smwb-slider_color-${color}`\n );\n\n const p0 = toPercent(value[0], min, max);\n const p1 = toPercent(value[1], min, max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n const mainStart = isVertical ? { bottom: `${p0}%` } : { left: `${p0}%` };\n const mainEnd = isVertical ? { bottom: `${p1}%` } : { left: `${p1}%` };\n const trackStyle = isVertical ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n\n return (\n <TextFieldWrapper label={label} helperText={helperText} disabled={disabled} error={error} fullWidth shrink>\n <div className=\"smwb-slider__container\">\n <span ref={rootRef} onMouseDown={onMouseDown} className={classNames} {...rest}>\n {markList.length > 0 && (\n <span className=\"smwb-slider__marks\" aria-hidden=\"true\">\n {markList.map((m) => {\n const mp = `${toPercent(m.value, min, max)}%`;\n return (\n <span key={m.value} className=\"smwb-slider__mark\" style={isVertical ? { bottom: mp } : { left: mp }}>\n {m.label != null && <span className=\"smwb-slider__mark-label\">{m.label}</span>}\n </span>\n );\n })}\n </span>\n )}\n <span className=\"smwb-slider__rail\" />\n <span className=\"smwb-slider__track\" style={trackStyle} />\n {([0, 1] as const).map((idx) => (\n <span\n key={idx}\n className={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={idx === 0 ? mainStart : mainEnd}\n >\n <input\n data-testid={`slider-input-${idx}`}\n className=\"smwb-slider__input\"\n type=\"range\"\n min={min}\n max={max}\n step={step}\n name={name ? `${name}[${idx}]` : undefined}\n value={value[idx]}\n disabled={disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel ? `${ariaLabel} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={orientation}\n aria-valuenow={value[idx]}\n aria-valuemin={idx === 0 ? min : value[0]}\n aria-valuemax={idx === 0 ? value[1] : max}\n aria-valuetext={getAriaValueText ? getAriaValueText(value[idx]) : undefined}\n aria-disabled={disabled || undefined}\n />\n </span>\n ))}\n </span>\n </div>\n </TextFieldWrapper>\n );\n});\n\nconst SingleSlider = React.forwardRef<HTMLSpanElement, SliderProps>(function SingleSlider(props, ref) {\n const {\n defaultValue,\n value: valueProp,\n onChange,\n min = 0,\n max = 100,\n name,\n disabled = false,\n className,\n step,\n variant = \"continuous\",\n valueField,\n withTicks,\n label,\n helperText,\n error,\n size = \"medium\",\n color = \"primary\",\n orientation = \"horizontal\",\n marks,\n // `range` is handled by the Slider dispatcher; destructured here to keep it off the DOM\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n range,\n getAriaValueText,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n\n const singleDefault = typeof defaultValue === \"number\" ? defaultValue : undefined;\n const singleValueProp = typeof valueProp === \"number\" ? valueProp : undefined;\n const isVertical = orientation === \"vertical\";\n\n const [valueState, setValue] = React.useState<number>(singleDefault ?? min);\n const [isDragging, setIsDragging] = React.useState<boolean>(false);\n const [isActive, setIsActive] = React.useState<boolean>(false);\n const [isFocused, setIsFocused] = React.useState<boolean>(false);\n\n const containerRef = React.useRef<HTMLSpanElement>(null);\n const rootRef = useForkRef<HTMLSpanElement>(ref, containerRef);\n const isPressedRef = React.useRef<boolean>(false);\n\n const isControlled = singleValueProp !== undefined;\n const isDiscrete = variant === \"discrete\";\n const value = isControlled ? singleValueProp : valueState;\n\n const updateValue = (value: number, event: Event | React.SyntheticEvent) => {\n if (value < min || value > max) return;\n if (!isControlled) {\n setValue(value);\n }\n onChange?.(event, value, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number) => {\n return rescale(absolute, [0, containerSize], [min, max], { step });\n };\n\n const onMouseDown = (event: React.MouseEvent<HTMLSpanElement>) => {\n if (disabled) {\n return;\n }\n\n if (event.button !== 0) {\n return;\n }\n\n isPressedRef.current = true;\n\n const element = containerRef.current;\n const rect = element?.getBoundingClientRect();\n\n if (rect) {\n const absolutePosition = isVertical ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const newValue = offsetToValue(absolutePosition, isVertical ? rect.height : rect.width);\n\n if (!isActive) {\n setIsActive(true);\n }\n\n updateValue(newValue, event);\n }\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n\n const onTouchStart = (event: TouchEvent) => {\n if (disabled) {\n return;\n }\n\n isPressedRef.current = true;\n\n const element = containerRef.current;\n const rect = element?.getBoundingClientRect();\n\n if (rect) {\n const touch = event.changedTouches?.[0];\n const absolutePosition = isVertical ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const newValue = offsetToValue(absolutePosition, isVertical ? rect.height : rect.width);\n\n if (!isActive) {\n setIsActive(true);\n }\n updateValue(newValue, event);\n }\n\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n const onMouseMove = useEventCallback((event: MouseEvent | TouchEvent) => {\n if (isPressedRef.current) {\n const element = containerRef.current;\n const rect = element?.getBoundingClientRect();\n\n if (rect) {\n // TODO need clarification обработка разных событий разных типов 1 функцией\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const clientX = coordX(event);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const clientY = coordY(event);\n const absolutePosition = isVertical ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const newValue = offsetToValue(absolutePosition, isVertical ? rect.height : rect.width);\n\n if (!isActive) {\n setIsActive(true);\n }\n\n if (value === newValue) {\n return;\n }\n\n if (!isDragging) {\n setIsDragging(true);\n }\n\n updateValue(newValue, event);\n }\n }\n });\n\n const onMouseEnd = useEventCallback(() => {\n isPressedRef.current = false;\n\n if (isDragging) {\n setIsDragging(false);\n }\n\n if (isActive) {\n setIsActive(false);\n }\n\n removeListeners();\n });\n\n const removeListeners = () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n\n const handleArrowsControls = (e: React.KeyboardEvent) => {\n if (!isFocused || disabled) return;\n if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\") {\n updateValue(value - (step || 1), e);\n }\n if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\") {\n updateValue(value + (step || 1), e);\n }\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n document.removeEventListener(\"keydown\", handleArrowsControls as (e: unknown) => void);\n };\n\n useSafeLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.addEventListener(\"touchstart\", onTouchStart);\n\n return () => {\n containerRef.current?.removeEventListener(\"touchstart\", onTouchStart);\n };\n }\n });\n\n useSafeLayoutEffect(() => {\n if (disabled && containerRef.current?.contains(document.activeElement)) {\n (document.activeElement as HTMLElement)?.blur();\n }\n }, [disabled]);\n\n const classNames = cn(\n \"smwb-slider\",\n className,\n {\n \"smwb-slider--disabled\": disabled,\n \"smwb-slider--dragging\": isDragging,\n \"smwb-slider--discrete\": isDiscrete,\n \"smwb-slider--vertical\": isVertical,\n },\n size !== \"medium\" && `smwb-slider_size-${size}`,\n color !== \"primary\" && `smwb-slider_color-${color}`\n );\n\n const pct = `${toPercent(value, min, max)}%`;\n const trackStyle = isVertical ? { height: pct } : { width: pct };\n const thumbStyle = isVertical ? { bottom: pct } : { left: pct };\n\n const getTicks = () => Array(Math.round(max / (step || 1)) + 1).fill(1) as number[];\n const markList = resolveMarks(marks, min, max, step);\n\n return (\n <TextFieldWrapper label={label} helperText={helperText} disabled={disabled} error={error} fullWidth shrink>\n <div className=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrowsControls}\n ref={rootRef}\n onMouseDown={onMouseDown}\n className={classNames}\n tabIndex={disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={handleBlur}\n {...rest}\n >\n {withTicks && (\n <span className=\"smwb-slider__ticks\" style={{ gap: `${step}` }}>\n {getTicks().map((t, idx) => (\n <span className=\"smwb-slider__tick\" key={idx} />\n ))}\n </span>\n )}\n {markList.length > 0 && (\n <span className=\"smwb-slider__marks\" aria-hidden=\"true\">\n {markList.map((m) => {\n const mp = `${toPercent(m.value, min, max)}%`;\n return (\n <span key={m.value} className=\"smwb-slider__mark\" style={isVertical ? { bottom: mp } : { left: mp }}>\n {m.label != null && <span className=\"smwb-slider__mark-label\">{m.label}</span>}\n </span>\n );\n })}\n </span>\n )}\n <span className=\"smwb-slider__rail\" />\n <span className=\"smwb-slider__track\" style={trackStyle} />\n <span\n className={cn(\"smwb-slider__thumb\", {\n \"smwb-slider__thumb--active\": isActive,\n \"smwb-slider__thumb--discrete\": isDiscrete,\n })}\n style={thumbStyle}\n >\n {isDiscrete && <span className=\"smwb-slider__thumb-tooltip\">{Math.round(value)}</span>}\n <input\n data-testid=\"slider-input\"\n className=\"smwb-slider__input\"\n type=\"range\"\n min={min}\n max={max}\n name={name}\n value={value}\n readOnly\n aria-label={ariaLabel}\n aria-orientation={orientation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuetext={getAriaValueText ? getAriaValueText(value) : undefined}\n aria-disabled={disabled || undefined}\n />\n </span>\n </span>\n {valueField && isDiscrete && (\n <TextField\n type=\"number\"\n value={value}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => updateValue(+e.target.value, e)}\n variant=\"filled\"\n helperText={null}\n />\n )}\n </div>\n </TextFieldWrapper>\n );\n});\n\nexport const Slider = React.forwardRef<HTMLSpanElement, SliderProps>(function Slider(props, ref) {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n\n return isRangeMode ? <RangeSlider ref={ref} {...props} /> : <SingleSlider ref={ref} {...props} />;\n});\n"],"names":["resolveMarks","marks","min","max","step","s","result","v","RangeSlider","React","props","ref","defaultValue","valueProp","onChange","name","disabled","className","label","helperText","error","size","color","orientation","getAriaValueText","ariaLabel","range","variant","valueField","withTicks","rest","isVertical","normalize","arr","lo","_a","_b","hi","_c","_d","isControlled","valueState","setValueState","value","containerRef","rootRef","useForkRef","activeThumb","isPressedRef","markList","positionToValue","event","rect","y","coordY","rescale","x","coordX","commit","next","clamped","moveThumb","raw","idx","pickThumb","onMouseMove","useEventCallback","onMouseEnd","onMouseDown","onTouchStartNative","useSafeLayoutEffect","el","onThumbKeyDown","delta","classNames","cn","p0","toPercent","p1","startPct","spanPct","mainStart","mainEnd","trackStyle","jsx","TextFieldWrapper","m","mp","SingleSlider","singleDefault","singleValueProp","setValue","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","isDiscrete","updateValue","offsetToValue","absolute","containerSize","element","absolutePosition","newValue","onTouchStart","touch","clientX","clientY","removeListeners","handleArrowsControls","e","handleBlur","pct","thumbStyle","getTicks","jsxs","TextField","Slider"],"mappings":"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"}
1
+ {"version":3,"file":"slider.js","sources":["../../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\nimport { useEventCallback } from \"../../../hooks/useEventCallback\";\nimport { useId } from \"../../../hooks/useId\";\nimport { rescale, toPercent, coordX, coordY, decimatedClamp } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { useHelperText } from \"../../../hooks/useHelperText\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: React.ReactNode;\n}\n\nexport interface SliderProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, \"onChange\" | \"defaultValue\"> {\n value?: SliderValue;\n onChange?: (event: Event | React.SyntheticEvent, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n /**\n * Draws a number field beside the slider for typing the value; a single\n * `discrete` slider only. The field is named as the slider is (see `label`\n * and `aria-label`).\n */\n valueField?: boolean;\n withTicks?: boolean;\n /**\n * Visible label, drawn above the slider. It names the slider; each thumb of a\n * range adds its own word: with `label=\"Price\"` they read \"Price minimum\" and\n * \"Price maximum\".\n */\n label?: string;\n helperText?: React.ReactNode;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n /** Slider direction. */\n orientation?: \"horizontal\" | \"vertical\";\n /** Show ticks/marks. `true` derives marks from `step`; an array gives explicit positions/labels. */\n marks?: boolean | SliderMark[];\n /**\n * Accessible name of the slider. Replaces the name the visible `label` gives\n * it; a slider without a label needs it or `aria-labelledby`. Each thumb of a\n * range adds its own word, as with `label`.\n */\n \"aria-label\"?: string;\n /**\n * Ids of the elements whose text names the slider. It goes on the range input,\n * not the root, and replaces the name the visible `label` gives it; as on any\n * element, it also wins over `aria-label`. Each thumb of a range adds its own\n * word, as with `label`.\n */\n \"aria-labelledby\"?: string;\n /** Maps the numeric value to a human-readable string for assistive tech. */\n getAriaValueText?: (value: number) => string;\n}\n\n// The word each thumb of a range adds to the slider's name, so the two read apart.\nconst THUMB_WORDS = [\"minimum\", \"maximum\"] as const;\n\nfunction resolveMarks(\n marks: boolean | SliderMark[] | undefined,\n min: number,\n max: number,\n step?: number\n): SliderMark[] {\n if (!marks) {\n return [];\n }\n if (Array.isArray(marks)) {\n return marks;\n }\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nconst RangeSlider = React.forwardRef<HTMLSpanElement, SliderProps>(function RangeSlider(props, ref) {\n const {\n defaultValue,\n value: valueProp,\n onChange,\n min = 0,\n max = 100,\n name,\n disabled = false,\n className,\n step,\n label,\n \"aria-labelledby\": ariaLabelledBy,\n helperText,\n error,\n size = \"medium\",\n color = \"primary\",\n orientation = \"horizontal\",\n marks,\n getAriaValueText,\n \"aria-label\": ariaLabel,\n // consumed by the dispatcher / not valid DOM attributes — keep them off the span\n /* eslint-disable @typescript-eslint/no-unused-vars */\n range,\n variant,\n valueField,\n withTicks,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n // The slider sets this on its root too; its own handler calls the caller's first.\n onMouseDown: onMouseDownProp,\n ...rest\n } = props;\n const helper = useHelperText(helperText);\n // The visible label names each thumb, followed by the thumb's own word\n // (\"Price minimum\"), as a caller's aria-label does. That aria-label replaces\n // the label: on one element aria-labelledby would win over it. A caller's\n // aria-labelledby replaces the label too, and names the thumbs the same way.\n const baseId = useId();\n const labelId = `${baseId}-label`;\n const thumbWordId = (idx: 0 | 1) => `${baseId}-${THUMB_WORDS[idx]}`;\n const labelledBy = ariaLabelledBy || (label && !ariaLabel ? labelId : undefined);\n\n const isVertical = orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [min, max];\n const lo = Math.min(arr[0] ?? min, arr[1] ?? max);\n const hi = Math.max(arr[0] ?? min, arr[1] ?? max);\n return [lo, hi];\n };\n\n const isControlled = valueProp !== undefined;\n const [valueState, setValueState] = React.useState<[number, number]>(() => normalize(defaultValue));\n const value = isControlled ? normalize(valueProp) : valueState;\n\n const containerRef = React.useRef<HTMLSpanElement>(null);\n const rootRef = useForkRef<HTMLSpanElement>(ref, containerRef);\n const activeThumb = React.useRef<0 | 1>(0);\n const isPressedRef = React.useRef<boolean>(false);\n\n const markList = resolveMarks(marks, min, max, step);\n\n const positionToValue = (event: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent) => {\n const rect = containerRef.current?.getBoundingClientRect();\n if (!rect) {\n return min;\n }\n if (isVertical) {\n const y =\n (typeof (event as MouseEvent).clientY === \"number\"\n ? (event as MouseEvent).clientY\n : coordY(event as React.MouseEvent)) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [min, max], { step });\n }\n const x =\n (typeof (event as MouseEvent).clientX === \"number\"\n ? (event as MouseEvent).clientX\n : coordX(event as React.MouseEvent)) - rect.left;\n return rescale(x, [0, rect.width], [min, max], { step });\n };\n\n const commit = (next: [number, number], event: Event | React.SyntheticEvent) => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(min, lo), Math.min(max, hi)];\n if (!isControlled) {\n setValueState(clamped);\n }\n onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event | React.SyntheticEvent) => {\n const idx = activeThumb.current;\n const next: [number, number] = [value[0], value[1]];\n next[idx] = Math.max(min, Math.min(max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number) => {\n activeThumb.current = Math.abs(raw - value[0]) <= Math.abs(raw - value[1]) ? 0 : 1;\n };\n\n const onMouseMove = useEventCallback((event: MouseEvent | TouchEvent) => {\n if (!isPressedRef.current) {\n return;\n }\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n });\n\n const onMouseEnd = useEventCallback(() => {\n isPressedRef.current = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n });\n\n const onMouseDown = (event: React.MouseEvent<HTMLSpanElement>) => {\n onMouseDownProp?.(event);\n if (disabled || event.button !== 0) {\n return;\n }\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressedRef.current = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n\n const onTouchStartNative = (event: TouchEvent) => {\n if (disabled) {\n return;\n }\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressedRef.current = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n useSafeLayoutEffect(() => {\n const el = containerRef.current;\n if (!el) {\n return;\n }\n el.addEventListener(\"touchstart\", onTouchStartNative);\n return () => el.removeEventListener(\"touchstart\", onTouchStartNative);\n });\n\n const onThumbKeyDown = (idx: 0 | 1) => (event: React.KeyboardEvent) => {\n if (disabled) {\n return;\n }\n const delta = step && step > 0 ? step : 1;\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n next = value[idx] - delta;\n } else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n next = value[idx] + delta;\n } else if (event.key === \"Home\") {\n next = min;\n } else if (event.key === \"End\") {\n next = max;\n }\n if (next !== null) {\n event.preventDefault();\n activeThumb.current = idx;\n moveThumb(next, event);\n }\n };\n\n const classNames = cn(\n \"smwb-slider\",\n \"smwb-slider--range\",\n className,\n {\n \"smwb-slider--disabled\": disabled,\n \"smwb-slider--vertical\": isVertical,\n },\n size !== \"medium\" && `smwb-slider_size-${size}`,\n color !== \"primary\" && `smwb-slider_color-${color}`\n );\n\n const p0 = toPercent(value[0], min, max);\n const p1 = toPercent(value[1], min, max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n const mainStart = isVertical ? { bottom: `${p0}%` } : { left: `${p0}%` };\n const mainEnd = isVertical ? { bottom: `${p1}%` } : { left: `${p1}%` };\n const trackStyle = isVertical ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n\n return (\n <TextFieldWrapper\n label={label}\n labelId={labelId}\n helperText={helperText}\n helperTextId={helper.id}\n disabled={disabled}\n error={error}\n fullWidth\n shrink\n >\n <div className=\"smwb-slider__container\">\n <span ref={rootRef} onMouseDown={onMouseDown} className={classNames} {...rest}>\n {markList.length > 0 && (\n <span className=\"smwb-slider__marks\" aria-hidden=\"true\">\n {markList.map((m) => {\n const mp = `${toPercent(m.value, min, max)}%`;\n return (\n <span key={m.value} className=\"smwb-slider__mark\" style={isVertical ? { bottom: mp } : { left: mp }}>\n {m.label != null && <span className=\"smwb-slider__mark-label\">{m.label}</span>}\n </span>\n );\n })}\n </span>\n )}\n <span className=\"smwb-slider__rail\" />\n <span className=\"smwb-slider__track\" style={trackStyle} />\n {([0, 1] as const).map((idx) => (\n <span\n key={idx}\n className={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={idx === 0 ? mainStart : mainEnd}\n >\n <input\n data-testid={`slider-input-${idx}`}\n className=\"smwb-slider__input\"\n type=\"range\"\n min={min}\n max={max}\n step={step}\n name={name ? `${name}[${idx}]` : undefined}\n value={value[idx]}\n disabled={disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel ? `${ariaLabel} ${THUMB_WORDS[idx]}` : undefined}\n aria-labelledby={labelledBy ? `${labelledBy} ${thumbWordId(idx)}` : undefined}\n aria-describedby={helper.describedBy}\n aria-orientation={orientation}\n aria-valuenow={value[idx]}\n aria-valuemin={idx === 0 ? min : value[0]}\n aria-valuemax={idx === 0 ? value[1] : max}\n aria-valuetext={getAriaValueText ? getAriaValueText(value[idx]) : undefined}\n aria-disabled={disabled || undefined}\n />\n {labelledBy ? (\n <span id={thumbWordId(idx)} hidden>\n {THUMB_WORDS[idx]}\n </span>\n ) : null}\n </span>\n ))}\n </span>\n </div>\n </TextFieldWrapper>\n );\n});\n\nconst SingleSlider = React.forwardRef<HTMLSpanElement, SliderProps>(function SingleSlider(props, ref) {\n const {\n defaultValue,\n value: valueProp,\n onChange,\n min = 0,\n max = 100,\n name,\n disabled = false,\n className,\n step,\n variant = \"continuous\",\n valueField,\n withTicks,\n label,\n \"aria-labelledby\": ariaLabelledBy,\n helperText,\n error,\n size = \"medium\",\n color = \"primary\",\n orientation = \"horizontal\",\n marks,\n // `range` is handled by the Slider dispatcher; destructured here to keep it off the DOM\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n range,\n getAriaValueText,\n \"aria-label\": ariaLabel,\n // The slider sets these on its root too; its own handlers call the caller's first.\n onMouseDown: onMouseDownProp,\n onKeyDown: onKeyDownProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n ...rest\n } = props;\n const helper = useHelperText(helperText);\n // The visible label names the slider. A caller's aria-label replaces it: on\n // one element aria-labelledby would win over it. A caller's aria-labelledby\n // replaces it too, on the input rather than the root.\n const baseId = useId();\n const labelId = `${baseId}-label`;\n const labelledBy = ariaLabelledBy || (label && !ariaLabel ? labelId : undefined);\n\n const singleDefault = typeof defaultValue === \"number\" ? defaultValue : undefined;\n const singleValueProp = typeof valueProp === \"number\" ? valueProp : undefined;\n const isVertical = orientation === \"vertical\";\n\n const [valueState, setValue] = React.useState<number>(singleDefault ?? min);\n const [isDragging, setIsDragging] = React.useState<boolean>(false);\n const [isActive, setIsActive] = React.useState<boolean>(false);\n const [isFocused, setIsFocused] = React.useState<boolean>(false);\n\n const containerRef = React.useRef<HTMLSpanElement>(null);\n const rootRef = useForkRef<HTMLSpanElement>(ref, containerRef);\n const isPressedRef = React.useRef<boolean>(false);\n\n const isControlled = singleValueProp !== undefined;\n const isDiscrete = variant === \"discrete\";\n const value = isControlled ? singleValueProp : valueState;\n\n const updateValue = (value: number, event: Event | React.SyntheticEvent) => {\n if (value < min || value > max) return;\n if (!isControlled) {\n setValue(value);\n }\n onChange?.(event, value, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number) => {\n return rescale(absolute, [0, containerSize], [min, max], { step });\n };\n\n const onMouseDown = (event: React.MouseEvent<HTMLSpanElement>) => {\n onMouseDownProp?.(event);\n if (disabled) {\n return;\n }\n\n if (event.button !== 0) {\n return;\n }\n\n isPressedRef.current = true;\n\n const element = containerRef.current;\n const rect = element?.getBoundingClientRect();\n\n if (rect) {\n const absolutePosition = isVertical ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const newValue = offsetToValue(absolutePosition, isVertical ? rect.height : rect.width);\n\n if (!isActive) {\n setIsActive(true);\n }\n\n updateValue(newValue, event);\n }\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n\n const onTouchStart = (event: TouchEvent) => {\n if (disabled) {\n return;\n }\n\n isPressedRef.current = true;\n\n const element = containerRef.current;\n const rect = element?.getBoundingClientRect();\n\n if (rect) {\n const touch = event.changedTouches?.[0];\n const absolutePosition = isVertical ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const newValue = offsetToValue(absolutePosition, isVertical ? rect.height : rect.width);\n\n if (!isActive) {\n setIsActive(true);\n }\n updateValue(newValue, event);\n }\n\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n const onMouseMove = useEventCallback((event: MouseEvent | TouchEvent) => {\n if (isPressedRef.current) {\n const element = containerRef.current;\n const rect = element?.getBoundingClientRect();\n\n if (rect) {\n // TODO need clarification обработка разных событий разных типов 1 функцией\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const clientX = coordX(event);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const clientY = coordY(event);\n const absolutePosition = isVertical ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const newValue = offsetToValue(absolutePosition, isVertical ? rect.height : rect.width);\n\n if (!isActive) {\n setIsActive(true);\n }\n\n if (value === newValue) {\n return;\n }\n\n if (!isDragging) {\n setIsDragging(true);\n }\n\n updateValue(newValue, event);\n }\n }\n });\n\n const onMouseEnd = useEventCallback(() => {\n isPressedRef.current = false;\n\n if (isDragging) {\n setIsDragging(false);\n }\n\n if (isActive) {\n setIsActive(false);\n }\n\n removeListeners();\n });\n\n const removeListeners = () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n\n const handleArrowsControls = (e: React.KeyboardEvent<HTMLSpanElement>) => {\n onKeyDownProp?.(e);\n if (!isFocused || disabled) return;\n if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\") {\n updateValue(value - (step || 1), e);\n }\n if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\") {\n updateValue(value + (step || 1), e);\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLSpanElement>) => {\n onFocusProp?.(event);\n setIsFocused(true);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLSpanElement>) => {\n onBlurProp?.(event);\n setIsFocused(false);\n document.removeEventListener(\"keydown\", handleArrowsControls as (e: unknown) => void);\n };\n\n // The value field shows the text typed into it until that text is committed,\n // on blur or Enter; `null` shows the slider's value. A typed value the slider\n // can take (in its range and on its step grid) moves the slider at once. Any\n // other waits for the commit, which snaps it to the nearest value the slider\n // can take: so \"35\" with a step of 10 becomes 40, and \"50\" can be typed past\n // its \"5\" below a min of 10.\n const [fieldText, setFieldText] = React.useState<string | null>(null);\n\n const onFieldChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const text = event.target.value;\n setFieldText(text);\n const typed = Number(text);\n if (text.trim() !== \"\" && decimatedClamp(typed, min, max, step) === typed) {\n updateValue(typed, event);\n }\n };\n\n const commitField = (event: React.SyntheticEvent<HTMLInputElement>) => {\n if (fieldText === null) return;\n setFieldText(null);\n const typed = Number(fieldText);\n if (fieldText.trim() === \"\" || !Number.isFinite(typed)) return;\n const snapped = decimatedClamp(typed, min, max, step);\n if (snapped !== value) updateValue(snapped, event);\n };\n\n useSafeLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.addEventListener(\"touchstart\", onTouchStart);\n\n return () => {\n containerRef.current?.removeEventListener(\"touchstart\", onTouchStart);\n };\n }\n });\n\n useSafeLayoutEffect(() => {\n if (disabled && containerRef.current?.contains(document.activeElement)) {\n (document.activeElement as HTMLElement)?.blur();\n }\n }, [disabled]);\n\n const classNames = cn(\n \"smwb-slider\",\n className,\n {\n \"smwb-slider--disabled\": disabled,\n \"smwb-slider--dragging\": isDragging,\n \"smwb-slider--discrete\": isDiscrete,\n \"smwb-slider--vertical\": isVertical,\n },\n size !== \"medium\" && `smwb-slider_size-${size}`,\n color !== \"primary\" && `smwb-slider_color-${color}`\n );\n\n const pct = `${toPercent(value, min, max)}%`;\n const trackStyle = isVertical ? { height: pct } : { width: pct };\n const thumbStyle = isVertical ? { bottom: pct } : { left: pct };\n\n const getTicks = () => Array(Math.round(max / (step || 1)) + 1).fill(1) as number[];\n const markList = resolveMarks(marks, min, max, step);\n\n return (\n <TextFieldWrapper\n label={label}\n labelId={labelId}\n helperText={helperText}\n helperTextId={helper.id}\n disabled={disabled}\n error={error}\n fullWidth\n shrink\n >\n <div className=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrowsControls}\n ref={rootRef}\n onMouseDown={onMouseDown}\n className={classNames}\n tabIndex={disabled ? -1 : 0}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n {withTicks && (\n <span className=\"smwb-slider__ticks\" style={{ gap: `${step}` }}>\n {getTicks().map((t, idx) => (\n <span className=\"smwb-slider__tick\" key={idx} />\n ))}\n </span>\n )}\n {markList.length > 0 && (\n <span className=\"smwb-slider__marks\" aria-hidden=\"true\">\n {markList.map((m) => {\n const mp = `${toPercent(m.value, min, max)}%`;\n return (\n <span key={m.value} className=\"smwb-slider__mark\" style={isVertical ? { bottom: mp } : { left: mp }}>\n {m.label != null && <span className=\"smwb-slider__mark-label\">{m.label}</span>}\n </span>\n );\n })}\n </span>\n )}\n <span className=\"smwb-slider__rail\" />\n <span className=\"smwb-slider__track\" style={trackStyle} />\n <span\n className={cn(\"smwb-slider__thumb\", {\n \"smwb-slider__thumb--active\": isActive,\n \"smwb-slider__thumb--discrete\": isDiscrete,\n })}\n style={thumbStyle}\n >\n {isDiscrete && <span className=\"smwb-slider__thumb-tooltip\">{Math.round(value)}</span>}\n <input\n data-testid=\"slider-input\"\n className=\"smwb-slider__input\"\n type=\"range\"\n min={min}\n max={max}\n name={name}\n value={value}\n readOnly\n aria-label={ariaLabel}\n aria-labelledby={labelledBy}\n aria-describedby={helper.describedBy}\n aria-orientation={orientation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuetext={getAriaValueText ? getAriaValueText(value) : undefined}\n aria-disabled={disabled || undefined}\n />\n </span>\n </span>\n {valueField && isDiscrete && (\n <TextField\n type=\"number\"\n // Stepped, bounded and disabled as the slider is.\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n value={fieldText ?? value}\n onChange={onFieldChange}\n onBlur={commitField}\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") commitField(e);\n }}\n variant=\"filled\"\n helperText={null}\n // It sets the slider's value, so it takes the slider's name.\n aria-label={ariaLabel}\n aria-labelledby={labelledBy}\n />\n )}\n </div>\n </TextFieldWrapper>\n );\n});\n\nexport const Slider = React.forwardRef<HTMLSpanElement, SliderProps>(function Slider(props, ref) {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n\n return isRangeMode ? <RangeSlider ref={ref} {...props} /> : <SingleSlider ref={ref} {...props} />;\n});\n"],"names":["THUMB_WORDS","resolveMarks","marks","min","max","step","s","result","v","RangeSlider","React","props","ref","defaultValue","valueProp","onChange","name","disabled","className","label","ariaLabelledBy","helperText","error","size","color","orientation","getAriaValueText","ariaLabel","range","variant","valueField","withTicks","onMouseDownProp","rest","helper","useHelperText","baseId","useId","labelId","thumbWordId","idx","labelledBy","isVertical","normalize","arr","lo","_a","_b","hi","_c","_d","isControlled","valueState","setValueState","value","containerRef","rootRef","useForkRef","activeThumb","isPressedRef","markList","positionToValue","event","rect","y","coordY","rescale","x","coordX","commit","next","clamped","moveThumb","raw","pickThumb","onMouseMove","useEventCallback","onMouseEnd","onMouseDown","onTouchStartNative","useSafeLayoutEffect","el","onThumbKeyDown","delta","classNames","cn","p0","toPercent","p1","startPct","spanPct","mainStart","mainEnd","trackStyle","jsx","TextFieldWrapper","jsxs","m","mp","SingleSlider","onKeyDownProp","onFocusProp","onBlurProp","singleDefault","singleValueProp","setValue","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","isDiscrete","updateValue","offsetToValue","absolute","containerSize","element","absolutePosition","newValue","onTouchStart","touch","clientX","clientY","removeListeners","handleArrowsControls","e","handleFocus","handleBlur","fieldText","setFieldText","onFieldChange","text","typed","decimatedClamp","commitField","snapped","pct","thumbStyle","getTicks","TextField","Slider"],"mappings":"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"}
@@ -1,125 +1,143 @@
1
- import { jsx as k } from "react/jsx-runtime";
1
+ import { jsx as A } from "react/jsx-runtime";
2
2
  import t from "react";
3
3
  import C from "clsx";
4
- import { useSafeLayoutEffect as J } from "../../../hooks/useSafeLayoutEffect.js";
5
- import { useForkRef as K } from "../../../hooks/useForkRef.js";
6
- import { isFilled as Q } from "./utils.js";
7
- import { TextFieldWrapper as U } from "./textFieldWrapper.js";
8
- const ie = t.forwardRef(function(a, S) {
4
+ import { useSafeLayoutEffect as P } from "../../../hooks/useSafeLayoutEffect.js";
5
+ import { useForkRef as ee } from "../../../hooks/useForkRef.js";
6
+ import { useId as te } from "../../../hooks/useId.js";
7
+ import { isFilled as re } from "./utils.js";
8
+ import { TextFieldWrapper as ie } from "./textFieldWrapper.js";
9
+ import { useHelperText as se } from "../../../hooks/useHelperText.js";
10
+ function ne(_) {
11
+ const r = {}, d = {};
12
+ for (const [i, a] of Object.entries(_))
13
+ i.startsWith("data-") ? r[i] = a : d[i] = a;
14
+ return [r, d];
15
+ }
16
+ const he = t.forwardRef(function(r, d) {
9
17
  const {
10
- label: F,
11
- helperText: T,
12
- variant: v = "outlined",
13
- size: _ = "medium",
14
- required: h,
15
- className: y,
16
- disabled: i,
17
- value: s,
18
- defaultValue: B,
19
- onChange: u,
20
- onFocus: f,
21
- onBlur: c,
22
- error: b,
23
- name: D,
24
- type: E = "text",
25
- readOnly: N,
26
- placeholder: q,
27
- fullWidth: z,
28
- id: w,
29
- startAdornment: d,
30
- endAdornment: R,
31
- inline: m,
32
- autoComplete: A,
33
- inputMode: I,
34
- ...M
35
- } = a, [p, x] = t.useState(!1), [W, j] = t.useState(!1), { current: o } = t.useRef(s != null), n = t.useRef(null), H = K(S, n), L = (e) => {
36
- if (i) {
18
+ label: i,
19
+ helperText: a,
20
+ "aria-describedby": D,
21
+ variant: I = "outlined",
22
+ size: w = "medium",
23
+ required: T,
24
+ className: S,
25
+ style: q,
26
+ disabled: o,
27
+ value: c,
28
+ defaultValue: E,
29
+ onChange: m,
30
+ onFocus: p,
31
+ onBlur: b,
32
+ error: g,
33
+ name: N,
34
+ type: W = "text",
35
+ readOnly: j,
36
+ placeholder: z,
37
+ fullWidth: H,
38
+ id: M,
39
+ startAdornment: h,
40
+ endAdornment: k,
41
+ inline: f,
42
+ autoComplete: O,
43
+ inputMode: L,
44
+ // Never drawn: an <input> takes no children (React throws on them).
45
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
+ children: ae,
47
+ ...V
48
+ } = r, [$, x] = ne(V), v = te(M), [F, y] = t.useState(!1), [G, J] = t.useState(!1), l = c != null, s = t.useRef(null), K = ee(d, s), B = se(a, { inline: f, describedBy: D }), Q = (e) => {
49
+ if (o) {
37
50
  e.stopPropagation();
38
51
  return;
39
52
  }
40
- f == null || f(e), x(!0);
41
- }, O = (e) => {
42
- if (!o) {
43
- const r = e.target || n.current;
44
- l({
45
- value: r.value
53
+ p == null || p(e), y(!0);
54
+ }, U = (e) => {
55
+ if (!l) {
56
+ const n = e.target || s.current;
57
+ u({
58
+ value: n.value
46
59
  });
47
60
  }
48
- c == null || c(e, a), x(!1);
49
- }, l = t.useCallback((e) => {
50
- const r = !!Q(e);
51
- j((g) => g === r ? g : r);
52
- }, []), V = (e) => {
53
- if (!o) {
54
- const r = e.target || n.current;
55
- l({
56
- value: r.value
61
+ b == null || b(e, r), y(!1);
62
+ }, u = t.useCallback((e) => {
63
+ const n = !!re(e);
64
+ J((R) => R === n ? R : n);
65
+ }, []), X = (e) => {
66
+ if (!l) {
67
+ const n = e.target || s.current;
68
+ u({
69
+ value: n.value
57
70
  });
58
71
  }
59
- u == null || u(e, a);
60
- }, $ = (e) => {
61
- n.current && e.currentTarget === e.target && (e.preventDefault(), n.current.focus());
72
+ m == null || m(e, r);
73
+ }, Y = (e) => {
74
+ s.current && e.currentTarget === e.target && (e.preventDefault(), s.current.focus());
62
75
  };
63
76
  t.useEffect(() => {
64
- i && p && x(!1);
65
- }, [i, p]), t.useEffect(() => {
66
- o || l(n.current);
67
- }), J(() => {
68
- o && l({ value: s });
69
- }, [s, o, l]);
70
- const G = C(
77
+ o && F && y(!1);
78
+ }, [o, F]), t.useEffect(() => {
79
+ var e;
80
+ l || u({ value: (e = s.current) == null ? void 0 : e.value });
81
+ }), P(() => {
82
+ l && u({ value: c });
83
+ }, [c, l, u]);
84
+ const Z = C(
71
85
  "smwb-text-field__input",
72
- (!F || m) && "smwb-text-field__input--show-placeholder",
73
- d && "smwb-text-field__input--adornment-start",
74
- R && "smwb-text-field__input--adornment-end",
75
- m && "smwb-text-field__input--inline"
86
+ (!i || f) && "smwb-text-field__input--show-placeholder",
87
+ h && "smwb-text-field__input--adornment-start",
88
+ k && "smwb-text-field__input--adornment-end",
89
+ f && "smwb-text-field__input--inline"
76
90
  );
77
- return /* @__PURE__ */ k(
78
- U,
91
+ return /* @__PURE__ */ A(
92
+ ie,
79
93
  {
80
- label: F,
81
- helperText: T,
82
- variant: v,
83
- disabled: i,
84
- className: C(y, _ !== "medium" && `smwb-text-field_size-${_}`),
85
- error: b,
86
- fullWidth: z,
87
- isFilledState: W,
88
- isFocused: p,
89
- htmlFor: w,
90
- shrink: !!d,
91
- onHolderMouseDown: $,
92
- startAdornment: d,
93
- endAdornment: R,
94
- inline: m,
95
- ...M,
96
- children: /* @__PURE__ */ k(
94
+ label: i,
95
+ helperText: a,
96
+ helperTextId: B.id,
97
+ variant: I,
98
+ disabled: o,
99
+ className: C(S, w !== "medium" && `smwb-text-field_size-${w}`),
100
+ style: q,
101
+ error: g,
102
+ fullWidth: H,
103
+ isFilledState: G,
104
+ isFocused: F,
105
+ htmlFor: v,
106
+ shrink: !!h,
107
+ onHolderMouseDown: Y,
108
+ startAdornment: h,
109
+ endAdornment: k,
110
+ inline: f,
111
+ ...$,
112
+ children: /* @__PURE__ */ A(
97
113
  "input",
98
114
  {
99
- type: E,
100
- defaultValue: B,
101
- name: D,
102
- readOnly: N,
103
- required: h,
104
- "aria-invalid": b || void 0,
105
- "aria-required": h || void 0,
106
- placeholder: q,
107
- disabled: i,
108
- value: s,
109
- className: G,
110
- ref: H,
111
- onChange: V,
112
- onFocus: L,
113
- onBlur: O,
114
- id: w,
115
- autoComplete: A,
116
- inputMode: I
115
+ ...x,
116
+ type: W,
117
+ defaultValue: E,
118
+ name: N,
119
+ readOnly: j,
120
+ required: T,
121
+ "aria-invalid": g || x["aria-invalid"],
122
+ "aria-required": T || x["aria-required"],
123
+ placeholder: z,
124
+ disabled: o,
125
+ value: c,
126
+ className: Z,
127
+ ref: K,
128
+ onChange: X,
129
+ onFocus: Q,
130
+ onBlur: U,
131
+ id: v,
132
+ autoComplete: O,
133
+ inputMode: L,
134
+ "aria-describedby": B.describedBy
117
135
  }
118
136
  )
119
137
  }
120
138
  );
121
139
  });
122
140
  export {
123
- ie as TextField
141
+ he as TextField
124
142
  };
125
143
  //# sourceMappingURL=textField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textField.js","sources":["../../../../../src/components/inputs/textField/textField.tsx"],"sourcesContent":["import React, { ChangeEventHandler } from \"react\";\nimport cn from \"clsx\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { isFilled } from \"./utils\";\nimport { TextFieldWrapper } from \"./textFieldWrapper\";\n\nexport interface TextFieldProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"onBlur\" | \"size\"\n> {\n label?: string;\n helperText?: React.ReactNode;\n variant?: \"outlined\" | \"filled\";\n size?: \"small\" | \"medium\" | \"large\";\n required?: boolean;\n disabled?: boolean;\n value?: string | number;\n className?: string;\n placeholder?: string;\n defaultValue?: string;\n error?: boolean;\n name?: string;\n type?: string;\n readOnly?: boolean;\n fullWidth?: boolean;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, data: TextFieldProps) => void;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: TextFieldProps) => void;\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n id?: string;\n inline?: boolean;\n autoComplete?: string;\n}\n\nexport const TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(function TextField(props, ref) {\n const {\n label,\n helperText,\n variant = \"outlined\",\n size = \"medium\",\n required,\n className,\n disabled,\n value,\n defaultValue,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n error,\n name,\n type = \"text\",\n readOnly,\n placeholder,\n fullWidth,\n id,\n startAdornment,\n endAdornment,\n inline,\n autoComplete,\n inputMode,\n ...rest\n } = props;\n const [isFocused, setIsFocused] = React.useState<boolean>(false);\n const [isFilledState, setIsFilledState] = React.useState<boolean>(false);\n\n const { current: isControlled } = React.useRef<boolean>(value != null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef<HTMLInputElement>(ref, inputRef);\n\n const onFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n onFocusProp?.(event);\n\n setIsFocused(true);\n };\n\n const onBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n\n checkDirty({\n value: element.value,\n });\n }\n onBlurProp?.(event, props);\n setIsFocused(false);\n };\n\n const checkDirty = React.useCallback((obj: Parameters<typeof isFilled>[0]) => {\n const filled = Boolean(isFilled(obj));\n setIsFilledState((prev) => (prev === filled ? prev : filled));\n }, []);\n\n const onChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n\n checkDirty({\n value: element.value,\n });\n }\n onChangeProp?.(event, props);\n };\n\n const onHolderMouseDown: React.MouseEventHandler<HTMLDivElement> = (event) => {\n if (inputRef.current && event.currentTarget === event.target) {\n event.preventDefault();\n inputRef.current.focus();\n }\n };\n\n React.useEffect(() => {\n if (disabled && isFocused) {\n setIsFocused(false);\n }\n }, [disabled, isFocused]);\n\n // Uncontrolled inputs can receive a value imperatively — e.g. react-hook-form's\n // `register` sets the DOM value on `reset(...)` without firing onChange. Re-derive\n // the filled state from the DOM on every render (the form re-renders on reset) so\n // the floating label still rises. `checkDirty` is a no-op when nothing changed.\n React.useEffect(() => {\n if (!isControlled) {\n checkDirty(inputRef.current);\n }\n });\n\n useSafeLayoutEffect(() => {\n if (isControlled) {\n checkDirty({ value });\n }\n }, [value, isControlled, checkDirty]);\n\n const inputClasses = cn(\n \"smwb-text-field__input\",\n (!label || inline) && \"smwb-text-field__input--show-placeholder\",\n startAdornment && \"smwb-text-field__input--adornment-start\",\n endAdornment && \"smwb-text-field__input--adornment-end\",\n inline && \"smwb-text-field__input--inline\"\n );\n\n return (\n <TextFieldWrapper\n label={label}\n helperText={helperText}\n variant={variant}\n disabled={disabled}\n className={cn(className, size !== \"medium\" && `smwb-text-field_size-${size}`)}\n error={error}\n fullWidth={fullWidth}\n isFilledState={isFilledState}\n isFocused={isFocused}\n htmlFor={id}\n shrink={Boolean(startAdornment)}\n onHolderMouseDown={onHolderMouseDown}\n startAdornment={startAdornment}\n endAdornment={endAdornment}\n inline={inline}\n {...rest}\n >\n <input\n type={type}\n defaultValue={defaultValue}\n name={name}\n readOnly={readOnly}\n required={required}\n aria-invalid={error || undefined}\n aria-required={required || undefined}\n placeholder={placeholder}\n disabled={disabled}\n value={value}\n className={inputClasses}\n ref={inputForkRef}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n id={id}\n autoComplete={autoComplete}\n inputMode={inputMode}\n />\n </TextFieldWrapper>\n );\n});\n"],"names":["TextField","React","props","ref","label","helperText","variant","size","required","className","disabled","value","defaultValue","onChangeProp","onFocusProp","onBlurProp","error","name","type","readOnly","placeholder","fullWidth","id","startAdornment","endAdornment","inline","autoComplete","inputMode","rest","isFocused","setIsFocused","isFilledState","setIsFilledState","isControlled","inputRef","inputForkRef","useForkRef","onFocus","event","onBlur","element","checkDirty","obj","filled","isFilled","prev","onChange","onHolderMouseDown","useSafeLayoutEffect","inputClasses","cn","jsx","TextFieldWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"textField.js","sources":["../../../../../src/components/inputs/textField/textField.tsx"],"sourcesContent":["import React, { ChangeEventHandler } from \"react\";\nimport cn from \"clsx\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { useId } from \"../../../hooks/useId\";\nimport { isFilled } from \"./utils\";\nimport { TextFieldWrapper } from \"./textFieldWrapper\";\nimport { useHelperText } from \"../../../hooks/useHelperText\";\n\nexport interface TextFieldProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"onBlur\" | \"size\"\n> {\n /** Visible label; it points to the `<input>`, so it also names the field. Not drawn for an `inline` field. */\n label?: string;\n helperText?: React.ReactNode;\n variant?: \"outlined\" | \"filled\";\n size?: \"small\" | \"medium\" | \"large\";\n required?: boolean;\n disabled?: boolean;\n value?: string | number;\n /**\n * Class name(s) for the root wrapper `<div>`. `style` and `data-*` attributes go to the wrapper too (a `data-testid`\n * replaces its default `text-field`); every other HTML attribute (`aria-*`, `autoFocus`, `maxLength`, event handlers)\n * goes to the `<input>`.\n */\n className?: string;\n placeholder?: string;\n defaultValue?: string;\n error?: boolean;\n name?: string;\n type?: string;\n readOnly?: boolean;\n fullWidth?: boolean;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, data: TextFieldProps) => void;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: TextFieldProps) => void;\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n /** Id of the `<input>`; the label points to it. Generated when not given. */\n id?: string;\n inline?: boolean;\n autoComplete?: string;\n}\n\ntype DataAttributes = Record<`data-${string}`, unknown>;\n\n// Splits off the `data-*` attributes, which stay on the wrapper as they always have.\nfunction splitDataAttributes<T extends object>(props: T): [DataAttributes, T] {\n const data: DataAttributes = {};\n const other: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(props)) {\n if (key.startsWith(\"data-\")) {\n data[key as keyof DataAttributes] = value;\n } else {\n other[key] = value;\n }\n }\n return [data, other as T];\n}\n\nexport const TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(function TextField(props, ref) {\n const {\n label,\n helperText,\n \"aria-describedby\": ariaDescribedBy,\n variant = \"outlined\",\n size = \"medium\",\n required,\n className,\n style,\n disabled,\n value,\n defaultValue,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n error,\n name,\n type = \"text\",\n readOnly,\n placeholder,\n fullWidth,\n id,\n startAdornment,\n endAdornment,\n inline,\n autoComplete,\n inputMode,\n // Never drawn: an <input> takes no children (React throws on them).\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n ...rest\n } = props;\n // `className`, `style` and `data-*` go to the wrapper; every other attribute\n // (aria-*, autoFocus, maxLength, event handlers) belongs to the <input>.\n const [dataAttributes, inputAttributes] = splitDataAttributes(rest);\n // Without an id the label would point at nothing and leave the input unnamed.\n const inputId = useId(id);\n const [isFocused, setIsFocused] = React.useState<boolean>(false);\n const [isFilledState, setIsFilledState] = React.useState<boolean>(false);\n\n // Controlled while the caller passes a value (`null` counts as none, as in\n // React DOM), checked on every render: a value passed after mount takes over.\n const isControlled = value != null;\n const inputRef = React.useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef<HTMLInputElement>(ref, inputRef);\n const helper = useHelperText(helperText, { inline, describedBy: ariaDescribedBy });\n\n const onFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n onFocusProp?.(event);\n\n setIsFocused(true);\n };\n\n const onBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n\n checkDirty({\n value: element.value,\n });\n }\n onBlurProp?.(event, props);\n setIsFocused(false);\n };\n\n const checkDirty = React.useCallback((obj: Parameters<typeof isFilled>[0]) => {\n const filled = Boolean(isFilled(obj));\n setIsFilledState((prev) => (prev === filled ? prev : filled));\n }, []);\n\n const onChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n\n checkDirty({\n value: element.value,\n });\n }\n onChangeProp?.(event, props);\n };\n\n const onHolderMouseDown: React.MouseEventHandler<HTMLDivElement> = (event) => {\n if (inputRef.current && event.currentTarget === event.target) {\n event.preventDefault();\n inputRef.current.focus();\n }\n };\n\n React.useEffect(() => {\n if (disabled && isFocused) {\n setIsFocused(false);\n }\n }, [disabled, isFocused]);\n\n // Uncontrolled inputs can receive a value imperatively — e.g. react-hook-form's\n // `register` sets the DOM value on `reset(...)` without firing onChange. Re-derive\n // the filled state from the DOM on every render (the form re-renders on reset) so\n // the floating label still rises. `checkDirty` is a no-op when nothing changed.\n React.useEffect(() => {\n if (!isControlled) {\n // Only the text counts: the element's `defaultValue` is the `value` attribute,\n // which React DOM leaves at the default, or at the last value a parent passed.\n checkDirty({ value: inputRef.current?.value });\n }\n });\n\n useSafeLayoutEffect(() => {\n if (isControlled) {\n checkDirty({ value });\n }\n }, [value, isControlled, checkDirty]);\n\n const inputClasses = cn(\n \"smwb-text-field__input\",\n (!label || inline) && \"smwb-text-field__input--show-placeholder\",\n startAdornment && \"smwb-text-field__input--adornment-start\",\n endAdornment && \"smwb-text-field__input--adornment-end\",\n inline && \"smwb-text-field__input--inline\"\n );\n\n return (\n <TextFieldWrapper\n label={label}\n helperText={helperText}\n helperTextId={helper.id}\n variant={variant}\n disabled={disabled}\n className={cn(className, size !== \"medium\" && `smwb-text-field_size-${size}`)}\n style={style}\n error={error}\n fullWidth={fullWidth}\n isFilledState={isFilledState}\n isFocused={isFocused}\n htmlFor={inputId}\n shrink={Boolean(startAdornment)}\n onHolderMouseDown={onHolderMouseDown}\n startAdornment={startAdornment}\n endAdornment={endAdornment}\n inline={inline}\n {...dataAttributes}\n >\n <input\n {...inputAttributes}\n type={type}\n defaultValue={defaultValue}\n name={name}\n readOnly={readOnly}\n required={required}\n // Set by `error` and `required`; without them, the caller's own values stay.\n aria-invalid={error || inputAttributes[\"aria-invalid\"]}\n aria-required={required || inputAttributes[\"aria-required\"]}\n placeholder={placeholder}\n disabled={disabled}\n value={value}\n className={inputClasses}\n ref={inputForkRef}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n id={inputId}\n autoComplete={autoComplete}\n inputMode={inputMode}\n aria-describedby={helper.describedBy}\n />\n </TextFieldWrapper>\n );\n});\n"],"names":["splitDataAttributes","props","data","other","key","value","TextField","React","ref","label","helperText","ariaDescribedBy","variant","size","required","className","style","disabled","defaultValue","onChangeProp","onFocusProp","onBlurProp","error","name","type","readOnly","placeholder","fullWidth","id","startAdornment","endAdornment","inline","autoComplete","inputMode","children","rest","dataAttributes","inputAttributes","inputId","useId","isFocused","setIsFocused","isFilledState","setIsFilledState","isControlled","inputRef","inputForkRef","useForkRef","helper","useHelperText","onFocus","event","onBlur","element","checkDirty","obj","filled","isFilled","prev","onChange","onHolderMouseDown","_a","useSafeLayoutEffect","inputClasses","cn","jsx","TextFieldWrapper"],"mappings":"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"}
@@ -1,50 +1,61 @@
1
- import { jsxs as r, jsx as e, Fragment as k } from "react/jsx-runtime";
2
- import d from "clsx";
3
- import { TextFieldAdornment as a } from "./textFieldAdornment.js";
4
- function T({
1
+ import { jsxs as n, jsx as e, Fragment as L } from "react/jsx-runtime";
2
+ import i from "clsx";
3
+ import { TextFieldAdornment as f } from "./textFieldAdornment.js";
4
+ import { hasHelperText as M } from "../../../hooks/useHelperText.js";
5
+ function y({
5
6
  label: s,
6
- helperText: i = /* @__PURE__ */ e(k, { children: " " }),
7
+ helperText: d,
8
+ helperTextId: h,
7
9
  variant: l,
8
- disabled: f,
9
- className: h,
10
- error: x,
11
- fullWidth: w,
12
- isFilledState: b,
10
+ disabled: x,
11
+ className: w,
12
+ error: b,
13
+ fullWidth: p,
14
+ isFilledState: _,
13
15
  isFocused: c,
14
- htmlFor: _,
15
- shrink: p,
16
- children: N,
17
- onHolderMouseDown: u,
16
+ htmlFor: N,
17
+ labelId: u,
18
+ shrink: v,
19
+ children: F,
20
+ onHolderMouseDown: g,
18
21
  startAdornment: o,
19
- endAdornment: m,
22
+ endAdornment: r,
20
23
  inline: t,
21
- ...F
24
+ "data-testid": j = "text-field",
25
+ ...C
22
26
  }) {
23
- const g = l === "filled", n = s && (b || c || p), j = d(h, "smwb-text-field", {
24
- "smwb-text-field--filled": !t && g,
27
+ const k = l === "filled", m = s && (_ || c || v), a = d === void 0 ? /* @__PURE__ */ e(L, { children: " " }) : d, B = i(w, "smwb-text-field", {
28
+ "smwb-text-field--filled": !t && k,
25
29
  "smwb-text-field--inline": t,
26
30
  "smwb-text-field--focused": !t && c,
27
- "smwb-text-field--error": x,
28
- "smwb-text-field--disabled": f,
29
- "smwb-text-field--full-width": w
30
- }), v = d("smwb-text-field__label", {
31
- "smwb-text-field__label--shrink": n
32
- }), C = d("smwb-text-field__notched", {
31
+ "smwb-text-field--error": b,
32
+ "smwb-text-field--disabled": x,
33
+ "smwb-text-field--full-width": p
34
+ }), D = i("smwb-text-field__label", {
35
+ "smwb-text-field__label--shrink": m
36
+ }), H = i("smwb-text-field__notched", {
33
37
  "smwb-text-field__notched--with-label": s,
34
- "smwb-text-field__notched--active": n
38
+ "smwb-text-field__notched--active": m
35
39
  });
36
- return /* @__PURE__ */ r("div", { className: j, ...F, "data-testid": "text-field", children: [
37
- !t && s && /* @__PURE__ */ e("label", { className: v, htmlFor: _ || "", children: s }),
38
- /* @__PURE__ */ r("div", { className: "smwb-text-field__input-holder", onMouseDown: u, children: [
39
- o && /* @__PURE__ */ e(a, { variant: l, inline: !!t, position: "start", children: o }),
40
- N,
41
- m && /* @__PURE__ */ e(a, { position: "end", children: m }),
42
- !t && l === "outlined" && /* @__PURE__ */ e("fieldset", { className: C, children: /* @__PURE__ */ e("legend", { children: s ? /* @__PURE__ */ e("span", { children: s }) : /* @__PURE__ */ e("span", { className: "smwb-notranslate", children: "​" }) }) })
40
+ return /* @__PURE__ */ n("div", { className: B, ...C, "data-testid": j, children: [
41
+ !t && s && /* @__PURE__ */ e("label", { id: u, className: D, htmlFor: N, children: s }),
42
+ /* @__PURE__ */ n("div", { className: "smwb-text-field__input-holder", onMouseDown: g, children: [
43
+ o && /* @__PURE__ */ e(f, { variant: l, inline: !!t, position: "start", children: o }),
44
+ F,
45
+ r && /* @__PURE__ */ e(f, { position: "end", children: r }),
46
+ !t && l === "outlined" && /* @__PURE__ */ e("fieldset", { className: H, children: /* @__PURE__ */ e("legend", { children: s ? /* @__PURE__ */ e("span", { children: s }) : /* @__PURE__ */ e("span", { className: "smwb-notranslate", children: "​" }) }) })
43
47
  ] }),
44
- !t && i && /* @__PURE__ */ e("p", { className: "smwb-text-field__helper-line", children: /* @__PURE__ */ e("span", { className: "smwb-text-field__helper-text", children: i }) })
48
+ !t && a && /* @__PURE__ */ e("p", { className: "smwb-text-field__helper-line", children: /* @__PURE__ */ e(
49
+ "span",
50
+ {
51
+ className: "smwb-text-field__helper-text",
52
+ id: M(d, t) ? h : void 0,
53
+ children: a
54
+ }
55
+ ) })
45
56
  ] });
46
57
  }
47
58
  export {
48
- T as TextFieldWrapper
59
+ y as TextFieldWrapper
49
60
  };
50
61
  //# sourceMappingURL=textFieldWrapper.js.map