@smwb/ui-solid 0.12.1 → 0.13.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 (841) hide show
  1. package/README.md +74 -0
  2. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  4. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  5. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  6. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  7. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  8. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  9. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  10. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  11. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  12. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  13. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  14. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  15. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  16. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  17. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  18. package/dist/components/base/icon/icon.d.ts +6 -2
  19. package/dist/components/base/icon/icon.js +41 -41
  20. package/dist/components/base/icon/icon.js.map +1 -1
  21. package/dist/components/base/ripple/ripple.d.ts +3 -0
  22. package/dist/components/base/ripple/ripple.js +46 -34
  23. package/dist/components/base/ripple/ripple.js.map +1 -1
  24. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  25. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  26. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  27. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  28. package/dist/components/dataDisplay/card/card.js +47 -34
  29. package/dist/components/dataDisplay/card/card.js.map +1 -1
  30. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  31. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  32. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  33. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  34. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  35. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  36. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  37. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  38. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  39. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  40. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  41. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  42. package/dist/components/dataDisplay/chip/chip.js +104 -63
  43. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  44. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  45. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  46. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  47. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  48. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  49. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  50. package/dist/components/dataDisplay/dagView/dagView.js +488 -0
  51. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  52. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  53. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  54. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  55. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  56. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  57. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  58. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  59. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  60. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  61. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  62. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  63. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  64. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  65. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  66. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  67. package/dist/components/dataDisplay/list/list.js +16 -12
  68. package/dist/components/dataDisplay/list/list.js.map +1 -1
  69. package/dist/components/dataDisplay/list/listItem.js +20 -18
  70. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  71. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  72. package/dist/components/dataDisplay/meter/meter.js +15 -13
  73. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  74. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  75. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  76. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  77. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  78. package/dist/components/dataDisplay/stat/stat.js +41 -43
  79. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  80. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  81. package/dist/components/dataDisplay/table/table.js +46 -22
  82. package/dist/components/dataDisplay/table/table.js.map +1 -1
  83. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  84. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  85. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  86. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  87. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  88. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  89. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  90. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  91. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  92. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  93. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  94. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  95. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  96. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  97. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  98. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  99. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  100. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  101. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  102. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  103. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  104. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  105. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  106. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  107. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  108. package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
  109. package/dist/components/dataDisplay/treeView/treeView.js +4 -2
  110. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  111. package/dist/components/dataDisplay/typography/typography.js +22 -26
  112. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  113. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  114. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  115. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  116. package/dist/components/feedBack/message/message.d.ts +2 -0
  117. package/dist/components/feedBack/message/message.js +17 -13
  118. package/dist/components/feedBack/message/message.js.map +1 -1
  119. package/dist/components/feedBack/modal/modal.js +20 -16
  120. package/dist/components/feedBack/modal/modal.js.map +1 -1
  121. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  122. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  123. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  124. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  125. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  126. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  127. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  128. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  129. package/dist/components/inputs/button/button.d.ts +2 -0
  130. package/dist/components/inputs/button/button.js +48 -20
  131. package/dist/components/inputs/button/button.js.map +1 -1
  132. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  133. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  134. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  135. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  136. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  137. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  138. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  139. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  140. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  141. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  142. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  143. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  144. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  145. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  146. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  147. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  148. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  149. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  150. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  151. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  152. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  153. package/dist/components/inputs/rating/rating.d.ts +9 -0
  154. package/dist/components/inputs/rating/rating.js +74 -53
  155. package/dist/components/inputs/rating/rating.js.map +1 -1
  156. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  157. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  158. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  159. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  160. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  161. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  162. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  163. package/dist/components/inputs/selectField/selectField.js +297 -126
  164. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  165. package/dist/components/inputs/slider/slider.d.ts +25 -3
  166. package/dist/components/inputs/slider/slider.js +320 -197
  167. package/dist/components/inputs/slider/slider.js.map +1 -1
  168. package/dist/components/inputs/textField/textField.d.ts +9 -1
  169. package/dist/components/inputs/textField/textField.js +104 -51
  170. package/dist/components/inputs/textField/textField.js.map +1 -1
  171. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  172. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  173. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  174. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  175. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  176. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  177. package/dist/components/inputs/toggle/toggle.js +43 -31
  178. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  179. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  180. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  181. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  182. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  183. package/dist/components/layout/appLayout/appLayout.js +32 -30
  184. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  185. package/dist/components/layout/divider/divider.d.ts +2 -0
  186. package/dist/components/layout/divider/divider.js +22 -20
  187. package/dist/components/layout/divider/divider.js.map +1 -1
  188. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  189. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  190. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  191. package/dist/components/layout/grid/grid.d.ts +8 -0
  192. package/dist/components/layout/grid/grid.js +52 -44
  193. package/dist/components/layout/grid/grid.js.map +1 -1
  194. package/dist/components/layout/page/page.d.ts +2 -0
  195. package/dist/components/layout/page/page.js +14 -12
  196. package/dist/components/layout/page/page.js.map +1 -1
  197. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  198. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  199. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  200. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  201. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  202. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  203. package/dist/components/layout/sheet/sheet.d.ts +2 -0
  204. package/dist/components/layout/sheet/sheet.js +50 -48
  205. package/dist/components/layout/sheet/sheet.js.map +1 -1
  206. package/dist/components/layout/stack/stack.d.ts +2 -0
  207. package/dist/components/layout/stack/stack.js +26 -24
  208. package/dist/components/layout/stack/stack.js.map +1 -1
  209. package/dist/components/navigation/appBar/appBar.d.ts +2 -0
  210. package/dist/components/navigation/appBar/appBar.js +18 -16
  211. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  212. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  213. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  214. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  215. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  216. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  217. package/dist/components/navigation/menu/menu.d.ts +6 -0
  218. package/dist/components/navigation/menu/menu.js.map +1 -1
  219. package/dist/components/navigation/menu/menuComponent.js +12 -23
  220. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  221. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  222. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  223. package/dist/components/navigation/menu/menuFloating.js +54 -46
  224. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  225. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  226. package/dist/components/navigation/menu/menuItem.js +58 -33
  227. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  228. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  229. package/dist/components/navigation/menu/menuList.js +34 -16
  230. package/dist/components/navigation/menu/menuList.js.map +1 -1
  231. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  232. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  233. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  234. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  235. package/dist/components/navigation/pagination/pagination.js +28 -24
  236. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  237. package/dist/components/navigation/sidebar/sidebar.js +27 -25
  238. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  239. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  240. package/dist/components/navigation/stepper/stepper.js +46 -42
  241. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  242. package/dist/components/navigation/tabs/tab/tab.js +46 -35
  243. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  244. package/dist/components/navigation/tabs/tabs.d.ts +7 -0
  245. package/dist/components/navigation/tabs/tabs.js +90 -75
  246. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  247. package/dist/components/navigation/tabs/tabsContext.d.ts +6 -4
  248. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  249. package/dist/connects/rt/table/table.d.ts +16 -1
  250. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  251. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  252. package/dist/headless/components/base/icon/icon.js +40 -40
  253. package/dist/headless/components/base/icon/icon.js.map +1 -1
  254. package/dist/headless/components/base/ripple/ripple.js +46 -34
  255. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  256. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  257. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  258. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  259. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  260. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  261. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  262. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  263. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  264. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  265. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  266. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  267. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  268. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  269. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  270. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  271. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  272. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  273. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  274. package/dist/headless/components/dataDisplay/dagView/dagView.js +486 -0
  275. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  276. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  277. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  278. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  279. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  280. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  281. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  282. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  283. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  284. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  285. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  286. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  287. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  288. package/dist/headless/components/dataDisplay/list/listItem.js +20 -18
  289. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  290. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  291. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  292. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  293. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  294. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  295. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  296. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  297. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  298. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  299. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  300. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  301. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  302. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  303. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  304. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  305. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  306. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  307. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  308. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  309. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  310. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  311. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  312. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  313. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  314. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  315. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  316. package/dist/headless/components/dataDisplay/treeView/treeView.js +4 -2
  317. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  318. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  319. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  320. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  321. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  322. package/dist/headless/components/feedBack/message/message.js +17 -13
  323. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  324. package/dist/headless/components/feedBack/modal/modal.js +20 -16
  325. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  326. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  327. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  328. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  329. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  330. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  331. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  332. package/dist/headless/components/inputs/button/button.js +51 -23
  333. package/dist/headless/components/inputs/button/button.js.map +1 -1
  334. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  335. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  336. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  337. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  338. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  339. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  340. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  341. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  342. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  343. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  344. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  345. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  346. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  347. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  348. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  349. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  350. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  351. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  352. package/dist/headless/components/inputs/rating/rating.js +74 -53
  353. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  354. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  355. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  356. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  357. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  358. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  359. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  360. package/dist/headless/components/inputs/slider/slider.js +320 -197
  361. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  362. package/dist/headless/components/inputs/textField/textField.js +104 -51
  363. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  364. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  365. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  366. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  367. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  368. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  369. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  370. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  371. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  372. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  373. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  374. package/dist/headless/components/layout/divider/divider.js +19 -17
  375. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  376. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  377. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  378. package/dist/headless/components/layout/grid/grid.js +54 -46
  379. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  380. package/dist/headless/components/layout/page/page.js +12 -10
  381. package/dist/headless/components/layout/page/page.js.map +1 -1
  382. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  383. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  384. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  385. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  386. package/dist/headless/components/layout/sheet/sheet.js +50 -48
  387. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  388. package/dist/headless/components/layout/stack/stack.js +23 -21
  389. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  390. package/dist/headless/components/navigation/appBar/appBar.js +15 -13
  391. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  392. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  393. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  394. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  395. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  396. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  397. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  398. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  399. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  400. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  401. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  402. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  403. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  404. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  405. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  406. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  407. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  408. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  409. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  410. package/dist/headless/components/navigation/sidebar/sidebar.js +14 -12
  411. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  412. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  413. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  414. package/dist/headless/components/navigation/tabs/tab/tab.js +48 -37
  415. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  416. package/dist/headless/components/navigation/tabs/tabs.js +91 -76
  417. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  418. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  419. package/dist/headless/index.js +224 -220
  420. package/dist/headless/index.js.map +1 -1
  421. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  422. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  423. package/dist/headless/primitives/createFocusTrap.js +1 -0
  424. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  425. package/dist/headless/primitives/createHelperText.js +14 -0
  426. package/dist/headless/primitives/createHelperText.js.map +1 -0
  427. package/dist/headless/primitives/mergeStyle.js +9 -0
  428. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  429. package/dist/headless/primitives/overlayLayer.js +14 -7
  430. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  431. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  432. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  433. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  434. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  435. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  436. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  437. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  438. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  439. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  440. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  441. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  442. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  443. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  444. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  445. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  446. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  447. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  448. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  449. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  450. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  451. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  452. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  453. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  454. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  455. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  456. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  457. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +639 -0
  458. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  459. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  460. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  461. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  462. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  463. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  464. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  465. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  466. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  467. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  468. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  469. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  470. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  471. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  472. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  473. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +11 -10
  474. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  475. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  476. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  477. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  478. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  479. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  480. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  481. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  482. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  483. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  484. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  485. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  486. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  487. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  488. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  489. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  490. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  491. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  492. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  493. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  494. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  495. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  496. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  497. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  498. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  499. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  500. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  501. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  502. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  503. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  504. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  505. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  506. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  507. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  508. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  509. package/dist/headless/source/components/feedBack/modal/modal.jsx +5 -2
  510. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  511. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  512. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  513. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  514. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  515. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  516. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  517. package/dist/headless/source/components/inputs/button/button.jsx +8 -3
  518. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  519. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  520. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  521. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  522. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  523. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  524. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  525. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  526. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  527. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  528. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  529. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  530. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  531. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  532. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  533. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  534. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  535. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  536. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  537. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  538. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  539. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  540. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  541. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  542. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  543. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  544. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  545. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  546. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  547. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  548. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  549. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  550. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  551. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  552. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  553. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  554. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  555. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  556. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  557. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  558. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  559. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  560. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  561. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  562. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  563. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  564. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  565. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  566. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  567. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  568. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  569. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  570. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  571. package/dist/headless/source/components/layout/sheet/sheet.jsx +6 -8
  572. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  573. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  574. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  575. package/dist/headless/source/components/navigation/appBar/appBar.jsx +3 -2
  576. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  577. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  578. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  579. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  580. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  581. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  582. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  583. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  584. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  585. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  586. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  587. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  588. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  589. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  590. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  591. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  592. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  593. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  594. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  595. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +1 -1
  596. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  597. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  598. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  599. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +12 -16
  600. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  601. package/dist/headless/source/components/navigation/tabs/tabs.jsx +34 -10
  602. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  603. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  604. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  605. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  606. package/dist/headless/source/index.js +3 -0
  607. package/dist/headless/source/index.js.map +2 -2
  608. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  609. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  610. package/dist/headless/source/primitives/createFocusTrap.js +1 -0
  611. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  612. package/dist/headless/source/primitives/createHelperText.js +16 -0
  613. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  614. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  615. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  616. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  617. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  618. package/dist/headless/source/utils/controlProps.js +22 -0
  619. package/dist/headless/source/utils/controlProps.js.map +7 -0
  620. package/dist/headless/source/utils/ownClick.js +41 -0
  621. package/dist/headless/source/utils/ownClick.js.map +7 -0
  622. package/dist/headless/utils/controlProps.js +20 -0
  623. package/dist/headless/utils/controlProps.js.map +1 -0
  624. package/dist/headless/utils/ownClick.js +39 -0
  625. package/dist/headless/utils/ownClick.js.map +1 -0
  626. package/dist/index.d.ts +2 -0
  627. package/dist/index.js +224 -220
  628. package/dist/index.js.map +1 -1
  629. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  630. package/dist/primitives/createDismissOnEscape.js +14 -0
  631. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  632. package/dist/primitives/createFocusTrap.d.ts +2 -0
  633. package/dist/primitives/createFocusTrap.js +1 -0
  634. package/dist/primitives/createFocusTrap.js.map +1 -1
  635. package/dist/primitives/createHelperText.d.ts +26 -0
  636. package/dist/primitives/createHelperText.js +14 -0
  637. package/dist/primitives/createHelperText.js.map +1 -0
  638. package/dist/primitives/mergeStyle.d.ts +19 -0
  639. package/dist/primitives/mergeStyle.js +9 -0
  640. package/dist/primitives/mergeStyle.js.map +1 -0
  641. package/dist/primitives/overlayLayer.d.ts +15 -3
  642. package/dist/primitives/overlayLayer.js +14 -7
  643. package/dist/primitives/overlayLayer.js.map +1 -1
  644. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  645. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  646. package/dist/source/components/base/icon/icon.jsx +10 -12
  647. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  648. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  649. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  650. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  651. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  652. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  653. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  654. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  655. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  656. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  657. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  658. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  659. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  660. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  661. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  662. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  663. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  664. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  665. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  666. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  667. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  668. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  669. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  670. package/dist/source/components/dataDisplay/dagView/dagView.jsx +641 -0
  671. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  672. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  673. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  674. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  675. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  676. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  677. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  678. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  679. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  680. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  681. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  682. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  683. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  684. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  685. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  686. package/dist/source/components/dataDisplay/list/listItem.jsx +11 -10
  687. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  688. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  689. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  690. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  691. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  692. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  693. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  694. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  695. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  696. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  697. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  698. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  699. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  700. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  701. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  702. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  703. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  704. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  705. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  706. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  707. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  708. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  709. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  710. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  711. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  712. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  713. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  714. package/dist/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  715. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  716. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  717. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  718. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  719. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  720. package/dist/source/components/feedBack/message/message.jsx +5 -4
  721. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  722. package/dist/source/components/feedBack/modal/modal.jsx +5 -2
  723. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  724. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  725. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  726. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  727. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  728. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  729. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  730. package/dist/source/components/inputs/button/button.jsx +8 -3
  731. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  732. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  733. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  734. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  735. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  736. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  737. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  738. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  739. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  740. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  741. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  742. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  743. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  744. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  745. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  746. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  747. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  748. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  749. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  750. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  751. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  752. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  753. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  754. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  755. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  756. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  757. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  758. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  759. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  760. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  761. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  762. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  763. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  764. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  765. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  766. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  767. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  768. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  769. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  770. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  771. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  772. package/dist/source/components/layout/divider/divider.jsx +6 -5
  773. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  774. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  775. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  776. package/dist/source/components/layout/grid/grid.jsx +20 -8
  777. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  778. package/dist/source/components/layout/page/page.jsx +10 -2
  779. package/dist/source/components/layout/page/page.jsx.map +1 -1
  780. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  781. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  782. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  783. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  784. package/dist/source/components/layout/sheet/sheet.jsx +6 -8
  785. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  786. package/dist/source/components/layout/stack/stack.jsx +15 -11
  787. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  788. package/dist/source/components/navigation/appBar/appBar.jsx +3 -2
  789. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  790. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  791. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  792. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  793. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  794. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  795. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  796. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  797. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  798. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  799. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  800. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  801. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  802. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  803. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  804. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  805. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  806. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  807. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  808. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -1
  809. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  810. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  811. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  812. package/dist/source/components/navigation/tabs/tab/tab.jsx +12 -16
  813. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  814. package/dist/source/components/navigation/tabs/tabs.jsx +34 -10
  815. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  816. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  817. package/dist/source/connects/rt/table/table.jsx +7 -2
  818. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  819. package/dist/source/index.js +3 -0
  820. package/dist/source/index.js.map +2 -2
  821. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  822. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  823. package/dist/source/primitives/createFocusTrap.js +1 -0
  824. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  825. package/dist/source/primitives/createHelperText.js +16 -0
  826. package/dist/source/primitives/createHelperText.js.map +7 -0
  827. package/dist/source/primitives/mergeStyle.js +15 -0
  828. package/dist/source/primitives/mergeStyle.js.map +7 -0
  829. package/dist/source/primitives/overlayLayer.js +10 -2
  830. package/dist/source/primitives/overlayLayer.js.map +2 -2
  831. package/dist/source/utils/controlProps.js +22 -0
  832. package/dist/source/utils/controlProps.js.map +7 -0
  833. package/dist/source/utils/ownClick.js +41 -0
  834. package/dist/source/utils/ownClick.js.map +7 -0
  835. package/dist/utils/controlProps.d.ts +17 -0
  836. package/dist/utils/controlProps.js +20 -0
  837. package/dist/utils/controlProps.js.map +1 -0
  838. package/dist/utils/ownClick.d.ts +16 -0
  839. package/dist/utils/ownClick.js +39 -0
  840. package/dist/utils/ownClick.js.map +1 -0
  841. package/package.json +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"snackbar.js","sources":["../../../../src/components/feedBack/snackbar/snackbar.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n createContext,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport { Dynamic, Portal } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createSnackbarsPortal } from \"./useSnackbarsPortal\";\nimport { createCssTransition } from \"../../../primitives/createCssTransition\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport const variants = [\"dark\", \"light\", \"danger\", \"success\", \"warning\", \"info\"] as const;\nexport const positions = [\"top\", \"bottom\", \"top-left\", \"top-right\", \"bottom-right\", \"bottom-left\"] as const;\n\nexport type Variants = (typeof variants)[number];\nexport type Position = (typeof positions)[number];\n\nexport interface SnackbarsProviderProps extends JSX.HTMLAttributes<HTMLElement> {\n variant?: Variants;\n position?: Position;\n autoCloseTime?: number;\n closeOnClick?: boolean;\n autoClose?: boolean;\n component?: string;\n}\n\ninterface Snack {\n id: string;\n message: JSX.Element;\n variant?: Variants | undefined;\n position?: Position | undefined;\n autoClose?: boolean | undefined;\n autoCloseTime?: number | undefined;\n component?: string | undefined;\n class?: string | undefined;\n}\n\nexport interface AddSnackbarOptions {\n key?: string;\n message: JSX.Element;\n variant?: Variants | undefined;\n position?: Position | undefined;\n autoClose?: boolean | undefined;\n autoCloseTime?: number | undefined;\n component?: string | undefined;\n class?: string;\n}\n\nexport type AddSnackbar = (options: AddSnackbarOptions) => string;\n\nexport interface SnackbarOptions {\n addSnackbar: AddSnackbar;\n clearAllSnackbars: () => void;\n clearFirstSnackbar: () => void;\n clearLastSnackbar: () => void;\n clearByIdSnackbar: (id: string) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarOptions>({\n addSnackbar: () => \"\",\n clearAllSnackbars: () => undefined,\n clearFirstSnackbar: () => undefined,\n clearLastSnackbar: () => undefined,\n clearByIdSnackbar: () => undefined,\n});\n\nlet snackCounter = 0;\n\nconst SNACKBAR_CLASSNAMES = {\n appear: \"smwb-snackbar-enter\",\n appearActive: \"smwb-snackbar-enter-active\",\n appearDone: \"smwb-snackbar-enter-done\",\n enter: \"smwb-snackbar-enter\",\n enterActive: \"smwb-snackbar-enter-active\",\n enterDone: \"smwb-snackbar-enter-done\",\n exitActive: \"smwb-snackbar-exit-active\",\n};\n\nexport interface SnackbarProps extends JSX.HTMLAttributes<HTMLElement> {\n message?: JSX.Element;\n variant?: Variants;\n position?: Position;\n component?: string;\n isAutoClose?: boolean;\n autoCloseTime?: number;\n onClose?: () => void;\n /** Optional action node rendered after the message (e.g. an Undo button). */\n action?: JSX.Element;\n /** Enter-transition classes for the appear animation. */\n transitionClass?: string;\n ref?: Ref<HTMLElement>;\n}\n\nexport function Snackbar(props: SnackbarProps): JSX.Element {\n const merged = mergeProps({ variant: \"dark\" as Variants, position: \"top-right\" as Position, component: \"div\" }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"message\",\n \"variant\",\n \"position\",\n \"onClick\",\n \"component\",\n \"isAutoClose\",\n \"autoCloseTime\",\n \"onClose\",\n \"action\",\n \"transitionClass\",\n \"ref\",\n ]);\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n onMount(() => {\n if (local.onClose && local.isAutoClose && local.autoCloseTime) {\n timer = setTimeout(() => local.onClose?.(), local.autoCloseTime);\n }\n });\n onCleanup(() => {\n if (timer !== undefined) clearTimeout(timer);\n });\n\n return (\n <Dynamic\n component={local.component ?? \"div\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-snackbar\", local.class, `smwb-${local.variant}`, `smwb-${local.position}`, local.transitionClass)}\n onClick={local.onClick}\n role=\"alert\"\n aria-live={local.variant === \"danger\" ? \"assertive\" : \"polite\"}\n aria-atomic=\"true\"\n >\n <div class=\"smwb-snackbar__body\">{local.message}</div>\n <Show when={local.action != null}>\n <div class=\"smwb-snackbar__action\">{local.action}</div>\n </Show>\n </Dynamic>\n );\n}\n\nfunction AnimatedSnack(props: {\n snack: Snack;\n position: Position;\n variant: Variants;\n component: string;\n autoClose: boolean;\n autoCloseTime: number;\n onRemove: (id: string) => void;\n onClose: (id: string) => void;\n}): JSX.Element {\n const transition = createCssTransition({\n in: () => true,\n appear: true,\n timeout: { appear: 125, enter: 125, exit: 125 },\n classNames: SNACKBAR_CLASSNAMES,\n });\n return (\n <Snackbar\n component={props.snack.component ?? props.component}\n message={props.snack.message}\n position={props.snack.position ?? props.position}\n variant={props.snack.variant ?? props.variant}\n class={props.snack.class}\n transitionClass={transition.classes()}\n isAutoClose={props.snack.autoClose ?? props.autoClose}\n autoCloseTime={props.snack.autoCloseTime ?? props.autoCloseTime}\n onClick={() => props.onRemove(props.snack.id)}\n onClose={() => props.onClose(props.snack.id)}\n />\n );\n}\n\nexport function SnackbarProvider(props: ParentProps<SnackbarsProviderProps>): JSX.Element {\n const merged = mergeProps(\n {\n position: \"top-right\" as Position,\n variant: \"dark\" as Variants,\n autoClose: true,\n autoCloseTime: 5000,\n closeOnClick: true,\n component: \"div\",\n },\n props\n );\n const [local] = splitProps(merged, [\n \"position\",\n \"variant\",\n \"class\",\n \"autoClose\",\n \"autoCloseTime\",\n \"closeOnClick\",\n \"onClick\",\n \"component\",\n \"children\",\n ]);\n\n const [snacks, setSnacks] = createSignal<Snack[]>([]);\n const portalRoot = createSnackbarsPortal();\n\n const addSnackbar: AddSnackbar = (options) => {\n const { key, ...optionRest } = options;\n const id = key ?? `snack-${++snackCounter}`;\n const snack: Snack = { id, ...optionRest };\n setSnacks((prev) => {\n const index = prev.findIndex((item) => item.id === id);\n if (index === -1) return [...prev, snack];\n const next = [...prev];\n next[index] = snack;\n return next;\n });\n return id;\n };\n\n const clearByIdSnackbar = (id: string): void => {\n setSnacks((prev) => prev.filter((item) => item.id !== id));\n };\n const clearAllSnackbars = (): void => {\n setSnacks([]);\n };\n const clearFirstSnackbar = (): void => {\n setSnacks((prev) => prev.slice(1));\n };\n const clearLastSnackbar = (): void => {\n setSnacks((prev) => prev.slice(0, -1));\n };\n\n const onRemove = (id: string): void => {\n if (local.closeOnClick) clearByIdSnackbar(id);\n };\n\n const grouped = (): Array<[Position, Snack[]]> => {\n const acc = {} as Record<Position, Snack[]>;\n for (const snack of snacks()) {\n const pos = snack.position ?? local.position;\n (acc[pos] = acc[pos] ?? []).push(snack);\n }\n return Object.entries(acc) as Array<[Position, Snack[]]>;\n };\n\n return (\n <SnackbarContext.Provider\n value={{ addSnackbar, clearAllSnackbars, clearFirstSnackbar, clearLastSnackbar, clearByIdSnackbar }}\n >\n {local.children}\n <Show when={portalRoot()}>\n <Portal mount={portalRoot()!}>\n <For each={grouped()}>\n {([pos, list]) => (\n <div class={cn(\"smwb-snackbars\", `smwb-${pos}`)} data-testid={`snackbars-${pos}`}>\n <For each={list}>\n {(snack) => (\n <AnimatedSnack\n snack={snack}\n position={local.position}\n variant={local.variant}\n component={local.component}\n autoClose={local.autoClose}\n autoCloseTime={local.autoCloseTime}\n onRemove={onRemove}\n onClose={clearByIdSnackbar}\n />\n )}\n </For>\n </div>\n )}\n </For>\n </Portal>\n </Show>\n </SnackbarContext.Provider>\n );\n}\n\nexport function useSnackbar(): SnackbarOptions {\n return useContext(SnackbarContext);\n}\n\nexport default SnackbarProvider;\n"],"names":["SnackbarContext","createContext","addSnackbar","clearAllSnackbars","clearFirstSnackbar","clearLastSnackbar","clearByIdSnackbar","snackCounter","SNACKBAR_CLASSNAMES","appear","appearActive","appearDone","enter","enterActive","enterDone","exitActive","Snackbar","props","merged","mergeProps","variant","position","component","local","rest","splitProps","timer","onMount","onClose","isAutoClose","autoCloseTime","setTimeout","onCleanup","undefined","clearTimeout","_$createComponent","Dynamic","_$mergeProps","ref","r$","_ref$","mergeRefs","cn","class","transitionClass","onClick","role","children","_el$","_tmpl$","_$insert","message","Show","when","action","_el$2","_tmpl$2","AnimatedSnack","transition","createCssTransition","in","timeout","exit","classNames","snack","classes","autoClose","onRemove","id","SnackbarProvider","closeOnClick","snacks","setSnacks","createSignal","portalRoot","createSnackbarsPortal","options","key","optionRest","prev","index","findIndex","item","next","filter","slice","grouped","acc","pos","push","Object","entries","Provider","value","_$memo","Portal","mount","For","each","list","_el$3","_tmpl$3","_$setAttribute","_$effect","_$className","useSnackbar","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"snackbar.js","sources":["../../../../src/components/feedBack/snackbar/snackbar.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n createContext,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport { Dynamic, Portal } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createSnackbarsPortal } from \"./useSnackbarsPortal\";\nimport { createCssTransition } from \"../../../primitives/createCssTransition\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport const variants = [\"dark\", \"light\", \"danger\", \"success\", \"warning\", \"info\"] as const;\nexport const positions = [\"top\", \"bottom\", \"top-left\", \"top-right\", \"bottom-right\", \"bottom-left\"] as const;\n\nexport type Variants = (typeof variants)[number];\nexport type Position = (typeof positions)[number];\n\nexport interface SnackbarsProviderProps extends JSX.HTMLAttributes<HTMLElement> {\n variant?: Variants;\n position?: Position;\n autoCloseTime?: number;\n closeOnClick?: boolean;\n autoClose?: boolean;\n component?: string;\n}\n\ninterface Snack {\n id: string;\n message: JSX.Element;\n variant?: Variants | undefined;\n position?: Position | undefined;\n autoClose?: boolean | undefined;\n autoCloseTime?: number | undefined;\n component?: string | undefined;\n class?: string | undefined;\n}\n\nexport interface AddSnackbarOptions {\n key?: string;\n message: JSX.Element;\n variant?: Variants | undefined;\n position?: Position | undefined;\n autoClose?: boolean | undefined;\n autoCloseTime?: number | undefined;\n component?: string | undefined;\n class?: string;\n}\n\nexport type AddSnackbar = (options: AddSnackbarOptions) => string;\n\nexport interface SnackbarOptions {\n addSnackbar: AddSnackbar;\n clearAllSnackbars: () => void;\n clearFirstSnackbar: () => void;\n clearLastSnackbar: () => void;\n clearByIdSnackbar: (id: string) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarOptions>({\n addSnackbar: () => \"\",\n clearAllSnackbars: () => undefined,\n clearFirstSnackbar: () => undefined,\n clearLastSnackbar: () => undefined,\n clearByIdSnackbar: () => undefined,\n});\n\nlet snackCounter = 0;\n\nconst SNACKBAR_CLASSNAMES = {\n appear: \"smwb-snackbar-enter\",\n appearActive: \"smwb-snackbar-enter-active\",\n appearDone: \"smwb-snackbar-enter-done\",\n enter: \"smwb-snackbar-enter\",\n enterActive: \"smwb-snackbar-enter-active\",\n enterDone: \"smwb-snackbar-enter-done\",\n exitActive: \"smwb-snackbar-exit-active\",\n};\n\nexport interface SnackbarProps extends JSX.HTMLAttributes<HTMLElement> {\n message?: JSX.Element;\n variant?: Variants;\n position?: Position;\n component?: string;\n isAutoClose?: boolean;\n autoCloseTime?: number;\n onClose?: () => void;\n /** Optional action node rendered after the message (e.g. an Undo button). */\n action?: JSX.Element;\n /** Enter-transition classes for the appear animation. */\n transitionClass?: string;\n ref?: Ref<HTMLElement>;\n}\n\nexport function Snackbar(props: SnackbarProps): JSX.Element {\n const merged = mergeProps({ variant: \"dark\" as Variants, position: \"top-right\" as Position, component: \"div\" }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"message\",\n \"variant\",\n \"position\",\n \"onClick\",\n \"component\",\n \"isAutoClose\",\n \"autoCloseTime\",\n \"onClose\",\n \"action\",\n \"transitionClass\",\n \"ref\",\n ]);\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n onMount(() => {\n if (local.onClose && local.isAutoClose && local.autoCloseTime) {\n timer = setTimeout(() => local.onClose?.(), local.autoCloseTime);\n }\n });\n onCleanup(() => {\n if (timer !== undefined) clearTimeout(timer);\n });\n\n return (\n <Dynamic\n component={local.component ?? \"div\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-snackbar\", local.class, `smwb-${local.variant}`, `smwb-${local.position}`, local.transitionClass)}\n onClick={local.onClick}\n // Defaults: the caller's own role, aria-live and aria-atomic win, and an\n // explicit undefined keeps these.\n role={rest.role ?? \"alert\"}\n aria-live={rest[\"aria-live\"] ?? (local.variant === \"danger\" ? \"assertive\" : \"polite\")}\n aria-atomic={rest[\"aria-atomic\"] ?? \"true\"}\n >\n <div class=\"smwb-snackbar__body\">{local.message}</div>\n <Show when={local.action != null}>\n <div class=\"smwb-snackbar__action\">{local.action}</div>\n </Show>\n </Dynamic>\n );\n}\n\nfunction AnimatedSnack(props: {\n snack: Snack;\n position: Position;\n variant: Variants;\n component: string;\n autoClose: boolean;\n autoCloseTime: number;\n onRemove: (id: string) => void;\n onClose: (id: string) => void;\n}): JSX.Element {\n const transition = createCssTransition({\n in: () => true,\n appear: true,\n timeout: { appear: 125, enter: 125, exit: 125 },\n classNames: SNACKBAR_CLASSNAMES,\n });\n return (\n <Snackbar\n component={props.snack.component ?? props.component}\n message={props.snack.message}\n position={props.snack.position ?? props.position}\n variant={props.snack.variant ?? props.variant}\n class={props.snack.class}\n transitionClass={transition.classes()}\n isAutoClose={props.snack.autoClose ?? props.autoClose}\n autoCloseTime={props.snack.autoCloseTime ?? props.autoCloseTime}\n onClick={() => props.onRemove(props.snack.id)}\n onClose={() => props.onClose(props.snack.id)}\n />\n );\n}\n\nexport function SnackbarProvider(props: ParentProps<SnackbarsProviderProps>): JSX.Element {\n const merged = mergeProps(\n {\n position: \"top-right\" as Position,\n variant: \"dark\" as Variants,\n autoClose: true,\n autoCloseTime: 5000,\n closeOnClick: true,\n component: \"div\",\n },\n props\n );\n const [local] = splitProps(merged, [\n \"position\",\n \"variant\",\n \"class\",\n \"autoClose\",\n \"autoCloseTime\",\n \"closeOnClick\",\n \"onClick\",\n \"component\",\n \"children\",\n ]);\n\n const [snacks, setSnacks] = createSignal<Snack[]>([]);\n const portalRoot = createSnackbarsPortal();\n\n const addSnackbar: AddSnackbar = (options) => {\n const { key, ...optionRest } = options;\n const id = key ?? `snack-${++snackCounter}`;\n const snack: Snack = { id, ...optionRest };\n setSnacks((prev) => {\n const index = prev.findIndex((item) => item.id === id);\n if (index === -1) return [...prev, snack];\n const next = [...prev];\n next[index] = snack;\n return next;\n });\n return id;\n };\n\n const clearByIdSnackbar = (id: string): void => {\n setSnacks((prev) => prev.filter((item) => item.id !== id));\n };\n const clearAllSnackbars = (): void => {\n setSnacks([]);\n };\n const clearFirstSnackbar = (): void => {\n setSnacks((prev) => prev.slice(1));\n };\n const clearLastSnackbar = (): void => {\n setSnacks((prev) => prev.slice(0, -1));\n };\n\n const onRemove = (id: string): void => {\n if (local.closeOnClick) clearByIdSnackbar(id);\n };\n\n const grouped = (): Array<[Position, Snack[]]> => {\n const acc = {} as Record<Position, Snack[]>;\n for (const snack of snacks()) {\n const pos = snack.position ?? local.position;\n (acc[pos] = acc[pos] ?? []).push(snack);\n }\n return Object.entries(acc) as Array<[Position, Snack[]]>;\n };\n\n return (\n <SnackbarContext.Provider\n value={{ addSnackbar, clearAllSnackbars, clearFirstSnackbar, clearLastSnackbar, clearByIdSnackbar }}\n >\n {local.children}\n <Show when={portalRoot()}>\n <Portal mount={portalRoot()!}>\n <For each={grouped()}>\n {([pos, list]) => (\n <div class={cn(\"smwb-snackbars\", `smwb-${pos}`)} data-testid={`snackbars-${pos}`}>\n <For each={list}>\n {(snack) => (\n <AnimatedSnack\n snack={snack}\n position={local.position}\n variant={local.variant}\n component={local.component}\n autoClose={local.autoClose}\n autoCloseTime={local.autoCloseTime}\n onRemove={onRemove}\n onClose={clearByIdSnackbar}\n />\n )}\n </For>\n </div>\n )}\n </For>\n </Portal>\n </Show>\n </SnackbarContext.Provider>\n );\n}\n\nexport function useSnackbar(): SnackbarOptions {\n return useContext(SnackbarContext);\n}\n\nexport default SnackbarProvider;\n"],"names":["SnackbarContext","createContext","addSnackbar","clearAllSnackbars","clearFirstSnackbar","clearLastSnackbar","clearByIdSnackbar","snackCounter","SNACKBAR_CLASSNAMES","appear","appearActive","appearDone","enter","enterActive","enterDone","exitActive","Snackbar","props","merged","mergeProps","variant","position","component","local","rest","splitProps","timer","onMount","onClose","isAutoClose","autoCloseTime","setTimeout","onCleanup","undefined","clearTimeout","_$createComponent","Dynamic","_$mergeProps","ref","r$","_ref$","mergeRefs","cn","class","transitionClass","onClick","role","children","_el$","_tmpl$","_$insert","message","Show","when","action","_el$2","_tmpl$2","AnimatedSnack","transition","createCssTransition","in","timeout","exit","classNames","snack","classes","autoClose","onRemove","id","SnackbarProvider","closeOnClick","snacks","setSnacks","createSignal","portalRoot","createSnackbarsPortal","options","key","optionRest","prev","index","findIndex","item","next","filter","slice","grouped","acc","pos","push","Object","entries","Provider","value","_$memo","Portal","mount","For","each","list","_el$3","_tmpl$3","_$setAttribute","_$effect","_$className","useSnackbar","useContext"],"mappings":"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"}
@@ -8,13 +8,21 @@ export interface TooltipProps {
8
8
  offsetX?: number;
9
9
  offsetY?: number;
10
10
  };
11
+ /** What the tip says: text or markup. */
11
12
  message: JSX.Element;
12
13
  placement?: Placement;
13
14
  /** Controls tooltip visibility when trigger is manual. */
14
15
  open?: boolean;
15
- /** hover (default): show on pointer enter; click: toggle; manual: use open only. */
16
+ /**
17
+ * What shows the tooltip. `hover` (default): the pointer over the target or keyboard focus
18
+ * in it, until both have left. Keyboard focus is focus with a focus ring (`:focus-visible`),
19
+ * not the focus a mouse press gives a button. `click`: a click on the target shows or hides
20
+ * it. `manual`: `open` alone. Escape hides a `hover` or `click` tooltip.
21
+ */
16
22
  trigger?: TooltipTrigger;
23
+ /** Milliseconds from the pointer entering the target, or keyboard focus moving into it, until a hover tooltip shows. */
17
24
  openDelay?: number;
25
+ /** Milliseconds from the pointer and keyboard focus both leaving the target until a hover tooltip hides. */
18
26
  closeDelay?: number;
19
27
  ref?: Ref<HTMLDivElement>;
20
28
  }
@@ -1,15 +1,23 @@
1
- import { use as p, addEventListener as m, insert as u, createComponent as F, effect as P, className as R, style as S, template as _, delegateEvents as A } from "solid-js/web";
1
+ import { use as g, insert as d, createComponent as N, effect as X, className as Y, style as H, memo as V, template as F, delegateEvents as j } from "solid-js/web";
2
2
  import '../../../assets/styles/less/components/tooltip/tooltip.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
3
  /* empty css */
4
- import { mergeProps as E, splitProps as M, createSignal as y, onCleanup as X, Show as Y } from "solid-js";
5
- import H from "clsx";
6
- import { offset as L, flip as N, shift as V } from "@floating-ui/dom";
7
- import { resolvePlacement as j } from "../../../utils/floating.js";
8
- import { createFloating as q } from "../../../primitives/createFloating.js";
9
- import { mergeRefs as z } from "../../../primitives/mergeRefs.js";
10
- var B = /* @__PURE__ */ _("<div>"), G = /* @__PURE__ */ _("<div class=smwb-tooltip__wrapper role=tooltip><div class=smwb-tooltip__ref>");
11
- function oe(w) {
12
- const D = E({
4
+ import { mergeProps as q, splitProps as z, createSignal as v, onCleanup as B, onMount as G, Show as J } from "solid-js";
5
+ import K from "clsx";
6
+ import { offset as Q, flip as U, shift as W } from "@floating-ui/dom";
7
+ import { resolvePlacement as Z } from "../../../utils/floating.js";
8
+ import { createFloating as ee } from "../../../primitives/createFloating.js";
9
+ import { mergeRefs as te } from "../../../primitives/mergeRefs.js";
10
+ import { createDismissOnEscape as C } from "../../../primitives/createDismissOnEscape.js";
11
+ var re = /* @__PURE__ */ F("<div>"), oe = /* @__PURE__ */ F("<div class=smwb-tooltip__wrapper role=tooltip><div class=smwb-tooltip__ref>");
12
+ function ne(u) {
13
+ try {
14
+ return u.matches(":focus-visible");
15
+ } catch {
16
+ return !0;
17
+ }
18
+ }
19
+ function de(u) {
20
+ const b = q({
13
21
  placement: "top",
14
22
  offset: {
15
23
  offsetX: 0,
@@ -18,61 +26,77 @@ function oe(w) {
18
26
  trigger: "hover",
19
27
  openDelay: 0,
20
28
  closeDelay: 0
21
- }, w), [e] = M(D, ["class", "children", "placement", "offset", "message", "open", "trigger", "openDelay", "closeDelay", "ref"]), [T, i] = y(!1), [k, $] = y(!1);
22
- let n = null, s = null;
23
- const c = () => {
24
- n !== null && (clearTimeout(n), n = null), s !== null && (clearTimeout(s), s = null);
29
+ }, u), [e] = z(b, ["class", "children", "placement", "offset", "message", "open", "trigger", "openDelay", "closeDelay", "ref"]), [h, n] = v(!1), [y, T] = v(!1);
30
+ let a = null, c = null, m = !1, s = !1;
31
+ const f = () => {
32
+ a !== null && (clearTimeout(a), a = null), c !== null && (clearTimeout(c), c = null);
25
33
  };
26
- X(c);
27
- const C = () => {
28
- if (c(), e.openDelay <= 0) {
29
- i(!0);
34
+ B(f);
35
+ const $ = () => {
36
+ if (f(), e.openDelay <= 0) {
37
+ n(!0);
30
38
  return;
31
39
  }
32
- n = setTimeout(() => i(!0), e.openDelay);
33
- }, O = () => {
34
- if (c(), e.closeDelay <= 0) {
35
- i(!1);
40
+ a = setTimeout(() => n(!0), e.openDelay);
41
+ }, _ = () => {
42
+ if (f(), e.closeDelay <= 0) {
43
+ n(!1);
36
44
  return;
37
45
  }
38
- s = setTimeout(() => i(!1), e.closeDelay);
39
- }, f = () => j(e.placement), r = q({
40
- placement: () => f().placement,
46
+ c = setTimeout(() => n(!1), e.closeDelay);
47
+ };
48
+ C(() => e.trigger === "hover" && h(), () => {
49
+ f(), s = !1, n(!1);
50
+ }), C(() => e.trigger === "click" && y(), () => T(!1));
51
+ const p = () => Z(e.placement), l = ee({
52
+ placement: () => p().placement,
41
53
  middleware: () => [
42
- L({
54
+ Q({
43
55
  mainAxis: e.offset?.offsetY ?? 0,
44
56
  crossAxis: e.offset?.offsetX ?? 0
45
57
  }),
46
58
  // A fixed placement turns to the other side, and slides along it, when the
47
59
  // viewport has no room for it.
48
- ...f().autoMiddleware ? [f().autoMiddleware] : [N(), V({
60
+ ...p().autoMiddleware ? [p().autoMiddleware] : [U(), W({
49
61
  padding: 8
50
62
  })]
51
63
  ]
52
- }), b = () => e.trigger === "manual" ? e.open === !0 : e.trigger === "click" ? k() : T();
64
+ }), E = () => e.trigger === "manual" ? e.open === !0 : e.trigger === "click" ? y() : h(), [P, M] = v(!1);
65
+ G(() => M(!0));
66
+ const R = () => {
67
+ m = !0, e.trigger === "hover" && $();
68
+ }, x = () => {
69
+ m = !1, e.trigger === "hover" && !s && _();
70
+ }, I = (t) => {
71
+ t.currentTarget.contains(t.target) && (s = ne(t.target), e.trigger === "hover" && s && $());
72
+ }, L = (t) => {
73
+ t.relatedTarget instanceof Node && t.currentTarget.contains(t.relatedTarget) || (s = !1, e.trigger === "hover" && !m && _());
74
+ }, S = () => {
75
+ e.trigger === "click" && T((t) => !t);
76
+ };
53
77
  return (() => {
54
- var a = G(), o = a.firstChild, g = z(e.ref);
55
- typeof g == "function" && p(g, a), m(o, "click", e.trigger === "click" ? () => $((t) => !t) : void 0, !0), m(o, "pointerleave", e.trigger === "hover" ? O : void 0), m(o, "pointerenter", e.trigger === "hover" ? C : void 0);
56
- var d = r.setReference;
57
- return typeof d == "function" ? p(d, o) : r.setReference = o, u(o, () => e.children), u(a, F(Y, {
78
+ var t = oe(), r = t.firstChild, w = te(e.ref);
79
+ typeof w == "function" && g(w, t), r.$$click = S, r.$$focusout = L, r.$$focusin = I, r.addEventListener("pointerleave", x), r.addEventListener("pointerenter", R);
80
+ var D = l.setReference;
81
+ return typeof D == "function" ? g(D, r) : l.setReference = r, d(r, () => e.children), d(t, N(J, {
58
82
  get when() {
59
- return b();
83
+ return V(() => !!P())() && E();
60
84
  },
61
85
  get children() {
62
- var t = B(), v = r.setFloating;
63
- return typeof v == "function" ? p(v, t) : r.setFloating = t, u(t, () => e.message), P((l) => {
64
- var h = H("smwb-tooltip", e.class), x = r.floatingStyles();
65
- return h !== l.e && R(t, l.e = h), l.t = S(t, x, l.t), l;
86
+ var o = re(), k = l.setFloating;
87
+ return typeof k == "function" ? g(k, o) : l.setFloating = o, d(o, () => e.message), X((i) => {
88
+ var O = K("smwb-tooltip", e.class), A = l.floatingStyles();
89
+ return O !== i.e && Y(o, i.e = O), i.t = H(o, A, i.t), i;
66
90
  }, {
67
91
  e: void 0,
68
92
  t: void 0
69
- }), t;
93
+ }), o;
70
94
  }
71
- }), null), a;
95
+ }), null), t;
72
96
  })();
73
97
  }
74
- A(["click"]);
98
+ j(["focusin", "focusout", "click"]);
75
99
  export {
76
- oe as Tooltip
100
+ de as Tooltip
77
101
  };
78
102
  //# sourceMappingURL=tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sources":["../../../../src/components/feedBack/tooltip/tooltip.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createSignal, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { flip, offset as offsetMiddleware, shift } from \"@floating-ui/dom\";\nimport { type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type TooltipTrigger = \"hover\" | \"click\" | \"manual\";\n\nexport interface TooltipProps {\n class?: string;\n offset?: {\n offsetX?: number;\n offsetY?: number;\n };\n message: JSX.Element;\n placement?: Placement;\n /** Controls tooltip visibility when trigger is manual. */\n open?: boolean;\n /** hover (default): show on pointer enter; click: toggle; manual: use open only. */\n trigger?: TooltipTrigger;\n openDelay?: number;\n closeDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Tooltip(props: ParentProps<TooltipProps>): JSX.Element {\n const merged = mergeProps(\n {\n placement: \"top\" as Placement,\n offset: { offsetX: 0, offsetY: 0 },\n trigger: \"hover\" as TooltipTrigger,\n openDelay: 0,\n closeDelay: 0,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"class\",\n \"children\",\n \"placement\",\n \"offset\",\n \"message\",\n \"open\",\n \"trigger\",\n \"openDelay\",\n \"closeDelay\",\n \"ref\",\n ]);\n\n const [hoverOpen, setHoverOpen] = createSignal(false);\n const [clickOpen, setClickOpen] = createSignal(false);\n let openTimer: ReturnType<typeof setTimeout> | null = null;\n let closeTimer: ReturnType<typeof setTimeout> | null = null;\n\n const clearTimers = (): void => {\n if (openTimer !== null) {\n clearTimeout(openTimer);\n openTimer = null;\n }\n if (closeTimer !== null) {\n clearTimeout(closeTimer);\n closeTimer = null;\n }\n };\n onCleanup(clearTimers);\n\n const scheduleOpen = (): void => {\n clearTimers();\n if (local.openDelay <= 0) {\n setHoverOpen(true);\n return;\n }\n openTimer = setTimeout(() => setHoverOpen(true), local.openDelay);\n };\n const scheduleClose = (): void => {\n clearTimers();\n if (local.closeDelay <= 0) {\n setHoverOpen(false);\n return;\n }\n closeTimer = setTimeout(() => setHoverOpen(false), local.closeDelay);\n };\n\n const resolved = () => resolvePlacement(local.placement);\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => [\n offsetMiddleware({ mainAxis: local.offset?.offsetY ?? 0, crossAxis: local.offset?.offsetX ?? 0 }),\n // A fixed placement turns to the other side, and slides along it, when the\n // viewport has no room for it.\n ...(resolved().autoMiddleware ? [resolved().autoMiddleware] : [flip(), shift({ padding: 8 })]),\n ],\n });\n\n const isVisible = (): boolean =>\n local.trigger === \"manual\" ? local.open === true : local.trigger === \"click\" ? clickOpen() : hoverOpen();\n\n return (\n <div class=\"smwb-tooltip__wrapper\" role=\"tooltip\" ref={mergeRefs(local.ref)}>\n <div\n class=\"smwb-tooltip__ref\"\n ref={floating.setReference}\n onPointerEnter={local.trigger === \"hover\" ? scheduleOpen : undefined}\n onPointerLeave={local.trigger === \"hover\" ? scheduleClose : undefined}\n onClick={local.trigger === \"click\" ? () => setClickOpen((prev) => !prev) : undefined}\n >\n {local.children}\n </div>\n <Show when={isVisible()}>\n <div ref={floating.setFloating} class={cn(\"smwb-tooltip\", local.class)} style={floating.floatingStyles()}>\n {local.message}\n </div>\n </Show>\n </div>\n );\n}\n\nexport default Tooltip;\n"],"names":["Tooltip","props","merged","mergeProps","placement","offset","offsetX","offsetY","trigger","openDelay","closeDelay","local","splitProps","hoverOpen","setHoverOpen","createSignal","clickOpen","setClickOpen","openTimer","closeTimer","clearTimers","clearTimeout","onCleanup","scheduleOpen","setTimeout","scheduleClose","resolved","resolvePlacement","floating","createFloating","middleware","offsetMiddleware","mainAxis","crossAxis","autoMiddleware","flip","shift","padding","isVisible","open","_el$","_tmpl$2","_el$2","firstChild","_ref$","mergeRefs","ref","_$use","_$addEventListener","prev","undefined","_ref$2","setReference","_$insert","children","_$createComponent","Show","when","_el$3","_tmpl$","_ref$3","setFloating","message","_$effect","_p$","_v$","cn","class","_v$2","floatingStyles","e","_$className","t","_$style","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.js","sources":["../../../../src/components/feedBack/tooltip/tooltip.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { flip, offset as offsetMiddleware, shift } from \"@floating-ui/dom\";\nimport { type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { createDismissOnEscape } from \"../../../primitives/createDismissOnEscape\";\n\nexport type TooltipTrigger = \"hover\" | \"click\" | \"manual\";\n\nexport interface TooltipProps {\n class?: string;\n offset?: {\n offsetX?: number;\n offsetY?: number;\n };\n /** What the tip says: text or markup. */\n message: JSX.Element;\n placement?: Placement;\n /** Controls tooltip visibility when trigger is manual. */\n open?: boolean;\n /**\n * What shows the tooltip. `hover` (default): the pointer over the target or keyboard focus\n * in it, until both have left. Keyboard focus is focus with a focus ring (`:focus-visible`),\n * not the focus a mouse press gives a button. `click`: a click on the target shows or hides\n * it. `manual`: `open` alone. Escape hides a `hover` or `click` tooltip.\n */\n trigger?: TooltipTrigger;\n /** Milliseconds from the pointer entering the target, or keyboard focus moving into it, until a hover tooltip shows. */\n openDelay?: number;\n /** Milliseconds from the pointer and keyboard focus both leaving the target until a hover tooltip hides. */\n closeDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * Whether focus on `element` draws a focus ring (`:focus-visible`): focus from the keyboard,\n * not the focus a mouse press gives a button. An engine without the selector counts any focus.\n */\nfunction hasFocusRing(element: Element): boolean {\n try {\n return element.matches(\":focus-visible\");\n } catch {\n return true;\n }\n}\n\nexport function Tooltip(props: ParentProps<TooltipProps>): JSX.Element {\n const merged = mergeProps(\n {\n placement: \"top\" as Placement,\n offset: { offsetX: 0, offsetY: 0 },\n trigger: \"hover\" as TooltipTrigger,\n openDelay: 0,\n closeDelay: 0,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"class\",\n \"children\",\n \"placement\",\n \"offset\",\n \"message\",\n \"open\",\n \"trigger\",\n \"openDelay\",\n \"closeDelay\",\n \"ref\",\n ]);\n\n const [hoverOpen, setHoverOpen] = createSignal(false);\n const [clickOpen, setClickOpen] = createSignal(false);\n let openTimer: ReturnType<typeof setTimeout> | null = null;\n let closeTimer: ReturnType<typeof setTimeout> | null = null;\n // The pointer over the target and keyboard focus in it each keep a hover tooltip shown.\n let pointerInside = false;\n let focusInside = false;\n\n const clearTimers = (): void => {\n if (openTimer !== null) {\n clearTimeout(openTimer);\n openTimer = null;\n }\n if (closeTimer !== null) {\n clearTimeout(closeTimer);\n closeTimer = null;\n }\n };\n onCleanup(clearTimers);\n\n const scheduleOpen = (): void => {\n clearTimers();\n if (local.openDelay <= 0) {\n setHoverOpen(true);\n return;\n }\n openTimer = setTimeout(() => setHoverOpen(true), local.openDelay);\n };\n const scheduleClose = (): void => {\n clearTimers();\n if (local.closeDelay <= 0) {\n setHoverOpen(false);\n return;\n }\n closeTimer = setTimeout(() => setHoverOpen(false), local.closeDelay);\n };\n\n // Escape hides a tooltip shown on hover or focus wherever focus is (WCAG 1.4.13), and the\n // window, panel, Modal or Sheet around it stays open until the next press. Focus left in\n // the target no longer keeps it: the pointer alone shows and hides it until focus moves.\n createDismissOnEscape(\n () => local.trigger === \"hover\" && hoverOpen(),\n () => {\n clearTimers();\n focusInside = false;\n setHoverOpen(false);\n }\n );\n // A click tooltip hides on Escape the same way.\n createDismissOnEscape(\n () => local.trigger === \"click\" && clickOpen(),\n () => setClickOpen(false)\n );\n\n const resolved = () => resolvePlacement(local.placement);\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => [\n offsetMiddleware({ mainAxis: local.offset?.offsetY ?? 0, crossAxis: local.offset?.offsetX ?? 0 }),\n // A fixed placement turns to the other side, and slides along it, when the\n // viewport has no room for it.\n ...(resolved().autoMiddleware ? [resolved().autoMiddleware] : [flip(), shift({ padding: 8 })]),\n ],\n });\n\n const isVisible = (): boolean =>\n local.trigger === \"manual\" ? local.open === true : local.trigger === \"click\" ? clickOpen() : hoverOpen();\n\n // The tip mounts in the browser, after hydration, as in React: its place is\n // measured there, and a tip drawn by the server would cover its trigger.\n const [mounted, setMounted] = createSignal(false);\n onMount(() => setMounted(true));\n\n // Solid binds event handlers once, so they are always attached and check\n // `trigger` themselves: it can change after the tooltip renders.\n const onPointerEnter = (): void => {\n pointerInside = true;\n if (local.trigger === \"hover\") scheduleOpen();\n };\n const onPointerLeave = (): void => {\n pointerInside = false;\n if (local.trigger === \"hover\" && !focusInside) scheduleClose();\n };\n // focusin/focusout, as Solid's onFocus/onBlur don't bubble from the controls inside. Focus\n // without a focus ring doesn't count: the focus a mouse press gives a button would keep the\n // tooltip shown after the pointer leaves.\n const onFocusIn: JSX.EventHandler<HTMLDivElement, FocusEvent> = (event) => {\n // Focus in a portal the target renders (a menu, a picker panel) reaches here through the\n // portal's host, but it is not in the target.\n if (!event.currentTarget.contains(event.target)) return;\n focusInside = hasFocusRing(event.target);\n if (local.trigger === \"hover\" && focusInside) scheduleOpen();\n };\n const onFocusOut: JSX.EventHandler<HTMLDivElement, FocusEvent> = (event) => {\n // Focus moving to another control in the target keeps the tooltip.\n if (event.relatedTarget instanceof Node && event.currentTarget.contains(event.relatedTarget)) return;\n focusInside = false;\n if (local.trigger === \"hover\" && !pointerInside) scheduleClose();\n };\n const onClick = (): void => {\n if (local.trigger === \"click\") setClickOpen((prev) => !prev);\n };\n\n return (\n <div class=\"smwb-tooltip__wrapper\" role=\"tooltip\" ref={mergeRefs(local.ref)}>\n <div\n class=\"smwb-tooltip__ref\"\n ref={floating.setReference}\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n onFocusIn={onFocusIn}\n onFocusOut={onFocusOut}\n onClick={onClick}\n >\n {local.children}\n </div>\n <Show when={mounted() && isVisible()}>\n <div ref={floating.setFloating} class={cn(\"smwb-tooltip\", local.class)} style={floating.floatingStyles()}>\n {local.message}\n </div>\n </Show>\n </div>\n );\n}\n\nexport default Tooltip;\n"],"names":["hasFocusRing","element","matches","Tooltip","props","merged","mergeProps","placement","offset","offsetX","offsetY","trigger","openDelay","closeDelay","local","splitProps","hoverOpen","setHoverOpen","createSignal","clickOpen","setClickOpen","openTimer","closeTimer","pointerInside","focusInside","clearTimers","clearTimeout","onCleanup","scheduleOpen","setTimeout","scheduleClose","createDismissOnEscape","resolved","resolvePlacement","floating","createFloating","middleware","offsetMiddleware","mainAxis","crossAxis","autoMiddleware","flip","shift","padding","isVisible","open","mounted","setMounted","onMount","onPointerEnter","onPointerLeave","onFocusIn","event","currentTarget","contains","target","onFocusOut","relatedTarget","Node","onClick","prev","_el$","_tmpl$2","_el$2","firstChild","_ref$","mergeRefs","ref","_$use","$$click","$$focusout","$$focusin","addEventListener","_ref$2","setReference","_$insert","children","_$createComponent","Show","when","_$memo","_el$3","_tmpl$","_ref$3","setFloating","message","_$effect","_p$","_v$","cn","class","_v$2","floatingStyles","e","_$className","t","_$style","undefined","_$delegateEvents"],"mappings":";;;;;;;;;;;AAyCA,SAASA,GAAaC,GAA2B;AAC/C,MAAI;AACF,WAAOA,EAAQC,QAAQ,gBAAgB;AAAA,EACzC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAASC,GAAQC,GAA+C;AACrE,QAAMC,IAASC,EACb;AAAA,IACEC,WAAW;AAAA,IACXC,QAAQ;AAAA,MAAEC,SAAS;AAAA,MAAGC,SAAS;AAAA,IAAA;AAAA,IAC/BC,SAAS;AAAA,IACTC,WAAW;AAAA,IACXC,YAAY;AAAA,EAAA,GAEdT,CACF,GACM,CAACU,CAAK,IAAIC,EAAWV,GAAQ,CACjC,SACA,YACA,aACA,UACA,WACA,QACA,WACA,aACA,cACA,KAAK,CACN,GAEK,CAACW,GAAWC,CAAY,IAAIC,EAAa,EAAK,GAC9C,CAACC,GAAWC,CAAY,IAAIF,EAAa,EAAK;AACpD,MAAIG,IAAkD,MAClDC,IAAmD,MAEnDC,IAAgB,IAChBC,IAAc;AAElB,QAAMC,IAAcA,MAAY;AAC9B,IAAIJ,MAAc,SAChBK,aAAaL,CAAS,GACtBA,IAAY,OAEVC,MAAe,SACjBI,aAAaJ,CAAU,GACvBA,IAAa;AAAA,EAEjB;AACAK,EAAAA,EAAUF,CAAW;AAErB,QAAMG,IAAeA,MAAY;AAE/B,QADAH,EAAAA,GACIX,EAAMF,aAAa,GAAG;AACxBK,MAAAA,EAAa,EAAI;AACjB;AAAA,IACF;AACAI,IAAAA,IAAYQ,WAAW,MAAMZ,EAAa,EAAI,GAAGH,EAAMF,SAAS;AAAA,EAClE,GACMkB,IAAgBA,MAAY;AAEhC,QADAL,EAAAA,GACIX,EAAMD,cAAc,GAAG;AACzBI,MAAAA,EAAa,EAAK;AAClB;AAAA,IACF;AACAK,IAAAA,IAAaO,WAAW,MAAMZ,EAAa,EAAK,GAAGH,EAAMD,UAAU;AAAA,EACrE;AAKAkB,EAAAA,EACE,MAAMjB,EAAMH,YAAY,WAAWK,EAAAA,GACnC,MAAM;AACJS,IAAAA,EAAAA,GACAD,IAAc,IACdP,EAAa,EAAK;AAAA,EACpB,CACF,GAEAc,EACE,MAAMjB,EAAMH,YAAY,WAAWQ,KACnC,MAAMC,EAAa,EAAK,CAC1B;AAEA,QAAMY,IAAWA,MAAMC,EAAiBnB,EAAMP,SAAS,GACjD2B,IAAWC,GAAe;AAAA,IAC9B5B,WAAWA,MAAMyB,EAAAA,EAAWzB;AAAAA,IAC5B6B,YAAYA,MAAM;AAAA,MAChBC,EAAiB;AAAA,QAAEC,UAAUxB,EAAMN,QAAQE,WAAW;AAAA,QAAG6B,WAAWzB,EAAMN,QAAQC,WAAW;AAAA,MAAA,CAAG;AAAA;AAAA;AAAA,MAGhG,GAAIuB,EAAAA,EAAWQ,iBAAiB,CAACR,EAAAA,EAAWQ,cAAc,IAAI,CAACC,EAAAA,GAAQC,EAAM;AAAA,QAAEC,SAAS;AAAA,MAAA,CAAG,CAAC;AAAA,IAAA;AAAA,EAAE,CAEjG,GAEKC,IAAYA,MAChB9B,EAAMH,YAAY,WAAWG,EAAM+B,SAAS,KAAO/B,EAAMH,YAAY,UAAUQ,EAAAA,IAAcH,EAAAA,GAIzF,CAAC8B,GAASC,CAAU,IAAI7B,EAAa,EAAK;AAChD8B,EAAAA,EAAQ,MAAMD,EAAW,EAAI,CAAC;AAI9B,QAAME,IAAiBA,MAAY;AACjC1B,IAAAA,IAAgB,IACZT,EAAMH,YAAY,WAASiB,EAAAA;AAAAA,EACjC,GACMsB,IAAiBA,MAAY;AACjC3B,IAAAA,IAAgB,IACZT,EAAMH,YAAY,WAAW,CAACa,KAAaM,EAAAA;AAAAA,EACjD,GAIMqB,IAA2DC,CAAAA,MAAU;AAGzE,IAAKA,EAAMC,cAAcC,SAASF,EAAMG,MAAM,MAC9C/B,IAAcxB,GAAaoD,EAAMG,MAAM,GACnCzC,EAAMH,YAAY,WAAWa,KAAaI,EAAAA;AAAAA,EAChD,GACM4B,IAA4DJ,CAAAA,MAAU;AAE1E,IAAIA,EAAMK,yBAAyBC,QAAQN,EAAMC,cAAcC,SAASF,EAAMK,aAAa,MAC3FjC,IAAc,IACVV,EAAMH,YAAY,WAAW,CAACY,KAAeO,EAAAA;AAAAA,EACnD,GACM6B,IAAUA,MAAY;AAC1B,IAAI7C,EAAMH,YAAY,WAASS,EAAcwC,CAAAA,MAAS,CAACA,CAAI;AAAA,EAC7D;AAEA,UAAA,MAAA;AAAA,QAAAC,IAAAC,GAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IACyDC,GAAUpD,EAAMqD,GAAG;AAAC,WAAAF,KAAA,cAAAG,EAAAH,GAAAJ,CAAA,GAAAE,EAAAM,UAQ9DV,GAAOI,EAAAO,aADJd,GAAUO,EAAAQ,YADXpB,GAASY,EAAAS,iBAAA,gBADJtB,CAAc,GAAAa,EAAAS,iBAAA,gBADdvB,CAAc;AAAA,QAAAwB,IADzBvC,EAASwC;AAAY,kBAAAD,KAAA,aAAAL,EAAAK,GAAAV,CAAA,IAArB7B,EAASwC,eAAYX,GAAAY,EAAAZ,GAAA,MAOzBjD,EAAM8D,QAAQ,GAAAD,EAAAd,GAAAgB,EAEhBC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEC,UAAAlC,GAAS,EAAA,KAAIF,EAAAA;AAAAA,MAAW;AAAA,MAAA,IAAAgC,WAAA;AAAA,YAAAK,IAAAC,GAAAA,GAAAC,IACxBjD,EAASkD;AAAW,sBAAAD,KAAA,aAAAf,EAAAe,GAAAF,CAAA,IAApB/C,EAASkD,cAAWH,GAAAN,EAAAM,GAAA,MAC3BnE,EAAMuE,OAAO,GAAAC,EAAAC,CAAAA,MAAA;AAAA,cAAAC,IADuBC,EAAG,gBAAgB3E,EAAM4E,KAAK,GAACC,IAASzD,EAAS0D,eAAAA;AAAgBJ,iBAAAA,MAAAD,EAAAM,KAAAC,EAAAb,GAAAM,EAAAM,IAAAL,CAAA,GAAAD,EAAAQ,IAAAC,EAAAf,GAAAU,GAAAJ,EAAAQ,CAAA,GAAAR;AAAAA,QAAA,GAAA;AAAA,UAAAM,GAAAI;AAAAA,UAAAF,GAAAE;AAAAA,QAAAA,CAAA,GAAAhB;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAApB;AAAAA,EAAA,GAAA;AAMhH;AAEuBqC,EAAA,CAAA,WAAA,YAAA,OAAA,CAAA;"}
@@ -26,6 +26,8 @@ export interface ButtonProps extends JSX.HTMLAttributes<HTMLButtonElement | HTML
26
26
  rippleCenter?: boolean;
27
27
  /** Disable the ripple effect. */
28
28
  disableRipple?: boolean;
29
+ /** Test id of the root; `button`, or `button-link` for a link, unless given. */
30
+ "data-testid"?: string | undefined;
29
31
  ref?: Ref<HTMLButtonElement | HTMLAnchorElement>;
30
32
  }
31
33
  export declare function Button(props: ParentProps<ButtonProps>): JSX.Element;
@@ -1,15 +1,16 @@
1
1
  import { createComponent as n, use as b, spread as g, mergeProps as l, insert as h, template as _, memo as w } from "solid-js/web";
2
2
  import '../../../assets/styles/less/components/button/button.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
3
  /* empty css */
4
- import { mergeProps as z, splitProps as T, children as W, Show as s } from "solid-js";
5
- import k from "clsx";
6
- import { mergeRefs as v } from "../../../primitives/mergeRefs.js";
7
- import { useButtonGroup as C } from "../buttonGroups/buttonGroupContext.js";
8
- import { Ripple as D } from "../../base/ripple/ripple.js";
9
- import { Icon as B } from "../../base/icon/icon.js";
10
- var x = /* @__PURE__ */ _("<a data-testid=button-link>"), A = /* @__PURE__ */ _("<button data-testid=button>");
11
- function K($) {
12
- const t = C(), P = z({
4
+ import { mergeProps as D, splitProps as z, children as T, Show as s } from "solid-js";
5
+ import W from "clsx";
6
+ import { mergeRefs as P } from "../../../primitives/mergeRefs.js";
7
+ import { useButtonGroup as k } from "../buttonGroups/buttonGroupContext.js";
8
+ import { callHandler as C } from "../../../primitives/callHandler.js";
9
+ import { Ripple as B } from "../../base/ripple/ripple.js";
10
+ import { Icon as x } from "../../base/icon/icon.js";
11
+ var A = /* @__PURE__ */ _("<a>"), E = /* @__PURE__ */ _("<button>");
12
+ function M($) {
13
+ const t = k(), v = D({
13
14
  get variant() {
14
15
  return t?.variant ?? "contained";
15
16
  },
@@ -19,16 +20,35 @@ function K($) {
19
20
  get colorTheme() {
20
21
  return t?.colorTheme ?? "primary";
21
22
  }
22
- }, $), [e, a] = T(P, ["label", "variant", "icon", "iconProps", "href", "class", "disabled", "children", "fullWidth", "rippleCenter", "disableRipple", "size", "colorTheme", "color", "ref"]), c = () => e.color ?? t?.color ?? e.colorTheme, i = () => e.disabled ?? t?.disabled, y = () => e.fullWidth ?? t?.fullWidth;
23
+ }, $), [e, a] = z(v, [
24
+ "label",
25
+ "variant",
26
+ "icon",
27
+ "iconProps",
28
+ "href",
29
+ "class",
30
+ "disabled",
31
+ "children",
32
+ "fullWidth",
33
+ "rippleCenter",
34
+ "disableRipple",
35
+ // The button sets this on its root too; its own handler calls the caller's first.
36
+ "onPointerDown",
37
+ "size",
38
+ "colorTheme",
39
+ "color",
40
+ "ref",
41
+ "data-testid"
42
+ ]), c = () => e.color ?? t?.color ?? e.colorTheme, i = () => e.disabled ?? t?.disabled, y = () => e.fullWidth ?? t?.fullWidth;
23
43
  let m;
24
- const p = () => k("smwb-button", `smwb-${e.variant}`, `smwb-${e.size}`, c() === "primary" ? "smwb-primary" : `smwb-button_color-${c()}`, t && "smwb-button-group__grouped", e.class, {
44
+ const p = () => W("smwb-button", `smwb-${e.variant}`, `smwb-${e.size}`, c() === "primary" ? "smwb-primary" : `smwb-button_color-${c()}`, t && "smwb-button-group__grouped", e.class, {
25
45
  "smwb-disabled": i(),
26
46
  "smwb-full-width": y()
27
47
  }), u = (r) => {
28
- i() || m?.onRipple(r);
29
- }, d = W(() => e.icon), R = () => {
48
+ C(e.onPointerDown, r), i() || m?.onRipple(r);
49
+ }, d = T(() => e.icon), R = () => {
30
50
  const r = d();
31
- return typeof r == "string" ? n(B, l(() => e.iconProps ?? {}, {
51
+ return typeof r == "string" ? n(x, l(() => e.iconProps ?? {}, {
32
52
  name: r
33
53
  })) : r;
34
54
  }, f = () => [n(s, {
@@ -43,7 +63,7 @@ function K($) {
43
63
  return !e.disableRipple;
44
64
  },
45
65
  get children() {
46
- return n(D, {
66
+ return n(B, {
47
67
  actionRef: (r) => m = r,
48
68
  get center() {
49
69
  return e.rippleCenter;
@@ -57,8 +77,12 @@ function K($) {
57
77
  },
58
78
  get fallback() {
59
79
  return (() => {
60
- var r = A(), o = v(e.ref);
61
- return typeof o == "function" && b(o, r), g(r, l(a, {
80
+ var r = E(), o = P(e.ref);
81
+ return typeof o == "function" && b(o, r), g(r, l({
82
+ get "data-testid"() {
83
+ return e["data-testid"] ?? "button";
84
+ }
85
+ }, a, {
62
86
  get class() {
63
87
  return p();
64
88
  },
@@ -70,8 +94,12 @@ function K($) {
70
94
  })();
71
95
  },
72
96
  get children() {
73
- var r = x(), o = v(e.ref);
74
- return typeof o == "function" && b(o, r), g(r, l(a, {
97
+ var r = A(), o = P(e.ref);
98
+ return typeof o == "function" && b(o, r), g(r, l({
99
+ get "data-testid"() {
100
+ return e["data-testid"] ?? "button-link";
101
+ }
102
+ }, a, {
75
103
  get class() {
76
104
  return p();
77
105
  },
@@ -86,6 +114,6 @@ function K($) {
86
114
  });
87
115
  }
88
116
  export {
89
- K as Button
117
+ M as Button
90
118
  };
91
119
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../../src/components/inputs/button/button.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Icon, type IconProps } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { useButtonGroup } from \"../buttonGroups/buttonGroupContext\";\n\nexport interface ButtonProps extends JSX.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n /** Button text. */\n label?: string;\n /** Visual style of the button. */\n variant?: \"contained\" | \"text\" | \"outlined\";\n /** Button size. */\n size?: \"small\" | \"medium\" | \"large\";\n /** Icon as an element (e.g. <Icon/>) or a string (icon name / url / base64). */\n icon?: JSX.Element | string;\n /** Props forwarded to the <Icon/> when `icon` is a string. */\n iconProps?: Omit<IconProps, \"name\">;\n /** @deprecated use `color`. Kept for backward compatibility. */\n colorTheme?: \"primary\";\n /** Semantic color, resolved through `--smwb-*Color*` tokens. */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** When set, the component renders as an <a>. */\n href?: string;\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n /** Stretch to the full width of the container. */\n fullWidth?: boolean;\n /** Center the ripple effect. */\n rippleCenter?: boolean;\n /** Disable the ripple effect. */\n disableRipple?: boolean;\n ref?: Ref<HTMLButtonElement | HTMLAnchorElement>;\n}\n\nexport function Button(props: ParentProps<ButtonProps>): JSX.Element {\n const group = useButtonGroup();\n const merged = mergeProps(\n {\n get variant(): NonNullable<ButtonProps[\"variant\"]> {\n return group?.variant ?? \"contained\";\n },\n get size(): NonNullable<ButtonProps[\"size\"]> {\n return group?.size ?? \"medium\";\n },\n get colorTheme(): NonNullable<ButtonProps[\"colorTheme\"]> {\n return group?.colorTheme ?? \"primary\";\n },\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"label\",\n \"variant\",\n \"icon\",\n \"iconProps\",\n \"href\",\n \"class\",\n \"disabled\",\n \"children\",\n \"fullWidth\",\n \"rippleCenter\",\n \"disableRipple\",\n \"size\",\n \"colorTheme\",\n \"color\",\n \"ref\",\n ]);\n\n const color = (): string => local.color ?? group?.color ?? local.colorTheme;\n const disabled = (): boolean | undefined => local.disabled ?? group?.disabled;\n const fullWidth = (): boolean | undefined => local.fullWidth ?? group?.fullWidth;\n let rippleActions: RippleActionsRef | undefined;\n\n const classes = (): string =>\n cn(\n \"smwb-button\",\n `smwb-${local.variant}`,\n `smwb-${local.size}`,\n color() === \"primary\" ? \"smwb-primary\" : `smwb-button_color-${color()}`,\n group && \"smwb-button-group__grouped\",\n local.class,\n {\n \"smwb-disabled\": disabled(),\n \"smwb-full-width\": fullWidth(),\n }\n );\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: PointerEvent): void => {\n if (!disabled()) {\n rippleActions?.onRipple(event);\n }\n };\n\n // Read the icon once: markup passed as a prop is created anew on every read,\n // and during hydration the copy made for a <Show> test has no server DOM node.\n const icon = children(() => local.icon);\n const iconElement = (): JSX.Element => {\n const resolved = icon();\n return typeof resolved === \"string\" ? <Icon {...(local.iconProps ?? {})} name={resolved} /> : resolved;\n };\n\n const content = (): JSX.Element => (\n <>\n <Show when={icon()}>{iconElement()}</Show>\n {local.label ? local.label : local.children}\n <Show when={!local.disableRipple}>\n <Ripple actionRef={(actions) => (rippleActions = actions)} center={local.rippleCenter} />\n </Show>\n </>\n );\n\n return (\n <Show\n when={local.href}\n fallback={\n <button\n data-testid=\"button\"\n {...rest}\n ref={mergeRefs(local.ref)}\n class={classes()}\n onPointerDown={onPointerDown}\n disabled={!!disabled()}\n >\n {content()}\n </button>\n }\n >\n <a\n data-testid=\"button-link\"\n {...rest}\n ref={mergeRefs(local.ref)}\n class={classes()}\n href={local.href}\n target=\"_blank\"\n rel=\"noreferrer\"\n onPointerDown={onPointerDown}\n >\n {content()}\n </a>\n </Show>\n );\n}\n\nexport default Button;\n"],"names":["Button","props","group","useButtonGroup","merged","mergeProps","variant","size","colorTheme","local","rest","splitProps","color","disabled","fullWidth","rippleActions","classes","cn","class","onPointerDown","event","onRipple","icon","children","iconElement","resolved","_$createComponent","Icon","_$mergeProps","iconProps","name","content","Show","when","_$memo","label","disableRipple","Ripple","actionRef","actions","center","rippleCenter","href","fallback","_el$2","_tmpl$2","_ref$2","mergeRefs","ref","_$use","_$spread","_$insert","_el$","_tmpl$","_ref$"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../../../src/components/inputs/button/button.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Icon, type IconProps } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { useButtonGroup } from \"../buttonGroups/buttonGroupContext\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport interface ButtonProps extends JSX.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n /** Button text. */\n label?: string;\n /** Visual style of the button. */\n variant?: \"contained\" | \"text\" | \"outlined\";\n /** Button size. */\n size?: \"small\" | \"medium\" | \"large\";\n /** Icon as an element (e.g. <Icon/>) or a string (icon name / url / base64). */\n icon?: JSX.Element | string;\n /** Props forwarded to the <Icon/> when `icon` is a string. */\n iconProps?: Omit<IconProps, \"name\">;\n /** @deprecated use `color`. Kept for backward compatibility. */\n colorTheme?: \"primary\";\n /** Semantic color, resolved through `--smwb-*Color*` tokens. */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** When set, the component renders as an <a>. */\n href?: string;\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n /** Stretch to the full width of the container. */\n fullWidth?: boolean;\n /** Center the ripple effect. */\n rippleCenter?: boolean;\n /** Disable the ripple effect. */\n disableRipple?: boolean;\n /** Test id of the root; `button`, or `button-link` for a link, unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLButtonElement | HTMLAnchorElement>;\n}\n\nexport function Button(props: ParentProps<ButtonProps>): JSX.Element {\n const group = useButtonGroup();\n const merged = mergeProps(\n {\n get variant(): NonNullable<ButtonProps[\"variant\"]> {\n return group?.variant ?? \"contained\";\n },\n get size(): NonNullable<ButtonProps[\"size\"]> {\n return group?.size ?? \"medium\";\n },\n get colorTheme(): NonNullable<ButtonProps[\"colorTheme\"]> {\n return group?.colorTheme ?? \"primary\";\n },\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"label\",\n \"variant\",\n \"icon\",\n \"iconProps\",\n \"href\",\n \"class\",\n \"disabled\",\n \"children\",\n \"fullWidth\",\n \"rippleCenter\",\n \"disableRipple\",\n // The button sets this on its root too; its own handler calls the caller's first.\n \"onPointerDown\",\n \"size\",\n \"colorTheme\",\n \"color\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const color = (): string => local.color ?? group?.color ?? local.colorTheme;\n const disabled = (): boolean | undefined => local.disabled ?? group?.disabled;\n const fullWidth = (): boolean | undefined => local.fullWidth ?? group?.fullWidth;\n let rippleActions: RippleActionsRef | undefined;\n\n const classes = (): string =>\n cn(\n \"smwb-button\",\n `smwb-${local.variant}`,\n `smwb-${local.size}`,\n color() === \"primary\" ? \"smwb-primary\" : `smwb-button_color-${color()}`,\n group && \"smwb-button-group__grouped\",\n local.class,\n {\n \"smwb-disabled\": disabled(),\n \"smwb-full-width\": fullWidth(),\n }\n );\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown: JSX.EventHandler<HTMLButtonElement | HTMLAnchorElement, PointerEvent> = (event) => {\n callHandler(local.onPointerDown, event);\n if (!disabled()) {\n rippleActions?.onRipple(event);\n }\n };\n\n // Read the icon once: markup passed as a prop is created anew on every read,\n // and during hydration the copy made for a <Show> test has no server DOM node.\n const icon = children(() => local.icon);\n const iconElement = (): JSX.Element => {\n const resolved = icon();\n return typeof resolved === \"string\" ? <Icon {...(local.iconProps ?? {})} name={resolved} /> : resolved;\n };\n\n const content = (): JSX.Element => (\n <>\n <Show when={icon()}>{iconElement()}</Show>\n {local.label ? local.label : local.children}\n <Show when={!local.disableRipple}>\n <Ripple actionRef={(actions) => (rippleActions = actions)} center={local.rippleCenter} />\n </Show>\n </>\n );\n\n return (\n <Show\n when={local.href}\n fallback={\n <button\n data-testid={local[\"data-testid\"] ?? \"button\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={classes()}\n onPointerDown={onPointerDown}\n disabled={!!disabled()}\n >\n {content()}\n </button>\n }\n >\n <a\n data-testid={local[\"data-testid\"] ?? \"button-link\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={classes()}\n href={local.href}\n target=\"_blank\"\n rel=\"noreferrer\"\n onPointerDown={onPointerDown}\n >\n {content()}\n </a>\n </Show>\n );\n}\n\nexport default Button;\n"],"names":["Button","props","group","useButtonGroup","merged","mergeProps","variant","size","colorTheme","local","rest","splitProps","color","disabled","fullWidth","rippleActions","classes","cn","class","onPointerDown","event","callHandler","onRipple","icon","children","iconElement","resolved","_$createComponent","Icon","_$mergeProps","iconProps","name","content","Show","when","_$memo","label","disableRipple","Ripple","actionRef","actions","center","rippleCenter","href","fallback","_el$2","_tmpl$2","_ref$2","mergeRefs","ref","_$use","_$spread","_$insert","_el$","_tmpl$","_ref$"],"mappings":";;;;;;;;;;;AAwCO,SAASA,EAAOC,GAA8C;AACnE,QAAMC,IAAQC,EAAAA,GACRC,IAASC,EACb;AAAA,IACE,IAAIC,UAA+C;AACjD,aAAOJ,GAAOI,WAAW;AAAA,IAC3B;AAAA,IACA,IAAIC,OAAyC;AAC3C,aAAOL,GAAOK,QAAQ;AAAA,IACxB;AAAA,IACA,IAAIC,aAAqD;AACvD,aAAON,GAAOM,cAAc;AAAA,IAC9B;AAAA,EAAA,GAEFP,CACF,GACM,CAACQ,GAAOC,CAAI,IAAIC,EAAWP,GAAQ;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD,GAEKQ,IAAQA,MAAcH,EAAMG,SAASV,GAAOU,SAASH,EAAMD,YAC3DK,IAAWA,MAA2BJ,EAAMI,YAAYX,GAAOW,UAC/DC,IAAYA,MAA2BL,EAAMK,aAAaZ,GAAOY;AACvE,MAAIC;AAEJ,QAAMC,IAAUA,MACdC,EACE,eACA,QAAQR,EAAMH,OAAO,IACrB,QAAQG,EAAMF,IAAI,IAClBK,QAAY,YAAY,iBAAiB,qBAAqBA,GAAO,IACrEV,KAAS,8BACTO,EAAMS,OACN;AAAA,IACE,iBAAiBL,EAAAA;AAAAA,IACjB,mBAAmBC,EAAAA;AAAAA,EAAU,CAEjC,GAGIK,IAAwFC,CAAAA,MAAU;AACtGC,IAAAA,EAAYZ,EAAMU,eAAeC,CAAK,GACjCP,OACHE,GAAeO,SAASF,CAAK;AAAA,EAEjC,GAIMG,IAAOC,EAAS,MAAMf,EAAMc,IAAI,GAChCE,IAAcA,MAAmB;AACrC,UAAMC,IAAWH,EAAAA;AACjB,WAAO,OAAOG,KAAa,WAAQC,EAAIC,GAAIC,QAAMpB,EAAMqB,aAAa,IAAE;AAAA,MAAGC,MAAML;AAAAA,IAAAA,CAAQ,CAAA,IAAOA;AAAAA,EAChG,GAEMM,IAAUA,MAAe,CAAAL,EAE1BM,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEX,EAAAA;AAAAA,IAAM;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAGC,EAAAA;AAAAA,IAAa;AAAA,EAAA,CAAA,GAAAU,EAAA,MACjCA,UAAA1B,EAAM2B,KAAK,EAAA,IAAG3B,EAAM2B,QAAQ3B,EAAMe,QAAQ,GAAAG,EAC1CM,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAE,CAACzB,EAAM4B;AAAAA,IAAa;AAAA,IAAA,IAAAb,WAAA;AAAA,aAAAG,EAC7BW,GAAM;AAAA,QAACC,WAAYC,OAAazB,IAAgByB;AAAAA,QAAQ,IAAEC,SAAM;AAAA,iBAAEhC,EAAMiC;AAAAA,QAAY;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAK3F,SAAAf,EACGM,GAAI;AAAA,IAAA,IACHC,OAAI;AAAA,aAAEzB,EAAMkC;AAAAA,IAAI;AAAA,IAAA,IAChBC,WAAQ;AAAA,cAAA,MAAA;AAAA,YAAAC,IAAAC,EAAAA,GAAAC,IAICC,EAAUvC,EAAMwC,GAAG;AAAC,sBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAhB,EAAA;AAAA,UAAA,IAAA,gBAAA;AAAA,mBAFZpB,EAAM,aAAa,KAAK;AAAA,UAAQ;AAAA,QAAA,GACzCC,GAAI;AAAA,UAAA,IAAA,QAAA;AAAA,mBAEDM,EAAAA;AAAAA,UAAS;AAAA,UAAA,eACDG;AAAAA,UAAa,IAC5BN,WAAQ;AAAA,mBAAE,CAAC,CAACA,EAAAA;AAAAA,UAAU;AAAA,QAAA,CAAA,GAAA,IAAA,EAAA,GAAAuC,EAAAP,GAErBb,CAAO,GAAAa;AAAAA,MAAA,GAAA;AAAA,IAAA;AAAA,IAAA,IAAArB,WAAA;AAAA,UAAA6B,IAAAC,EAAAA,GAAAC,IAOLP,EAAUvC,EAAMwC,GAAG;AAAC,oBAAAM,KAAA,cAAAL,EAAAK,GAAAF,CAAA,GAAAF,EAAAE,GAAAxB,EAAA;AAAA,QAAA,IAAA,gBAAA;AAAA,iBAFZpB,EAAM,aAAa,KAAK;AAAA,QAAa;AAAA,MAAA,GAC9CC,GAAI;AAAA,QAAA,IAAA,QAAA;AAAA,iBAEDM,EAAAA;AAAAA,QAAS;AAAA,QAAA,IAChB2B,OAAI;AAAA,iBAAElC,EAAMkC;AAAAA,QAAI;AAAA,QAAA,QACT;AAAA,QAAQ,KACX;AAAA,QAAY,eACDxB;AAAAA,MAAAA,CAAa,GAAA,IAAA,EAAA,GAAAiC,EAAAC,GAE3BrB,CAAO,GAAAqB;AAAAA,IAAA;AAAA,EAAA,CAAA;AAIhB;"}
@@ -10,6 +10,8 @@ export interface ButtonGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {
10
10
  colorTheme?: "primary";
11
11
  /** Semantic color propagated to child buttons. */
12
12
  color?: "primary" | "secondary" | "error" | "success" | "warning" | "info";
13
+ /** Test id of the root `<div>`; `button-group` unless given. */
14
+ "data-testid"?: string | undefined;
13
15
  ref?: Ref<HTMLDivElement>;
14
16
  }
15
17
  export declare function ButtonGroup(props: ParentProps<ButtonGroupProps>): JSX.Element;
@@ -1,4 +1,4 @@
1
- import { createComponent as a, use as s, spread as m, mergeProps as u, insert as d, template as p } from "solid-js/web";
1
+ import { createComponent as l, use as s, spread as u, mergeProps as m, insert as d, template as p } from "solid-js/web";
2
2
  import '../../../assets/styles/less/components/buttonGroup/buttonGroup.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
3
  /* empty css */
4
4
  import { mergeProps as c, splitProps as f } from "solid-js";
@@ -6,15 +6,15 @@ import g from "clsx";
6
6
  import { mergeRefs as h } from "../../../primitives/mergeRefs.js";
7
7
  import { ButtonGroupContext as v } from "./buttonGroupContext.js";
8
8
  var b = /* @__PURE__ */ p("<div>");
9
- function x(o) {
10
- const i = c({
9
+ function x(i) {
10
+ const n = c({
11
11
  variant: "contained",
12
12
  size: "medium",
13
13
  orientation: "horizontal",
14
14
  colorTheme: "primary",
15
15
  fullWidth: !1,
16
16
  disabled: !1
17
- }, o), [r, n] = f(i, ["class", "children", "variant", "size", "orientation", "colorTheme", "color", "fullWidth", "disabled", "ref"]), l = {
17
+ }, i), [r, t] = f(n, ["class", "children", "variant", "size", "orientation", "colorTheme", "color", "fullWidth", "disabled", "ref", "data-testid"]), a = {
18
18
  get variant() {
19
19
  return r.variant;
20
20
  },
@@ -34,16 +34,20 @@ function x(o) {
34
34
  return r.orientation === "vertical" ? !0 : r.fullWidth;
35
35
  }
36
36
  };
37
- return a(v.Provider, {
38
- value: l,
37
+ return l(v.Provider, {
38
+ value: a,
39
39
  get children() {
40
- var e = b(), t = h(r.ref);
41
- return typeof t == "function" && s(t, e), m(e, u(n, {
40
+ var e = b(), o = h(r.ref);
41
+ return typeof o == "function" && s(o, e), u(e, m(t, {
42
42
  get class() {
43
43
  return g("smwb-button-group", r.class, `smwb-${r.orientation}`, `smwb-${r.variant}`, r.fullWidth && "smwb-full-width");
44
44
  },
45
- role: "group",
46
- "data-testid": "button-group"
45
+ get role() {
46
+ return t.role ?? "group";
47
+ },
48
+ get "data-testid"() {
49
+ return r["data-testid"] ?? "button-group";
50
+ }
47
51
  }), !1, !0), d(e, () => r.children), e;
48
52
  }
49
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.js","sources":["../../../../src/components/inputs/buttonGroups/buttonGroup.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { ButtonGroupContext, type ButtonGroupContextValue } from \"./buttonGroupContext\";\n\nexport interface ButtonGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n variant?: \"contained\" | \"text\" | \"outlined\";\n size?: \"small\" | \"medium\" | \"large\";\n fullWidth?: boolean;\n disabled?: boolean;\n /** @deprecated use `color`. */\n colorTheme?: \"primary\";\n /** Semantic color propagated to child buttons. */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function ButtonGroup(props: ParentProps<ButtonGroupProps>): JSX.Element {\n const merged = mergeProps(\n {\n variant: \"contained\" as const,\n size: \"medium\" as const,\n orientation: \"horizontal\" as const,\n colorTheme: \"primary\" as const,\n fullWidth: false,\n disabled: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"children\",\n \"variant\",\n \"size\",\n \"orientation\",\n \"colorTheme\",\n \"color\",\n \"fullWidth\",\n \"disabled\",\n \"ref\",\n ]);\n\n const value: ButtonGroupContextValue = {\n get variant() {\n return local.variant;\n },\n get size() {\n return local.size;\n },\n get color() {\n return local.color;\n },\n get colorTheme() {\n return local.colorTheme;\n },\n get disabled() {\n return local.disabled;\n },\n get fullWidth() {\n return local.orientation === \"vertical\" ? true : local.fullWidth;\n },\n };\n\n return (\n <ButtonGroupContext.Provider value={value}>\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\n \"smwb-button-group\",\n local.class,\n `smwb-${local.orientation}`,\n `smwb-${local.variant}`,\n local.fullWidth && \"smwb-full-width\"\n )}\n role=\"group\"\n data-testid=\"button-group\"\n >\n {local.children}\n </div>\n </ButtonGroupContext.Provider>\n );\n}\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","props","merged","mergeProps","variant","size","orientation","colorTheme","fullWidth","disabled","local","rest","splitProps","value","color","_$createComponent","ButtonGroupContext","Provider","children","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","_$insert"],"mappings":";;;;;;;;AAoBO,SAASA,EAAYC,GAAmD;AAC7E,QAAMC,IAASC,EACb;AAAA,IACEC,SAAS;AAAA,IACTC,MAAM;AAAA,IACNC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,WAAW;AAAA,IACXC,UAAU;AAAA,EAAA,GAEZR,CACF,GACM,CAACS,GAAOC,CAAI,IAAIC,EAAWV,GAAQ,CACvC,SACA,YACA,WACA,QACA,eACA,cACA,SACA,aACA,YACA,KAAK,CACN,GAEKW,IAAiC;AAAA,IACrC,IAAIT,UAAU;AACZ,aAAOM,EAAMN;AAAAA,IACf;AAAA,IACA,IAAIC,OAAO;AACT,aAAOK,EAAML;AAAAA,IACf;AAAA,IACA,IAAIS,QAAQ;AACV,aAAOJ,EAAMI;AAAAA,IACf;AAAA,IACA,IAAIP,aAAa;AACf,aAAOG,EAAMH;AAAAA,IACf;AAAA,IACA,IAAIE,WAAW;AACb,aAAOC,EAAMD;AAAAA,IACf;AAAA,IACA,IAAID,YAAY;AACd,aAAOE,EAAMJ,gBAAgB,aAAa,KAAOI,EAAMF;AAAAA,IACzD;AAAA,EAAA;AAGF,SAAAO,EACGC,EAAmBC,UAAQ;AAAA,IAACJ,OAAAA;AAAAA,IAAY,IAAAK,WAAA;AAAA,UAAAC,IAAAC,EAAAA,GAAAC,IAGhCC,EAAUZ,EAAMa,GAAG;AAAC,oBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBf,GAAI;AAAA,QAAA,IAAA,QAAA;AAAA,iBAEDgB,EACL,qBACAjB,EAAMkB,OACN,QAAQlB,EAAMJ,WAAW,IACzB,QAAQI,EAAMN,OAAO,IACrBM,EAAMF,aAAa,iBACrB;AAAA,QAAC;AAAA,QAAA,MACI;AAAA,QAAO,eACA;AAAA,MAAA,CAAc,GAAA,IAAA,EAAA,GAAAqB,EAAAV,GAAA,MAEzBT,EAAMQ,QAAQ,GAAAC;AAAAA,IAAA;AAAA,EAAA,CAAA;AAIvB;"}
1
+ {"version":3,"file":"buttonGroup.js","sources":["../../../../src/components/inputs/buttonGroups/buttonGroup.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { ButtonGroupContext, type ButtonGroupContextValue } from \"./buttonGroupContext\";\n\nexport interface ButtonGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n variant?: \"contained\" | \"text\" | \"outlined\";\n size?: \"small\" | \"medium\" | \"large\";\n fullWidth?: boolean;\n disabled?: boolean;\n /** @deprecated use `color`. */\n colorTheme?: \"primary\";\n /** Semantic color propagated to child buttons. */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Test id of the root `<div>`; `button-group` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function ButtonGroup(props: ParentProps<ButtonGroupProps>): JSX.Element {\n const merged = mergeProps(\n {\n variant: \"contained\" as const,\n size: \"medium\" as const,\n orientation: \"horizontal\" as const,\n colorTheme: \"primary\" as const,\n fullWidth: false,\n disabled: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"children\",\n \"variant\",\n \"size\",\n \"orientation\",\n \"colorTheme\",\n \"color\",\n \"fullWidth\",\n \"disabled\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const value: ButtonGroupContextValue = {\n get variant() {\n return local.variant;\n },\n get size() {\n return local.size;\n },\n get color() {\n return local.color;\n },\n get colorTheme() {\n return local.colorTheme;\n },\n get disabled() {\n return local.disabled;\n },\n get fullWidth() {\n return local.orientation === \"vertical\" ? true : local.fullWidth;\n },\n };\n\n return (\n <ButtonGroupContext.Provider value={value}>\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\n \"smwb-button-group\",\n local.class,\n `smwb-${local.orientation}`,\n `smwb-${local.variant}`,\n local.fullWidth && \"smwb-full-width\"\n )}\n // A default: the caller's own wins, and an explicit undefined keeps it.\n role={rest.role ?? \"group\"}\n data-testid={local[\"data-testid\"] ?? \"button-group\"}\n >\n {local.children}\n </div>\n </ButtonGroupContext.Provider>\n );\n}\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","props","merged","mergeProps","variant","size","orientation","colorTheme","fullWidth","disabled","local","rest","splitProps","value","color","_$createComponent","ButtonGroupContext","Provider","children","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","role","_$insert"],"mappings":";;;;;;;;AAsBO,SAASA,EAAYC,GAAmD;AAC7E,QAAMC,IAASC,EACb;AAAA,IACEC,SAAS;AAAA,IACTC,MAAM;AAAA,IACNC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,WAAW;AAAA,IACXC,UAAU;AAAA,EAAA,GAEZR,CACF,GACM,CAACS,GAAOC,CAAI,IAAIC,EAAWV,GAAQ,CACvC,SACA,YACA,WACA,QACA,eACA,cACA,SACA,aACA,YACA,OACA,aAAa,CACd,GAEKW,IAAiC;AAAA,IACrC,IAAIT,UAAU;AACZ,aAAOM,EAAMN;AAAAA,IACf;AAAA,IACA,IAAIC,OAAO;AACT,aAAOK,EAAML;AAAAA,IACf;AAAA,IACA,IAAIS,QAAQ;AACV,aAAOJ,EAAMI;AAAAA,IACf;AAAA,IACA,IAAIP,aAAa;AACf,aAAOG,EAAMH;AAAAA,IACf;AAAA,IACA,IAAIE,WAAW;AACb,aAAOC,EAAMD;AAAAA,IACf;AAAA,IACA,IAAID,YAAY;AACd,aAAOE,EAAMJ,gBAAgB,aAAa,KAAOI,EAAMF;AAAAA,IACzD;AAAA,EAAA;AAGF,SAAAO,EACGC,EAAmBC,UAAQ;AAAA,IAACJ,OAAAA;AAAAA,IAAY,IAAAK,WAAA;AAAA,UAAAC,IAAAC,EAAAA,GAAAC,IAGhCC,EAAUZ,EAAMa,GAAG;AAAC,oBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBf,GAAI;AAAA,QAAA,IAAA,QAAA;AAAA,iBAEDgB,EACL,qBACAjB,EAAMkB,OACN,QAAQlB,EAAMJ,WAAW,IACzB,QAAQI,EAAMN,OAAO,IACrBM,EAAMF,aAAa,iBACrB;AAAA,QAAC;AAAA,QAAA,IAEDqB,OAAI;AAAA,iBAAElB,EAAKkB,QAAQ;AAAA,QAAO;AAAA,QAAA,IAAA,gBAAA;AAAA,iBACbnB,EAAM,aAAa,KAAK;AAAA,QAAc;AAAA,MAAA,CAAA,GAAA,IAAA,EAAA,GAAAoB,EAAAX,GAAA,MAElDT,EAAMQ,QAAQ,GAAAC;AAAAA,IAAA;AAAA,EAAA,CAAA;AAIvB;"}
@@ -9,10 +9,20 @@ export type SelectionChangeEvent = Event & {
9
9
  export interface CheckboxProps extends Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "onChange" | "size"> {
10
10
  label?: string;
11
11
  disabled?: boolean;
12
+ /**
13
+ * Keeps the checkbox as it is: clicks on it or its label and Space change nothing, and `onChange` is not called.
14
+ * It stays focusable, and its input tells assistive technology it is read-only (`aria-readonly`).
15
+ */
12
16
  readOnly?: boolean;
13
17
  required?: boolean;
14
18
  name?: string;
15
19
  id?: string;
20
+ /**
21
+ * Shows the checkbox as partly checked, as for a "select all" over a partial selection: drawn with a dash and
22
+ * announced as "mixed" by screen readers, whatever `checked` is. A click does not clear it: the click toggles
23
+ * `checked` as usual and `onChange` reports the new `checked`, while the checkbox stays mixed until this prop turns
24
+ * false.
25
+ */
16
26
  indeterminate?: boolean;
17
27
  size?: SelectionControlSize;
18
28
  color?: SelectionControlColor;