@smwb/ui-solid 0.12.1 → 0.14.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 (1137) hide show
  1. package/README.md +638 -0
  2. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  4. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  5. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  6. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  7. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  8. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  9. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  10. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  11. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  12. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  13. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  14. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  15. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  16. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  17. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  18. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  19. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  20. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  21. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  22. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  23. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  24. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  25. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  26. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  27. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  28. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  29. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  30. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  31. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  32. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  33. package/dist/assets/styles/less/tokens.entry.css +1 -1
  34. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  35. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  36. package/dist/components/base/icon/icon.d.ts +6 -2
  37. package/dist/components/base/icon/icon.js +41 -41
  38. package/dist/components/base/icon/icon.js.map +1 -1
  39. package/dist/components/base/ripple/ripple.d.ts +3 -0
  40. package/dist/components/base/ripple/ripple.js +46 -34
  41. package/dist/components/base/ripple/ripple.js.map +1 -1
  42. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  43. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  44. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  45. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  46. package/dist/components/dataDisplay/card/card.js +47 -34
  47. package/dist/components/dataDisplay/card/card.js.map +1 -1
  48. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  49. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  50. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  51. package/dist/components/dataDisplay/chat/chat.d.ts +42 -0
  52. package/dist/components/dataDisplay/chat/chat.js +116 -57
  53. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  54. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  55. package/dist/components/dataDisplay/chat/chatComposer.js +21 -19
  56. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  57. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  58. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  60. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  61. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  63. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  64. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  66. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  67. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  68. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  69. package/dist/components/dataDisplay/chip/chip.js +104 -63
  70. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  71. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  72. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  73. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  74. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  75. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  76. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  77. package/dist/components/dataDisplay/dagView/dagView.js +503 -0
  78. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  79. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  80. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  81. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  82. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  83. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  84. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  85. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  86. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +55 -0
  87. package/dist/components/dataDisplay/diffStat/diffStat.js +70 -0
  88. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  89. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  90. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  91. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  92. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  93. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  94. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  95. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  96. package/dist/components/dataDisplay/kbd/kbd.d.ts +41 -0
  97. package/dist/components/dataDisplay/kbd/kbd.js +47 -0
  98. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  99. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  100. package/dist/components/dataDisplay/kbd/kbdKeys.js +70 -0
  101. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  102. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  103. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  104. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  105. package/dist/components/dataDisplay/list/list.js +16 -12
  106. package/dist/components/dataDisplay/list/list.js.map +1 -1
  107. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  108. package/dist/components/dataDisplay/list/listItem.js +58 -19
  109. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  110. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  111. package/dist/components/dataDisplay/meter/meter.js +15 -13
  112. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  113. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  114. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  115. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  116. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  117. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +30 -0
  118. package/dist/components/dataDisplay/qrCode/qrCode.js +88 -0
  119. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  120. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  121. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  122. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  123. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  124. package/dist/components/dataDisplay/stat/stat.js +41 -43
  125. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  126. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  127. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  128. package/dist/components/dataDisplay/statusDot/statusDot.js +31 -0
  129. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  130. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  131. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +75 -0
  132. package/dist/components/dataDisplay/swimlanes/swimlanes.js +361 -0
  133. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  134. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  135. package/dist/components/dataDisplay/table/table.js +46 -22
  136. package/dist/components/dataDisplay/table/table.js.map +1 -1
  137. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  138. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  139. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  140. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  141. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  143. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  144. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  145. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  146. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  147. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  154. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  155. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  156. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  157. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  158. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  159. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  160. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  161. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  162. package/dist/components/dataDisplay/treeView/treeView.d.ts +22 -0
  163. package/dist/components/dataDisplay/treeView/treeView.js +164 -96
  164. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  165. package/dist/components/dataDisplay/typography/typography.js +22 -26
  166. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  167. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  168. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  169. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  170. package/dist/components/feedBack/message/message.d.ts +2 -0
  171. package/dist/components/feedBack/message/message.js +17 -13
  172. package/dist/components/feedBack/message/message.js.map +1 -1
  173. package/dist/components/feedBack/modal/modal.d.ts +9 -0
  174. package/dist/components/feedBack/modal/modal.js +71 -53
  175. package/dist/components/feedBack/modal/modal.js.map +1 -1
  176. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  177. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  178. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  179. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  180. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  181. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  182. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  183. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  184. package/dist/components/inputs/button/button.d.ts +14 -0
  185. package/dist/components/inputs/button/button.js +71 -36
  186. package/dist/components/inputs/button/button.js.map +1 -1
  187. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  188. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  189. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  190. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  191. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  192. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  193. package/dist/components/inputs/composer/composer.d.ts +148 -0
  194. package/dist/components/inputs/composer/composer.js +276 -0
  195. package/dist/components/inputs/composer/composer.js.map +1 -0
  196. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  197. package/dist/components/inputs/composer/composerFiles.js +18 -0
  198. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  199. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  200. package/dist/components/inputs/composer/composerKeys.js +7 -0
  201. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  202. package/dist/components/inputs/composer/index.d.ts +3 -0
  203. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  204. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  205. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  206. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  207. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  208. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  209. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  210. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  211. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  212. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  213. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  214. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  215. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  216. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  217. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  218. package/dist/components/inputs/rating/rating.d.ts +9 -0
  219. package/dist/components/inputs/rating/rating.js +74 -53
  220. package/dist/components/inputs/rating/rating.js.map +1 -1
  221. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  222. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  223. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  224. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  225. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  226. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  227. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  228. package/dist/components/inputs/selectField/selectField.js +297 -126
  229. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  230. package/dist/components/inputs/slider/slider.d.ts +25 -3
  231. package/dist/components/inputs/slider/slider.js +320 -197
  232. package/dist/components/inputs/slider/slider.js.map +1 -1
  233. package/dist/components/inputs/textField/textField.d.ts +9 -1
  234. package/dist/components/inputs/textField/textField.js +104 -51
  235. package/dist/components/inputs/textField/textField.js.map +1 -1
  236. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  237. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  238. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  239. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  240. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  241. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  242. package/dist/components/inputs/toggle/toggle.js +43 -31
  243. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  244. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  245. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  246. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  247. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  248. package/dist/components/layout/appLayout/appLayout.js +32 -30
  249. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  250. package/dist/components/layout/divider/divider.d.ts +2 -0
  251. package/dist/components/layout/divider/divider.js +22 -20
  252. package/dist/components/layout/divider/divider.js.map +1 -1
  253. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  254. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  255. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  256. package/dist/components/layout/grid/grid.d.ts +8 -0
  257. package/dist/components/layout/grid/grid.js +52 -44
  258. package/dist/components/layout/grid/grid.js.map +1 -1
  259. package/dist/components/layout/page/page.d.ts +2 -0
  260. package/dist/components/layout/page/page.js +14 -12
  261. package/dist/components/layout/page/page.js.map +1 -1
  262. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  263. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  264. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  265. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  266. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  267. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  268. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  269. package/dist/components/layout/sheet/sheet.js +92 -76
  270. package/dist/components/layout/sheet/sheet.js.map +1 -1
  271. package/dist/components/layout/stack/stack.d.ts +2 -0
  272. package/dist/components/layout/stack/stack.js +26 -24
  273. package/dist/components/layout/stack/stack.js.map +1 -1
  274. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  275. package/dist/components/layout/tabGroups/tabGroups.d.ts +102 -0
  276. package/dist/components/layout/tabGroups/tabGroups.js +895 -0
  277. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  278. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  279. package/dist/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  280. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  281. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  282. package/dist/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  283. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  284. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  285. package/dist/components/navigation/appBar/appBar.js +68 -28
  286. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  287. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  288. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  289. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  290. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  291. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  292. package/dist/components/navigation/commandPalette/commandPalette.d.ts +126 -0
  293. package/dist/components/navigation/commandPalette/commandPalette.js +457 -0
  294. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  296. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  297. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  298. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  299. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  300. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  301. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  302. package/dist/components/navigation/commandPalette/index.d.ts +6 -0
  303. package/dist/components/navigation/menu/menu.d.ts +6 -0
  304. package/dist/components/navigation/menu/menu.js.map +1 -1
  305. package/dist/components/navigation/menu/menuComponent.js +12 -23
  306. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  307. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  308. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  309. package/dist/components/navigation/menu/menuFloating.js +54 -46
  310. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  311. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  312. package/dist/components/navigation/menu/menuItem.js +58 -33
  313. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  314. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  315. package/dist/components/navigation/menu/menuList.js +34 -16
  316. package/dist/components/navigation/menu/menuList.js.map +1 -1
  317. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  318. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  319. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  320. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  321. package/dist/components/navigation/pagination/pagination.js +28 -24
  322. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  323. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  324. package/dist/components/navigation/sidebar/sidebar.js +37 -33
  325. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  326. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  327. package/dist/components/navigation/stepper/stepper.js +46 -42
  328. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  329. package/dist/components/navigation/tabs/index.d.ts +3 -1
  330. package/dist/components/navigation/tabs/tab/tab.d.ts +89 -2
  331. package/dist/components/navigation/tabs/tab/tab.js +174 -43
  332. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  333. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +20 -0
  334. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +34 -0
  335. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  336. package/dist/components/navigation/tabs/tabs.d.ts +79 -2
  337. package/dist/components/navigation/tabs/tabs.js +389 -147
  338. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  339. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  340. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  341. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  342. package/dist/components/navigation/tabs/tabsContext.d.ts +36 -4
  343. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  344. package/dist/connects/rt/table/table.d.ts +16 -1
  345. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  346. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  347. package/dist/headless/components/base/icon/icon.js +40 -40
  348. package/dist/headless/components/base/icon/icon.js.map +1 -1
  349. package/dist/headless/components/base/ripple/ripple.js +46 -34
  350. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  351. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  352. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  353. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  354. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  355. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  356. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  357. package/dist/headless/components/dataDisplay/chat/chat.js +116 -57
  358. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  359. package/dist/headless/components/dataDisplay/chat/chatComposer.js +21 -19
  360. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  361. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  362. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  364. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  366. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  368. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  369. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  370. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  371. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  372. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  373. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  374. package/dist/headless/components/dataDisplay/dagView/dagView.js +501 -0
  375. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  377. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  378. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  379. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +68 -0
  381. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  383. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  384. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  385. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/kbd/kbd.js +45 -0
  387. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  388. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +70 -0
  389. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  390. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  391. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  393. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/list/listItem.js +58 -19
  395. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  396. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  397. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  398. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  399. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +86 -0
  401. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  403. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  405. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +29 -0
  407. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  408. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +359 -0
  409. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  410. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  411. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  412. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  413. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  415. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  417. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  418. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  419. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  420. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  421. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  422. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  423. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  424. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  425. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  426. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  427. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  428. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  429. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  430. package/dist/headless/components/dataDisplay/treeView/treeView.js +164 -96
  431. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  432. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  433. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  434. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  435. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  436. package/dist/headless/components/feedBack/message/message.js +17 -13
  437. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  438. package/dist/headless/components/feedBack/modal/modal.js +71 -53
  439. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  440. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  441. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  442. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  443. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  444. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  445. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  446. package/dist/headless/components/inputs/button/button.js +71 -36
  447. package/dist/headless/components/inputs/button/button.js.map +1 -1
  448. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  449. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  450. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  451. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  452. package/dist/headless/components/inputs/composer/composer.js +274 -0
  453. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  454. package/dist/headless/components/inputs/composer/composerFiles.js +18 -0
  455. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  456. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  457. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  458. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  459. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  460. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  461. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  462. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  463. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  464. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  465. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  466. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  467. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  468. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  469. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  470. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  471. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  472. package/dist/headless/components/inputs/rating/rating.js +74 -53
  473. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  474. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  475. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  476. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  477. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  478. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  479. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  480. package/dist/headless/components/inputs/slider/slider.js +320 -197
  481. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  482. package/dist/headless/components/inputs/textField/textField.js +104 -51
  483. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  484. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  485. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  486. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  487. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  488. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  489. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  490. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  491. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  492. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  493. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  494. package/dist/headless/components/layout/divider/divider.js +19 -17
  495. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  496. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  497. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  498. package/dist/headless/components/layout/grid/grid.js +54 -46
  499. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  500. package/dist/headless/components/layout/page/page.js +12 -10
  501. package/dist/headless/components/layout/page/page.js.map +1 -1
  502. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  503. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  504. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  505. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  506. package/dist/headless/components/layout/sheet/sheet.js +101 -85
  507. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  508. package/dist/headless/components/layout/stack/stack.js +23 -21
  509. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  510. package/dist/headless/components/layout/tabGroups/tabGroups.js +893 -0
  511. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  512. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  513. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  514. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  515. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  516. package/dist/headless/components/navigation/appBar/appBar.js +68 -28
  517. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  518. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  519. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  520. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  521. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  522. package/dist/headless/components/navigation/commandPalette/commandPalette.js +455 -0
  523. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  524. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  525. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  526. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  527. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  528. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  529. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  530. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  531. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  532. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  533. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  534. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  535. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  536. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  537. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  538. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  539. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  540. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  541. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  542. package/dist/headless/components/navigation/sidebar/sidebar.js +39 -35
  543. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  544. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  545. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  546. package/dist/headless/components/navigation/tabs/tab/tab.js +175 -44
  547. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  548. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +32 -0
  549. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  550. package/dist/headless/components/navigation/tabs/tabs.js +389 -147
  551. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  552. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  553. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  554. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  555. package/dist/headless/index.js +405 -363
  556. package/dist/headless/index.js.map +1 -1
  557. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  558. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  559. package/dist/headless/primitives/createFocusTrap.js +17 -16
  560. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  561. package/dist/headless/primitives/createHelperText.js +14 -0
  562. package/dist/headless/primitives/createHelperText.js.map +1 -0
  563. package/dist/headless/primitives/createKeyboardShortcut.js +16 -0
  564. package/dist/headless/primitives/createKeyboardShortcut.js.map +1 -0
  565. package/dist/headless/primitives/mergeStyle.js +9 -0
  566. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  567. package/dist/headless/primitives/overlayLayer.js +14 -7
  568. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  569. package/dist/headless/primitives/restoreFocus.js +10 -0
  570. package/dist/headless/primitives/restoreFocus.js.map +1 -0
  571. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  572. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  573. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  574. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  575. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  576. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  577. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  578. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  579. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  580. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  581. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  582. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  583. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  584. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  585. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +38 -4
  586. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  587. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  588. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  589. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  590. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  591. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  592. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  593. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  594. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  595. package/dist/headless/source/components/dataDisplay/chat/index.js.map +1 -1
  596. package/dist/headless/source/components/dataDisplay/chat/utils.js.map +2 -2
  597. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  598. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  599. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  600. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  601. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  602. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  603. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +648 -0
  604. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  605. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  606. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  607. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  608. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  609. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  610. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  611. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx +76 -0
  612. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  613. package/dist/headless/source/components/dataDisplay/diffStat/index.js +19 -0
  614. package/dist/headless/source/components/dataDisplay/diffStat/index.js.map +7 -0
  615. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  616. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  617. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  618. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  619. package/dist/headless/source/components/dataDisplay/kbd/index.js +9 -0
  620. package/dist/headless/source/components/dataDisplay/kbd/index.js.map +7 -0
  621. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx +48 -0
  622. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  623. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  624. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  625. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  626. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  627. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  628. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  629. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +47 -16
  630. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  631. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  632. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  633. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  634. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  635. package/dist/headless/source/components/dataDisplay/qrCode/index.js +6 -0
  636. package/dist/headless/source/components/dataDisplay/qrCode/index.js.map +7 -0
  637. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx +94 -0
  638. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  639. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  640. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  641. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  642. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  643. package/dist/headless/source/components/dataDisplay/statusDot/index.js +6 -0
  644. package/dist/headless/source/components/dataDisplay/statusDot/index.js.map +7 -0
  645. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx +28 -0
  646. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  647. package/dist/headless/source/components/dataDisplay/swimlanes/index.js +15 -0
  648. package/dist/headless/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  649. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx +450 -0
  650. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  651. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  652. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  653. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  654. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  655. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  656. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  657. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  658. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  659. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  660. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  661. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  662. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  663. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  664. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  665. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  666. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  667. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  668. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  669. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  670. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  671. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  672. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  673. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  674. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  675. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  676. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  677. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  678. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  679. package/dist/headless/source/components/feedBack/modal/modal.jsx +39 -6
  680. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  681. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  682. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  683. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  684. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  685. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  686. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  687. package/dist/headless/source/components/inputs/button/button.jsx +14 -5
  688. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  689. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  690. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  691. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  692. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  693. package/dist/headless/source/components/inputs/composer/composer.jsx +319 -0
  694. package/dist/headless/source/components/inputs/composer/composer.jsx.map +1 -0
  695. package/dist/headless/source/components/inputs/composer/composerFiles.js +27 -0
  696. package/dist/headless/source/components/inputs/composer/composerFiles.js.map +7 -0
  697. package/dist/headless/source/components/inputs/composer/composerKeys.js +11 -0
  698. package/dist/headless/source/components/inputs/composer/composerKeys.js.map +7 -0
  699. package/dist/headless/source/components/inputs/composer/index.js +5 -0
  700. package/dist/headless/source/components/inputs/composer/index.js.map +7 -0
  701. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  702. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  703. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  704. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  705. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  706. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  707. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  708. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  709. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  710. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  711. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  712. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  713. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  714. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  715. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  716. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  717. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  718. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  719. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  720. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  721. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  722. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  723. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  724. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  725. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  726. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  727. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  728. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  729. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  730. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  731. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  732. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  733. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  734. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  735. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  736. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  737. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  738. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  739. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  740. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  741. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  742. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  743. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  744. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  745. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  746. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  747. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  748. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  749. package/dist/headless/source/components/layout/sheet/sheet.jsx +39 -19
  750. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  751. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  752. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  753. package/dist/headless/source/components/layout/tabGroups/index.js +8 -0
  754. package/dist/headless/source/components/layout/tabGroups/index.js.map +7 -0
  755. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx +1117 -0
  756. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  757. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  758. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  759. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  760. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  761. package/dist/headless/source/components/navigation/appBar/appBar.jsx +30 -5
  762. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  763. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  764. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  765. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  766. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  767. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx +506 -0
  768. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  769. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  770. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  771. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  772. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  773. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  774. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  775. package/dist/headless/source/components/navigation/commandPalette/index.js +11 -0
  776. package/dist/headless/source/components/navigation/commandPalette/index.js.map +7 -0
  777. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  778. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  779. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  780. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  781. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  782. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  783. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  784. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  785. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  786. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  787. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  788. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  789. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  790. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  791. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +6 -3
  792. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  793. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  794. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  795. package/dist/headless/source/components/navigation/tabs/index.js +2 -0
  796. package/dist/headless/source/components/navigation/tabs/index.js.map +2 -2
  797. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +144 -21
  798. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  799. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx +28 -0
  800. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  801. package/dist/headless/source/components/navigation/tabs/tabs.jsx +392 -20
  802. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  803. package/dist/headless/source/components/navigation/tabs/tabs.utils.js +18 -0
  804. package/dist/headless/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  805. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  806. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  807. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  808. package/dist/headless/source/index.js +44 -1
  809. package/dist/headless/source/index.js.map +2 -2
  810. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  811. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  812. package/dist/headless/source/primitives/createFocusTrap.js +9 -3
  813. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  814. package/dist/headless/source/primitives/createHelperText.js +16 -0
  815. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  816. package/dist/headless/source/primitives/createKeyboardShortcut.js +23 -0
  817. package/dist/headless/source/primitives/createKeyboardShortcut.js.map +7 -0
  818. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  819. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  820. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  821. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  822. package/dist/headless/source/primitives/restoreFocus.js +14 -0
  823. package/dist/headless/source/primitives/restoreFocus.js.map +7 -0
  824. package/dist/headless/source/utils/controlProps.js +22 -0
  825. package/dist/headless/source/utils/controlProps.js.map +7 -0
  826. package/dist/headless/source/utils/keyboardShortcut.js +74 -0
  827. package/dist/headless/source/utils/keyboardShortcut.js.map +7 -0
  828. package/dist/headless/source/utils/linkAttrs.js +16 -0
  829. package/dist/headless/source/utils/linkAttrs.js.map +7 -0
  830. package/dist/headless/source/utils/ownClick.js +41 -0
  831. package/dist/headless/source/utils/ownClick.js.map +7 -0
  832. package/dist/headless/utils/controlProps.js +20 -0
  833. package/dist/headless/utils/controlProps.js.map +1 -0
  834. package/dist/headless/utils/keyboardShortcut.js +48 -0
  835. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  836. package/dist/headless/utils/linkAttrs.js +13 -0
  837. package/dist/headless/utils/linkAttrs.js.map +1 -0
  838. package/dist/headless/utils/ownClick.js +39 -0
  839. package/dist/headless/utils/ownClick.js.map +1 -0
  840. package/dist/index.d.ts +26 -3
  841. package/dist/index.js +405 -363
  842. package/dist/index.js.map +1 -1
  843. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  844. package/dist/primitives/createDismissOnEscape.js +14 -0
  845. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  846. package/dist/primitives/createFocusTrap.d.ts +7 -0
  847. package/dist/primitives/createFocusTrap.js +17 -16
  848. package/dist/primitives/createFocusTrap.js.map +1 -1
  849. package/dist/primitives/createHelperText.d.ts +26 -0
  850. package/dist/primitives/createHelperText.js +14 -0
  851. package/dist/primitives/createHelperText.js.map +1 -0
  852. package/dist/primitives/createKeyboardShortcut.d.ts +23 -0
  853. package/dist/primitives/createKeyboardShortcut.js +16 -0
  854. package/dist/primitives/createKeyboardShortcut.js.map +1 -0
  855. package/dist/primitives/mergeStyle.d.ts +19 -0
  856. package/dist/primitives/mergeStyle.js +9 -0
  857. package/dist/primitives/mergeStyle.js.map +1 -0
  858. package/dist/primitives/overlayLayer.d.ts +15 -3
  859. package/dist/primitives/overlayLayer.js +14 -7
  860. package/dist/primitives/overlayLayer.js.map +1 -1
  861. package/dist/primitives/restoreFocus.d.ts +8 -0
  862. package/dist/primitives/restoreFocus.js +10 -0
  863. package/dist/primitives/restoreFocus.js.map +1 -0
  864. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  865. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  866. package/dist/source/components/base/icon/icon.jsx +10 -12
  867. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  868. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  869. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  870. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  871. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  872. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  873. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  874. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  875. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  876. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  877. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  878. package/dist/source/components/dataDisplay/chat/chat.jsx +38 -4
  879. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  880. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  881. package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  882. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  883. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  884. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  885. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  886. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  887. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  888. package/dist/source/components/dataDisplay/chat/index.js.map +1 -1
  889. package/dist/source/components/dataDisplay/chat/utils.js.map +2 -2
  890. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  891. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  892. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  893. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  894. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  895. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  896. package/dist/source/components/dataDisplay/dagView/dagView.jsx +650 -0
  897. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  898. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  899. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  900. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  901. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  902. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  903. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  904. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx +78 -0
  905. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  906. package/dist/source/components/dataDisplay/diffStat/index.js +19 -0
  907. package/dist/source/components/dataDisplay/diffStat/index.js.map +7 -0
  908. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  909. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  910. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  911. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  912. package/dist/source/components/dataDisplay/kbd/index.js +9 -0
  913. package/dist/source/components/dataDisplay/kbd/index.js.map +7 -0
  914. package/dist/source/components/dataDisplay/kbd/kbd.jsx +50 -0
  915. package/dist/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  916. package/dist/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  917. package/dist/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  918. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  919. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  920. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  921. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  922. package/dist/source/components/dataDisplay/list/listItem.jsx +47 -16
  923. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  924. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  925. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  926. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  927. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  928. package/dist/source/components/dataDisplay/qrCode/index.js +6 -0
  929. package/dist/source/components/dataDisplay/qrCode/index.js.map +7 -0
  930. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx +96 -0
  931. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  932. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  933. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  934. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  935. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  936. package/dist/source/components/dataDisplay/statusDot/index.js +6 -0
  937. package/dist/source/components/dataDisplay/statusDot/index.js.map +7 -0
  938. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx +30 -0
  939. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  940. package/dist/source/components/dataDisplay/swimlanes/index.js +15 -0
  941. package/dist/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  942. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx +452 -0
  943. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  944. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  945. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  946. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  947. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  948. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  949. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  950. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  951. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  952. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  953. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  954. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  955. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  956. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  957. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  958. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  959. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  960. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  961. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  962. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  963. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  964. package/dist/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  965. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  966. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  967. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  968. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  969. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  970. package/dist/source/components/feedBack/message/message.jsx +5 -4
  971. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  972. package/dist/source/components/feedBack/modal/modal.jsx +39 -6
  973. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  974. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  975. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  976. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  977. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  978. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  979. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  980. package/dist/source/components/inputs/button/button.jsx +14 -5
  981. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  982. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  983. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  984. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  985. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  986. package/dist/source/components/inputs/composer/composer.jsx +321 -0
  987. package/dist/source/components/inputs/composer/composer.jsx.map +1 -0
  988. package/dist/source/components/inputs/composer/composerFiles.js +27 -0
  989. package/dist/source/components/inputs/composer/composerFiles.js.map +7 -0
  990. package/dist/source/components/inputs/composer/composerKeys.js +11 -0
  991. package/dist/source/components/inputs/composer/composerKeys.js.map +7 -0
  992. package/dist/source/components/inputs/composer/index.js +5 -0
  993. package/dist/source/components/inputs/composer/index.js.map +7 -0
  994. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  995. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  996. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  997. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  998. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  999. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  1000. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  1001. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  1002. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  1003. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  1004. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  1005. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  1006. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  1007. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  1008. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  1009. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  1010. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  1011. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  1012. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  1013. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  1014. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  1015. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  1016. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  1017. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  1018. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  1019. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  1020. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  1021. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  1022. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  1023. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  1024. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  1025. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  1026. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  1027. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  1028. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  1029. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  1030. package/dist/source/components/layout/divider/divider.jsx +6 -5
  1031. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  1032. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  1033. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  1034. package/dist/source/components/layout/grid/grid.jsx +20 -8
  1035. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  1036. package/dist/source/components/layout/page/page.jsx +10 -2
  1037. package/dist/source/components/layout/page/page.jsx.map +1 -1
  1038. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  1039. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  1040. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  1041. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  1042. package/dist/source/components/layout/sheet/sheet.jsx +39 -19
  1043. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  1044. package/dist/source/components/layout/stack/stack.jsx +15 -11
  1045. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  1046. package/dist/source/components/layout/tabGroups/index.js +8 -0
  1047. package/dist/source/components/layout/tabGroups/index.js.map +7 -0
  1048. package/dist/source/components/layout/tabGroups/tabGroups.jsx +1119 -0
  1049. package/dist/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  1050. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  1051. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  1052. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  1053. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  1054. package/dist/source/components/navigation/appBar/appBar.jsx +30 -5
  1055. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  1056. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  1057. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  1058. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  1059. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  1060. package/dist/source/components/navigation/commandPalette/commandPalette.jsx +508 -0
  1061. package/dist/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  1062. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  1063. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  1064. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  1065. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  1066. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  1067. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  1068. package/dist/source/components/navigation/commandPalette/index.js +11 -0
  1069. package/dist/source/components/navigation/commandPalette/index.js.map +7 -0
  1070. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  1071. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  1072. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  1073. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  1074. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  1075. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  1076. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  1077. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  1078. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  1079. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  1080. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  1081. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  1082. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  1083. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  1084. package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -3
  1085. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  1086. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  1087. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  1088. package/dist/source/components/navigation/tabs/index.js +2 -0
  1089. package/dist/source/components/navigation/tabs/index.js.map +2 -2
  1090. package/dist/source/components/navigation/tabs/tab/tab.jsx +144 -21
  1091. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  1092. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx +30 -0
  1093. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  1094. package/dist/source/components/navigation/tabs/tabs.jsx +392 -20
  1095. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  1096. package/dist/source/components/navigation/tabs/tabs.utils.js +18 -0
  1097. package/dist/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  1098. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  1099. package/dist/source/connects/rt/table/table.jsx +7 -2
  1100. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  1101. package/dist/source/index.js +44 -1
  1102. package/dist/source/index.js.map +2 -2
  1103. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  1104. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  1105. package/dist/source/primitives/createFocusTrap.js +9 -3
  1106. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  1107. package/dist/source/primitives/createHelperText.js +16 -0
  1108. package/dist/source/primitives/createHelperText.js.map +7 -0
  1109. package/dist/source/primitives/createKeyboardShortcut.js +23 -0
  1110. package/dist/source/primitives/createKeyboardShortcut.js.map +7 -0
  1111. package/dist/source/primitives/mergeStyle.js +15 -0
  1112. package/dist/source/primitives/mergeStyle.js.map +7 -0
  1113. package/dist/source/primitives/overlayLayer.js +10 -2
  1114. package/dist/source/primitives/overlayLayer.js.map +2 -2
  1115. package/dist/source/primitives/restoreFocus.js +14 -0
  1116. package/dist/source/primitives/restoreFocus.js.map +7 -0
  1117. package/dist/source/utils/controlProps.js +22 -0
  1118. package/dist/source/utils/controlProps.js.map +7 -0
  1119. package/dist/source/utils/keyboardShortcut.js +74 -0
  1120. package/dist/source/utils/keyboardShortcut.js.map +7 -0
  1121. package/dist/source/utils/linkAttrs.js +16 -0
  1122. package/dist/source/utils/linkAttrs.js.map +7 -0
  1123. package/dist/source/utils/ownClick.js +41 -0
  1124. package/dist/source/utils/ownClick.js.map +7 -0
  1125. package/dist/utils/controlProps.d.ts +17 -0
  1126. package/dist/utils/controlProps.js +20 -0
  1127. package/dist/utils/controlProps.js.map +1 -0
  1128. package/dist/utils/keyboardShortcut.d.ts +12 -0
  1129. package/dist/utils/keyboardShortcut.js +48 -0
  1130. package/dist/utils/keyboardShortcut.js.map +1 -0
  1131. package/dist/utils/linkAttrs.d.ts +13 -0
  1132. package/dist/utils/linkAttrs.js +13 -0
  1133. package/dist/utils/linkAttrs.js.map +1 -0
  1134. package/dist/utils/ownClick.d.ts +16 -0
  1135. package/dist/utils/ownClick.js +39 -0
  1136. package/dist/utils/ownClick.js.map +1 -0
  1137. package/package.json +72 -3
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sources":["../../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, 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?: JSX.Element;\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 orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\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\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\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(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"slider.js","sources":["../../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY, decimatedClamp } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { createHelperText } from \"../../../primitives/createHelperText\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue | undefined;\n onChange?: (event: Event, 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 | undefined;\n helperText?: JSX.Element;\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 orientation?: \"horizontal\" | \"vertical\";\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 | undefined;\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 | undefined;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\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(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\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\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"aria-labelledby\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n // The slider sets this on its root too; its own handler calls the caller's first.\n \"onMouseDown\",\n ]);\n const helper = createHelperText(() => local.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 = createId();\n const labelId = `${baseId}-label`;\n const thumbWordId = (idx: 0 | 1): string => `${baseId}-${THUMB_WORDS[idx]}`;\n const labelledBy = (): string | undefined =>\n local[\"aria-labelledby\"] || (local.label && !local[\"aria-label\"] ? labelId : undefined);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n // Controlled while the caller passes a value, checked on every change: a value\n // passed after mount takes over, and without one the slider shows its own again.\n const isControlled = (): boolean => local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled() ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\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(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled()) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n callHandler(local.onMouseDown, event);\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} labelId={labelId} helperText={helper.text()} helperTextId={helper.id} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${THUMB_WORDS[idx]}` : undefined}\n aria-labelledby={labelledBy() ? `${labelledBy()} ${thumbWordId(idx)}` : undefined}\n aria-describedby={helper.describedBy()}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n <Show when={labelledBy()}>\n <span id={thumbWordId(idx)} hidden>\n {THUMB_WORDS[idx]}\n </span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"aria-labelledby\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n // The slider sets these on its root too; its own handlers call the caller's first.\n \"onMouseDown\",\n \"onKeyDown\",\n \"onFocus\",\n \"onBlur\",\n ]);\n const helper = createHelperText(() => local.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 = createId();\n const labelId = `${baseId}-label`;\n const labelledBy = (): string | undefined =>\n local[\"aria-labelledby\"] || (local.label && !local[\"aria-label\"] ? labelId : undefined);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n // Checked on every change, as in the range slider.\n const isControlled = (): boolean => typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled() ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled()) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n callHandler(local.onMouseDown, event);\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n callHandler(local.onKeyDown, event);\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n const onFocus: JSX.EventHandler<HTMLSpanElement, FocusEvent> = (event) => {\n callHandler(local.onFocus, event);\n setIsFocused(true);\n };\n const onBlur: JSX.EventHandler<HTMLSpanElement, FocusEvent> = (event) => {\n callHandler(local.onBlur, event);\n setIsFocused(false);\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] = createSignal<string | null>(null);\n\n const onFieldChange = (event: InputEvent & { currentTarget: HTMLInputElement }): void => {\n const text = event.currentTarget.value;\n setFieldText(text);\n const typed = Number(text);\n if (text.trim() !== \"\" && decimatedClamp(typed, local.min, local.max, local.step) === typed) {\n updateValue(typed, event);\n }\n };\n\n const commitField = (event: Event): void => {\n const text = fieldText();\n if (text === null) return;\n setFieldText(null);\n const typed = Number(text);\n if (text.trim() === \"\" || !Number.isFinite(typed)) return;\n const snapped = decimatedClamp(typed, local.min, local.max, local.step);\n if (snapped !== value()) updateValue(snapped, event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} labelId={labelId} helperText={helper.text()} helperTextId={helper.id} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={onFocus}\n onBlur={onBlur}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-labelledby={labelledBy()}\n aria-describedby={helper.describedBy()}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n // Stepped, bounded and disabled as the slider is.\n min={local.min}\n max={local.max}\n step={local.step}\n disabled={local.disabled}\n // The slider's helper line sits under both controls.\n helperText={null}\n value={fieldText() ?? value()}\n onChange={onFieldChange}\n onBlur={commitField}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") commitField(event);\n }}\n variant=\"filled\"\n // It sets the slider's value, so it takes the slider's name.\n aria-label={local[\"aria-label\"]}\n aria-labelledby={labelledBy()}\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n // Checked on every change, as React re-renders: a range value passed after\n // mount turns a single slider into a range slider.\n const isRangeMode = (): boolean =>\n props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode()} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["THUMB_WORDS","resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","helper","createHelperText","helperText","baseId","createId","labelId","thumbWordId","idx","labelledBy","label","undefined","isVertical","normalize","arr","lo","hi","isControlled","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","callHandler","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","text","helperTextId","id","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$6","_el$9","_$addEventListener","_$setAttribute","_el$0","_tmpl$5","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","describedBy","_v$10","_v$11","_v$12","_v$13","_v$14","getAriaValueText","_v$15","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","f","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","onKeyDown","onFocus","onBlur","fieldText","setFieldText","onFieldChange","currentTarget","typed","Number","trim","decimatedClamp","commitField","isFinite","snapped","pct","ticks","fill","_el$1","_tmpl$9","_el$10","_el$13","_el$14","_el$15","_el$17","_ref$2","$$keydown","tabindex","withTicks","_el$11","_tmpl$7","_tmpl$0","_$setStyleProperty","_el$12","_el$19","_el$20","_el$16","_tmpl$8","_$memo","valueField","TextField","type","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","_v$27","_v$28","_v$29","_v$30","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}
@@ -1,54 +1,105 @@
1
- import { createComponent as T, use as q, spread as z, mergeProps as B, template as C } from "solid-js/web";
2
- import { mergeProps as P, splitProps as $, createSignal as m, createEffect as f, onMount as I, children as p } from "solid-js";
3
- import g from "clsx";
4
- import { isFilled as S } from "./utils.js";
5
- import { TextFieldWrapper as W } from "./textFieldWrapper.js";
6
- import { mergeRefs as D } from "../../../primitives/mergeRefs.js";
7
- var k = /* @__PURE__ */ C("<input>");
8
- function j(a) {
9
- const h = P({
1
+ import { createComponent as $, mergeProps as x, use as k, spread as D, template as H } from "solid-js/web";
2
+ import { mergeProps as O, splitProps as w, createSignal as _, createEffect as g, onMount as E, children as A } from "solid-js";
3
+ import F from "clsx";
4
+ import { callHandler as M } from "../../../primitives/callHandler.js";
5
+ import { isFilled as j } from "./utils.js";
6
+ import { TextFieldWrapper as R } from "./textFieldWrapper.js";
7
+ import { createHelperText as G } from "../../../primitives/createHelperText.js";
8
+ import { mergeRefs as J } from "../../../primitives/mergeRefs.js";
9
+ import { createId as K } from "../../../primitives/createId.js";
10
+ var L = /* @__PURE__ */ H("<input>");
11
+ function N(l) {
12
+ const d = Object.keys(l).filter((a) => a === "style" || a.startsWith("data-")), [e, c] = w(l, d);
13
+ return [e, c];
14
+ }
15
+ function le(l) {
16
+ const d = O({
10
17
  variant: "outlined",
11
18
  size: "medium",
12
19
  type: "text"
13
- }, a), [e, b] = $(h, ["label", "helperText", "variant", "size", "required", "class", "disabled", "value", "defaultValue", "onChange", "onFocus", "onBlur", "error", "name", "type", "readOnly", "placeholder", "fullWidth", "id", "startAdornment", "endAdornment", "inline", "autocomplete", "inputmode", "ref"]), [d, u] = m(!1), [v, _] = m(!1), l = e.value != null;
20
+ }, l), [e, c] = w(d, [
21
+ "label",
22
+ "helperText",
23
+ "aria-describedby",
24
+ "variant",
25
+ "size",
26
+ "required",
27
+ "class",
28
+ "disabled",
29
+ "value",
30
+ "defaultValue",
31
+ "onChange",
32
+ "onFocus",
33
+ "onBlur",
34
+ // The field sets this on its input too; its own handler calls the caller's first.
35
+ "onInput",
36
+ "error",
37
+ "name",
38
+ "type",
39
+ "readOnly",
40
+ "placeholder",
41
+ "fullWidth",
42
+ "id",
43
+ "startAdornment",
44
+ "endAdornment",
45
+ "inline",
46
+ "autocomplete",
47
+ "inputmode",
48
+ "ref"
49
+ ]), [a, I] = N(c), T = K(), b = () => e.id ?? T, [h, f] = _(!1), [V, B] = _(!1), i = () => e.value != null;
14
50
  let n;
15
- const i = (t) => {
16
- const r = S(t);
17
- _((o) => o === r ? o : r);
18
- }, x = (t) => {
51
+ const o = (t) => {
52
+ const r = j(t);
53
+ B((s) => s === r ? s : r);
54
+ }, S = (t) => {
19
55
  if (e.disabled) {
20
56
  t.stopPropagation();
21
57
  return;
22
58
  }
23
59
  const r = e.onFocus;
24
- typeof r == "function" ? r(t) : Array.isArray(r) && r[0](r[1], t), u(!0);
25
- }, F = (t) => {
26
- l || i({
60
+ typeof r == "function" ? r(t) : Array.isArray(r) && r[0](r[1], t), f(!0);
61
+ }, W = (t) => {
62
+ i() || o({
27
63
  value: t.currentTarget.value
28
- }), e.onBlur?.(t, a), u(!1);
29
- }, y = (t) => {
30
- l || i({
64
+ }), e.onBlur?.(t, l), f(!1);
65
+ }, q = (t) => {
66
+ M(e.onInput, t), i() || o({
31
67
  value: t.currentTarget.value
32
- }), e.onChange?.(t, a);
33
- }, A = (t) => {
68
+ }), e.onChange?.(t, l);
69
+ }, z = (t) => {
34
70
  n && t.currentTarget === t.target && (t.preventDefault(), n.focus());
35
71
  };
36
- f(() => {
37
- e.disabled && d() && u(!1);
38
- }), I(() => i(n ? {
72
+ g(() => {
73
+ e.disabled && h() && f(!1);
74
+ }), E(() => o(n ? {
39
75
  value: n.value
40
- } : null)), f(() => {
41
- l && i({
76
+ } : null)), g(() => {
77
+ i() && o({
42
78
  value: e.value
43
79
  });
44
80
  });
45
- const s = p(() => e.startAdornment), c = p(() => e.endAdornment), w = () => g("smwb-text-field__input", (!e.label || e.inline) && "smwb-text-field__input--show-placeholder", s() && "smwb-text-field__input--adornment-start", c() && "smwb-text-field__input--adornment-end", e.inline && "smwb-text-field__input--inline");
46
- return T(W, {
81
+ const v = () => ({
82
+ controlled: i(),
83
+ value: e.value,
84
+ defaultValue: e.defaultValue ?? ""
85
+ }), u = v(), C = u.controlled ? u.value : u.defaultValue;
86
+ g((t) => {
87
+ const r = v();
88
+ return n && r.controlled && r.value !== t.value ? n.value = String(r.value) : n && !r.controlled && !t.controlled && r.defaultValue !== t.defaultValue && (n.value = r.defaultValue), r;
89
+ }, u);
90
+ const p = A(() => e.startAdornment), y = A(() => e.endAdornment), m = G(() => e.helperText, {
91
+ inline: () => e.inline,
92
+ describedBy: () => e["aria-describedby"]
93
+ }), P = () => F("smwb-text-field__input", (!e.label || e.inline) && "smwb-text-field__input--show-placeholder", p() && "smwb-text-field__input--adornment-start", y() && "smwb-text-field__input--adornment-end", e.inline && "smwb-text-field__input--inline");
94
+ return $(R, x({
47
95
  get label() {
48
96
  return e.label;
49
97
  },
50
98
  get helperText() {
51
- return e.helperText;
99
+ return m.text();
100
+ },
101
+ get helperTextId() {
102
+ return m.id;
52
103
  },
53
104
  get variant() {
54
105
  return e.variant;
@@ -57,7 +108,7 @@ function j(a) {
57
108
  return e.disabled;
58
109
  },
59
110
  get class() {
60
- return g(e.class, e.size !== "medium" && `smwb-text-field_size-${e.size}`);
111
+ return F(e.class, e.size !== "medium" && `smwb-text-field_size-${e.size}`);
61
112
  },
62
113
  get error() {
63
114
  return e.error;
@@ -66,30 +117,31 @@ function j(a) {
66
117
  return e.fullWidth;
67
118
  },
68
119
  get isFilledState() {
69
- return v();
120
+ return V();
70
121
  },
71
122
  get isFocused() {
72
- return d();
123
+ return h();
73
124
  },
74
125
  get for() {
75
- return e.id;
126
+ return b();
76
127
  },
77
128
  get shrink() {
78
- return !!s();
129
+ return !!p();
79
130
  },
80
- onHolderMouseDown: A,
131
+ onHolderMouseDown: z,
81
132
  get startAdornment() {
82
- return s();
133
+ return p();
83
134
  },
84
135
  get endAdornment() {
85
- return c();
136
+ return y();
86
137
  },
87
138
  get inline() {
88
139
  return e.inline;
89
- },
140
+ }
141
+ }, a, {
90
142
  get children() {
91
- var t = k(), r = D(e.ref, (o) => n = o);
92
- return typeof r == "function" && q(r, t), z(t, B(b, {
143
+ var t = L(), r = J(e.ref, (s) => n = s);
144
+ return typeof r == "function" && k(r, t), D(t, x(I, {
93
145
  get type() {
94
146
  return e.type;
95
147
  },
@@ -114,29 +166,30 @@ function j(a) {
114
166
  get disabled() {
115
167
  return e.disabled;
116
168
  },
117
- get value() {
118
- return l ? e.value : e.defaultValue ?? "";
119
- },
169
+ value: C,
120
170
  get class() {
121
- return w();
171
+ return P();
122
172
  },
123
- onInput: y,
124
- onFocus: x,
125
- onBlur: F,
173
+ onInput: q,
174
+ onFocus: S,
175
+ onBlur: W,
126
176
  get id() {
127
- return e.id;
177
+ return b();
128
178
  },
129
179
  get autocomplete() {
130
180
  return e.autocomplete;
131
181
  },
132
182
  get inputmode() {
133
183
  return e.inputmode;
184
+ },
185
+ get "aria-describedby"() {
186
+ return m.describedBy();
134
187
  }
135
188
  }), !1, !1), t;
136
189
  }
137
- });
190
+ }));
138
191
  }
139
192
  export {
140
- j as TextField
193
+ le as TextField
141
194
  };
142
195
  //# sourceMappingURL=textField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textField.js","sources":["../../../../../src/components/inputs/textField/textField.tsx"],"sourcesContent":["import { type JSX, children, createEffect, createSignal, mergeProps, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { isFilled } from \"./utils\";\nimport { TextFieldWrapper } from \"./textFieldWrapper\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\ntype FocusEvt = FocusEvent & { currentTarget: HTMLInputElement; target: Element };\ntype InputEvt = InputEvent & { currentTarget: HTMLInputElement; target: Element };\n\nexport interface TextFieldProps extends Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"onBlur\" | \"size\"> {\n label?: string | undefined;\n helperText?: JSX.Element;\n variant?: \"outlined\" | \"filled\";\n size?: \"small\" | \"medium\" | \"large\";\n required?: boolean;\n disabled?: boolean | undefined;\n value?: string | number | undefined;\n placeholder?: string;\n defaultValue?: string;\n error?: boolean;\n name?: string;\n type?: string;\n readOnly?: boolean;\n fullWidth?: boolean;\n onBlur?: (event: FocusEvt, data: TextFieldProps) => void;\n onChange?: (event: InputEvt, data: TextFieldProps) => void;\n startAdornment?: JSX.Element;\n endAdornment?: JSX.Element;\n id?: string;\n inline?: boolean;\n ref?: Ref<HTMLInputElement>;\n}\n\nexport function TextField(props: TextFieldProps): JSX.Element {\n const merged = mergeProps({ variant: \"outlined\" as const, size: \"medium\" as const, type: \"text\" }, props);\n const [local, rest] = splitProps(merged, [\n \"label\",\n \"helperText\",\n \"variant\",\n \"size\",\n \"required\",\n \"class\",\n \"disabled\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"error\",\n \"name\",\n \"type\",\n \"readOnly\",\n \"placeholder\",\n \"fullWidth\",\n \"id\",\n \"startAdornment\",\n \"endAdornment\",\n \"inline\",\n \"autocomplete\",\n \"inputmode\",\n \"ref\",\n ]);\n\n const [isFocused, setIsFocused] = createSignal(false);\n const [isFilledState, setIsFilledState] = createSignal(false);\n\n // One-time snapshot of controlled-ness, matching the React useRef behaviour.\n const isControlled = local.value != null;\n let inputEl: HTMLInputElement | undefined;\n\n const checkDirty = (obj: Parameters<typeof isFilled>[0]): void => {\n const filled = isFilled(obj);\n setIsFilledState((prev) => (prev === filled ? prev : filled));\n };\n\n const onFocus = (event: FocusEvent & { currentTarget: HTMLInputElement; target: HTMLInputElement }): void => {\n if (local.disabled) {\n event.stopPropagation();\n return;\n }\n // local.onFocus is Solid's FocusEventHandlerUnion (function or [handler, data]).\n const handler = local.onFocus as unknown;\n if (typeof handler === \"function\") {\n (handler as (e: typeof event) => void)(event);\n } else if (Array.isArray(handler)) {\n (handler[0] as (data: unknown, e: typeof event) => void)(handler[1], event);\n }\n setIsFocused(true);\n };\n\n const onBlur: JSX.EventHandler<HTMLInputElement, FocusEvent> = (event) => {\n if (!isControlled) {\n checkDirty({ value: event.currentTarget.value });\n }\n local.onBlur?.(event as FocusEvt, props);\n setIsFocused(false);\n };\n\n const onInput: JSX.EventHandler<HTMLInputElement, InputEvent> = (event) => {\n if (!isControlled) {\n checkDirty({ value: event.currentTarget.value });\n }\n local.onChange?.(event as InputEvt, props);\n };\n\n const onHolderMouseDown: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n if (inputEl && event.currentTarget === event.target) {\n event.preventDefault();\n inputEl.focus();\n }\n };\n\n createEffect(() => {\n if (local.disabled && isFocused()) {\n setIsFocused(false);\n }\n });\n\n onMount(() => checkDirty(inputEl ? { value: inputEl.value } : null));\n\n createEffect(() => {\n if (isControlled) {\n checkDirty({ value: local.value });\n }\n });\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n const startAdornment = children(() => local.startAdornment);\n const endAdornment = children(() => local.endAdornment);\n\n const inputClasses = (): string =>\n cn(\n \"smwb-text-field__input\",\n (!local.label || local.inline) && \"smwb-text-field__input--show-placeholder\",\n startAdornment() && \"smwb-text-field__input--adornment-start\",\n endAdornment() && \"smwb-text-field__input--adornment-end\",\n local.inline && \"smwb-text-field__input--inline\"\n );\n\n return (\n <TextFieldWrapper\n label={local.label}\n helperText={local.helperText}\n variant={local.variant}\n disabled={local.disabled}\n class={cn(local.class, local.size !== \"medium\" && `smwb-text-field_size-${local.size}`)}\n error={local.error}\n fullWidth={local.fullWidth}\n isFilledState={isFilledState()}\n isFocused={isFocused()}\n for={local.id}\n shrink={Boolean(startAdornment())}\n onHolderMouseDown={onHolderMouseDown}\n startAdornment={startAdornment()}\n endAdornment={endAdornment()}\n inline={local.inline}\n >\n <input\n {...rest}\n type={local.type}\n name={local.name}\n readonly={local.readOnly}\n required={local.required}\n aria-invalid={local.error || undefined}\n aria-required={local.required || undefined}\n placeholder={local.placeholder}\n disabled={local.disabled}\n value={isControlled ? local.value : (local.defaultValue ?? \"\")}\n class={inputClasses()}\n ref={mergeRefs(local.ref, (el) => (inputEl = el))}\n onInput={onInput}\n onFocus={onFocus}\n onBlur={onBlur}\n id={local.id}\n autocomplete={local.autocomplete}\n inputmode={local.inputmode}\n />\n </TextFieldWrapper>\n );\n}\n\nexport default TextField;\n"],"names":["TextField","props","merged","mergeProps","variant","size","type","local","rest","splitProps","isFocused","setIsFocused","createSignal","isFilledState","setIsFilledState","isControlled","value","inputEl","checkDirty","obj","filled","isFilled","prev","onFocus","event","disabled","stopPropagation","handler","Array","isArray","onBlur","currentTarget","onInput","onChange","onHolderMouseDown","target","preventDefault","focus","createEffect","onMount","startAdornment","children","endAdornment","inputClasses","cn","label","inline","_$createComponent","TextFieldWrapper","helperText","class","error","fullWidth","id","shrink","Boolean","_el$","_tmpl$","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","name","readonly","readOnly","required","undefined","placeholder","defaultValue","autocomplete","inputmode"],"mappings":";;;;;;;AAiCO,SAASA,EAAUC,GAAoC;AAC5D,QAAMC,IAASC,EAAW;AAAA,IAAEC,SAAS;AAAA,IAAqBC,MAAM;AAAA,IAAmBC,MAAM;AAAA,EAAA,GAAUL,CAAK,GAClG,CAACM,GAAOC,CAAI,IAAIC,EAAWP,GAAQ,CACvC,SACA,cACA,WACA,QACA,YACA,SACA,YACA,SACA,gBACA,YACA,WACA,UACA,SACA,QACA,QACA,YACA,eACA,aACA,MACA,kBACA,gBACA,UACA,gBACA,aACA,KAAK,CACN,GAEK,CAACQ,GAAWC,CAAY,IAAIC,EAAa,EAAK,GAC9C,CAACC,GAAeC,CAAgB,IAAIF,EAAa,EAAK,GAGtDG,IAAeR,EAAMS,SAAS;AACpC,MAAIC;AAEJ,QAAMC,IAAaA,CAACC,MAA8C;AAChE,UAAMC,IAASC,EAASF,CAAG;AAC3BL,IAAAA,EAAkBQ,CAAAA,MAAUA,MAASF,IAASE,IAAOF,CAAO;AAAA,EAC9D,GAEMG,IAAUA,CAACC,MAA4F;AAC3G,QAAIjB,EAAMkB,UAAU;AAClBD,MAAAA,EAAME,gBAAAA;AACN;AAAA,IACF;AAEA,UAAMC,IAAUpB,EAAMgB;AACtB,IAAI,OAAOI,KAAY,aACpBA,EAAsCH,CAAK,IACnCI,MAAMC,QAAQF,CAAO,KAC7BA,EAAQ,CAAC,EAA+CA,EAAQ,CAAC,GAAGH,CAAK,GAE5Eb,EAAa,EAAI;AAAA,EACnB,GAEMmB,IAA0DN,CAAAA,MAAU;AACxE,IAAKT,KACHG,EAAW;AAAA,MAAEF,OAAOQ,EAAMO,cAAcf;AAAAA,IAAAA,CAAO,GAEjDT,EAAMuB,SAASN,GAAmBvB,CAAK,GACvCU,EAAa,EAAK;AAAA,EACpB,GAEMqB,IAA2DR,CAAAA,MAAU;AACzE,IAAKT,KACHG,EAAW;AAAA,MAAEF,OAAOQ,EAAMO,cAAcf;AAAAA,IAAAA,CAAO,GAEjDT,EAAM0B,WAAWT,GAAmBvB,CAAK;AAAA,EAC3C,GAEMiC,IAAmEV,CAAAA,MAAU;AACjF,IAAIP,KAAWO,EAAMO,kBAAkBP,EAAMW,WAC3CX,EAAMY,eAAAA,GACNnB,EAAQoB,MAAAA;AAAAA,EAEZ;AAEAC,EAAAA,EAAa,MAAM;AACjB,IAAI/B,EAAMkB,YAAYf,OACpBC,EAAa,EAAK;AAAA,EAEtB,CAAC,GAED4B,EAAQ,MAAMrB,EAAWD,IAAU;AAAA,IAAED,OAAOC,EAAQD;AAAAA,EAAAA,IAAU,IAAI,CAAC,GAEnEsB,EAAa,MAAM;AACjB,IAAIvB,KACFG,EAAW;AAAA,MAAEF,OAAOT,EAAMS;AAAAA,IAAAA,CAAO;AAAA,EAErC,CAAC;AAID,QAAMwB,IAAiBC,EAAS,MAAMlC,EAAMiC,cAAc,GACpDE,IAAeD,EAAS,MAAMlC,EAAMmC,YAAY,GAEhDC,IAAeA,MACnBC,EACE,2BACC,CAACrC,EAAMsC,SAAStC,EAAMuC,WAAW,4CAClCN,EAAAA,KAAoB,2CACpBE,EAAAA,KAAkB,yCAClBnC,EAAMuC,UAAU,gCAClB;AAEF,SAAAC,EACGC,GAAgB;AAAA,IAAA,IACfH,QAAK;AAAA,aAAEtC,EAAMsC;AAAAA,IAAK;AAAA,IAAA,IAClBI,aAAU;AAAA,aAAE1C,EAAM0C;AAAAA,IAAU;AAAA,IAAA,IAC5B7C,UAAO;AAAA,aAAEG,EAAMH;AAAAA,IAAO;AAAA,IAAA,IACtBqB,WAAQ;AAAA,aAAElB,EAAMkB;AAAAA,IAAQ;AAAA,IAAA,IAAA,QAAA;AAAA,aACjBmB,EAAGrC,EAAM2C,OAAO3C,EAAMF,SAAS,YAAY,wBAAwBE,EAAMF,IAAI,EAAE;AAAA,IAAC;AAAA,IAAA,IACvF8C,QAAK;AAAA,aAAE5C,EAAM4C;AAAAA,IAAK;AAAA,IAAA,IAClBC,YAAS;AAAA,aAAE7C,EAAM6C;AAAAA,IAAS;AAAA,IAAA,IAC1BvC,gBAAa;AAAA,aAAEA,EAAAA;AAAAA,IAAe;AAAA,IAAA,IAC9BH,YAAS;AAAA,aAAEA,EAAAA;AAAAA,IAAW;AAAA,IAAA,IAAA,MAAA;AAAA,aACjBH,EAAM8C;AAAAA,IAAE;AAAA,IAAA,IACbC,SAAM;AAAA,aAAEC,EAAQf;IAAiB;AAAA,IACjCN,mBAAAA;AAAAA,IAAoC,IACpCM,iBAAc;AAAA,aAAEA,EAAAA;AAAAA,IAAgB;AAAA,IAAA,IAChCE,eAAY;AAAA,aAAEA,EAAAA;AAAAA,IAAc;AAAA,IAAA,IAC5BI,SAAM;AAAA,aAAEvC,EAAMuC;AAAAA,IAAM;AAAA,IAAA,IAAAL,WAAA;AAAA,UAAAe,IAAAC,EAAAA,GAAAC,IAcbC,EAAUpD,EAAMqD,KAAMC,CAAAA,MAAQ5C,IAAU4C,CAAG;AAAC,oBAAAH,KAAA,cAAAI,EAAAJ,GAAAF,CAAA,GAAAO,EAAAP,GAAAQ,EAX7CxD,GAAI;AAAA,QAAA,IACRF,OAAI;AAAA,iBAAEC,EAAMD;AAAAA,QAAI;AAAA,QAAA,IAChB2D,OAAI;AAAA,iBAAE1D,EAAM0D;AAAAA,QAAI;AAAA,QAAA,IAChBC,WAAQ;AAAA,iBAAE3D,EAAM4D;AAAAA,QAAQ;AAAA,QAAA,IACxBC,WAAQ;AAAA,iBAAE7D,EAAM6D;AAAAA,QAAQ;AAAA,QAAA,IAAA,iBAAA;AAAA,iBACV7D,EAAM4C,SAASkB;AAAAA,QAAS;AAAA,QAAA,IAAA,kBAAA;AAAA,iBACvB9D,EAAM6D,YAAYC;AAAAA,QAAS;AAAA,QAAA,IAC1CC,cAAW;AAAA,iBAAE/D,EAAM+D;AAAAA,QAAW;AAAA,QAAA,IAC9B7C,WAAQ;AAAA,iBAAElB,EAAMkB;AAAAA,QAAQ;AAAA,QAAA,IACxBT,QAAK;AAAA,iBAAED,IAAeR,EAAMS,QAAST,EAAMgE,gBAAgB;AAAA,QAAG;AAAA,QAAA,IAAA,QAAA;AAAA,iBACvD5B,EAAAA;AAAAA,QAAc;AAAA,QAAA,SAEZX;AAAAA,QAAO,SACPT;AAAAA,QAAO,QACRO;AAAAA,QAAM,IACduB,KAAE;AAAA,iBAAE9C,EAAM8C;AAAAA,QAAE;AAAA,QAAA,IACZmB,eAAY;AAAA,iBAAEjE,EAAMiE;AAAAA,QAAY;AAAA,QAAA,IAChCC,YAAS;AAAA,iBAAElE,EAAMkE;AAAAA,QAAS;AAAA,MAAA,CAAA,GAAA,IAAA,EAAA,GAAAjB;AAAAA,IAAA;AAAA,EAAA,CAAA;AAIlC;"}
1
+ {"version":3,"file":"textField.js","sources":["../../../../../src/components/inputs/textField/textField.tsx"],"sourcesContent":["import { type JSX, children, createEffect, createSignal, mergeProps, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport { isFilled } from \"./utils\";\nimport { TextFieldWrapper } from \"./textFieldWrapper\";\nimport { createHelperText } from \"../../../primitives/createHelperText\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { createId } from \"../../../primitives/createId\";\n\ntype FocusEvt = FocusEvent & { currentTarget: HTMLInputElement; target: Element };\ntype InputEvt = InputEvent & { currentTarget: HTMLInputElement; target: Element };\n\nexport interface TextFieldProps extends Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"onBlur\" | \"size\"> {\n /** Visible label; it points to the `<input>`, so it also names the field. Not drawn for an `inline` field. */\n label?: string | undefined;\n helperText?: JSX.Element;\n variant?: \"outlined\" | \"filled\";\n size?: \"small\" | \"medium\" | \"large\";\n required?: boolean;\n disabled?: boolean | undefined;\n value?: string | number | undefined;\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 class?: string | undefined;\n placeholder?: string;\n defaultValue?: string;\n error?: boolean;\n name?: string;\n type?: string;\n readOnly?: boolean;\n fullWidth?: boolean;\n onBlur?: (event: FocusEvt, data: TextFieldProps) => void;\n onChange?: (event: InputEvt, data: TextFieldProps) => void;\n startAdornment?: JSX.Element;\n endAdornment?: JSX.Element;\n /** Id of the `<input>`; the label points to it. Generated when not given. */\n id?: string | undefined;\n inline?: boolean;\n ref?: Ref<HTMLInputElement>;\n}\n\ntype WrapperAttributes = Pick<JSX.HTMLAttributes<HTMLDivElement>, \"style\"> & Record<`data-${string}`, unknown>;\n\n// The props that decide the text of the input, read together.\ntype InputValues = { controlled: boolean; value: TextFieldProps[\"value\"]; defaultValue: string };\n\n// Splits off `style` and the `data-*` attributes, which go to the wrapper. Only\n// keys the caller gave are picked (a `style` key even when undefined would print\n// `style=\"\"` on the server); they are picked once, as splitProps picks them, and\n// their values stay reactive.\nfunction splitWrapperAttributes<T extends object>(props: T): [WrapperAttributes, T] {\n const keys = Object.keys(props).filter((key) => key === \"style\" || key.startsWith(\"data-\")) as (keyof T)[];\n const [wrapper, other] = splitProps(props, keys);\n return [wrapper as WrapperAttributes, other as T];\n}\n\nexport function TextField(props: TextFieldProps): JSX.Element {\n const merged = mergeProps({ variant: \"outlined\" as const, size: \"medium\" as const, type: \"text\" }, props);\n const [local, rest] = splitProps(merged, [\n \"label\",\n \"helperText\",\n \"aria-describedby\",\n \"variant\",\n \"size\",\n \"required\",\n \"class\",\n \"disabled\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n // The field sets this on its input too; its own handler calls the caller's first.\n \"onInput\",\n \"error\",\n \"name\",\n \"type\",\n \"readOnly\",\n \"placeholder\",\n \"fullWidth\",\n \"id\",\n \"startAdornment\",\n \"endAdornment\",\n \"inline\",\n \"autocomplete\",\n \"inputmode\",\n \"ref\",\n ]);\n // `class`, `style` and `data-*` go to the wrapper; every other attribute\n // (aria-*, autofocus, maxlength, event handlers) belongs to the <input>.\n const [wrapperAttributes, inputAttributes] = splitWrapperAttributes(rest);\n\n // Without an id the label would point at nothing and leave the input unnamed.\n // Generated once; a caller's id, which may come and go, takes precedence.\n const generatedId = createId();\n const inputId = (): string => local.id ?? generatedId;\n\n const [isFocused, setIsFocused] = createSignal(false);\n const [isFilledState, setIsFilledState] = createSignal(false);\n\n // Controlled while the caller passes a value (`null` counts as none, as in\n // React DOM), checked on every change: a value passed after mount takes over.\n const isControlled = (): boolean => local.value != null;\n let inputEl: HTMLInputElement | undefined;\n\n const checkDirty = (obj: Parameters<typeof isFilled>[0]): void => {\n const filled = isFilled(obj);\n setIsFilledState((prev) => (prev === filled ? prev : filled));\n };\n\n const onFocus = (event: FocusEvent & { currentTarget: HTMLInputElement; target: HTMLInputElement }): void => {\n if (local.disabled) {\n event.stopPropagation();\n return;\n }\n // local.onFocus is Solid's FocusEventHandlerUnion (function or [handler, data]).\n const handler = local.onFocus as unknown;\n if (typeof handler === \"function\") {\n (handler as (e: typeof event) => void)(event);\n } else if (Array.isArray(handler)) {\n (handler[0] as (data: unknown, e: typeof event) => void)(handler[1], event);\n }\n setIsFocused(true);\n };\n\n const onBlur: JSX.EventHandler<HTMLInputElement, FocusEvent> = (event) => {\n if (!isControlled()) {\n checkDirty({ value: event.currentTarget.value });\n }\n local.onBlur?.(event as FocusEvt, props);\n setIsFocused(false);\n };\n\n const onInput: JSX.EventHandler<HTMLInputElement, InputEvent> = (event) => {\n callHandler(local.onInput as JSX.EventHandlerUnion<HTMLInputElement, InputEvent> | undefined, event);\n if (!isControlled()) {\n checkDirty({ value: event.currentTarget.value });\n }\n local.onChange?.(event as InputEvt, props);\n };\n\n const onHolderMouseDown: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n if (inputEl && event.currentTarget === event.target) {\n event.preventDefault();\n inputEl.focus();\n }\n };\n\n createEffect(() => {\n if (local.disabled && isFocused()) {\n setIsFocused(false);\n }\n });\n\n onMount(() => checkDirty(inputEl ? { value: inputEl.value } : null));\n\n createEffect(() => {\n if (isControlled()) {\n checkDirty({ value: local.value });\n }\n });\n\n // The input starts with the caller's value or `defaultValue`; later changes\n // are written here as React DOM writes them. A caller's value is written when\n // it changes, so also when it takes over, over whatever was typed meanwhile;\n // when the caller stops passing one, the text stays. Uncontrolled, a changed\n // `defaultValue` replaces the text. (A `value` binding compares with the text\n // it wrote last: it would wipe the text a caller leaves, and skip a value that\n // takes over when it equals that text.)\n const readValues = (): InputValues => ({\n controlled: isControlled(),\n value: local.value,\n defaultValue: local.defaultValue ?? \"\",\n });\n const atStart = readValues();\n const initialValue = atStart.controlled ? atStart.value : atStart.defaultValue;\n createEffect((prev: InputValues) => {\n const next = readValues();\n if (inputEl && next.controlled && next.value !== prev.value) {\n inputEl.value = String(next.value);\n } else if (inputEl && !next.controlled && !prev.controlled && next.defaultValue !== prev.defaultValue) {\n inputEl.value = next.defaultValue;\n }\n return next;\n }, atStart);\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n const startAdornment = children(() => local.startAdornment);\n const endAdornment = children(() => local.endAdornment);\n const helper = createHelperText(() => local.helperText, {\n inline: () => local.inline,\n describedBy: () => local[\"aria-describedby\"],\n });\n\n const inputClasses = (): string =>\n cn(\n \"smwb-text-field__input\",\n (!local.label || local.inline) && \"smwb-text-field__input--show-placeholder\",\n startAdornment() && \"smwb-text-field__input--adornment-start\",\n endAdornment() && \"smwb-text-field__input--adornment-end\",\n local.inline && \"smwb-text-field__input--inline\"\n );\n\n return (\n <TextFieldWrapper\n label={local.label}\n helperText={helper.text()}\n helperTextId={helper.id}\n variant={local.variant}\n disabled={local.disabled}\n class={cn(local.class, local.size !== \"medium\" && `smwb-text-field_size-${local.size}`)}\n error={local.error}\n fullWidth={local.fullWidth}\n isFilledState={isFilledState()}\n isFocused={isFocused()}\n for={inputId()}\n shrink={Boolean(startAdornment())}\n onHolderMouseDown={onHolderMouseDown}\n startAdornment={startAdornment()}\n endAdornment={endAdornment()}\n inline={local.inline}\n {...wrapperAttributes}\n >\n <input\n {...inputAttributes}\n type={local.type}\n name={local.name}\n readonly={local.readOnly}\n required={local.required}\n aria-invalid={local.error || undefined}\n aria-required={local.required || undefined}\n placeholder={local.placeholder}\n disabled={local.disabled}\n value={initialValue}\n class={inputClasses()}\n ref={mergeRefs(local.ref, (el) => (inputEl = el))}\n onInput={onInput}\n onFocus={onFocus}\n onBlur={onBlur}\n id={inputId()}\n autocomplete={local.autocomplete}\n inputmode={local.inputmode}\n aria-describedby={helper.describedBy()}\n />\n </TextFieldWrapper>\n );\n}\n\nexport default TextField;\n"],"names":["splitWrapperAttributes","props","keys","Object","filter","key","startsWith","wrapper","other","splitProps","TextField","merged","mergeProps","variant","size","type","local","rest","wrapperAttributes","inputAttributes","generatedId","createId","inputId","id","isFocused","setIsFocused","createSignal","isFilledState","setIsFilledState","isControlled","value","inputEl","checkDirty","obj","filled","isFilled","prev","onFocus","event","disabled","stopPropagation","handler","Array","isArray","onBlur","currentTarget","onInput","callHandler","onChange","onHolderMouseDown","target","preventDefault","focus","createEffect","onMount","readValues","controlled","defaultValue","atStart","initialValue","next","String","startAdornment","children","endAdornment","helper","createHelperText","helperText","inline","describedBy","inputClasses","cn","label","_$createComponent","TextFieldWrapper","_$mergeProps","text","helperTextId","class","error","fullWidth","shrink","Boolean","_el$","_tmpl$","_ref$","mergeRefs","ref","el","_$use","_$spread","name","readonly","readOnly","required","undefined","placeholder","autocomplete","inputmode"],"mappings":"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"}