@smwb/ui-solid 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (841) hide show
  1. package/README.md +74 -0
  2. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  4. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  5. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  6. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  7. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  8. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  9. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  10. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  11. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  12. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  13. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  14. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  15. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  16. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  17. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  18. package/dist/components/base/icon/icon.d.ts +6 -2
  19. package/dist/components/base/icon/icon.js +41 -41
  20. package/dist/components/base/icon/icon.js.map +1 -1
  21. package/dist/components/base/ripple/ripple.d.ts +3 -0
  22. package/dist/components/base/ripple/ripple.js +46 -34
  23. package/dist/components/base/ripple/ripple.js.map +1 -1
  24. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  25. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  26. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  27. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  28. package/dist/components/dataDisplay/card/card.js +47 -34
  29. package/dist/components/dataDisplay/card/card.js.map +1 -1
  30. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  31. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  32. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  33. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  34. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  35. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  36. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  37. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  38. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  39. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  40. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  41. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  42. package/dist/components/dataDisplay/chip/chip.js +104 -63
  43. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  44. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  45. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  46. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  47. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  48. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  49. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  50. package/dist/components/dataDisplay/dagView/dagView.js +488 -0
  51. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  52. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  53. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  54. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  55. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  56. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  57. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  58. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  59. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  60. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  61. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  62. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  63. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  64. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  65. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  66. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  67. package/dist/components/dataDisplay/list/list.js +16 -12
  68. package/dist/components/dataDisplay/list/list.js.map +1 -1
  69. package/dist/components/dataDisplay/list/listItem.js +20 -18
  70. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  71. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  72. package/dist/components/dataDisplay/meter/meter.js +15 -13
  73. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  74. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  75. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  76. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  77. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  78. package/dist/components/dataDisplay/stat/stat.js +41 -43
  79. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  80. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  81. package/dist/components/dataDisplay/table/table.js +46 -22
  82. package/dist/components/dataDisplay/table/table.js.map +1 -1
  83. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  84. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  85. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  86. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  87. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  88. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  89. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  90. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  91. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  92. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  93. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  94. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  95. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  96. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  97. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  98. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  99. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  100. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  101. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  102. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  103. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  104. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  105. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  106. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  107. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  108. package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
  109. package/dist/components/dataDisplay/treeView/treeView.js +4 -2
  110. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  111. package/dist/components/dataDisplay/typography/typography.js +22 -26
  112. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  113. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  114. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  115. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  116. package/dist/components/feedBack/message/message.d.ts +2 -0
  117. package/dist/components/feedBack/message/message.js +17 -13
  118. package/dist/components/feedBack/message/message.js.map +1 -1
  119. package/dist/components/feedBack/modal/modal.js +20 -16
  120. package/dist/components/feedBack/modal/modal.js.map +1 -1
  121. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  122. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  123. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  124. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  125. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  126. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  127. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  128. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  129. package/dist/components/inputs/button/button.d.ts +2 -0
  130. package/dist/components/inputs/button/button.js +48 -20
  131. package/dist/components/inputs/button/button.js.map +1 -1
  132. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  133. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  134. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  135. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  136. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  137. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  138. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  139. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  140. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  141. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  142. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  143. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  144. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  145. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  146. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  147. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  148. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  149. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  150. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  151. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  152. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  153. package/dist/components/inputs/rating/rating.d.ts +9 -0
  154. package/dist/components/inputs/rating/rating.js +74 -53
  155. package/dist/components/inputs/rating/rating.js.map +1 -1
  156. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  157. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  158. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  159. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  160. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  161. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  162. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  163. package/dist/components/inputs/selectField/selectField.js +297 -126
  164. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  165. package/dist/components/inputs/slider/slider.d.ts +25 -3
  166. package/dist/components/inputs/slider/slider.js +320 -197
  167. package/dist/components/inputs/slider/slider.js.map +1 -1
  168. package/dist/components/inputs/textField/textField.d.ts +9 -1
  169. package/dist/components/inputs/textField/textField.js +104 -51
  170. package/dist/components/inputs/textField/textField.js.map +1 -1
  171. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  172. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  173. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  174. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  175. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  176. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  177. package/dist/components/inputs/toggle/toggle.js +43 -31
  178. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  179. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  180. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  181. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  182. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  183. package/dist/components/layout/appLayout/appLayout.js +32 -30
  184. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  185. package/dist/components/layout/divider/divider.d.ts +2 -0
  186. package/dist/components/layout/divider/divider.js +22 -20
  187. package/dist/components/layout/divider/divider.js.map +1 -1
  188. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  189. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  190. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  191. package/dist/components/layout/grid/grid.d.ts +8 -0
  192. package/dist/components/layout/grid/grid.js +52 -44
  193. package/dist/components/layout/grid/grid.js.map +1 -1
  194. package/dist/components/layout/page/page.d.ts +2 -0
  195. package/dist/components/layout/page/page.js +14 -12
  196. package/dist/components/layout/page/page.js.map +1 -1
  197. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  198. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  199. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  200. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  201. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  202. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  203. package/dist/components/layout/sheet/sheet.d.ts +2 -0
  204. package/dist/components/layout/sheet/sheet.js +50 -48
  205. package/dist/components/layout/sheet/sheet.js.map +1 -1
  206. package/dist/components/layout/stack/stack.d.ts +2 -0
  207. package/dist/components/layout/stack/stack.js +26 -24
  208. package/dist/components/layout/stack/stack.js.map +1 -1
  209. package/dist/components/navigation/appBar/appBar.d.ts +2 -0
  210. package/dist/components/navigation/appBar/appBar.js +18 -16
  211. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  212. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  213. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  214. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  215. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  216. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  217. package/dist/components/navigation/menu/menu.d.ts +6 -0
  218. package/dist/components/navigation/menu/menu.js.map +1 -1
  219. package/dist/components/navigation/menu/menuComponent.js +12 -23
  220. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  221. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  222. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  223. package/dist/components/navigation/menu/menuFloating.js +54 -46
  224. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  225. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  226. package/dist/components/navigation/menu/menuItem.js +58 -33
  227. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  228. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  229. package/dist/components/navigation/menu/menuList.js +34 -16
  230. package/dist/components/navigation/menu/menuList.js.map +1 -1
  231. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  232. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  233. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  234. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  235. package/dist/components/navigation/pagination/pagination.js +28 -24
  236. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  237. package/dist/components/navigation/sidebar/sidebar.js +27 -25
  238. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  239. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  240. package/dist/components/navigation/stepper/stepper.js +46 -42
  241. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  242. package/dist/components/navigation/tabs/tab/tab.js +46 -35
  243. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  244. package/dist/components/navigation/tabs/tabs.d.ts +7 -0
  245. package/dist/components/navigation/tabs/tabs.js +90 -75
  246. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  247. package/dist/components/navigation/tabs/tabsContext.d.ts +6 -4
  248. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  249. package/dist/connects/rt/table/table.d.ts +16 -1
  250. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  251. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  252. package/dist/headless/components/base/icon/icon.js +40 -40
  253. package/dist/headless/components/base/icon/icon.js.map +1 -1
  254. package/dist/headless/components/base/ripple/ripple.js +46 -34
  255. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  256. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  257. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  258. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  259. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  260. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  261. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  262. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  263. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  264. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  265. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  266. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  267. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  268. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  269. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  270. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  271. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  272. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  273. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  274. package/dist/headless/components/dataDisplay/dagView/dagView.js +486 -0
  275. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  276. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  277. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  278. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  279. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  280. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  281. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  282. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  283. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  284. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  285. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  286. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  287. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  288. package/dist/headless/components/dataDisplay/list/listItem.js +20 -18
  289. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  290. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  291. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  292. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  293. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  294. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  295. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  296. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  297. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  298. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  299. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  300. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  301. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  302. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  303. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  304. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  305. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  306. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  307. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  308. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  309. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  310. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  311. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  312. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  313. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  314. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  315. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  316. package/dist/headless/components/dataDisplay/treeView/treeView.js +4 -2
  317. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  318. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  319. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  320. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  321. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  322. package/dist/headless/components/feedBack/message/message.js +17 -13
  323. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  324. package/dist/headless/components/feedBack/modal/modal.js +20 -16
  325. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  326. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  327. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  328. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  329. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  330. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  331. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  332. package/dist/headless/components/inputs/button/button.js +51 -23
  333. package/dist/headless/components/inputs/button/button.js.map +1 -1
  334. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  335. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  336. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  337. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  338. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  339. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  340. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  341. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  342. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  343. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  344. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  345. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  346. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  347. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  348. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  349. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  350. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  351. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  352. package/dist/headless/components/inputs/rating/rating.js +74 -53
  353. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  354. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  355. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  356. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  357. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  358. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  359. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  360. package/dist/headless/components/inputs/slider/slider.js +320 -197
  361. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  362. package/dist/headless/components/inputs/textField/textField.js +104 -51
  363. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  364. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  365. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  366. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  367. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  368. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  369. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  370. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  371. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  372. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  373. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  374. package/dist/headless/components/layout/divider/divider.js +19 -17
  375. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  376. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  377. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  378. package/dist/headless/components/layout/grid/grid.js +54 -46
  379. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  380. package/dist/headless/components/layout/page/page.js +12 -10
  381. package/dist/headless/components/layout/page/page.js.map +1 -1
  382. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  383. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  384. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  385. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  386. package/dist/headless/components/layout/sheet/sheet.js +50 -48
  387. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  388. package/dist/headless/components/layout/stack/stack.js +23 -21
  389. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  390. package/dist/headless/components/navigation/appBar/appBar.js +15 -13
  391. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  392. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  393. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  394. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  395. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  396. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  397. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  398. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  399. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  400. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  401. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  402. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  403. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  404. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  405. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  406. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  407. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  408. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  409. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  410. package/dist/headless/components/navigation/sidebar/sidebar.js +14 -12
  411. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  412. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  413. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  414. package/dist/headless/components/navigation/tabs/tab/tab.js +48 -37
  415. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  416. package/dist/headless/components/navigation/tabs/tabs.js +91 -76
  417. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  418. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  419. package/dist/headless/index.js +224 -220
  420. package/dist/headless/index.js.map +1 -1
  421. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  422. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  423. package/dist/headless/primitives/createFocusTrap.js +1 -0
  424. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  425. package/dist/headless/primitives/createHelperText.js +14 -0
  426. package/dist/headless/primitives/createHelperText.js.map +1 -0
  427. package/dist/headless/primitives/mergeStyle.js +9 -0
  428. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  429. package/dist/headless/primitives/overlayLayer.js +14 -7
  430. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  431. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  432. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  433. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  434. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  435. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  436. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  437. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  438. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  439. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  440. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  441. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  442. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  443. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  444. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  445. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  446. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  447. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  448. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  449. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  450. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  451. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  452. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  453. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  454. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  455. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  456. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  457. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +639 -0
  458. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  459. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  460. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  461. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  462. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  463. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  464. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  465. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  466. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  467. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  468. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  469. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  470. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  471. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  472. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  473. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +11 -10
  474. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  475. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  476. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  477. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  478. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  479. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  480. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  481. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  482. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  483. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  484. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  485. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  486. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  487. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  488. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  489. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  490. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  491. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  492. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  493. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  494. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  495. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  496. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  497. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  498. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  499. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  500. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  501. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  502. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  503. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  504. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  505. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  506. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  507. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  508. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  509. package/dist/headless/source/components/feedBack/modal/modal.jsx +5 -2
  510. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  511. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  512. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  513. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  514. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  515. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  516. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  517. package/dist/headless/source/components/inputs/button/button.jsx +8 -3
  518. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  519. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  520. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  521. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  522. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  523. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  524. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  525. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  526. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  527. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  528. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  529. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  530. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  531. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  532. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  533. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  534. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  535. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  536. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  537. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  538. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  539. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  540. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  541. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  542. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  543. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  544. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  545. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  546. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  547. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  548. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  549. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  550. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  551. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  552. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  553. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  554. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  555. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  556. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  557. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  558. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  559. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  560. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  561. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  562. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  563. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  564. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  565. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  566. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  567. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  568. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  569. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  570. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  571. package/dist/headless/source/components/layout/sheet/sheet.jsx +6 -8
  572. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  573. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  574. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  575. package/dist/headless/source/components/navigation/appBar/appBar.jsx +3 -2
  576. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  577. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  578. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  579. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  580. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  581. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  582. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  583. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  584. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  585. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  586. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  587. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  588. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  589. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  590. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  591. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  592. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  593. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  594. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  595. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +1 -1
  596. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  597. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  598. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  599. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +12 -16
  600. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  601. package/dist/headless/source/components/navigation/tabs/tabs.jsx +34 -10
  602. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  603. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  604. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  605. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  606. package/dist/headless/source/index.js +3 -0
  607. package/dist/headless/source/index.js.map +2 -2
  608. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  609. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  610. package/dist/headless/source/primitives/createFocusTrap.js +1 -0
  611. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  612. package/dist/headless/source/primitives/createHelperText.js +16 -0
  613. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  614. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  615. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  616. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  617. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  618. package/dist/headless/source/utils/controlProps.js +22 -0
  619. package/dist/headless/source/utils/controlProps.js.map +7 -0
  620. package/dist/headless/source/utils/ownClick.js +41 -0
  621. package/dist/headless/source/utils/ownClick.js.map +7 -0
  622. package/dist/headless/utils/controlProps.js +20 -0
  623. package/dist/headless/utils/controlProps.js.map +1 -0
  624. package/dist/headless/utils/ownClick.js +39 -0
  625. package/dist/headless/utils/ownClick.js.map +1 -0
  626. package/dist/index.d.ts +2 -0
  627. package/dist/index.js +224 -220
  628. package/dist/index.js.map +1 -1
  629. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  630. package/dist/primitives/createDismissOnEscape.js +14 -0
  631. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  632. package/dist/primitives/createFocusTrap.d.ts +2 -0
  633. package/dist/primitives/createFocusTrap.js +1 -0
  634. package/dist/primitives/createFocusTrap.js.map +1 -1
  635. package/dist/primitives/createHelperText.d.ts +26 -0
  636. package/dist/primitives/createHelperText.js +14 -0
  637. package/dist/primitives/createHelperText.js.map +1 -0
  638. package/dist/primitives/mergeStyle.d.ts +19 -0
  639. package/dist/primitives/mergeStyle.js +9 -0
  640. package/dist/primitives/mergeStyle.js.map +1 -0
  641. package/dist/primitives/overlayLayer.d.ts +15 -3
  642. package/dist/primitives/overlayLayer.js +14 -7
  643. package/dist/primitives/overlayLayer.js.map +1 -1
  644. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  645. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  646. package/dist/source/components/base/icon/icon.jsx +10 -12
  647. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  648. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  649. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  650. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  651. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  652. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  653. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  654. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  655. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  656. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  657. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  658. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  659. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  660. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  661. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  662. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  663. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  664. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  665. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  666. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  667. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  668. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  669. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  670. package/dist/source/components/dataDisplay/dagView/dagView.jsx +641 -0
  671. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  672. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  673. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  674. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  675. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  676. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  677. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  678. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  679. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  680. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  681. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  682. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  683. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  684. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  685. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  686. package/dist/source/components/dataDisplay/list/listItem.jsx +11 -10
  687. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  688. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  689. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  690. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  691. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  692. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  693. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  694. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  695. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  696. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  697. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  698. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  699. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  700. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  701. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  702. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  703. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  704. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  705. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  706. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  707. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  708. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  709. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  710. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  711. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  712. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  713. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  714. package/dist/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  715. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  716. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  717. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  718. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  719. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  720. package/dist/source/components/feedBack/message/message.jsx +5 -4
  721. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  722. package/dist/source/components/feedBack/modal/modal.jsx +5 -2
  723. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  724. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  725. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  726. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  727. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  728. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  729. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  730. package/dist/source/components/inputs/button/button.jsx +8 -3
  731. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  732. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  733. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  734. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  735. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  736. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  737. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  738. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  739. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  740. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  741. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  742. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  743. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  744. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  745. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  746. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  747. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  748. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  749. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  750. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  751. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  752. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  753. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  754. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  755. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  756. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  757. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  758. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  759. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  760. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  761. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  762. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  763. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  764. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  765. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  766. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  767. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  768. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  769. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  770. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  771. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  772. package/dist/source/components/layout/divider/divider.jsx +6 -5
  773. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  774. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  775. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  776. package/dist/source/components/layout/grid/grid.jsx +20 -8
  777. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  778. package/dist/source/components/layout/page/page.jsx +10 -2
  779. package/dist/source/components/layout/page/page.jsx.map +1 -1
  780. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  781. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  782. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  783. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  784. package/dist/source/components/layout/sheet/sheet.jsx +6 -8
  785. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  786. package/dist/source/components/layout/stack/stack.jsx +15 -11
  787. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  788. package/dist/source/components/navigation/appBar/appBar.jsx +3 -2
  789. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  790. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  791. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  792. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  793. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  794. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  795. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  796. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  797. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  798. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  799. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  800. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  801. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  802. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  803. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  804. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  805. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  806. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  807. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  808. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -1
  809. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  810. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  811. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  812. package/dist/source/components/navigation/tabs/tab/tab.jsx +12 -16
  813. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  814. package/dist/source/components/navigation/tabs/tabs.jsx +34 -10
  815. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  816. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  817. package/dist/source/connects/rt/table/table.jsx +7 -2
  818. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  819. package/dist/source/index.js +3 -0
  820. package/dist/source/index.js.map +2 -2
  821. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  822. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  823. package/dist/source/primitives/createFocusTrap.js +1 -0
  824. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  825. package/dist/source/primitives/createHelperText.js +16 -0
  826. package/dist/source/primitives/createHelperText.js.map +7 -0
  827. package/dist/source/primitives/mergeStyle.js +15 -0
  828. package/dist/source/primitives/mergeStyle.js.map +7 -0
  829. package/dist/source/primitives/overlayLayer.js +10 -2
  830. package/dist/source/primitives/overlayLayer.js.map +2 -2
  831. package/dist/source/utils/controlProps.js +22 -0
  832. package/dist/source/utils/controlProps.js.map +7 -0
  833. package/dist/source/utils/ownClick.js +41 -0
  834. package/dist/source/utils/ownClick.js.map +7 -0
  835. package/dist/utils/controlProps.d.ts +17 -0
  836. package/dist/utils/controlProps.js +20 -0
  837. package/dist/utils/controlProps.js.map +1 -0
  838. package/dist/utils/ownClick.d.ts +16 -0
  839. package/dist/utils/ownClick.js +39 -0
  840. package/dist/utils/ownClick.js.map +1 -0
  841. package/package.json +9 -3
@@ -0,0 +1,488 @@
1
+ import { use as _e, spread as Ne, mergeProps as Re, setAttribute as l, insert as k, createComponent as N, effect as W, setStyleProperty as Q, template as z, className as Ue, style as Fe, delegateEvents as Ge } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/dagView/dagView.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { mergeProps as Pe, splitProps as We, createUniqueId as Te, createMemo as S, untrack as V, createSelector as qe, createSignal as ee, createEffect as te, on as xe, onMount as ke, onCleanup as oe, For as Se, Show as re, DEV as He } from "solid-js";
5
+ import ne from "clsx";
6
+ import { createControllableState as $e } from "../../../primitives/createControllableState.js";
7
+ import { mergeRefs as Ke } from "../../../primitives/mergeRefs.js";
8
+ import { mergeStyle as je } from "../../../primitives/mergeStyle.js";
9
+ import { dagLayout as Ye, dagEdgePath as Xe } from "./dagLayout.js";
10
+ import { createPanZoom as Je, viewportTransform as Qe, centerOn as et, zoomAt as tt, fitBounds as ot, isVisible as rt } from "./panZoom.js";
11
+ var nt = /* @__PURE__ */ z("<span class=smwb-dag-view__dot aria-hidden=true>"), st = /* @__PURE__ */ z("<span class=smwb-dag-view__label>"), it = /* @__PURE__ */ z("<span class=smwb-dag-view__status>"), at = /* @__PURE__ */ z("<div role=option><span hidden>"), dt = /* @__PURE__ */ z("<p class=smwb-dag-view__summary>"), ct = /* @__PURE__ */ z('<div class=smwb-dag-view__controls role=group><button type=button class=smwb-dag-view__control><svg viewBox="0 0 24 24"aria-hidden=true><path d="M12 5v14M5 12h14"></path></svg></button><button type=button class=smwb-dag-view__control><svg viewBox="0 0 24 24"aria-hidden=true><path d="M5 12h14"></path></svg></button><button type=button class=smwb-dag-view__control><svg viewBox="0 0 24 24"aria-hidden=true><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5">'), lt = /* @__PURE__ */ z('<div><div class=smwb-dag-view__world role=listbox><svg class=smwb-dag-view__edges aria-hidden=true><defs><marker viewBox="0 0 10 10"refX=9 refY=5 markerWidth=10 markerHeight=10 markerUnits=userSpaceOnUse orient=auto-start-reverse><path class=smwb-dag-view__arrow d="M0,1 L9,5 L0,9 z"></path></marker><marker viewBox="0 0 10 10"refX=9 refY=5 markerWidth=10 markerHeight=10 markerUnits=userSpaceOnUse orient=auto-start-reverse><path class="smwb-dag-view__arrow smwb-dag-view__arrow--active"d="M0,1 L9,5 L0,9 z"></path></marker></defs><g transform="translate(24 24)">'), ut = /* @__PURE__ */ z("<svg><path></svg>", !1, !0, !1);
12
+ const C = 24, Ae = {
13
+ roleDescription: "dependency graph",
14
+ status: "Status",
15
+ dependsOn: "Depends on",
16
+ requiredBy: "Required by",
17
+ statuses: {
18
+ idle: "Idle",
19
+ pending: "Pending",
20
+ running: "Running",
21
+ success: "Success",
22
+ warning: "Warning",
23
+ error: "Error",
24
+ skipped: "Skipped"
25
+ },
26
+ zoomIn: "Zoom in",
27
+ zoomOut: "Zoom out",
28
+ fitView: "Fit to view",
29
+ controls: "Zoom"
30
+ }, mt = ["label", "status", "accent", "width", "height", "data", "disabled"], gt = 'a[href], button, input, select, textarea, iframe, summary, audio[controls], video[controls], [tabindex], [contenteditable]:not([contenteditable="false"])', ht = (f) => typeof f == "number" ? `${f}px` : f, wt = (f, M) => f.length === M.length && f.every((n, T) => n === M[T]), ft = (f, M) => {
31
+ const n = f?.label;
32
+ return typeof n == "string" || typeof n == "number" ? String(n) : M;
33
+ }, vt = He ? (f) => console.warn(`[smwb] DagView: ${f}`) : void 0;
34
+ function Dt(f) {
35
+ const M = Pe({
36
+ direction: "LR",
37
+ nodeWidth: 180,
38
+ nodeHeight: 56,
39
+ rankGap: 64,
40
+ nodeGap: 24,
41
+ fit: !0,
42
+ minZoom: 0.1,
43
+ maxZoom: 2,
44
+ wheel: "zoom",
45
+ controls: !0
46
+ }, f), [n, T] = We(M, ["class", "style", "label", "summary", "nodes", "edges", "renderNode", "direction", "nodeWidth", "nodeHeight", "rankGap", "nodeGap", "layout", "selectedId", "defaultSelectedId", "onSelectedChange", "onNodeClick", "dimUnrelated", "viewport", "defaultViewport", "onViewportChange", "fit", "minZoom", "maxZoom", "wheel", "controls", "labels", "height", "apiRef", "ref", "data-testid"]), R = Te(), se = `${R}-arrow`, ie = `${R}-arrow-active`, ae = `${R}-summary`;
47
+ let D;
48
+ const B = /* @__PURE__ */ new Map(), x = S(() => ({
49
+ ...Ae,
50
+ ...n.labels,
51
+ statuses: {
52
+ ...Ae.statuses,
53
+ ...n.labels?.statuses
54
+ }
55
+ })), de = (e) => x().statuses[e] ?? e, I = S(() => {
56
+ const e = /* @__PURE__ */ new Map();
57
+ for (const t of n.nodes) e.has(t.id) || e.set(t.id, t);
58
+ return e;
59
+ }), ce = S(() => [...I().keys()], [], {
60
+ equals: wt
61
+ }), ze = S(() => {
62
+ const e = [...I().values()].map((a) => ({
63
+ id: a.id,
64
+ width: a.width ?? n.nodeWidth,
65
+ height: a.height ?? n.nodeHeight
66
+ })), t = n.edges.map((a) => ({
67
+ id: a.id,
68
+ source: a.source,
69
+ target: a.target
70
+ })), o = {
71
+ nodes: e,
72
+ edges: t,
73
+ direction: n.direction,
74
+ rankGap: n.rankGap,
75
+ nodeGap: n.nodeGap,
76
+ warn: vt
77
+ };
78
+ return {
79
+ key: JSON.stringify([n.direction, n.rankGap, n.nodeGap, e.map((a) => [a.id, a.width, a.height]), t.map((a) => [a.id ?? null, a.source, a.target])]),
80
+ input: o
81
+ };
82
+ }, void 0, {
83
+ equals: (e, t) => e.key === t.key
84
+ }), b = S(() => (n.layout ?? Ye)(ze().input)), U = (e) => n.direction === "TB" ? e.x : e.y, y = S(() => {
85
+ const e = b(), t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
86
+ for (const i of e.edges)
87
+ t.has(i.target) || t.set(i.target, []), o.has(i.source) || o.set(i.source, []), t.get(i.target).push(i), o.get(i.source).push(i);
88
+ const c = [...e.nodes.values()].sort((i, g) => i.layer - g.layer || U(i) - U(g)), a = /* @__PURE__ */ new Map();
89
+ for (const i of c)
90
+ a.has(i.layer) || a.set(i.layer, []), a.get(i.layer).push(i);
91
+ return {
92
+ incoming: t,
93
+ outgoing: o,
94
+ ordered: c,
95
+ layers: a
96
+ };
97
+ }), [L, q] = $e({
98
+ value: () => n.selectedId,
99
+ defaultValue: V(() => n.defaultSelectedId) ?? null,
100
+ onChange: (e) => n.onSelectedChange?.(e)
101
+ }), le = qe(L), F = S(() => {
102
+ const e = L(), t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
103
+ if (e === null || !b().nodes.has(e)) return {
104
+ active: !1,
105
+ edges: t,
106
+ nodes: o
107
+ };
108
+ const {
109
+ incoming: c,
110
+ outgoing: a
111
+ } = y();
112
+ for (const i of c.get(e) ?? [])
113
+ t.set(i.id, "upstream"), o.set(i.source, "upstream");
114
+ for (const i of a.get(e) ?? [])
115
+ t.set(i.id, "downstream"), o.set(i.target, "downstream");
116
+ return {
117
+ active: !0,
118
+ edges: t,
119
+ nodes: o
120
+ };
121
+ }), [De, ue] = ee(null), [H, K] = ee(null), G = S(() => {
122
+ const e = b().nodes, t = De();
123
+ if (t !== null && e.has(t)) return t;
124
+ const o = L();
125
+ return o !== null && e.has(o) ? o : y().ordered[0]?.id ?? null;
126
+ }), [$, E] = $e({
127
+ value: () => n.viewport,
128
+ defaultValue: V(() => n.defaultViewport) ?? {
129
+ x: 0,
130
+ y: 0,
131
+ zoom: 1
132
+ },
133
+ onChange: (e) => n.onViewportChange?.(e)
134
+ }), [Me, Be] = ee(!1), Ie = S(() => $().zoom < 0.45), O = () => ({
135
+ width: D?.clientWidth ?? 0,
136
+ height: D?.clientHeight ?? 0
137
+ }), j = () => {
138
+ const {
139
+ width: e,
140
+ height: t
141
+ } = O();
142
+ return e > 0 && t > 0;
143
+ }, Z = () => ({
144
+ width: b().width + C * 2,
145
+ height: b().height + C * 2
146
+ }), me = (e) => {
147
+ const t = b().nodes.get(e);
148
+ return t && {
149
+ x: t.x + C,
150
+ y: t.y + C,
151
+ width: t.width,
152
+ height: t.height
153
+ };
154
+ }, _ = {
155
+ fitView() {
156
+ if (!j()) return;
157
+ const e = Z();
158
+ E(ot({
159
+ x: 0,
160
+ y: 0,
161
+ ...e
162
+ }, O(), 0, n.minZoom, Math.max(n.minZoom, Math.min(1, n.maxZoom))));
163
+ },
164
+ zoomTo(e) {
165
+ _.zoomBy(e / $().zoom);
166
+ },
167
+ zoomBy(e) {
168
+ const {
169
+ width: t,
170
+ height: o
171
+ } = O();
172
+ E(tt($(), {
173
+ x: t / 2,
174
+ y: o / 2
175
+ }, e, n.minZoom, n.maxZoom));
176
+ },
177
+ centerNode(e) {
178
+ const t = me(e);
179
+ t && E(et($(), {
180
+ x: t.x + t.width / 2,
181
+ y: t.y + t.height / 2
182
+ }, O()));
183
+ }
184
+ }, ge = (e) => {
185
+ const t = me(e);
186
+ t && j() && !rt($(), t, O(), 8) && _.centerNode(e);
187
+ };
188
+ let P = !1;
189
+ const Y = () => {
190
+ !P || !j() || (P = !1, _.fitView());
191
+ };
192
+ te(xe(b, () => {
193
+ V(() => n.fit) && (P = !0, Y());
194
+ }, {
195
+ defer: !0
196
+ })), ke(() => {
197
+ const e = Je(D, {
198
+ viewport: $,
199
+ write: E,
200
+ minZoom: () => n.minZoom,
201
+ maxZoom: () => n.maxZoom,
202
+ wheel: () => n.wheel,
203
+ onInteracting: Be
204
+ });
205
+ let t = 0;
206
+ const o = typeof ResizeObserver == "function" ? new ResizeObserver(() => {
207
+ cancelAnimationFrame(t), t = requestAnimationFrame(Y);
208
+ }) : void 0;
209
+ o?.observe(D), oe(() => {
210
+ e(), o?.disconnect(), cancelAnimationFrame(t);
211
+ }), P = n.fit, Y(), n.apiRef?.(_);
212
+ });
213
+ const he = (e, t) => {
214
+ const o = I().get(e);
215
+ !o || o.disabled || (q(e), n.onNodeClick?.(o, t));
216
+ }, X = (e) => {
217
+ e !== void 0 && (ue(e), B.get(e)?.focus({
218
+ preventScroll: !0
219
+ }), ge(e));
220
+ };
221
+ te((e) => {
222
+ const t = ce();
223
+ return e && V(() => {
224
+ const o = new Set(t), c = L();
225
+ c !== null && !o.has(c) && e.includes(c) && q(null);
226
+ const a = H();
227
+ if (a === null || o.has(a)) return;
228
+ K(null);
229
+ const i = D?.ownerDocument, g = G();
230
+ i && (i.activeElement === null || i.activeElement === i.body) && g !== null && B.get(g)?.focus({
231
+ preventScroll: !0
232
+ });
233
+ }), t;
234
+ });
235
+ const J = /* @__PURE__ */ new WeakMap(), we = () => {
236
+ const e = V(G);
237
+ for (const [t, o] of B)
238
+ for (const c of o.querySelectorAll(gt)) {
239
+ J.has(c) || J.set(c, c.getAttribute("tabindex"));
240
+ const a = J.get(c) ?? null, i = t === e ? a : "-1";
241
+ c.getAttribute("tabindex") !== i && (i === null ? c.removeAttribute("tabindex") : c.setAttribute("tabindex", i));
242
+ }
243
+ };
244
+ ke(() => {
245
+ if (!n.renderNode || (te(xe(G, we)), typeof MutationObserver != "function")) return;
246
+ const e = new MutationObserver(we);
247
+ e.observe(D, {
248
+ childList: !0,
249
+ subtree: !0
250
+ }), oe(() => e.disconnect());
251
+ });
252
+ const Ve = (e, t) => {
253
+ const o = n.direction === "TB", c = o ? "ArrowDown" : "ArrowRight", a = o ? "ArrowUp" : "ArrowLeft", i = o ? "ArrowLeft" : "ArrowUp", g = o ? "ArrowRight" : "ArrowDown", v = b().nodes, d = (s) => s.map((h) => v.get(h)).filter((h) => h !== void 0).sort((h, w) => U(h) - U(w))[0]?.id;
254
+ if (t === c) return d((y().outgoing.get(e) ?? []).map((s) => s.target));
255
+ if (t === a) return d((y().incoming.get(e) ?? []).map((s) => s.source));
256
+ const m = v.get(e);
257
+ if (!m) return;
258
+ const r = y().layers.get(m.layer) ?? [], u = r.findIndex((s) => s.id === e);
259
+ if (t === i) return r[u - 1]?.id;
260
+ if (t === g) return r[u + 1]?.id;
261
+ }, Ce = (e) => {
262
+ const t = e.target, o = t.dataset?.dagId;
263
+ if (o === void 0 || !t.classList.contains("smwb-dag-view__node") || e.ctrlKey || e.metaKey || e.altKey) return;
264
+ const c = e.key;
265
+ if (c.startsWith("Arrow") && e.shiftKey) {
266
+ const i = $(), g = c === "ArrowLeft" ? 48 : c === "ArrowRight" ? -48 : 0, v = c === "ArrowUp" ? 48 : c === "ArrowDown" ? -48 : 0;
267
+ E({
268
+ x: i.x + g,
269
+ y: i.y + v,
270
+ zoom: i.zoom
271
+ }), e.preventDefault();
272
+ return;
273
+ }
274
+ if (c.startsWith("Arrow")) {
275
+ e.preventDefault(), X(Ve(o, c));
276
+ return;
277
+ }
278
+ switch (c) {
279
+ case "Home":
280
+ e.preventDefault(), X(y().ordered[0]?.id);
281
+ return;
282
+ case "End":
283
+ e.preventDefault(), X(y().ordered[y().ordered.length - 1]?.id);
284
+ return;
285
+ case "Enter":
286
+ case " ":
287
+ e.preventDefault(), he(o, e);
288
+ return;
289
+ case "Escape":
290
+ if (L() === null) return;
291
+ e.preventDefault(), q(null);
292
+ return;
293
+ case "+":
294
+ case "=":
295
+ e.preventDefault(), _.zoomBy(1.25);
296
+ return;
297
+ case "-":
298
+ case "_":
299
+ e.preventDefault(), _.zoomBy(0.8);
300
+ return;
301
+ case "0":
302
+ e.preventDefault(), _.fitView();
303
+ return;
304
+ }
305
+ }, Le = (e) => [nt(), (() => {
306
+ var t = st();
307
+ return k(t, () => e.label ?? e.id), t;
308
+ })(), N(re, {
309
+ get when() {
310
+ return e.status;
311
+ },
312
+ children: (t) => (() => {
313
+ var o = it();
314
+ return k(o, () => de(t())), o;
315
+ })()
316
+ })], fe = (e) => {
317
+ const t = I().get(e), o = [];
318
+ t?.status && o.push(`${x().status}: ${de(t.status)}.`);
319
+ const c = (g) => g.map((v) => ft(I().get(v), v)).join(", "), a = (y().incoming.get(e) ?? []).map((g) => g.source), i = (y().outgoing.get(e) ?? []).map((g) => g.target);
320
+ return a.length && o.push(`${x().dependsOn}: ${c(a)}.`), i.length && o.push(`${x().requiredBy}: ${c(i)}.`), o.join(" ");
321
+ }, Ee = (e, t) => {
322
+ const o = () => I().get(e), c = {
323
+ id: e
324
+ };
325
+ for (const r of mt) Object.defineProperty(c, r, {
326
+ enumerable: !0,
327
+ get: () => o()?.[r]
328
+ });
329
+ const a = {
330
+ get selected() {
331
+ return le(e);
332
+ },
333
+ get related() {
334
+ return F().nodes.get(e) ?? null;
335
+ },
336
+ get dimmed() {
337
+ const r = F();
338
+ return !!n.dimUnrelated && r.active && !le(e) && !r.nodes.has(e);
339
+ },
340
+ get focused() {
341
+ return H() === e;
342
+ }
343
+ }, i = () => `${R}-node-${t()}`, g = () => {
344
+ const r = b().nodes.get(e), u = r ? {
345
+ left: `${r.x + C}px`,
346
+ top: `${r.y + C}px`,
347
+ width: `${r.width}px`,
348
+ height: `${r.height}px`
349
+ } : {
350
+ display: "none"
351
+ }, s = o()?.accent;
352
+ return s && (u["--smwb-dag-view-node-accent"] = s), u;
353
+ }, v = (r) => {
354
+ if (r.target !== r.currentTarget) return;
355
+ ue(e), K(e);
356
+ let u = !0;
357
+ try {
358
+ u = r.currentTarget.matches(":focus-visible");
359
+ } catch {
360
+ }
361
+ u && ge(e);
362
+ }, d = (r) => {
363
+ r.target === r.currentTarget && H() === e && K(null);
364
+ }, m = V(() => (n.renderNode ?? Le)(c, a));
365
+ return (() => {
366
+ var r = at(), u = r.firstChild;
367
+ return r.addEventListener("blur", d), r.addEventListener("focus", v), r.$$click = (s) => he(e, s), _e((s) => {
368
+ B.set(e, s), oe(() => B.get(e) === s && B.delete(e));
369
+ }, r), l(r, "data-dag-id", e), k(r, m, u), k(u, () => fe(e)), W((s) => {
370
+ var h = ne("smwb-dag-view__node", {
371
+ "smwb-dag-view__node--selected": a.selected,
372
+ "smwb-dag-view__node--upstream": a.related === "upstream",
373
+ "smwb-dag-view__node--downstream": a.related === "downstream",
374
+ "smwb-dag-view__node--dimmed": a.dimmed,
375
+ "smwb-dag-view__node--disabled": !!o()?.disabled
376
+ }), w = o()?.status, p = a.selected ? "true" : "false", A = o()?.disabled ? "true" : void 0, pe = fe(e) ? i() : void 0, be = G() === e ? 0 : -1, Ze = g(), ye = i();
377
+ return h !== s.e && Ue(r, s.e = h), w !== s.t && l(r, "data-status", s.t = w), p !== s.a && l(r, "aria-selected", s.a = p), A !== s.o && l(r, "aria-disabled", s.o = A), pe !== s.i && l(r, "aria-describedby", s.i = pe), be !== s.n && l(r, "tabindex", s.n = be), s.s = Fe(r, Ze, s.s), ye !== s.h && l(u, "id", s.h = ye), s;
378
+ }, {
379
+ e: void 0,
380
+ t: void 0,
381
+ a: void 0,
382
+ o: void 0,
383
+ i: void 0,
384
+ n: void 0,
385
+ s: void 0,
386
+ h: void 0
387
+ }), r;
388
+ })();
389
+ }, Oe = (e) => {
390
+ const t = F(), o = t.edges.get(e.id);
391
+ return ne("smwb-dag-view__edge", {
392
+ "smwb-dag-view__edge--active": o !== void 0,
393
+ "smwb-dag-view__edge--upstream": o === "upstream",
394
+ "smwb-dag-view__edge--downstream": o === "downstream",
395
+ "smwb-dag-view__edge--dimmed": !!n.dimUnrelated && t.active && o === void 0,
396
+ "smwb-dag-view__edge--reversed": e.reversed
397
+ });
398
+ }, ve = () => je(n.style, {
399
+ height: n.height === void 0 ? void 0 : ht(n.height)
400
+ });
401
+ return (() => {
402
+ var e = lt(), t = e.firstChild, o = t.firstChild, c = o.firstChild, a = c.firstChild, i = a.nextSibling, g = c.nextSibling, v = Ke(n.ref, (d) => D = d);
403
+ return typeof v == "function" && _e(v, e), Ne(e, Re({
404
+ get "data-testid"() {
405
+ return n["data-testid"] ?? "dag-view";
406
+ }
407
+ }, T, {
408
+ get class() {
409
+ return ne("smwb-dag-view", n.class);
410
+ }
411
+ }, () => ve() === void 0 ? {} : {
412
+ style: ve()
413
+ }, {
414
+ get "data-direction"() {
415
+ return n.direction;
416
+ },
417
+ get "data-zoom"() {
418
+ return Ie() ? "far" : void 0;
419
+ },
420
+ get "data-interacting"() {
421
+ return Me() ? "" : void 0;
422
+ }
423
+ }), !1, !0), t.$$keydown = Ce, l(a, "id", se), l(i, "id", ie), k(g, N(Se, {
424
+ get each() {
425
+ return b().edges;
426
+ },
427
+ children: (d) => (() => {
428
+ var m = ut();
429
+ return W((r) => {
430
+ var u = Oe(d), s = d.source, h = d.target, w = Xe(d.points, n.direction), p = `url(#${F().edges.has(d.id) ? ie : se})`;
431
+ return u !== r.e && l(m, "class", r.e = u), s !== r.t && l(m, "data-source", r.t = s), h !== r.a && l(m, "data-target", r.a = h), w !== r.o && l(m, "d", r.o = w), p !== r.i && l(m, "marker-end", r.i = p), r;
432
+ }, {
433
+ e: void 0,
434
+ t: void 0,
435
+ a: void 0,
436
+ o: void 0,
437
+ i: void 0
438
+ }), m;
439
+ })()
440
+ })), k(t, N(Se, {
441
+ get each() {
442
+ return ce();
443
+ },
444
+ children: (d, m) => Ee(d, m)
445
+ }), null), k(e, N(re, {
446
+ get when() {
447
+ return n.summary;
448
+ },
449
+ get children() {
450
+ var d = dt();
451
+ return l(d, "id", ae), k(d, () => n.summary), d;
452
+ }
453
+ }), null), k(e, N(re, {
454
+ get when() {
455
+ return n.controls;
456
+ },
457
+ get children() {
458
+ var d = ct(), m = d.firstChild, r = m.nextSibling, u = r.nextSibling;
459
+ return m.$$click = () => _.zoomBy(1.25), r.$$click = () => _.zoomBy(0.8), u.$$click = () => _.fitView(), W((s) => {
460
+ var h = x().controls, w = x().zoomIn, p = x().zoomOut, A = x().fitView;
461
+ return h !== s.e && l(d, "aria-label", s.e = h), w !== s.t && l(m, "title", s.t = w), p !== s.a && l(r, "title", s.a = p), A !== s.o && l(u, "title", s.o = A), s;
462
+ }, {
463
+ e: void 0,
464
+ t: void 0,
465
+ a: void 0,
466
+ o: void 0
467
+ }), d;
468
+ }
469
+ }), null), W((d) => {
470
+ var m = n.label, r = x().roleDescription, u = n.summary ? ae : void 0, s = `${Z().width}px`, h = `${Z().height}px`, w = Qe($()), p = Z().width, A = Z().height;
471
+ return m !== d.e && l(t, "aria-label", d.e = m), r !== d.t && l(t, "aria-roledescription", d.t = r), u !== d.a && l(t, "aria-describedby", d.a = u), s !== d.o && Q(t, "width", d.o = s), h !== d.i && Q(t, "height", d.i = h), w !== d.n && Q(t, "transform", d.n = w), p !== d.s && l(o, "width", d.s = p), A !== d.h && l(o, "height", d.h = A), d;
472
+ }, {
473
+ e: void 0,
474
+ t: void 0,
475
+ a: void 0,
476
+ o: void 0,
477
+ i: void 0,
478
+ n: void 0,
479
+ s: void 0,
480
+ h: void 0
481
+ }), e;
482
+ })();
483
+ }
484
+ Ge(["click", "keydown"]);
485
+ export {
486
+ Dt as DagView
487
+ };
488
+ //# sourceMappingURL=dagView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dagView.js","sources":["../../../../src/components/dataDisplay/dagView/dagView.tsx"],"sourcesContent":["import {\n DEV,\n For,\n type JSX,\n Show,\n createEffect,\n createMemo,\n createSelector,\n createSignal,\n createUniqueId,\n mergeProps,\n on,\n onCleanup,\n onMount,\n splitProps,\n untrack,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { mergeStyle } from \"../../../primitives/mergeStyle\";\nimport {\n type DagDirection,\n type DagLayoutEdge,\n type DagLayoutInput,\n type DagLayoutNode,\n type DagLayoutResult,\n dagEdgePath,\n dagLayout,\n} from \"./dagLayout\";\nimport { type Viewport, centerOn, createPanZoom, fitBounds, isVisible, viewportTransform, zoomAt } from \"./panZoom\";\n\n/** A node's status: a built-in one, coloured by the theme, or any word of the app's, styled by `[data-status]`. */\nexport type DagViewStatus =\n | \"idle\"\n | \"pending\"\n | \"running\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"skipped\"\n | (string & {});\n\nexport interface DagViewNode<T = unknown> {\n /** Unique among the nodes; edges name nodes by it. */\n id: string;\n /** What the default node shows, and its accessible name; the id unless given. */\n label?: JSX.Element;\n /** Colours the node's accent from the theme. */\n status?: DagViewStatus | undefined;\n /** The node's accent colour, over its status colour: any CSS colour. */\n accent?: string | undefined;\n /** The node's width in pixels; `nodeWidth` unless given. */\n width?: number | undefined;\n /** The node's height in pixels; `nodeHeight` unless given. */\n height?: number | undefined;\n /** Anything of the app's, handed back to `renderNode` and `onNodeClick`. */\n data?: T;\n /** Shown, focusable, but not selectable. */\n disabled?: boolean | undefined;\n}\n\nexport interface DagViewEdge {\n /** `source->target` unless given. */\n id?: string | undefined;\n /** The id of the node the edge starts from: the one depended on. */\n source: string;\n /** The id of the node the edge points to: the one that depends on `source`. */\n target: string;\n}\n\n/** A node's state for `renderNode`. Its fields are reactive: read them in JSX or an effect. */\nexport interface DagViewNodeState {\n readonly selected: boolean;\n /** Next to the selected node: \"upstream\" feeds it, \"downstream\" depends on it. */\n readonly related: \"upstream\" | \"downstream\" | null;\n /** Set apart from the selected node and its neighbours, with `dimUnrelated`. */\n readonly dimmed: boolean;\n /** Has keyboard focus. */\n readonly focused: boolean;\n}\n\n/** Where the graph is: moved by x, y (pixels) and scaled by zoom. */\nexport type DagViewViewport = Viewport;\n\n/** Moves the view from outside; handed over by `apiRef` once the graph is in the page. */\nexport interface DagViewApi {\n /** Fits the whole graph in view. */\n fitView(): void;\n /** Zooms to `zoom` around the middle of the view. */\n zoomTo(zoom: number): void;\n /** Zooms by `factor` around the middle of the view. */\n zoomBy(factor: number): void;\n /** Moves the node with this id to the middle of the view. */\n centerNode(id: string): void;\n}\n\n/** Texts for assistive technology and the zoom buttons, English by default. */\nexport interface DagViewLabels {\n /** What the graph is called as a widget: \"dependency graph\". */\n roleDescription: string;\n /** \"Status\", before a node's status word. */\n status: string;\n /** \"Depends on\", before the names of the nodes a node's edges come from. */\n dependsOn: string;\n /** \"Required by\", before the names of the nodes a node's edges go to. */\n requiredBy: string;\n /** Status words, shown on the default nodes and read out: { running: \"Running\", … }. */\n statuses: Record<string, string>;\n zoomIn: string;\n zoomOut: string;\n fitView: string;\n /** The name of the group of zoom buttons. */\n controls: string;\n}\n\nexport interface DagViewProps<T = unknown> extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onClick\"> {\n /** What the graph shows: its accessible name. */\n label: string;\n /** The graph in words, for screen readers; it is there on the server too. */\n summary?: string | undefined;\n /** The nodes. A change of status, label or data alone does not lay the graph out again. */\n nodes: readonly DagViewNode<T>[];\n /** The edges, from the node depended on to the node that depends on it. */\n edges: readonly DagViewEdge[];\n /**\n * Draws a node's content inside its box; the default shows a status dot,\n * the label and the status word. Called once per node: `node` and `state`\n * are reactive, so read their fields in JSX. Keep the content\n * non-interactive where you can: a node is an ARIA option, whose content\n * assistive technology may read as plain text, and a click in it also\n * selects the node. Links and buttons in it are left out of the Tab order\n * except in the node that is the graph's Tab stop.\n */\n renderNode?: ((node: DagViewNode<T>, state: DagViewNodeState) => JSX.Element) | undefined;\n /** Which way the layers run: \"LR\" (left to right, default) or \"TB\" (top to bottom). */\n direction?: DagDirection | undefined;\n /** A node's width in pixels, unless the node sets its own; 180 by default. */\n nodeWidth?: number | undefined;\n /** A node's height in pixels, unless the node sets its own; 56 by default. */\n nodeHeight?: number | undefined;\n /** The space between layers in pixels; 64 by default. */\n rankGap?: number | undefined;\n /** The space between nodes in a layer in pixels; 24 by default. */\n nodeGap?: number | undefined;\n /** Lays the graph out in place of the built-in layout, e.g. with dagre or elk. It must be synchronous. */\n layout?: ((input: DagLayoutInput) => DagLayoutResult) | undefined;\n /** The selected node's id (controlled); null selects nothing. */\n selectedId?: string | null | undefined;\n /** The node selected at first (uncontrolled). */\n defaultSelectedId?: string | null | undefined;\n /** A node was selected (its id) or the selection was cleared (null). */\n onSelectedChange?: ((id: string | null) => void) | undefined;\n /** A node was clicked, or chosen with Enter or Space. Not called for a disabled node. */\n onNodeClick?: ((node: DagViewNode<T>, event: MouseEvent | KeyboardEvent) => void) | undefined;\n /** Fades the nodes and edges that are not next to the selected node. */\n dimUnrelated?: boolean | undefined;\n /** Where the graph is (controlled). */\n viewport?: DagViewViewport | undefined;\n /** Where the graph is at first (uncontrolled); with `fit={false}` the page does not move after it loads. */\n defaultViewport?: DagViewViewport | undefined;\n /** The view moved or zoomed: at most once per frame during a gesture. */\n onViewportChange?: ((viewport: DagViewViewport) => void) | undefined;\n /** Fits the graph in view once it is in the page, and again when its nodes or edges change; true by default. */\n fit?: boolean | undefined;\n /** The smallest zoom; 0.1 by default. */\n minZoom?: number | undefined;\n /** The largest zoom; 2 by default. */\n maxZoom?: number | undefined;\n /** What a plain mouse wheel does: \"zoom\" (default), \"pan\", or \"none\" (the page scrolls). Ctrl+wheel and a trackpad pinch always zoom. */\n wheel?: \"zoom\" | \"pan\" | \"none\" | undefined;\n /** Shows the zoom in, zoom out and fit buttons; true by default. */\n controls?: boolean | undefined;\n /** Texts for assistive technology and the buttons, over the English defaults. */\n labels?: Partial<DagViewLabels> | undefined;\n /**\n * The graph's height: a number of pixels or any CSS length; 480 by default,\n * from the stylesheet, so a height in `style` works too. It fills the width.\n */\n height?: number | string | undefined;\n /** Gets the functions that move the view from outside. */\n apiRef?: ((api: DagViewApi) => void) | undefined;\n /** Test id of the root `<div>`; `dag-view` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** Room around the graph inside its world, in pixels. */\nconst PADDING = 24;\n\nconst DEFAULT_LABELS: DagViewLabels = {\n roleDescription: \"dependency graph\",\n status: \"Status\",\n dependsOn: \"Depends on\",\n requiredBy: \"Required by\",\n statuses: {\n idle: \"Idle\",\n pending: \"Pending\",\n running: \"Running\",\n success: \"Success\",\n warning: \"Warning\",\n error: \"Error\",\n skipped: \"Skipped\",\n },\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n fitView: \"Fit to view\",\n controls: \"Zoom\",\n};\n\nconst NODE_KEYS = [\"label\", \"status\", \"accent\", \"width\", \"height\", \"data\", \"disabled\"] as const;\n\n/** What can take focus inside a node's own content. */\nconst INNER_FOCUSABLE =\n 'a[href], button, input, select, textarea, iframe, summary, audio[controls], video[controls], [tabindex], [contenteditable]:not([contenteditable=\"false\"])';\n\nconst cssLength =(value: number | string): string => (typeof value === \"number\" ? `${value}px` : value);\n\nconst sameList = (a: readonly string[], b: readonly string[]): boolean =>\n a.length === b.length && a.every((value, i) => value === b[i]);\n\n/** A node's name in words, for descriptions: its label when that is text, else its id. */\nconst nameOf = (node: DagViewNode<unknown> | undefined, id: string): string => {\n const label = node?.label;\n return typeof label === \"string\" || typeof label === \"number\" ? String(label) : id;\n};\n\nconst warn = DEV ? (message: string): void => console.warn(`[smwb] DagView: ${message}`) : undefined;\n\n/**\n * A directed graph of dependencies: nodes in layers, left to right or top to\n * bottom, joined by arrows. A node is selected by a click or the keyboard, and\n * the edges into and out of it light up; the view pans and zooms with a mouse,\n * a trackpad, touch or the keyboard.\n */\nexport function DagView<T = unknown>(props: DagViewProps<T>): JSX.Element {\n const merged = mergeProps(\n {\n direction: \"LR\" as DagDirection,\n nodeWidth: 180,\n nodeHeight: 56,\n rankGap: 64,\n nodeGap: 24,\n fit: true,\n minZoom: 0.1,\n maxZoom: 2,\n wheel: \"zoom\" as \"zoom\" | \"pan\" | \"none\",\n controls: true,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"style\",\n \"label\",\n \"summary\",\n \"nodes\",\n \"edges\",\n \"renderNode\",\n \"direction\",\n \"nodeWidth\",\n \"nodeHeight\",\n \"rankGap\",\n \"nodeGap\",\n \"layout\",\n \"selectedId\",\n \"defaultSelectedId\",\n \"onSelectedChange\",\n \"onNodeClick\",\n \"dimUnrelated\",\n \"viewport\",\n \"defaultViewport\",\n \"onViewportChange\",\n \"fit\",\n \"minZoom\",\n \"maxZoom\",\n \"wheel\",\n \"controls\",\n \"labels\",\n \"height\",\n \"apiRef\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const uid = createUniqueId();\n const arrowId = `${uid}-arrow`;\n const activeArrowId = `${uid}-arrow-active`;\n const summaryId = `${uid}-summary`;\n let root!: HTMLDivElement;\n const elements = new Map<string, HTMLElement>();\n\n const labels = createMemo(\n (): DagViewLabels => ({\n ...DEFAULT_LABELS,\n ...local.labels,\n statuses: { ...DEFAULT_LABELS.statuses, ...local.labels?.statuses },\n })\n );\n const statusWord = (status: string): string => labels().statuses[status] ?? status;\n\n // ---- Nodes and layout ----\n\n const byId = createMemo(() => {\n const map = new Map<string, DagViewNode<T>>();\n for (const node of local.nodes) if (!map.has(node.id)) map.set(node.id, node);\n return map;\n });\n // Nodes are drawn by id, so content stays mounted when the app replaces a\n // node object to change its status.\n const ids = createMemo(() => [...byId().keys()], [], { equals: sameList });\n\n // The layout depends only on the graph's shape; a status change leaves it be.\n const structure = createMemo(\n () => {\n const nodes = [...byId().values()].map((node) => ({\n id: node.id,\n width: node.width ?? local.nodeWidth,\n height: node.height ?? local.nodeHeight,\n }));\n const edges = local.edges.map((edge) => ({ id: edge.id, source: edge.source, target: edge.target }));\n const input: DagLayoutInput = {\n nodes,\n edges,\n direction: local.direction,\n rankGap: local.rankGap,\n nodeGap: local.nodeGap,\n warn,\n };\n const key = JSON.stringify([\n local.direction,\n local.rankGap,\n local.nodeGap,\n nodes.map((n) => [n.id, n.width, n.height]),\n edges.map((e) => [e.id ?? null, e.source, e.target]),\n ]);\n return { key, input };\n },\n undefined,\n { equals: (a, b) => a.key === b.key }\n );\n const layout = createMemo(() => (local.layout ?? dagLayout)(structure().input));\n\n // The flow of a layer runs along x in LR and along y in TB; across it is the other one.\n const across = (node: DagLayoutNode): number => (local.direction === \"TB\" ? node.x : node.y);\n\n const graph = createMemo(() => {\n const result = layout();\n const incoming = new Map<string, DagLayoutEdge[]>();\n const outgoing = new Map<string, DagLayoutEdge[]>();\n for (const edge of result.edges) {\n if (!incoming.has(edge.target)) incoming.set(edge.target, []);\n if (!outgoing.has(edge.source)) outgoing.set(edge.source, []);\n incoming.get(edge.target)!.push(edge);\n outgoing.get(edge.source)!.push(edge);\n }\n const ordered = [...result.nodes.values()].sort((a, b) => a.layer - b.layer || across(a) - across(b));\n const layers = new Map<number, DagLayoutNode[]>();\n for (const node of ordered) {\n if (!layers.has(node.layer)) layers.set(node.layer, []);\n layers.get(node.layer)!.push(node);\n }\n return { incoming, outgoing, ordered, layers };\n });\n\n // ---- Selection ----\n\n const [selected, setSelected] = createControllableState<string | null>({\n value: () => local.selectedId,\n defaultValue: untrack(() => local.defaultSelectedId) ?? null,\n onChange: (id) => local.onSelectedChange?.(id),\n });\n const isSelected = createSelector(selected);\n\n const relations = createMemo(() => {\n const id = selected();\n const edges = new Map<string, \"upstream\" | \"downstream\">();\n const nodes = new Map<string, \"upstream\" | \"downstream\">();\n if (id === null || !layout().nodes.has(id)) return { active: false, edges, nodes };\n const { incoming, outgoing } = graph();\n for (const edge of incoming.get(id) ?? []) {\n edges.set(edge.id, \"upstream\");\n nodes.set(edge.source, \"upstream\");\n }\n for (const edge of outgoing.get(id) ?? []) {\n edges.set(edge.id, \"downstream\");\n nodes.set(edge.target, \"downstream\");\n }\n return { active: true, edges, nodes };\n });\n\n // ---- Focus: one tab stop, on the last focused node, else the selected one, else the first ----\n\n const [active, setActive] = createSignal<string | null>(null);\n const [focused, setFocused] = createSignal<string | null>(null);\n const tabStop = createMemo(() => {\n const nodes = layout().nodes;\n const last = active();\n if (last !== null && nodes.has(last)) return last;\n const chosen = selected();\n if (chosen !== null && nodes.has(chosen)) return chosen;\n return graph().ordered[0]?.id ?? null;\n });\n\n // ---- Viewport ----\n\n const [viewport, setViewport] = createControllableState<Viewport>({\n value: () => local.viewport,\n defaultValue: untrack(() => local.defaultViewport) ?? { x: 0, y: 0, zoom: 1 },\n onChange: (next) => local.onViewportChange?.(next),\n });\n const [interacting, setInteracting] = createSignal(false);\n const far = createMemo(() => viewport().zoom < 0.45);\n\n const size = (): { width: number; height: number } => ({\n width: root?.clientWidth ?? 0,\n height: root?.clientHeight ?? 0,\n });\n const hasSize = (): boolean => {\n const { width, height } = size();\n return width > 0 && height > 0;\n };\n const worldSize = (): { width: number; height: number } => ({\n width: layout().width + PADDING * 2,\n height: layout().height + PADDING * 2,\n });\n const nodeRect = (id: string): { x: number; y: number; width: number; height: number } | undefined => {\n const box = layout().nodes.get(id);\n return box && { x: box.x + PADDING, y: box.y + PADDING, width: box.width, height: box.height };\n };\n\n const api: DagViewApi = {\n fitView() {\n if (!hasSize()) return;\n const world = worldSize();\n setViewport(\n fitBounds(\n { x: 0, y: 0, ...world },\n size(),\n 0,\n local.minZoom,\n Math.max(local.minZoom, Math.min(1, local.maxZoom))\n )\n );\n },\n zoomTo(zoom) {\n api.zoomBy(zoom / viewport().zoom);\n },\n zoomBy(factor) {\n const { width, height } = size();\n setViewport(zoomAt(viewport(), { x: width / 2, y: height / 2 }, factor, local.minZoom, local.maxZoom));\n },\n centerNode(id) {\n const rect = nodeRect(id);\n if (!rect) return;\n setViewport(centerOn(viewport(), { x: rect.x + rect.width / 2, y: rect.y + rect.height / 2 }, size()));\n },\n };\n\n const ensureVisible = (id: string): void => {\n const rect = nodeRect(id);\n if (rect && hasSize() && !isVisible(viewport(), rect, size(), 8)) api.centerNode(id);\n };\n\n // Fit once the graph has a size, and again when its shape changes. At zero\n // size (a hidden tab) the fit waits for the first resize that gives one.\n let fitPending = false;\n const tryFit = (): void => {\n if (!fitPending || !hasSize()) return;\n fitPending = false;\n api.fitView();\n };\n createEffect(\n on(\n layout,\n () => {\n if (!untrack(() => local.fit)) return;\n fitPending = true;\n tryFit();\n },\n { defer: true }\n )\n );\n\n onMount(() => {\n const dispose = createPanZoom(root, {\n viewport,\n write: setViewport,\n minZoom: () => local.minZoom,\n maxZoom: () => local.maxZoom,\n wheel: () => local.wheel,\n onInteracting: setInteracting,\n });\n let frame = 0;\n const resizeObserver =\n typeof ResizeObserver === \"function\"\n ? new ResizeObserver(() => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(tryFit);\n })\n : undefined;\n resizeObserver?.observe(root);\n onCleanup(() => {\n dispose();\n resizeObserver?.disconnect();\n cancelAnimationFrame(frame);\n });\n fitPending = local.fit;\n tryFit();\n local.apiRef?.(api);\n });\n\n // ---- Interaction ----\n\n const choose = (id: string, event: MouseEvent | KeyboardEvent): void => {\n const node = byId().get(id);\n if (!node || node.disabled) return;\n setSelected(id);\n local.onNodeClick?.(node, event);\n };\n\n const focusNode = (id: string | undefined): void => {\n if (id === undefined) return;\n setActive(id);\n elements.get(id)?.focus({ preventScroll: true });\n ensureVisible(id);\n };\n\n // A node that goes away takes its selection with it, and focus moves to the\n // Tab stop rather than dropping to the page. Only a node that was there\n // counts: a selection given before its node loads is kept.\n createEffect<readonly string[] | undefined>((before) => {\n const now = ids();\n if (before) {\n untrack(() => {\n const present = new Set(now);\n const chosen = selected();\n if (chosen !== null && !present.has(chosen) && before.includes(chosen)) setSelected(null);\n const had = focused();\n if (had === null || present.has(had)) return;\n setFocused(null);\n const doc = root?.ownerDocument;\n const stop = tabStop();\n if (doc && (doc.activeElement === null || doc.activeElement === doc.body) && stop !== null)\n elements.get(stop)?.focus({ preventScroll: true });\n });\n }\n return now;\n });\n\n // One Tab stop: focusables in `renderNode` content (a link, a button) are\n // taken out of the Tab order, except in the node that is the Tab stop. Their\n // own tabindex comes back when their node becomes it.\n const ownTabIndex = new WeakMap<Element, string | null>();\n const syncInnerTabStops = (): void => {\n const stop = untrack(tabStop);\n for (const [id, el] of elements) {\n for (const inner of el.querySelectorAll(INNER_FOCUSABLE)) {\n if (!ownTabIndex.has(inner)) ownTabIndex.set(inner, inner.getAttribute(\"tabindex\"));\n const own = ownTabIndex.get(inner) ?? null;\n const next = id === stop ? own : \"-1\";\n if (inner.getAttribute(\"tabindex\") === next) continue;\n if (next === null) inner.removeAttribute(\"tabindex\");\n else inner.setAttribute(\"tabindex\", next);\n }\n }\n };\n onMount(() => {\n if (!local.renderNode) return;\n createEffect(on(tabStop, syncInnerTabStops));\n if (typeof MutationObserver !== \"function\") return;\n // Content that changes later (a link that shows up with a status) is caught too.\n const observer = new MutationObserver(syncInnerTabStops);\n observer.observe(root, { childList: true, subtree: true });\n onCleanup(() => observer.disconnect());\n });\n\n /** The node an arrow key leads to from `id`: along the edges, or to a neighbour in the layer. */\n const neighbour = (id: string, key: string): string | undefined => {\n const tb = local.direction === \"TB\";\n const forward = tb ? \"ArrowDown\" : \"ArrowRight\";\n const back = tb ? \"ArrowUp\" : \"ArrowLeft\";\n const before = tb ? \"ArrowLeft\" : \"ArrowUp\";\n const after = tb ? \"ArrowRight\" : \"ArrowDown\";\n const nodes = layout().nodes;\n const first = (list: string[]): string | undefined =>\n list\n .map((other) => nodes.get(other))\n .filter((node): node is DagLayoutNode => node !== undefined)\n .sort((a, b) => across(a) - across(b))[0]?.id;\n if (key === forward) return first((graph().outgoing.get(id) ?? []).map((e) => e.target));\n if (key === back) return first((graph().incoming.get(id) ?? []).map((e) => e.source));\n const self = nodes.get(id);\n if (!self) return undefined;\n const layer = graph().layers.get(self.layer) ?? [];\n const index = layer.findIndex((node) => node.id === id);\n if (key === before) return layer[index - 1]?.id;\n if (key === after) return layer[index + 1]?.id;\n return undefined;\n };\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const target = event.target as HTMLElement;\n const id = target.dataset?.[\"dagId\"];\n // Keys pressed in a node's own content (a link, a field) are its own.\n if (id === undefined || !target.classList.contains(\"smwb-dag-view__node\")) return;\n // Ctrl, Cmd and Alt shortcuts are the browser's: page zoom, history, tabs.\n if (event.ctrlKey || event.metaKey || event.altKey) return;\n const key = event.key;\n if (key.startsWith(\"Arrow\") && event.shiftKey) {\n const step = 48;\n const v = viewport();\n const dx = key === \"ArrowLeft\" ? step : key === \"ArrowRight\" ? -step : 0;\n const dy = key === \"ArrowUp\" ? step : key === \"ArrowDown\" ? -step : 0;\n setViewport({ x: v.x + dx, y: v.y + dy, zoom: v.zoom });\n event.preventDefault();\n return;\n }\n if (key.startsWith(\"Arrow\")) {\n event.preventDefault();\n focusNode(neighbour(id, key));\n return;\n }\n switch (key) {\n case \"Home\":\n event.preventDefault();\n focusNode(graph().ordered[0]?.id);\n return;\n case \"End\":\n event.preventDefault();\n focusNode(graph().ordered[graph().ordered.length - 1]?.id);\n return;\n case \"Enter\":\n case \" \":\n event.preventDefault();\n choose(id, event);\n return;\n case \"Escape\":\n // Handled only when there was a selection, so an enclosing dialog still gets it otherwise.\n if (selected() === null) return;\n event.preventDefault();\n setSelected(null);\n return;\n case \"+\":\n case \"=\":\n event.preventDefault();\n api.zoomBy(1.25);\n return;\n case \"-\":\n case \"_\":\n event.preventDefault();\n api.zoomBy(0.8);\n return;\n case \"0\":\n event.preventDefault();\n api.fitView();\n return;\n }\n };\n\n const defaultRender = (node: DagViewNode<T>): JSX.Element => (\n <>\n <span class=\"smwb-dag-view__dot\" aria-hidden=\"true\" />\n <span class=\"smwb-dag-view__label\">{node.label ?? node.id}</span>\n <Show when={node.status}>{(status) => <span class=\"smwb-dag-view__status\">{statusWord(status())}</span>}</Show>\n </>\n );\n\n const description = (id: string): string => {\n const node = byId().get(id);\n const parts: string[] = [];\n if (node?.status) parts.push(`${labels().status}: ${statusWord(node.status)}.`);\n const names = (list: string[]): string => list.map((other) => nameOf(byId().get(other), other)).join(\", \");\n const from = (graph().incoming.get(id) ?? []).map((e) => e.source);\n const to = (graph().outgoing.get(id) ?? []).map((e) => e.target);\n if (from.length) parts.push(`${labels().dependsOn}: ${names(from)}.`);\n if (to.length) parts.push(`${labels().requiredBy}: ${names(to)}.`);\n return parts.join(\" \");\n };\n\n const renderNodeFor = (id: string, index: () => number): JSX.Element => {\n const node = (): DagViewNode<T> | undefined => byId().get(id);\n // The node as `renderNode` sees it: its fields read the app's latest object.\n const view = { id } as DagViewNode<T>;\n for (const key of NODE_KEYS) Object.defineProperty(view, key, { enumerable: true, get: () => node()?.[key] });\n const state: DagViewNodeState = {\n get selected() {\n return isSelected(id);\n },\n get related() {\n return relations().nodes.get(id) ?? null;\n },\n get dimmed() {\n const r = relations();\n return Boolean(local.dimUnrelated) && r.active && !isSelected(id) && !r.nodes.has(id);\n },\n get focused() {\n return focused() === id;\n },\n };\n const descriptionId = (): string => `${uid}-node-${index()}`;\n const style = (): JSX.CSSProperties => {\n const box = layout().nodes.get(id);\n const css: JSX.CSSProperties = box\n ? {\n left: `${box.x + PADDING}px`,\n top: `${box.y + PADDING}px`,\n width: `${box.width}px`,\n height: `${box.height}px`,\n }\n : { display: \"none\" };\n const accent = node()?.accent;\n if (accent) css[\"--smwb-dag-view-node-accent\"] = accent;\n return css;\n };\n const onFocus = (event: FocusEvent): void => {\n if (event.target !== event.currentTarget) return;\n setActive(id);\n setFocused(id);\n let keyboard = true;\n try {\n keyboard = (event.currentTarget as HTMLElement).matches(\":focus-visible\");\n } catch {\n // An engine without :focus-visible: treat it as the keyboard.\n }\n if (keyboard) ensureVisible(id);\n };\n const onBlur = (event: FocusEvent): void => {\n if (event.target === event.currentTarget && focused() === id) setFocused(null);\n };\n const content = untrack(() => (local.renderNode ?? defaultRender)(view, state));\n return (\n <div\n role=\"option\"\n data-dag-id={id}\n ref={(el) => {\n elements.set(id, el);\n onCleanup(() => elements.get(id) === el && elements.delete(id));\n }}\n class={cn(\"smwb-dag-view__node\", {\n \"smwb-dag-view__node--selected\": state.selected,\n \"smwb-dag-view__node--upstream\": state.related === \"upstream\",\n \"smwb-dag-view__node--downstream\": state.related === \"downstream\",\n \"smwb-dag-view__node--dimmed\": state.dimmed,\n \"smwb-dag-view__node--disabled\": Boolean(node()?.disabled),\n })}\n data-status={node()?.status}\n aria-selected={state.selected ? \"true\" : \"false\"}\n aria-disabled={node()?.disabled ? \"true\" : undefined}\n aria-describedby={description(id) ? descriptionId() : undefined}\n tabIndex={tabStop() === id ? 0 : -1}\n style={style()}\n onClick={(event) => choose(id, event)}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {content}\n <span id={descriptionId()} hidden>\n {description(id)}\n </span>\n </div>\n );\n };\n\n const edgeClass = (edge: DagLayoutEdge): string => {\n const r = relations();\n const relation = r.edges.get(edge.id);\n return cn(\"smwb-dag-view__edge\", {\n \"smwb-dag-view__edge--active\": relation !== undefined,\n \"smwb-dag-view__edge--upstream\": relation === \"upstream\",\n \"smwb-dag-view__edge--downstream\": relation === \"downstream\",\n \"smwb-dag-view__edge--dimmed\": Boolean(local.dimUnrelated) && r.active && relation === undefined,\n \"smwb-dag-view__edge--reversed\": edge.reversed,\n });\n };\n\n // The default height is the stylesheet's, so a height in the caller's style is not overridden.\n const rootStyle = (): JSX.CSSProperties | string | undefined =>\n mergeStyle(local.style, { height: local.height === undefined ? undefined : cssLength(local.height) });\n\n return (\n <div\n data-testid={local[\"data-testid\"] ?? \"dag-view\"}\n {...rest}\n ref={mergeRefs(local.ref, (el) => (root = el))}\n class={cn(\"smwb-dag-view\", local.class)}\n // Only when there is one: the server would print an empty style=\"\".\n {...(rootStyle() === undefined ? {} : { style: rootStyle() })}\n data-direction={local.direction}\n data-zoom={far() ? \"far\" : undefined}\n data-interacting={interacting() ? \"\" : undefined}\n >\n <div\n class=\"smwb-dag-view__world\"\n role=\"listbox\"\n aria-label={local.label}\n aria-roledescription={labels().roleDescription}\n aria-describedby={local.summary ? summaryId : undefined}\n style={{\n width: `${worldSize().width}px`,\n height: `${worldSize().height}px`,\n transform: viewportTransform(viewport()),\n }}\n onKeyDown={onKeyDown}\n >\n <svg class=\"smwb-dag-view__edges\" width={worldSize().width} height={worldSize().height} aria-hidden=\"true\">\n <defs>\n <marker\n id={arrowId}\n viewBox=\"0 0 10 10\"\n refX=\"9\"\n refY=\"5\"\n markerWidth=\"10\"\n markerHeight=\"10\"\n markerUnits=\"userSpaceOnUse\"\n orient=\"auto-start-reverse\"\n >\n <path class=\"smwb-dag-view__arrow\" d=\"M0,1 L9,5 L0,9 z\" />\n </marker>\n <marker\n id={activeArrowId}\n viewBox=\"0 0 10 10\"\n refX=\"9\"\n refY=\"5\"\n markerWidth=\"10\"\n markerHeight=\"10\"\n markerUnits=\"userSpaceOnUse\"\n orient=\"auto-start-reverse\"\n >\n <path class=\"smwb-dag-view__arrow smwb-dag-view__arrow--active\" d=\"M0,1 L9,5 L0,9 z\" />\n </marker>\n </defs>\n <g transform={`translate(${PADDING} ${PADDING})`}>\n <For each={layout().edges}>\n {(edge) => (\n <path\n class={edgeClass(edge)}\n data-source={edge.source}\n data-target={edge.target}\n d={dagEdgePath(edge.points, local.direction)}\n marker-end={`url(#${relations().edges.has(edge.id) ? activeArrowId : arrowId})`}\n />\n )}\n </For>\n </g>\n </svg>\n <For each={ids()}>{(id, index) => renderNodeFor(id, index)}</For>\n </div>\n <Show when={local.summary}>\n <p id={summaryId} class=\"smwb-dag-view__summary\">\n {local.summary}\n </p>\n </Show>\n <Show when={local.controls}>\n <div class=\"smwb-dag-view__controls\" role=\"group\" aria-label={labels().controls}>\n <button\n type=\"button\"\n class=\"smwb-dag-view__control\"\n title={labels().zoomIn}\n onClick={() => api.zoomBy(1.25)}\n >\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M12 5v14M5 12h14\" />\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"smwb-dag-view__control\"\n title={labels().zoomOut}\n onClick={() => api.zoomBy(0.8)}\n >\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M5 12h14\" />\n </svg>\n </button>\n <button\n type=\"button\"\n class=\"smwb-dag-view__control\"\n title={labels().fitView}\n onClick={() => api.fitView()}\n >\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\" />\n </svg>\n </button>\n </div>\n </Show>\n </div>\n );\n}\n\nexport default DagView;\n"],"names":["PADDING","DEFAULT_LABELS","roleDescription","status","dependsOn","requiredBy","statuses","idle","pending","running","success","warning","error","skipped","zoomIn","zoomOut","fitView","controls","NODE_KEYS","INNER_FOCUSABLE","cssLength","value","sameList","a","b","length","every","i","nameOf","node","id","label","String","warn","DEV","message","console","undefined","DagView","props","merged","mergeProps","direction","nodeWidth","nodeHeight","rankGap","nodeGap","fit","minZoom","maxZoom","wheel","local","rest","splitProps","uid","createUniqueId","arrowId","activeArrowId","summaryId","root","elements","Map","labels","createMemo","statusWord","byId","map","nodes","has","set","ids","keys","equals","structure","values","width","height","edges","edge","source","target","input","key","JSON","stringify","n","e","layout","dagLayout","across","x","y","graph","result","incoming","outgoing","get","push","ordered","sort","layer","layers","selected","setSelected","createControllableState","selectedId","defaultValue","untrack","defaultSelectedId","onChange","onSelectedChange","isSelected","createSelector","relations","active","setActive","createSignal","focused","setFocused","tabStop","last","chosen","viewport","setViewport","defaultViewport","zoom","next","onViewportChange","interacting","setInteracting","far","size","clientWidth","clientHeight","hasSize","worldSize","nodeRect","box","api","world","fitBounds","Math","max","min","zoomTo","zoomBy","factor","zoomAt","centerNode","rect","centerOn","ensureVisible","isVisible","fitPending","tryFit","createEffect","on","defer","onMount","dispose","createPanZoom","write","onInteracting","frame","resizeObserver","ResizeObserver","cancelAnimationFrame","requestAnimationFrame","observe","onCleanup","disconnect","apiRef","choose","event","disabled","onNodeClick","focusNode","focus","preventScroll","before","now","present","Set","includes","had","doc","ownerDocument","stop","activeElement","body","ownTabIndex","WeakMap","syncInnerTabStops","el","inner","querySelectorAll","getAttribute","own","removeAttribute","setAttribute","renderNode","MutationObserver","observer","childList","subtree","neighbour","tb","forward","back","after","first","list","other","filter","self","index","findIndex","onKeyDown","dataset","classList","contains","ctrlKey","metaKey","altKey","startsWith","shiftKey","v","dx","step","dy","preventDefault","defaultRender","_tmpl$","_el$2","_tmpl$2","_$insert","_$createComponent","Show","when","children","_el$3","_tmpl$3","description","parts","names","join","from","to","renderNodeFor","view","Object","defineProperty","enumerable","state","related","dimmed","r","Boolean","dimUnrelated","descriptionId","style","css","left","top","display","accent","onFocus","currentTarget","keyboard","matches","onBlur","content","_el$4","_tmpl$4","_el$5","firstChild","addEventListener","$$click","_$use","delete","_$setAttribute","_$effect","_p$","_v$","cn","_v$2","_v$3","_v$4","_v$5","_v$6","_v$7","_v$8","_$className","t","o","s","_$style","h","edgeClass","relation","reversed","rootStyle","mergeStyle","_el$6","_tmpl$7","_el$7","_el$8","_el$9","_el$0","_el$1","nextSibling","_el$10","_ref$","mergeRefs","ref","_$spread","_$mergeProps","class","$$keydown","For","each","_el$16","_tmpl$8","_v$19","_v$20","_v$21","_v$22","dagEdgePath","points","_v$23","summary","_el$11","_tmpl$5","_el$12","_tmpl$6","_el$13","_el$14","_el$15","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","viewportTransform","_v$17","_v$18","_$setStyleProperty","_$delegateEvents"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { DagView, default } from "./dagView";
2
+ export type { DagViewProps, DagViewNode, DagViewEdge, DagViewStatus, DagViewViewport, DagViewApi, DagViewNodeState, DagViewLabels, } from "./dagView";
3
+ export { dagLayout, dagEdgePath, dagEdgeId } from "./dagLayout";
4
+ export type { DagDirection, DagLayoutInput, DagLayoutInputNode, DagLayoutInputEdge, DagLayoutResult, DagLayoutNode, DagLayoutEdge, DagPoint, } from "./dagLayout";