@smwb/ui-react 2.7.0 → 2.9.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 (602) hide show
  1. package/AI_LESS_OVERRIDES.md +84 -21
  2. package/AI_THEMING.md +72 -28
  3. package/README.md +681 -0
  4. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  5. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  6. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  7. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  8. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  9. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  10. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  11. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  12. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  13. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  14. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  15. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  16. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  17. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  18. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  19. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  20. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  21. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  22. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  23. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  24. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  25. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  26. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  27. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  28. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  29. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  30. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  31. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  32. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  33. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  34. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  35. package/dist/assets/styles/less/connects/rt/table.entry.css +1 -1
  36. package/dist/assets/styles/less/tokens.entry.css +1 -1
  37. package/dist/components/base/icon/icon.d.ts +6 -2
  38. package/dist/components/base/icon/icon.js +49 -37
  39. package/dist/components/base/icon/icon.js.map +1 -1
  40. package/dist/components/base/ripple/ripple.d.ts +3 -0
  41. package/dist/components/base/ripple/ripple.js +38 -23
  42. package/dist/components/base/ripple/ripple.js.map +1 -1
  43. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  44. package/dist/components/dataDisplay/avatar/avatar.js +50 -37
  45. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  46. package/dist/components/dataDisplay/badge/badge.js +37 -28
  47. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  48. package/dist/components/dataDisplay/card/card.d.ts +30 -2
  49. package/dist/components/dataDisplay/card/card.js +50 -23
  50. package/dist/components/dataDisplay/card/card.js.map +1 -1
  51. package/dist/components/dataDisplay/carousel/carousel.js +70 -70
  52. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  53. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  54. package/dist/components/dataDisplay/chart/chart.js +66 -53
  55. package/dist/components/dataDisplay/chart/chart.js.map +1 -1
  56. package/dist/components/dataDisplay/chat/chat.d.ts +43 -1
  57. package/dist/components/dataDisplay/chat/chat.js +179 -150
  58. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  60. package/dist/components/dataDisplay/chat/chatComposer.js +31 -29
  61. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatIconButton.d.ts +1 -1
  63. package/dist/components/dataDisplay/chat/chatIconButton.js +30 -26
  64. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/chatLayout.d.ts +3 -1
  66. package/dist/components/dataDisplay/chat/chatLayout.js +56 -55
  67. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  68. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +3 -1
  69. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  70. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  71. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  72. package/dist/components/dataDisplay/chip/chip.d.ts +31 -0
  73. package/dist/components/dataDisplay/chip/chip.js +110 -83
  74. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  75. package/dist/components/dataDisplay/chipGroup/chipGroup.js +34 -30
  76. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  77. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  78. package/dist/components/dataDisplay/dagView/dagLayout.js +289 -0
  79. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  80. package/dist/components/dataDisplay/dagView/dagView.d.ts +157 -0
  81. package/dist/components/dataDisplay/dagView/dagView.js +543 -0
  82. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  83. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  84. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  85. package/dist/components/dataDisplay/dagView/panZoom.js +171 -0
  86. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  87. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  88. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  89. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +54 -0
  90. package/dist/components/dataDisplay/diffStat/diffStat.js +63 -0
  91. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  92. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  93. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  94. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  95. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  96. package/dist/components/dataDisplay/kanban/kanban.js +46 -35
  97. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  98. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  99. package/dist/components/dataDisplay/kbd/kbd.d.ts +40 -0
  100. package/dist/components/dataDisplay/kbd/kbd.js +27 -0
  101. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  102. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  103. package/dist/components/dataDisplay/kbd/kbdKeys.js +72 -0
  104. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  105. package/dist/components/dataDisplay/lazyImage/lazyImage.js +31 -30
  106. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  107. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  108. package/dist/components/dataDisplay/list/list.js +15 -14
  109. package/dist/components/dataDisplay/list/list.js.map +1 -1
  110. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  111. package/dist/components/dataDisplay/list/listItem.js +47 -24
  112. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  113. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  114. package/dist/components/dataDisplay/meter/meter.js +24 -23
  115. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  116. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  117. package/dist/components/dataDisplay/personChip/personChip.js +39 -27
  118. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  119. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  120. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +28 -0
  121. package/dist/components/dataDisplay/qrCode/qrCode.js +78 -0
  122. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  123. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  124. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  125. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  126. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  127. package/dist/components/dataDisplay/stat/stat.js +25 -13
  128. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  129. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  130. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  131. package/dist/components/dataDisplay/statusDot/statusDot.js +30 -0
  132. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  133. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  134. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +53 -0
  135. package/dist/components/dataDisplay/swimlanes/swimlanes.js +357 -0
  136. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  137. package/dist/components/dataDisplay/table/table.d.ts +16 -1
  138. package/dist/components/dataDisplay/table/table.js +40 -36
  139. package/dist/components/dataDisplay/table/table.js.map +1 -1
  140. package/dist/components/dataDisplay/table/tableBody.js +10 -4
  141. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  143. package/dist/components/dataDisplay/table/tableCell.js +20 -13
  144. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  145. package/dist/components/dataDisplay/table/tableColumns.d.ts +83 -0
  146. package/dist/components/dataDisplay/table/tableColumns.js +112 -0
  147. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +9 -3
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +24 -3
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +60 -65
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableRow.d.ts +3 -1
  154. package/dist/components/dataDisplay/table/tableRow.js +28 -16
  155. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  156. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  157. package/dist/components/dataDisplay/thumbCard/thumbCard.js +79 -59
  158. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  159. package/dist/components/dataDisplay/treeView/treeView.d.ts +19 -1
  160. package/dist/components/dataDisplay/treeView/treeView.js +113 -91
  161. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  162. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  163. package/dist/components/feedBack/emptyState/emptyState.js +22 -12
  164. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  165. package/dist/components/feedBack/message/message.d.ts +2 -0
  166. package/dist/components/feedBack/message/message.js +30 -19
  167. package/dist/components/feedBack/message/message.js.map +1 -1
  168. package/dist/components/feedBack/modal/modal.js +84 -63
  169. package/dist/components/feedBack/modal/modal.js.map +1 -1
  170. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  171. package/dist/components/feedBack/skeleton/skeleton.js +37 -34
  172. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  173. package/dist/components/feedBack/snackbar/snackbar.js +104 -103
  174. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  175. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  176. package/dist/components/feedBack/tooltip/tooltip.js +67 -47
  177. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  178. package/dist/components/inputs/button/button.d.ts +15 -1
  179. package/dist/components/inputs/button/button.js +73 -63
  180. package/dist/components/inputs/button/button.js.map +1 -1
  181. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  182. package/dist/components/inputs/buttonGroups/buttonGroup.js +40 -36
  183. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  184. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  185. package/dist/components/inputs/checkbox/checkbox.js +84 -59
  186. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  187. package/dist/components/inputs/composer/composer.d.ts +149 -0
  188. package/dist/components/inputs/composer/composer.js +219 -0
  189. package/dist/components/inputs/composer/composer.js.map +1 -0
  190. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  191. package/dist/components/inputs/composer/composerFiles.js +19 -0
  192. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  193. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  194. package/dist/components/inputs/composer/composerKeys.js +7 -0
  195. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  196. package/dist/components/inputs/composer/index.d.ts +3 -0
  197. package/dist/components/inputs/datePicker/datePicker.js +170 -164
  198. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  199. package/dist/components/inputs/datePicker/datePickerDay.d.ts +1 -1
  200. package/dist/components/inputs/datePicker/datePickerDay.js +52 -44
  201. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  202. package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +1 -1
  203. package/dist/components/inputs/datePicker/datePickerIconButton.js +32 -28
  204. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  205. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  206. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  207. package/dist/components/inputs/floatingButton/floatingButton.js +32 -30
  208. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  209. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  210. package/dist/components/inputs/radioButton/radioButton.js +77 -58
  211. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  212. package/dist/components/inputs/rating/rating.d.ts +8 -0
  213. package/dist/components/inputs/rating/rating.js +85 -70
  214. package/dist/components/inputs/rating/rating.js.map +1 -1
  215. package/dist/components/inputs/selectField/dropdownMenu.d.ts +20 -1
  216. package/dist/components/inputs/selectField/dropdownMenu.js +266 -113
  217. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  218. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  219. package/dist/components/inputs/selectField/optionNavigation.js +38 -0
  220. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  221. package/dist/components/inputs/selectField/selectField.d.ts +31 -1
  222. package/dist/components/inputs/selectField/selectField.js +358 -218
  223. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  224. package/dist/components/inputs/slider/slider.d.ts +22 -1
  225. package/dist/components/inputs/slider/slider.js +330 -261
  226. package/dist/components/inputs/slider/slider.js.map +1 -1
  227. package/dist/components/inputs/textField/textField.d.ts +7 -0
  228. package/dist/components/inputs/textField/textField.js +118 -100
  229. package/dist/components/inputs/textField/textField.js.map +1 -1
  230. package/dist/components/inputs/textField/textFieldWrapper.d.ts +15 -1
  231. package/dist/components/inputs/textField/textFieldWrapper.js +45 -34
  232. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  233. package/dist/components/inputs/timePicker/timePicker.js +91 -85
  234. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  235. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  236. package/dist/components/inputs/toggle/toggle.js +80 -61
  237. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  238. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  239. package/dist/components/inputs/valueSlider/valueSlider.js +23 -22
  240. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  241. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  242. package/dist/components/layout/appLayout/appLayout.js +25 -24
  243. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  244. package/dist/components/layout/divider/divider.d.ts +2 -0
  245. package/dist/components/layout/divider/divider.js +23 -22
  246. package/dist/components/layout/divider/divider.js.map +1 -1
  247. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  248. package/dist/components/layout/floatingWindow/floatingWindow.js +145 -139
  249. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  250. package/dist/components/layout/grid/grid.d.ts +12 -1
  251. package/dist/components/layout/grid/grid.js +51 -36
  252. package/dist/components/layout/grid/grid.js.map +1 -1
  253. package/dist/components/layout/page/page.d.ts +2 -0
  254. package/dist/components/layout/page/page.js +16 -8
  255. package/dist/components/layout/page/page.js.map +1 -1
  256. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  257. package/dist/components/layout/pageHeader/pageHeader.js +22 -13
  258. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  259. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  260. package/dist/components/layout/sectionHeader/sectionHeader.js +37 -27
  261. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  262. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  263. package/dist/components/layout/sheet/sheet.js +148 -132
  264. package/dist/components/layout/sheet/sheet.js.map +1 -1
  265. package/dist/components/layout/stack/stack.d.ts +2 -0
  266. package/dist/components/layout/stack/stack.js +29 -17
  267. package/dist/components/layout/stack/stack.js.map +1 -1
  268. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  269. package/dist/components/layout/tabGroups/tabGroups.d.ts +94 -0
  270. package/dist/components/layout/tabGroups/tabGroups.js +783 -0
  271. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  272. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  273. package/dist/components/layout/tabGroups/tabGroupsFocus.js +199 -0
  274. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  275. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  276. package/dist/components/layout/tabGroups/tabGroupsLayout.js +497 -0
  277. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  278. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  279. package/dist/components/navigation/appBar/appBar.js +39 -33
  280. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  281. package/dist/components/navigation/bottomBar/bottomBar.js +81 -77
  282. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  283. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  284. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +29 -27
  285. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  286. package/dist/components/navigation/commandPalette/commandPalette.d.ts +111 -0
  287. package/dist/components/navigation/commandPalette/commandPalette.js +337 -0
  288. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  289. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  290. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  291. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  292. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  293. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  294. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  296. package/dist/components/navigation/commandPalette/index.d.ts +4 -0
  297. package/dist/components/navigation/menu/menu.d.ts +12 -0
  298. package/dist/components/navigation/menu/menu.js.map +1 -1
  299. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  300. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  301. package/dist/components/navigation/menu/menuFloating.js +42 -30
  302. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  303. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  304. package/dist/components/navigation/menu/menuItem.js +60 -48
  305. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  306. package/dist/components/navigation/menu/menuList.d.ts +5 -1
  307. package/dist/components/navigation/menu/menuList.js +30 -19
  308. package/dist/components/navigation/menu/menuList.js.map +1 -1
  309. package/dist/components/navigation/menu/menuSubmenu.js +53 -40
  310. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  311. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  312. package/dist/components/navigation/pagination/pagination.js +51 -49
  313. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  314. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  315. package/dist/components/navigation/sidebar/sidebar.js +65 -62
  316. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  317. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  318. package/dist/components/navigation/stepper/stepper.js +37 -28
  319. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  320. package/dist/components/navigation/tabs/index.d.ts +3 -1
  321. package/dist/components/navigation/tabs/tab/tab.d.ts +88 -1
  322. package/dist/components/navigation/tabs/tab/tab.js +116 -35
  323. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  324. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +19 -0
  325. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +27 -0
  326. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  327. package/dist/components/navigation/tabs/tabs.d.ts +80 -4
  328. package/dist/components/navigation/tabs/tabs.js +369 -148
  329. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  330. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  331. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  332. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  333. package/dist/components/navigation/tabs/tabsContext.d.ts +11 -0
  334. package/dist/components/navigation/tabs/tabsContext.js +6 -0
  335. package/dist/components/navigation/tabs/tabsContext.js.map +1 -0
  336. package/dist/connects/rt/table/headerCellRenderer.d.ts +4 -1
  337. package/dist/connects/rt/table/headerCellRenderer.js +45 -15
  338. package/dist/connects/rt/table/headerCellRenderer.js.map +1 -1
  339. package/dist/connects/rt/table/table.d.ts +15 -1
  340. package/dist/connects/rt/table/table.js +125 -131
  341. package/dist/connects/rt/table/table.js.map +1 -1
  342. package/dist/headless/components/base/icon/icon.js +49 -37
  343. package/dist/headless/components/base/icon/icon.js.map +1 -1
  344. package/dist/headless/components/base/ripple/ripple.js +42 -27
  345. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  346. package/dist/headless/components/dataDisplay/avatar/avatar.js +51 -38
  347. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  348. package/dist/headless/components/dataDisplay/badge/badge.js +37 -28
  349. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  350. package/dist/headless/components/dataDisplay/card/card.js +50 -23
  351. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  352. package/dist/headless/components/dataDisplay/carousel/carousel.js +55 -55
  353. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  354. package/dist/headless/components/dataDisplay/chat/chat.js +179 -150
  355. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  356. package/dist/headless/components/dataDisplay/chat/chatComposer.js +31 -29
  357. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  358. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +30 -26
  359. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  360. package/dist/headless/components/dataDisplay/chat/chatLayout.js +56 -55
  361. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  362. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chip/chip.js +108 -81
  364. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +35 -31
  366. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +289 -0
  368. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  369. package/dist/headless/components/dataDisplay/dagView/dagView.js +541 -0
  370. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  371. package/dist/headless/components/dataDisplay/dagView/panZoom.js +171 -0
  372. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  373. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  374. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +61 -0
  375. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  377. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  378. package/dist/headless/components/dataDisplay/kanban/kanban.js +45 -34
  379. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/kbd/kbd.js +25 -0
  381. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +72 -0
  383. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  384. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  385. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/list/list.js +15 -14
  387. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  388. package/dist/headless/components/dataDisplay/list/listItem.js +47 -24
  389. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  390. package/dist/headless/components/dataDisplay/meter/meter.js +19 -18
  391. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/personChip/personChip.js +39 -27
  393. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +76 -0
  395. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  396. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  397. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  398. package/dist/headless/components/dataDisplay/stat/stat.js +27 -15
  399. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +28 -0
  401. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +355 -0
  403. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/table/table.js +40 -36
  405. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/table/tableBody.js +10 -4
  407. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  408. package/dist/headless/components/dataDisplay/table/tableCell.js +20 -13
  409. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  410. package/dist/headless/components/dataDisplay/table/tableColumns.js +112 -0
  411. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  412. package/dist/headless/components/dataDisplay/table/tableHead.js +9 -3
  413. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +60 -65
  415. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -16
  417. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  418. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +78 -58
  419. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  420. package/dist/headless/components/dataDisplay/treeView/treeView.js +113 -91
  421. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  422. package/dist/headless/components/feedBack/emptyState/emptyState.js +21 -11
  423. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  424. package/dist/headless/components/feedBack/message/message.js +31 -20
  425. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  426. package/dist/headless/components/feedBack/modal/modal.js +84 -63
  427. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  428. package/dist/headless/components/feedBack/skeleton/skeleton.js +38 -35
  429. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  430. package/dist/headless/components/feedBack/snackbar/snackbar.js +108 -107
  431. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  432. package/dist/headless/components/feedBack/tooltip/tooltip.js +67 -47
  433. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  434. package/dist/headless/components/inputs/button/button.js +73 -63
  435. package/dist/headless/components/inputs/button/button.js.map +1 -1
  436. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +40 -36
  437. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  438. package/dist/headless/components/inputs/checkbox/checkbox.js +85 -60
  439. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  440. package/dist/headless/components/inputs/composer/composer.js +217 -0
  441. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  442. package/dist/headless/components/inputs/composer/composerFiles.js +19 -0
  443. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  444. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  445. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  446. package/dist/headless/components/inputs/datePicker/datePicker.js +170 -164
  447. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  448. package/dist/headless/components/inputs/datePicker/datePickerDay.js +52 -44
  449. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  450. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +32 -28
  451. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  452. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  453. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  454. package/dist/headless/components/inputs/floatingButton/floatingButton.js +32 -30
  455. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  456. package/dist/headless/components/inputs/radioButton/radioButton.js +77 -58
  457. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  458. package/dist/headless/components/inputs/rating/rating.js +85 -70
  459. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  460. package/dist/headless/components/inputs/selectField/dropdownMenu.js +266 -113
  461. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  462. package/dist/headless/components/inputs/selectField/optionNavigation.js +38 -0
  463. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  464. package/dist/headless/components/inputs/selectField/selectField.js +358 -218
  465. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  466. package/dist/headless/components/inputs/slider/slider.js +330 -261
  467. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  468. package/dist/headless/components/inputs/textField/textField.js +118 -100
  469. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  470. package/dist/headless/components/inputs/textField/textFieldWrapper.js +45 -34
  471. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  472. package/dist/headless/components/inputs/timePicker/timePicker.js +91 -85
  473. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  474. package/dist/headless/components/inputs/toggle/toggle.js +79 -60
  475. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  476. package/dist/headless/components/inputs/valueSlider/valueSlider.js +25 -24
  477. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  478. package/dist/headless/components/layout/appLayout/appLayout.js +27 -26
  479. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  480. package/dist/headless/components/layout/divider/divider.js +18 -17
  481. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  482. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +145 -139
  483. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  484. package/dist/headless/components/layout/grid/grid.js +48 -33
  485. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  486. package/dist/headless/components/layout/page/page.js +15 -7
  487. package/dist/headless/components/layout/page/page.js.map +1 -1
  488. package/dist/headless/components/layout/pageHeader/pageHeader.js +20 -11
  489. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  490. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +36 -26
  491. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  492. package/dist/headless/components/layout/sheet/sheet.js +156 -140
  493. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  494. package/dist/headless/components/layout/stack/stack.js +29 -17
  495. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  496. package/dist/headless/components/layout/tabGroups/tabGroups.js +781 -0
  497. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  498. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +199 -0
  499. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  500. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +497 -0
  501. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  502. package/dist/headless/components/navigation/appBar/appBar.js +35 -29
  503. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  504. package/dist/headless/components/navigation/bottomBar/bottomBar.js +81 -77
  505. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  506. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +32 -30
  507. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  508. package/dist/headless/components/navigation/commandPalette/commandPalette.js +335 -0
  509. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  510. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  511. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  512. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  513. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  514. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  515. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  516. package/dist/headless/components/navigation/menu/menuFloating.js +42 -30
  517. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  518. package/dist/headless/components/navigation/menu/menuItem.js +60 -48
  519. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  520. package/dist/headless/components/navigation/menu/menuList.js +30 -19
  521. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  522. package/dist/headless/components/navigation/menu/menuSubmenu.js +53 -40
  523. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  524. package/dist/headless/components/navigation/pagination/pagination.js +51 -49
  525. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  526. package/dist/headless/components/navigation/sidebar/sidebar.js +55 -52
  527. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  528. package/dist/headless/components/navigation/stepper/stepper.js +42 -33
  529. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  530. package/dist/headless/components/navigation/tabs/tab/tab.js +117 -36
  531. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  532. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +25 -0
  533. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  534. package/dist/headless/components/navigation/tabs/tabs.js +362 -141
  535. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  536. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  537. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  538. package/dist/headless/components/navigation/tabs/tabsContext.js +6 -0
  539. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -0
  540. package/dist/headless/hooks/useDismissOnEscape.js +16 -0
  541. package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
  542. package/dist/headless/hooks/useFocusTrap.js +24 -20
  543. package/dist/headless/hooks/useFocusTrap.js.map +1 -1
  544. package/dist/headless/hooks/useHelperText.js +13 -0
  545. package/dist/headless/hooks/useHelperText.js.map +1 -0
  546. package/dist/headless/hooks/useKeyboardShortcut.js +19 -0
  547. package/dist/headless/hooks/useKeyboardShortcut.js.map +1 -0
  548. package/dist/headless/index.js +360 -316
  549. package/dist/headless/index.js.map +1 -1
  550. package/dist/headless/utils/controlProps.js +14 -0
  551. package/dist/headless/utils/controlProps.js.map +1 -0
  552. package/dist/headless/utils/keyboardShortcut.js +49 -0
  553. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  554. package/dist/headless/utils/linkAttrs.js +13 -0
  555. package/dist/headless/utils/linkAttrs.js.map +1 -0
  556. package/dist/headless/utils/overlayLayer.js +14 -7
  557. package/dist/headless/utils/overlayLayer.js.map +1 -1
  558. package/dist/headless/utils/ownClick.js +40 -0
  559. package/dist/headless/utils/ownClick.js.map +1 -0
  560. package/dist/headless/utils/readOnlyToggle.js +14 -0
  561. package/dist/headless/utils/readOnlyToggle.js.map +1 -0
  562. package/dist/headless/utils/restoreFocus.js +10 -0
  563. package/dist/headless/utils/restoreFocus.js.map +1 -0
  564. package/dist/hooks/useDismissOnEscape.d.ts +11 -0
  565. package/dist/hooks/useDismissOnEscape.js +16 -0
  566. package/dist/hooks/useDismissOnEscape.js.map +1 -0
  567. package/dist/hooks/useFocusTrap.d.ts +8 -1
  568. package/dist/hooks/useFocusTrap.js +24 -20
  569. package/dist/hooks/useFocusTrap.js.map +1 -1
  570. package/dist/hooks/useHelperText.d.ts +21 -0
  571. package/dist/hooks/useHelperText.js +13 -0
  572. package/dist/hooks/useHelperText.js.map +1 -0
  573. package/dist/hooks/useKeyboardShortcut.d.ts +30 -0
  574. package/dist/hooks/useKeyboardShortcut.js +19 -0
  575. package/dist/hooks/useKeyboardShortcut.js.map +1 -0
  576. package/dist/index.cjs +3 -2
  577. package/dist/index.cjs.map +1 -1
  578. package/dist/index.d.ts +24 -3
  579. package/dist/index.js +360 -316
  580. package/dist/index.js.map +1 -1
  581. package/dist/utils/controlProps.d.ts +16 -0
  582. package/dist/utils/controlProps.js +14 -0
  583. package/dist/utils/controlProps.js.map +1 -0
  584. package/dist/utils/keyboardShortcut.d.ts +12 -0
  585. package/dist/utils/keyboardShortcut.js +49 -0
  586. package/dist/utils/keyboardShortcut.js.map +1 -0
  587. package/dist/utils/linkAttrs.d.ts +13 -0
  588. package/dist/utils/linkAttrs.js +13 -0
  589. package/dist/utils/linkAttrs.js.map +1 -0
  590. package/dist/utils/overlayLayer.d.ts +15 -3
  591. package/dist/utils/overlayLayer.js +14 -7
  592. package/dist/utils/overlayLayer.js.map +1 -1
  593. package/dist/utils/ownClick.d.ts +16 -0
  594. package/dist/utils/ownClick.js +40 -0
  595. package/dist/utils/ownClick.js.map +1 -0
  596. package/dist/utils/readOnlyToggle.d.ts +15 -0
  597. package/dist/utils/readOnlyToggle.js +14 -0
  598. package/dist/utils/readOnlyToggle.js.map +1 -0
  599. package/dist/utils/restoreFocus.d.ts +8 -0
  600. package/dist/utils/restoreFocus.js +10 -0
  601. package/dist/utils/restoreFocus.js.map +1 -0
  602. package/package.json +5 -3
@@ -1,47 +1,53 @@
1
- import { jsx as a, jsxs as m } from "react/jsx-runtime";
2
- import { forwardRef as w } from "react";
3
- import i from "clsx";
4
- const g = w(function({
5
- className: d,
1
+ import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
+ import { forwardRef as v } from "react";
3
+ import m from "clsx";
4
+ const B = v(function({
5
+ className: b,
6
6
  children: s,
7
- dense: t,
8
- position: b = "static",
7
+ dense: o,
8
+ position: w = "static",
9
9
  placement: r = "top",
10
10
  leftContent: l,
11
- midContent: c,
12
- midContentAlign: n = "middle",
13
- rightContent: o,
14
- title: e,
15
- color: p = "default",
16
- ..._
17
- }, f) {
11
+ midContent: n,
12
+ midContentAlign: c = "middle",
13
+ rightContent: _,
14
+ title: p,
15
+ titleAs: f = "div",
16
+ variant: t = "default",
17
+ windowControls: e = "auto",
18
+ color: d = "default",
19
+ "data-testid": u = "app-bar",
20
+ ...h
21
+ }, N) {
18
22
  return /* @__PURE__ */ a(
19
23
  r === "top" ? "header" : "footer",
20
24
  {
21
- ref: f,
22
- className: i(
25
+ ref: N,
26
+ className: m(
23
27
  "smwb-appbar",
24
- d,
25
- `smwb-${b}`,
28
+ b,
29
+ `smwb-${w}`,
26
30
  `smwb-${r}`,
27
- { "smwb-dense": t },
28
- p !== "default" && `smwb-appbar_color-${p}`
31
+ { "smwb-dense": o },
32
+ d !== "default" && `smwb-appbar_color-${d}`,
33
+ t === "window" && "smwb-appbar_variant-window",
34
+ t === "window" && e !== "auto" && `smwb-appbar_window-controls-${e}`
29
35
  ),
30
- "data-testid": "app-bar",
31
- ..._,
32
- children: s || /* @__PURE__ */ m("div", { className: "smwb-appbar__inner", children: [
33
- /* @__PURE__ */ m("div", { className: "smwb-appbar__left", children: [
34
- e && /* @__PURE__ */ a("div", { className: "smwb-appbar__left__title", children: e }),
36
+ "data-testid": u,
37
+ ...h,
38
+ children: s || /* @__PURE__ */ i("div", { className: "smwb-appbar__inner", children: [
39
+ /* @__PURE__ */ i("div", { className: "smwb-appbar__left", children: [
40
+ p && /* @__PURE__ */ a(f, { className: "smwb-appbar__left__title", children: p }),
35
41
  l
36
42
  ] }),
37
- /* @__PURE__ */ a("div", { className: i("smwb-appbar__mid", `smwb-${n}`), children: c }),
38
- /* @__PURE__ */ a("div", { className: "smwb-appbar__right", children: o })
43
+ /* @__PURE__ */ a("div", { className: m("smwb-appbar__mid", `smwb-${c}`), children: n }),
44
+ /* @__PURE__ */ a("div", { className: "smwb-appbar__right", children: _ })
39
45
  ] })
40
46
  }
41
47
  );
42
48
  });
43
49
  export {
44
- g as AppBar,
45
- g as default
50
+ B as AppBar,
51
+ B as default
46
52
  };
47
53
  //# sourceMappingURL=appBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appBar.js","sources":["../../../../../src/components/navigation/appBar/appBar.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport cn from \"clsx\";\n\nexport type AppBarColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface AppBarProps extends Omit<React.HTMLAttributes<HTMLElement>, \"title\"> {\n children?: React.ReactNode;\n className?: string;\n dense?: boolean;\n position?: \"relative\" | \"static\" | \"absolute\" | \"sticky\" | \"fixed\";\n placement?: \"top\" | \"bottom\";\n leftContent?: React.ReactNode;\n midContent?: React.ReactNode;\n rightContent?: React.ReactNode;\n title?: React.ReactNode | string;\n midContentAlign?: \"middle\" | \"left\" | \"right\";\n /** Semantic background color. */\n color?: AppBarColor;\n}\n\nexport const AppBar = forwardRef<HTMLElement, AppBarProps>(function AppBar(\n {\n className,\n children,\n dense,\n position = \"static\",\n placement = \"top\",\n leftContent,\n midContent,\n midContentAlign = \"middle\",\n rightContent,\n title,\n color = \"default\",\n ...rest\n },\n ref\n) {\n const MainTag = placement === \"top\" ? \"header\" : \"footer\";\n\n return (\n <MainTag\n ref={ref}\n className={cn(\n \"smwb-appbar\",\n className,\n `smwb-${position}`,\n `smwb-${placement}`,\n { \"smwb-dense\": dense },\n color !== \"default\" && `smwb-appbar_color-${color}`\n )}\n data-testid=\"app-bar\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <div className=\"smwb-appbar__inner\">\n <div className=\"smwb-appbar__left\">\n {title && <div className=\"smwb-appbar__left__title\">{title}</div>}\n {leftContent}\n </div>\n <div className={cn(\"smwb-appbar__mid\", `smwb-${midContentAlign}`)}>{midContent}</div>\n <div className=\"smwb-appbar__right\">{rightContent}</div>\n </div>\n )}\n </MainTag>\n );\n});\n\nexport default AppBar;\n"],"names":["AppBar","forwardRef","className","children","dense","position","placement","leftContent","midContent","midContentAlign","rightContent","title","color","rest","ref","jsx","cn","jsxs"],"mappings":";;;AAoBO,MAAMA,IAASC,EAAqC,SACzD;AAAA,EACE,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,GAAGC;AACL,GACAC,GACA;AAGA,SACE,gBAAAC;AAAA,IAHcT,MAAc,QAAQ,WAAW;AAAA,IAG9C;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAd;AAAA,QACA,QAAQG,CAAQ;AAAA,QAChB,QAAQC,CAAS;AAAA,QACjB,EAAE,cAAcF,EAAA;AAAA,QAChBQ,MAAU,aAAa,qBAAqBA,CAAK;AAAA,MAAA;AAAA,MAEnD,eAAY;AAAA,MACX,GAAGC;AAAA,MAEH,UAAAV,KAGC,gBAAAc,EAAC,OAAA,EAAI,WAAU,sBACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qBACZ,UAAA;AAAA,UAAAN,KAAS,gBAAAI,EAAC,OAAA,EAAI,WAAU,4BAA4B,UAAAJ,GAAM;AAAA,UAC1DJ;AAAA,QAAA,GACH;AAAA,QACA,gBAAAQ,EAAC,SAAI,WAAWC,EAAG,oBAAoB,QAAQP,CAAe,EAAE,GAAI,UAAAD,EAAA,CAAW;AAAA,QAC/E,gBAAAO,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAL,EAAA,CAAa;AAAA,MAAA,EAAA,CACpD;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
1
+ {"version":3,"file":"appBar.js","sources":["../../../../../src/components/navigation/appBar/appBar.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport cn from \"clsx\";\n\nexport type AppBarColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface AppBarProps extends Omit<React.HTMLAttributes<HTMLElement>, \"title\"> {\n children?: React.ReactNode;\n className?: string;\n dense?: boolean;\n position?: \"relative\" | \"static\" | \"absolute\" | \"sticky\" | \"fixed\";\n placement?: \"top\" | \"bottom\";\n leftContent?: React.ReactNode;\n midContent?: React.ReactNode;\n rightContent?: React.ReactNode;\n title?: React.ReactNode | string;\n /**\n * Tag the `title` is rendered in: a `div` (default) or a heading, `h1`–`h6`,\n * for the page's main heading. Only the tag changes — a heading is drawn with\n * the bar's own font size, weight and no margins, so it looks exactly like the\n * div. The heading's text is the `title` itself, so pass a string or plain\n * markup rather than a `Typography` heading.\n */\n titleAs?: \"div\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n midContentAlign?: \"middle\" | \"left\" | \"right\";\n /**\n * `window`: the bar is the title bar of a desktop app window (Electron, Tauri, an installed PWA with Window\n * Controls Overlay). The bar drags the window; buttons, links, fields and other controls in it stay clickable,\n * and room is left for the OS window buttons (`windowControls`). In a plain browser tab it looks like `default`.\n */\n variant?: \"default\" | \"window\";\n /**\n * With `variant=\"window\"`: where the OS window buttons are, so the bar's content keeps clear of them.\n * `auto` (default) takes the area from the shell's `env(titlebar-area-*)` (Window Controls Overlay, Electron\n * `titleBarOverlay`) and reserves nothing without it; `left` is macOS (traffic lights, `titleBarStyle: \"hiddenInset\"`),\n * `right` is Windows/Linux caption buttons drawn by the OS; `none` reserves nothing. The reserved width is\n * the `--smui-appBarWindowControlsWidth` custom property (64px on the left, 138px on the right by default).\n */\n windowControls?: \"auto\" | \"left\" | \"right\" | \"none\";\n /** Semantic background color. */\n color?: AppBarColor;\n /** Test id of the root (`<header>`, or `<footer>` at the bottom); `app-bar` unless given. */\n \"data-testid\"?: string;\n}\n\nexport const AppBar = forwardRef<HTMLElement, AppBarProps>(function AppBar(\n {\n className,\n children,\n dense,\n position = \"static\",\n placement = \"top\",\n leftContent,\n midContent,\n midContentAlign = \"middle\",\n rightContent,\n title,\n titleAs: TitleTag = \"div\",\n variant = \"default\",\n windowControls = \"auto\",\n color = \"default\",\n \"data-testid\": dataTestId = \"app-bar\",\n ...rest\n },\n ref\n) {\n const MainTag = placement === \"top\" ? \"header\" : \"footer\";\n\n return (\n <MainTag\n ref={ref}\n className={cn(\n \"smwb-appbar\",\n className,\n `smwb-${position}`,\n `smwb-${placement}`,\n { \"smwb-dense\": dense },\n color !== \"default\" && `smwb-appbar_color-${color}`,\n variant === \"window\" && \"smwb-appbar_variant-window\",\n variant === \"window\" && windowControls !== \"auto\" && `smwb-appbar_window-controls-${windowControls}`\n )}\n data-testid={dataTestId}\n {...rest}\n >\n {children ? (\n children\n ) : (\n <div className=\"smwb-appbar__inner\">\n <div className=\"smwb-appbar__left\">\n {title && <TitleTag className=\"smwb-appbar__left__title\">{title}</TitleTag>}\n {leftContent}\n </div>\n <div className={cn(\"smwb-appbar__mid\", `smwb-${midContentAlign}`)}>{midContent}</div>\n <div className=\"smwb-appbar__right\">{rightContent}</div>\n </div>\n )}\n </MainTag>\n );\n});\n\nexport default AppBar;\n"],"names":["AppBar","forwardRef","className","children","dense","position","placement","leftContent","midContent","midContentAlign","rightContent","title","TitleTag","variant","windowControls","color","dataTestId","rest","ref","jsx","cn","jsxs"],"mappings":";;;AA4CO,MAAMA,IAASC,EAAqC,SACzD;AAAA,EACE,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAASC,IAAW;AAAA,EACpB,SAAAC,IAAU;AAAA,EACV,gBAAAC,IAAiB;AAAA,EACjB,OAAAC,IAAQ;AAAA,EACR,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GACAC,GACA;AAGA,SACE,gBAAAC;AAAA,IAHcb,MAAc,QAAQ,WAAW;AAAA,IAG9C;AAAA,MACC,KAAAY;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAlB;AAAA,QACA,QAAQG,CAAQ;AAAA,QAChB,QAAQC,CAAS;AAAA,QACjB,EAAE,cAAcF,EAAA;AAAA,QAChBW,MAAU,aAAa,qBAAqBA,CAAK;AAAA,QACjDF,MAAY,YAAY;AAAA,QACxBA,MAAY,YAAYC,MAAmB,UAAU,+BAA+BA,CAAc;AAAA,MAAA;AAAA,MAEpG,eAAaE;AAAA,MACZ,GAAGC;AAAA,MAEH,UAAAd,KAGC,gBAAAkB,EAAC,OAAA,EAAI,WAAU,sBACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qBACZ,UAAA;AAAA,UAAAV,KAAS,gBAAAQ,EAACP,GAAA,EAAS,WAAU,4BAA4B,UAAAD,GAAM;AAAA,UAC/DJ;AAAA,QAAA,GACH;AAAA,QACA,gBAAAY,EAAC,SAAI,WAAWC,EAAG,oBAAoB,QAAQX,CAAe,EAAE,GAAI,UAAAD,EAAA,CAAW;AAAA,QAC/E,gBAAAW,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAT,EAAA,CAAa;AAAA,MAAA,EAAA,CACpD;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
@@ -1,105 +1,109 @@
1
- import { jsxs as u, jsx as t } from "react/jsx-runtime";
2
- import F, { forwardRef as E, useState as O, useMemo as T } from "react";
3
- import S from "clsx";
4
- import { Icon as G } from "../../base/icon/icon.js";
5
- import { Ripple as H } from "../../base/ripple/ripple.js";
6
- import { Menu as J } from "../menu/menu.js";
7
- import { MenuItem as K } from "../menu/menuItem.js";
8
- import { MenuItemIcon as L } from "../menu/menuItemIcon.js";
9
- import { MenuItemText as Q } from "../menu/menuItemText.js";
10
- const oe = E(function({
11
- className: b,
1
+ import { jsxs as b, jsx as t } from "react/jsx-runtime";
2
+ import G, { forwardRef as S, useState as O, useMemo as A } from "react";
3
+ import j from "clsx";
4
+ import { Icon as H } from "../../base/icon/icon.js";
5
+ import { Ripple as J } from "../../base/ripple/ripple.js";
6
+ import { Menu as K } from "../menu/menu.js";
7
+ import { MenuItem as L } from "../menu/menuItem.js";
8
+ import { MenuItemIcon as Q } from "../menu/menuItemIcon.js";
9
+ import { MenuItemText as U } from "../menu/menuItemText.js";
10
+ const te = S(function({
11
+ className: v,
12
12
  menuItems: r = [],
13
13
  visibleCount: i = 4,
14
14
  activeItem: m,
15
- defaultActiveItem: v = null,
15
+ defaultActiveItem: d = null,
16
16
  onActiveItemChange: s,
17
- overflowMenuAriaLabel: d = "More navigation",
18
- ...h
19
- }, f) {
20
- const p = m !== void 0, [w, I] = O(v), n = p ? m : w, [c, R] = O(!1), [y, g] = O(null), l = Math.max(0, i), k = T(() => r.slice(0, l), [r, l]), B = T(() => r.slice(l), [r, l]), _ = B.length > 0, z = _ && n !== null && n >= l, M = (e) => {
21
- p || I(e), s == null || s(e);
22
- }, C = (e, o) => (a) => {
17
+ overflowMenuAriaLabel: h = "More navigation",
18
+ ...f
19
+ }, p) {
20
+ var x;
21
+ const u = m !== void 0, [w, I] = O(d), n = u ? m : w, [c, R] = O(!1), [g, k] = O(null), l = Math.max(0, i), z = A(() => r.slice(0, l), [r, l]), B = A(() => r.slice(l), [r, l]), _ = B.length > 0, C = _ && n !== null && n >= l, M = (e) => {
22
+ u || I(e), s == null || s(e);
23
+ }, V = (e, o) => (a) => {
23
24
  M(e), o == null || o(a);
24
- }, V = () => {
25
+ }, q = () => {
25
26
  R((e) => !e);
26
27
  }, N = () => {
27
28
  R(!1);
28
29
  };
29
- return /* @__PURE__ */ u("nav", { ref: f, className: S("smwb-bottom-bar", b), role: "navigation", ...h, children: [
30
- /* @__PURE__ */ u("div", { className: "smwb-bottom-bar__nav", role: "menubar", children: [
31
- k.map((e, o) => /* @__PURE__ */ t(
32
- A,
33
- {
34
- as: e.as,
35
- isActive: n === o,
36
- onClick: C(o, e.onClick),
37
- icon: e.icon,
38
- title: e.title,
39
- href: e.href
40
- },
41
- o
42
- )),
43
- _ && /* @__PURE__ */ t(
44
- A,
45
- {
46
- ref: g,
47
- isActive: z,
48
- onClick: V,
49
- icon: /* @__PURE__ */ t(G, { name: "menu", size: 24 }),
50
- "aria-label": d,
51
- "aria-haspopup": "menu",
52
- "aria-expanded": c
53
- }
54
- )
55
- ] }),
56
- _ && /* @__PURE__ */ t(J, { isOpen: c, onClose: N, anchorElement: y, placement: "top", dense: !0, children: B.map((e, o) => {
57
- const a = l + o;
58
- return /* @__PURE__ */ u(
59
- K,
60
- {
61
- selected: n === a,
62
- href: e.href,
63
- onClick: (q) => {
64
- var x;
65
- M(a), (x = e.onClick) == null || x.call(e, q), N();
30
+ return (
31
+ // role="navigation" is a default: the caller's own wins, and an explicit undefined keeps it.
32
+ /* @__PURE__ */ b("nav", { ref: p, className: j("smwb-bottom-bar", v), ...f, role: (x = f.role) != null ? x : "navigation", children: [
33
+ /* @__PURE__ */ b("div", { className: "smwb-bottom-bar__nav", role: "menubar", children: [
34
+ z.map((e, o) => /* @__PURE__ */ t(
35
+ E,
36
+ {
37
+ as: e.as,
38
+ isActive: n === o,
39
+ onClick: V(o, e.onClick),
40
+ icon: e.icon,
41
+ title: e.title,
42
+ href: e.href
66
43
  },
67
- children: [
68
- e.icon ? /* @__PURE__ */ t(L, { children: e.icon }) : null,
69
- /* @__PURE__ */ t(Q, { inset: !e.icon, children: e.title })
70
- ]
71
- },
72
- a
73
- );
74
- }) })
75
- ] });
76
- }), A = E(function({ isActive: b, icon: r, title: i, as: m = "div", href: v, onMouseDown: s, ...d }, h) {
77
- const f = F.useRef(null), p = (n) => {
44
+ o
45
+ )),
46
+ _ && /* @__PURE__ */ t(
47
+ E,
48
+ {
49
+ ref: k,
50
+ isActive: C,
51
+ onClick: q,
52
+ icon: /* @__PURE__ */ t(H, { name: "menu", size: 24 }),
53
+ "aria-label": h,
54
+ "aria-haspopup": "menu",
55
+ "aria-expanded": c
56
+ }
57
+ )
58
+ ] }),
59
+ _ && /* @__PURE__ */ t(K, { isOpen: c, onClose: N, anchorElement: g, placement: "top", dense: !0, children: B.map((e, o) => {
60
+ const a = l + o;
61
+ return /* @__PURE__ */ b(
62
+ L,
63
+ {
64
+ selected: n === a,
65
+ href: e.href,
66
+ onClick: (F) => {
67
+ var T;
68
+ M(a), (T = e.onClick) == null || T.call(e, F), N();
69
+ },
70
+ children: [
71
+ e.icon ? /* @__PURE__ */ t(Q, { children: e.icon }) : null,
72
+ /* @__PURE__ */ t(U, { inset: !e.icon, children: e.title })
73
+ ]
74
+ },
75
+ a
76
+ );
77
+ }) })
78
+ ] })
79
+ );
80
+ }), E = S(function({ isActive: v, icon: r, title: i, as: m = "div", href: d, onMouseDown: s, ...h }, f) {
81
+ const p = G.useRef(null), u = (n) => {
78
82
  s == null || s(n);
79
83
  }, w = (n) => {
80
84
  var c;
81
- (c = f.current) == null || c.onRipple(n);
85
+ (c = p.current) == null || c.onRipple(n);
82
86
  };
83
- return /* @__PURE__ */ u(
87
+ return /* @__PURE__ */ b(
84
88
  m,
85
89
  {
86
- ref: h,
87
- href: v,
90
+ ref: f,
91
+ href: d,
88
92
  role: "menuitem",
89
- className: S("smwb-bottom-bar__item", { "smwb-bottom-bar__item_active": b }),
90
- onMouseDown: p,
93
+ className: j("smwb-bottom-bar__item", { "smwb-bottom-bar__item_active": v }),
94
+ onMouseDown: u,
91
95
  onPointerDown: w,
92
- ...d,
96
+ ...h,
93
97
  children: [
94
98
  r && /* @__PURE__ */ t("span", { className: "smwb-bottom-bar__item-icon", children: r }),
95
99
  i ? /* @__PURE__ */ t("span", { className: "smwb-bottom-bar__item-title", children: i }) : null,
96
- /* @__PURE__ */ t(H, { actionRef: f })
100
+ /* @__PURE__ */ t(J, { actionRef: p })
97
101
  ]
98
102
  }
99
103
  );
100
104
  });
101
105
  export {
102
- oe as BottomBar,
103
- oe as default
106
+ te as BottomBar,
107
+ te as default
104
108
  };
105
109
  //# sourceMappingURL=bottomBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottomBar.js","sources":["../../../../../src/components/navigation/bottomBar/bottomBar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport { Menu, MenuItem, MenuItemIcon, MenuItemText } from \"../menu\";\nimport type { MenuItemProps as SidebarMenuItemProps } from \"../sidebar/sidebar\";\n\nexport interface BottomBarProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n menuItems?: SidebarMenuItemProps[];\n visibleCount?: number;\n activeItem?: number | null;\n defaultActiveItem?: number | null;\n onActiveItemChange?: (index: number) => void;\n overflowMenuAriaLabel?: string;\n}\n\nexport type BottomBarMenuItemProps = SidebarMenuItemProps;\n\nexport const BottomBar = forwardRef<HTMLElement, BottomBarProps>(function BottomBar(\n {\n className,\n menuItems = [],\n visibleCount = 4,\n activeItem: activeItemProp,\n defaultActiveItem = null,\n onActiveItemChange,\n overflowMenuAriaLabel = \"More navigation\",\n ...rest\n },\n ref\n) {\n const isControlled = activeItemProp !== undefined;\n const [activeItemState, setActiveItemState] = useState<number | null>(defaultActiveItem);\n const activeItem = isControlled ? activeItemProp : activeItemState;\n\n const [overflowOpen, setOverflowOpen] = useState(false);\n const [overflowAnchor, setOverflowAnchor] = useState<HTMLElement | null>(null);\n\n const safeVisibleCount = Math.max(0, visibleCount);\n const visibleItems = useMemo(() => menuItems.slice(0, safeVisibleCount), [menuItems, safeVisibleCount]);\n const overflowItems = useMemo(() => menuItems.slice(safeVisibleCount), [menuItems, safeVisibleCount]);\n const hasOverflow = overflowItems.length > 0;\n const overflowActive = hasOverflow && activeItem !== null && activeItem >= safeVisibleCount;\n\n const setActive = (index: number) => {\n if (!isControlled) {\n setActiveItemState(index);\n }\n onActiveItemChange?.(index);\n };\n\n const activateItem = (index: number, onClick?: React.MouseEventHandler<HTMLDivElement>) => {\n return (event: React.MouseEvent<HTMLDivElement>) => {\n setActive(index);\n onClick?.(event);\n };\n };\n\n const onOverflowToggle = () => {\n setOverflowOpen((prev) => !prev);\n };\n\n const onOverflowClose = () => {\n setOverflowOpen(false);\n };\n\n return (\n <nav ref={ref} className={cn(\"smwb-bottom-bar\", className)} role=\"navigation\" {...rest}>\n <div className=\"smwb-bottom-bar__nav\" role=\"menubar\">\n {visibleItems.map((item, idx) => (\n <BarItem\n key={idx}\n as={item.as}\n isActive={activeItem === idx}\n onClick={activateItem(idx, item.onClick)}\n icon={item.icon}\n title={item.title}\n href={item.href}\n />\n ))}\n {hasOverflow && (\n <BarItem\n ref={setOverflowAnchor}\n isActive={overflowActive}\n onClick={onOverflowToggle}\n icon={<Icon name=\"menu\" size={24} />}\n aria-label={overflowMenuAriaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={overflowOpen}\n />\n )}\n </div>\n {hasOverflow && (\n <Menu isOpen={overflowOpen} onClose={onOverflowClose} anchorElement={overflowAnchor} placement=\"top\" dense>\n {overflowItems.map((item, idx) => {\n const itemIndex = safeVisibleCount + idx;\n\n return (\n <MenuItem\n key={itemIndex}\n selected={activeItem === itemIndex}\n href={item.href}\n onClick={(event) => {\n setActive(itemIndex);\n item.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n onOverflowClose();\n }}\n >\n {item.icon ? <MenuItemIcon>{item.icon}</MenuItemIcon> : null}\n <MenuItemText inset={!item.icon}>{item.title}</MenuItemText>\n </MenuItem>\n );\n })}\n </Menu>\n )}\n </nav>\n );\n});\n\nexport default BottomBar;\n\ninterface BarItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: string;\n isActive?: boolean;\n as?: React.ElementType;\n href?: string;\n}\n\nconst BarItem = forwardRef<HTMLDivElement, BarItemProps>(function BarItem(\n { isActive, icon, title, as = \"div\", href, onMouseDown: onMouseDownProp, ...rest },\n ref\n) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseDownProp?.(event);\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n rippleRef.current?.onRipple(event);\n };\n\n const ElementType = as;\n\n return (\n <ElementType\n ref={ref}\n href={href}\n role=\"menuitem\"\n className={cn(\"smwb-bottom-bar__item\", { \"smwb-bottom-bar__item_active\": isActive })}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {icon && <span className=\"smwb-bottom-bar__item-icon\">{icon}</span>}\n {title ? <span className=\"smwb-bottom-bar__item-title\">{title}</span> : null}\n <Ripple actionRef={rippleRef} />\n </ElementType>\n );\n});\n"],"names":["BottomBar","forwardRef","className","menuItems","visibleCount","activeItemProp","defaultActiveItem","onActiveItemChange","overflowMenuAriaLabel","rest","ref","isControlled","activeItemState","setActiveItemState","useState","activeItem","overflowOpen","setOverflowOpen","overflowAnchor","setOverflowAnchor","safeVisibleCount","visibleItems","useMemo","overflowItems","hasOverflow","overflowActive","setActive","index","activateItem","onClick","event","onOverflowToggle","prev","onOverflowClose","jsxs","cn","item","idx","jsx","BarItem","Icon","Menu","itemIndex","MenuItem","_a","MenuItemIcon","MenuItemText","isActive","icon","title","as","href","onMouseDownProp","rippleRef","React","onMouseDown","onPointerDown","Ripple"],"mappings":"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"}
1
+ {"version":3,"file":"bottomBar.js","sources":["../../../../../src/components/navigation/bottomBar/bottomBar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport { Menu, MenuItem, MenuItemIcon, MenuItemText } from \"../menu\";\nimport type { MenuItemProps as SidebarMenuItemProps } from \"../sidebar/sidebar\";\n\nexport interface BottomBarProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n menuItems?: SidebarMenuItemProps[];\n visibleCount?: number;\n activeItem?: number | null;\n defaultActiveItem?: number | null;\n onActiveItemChange?: (index: number) => void;\n overflowMenuAriaLabel?: string;\n}\n\nexport type BottomBarMenuItemProps = SidebarMenuItemProps;\n\nexport const BottomBar = forwardRef<HTMLElement, BottomBarProps>(function BottomBar(\n {\n className,\n menuItems = [],\n visibleCount = 4,\n activeItem: activeItemProp,\n defaultActiveItem = null,\n onActiveItemChange,\n overflowMenuAriaLabel = \"More navigation\",\n ...rest\n },\n ref\n) {\n const isControlled = activeItemProp !== undefined;\n const [activeItemState, setActiveItemState] = useState<number | null>(defaultActiveItem);\n const activeItem = isControlled ? activeItemProp : activeItemState;\n\n const [overflowOpen, setOverflowOpen] = useState(false);\n const [overflowAnchor, setOverflowAnchor] = useState<HTMLElement | null>(null);\n\n const safeVisibleCount = Math.max(0, visibleCount);\n const visibleItems = useMemo(() => menuItems.slice(0, safeVisibleCount), [menuItems, safeVisibleCount]);\n const overflowItems = useMemo(() => menuItems.slice(safeVisibleCount), [menuItems, safeVisibleCount]);\n const hasOverflow = overflowItems.length > 0;\n const overflowActive = hasOverflow && activeItem !== null && activeItem >= safeVisibleCount;\n\n const setActive = (index: number) => {\n if (!isControlled) {\n setActiveItemState(index);\n }\n onActiveItemChange?.(index);\n };\n\n const activateItem = (index: number, onClick?: React.MouseEventHandler<HTMLDivElement>) => {\n return (event: React.MouseEvent<HTMLDivElement>) => {\n setActive(index);\n onClick?.(event);\n };\n };\n\n const onOverflowToggle = () => {\n setOverflowOpen((prev) => !prev);\n };\n\n const onOverflowClose = () => {\n setOverflowOpen(false);\n };\n\n return (\n // role=\"navigation\" is a default: the caller's own wins, and an explicit undefined keeps it.\n <nav ref={ref} className={cn(\"smwb-bottom-bar\", className)} {...rest} role={rest.role ?? \"navigation\"}>\n <div className=\"smwb-bottom-bar__nav\" role=\"menubar\">\n {visibleItems.map((item, idx) => (\n <BarItem\n key={idx}\n as={item.as}\n isActive={activeItem === idx}\n onClick={activateItem(idx, item.onClick)}\n icon={item.icon}\n title={item.title}\n href={item.href}\n />\n ))}\n {hasOverflow && (\n <BarItem\n ref={setOverflowAnchor}\n isActive={overflowActive}\n onClick={onOverflowToggle}\n icon={<Icon name=\"menu\" size={24} />}\n aria-label={overflowMenuAriaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={overflowOpen}\n />\n )}\n </div>\n {hasOverflow && (\n <Menu isOpen={overflowOpen} onClose={onOverflowClose} anchorElement={overflowAnchor} placement=\"top\" dense>\n {overflowItems.map((item, idx) => {\n const itemIndex = safeVisibleCount + idx;\n\n return (\n <MenuItem\n key={itemIndex}\n selected={activeItem === itemIndex}\n href={item.href}\n onClick={(event) => {\n setActive(itemIndex);\n item.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n onOverflowClose();\n }}\n >\n {item.icon ? <MenuItemIcon>{item.icon}</MenuItemIcon> : null}\n <MenuItemText inset={!item.icon}>{item.title}</MenuItemText>\n </MenuItem>\n );\n })}\n </Menu>\n )}\n </nav>\n );\n});\n\nexport default BottomBar;\n\ninterface BarItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: string;\n isActive?: boolean;\n as?: React.ElementType;\n href?: string;\n}\n\nconst BarItem = forwardRef<HTMLDivElement, BarItemProps>(function BarItem(\n { isActive, icon, title, as = \"div\", href, onMouseDown: onMouseDownProp, ...rest },\n ref\n) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseDownProp?.(event);\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n rippleRef.current?.onRipple(event);\n };\n\n const ElementType = as;\n\n return (\n <ElementType\n ref={ref}\n href={href}\n role=\"menuitem\"\n className={cn(\"smwb-bottom-bar__item\", { \"smwb-bottom-bar__item_active\": isActive })}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {icon && <span className=\"smwb-bottom-bar__item-icon\">{icon}</span>}\n {title ? <span className=\"smwb-bottom-bar__item-title\">{title}</span> : null}\n <Ripple actionRef={rippleRef} />\n </ElementType>\n );\n});\n"],"names":["BottomBar","forwardRef","className","menuItems","visibleCount","activeItemProp","defaultActiveItem","onActiveItemChange","overflowMenuAriaLabel","rest","ref","isControlled","activeItemState","setActiveItemState","useState","activeItem","overflowOpen","setOverflowOpen","overflowAnchor","setOverflowAnchor","safeVisibleCount","visibleItems","useMemo","overflowItems","hasOverflow","overflowActive","setActive","index","activateItem","onClick","event","onOverflowToggle","prev","onOverflowClose","jsxs","cn","_a","item","idx","jsx","BarItem","Icon","Menu","itemIndex","MenuItem","MenuItemIcon","MenuItemText","isActive","icon","title","as","href","onMouseDownProp","rippleRef","React","onMouseDown","onPointerDown","Ripple"],"mappings":"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"}
@@ -1,52 +1,54 @@
1
- import { jsx as r, jsxs as j } from "react/jsx-runtime";
2
- import { forwardRef as v, useState as y, Children as S, isValidElement as k, Fragment as B } from "react";
3
- import C from "clsx";
4
- const q = v(function({
5
- className: m,
6
- separator: b = "/",
7
- maxItems: i = 8,
1
+ import { jsx as a, jsxs as y } from "react/jsx-runtime";
2
+ import { forwardRef as S, useState as k, Children as B, isValidElement as C, Fragment as F } from "react";
3
+ import I from "clsx";
4
+ const A = S(function({
5
+ className: i,
6
+ separator: u = "/",
7
+ maxItems: o = 8,
8
8
  itemsBeforeCollapse: s = 1,
9
9
  itemsAfterCollapse: t = 1,
10
10
  expanded: l,
11
- onExpand: a,
12
- expandLabel: o = "Show path",
13
- children: u,
14
- ...h
15
- }, f) {
16
- const c = l !== void 0, [p, w] = y(!1), _ = c ? !!l : p, e = S.toArray(u).filter(k), g = !_ && e.length > i && s + t < e.length, N = () => {
17
- a == null || a(), c || w(!0);
18
- }, n = g ? [
11
+ onExpand: r,
12
+ expandLabel: h = "Show path",
13
+ children: f,
14
+ "data-testid": w = "breadcrumbs",
15
+ ...c
16
+ }, _) {
17
+ var b;
18
+ const d = l !== void 0, [p, g] = k(!1), N = d ? !!l : p, e = B.toArray(f).filter(C), x = !N && e.length > o && s + t < e.length, j = () => {
19
+ r == null || r(), d || g(!0);
20
+ }, n = x ? [
19
21
  ...e.slice(0, s),
20
- /* @__PURE__ */ r(
22
+ /* @__PURE__ */ a(
21
23
  "button",
22
24
  {
23
25
  type: "button",
24
26
  className: "smwb-breadcrumbs__expand",
25
- "aria-label": o,
26
- onClick: N,
27
+ "aria-label": h,
28
+ onClick: j,
27
29
  children: "…"
28
30
  },
29
31
  "smwb-breadcrumbs-expand"
30
32
  ),
31
33
  ...e.slice(e.length - t)
32
34
  ] : e;
33
- return /* @__PURE__ */ r(
35
+ return /* @__PURE__ */ a(
34
36
  "nav",
35
37
  {
36
- ...h,
37
- ref: f,
38
- "data-testid": "breadcrumbs",
39
- "aria-label": "breadcrumb",
40
- className: C("smwb-breadcrumbs", m),
41
- children: /* @__PURE__ */ r("ol", { className: "smwb-breadcrumbs__list", children: n.map((x, d) => /* @__PURE__ */ j(B, { children: [
42
- /* @__PURE__ */ r("li", { className: "smwb-breadcrumbs__item", children: x }),
43
- d < n.length - 1 ? /* @__PURE__ */ r("li", { className: "smwb-breadcrumbs__separator", "aria-hidden": "true", children: b }) : null
44
- ] }, d)) })
38
+ ...c,
39
+ ref: _,
40
+ "data-testid": w,
41
+ "aria-label": (b = c["aria-label"]) != null ? b : "breadcrumb",
42
+ className: I("smwb-breadcrumbs", i),
43
+ children: /* @__PURE__ */ a("ol", { className: "smwb-breadcrumbs__list", children: n.map((v, m) => /* @__PURE__ */ y(F, { children: [
44
+ /* @__PURE__ */ a("li", { className: "smwb-breadcrumbs__item", children: v }),
45
+ m < n.length - 1 ? /* @__PURE__ */ a("li", { className: "smwb-breadcrumbs__separator", "aria-hidden": "true", children: u }) : null
46
+ ] }, m)) })
45
47
  }
46
48
  );
47
49
  });
48
50
  export {
49
- q as Breadcrumbs,
50
- q as default
51
+ A as Breadcrumbs,
52
+ A as default
51
53
  };
52
54
  //# sourceMappingURL=breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.js","sources":["../../../../../src/components/navigation/breadcrumbs/breadcrumbs.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n Fragment,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n useState,\n} from \"react\";\nimport cn from \"clsx\";\n\nexport interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {\n className?: string;\n /** Node placed between every crumb. */\n separator?: ReactNode;\n /** Collapse the middle of the trail when there are more than `maxItems` crumbs. */\n maxItems?: number;\n /** How many leading crumbs to keep when collapsed. */\n itemsBeforeCollapse?: number;\n /** How many trailing crumbs to keep when collapsed. */\n itemsAfterCollapse?: number;\n /** Controlled expanded state. */\n expanded?: boolean;\n /** Fired when the user activates the expand control. */\n onExpand?: () => void;\n /** Accessible label for the expand button. */\n expandLabel?: string;\n}\n\nexport const Breadcrumbs = forwardRef<HTMLElement, PropsWithChildren<BreadcrumbsProps>>(function Breadcrumbs(\n {\n className,\n separator = \"/\",\n maxItems = 8,\n itemsBeforeCollapse = 1,\n itemsAfterCollapse = 1,\n expanded: expandedProp,\n onExpand,\n expandLabel = \"Show path\",\n children,\n ...props\n },\n ref\n) {\n const isControlled = expandedProp !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(false);\n const expanded = isControlled ? !!expandedProp : internalExpanded;\n const crumbs = Children.toArray(children).filter(isValidElement);\n\n const collapsed = !expanded && crumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse < crumbs.length;\n\n const handleExpand = () => {\n onExpand?.();\n if (!isControlled) {\n setInternalExpanded(true);\n }\n };\n\n const rendered: ReactNode[] = collapsed\n ? [\n ...crumbs.slice(0, itemsBeforeCollapse),\n <button\n key=\"smwb-breadcrumbs-expand\"\n type=\"button\"\n className=\"smwb-breadcrumbs__expand\"\n aria-label={expandLabel}\n onClick={handleExpand}\n >\n …\n </button>,\n ...crumbs.slice(crumbs.length - itemsAfterCollapse),\n ]\n : crumbs;\n\n return (\n <nav\n {...props}\n ref={ref}\n data-testid=\"breadcrumbs\"\n aria-label=\"breadcrumb\"\n className={cn(\"smwb-breadcrumbs\", className)}\n >\n <ol className=\"smwb-breadcrumbs__list\">\n {rendered.map((crumb, index) => (\n <Fragment key={index}>\n <li className=\"smwb-breadcrumbs__item\">{crumb}</li>\n {index < rendered.length - 1 ? (\n <li className=\"smwb-breadcrumbs__separator\" aria-hidden=\"true\">\n {separator}\n </li>\n ) : null}\n </Fragment>\n ))}\n </ol>\n </nav>\n );\n});\n\nexport default Breadcrumbs;\n"],"names":["Breadcrumbs","forwardRef","className","separator","maxItems","itemsBeforeCollapse","itemsAfterCollapse","expandedProp","onExpand","expandLabel","children","props","ref","isControlled","internalExpanded","setInternalExpanded","useState","expanded","crumbs","Children","isValidElement","collapsed","handleExpand","rendered","jsx","cn","crumb","index","jsxs","Fragment"],"mappings":";;;AA8BO,MAAMA,IAAcC,EAA6D,SACtF;AAAA,EACE,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,qBAAAC,IAAsB;AAAA,EACtB,oBAAAC,IAAqB;AAAA,EACrB,UAAUC;AAAA,EACV,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAeN,MAAiB,QAChC,CAACO,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxDC,IAAWJ,IAAe,CAAC,CAACN,IAAeO,GAC3CI,IAASC,EAAS,QAAQT,CAAQ,EAAE,OAAOU,CAAc,GAEzDC,IAAY,CAACJ,KAAYC,EAAO,SAASd,KAAYC,IAAsBC,IAAqBY,EAAO,QAEvGI,IAAe,MAAM;AACzB,IAAAd,KAAA,QAAAA,KACKK,KACHE,EAAoB,EAAI;AAAA,EAE5B,GAEMQ,IAAwBF,IAC1B;AAAA,IACE,GAAGH,EAAO,MAAM,GAAGb,CAAmB;AAAA,IACtC,gBAAAmB;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,cAAYf;AAAA,QACZ,SAASa;AAAA,QACV,UAAA;AAAA,MAAA;AAAA,MALK;AAAA,IAAA;AAAA,IAQN,GAAGJ,EAAO,MAAMA,EAAO,SAASZ,CAAkB;AAAA,EAAA,IAEpDY;AAEJ,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGb;AAAA,MACJ,KAAAC;AAAA,MACA,eAAY;AAAA,MACZ,cAAW;AAAA,MACX,WAAWa,EAAG,oBAAoBvB,CAAS;AAAA,MAE3C,UAAA,gBAAAsB,EAAC,MAAA,EAAG,WAAU,0BACX,UAAAD,EAAS,IAAI,CAACG,GAAOC,MACpB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAL,EAAC,MAAA,EAAG,WAAU,0BAA0B,UAAAE,GAAM;AAAA,QAC7CC,IAAQJ,EAAS,SAAS,IACzB,gBAAAC,EAAC,MAAA,EAAG,WAAU,+BAA8B,eAAY,QACrD,UAAArB,EAAA,CACH,IACE;AAAA,MAAA,EAAA,GANSwB,CAOf,CACD,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"breadcrumbs.js","sources":["../../../../../src/components/navigation/breadcrumbs/breadcrumbs.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n Fragment,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n useState,\n} from \"react\";\nimport cn from \"clsx\";\n\nexport interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {\n className?: string;\n /** Node placed between every crumb. */\n separator?: ReactNode;\n /** Collapse the middle of the trail when there are more than `maxItems` crumbs. */\n maxItems?: number;\n /** How many leading crumbs to keep when collapsed. */\n itemsBeforeCollapse?: number;\n /** How many trailing crumbs to keep when collapsed. */\n itemsAfterCollapse?: number;\n /** Controlled expanded state. */\n expanded?: boolean;\n /** Fired when the user activates the expand control. */\n onExpand?: () => void;\n /** Accessible label for the expand button. */\n expandLabel?: string;\n /** Test id of the root `<nav>`; `breadcrumbs` unless given. */\n \"data-testid\"?: string;\n}\n\nexport const Breadcrumbs = forwardRef<HTMLElement, PropsWithChildren<BreadcrumbsProps>>(function Breadcrumbs(\n {\n className,\n separator = \"/\",\n maxItems = 8,\n itemsBeforeCollapse = 1,\n itemsAfterCollapse = 1,\n expanded: expandedProp,\n onExpand,\n expandLabel = \"Show path\",\n children,\n \"data-testid\": dataTestId = \"breadcrumbs\",\n ...props\n },\n ref\n) {\n const isControlled = expandedProp !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(false);\n const expanded = isControlled ? !!expandedProp : internalExpanded;\n const crumbs = Children.toArray(children).filter(isValidElement);\n\n const collapsed = !expanded && crumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse < crumbs.length;\n\n const handleExpand = () => {\n onExpand?.();\n if (!isControlled) {\n setInternalExpanded(true);\n }\n };\n\n const rendered: ReactNode[] = collapsed\n ? [\n ...crumbs.slice(0, itemsBeforeCollapse),\n <button\n key=\"smwb-breadcrumbs-expand\"\n type=\"button\"\n className=\"smwb-breadcrumbs__expand\"\n aria-label={expandLabel}\n onClick={handleExpand}\n >\n …\n </button>,\n ...crumbs.slice(crumbs.length - itemsAfterCollapse),\n ]\n : crumbs;\n\n return (\n <nav\n {...props}\n ref={ref}\n data-testid={dataTestId}\n // A default the caller's own replaces, to name it in their language; an\n // explicit undefined keeps it.\n aria-label={props[\"aria-label\"] ?? \"breadcrumb\"}\n className={cn(\"smwb-breadcrumbs\", className)}\n >\n <ol className=\"smwb-breadcrumbs__list\">\n {rendered.map((crumb, index) => (\n <Fragment key={index}>\n <li className=\"smwb-breadcrumbs__item\">{crumb}</li>\n {index < rendered.length - 1 ? (\n <li className=\"smwb-breadcrumbs__separator\" aria-hidden=\"true\">\n {separator}\n </li>\n ) : null}\n </Fragment>\n ))}\n </ol>\n </nav>\n );\n});\n\nexport default Breadcrumbs;\n"],"names":["Breadcrumbs","forwardRef","className","separator","maxItems","itemsBeforeCollapse","itemsAfterCollapse","expandedProp","onExpand","expandLabel","children","dataTestId","props","ref","isControlled","internalExpanded","setInternalExpanded","useState","expanded","crumbs","Children","isValidElement","collapsed","handleExpand","rendered","jsx","_a","cn","crumb","index","jsxs","Fragment"],"mappings":";;;AAgCO,MAAMA,IAAcC,EAA6D,SACtF;AAAA,EACE,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,qBAAAC,IAAsB;AAAA,EACtB,oBAAAC,IAAqB;AAAA,EACrB,UAAUC;AAAA,EACV,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GACAC,GACA;;AACA,QAAMC,IAAeP,MAAiB,QAChC,CAACQ,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxDC,IAAWJ,IAAe,CAAC,CAACP,IAAeQ,GAC3CI,IAASC,EAAS,QAAQV,CAAQ,EAAE,OAAOW,CAAc,GAEzDC,IAAY,CAACJ,KAAYC,EAAO,SAASf,KAAYC,IAAsBC,IAAqBa,EAAO,QAEvGI,IAAe,MAAM;AACzB,IAAAf,KAAA,QAAAA,KACKM,KACHE,EAAoB,EAAI;AAAA,EAE5B,GAEMQ,IAAwBF,IAC1B;AAAA,IACE,GAAGH,EAAO,MAAM,GAAGd,CAAmB;AAAA,IACtC,gBAAAoB;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,cAAYhB;AAAA,QACZ,SAASc;AAAA,QACV,UAAA;AAAA,MAAA;AAAA,MALK;AAAA,IAAA;AAAA,IAQN,GAAGJ,EAAO,MAAMA,EAAO,SAASb,CAAkB;AAAA,EAAA,IAEpDa;AAEJ,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGb;AAAA,MACJ,KAAAC;AAAA,MACA,eAAaF;AAAA,MAGb,eAAYe,IAAAd,EAAM,YAAY,MAAlB,OAAAc,IAAuB;AAAA,MACnC,WAAWC,EAAG,oBAAoBzB,CAAS;AAAA,MAE3C,UAAA,gBAAAuB,EAAC,MAAA,EAAG,WAAU,0BACX,UAAAD,EAAS,IAAI,CAACI,GAAOC,MACpB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAN,EAAC,MAAA,EAAG,WAAU,0BAA0B,UAAAG,GAAM;AAAA,QAC7CC,IAAQL,EAAS,SAAS,IACzB,gBAAAC,EAAC,MAAA,EAAG,WAAU,+BAA8B,eAAY,QACrD,UAAAtB,EAAA,CACH,IACE;AAAA,MAAA,EAAA,GANS0B,CAOf,CACD,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}