@smwb/ui-solid 0.12.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1137) hide show
  1. package/README.md +638 -0
  2. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  4. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  5. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  6. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  7. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  8. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  9. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  10. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  11. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  12. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  13. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  14. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  15. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  16. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  17. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  18. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  19. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  20. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  21. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  22. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  23. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  24. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  25. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  26. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  27. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  28. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  29. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  30. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  31. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  32. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  33. package/dist/assets/styles/less/tokens.entry.css +1 -1
  34. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  35. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  36. package/dist/components/base/icon/icon.d.ts +6 -2
  37. package/dist/components/base/icon/icon.js +41 -41
  38. package/dist/components/base/icon/icon.js.map +1 -1
  39. package/dist/components/base/ripple/ripple.d.ts +3 -0
  40. package/dist/components/base/ripple/ripple.js +46 -34
  41. package/dist/components/base/ripple/ripple.js.map +1 -1
  42. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  43. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  44. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  45. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  46. package/dist/components/dataDisplay/card/card.js +47 -34
  47. package/dist/components/dataDisplay/card/card.js.map +1 -1
  48. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  49. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  50. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  51. package/dist/components/dataDisplay/chat/chat.d.ts +42 -0
  52. package/dist/components/dataDisplay/chat/chat.js +116 -57
  53. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  54. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  55. package/dist/components/dataDisplay/chat/chatComposer.js +21 -19
  56. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  57. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  58. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  60. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  61. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  63. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  64. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  66. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  67. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  68. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  69. package/dist/components/dataDisplay/chip/chip.js +104 -63
  70. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  71. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  72. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  73. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  74. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  75. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  76. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  77. package/dist/components/dataDisplay/dagView/dagView.js +503 -0
  78. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  79. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  80. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  81. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  82. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  83. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  84. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  85. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  86. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +55 -0
  87. package/dist/components/dataDisplay/diffStat/diffStat.js +70 -0
  88. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  89. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  90. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  91. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  92. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  93. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  94. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  95. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  96. package/dist/components/dataDisplay/kbd/kbd.d.ts +41 -0
  97. package/dist/components/dataDisplay/kbd/kbd.js +47 -0
  98. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  99. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  100. package/dist/components/dataDisplay/kbd/kbdKeys.js +70 -0
  101. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  102. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  103. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  104. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  105. package/dist/components/dataDisplay/list/list.js +16 -12
  106. package/dist/components/dataDisplay/list/list.js.map +1 -1
  107. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  108. package/dist/components/dataDisplay/list/listItem.js +58 -19
  109. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  110. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  111. package/dist/components/dataDisplay/meter/meter.js +15 -13
  112. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  113. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  114. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  115. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  116. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  117. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +30 -0
  118. package/dist/components/dataDisplay/qrCode/qrCode.js +88 -0
  119. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  120. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  121. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  122. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  123. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  124. package/dist/components/dataDisplay/stat/stat.js +41 -43
  125. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  126. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  127. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  128. package/dist/components/dataDisplay/statusDot/statusDot.js +31 -0
  129. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  130. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  131. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +75 -0
  132. package/dist/components/dataDisplay/swimlanes/swimlanes.js +361 -0
  133. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  134. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  135. package/dist/components/dataDisplay/table/table.js +46 -22
  136. package/dist/components/dataDisplay/table/table.js.map +1 -1
  137. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  138. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  139. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  140. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  141. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  143. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  144. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  145. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  146. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  147. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  154. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  155. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  156. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  157. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  158. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  159. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  160. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  161. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  162. package/dist/components/dataDisplay/treeView/treeView.d.ts +22 -0
  163. package/dist/components/dataDisplay/treeView/treeView.js +164 -96
  164. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  165. package/dist/components/dataDisplay/typography/typography.js +22 -26
  166. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  167. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  168. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  169. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  170. package/dist/components/feedBack/message/message.d.ts +2 -0
  171. package/dist/components/feedBack/message/message.js +17 -13
  172. package/dist/components/feedBack/message/message.js.map +1 -1
  173. package/dist/components/feedBack/modal/modal.d.ts +9 -0
  174. package/dist/components/feedBack/modal/modal.js +71 -53
  175. package/dist/components/feedBack/modal/modal.js.map +1 -1
  176. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  177. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  178. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  179. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  180. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  181. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  182. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  183. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  184. package/dist/components/inputs/button/button.d.ts +14 -0
  185. package/dist/components/inputs/button/button.js +71 -36
  186. package/dist/components/inputs/button/button.js.map +1 -1
  187. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  188. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  189. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  190. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  191. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  192. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  193. package/dist/components/inputs/composer/composer.d.ts +148 -0
  194. package/dist/components/inputs/composer/composer.js +276 -0
  195. package/dist/components/inputs/composer/composer.js.map +1 -0
  196. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  197. package/dist/components/inputs/composer/composerFiles.js +18 -0
  198. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  199. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  200. package/dist/components/inputs/composer/composerKeys.js +7 -0
  201. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  202. package/dist/components/inputs/composer/index.d.ts +3 -0
  203. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  204. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  205. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  206. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  207. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  208. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  209. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  210. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  211. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  212. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  213. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  214. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  215. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  216. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  217. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  218. package/dist/components/inputs/rating/rating.d.ts +9 -0
  219. package/dist/components/inputs/rating/rating.js +74 -53
  220. package/dist/components/inputs/rating/rating.js.map +1 -1
  221. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  222. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  223. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  224. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  225. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  226. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  227. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  228. package/dist/components/inputs/selectField/selectField.js +297 -126
  229. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  230. package/dist/components/inputs/slider/slider.d.ts +25 -3
  231. package/dist/components/inputs/slider/slider.js +320 -197
  232. package/dist/components/inputs/slider/slider.js.map +1 -1
  233. package/dist/components/inputs/textField/textField.d.ts +9 -1
  234. package/dist/components/inputs/textField/textField.js +104 -51
  235. package/dist/components/inputs/textField/textField.js.map +1 -1
  236. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  237. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  238. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  239. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  240. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  241. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  242. package/dist/components/inputs/toggle/toggle.js +43 -31
  243. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  244. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  245. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  246. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  247. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  248. package/dist/components/layout/appLayout/appLayout.js +32 -30
  249. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  250. package/dist/components/layout/divider/divider.d.ts +2 -0
  251. package/dist/components/layout/divider/divider.js +22 -20
  252. package/dist/components/layout/divider/divider.js.map +1 -1
  253. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  254. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  255. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  256. package/dist/components/layout/grid/grid.d.ts +8 -0
  257. package/dist/components/layout/grid/grid.js +52 -44
  258. package/dist/components/layout/grid/grid.js.map +1 -1
  259. package/dist/components/layout/page/page.d.ts +2 -0
  260. package/dist/components/layout/page/page.js +14 -12
  261. package/dist/components/layout/page/page.js.map +1 -1
  262. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  263. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  264. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  265. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  266. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  267. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  268. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  269. package/dist/components/layout/sheet/sheet.js +92 -76
  270. package/dist/components/layout/sheet/sheet.js.map +1 -1
  271. package/dist/components/layout/stack/stack.d.ts +2 -0
  272. package/dist/components/layout/stack/stack.js +26 -24
  273. package/dist/components/layout/stack/stack.js.map +1 -1
  274. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  275. package/dist/components/layout/tabGroups/tabGroups.d.ts +102 -0
  276. package/dist/components/layout/tabGroups/tabGroups.js +895 -0
  277. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  278. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  279. package/dist/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  280. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  281. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  282. package/dist/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  283. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  284. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  285. package/dist/components/navigation/appBar/appBar.js +68 -28
  286. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  287. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  288. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  289. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  290. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  291. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  292. package/dist/components/navigation/commandPalette/commandPalette.d.ts +126 -0
  293. package/dist/components/navigation/commandPalette/commandPalette.js +457 -0
  294. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  296. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  297. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  298. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  299. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  300. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  301. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  302. package/dist/components/navigation/commandPalette/index.d.ts +6 -0
  303. package/dist/components/navigation/menu/menu.d.ts +6 -0
  304. package/dist/components/navigation/menu/menu.js.map +1 -1
  305. package/dist/components/navigation/menu/menuComponent.js +12 -23
  306. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  307. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  308. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  309. package/dist/components/navigation/menu/menuFloating.js +54 -46
  310. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  311. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  312. package/dist/components/navigation/menu/menuItem.js +58 -33
  313. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  314. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  315. package/dist/components/navigation/menu/menuList.js +34 -16
  316. package/dist/components/navigation/menu/menuList.js.map +1 -1
  317. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  318. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  319. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  320. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  321. package/dist/components/navigation/pagination/pagination.js +28 -24
  322. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  323. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  324. package/dist/components/navigation/sidebar/sidebar.js +37 -33
  325. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  326. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  327. package/dist/components/navigation/stepper/stepper.js +46 -42
  328. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  329. package/dist/components/navigation/tabs/index.d.ts +3 -1
  330. package/dist/components/navigation/tabs/tab/tab.d.ts +89 -2
  331. package/dist/components/navigation/tabs/tab/tab.js +174 -43
  332. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  333. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +20 -0
  334. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +34 -0
  335. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  336. package/dist/components/navigation/tabs/tabs.d.ts +79 -2
  337. package/dist/components/navigation/tabs/tabs.js +389 -147
  338. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  339. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  340. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  341. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  342. package/dist/components/navigation/tabs/tabsContext.d.ts +36 -4
  343. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  344. package/dist/connects/rt/table/table.d.ts +16 -1
  345. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  346. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  347. package/dist/headless/components/base/icon/icon.js +40 -40
  348. package/dist/headless/components/base/icon/icon.js.map +1 -1
  349. package/dist/headless/components/base/ripple/ripple.js +46 -34
  350. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  351. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  352. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  353. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  354. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  355. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  356. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  357. package/dist/headless/components/dataDisplay/chat/chat.js +116 -57
  358. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  359. package/dist/headless/components/dataDisplay/chat/chatComposer.js +21 -19
  360. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  361. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  362. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  364. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  366. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  368. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  369. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  370. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  371. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  372. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  373. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  374. package/dist/headless/components/dataDisplay/dagView/dagView.js +501 -0
  375. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  377. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  378. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  379. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +68 -0
  381. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  383. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  384. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  385. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/kbd/kbd.js +45 -0
  387. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  388. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +70 -0
  389. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  390. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  391. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  393. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/list/listItem.js +58 -19
  395. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  396. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  397. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  398. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  399. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +86 -0
  401. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  403. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  405. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +29 -0
  407. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  408. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +359 -0
  409. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  410. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  411. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  412. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  413. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  415. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  417. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  418. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  419. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  420. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  421. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  422. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  423. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  424. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  425. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  426. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  427. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  428. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  429. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  430. package/dist/headless/components/dataDisplay/treeView/treeView.js +164 -96
  431. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  432. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  433. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  434. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  435. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  436. package/dist/headless/components/feedBack/message/message.js +17 -13
  437. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  438. package/dist/headless/components/feedBack/modal/modal.js +71 -53
  439. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  440. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  441. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  442. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  443. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  444. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  445. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  446. package/dist/headless/components/inputs/button/button.js +71 -36
  447. package/dist/headless/components/inputs/button/button.js.map +1 -1
  448. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  449. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  450. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  451. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  452. package/dist/headless/components/inputs/composer/composer.js +274 -0
  453. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  454. package/dist/headless/components/inputs/composer/composerFiles.js +18 -0
  455. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  456. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  457. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  458. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  459. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  460. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  461. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  462. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  463. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  464. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  465. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  466. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  467. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  468. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  469. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  470. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  471. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  472. package/dist/headless/components/inputs/rating/rating.js +74 -53
  473. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  474. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  475. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  476. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  477. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  478. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  479. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  480. package/dist/headless/components/inputs/slider/slider.js +320 -197
  481. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  482. package/dist/headless/components/inputs/textField/textField.js +104 -51
  483. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  484. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  485. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  486. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  487. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  488. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  489. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  490. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  491. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  492. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  493. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  494. package/dist/headless/components/layout/divider/divider.js +19 -17
  495. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  496. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  497. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  498. package/dist/headless/components/layout/grid/grid.js +54 -46
  499. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  500. package/dist/headless/components/layout/page/page.js +12 -10
  501. package/dist/headless/components/layout/page/page.js.map +1 -1
  502. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  503. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  504. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  505. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  506. package/dist/headless/components/layout/sheet/sheet.js +101 -85
  507. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  508. package/dist/headless/components/layout/stack/stack.js +23 -21
  509. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  510. package/dist/headless/components/layout/tabGroups/tabGroups.js +893 -0
  511. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  512. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  513. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  514. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  515. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  516. package/dist/headless/components/navigation/appBar/appBar.js +68 -28
  517. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  518. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  519. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  520. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  521. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  522. package/dist/headless/components/navigation/commandPalette/commandPalette.js +455 -0
  523. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  524. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  525. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  526. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  527. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  528. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  529. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  530. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  531. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  532. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  533. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  534. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  535. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  536. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  537. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  538. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  539. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  540. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  541. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  542. package/dist/headless/components/navigation/sidebar/sidebar.js +39 -35
  543. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  544. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  545. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  546. package/dist/headless/components/navigation/tabs/tab/tab.js +175 -44
  547. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  548. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +32 -0
  549. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  550. package/dist/headless/components/navigation/tabs/tabs.js +389 -147
  551. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  552. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  553. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  554. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  555. package/dist/headless/index.js +405 -363
  556. package/dist/headless/index.js.map +1 -1
  557. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  558. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  559. package/dist/headless/primitives/createFocusTrap.js +17 -16
  560. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  561. package/dist/headless/primitives/createHelperText.js +14 -0
  562. package/dist/headless/primitives/createHelperText.js.map +1 -0
  563. package/dist/headless/primitives/createKeyboardShortcut.js +16 -0
  564. package/dist/headless/primitives/createKeyboardShortcut.js.map +1 -0
  565. package/dist/headless/primitives/mergeStyle.js +9 -0
  566. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  567. package/dist/headless/primitives/overlayLayer.js +14 -7
  568. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  569. package/dist/headless/primitives/restoreFocus.js +10 -0
  570. package/dist/headless/primitives/restoreFocus.js.map +1 -0
  571. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  572. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  573. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  574. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  575. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  576. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  577. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  578. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  579. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  580. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  581. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  582. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  583. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  584. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  585. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +38 -4
  586. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  587. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  588. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  589. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  590. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  591. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  592. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  593. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  594. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  595. package/dist/headless/source/components/dataDisplay/chat/index.js.map +1 -1
  596. package/dist/headless/source/components/dataDisplay/chat/utils.js.map +2 -2
  597. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  598. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  599. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  600. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  601. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  602. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  603. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +648 -0
  604. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  605. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  606. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  607. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  608. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  609. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  610. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  611. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx +76 -0
  612. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  613. package/dist/headless/source/components/dataDisplay/diffStat/index.js +19 -0
  614. package/dist/headless/source/components/dataDisplay/diffStat/index.js.map +7 -0
  615. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  616. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  617. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  618. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  619. package/dist/headless/source/components/dataDisplay/kbd/index.js +9 -0
  620. package/dist/headless/source/components/dataDisplay/kbd/index.js.map +7 -0
  621. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx +48 -0
  622. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  623. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  624. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  625. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  626. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  627. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  628. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  629. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +47 -16
  630. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  631. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  632. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  633. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  634. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  635. package/dist/headless/source/components/dataDisplay/qrCode/index.js +6 -0
  636. package/dist/headless/source/components/dataDisplay/qrCode/index.js.map +7 -0
  637. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx +94 -0
  638. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  639. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  640. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  641. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  642. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  643. package/dist/headless/source/components/dataDisplay/statusDot/index.js +6 -0
  644. package/dist/headless/source/components/dataDisplay/statusDot/index.js.map +7 -0
  645. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx +28 -0
  646. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  647. package/dist/headless/source/components/dataDisplay/swimlanes/index.js +15 -0
  648. package/dist/headless/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  649. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx +450 -0
  650. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  651. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  652. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  653. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  654. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  655. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  656. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  657. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  658. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  659. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  660. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  661. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  662. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  663. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  664. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  665. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  666. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  667. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  668. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  669. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  670. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  671. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  672. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  673. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  674. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  675. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  676. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  677. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  678. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  679. package/dist/headless/source/components/feedBack/modal/modal.jsx +39 -6
  680. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  681. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  682. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  683. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  684. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  685. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  686. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  687. package/dist/headless/source/components/inputs/button/button.jsx +14 -5
  688. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  689. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  690. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  691. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  692. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  693. package/dist/headless/source/components/inputs/composer/composer.jsx +319 -0
  694. package/dist/headless/source/components/inputs/composer/composer.jsx.map +1 -0
  695. package/dist/headless/source/components/inputs/composer/composerFiles.js +27 -0
  696. package/dist/headless/source/components/inputs/composer/composerFiles.js.map +7 -0
  697. package/dist/headless/source/components/inputs/composer/composerKeys.js +11 -0
  698. package/dist/headless/source/components/inputs/composer/composerKeys.js.map +7 -0
  699. package/dist/headless/source/components/inputs/composer/index.js +5 -0
  700. package/dist/headless/source/components/inputs/composer/index.js.map +7 -0
  701. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  702. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  703. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  704. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  705. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  706. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  707. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  708. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  709. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  710. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  711. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  712. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  713. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  714. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  715. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  716. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  717. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  718. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  719. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  720. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  721. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  722. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  723. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  724. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  725. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  726. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  727. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  728. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  729. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  730. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  731. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  732. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  733. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  734. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  735. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  736. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  737. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  738. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  739. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  740. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  741. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  742. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  743. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  744. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  745. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  746. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  747. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  748. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  749. package/dist/headless/source/components/layout/sheet/sheet.jsx +39 -19
  750. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  751. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  752. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  753. package/dist/headless/source/components/layout/tabGroups/index.js +8 -0
  754. package/dist/headless/source/components/layout/tabGroups/index.js.map +7 -0
  755. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx +1117 -0
  756. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  757. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  758. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  759. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  760. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  761. package/dist/headless/source/components/navigation/appBar/appBar.jsx +30 -5
  762. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  763. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  764. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  765. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  766. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  767. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx +506 -0
  768. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  769. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  770. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  771. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  772. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  773. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  774. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  775. package/dist/headless/source/components/navigation/commandPalette/index.js +11 -0
  776. package/dist/headless/source/components/navigation/commandPalette/index.js.map +7 -0
  777. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  778. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  779. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  780. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  781. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  782. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  783. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  784. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  785. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  786. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  787. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  788. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  789. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  790. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  791. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +6 -3
  792. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  793. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  794. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  795. package/dist/headless/source/components/navigation/tabs/index.js +2 -0
  796. package/dist/headless/source/components/navigation/tabs/index.js.map +2 -2
  797. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +144 -21
  798. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  799. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx +28 -0
  800. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  801. package/dist/headless/source/components/navigation/tabs/tabs.jsx +392 -20
  802. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  803. package/dist/headless/source/components/navigation/tabs/tabs.utils.js +18 -0
  804. package/dist/headless/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  805. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  806. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  807. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  808. package/dist/headless/source/index.js +44 -1
  809. package/dist/headless/source/index.js.map +2 -2
  810. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  811. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  812. package/dist/headless/source/primitives/createFocusTrap.js +9 -3
  813. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  814. package/dist/headless/source/primitives/createHelperText.js +16 -0
  815. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  816. package/dist/headless/source/primitives/createKeyboardShortcut.js +23 -0
  817. package/dist/headless/source/primitives/createKeyboardShortcut.js.map +7 -0
  818. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  819. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  820. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  821. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  822. package/dist/headless/source/primitives/restoreFocus.js +14 -0
  823. package/dist/headless/source/primitives/restoreFocus.js.map +7 -0
  824. package/dist/headless/source/utils/controlProps.js +22 -0
  825. package/dist/headless/source/utils/controlProps.js.map +7 -0
  826. package/dist/headless/source/utils/keyboardShortcut.js +74 -0
  827. package/dist/headless/source/utils/keyboardShortcut.js.map +7 -0
  828. package/dist/headless/source/utils/linkAttrs.js +16 -0
  829. package/dist/headless/source/utils/linkAttrs.js.map +7 -0
  830. package/dist/headless/source/utils/ownClick.js +41 -0
  831. package/dist/headless/source/utils/ownClick.js.map +7 -0
  832. package/dist/headless/utils/controlProps.js +20 -0
  833. package/dist/headless/utils/controlProps.js.map +1 -0
  834. package/dist/headless/utils/keyboardShortcut.js +48 -0
  835. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  836. package/dist/headless/utils/linkAttrs.js +13 -0
  837. package/dist/headless/utils/linkAttrs.js.map +1 -0
  838. package/dist/headless/utils/ownClick.js +39 -0
  839. package/dist/headless/utils/ownClick.js.map +1 -0
  840. package/dist/index.d.ts +26 -3
  841. package/dist/index.js +405 -363
  842. package/dist/index.js.map +1 -1
  843. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  844. package/dist/primitives/createDismissOnEscape.js +14 -0
  845. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  846. package/dist/primitives/createFocusTrap.d.ts +7 -0
  847. package/dist/primitives/createFocusTrap.js +17 -16
  848. package/dist/primitives/createFocusTrap.js.map +1 -1
  849. package/dist/primitives/createHelperText.d.ts +26 -0
  850. package/dist/primitives/createHelperText.js +14 -0
  851. package/dist/primitives/createHelperText.js.map +1 -0
  852. package/dist/primitives/createKeyboardShortcut.d.ts +23 -0
  853. package/dist/primitives/createKeyboardShortcut.js +16 -0
  854. package/dist/primitives/createKeyboardShortcut.js.map +1 -0
  855. package/dist/primitives/mergeStyle.d.ts +19 -0
  856. package/dist/primitives/mergeStyle.js +9 -0
  857. package/dist/primitives/mergeStyle.js.map +1 -0
  858. package/dist/primitives/overlayLayer.d.ts +15 -3
  859. package/dist/primitives/overlayLayer.js +14 -7
  860. package/dist/primitives/overlayLayer.js.map +1 -1
  861. package/dist/primitives/restoreFocus.d.ts +8 -0
  862. package/dist/primitives/restoreFocus.js +10 -0
  863. package/dist/primitives/restoreFocus.js.map +1 -0
  864. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  865. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  866. package/dist/source/components/base/icon/icon.jsx +10 -12
  867. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  868. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  869. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  870. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  871. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  872. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  873. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  874. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  875. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  876. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  877. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  878. package/dist/source/components/dataDisplay/chat/chat.jsx +38 -4
  879. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  880. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  881. package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  882. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  883. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  884. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  885. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  886. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  887. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  888. package/dist/source/components/dataDisplay/chat/index.js.map +1 -1
  889. package/dist/source/components/dataDisplay/chat/utils.js.map +2 -2
  890. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  891. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  892. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  893. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  894. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  895. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  896. package/dist/source/components/dataDisplay/dagView/dagView.jsx +650 -0
  897. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  898. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  899. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  900. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  901. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  902. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  903. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  904. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx +78 -0
  905. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  906. package/dist/source/components/dataDisplay/diffStat/index.js +19 -0
  907. package/dist/source/components/dataDisplay/diffStat/index.js.map +7 -0
  908. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  909. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  910. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  911. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  912. package/dist/source/components/dataDisplay/kbd/index.js +9 -0
  913. package/dist/source/components/dataDisplay/kbd/index.js.map +7 -0
  914. package/dist/source/components/dataDisplay/kbd/kbd.jsx +50 -0
  915. package/dist/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  916. package/dist/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  917. package/dist/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  918. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  919. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  920. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  921. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  922. package/dist/source/components/dataDisplay/list/listItem.jsx +47 -16
  923. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  924. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  925. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  926. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  927. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  928. package/dist/source/components/dataDisplay/qrCode/index.js +6 -0
  929. package/dist/source/components/dataDisplay/qrCode/index.js.map +7 -0
  930. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx +96 -0
  931. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  932. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  933. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  934. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  935. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  936. package/dist/source/components/dataDisplay/statusDot/index.js +6 -0
  937. package/dist/source/components/dataDisplay/statusDot/index.js.map +7 -0
  938. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx +30 -0
  939. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  940. package/dist/source/components/dataDisplay/swimlanes/index.js +15 -0
  941. package/dist/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  942. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx +452 -0
  943. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  944. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  945. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  946. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  947. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  948. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  949. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  950. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  951. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  952. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  953. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  954. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  955. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  956. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  957. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  958. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  959. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  960. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  961. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  962. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  963. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  964. package/dist/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  965. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  966. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  967. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  968. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  969. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  970. package/dist/source/components/feedBack/message/message.jsx +5 -4
  971. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  972. package/dist/source/components/feedBack/modal/modal.jsx +39 -6
  973. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  974. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  975. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  976. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  977. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  978. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  979. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  980. package/dist/source/components/inputs/button/button.jsx +14 -5
  981. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  982. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  983. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  984. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  985. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  986. package/dist/source/components/inputs/composer/composer.jsx +321 -0
  987. package/dist/source/components/inputs/composer/composer.jsx.map +1 -0
  988. package/dist/source/components/inputs/composer/composerFiles.js +27 -0
  989. package/dist/source/components/inputs/composer/composerFiles.js.map +7 -0
  990. package/dist/source/components/inputs/composer/composerKeys.js +11 -0
  991. package/dist/source/components/inputs/composer/composerKeys.js.map +7 -0
  992. package/dist/source/components/inputs/composer/index.js +5 -0
  993. package/dist/source/components/inputs/composer/index.js.map +7 -0
  994. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  995. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  996. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  997. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  998. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  999. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  1000. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  1001. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  1002. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  1003. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  1004. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  1005. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  1006. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  1007. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  1008. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  1009. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  1010. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  1011. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  1012. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  1013. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  1014. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  1015. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  1016. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  1017. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  1018. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  1019. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  1020. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  1021. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  1022. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  1023. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  1024. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  1025. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  1026. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  1027. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  1028. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  1029. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  1030. package/dist/source/components/layout/divider/divider.jsx +6 -5
  1031. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  1032. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  1033. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  1034. package/dist/source/components/layout/grid/grid.jsx +20 -8
  1035. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  1036. package/dist/source/components/layout/page/page.jsx +10 -2
  1037. package/dist/source/components/layout/page/page.jsx.map +1 -1
  1038. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  1039. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  1040. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  1041. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  1042. package/dist/source/components/layout/sheet/sheet.jsx +39 -19
  1043. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  1044. package/dist/source/components/layout/stack/stack.jsx +15 -11
  1045. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  1046. package/dist/source/components/layout/tabGroups/index.js +8 -0
  1047. package/dist/source/components/layout/tabGroups/index.js.map +7 -0
  1048. package/dist/source/components/layout/tabGroups/tabGroups.jsx +1119 -0
  1049. package/dist/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  1050. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  1051. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  1052. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  1053. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  1054. package/dist/source/components/navigation/appBar/appBar.jsx +30 -5
  1055. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  1056. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  1057. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  1058. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  1059. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  1060. package/dist/source/components/navigation/commandPalette/commandPalette.jsx +508 -0
  1061. package/dist/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  1062. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  1063. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  1064. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  1065. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  1066. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  1067. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  1068. package/dist/source/components/navigation/commandPalette/index.js +11 -0
  1069. package/dist/source/components/navigation/commandPalette/index.js.map +7 -0
  1070. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  1071. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  1072. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  1073. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  1074. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  1075. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  1076. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  1077. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  1078. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  1079. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  1080. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  1081. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  1082. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  1083. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  1084. package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -3
  1085. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  1086. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  1087. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  1088. package/dist/source/components/navigation/tabs/index.js +2 -0
  1089. package/dist/source/components/navigation/tabs/index.js.map +2 -2
  1090. package/dist/source/components/navigation/tabs/tab/tab.jsx +144 -21
  1091. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  1092. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx +30 -0
  1093. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  1094. package/dist/source/components/navigation/tabs/tabs.jsx +392 -20
  1095. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  1096. package/dist/source/components/navigation/tabs/tabs.utils.js +18 -0
  1097. package/dist/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  1098. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  1099. package/dist/source/connects/rt/table/table.jsx +7 -2
  1100. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  1101. package/dist/source/index.js +44 -1
  1102. package/dist/source/index.js.map +2 -2
  1103. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  1104. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  1105. package/dist/source/primitives/createFocusTrap.js +9 -3
  1106. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  1107. package/dist/source/primitives/createHelperText.js +16 -0
  1108. package/dist/source/primitives/createHelperText.js.map +7 -0
  1109. package/dist/source/primitives/createKeyboardShortcut.js +23 -0
  1110. package/dist/source/primitives/createKeyboardShortcut.js.map +7 -0
  1111. package/dist/source/primitives/mergeStyle.js +15 -0
  1112. package/dist/source/primitives/mergeStyle.js.map +7 -0
  1113. package/dist/source/primitives/overlayLayer.js +10 -2
  1114. package/dist/source/primitives/overlayLayer.js.map +2 -2
  1115. package/dist/source/primitives/restoreFocus.js +14 -0
  1116. package/dist/source/primitives/restoreFocus.js.map +7 -0
  1117. package/dist/source/utils/controlProps.js +22 -0
  1118. package/dist/source/utils/controlProps.js.map +7 -0
  1119. package/dist/source/utils/keyboardShortcut.js +74 -0
  1120. package/dist/source/utils/keyboardShortcut.js.map +7 -0
  1121. package/dist/source/utils/linkAttrs.js +16 -0
  1122. package/dist/source/utils/linkAttrs.js.map +7 -0
  1123. package/dist/source/utils/ownClick.js +41 -0
  1124. package/dist/source/utils/ownClick.js.map +7 -0
  1125. package/dist/utils/controlProps.d.ts +17 -0
  1126. package/dist/utils/controlProps.js +20 -0
  1127. package/dist/utils/controlProps.js.map +1 -0
  1128. package/dist/utils/keyboardShortcut.d.ts +12 -0
  1129. package/dist/utils/keyboardShortcut.js +48 -0
  1130. package/dist/utils/keyboardShortcut.js.map +1 -0
  1131. package/dist/utils/linkAttrs.d.ts +13 -0
  1132. package/dist/utils/linkAttrs.js +13 -0
  1133. package/dist/utils/linkAttrs.js.map +1 -0
  1134. package/dist/utils/ownClick.d.ts +16 -0
  1135. package/dist/utils/ownClick.js +39 -0
  1136. package/dist/utils/ownClick.js.map +1 -0
  1137. package/package.json +72 -3
@@ -0,0 +1,501 @@
1
+ import { use as xe, spread as Re, mergeProps as Ue, setAttribute as l, insert as k, createComponent as N, effect as T, setStyleProperty as te, template as z, className as Fe, style as We, delegateEvents as Ge } from "solid-js/web";
2
+ import { mergeProps as Pe, splitProps as Te, createUniqueId as qe, createMemo as S, untrack as L, createSelector as He, createSignal as re, createEffect as oe, on as ke, onMount as Se, onCleanup as ne, For as $e, Show as se, DEV as Ke } from "solid-js";
3
+ import ie from "clsx";
4
+ import { createControllableState as Ae } from "../../../primitives/createControllableState.js";
5
+ import { mergeRefs as je } from "../../../primitives/mergeRefs.js";
6
+ import { mergeStyle as Ye } from "../../../primitives/mergeStyle.js";
7
+ import { dagLayout as Xe, dagEdgePath as Je } from "./dagLayout.js";
8
+ import { createPanZoom as Qe, viewportTransform as et, centerOn as tt, zoomAt as rt, fitBounds as ot, isVisible as nt } from "./panZoom.js";
9
+ var st = /* @__PURE__ */ z("<span class=smwb-dag-view__dot aria-hidden=true>"), it = /* @__PURE__ */ z("<span class=smwb-dag-view__label>"), at = /* @__PURE__ */ z("<span class=smwb-dag-view__status>"), dt = /* @__PURE__ */ z("<div role=option><span hidden>"), ct = /* @__PURE__ */ z("<p class=smwb-dag-view__summary>"), lt = /* @__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">'), ut = /* @__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)">'), gt = /* @__PURE__ */ z("<svg><path></svg>", !1, !0, !1);
10
+ const V = 24, ze = {
11
+ roleDescription: "dependency graph",
12
+ status: "Status",
13
+ dependsOn: "Depends on",
14
+ requiredBy: "Required by",
15
+ statuses: {
16
+ idle: "Idle",
17
+ pending: "Pending",
18
+ running: "Running",
19
+ success: "Success",
20
+ warning: "Warning",
21
+ error: "Error",
22
+ skipped: "Skipped"
23
+ },
24
+ zoomIn: "Zoom in",
25
+ zoomOut: "Zoom out",
26
+ fitView: "Fit to view",
27
+ controls: "Zoom"
28
+ }, mt = ["label", "status", "accent", "width", "height", "data", "disabled"], ht = 'a[href], button, input, select, textarea, iframe, summary, audio[controls], video[controls], [tabindex], [contenteditable]:not([contenteditable="false"])', ft = (w) => typeof w == "number" ? `${w}px` : w, wt = (w, M) => w.length === M.length && w.every((n, q) => n === M[q]), vt = (w, M) => {
29
+ const n = w?.label;
30
+ return typeof n == "string" || typeof n == "number" ? String(n) : M;
31
+ }, pt = Ke ? (w) => console.warn(`[smwb] DagView: ${w}`) : void 0;
32
+ function zt(w) {
33
+ const M = Pe({
34
+ direction: "LR",
35
+ nodeWidth: 180,
36
+ nodeHeight: 56,
37
+ rankGap: 64,
38
+ nodeGap: 24,
39
+ fit: !0,
40
+ minZoom: 0.1,
41
+ maxZoom: 2,
42
+ wheel: "zoom",
43
+ controls: !0
44
+ }, w), [n, q] = Te(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 = qe(), ae = `${R}-arrow`, de = `${R}-arrow-active`, ce = `${R}-summary`;
45
+ let D;
46
+ const B = /* @__PURE__ */ new Map(), x = S(() => ({
47
+ ...ze,
48
+ ...n.labels,
49
+ statuses: {
50
+ ...ze.statuses,
51
+ ...n.labels?.statuses
52
+ }
53
+ })), le = (e) => x().statuses[e] ?? e, I = S(() => {
54
+ const e = /* @__PURE__ */ new Map();
55
+ for (const t of n.nodes) e.has(t.id) || e.set(t.id, t);
56
+ return e;
57
+ }), H = S(() => [...I().keys()], [], {
58
+ equals: wt
59
+ }), De = S(() => {
60
+ const e = [...I().values()].map((s) => ({
61
+ id: s.id,
62
+ width: s.width ?? n.nodeWidth,
63
+ height: s.height ?? n.nodeHeight
64
+ })), t = n.edges.map((s) => ({
65
+ id: s.id,
66
+ source: s.source,
67
+ target: s.target
68
+ })), r = {
69
+ nodes: e,
70
+ edges: t,
71
+ direction: n.direction,
72
+ rankGap: n.rankGap,
73
+ nodeGap: n.nodeGap,
74
+ warn: pt
75
+ };
76
+ return {
77
+ key: JSON.stringify([n.direction, n.rankGap, n.nodeGap, e.map((s) => [s.id, s.width, s.height]), t.map((s) => [s.id ?? null, s.source, s.target])]),
78
+ input: r
79
+ };
80
+ }, void 0, {
81
+ equals: (e, t) => e.key === t.key
82
+ }), b = S(() => (n.layout ?? Xe)(De().input)), U = (e) => n.direction === "TB" ? e.x : e.y, y = S(() => {
83
+ const e = b(), t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
84
+ for (const i of e.edges)
85
+ t.has(i.target) || t.set(i.target, []), r.has(i.source) || r.set(i.source, []), t.get(i.target).push(i), r.get(i.source).push(i);
86
+ const d = [...e.nodes.values()].sort((i, m) => i.layer - m.layer || U(i) - U(m)), s = /* @__PURE__ */ new Map();
87
+ for (const i of d)
88
+ s.has(i.layer) || s.set(i.layer, []), s.get(i.layer).push(i);
89
+ return {
90
+ incoming: t,
91
+ outgoing: r,
92
+ ordered: d,
93
+ layers: s
94
+ };
95
+ }), [C, K] = Ae({
96
+ value: () => n.selectedId,
97
+ defaultValue: L(() => n.defaultSelectedId) ?? null,
98
+ onChange: (e) => n.onSelectedChange?.(e)
99
+ }), ue = He(C), F = S(() => {
100
+ const e = C(), t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
101
+ if (e === null || !b().nodes.has(e)) return {
102
+ active: !1,
103
+ edges: t,
104
+ nodes: r
105
+ };
106
+ const {
107
+ incoming: d,
108
+ outgoing: s
109
+ } = y();
110
+ for (const i of d.get(e) ?? [])
111
+ t.set(i.id, "upstream"), r.set(i.source, "upstream");
112
+ for (const i of s.get(e) ?? [])
113
+ t.set(i.id, "downstream"), r.set(i.target, "downstream");
114
+ return {
115
+ active: !0,
116
+ edges: t,
117
+ nodes: r
118
+ };
119
+ }), [Me, ge] = re(null), [j, Y] = re(null), W = S(() => {
120
+ const e = b().nodes, t = Me();
121
+ if (t !== null && e.has(t)) return t;
122
+ const r = C();
123
+ return r !== null && e.has(r) ? r : y().ordered[0]?.id ?? null;
124
+ }), [$, E] = Ae({
125
+ value: () => n.viewport,
126
+ defaultValue: L(() => n.defaultViewport) ?? {
127
+ x: 0,
128
+ y: 0,
129
+ zoom: 1
130
+ },
131
+ onChange: (e) => n.onViewportChange?.(e)
132
+ }), [Be, Ie] = re(!1), Le = S(() => $().zoom < 0.45), O = () => ({
133
+ width: D?.clientWidth ?? 0,
134
+ height: D?.clientHeight ?? 0
135
+ }), X = () => {
136
+ const {
137
+ width: e,
138
+ height: t
139
+ } = O();
140
+ return e > 0 && t > 0;
141
+ }, Z = () => ({
142
+ width: b().width + V * 2,
143
+ height: b().height + V * 2
144
+ }), me = (e) => {
145
+ const t = b().nodes.get(e);
146
+ return t && {
147
+ x: t.x + V,
148
+ y: t.y + V,
149
+ width: t.width,
150
+ height: t.height
151
+ };
152
+ }, _ = {
153
+ fitView() {
154
+ if (!X()) return;
155
+ const e = Z();
156
+ E(ot({
157
+ x: 0,
158
+ y: 0,
159
+ ...e
160
+ }, O(), 0, n.minZoom, Math.max(n.minZoom, Math.min(1, n.maxZoom))));
161
+ },
162
+ zoomTo(e) {
163
+ _.zoomBy(e / $().zoom);
164
+ },
165
+ zoomBy(e) {
166
+ const {
167
+ width: t,
168
+ height: r
169
+ } = O();
170
+ E(rt($(), {
171
+ x: t / 2,
172
+ y: r / 2
173
+ }, e, n.minZoom, n.maxZoom));
174
+ },
175
+ centerNode(e) {
176
+ const t = me(e);
177
+ t && E(tt($(), {
178
+ x: t.x + t.width / 2,
179
+ y: t.y + t.height / 2
180
+ }, O()));
181
+ }
182
+ }, he = (e) => {
183
+ const t = me(e);
184
+ t && X() && !nt($(), t, O(), 8) && _.centerNode(e);
185
+ };
186
+ let G = !1;
187
+ const J = () => {
188
+ !G || !X() || (G = !1, _.fitView());
189
+ };
190
+ oe(ke(b, () => {
191
+ L(() => n.fit) && (G = !0, J());
192
+ }, {
193
+ defer: !0
194
+ })), Se(() => {
195
+ const e = Qe(D, {
196
+ viewport: $,
197
+ write: E,
198
+ minZoom: () => n.minZoom,
199
+ maxZoom: () => n.maxZoom,
200
+ wheel: () => n.wheel,
201
+ onInteracting: Ie
202
+ });
203
+ let t = 0;
204
+ const r = typeof ResizeObserver == "function" ? new ResizeObserver(() => {
205
+ cancelAnimationFrame(t), t = requestAnimationFrame(J);
206
+ }) : void 0;
207
+ r?.observe(D), ne(() => {
208
+ e(), r?.disconnect(), cancelAnimationFrame(t);
209
+ }), G = n.fit, J(), n.apiRef?.(_);
210
+ });
211
+ const fe = (e, t) => {
212
+ const r = I().get(e);
213
+ !r || r.disabled || (K(e), n.onNodeClick?.(r, t));
214
+ }, Q = (e) => {
215
+ e !== void 0 && (ge(e), B.get(e)?.focus({
216
+ preventScroll: !0
217
+ }), he(e));
218
+ };
219
+ oe((e) => {
220
+ const t = H();
221
+ return e && L(() => {
222
+ const r = new Set(t), d = C();
223
+ d !== null && !r.has(d) && e.includes(d) && K(null);
224
+ const s = j();
225
+ if (s === null || r.has(s)) return;
226
+ Y(null);
227
+ const i = D?.ownerDocument, m = W();
228
+ i && (i.activeElement === null || i.activeElement === i.body) && m !== null && B.get(m)?.focus({
229
+ preventScroll: !0
230
+ });
231
+ }), t;
232
+ });
233
+ const P = /* @__PURE__ */ new WeakMap(), ee = /* @__PURE__ */ new WeakMap(), we = () => {
234
+ const e = L(W);
235
+ for (const [t, r] of B)
236
+ for (const d of r.querySelectorAll(ht)) {
237
+ P.has(d) || P.set(d, d.getAttribute("tabindex"));
238
+ const s = P.get(d) ?? null, i = t === e ? s : "-1";
239
+ d.getAttribute("tabindex") !== i && (i === null ? d.removeAttribute("tabindex") : d.setAttribute("tabindex", i), ee.set(d, i));
240
+ }
241
+ };
242
+ Se(() => {
243
+ if (!n.renderNode || (oe(ke(W, we)), typeof MutationObserver != "function")) return;
244
+ const e = new MutationObserver((t) => {
245
+ let r = !1;
246
+ for (const d of t) {
247
+ if (d.type !== "attributes") {
248
+ r = !0;
249
+ continue;
250
+ }
251
+ const s = d.target;
252
+ if (s.classList.contains("smwb-dag-view__node")) continue;
253
+ const i = s.getAttribute("tabindex");
254
+ ee.has(s) && ee.get(s) === i || (P.set(s, i), r = !0);
255
+ }
256
+ r && we();
257
+ });
258
+ e.observe(D, {
259
+ childList: !0,
260
+ subtree: !0,
261
+ attributes: !0,
262
+ attributeFilter: ["tabindex"]
263
+ }), ne(() => e.disconnect());
264
+ });
265
+ const Ve = (e, t) => {
266
+ const r = n.direction === "TB", d = r ? "ArrowDown" : "ArrowRight", s = r ? "ArrowUp" : "ArrowLeft", i = r ? "ArrowLeft" : "ArrowUp", m = r ? "ArrowRight" : "ArrowDown", v = b().nodes, c = (a) => a.map((h) => v.get(h)).filter((h) => h !== void 0).sort((h, f) => U(h) - U(f))[0]?.id;
267
+ if (t === d) return c((y().outgoing.get(e) ?? []).map((a) => a.target));
268
+ if (t === s) return c((y().incoming.get(e) ?? []).map((a) => a.source));
269
+ const g = v.get(e);
270
+ if (!g) return;
271
+ const o = y().layers.get(g.layer) ?? [], u = o.findIndex((a) => a.id === e);
272
+ if (t === i) return o[u - 1]?.id;
273
+ if (t === m) return o[u + 1]?.id;
274
+ }, Ce = (e) => {
275
+ const t = e.target, r = t.dataset?.dagId;
276
+ if (r === void 0 || !t.classList.contains("smwb-dag-view__node") || e.ctrlKey || e.metaKey || e.altKey) return;
277
+ const d = e.key;
278
+ if (d.startsWith("Arrow") && e.shiftKey) {
279
+ const i = $(), m = d === "ArrowLeft" ? 48 : d === "ArrowRight" ? -48 : 0, v = d === "ArrowUp" ? 48 : d === "ArrowDown" ? -48 : 0;
280
+ E({
281
+ x: i.x + m,
282
+ y: i.y + v,
283
+ zoom: i.zoom
284
+ }), e.preventDefault();
285
+ return;
286
+ }
287
+ if (d.startsWith("Arrow")) {
288
+ e.preventDefault(), Q(Ve(r, d));
289
+ return;
290
+ }
291
+ switch (d) {
292
+ case "Home":
293
+ e.preventDefault(), Q(y().ordered[0]?.id);
294
+ return;
295
+ case "End":
296
+ e.preventDefault(), Q(y().ordered[y().ordered.length - 1]?.id);
297
+ return;
298
+ case "Enter":
299
+ case " ":
300
+ e.preventDefault(), fe(r, e);
301
+ return;
302
+ case "Escape":
303
+ if (C() === null) return;
304
+ e.preventDefault(), K(null);
305
+ return;
306
+ case "+":
307
+ case "=":
308
+ e.preventDefault(), _.zoomBy(1.25);
309
+ return;
310
+ case "-":
311
+ case "_":
312
+ e.preventDefault(), _.zoomBy(0.8);
313
+ return;
314
+ case "0":
315
+ e.preventDefault(), _.fitView();
316
+ return;
317
+ }
318
+ }, Ee = (e) => [st(), (() => {
319
+ var t = it();
320
+ return k(t, () => e.label ?? e.id), t;
321
+ })(), N(se, {
322
+ get when() {
323
+ return e.status;
324
+ },
325
+ children: (t) => (() => {
326
+ var r = at();
327
+ return k(r, () => le(t())), r;
328
+ })()
329
+ })], ve = (e) => {
330
+ const t = I().get(e), r = [];
331
+ t?.status && r.push(`${x().status}: ${le(t.status)}.`);
332
+ const d = (m) => m.map((v) => vt(I().get(v), v)).join(", "), s = (y().incoming.get(e) ?? []).map((m) => m.source), i = (y().outgoing.get(e) ?? []).map((m) => m.target);
333
+ return s.length && r.push(`${x().dependsOn}: ${d(s)}.`), i.length && r.push(`${x().requiredBy}: ${d(i)}.`), r.join(" ");
334
+ }, Oe = (e, t) => {
335
+ const r = () => I().get(e), d = {
336
+ id: e
337
+ };
338
+ for (const o of mt) Object.defineProperty(d, o, {
339
+ enumerable: !0,
340
+ get: () => r()?.[o]
341
+ });
342
+ const s = {
343
+ get selected() {
344
+ return ue(e);
345
+ },
346
+ get related() {
347
+ return F().nodes.get(e) ?? null;
348
+ },
349
+ get dimmed() {
350
+ const o = F();
351
+ return !!n.dimUnrelated && o.active && !ue(e) && !o.nodes.has(e);
352
+ },
353
+ get focused() {
354
+ return j() === e;
355
+ }
356
+ }, i = () => `${R}-node-${t()}`, m = () => {
357
+ const o = b().nodes.get(e), u = o ? {
358
+ left: `${o.x + V}px`,
359
+ top: `${o.y + V}px`,
360
+ width: `${o.width}px`,
361
+ height: `${o.height}px`
362
+ } : {
363
+ display: "none"
364
+ }, a = r()?.accent;
365
+ return a && (u["--smwb-dag-view-node-accent"] = a), u;
366
+ }, v = (o) => {
367
+ if (o.target !== o.currentTarget) return;
368
+ ge(e), Y(e);
369
+ let u = !0;
370
+ try {
371
+ u = o.currentTarget.matches(":focus-visible");
372
+ } catch {
373
+ }
374
+ u && he(e);
375
+ }, c = (o) => {
376
+ o.target !== o.currentTarget || j() !== e || H().includes(e) && Y(null);
377
+ }, g = L(() => (n.renderNode ?? Ee)(d, s));
378
+ return (() => {
379
+ var o = dt(), u = o.firstChild;
380
+ return o.addEventListener("blur", c), o.addEventListener("focus", v), o.$$click = (a) => fe(e, a), xe((a) => {
381
+ B.set(e, a), ne(() => B.get(e) === a && B.delete(e));
382
+ }, o), l(o, "data-dag-id", e), k(o, g, u), k(u, () => ve(e)), T((a) => {
383
+ var h = ie("smwb-dag-view__node", {
384
+ "smwb-dag-view__node--selected": s.selected,
385
+ "smwb-dag-view__node--upstream": s.related === "upstream",
386
+ "smwb-dag-view__node--downstream": s.related === "downstream",
387
+ "smwb-dag-view__node--dimmed": s.dimmed,
388
+ "smwb-dag-view__node--disabled": !!r()?.disabled
389
+ }), f = r()?.status, p = s.selected ? "true" : "false", A = r()?.disabled ? "true" : void 0, be = ve(e) ? i() : void 0, ye = W() === e ? 0 : -1, Ne = m(), _e = i();
390
+ return h !== a.e && Fe(o, a.e = h), f !== a.t && l(o, "data-status", a.t = f), p !== a.a && l(o, "aria-selected", a.a = p), A !== a.o && l(o, "aria-disabled", a.o = A), be !== a.i && l(o, "aria-describedby", a.i = be), ye !== a.n && l(o, "tabindex", a.n = ye), a.s = We(o, Ne, a.s), _e !== a.h && l(u, "id", a.h = _e), a;
391
+ }, {
392
+ e: void 0,
393
+ t: void 0,
394
+ a: void 0,
395
+ o: void 0,
396
+ i: void 0,
397
+ n: void 0,
398
+ s: void 0,
399
+ h: void 0
400
+ }), o;
401
+ })();
402
+ }, Ze = (e) => {
403
+ const t = F(), r = t.edges.get(e.id);
404
+ return ie("smwb-dag-view__edge", {
405
+ "smwb-dag-view__edge--active": r !== void 0,
406
+ "smwb-dag-view__edge--upstream": r === "upstream",
407
+ "smwb-dag-view__edge--downstream": r === "downstream",
408
+ "smwb-dag-view__edge--dimmed": !!n.dimUnrelated && t.active && r === void 0,
409
+ "smwb-dag-view__edge--reversed": e.reversed
410
+ });
411
+ }, pe = () => Ye(n.style, {
412
+ height: n.height === void 0 ? void 0 : ft(n.height)
413
+ });
414
+ return (() => {
415
+ var e = ut(), t = e.firstChild, r = t.firstChild, d = r.firstChild, s = d.firstChild, i = s.nextSibling, m = d.nextSibling, v = je(n.ref, (c) => D = c);
416
+ return typeof v == "function" && xe(v, e), Re(e, Ue({
417
+ get "data-testid"() {
418
+ return n["data-testid"] ?? "dag-view";
419
+ }
420
+ }, q, {
421
+ get class() {
422
+ return ie("smwb-dag-view", n.class);
423
+ }
424
+ }, () => pe() === void 0 ? {} : {
425
+ style: pe()
426
+ }, {
427
+ get "data-direction"() {
428
+ return n.direction;
429
+ },
430
+ get "data-zoom"() {
431
+ return Le() ? "far" : void 0;
432
+ },
433
+ get "data-interacting"() {
434
+ return Be() ? "" : void 0;
435
+ }
436
+ }), !1, !0), t.$$keydown = Ce, l(s, "id", ae), l(i, "id", de), k(m, N($e, {
437
+ get each() {
438
+ return b().edges;
439
+ },
440
+ children: (c) => (() => {
441
+ var g = gt();
442
+ return T((o) => {
443
+ var u = Ze(c), a = c.source, h = c.target, f = Je(c.points, n.direction), p = `url(#${F().edges.has(c.id) ? de : ae})`;
444
+ return u !== o.e && l(g, "class", o.e = u), a !== o.t && l(g, "data-source", o.t = a), h !== o.a && l(g, "data-target", o.a = h), f !== o.o && l(g, "d", o.o = f), p !== o.i && l(g, "marker-end", o.i = p), o;
445
+ }, {
446
+ e: void 0,
447
+ t: void 0,
448
+ a: void 0,
449
+ o: void 0,
450
+ i: void 0
451
+ }), g;
452
+ })()
453
+ })), k(t, N($e, {
454
+ get each() {
455
+ return H();
456
+ },
457
+ children: (c, g) => Oe(c, g)
458
+ }), null), k(e, N(se, {
459
+ get when() {
460
+ return n.summary;
461
+ },
462
+ get children() {
463
+ var c = ct();
464
+ return l(c, "id", ce), k(c, () => n.summary), c;
465
+ }
466
+ }), null), k(e, N(se, {
467
+ get when() {
468
+ return n.controls;
469
+ },
470
+ get children() {
471
+ var c = lt(), g = c.firstChild, o = g.nextSibling, u = o.nextSibling;
472
+ return g.$$click = () => _.zoomBy(1.25), o.$$click = () => _.zoomBy(0.8), u.$$click = () => _.fitView(), T((a) => {
473
+ var h = x().controls, f = x().zoomIn, p = x().zoomOut, A = x().fitView;
474
+ return h !== a.e && l(c, "aria-label", a.e = h), f !== a.t && l(g, "title", a.t = f), p !== a.a && l(o, "title", a.a = p), A !== a.o && l(u, "title", a.o = A), a;
475
+ }, {
476
+ e: void 0,
477
+ t: void 0,
478
+ a: void 0,
479
+ o: void 0
480
+ }), c;
481
+ }
482
+ }), null), T((c) => {
483
+ var g = n.label, o = x().roleDescription, u = n.summary ? ce : void 0, a = `${Z().width}px`, h = `${Z().height}px`, f = et($()), p = Z().width, A = Z().height;
484
+ return g !== c.e && l(t, "aria-label", c.e = g), o !== c.t && l(t, "aria-roledescription", c.t = o), u !== c.a && l(t, "aria-describedby", c.a = u), a !== c.o && te(t, "width", c.o = a), h !== c.i && te(t, "height", c.i = h), f !== c.n && te(t, "transform", c.n = f), p !== c.s && l(r, "width", c.s = p), A !== c.h && l(r, "height", c.h = A), c;
485
+ }, {
486
+ e: void 0,
487
+ t: void 0,
488
+ a: void 0,
489
+ o: void 0,
490
+ i: void 0,
491
+ n: void 0,
492
+ s: void 0,
493
+ h: void 0
494
+ }), e;
495
+ })();
496
+ }
497
+ Ge(["click", "keydown"]);
498
+ export {
499
+ zt as DagView
500
+ };
501
+ //# 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 // The value the component wrote last, so its own writes can be told apart\n // from the caller's in the attribute records below.\n const writtenTabIndex = 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 writtenTabIndex.set(inner, 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\n // too, and so is a tabindex the caller writes from a signal: that write is\n // taken as the content's own value, then the Tab order is restored over it.\n const observer = new MutationObserver((records) => {\n let sync = false;\n for (const record of records) {\n if (record.type !== \"attributes\") {\n sync = true;\n continue;\n }\n const target = record.target as Element;\n // A node's own roving tabindex is the component's, not its content's.\n if (target.classList.contains(\"smwb-dag-view__node\")) continue;\n const now = target.getAttribute(\"tabindex\");\n if (writtenTabIndex.has(target) && writtenTabIndex.get(target) === now) continue;\n ownTabIndex.set(target, now);\n sync = true;\n }\n if (sync) syncInnerTabStops();\n });\n observer.observe(root, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: [\"tabindex\"],\n });\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) return;\n // A browser blurs a node while it is being removed, before the removal\n // effect below runs. Clearing `focused` there would leave the effect\n // nothing to move on, and focus would fall to the page.\n if (!ids().includes(id)) return;\n 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 type=\"button\" class=\"smwb-dag-view__control\" title={labels().zoomIn} onClick={() => api.zoomBy(1.25)}>\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M12 5v14M5 12h14\" />\n </svg>\n </button>\n <button type=\"button\" class=\"smwb-dag-view__control\" title={labels().zoomOut} onClick={() => api.zoomBy(0.8)}>\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M5 12h14\" />\n </svg>\n </button>\n <button type=\"button\" class=\"smwb-dag-view__control\" title={labels().fitView} onClick={() => api.fitView()}>\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","writtenTabIndex","syncInnerTabStops","el","inner","querySelectorAll","getAttribute","own","removeAttribute","setAttribute","renderNode","MutationObserver","observer","records","sync","record","type","classList","contains","childList","subtree","attributes","attributeFilter","neighbour","tb","forward","back","after","first","list","other","filter","self","index","findIndex","onKeyDown","dataset","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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"}