@smwb/ui-solid 0.12.0 → 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 (850) 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/createCssTransition.js +31 -28
  422. package/dist/headless/primitives/createCssTransition.js.map +1 -1
  423. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  424. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  425. package/dist/headless/primitives/createFocusTrap.js +1 -0
  426. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  427. package/dist/headless/primitives/createHelperText.js +14 -0
  428. package/dist/headless/primitives/createHelperText.js.map +1 -0
  429. package/dist/headless/primitives/mergeStyle.js +9 -0
  430. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  431. package/dist/headless/primitives/overlayLayer.js +14 -7
  432. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  433. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  434. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  435. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  436. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  437. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  438. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  439. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  440. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  441. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  442. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  443. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  444. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  445. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  446. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  447. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  448. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  449. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  450. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  451. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  452. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  453. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  454. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  455. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  456. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  457. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  458. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  459. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +639 -0
  460. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  461. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  462. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  463. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  464. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  465. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  466. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  467. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  468. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  469. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  470. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  471. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  472. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  473. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  474. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  475. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +11 -10
  476. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  477. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  478. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  479. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  480. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  481. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  482. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  483. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  484. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  485. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  486. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  487. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  488. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  489. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  490. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  491. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  492. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  493. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  494. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  495. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  496. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  497. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  498. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  499. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  500. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  501. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  502. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  503. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  504. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  505. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  506. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  507. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  508. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  509. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  510. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  511. package/dist/headless/source/components/feedBack/modal/modal.jsx +5 -2
  512. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  513. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  514. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  515. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  516. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  517. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  518. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  519. package/dist/headless/source/components/inputs/button/button.jsx +8 -3
  520. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  521. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  522. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  523. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  524. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  525. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  526. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  527. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  528. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  529. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  530. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  531. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  532. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  533. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  534. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  535. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  536. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  537. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  538. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  539. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  540. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  541. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  542. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  543. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  544. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  545. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  546. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  547. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  548. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  549. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  550. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  551. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  552. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  553. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  554. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  555. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  556. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  557. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  558. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  559. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  560. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  561. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  562. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  563. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  564. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  565. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  566. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  567. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  568. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  569. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  570. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  571. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  572. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  573. package/dist/headless/source/components/layout/sheet/sheet.jsx +6 -8
  574. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  575. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  576. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  577. package/dist/headless/source/components/navigation/appBar/appBar.jsx +3 -2
  578. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  579. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  580. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  581. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  582. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  583. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  584. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  585. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  586. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  587. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  588. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  589. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  590. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  591. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  592. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  593. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  594. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  595. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  596. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  597. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +1 -1
  598. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  599. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  600. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  601. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +12 -16
  602. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  603. package/dist/headless/source/components/navigation/tabs/tabs.jsx +34 -10
  604. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  605. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  606. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  607. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  608. package/dist/headless/source/index.js +3 -0
  609. package/dist/headless/source/index.js.map +2 -2
  610. package/dist/headless/source/primitives/createCssTransition.js +10 -1
  611. package/dist/headless/source/primitives/createCssTransition.js.map +2 -2
  612. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  613. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  614. package/dist/headless/source/primitives/createFocusTrap.js +1 -0
  615. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  616. package/dist/headless/source/primitives/createHelperText.js +16 -0
  617. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  618. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  619. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  620. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  621. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  622. package/dist/headless/source/utils/controlProps.js +22 -0
  623. package/dist/headless/source/utils/controlProps.js.map +7 -0
  624. package/dist/headless/source/utils/ownClick.js +41 -0
  625. package/dist/headless/source/utils/ownClick.js.map +7 -0
  626. package/dist/headless/utils/controlProps.js +20 -0
  627. package/dist/headless/utils/controlProps.js.map +1 -0
  628. package/dist/headless/utils/ownClick.js +39 -0
  629. package/dist/headless/utils/ownClick.js.map +1 -0
  630. package/dist/index.d.ts +2 -0
  631. package/dist/index.js +224 -220
  632. package/dist/index.js.map +1 -1
  633. package/dist/primitives/createCssTransition.d.ts +6 -0
  634. package/dist/primitives/createCssTransition.js +31 -28
  635. package/dist/primitives/createCssTransition.js.map +1 -1
  636. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  637. package/dist/primitives/createDismissOnEscape.js +14 -0
  638. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  639. package/dist/primitives/createFocusTrap.d.ts +2 -0
  640. package/dist/primitives/createFocusTrap.js +1 -0
  641. package/dist/primitives/createFocusTrap.js.map +1 -1
  642. package/dist/primitives/createHelperText.d.ts +26 -0
  643. package/dist/primitives/createHelperText.js +14 -0
  644. package/dist/primitives/createHelperText.js.map +1 -0
  645. package/dist/primitives/mergeStyle.d.ts +19 -0
  646. package/dist/primitives/mergeStyle.js +9 -0
  647. package/dist/primitives/mergeStyle.js.map +1 -0
  648. package/dist/primitives/overlayLayer.d.ts +15 -3
  649. package/dist/primitives/overlayLayer.js +14 -7
  650. package/dist/primitives/overlayLayer.js.map +1 -1
  651. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  652. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  653. package/dist/source/components/base/icon/icon.jsx +10 -12
  654. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  655. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  656. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  657. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  658. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  659. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  660. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  661. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  662. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  663. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  664. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  665. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  666. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  667. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  668. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  669. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  670. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  671. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  672. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  673. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  674. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  675. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  676. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  677. package/dist/source/components/dataDisplay/dagView/dagView.jsx +641 -0
  678. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  679. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  680. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  681. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  682. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  683. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  684. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  685. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  686. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  687. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  688. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  689. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  690. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  691. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  692. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  693. package/dist/source/components/dataDisplay/list/listItem.jsx +11 -10
  694. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  695. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  696. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  697. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  698. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  699. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  700. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  701. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  702. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  703. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  704. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  705. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  706. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  707. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  708. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  709. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  710. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  711. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  712. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  713. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  714. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  715. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  716. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  717. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  718. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  719. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  720. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  721. package/dist/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  722. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  723. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  724. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  725. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  726. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  727. package/dist/source/components/feedBack/message/message.jsx +5 -4
  728. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  729. package/dist/source/components/feedBack/modal/modal.jsx +5 -2
  730. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  731. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  732. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  733. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  734. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  735. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  736. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  737. package/dist/source/components/inputs/button/button.jsx +8 -3
  738. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  739. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  740. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  741. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  742. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  743. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  744. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  745. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  746. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  747. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  748. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  749. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  750. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  751. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  752. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  753. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  754. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  755. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  756. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  757. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  758. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  759. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  760. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  761. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  762. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  763. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  764. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  765. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  766. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  767. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  768. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  769. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  770. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  771. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  772. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  773. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  774. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  775. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  776. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  777. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  778. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  779. package/dist/source/components/layout/divider/divider.jsx +6 -5
  780. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  781. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  782. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  783. package/dist/source/components/layout/grid/grid.jsx +20 -8
  784. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  785. package/dist/source/components/layout/page/page.jsx +10 -2
  786. package/dist/source/components/layout/page/page.jsx.map +1 -1
  787. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  788. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  789. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  790. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  791. package/dist/source/components/layout/sheet/sheet.jsx +6 -8
  792. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  793. package/dist/source/components/layout/stack/stack.jsx +15 -11
  794. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  795. package/dist/source/components/navigation/appBar/appBar.jsx +3 -2
  796. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  797. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  798. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  799. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  800. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  801. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  802. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  803. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  804. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  805. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  806. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  807. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  808. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  809. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  810. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  811. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  812. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  813. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  814. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  815. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -1
  816. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  817. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  818. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  819. package/dist/source/components/navigation/tabs/tab/tab.jsx +12 -16
  820. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  821. package/dist/source/components/navigation/tabs/tabs.jsx +34 -10
  822. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  823. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  824. package/dist/source/connects/rt/table/table.jsx +7 -2
  825. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  826. package/dist/source/index.js +3 -0
  827. package/dist/source/index.js.map +2 -2
  828. package/dist/source/primitives/createCssTransition.js +10 -1
  829. package/dist/source/primitives/createCssTransition.js.map +2 -2
  830. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  831. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  832. package/dist/source/primitives/createFocusTrap.js +1 -0
  833. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  834. package/dist/source/primitives/createHelperText.js +16 -0
  835. package/dist/source/primitives/createHelperText.js.map +7 -0
  836. package/dist/source/primitives/mergeStyle.js +15 -0
  837. package/dist/source/primitives/mergeStyle.js.map +7 -0
  838. package/dist/source/primitives/overlayLayer.js +10 -2
  839. package/dist/source/primitives/overlayLayer.js.map +2 -2
  840. package/dist/source/utils/controlProps.js +22 -0
  841. package/dist/source/utils/controlProps.js.map +7 -0
  842. package/dist/source/utils/ownClick.js +41 -0
  843. package/dist/source/utils/ownClick.js.map +7 -0
  844. package/dist/utils/controlProps.d.ts +17 -0
  845. package/dist/utils/controlProps.js +20 -0
  846. package/dist/utils/controlProps.js.map +1 -0
  847. package/dist/utils/ownClick.d.ts +16 -0
  848. package/dist/utils/ownClick.js +39 -0
  849. package/dist/utils/ownClick.js.map +1 -0
  850. package/package.json +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.js","sources":["../../../../src/components/dataDisplay/carousel/carousel.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n children as resolveChildren,\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Modal } from \"../../feedBack/modal\";\nimport {\n clamp,\n coordX,\n coordY,\n dragPrevent,\n getSlideIndexForMultipleParts,\n getSlideStyle,\n getSlideWidth,\n getSlidesToShow,\n getStartSlide,\n isMouseEvent,\n isTouchEvent,\n toCssLength,\n toCssNumber,\n} from \"./utils\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface CarouselProps {\n slidesToShow?: number;\n startSlide?: number;\n class?: string;\n showNavigation?: boolean;\n showArrows?: boolean;\n arrowsSize?: number;\n navigationClassName?: string;\n onSlideChange?: (slideIndex: number) => void;\n navigationDotRenderer?: (index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element;\n \"aria-label\"?: string;\n autoplay?: boolean;\n autoplayInterval?: number;\n pauseOnHover?: boolean;\n /** Height of each cell/photo. Number is treated as px. Overrides the default 205px. */\n cellHeight?: number | string;\n /** Aspect ratio of each cell/photo (e.g. 0.9 or \"16 / 9\"). Overrides the default 0.9. */\n aspectRatio?: number | string;\n /** Per-side spacing around each slide. Number is treated as px (default 4). */\n gap?: number | string;\n /** Max width of the carousel. Number is treated as px (default 412). */\n maxWidth?: number | string;\n /** Open the clicked slide in a fullscreen lightbox (arrows / swipe / Esc to navigate & close). */\n enableFullscreen?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\ntype Axis = \"x\" | \"y\" | null;\n\ninterface Motion {\n isPressed: boolean;\n startX: number;\n startY: number;\n lastX: number;\n lastT: number;\n axis: Axis;\n dragged: boolean;\n}\n\nconst TAP_THRESHOLD = 8;\nconst FLICK_VELOCITY = 0.4;\n\nconst now = (): number => (typeof performance !== \"undefined\" ? performance.now() : Date.now());\n\nexport function Carousel(props: ParentProps<CarouselProps>): JSX.Element {\n const merged = mergeProps(\n {\n slidesToShow: 3,\n startSlide: 0,\n showNavigation: true,\n arrowsSize: 30,\n \"aria-label\": \"Carousel\",\n autoplay: false,\n autoplayInterval: 4000,\n pauseOnHover: true,\n enableFullscreen: false,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"slidesToShow\",\n \"startSlide\",\n \"children\",\n \"class\",\n \"showNavigation\",\n \"showArrows\",\n \"arrowsSize\",\n \"navigationClassName\",\n \"onSlideChange\",\n \"navigationDotRenderer\",\n \"aria-label\",\n \"autoplay\",\n \"autoplayInterval\",\n \"pauseOnHover\",\n \"cellHeight\",\n \"aspectRatio\",\n \"gap\",\n \"maxWidth\",\n \"enableFullscreen\",\n \"ref\",\n ]);\n\n const resolved = resolveChildren(() => local.children);\n const slides = (): unknown[] => resolved.toArray();\n const slidesCount = (): number => slides().length;\n const slidesToShow = (): number => getSlidesToShow(local.slidesToShow, slidesCount());\n const startSlide = (): number => getStartSlide(local.startSlide, slidesCount());\n const showArrows = (): boolean => !!local.showArrows && slidesCount() > 1;\n const maxShift = (): number => Math.max(0, slidesCount() - slidesToShow());\n\n const [activeSlideIndex, setActiveSlideIndex] = createSignal(startSlide());\n const [animation, setAnimation] = createSignal<boolean | undefined>(undefined);\n const [isHovered, setIsHovered] = createSignal(false);\n const [dragPx, setDragPx] = createSignal(0);\n const [isDragging, setIsDragging] = createSignal(false);\n const [fullscreenIndex, setFullscreenIndex] = createSignal<number | null>(null);\n const [fullscreenDragPx, setFullscreenDragPx] = createSignal(0);\n const [isFullscreenDragging, setIsFullscreenDragging] = createSignal(false);\n\n let rootEl: HTMLDivElement | undefined;\n let trackEl: HTMLDivElement | undefined;\n const motion: Motion = { isPressed: false, startX: 0, startY: 0, lastX: 0, lastT: 0, axis: null, dragged: false };\n let fullscreenTouchX: number | null = null;\n const slideId = createUniqueId();\n\n createEffect(() => {\n slidesToShow();\n setAnimation(false);\n });\n\n createEffect(() => {\n const start = startSlide();\n setActiveSlideIndex(start);\n local.onSlideChange?.(start);\n if (animation() !== undefined) setAnimation(true);\n });\n\n const goToSlide = (index: number): void => {\n const target = clamp(index, 0, maxShift());\n setActiveSlideIndex(target);\n setAnimation(true);\n local.onSlideChange?.(target);\n };\n\n const detachListeners = (mouse: boolean): void => {\n if (!trackEl) return;\n trackEl.removeEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener);\n trackEl.removeEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.removeEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onMove = (event: MouseEvent | TouchEvent): void => {\n if (!rootEl || !motion.isPressed) return;\n if (isTouchEvent(event) && event.touches.length > 1) {\n onEnd(event);\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n const shiftX = clientX - motion.startX;\n const shiftY = clientY - motion.startY;\n\n if (motion.axis === null) {\n if (Math.abs(shiftX) < TAP_THRESHOLD && Math.abs(shiftY) < TAP_THRESHOLD) return;\n motion.axis = Math.abs(shiftX) >= Math.abs(shiftY) ? \"x\" : \"y\";\n motion.dragged = true;\n if (motion.axis === \"y\") {\n onEnd(event);\n return;\n }\n if (slidesCount() > 1) setIsDragging(true);\n }\n\n if (motion.axis !== \"x\") return;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (slidesCount() > 1) {\n const atStart = activeSlideIndex() <= 0;\n const atEnd = activeSlideIndex() >= maxShift();\n const offset = (atStart && shiftX > 0) || (atEnd && shiftX < 0) ? shiftX * 0.35 : shiftX;\n setDragPx(offset);\n }\n\n motion.lastX = clientX;\n motion.lastT = now();\n };\n\n const onEnd = (event: MouseEvent | TouchEvent): void => {\n if (!motion.isPressed) return;\n\n const mouse = isMouseEvent(event);\n detachListeners(mouse);\n\n const { axis, dragged, startX, lastX, lastT } = motion;\n motion.isPressed = false;\n setIsDragging(false);\n\n if (axis === \"x\" && dragged && slidesCount() > 1 && rootEl) {\n const clientX = coordX(event);\n const totalShift = clientX - startX;\n const widthPerSlide = rootEl.offsetWidth / slidesToShow();\n const velocity = lastT ? (clientX - lastX) / Math.max(1, now() - lastT) : 0;\n\n let movedSlides = widthPerSlide > 0 ? Math.round(-totalShift / widthPerSlide) : 0;\n if (movedSlides === 0 && Math.abs(velocity) > FLICK_VELOCITY) {\n movedSlides = velocity < 0 ? 1 : -1;\n }\n goToSlide(activeSlideIndex() + movedSlides);\n }\n\n setDragPx(0);\n };\n\n const onStart: JSX.EventHandler<HTMLDivElement, MouseEvent | TouchEvent> = (event) => {\n if (!trackEl) return;\n const mouse = isMouseEvent(event);\n if (mouse && (event as MouseEvent).button !== 0) return;\n event.stopPropagation();\n\n motion.isPressed = true;\n motion.startX = coordX(event);\n motion.startY = coordY(event);\n motion.lastX = motion.startX;\n motion.lastT = now();\n motion.axis = null;\n motion.dragged = false;\n\n trackEl.addEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener, { passive: false });\n trackEl.addEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.addEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onSlideClick = (index: number): void => {\n if (motion.dragged) return;\n if (local.enableFullscreen) setFullscreenIndex(index);\n };\n\n const getNextIndex = (direction: 1 | -1): number => {\n const isSingle = slidesToShow() === 1;\n const totalGroups = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const activeIndex = activeSlideIndex() + slidesToShow();\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n const nextIndex = (currentIndex + direction + totalGroups) % totalGroups;\n return isSingle ? nextIndex : nextIndex * slidesToShow();\n };\n\n const dots = (): Array<{ index: number; nextIndex: number; isActive: boolean }> => {\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const isSingle = slidesToShow() === 1;\n const count = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const result: Array<{ index: number; nextIndex: number; isActive: boolean }> = [];\n for (let index = 0; index < count; index++) {\n let nextIndex = index;\n let currentIndex = activeSlideIndex();\n if (!isSingle) {\n const isLast = index === count - 1;\n const activeIndex = activeSlideIndex() + slidesToShow();\n nextIndex = isLast ? slidesCount() - slidesToShow() : index * slidesToShow();\n currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n }\n result.push({ index, nextIndex, isActive: currentIndex === index });\n }\n return result;\n };\n\n const indent = (): number => {\n const shiftSlides = activeSlideIndex() > maxShift() ? maxShift() : activeSlideIndex();\n return getSlideWidth(slidesToShow()) * shiftSlides;\n };\n\n const rootStyle = createMemo<JSX.CSSProperties>(() => {\n const style: Record<string, string> = {};\n const cellHeightValue = toCssLength(local.cellHeight);\n const aspectRatioValue = toCssNumber(local.aspectRatio);\n const gapValue = toCssLength(local.gap);\n const maxWidthValue = toCssLength(local.maxWidth);\n if (cellHeightValue) style[\"--smwb-carousel-cell-height\"] = cellHeightValue;\n if (aspectRatioValue) style[\"--smwb-carousel-aspect-ratio\"] = aspectRatioValue;\n if (gapValue) style[\"--smwb-carousel-gap\"] = gapValue;\n if (maxWidthValue) style[\"--smwb-carousel-max-width\"] = maxWidthValue;\n return style;\n });\n\n const moveFullscreen = (direction: 1 | -1): void => {\n const prev = fullscreenIndex();\n if (prev === null) return;\n setFullscreenIndex((prev + direction + slidesCount()) % slidesCount());\n };\n\n // A DOM node can only live in one place, so the carousel's own slide nodes\n // can't be reused inside the modal — render clones of every slide into a\n // sliding track so navigation animates smoothly instead of swapping nodes.\n const fullscreenClones = createMemo<Array<Node | string>>(() =>\n slides().map((node) => {\n // `Node` is a browser global — guard it so this memo (which is evaluated\n // during render) does not throw `Node is not defined` under SSR.\n if (typeof Node !== \"undefined\" && node instanceof Node) return node.cloneNode(true);\n return node == null ? \"\" : String(node);\n })\n );\n\n // Autoplay\n createEffect(() => {\n if (!local.autoplay || slidesCount() <= 1 || (local.pauseOnHover && isHovered()) || fullscreenIndex() !== null) {\n return;\n }\n const timer = window.setInterval(() => goToSlide(getNextIndex(1)), local.autoplayInterval);\n onCleanup(() => window.clearInterval(timer));\n });\n\n // Keyboard navigation while the lightbox is open.\n createEffect(() => {\n if (fullscreenIndex() === null || slidesCount() <= 1) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"ArrowLeft\") moveFullscreen(-1);\n else if (event.key === \"ArrowRight\") moveFullscreen(1);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const onFullscreenTouchStart = (event: TouchEvent): void => {\n fullscreenTouchX = event.touches[0]?.clientX ?? null;\n };\n\n const onFullscreenTouchMove = (event: TouchEvent): void => {\n if (fullscreenTouchX === null || slidesCount() <= 1) return;\n const delta = (event.touches[0]?.clientX ?? fullscreenTouchX) - fullscreenTouchX;\n setIsFullscreenDragging(true);\n setFullscreenDragPx(delta);\n };\n\n const onFullscreenTouchEnd = (event: TouchEvent): void => {\n const startX = fullscreenTouchX;\n fullscreenTouchX = null;\n setIsFullscreenDragging(false);\n setFullscreenDragPx(0);\n if (startX === null || slidesCount() <= 1) return;\n const delta = (event.changedTouches[0]?.clientX ?? startX) - startX;\n if (Math.abs(delta) > 40) moveFullscreen(delta < 0 ? 1 : -1);\n };\n\n return (\n <div\n class={cn(\"smwb-carousel\", local.class)}\n data-testid=\"carousel\"\n ref={mergeRefs(local.ref)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={local[\"aria-label\"]}\n style={rootStyle()}\n onMouseEnter={local.pauseOnHover ? () => setIsHovered(true) : undefined}\n onMouseLeave={local.pauseOnHover ? () => setIsHovered(false) : undefined}\n >\n <div class=\"smwb-carousel__inner\" ref={(el) => (rootEl = el)}>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_left\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_prev\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, left: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(-1))}\n />\n </Show>\n <div\n ref={(el) => (trackEl = el)}\n class=\"smwb-carousel__track\"\n onMouseDown={onStart}\n onTouchStart={onStart}\n onDragStart={dragPrevent}\n onDragEnd={dragPrevent}\n >\n <div\n class=\"smwb-carousel__layer\"\n style={{\n transform: `translateX(calc(-${indent()}% + ${dragPx()}px))`,\n transition:\n isDragging() || animation() === undefined\n ? \"none\"\n : animation()\n ? \"transform 500ms cubic-bezier(.1, 0, .25, 1)\"\n : \"none\",\n }}\n >\n <For each={slides()}>\n {(child, index) => (\n <div id={`${slideId}${index()}`} class=\"smwb-carousel__slide\" style={getSlideStyle(slidesToShow())}>\n <div\n class={cn(\n \"smwb-carousel__slide-inner\",\n local.enableFullscreen && \"smwb-carousel__slide-inner_clickable\"\n )}\n onClick={local.enableFullscreen ? () => onSlideClick(index()) : undefined}\n >\n {child as JSX.Element}\n </div>\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_right\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_next\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, right: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(1))}\n />\n </Show>\n </div>\n <Show when={local.showNavigation}>\n <div class={cn(\"smwb-carousel__navigation\", local.navigationClassName)}>\n <For each={dots()}>\n {(dot) =>\n local.navigationDotRenderer ? (\n local.navigationDotRenderer(dot.index, dot.isActive, (i) => goToSlide(i))\n ) : (\n <div\n class={cn(\"smwb-carousel__navigation__dot\", dot.isActive && \"current\")}\n onClick={() => goToSlide(dot.nextIndex)}\n />\n )\n }\n </For>\n </div>\n </Show>\n <Show when={local.enableFullscreen}>\n <Modal\n open={fullscreenIndex() !== null}\n size=\"fullscreen\"\n backdrop=\"darkBlured\"\n class=\"smwb-carousel__fullscreen\"\n onClose={() => setFullscreenIndex(null)}\n aria-label=\"Image viewer\"\n >\n <div class=\"smwb-carousel__fullscreen-content\">\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_left\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_prev\")}\n onClick={() => moveFullscreen(-1)}\n />\n </Show>\n <div\n class=\"smwb-carousel__fullscreen-stage\"\n onTouchStart={onFullscreenTouchStart}\n onTouchMove={onFullscreenTouchMove}\n onTouchEnd={onFullscreenTouchEnd}\n >\n <div\n class=\"smwb-carousel__fullscreen-track\"\n style={{\n transform: `translateX(calc(-${(fullscreenIndex() ?? 0) * 100}% + ${fullscreenDragPx()}px))`,\n transition: isFullscreenDragging() ? \"none\" : \"transform 350ms cubic-bezier(.22, .61, .36, 1)\",\n }}\n >\n <For each={fullscreenClones()}>\n {(node, index) => (\n <div class=\"smwb-carousel__fullscreen-slide\" aria-hidden={index() !== fullscreenIndex()}>\n {node as JSX.Element}\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_right\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_next\")}\n onClick={() => moveFullscreen(1)}\n />\n </Show>\n <Icon\n name=\"close\"\n size={32}\n class=\"smwb-carousel__fullscreen-close\"\n onClick={() => setFullscreenIndex(null)}\n />\n </div>\n </Modal>\n </Show>\n </div>\n );\n}\n\nexport default Carousel;\n"],"names":["TAP_THRESHOLD","FLICK_VELOCITY","now","performance","Date","Carousel","props","merged","mergeProps","slidesToShow","startSlide","showNavigation","arrowsSize","autoplay","autoplayInterval","pauseOnHover","enableFullscreen","local","splitProps","resolved","resolveChildren","children","slides","toArray","slidesCount","length","getSlidesToShow","getStartSlide","showArrows","maxShift","Math","max","activeSlideIndex","setActiveSlideIndex","createSignal","animation","setAnimation","undefined","isHovered","setIsHovered","dragPx","setDragPx","isDragging","setIsDragging","fullscreenIndex","setFullscreenIndex","fullscreenDragPx","setFullscreenDragPx","isFullscreenDragging","setIsFullscreenDragging","rootEl","trackEl","motion","isPressed","startX","startY","lastX","lastT","axis","dragged","fullscreenTouchX","slideId","createUniqueId","createEffect","start","onSlideChange","goToSlide","index","target","clamp","detachListeners","mouse","removeEventListener","onMove","onEnd","event","isTouchEvent","touches","clientX","coordX","clientY","coordY","shiftX","shiftY","abs","preventDefault","stopPropagation","atStart","atEnd","offset","isMouseEvent","totalShift","widthPerSlide","offsetWidth","velocity","movedSlides","round","onStart","button","addEventListener","passive","onSlideClick","getNextIndex","direction","isSingle","totalGroups","ceil","activeIndex","isNextDisabled","nextIndex","getSlideIndexForMultipleParts","dots","count","result","currentIndex","isLast","push","isActive","indent","shiftSlides","getSlideWidth","rootStyle","createMemo","style","cellHeightValue","toCssLength","cellHeight","aspectRatioValue","toCssNumber","aspectRatio","gapValue","gap","maxWidthValue","maxWidth","moveFullscreen","prev","fullscreenClones","map","node","Node","cloneNode","String","timer","window","setInterval","onCleanup","clearInterval","onKeyDown","key","document","onFullscreenTouchStart","onFullscreenTouchMove","delta","onFullscreenTouchEnd","changedTouches","_el$","_tmpl$3","_el$2","firstChild","_el$3","_el$4","_$addEventListener","_ref$","mergeRefs","ref","_$use","el","_$insert","_$createComponent","Show","when","Icon","name","size","cn","top","left","onClick","dragPrevent","$$touchstart","$$mousedown","For","each","child","_el$9","_tmpl$4","_el$0","_$effect","_p$","_v$8","_v$9","getSlideStyle","_v$0","e","_$setAttribute","t","_$style","a","_$className","right","_el$5","_tmpl$","dot","navigationDotRenderer","i","_el$1","$$click","navigationClassName","Modal","open","backdrop","onClose","_el$6","_tmpl$2","_el$7","_el$8","$$touchend","$$touchmove","_el$10","_tmpl$5","_v$","_v$2","_$setStyleProperty","_v$3","class","_v$4","_v$5","_v$6","_v$7","o","_$delegateEvents"],"mappings":";;;;;;;;;;AA2EA,MAAMA,KAAgB,GAChBC,KAAiB,KAEjBC,IAAMA,MAAe,OAAOC,cAAgB,MAAcA,YAAYD,IAAAA,IAAQE,KAAKF,IAAAA;AAElF,SAASG,GAASC,IAAgD;AACvE,QAAMC,KAASC,GACb;AAAA,IACEC,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,gBAAgB;AAAA,IAChBC,YAAY;AAAA,IACZ,cAAc;AAAA,IACdC,UAAU;AAAA,IACVC,kBAAkB;AAAA,IAClBC,cAAc;AAAA,IACdC,kBAAkB;AAAA,EAAA,GAEpBV,EACF,GACM,CAACW,CAAK,IAAIC,GAAWX,IAAQ,CACjC,gBACA,cACA,YACA,SACA,kBACA,cACA,cACA,uBACA,iBACA,yBACA,cACA,YACA,oBACA,gBACA,cACA,eACA,OACA,YACA,oBACA,KAAK,CACN,GAEKY,KAAWC,GAAgB,MAAMH,EAAMI,QAAQ,GAC/CC,IAASA,MAAiBH,GAASI,QAAAA,GACnCC,IAAcA,MAAcF,EAAAA,EAASG,QACrChB,IAAeA,MAAciB,GAAgBT,EAAMR,cAAce,GAAa,GAC9Ed,IAAaA,MAAciB,GAAcV,EAAMP,YAAYc,GAAa,GACxEI,IAAaA,MAAe,CAAC,CAACX,EAAMW,cAAcJ,MAAgB,GAClEK,IAAWA,MAAcC,KAAKC,IAAI,GAAGP,EAAAA,IAAgBf,GAAc,GAEnE,CAACuB,GAAkBC,CAAmB,IAAIC,EAAaxB,GAAY,GACnE,CAACyB,GAAWC,CAAY,IAAIF,EAAkCG,MAAS,GACvE,CAACC,IAAWC,CAAY,IAAIL,EAAa,EAAK,GAC9C,CAACM,IAAQC,CAAS,IAAIP,EAAa,CAAC,GACpC,CAACQ,IAAYC,CAAa,IAAIT,EAAa,EAAK,GAChD,CAACU,GAAiBC,CAAkB,IAAIX,EAA4B,IAAI,GACxE,CAACY,IAAkBC,EAAmB,IAAIb,EAAa,CAAC,GACxD,CAACc,IAAsBC,EAAuB,IAAIf,EAAa,EAAK;AAE1E,MAAIgB,GACAC;AACJ,QAAMC,IAAiB;AAAA,IAAEC,WAAW;AAAA,IAAOC,QAAQ;AAAA,IAAGC,QAAQ;AAAA,IAAGC,OAAO;AAAA,IAAGC,OAAO;AAAA,IAAGC,MAAM;AAAA,IAAMC,SAAS;AAAA,EAAA;AAC1G,MAAIC,IAAkC;AACtC,QAAMC,KAAUC,GAAAA;AAEhBC,EAAAA,EAAa,MAAM;AACjBtD,IAAAA,EAAAA,GACA2B,EAAa,EAAK;AAAA,EACpB,CAAC,GAED2B,EAAa,MAAM;AACjB,UAAMC,IAAQtD,EAAAA;AACduB,IAAAA,EAAoB+B,CAAK,GACzB/C,EAAMgD,gBAAgBD,CAAK,GACvB7B,EAAAA,MAAgBE,UAAWD,EAAa,EAAI;AAAA,EAClD,CAAC;AAED,QAAM8B,IAAYA,CAACC,MAAwB;AACzC,UAAMC,IAASC,GAAMF,GAAO,GAAGtC,GAAU;AACzCI,IAAAA,EAAoBmC,CAAM,GAC1BhC,EAAa,EAAI,GACjBnB,EAAMgD,gBAAgBG,CAAM;AAAA,EAC9B,GAEME,KAAkBA,CAACC,MAAyB;AAChD,IAAKpB,MACLA,EAAQqB,oBAAoBD,IAAQ,cAAc,aAAaE,EAAuB,GACtFtB,EAAQqB,oBAAoBD,IAAQ,YAAY,YAAYG,CAAsB,GAC9EH,KAAOpB,EAAQqB,oBAAoB,cAAcE,CAAsB;AAAA,EAC7E,GAEMD,KAASA,CAACE,MAAyC;AACvD,QAAI,CAACzB,KAAU,CAACE,EAAOC,UAAW;AAClC,QAAIuB,GAAaD,CAAK,KAAKA,EAAME,QAAQpD,SAAS,GAAG;AACnDiD,MAAAA,EAAMC,CAAK;AACX;AAAA,IACF;AAEA,UAAMG,IAAUC,EAAOJ,CAAK,GACtBK,IAAUC,GAAON,CAAK,GACtBO,IAASJ,IAAU1B,EAAOE,QAC1B6B,IAASH,IAAU5B,EAAOG;AAEhC,QAAIH,EAAOM,SAAS,MAAM;AACxB,UAAI5B,KAAKsD,IAAIF,CAAM,IAAIlF,MAAiB8B,KAAKsD,IAAID,CAAM,IAAInF,GAAe;AAG1E,UAFAoD,EAAOM,OAAO5B,KAAKsD,IAAIF,CAAM,KAAKpD,KAAKsD,IAAID,CAAM,IAAI,MAAM,KAC3D/B,EAAOO,UAAU,IACbP,EAAOM,SAAS,KAAK;AACvBgB,QAAAA,EAAMC,CAAK;AACX;AAAA,MACF;AACA,MAAInD,EAAAA,IAAgB,KAAGmB,EAAc,EAAI;AAAA,IAC3C;AAEA,QAAIS,EAAOM,SAAS,KAKpB;AAAA,UAHAiB,EAAMU,eAAAA,GACNV,EAAMW,gBAAAA,GAEF9D,EAAAA,IAAgB,GAAG;AACrB,cAAM+D,IAAUvD,OAAsB,GAChCwD,IAAQxD,EAAAA,KAAsBH,EAAAA,GAC9B4D,IAAUF,KAAWL,IAAS,KAAOM,KAASN,IAAS,IAAKA,IAAS,OAAOA;AAClFzC,QAAAA,EAAUgD,CAAM;AAAA,MAClB;AAEArC,MAAAA,EAAOI,QAAQsB,GACf1B,EAAOK,QAAQvD,EAAAA;AAAAA;AAAAA,EACjB,GAEMwE,IAAQA,CAACC,MAAyC;AACtD,QAAI,CAACvB,EAAOC,UAAW;AAEvB,UAAMkB,IAAQmB,GAAaf,CAAK;AAChCL,IAAAA,GAAgBC,CAAK;AAErB,UAAM;AAAA,MAAEb,MAAAA;AAAAA,MAAMC,SAAAA;AAAAA,MAASL,QAAAA;AAAAA,MAAQE,OAAAA;AAAAA,MAAOC,OAAAA;AAAAA,IAAAA,IAAUL;AAIhD,QAHAA,EAAOC,YAAY,IACnBV,EAAc,EAAK,GAEfe,MAAS,OAAOC,KAAWnC,EAAAA,IAAgB,KAAK0B,GAAQ;AAC1D,YAAM4B,IAAUC,EAAOJ,CAAK,GACtBgB,IAAab,IAAUxB,GACvBsC,IAAgB1C,EAAO2C,cAAcpF,EAAAA,GACrCqF,IAAWrC,KAASqB,IAAUtB,KAAS1B,KAAKC,IAAI,GAAG7B,MAAQuD,CAAK,IAAI;AAE1E,UAAIsC,IAAcH,IAAgB,IAAI9D,KAAKkE,MAAM,CAACL,IAAaC,CAAa,IAAI;AAChF,MAAIG,MAAgB,KAAKjE,KAAKsD,IAAIU,CAAQ,IAAI7F,OAC5C8F,IAAcD,IAAW,IAAI,IAAI,KAEnC5B,EAAUlC,EAAAA,IAAqB+D,CAAW;AAAA,IAC5C;AAEAtD,IAAAA,EAAU,CAAC;AAAA,EACb,GAEMwD,KAAsEtB,CAAAA,MAAU;AACpF,QAAI,CAACxB,EAAS;AACd,UAAMoB,IAAQmB,GAAaf,CAAK;AAChC,IAAIJ,KAAUI,EAAqBuB,WAAW,MAC9CvB,EAAMW,gBAAAA,GAENlC,EAAOC,YAAY,IACnBD,EAAOE,SAASyB,EAAOJ,CAAK,GAC5BvB,EAAOG,SAAS0B,GAAON,CAAK,GAC5BvB,EAAOI,QAAQJ,EAAOE,QACtBF,EAAOK,QAAQvD,EAAAA,GACfkD,EAAOM,OAAO,MACdN,EAAOO,UAAU,IAEjBR,EAAQgD,iBAAiB5B,IAAQ,cAAc,aAAaE,IAAyB;AAAA,MAAE2B,SAAS;AAAA,IAAA,CAAO,GACvGjD,EAAQgD,iBAAiB5B,IAAQ,YAAY,YAAYG,CAAsB,GAC3EH,KAAOpB,EAAQgD,iBAAiB,cAAczB,CAAsB;AAAA,EAC1E,GAEM2B,KAAeA,CAAClC,MAAwB;AAC5C,IAAIf,EAAOO,WACP1C,EAAMD,oBAAkB6B,EAAmBsB,CAAK;AAAA,EACtD,GAEMmC,IAAeA,CAACC,MAA8B;AAClD,UAAMC,IAAW/F,QAAmB,GAC9BgG,IAAcD,IAAWhF,EAAAA,IAAgBM,KAAK4E,KAAKlF,MAAgBf,GAAc,GACjFkG,IAAc3E,EAAAA,IAAqBvB,EAAAA,GACnCmG,IAAiBpF,EAAAA,IAAgBf,EAAAA,KAAkBuB,EAAAA,GAEnD6E,KADeC,GAA8BH,GAAalG,KAAgBe,EAAAA,GAAeoF,CAAc,IAC3EL,IAAYE,KAAeA;AAC7D,WAAOD,IAAWK,IAAYA,IAAYpG,EAAAA;AAAAA,EAC5C,GAEMsG,KAAOA,MAAsE;AACjF,UAAMH,IAAiBpF,EAAAA,IAAgBf,EAAAA,KAAkBuB,EAAAA,GACnDwE,IAAW/F,QAAmB,GAC9BuG,IAAQR,IAAWhF,EAAAA,IAAgBM,KAAK4E,KAAKlF,MAAgBf,GAAc,GAC3EwG,IAAyE,CAAA;AAC/E,aAAS9C,IAAQ,GAAGA,IAAQ6C,GAAO7C,KAAS;AAC1C,UAAI0C,IAAY1C,GACZ+C,IAAelF,EAAAA;AACnB,UAAI,CAACwE,GAAU;AACb,cAAMW,IAAShD,MAAU6C,IAAQ,GAC3BL,IAAc3E,EAAAA,IAAqBvB,EAAAA;AACzCoG,QAAAA,IAAYM,IAAS3F,EAAAA,IAAgBf,EAAAA,IAAiB0D,IAAQ1D,EAAAA,GAC9DyG,IAAeJ,GAA8BH,GAAalG,EAAAA,GAAgBe,EAAAA,GAAeoF,CAAc;AAAA,MACzG;AACAK,MAAAA,EAAOG,KAAK;AAAA,QAAEjD,OAAAA;AAAAA,QAAO0C,WAAAA;AAAAA,QAAWQ,UAAUH,MAAiB/C;AAAAA,MAAAA,CAAO;AAAA,IACpE;AACA,WAAO8C;AAAAA,EACT,GAEMK,KAASA,MAAc;AAC3B,UAAMC,IAAcvF,EAAAA,IAAqBH,MAAaA,EAAAA,IAAaG,EAAAA;AACnE,WAAOwF,GAAc/G,EAAAA,CAAc,IAAI8G;AAAAA,EACzC,GAEME,KAAYC,GAA8B,MAAM;AACpD,UAAMC,IAAgC,CAAA,GAChCC,IAAkBC,EAAY5G,EAAM6G,UAAU,GAC9CC,IAAmBC,GAAY/G,EAAMgH,WAAW,GAChDC,IAAWL,EAAY5G,EAAMkH,GAAG,GAChCC,IAAgBP,EAAY5G,EAAMoH,QAAQ;AAChD,WAAIT,MAAiBD,EAAM,6BAA6B,IAAIC,IACxDG,MAAkBJ,EAAM,8BAA8B,IAAII,IAC1DG,MAAUP,EAAM,qBAAqB,IAAIO,IACzCE,MAAeT,EAAM,2BAA2B,IAAIS,IACjDT;AAAAA,EACT,CAAC,GAEKW,IAAiBA,CAAC/B,MAA4B;AAClD,UAAMgC,IAAO3F,EAAAA;AACb,IAAI2F,MAAS,QACb1F,GAAoB0F,IAAOhC,IAAY/E,EAAAA,KAAiBA,GAAa;AAAA,EACvE,GAKMgH,KAAmBd,GAAiC,MACxDpG,EAAAA,EAASmH,IAAKC,CAAAA,MAGR,OAAOC,OAAS,OAAeD,aAAgBC,OAAaD,EAAKE,UAAU,EAAI,IAC5EF,KAAQ,OAAO,KAAKG,OAAOH,CAAI,CACvC,CACH;AAGA3E,EAAAA,EAAa,MAAM;AACjB,QAAI,CAAC9C,EAAMJ,YAAYW,EAAAA,KAAiB,KAAMP,EAAMF,gBAAgBuB,GAAAA,KAAgBM,EAAAA,MAAsB;AACxG;AAEF,UAAMkG,IAAQC,OAAOC,YAAY,MAAM9E,EAAUoC,EAAa,CAAC,CAAC,GAAGrF,EAAMH,gBAAgB;AACzFmI,IAAAA,GAAU,MAAMF,OAAOG,cAAcJ,CAAK,CAAC;AAAA,EAC7C,CAAC,GAGD/E,EAAa,MAAM;AACjB,QAAInB,EAAAA,MAAsB,QAAQpB,EAAAA,KAAiB,EAAG;AACtD,UAAM2H,IAAYA,CAACxE,MAA+B;AAChD,MAAIA,EAAMyE,QAAQ,cAAad,EAAe,EAAE,IACvC3D,EAAMyE,QAAQ,gBAAcd,EAAe,CAAC;AAAA,IACvD;AACAe,aAASlD,iBAAiB,WAAWgD,CAAS,GAC9CF,GAAU,MAAMI,SAAS7E,oBAAoB,WAAW2E,CAAS,CAAC;AAAA,EACpE,CAAC;AAED,QAAMG,KAAyBA,CAAC3E,MAA4B;AAC1Df,IAAAA,IAAmBe,EAAME,QAAQ,CAAC,GAAGC,WAAW;AAAA,EAClD,GAEMyE,KAAwBA,CAAC5E,MAA4B;AACzD,QAAIf,MAAqB,QAAQpC,EAAAA,KAAiB,EAAG;AACrD,UAAMgI,KAAS7E,EAAME,QAAQ,CAAC,GAAGC,WAAWlB,KAAoBA;AAChEX,IAAAA,GAAwB,EAAI,GAC5BF,GAAoByG,CAAK;AAAA,EAC3B,GAEMC,KAAuBA,CAAC9E,MAA4B;AACxD,UAAMrB,IAASM;AAIf,QAHAA,IAAmB,MACnBX,GAAwB,EAAK,GAC7BF,GAAoB,CAAC,GACjBO,MAAW,QAAQ9B,EAAAA,KAAiB,EAAG;AAC3C,UAAMgI,KAAS7E,EAAM+E,eAAe,CAAC,GAAG5E,WAAWxB,KAAUA;AAC7D,IAAIxB,KAAKsD,IAAIoE,CAAK,IAAI,MAAIlB,EAAekB,IAAQ,IAAI,IAAI,EAAE;AAAA,EAC7D;AAEA,UAAA,MAAA;AAAA,QAAAG,IAAAC,MAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAAAD,EAAAD;AAAAG,IAAAA,EAAAN,GAAA,cAUkB1I,EAAMF,eAAe,MAAMwB,EAAa,EAAK,IAAIF,MAAS,GAAA4H,EAAAN,GAAA,cAD1D1I,EAAMF,eAAe,MAAMwB,EAAa,EAAI,IAAIF,MAAS;AAAA,QAAA6H,IALlEC,GAAUlJ,EAAMmJ,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAP,CAAA,GAAAU,EAQeC,CAAAA,MAAQpH,IAASoH,GAAGT,CAAA,GAAAU,EAAAV,GAAAW,EACzDC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE9I,EAAAA;AAAAA,MAAY;AAAA,MAAA,IAAAP,WAAA;AAAA,eAAAmJ,EACrBG,GAAI;AAAA,UACHC,MAAI;AAAA,UAAA,IACJC,OAAI;AAAA,mBAAE5J,EAAML;AAAAA,UAAU;AAAA,UAAA,IAAA,QAAA;AAAA,mBACfkK,EAAG,wBAAwB,2BAA2B;AAAA,UAAC;AAAA,UAAA,IAC9DnD,QAAK;AAAA,mBAAE;AAAA,cAAEoD,KAAK,cAAc9J,EAAML,aAAa,CAAC;AAAA,cAAOoK,MAAM,GAAG,CAAC/J,EAAML,aAAa,CAAC;AAAA,YAAA;AAAA,UAAM;AAAA,UAC3FqK,SAASA,MAAM/G,EAAUoC,EAAa,EAAE,CAAC;AAAA,QAAA,CAAC;AAAA,MAAA;AAAA,IAAA,CAAA,GAAAyD,CAAA,GAAAE,EAAAF,GAAA,WASjCmB,EAAW,GAAAjB,EAAAF,GAAA,aADTmB,EAAW,GAAAnB,EAAAoB,eADVlF,IAAO8D,EAAAqB,cADRnF,IAAOoE,EAFdC,CAAAA,MAAQnH,IAAUmH,GAAGP,CAAA,GAAAQ,EAAAP,GAAAQ,EAmBxBa,GAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEhK,EAAAA;AAAAA,MAAQ;AAAA,MAAAD,UAChBA,CAACkK,GAAOpH,OAAK,MAAA;AAAA,YAAAqH,IAAAC,GAAAA,GAAAC,IAAAF,EAAA1B;AAAAG,eAAAA,EAAAyB,GAAA,SAOCzK,EAAMD,mBAAmB,MAAMqF,GAAalC,EAAAA,CAAO,IAAI9B,QAAS,EAAA,GAAAkI,EAAAmB,GAExEH,CAAoB,GAAAI,EAAAC,CAAAA,MAAA;AAAA,cAAAC,IARhB,GAAGhI,EAAO,GAAGM,EAAAA,CAAO,IAAE2H,IAAsCC,GAActL,EAAAA,CAAc,GAACuL,KAEvFlB,EACL,8BACA7J,EAAMD,oBAAoB,sCAC5B;AAAC6K,iBAAAA,MAAAD,EAAAK,KAAAC,EAAAV,GAAA,MAAAI,EAAAK,IAAAJ,CAAA,GAAAD,EAAAO,IAAAC,GAAAZ,GAAAM,GAAAF,EAAAO,CAAA,GAAAH,OAAAJ,EAAAS,KAAAC,EAAAZ,GAAAE,EAAAS,IAAAL,EAAA,GAAAJ;AAAAA,QAAA,GAAA;AAAA,UAAAK,GAAA5J;AAAAA,UAAA8J,GAAA9J;AAAAA,UAAAgK,GAAAhK;AAAAA,QAAAA,CAAA,GAAAmJ;AAAAA,MAAA,GAAA;AAAA,IAAA,CAMN,CAAA,GAAAjB,EAAAV,GAAAW,EAINC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE9I,EAAAA;AAAAA,MAAY;AAAA,MAAA,IAAAP,WAAA;AAAA,eAAAmJ,EACrBG,GAAI;AAAA,UACHC,MAAI;AAAA,UAAA,IACJC,OAAI;AAAA,mBAAE5J,EAAML;AAAAA,UAAU;AAAA,UAAA,IAAA,QAAA;AAAA,mBACfkK,EAAG,wBAAwB,2BAA2B;AAAA,UAAC;AAAA,UAAA,IAC9DnD,QAAK;AAAA,mBAAE;AAAA,cAAEoD,KAAK,cAAc9J,EAAML,aAAa,CAAC;AAAA,cAAO2L,OAAO,GAAG,CAACtL,EAAML,aAAa,CAAC;AAAA,YAAA;AAAA,UAAM;AAAA,UAC5FqK,SAASA,MAAM/G,EAAUoC,EAAa,CAAC,CAAC;AAAA,QAAA,CAAC;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAiE,EAAAZ,GAAAa,EAI9CC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEzJ,EAAMN;AAAAA,MAAc;AAAA,MAAA,IAAAU,WAAA;AAAA,YAAAmL,IAAAC,GAAAA;AAAAlC,eAAAA,EAAAiC,GAAAhC,EAE3Ba,GAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEvE,GAAAA;AAAAA,UAAM;AAAA,UAAA1F,UACbqL,CAAAA,MACAzL,EAAM0L,wBACJ1L,EAAM0L,sBAAsBD,EAAIvI,OAAOuI,EAAIrF,UAAWuF,CAAAA,MAAM1I,EAAU0I,CAAC,CAAC,KAAC,MAAA;AAAA,gBAAAC,IAAAJ,GAAAA;AAAAI,mBAAAA,EAAAC,UAI9D,MAAM5I,EAAUwI,EAAI7F,SAAS,GAAC8E,EAAA,MAAAW,EAAAO,GADhC/B,EAAG,kCAAkC4B,EAAIrF,YAAY,SAAS,CAAC,CAAA,GAAAwF;AAAAA,UAAA,GAAA;AAAA,QAAA,CAGzE,CAAA,GAAAlB,EAAA,MAAAW,EAAAE,GAVK1B,EAAG,6BAA6B7J,EAAM8L,mBAAmB,CAAC,CAAA,GAAAP;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAjC,EAAAZ,GAAAa,EAevEC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEzJ,EAAMD;AAAAA,MAAgB;AAAA,MAAA,IAAAK,WAAA;AAAA,eAAAmJ,EAC/BwC,IAAK;AAAA,UAAA,IACJC,OAAI;AAAA,mBAAErK,QAAsB;AAAA,UAAI;AAAA,UAChCiI,MAAI;AAAA,UACJqC,UAAQ;AAAA,UAAA,OAAA;AAAA,UAERC,SAASA,MAAMtK,EAAmB,IAAI;AAAA,UAAC,cAAA;AAAA,UAAA,IAAAxB,WAAA;AAAA,gBAAA+L,IAAAC,GAAAA,GAAAC,IAAAF,EAAAtD,YAAAyD,IAAAD,EAAAxD;AAAAS,mBAAAA,EAAA6C,GAAA5C,EAIpCC,GAAI;AAAA,cAAA,IAACC,OAAI;AAAA,uBAAElJ,MAAgB;AAAA,cAAC;AAAA,cAAA,IAAAH,WAAA;AAAA,uBAAAmJ,EAC1BG,GAAI;AAAA,kBACHC,MAAI;AAAA,kBACJC,MAAM;AAAA,kBAAE,IAAA,QAAA;AAAA,2BACDC,EAAG,mCAAmC,sCAAsC;AAAA,kBAAC;AAAA,kBACpFG,SAASA,MAAM3C,EAAe,EAAE;AAAA,gBAAA,CAAC;AAAA,cAAA;AAAA,YAAA,CAAA,GAAAgF,CAAA,GAAAA,EAAAE,aAOvB/D,IAAoB6D,EAAAG,cADnBlE,IAAqB+D,EAAAnC,eADpB7B,IAAsBiB,EAAAgD,GAAA/C,EAWjCa,GAAG;AAAA,cAAA,IAACC,OAAI;AAAA,uBAAE9C,GAAAA;AAAAA,cAAkB;AAAA,cAAAnH,UAC1BA,CAACqH,GAAMvE,OAAK,MAAA;AAAA,oBAAAuJ,IAAAC,GAAAA;AAAApD,uBAAAA,EAAAmD,GAERhF,CAAmB,GAAAiD,EAAA,MAAAO,EAAAwB,GAAA,eADoCvJ,QAAYvB,EAAAA,CAAiB,CAAA,GAAA8K;AAAAA,cAAA,GAAA;AAAA,YAAA,CAGxF,CAAA,GAAAnD,EAAA6C,GAAA5C,EAINC,GAAI;AAAA,cAAA,IAACC,OAAI;AAAA,uBAAElJ,MAAgB;AAAA,cAAC;AAAA,cAAA,IAAAH,WAAA;AAAA,uBAAAmJ,EAC1BG,GAAI;AAAA,kBACHC,MAAI;AAAA,kBACJC,MAAM;AAAA,kBAAE,IAAA,QAAA;AAAA,2BACDC,EAAG,mCAAmC,sCAAsC;AAAA,kBAAC;AAAA,kBACpFG,SAASA,MAAM3C,EAAe,CAAC;AAAA,gBAAA,CAAC;AAAA,cAAA;AAAA,YAAA,CAAA,GAAA,IAAA,GAAAiC,EAAA6C,GAAA5C,EAGnCG,GAAI;AAAA,cACHC,MAAI;AAAA,cACJC,MAAM;AAAA,cAAE,OAAA;AAAA,cAERI,SAASA,MAAMpI,EAAmB,IAAI;AAAA,YAAA,CAAC,GAAA,IAAA,GAAA8I,EAAAC,CAAAA,MAAA;AAAA,kBAAAgC,IAzBxB,qBAAqBhL,EAAAA,KAAqB,KAAK,GAAG,OAAOE,GAAAA,CAAkB,QAAM+K,IAChF7K,GAAAA,IAAyB,SAAS;AAAgD4K,qBAAAA,MAAAhC,EAAAK,KAAA6B,EAAAP,GAAA,aAAA3B,EAAAK,IAAA2B,CAAA,GAAAC,MAAAjC,EAAAO,KAAA2B,EAAAP,GAAA,cAAA3B,EAAAO,IAAA0B,CAAA,GAAAjC;AAAAA,YAAA,GAAA;AAAA,cAAAK,GAAA5J;AAAAA,cAAA8J,GAAA9J;AAAAA,YAAAA,CAAA,GAAA+K;AAAAA,UAAA;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAzB,EAAAC,CAAAA,MAAA;AAAA,UAAAmC,IA/GnGjD,EAAG,iBAAiB7J,EAAM+M,KAAK,GAACC,IAK3BhN,EAAM,YAAY,GAACiN,IACxBzG,GAAAA,GAAW0G,IAyBC,oBAAoB7G,GAAAA,CAAQ,OAAO9E,GAAAA,CAAQ,QAAM4L,IAE1D1L,GAAAA,KAAgBP,EAAAA,MAAgBE,SAC5B,SACAF,EAAAA,IACE,gDACA;AAAM4L,aAAAA,MAAAnC,EAAAK,KAAAK,EAAA3C,GAAAiC,EAAAK,IAAA8B,CAAA,GAAAE,MAAArC,EAAAO,KAAAD,EAAAvC,GAAA,cAAAiC,EAAAO,IAAA8B,CAAA,GAAArC,EAAAS,IAAAD,GAAAzC,GAAAuE,GAAAtC,EAAAS,CAAA,GAAA8B,MAAAvC,EAAAyC,KAAAP,EAAA9D,GAAA,aAAA4B,EAAAyC,IAAAF,CAAA,GAAAC,MAAAxC,EAAAgB,KAAAkB,EAAA9D,GAAA,cAAA4B,EAAAgB,IAAAwB,CAAA,GAAAxC;AAAAA,IAAA,GAAA;AAAA,MAAAK,GAAA5J;AAAAA,MAAA8J,GAAA9J;AAAAA,MAAAgK,GAAAhK;AAAAA,MAAAgM,GAAAhM;AAAAA,MAAAuK,GAAAvK;AAAAA,IAAAA,CAAA,GAAAsH;AAAAA,EAAA,GAAA;AAyG5B;AAEwB2E,GAAA,CAAA,aAAA,cAAA,aAAA,YAAA,OAAA,CAAA;"}
1
+ {"version":3,"file":"carousel.js","sources":["../../../../src/components/dataDisplay/carousel/carousel.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n children as resolveChildren,\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Modal } from \"../../feedBack/modal\";\nimport {\n clamp,\n coordX,\n coordY,\n dragPrevent,\n getSlideIndexForMultipleParts,\n getSlideStyle,\n getSlideWidth,\n getSlidesToShow,\n getStartSlide,\n isMouseEvent,\n isTouchEvent,\n toCssLength,\n toCssNumber,\n} from \"./utils\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface CarouselProps {\n slidesToShow?: number;\n startSlide?: number;\n class?: string;\n showNavigation?: boolean;\n showArrows?: boolean;\n arrowsSize?: number;\n navigationClassName?: string;\n onSlideChange?: (slideIndex: number) => void;\n navigationDotRenderer?: (index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element;\n \"aria-label\"?: string;\n autoplay?: boolean;\n autoplayInterval?: number;\n pauseOnHover?: boolean;\n /** Height of each cell/photo. Number is treated as px. Overrides the default 205px. */\n cellHeight?: number | string;\n /** Aspect ratio of each cell/photo (e.g. 0.9 or \"16 / 9\"). Overrides the default 0.9. */\n aspectRatio?: number | string;\n /** Per-side spacing around each slide. Number is treated as px (default 4). */\n gap?: number | string;\n /** Max width of the carousel. Number is treated as px (default 412). */\n maxWidth?: number | string;\n /** Open the clicked slide in a fullscreen lightbox (arrows / swipe / Esc to navigate & close). */\n enableFullscreen?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\ntype Axis = \"x\" | \"y\" | null;\n\ninterface Motion {\n isPressed: boolean;\n startX: number;\n startY: number;\n lastX: number;\n lastT: number;\n axis: Axis;\n dragged: boolean;\n}\n\nconst TAP_THRESHOLD = 8;\nconst FLICK_VELOCITY = 0.4;\n\nconst now = (): number => (typeof performance !== \"undefined\" ? performance.now() : Date.now());\n\nexport function Carousel(props: ParentProps<CarouselProps>): JSX.Element {\n const merged = mergeProps(\n {\n slidesToShow: 3,\n startSlide: 0,\n showNavigation: true,\n arrowsSize: 30,\n \"aria-label\": \"Carousel\",\n autoplay: false,\n autoplayInterval: 4000,\n pauseOnHover: true,\n enableFullscreen: false,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"slidesToShow\",\n \"startSlide\",\n \"children\",\n \"class\",\n \"showNavigation\",\n \"showArrows\",\n \"arrowsSize\",\n \"navigationClassName\",\n \"onSlideChange\",\n \"navigationDotRenderer\",\n \"aria-label\",\n \"autoplay\",\n \"autoplayInterval\",\n \"pauseOnHover\",\n \"cellHeight\",\n \"aspectRatio\",\n \"gap\",\n \"maxWidth\",\n \"enableFullscreen\",\n \"ref\",\n ]);\n\n const resolved = resolveChildren(() => local.children);\n const slides = (): unknown[] => resolved.toArray();\n const slidesCount = (): number => slides().length;\n const slidesToShow = (): number => getSlidesToShow(local.slidesToShow, slidesCount());\n const startSlide = (): number => getStartSlide(local.startSlide, slidesCount());\n const showArrows = (): boolean => !!local.showArrows && slidesCount() > 1;\n const maxShift = (): number => Math.max(0, slidesCount() - slidesToShow());\n\n const [activeSlideIndex, setActiveSlideIndex] = createSignal(startSlide());\n const [animation, setAnimation] = createSignal<boolean | undefined>(undefined);\n const [isHovered, setIsHovered] = createSignal(false);\n const [dragPx, setDragPx] = createSignal(0);\n const [isDragging, setIsDragging] = createSignal(false);\n const [fullscreenIndex, setFullscreenIndex] = createSignal<number | null>(null);\n const [fullscreenDragPx, setFullscreenDragPx] = createSignal(0);\n const [isFullscreenDragging, setIsFullscreenDragging] = createSignal(false);\n\n let rootEl: HTMLDivElement | undefined;\n let trackEl: HTMLDivElement | undefined;\n const motion: Motion = { isPressed: false, startX: 0, startY: 0, lastX: 0, lastT: 0, axis: null, dragged: false };\n let fullscreenTouchX: number | null = null;\n const slideId = createUniqueId();\n\n createEffect(() => {\n slidesToShow();\n setAnimation(false);\n });\n\n createEffect(() => {\n const start = startSlide();\n setActiveSlideIndex(start);\n local.onSlideChange?.(start);\n if (animation() !== undefined) setAnimation(true);\n });\n\n const goToSlide = (index: number): void => {\n const target = clamp(index, 0, maxShift());\n setActiveSlideIndex(target);\n setAnimation(true);\n local.onSlideChange?.(target);\n };\n\n const detachListeners = (mouse: boolean): void => {\n if (!trackEl) return;\n trackEl.removeEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener);\n trackEl.removeEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.removeEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onMove = (event: MouseEvent | TouchEvent): void => {\n if (!rootEl || !motion.isPressed) return;\n if (isTouchEvent(event) && event.touches.length > 1) {\n onEnd(event);\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n const shiftX = clientX - motion.startX;\n const shiftY = clientY - motion.startY;\n\n if (motion.axis === null) {\n if (Math.abs(shiftX) < TAP_THRESHOLD && Math.abs(shiftY) < TAP_THRESHOLD) return;\n motion.axis = Math.abs(shiftX) >= Math.abs(shiftY) ? \"x\" : \"y\";\n motion.dragged = true;\n if (motion.axis === \"y\") {\n onEnd(event);\n return;\n }\n if (slidesCount() > 1) setIsDragging(true);\n }\n\n if (motion.axis !== \"x\") return;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (slidesCount() > 1) {\n const atStart = activeSlideIndex() <= 0;\n const atEnd = activeSlideIndex() >= maxShift();\n const offset = (atStart && shiftX > 0) || (atEnd && shiftX < 0) ? shiftX * 0.35 : shiftX;\n setDragPx(offset);\n }\n\n motion.lastX = clientX;\n motion.lastT = now();\n };\n\n const onEnd = (event: MouseEvent | TouchEvent): void => {\n if (!motion.isPressed) return;\n\n const mouse = isMouseEvent(event);\n detachListeners(mouse);\n\n const { axis, dragged, startX, lastX, lastT } = motion;\n motion.isPressed = false;\n setIsDragging(false);\n\n if (axis === \"x\" && dragged && slidesCount() > 1 && rootEl) {\n const clientX = coordX(event);\n const totalShift = clientX - startX;\n const widthPerSlide = rootEl.offsetWidth / slidesToShow();\n const velocity = lastT ? (clientX - lastX) / Math.max(1, now() - lastT) : 0;\n\n let movedSlides = widthPerSlide > 0 ? Math.round(-totalShift / widthPerSlide) : 0;\n if (movedSlides === 0 && Math.abs(velocity) > FLICK_VELOCITY) {\n movedSlides = velocity < 0 ? 1 : -1;\n }\n goToSlide(activeSlideIndex() + movedSlides);\n }\n\n setDragPx(0);\n };\n\n const onStart: JSX.EventHandler<HTMLDivElement, MouseEvent | TouchEvent> = (event) => {\n if (!trackEl) return;\n const mouse = isMouseEvent(event);\n if (mouse && (event as MouseEvent).button !== 0) return;\n event.stopPropagation();\n\n motion.isPressed = true;\n motion.startX = coordX(event);\n motion.startY = coordY(event);\n motion.lastX = motion.startX;\n motion.lastT = now();\n motion.axis = null;\n motion.dragged = false;\n\n trackEl.addEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener, { passive: false });\n trackEl.addEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.addEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n // Solid binds event handlers once, so the hover and slide handlers are always\n // attached and check their props themselves: `pauseOnHover` and\n // `enableFullscreen` can change after the carousel renders. Leaving always\n // ends the hover, so a hover that ends while `pauseOnHover` is off does not\n // pause autoplay once it is back on.\n const onMouseEnter = (): void => {\n if (local.pauseOnHover) setIsHovered(true);\n };\n const onMouseLeave = (): void => {\n setIsHovered(false);\n };\n\n const onSlideClick = (index: number): void => {\n if (motion.dragged) return;\n if (local.enableFullscreen) setFullscreenIndex(index);\n };\n\n const getNextIndex = (direction: 1 | -1): number => {\n const isSingle = slidesToShow() === 1;\n const totalGroups = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const activeIndex = activeSlideIndex() + slidesToShow();\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n const nextIndex = (currentIndex + direction + totalGroups) % totalGroups;\n return isSingle ? nextIndex : nextIndex * slidesToShow();\n };\n\n const dots = (): Array<{ index: number; nextIndex: number; isActive: boolean }> => {\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const isSingle = slidesToShow() === 1;\n const count = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const result: Array<{ index: number; nextIndex: number; isActive: boolean }> = [];\n for (let index = 0; index < count; index++) {\n let nextIndex = index;\n let currentIndex = activeSlideIndex();\n if (!isSingle) {\n const isLast = index === count - 1;\n const activeIndex = activeSlideIndex() + slidesToShow();\n nextIndex = isLast ? slidesCount() - slidesToShow() : index * slidesToShow();\n currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n }\n result.push({ index, nextIndex, isActive: currentIndex === index });\n }\n return result;\n };\n\n const indent = (): number => {\n const shiftSlides = activeSlideIndex() > maxShift() ? maxShift() : activeSlideIndex();\n return getSlideWidth(slidesToShow()) * shiftSlides;\n };\n\n const rootStyle = createMemo<JSX.CSSProperties>(() => {\n const style: Record<string, string> = {};\n const cellHeightValue = toCssLength(local.cellHeight);\n const aspectRatioValue = toCssNumber(local.aspectRatio);\n const gapValue = toCssLength(local.gap);\n const maxWidthValue = toCssLength(local.maxWidth);\n if (cellHeightValue) style[\"--smwb-carousel-cell-height\"] = cellHeightValue;\n if (aspectRatioValue) style[\"--smwb-carousel-aspect-ratio\"] = aspectRatioValue;\n if (gapValue) style[\"--smwb-carousel-gap\"] = gapValue;\n if (maxWidthValue) style[\"--smwb-carousel-max-width\"] = maxWidthValue;\n return style;\n });\n\n const moveFullscreen = (direction: 1 | -1): void => {\n const prev = fullscreenIndex();\n if (prev === null) return;\n setFullscreenIndex((prev + direction + slidesCount()) % slidesCount());\n };\n\n // A DOM node can only live in one place, so the carousel's own slide nodes\n // can't be reused inside the modal — render clones of every slide into a\n // sliding track so navigation animates smoothly instead of swapping nodes.\n const fullscreenClones = createMemo<Array<Node | string>>(() =>\n slides().map((node) => {\n // `Node` is a browser global — guard it so this memo (which is evaluated\n // during render) does not throw `Node is not defined` under SSR.\n if (typeof Node !== \"undefined\" && node instanceof Node) return node.cloneNode(true);\n return node == null ? \"\" : String(node);\n })\n );\n\n // Autoplay\n createEffect(() => {\n if (!local.autoplay || slidesCount() <= 1 || (local.pauseOnHover && isHovered()) || fullscreenIndex() !== null) {\n return;\n }\n const timer = window.setInterval(() => goToSlide(getNextIndex(1)), local.autoplayInterval);\n onCleanup(() => window.clearInterval(timer));\n });\n\n // Keyboard navigation while the lightbox is open.\n createEffect(() => {\n if (fullscreenIndex() === null || slidesCount() <= 1) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"ArrowLeft\") moveFullscreen(-1);\n else if (event.key === \"ArrowRight\") moveFullscreen(1);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const onFullscreenTouchStart = (event: TouchEvent): void => {\n fullscreenTouchX = event.touches[0]?.clientX ?? null;\n };\n\n const onFullscreenTouchMove = (event: TouchEvent): void => {\n if (fullscreenTouchX === null || slidesCount() <= 1) return;\n const delta = (event.touches[0]?.clientX ?? fullscreenTouchX) - fullscreenTouchX;\n setIsFullscreenDragging(true);\n setFullscreenDragPx(delta);\n };\n\n const onFullscreenTouchEnd = (event: TouchEvent): void => {\n const startX = fullscreenTouchX;\n fullscreenTouchX = null;\n setIsFullscreenDragging(false);\n setFullscreenDragPx(0);\n if (startX === null || slidesCount() <= 1) return;\n const delta = (event.changedTouches[0]?.clientX ?? startX) - startX;\n if (Math.abs(delta) > 40) moveFullscreen(delta < 0 ? 1 : -1);\n };\n\n return (\n <div\n class={cn(\"smwb-carousel\", local.class)}\n data-testid=\"carousel\"\n ref={mergeRefs(local.ref)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={local[\"aria-label\"]}\n style={rootStyle()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div class=\"smwb-carousel__inner\" ref={(el) => (rootEl = el)}>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_left\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_prev\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, left: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(-1))}\n />\n </Show>\n <div\n ref={(el) => (trackEl = el)}\n class=\"smwb-carousel__track\"\n onMouseDown={onStart}\n onTouchStart={onStart}\n onDragStart={dragPrevent}\n onDragEnd={dragPrevent}\n >\n <div\n class=\"smwb-carousel__layer\"\n style={{\n transform: `translateX(calc(-${indent()}% + ${dragPx()}px))`,\n transition:\n isDragging() || animation() === undefined\n ? \"none\"\n : animation()\n ? \"transform 500ms cubic-bezier(.1, 0, .25, 1)\"\n : \"none\",\n }}\n >\n <For each={slides()}>\n {(child, index) => (\n <div id={`${slideId}${index()}`} class=\"smwb-carousel__slide\" style={getSlideStyle(slidesToShow())}>\n <div\n class={cn(\n \"smwb-carousel__slide-inner\",\n local.enableFullscreen && \"smwb-carousel__slide-inner_clickable\"\n )}\n onClick={() => onSlideClick(index())}\n >\n {child as JSX.Element}\n </div>\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_right\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_next\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, right: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(1))}\n />\n </Show>\n </div>\n <Show when={local.showNavigation}>\n <div class={cn(\"smwb-carousel__navigation\", local.navigationClassName)}>\n <For each={dots()}>\n {(dot) =>\n local.navigationDotRenderer ? (\n local.navigationDotRenderer(dot.index, dot.isActive, (i) => goToSlide(i))\n ) : (\n <div\n class={cn(\"smwb-carousel__navigation__dot\", dot.isActive && \"current\")}\n onClick={() => goToSlide(dot.nextIndex)}\n />\n )\n }\n </For>\n </div>\n </Show>\n <Show when={local.enableFullscreen}>\n <Modal\n open={fullscreenIndex() !== null}\n size=\"fullscreen\"\n backdrop=\"darkBlured\"\n class=\"smwb-carousel__fullscreen\"\n onClose={() => setFullscreenIndex(null)}\n aria-label=\"Image viewer\"\n >\n <div class=\"smwb-carousel__fullscreen-content\">\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_left\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_prev\")}\n onClick={() => moveFullscreen(-1)}\n />\n </Show>\n <div\n class=\"smwb-carousel__fullscreen-stage\"\n onTouchStart={onFullscreenTouchStart}\n onTouchMove={onFullscreenTouchMove}\n onTouchEnd={onFullscreenTouchEnd}\n >\n <div\n class=\"smwb-carousel__fullscreen-track\"\n style={{\n transform: `translateX(calc(-${(fullscreenIndex() ?? 0) * 100}% + ${fullscreenDragPx()}px))`,\n transition: isFullscreenDragging() ? \"none\" : \"transform 350ms cubic-bezier(.22, .61, .36, 1)\",\n }}\n >\n <For each={fullscreenClones()}>\n {(node, index) => (\n <div class=\"smwb-carousel__fullscreen-slide\" aria-hidden={index() !== fullscreenIndex()}>\n {node as JSX.Element}\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_right\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_next\")}\n onClick={() => moveFullscreen(1)}\n />\n </Show>\n <Icon\n name=\"close\"\n size={32}\n class=\"smwb-carousel__fullscreen-close\"\n onClick={() => setFullscreenIndex(null)}\n />\n </div>\n </Modal>\n </Show>\n </div>\n );\n}\n\nexport default Carousel;\n"],"names":["TAP_THRESHOLD","FLICK_VELOCITY","now","performance","Date","Carousel","props","merged","mergeProps","slidesToShow","startSlide","showNavigation","arrowsSize","autoplay","autoplayInterval","pauseOnHover","enableFullscreen","local","splitProps","resolved","resolveChildren","children","slides","toArray","slidesCount","length","getSlidesToShow","getStartSlide","showArrows","maxShift","Math","max","activeSlideIndex","setActiveSlideIndex","createSignal","animation","setAnimation","undefined","isHovered","setIsHovered","dragPx","setDragPx","isDragging","setIsDragging","fullscreenIndex","setFullscreenIndex","fullscreenDragPx","setFullscreenDragPx","isFullscreenDragging","setIsFullscreenDragging","rootEl","trackEl","motion","isPressed","startX","startY","lastX","lastT","axis","dragged","fullscreenTouchX","slideId","createUniqueId","createEffect","start","onSlideChange","goToSlide","index","target","clamp","detachListeners","mouse","removeEventListener","onMove","onEnd","event","isTouchEvent","touches","clientX","coordX","clientY","coordY","shiftX","shiftY","abs","preventDefault","stopPropagation","atStart","atEnd","offset","isMouseEvent","totalShift","widthPerSlide","offsetWidth","velocity","movedSlides","round","onStart","button","addEventListener","passive","onMouseEnter","onMouseLeave","onSlideClick","getNextIndex","direction","isSingle","totalGroups","ceil","activeIndex","isNextDisabled","nextIndex","getSlideIndexForMultipleParts","dots","count","result","currentIndex","isLast","push","isActive","indent","shiftSlides","getSlideWidth","rootStyle","createMemo","style","cellHeightValue","toCssLength","cellHeight","aspectRatioValue","toCssNumber","aspectRatio","gapValue","gap","maxWidthValue","maxWidth","moveFullscreen","prev","fullscreenClones","map","node","Node","cloneNode","String","timer","window","setInterval","onCleanup","clearInterval","onKeyDown","key","document","onFullscreenTouchStart","onFullscreenTouchMove","delta","onFullscreenTouchEnd","changedTouches","_el$","_tmpl$3","_el$2","firstChild","_el$3","_el$4","_ref$","mergeRefs","ref","_$use","el","_$insert","_$createComponent","Show","when","Icon","name","size","cn","top","left","onClick","_$addEventListener","dragPrevent","$$touchstart","$$mousedown","For","each","child","_el$9","_tmpl$4","_el$0","$$click","_$effect","_p$","_v$8","_v$9","getSlideStyle","_v$0","e","_$setAttribute","t","_$style","a","_$className","right","_el$5","_tmpl$","dot","navigationDotRenderer","i","_el$1","navigationClassName","Modal","open","backdrop","onClose","_el$6","_tmpl$2","_el$7","_el$8","$$touchend","$$touchmove","_el$10","_tmpl$5","_v$","_v$2","_$setStyleProperty","_v$3","class","_v$4","_v$5","_v$6","_v$7","o","_$delegateEvents"],"mappings":"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"}
@@ -54,6 +54,8 @@ export interface ChartProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "on
54
54
  onClick?: (params: ChartEventParams) => void;
55
55
  /** The ECharts instance, once it has drawn — for other events and actions. Called again if a theme change re-creates it. */
56
56
  onReady?: (chart: ChartInstance) => void;
57
+ /** Test id of the root `<div>`; `chart` unless given. */
58
+ "data-testid"?: string | undefined;
57
59
  ref?: Ref<HTMLDivElement>;
58
60
  }
59
61
  /**
@@ -1,21 +1,31 @@
1
- import { use as m, spread as p, mergeProps as u, insert as n, createComponent as s, template as b } from "solid-js/web";
1
+ import { use as m, spread as p, mergeProps as u, insert as n, createComponent as i, template as b } from "solid-js/web";
2
2
  import { mergeProps as f, splitProps as g, Show as h } from "solid-js";
3
3
  import w from "clsx";
4
- import { mergeRefs as _ } from "../../../primitives/mergeRefs.js";
5
- import { Ripple as P } from "../../base/ripple/ripple.js";
6
- var y = /* @__PURE__ */ b("<button>");
7
- function x(i) {
4
+ import { mergeRefs as P } from "../../../primitives/mergeRefs.js";
5
+ import { callHandler as _ } from "../../../primitives/callHandler.js";
6
+ import { Ripple as y } from "../../base/ripple/ripple.js";
7
+ var D = /* @__PURE__ */ b("<button>");
8
+ function B(s) {
8
9
  const l = f({
9
- color: "default"
10
- }, i), [e, a] = g(l, ["class", "children", "disabled", "edge", "color", "ref"]);
10
+ color: "default",
11
+ type: "button"
12
+ }, s), [e, a] = g(l, [
13
+ "class",
14
+ "children",
15
+ "disabled",
16
+ "edge",
17
+ "color",
18
+ "ref",
19
+ // The button sets this on its root too; its own handler calls the caller's first.
20
+ "onPointerDown"
21
+ ]);
11
22
  let r;
12
23
  const c = (t) => {
13
- e.disabled || r?.onRipple(t);
24
+ _(e.onPointerDown, t), e.disabled || r?.onRipple(t);
14
25
  };
15
26
  return (() => {
16
- var t = y(), o = _(e.ref);
27
+ var t = D(), o = P(e.ref);
17
28
  return typeof o == "function" && m(o, t), p(t, u(a, {
18
- type: "button",
19
29
  get class() {
20
30
  return w("smwb-chat-icon-button", e.edge === "start" && "smwb-chat-icon-button_edge-start", e.edge === "end" && "smwb-chat-icon-button_edge-end", e.color === "primary" && "smwb-chat-icon-button_primary", e.disabled && "smwb-chat-icon-button_disabled", e.class);
21
31
  },
@@ -23,12 +33,12 @@ function x(i) {
23
33
  return e.disabled;
24
34
  },
25
35
  onPointerDown: c
26
- }), !1, !0), n(t, () => e.children, null), n(t, s(h, {
36
+ }), !1, !0), n(t, () => e.children, null), n(t, i(h, {
27
37
  get when() {
28
38
  return !e.disabled;
29
39
  },
30
40
  get children() {
31
- return s(P, {
41
+ return i(y, {
32
42
  actionRef: (d) => r = d,
33
43
  center: !0
34
44
  });
@@ -37,6 +47,6 @@ function x(i) {
37
47
  })();
38
48
  }
39
49
  export {
40
- x as ChatIconButton
50
+ B as ChatIconButton
41
51
  };
42
52
  //# sourceMappingURL=chatIconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatIconButton.js","sources":["../../../../src/components/dataDisplay/chat/chatIconButton.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ChatIconButtonProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {\n edge?: \"start\" | \"end\" | undefined;\n color?: \"default\" | \"primary\" | undefined;\n ref?: Ref<HTMLButtonElement>;\n}\n\nexport function ChatIconButton(props: ParentProps<ChatIconButtonProps>): JSX.Element {\n const merged = mergeProps({ color: \"default\" as const }, props);\n const [local, rest] = splitProps(merged, [\"class\", \"children\", \"disabled\", \"edge\", \"color\", \"ref\"]);\n\n let rippleActions: RippleActionsRef | undefined;\n\n const onPointerDown = (event: PointerEvent): void => {\n if (!local.disabled) rippleActions?.onRipple(event);\n };\n\n return (\n <button\n {...rest}\n ref={mergeRefs(local.ref)}\n type=\"button\"\n class={cn(\n \"smwb-chat-icon-button\",\n local.edge === \"start\" && \"smwb-chat-icon-button_edge-start\",\n local.edge === \"end\" && \"smwb-chat-icon-button_edge-end\",\n local.color === \"primary\" && \"smwb-chat-icon-button_primary\",\n local.disabled && \"smwb-chat-icon-button_disabled\",\n local.class\n )}\n disabled={local.disabled}\n onPointerDown={onPointerDown}\n >\n {local.children}\n <Show when={!local.disabled}>\n <Ripple actionRef={(actions) => (rippleActions = actions)} center />\n </Show>\n </button>\n );\n}\n\nexport default ChatIconButton;\n"],"names":["ChatIconButton","props","merged","mergeProps","color","local","rest","splitProps","rippleActions","onPointerDown","event","disabled","onRipple","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","edge","class","_$insert","children","_$createComponent","Show","when","Ripple","actionRef","actions","center"],"mappings":";;;;;;AAWO,SAASA,EAAeC,GAAsD;AACnF,QAAMC,IAASC,EAAW;AAAA,IAAEC,OAAO;AAAA,EAAA,GAAsBH,CAAK,GACxD,CAACI,GAAOC,CAAI,IAAIC,EAAWL,GAAQ,CAAC,SAAS,YAAY,YAAY,QAAQ,SAAS,KAAK,CAAC;AAElG,MAAIM;AAEJ,QAAMC,IAAgBA,CAACC,MAA8B;AACnD,IAAKL,EAAMM,YAAUH,GAAeI,SAASF,CAAK;AAAA,EACpD;AAEA,UAAA,MAAA;AAAA,QAAAG,IAAAC,EAAAA,GAAAC,IAGSC,EAAUX,EAAMY,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBd,GAAI;AAAA,MAAA,MAEH;AAAA,MAAQ,IAAA,QAAA;AAAA,eACNe,EACL,yBACAhB,EAAMiB,SAAS,WAAW,oCAC1BjB,EAAMiB,SAAS,SAAS,kCACxBjB,EAAMD,UAAU,aAAa,iCAC7BC,EAAMM,YAAY,kCAClBN,EAAMkB,KACR;AAAA,MAAC;AAAA,MAAA,IACDZ,WAAQ;AAAA,eAAEN,EAAMM;AAAAA,MAAQ;AAAA,MAAA,eACTF;AAAAA,IAAAA,CAAa,GAAA,IAAA,EAAA,GAAAe,EAAAX,GAAA,MAE3BR,EAAMoB,UAAQ,IAAA,GAAAD,EAAAX,GAAAa,EACdC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE,CAACvB,EAAMM;AAAAA,MAAQ;AAAA,MAAA,IAAAc,WAAA;AAAA,eAAAC,EACxBG,GAAM;AAAA,UAACC,WAAYC,OAAavB,IAAgBuB;AAAAA,UAAUC,QAAM;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAnB;AAAAA,EAAA,GAAA;AAIzE;"}
1
+ {"version":3,"file":"chatIconButton.js","sources":["../../../../src/components/dataDisplay/chat/chatIconButton.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport interface ChatIconButtonProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {\n edge?: \"start\" | \"end\" | undefined;\n color?: \"default\" | \"primary\" | undefined;\n ref?: Ref<HTMLButtonElement>;\n}\n\nexport function ChatIconButton(props: ParentProps<ChatIconButtonProps>): JSX.Element {\n // `type` is a default: the caller's wins.\n const merged = mergeProps({ color: \"default\" as const, type: \"button\" as const }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"children\",\n \"disabled\",\n \"edge\",\n \"color\",\n \"ref\",\n // The button sets this on its root too; its own handler calls the caller's first.\n \"onPointerDown\",\n ]);\n\n let rippleActions: RippleActionsRef | undefined;\n\n const onPointerDown: JSX.EventHandler<HTMLButtonElement, PointerEvent> = (event) => {\n callHandler(local.onPointerDown, event);\n if (!local.disabled) rippleActions?.onRipple(event);\n };\n\n return (\n <button\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\n \"smwb-chat-icon-button\",\n local.edge === \"start\" && \"smwb-chat-icon-button_edge-start\",\n local.edge === \"end\" && \"smwb-chat-icon-button_edge-end\",\n local.color === \"primary\" && \"smwb-chat-icon-button_primary\",\n local.disabled && \"smwb-chat-icon-button_disabled\",\n local.class\n )}\n disabled={local.disabled}\n onPointerDown={onPointerDown}\n >\n {local.children}\n <Show when={!local.disabled}>\n <Ripple actionRef={(actions) => (rippleActions = actions)} center />\n </Show>\n </button>\n );\n}\n\nexport default ChatIconButton;\n"],"names":["ChatIconButton","props","merged","mergeProps","color","type","local","rest","splitProps","rippleActions","onPointerDown","event","callHandler","disabled","onRipple","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","edge","class","_$insert","children","_$createComponent","Show","when","Ripple","actionRef","actions","center"],"mappings":";;;;;;;AAYO,SAASA,EAAeC,GAAsD;AAEnF,QAAMC,IAASC,EAAW;AAAA,IAAEC,OAAO;AAAA,IAAoBC,MAAM;AAAA,EAAA,GAAqBJ,CAAK,GACjF,CAACK,GAAOC,CAAI,IAAIC,EAAWN,GAAQ;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,EAAA,CACD;AAED,MAAIO;AAEJ,QAAMC,IAAoEC,CAAAA,MAAU;AAClFC,IAAAA,EAAYN,EAAMI,eAAeC,CAAK,GACjCL,EAAMO,YAAUJ,GAAeK,SAASH,CAAK;AAAA,EACpD;AAEA,UAAA,MAAA;AAAA,QAAAI,IAAAC,EAAAA,GAAAC,IAGSC,EAAUZ,EAAMa,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBf,GAAI;AAAA,MAAA,IAAA,QAAA;AAAA,eAEDgB,EACL,yBACAjB,EAAMkB,SAAS,WAAW,oCAC1BlB,EAAMkB,SAAS,SAAS,kCACxBlB,EAAMF,UAAU,aAAa,iCAC7BE,EAAMO,YAAY,kCAClBP,EAAMmB,KACR;AAAA,MAAC;AAAA,MAAA,IACDZ,WAAQ;AAAA,eAAEP,EAAMO;AAAAA,MAAQ;AAAA,MAAA,eACTH;AAAAA,IAAAA,CAAa,GAAA,IAAA,EAAA,GAAAgB,EAAAX,GAAA,MAE3BT,EAAMqB,UAAQ,IAAA,GAAAD,EAAAX,GAAAa,EACdC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE,CAACxB,EAAMO;AAAAA,MAAQ;AAAA,MAAA,IAAAc,WAAA;AAAA,eAAAC,EACxBG,GAAM;AAAA,UAACC,WAAYC,OAAaxB,IAAgBwB;AAAAA,UAAUC,QAAM;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAnB;AAAAA,EAAA,GAAA;AAIzE;"}
@@ -14,6 +14,8 @@ export interface ChatLayoutProps extends ParentProps, JSX.HTMLAttributes<HTMLDiv
14
14
  expandAriaLabel?: string | undefined;
15
15
  floatingAnchor?: ChatAnchor | undefined;
16
16
  chat: ChatLayoutChatProps;
17
+ /** Test id of the root `<div>`; `chat-layout` unless given. */
18
+ "data-testid"?: string | undefined;
17
19
  }
18
20
  export declare function ChatLayout(props: ChatLayoutProps): JSX.Element;
19
21
  export default ChatLayout;
@@ -1,30 +1,31 @@
1
- import { createComponent as a, spread as C, mergeProps as s, insert as o, effect as b, className as _, template as k, memo as c } from "solid-js/web";
1
+ import { createComponent as a, spread as y, mergeProps as s, insert as r, effect as _, className as b, template as k, memo as c } from "solid-js/web";
2
2
  import { mergeProps as E, splitProps as F, createEffect as H, Show as i } from "solid-js";
3
3
  import d from "clsx";
4
4
  import { ChatIconButton as w } from "./chatIconButton.js";
5
5
  import { createControllableState as A } from "../../../primitives/createControllableState.js";
6
+ import { mergeStyle as V } from "../../../primitives/mergeStyle.js";
6
7
  import { Chat as h } from "./chat.js";
7
8
  import { Icon as $ } from "../../base/icon/icon.js";
8
9
  var L = /* @__PURE__ */ k("<div><div data-testid=chat-layout-content>"), x = /* @__PURE__ */ k("<aside class=smwb-chat-layout__panel data-testid=chat-layout-panel>");
9
- const V = (l) => typeof l == "number" ? `${l}px` : l, j = (l) => l === "left" ? "bottom-left" : "bottom-right";
10
- function M(l) {
10
+ const N = (l) => typeof l == "number" ? `${l}px` : l, T = (l) => l === "left" ? "bottom-left" : "bottom-right";
11
+ function R(l) {
11
12
  const v = E({
12
13
  side: "right",
13
14
  chatWidth: 400,
14
15
  defaultCollapsed: !1,
15
16
  collapseAriaLabel: "Collapse chat panel",
16
17
  expandAriaLabel: "Expand chat panel"
17
- }, l), [t, u] = F(v, ["class", "contentClass", "chatClass", "side", "chatWidth", "collapsed", "defaultCollapsed", "onCollapsedChange", "collapseAriaLabel", "expandAriaLabel", "floatingAnchor", "chat", "children", "style"]), [p, g] = A({
18
+ }, l), [t, u] = F(v, ["class", "contentClass", "chatClass", "side", "chatWidth", "collapsed", "defaultCollapsed", "onCollapsedChange", "collapseAriaLabel", "expandAriaLabel", "floatingAnchor", "chat", "children", "style", "data-testid"]), [p, g] = A({
18
19
  value: () => t.collapsed,
19
20
  defaultValue: t.defaultCollapsed,
20
21
  onChange: t.onCollapsedChange
21
- }), [I, f] = A({
22
+ }), [S, f] = A({
22
23
  defaultValue: !1
23
24
  });
24
25
  H(() => {
25
26
  p() || f(!1);
26
27
  });
27
- const P = () => t.floatingAnchor ?? j(t.side), S = () => t.side === "left" ? "dock_to_left" : "dock_to_right", B = () => t.side === "left" ? "left_panel_close" : "right_panel_close", O = () => a(w, {
28
+ const I = () => t.floatingAnchor ?? T(t.side), P = () => t.side === "left" ? "dock_to_left" : "dock_to_right", B = () => t.side === "left" ? "left_panel_close" : "right_panel_close", O = () => a(w, {
28
29
  get "aria-label"() {
29
30
  return t.collapseAriaLabel;
30
31
  },
@@ -47,38 +48,39 @@ function M(l) {
47
48
  get children() {
48
49
  return a($, {
49
50
  get name() {
50
- return S();
51
+ return P();
51
52
  },
52
53
  size: 18
53
54
  });
54
55
  }
55
- }), m = () => [c(() => t.chat.headerActions), c(O)], z = () => [c(() => t.chat.headerActions), c(W)], y = () => ({
56
- "--smwb-chat-layout-w": V(t.chatWidth),
57
- ...typeof t.style == "object" && t.style ? t.style : {}
58
- });
56
+ }), m = () => [c(() => t.chat.headerActions), c(O)], z = () => [c(() => t.chat.headerActions), c(W)], C = () => V({
57
+ "--smwb-chat-layout-w": N(t.chatWidth)
58
+ }, t.style);
59
59
  return a(i, {
60
60
  get when() {
61
61
  return p();
62
62
  },
63
63
  get fallback() {
64
64
  return (() => {
65
- var e = L(), r = e.firstChild;
66
- return C(e, s(u, {
65
+ var e = L(), o = e.firstChild;
66
+ return y(e, s(u, {
67
67
  get class() {
68
68
  return d("smwb-chat-layout", `smwb-chat-layout_${t.side}`, t.class);
69
69
  },
70
70
  get style() {
71
- return y();
71
+ return C();
72
+ },
73
+ get "data-testid"() {
74
+ return t["data-testid"] ?? "chat-layout";
72
75
  },
73
- "data-testid": "chat-layout",
74
76
  "data-collapsed": "false"
75
- }), !1, !0), o(e, a(i, {
77
+ }), !1, !0), r(e, a(i, {
76
78
  get when() {
77
79
  return t.side === "left";
78
80
  },
79
81
  get children() {
80
82
  var n = x();
81
- return o(n, a(h, s(() => t.chat, {
83
+ return r(n, a(h, s(() => t.chat, {
82
84
  get class() {
83
85
  return t.chatClass;
84
86
  },
@@ -89,13 +91,13 @@ function M(l) {
89
91
  }
90
92
  }))), n;
91
93
  }
92
- }), r), o(r, () => t.children), o(e, a(i, {
94
+ }), o), r(o, () => t.children), r(e, a(i, {
93
95
  get when() {
94
96
  return t.side === "right";
95
97
  },
96
98
  get children() {
97
99
  var n = x();
98
- return o(n, a(h, s(() => t.chat, {
100
+ return r(n, a(h, s(() => t.chat, {
99
101
  get class() {
100
102
  return t.chatClass;
101
103
  },
@@ -106,42 +108,44 @@ function M(l) {
106
108
  }
107
109
  }))), n;
108
110
  }
109
- }), null), b(() => _(r, d("smwb-chat-layout__content", t.contentClass))), e;
111
+ }), null), _(() => b(o, d("smwb-chat-layout__content", t.contentClass))), e;
110
112
  })();
111
113
  },
112
114
  get children() {
113
- var e = L(), r = e.firstChild;
114
- return C(e, s(u, {
115
+ var e = L(), o = e.firstChild;
116
+ return y(e, s(u, {
115
117
  get class() {
116
118
  return d("smwb-chat-layout", "smwb-chat-layout_collapsed", t.class);
117
119
  },
118
120
  get style() {
119
- return y();
121
+ return C();
122
+ },
123
+ get "data-testid"() {
124
+ return t["data-testid"] ?? "chat-layout";
120
125
  },
121
- "data-testid": "chat-layout",
122
126
  "data-collapsed": "true"
123
- }), !1, !0), o(r, () => t.children), o(e, a(h, s(() => t.chat, {
127
+ }), !1, !0), r(o, () => t.children), r(e, a(h, s(() => t.chat, {
124
128
  get class() {
125
129
  return t.chatClass;
126
130
  },
127
131
  floatingTrigger: !0,
128
132
  get anchor() {
129
- return P();
133
+ return I();
130
134
  },
131
135
  allowedLayouts: ["floating"],
132
136
  layout: "floating",
133
137
  get open() {
134
- return I();
138
+ return S();
135
139
  },
136
140
  onOpenChange: f,
137
141
  get headerActions() {
138
142
  return z();
139
143
  }
140
- })), null), b(() => _(r, d("smwb-chat-layout__content", t.contentClass))), e;
144
+ })), null), _(() => b(o, d("smwb-chat-layout__content", t.contentClass))), e;
141
145
  }
142
146
  });
143
147
  }
144
148
  export {
145
- M as ChatLayout
149
+ R as ChatLayout
146
150
  };
147
151
  //# sourceMappingURL=chatLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatLayout.js","sources":["../../../../src/components/dataDisplay/chat/chatLayout.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createEffect, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { ChatIconButton } from \"./chatIconButton\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { Chat, type ChatProps } from \"./chat\";\nimport type { ChatAnchor, ChatLayoutSide } from \"./types\";\n\nconst len = (value: number | string): string => (typeof value === \"number\" ? `${value}px` : value);\n\nconst floatingAnchorForSide = (side: ChatLayoutSide): ChatAnchor => (side === \"left\" ? \"bottom-left\" : \"bottom-right\");\n\nexport type ChatLayoutChatProps = Omit<\n ChatProps,\n | \"class\"\n | \"embedded\"\n | \"floatingTrigger\"\n | \"anchor\"\n | \"allowedLayouts\"\n | \"layout\"\n | \"defaultLayout\"\n | \"open\"\n | \"defaultOpen\"\n | \"onOpenChange\"\n | \"onLayoutChange\"\n>;\n\nexport interface ChatLayoutProps extends ParentProps, JSX.HTMLAttributes<HTMLDivElement> {\n contentClass?: string | undefined;\n chatClass?: string | undefined;\n side?: ChatLayoutSide | undefined;\n chatWidth?: number | string | undefined;\n collapsed?: boolean | undefined;\n defaultCollapsed?: boolean | undefined;\n onCollapsedChange?: ((collapsed: boolean) => void) | undefined;\n collapseAriaLabel?: string | undefined;\n expandAriaLabel?: string | undefined;\n floatingAnchor?: ChatAnchor | undefined;\n chat: ChatLayoutChatProps;\n}\n\nexport function ChatLayout(props: ChatLayoutProps): JSX.Element {\n const merged = mergeProps(\n {\n side: \"right\" as const,\n chatWidth: 400 as number | string,\n defaultCollapsed: false,\n collapseAriaLabel: \"Collapse chat panel\",\n expandAriaLabel: \"Expand chat panel\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"contentClass\",\n \"chatClass\",\n \"side\",\n \"chatWidth\",\n \"collapsed\",\n \"defaultCollapsed\",\n \"onCollapsedChange\",\n \"collapseAriaLabel\",\n \"expandAriaLabel\",\n \"floatingAnchor\",\n \"chat\",\n \"children\",\n \"style\",\n ]);\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.collapsed,\n defaultValue: local.defaultCollapsed,\n onChange: local.onCollapsedChange,\n });\n\n const [floatingOpen, setFloatingOpen] = createControllableState<boolean>({ defaultValue: false });\n\n createEffect(() => {\n if (!collapsed()) {\n setFloatingOpen(false);\n }\n });\n\n const anchor = (): ChatAnchor => local.floatingAnchor ?? floatingAnchorForSide(local.side);\n const dockIcon = (): string => (local.side === \"left\" ? \"dock_to_left\" : \"dock_to_right\");\n const collapseIcon = (): string => (local.side === \"left\" ? \"left_panel_close\" : \"right_panel_close\");\n\n const collapseButton = (): JSX.Element => (\n <ChatIconButton aria-label={local.collapseAriaLabel} data-testid=\"chat-layout-collapse\" onClick={() => setCollapsed(true)}>\n <Icon name={collapseIcon()} size={18} />\n </ChatIconButton>\n );\n\n const expandButton = (): JSX.Element => (\n <ChatIconButton aria-label={local.expandAriaLabel} data-testid=\"chat-layout-expand\" onClick={() => setCollapsed(false)}>\n <Icon name={dockIcon()} size={18} />\n </ChatIconButton>\n );\n\n const dockedHeaderActions = (): JSX.Element => (\n <>\n {local.chat.headerActions}\n {collapseButton()}\n </>\n );\n\n const floatingHeaderActions = (): JSX.Element => (\n <>\n {local.chat.headerActions}\n {expandButton()}\n </>\n );\n\n const rootStyle = (): JSX.CSSProperties => ({\n \"--smwb-chat-layout-w\": len(local.chatWidth),\n ...(typeof local.style === \"object\" && local.style ? local.style : {}),\n });\n\n return (\n <Show\n when={collapsed()}\n fallback={\n <div\n {...rest}\n class={cn(\"smwb-chat-layout\", `smwb-chat-layout_${local.side}`, local.class)}\n style={rootStyle()}\n data-testid=\"chat-layout\"\n data-collapsed=\"false\"\n >\n <Show when={local.side === \"left\"}>\n <aside class=\"smwb-chat-layout__panel\" data-testid=\"chat-layout-panel\">\n <Chat {...local.chat} class={local.chatClass} embedded allowedLayouts={[]} headerActions={dockedHeaderActions()} />\n </aside>\n </Show>\n <div class={cn(\"smwb-chat-layout__content\", local.contentClass)} data-testid=\"chat-layout-content\">\n {local.children}\n </div>\n <Show when={local.side === \"right\"}>\n <aside class=\"smwb-chat-layout__panel\" data-testid=\"chat-layout-panel\">\n <Chat {...local.chat} class={local.chatClass} embedded allowedLayouts={[]} headerActions={dockedHeaderActions()} />\n </aside>\n </Show>\n </div>\n }\n >\n <div\n {...rest}\n class={cn(\"smwb-chat-layout\", \"smwb-chat-layout_collapsed\", local.class)}\n style={rootStyle()}\n data-testid=\"chat-layout\"\n data-collapsed=\"true\"\n >\n <div class={cn(\"smwb-chat-layout__content\", local.contentClass)} data-testid=\"chat-layout-content\">\n {local.children}\n </div>\n <Chat\n {...local.chat}\n class={local.chatClass}\n floatingTrigger\n anchor={anchor()}\n allowedLayouts={[\"floating\"]}\n layout=\"floating\"\n open={floatingOpen()}\n onOpenChange={setFloatingOpen}\n headerActions={floatingHeaderActions()}\n />\n </div>\n </Show>\n );\n}\n\nexport default ChatLayout;\n"],"names":["len","value","floatingAnchorForSide","side","ChatLayout","props","merged","mergeProps","chatWidth","defaultCollapsed","collapseAriaLabel","expandAriaLabel","local","rest","splitProps","collapsed","setCollapsed","createControllableState","defaultValue","onChange","onCollapsedChange","floatingOpen","setFloatingOpen","createEffect","anchor","floatingAnchor","dockIcon","collapseIcon","collapseButton","_$createComponent","ChatIconButton","onClick","children","Icon","name","size","expandButton","dockedHeaderActions","_$memo","chat","headerActions","floatingHeaderActions","rootStyle","style","Show","when","fallback","_el$3","_tmpl$","_el$5","firstChild","_$spread","_$mergeProps","cn","class","_$insert","_el$4","_tmpl$2","Chat","chatClass","embedded","allowedLayouts","_el$6","_$effect","_$className","contentClass","_el$","_el$2","floatingTrigger","layout","open","onOpenChange"],"mappings":"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"}
1
+ {"version":3,"file":"chatLayout.js","sources":["../../../../src/components/dataDisplay/chat/chatLayout.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createEffect, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { ChatIconButton } from \"./chatIconButton\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeStyle } from \"../../../primitives/mergeStyle\";\nimport { Chat, type ChatProps } from \"./chat\";\nimport type { ChatAnchor, ChatLayoutSide } from \"./types\";\n\nconst len = (value: number | string): string => (typeof value === \"number\" ? `${value}px` : value);\n\nconst floatingAnchorForSide = (side: ChatLayoutSide): ChatAnchor => (side === \"left\" ? \"bottom-left\" : \"bottom-right\");\n\nexport type ChatLayoutChatProps = Omit<\n ChatProps,\n | \"class\"\n | \"embedded\"\n | \"floatingTrigger\"\n | \"anchor\"\n | \"allowedLayouts\"\n | \"layout\"\n | \"defaultLayout\"\n | \"open\"\n | \"defaultOpen\"\n | \"onOpenChange\"\n | \"onLayoutChange\"\n>;\n\nexport interface ChatLayoutProps extends ParentProps, JSX.HTMLAttributes<HTMLDivElement> {\n contentClass?: string | undefined;\n chatClass?: string | undefined;\n side?: ChatLayoutSide | undefined;\n chatWidth?: number | string | undefined;\n collapsed?: boolean | undefined;\n defaultCollapsed?: boolean | undefined;\n onCollapsedChange?: ((collapsed: boolean) => void) | undefined;\n collapseAriaLabel?: string | undefined;\n expandAriaLabel?: string | undefined;\n floatingAnchor?: ChatAnchor | undefined;\n chat: ChatLayoutChatProps;\n /** Test id of the root `<div>`; `chat-layout` unless given. */\n \"data-testid\"?: string | undefined;\n}\n\nexport function ChatLayout(props: ChatLayoutProps): JSX.Element {\n const merged = mergeProps(\n {\n side: \"right\" as const,\n chatWidth: 400 as number | string,\n defaultCollapsed: false,\n collapseAriaLabel: \"Collapse chat panel\",\n expandAriaLabel: \"Expand chat panel\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"contentClass\",\n \"chatClass\",\n \"side\",\n \"chatWidth\",\n \"collapsed\",\n \"defaultCollapsed\",\n \"onCollapsedChange\",\n \"collapseAriaLabel\",\n \"expandAriaLabel\",\n \"floatingAnchor\",\n \"chat\",\n \"children\",\n \"style\",\n \"data-testid\",\n ]);\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.collapsed,\n defaultValue: local.defaultCollapsed,\n onChange: local.onCollapsedChange,\n });\n\n const [floatingOpen, setFloatingOpen] = createControllableState<boolean>({ defaultValue: false });\n\n createEffect(() => {\n if (!collapsed()) {\n setFloatingOpen(false);\n }\n });\n\n const anchor = (): ChatAnchor => local.floatingAnchor ?? floatingAnchorForSide(local.side);\n const dockIcon = (): string => (local.side === \"left\" ? \"dock_to_left\" : \"dock_to_right\");\n const collapseIcon = (): string => (local.side === \"left\" ? \"left_panel_close\" : \"right_panel_close\");\n\n const collapseButton = (): JSX.Element => (\n <ChatIconButton aria-label={local.collapseAriaLabel} data-testid=\"chat-layout-collapse\" onClick={() => setCollapsed(true)}>\n <Icon name={collapseIcon()} size={18} />\n </ChatIconButton>\n );\n\n const expandButton = (): JSX.Element => (\n <ChatIconButton aria-label={local.expandAriaLabel} data-testid=\"chat-layout-expand\" onClick={() => setCollapsed(false)}>\n <Icon name={dockIcon()} size={18} />\n </ChatIconButton>\n );\n\n const dockedHeaderActions = (): JSX.Element => (\n <>\n {local.chat.headerActions}\n {collapseButton()}\n </>\n );\n\n const floatingHeaderActions = (): JSX.Element => (\n <>\n {local.chat.headerActions}\n {expandButton()}\n </>\n );\n\n // The caller's style goes last: its own --smwb-chat-layout-w wins over chatWidth.\n const rootStyle = (): JSX.CSSProperties | string | undefined =>\n mergeStyle({ \"--smwb-chat-layout-w\": len(local.chatWidth) }, local.style);\n\n return (\n <Show\n when={collapsed()}\n fallback={\n <div\n {...rest}\n class={cn(\"smwb-chat-layout\", `smwb-chat-layout_${local.side}`, local.class)}\n style={rootStyle()}\n data-testid={local[\"data-testid\"] ?? \"chat-layout\"}\n data-collapsed=\"false\"\n >\n <Show when={local.side === \"left\"}>\n <aside class=\"smwb-chat-layout__panel\" data-testid=\"chat-layout-panel\">\n <Chat {...local.chat} class={local.chatClass} embedded allowedLayouts={[]} headerActions={dockedHeaderActions()} />\n </aside>\n </Show>\n <div class={cn(\"smwb-chat-layout__content\", local.contentClass)} data-testid=\"chat-layout-content\">\n {local.children}\n </div>\n <Show when={local.side === \"right\"}>\n <aside class=\"smwb-chat-layout__panel\" data-testid=\"chat-layout-panel\">\n <Chat {...local.chat} class={local.chatClass} embedded allowedLayouts={[]} headerActions={dockedHeaderActions()} />\n </aside>\n </Show>\n </div>\n }\n >\n <div\n {...rest}\n class={cn(\"smwb-chat-layout\", \"smwb-chat-layout_collapsed\", local.class)}\n style={rootStyle()}\n data-testid={local[\"data-testid\"] ?? \"chat-layout\"}\n data-collapsed=\"true\"\n >\n <div class={cn(\"smwb-chat-layout__content\", local.contentClass)} data-testid=\"chat-layout-content\">\n {local.children}\n </div>\n <Chat\n {...local.chat}\n class={local.chatClass}\n floatingTrigger\n anchor={anchor()}\n allowedLayouts={[\"floating\"]}\n layout=\"floating\"\n open={floatingOpen()}\n onOpenChange={setFloatingOpen}\n headerActions={floatingHeaderActions()}\n />\n </div>\n </Show>\n );\n}\n\nexport default ChatLayout;\n"],"names":["len","value","floatingAnchorForSide","side","ChatLayout","props","merged","mergeProps","chatWidth","defaultCollapsed","collapseAriaLabel","expandAriaLabel","local","rest","splitProps","collapsed","setCollapsed","createControllableState","defaultValue","onChange","onCollapsedChange","floatingOpen","setFloatingOpen","createEffect","anchor","floatingAnchor","dockIcon","collapseIcon","collapseButton","_$createComponent","ChatIconButton","onClick","children","Icon","name","size","expandButton","dockedHeaderActions","_$memo","chat","headerActions","floatingHeaderActions","rootStyle","mergeStyle","style","Show","when","fallback","_el$3","_tmpl$","_el$5","firstChild","_$spread","_$mergeProps","cn","class","_$insert","_el$4","_tmpl$2","Chat","chatClass","embedded","allowedLayouts","_el$6","_$effect","_$className","contentClass","_el$","_el$2","floatingTrigger","layout","open","onOpenChange"],"mappings":"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"}
@@ -11,6 +11,8 @@ export interface ChatOverlayLayoutProps extends ParentProps, JSX.HTMLAttributes<
11
11
  defaultLayout?: ChatLayoutMode | undefined;
12
12
  defaultOpen?: boolean | undefined;
13
13
  chat: ChatOverlayLayoutChatProps;
14
+ /** Test id of the root `<div>`; `chat-overlay-layout` unless given. */
15
+ "data-testid"?: string | undefined;
14
16
  }
15
17
  export declare function ChatOverlayLayout(props: ChatOverlayLayoutProps): JSX.Element;
16
18
  export default ChatOverlayLayout;
@@ -1,38 +1,40 @@
1
- import { spread as d, mergeProps as r, insert as l, createComponent as i, effect as y, className as h, template as f } from "solid-js/web";
2
- import { mergeProps as m, splitProps as p } from "solid-js";
1
+ import { spread as d, mergeProps as o, insert as l, createComponent as i, effect as h, className as y, template as f } from "solid-js/web";
2
+ import { mergeProps as m, splitProps as g } from "solid-js";
3
3
  import s from "clsx";
4
- import { Chat as g } from "./chat.js";
5
- var v = /* @__PURE__ */ f("<div><div data-testid=chat-overlay-layout-content>");
6
- const C = (e) => typeof e == "number" ? `${e}px` : e, L = (e) => e === "left" ? "bottom-left" : "bottom-right";
7
- function $(e) {
4
+ import { mergeStyle as p } from "../../../primitives/mergeStyle.js";
5
+ import { Chat as v } from "./chat.js";
6
+ var C = /* @__PURE__ */ f("<div><div data-testid=chat-overlay-layout-content>");
7
+ const L = (e) => typeof e == "number" ? `${e}px` : e, w = (e) => e === "left" ? "bottom-left" : "bottom-right";
8
+ function x(e) {
8
9
  const n = m({
9
10
  side: "right",
10
11
  chatWidth: 400,
11
12
  allowedLayouts: ["fullHeight", "floating"],
12
13
  defaultLayout: "fullHeight",
13
14
  defaultOpen: !0
14
- }, e), [t, u] = p(n, ["class", "contentClass", "chatClass", "side", "chatWidth", "allowedLayouts", "defaultLayout", "defaultOpen", "chat", "children", "style"]), c = () => ({
15
- "--smwb-chat-overlay-w": C(t.chatWidth),
16
- ...typeof t.style == "object" && t.style ? t.style : {}
17
- });
15
+ }, e), [t, u] = g(n, ["class", "contentClass", "chatClass", "side", "chatWidth", "allowedLayouts", "defaultLayout", "defaultOpen", "chat", "children", "style", "data-testid"]), c = () => p({
16
+ "--smwb-chat-overlay-w": L(t.chatWidth)
17
+ }, t.style);
18
18
  return (() => {
19
- var a = v(), o = a.firstChild;
20
- return d(a, r(u, {
19
+ var a = C(), r = a.firstChild;
20
+ return d(a, o(u, {
21
21
  get class() {
22
22
  return s("smwb-chat-overlay-layout", t.class);
23
23
  },
24
24
  get style() {
25
25
  return c();
26
26
  },
27
- "data-testid": "chat-overlay-layout"
28
- }), !1, !0), l(o, () => t.children), l(a, i(g, r(() => t.chat, {
27
+ get "data-testid"() {
28
+ return t["data-testid"] ?? "chat-overlay-layout";
29
+ }
30
+ }), !1, !0), l(r, () => t.children), l(a, i(v, o(() => t.chat, {
29
31
  get class() {
30
32
  return t.chatClass;
31
33
  },
32
34
  overlayContext: !0,
33
35
  floatingTrigger: !0,
34
36
  get anchor() {
35
- return L(t.side);
37
+ return w(t.side);
36
38
  },
37
39
  get allowedLayouts() {
38
40
  return t.allowedLayouts;
@@ -43,10 +45,10 @@ function $(e) {
43
45
  get defaultOpen() {
44
46
  return t.defaultOpen;
45
47
  }
46
- })), null), y(() => h(o, s("smwb-chat-overlay-layout__content", t.contentClass))), a;
48
+ })), null), h(() => y(r, s("smwb-chat-overlay-layout__content", t.contentClass))), a;
47
49
  })();
48
50
  }
49
51
  export {
50
- $ as ChatOverlayLayout
52
+ x as ChatOverlayLayout
51
53
  };
52
54
  //# sourceMappingURL=chatOverlayLayout.js.map