@smwb/ui-solid 0.12.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1137) hide show
  1. package/README.md +638 -0
  2. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  4. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  5. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  6. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  7. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  8. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  9. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  10. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  11. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  12. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  13. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  14. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  15. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  16. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  17. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  18. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  19. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  20. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  21. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  22. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  23. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  24. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  25. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  26. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  27. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  28. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  29. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  30. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  31. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  32. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  33. package/dist/assets/styles/less/tokens.entry.css +1 -1
  34. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  35. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  36. package/dist/components/base/icon/icon.d.ts +6 -2
  37. package/dist/components/base/icon/icon.js +41 -41
  38. package/dist/components/base/icon/icon.js.map +1 -1
  39. package/dist/components/base/ripple/ripple.d.ts +3 -0
  40. package/dist/components/base/ripple/ripple.js +46 -34
  41. package/dist/components/base/ripple/ripple.js.map +1 -1
  42. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  43. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  44. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  45. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  46. package/dist/components/dataDisplay/card/card.js +47 -34
  47. package/dist/components/dataDisplay/card/card.js.map +1 -1
  48. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  49. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  50. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  51. package/dist/components/dataDisplay/chat/chat.d.ts +42 -0
  52. package/dist/components/dataDisplay/chat/chat.js +116 -57
  53. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  54. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  55. package/dist/components/dataDisplay/chat/chatComposer.js +21 -19
  56. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  57. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  58. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  60. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  61. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  63. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  64. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  66. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  67. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  68. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  69. package/dist/components/dataDisplay/chip/chip.js +104 -63
  70. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  71. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  72. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  73. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  74. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  75. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  76. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  77. package/dist/components/dataDisplay/dagView/dagView.js +503 -0
  78. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  79. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  80. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  81. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  82. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  83. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  84. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  85. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  86. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +55 -0
  87. package/dist/components/dataDisplay/diffStat/diffStat.js +70 -0
  88. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  89. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  90. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  91. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  92. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  93. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  94. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  95. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  96. package/dist/components/dataDisplay/kbd/kbd.d.ts +41 -0
  97. package/dist/components/dataDisplay/kbd/kbd.js +47 -0
  98. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  99. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  100. package/dist/components/dataDisplay/kbd/kbdKeys.js +70 -0
  101. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  102. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  103. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  104. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  105. package/dist/components/dataDisplay/list/list.js +16 -12
  106. package/dist/components/dataDisplay/list/list.js.map +1 -1
  107. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  108. package/dist/components/dataDisplay/list/listItem.js +58 -19
  109. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  110. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  111. package/dist/components/dataDisplay/meter/meter.js +15 -13
  112. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  113. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  114. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  115. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  116. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  117. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +30 -0
  118. package/dist/components/dataDisplay/qrCode/qrCode.js +88 -0
  119. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  120. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  121. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  122. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  123. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  124. package/dist/components/dataDisplay/stat/stat.js +41 -43
  125. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  126. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  127. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  128. package/dist/components/dataDisplay/statusDot/statusDot.js +31 -0
  129. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  130. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  131. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +75 -0
  132. package/dist/components/dataDisplay/swimlanes/swimlanes.js +361 -0
  133. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  134. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  135. package/dist/components/dataDisplay/table/table.js +46 -22
  136. package/dist/components/dataDisplay/table/table.js.map +1 -1
  137. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  138. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  139. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  140. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  141. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  143. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  144. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  145. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  146. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  147. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  154. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  155. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  156. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  157. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  158. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  159. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  160. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  161. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  162. package/dist/components/dataDisplay/treeView/treeView.d.ts +22 -0
  163. package/dist/components/dataDisplay/treeView/treeView.js +164 -96
  164. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  165. package/dist/components/dataDisplay/typography/typography.js +22 -26
  166. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  167. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  168. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  169. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  170. package/dist/components/feedBack/message/message.d.ts +2 -0
  171. package/dist/components/feedBack/message/message.js +17 -13
  172. package/dist/components/feedBack/message/message.js.map +1 -1
  173. package/dist/components/feedBack/modal/modal.d.ts +9 -0
  174. package/dist/components/feedBack/modal/modal.js +71 -53
  175. package/dist/components/feedBack/modal/modal.js.map +1 -1
  176. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  177. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  178. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  179. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  180. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  181. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  182. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  183. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  184. package/dist/components/inputs/button/button.d.ts +14 -0
  185. package/dist/components/inputs/button/button.js +71 -36
  186. package/dist/components/inputs/button/button.js.map +1 -1
  187. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  188. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  189. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  190. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  191. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  192. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  193. package/dist/components/inputs/composer/composer.d.ts +148 -0
  194. package/dist/components/inputs/composer/composer.js +276 -0
  195. package/dist/components/inputs/composer/composer.js.map +1 -0
  196. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  197. package/dist/components/inputs/composer/composerFiles.js +18 -0
  198. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  199. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  200. package/dist/components/inputs/composer/composerKeys.js +7 -0
  201. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  202. package/dist/components/inputs/composer/index.d.ts +3 -0
  203. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  204. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  205. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  206. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  207. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  208. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  209. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  210. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  211. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  212. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  213. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  214. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  215. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  216. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  217. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  218. package/dist/components/inputs/rating/rating.d.ts +9 -0
  219. package/dist/components/inputs/rating/rating.js +74 -53
  220. package/dist/components/inputs/rating/rating.js.map +1 -1
  221. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  222. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  223. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  224. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  225. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  226. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  227. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  228. package/dist/components/inputs/selectField/selectField.js +297 -126
  229. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  230. package/dist/components/inputs/slider/slider.d.ts +25 -3
  231. package/dist/components/inputs/slider/slider.js +320 -197
  232. package/dist/components/inputs/slider/slider.js.map +1 -1
  233. package/dist/components/inputs/textField/textField.d.ts +9 -1
  234. package/dist/components/inputs/textField/textField.js +104 -51
  235. package/dist/components/inputs/textField/textField.js.map +1 -1
  236. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  237. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  238. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  239. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  240. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  241. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  242. package/dist/components/inputs/toggle/toggle.js +43 -31
  243. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  244. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  245. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  246. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  247. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  248. package/dist/components/layout/appLayout/appLayout.js +32 -30
  249. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  250. package/dist/components/layout/divider/divider.d.ts +2 -0
  251. package/dist/components/layout/divider/divider.js +22 -20
  252. package/dist/components/layout/divider/divider.js.map +1 -1
  253. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  254. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  255. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  256. package/dist/components/layout/grid/grid.d.ts +8 -0
  257. package/dist/components/layout/grid/grid.js +52 -44
  258. package/dist/components/layout/grid/grid.js.map +1 -1
  259. package/dist/components/layout/page/page.d.ts +2 -0
  260. package/dist/components/layout/page/page.js +14 -12
  261. package/dist/components/layout/page/page.js.map +1 -1
  262. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  263. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  264. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  265. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  266. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  267. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  268. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  269. package/dist/components/layout/sheet/sheet.js +92 -76
  270. package/dist/components/layout/sheet/sheet.js.map +1 -1
  271. package/dist/components/layout/stack/stack.d.ts +2 -0
  272. package/dist/components/layout/stack/stack.js +26 -24
  273. package/dist/components/layout/stack/stack.js.map +1 -1
  274. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  275. package/dist/components/layout/tabGroups/tabGroups.d.ts +102 -0
  276. package/dist/components/layout/tabGroups/tabGroups.js +895 -0
  277. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  278. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  279. package/dist/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  280. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  281. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  282. package/dist/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  283. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  284. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  285. package/dist/components/navigation/appBar/appBar.js +68 -28
  286. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  287. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  288. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  289. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  290. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  291. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  292. package/dist/components/navigation/commandPalette/commandPalette.d.ts +126 -0
  293. package/dist/components/navigation/commandPalette/commandPalette.js +457 -0
  294. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  296. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  297. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  298. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  299. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  300. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  301. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  302. package/dist/components/navigation/commandPalette/index.d.ts +6 -0
  303. package/dist/components/navigation/menu/menu.d.ts +6 -0
  304. package/dist/components/navigation/menu/menu.js.map +1 -1
  305. package/dist/components/navigation/menu/menuComponent.js +12 -23
  306. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  307. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  308. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  309. package/dist/components/navigation/menu/menuFloating.js +54 -46
  310. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  311. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  312. package/dist/components/navigation/menu/menuItem.js +58 -33
  313. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  314. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  315. package/dist/components/navigation/menu/menuList.js +34 -16
  316. package/dist/components/navigation/menu/menuList.js.map +1 -1
  317. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  318. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  319. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  320. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  321. package/dist/components/navigation/pagination/pagination.js +28 -24
  322. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  323. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  324. package/dist/components/navigation/sidebar/sidebar.js +37 -33
  325. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  326. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  327. package/dist/components/navigation/stepper/stepper.js +46 -42
  328. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  329. package/dist/components/navigation/tabs/index.d.ts +3 -1
  330. package/dist/components/navigation/tabs/tab/tab.d.ts +89 -2
  331. package/dist/components/navigation/tabs/tab/tab.js +174 -43
  332. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  333. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +20 -0
  334. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +34 -0
  335. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  336. package/dist/components/navigation/tabs/tabs.d.ts +79 -2
  337. package/dist/components/navigation/tabs/tabs.js +389 -147
  338. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  339. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  340. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  341. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  342. package/dist/components/navigation/tabs/tabsContext.d.ts +36 -4
  343. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  344. package/dist/connects/rt/table/table.d.ts +16 -1
  345. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  346. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  347. package/dist/headless/components/base/icon/icon.js +40 -40
  348. package/dist/headless/components/base/icon/icon.js.map +1 -1
  349. package/dist/headless/components/base/ripple/ripple.js +46 -34
  350. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  351. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  352. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  353. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  354. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  355. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  356. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  357. package/dist/headless/components/dataDisplay/chat/chat.js +116 -57
  358. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  359. package/dist/headless/components/dataDisplay/chat/chatComposer.js +21 -19
  360. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  361. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  362. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  364. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  366. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  368. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  369. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  370. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  371. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  372. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  373. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  374. package/dist/headless/components/dataDisplay/dagView/dagView.js +501 -0
  375. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  377. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  378. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  379. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +68 -0
  381. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  383. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  384. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  385. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/kbd/kbd.js +45 -0
  387. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  388. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +70 -0
  389. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  390. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  391. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  393. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/list/listItem.js +58 -19
  395. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  396. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  397. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  398. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  399. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +86 -0
  401. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  403. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  405. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +29 -0
  407. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  408. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +359 -0
  409. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  410. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  411. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  412. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  413. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  415. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  417. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  418. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  419. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  420. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  421. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  422. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  423. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  424. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  425. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  426. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  427. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  428. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  429. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  430. package/dist/headless/components/dataDisplay/treeView/treeView.js +164 -96
  431. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  432. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  433. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  434. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  435. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  436. package/dist/headless/components/feedBack/message/message.js +17 -13
  437. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  438. package/dist/headless/components/feedBack/modal/modal.js +71 -53
  439. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  440. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  441. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  442. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  443. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  444. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  445. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  446. package/dist/headless/components/inputs/button/button.js +71 -36
  447. package/dist/headless/components/inputs/button/button.js.map +1 -1
  448. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  449. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  450. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  451. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  452. package/dist/headless/components/inputs/composer/composer.js +274 -0
  453. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  454. package/dist/headless/components/inputs/composer/composerFiles.js +18 -0
  455. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  456. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  457. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  458. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  459. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  460. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  461. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  462. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  463. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  464. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  465. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  466. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  467. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  468. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  469. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  470. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  471. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  472. package/dist/headless/components/inputs/rating/rating.js +74 -53
  473. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  474. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  475. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  476. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  477. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  478. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  479. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  480. package/dist/headless/components/inputs/slider/slider.js +320 -197
  481. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  482. package/dist/headless/components/inputs/textField/textField.js +104 -51
  483. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  484. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  485. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  486. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  487. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  488. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  489. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  490. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  491. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  492. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  493. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  494. package/dist/headless/components/layout/divider/divider.js +19 -17
  495. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  496. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  497. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  498. package/dist/headless/components/layout/grid/grid.js +54 -46
  499. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  500. package/dist/headless/components/layout/page/page.js +12 -10
  501. package/dist/headless/components/layout/page/page.js.map +1 -1
  502. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  503. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  504. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  505. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  506. package/dist/headless/components/layout/sheet/sheet.js +101 -85
  507. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  508. package/dist/headless/components/layout/stack/stack.js +23 -21
  509. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  510. package/dist/headless/components/layout/tabGroups/tabGroups.js +893 -0
  511. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  512. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  513. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  514. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  515. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  516. package/dist/headless/components/navigation/appBar/appBar.js +68 -28
  517. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  518. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  519. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  520. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  521. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  522. package/dist/headless/components/navigation/commandPalette/commandPalette.js +455 -0
  523. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  524. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  525. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  526. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  527. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  528. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  529. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  530. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  531. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  532. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  533. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  534. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  535. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  536. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  537. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  538. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  539. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  540. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  541. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  542. package/dist/headless/components/navigation/sidebar/sidebar.js +39 -35
  543. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  544. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  545. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  546. package/dist/headless/components/navigation/tabs/tab/tab.js +175 -44
  547. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  548. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +32 -0
  549. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  550. package/dist/headless/components/navigation/tabs/tabs.js +389 -147
  551. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  552. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  553. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  554. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  555. package/dist/headless/index.js +405 -363
  556. package/dist/headless/index.js.map +1 -1
  557. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  558. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  559. package/dist/headless/primitives/createFocusTrap.js +17 -16
  560. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  561. package/dist/headless/primitives/createHelperText.js +14 -0
  562. package/dist/headless/primitives/createHelperText.js.map +1 -0
  563. package/dist/headless/primitives/createKeyboardShortcut.js +16 -0
  564. package/dist/headless/primitives/createKeyboardShortcut.js.map +1 -0
  565. package/dist/headless/primitives/mergeStyle.js +9 -0
  566. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  567. package/dist/headless/primitives/overlayLayer.js +14 -7
  568. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  569. package/dist/headless/primitives/restoreFocus.js +10 -0
  570. package/dist/headless/primitives/restoreFocus.js.map +1 -0
  571. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  572. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  573. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  574. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  575. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  576. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  577. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  578. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  579. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  580. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  581. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  582. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  583. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  584. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  585. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +38 -4
  586. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  587. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  588. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  589. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  590. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  591. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  592. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  593. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  594. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  595. package/dist/headless/source/components/dataDisplay/chat/index.js.map +1 -1
  596. package/dist/headless/source/components/dataDisplay/chat/utils.js.map +2 -2
  597. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  598. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  599. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  600. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  601. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  602. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  603. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +648 -0
  604. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  605. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  606. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  607. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  608. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  609. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  610. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  611. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx +76 -0
  612. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  613. package/dist/headless/source/components/dataDisplay/diffStat/index.js +19 -0
  614. package/dist/headless/source/components/dataDisplay/diffStat/index.js.map +7 -0
  615. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  616. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  617. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  618. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  619. package/dist/headless/source/components/dataDisplay/kbd/index.js +9 -0
  620. package/dist/headless/source/components/dataDisplay/kbd/index.js.map +7 -0
  621. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx +48 -0
  622. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  623. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  624. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  625. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  626. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  627. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  628. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  629. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +47 -16
  630. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  631. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  632. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  633. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  634. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  635. package/dist/headless/source/components/dataDisplay/qrCode/index.js +6 -0
  636. package/dist/headless/source/components/dataDisplay/qrCode/index.js.map +7 -0
  637. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx +94 -0
  638. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  639. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  640. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  641. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  642. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  643. package/dist/headless/source/components/dataDisplay/statusDot/index.js +6 -0
  644. package/dist/headless/source/components/dataDisplay/statusDot/index.js.map +7 -0
  645. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx +28 -0
  646. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  647. package/dist/headless/source/components/dataDisplay/swimlanes/index.js +15 -0
  648. package/dist/headless/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  649. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx +450 -0
  650. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  651. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  652. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  653. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  654. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  655. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  656. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  657. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  658. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  659. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  660. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  661. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  662. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  663. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  664. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  665. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  666. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  667. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  668. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  669. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  670. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  671. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  672. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  673. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  674. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  675. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  676. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  677. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  678. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  679. package/dist/headless/source/components/feedBack/modal/modal.jsx +39 -6
  680. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  681. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  682. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  683. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  684. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  685. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  686. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  687. package/dist/headless/source/components/inputs/button/button.jsx +14 -5
  688. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  689. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  690. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  691. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  692. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  693. package/dist/headless/source/components/inputs/composer/composer.jsx +319 -0
  694. package/dist/headless/source/components/inputs/composer/composer.jsx.map +1 -0
  695. package/dist/headless/source/components/inputs/composer/composerFiles.js +27 -0
  696. package/dist/headless/source/components/inputs/composer/composerFiles.js.map +7 -0
  697. package/dist/headless/source/components/inputs/composer/composerKeys.js +11 -0
  698. package/dist/headless/source/components/inputs/composer/composerKeys.js.map +7 -0
  699. package/dist/headless/source/components/inputs/composer/index.js +5 -0
  700. package/dist/headless/source/components/inputs/composer/index.js.map +7 -0
  701. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  702. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  703. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  704. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  705. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  706. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  707. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  708. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  709. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  710. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  711. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  712. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  713. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  714. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  715. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  716. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  717. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  718. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  719. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  720. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  721. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  722. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  723. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  724. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  725. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  726. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  727. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  728. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  729. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  730. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  731. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  732. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  733. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  734. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  735. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  736. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  737. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  738. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  739. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  740. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  741. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  742. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  743. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  744. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  745. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  746. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  747. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  748. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  749. package/dist/headless/source/components/layout/sheet/sheet.jsx +39 -19
  750. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  751. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  752. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  753. package/dist/headless/source/components/layout/tabGroups/index.js +8 -0
  754. package/dist/headless/source/components/layout/tabGroups/index.js.map +7 -0
  755. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx +1117 -0
  756. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  757. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  758. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  759. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  760. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  761. package/dist/headless/source/components/navigation/appBar/appBar.jsx +30 -5
  762. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  763. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  764. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  765. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  766. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  767. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx +506 -0
  768. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  769. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  770. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  771. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  772. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  773. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  774. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  775. package/dist/headless/source/components/navigation/commandPalette/index.js +11 -0
  776. package/dist/headless/source/components/navigation/commandPalette/index.js.map +7 -0
  777. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  778. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  779. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  780. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  781. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  782. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  783. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  784. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  785. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  786. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  787. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  788. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  789. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  790. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  791. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +6 -3
  792. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  793. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  794. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  795. package/dist/headless/source/components/navigation/tabs/index.js +2 -0
  796. package/dist/headless/source/components/navigation/tabs/index.js.map +2 -2
  797. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +144 -21
  798. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  799. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx +28 -0
  800. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  801. package/dist/headless/source/components/navigation/tabs/tabs.jsx +392 -20
  802. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  803. package/dist/headless/source/components/navigation/tabs/tabs.utils.js +18 -0
  804. package/dist/headless/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  805. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  806. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  807. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  808. package/dist/headless/source/index.js +44 -1
  809. package/dist/headless/source/index.js.map +2 -2
  810. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  811. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  812. package/dist/headless/source/primitives/createFocusTrap.js +9 -3
  813. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  814. package/dist/headless/source/primitives/createHelperText.js +16 -0
  815. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  816. package/dist/headless/source/primitives/createKeyboardShortcut.js +23 -0
  817. package/dist/headless/source/primitives/createKeyboardShortcut.js.map +7 -0
  818. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  819. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  820. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  821. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  822. package/dist/headless/source/primitives/restoreFocus.js +14 -0
  823. package/dist/headless/source/primitives/restoreFocus.js.map +7 -0
  824. package/dist/headless/source/utils/controlProps.js +22 -0
  825. package/dist/headless/source/utils/controlProps.js.map +7 -0
  826. package/dist/headless/source/utils/keyboardShortcut.js +74 -0
  827. package/dist/headless/source/utils/keyboardShortcut.js.map +7 -0
  828. package/dist/headless/source/utils/linkAttrs.js +16 -0
  829. package/dist/headless/source/utils/linkAttrs.js.map +7 -0
  830. package/dist/headless/source/utils/ownClick.js +41 -0
  831. package/dist/headless/source/utils/ownClick.js.map +7 -0
  832. package/dist/headless/utils/controlProps.js +20 -0
  833. package/dist/headless/utils/controlProps.js.map +1 -0
  834. package/dist/headless/utils/keyboardShortcut.js +48 -0
  835. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  836. package/dist/headless/utils/linkAttrs.js +13 -0
  837. package/dist/headless/utils/linkAttrs.js.map +1 -0
  838. package/dist/headless/utils/ownClick.js +39 -0
  839. package/dist/headless/utils/ownClick.js.map +1 -0
  840. package/dist/index.d.ts +26 -3
  841. package/dist/index.js +405 -363
  842. package/dist/index.js.map +1 -1
  843. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  844. package/dist/primitives/createDismissOnEscape.js +14 -0
  845. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  846. package/dist/primitives/createFocusTrap.d.ts +7 -0
  847. package/dist/primitives/createFocusTrap.js +17 -16
  848. package/dist/primitives/createFocusTrap.js.map +1 -1
  849. package/dist/primitives/createHelperText.d.ts +26 -0
  850. package/dist/primitives/createHelperText.js +14 -0
  851. package/dist/primitives/createHelperText.js.map +1 -0
  852. package/dist/primitives/createKeyboardShortcut.d.ts +23 -0
  853. package/dist/primitives/createKeyboardShortcut.js +16 -0
  854. package/dist/primitives/createKeyboardShortcut.js.map +1 -0
  855. package/dist/primitives/mergeStyle.d.ts +19 -0
  856. package/dist/primitives/mergeStyle.js +9 -0
  857. package/dist/primitives/mergeStyle.js.map +1 -0
  858. package/dist/primitives/overlayLayer.d.ts +15 -3
  859. package/dist/primitives/overlayLayer.js +14 -7
  860. package/dist/primitives/overlayLayer.js.map +1 -1
  861. package/dist/primitives/restoreFocus.d.ts +8 -0
  862. package/dist/primitives/restoreFocus.js +10 -0
  863. package/dist/primitives/restoreFocus.js.map +1 -0
  864. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  865. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  866. package/dist/source/components/base/icon/icon.jsx +10 -12
  867. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  868. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  869. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  870. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  871. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  872. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  873. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  874. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  875. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  876. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  877. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  878. package/dist/source/components/dataDisplay/chat/chat.jsx +38 -4
  879. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  880. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  881. package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  882. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  883. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  884. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  885. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  886. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  887. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  888. package/dist/source/components/dataDisplay/chat/index.js.map +1 -1
  889. package/dist/source/components/dataDisplay/chat/utils.js.map +2 -2
  890. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  891. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  892. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  893. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  894. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  895. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  896. package/dist/source/components/dataDisplay/dagView/dagView.jsx +650 -0
  897. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  898. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  899. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  900. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  901. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  902. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  903. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  904. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx +78 -0
  905. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  906. package/dist/source/components/dataDisplay/diffStat/index.js +19 -0
  907. package/dist/source/components/dataDisplay/diffStat/index.js.map +7 -0
  908. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  909. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  910. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  911. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  912. package/dist/source/components/dataDisplay/kbd/index.js +9 -0
  913. package/dist/source/components/dataDisplay/kbd/index.js.map +7 -0
  914. package/dist/source/components/dataDisplay/kbd/kbd.jsx +50 -0
  915. package/dist/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  916. package/dist/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  917. package/dist/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  918. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  919. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  920. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  921. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  922. package/dist/source/components/dataDisplay/list/listItem.jsx +47 -16
  923. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  924. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  925. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  926. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  927. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  928. package/dist/source/components/dataDisplay/qrCode/index.js +6 -0
  929. package/dist/source/components/dataDisplay/qrCode/index.js.map +7 -0
  930. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx +96 -0
  931. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  932. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  933. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  934. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  935. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  936. package/dist/source/components/dataDisplay/statusDot/index.js +6 -0
  937. package/dist/source/components/dataDisplay/statusDot/index.js.map +7 -0
  938. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx +30 -0
  939. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  940. package/dist/source/components/dataDisplay/swimlanes/index.js +15 -0
  941. package/dist/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  942. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx +452 -0
  943. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  944. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  945. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  946. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  947. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  948. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  949. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  950. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  951. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  952. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  953. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  954. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  955. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  956. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  957. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  958. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  959. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  960. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  961. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  962. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  963. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  964. package/dist/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  965. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  966. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  967. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  968. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  969. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  970. package/dist/source/components/feedBack/message/message.jsx +5 -4
  971. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  972. package/dist/source/components/feedBack/modal/modal.jsx +39 -6
  973. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  974. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  975. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  976. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  977. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  978. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  979. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  980. package/dist/source/components/inputs/button/button.jsx +14 -5
  981. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  982. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  983. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  984. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  985. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  986. package/dist/source/components/inputs/composer/composer.jsx +321 -0
  987. package/dist/source/components/inputs/composer/composer.jsx.map +1 -0
  988. package/dist/source/components/inputs/composer/composerFiles.js +27 -0
  989. package/dist/source/components/inputs/composer/composerFiles.js.map +7 -0
  990. package/dist/source/components/inputs/composer/composerKeys.js +11 -0
  991. package/dist/source/components/inputs/composer/composerKeys.js.map +7 -0
  992. package/dist/source/components/inputs/composer/index.js +5 -0
  993. package/dist/source/components/inputs/composer/index.js.map +7 -0
  994. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  995. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  996. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  997. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  998. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  999. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  1000. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  1001. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  1002. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  1003. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  1004. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  1005. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  1006. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  1007. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  1008. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  1009. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  1010. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  1011. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  1012. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  1013. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  1014. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  1015. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  1016. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  1017. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  1018. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  1019. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  1020. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  1021. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  1022. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  1023. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  1024. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  1025. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  1026. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  1027. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  1028. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  1029. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  1030. package/dist/source/components/layout/divider/divider.jsx +6 -5
  1031. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  1032. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  1033. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  1034. package/dist/source/components/layout/grid/grid.jsx +20 -8
  1035. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  1036. package/dist/source/components/layout/page/page.jsx +10 -2
  1037. package/dist/source/components/layout/page/page.jsx.map +1 -1
  1038. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  1039. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  1040. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  1041. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  1042. package/dist/source/components/layout/sheet/sheet.jsx +39 -19
  1043. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  1044. package/dist/source/components/layout/stack/stack.jsx +15 -11
  1045. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  1046. package/dist/source/components/layout/tabGroups/index.js +8 -0
  1047. package/dist/source/components/layout/tabGroups/index.js.map +7 -0
  1048. package/dist/source/components/layout/tabGroups/tabGroups.jsx +1119 -0
  1049. package/dist/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  1050. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  1051. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  1052. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  1053. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  1054. package/dist/source/components/navigation/appBar/appBar.jsx +30 -5
  1055. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  1056. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  1057. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  1058. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  1059. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  1060. package/dist/source/components/navigation/commandPalette/commandPalette.jsx +508 -0
  1061. package/dist/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  1062. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  1063. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  1064. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  1065. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  1066. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  1067. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  1068. package/dist/source/components/navigation/commandPalette/index.js +11 -0
  1069. package/dist/source/components/navigation/commandPalette/index.js.map +7 -0
  1070. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  1071. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  1072. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  1073. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  1074. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  1075. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  1076. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  1077. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  1078. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  1079. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  1080. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  1081. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  1082. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  1083. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  1084. package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -3
  1085. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  1086. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  1087. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  1088. package/dist/source/components/navigation/tabs/index.js +2 -0
  1089. package/dist/source/components/navigation/tabs/index.js.map +2 -2
  1090. package/dist/source/components/navigation/tabs/tab/tab.jsx +144 -21
  1091. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  1092. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx +30 -0
  1093. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  1094. package/dist/source/components/navigation/tabs/tabs.jsx +392 -20
  1095. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  1096. package/dist/source/components/navigation/tabs/tabs.utils.js +18 -0
  1097. package/dist/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  1098. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  1099. package/dist/source/connects/rt/table/table.jsx +7 -2
  1100. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  1101. package/dist/source/index.js +44 -1
  1102. package/dist/source/index.js.map +2 -2
  1103. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  1104. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  1105. package/dist/source/primitives/createFocusTrap.js +9 -3
  1106. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  1107. package/dist/source/primitives/createHelperText.js +16 -0
  1108. package/dist/source/primitives/createHelperText.js.map +7 -0
  1109. package/dist/source/primitives/createKeyboardShortcut.js +23 -0
  1110. package/dist/source/primitives/createKeyboardShortcut.js.map +7 -0
  1111. package/dist/source/primitives/mergeStyle.js +15 -0
  1112. package/dist/source/primitives/mergeStyle.js.map +7 -0
  1113. package/dist/source/primitives/overlayLayer.js +10 -2
  1114. package/dist/source/primitives/overlayLayer.js.map +2 -2
  1115. package/dist/source/primitives/restoreFocus.js +14 -0
  1116. package/dist/source/primitives/restoreFocus.js.map +7 -0
  1117. package/dist/source/utils/controlProps.js +22 -0
  1118. package/dist/source/utils/controlProps.js.map +7 -0
  1119. package/dist/source/utils/keyboardShortcut.js +74 -0
  1120. package/dist/source/utils/keyboardShortcut.js.map +7 -0
  1121. package/dist/source/utils/linkAttrs.js +16 -0
  1122. package/dist/source/utils/linkAttrs.js.map +7 -0
  1123. package/dist/source/utils/ownClick.js +41 -0
  1124. package/dist/source/utils/ownClick.js.map +7 -0
  1125. package/dist/utils/controlProps.d.ts +17 -0
  1126. package/dist/utils/controlProps.js +20 -0
  1127. package/dist/utils/controlProps.js.map +1 -0
  1128. package/dist/utils/keyboardShortcut.d.ts +12 -0
  1129. package/dist/utils/keyboardShortcut.js +48 -0
  1130. package/dist/utils/keyboardShortcut.js.map +1 -0
  1131. package/dist/utils/linkAttrs.d.ts +13 -0
  1132. package/dist/utils/linkAttrs.js +13 -0
  1133. package/dist/utils/linkAttrs.js.map +1 -0
  1134. package/dist/utils/ownClick.d.ts +16 -0
  1135. package/dist/utils/ownClick.js +39 -0
  1136. package/dist/utils/ownClick.js.map +1 -0
  1137. package/package.json +72 -3
@@ -1 +1 @@
1
- {"version":3,"file":"thumbCard.js","sources":["../../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { LazyImage } from \"../lazyImage\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ThumbCardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n caption?: JSX.Element;\n selected?: boolean;\n /** Makes the card a selectable button (keyboard + `aria-pressed`). */\n onSelect?: () => void;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: JSX.Element;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: JSX.Element | string;\n /** Top-left overlay slot (e.g. a favourite star). */\n topStart?: JSX.Element;\n /** Top-right overlay slot (e.g. a kebab menu). */\n topEnd?: JSX.Element;\n lazy?: boolean;\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n */\nexport function ThumbCard(props: ThumbCardProps): JSX.Element {\n const merged = mergeProps({ lazy: true, hoverDelay: 350 }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"caption\",\n \"selected\",\n \"onSelect\",\n \"fallback\",\n \"hoverPreview\",\n \"topStart\",\n \"topEnd\",\n \"lazy\",\n \"disabled\",\n \"hoverDelay\",\n \"class\",\n \"ref\",\n ]);\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n // (The hover preview is read on hover only, after hydration.)\n const topStart = children(() => local.topStart);\n const topEnd = children(() => local.topEnd);\n const caption = children(() => local.caption);\n\n const floating = createFloating({ placement: () => \"right\" });\n const [previewOpen, setPreviewOpen] = createSignal(false);\n let hoverTimer: ReturnType<typeof setTimeout> | undefined;\n\n const clearTimer = (): void => {\n if (hoverTimer) {\n clearTimeout(hoverTimer);\n hoverTimer = undefined;\n }\n };\n const onEnter = (): void => {\n if (local.hoverPreview == null || local.disabled) return;\n clearTimer();\n hoverTimer = setTimeout(() => setPreviewOpen(true), local.hoverDelay);\n };\n const onLeave = (): void => {\n clearTimer();\n setPreviewOpen(false);\n };\n onCleanup(clearTimer);\n\n const interactive = (): boolean => !!local.onSelect && !local.disabled;\n const onKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n if (interactive() && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n local.onSelect?.();\n }\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref, (el) => floating.setReference(el))}\n class={cn(\"smwb-thumb-card\", local.class, {\n \"smwb-thumb-card--selected\": local.selected,\n \"smwb-thumb-card--disabled\": local.disabled,\n \"smwb-thumb-card--interactive\": interactive(),\n })}\n role={interactive() ? \"button\" : undefined}\n tabindex={interactive() ? 0 : undefined}\n aria-pressed={local.onSelect ? (local.selected ?? false) : undefined}\n aria-disabled={local.disabled || undefined}\n onClick={interactive() ? () => local.onSelect?.() : undefined}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div class=\"smwb-thumb-card__media\">\n <LazyImage src={local.src} lazy={local.lazy} fallback={local.fallback} />\n <Show when={topStart()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{topStart()}</div>\n </Show>\n <Show when={topEnd()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{topEnd()}</div>\n </Show>\n </div>\n <Show when={caption()}>\n <div class=\"smwb-thumb-card__caption\">{caption()}</div>\n </Show>\n <Show when={previewOpen() && !isServer}>\n <Portal>\n <div class=\"smwb-thumb-card__preview\" ref={(el) => floating.setFloating(el)} style={floating.floatingStyles()}>\n {typeof local.hoverPreview === \"string\" ? (\n <img src={local.hoverPreview} alt=\"\" />\n ) : (\n (local.hoverPreview as JSX.Element)\n )}\n </div>\n </Portal>\n </Show>\n </div>\n );\n}\n\nexport default ThumbCard;\n"],"names":["ThumbCard","props","merged","mergeProps","lazy","hoverDelay","local","rest","splitProps","topStart","children","topEnd","caption","floating","createFloating","placement","previewOpen","setPreviewOpen","createSignal","hoverTimer","clearTimer","clearTimeout","undefined","onEnter","hoverPreview","disabled","setTimeout","onLeave","onCleanup","interactive","onSelect","onKeyDown","event","key","preventDefault","_el$","_tmpl$5","_el$2","firstChild","_ref$","mergeRefs","ref","el","setReference","_$use","_$spread","_$mergeProps","cn","class","selected","role","tabindex","_$memo","onClick","_$insert","_$createComponent","LazyImage","src","fallback","Show","when","_el$3","_tmpl$","_el$4","_tmpl$2","_el$5","_tmpl$3","isServer","Portal","_el$6","_tmpl$4","setFloating","_c$","_el$7","_tmpl$6","_$effect","_$setAttribute","_$p","_$style","floatingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"thumbCard.js","sources":["../../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { LazyImage } from \"../lazyImage\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport { isOwnClick } from \"../../../utils/ownClick\";\nimport { splitControlProps } from \"../../../utils/controlProps\";\n\nexport interface ThumbCardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /**\n * Class name(s) for the root `<div>`, the card's box. `style`, `id`, `data-*`, `aria-hidden`, `ref` and event\n * handlers go to the root too, but `role`, `tabindex`, `onFocus`, `onBlur` and the other `aria-*` attributes go to\n * the card's content, `.smwb-thumb-card__content` (the image and the caption): that is the card's button when it has\n * `onSelect`, and the element to focus.\n */\n class?: string | undefined;\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n /**\n * Text under the image. With `onSelect` it is part of the card's button and names it, so keep controls out of it:\n * they go in `topStart` / `topEnd`.\n */\n caption?: JSX.Element;\n /** Outlines the image; with `onSelect`, the card's button is also `aria-pressed=\"true\"`. */\n selected?: boolean;\n /**\n * Makes the card selectable: its content (the image and the caption) becomes a toggle button with `aria-pressed`,\n * selected by a click and by Enter / Space. The corner slots are not part of that button but its siblings, laid over\n * the image, so their controls keep their own names, clicks and keys.\n *\n * A click selects the card unless it lands in a control in a slot (button, link, input, anything focusable) or in a\n * portal opened from the card. Slot content that is not a control keeps its click from selecting the card by calling\n * `preventDefault()` on it.\n */\n onSelect?: () => void;\n /**\n * Runs on each click on the card, before `onSelect`, but not while the card is `disabled`.\n * A click on a control in a slot runs it too, without selecting the card.\n * Enter / Space select the card without a click, so they call only `onSelect`.\n */\n onClick?: JSX.EventHandlerUnion<HTMLDivElement, MouseEvent> | undefined;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: JSX.Element;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: JSX.Element | string;\n /**\n * Top-left overlay slot (e.g. a favourite star). It sits over the image, outside the card's button, so controls here\n * keep their own names, clicks and keys; see `onSelect`.\n */\n topStart?: JSX.Element;\n /**\n * Top-right overlay slot (e.g. a kebab menu). It sits over the image, outside the card's button, so controls here\n * keep their own names, clicks and keys; see `onSelect`.\n */\n topEnd?: JSX.Element;\n lazy?: boolean;\n /**\n * Dims the card and ignores clicks on it: neither `onClick` nor `onSelect` runs.\n * Keys do not select it either, and there is no hover preview. With `onSelect`\n * the card is still a button, `aria-disabled` and out of the tab order.\n */\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n *\n * The root is a box around the card's content (the image and the caption, the\n * card's button when it is selectable) and the corner slots, which are laid\n * over the image beside that button rather than inside it.\n */\nexport function ThumbCard(props: ThumbCardProps): JSX.Element {\n const merged = mergeProps({ lazy: true, hoverDelay: 350 }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"caption\",\n \"selected\",\n \"onSelect\",\n \"fallback\",\n \"hoverPreview\",\n \"topStart\",\n \"topEnd\",\n \"lazy\",\n \"disabled\",\n \"hoverDelay\",\n \"class\",\n \"ref\",\n // The card sets these on its root too; its own handlers call the caller's.\n \"onClick\",\n \"onKeyDown\",\n \"onMouseEnter\",\n \"onMouseLeave\",\n ]);\n // What the card is to the keyboard and to assistive tech goes to its\n // content, the element that is its button; the rest stays on the root.\n const [control, box] = splitControlProps(rest);\n let content: HTMLDivElement | undefined;\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n // (The hover preview is read on hover only, after hydration.)\n const topStart = children(() => local.topStart);\n const topEnd = children(() => local.topEnd);\n const caption = children(() => local.caption);\n\n const floating = createFloating({ placement: () => \"right\" });\n const [previewOpen, setPreviewOpen] = createSignal(false);\n let hoverTimer: ReturnType<typeof setTimeout> | undefined;\n\n const clearTimer = (): void => {\n if (hoverTimer) {\n clearTimeout(hoverTimer);\n hoverTimer = undefined;\n }\n };\n const onEnter: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n callHandler(local.onMouseEnter, event);\n if (local.hoverPreview == null || local.disabled) return;\n clearTimer();\n hoverTimer = setTimeout(() => setPreviewOpen(true), local.hoverDelay);\n };\n const onLeave: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n callHandler(local.onMouseLeave, event);\n clearTimer();\n setPreviewOpen(false);\n };\n onCleanup(clearTimer);\n\n const interactive = (): boolean => !!local.onSelect && !local.disabled;\n // A disabled card ignores clicks, the caller's onClick included: it says\n // aria-disabled, and its styles turn pointer events off. The caller's onClick\n // sees every other click, those in the slots too, but only clicks on the\n // card's content and on what is not a control in a slot select it: not one\n // on a control in a slot, nor one in a Portal opened from the card. That is\n // settled before onClick runs, so what onClick does to the event or the DOM\n // does not change it.\n const onClick: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n if (local.disabled) return;\n const selects = isOwnClick(event, content ?? null);\n callHandler(local.onClick, event);\n if (selects) local.onSelect?.();\n };\n // Keys pressed on a control in a slot bubble up here too; only the keys of\n // the card's button select it.\n const onKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n callHandler(local.onKeyDown, event);\n if (!interactive() || event.target !== content) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n local.onSelect?.();\n }\n };\n\n return (\n <div\n {...box}\n ref={mergeRefs(local.ref, (el) => floating.setReference(el))}\n class={cn(\"smwb-thumb-card\", local.class, {\n \"smwb-thumb-card--selected\": local.selected,\n \"smwb-thumb-card--disabled\": local.disabled,\n \"smwb-thumb-card--interactive\": interactive(),\n })}\n onClick={onClick}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div\n {...control}\n ref={(el) => (content = el)}\n class=\"smwb-thumb-card__content\"\n // With onSelect the content is the card's button and says whether it is\n // pressed, and a disabled card says so: these win over the caller's, and\n // where the card sets none (undefined), the caller's stay. Its tabindex\n // is a default: the caller's wins, e.g. for roving focus.\n role={local.onSelect ? \"button\" : undefined}\n tabindex={control.tabindex ?? (interactive() ? 0 : undefined)}\n aria-pressed={local.onSelect ? (local.selected ?? false) : undefined}\n aria-disabled={local.disabled || undefined}\n >\n <div class=\"smwb-thumb-card__media\">\n <LazyImage src={local.src} lazy={local.lazy} fallback={local.fallback} />\n </div>\n <Show when={caption()}>\n <div class=\"smwb-thumb-card__caption\">{caption()}</div>\n </Show>\n </div>\n {/* Beside the button, not in it: controls here keep their names and input. */}\n <Show when={topStart()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{topStart()}</div>\n </Show>\n <Show when={topEnd()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{topEnd()}</div>\n </Show>\n <Show when={previewOpen() && !isServer}>\n <Portal>\n <div class=\"smwb-thumb-card__preview\" ref={(el) => floating.setFloating(el)} style={floating.floatingStyles()}>\n {typeof local.hoverPreview === \"string\" ? (\n <img src={local.hoverPreview} alt=\"\" />\n ) : (\n (local.hoverPreview as JSX.Element)\n )}\n </div>\n </Portal>\n </Show>\n </div>\n );\n}\n\nexport default ThumbCard;\n"],"names":["ThumbCard","props","merged","mergeProps","lazy","hoverDelay","local","rest","splitProps","control","box","splitControlProps","content","topStart","children","topEnd","caption","floating","createFloating","placement","previewOpen","setPreviewOpen","createSignal","hoverTimer","clearTimer","clearTimeout","undefined","onEnter","event","callHandler","onMouseEnter","hoverPreview","disabled","setTimeout","onLeave","onMouseLeave","onCleanup","interactive","onSelect","onClick","selects","isOwnClick","onKeyDown","target","key","preventDefault","_el$","_tmpl$5","_el$2","firstChild","_el$3","_ref$","mergeRefs","ref","el","setReference","_$use","_$spread","_$mergeProps","cn","class","selected","role","tabindex","_$memo","_$insert","_$createComponent","LazyImage","src","fallback","Show","when","_el$4","_tmpl$","_el$5","_tmpl$2","_el$6","_tmpl$3","isServer","Portal","_el$7","_tmpl$4","setFloating","_c$","_el$8","_tmpl$6","_$effect","_$setAttribute","_$p","_$style","floatingStyles"],"mappings":"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"}
@@ -1,93 +1,156 @@
1
- import { createComponent as s, use as D, spread as R, mergeProps as F, insert as g, template as _, effect as S, setAttribute as E, memo as y, className as K, delegateEvents as j } from "solid-js/web";
2
- import { mergeProps as q, splitProps as B, createSignal as P, For as V, createContext as G, useContext as H, Show as L } from "solid-js";
3
- import z from "clsx";
4
- import { createControllableState as O } from "../../../primitives/createControllableState.js";
5
- import { mergeRefs as J } from "../../../primitives/mergeRefs.js";
1
+ import { createComponent as i, use as F, spread as K, mergeProps as U, insert as f, template as w, setAttribute as v, effect as E, memo as N, className as j, delegateEvents as B } from "solid-js/web";
2
+ import { mergeProps as G, splitProps as H, createSignal as P, createContext as J, createMemo as $, For as Q, useContext as W, createUniqueId as X, Show as x } from "solid-js";
3
+ import q from "clsx";
4
+ import { createControllableState as z } from "../../../primitives/createControllableState.js";
5
+ import { mergeRefs as Y } from "../../../primitives/mergeRefs.js";
6
+ import { isOwnClick as Z } from "../../../utils/ownClick.js";
6
7
  import { Icon as T } from "../../base/icon/icon.js";
7
- var M = /* @__PURE__ */ _("<input type=checkbox class=smwb-tree__node__checkbox>"), Q = /* @__PURE__ */ _("<div role=group>"), U = /* @__PURE__ */ _("<div role=treeitem><span class=smwb-tree__node__content tabindex=0 role=button><span class=smwb-tree__node__label>"), W = /* @__PURE__ */ _("<div class=smwb-tree__node__loading role=status>Загрузка…"), X = /* @__PURE__ */ _("<div>"), Y = /* @__PURE__ */ _("<div class=smwb-tree__wrapper role=presentation>");
8
- const A = G();
9
- function N(o) {
10
- const n = H(A), e = () => o.item.id ?? o.path, h = () => o.item.children ?? n.loadedChildren()[e()], $ = () => n.hasLoader && (!!o.item.hasChildren || !!n.loadedChildren()[e()]), c = () => !!h() && (h()?.length ?? 0) > 0 || $(), f = () => n.expandedIds().includes(e()), m = () => n.selectedIds().includes(e()), I = () => n.loadingIds().includes(e()), x = () => {
11
- c() && (f() || n.ensureLoaded(o.item, e()), n.toggleExpanded(e())), n.selectable && n.toggleSelected(e());
12
- }, p = (a) => {
13
- a.key === "Enter" || a.key === " " ? (a.preventDefault(), x()) : a.key === "ArrowRight" && c() ? (n.ensureLoaded(o.item, e()), n.setOpen(e(), !0)) : a.key === "ArrowLeft" && c() && n.setOpen(e(), !1);
8
+ var ee = /* @__PURE__ */ w("<div class=smwb-tree__wrapper role=presentation>"), te = /* @__PURE__ */ w("<input type=checkbox class=smwb-tree__node__checkbox>"), ne = /* @__PURE__ */ w("<div role=group>"), re = /* @__PURE__ */ w("<div role=treeitem><div class=smwb-tree__node__row><span class=smwb-tree__node__toggle aria-hidden=true></span><span class=smwb-tree__node__content tabindex=0 role=button><span class=smwb-tree__node__label>"), le = /* @__PURE__ */ w("<span class=smwb-tree__node__actions>"), oe = /* @__PURE__ */ w("<div class=smwb-tree__node__loading role=status>"), de = /* @__PURE__ */ w("<div>");
9
+ const D = J();
10
+ function ae(s, t) {
11
+ if (s === t) return !0;
12
+ if (s.id !== t.id || s.label !== t.label || s.hasChildren !== t.hasChildren) return !1;
13
+ const e = s.children, c = t.children;
14
+ return e === c ? !0 : !e || !c || e.length !== c.length ? !1 : e.every((o, g) => {
15
+ const u = c[g];
16
+ return !!u && o.id === u.id && o.label === u.label && o.hasChildren === u.hasChildren;
17
+ });
18
+ }
19
+ function M(s) {
20
+ const t = $(() => s.items.map((o, g) => {
21
+ const u = s.path === "" ? `${g}` : `${s.path}.${g}`;
22
+ return {
23
+ id: o.id ?? u,
24
+ item: o,
25
+ path: u
26
+ };
27
+ })), e = $(() => new Map(t().map((o) => [o.id, o]))), c = $(() => t().map((o) => o.id));
28
+ return i(Q, {
29
+ get each() {
30
+ return c();
31
+ },
32
+ children: (o) => {
33
+ let g = e().get(o);
34
+ const u = () => g = e().get(o) ?? g;
35
+ return s.wrap ? (() => {
36
+ var m = ee();
37
+ return f(m, i(V, {
38
+ entry: u
39
+ })), m;
40
+ })() : i(V, {
41
+ entry: u
42
+ });
43
+ }
44
+ });
45
+ }
46
+ function V(s) {
47
+ const t = W(D), e = s.entry().id, c = () => s.entry().item, o = `${X()}-label`, g = $(() => c(), void 0, {
48
+ equals: ae
49
+ }), u = $(() => t.renderLabel ? t.renderLabel(g(), e) : g().label), m = () => c().children ?? t.loadedChildren()[e], I = () => t.hasLoader && (!!c().hasChildren || !!t.loadedChildren()[e]), h = () => !!m() && (m()?.length ?? 0) > 0 || I(), b = () => t.expandedIds().includes(e), C = () => t.selectedIds().includes(e), L = () => t.loadingIds().includes(e), y = () => {
50
+ b() || t.ensureLoaded(c(), e), t.toggleExpanded(e);
51
+ }, S = () => {
52
+ t.toggleOnRowClick && h() && y(), t.selectable && t.toggleSelected(e);
53
+ }, O = (d) => {
54
+ d.target === d.currentTarget && (d.key === "Enter" || d.key === " " ? (d.preventDefault(), S()) : d.key === "ArrowRight" && h() ? (t.ensureLoaded(c(), e), t.setOpen(e, !0)) : d.key === "ArrowLeft" && h() && t.setOpen(e, !1));
55
+ }, A = (d) => {
56
+ Z(d) && S();
14
57
  };
15
58
  return (() => {
16
- var a = U(), b = a.firstChild, k = b.firstChild;
17
- return b.$$keydown = p, b.$$click = x, g(b, s(L, {
59
+ var d = re(), n = d.firstChild, r = n.firstChild, l = r.nextSibling, _ = l.firstChild;
60
+ return v(d, "aria-labelledby", o), r.$$click = () => h() && y(), f(r, i(x, {
18
61
  get when() {
19
- return n.checkboxes;
62
+ return h();
20
63
  },
21
64
  get children() {
22
- var r = M();
23
- return r.addEventListener("change", () => n.toggleSelected(e())), r.$$click = (u) => u.stopPropagation(), S(() => E(r, "aria-label", o.item.label)), S(() => r.checked = m()), r;
65
+ return i(T, {
66
+ get name() {
67
+ return b() ? "expand_more" : "chevron_right";
68
+ },
69
+ size: 20
70
+ });
24
71
  }
25
- }), k), g(k, s(L, {
72
+ })), f(n, i(x, {
26
73
  get when() {
27
- return c();
74
+ return t.checkboxes;
75
+ },
76
+ get children() {
77
+ var a = te();
78
+ return a.addEventListener("change", () => t.toggleSelected(e)), E(() => v(a, "aria-label", c().label)), E(() => a.checked = C()), a;
79
+ }
80
+ }), l), l.$$keydown = O, l.$$click = A, v(_, "id", o), f(_, i(x, {
81
+ get when() {
82
+ return h();
28
83
  },
29
84
  get fallback() {
30
- return s(T, {
85
+ return i(T, {
31
86
  get name() {
32
- return n.listIcon;
87
+ return t.listIcon;
33
88
  },
34
89
  size: 20
35
90
  });
36
91
  },
37
92
  get children() {
38
- return s(T, {
93
+ return i(T, {
39
94
  get name() {
40
- return y(() => !!f())() ? n.nodeIcon.opened ?? "folder_open" : n.nodeIcon.closed ?? "folder";
95
+ return N(() => !!b())() ? t.nodeIcon.opened ?? "folder_open" : t.nodeIcon.closed ?? "folder";
41
96
  },
42
97
  fill: 1,
43
98
  size: 20
44
99
  });
45
100
  }
46
- }), null), g(k, (() => {
47
- var r = y(() => !!n.renderLabel);
48
- return () => r() ? n.renderLabel(o.item, e()) : o.item.label;
49
- })(), null), g(a, s(L, {
101
+ }), null), f(_, u, null), f(n, i(x, {
102
+ get when() {
103
+ return t.renderActions;
104
+ },
105
+ children: (a) => {
106
+ const p = $(() => a()(g(), e));
107
+ return (() => {
108
+ var k = le();
109
+ return f(k, p), k;
110
+ })();
111
+ }
112
+ }), null), f(d, i(x, {
50
113
  get when() {
51
- return y(() => !!c())() && f();
114
+ return N(() => !!h())() && b();
52
115
  },
53
116
  get children() {
54
- var r = Q();
55
- return g(r, s(L, {
117
+ var a = ne();
118
+ return f(a, i(x, {
56
119
  get when() {
57
- return !(I() && !h());
120
+ return !(L() && !m());
58
121
  },
59
122
  get fallback() {
60
- return W();
123
+ return (() => {
124
+ var p = oe();
125
+ return f(p, () => t.loadingText), p;
126
+ })();
61
127
  },
62
128
  get children() {
63
- return s(V, {
64
- get each() {
65
- return h() ?? [];
129
+ return i(M, {
130
+ get items() {
131
+ return m() ?? [];
66
132
  },
67
- children: (u, C) => s(N, {
68
- item: u,
69
- get path() {
70
- return `${o.path}.${C()}`;
71
- }
72
- })
133
+ get path() {
134
+ return s.entry().path;
135
+ }
73
136
  });
74
137
  }
75
- })), r;
138
+ })), a;
76
139
  }
77
- }), null), S((r) => {
78
- var u = z("smwb-tree__node", {
79
- "smwb-tree__node_selected": m()
80
- }), C = c() ? f() : void 0, w = n.selectable || n.checkboxes ? m() : void 0;
81
- return u !== r.e && K(a, r.e = u), C !== r.t && E(a, "aria-expanded", r.t = C), w !== r.a && E(a, "aria-selected", r.a = w), r;
140
+ }), null), E((a) => {
141
+ var p = q("smwb-tree__node", {
142
+ "smwb-tree__node_selected": C()
143
+ }), k = h() ? b() : void 0, R = t.selectable || t.checkboxes ? C() : void 0;
144
+ return p !== a.e && j(d, a.e = p), k !== a.t && v(d, "aria-expanded", a.t = k), R !== a.a && v(d, "aria-selected", a.a = R), a;
82
145
  }, {
83
146
  e: void 0,
84
147
  t: void 0,
85
148
  a: void 0
86
- }), a;
149
+ }), d;
87
150
  })();
88
151
  }
89
- function de(o) {
90
- const n = q({
152
+ function me(s) {
153
+ const t = G({
91
154
  listIcon: "draft",
92
155
  nodeIcon: {
93
156
  closed: "folder",
@@ -97,41 +160,42 @@ function de(o) {
97
160
  defaultExpanded: [],
98
161
  defaultSelected: [],
99
162
  selectable: !1,
100
- checkboxes: !1
101
- }, o), [e, h] = B(n, ["class", "listIcon", "nodeIcon", "data", "expanded", "defaultExpanded", "onExpandedChange", "selected", "defaultSelected", "onSelectedChange", "selectable", "checkboxes", "renderLabel", "loadChildren", "ref"]), [$, c] = P({}), [f, m] = P([]), [I, x] = O({
163
+ checkboxes: !1,
164
+ loadingText: "Loading…"
165
+ }, s), [e, c] = H(t, ["class", "listIcon", "nodeIcon", "data", "expanded", "defaultExpanded", "onExpandedChange", "selected", "defaultSelected", "onSelectedChange", "selectable", "checkboxes", "toggleOnRowClick", "renderLabel", "renderActions", "loadingText", "loadChildren", "ref", "data-testid"]), [o, g] = P({}), [u, m] = P([]), [I, h] = z({
102
166
  value: () => e.expanded,
103
167
  defaultValue: e.defaultExpanded,
104
- onChange: (t) => e.onExpandedChange?.(t)
168
+ onChange: (n) => e.onExpandedChange?.(n)
105
169
  });
106
- let p;
107
- const [a, b] = O({
170
+ let b;
171
+ const [C, L] = z({
108
172
  value: () => e.selected,
109
173
  defaultValue: e.defaultSelected,
110
- onChange: (t) => {
111
- const l = p;
112
- p = void 0, e.onSelectedChange?.(t, l);
174
+ onChange: (n) => {
175
+ const r = b;
176
+ b = void 0, e.onSelectedChange?.(n, r);
113
177
  }
114
- }), w = {
178
+ }), d = {
115
179
  expandedIds: I,
116
- selectedIds: a,
117
- loadedChildren: $,
118
- loadingIds: f,
119
- toggleExpanded: (t) => x((l) => l.includes(t) ? l.filter((d) => d !== t) : [...l, t]),
120
- setOpen: (t, l) => x((d) => {
121
- const i = d.includes(t);
122
- return l && !i ? [...d, t] : !l && i ? d.filter((v) => v !== t) : d;
180
+ selectedIds: C,
181
+ loadedChildren: o,
182
+ loadingIds: u,
183
+ toggleExpanded: (n) => h((r) => r.includes(n) ? r.filter((l) => l !== n) : [...r, n]),
184
+ setOpen: (n, r) => h((l) => {
185
+ const _ = l.includes(n);
186
+ return r && !_ ? [...l, n] : !r && _ ? l.filter((a) => a !== n) : l;
123
187
  }),
124
- toggleSelected: (t) => {
125
- p = {
126
- id: t,
127
- selected: !a().includes(t)
128
- }, b((l) => l.includes(t) ? l.filter((d) => d !== t) : [...l, t]);
188
+ toggleSelected: (n) => {
189
+ b = {
190
+ id: n,
191
+ selected: !C().includes(n)
192
+ }, L((r) => r.includes(n) ? r.filter((l) => l !== n) : [...r, n]);
129
193
  },
130
- ensureLoaded: (t, l) => {
131
- !e.loadChildren || $()[l] || t.children && t.children.length > 0 || (m((d) => d.includes(l) ? d : [...d, l]), e.loadChildren(t, l).then((d) => c((i) => ({
132
- ...i,
133
- [l]: d
134
- }))).finally(() => m((d) => d.filter((i) => i !== l))));
194
+ ensureLoaded: (n, r) => {
195
+ !e.loadChildren || o()[r] || n.children && n.children.length > 0 || (m((l) => l.includes(r) ? l : [...l, r]), e.loadChildren(n, r).then((l) => g((_) => ({
196
+ ..._,
197
+ [r]: l
198
+ }))).finally(() => m((l) => l.filter((_) => _ !== r))));
135
199
  },
136
200
  get selectable() {
137
201
  return e.selectable;
@@ -139,6 +203,12 @@ function de(o) {
139
203
  get checkboxes() {
140
204
  return e.checkboxes;
141
205
  },
206
+ get toggleOnRowClick() {
207
+ return e.toggleOnRowClick ?? !e.selectable;
208
+ },
209
+ get loadingText() {
210
+ return e.loadingText;
211
+ },
142
212
  get nodeIcon() {
143
213
  return e.nodeIcon;
144
214
  },
@@ -148,39 +218,37 @@ function de(o) {
148
218
  get renderLabel() {
149
219
  return e.renderLabel;
150
220
  },
221
+ get renderActions() {
222
+ return e.renderActions;
223
+ },
151
224
  get hasLoader() {
152
225
  return !!e.loadChildren;
153
226
  }
154
227
  };
155
- return s(A.Provider, {
156
- value: w,
228
+ return i(D.Provider, {
229
+ value: d,
157
230
  get children() {
158
- var t = X(), l = J(e.ref);
159
- return typeof l == "function" && D(l, t), R(t, F(h, {
160
- "data-testid": "tree-view",
231
+ var n = de(), r = Y(e.ref);
232
+ return typeof r == "function" && F(r, n), K(n, U(c, {
233
+ get "data-testid"() {
234
+ return e["data-testid"] ?? "tree-view";
235
+ },
161
236
  role: "tree",
162
237
  get class() {
163
- return z("smwb-tree", e.class);
238
+ return q("smwb-tree", e.class);
164
239
  }
165
- }), !1, !0), g(t, s(V, {
166
- get each() {
240
+ }), !1, !0), f(n, i(M, {
241
+ get items() {
167
242
  return e.data;
168
243
  },
169
- children: (d, i) => (() => {
170
- var v = Y();
171
- return g(v, s(N, {
172
- item: d,
173
- get path() {
174
- return `${i()}`;
175
- }
176
- })), v;
177
- })()
178
- })), t;
244
+ path: "",
245
+ wrap: !0
246
+ })), n;
179
247
  }
180
248
  });
181
249
  }
182
- j(["click", "keydown"]);
250
+ B(["click", "keydown"]);
183
251
  export {
184
- de as TreeView
252
+ me as TreeView
185
253
  };
186
254
  //# sourceMappingURL=treeView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeView.js","sources":["../../../../../src/components/dataDisplay/treeView/treeView.tsx"],"sourcesContent":["import { type Accessor, type JSX, For, Show, createContext, createSignal, mergeProps, splitProps, useContext } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ITreeNodeItem {\n /** Stable identifier. Falls back to the positional path when omitted. */\n id?: string;\n label: string;\n children?: ITreeNodeItem[];\n /** Hint that the node is expandable even before its children are loaded. */\n hasChildren?: boolean;\n}\n\nexport interface TreeViewProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n nodeIcon?: { opened?: string; closed?: string };\n listIcon?: string;\n data: ITreeNodeItem[];\n expanded?: string[];\n defaultExpanded?: string[];\n onExpandedChange?: (expanded: string[]) => void;\n selected?: string[];\n defaultSelected?: string[];\n /** Reports the full selection plus, for user toggles, the node that just changed. */\n onSelectedChange?: (selected: string[], changed?: { id: string; selected: boolean }) => void;\n selectable?: boolean;\n checkboxes?: boolean;\n renderLabel?: (item: ITreeNodeItem, nodeId: string) => JSX.Element;\n loadChildren?: (item: ITreeNodeItem, nodeId: string) => Promise<ITreeNodeItem[]>;\n ref?: Ref<HTMLDivElement>;\n}\n\ninterface TreeContextValue {\n expandedIds: Accessor<string[]>;\n selectedIds: Accessor<string[]>;\n loadedChildren: Accessor<Record<string, ITreeNodeItem[]>>;\n loadingIds: Accessor<string[]>;\n toggleExpanded: (id: string) => void;\n setOpen: (id: string, open: boolean) => void;\n toggleSelected: (id: string) => void;\n ensureLoaded: (item: ITreeNodeItem, nodeId: string) => void;\n selectable: boolean;\n checkboxes: boolean;\n nodeIcon: { opened?: string; closed?: string };\n listIcon: string;\n renderLabel: ((item: ITreeNodeItem, nodeId: string) => JSX.Element) | undefined;\n hasLoader: boolean;\n}\n\nconst TreeContext = createContext<TreeContextValue>();\n\nfunction TreeNode(props: { item: ITreeNodeItem; path: string }): JSX.Element {\n const ctx = useContext(TreeContext)!;\n const nodeId = (): string => props.item.id ?? props.path;\n const resolvedChildren = (): ITreeNodeItem[] | undefined => props.item.children ?? ctx.loadedChildren()[nodeId()];\n const isLazy = (): boolean => ctx.hasLoader && (!!props.item.hasChildren || !!ctx.loadedChildren()[nodeId()]);\n const hasChildNodes = (): boolean => (!!resolvedChildren() && (resolvedChildren()?.length ?? 0) > 0) || isLazy();\n const isOpen = (): boolean => ctx.expandedIds().includes(nodeId());\n const isSelected = (): boolean => ctx.selectedIds().includes(nodeId());\n const isLoading = (): boolean => ctx.loadingIds().includes(nodeId());\n\n const onLabelClick = (): void => {\n if (hasChildNodes()) {\n if (!isOpen()) ctx.ensureLoaded(props.item, nodeId());\n ctx.toggleExpanded(nodeId());\n }\n if (ctx.selectable) ctx.toggleSelected(nodeId());\n };\n\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n onLabelClick();\n } else if (event.key === \"ArrowRight\" && hasChildNodes()) {\n ctx.ensureLoaded(props.item, nodeId());\n ctx.setOpen(nodeId(), true);\n } else if (event.key === \"ArrowLeft\" && hasChildNodes()) {\n ctx.setOpen(nodeId(), false);\n }\n };\n\n return (\n <div\n class={cn(\"smwb-tree__node\", { \"smwb-tree__node_selected\": isSelected() })}\n role=\"treeitem\"\n aria-expanded={hasChildNodes() ? isOpen() : undefined}\n aria-selected={ctx.selectable || ctx.checkboxes ? isSelected() : undefined}\n >\n <span class=\"smwb-tree__node__content\" onClick={onLabelClick} onKeyDown={onKeyDown} tabindex={0} role=\"button\">\n <Show when={ctx.checkboxes}>\n <input\n type=\"checkbox\"\n class=\"smwb-tree__node__checkbox\"\n checked={isSelected()}\n onClick={(e) => e.stopPropagation()}\n onChange={() => ctx.toggleSelected(nodeId())}\n aria-label={props.item.label}\n />\n </Show>\n <span class=\"smwb-tree__node__label\">\n <Show when={hasChildNodes()} fallback={<Icon name={ctx.listIcon} size={20} />}>\n <Icon name={isOpen() ? ctx.nodeIcon.opened ?? \"folder_open\" : ctx.nodeIcon.closed ?? \"folder\"} fill={1} size={20} />\n </Show>\n {ctx.renderLabel ? ctx.renderLabel(props.item, nodeId()) : props.item.label}\n </span>\n </span>\n <Show when={hasChildNodes() && isOpen()}>\n <div role=\"group\">\n <Show\n when={!(isLoading() && !resolvedChildren())}\n fallback={\n <div class=\"smwb-tree__node__loading\" role=\"status\">\n Загрузка…\n </div>\n }\n >\n <For each={resolvedChildren() ?? []}>\n {(child, idx) => <TreeNode item={child} path={`${props.path}.${idx()}`} />}\n </For>\n </Show>\n </div>\n </Show>\n </div>\n );\n}\n\nexport function TreeView(props: TreeViewProps): JSX.Element {\n const merged = mergeProps(\n {\n listIcon: \"draft\",\n nodeIcon: { closed: \"folder\", opened: \"folder_open\" } as { opened?: string; closed?: string },\n data: [] as ITreeNodeItem[],\n defaultExpanded: [] as string[],\n defaultSelected: [] as string[],\n selectable: false,\n checkboxes: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"listIcon\",\n \"nodeIcon\",\n \"data\",\n \"expanded\",\n \"defaultExpanded\",\n \"onExpandedChange\",\n \"selected\",\n \"defaultSelected\",\n \"onSelectedChange\",\n \"selectable\",\n \"checkboxes\",\n \"renderLabel\",\n \"loadChildren\",\n \"ref\",\n ]);\n\n const [loadedChildren, setLoadedChildren] = createSignal<Record<string, ITreeNodeItem[]>>({});\n const [loadingIds, setLoadingIds] = createSignal<string[]>([]);\n const [expandedIds, setExpandedIds] = createControllableState<string[]>({\n value: () => local.expanded,\n defaultValue: local.defaultExpanded,\n onChange: (next) => local.onExpandedChange?.(next),\n });\n let lastToggled: { id: string; selected: boolean } | undefined;\n const [selectedIds, setSelectedIds] = createControllableState<string[]>({\n value: () => local.selected,\n defaultValue: local.defaultSelected,\n onChange: (next) => {\n // createControllableState calls onChange synchronously from the setter,\n // so lastToggled still refers to the toggle that caused this change.\n const changed = lastToggled;\n lastToggled = undefined;\n local.onSelectedChange?.(next, changed);\n },\n });\n\n const toggleExpanded = (id: string): void =>\n setExpandedIds((prev) => (prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id]));\n\n const setOpen = (id: string, open: boolean): void =>\n setExpandedIds((prev) => {\n const has = prev.includes(id);\n if (open && !has) return [...prev, id];\n if (!open && has) return prev.filter((x) => x !== id);\n return prev;\n });\n\n const toggleSelected = (id: string): void => {\n lastToggled = { id, selected: !selectedIds().includes(id) };\n setSelectedIds((prev) => (prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id]));\n };\n\n const ensureLoaded = (item: ITreeNodeItem, nodeId: string): void => {\n if (!local.loadChildren || loadedChildren()[nodeId] || (item.children && item.children.length > 0)) return;\n setLoadingIds((prev) => (prev.includes(nodeId) ? prev : [...prev, nodeId]));\n void local\n .loadChildren(item, nodeId)\n .then((children) => setLoadedChildren((prev) => ({ ...prev, [nodeId]: children })))\n .finally(() => setLoadingIds((prev) => prev.filter((x) => x !== nodeId)));\n };\n\n const contextValue: TreeContextValue = {\n expandedIds,\n selectedIds,\n loadedChildren,\n loadingIds,\n toggleExpanded,\n setOpen,\n toggleSelected,\n ensureLoaded,\n get selectable() {\n return local.selectable;\n },\n get checkboxes() {\n return local.checkboxes;\n },\n get nodeIcon() {\n return local.nodeIcon;\n },\n get listIcon() {\n return local.listIcon;\n },\n get renderLabel() {\n return local.renderLabel;\n },\n get hasLoader() {\n return !!local.loadChildren;\n },\n };\n\n return (\n <TreeContext.Provider value={contextValue}>\n <div {...rest} data-testid=\"tree-view\" ref={mergeRefs(local.ref)} role=\"tree\" class={cn(\"smwb-tree\", local.class)}>\n <For each={local.data}>\n {(node, idx) => (\n <div class=\"smwb-tree__wrapper\" role=\"presentation\">\n <TreeNode item={node} path={`${idx()}`} />\n </div>\n )}\n </For>\n </div>\n </TreeContext.Provider>\n );\n}\n\nexport default TreeView;\n"],"names":["TreeContext","createContext","TreeNode","props","ctx","useContext","nodeId","item","id","path","resolvedChildren","children","loadedChildren","isLazy","hasLoader","hasChildren","hasChildNodes","length","isOpen","expandedIds","includes","isSelected","selectedIds","isLoading","loadingIds","onLabelClick","ensureLoaded","toggleExpanded","selectable","toggleSelected","onKeyDown","event","key","preventDefault","setOpen","_el$","_tmpl$3","_el$2","firstChild","_el$4","$$keydown","$$click","_$insert","_$createComponent","Show","when","checkboxes","_el$3","_tmpl$","addEventListener","e","stopPropagation","_$effect","_$setAttribute","label","checked","fallback","Icon","name","listIcon","size","_$memo","nodeIcon","opened","closed","fill","_c$","renderLabel","_el$5","_tmpl$2","_tmpl$4","For","each","child","idx","_p$","_v$","cn","_v$2","undefined","_v$3","_$className","t","a","TreeView","merged","mergeProps","data","defaultExpanded","defaultSelected","local","rest","splitProps","setLoadedChildren","createSignal","setLoadingIds","setExpandedIds","createControllableState","value","expanded","defaultValue","onChange","next","onExpandedChange","lastToggled","setSelectedIds","selected","changed","onSelectedChange","contextValue","prev","filter","x","open","has","loadChildren","then","finally","Provider","_el$7","_tmpl$5","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","class","node","_el$8","_tmpl$6","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"treeView.js","sources":["../../../../../src/components/dataDisplay/treeView/treeView.tsx"],"sourcesContent":["import {\n type Accessor,\n type JSX,\n For,\n Show,\n createContext,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { isOwnClick } from \"../../../utils/ownClick\";\n\nexport interface ITreeNodeItem {\n /** Stable identifier. Falls back to the positional path when omitted. */\n id?: string;\n label: string;\n children?: ITreeNodeItem[];\n /** Hint that the node is expandable even before its children are loaded. */\n hasChildren?: boolean;\n}\n\nexport interface TreeViewProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n nodeIcon?: { opened?: string; closed?: string };\n listIcon?: string;\n data: ITreeNodeItem[];\n expanded?: string[];\n defaultExpanded?: string[];\n onExpandedChange?: (expanded: string[]) => void;\n selected?: string[];\n defaultSelected?: string[];\n /** Reports the full selection plus, for user toggles, the node that just changed. */\n onSelectedChange?: (selected: string[], changed?: { id: string; selected: boolean }) => void;\n /**\n * Enables row selection: a click, Enter or Space on a row toggles its selection. The chevron and the\n * Left/Right keys never change it.\n */\n selectable?: boolean;\n /** Renders a checkbox per node bound to selection. */\n checkboxes?: boolean;\n /**\n * Whether a click, Enter or Space on a row also expands or collapses its children. The chevron and the\n * Right/Left keys always do. Defaults to `true` while the tree is not `selectable` (a row has nothing else to\n * do) and to `false` otherwise, so that selecting a row leaves it open or closed.\n */\n toggleOnRowClick?: boolean;\n /** Custom node renderer. */\n renderLabel?: (item: ITreeNodeItem, nodeId: string) => JSX.Element;\n /**\n * Per-node actions (buttons, a menu trigger), drawn at the end of the row. They sit beside the row's\n * button, not inside it, so they take their own clicks, Enter and Space, focus and accessible names.\n */\n renderActions?: (item: ITreeNodeItem, nodeId: string) => JSX.Element;\n /** Text shown while `loadChildren` is pending; \"Loading…\" unless given. */\n loadingText?: string;\n /** Lazily resolves children the first time a node is expanded. */\n loadChildren?: (item: ITreeNodeItem, nodeId: string) => Promise<ITreeNodeItem[]>;\n /** Test id of the root `<div>`; `tree-view` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\ninterface TreeContextValue {\n expandedIds: Accessor<string[]>;\n selectedIds: Accessor<string[]>;\n loadedChildren: Accessor<Record<string, ITreeNodeItem[]>>;\n loadingIds: Accessor<string[]>;\n toggleExpanded: (id: string) => void;\n setOpen: (id: string, open: boolean) => void;\n toggleSelected: (id: string) => void;\n ensureLoaded: (item: ITreeNodeItem, nodeId: string) => void;\n selectable: boolean;\n checkboxes: boolean;\n toggleOnRowClick: boolean;\n loadingText: string;\n nodeIcon: { opened?: string; closed?: string };\n listIcon: string;\n renderLabel: ((item: ITreeNodeItem, nodeId: string) => JSX.Element) | undefined;\n renderActions: ((item: ITreeNodeItem, nodeId: string) => JSX.Element) | undefined;\n hasLoader: boolean;\n}\n\nconst TreeContext = createContext<TreeContextValue>();\n\ninterface TreeEntry {\n id: string;\n item: ITreeNodeItem;\n path: string;\n}\n\n/**\n * Whether two items are the same as far as a row's own markup goes. A caller that refetches hands the tree\n * brand-new objects for the same nodes, and comparing those by identity would rebuild the `renderLabel` /\n * `renderActions` output on every refetch: Solid replaces a dynamic child, so the elements the caller drew\n * (and the focus in them, an open menu anchored to one, a caret) would be thrown away while the row around\n * them survives. Children are compared one level deep — a row draws that it has them, not their subtrees.\n */\nfunction sameItem(a: ITreeNodeItem, b: ITreeNodeItem): boolean {\n if (a === b) return true;\n if (a.id !== b.id || a.label !== b.label || a.hasChildren !== b.hasChildren) return false;\n const left = a.children;\n const right = b.children;\n if (left === right) return true;\n if (!left || !right || left.length !== right.length) return false;\n return left.every((child, idx) => {\n const other = right[idx];\n return !!other && child.id === other.id && child.label === other.label && child.hasChildren === other.hasChildren;\n });\n}\n\n/**\n * The rows of one level, keyed by node id. `For` keys by reference, so it would rebuild every row (and drop\n * the focus in it) whenever the caller hands in new objects for the same nodes. It is given the ids instead:\n * equal strings are the same row, and a row reads its item from the current data.\n */\nfunction TreeNodes(props: { items: ITreeNodeItem[]; path: string; wrap?: boolean }): JSX.Element {\n const entries = createMemo<TreeEntry[]>(() =>\n props.items.map((item, idx) => {\n const path = props.path === \"\" ? `${idx}` : `${props.path}.${idx}`;\n return { id: item.id ?? path, item, path };\n })\n );\n const byId = createMemo(() => new Map(entries().map((entry) => [entry.id, entry])));\n const ids = createMemo(() => entries().map((entry) => entry.id));\n\n return (\n <For each={ids()}>\n {(id) => {\n // A removed row is disposed after the lookup recomputes, so keep the last entry for that pass.\n let last = byId().get(id)!;\n const entry = (): TreeEntry => (last = byId().get(id) ?? last);\n return props.wrap ? (\n <div class=\"smwb-tree__wrapper\" role=\"presentation\">\n <TreeNode entry={entry} />\n </div>\n ) : (\n <TreeNode entry={entry} />\n );\n }}\n </For>\n );\n}\n\nfunction TreeNode(props: { entry: Accessor<TreeEntry> }): JSX.Element {\n const ctx = useContext(TreeContext)!;\n // The id is the row's identity and never changes while the row lives.\n const nodeId = props.entry().id;\n const item = (): ITreeNodeItem => props.entry().item;\n // Names the treeitem: its own content would drag the actions and the checkbox into the node's name.\n const labelId = `${createUniqueId()}-label`;\n // What the caller's renderers see. Held by value, not by identity, so a refetch that hands in new\n // objects for the same nodes does not rebuild the slots below (see sameItem).\n const slotItem = createMemo(() => item(), undefined, { equals: sameItem });\n const labelSlot = createMemo<JSX.Element>(() =>\n ctx.renderLabel ? ctx.renderLabel(slotItem(), nodeId) : slotItem().label\n );\n const resolvedChildren = (): ITreeNodeItem[] | undefined => item().children ?? ctx.loadedChildren()[nodeId];\n const isLazy = (): boolean => ctx.hasLoader && (!!item().hasChildren || !!ctx.loadedChildren()[nodeId]);\n const hasChildNodes = (): boolean => (!!resolvedChildren() && (resolvedChildren()?.length ?? 0) > 0) || isLazy();\n const isOpen = (): boolean => ctx.expandedIds().includes(nodeId);\n const isSelected = (): boolean => ctx.selectedIds().includes(nodeId);\n const isLoading = (): boolean => ctx.loadingIds().includes(nodeId);\n\n const toggleNode = (): void => {\n if (!isOpen()) ctx.ensureLoaded(item(), nodeId);\n ctx.toggleExpanded(nodeId);\n };\n\n const activateRow = (): void => {\n if (ctx.toggleOnRowClick && hasChildNodes()) toggleNode();\n if (ctx.selectable) ctx.toggleSelected(nodeId);\n };\n\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n // Keys from controls a custom label draws are theirs.\n if (event.target !== event.currentTarget) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n activateRow();\n } else if (event.key === \"ArrowRight\" && hasChildNodes()) {\n ctx.ensureLoaded(item(), nodeId);\n ctx.setOpen(nodeId, true);\n } else if (event.key === \"ArrowLeft\" && hasChildNodes()) {\n ctx.setOpen(nodeId, false);\n }\n };\n\n const onContentClick: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (isOwnClick(event)) activateRow();\n };\n\n return (\n <div\n class={cn(\"smwb-tree__node\", { \"smwb-tree__node_selected\": isSelected() })}\n role=\"treeitem\"\n aria-labelledby={labelId}\n aria-expanded={hasChildNodes() ? isOpen() : undefined}\n aria-selected={ctx.selectable || ctx.checkboxes ? isSelected() : undefined}\n >\n <div class=\"smwb-tree__node__row\">\n {/*\n A pointer shortcut: the keyboard expands with ArrowRight/ArrowLeft on the row, so the chevron is\n decorative, unnamed and no Tab stop. If it ever becomes a real <button>, `aria-hidden` must go with\n it (a focusable element inside `aria-hidden` is an ARIA violation) and it then needs a name plus\n `aria-expanded`.\n */}\n <span class=\"smwb-tree__node__toggle\" aria-hidden=\"true\" onClick={() => hasChildNodes() && toggleNode()}>\n <Show when={hasChildNodes()}>\n <Icon name={isOpen() ? \"expand_more\" : \"chevron_right\"} size={20} />\n </Show>\n </span>\n <Show when={ctx.checkboxes}>\n <input\n type=\"checkbox\"\n class=\"smwb-tree__node__checkbox\"\n checked={isSelected()}\n onChange={() => ctx.toggleSelected(nodeId)}\n aria-label={item().label}\n />\n </Show>\n <span class=\"smwb-tree__node__content\" onClick={onContentClick} onKeyDown={onKeyDown} tabindex={0} role=\"button\">\n <span class=\"smwb-tree__node__label\" id={labelId}>\n <Show when={hasChildNodes()} fallback={<Icon name={ctx.listIcon} size={20} />}>\n <Icon name={isOpen() ? ctx.nodeIcon.opened ?? \"folder_open\" : ctx.nodeIcon.closed ?? \"folder\"} fill={1} size={20} />\n </Show>\n {labelSlot()}\n </span>\n </span>\n <Show when={ctx.renderActions}>\n {(renderActions) => {\n // Created inside the branch that draws it, so SSR and hydration agree on which keys exist.\n const actionsSlot = createMemo<JSX.Element>(() => renderActions()(slotItem(), nodeId));\n return <span class=\"smwb-tree__node__actions\">{actionsSlot()}</span>;\n }}\n </Show>\n </div>\n <Show when={hasChildNodes() && isOpen()}>\n <div role=\"group\">\n <Show\n when={!(isLoading() && !resolvedChildren())}\n fallback={\n <div class=\"smwb-tree__node__loading\" role=\"status\">\n {ctx.loadingText}\n </div>\n }\n >\n <TreeNodes items={resolvedChildren() ?? []} path={props.entry().path} />\n </Show>\n </div>\n </Show>\n </div>\n );\n}\n\nexport function TreeView(props: TreeViewProps): JSX.Element {\n const merged = mergeProps(\n {\n listIcon: \"draft\",\n nodeIcon: { closed: \"folder\", opened: \"folder_open\" } as { opened?: string; closed?: string },\n data: [] as ITreeNodeItem[],\n defaultExpanded: [] as string[],\n defaultSelected: [] as string[],\n selectable: false,\n checkboxes: false,\n loadingText: \"Loading…\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"listIcon\",\n \"nodeIcon\",\n \"data\",\n \"expanded\",\n \"defaultExpanded\",\n \"onExpandedChange\",\n \"selected\",\n \"defaultSelected\",\n \"onSelectedChange\",\n \"selectable\",\n \"checkboxes\",\n \"toggleOnRowClick\",\n \"renderLabel\",\n \"renderActions\",\n \"loadingText\",\n \"loadChildren\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const [loadedChildren, setLoadedChildren] = createSignal<Record<string, ITreeNodeItem[]>>({});\n const [loadingIds, setLoadingIds] = createSignal<string[]>([]);\n const [expandedIds, setExpandedIds] = createControllableState<string[]>({\n value: () => local.expanded,\n defaultValue: local.defaultExpanded,\n onChange: (next) => local.onExpandedChange?.(next),\n });\n let lastToggled: { id: string; selected: boolean } | undefined;\n const [selectedIds, setSelectedIds] = createControllableState<string[]>({\n value: () => local.selected,\n defaultValue: local.defaultSelected,\n onChange: (next) => {\n // createControllableState calls onChange synchronously from the setter,\n // so lastToggled still refers to the toggle that caused this change.\n const changed = lastToggled;\n lastToggled = undefined;\n local.onSelectedChange?.(next, changed);\n },\n });\n\n const toggleExpanded = (id: string): void =>\n setExpandedIds((prev) => (prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id]));\n\n const setOpen = (id: string, open: boolean): void =>\n setExpandedIds((prev) => {\n const has = prev.includes(id);\n if (open && !has) return [...prev, id];\n if (!open && has) return prev.filter((x) => x !== id);\n return prev;\n });\n\n const toggleSelected = (id: string): void => {\n lastToggled = { id, selected: !selectedIds().includes(id) };\n setSelectedIds((prev) => (prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id]));\n };\n\n const ensureLoaded = (item: ITreeNodeItem, nodeId: string): void => {\n if (!local.loadChildren || loadedChildren()[nodeId] || (item.children && item.children.length > 0)) return;\n setLoadingIds((prev) => (prev.includes(nodeId) ? prev : [...prev, nodeId]));\n void local\n .loadChildren(item, nodeId)\n .then((children) => setLoadedChildren((prev) => ({ ...prev, [nodeId]: children })))\n .finally(() => setLoadingIds((prev) => prev.filter((x) => x !== nodeId)));\n };\n\n const contextValue: TreeContextValue = {\n expandedIds,\n selectedIds,\n loadedChildren,\n loadingIds,\n toggleExpanded,\n setOpen,\n toggleSelected,\n ensureLoaded,\n get selectable() {\n return local.selectable;\n },\n get checkboxes() {\n return local.checkboxes;\n },\n get toggleOnRowClick() {\n return local.toggleOnRowClick ?? !local.selectable;\n },\n get loadingText() {\n return local.loadingText;\n },\n get nodeIcon() {\n return local.nodeIcon;\n },\n get listIcon() {\n return local.listIcon;\n },\n get renderLabel() {\n return local.renderLabel;\n },\n get renderActions() {\n return local.renderActions;\n },\n get hasLoader() {\n return !!local.loadChildren;\n },\n };\n\n return (\n <TreeContext.Provider value={contextValue}>\n <div\n {...rest}\n data-testid={local[\"data-testid\"] ?? \"tree-view\"}\n ref={mergeRefs(local.ref)}\n role=\"tree\"\n class={cn(\"smwb-tree\", local.class)}\n >\n <TreeNodes items={local.data} path=\"\" wrap />\n </div>\n </TreeContext.Provider>\n );\n}\n\nexport default TreeView;\n"],"names":["TreeContext","createContext","sameItem","a","b","id","label","hasChildren","left","children","right","length","every","child","idx","other","TreeNodes","props","entries","createMemo","items","map","item","path","byId","Map","entry","ids","_$createComponent","For","each","last","get","wrap","_el$","_tmpl$","_$insert","TreeNode","ctx","useContext","nodeId","labelId","createUniqueId","slotItem","undefined","equals","labelSlot","renderLabel","resolvedChildren","loadedChildren","isLazy","hasLoader","hasChildNodes","isOpen","expandedIds","includes","isSelected","selectedIds","isLoading","loadingIds","toggleNode","ensureLoaded","toggleExpanded","activateRow","toggleOnRowClick","selectable","toggleSelected","onKeyDown","event","target","currentTarget","key","preventDefault","setOpen","onContentClick","isOwnClick","_el$2","_tmpl$4","_el$3","firstChild","_el$4","_el$6","nextSibling","_el$7","_$setAttribute","$$click","Show","when","Icon","name","size","checkboxes","_el$5","_tmpl$2","addEventListener","_$effect","checked","$$keydown","fallback","listIcon","_$memo","nodeIcon","opened","closed","fill","renderActions","actionsSlot","_el$9","_tmpl$5","_el$8","_tmpl$3","_el$0","_tmpl$6","loadingText","_p$","_v$","cn","_v$2","_v$3","e","_$className","t","TreeView","merged","mergeProps","data","defaultExpanded","defaultSelected","local","rest","splitProps","setLoadedChildren","createSignal","setLoadingIds","setExpandedIds","createControllableState","value","expanded","defaultValue","onChange","next","onExpandedChange","lastToggled","setSelectedIds","selected","changed","onSelectedChange","contextValue","prev","filter","x","open","has","loadChildren","then","finally","Provider","_el$1","_tmpl$7","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","class","_$delegateEvents"],"mappings":";;;;;;;;AAwFA,MAAMA,IAAcC,EAAAA;AAepB,SAASC,GAASC,GAAkBC,GAA2B;AAC7D,MAAID,MAAMC,EAAG,QAAO;AACpB,MAAID,EAAEE,OAAOD,EAAEC,MAAMF,EAAEG,UAAUF,EAAEE,SAASH,EAAEI,gBAAgBH,EAAEG,YAAa,QAAO;AACpF,QAAMC,IAAOL,EAAEM,UACTC,IAAQN,EAAEK;AAChB,SAAID,MAASE,IAAc,KACvB,CAACF,KAAQ,CAACE,KAASF,EAAKG,WAAWD,EAAMC,SAAe,KACrDH,EAAKI,MAAM,CAACC,GAAOC,MAAQ;AAChC,UAAMC,IAAQL,EAAMI,CAAG;AACvB,WAAO,CAAC,CAACC,KAASF,EAAMR,OAAOU,EAAMV,MAAMQ,EAAMP,UAAUS,EAAMT,SAASO,EAAMN,gBAAgBQ,EAAMR;AAAAA,EACxG,CAAC;AACH;AAOA,SAASS,EAAUC,GAA8E;AAC/F,QAAMC,IAAUC,EAAwB,MACtCF,EAAMG,MAAMC,IAAI,CAACC,GAAMR,MAAQ;AAC7B,UAAMS,IAAON,EAAMM,SAAS,KAAK,GAAGT,CAAG,KAAK,GAAGG,EAAMM,IAAI,IAAIT,CAAG;AAChE,WAAO;AAAA,MAAET,IAAIiB,EAAKjB,MAAMkB;AAAAA,MAAMD,MAAAA;AAAAA,MAAMC,MAAAA;AAAAA,IAAAA;AAAAA,EACtC,CAAC,CACH,GACMC,IAAOL,EAAW,MAAM,IAAIM,IAAIP,EAAAA,EAAUG,IAAKK,CAAAA,MAAU,CAACA,EAAMrB,IAAIqB,CAAK,CAAC,CAAC,CAAC,GAC5EC,IAAMR,EAAW,MAAMD,EAAAA,EAAUG,IAAKK,CAAAA,MAAUA,EAAMrB,EAAE,CAAC;AAE/D,SAAAuB,EACGC,GAAG;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEH,EAAAA;AAAAA,IAAK;AAAA,IAAAlB,UACZJ,CAAAA,MAAO;AAEP,UAAI0B,IAAOP,IAAOQ,IAAI3B,CAAE;AACxB,YAAMqB,IAAQA,MAAkBK,IAAOP,IAAOQ,IAAI3B,CAAE,KAAK0B;AACzD,aAAOd,EAAMgB,QAAI,MAAA;AAAA,YAAAC,IAAAC,GAAAA;AAAAC,eAAAA,EAAAF,GAAAN,EAEZS,GAAQ;AAAA,UAACX,OAAAA;AAAAA,QAAAA,CAAY,CAAA,GAAAQ;AAAAA,MAAA,GAAA,IAAAN,EAGvBS,GAAQ;AAAA,QAACX,OAAAA;AAAAA,MAAAA,CAAY;AAAA,IAE1B;AAAA,EAAA,CAAC;AAGP;AAEA,SAASW,EAASpB,GAAoD;AACpE,QAAMqB,IAAMC,EAAWvC,CAAW,GAE5BwC,IAASvB,EAAMS,MAAAA,EAAQrB,IACvBiB,IAAOA,MAAqBL,EAAMS,MAAAA,EAAQJ,MAE1CmB,IAAU,GAAGC,EAAAA,CAAgB,UAG7BC,IAAWxB,EAAW,MAAMG,EAAAA,GAAQsB,QAAW;AAAA,IAAEC,QAAQ3C;AAAAA,EAAAA,CAAU,GACnE4C,IAAY3B,EAAwB,MACxCmB,EAAIS,cAAcT,EAAIS,YAAYJ,EAAAA,GAAYH,CAAM,IAAIG,EAAAA,EAAWrC,KACrE,GACM0C,IAAmBA,MAAmC1B,EAAAA,EAAOb,YAAY6B,EAAIW,eAAAA,EAAiBT,CAAM,GACpGU,IAASA,MAAeZ,EAAIa,cAAc,CAAC,CAAC7B,EAAAA,EAAOf,eAAe,CAAC,CAAC+B,EAAIW,eAAAA,EAAiBT,CAAM,IAC/FY,IAAgBA,MAAgB,CAAC,CAACJ,QAAuBA,EAAAA,GAAoBrC,UAAU,KAAK,KAAMuC,EAAAA,GAClGG,IAASA,MAAef,EAAIgB,YAAAA,EAAcC,SAASf,CAAM,GACzDgB,IAAaA,MAAelB,EAAImB,YAAAA,EAAcF,SAASf,CAAM,GAC7DkB,IAAYA,MAAepB,EAAIqB,WAAAA,EAAaJ,SAASf,CAAM,GAE3DoB,IAAaA,MAAY;AAC7B,IAAKP,EAAAA,OAAcQ,aAAavC,EAAAA,GAAQkB,CAAM,GAC9CF,EAAIwB,eAAetB,CAAM;AAAA,EAC3B,GAEMuB,IAAcA,MAAY;AAC9B,IAAIzB,EAAI0B,oBAAoBZ,EAAAA,KAAiBQ,EAAAA,GACzCtB,EAAI2B,cAAY3B,EAAI4B,eAAe1B,CAAM;AAAA,EAC/C,GAEM2B,IAA+DC,CAAAA,MAAU;AAE7E,IAAIA,EAAMC,WAAWD,EAAME,kBACvBF,EAAMG,QAAQ,WAAWH,EAAMG,QAAQ,OACzCH,EAAMI,eAAAA,GACNT,EAAAA,KACSK,EAAMG,QAAQ,gBAAgBnB,OACvCd,EAAIuB,aAAavC,EAAAA,GAAQkB,CAAM,GAC/BF,EAAImC,QAAQjC,GAAQ,EAAI,KACf4B,EAAMG,QAAQ,eAAenB,OACtCd,EAAImC,QAAQjC,GAAQ,EAAK;AAAA,EAE7B,GAEMkC,IAAiEN,CAAAA,MAAU;AAC/E,IAAIO,EAAWP,CAAK,KAAGL,EAAAA;AAAAA,EACzB;AAEA,UAAA,MAAA;AAAA,QAAAa,IAAAC,GAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAAAD,EAAAE,aAAAC,IAAAF,EAAAF;AAAAK,WAAAA,EAAAR,GAAA,mBAIqBnC,CAAO,GAAAuC,EAAAK,UAW4C,MAAMjC,EAAAA,KAAmBQ,EAAAA,GAAYxB,EAAA4C,GAAApD,EACpG0D,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEnC,EAAAA;AAAAA,MAAe;AAAA,MAAA,IAAA3C,WAAA;AAAA,eAAAmB,EACxB4D,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEpC,EAAAA,IAAW,gBAAgB;AAAA,UAAe;AAAA,UAAEqC,MAAM;AAAA,QAAA,CAAE;AAAA,MAAA;AAAA,IAAA,CAAA,CAAA,GAAAtD,EAAA0C,GAAAlD,EAGnE0D,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEjD,EAAIqD;AAAAA,MAAU;AAAA,MAAA,IAAAlF,WAAA;AAAA,YAAAmF,IAAAC,GAAAA;AAAAD,eAAAA,EAAAE,iBAAA,UAKZ,MAAMxD,EAAI4B,eAAe1B,CAAM,CAAC,GAAAuD,EAAA,MAAAX,EAAAQ,iBAC9BtE,EAAAA,EAAOhB,KAAK,CAAA,GAAAyF,QAAAH,EAAAI,UAFfxC,EAAAA,CAAY,GAAAoC;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAAX,CAAA,GAAAA,EAAAgB,YAKkD9B,GAASc,EAAAI,UAApCX,GAAcU,EAAAD,GAAA,MACnB1C,CAAO,GAAAL,EAAA+C,GAAAvD,EAC7C0D,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEnC,EAAAA;AAAAA,MAAe;AAAA,MAAA,IAAE8C,WAAQ;AAAA,eAAAtE,EAAG4D,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEnD,EAAI6D;AAAAA,UAAQ;AAAA,UAAET,MAAM;AAAA,QAAA,CAAE;AAAA,MAAA;AAAA,MAAA,IAAAjF,WAAA;AAAA,eAAAmB,EACtE4D,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEW,UAAA/C,GAAQ,EAAA,IAAGf,EAAI+D,SAASC,UAAU,gBAAgBhE,EAAI+D,SAASE,UAAU;AAAA,UAAQ;AAAA,UAAEC,MAAM;AAAA,UAAGd,MAAM;AAAA,QAAA,CAAE;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAtD,EAAA+C,GAEjHrC,GAAS,IAAA,GAAAV,EAAA0C,GAAAlD,EAGb0D,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEjD,EAAImE;AAAAA,MAAa;AAAA,MAAAhG,UACzBgG,CAAAA,MAAkB;AAElB,cAAMC,IAAcvF,EAAwB,MAAMsF,EAAAA,EAAgB9D,EAAAA,GAAYH,CAAM,CAAC;AACrF,gBAAA,MAAA;AAAA,cAAAmE,IAAAC,GAAAA;AAAAxE,iBAAAA,EAAAuE,GAA+CD,CAAW,GAAAC;AAAAA,QAAA,GAAA;AAAA,MAC5D;AAAA,IAAA,CAAC,GAAA,IAAA,GAAAvE,EAAAwC,GAAAhD,EAGJ0D,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEa,UAAAhD,GAAe,EAAA,KAAIC,EAAAA;AAAAA,MAAQ;AAAA,MAAA,IAAA5C,WAAA;AAAA,YAAAoG,IAAAC,GAAAA;AAAA1E,eAAAA,EAAAyE,GAAAjF,EAElC0D,GAAI;AAAA,UAAA,IACHC,OAAI;AAAA,mBAAE,EAAE7B,EAAAA,KAAe,CAACV;UAAmB;AAAA,UAAA,IAC3CkD,WAAQ;AAAA,oBAAA,MAAA;AAAA,kBAAAa,IAAAC,GAAAA;AAAA5E,qBAAAA,EAAA2E,GAAA,MAEHzE,EAAI2E,WAAW,GAAAF;AAAAA,YAAA,GAAA;AAAA,UAAA;AAAA,UAAA,IAAAtG,WAAA;AAAA,mBAAAmB,EAInBZ,GAAS;AAAA,cAAA,IAACI,QAAK;AAAA,uBAAE4B,EAAAA,KAAsB,CAAA;AAAA,cAAE;AAAA,cAAA,IAAEzB,OAAI;AAAA,uBAAEN,EAAMS,QAAQH;AAAAA,cAAI;AAAA,YAAA,CAAA;AAAA,UAAA;AAAA,QAAA,CAAA,CAAA,GAAAsF;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAd,EAAAmB,CAAAA,MAAA;AAAA,UAAAC,IArDnEC,EAAG,mBAAmB;AAAA,QAAE,4BAA4B5D,EAAAA;AAAAA,MAAW,CAAG,GAAC6D,IAG3DjE,MAAkBC,EAAAA,IAAWT,QAAS0E,IACtChF,EAAI2B,cAAc3B,EAAIqD,aAAanC,MAAeZ;AAASuE,aAAAA,MAAAD,EAAAK,KAAAC,EAAA5C,GAAAsC,EAAAK,IAAAJ,CAAA,GAAAE,MAAAH,EAAAO,KAAArC,EAAAR,GAAA,iBAAAsC,EAAAO,IAAAJ,CAAA,GAAAC,MAAAJ,EAAA/G,KAAAiF,EAAAR,GAAA,iBAAAsC,EAAA/G,IAAAmH,CAAA,GAAAJ;AAAAA,IAAA,GAAA;AAAA,MAAAK,GAAA3E;AAAAA,MAAA6E,GAAA7E;AAAAA,MAAAzC,GAAAyC;AAAAA,IAAAA,CAAA,GAAAgC;AAAAA,EAAA,GAAA;AAuDhF;AAEO,SAAS8C,GAASzG,GAAmC;AAC1D,QAAM0G,IAASC,EACb;AAAA,IACEzB,UAAU;AAAA,IACVE,UAAU;AAAA,MAAEE,QAAQ;AAAA,MAAUD,QAAQ;AAAA,IAAA;AAAA,IACtCuB,MAAM,CAAA;AAAA,IACNC,iBAAiB,CAAA;AAAA,IACjBC,iBAAiB,CAAA;AAAA,IACjB9D,YAAY;AAAA,IACZ0B,YAAY;AAAA,IACZsB,aAAa;AAAA,EAAA,GAEfhG,CACF,GACM,CAAC+G,GAAOC,CAAI,IAAIC,EAAWP,GAAQ,CACvC,SACA,YACA,YACA,QACA,YACA,mBACA,oBACA,YACA,mBACA,oBACA,cACA,cACA,oBACA,eACA,iBACA,eACA,gBACA,OACA,aAAa,CACd,GAEK,CAAC1E,GAAgBkF,CAAiB,IAAIC,EAA8C,CAAA,CAAE,GACtF,CAACzE,GAAY0E,CAAa,IAAID,EAAuB,CAAA,CAAE,GACvD,CAAC9E,GAAagF,CAAc,IAAIC,EAAkC;AAAA,IACtEC,OAAOA,MAAMR,EAAMS;AAAAA,IACnBC,cAAcV,EAAMF;AAAAA,IACpBa,UAAWC,CAAAA,MAASZ,EAAMa,mBAAmBD,CAAI;AAAA,EAAA,CAClD;AACD,MAAIE;AACJ,QAAM,CAACrF,GAAasF,CAAc,IAAIR,EAAkC;AAAA,IACtEC,OAAOA,MAAMR,EAAMgB;AAAAA,IACnBN,cAAcV,EAAMD;AAAAA,IACpBY,UAAWC,CAAAA,MAAS;AAGlB,YAAMK,IAAUH;AAChBA,MAAAA,IAAclG,QACdoF,EAAMkB,mBAAmBN,GAAMK,CAAO;AAAA,IACxC;AAAA,EAAA,CACD,GA2BKE,IAAiC;AAAA,IACrC7F,aAAAA;AAAAA,IACAG,aAAAA;AAAAA,IACAR,gBAAAA;AAAAA,IACAU,YAAAA;AAAAA,IACAG,gBA9BqBA,CAACzD,MACtBiI,EAAgBc,CAAAA,MAAUA,EAAK7F,SAASlD,CAAE,IAAI+I,EAAKC,OAAQC,CAAAA,MAAMA,MAAMjJ,CAAE,IAAI,CAAC,GAAG+I,GAAM/I,CAAE,CAAE;AAAA,IA8B3FoE,SA5BcA,CAACpE,GAAYkJ,MAC3BjB,EAAgBc,CAAAA,MAAS;AACvB,YAAMI,IAAMJ,EAAK7F,SAASlD,CAAE;AAC5B,aAAIkJ,KAAQ,CAACC,IAAY,CAAC,GAAGJ,GAAM/I,CAAE,IACjC,CAACkJ,KAAQC,IAAYJ,EAAKC,OAAQC,CAAAA,MAAMA,MAAMjJ,CAAE,IAC7C+I;AAAAA,IACT,CAAC;AAAA,IAuBDlF,gBArBqBA,CAAC7D,MAAqB;AAC3CyI,MAAAA,IAAc;AAAA,QAAEzI,IAAAA;AAAAA,QAAI2I,UAAU,CAACvF,IAAcF,SAASlD,CAAE;AAAA,MAAA,GACxD0I,EAAgBK,CAAAA,MAAUA,EAAK7F,SAASlD,CAAE,IAAI+I,EAAKC,OAAQC,CAAAA,MAAMA,MAAMjJ,CAAE,IAAI,CAAC,GAAG+I,GAAM/I,CAAE,CAAE;AAAA,IAC7F;AAAA,IAmBEwD,cAjBmBA,CAACvC,GAAqBkB,MAAyB;AAClE,MAAI,CAACwF,EAAMyB,gBAAgBxG,EAAAA,EAAiBT,CAAM,KAAMlB,EAAKb,YAAYa,EAAKb,SAASE,SAAS,MAChG0H,EAAee,CAAAA,MAAUA,EAAK7F,SAASf,CAAM,IAAI4G,IAAO,CAAC,GAAGA,GAAM5G,CAAM,CAAE,GACrEwF,EACFyB,aAAanI,GAAMkB,CAAM,EACzBkH,KAAMjJ,CAAAA,MAAa0H,EAAmBiB,CAAAA,OAAU;AAAA,QAAE,GAAGA;AAAAA,QAAM,CAAC5G,CAAM,GAAG/B;AAAAA,MAAAA,EAAW,CAAC,EACjFkJ,QAAQ,MAAMtB,EAAee,CAAAA,MAASA,EAAKC,OAAQC,CAAAA,MAAMA,MAAM9G,CAAM,CAAC,CAAC;AAAA,IAC5E;AAAA,IAWE,IAAIyB,aAAa;AACf,aAAO+D,EAAM/D;AAAAA,IACf;AAAA,IACA,IAAI0B,aAAa;AACf,aAAOqC,EAAMrC;AAAAA,IACf;AAAA,IACA,IAAI3B,mBAAmB;AACrB,aAAOgE,EAAMhE,oBAAoB,CAACgE,EAAM/D;AAAAA,IAC1C;AAAA,IACA,IAAIgD,cAAc;AAChB,aAAOe,EAAMf;AAAAA,IACf;AAAA,IACA,IAAIZ,WAAW;AACb,aAAO2B,EAAM3B;AAAAA,IACf;AAAA,IACA,IAAIF,WAAW;AACb,aAAO6B,EAAM7B;AAAAA,IACf;AAAA,IACA,IAAIpD,cAAc;AAChB,aAAOiF,EAAMjF;AAAAA,IACf;AAAA,IACA,IAAI0D,gBAAgB;AAClB,aAAOuB,EAAMvB;AAAAA,IACf;AAAA,IACA,IAAItD,YAAY;AACd,aAAO,CAAC,CAAC6E,EAAMyB;AAAAA,IACjB;AAAA,EAAA;AAGF,SAAA7H,EACG5B,EAAY4J,UAAQ;AAAA,IAACpB,OAAOW;AAAAA,IAAY,IAAA1I,WAAA;AAAA,UAAAoJ,IAAAC,GAAAA,GAAAC,IAIhCC,EAAUhC,EAAMiC,GAAG;AAAC,oBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EAFrBnC,GAAI;AAAA,QAAA,IAAA,gBAAA;AAAA,iBACKD,EAAM,aAAa,KAAK;AAAA,QAAW;AAAA,QAAA,MAE3C;AAAA,QAAM,IAAA,QAAA;AAAA,iBACJZ,EAAG,aAAaY,EAAMqC,KAAK;AAAA,QAAC;AAAA,MAAA,CAAA,GAAA,IAAA,EAAA,GAAAjI,EAAAyH,GAAAjI,EAElCZ,GAAS;AAAA,QAAA,IAACI,QAAK;AAAA,iBAAE4G,EAAMH;AAAAA,QAAI;AAAA,QAAEtG,MAAI;AAAA,QAAIU,MAAI;AAAA,MAAA,CAAA,CAAA,GAAA4H;AAAAA,IAAA;AAAA,EAAA,CAAA;AAIlD;AAEwBS,EAAA,CAAA,SAAA,SAAA,CAAA;"}
@@ -1,8 +1,9 @@
1
- import { createComponent as l, Dynamic as i, mergeProps as m } from "solid-js/web";
1
+ import { createComponent as l, Dynamic as m, mergeProps as i } from "solid-js/web";
2
2
  import { mergeProps as y, splitProps as g } from "solid-js";
3
3
  import c from "clsx";
4
4
  import { mergeRefs as h } from "../../../primitives/mergeRefs.js";
5
- const u = {
5
+ import { mergeStyle as u } from "../../../primitives/mergeStyle.js";
6
+ const b = {
6
7
  h1: "h1",
7
8
  h2: "h2",
8
9
  h3: "h3",
@@ -18,44 +19,39 @@ const u = {
18
19
  overline: "span",
19
20
  button: "span"
20
21
  };
21
- function _(n) {
22
- const s = y({
22
+ function $(e) {
23
+ const n = y({
23
24
  variant: "body1",
24
25
  color: "inherit"
25
- }, n), [t, p] = g(s, ["variant", "color", "align", "gutterBottom", "noWrap", "lines", "tabularNums", "component", "class", "style", "children", "ref"]), o = () => t.lines !== void 0 && t.lines > 0, a = () => {
26
- if (!o()) return t.style;
27
- const r = String(t.lines);
28
- return typeof t.style == "string" ? `${t.style};--smwb-typography-lines:${r}` : {
29
- ...t.style,
30
- "--smwb-typography-lines": r
31
- };
32
- };
33
- return l(i, m({
26
+ }, e), [r, p] = g(n, ["variant", "color", "align", "gutterBottom", "noWrap", "lines", "tabularNums", "component", "class", "style", "children", "ref"]), t = () => r.lines !== void 0 && r.lines > 0, a = () => u(r.style, {
27
+ "--smwb-typography-lines": t() ? String(r.lines) : void 0
28
+ });
29
+ return l(m, i({
34
30
  get component() {
35
- return t.component ?? u[t.variant];
31
+ return r.component ?? b[r.variant];
36
32
  },
37
- ref(r) {
38
- var e = h(t.ref);
39
- typeof e == "function" && e(r);
33
+ ref(s) {
34
+ var o = h(r.ref);
35
+ typeof o == "function" && o(s);
40
36
  },
41
37
  get class() {
42
- return c("smwb-typography", `smwb-typography_${t.variant}`, t.color !== "inherit" && `smwb-typography_color-${t.color}`, t.align && `smwb-typography_align-${t.align}`, {
43
- "smwb-typography_gutter": t.gutterBottom,
44
- "smwb-typography_nowrap": t.noWrap,
45
- "smwb-typography_clamp": o(),
46
- "smwb-typography_tabular-nums": t.tabularNums
47
- }, t.class);
38
+ return c("smwb-typography", `smwb-typography_${r.variant}`, r.color !== "inherit" && `smwb-typography_color-${r.color}`, r.align && `smwb-typography_align-${r.align}`, {
39
+ "smwb-typography_gutter": r.gutterBottom,
40
+ "smwb-typography_nowrap": r.noWrap,
41
+ "smwb-typography_clamp": t(),
42
+ "smwb-typography_tabular-nums": r.tabularNums
43
+ }, r.class);
48
44
  },
49
45
  get style() {
50
46
  return a();
51
47
  }
52
48
  }, p, {
53
49
  get children() {
54
- return t.children;
50
+ return r.children;
55
51
  }
56
52
  }));
57
53
  }
58
54
  export {
59
- _ as Typography
55
+ $ as Typography
60
56
  };
61
57
  //# sourceMappingURL=typography.js.map