@gnome-ui/react 1.45.0 → 1.45.2

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 (857) hide show
  1. package/dist/components/AboutDialog/AboutDialog.cjs +1 -1
  2. package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -1
  3. package/dist/components/AboutDialog/AboutDialog.d.ts +1 -1
  4. package/dist/components/AboutDialog/AboutDialog.js +3 -4
  5. package/dist/components/AboutDialog/AboutDialog.js.map +1 -1
  6. package/dist/components/AboutDialog/AboutDialog.module.css.cjs +1 -1
  7. package/dist/components/AboutDialog/AboutDialog.module.css.cjs.map +1 -1
  8. package/dist/components/AboutDialog/AboutDialog.module.css.js +30 -31
  9. package/dist/components/AboutDialog/AboutDialog.module.css.js.map +1 -1
  10. package/dist/components/AboutDialog/index.d.ts +1 -1
  11. package/dist/components/AboutDialog.cjs +1 -1
  12. package/dist/components/ActionRow/ActionRow.cjs +1 -1
  13. package/dist/components/ActionRow/ActionRow.cjs.map +1 -1
  14. package/dist/components/ActionRow/ActionRow.d.ts +2 -2
  15. package/dist/components/ActionRow/ActionRow.js +2 -2
  16. package/dist/components/ActionRow/ActionRow.js.map +1 -1
  17. package/dist/components/ActionRow/ActionRow.module.css.cjs +1 -1
  18. package/dist/components/ActionRow/ActionRow.module.css.cjs.map +1 -1
  19. package/dist/components/ActionRow/ActionRow.module.css.js +9 -9
  20. package/dist/components/ActionRow/ActionRow.module.css.js.map +1 -1
  21. package/dist/components/ActionRow/index.d.ts +1 -1
  22. package/dist/components/ActionRow.cjs +1 -1
  23. package/dist/components/Avatar/Avatar.cjs +1 -1
  24. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  25. package/dist/components/Avatar/Avatar.d.ts +3 -3
  26. package/dist/components/Avatar/Avatar.js +2 -2
  27. package/dist/components/Avatar/Avatar.js.map +1 -1
  28. package/dist/components/Avatar/Avatar.module.css.cjs +1 -1
  29. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -1
  30. package/dist/components/Avatar/Avatar.module.css.js +16 -16
  31. package/dist/components/Avatar/Avatar.module.css.js.map +1 -1
  32. package/dist/components/Avatar/index.d.ts +1 -1
  33. package/dist/components/Avatar.cjs +1 -1
  34. package/dist/components/AvatarRotator/AvatarRotator.cjs +1 -1
  35. package/dist/components/AvatarRotator/AvatarRotator.cjs.map +1 -1
  36. package/dist/components/AvatarRotator/AvatarRotator.d.ts +1 -1
  37. package/dist/components/AvatarRotator/AvatarRotator.js +2 -2
  38. package/dist/components/AvatarRotator/AvatarRotator.js.map +1 -1
  39. package/dist/components/AvatarRotator/index.d.ts +1 -1
  40. package/dist/components/AvatarRotator.cjs +1 -1
  41. package/dist/components/Badge/Badge.cjs +1 -1
  42. package/dist/components/Badge/Badge.cjs.map +1 -1
  43. package/dist/components/Badge/Badge.d.ts +2 -2
  44. package/dist/components/Badge/Badge.js +2 -2
  45. package/dist/components/Badge/Badge.js.map +1 -1
  46. package/dist/components/Badge/Badge.module.css.cjs +1 -1
  47. package/dist/components/Badge/Badge.module.css.cjs.map +1 -1
  48. package/dist/components/Badge/Badge.module.css.js +9 -9
  49. package/dist/components/Badge/Badge.module.css.js.map +1 -1
  50. package/dist/components/Badge/index.d.ts +1 -1
  51. package/dist/components/Badge.cjs +1 -1
  52. package/dist/components/Banner/Banner.cjs +1 -1
  53. package/dist/components/Banner/Banner.cjs.map +1 -1
  54. package/dist/components/Banner/Banner.d.ts +2 -2
  55. package/dist/components/Banner/Banner.js +34 -36
  56. package/dist/components/Banner/Banner.js.map +1 -1
  57. package/dist/components/Banner/Banner.module.css.cjs +1 -1
  58. package/dist/components/Banner/Banner.module.css.cjs.map +1 -1
  59. package/dist/components/Banner/Banner.module.css.js +15 -16
  60. package/dist/components/Banner/Banner.module.css.js.map +1 -1
  61. package/dist/components/Banner/index.d.ts +1 -1
  62. package/dist/components/Banner.cjs +1 -1
  63. package/dist/components/Bin/Bin.cjs +1 -1
  64. package/dist/components/Bin/Bin.cjs.map +1 -1
  65. package/dist/components/Bin/Bin.d.ts +1 -1
  66. package/dist/components/Bin/Bin.js +4 -6
  67. package/dist/components/Bin/Bin.js.map +1 -1
  68. package/dist/components/Bin/index.d.ts +1 -1
  69. package/dist/components/Bin.cjs +1 -1
  70. package/dist/components/Blockquote/Blockquote.cjs +1 -1
  71. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  72. package/dist/components/Blockquote/Blockquote.d.ts +2 -2
  73. package/dist/components/Blockquote/Blockquote.js +24 -26
  74. package/dist/components/Blockquote/Blockquote.js.map +1 -1
  75. package/dist/components/Blockquote/Blockquote.module.css.cjs +1 -1
  76. package/dist/components/Blockquote/Blockquote.module.css.cjs.map +1 -1
  77. package/dist/components/Blockquote/Blockquote.module.css.js +11 -11
  78. package/dist/components/Blockquote/Blockquote.module.css.js.map +1 -1
  79. package/dist/components/Blockquote/index.d.ts +1 -1
  80. package/dist/components/Blockquote.cjs +1 -1
  81. package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
  82. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
  83. package/dist/components/BottomSheet/BottomSheet.d.ts +2 -2
  84. package/dist/components/BottomSheet/BottomSheet.js +2 -3
  85. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  86. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +1 -1
  87. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -1
  88. package/dist/components/BottomSheet/BottomSheet.module.css.js +10 -11
  89. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -1
  90. package/dist/components/BottomSheet/index.d.ts +1 -1
  91. package/dist/components/BottomSheet.cjs +1 -1
  92. package/dist/components/Box/Box.cjs +1 -1
  93. package/dist/components/Box/Box.cjs.map +1 -1
  94. package/dist/components/Box/Box.d.ts +4 -4
  95. package/dist/components/Box/Box.js +2 -2
  96. package/dist/components/Box/Box.js.map +1 -1
  97. package/dist/components/Box/index.d.ts +1 -1
  98. package/dist/components/Box.cjs +1 -1
  99. package/dist/components/BoxedList/BoxedList.cjs +1 -1
  100. package/dist/components/BoxedList/BoxedList.cjs.map +1 -1
  101. package/dist/components/BoxedList/BoxedList.d.ts +2 -2
  102. package/dist/components/BoxedList/BoxedList.js +2 -3
  103. package/dist/components/BoxedList/BoxedList.js.map +1 -1
  104. package/dist/components/BoxedList/BoxedList.module.css.cjs +1 -1
  105. package/dist/components/BoxedList/BoxedList.module.css.cjs.map +1 -1
  106. package/dist/components/BoxedList/BoxedList.module.css.js +5 -5
  107. package/dist/components/BoxedList/BoxedList.module.css.js.map +1 -1
  108. package/dist/components/BoxedList/index.d.ts +1 -1
  109. package/dist/components/BoxedList.cjs +1 -1
  110. package/dist/components/BreakpointBin/BreakpointBin.cjs +1 -1
  111. package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -1
  112. package/dist/components/BreakpointBin/BreakpointBin.d.ts +2 -2
  113. package/dist/components/BreakpointBin/BreakpointBin.js +3 -3
  114. package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -1
  115. package/dist/components/BreakpointBin/index.d.ts +1 -1
  116. package/dist/components/BreakpointBin.cjs +1 -1
  117. package/dist/components/Button/Button.cjs +1 -1
  118. package/dist/components/Button/Button.cjs.map +1 -1
  119. package/dist/components/Button/Button.d.ts +3 -3
  120. package/dist/components/Button/Button.js.map +1 -1
  121. package/dist/components/Button/Button.module.css.cjs +1 -1
  122. package/dist/components/Button/Button.module.css.cjs.map +1 -1
  123. package/dist/components/Button/Button.module.css.js +11 -11
  124. package/dist/components/Button/Button.module.css.js.map +1 -1
  125. package/dist/components/Button/index.d.ts +1 -1
  126. package/dist/components/Button.cjs +1 -1
  127. package/dist/components/ButtonContent/ButtonContent.cjs +1 -1
  128. package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -1
  129. package/dist/components/ButtonContent/ButtonContent.d.ts +2 -2
  130. package/dist/components/ButtonContent/ButtonContent.js +24 -26
  131. package/dist/components/ButtonContent/ButtonContent.js.map +1 -1
  132. package/dist/components/ButtonContent/index.d.ts +1 -1
  133. package/dist/components/ButtonContent.cjs +1 -1
  134. package/dist/components/ButtonRow/ButtonRow.cjs +1 -1
  135. package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -1
  136. package/dist/components/ButtonRow/ButtonRow.d.ts +2 -2
  137. package/dist/components/ButtonRow/ButtonRow.js +22 -24
  138. package/dist/components/ButtonRow/ButtonRow.js.map +1 -1
  139. package/dist/components/ButtonRow/ButtonRow.module.css.cjs +1 -1
  140. package/dist/components/ButtonRow/ButtonRow.module.css.cjs.map +1 -1
  141. package/dist/components/ButtonRow/ButtonRow.module.css.js +7 -7
  142. package/dist/components/ButtonRow/ButtonRow.module.css.js.map +1 -1
  143. package/dist/components/ButtonRow/index.d.ts +1 -1
  144. package/dist/components/ButtonRow.cjs +1 -1
  145. package/dist/components/Card/Card.cjs +1 -1
  146. package/dist/components/Card/Card.cjs.map +1 -1
  147. package/dist/components/Card/Card.d.ts +2 -2
  148. package/dist/components/Card/Card.js +10 -12
  149. package/dist/components/Card/Card.js.map +1 -1
  150. package/dist/components/Card/Card.module.css.cjs +1 -1
  151. package/dist/components/Card/Card.module.css.cjs.map +1 -1
  152. package/dist/components/Card/Card.module.css.js +8 -9
  153. package/dist/components/Card/Card.module.css.js.map +1 -1
  154. package/dist/components/Card/index.d.ts +1 -1
  155. package/dist/components/Card.cjs +1 -1
  156. package/dist/components/Carousel/Carousel.cjs +1 -1
  157. package/dist/components/Carousel/Carousel.cjs.map +1 -1
  158. package/dist/components/Carousel/Carousel.d.ts +4 -4
  159. package/dist/components/Carousel/Carousel.js +35 -40
  160. package/dist/components/Carousel/Carousel.js.map +1 -1
  161. package/dist/components/Carousel/Carousel.module.css.cjs +1 -1
  162. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -1
  163. package/dist/components/Carousel/Carousel.module.css.js +10 -10
  164. package/dist/components/Carousel/Carousel.module.css.js.map +1 -1
  165. package/dist/components/Carousel/index.d.ts +1 -1
  166. package/dist/components/Carousel.cjs +1 -1
  167. package/dist/components/CheckRow/CheckRow.cjs +1 -1
  168. package/dist/components/CheckRow/CheckRow.cjs.map +1 -1
  169. package/dist/components/CheckRow/CheckRow.d.ts +2 -2
  170. package/dist/components/CheckRow/CheckRow.js +7 -7
  171. package/dist/components/CheckRow/CheckRow.js.map +1 -1
  172. package/dist/components/CheckRow/CheckRow.module.css.cjs +1 -1
  173. package/dist/components/CheckRow/CheckRow.module.css.cjs.map +1 -1
  174. package/dist/components/CheckRow/CheckRow.module.css.js +10 -10
  175. package/dist/components/CheckRow/CheckRow.module.css.js.map +1 -1
  176. package/dist/components/CheckRow/index.d.ts +1 -1
  177. package/dist/components/CheckRow.cjs +1 -1
  178. package/dist/components/Checkbox/Checkbox.cjs +1 -1
  179. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  180. package/dist/components/Checkbox/Checkbox.d.ts +3 -3
  181. package/dist/components/Checkbox/Checkbox.js +2 -2
  182. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  183. package/dist/components/Checkbox/Checkbox.module.css.cjs +1 -1
  184. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -1
  185. package/dist/components/Checkbox/Checkbox.module.css.js +1 -1
  186. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -1
  187. package/dist/components/Checkbox/index.d.ts +1 -1
  188. package/dist/components/Checkbox.cjs +1 -1
  189. package/dist/components/Chip/Chip.cjs +1 -1
  190. package/dist/components/Chip/Chip.cjs.map +1 -1
  191. package/dist/components/Chip/Chip.d.ts +2 -2
  192. package/dist/components/Chip/Chip.js +2 -2
  193. package/dist/components/Chip/Chip.js.map +1 -1
  194. package/dist/components/Chip/Chip.module.css.cjs +1 -1
  195. package/dist/components/Chip/Chip.module.css.cjs.map +1 -1
  196. package/dist/components/Chip/Chip.module.css.js +7 -7
  197. package/dist/components/Chip/Chip.module.css.js.map +1 -1
  198. package/dist/components/Chip/index.d.ts +1 -1
  199. package/dist/components/Chip.cjs +1 -1
  200. package/dist/components/Clamp/Clamp.cjs +1 -1
  201. package/dist/components/Clamp/Clamp.cjs.map +1 -1
  202. package/dist/components/Clamp/Clamp.d.ts +1 -1
  203. package/dist/components/Clamp/Clamp.js +9 -11
  204. package/dist/components/Clamp/Clamp.js.map +1 -1
  205. package/dist/components/Clamp/index.d.ts +1 -1
  206. package/dist/components/Clamp.cjs +1 -1
  207. package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
  208. package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -1
  209. package/dist/components/ColorPicker/ColorPicker.d.ts +6 -6
  210. package/dist/components/ColorPicker/ColorPicker.js +33 -37
  211. package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
  212. package/dist/components/ColorPicker/ColorPicker.module.css.cjs +1 -1
  213. package/dist/components/ColorPicker/ColorPicker.module.css.cjs.map +1 -1
  214. package/dist/components/ColorPicker/ColorPicker.module.css.js +12 -13
  215. package/dist/components/ColorPicker/ColorPicker.module.css.js.map +1 -1
  216. package/dist/components/ColorPicker/index.d.ts +1 -1
  217. package/dist/components/ColorPicker.cjs +1 -1
  218. package/dist/components/ColumnView/ColumnView.cjs +1 -1
  219. package/dist/components/ColumnView/ColumnView.cjs.map +1 -1
  220. package/dist/components/ColumnView/ColumnView.d.ts +4 -4
  221. package/dist/components/ColumnView/ColumnView.js +26 -33
  222. package/dist/components/ColumnView/ColumnView.js.map +1 -1
  223. package/dist/components/ColumnView/ColumnView.module.css.cjs +1 -1
  224. package/dist/components/ColumnView/ColumnView.module.css.cjs.map +1 -1
  225. package/dist/components/ColumnView/ColumnView.module.css.js +22 -22
  226. package/dist/components/ColumnView/ColumnView.module.css.js.map +1 -1
  227. package/dist/components/ColumnView/index.d.ts +1 -1
  228. package/dist/components/ColumnView.cjs +1 -1
  229. package/dist/components/ComboRow/ComboRow.cjs +1 -1
  230. package/dist/components/ComboRow/ComboRow.cjs.map +1 -1
  231. package/dist/components/ComboRow/ComboRow.d.ts +2 -2
  232. package/dist/components/ComboRow/ComboRow.js +2 -4
  233. package/dist/components/ComboRow/ComboRow.js.map +1 -1
  234. package/dist/components/ComboRow/ComboRow.module.css.cjs +1 -1
  235. package/dist/components/ComboRow/ComboRow.module.css.cjs.map +1 -1
  236. package/dist/components/ComboRow/ComboRow.module.css.js +26 -27
  237. package/dist/components/ComboRow/ComboRow.module.css.js.map +1 -1
  238. package/dist/components/ComboRow/index.d.ts +1 -1
  239. package/dist/components/ComboRow.cjs +1 -1
  240. package/dist/components/ContributionGraph/ContributionGraph.cjs +1 -1
  241. package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -1
  242. package/dist/components/ContributionGraph/ContributionGraph.d.ts +1 -1
  243. package/dist/components/ContributionGraph/ContributionGraph.js +43 -43
  244. package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -1
  245. package/dist/components/ContributionGraph/index.d.ts +1 -1
  246. package/dist/components/ContributionGraph.cjs +1 -1
  247. package/dist/components/CountDownTimer/CountDownTimer.cjs +1 -1
  248. package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -1
  249. package/dist/components/CountDownTimer/CountDownTimer.d.ts +3 -3
  250. package/dist/components/CountDownTimer/CountDownTimer.js +2 -2
  251. package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -1
  252. package/dist/components/CountDownTimer/index.d.ts +1 -1
  253. package/dist/components/CountDownTimer.cjs +1 -1
  254. package/dist/components/Dialog/Dialog.cjs +1 -1
  255. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  256. package/dist/components/Dialog/Dialog.d.ts +5 -5
  257. package/dist/components/Dialog/Dialog.js +2 -2
  258. package/dist/components/Dialog/Dialog.js.map +1 -1
  259. package/dist/components/Dialog/Dialog.module.css.cjs +1 -1
  260. package/dist/components/Dialog/Dialog.module.css.cjs.map +1 -1
  261. package/dist/components/Dialog/Dialog.module.css.js +13 -14
  262. package/dist/components/Dialog/Dialog.module.css.js.map +1 -1
  263. package/dist/components/Dialog/dialogUtils.cjs +1 -1
  264. package/dist/components/Dialog/dialogUtils.cjs.map +1 -1
  265. package/dist/components/Dialog/dialogUtils.js.map +1 -1
  266. package/dist/components/Dialog/index.d.ts +1 -1
  267. package/dist/components/Dialog.cjs +1 -1
  268. package/dist/components/Drawer/Drawer.cjs +1 -1
  269. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  270. package/dist/components/Drawer/Drawer.d.ts +4 -4
  271. package/dist/components/Drawer/Drawer.js +2 -2
  272. package/dist/components/Drawer/Drawer.js.map +1 -1
  273. package/dist/components/Drawer/Drawer.module.css.cjs +1 -1
  274. package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -1
  275. package/dist/components/Drawer/Drawer.module.css.js +14 -15
  276. package/dist/components/Drawer/Drawer.module.css.js.map +1 -1
  277. package/dist/components/Drawer/index.d.ts +1 -1
  278. package/dist/components/Drawer.cjs +1 -1
  279. package/dist/components/Dropdown/Dropdown.cjs +1 -1
  280. package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
  281. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  282. package/dist/components/Dropdown/Dropdown.js +2 -2
  283. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  284. package/dist/components/Dropdown/Dropdown.module.css.cjs +1 -1
  285. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +1 -1
  286. package/dist/components/Dropdown/Dropdown.module.css.js +22 -23
  287. package/dist/components/Dropdown/Dropdown.module.css.js.map +1 -1
  288. package/dist/components/Dropdown/index.d.ts +1 -1
  289. package/dist/components/Dropdown.cjs +1 -1
  290. package/dist/components/EntryRow/EntryRow.cjs +1 -1
  291. package/dist/components/EntryRow/EntryRow.cjs.map +1 -1
  292. package/dist/components/EntryRow/EntryRow.d.ts +1 -1
  293. package/dist/components/EntryRow/EntryRow.js +2 -2
  294. package/dist/components/EntryRow/EntryRow.js.map +1 -1
  295. package/dist/components/EntryRow/EntryRow.module.css.cjs +1 -1
  296. package/dist/components/EntryRow/EntryRow.module.css.cjs.map +1 -1
  297. package/dist/components/EntryRow/EntryRow.module.css.js +10 -10
  298. package/dist/components/EntryRow/EntryRow.module.css.js.map +1 -1
  299. package/dist/components/EntryRow/index.d.ts +1 -1
  300. package/dist/components/EntryRow.cjs +1 -1
  301. package/dist/components/ExpanderRow/ExpanderRow.cjs +1 -1
  302. package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -1
  303. package/dist/components/ExpanderRow/ExpanderRow.d.ts +1 -1
  304. package/dist/components/ExpanderRow/ExpanderRow.js +2 -2
  305. package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -1
  306. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs +1 -1
  307. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs.map +1 -1
  308. package/dist/components/ExpanderRow/ExpanderRow.module.css.js +14 -14
  309. package/dist/components/ExpanderRow/ExpanderRow.module.css.js.map +1 -1
  310. package/dist/components/ExpanderRow/index.d.ts +1 -1
  311. package/dist/components/ExpanderRow.cjs +1 -1
  312. package/dist/components/Footer/Footer.cjs +1 -1
  313. package/dist/components/Footer/Footer.cjs.map +1 -1
  314. package/dist/components/Footer/Footer.d.ts +1 -1
  315. package/dist/components/Footer/Footer.js +22 -24
  316. package/dist/components/Footer/Footer.js.map +1 -1
  317. package/dist/components/Footer/index.d.ts +1 -1
  318. package/dist/components/Footer.cjs +1 -1
  319. package/dist/components/Frame/Frame.cjs +1 -1
  320. package/dist/components/Frame/Frame.cjs.map +1 -1
  321. package/dist/components/Frame/Frame.d.ts +1 -1
  322. package/dist/components/Frame/Frame.js +5 -7
  323. package/dist/components/Frame/Frame.js.map +1 -1
  324. package/dist/components/Frame/index.d.ts +1 -1
  325. package/dist/components/Frame.cjs +1 -1
  326. package/dist/components/GnomeProvider/GnomeContext.cjs +1 -1
  327. package/dist/components/GnomeProvider/GnomeContext.cjs.map +1 -1
  328. package/dist/components/GnomeProvider/GnomeContext.d.ts +5 -5
  329. package/dist/components/GnomeProvider/GnomeContext.js.map +1 -1
  330. package/dist/components/GnomeProvider/GnomeProvider.cjs +1 -1
  331. package/dist/components/GnomeProvider/GnomeProvider.cjs.map +1 -1
  332. package/dist/components/GnomeProvider/GnomeProvider.d.ts +1 -1
  333. package/dist/components/GnomeProvider/GnomeProvider.js +2 -2
  334. package/dist/components/GnomeProvider/GnomeProvider.js.map +1 -1
  335. package/dist/components/HeaderBar/HeaderBar.cjs +1 -1
  336. package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -1
  337. package/dist/components/HeaderBar/HeaderBar.d.ts +2 -2
  338. package/dist/components/HeaderBar/HeaderBar.js +26 -28
  339. package/dist/components/HeaderBar/HeaderBar.js.map +1 -1
  340. package/dist/components/HeaderBar/index.d.ts +1 -1
  341. package/dist/components/HeaderBar.cjs +1 -1
  342. package/dist/components/Icon/Icon.cjs +1 -1
  343. package/dist/components/Icon/Icon.cjs.map +1 -1
  344. package/dist/components/Icon/Icon.d.ts +3 -3
  345. package/dist/components/Icon/Icon.js +2 -2
  346. package/dist/components/Icon/Icon.js.map +1 -1
  347. package/dist/components/Icon/index.d.ts +1 -1
  348. package/dist/components/Icon.cjs +1 -1
  349. package/dist/components/IconButton/IconButton.cjs +1 -1
  350. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  351. package/dist/components/IconButton/IconButton.d.ts +2 -2
  352. package/dist/components/IconButton/IconButton.js +4 -4
  353. package/dist/components/IconButton/IconButton.js.map +1 -1
  354. package/dist/components/IconButton/index.d.ts +1 -1
  355. package/dist/components/IconButton.cjs +1 -1
  356. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +1 -1
  357. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -1
  358. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.d.ts +3 -3
  359. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +10 -10
  360. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -1
  361. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs +1 -1
  362. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs.map +1 -1
  363. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js +10 -10
  364. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js.map +1 -1
  365. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs +1 -1
  366. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -1
  367. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.d.ts +2 -2
  368. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js +2 -2
  369. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -1
  370. package/dist/components/InlineViewSwitcher/index.d.ts +2 -2
  371. package/dist/components/InlineViewSwitcher.cjs +1 -1
  372. package/dist/components/Link/Link.cjs +1 -1
  373. package/dist/components/Link/Link.cjs.map +1 -1
  374. package/dist/components/Link/Link.d.ts +1 -1
  375. package/dist/components/Link/Link.js +2 -2
  376. package/dist/components/Link/Link.js.map +1 -1
  377. package/dist/components/Link/Link.module.css.cjs +1 -1
  378. package/dist/components/Link/Link.module.css.cjs.map +1 -1
  379. package/dist/components/Link/Link.module.css.js +2 -2
  380. package/dist/components/Link/Link.module.css.js.map +1 -1
  381. package/dist/components/Link/index.d.ts +1 -1
  382. package/dist/components/Link.cjs +1 -1
  383. package/dist/components/LinkedGroup/LinkedGroup.cjs +1 -1
  384. package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -1
  385. package/dist/components/LinkedGroup/LinkedGroup.d.ts +1 -1
  386. package/dist/components/LinkedGroup/LinkedGroup.js +9 -11
  387. package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -1
  388. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs +1 -1
  389. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs.map +1 -1
  390. package/dist/components/LinkedGroup/LinkedGroup.module.css.js +2 -2
  391. package/dist/components/LinkedGroup/LinkedGroup.module.css.js.map +1 -1
  392. package/dist/components/LinkedGroup/index.d.ts +1 -1
  393. package/dist/components/LinkedGroup.cjs +1 -1
  394. package/dist/components/NavigationSplitView/NavigationSplitView.cjs +1 -1
  395. package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -1
  396. package/dist/components/NavigationSplitView/NavigationSplitView.d.ts +2 -2
  397. package/dist/components/NavigationSplitView/NavigationSplitView.js +2 -2
  398. package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -1
  399. package/dist/components/NavigationSplitView/index.d.ts +1 -1
  400. package/dist/components/NavigationSplitView.cjs +1 -1
  401. package/dist/components/NavigationView/NavigationView.cjs +1 -1
  402. package/dist/components/NavigationView/NavigationView.cjs.map +1 -1
  403. package/dist/components/NavigationView/NavigationView.d.ts +4 -4
  404. package/dist/components/NavigationView/NavigationView.js +3 -4
  405. package/dist/components/NavigationView/NavigationView.js.map +1 -1
  406. package/dist/components/NavigationView/NavigationView.module.css.cjs +1 -1
  407. package/dist/components/NavigationView/NavigationView.module.css.cjs.map +1 -1
  408. package/dist/components/NavigationView/NavigationView.module.css.js +11 -12
  409. package/dist/components/NavigationView/NavigationView.module.css.js.map +1 -1
  410. package/dist/components/NavigationView/index.d.ts +2 -2
  411. package/dist/components/NavigationView.cjs +1 -1
  412. package/dist/components/OverlaySplitView/OverlaySplitView.cjs +1 -1
  413. package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -1
  414. package/dist/components/OverlaySplitView/OverlaySplitView.d.ts +3 -3
  415. package/dist/components/OverlaySplitView/OverlaySplitView.js +2 -2
  416. package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -1
  417. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs +1 -1
  418. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs.map +1 -1
  419. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js +12 -12
  420. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js.map +1 -1
  421. package/dist/components/OverlaySplitView/index.d.ts +1 -1
  422. package/dist/components/OverlaySplitView.cjs +1 -1
  423. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs +1 -1
  424. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -1
  425. package/dist/components/PasswordEntryRow/PasswordEntryRow.d.ts +2 -2
  426. package/dist/components/PasswordEntryRow/PasswordEntryRow.js +2 -2
  427. package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -1
  428. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs +1 -1
  429. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs.map +1 -1
  430. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js +1 -1
  431. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js.map +1 -1
  432. package/dist/components/PasswordEntryRow/index.d.ts +1 -1
  433. package/dist/components/PasswordEntryRow.cjs +1 -1
  434. package/dist/components/PathBar/PathBar.cjs +1 -1
  435. package/dist/components/PathBar/PathBar.cjs.map +1 -1
  436. package/dist/components/PathBar/PathBar.d.ts +1 -1
  437. package/dist/components/PathBar/PathBar.js +48 -50
  438. package/dist/components/PathBar/PathBar.js.map +1 -1
  439. package/dist/components/PathBar/PathBar.module.css.cjs +1 -1
  440. package/dist/components/PathBar/PathBar.module.css.cjs.map +1 -1
  441. package/dist/components/PathBar/PathBar.module.css.js +7 -7
  442. package/dist/components/PathBar/PathBar.module.css.js.map +1 -1
  443. package/dist/components/PathBar/index.d.ts +1 -1
  444. package/dist/components/PathBar.cjs +1 -1
  445. package/dist/components/Popover/Popover.cjs +1 -1
  446. package/dist/components/Popover/Popover.cjs.map +1 -1
  447. package/dist/components/Popover/Popover.d.ts +3 -3
  448. package/dist/components/Popover/Popover.js +5 -5
  449. package/dist/components/Popover/Popover.js.map +1 -1
  450. package/dist/components/Popover/Popover.module.css.cjs +1 -1
  451. package/dist/components/Popover/Popover.module.css.cjs.map +1 -1
  452. package/dist/components/Popover/Popover.module.css.js +7 -7
  453. package/dist/components/Popover/Popover.module.css.js.map +1 -1
  454. package/dist/components/Popover/index.d.ts +1 -1
  455. package/dist/components/Popover.cjs +1 -1
  456. package/dist/components/PreferencesDialog/PreferencesDialog.cjs +1 -1
  457. package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -1
  458. package/dist/components/PreferencesDialog/PreferencesDialog.d.ts +2 -2
  459. package/dist/components/PreferencesDialog/PreferencesDialog.js +2 -3
  460. package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -1
  461. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +1 -1
  462. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs.map +1 -1
  463. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +20 -21
  464. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js.map +1 -1
  465. package/dist/components/PreferencesDialog/index.d.ts +1 -1
  466. package/dist/components/PreferencesDialog.cjs +1 -1
  467. package/dist/components/PreferencesGroup/PreferencesGroup.cjs +1 -1
  468. package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -1
  469. package/dist/components/PreferencesGroup/PreferencesGroup.d.ts +1 -1
  470. package/dist/components/PreferencesGroup/PreferencesGroup.js +2 -2
  471. package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -1
  472. package/dist/components/PreferencesGroup/index.d.ts +1 -1
  473. package/dist/components/PreferencesGroup.cjs +1 -1
  474. package/dist/components/PreferencesPage/PreferencesPage.cjs +1 -1
  475. package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -1
  476. package/dist/components/PreferencesPage/PreferencesPage.d.ts +1 -1
  477. package/dist/components/PreferencesPage/PreferencesPage.js +9 -11
  478. package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -1
  479. package/dist/components/PreferencesPage/index.d.ts +1 -1
  480. package/dist/components/PreferencesPage.cjs +1 -1
  481. package/dist/components/ProgressBar/ProgressBar.cjs +1 -1
  482. package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -1
  483. package/dist/components/ProgressBar/ProgressBar.d.ts +4 -4
  484. package/dist/components/ProgressBar/ProgressBar.js +2 -2
  485. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  486. package/dist/components/ProgressBar/ProgressBar.module.css.cjs +1 -1
  487. package/dist/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -1
  488. package/dist/components/ProgressBar/ProgressBar.module.css.js +8 -8
  489. package/dist/components/ProgressBar/ProgressBar.module.css.js.map +1 -1
  490. package/dist/components/ProgressBar/index.d.ts +1 -1
  491. package/dist/components/ProgressBar.cjs +1 -1
  492. package/dist/components/RadioButton/RadioButton.cjs +1 -1
  493. package/dist/components/RadioButton/RadioButton.cjs.map +1 -1
  494. package/dist/components/RadioButton/RadioButton.d.ts +3 -3
  495. package/dist/components/RadioButton/RadioButton.js +5 -7
  496. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  497. package/dist/components/RadioButton/RadioButton.module.css.cjs +1 -1
  498. package/dist/components/RadioButton/RadioButton.module.css.cjs.map +1 -1
  499. package/dist/components/RadioButton/RadioButton.module.css.js +1 -1
  500. package/dist/components/RadioButton/RadioButton.module.css.js.map +1 -1
  501. package/dist/components/RadioButton/index.d.ts +1 -1
  502. package/dist/components/RadioButton.cjs +1 -1
  503. package/dist/components/SearchBar/SearchBar.cjs +1 -1
  504. package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
  505. package/dist/components/SearchBar/SearchBar.d.ts +2 -2
  506. package/dist/components/SearchBar/SearchBar.js +3 -5
  507. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  508. package/dist/components/SearchBar/SearchBar.module.css.cjs +1 -1
  509. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -1
  510. package/dist/components/SearchBar/SearchBar.module.css.js +13 -13
  511. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -1
  512. package/dist/components/SearchBar/index.d.ts +1 -1
  513. package/dist/components/SearchBar.cjs +1 -1
  514. package/dist/components/SegmentedBar/SegmentedBar.cjs +1 -1
  515. package/dist/components/SegmentedBar/SegmentedBar.cjs.map +1 -1
  516. package/dist/components/SegmentedBar/SegmentedBar.d.ts +1 -1
  517. package/dist/components/SegmentedBar/SegmentedBar.js.map +1 -1
  518. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs +1 -1
  519. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs.map +1 -1
  520. package/dist/components/SegmentedBar/SegmentedBar.module.css.js +12 -12
  521. package/dist/components/SegmentedBar/SegmentedBar.module.css.js.map +1 -1
  522. package/dist/components/SegmentedBar/index.d.ts +1 -1
  523. package/dist/components/SegmentedBar.cjs +1 -1
  524. package/dist/components/Separator/Separator.cjs +1 -1
  525. package/dist/components/Separator/Separator.cjs.map +1 -1
  526. package/dist/components/Separator/Separator.d.ts +2 -2
  527. package/dist/components/Separator/Separator.js +2 -2
  528. package/dist/components/Separator/Separator.js.map +1 -1
  529. package/dist/components/Separator/index.d.ts +1 -1
  530. package/dist/components/Separator.cjs +1 -1
  531. package/dist/components/ShortcutLabel/ShortcutLabel.cjs +1 -1
  532. package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -1
  533. package/dist/components/ShortcutLabel/ShortcutLabel.d.ts +1 -1
  534. package/dist/components/ShortcutLabel/ShortcutLabel.js +2 -3
  535. package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -1
  536. package/dist/components/ShortcutLabel/index.d.ts +1 -1
  537. package/dist/components/ShortcutLabel.cjs +1 -1
  538. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +1 -1
  539. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -1
  540. package/dist/components/ShortcutsDialog/ShortcutsDialog.d.ts +1 -1
  541. package/dist/components/ShortcutsDialog/ShortcutsDialog.js +2 -4
  542. package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -1
  543. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +1 -1
  544. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs.map +1 -1
  545. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +23 -24
  546. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js.map +1 -1
  547. package/dist/components/ShortcutsDialog/index.d.ts +1 -1
  548. package/dist/components/ShortcutsDialog.cjs +1 -1
  549. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  550. package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
  551. package/dist/components/Sidebar/Sidebar.d.ts +3 -3
  552. package/dist/components/Sidebar/Sidebar.js +2 -3
  553. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  554. package/dist/components/Sidebar/Sidebar.module.css.cjs +1 -1
  555. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -1
  556. package/dist/components/Sidebar/Sidebar.module.css.js +34 -35
  557. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -1
  558. package/dist/components/Sidebar/SidebarItem.cjs +1 -1
  559. package/dist/components/Sidebar/SidebarItem.cjs.map +1 -1
  560. package/dist/components/Sidebar/SidebarItem.d.ts +2 -2
  561. package/dist/components/Sidebar/SidebarItem.js +16 -16
  562. package/dist/components/Sidebar/SidebarItem.js.map +1 -1
  563. package/dist/components/Sidebar/SidebarSection.cjs +1 -1
  564. package/dist/components/Sidebar/SidebarSection.cjs.map +1 -1
  565. package/dist/components/Sidebar/SidebarSection.d.ts +1 -1
  566. package/dist/components/Sidebar/SidebarSection.js +0 -1
  567. package/dist/components/Sidebar/SidebarSection.js.map +1 -1
  568. package/dist/components/Sidebar/index.d.ts +4 -4
  569. package/dist/components/Sidebar.cjs +1 -1
  570. package/dist/components/Sidebar.js +3 -3
  571. package/dist/components/Skeleton/Skeleton.cjs +1 -1
  572. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  573. package/dist/components/Skeleton/Skeleton.d.ts +2 -2
  574. package/dist/components/Skeleton/Skeleton.js +9 -10
  575. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  576. package/dist/components/Skeleton/Skeleton.module.css.cjs +1 -1
  577. package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -1
  578. package/dist/components/Skeleton/Skeleton.module.css.js +7 -7
  579. package/dist/components/Skeleton/Skeleton.module.css.js.map +1 -1
  580. package/dist/components/Skeleton/index.d.ts +1 -1
  581. package/dist/components/Skeleton.cjs +1 -1
  582. package/dist/components/Slider/Slider.cjs +1 -1
  583. package/dist/components/Slider/Slider.cjs.map +1 -1
  584. package/dist/components/Slider/Slider.d.ts +5 -5
  585. package/dist/components/Slider/Slider.js +2 -2
  586. package/dist/components/Slider/Slider.js.map +1 -1
  587. package/dist/components/Slider/Slider.module.css.cjs +1 -1
  588. package/dist/components/Slider/Slider.module.css.cjs.map +1 -1
  589. package/dist/components/Slider/Slider.module.css.js +9 -9
  590. package/dist/components/Slider/Slider.module.css.js.map +1 -1
  591. package/dist/components/Slider/index.d.ts +1 -1
  592. package/dist/components/Slider.cjs +1 -1
  593. package/dist/components/SpinButton/SpinButton.cjs +1 -1
  594. package/dist/components/SpinButton/SpinButton.cjs.map +1 -1
  595. package/dist/components/SpinButton/SpinButton.d.ts +4 -4
  596. package/dist/components/SpinButton/SpinButton.js +2 -2
  597. package/dist/components/SpinButton/SpinButton.js.map +1 -1
  598. package/dist/components/SpinButton/SpinButton.module.css.cjs +1 -1
  599. package/dist/components/SpinButton/SpinButton.module.css.cjs.map +1 -1
  600. package/dist/components/SpinButton/SpinButton.module.css.js +4 -4
  601. package/dist/components/SpinButton/SpinButton.module.css.js.map +1 -1
  602. package/dist/components/SpinButton/index.d.ts +1 -1
  603. package/dist/components/SpinButton.cjs +1 -1
  604. package/dist/components/SpinRow/SpinRow.cjs +1 -1
  605. package/dist/components/SpinRow/SpinRow.cjs.map +1 -1
  606. package/dist/components/SpinRow/SpinRow.d.ts +2 -2
  607. package/dist/components/SpinRow/SpinRow.js +2 -2
  608. package/dist/components/SpinRow/SpinRow.js.map +1 -1
  609. package/dist/components/SpinRow/SpinRow.module.css.cjs +1 -1
  610. package/dist/components/SpinRow/SpinRow.module.css.cjs.map +1 -1
  611. package/dist/components/SpinRow/SpinRow.module.css.js +9 -9
  612. package/dist/components/SpinRow/SpinRow.module.css.js.map +1 -1
  613. package/dist/components/SpinRow/index.d.ts +1 -1
  614. package/dist/components/SpinRow.cjs +1 -1
  615. package/dist/components/Spinner/Spinner.cjs +1 -1
  616. package/dist/components/Spinner/Spinner.cjs.map +1 -1
  617. package/dist/components/Spinner/Spinner.d.ts +2 -2
  618. package/dist/components/Spinner/Spinner.js +2 -2
  619. package/dist/components/Spinner/Spinner.js.map +1 -1
  620. package/dist/components/Spinner/Spinner.module.css.cjs +1 -1
  621. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -1
  622. package/dist/components/Spinner/Spinner.module.css.js +5 -5
  623. package/dist/components/Spinner/Spinner.module.css.js.map +1 -1
  624. package/dist/components/Spinner/index.d.ts +1 -1
  625. package/dist/components/Spinner.cjs +1 -1
  626. package/dist/components/SplitButton/SplitButton.cjs +1 -1
  627. package/dist/components/SplitButton/SplitButton.cjs.map +1 -1
  628. package/dist/components/SplitButton/SplitButton.d.ts +3 -3
  629. package/dist/components/SplitButton/SplitButton.js +2 -2
  630. package/dist/components/SplitButton/SplitButton.js.map +1 -1
  631. package/dist/components/SplitButton/SplitButton.module.css.cjs +1 -1
  632. package/dist/components/SplitButton/SplitButton.module.css.cjs.map +1 -1
  633. package/dist/components/SplitButton/SplitButton.module.css.js +10 -10
  634. package/dist/components/SplitButton/SplitButton.module.css.js.map +1 -1
  635. package/dist/components/SplitButton/index.d.ts +1 -1
  636. package/dist/components/SplitButton.cjs +1 -1
  637. package/dist/components/StatusBadge/StatusBadge.cjs +1 -1
  638. package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -1
  639. package/dist/components/StatusBadge/StatusBadge.d.ts +2 -2
  640. package/dist/components/StatusBadge/StatusBadge.js +9 -11
  641. package/dist/components/StatusBadge/StatusBadge.js.map +1 -1
  642. package/dist/components/StatusBadge/index.d.ts +1 -1
  643. package/dist/components/StatusBadge.cjs +1 -1
  644. package/dist/components/StatusPage/StatusPage.cjs +1 -1
  645. package/dist/components/StatusPage/StatusPage.cjs.map +1 -1
  646. package/dist/components/StatusPage/StatusPage.d.ts +2 -2
  647. package/dist/components/StatusPage/StatusPage.js +2 -2
  648. package/dist/components/StatusPage/StatusPage.js.map +1 -1
  649. package/dist/components/StatusPage/index.d.ts +1 -1
  650. package/dist/components/StatusPage.cjs +1 -1
  651. package/dist/components/Switch/Switch.cjs +1 -1
  652. package/dist/components/Switch/Switch.cjs.map +1 -1
  653. package/dist/components/Switch/Switch.d.ts +3 -3
  654. package/dist/components/Switch/Switch.js +6 -8
  655. package/dist/components/Switch/Switch.js.map +1 -1
  656. package/dist/components/Switch/Switch.module.css.cjs +1 -1
  657. package/dist/components/Switch/Switch.module.css.cjs.map +1 -1
  658. package/dist/components/Switch/Switch.module.css.js +1 -1
  659. package/dist/components/Switch/Switch.module.css.js.map +1 -1
  660. package/dist/components/Switch/index.d.ts +1 -1
  661. package/dist/components/Switch.cjs +1 -1
  662. package/dist/components/SwitchRow/SwitchRow.cjs +1 -1
  663. package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -1
  664. package/dist/components/SwitchRow/SwitchRow.d.ts +2 -2
  665. package/dist/components/SwitchRow/SwitchRow.js +7 -7
  666. package/dist/components/SwitchRow/SwitchRow.js.map +1 -1
  667. package/dist/components/SwitchRow/SwitchRow.module.css.cjs +1 -1
  668. package/dist/components/SwitchRow/SwitchRow.module.css.cjs.map +1 -1
  669. package/dist/components/SwitchRow/SwitchRow.module.css.js +9 -9
  670. package/dist/components/SwitchRow/SwitchRow.module.css.js.map +1 -1
  671. package/dist/components/SwitchRow/index.d.ts +1 -1
  672. package/dist/components/SwitchRow.cjs +1 -1
  673. package/dist/components/Tabs/TabBar.cjs +1 -1
  674. package/dist/components/Tabs/TabBar.cjs.map +1 -1
  675. package/dist/components/Tabs/TabBar.d.ts +2 -2
  676. package/dist/components/Tabs/TabBar.js +10 -10
  677. package/dist/components/Tabs/TabBar.js.map +1 -1
  678. package/dist/components/Tabs/TabItem.cjs +1 -1
  679. package/dist/components/Tabs/TabItem.cjs.map +1 -1
  680. package/dist/components/Tabs/TabItem.d.ts +1 -1
  681. package/dist/components/Tabs/TabItem.js.map +1 -1
  682. package/dist/components/Tabs/TabPanel.cjs +1 -1
  683. package/dist/components/Tabs/TabPanel.cjs.map +1 -1
  684. package/dist/components/Tabs/TabPanel.d.ts +1 -1
  685. package/dist/components/Tabs/TabPanel.js +8 -11
  686. package/dist/components/Tabs/TabPanel.js.map +1 -1
  687. package/dist/components/Tabs/Tabs.module.css.cjs +1 -1
  688. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -1
  689. package/dist/components/Tabs/Tabs.module.css.js +10 -10
  690. package/dist/components/Tabs/Tabs.module.css.js.map +1 -1
  691. package/dist/components/Tabs/index.d.ts +3 -3
  692. package/dist/components/Tabs.cjs +1 -1
  693. package/dist/components/TerminalView/TerminalView.cjs +1 -1
  694. package/dist/components/TerminalView/TerminalView.cjs.map +1 -1
  695. package/dist/components/TerminalView/TerminalView.d.ts +2 -2
  696. package/dist/components/TerminalView/TerminalView.js +3 -3
  697. package/dist/components/TerminalView/TerminalView.js.map +1 -1
  698. package/dist/components/TerminalView/index.d.ts +1 -1
  699. package/dist/components/TerminalView.cjs +1 -1
  700. package/dist/components/Text/Text.cjs +1 -1
  701. package/dist/components/Text/Text.cjs.map +1 -1
  702. package/dist/components/Text/Text.d.ts +3 -3
  703. package/dist/components/Text/Text.js +10 -13
  704. package/dist/components/Text/Text.js.map +1 -1
  705. package/dist/components/Text/Text.module.css.cjs +1 -1
  706. package/dist/components/Text/Text.module.css.js +9 -10
  707. package/dist/components/Text/index.d.ts +1 -1
  708. package/dist/components/Text.cjs +1 -1
  709. package/dist/components/TextField/TextField.cjs +1 -1
  710. package/dist/components/TextField/TextField.cjs.map +1 -1
  711. package/dist/components/TextField/TextField.d.ts +2 -2
  712. package/dist/components/TextField/TextField.js +2 -2
  713. package/dist/components/TextField/TextField.js.map +1 -1
  714. package/dist/components/TextField/TextField.module.css.cjs +1 -1
  715. package/dist/components/TextField/TextField.module.css.cjs.map +1 -1
  716. package/dist/components/TextField/TextField.module.css.js +7 -7
  717. package/dist/components/TextField/TextField.module.css.js.map +1 -1
  718. package/dist/components/TextField/index.d.ts +1 -1
  719. package/dist/components/TextField.cjs +1 -1
  720. package/dist/components/Timeline/Timeline.cjs +1 -1
  721. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  722. package/dist/components/Timeline/Timeline.d.ts +3 -3
  723. package/dist/components/Timeline/Timeline.js +2 -2
  724. package/dist/components/Timeline/Timeline.js.map +1 -1
  725. package/dist/components/Timeline/index.d.ts +1 -1
  726. package/dist/components/Timeline.cjs +1 -1
  727. package/dist/components/Toast/Toast.cjs +1 -1
  728. package/dist/components/Toast/Toast.cjs.map +1 -1
  729. package/dist/components/Toast/Toast.d.ts +2 -2
  730. package/dist/components/Toast/Toast.js +40 -36
  731. package/dist/components/Toast/Toast.js.map +1 -1
  732. package/dist/components/Toast/Toast.module.css.cjs +1 -1
  733. package/dist/components/Toast/Toast.module.css.cjs.map +1 -1
  734. package/dist/components/Toast/Toast.module.css.js +11 -12
  735. package/dist/components/Toast/Toast.module.css.js.map +1 -1
  736. package/dist/components/Toast/Toaster.cjs +1 -1
  737. package/dist/components/Toast/Toaster.cjs.map +1 -1
  738. package/dist/components/Toast/Toaster.d.ts +2 -2
  739. package/dist/components/Toast/Toaster.js +2 -2
  740. package/dist/components/Toast/Toaster.js.map +1 -1
  741. package/dist/components/Toast/index.d.ts +2 -2
  742. package/dist/components/Toast.cjs +1 -1
  743. package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -1
  744. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
  745. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -2
  746. package/dist/components/ToggleGroup/ToggleGroup.js +10 -10
  747. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  748. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +1 -1
  749. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -1
  750. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +6 -6
  751. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -1
  752. package/dist/components/ToggleGroup/ToggleGroupItem.cjs +1 -1
  753. package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  754. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +2 -2
  755. package/dist/components/ToggleGroup/ToggleGroupItem.js +2 -2
  756. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
  757. package/dist/components/ToggleGroup/index.d.ts +2 -2
  758. package/dist/components/ToggleGroup.cjs +1 -1
  759. package/dist/components/Toolbar/Spacer.cjs +1 -1
  760. package/dist/components/Toolbar/Spacer.cjs.map +1 -1
  761. package/dist/components/Toolbar/Spacer.d.ts +2 -3
  762. package/dist/components/Toolbar/Spacer.js +5 -7
  763. package/dist/components/Toolbar/Spacer.js.map +1 -1
  764. package/dist/components/Toolbar/Toolbar.cjs +1 -1
  765. package/dist/components/Toolbar/Toolbar.cjs.map +1 -1
  766. package/dist/components/Toolbar/Toolbar.d.ts +1 -1
  767. package/dist/components/Toolbar/Toolbar.js +5 -7
  768. package/dist/components/Toolbar/Toolbar.js.map +1 -1
  769. package/dist/components/Toolbar/index.d.ts +3 -3
  770. package/dist/components/Toolbar.cjs +1 -1
  771. package/dist/components/Toolbar.js +3 -3
  772. package/dist/components/ToolbarView/ToolbarView.cjs +1 -1
  773. package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -1
  774. package/dist/components/ToolbarView/ToolbarView.d.ts +1 -1
  775. package/dist/components/ToolbarView/ToolbarView.js +18 -20
  776. package/dist/components/ToolbarView/ToolbarView.js.map +1 -1
  777. package/dist/components/ToolbarView/index.d.ts +1 -1
  778. package/dist/components/ToolbarView.cjs +1 -1
  779. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  780. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  781. package/dist/components/Tooltip/Tooltip.d.ts +3 -3
  782. package/dist/components/Tooltip/Tooltip.js +6 -6
  783. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  784. package/dist/components/Tooltip/Tooltip.module.css.cjs +1 -1
  785. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -1
  786. package/dist/components/Tooltip/Tooltip.module.css.js +6 -6
  787. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -1
  788. package/dist/components/Tooltip/index.d.ts +1 -1
  789. package/dist/components/Tooltip.cjs +1 -1
  790. package/dist/components/ViewSwitcher/ViewSwitcher.cjs +1 -1
  791. package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -1
  792. package/dist/components/ViewSwitcher/ViewSwitcher.d.ts +2 -2
  793. package/dist/components/ViewSwitcher/ViewSwitcher.js +10 -10
  794. package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -1
  795. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs +1 -1
  796. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs.map +1 -1
  797. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js +5 -5
  798. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js.map +1 -1
  799. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs +1 -1
  800. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -1
  801. package/dist/components/ViewSwitcher/ViewSwitcherItem.d.ts +2 -2
  802. package/dist/components/ViewSwitcher/ViewSwitcherItem.js +24 -26
  803. package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -1
  804. package/dist/components/ViewSwitcher/index.d.ts +2 -2
  805. package/dist/components/ViewSwitcher.cjs +1 -1
  806. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs +1 -1
  807. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -1
  808. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.d.ts +1 -1
  809. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js +7 -9
  810. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -1
  811. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs +1 -1
  812. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs.map +1 -1
  813. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js +1 -1
  814. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js.map +1 -1
  815. package/dist/components/ViewSwitcherBar/index.d.ts +1 -1
  816. package/dist/components/ViewSwitcherBar.cjs +1 -1
  817. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +1 -1
  818. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -1
  819. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.d.ts +2 -2
  820. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +10 -10
  821. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -1
  822. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs +1 -1
  823. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs.map +1 -1
  824. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js +14 -14
  825. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js.map +1 -1
  826. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs +1 -1
  827. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -1
  828. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.d.ts +2 -2
  829. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js +2 -2
  830. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -1
  831. package/dist/components/ViewSwitcherSidebar/index.d.ts +2 -2
  832. package/dist/components/ViewSwitcherSidebar.cjs +1 -1
  833. package/dist/components/WindowTitle/WindowTitle.cjs +1 -1
  834. package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -1
  835. package/dist/components/WindowTitle/WindowTitle.d.ts +1 -1
  836. package/dist/components/WindowTitle/WindowTitle.js +11 -13
  837. package/dist/components/WindowTitle/WindowTitle.js.map +1 -1
  838. package/dist/components/WindowTitle/index.d.ts +1 -1
  839. package/dist/components/WindowTitle.cjs +1 -1
  840. package/dist/components/WrapBox/WrapBox.cjs +1 -1
  841. package/dist/components/WrapBox/WrapBox.cjs.map +1 -1
  842. package/dist/components/WrapBox/WrapBox.d.ts +3 -3
  843. package/dist/components/WrapBox/WrapBox.js +5 -5
  844. package/dist/components/WrapBox/WrapBox.js.map +1 -1
  845. package/dist/components/WrapBox/index.d.ts +1 -1
  846. package/dist/components/WrapBox.cjs +1 -1
  847. package/dist/hooks/index.d.ts +3 -3
  848. package/dist/hooks/useBreakpoint.cjs +1 -1
  849. package/dist/hooks/useBreakpoint.cjs.map +1 -1
  850. package/dist/hooks/useBreakpoint.js +12 -12
  851. package/dist/hooks/useBreakpoint.js.map +1 -1
  852. package/dist/hooks.cjs +1 -1
  853. package/dist/index.cjs +1 -1
  854. package/dist/index.d.ts +153 -153
  855. package/dist/index.js +5 -5
  856. package/dist/style.css +1 -1
  857. package/package.json +2 -2
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Tooltip/Tooltip.cjs`);exports.Tooltip=e.Tooltip;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./Tooltip/Tooltip.cjs");exports.Tooltip=e.Tooltip;
@@ -1,2 +1,2 @@
1
- const e=require(`./ViewSwitcher.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({children:r,className:i,"aria-label":a=`View switcher`,...o}){let s=(0,t.useRef)(null);function c(e){let t=Array.from(s.current?.querySelectorAll(`[role=radio]:not(:disabled)`)??[]),n=t.findIndex(e=>e===document.activeElement);if(n===-1)return;let r=n;if(e.key===`ArrowRight`||e.key===`ArrowDown`)r=(n+1)%t.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)r=(n-1+t.length)%t.length;else if(e.key===`Home`)r=0;else if(e.key===`End`)r=t.length-1;else return;e.preventDefault(),t[r].focus(),t[r].click()}return(0,n.jsx)(`div`,{ref:s,role:`radiogroup`,"aria-label":a,onKeyDown:c,className:[e.default.switcher,i].filter(Boolean).join(` `),...o,children:r})}exports.ViewSwitcher=r;
1
+ const e=require("./ViewSwitcher.module.css.cjs");let t=require("react"),n=require("react/jsx-runtime");var r=({children:r,className:i,"aria-label":a=`View switcher`,...o})=>{let s=(0,t.useRef)(null);function c(e){let t=Array.from(s.current?.querySelectorAll(`[role=radio]:not(:disabled)`)??[]),n=document.activeElement,r=n instanceof HTMLButtonElement?t.indexOf(n):-1;if(r===-1)return;let i=r;if(e.key===`ArrowRight`||e.key===`ArrowDown`)i=(r+1)%t.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)i=(r-1+t.length)%t.length;else if(e.key===`Home`)i=0;else if(e.key===`End`)i=t.length-1;else return;e.preventDefault(),t[i].focus(),t[i].click()}return(0,n.jsx)(`div`,{ref:s,role:`radiogroup`,"aria-label":a,onKeyDown:c,className:[e.default.switcher,i].filter(Boolean).join(` `),...o,children:r})};exports.ViewSwitcher=r;
2
2
  //# sourceMappingURL=ViewSwitcher.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcher.cjs","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.tsx"],"sourcesContent":["import {\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./ViewSwitcher.module.css\";\n\nexport interface ViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n /** Accessible label for the group. */\n \"aria-label\"?: string;\n}\n\n/**\n * Segmented control for switching between major views.\n *\n * Mirrors the Adwaita `AdwViewSwitcher` pattern. Place in a `HeaderBar`\n * as the `title` for the canonical GNOME layout.\n *\n * Compose with `ViewSwitcherItem` for each option.\n * Keyboard: ← / → cycle through items, Home / End jump to first / last.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcher.html\n * @see https://developer.gnome.org/hig/patterns/nav/view-switchers.html\n */\nexport function ViewSwitcher({\n children,\n className,\n \"aria-label\": ariaLabel = \"View switcher\",\n ...props\n}: ViewSwitcherProps) {\n const groupRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>(\n \"[role=radio]:not(:disabled)\",\n ) ?? [],\n );\n const idx = items.findIndex((el) => el === document.activeElement);\n if (idx === -1) return;\n\n let next = idx;\n if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\")\n next = (idx + 1) % items.length;\n else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\")\n next = (idx - 1 + items.length) % items.length;\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = items.length - 1;\n else return;\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"uGA0BA,SAAgB,EAAa,CAC3B,WACA,YACA,aAAc,EAAY,gBAC1B,GAAG,GACiB,CACpB,IAAM,GAAA,EAAA,EAAA,QAAkC,KAAK,CAE7C,SAAS,EAAc,EAAkC,CACvD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAChB,8BACD,EAAI,EAAE,CACR,CACK,EAAM,EAAM,UAAW,GAAO,IAAO,SAAS,cAAc,CAClE,GAAI,IAAQ,GAAI,OAEhB,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,cAAgB,EAAE,MAAQ,YACtC,GAAQ,EAAM,GAAK,EAAM,eAClB,EAAE,MAAQ,aAAe,EAAE,MAAQ,UAC1C,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,eACjC,EAAE,MAAQ,OAAQ,EAAO,UACzB,EAAE,MAAQ,MAAO,EAAO,EAAM,OAAS,OAC3C,OAEL,EAAE,gBAAgB,CAClB,EAAM,GAAM,OAAO,CACnB,EAAM,GAAM,OAAO,CAGrB,OACE,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EACX,UAAW,CAAC,EAAA,QAAO,SAAU,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CACjE,GAAI,EAEH,WACG,CAAA"}
1
+ {"version":3,"file":"ViewSwitcher.cjs","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, type ReactNode, useRef } from 'react';\n\nimport styles from './ViewSwitcher.module.css';\n\nexport interface ViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n /** Accessible label for the group. */\n 'aria-label'?: string;\n}\n\n/**\n * Segmented control for switching between major views.\n *\n * Mirrors the Adwaita `AdwViewSwitcher` pattern. Place in a `HeaderBar`\n * as the `title` for the canonical GNOME layout.\n *\n * Compose with `ViewSwitcherItem` for each option.\n * Keyboard: ← / → cycle through items, Home / End jump to first / last.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcher.html\n * @see https://developer.gnome.org/hig/patterns/nav/view-switchers.html\n */\nexport const ViewSwitcher = ({\n children,\n className,\n 'aria-label': ariaLabel = 'View switcher',\n ...props\n}: ViewSwitcherProps) => {\n const groupRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>('[role=radio]:not(:disabled)') ?? [],\n );\n const activeElement = document.activeElement;\n const idx = activeElement instanceof HTMLButtonElement ? items.indexOf(activeElement) : -1;\n\n if (idx === -1) {\n return;\n }\n\n let next = idx;\n if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n next = (idx + 1) % items.length;\n } else if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n next = (idx - 1 + items.length) % items.length;\n } else if (e.key === 'Home') {\n next = 0;\n } else if (e.key === 'End') {\n next = items.length - 1;\n } else {\n return;\n }\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"uGAsBA,IAAa,GAAgB,CAC3B,WACA,YACA,aAAc,EAAY,gBAC1B,GAAG,KACoB,CACvB,IAAM,GAAA,EAAA,EAAA,QAAkC,IAAI,EAE5C,SAAS,EAAc,EAAkC,CACvD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,6BAA6B,GAAK,CAAC,CAC3F,EACM,EAAgB,SAAS,cACzB,EAAM,aAAyB,kBAAoB,EAAM,QAAQ,CAAa,EAAI,GAExF,GAAI,IAAQ,GACV,OAGF,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,cAAgB,EAAE,MAAQ,YACtC,GAAQ,EAAM,GAAK,EAAM,YACpB,GAAI,EAAE,MAAQ,aAAe,EAAE,MAAQ,UAC5C,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,YACnC,GAAI,EAAE,MAAQ,OACnB,EAAO,OACF,GAAI,EAAE,MAAQ,MACnB,EAAO,EAAM,OAAS,OAEtB,OAGF,EAAE,eAAe,EACjB,EAAM,GAAM,MAAM,EAClB,EAAM,GAAM,MAAM,CACpB,CAEA,OACE,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EACX,UAAW,CAAC,EAAA,QAAO,SAAU,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAChE,GAAI,EAEH,UACE,CAAA,CAET"}
@@ -2,7 +2,7 @@ import { HTMLAttributes, ReactNode } from 'react';
2
2
  export interface ViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children?: ReactNode;
4
4
  /** Accessible label for the group. */
5
- "aria-label"?: string;
5
+ 'aria-label'?: string;
6
6
  }
7
7
  /**
8
8
  * Segmented control for switching between major views.
@@ -16,4 +16,4 @@ export interface ViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {
16
16
  * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcher.html
17
17
  * @see https://developer.gnome.org/hig/patterns/nav/view-switchers.html
18
18
  */
19
- export declare function ViewSwitcher({ children, className, "aria-label": ariaLabel, ...props }: ViewSwitcherProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare const ViewSwitcher: ({ children, className, "aria-label": ariaLabel, ...props }: ViewSwitcherProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,18 +2,18 @@ import e from "./ViewSwitcher.module.css.js";
2
2
  import { useRef as t } from "react";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  //#region src/components/ViewSwitcher/ViewSwitcher.tsx
5
- function r({ children: r, className: i, "aria-label": a = "View switcher", ...o }) {
5
+ var r = ({ children: r, className: i, "aria-label": a = "View switcher", ...o }) => {
6
6
  let s = t(null);
7
7
  function c(e) {
8
- let t = Array.from(s.current?.querySelectorAll("[role=radio]:not(:disabled)") ?? []), n = t.findIndex((e) => e === document.activeElement);
9
- if (n === -1) return;
10
- let r = n;
11
- if (e.key === "ArrowRight" || e.key === "ArrowDown") r = (n + 1) % t.length;
12
- else if (e.key === "ArrowLeft" || e.key === "ArrowUp") r = (n - 1 + t.length) % t.length;
13
- else if (e.key === "Home") r = 0;
14
- else if (e.key === "End") r = t.length - 1;
8
+ let t = Array.from(s.current?.querySelectorAll("[role=radio]:not(:disabled)") ?? []), n = document.activeElement, r = n instanceof HTMLButtonElement ? t.indexOf(n) : -1;
9
+ if (r === -1) return;
10
+ let i = r;
11
+ if (e.key === "ArrowRight" || e.key === "ArrowDown") i = (r + 1) % t.length;
12
+ else if (e.key === "ArrowLeft" || e.key === "ArrowUp") i = (r - 1 + t.length) % t.length;
13
+ else if (e.key === "Home") i = 0;
14
+ else if (e.key === "End") i = t.length - 1;
15
15
  else return;
16
- e.preventDefault(), t[r].focus(), t[r].click();
16
+ e.preventDefault(), t[i].focus(), t[i].click();
17
17
  }
18
18
  return /* @__PURE__ */ n("div", {
19
19
  ref: s,
@@ -24,7 +24,7 @@ function r({ children: r, className: i, "aria-label": a = "View switcher", ...o
24
24
  ...o,
25
25
  children: r
26
26
  });
27
- }
27
+ };
28
28
  //#endregion
29
29
  export { r as ViewSwitcher };
30
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcher.js","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.tsx"],"sourcesContent":["import {\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./ViewSwitcher.module.css\";\n\nexport interface ViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n /** Accessible label for the group. */\n \"aria-label\"?: string;\n}\n\n/**\n * Segmented control for switching between major views.\n *\n * Mirrors the Adwaita `AdwViewSwitcher` pattern. Place in a `HeaderBar`\n * as the `title` for the canonical GNOME layout.\n *\n * Compose with `ViewSwitcherItem` for each option.\n * Keyboard: ← / → cycle through items, Home / End jump to first / last.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcher.html\n * @see https://developer.gnome.org/hig/patterns/nav/view-switchers.html\n */\nexport function ViewSwitcher({\n children,\n className,\n \"aria-label\": ariaLabel = \"View switcher\",\n ...props\n}: ViewSwitcherProps) {\n const groupRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>(\n \"[role=radio]:not(:disabled)\",\n ) ?? [],\n );\n const idx = items.findIndex((el) => el === document.activeElement);\n if (idx === -1) return;\n\n let next = idx;\n if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\")\n next = (idx + 1) % items.length;\n else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\")\n next = (idx - 1 + items.length) % items.length;\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = items.length - 1;\n else return;\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AA0BA,SAAgB,EAAa,EAC3B,aACA,cACA,cAAc,IAAY,iBAC1B,GAAG,KACiB;CACpB,IAAM,IAAW,EAAuB,KAAK;CAE7C,SAAS,EAAc,GAAkC;EACvD,IAAM,IAAQ,MAAM,KAClB,EAAS,SAAS,iBAChB,8BACD,IAAI,EAAE,CACR,EACK,IAAM,EAAM,WAAW,MAAO,MAAO,SAAS,cAAc;AAClE,MAAI,MAAQ,GAAI;EAEhB,IAAI,IAAO;AACX,MAAI,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,YACtC,MAAQ,IAAM,KAAK,EAAM;WAClB,EAAE,QAAQ,eAAe,EAAE,QAAQ,UAC1C,MAAQ,IAAM,IAAI,EAAM,UAAU,EAAM;WACjC,EAAE,QAAQ,OAAQ,KAAO;WACzB,EAAE,QAAQ,MAAO,KAAO,EAAM,SAAS;MAC3C;AAIL,EAFA,EAAE,gBAAgB,EAClB,EAAM,GAAM,OAAO,EACnB,EAAM,GAAM,OAAO;;AAGrB,QACE,kBAAC,OAAD;EACE,KAAK;EACL,MAAK;EACL,cAAY;EACZ,WAAW;EACX,WAAW,CAAC,EAAO,UAAU,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EACjE,GAAI;EAEH;EACG,CAAA"}
1
+ {"version":3,"file":"ViewSwitcher.js","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, type ReactNode, useRef } from 'react';\n\nimport styles from './ViewSwitcher.module.css';\n\nexport interface ViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n /** Accessible label for the group. */\n 'aria-label'?: string;\n}\n\n/**\n * Segmented control for switching between major views.\n *\n * Mirrors the Adwaita `AdwViewSwitcher` pattern. Place in a `HeaderBar`\n * as the `title` for the canonical GNOME layout.\n *\n * Compose with `ViewSwitcherItem` for each option.\n * Keyboard: ← / → cycle through items, Home / End jump to first / last.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcher.html\n * @see https://developer.gnome.org/hig/patterns/nav/view-switchers.html\n */\nexport const ViewSwitcher = ({\n children,\n className,\n 'aria-label': ariaLabel = 'View switcher',\n ...props\n}: ViewSwitcherProps) => {\n const groupRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>('[role=radio]:not(:disabled)') ?? [],\n );\n const activeElement = document.activeElement;\n const idx = activeElement instanceof HTMLButtonElement ? items.indexOf(activeElement) : -1;\n\n if (idx === -1) {\n return;\n }\n\n let next = idx;\n if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n next = (idx + 1) % items.length;\n } else if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n next = (idx - 1 + items.length) % items.length;\n } else if (e.key === 'Home') {\n next = 0;\n } else if (e.key === 'End') {\n next = items.length - 1;\n } else {\n return;\n }\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"mappings":";;;;AAsBA,IAAa,KAAgB,EAC3B,aACA,cACA,cAAc,IAAY,iBAC1B,GAAG,QACoB;CACvB,IAAM,IAAW,EAAuB,IAAI;CAE5C,SAAS,EAAc,GAAkC;EACvD,IAAM,IAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,6BAA6B,KAAK,CAAC,CAC3F,GACM,IAAgB,SAAS,eACzB,IAAM,aAAyB,oBAAoB,EAAM,QAAQ,CAAa,IAAI;EAExF,IAAI,MAAQ,IACV;EAGF,IAAI,IAAO;EACX,IAAI,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,aACtC,KAAQ,IAAM,KAAK,EAAM;OACpB,IAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,WAC5C,KAAQ,IAAM,IAAI,EAAM,UAAU,EAAM;OACnC,IAAI,EAAE,QAAQ,QACnB,IAAO;OACF,IAAI,EAAE,QAAQ,OACnB,IAAO,EAAM,SAAS;OAEtB;EAKF,AAFA,EAAE,eAAe,GACjB,EAAM,GAAM,MAAM,GAClB,EAAM,GAAM,MAAM;CACpB;CAEA,OACE,kBAAC,OAAD;EACE,KAAK;EACL,MAAK;EACL,cAAY;EACZ,WAAW;EACX,WAAW,CAAC,EAAO,UAAU,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;EAChE,GAAI;EAEH;CACE,CAAA;AAET"}
@@ -1,2 +1,2 @@
1
- var e={switcher:`_switcher_1uh9r_3`,item:`_item_1uh9r_18`,active:`_active_1uh9r_45`,itemIcon:`_itemIcon_1uh9r_76`,itemLabel:`_itemLabel_1uh9r_84`};exports.default=e;
1
+ var e={switcher:`_switcher_xusgc_3`,item:`_item_xusgc_14`,active:`_active_xusgc_41`,itemIcon:`_itemIcon_xusgc_72`,itemLabel:`_itemLabel_xusgc_80`};exports.default=e;
2
2
  //# sourceMappingURL=ViewSwitcher.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcher.module.css.cjs","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.module.css"],"sourcesContent":["/* ─── Container ────────────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: 3px;\n border-radius: var(--gnome-radius-pill);\n background-color: color-mix(\n in srgb,\n var(--gnome-headerbar-bg-color, #ebebeb) 75%,\n black 25%\n );\n}\n\n/* ─── Item ─────────────────────────────────────────────────────────────────── */\n\n.item {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--gnome-space-1, 6px);\n padding: 5px var(--gnome-space-2, 12px);\n border-radius: calc(var(--gnome-radius-pill) - 3px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n.item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px)\n color-mix(in srgb, var(--gnome-headerbar-bg-color, #ebebeb) 75%, black 25%),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Active item ──────────────────────────────────────────────────────────── */\n\n.active {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Icon ─────────────────────────────────────────────────────────────────── */\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.itemLabel {\n line-height: var(--gnome-line-height-body, 1.5);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switcher {\n background-color: color-mix(\n in srgb,\n var(--gnome-headerbar-bg-color, #303030) 70%,\n black 30%\n );\n }\n\n .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .active {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .item {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ViewSwitcher.module.css.cjs","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.module.css"],"sourcesContent":["/* ─── Container ────────────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: 3px;\n border-radius: var(--gnome-radius-pill);\n background-color: color-mix(in srgb, var(--gnome-headerbar-bg-color, #ebebeb) 75%, black 25%);\n}\n\n/* ─── Item ─────────────────────────────────────────────────────────────────── */\n\n.item {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--gnome-space-1, 6px);\n padding: 5px var(--gnome-space-2, 12px);\n border-radius: calc(var(--gnome-radius-pill) - 3px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n.item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px)\n color-mix(in srgb, var(--gnome-headerbar-bg-color, #ebebeb) 75%, black 25%),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Active item ──────────────────────────────────────────────────────────── */\n\n.active {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Icon ─────────────────────────────────────────────────────────────────── */\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.itemLabel {\n line-height: var(--gnome-line-height-body, 1.5);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switcher {\n background-color: color-mix(in srgb, var(--gnome-headerbar-bg-color, #303030) 70%, black 30%);\n }\n\n .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .active {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .item {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,9 +1,9 @@
1
1
  var e = {
2
- switcher: "_switcher_1uh9r_3",
3
- item: "_item_1uh9r_18",
4
- active: "_active_1uh9r_45",
5
- itemIcon: "_itemIcon_1uh9r_76",
6
- itemLabel: "_itemLabel_1uh9r_84"
2
+ switcher: "_switcher_xusgc_3",
3
+ item: "_item_xusgc_14",
4
+ active: "_active_xusgc_41",
5
+ itemIcon: "_itemIcon_xusgc_72",
6
+ itemLabel: "_itemLabel_xusgc_80"
7
7
  };
8
8
  //#endregion
9
9
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcher.module.css.js","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.module.css"],"sourcesContent":["/* ─── Container ────────────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: 3px;\n border-radius: var(--gnome-radius-pill);\n background-color: color-mix(\n in srgb,\n var(--gnome-headerbar-bg-color, #ebebeb) 75%,\n black 25%\n );\n}\n\n/* ─── Item ─────────────────────────────────────────────────────────────────── */\n\n.item {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--gnome-space-1, 6px);\n padding: 5px var(--gnome-space-2, 12px);\n border-radius: calc(var(--gnome-radius-pill) - 3px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n.item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px)\n color-mix(in srgb, var(--gnome-headerbar-bg-color, #ebebeb) 75%, black 25%),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Active item ──────────────────────────────────────────────────────────── */\n\n.active {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Icon ─────────────────────────────────────────────────────────────────── */\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.itemLabel {\n line-height: var(--gnome-line-height-body, 1.5);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switcher {\n background-color: color-mix(\n in srgb,\n var(--gnome-headerbar-bg-color, #303030) 70%,\n black 30%\n );\n }\n\n .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .active {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .item {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ViewSwitcher.module.css.js","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcher.module.css"],"sourcesContent":["/* ─── Container ────────────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: 3px;\n border-radius: var(--gnome-radius-pill);\n background-color: color-mix(in srgb, var(--gnome-headerbar-bg-color, #ebebeb) 75%, black 25%);\n}\n\n/* ─── Item ─────────────────────────────────────────────────────────────────── */\n\n.item {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--gnome-space-1, 6px);\n padding: 5px var(--gnome-space-2, 12px);\n border-radius: calc(var(--gnome-radius-pill) - 3px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n.item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px)\n color-mix(in srgb, var(--gnome-headerbar-bg-color, #ebebeb) 75%, black 25%),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Active item ──────────────────────────────────────────────────────────── */\n\n.active {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Icon ─────────────────────────────────────────────────────────────────── */\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.itemLabel {\n line-height: var(--gnome-line-height-body, 1.5);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switcher {\n background-color: color-mix(in srgb, var(--gnome-headerbar-bg-color, #303030) 70%, black 30%);\n }\n\n .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .active {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .item {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- const e=require(`../Icon/Icon.cjs`),t=require(`./ViewSwitcher.module.css.cjs`);let n=require(`react/jsx-runtime`);function r({label:r,icon:i,active:a=!1,className:o,disabled:s,...c}){return(0,n.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":a,tabIndex:a?0:-1,disabled:s,className:[t.default.item,a?t.default.active:null,o].filter(Boolean).join(` `),...c,children:[i&&(0,n.jsx)(`span`,{className:t.default.itemIcon,children:(0,n.jsx)(e.Icon,{icon:i,size:`md`,"aria-hidden":!0})}),(0,n.jsx)(`span`,{className:t.default.itemLabel,children:r})]})}exports.ViewSwitcherItem=r;
1
+ const e=require("../Icon/Icon.cjs"),t=require("./ViewSwitcher.module.css.cjs");let n=require("react/jsx-runtime");var r=({label:r,icon:i,active:a=!1,className:o,disabled:s,...c})=>(0,n.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":a,tabIndex:a?0:-1,disabled:s,className:[t.default.item,a?t.default.active:null,o].filter(Boolean).join(` `),...c,children:[i&&(0,n.jsx)(`span`,{className:t.default.itemIcon,children:(0,n.jsx)(e.Icon,{icon:i,size:`md`,"aria-hidden":!0})}),(0,n.jsx)(`span`,{className:t.default.itemLabel,children:r})]});exports.ViewSwitcherItem=r;
2
2
  //# sourceMappingURL=ViewSwitcherItem.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherItem.cjs","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcherItem.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport styles from \"./ViewSwitcher.module.css\";\n\nexport interface ViewSwitcherItemProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Display label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this item as the currently active view. */\n active?: boolean;\n}\n\n/**\n * Individual option inside a `ViewSwitcher`.\n *\n * Renders as `role=\"radio\"` so the group has proper radiogroup semantics.\n */\nexport function ViewSwitcherItem({\n label,\n icon,\n active = false,\n className,\n disabled,\n ...props\n}: ViewSwitcherItemProps) {\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[\n styles.item,\n active ? styles.active : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {icon && (\n <span className={styles.itemIcon}>\n <Icon icon={icon} size=\"md\" aria-hidden />\n </span>\n )}\n <span className={styles.itemLabel}>{label}</span>\n </button>\n );\n}\n"],"mappings":"kHAoBA,SAAgB,EAAiB,CAC/B,QACA,OACA,SAAS,GACT,YACA,WACA,GAAG,GACqB,CACxB,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,KAAK,QACL,eAAc,EACd,SAAU,EAAS,EAAI,GACb,WACV,UAAW,CACT,EAAA,QAAO,KACP,EAAS,EAAA,QAAO,OAAS,KACzB,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAbN,CAeG,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBACtB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAK,KAAK,cAAA,GAAc,CAAA,CACrC,CAAA,EAET,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBAAY,EAAa,CAAA,CAC1C"}
1
+ {"version":3,"file":"ViewSwitcherItem.cjs","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcherItem.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { ButtonHTMLAttributes } from 'react';\n\nimport { Icon } from '../Icon';\n\nimport styles from './ViewSwitcher.module.css';\n\nexport interface ViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Display label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this item as the currently active view. */\n active?: boolean;\n}\n\n/**\n * Individual option inside a `ViewSwitcher`.\n *\n * Renders as `role=\"radio\"` so the group has proper radiogroup semantics.\n */\nexport const ViewSwitcherItem = ({\n label,\n icon,\n active = false,\n className,\n disabled,\n ...props\n}: ViewSwitcherItemProps) => {\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[styles.item, active ? styles.active : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n {icon && (\n <span className={styles.itemIcon}>\n <Icon icon={icon} size=\"md\" aria-hidden />\n </span>\n )}\n <span className={styles.itemLabel}>{label}</span>\n </button>\n );\n};\n"],"mappings":"kHAqBA,IAAa,GAAoB,CAC/B,QACA,OACA,SAAS,GACT,YACA,WACA,GAAG,MAGD,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,KAAK,QACL,eAAc,EACd,SAAU,EAAS,EAAI,GACb,WACV,UAAW,CAAC,EAAA,QAAO,KAAM,EAAS,EAAA,QAAO,OAAS,KAAM,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC3F,GAAI,WAPN,CASG,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBACtB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAK,KAAK,cAAA,EAAa,CAAA,CACrC,CAAA,GAER,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBAAY,CAAY,CAAA,CAC1C"}
@@ -1,5 +1,5 @@
1
- import { ButtonHTMLAttributes } from 'react';
2
1
  import { IconDefinition } from '@gnome-ui/icons';
2
+ import { ButtonHTMLAttributes } from 'react';
3
3
  export interface ViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  /** Display label. */
5
5
  label: string;
@@ -13,4 +13,4 @@ export interface ViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonEl
13
13
  *
14
14
  * Renders as `role="radio"` so the group has proper radiogroup semantics.
15
15
  */
16
- export declare function ViewSwitcherItem({ label, icon, active, className, disabled, ...props }: ViewSwitcherItemProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare const ViewSwitcherItem: ({ label, icon, active, className, disabled, ...props }: ViewSwitcherItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,32 +2,30 @@ import { Icon as e } from "../Icon/Icon.js";
2
2
  import t from "./ViewSwitcher.module.css.js";
3
3
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  //#region src/components/ViewSwitcher/ViewSwitcherItem.tsx
5
- function i({ label: i, icon: a, active: o = !1, className: s, disabled: c, ...l }) {
6
- return /* @__PURE__ */ r("button", {
7
- type: "button",
8
- role: "radio",
9
- "aria-checked": o,
10
- tabIndex: o ? 0 : -1,
11
- disabled: c,
12
- className: [
13
- t.item,
14
- o ? t.active : null,
15
- s
16
- ].filter(Boolean).join(" "),
17
- ...l,
18
- children: [a && /* @__PURE__ */ n("span", {
19
- className: t.itemIcon,
20
- children: /* @__PURE__ */ n(e, {
21
- icon: a,
22
- size: "md",
23
- "aria-hidden": !0
24
- })
25
- }), /* @__PURE__ */ n("span", {
26
- className: t.itemLabel,
27
- children: i
28
- })]
29
- });
30
- }
5
+ var i = ({ label: i, icon: a, active: o = !1, className: s, disabled: c, ...l }) => /* @__PURE__ */ r("button", {
6
+ type: "button",
7
+ role: "radio",
8
+ "aria-checked": o,
9
+ tabIndex: o ? 0 : -1,
10
+ disabled: c,
11
+ className: [
12
+ t.item,
13
+ o ? t.active : null,
14
+ s
15
+ ].filter(Boolean).join(" "),
16
+ ...l,
17
+ children: [a && /* @__PURE__ */ n("span", {
18
+ className: t.itemIcon,
19
+ children: /* @__PURE__ */ n(e, {
20
+ icon: a,
21
+ size: "md",
22
+ "aria-hidden": !0
23
+ })
24
+ }), /* @__PURE__ */ n("span", {
25
+ className: t.itemLabel,
26
+ children: i
27
+ })]
28
+ });
31
29
  //#endregion
32
30
  export { i as ViewSwitcherItem };
33
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherItem.js","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcherItem.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport styles from \"./ViewSwitcher.module.css\";\n\nexport interface ViewSwitcherItemProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Display label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this item as the currently active view. */\n active?: boolean;\n}\n\n/**\n * Individual option inside a `ViewSwitcher`.\n *\n * Renders as `role=\"radio\"` so the group has proper radiogroup semantics.\n */\nexport function ViewSwitcherItem({\n label,\n icon,\n active = false,\n className,\n disabled,\n ...props\n}: ViewSwitcherItemProps) {\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[\n styles.item,\n active ? styles.active : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {icon && (\n <span className={styles.itemIcon}>\n <Icon icon={icon} size=\"md\" aria-hidden />\n </span>\n )}\n <span className={styles.itemLabel}>{label}</span>\n </button>\n );\n}\n"],"mappings":";;;;AAoBA,SAAgB,EAAiB,EAC/B,UACA,SACA,YAAS,IACT,cACA,aACA,GAAG,KACqB;AACxB,QACE,kBAAC,UAAD;EACE,MAAK;EACL,MAAK;EACL,gBAAc;EACd,UAAU,IAAS,IAAI;EACb;EACV,WAAW;GACT,EAAO;GACP,IAAS,EAAO,SAAS;GACzB;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAbN,CAeG,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;aACtB,kBAAC,GAAD;IAAY;IAAM,MAAK;IAAK,eAAA;IAAc,CAAA;GACrC,CAAA,EAET,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAY;GAAa,CAAA,CAC1C"}
1
+ {"version":3,"file":"ViewSwitcherItem.js","names":[],"sources":["../../../src/components/ViewSwitcher/ViewSwitcherItem.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { ButtonHTMLAttributes } from 'react';\n\nimport { Icon } from '../Icon';\n\nimport styles from './ViewSwitcher.module.css';\n\nexport interface ViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Display label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this item as the currently active view. */\n active?: boolean;\n}\n\n/**\n * Individual option inside a `ViewSwitcher`.\n *\n * Renders as `role=\"radio\"` so the group has proper radiogroup semantics.\n */\nexport const ViewSwitcherItem = ({\n label,\n icon,\n active = false,\n className,\n disabled,\n ...props\n}: ViewSwitcherItemProps) => {\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[styles.item, active ? styles.active : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n {icon && (\n <span className={styles.itemIcon}>\n <Icon icon={icon} size=\"md\" aria-hidden />\n </span>\n )}\n <span className={styles.itemLabel}>{label}</span>\n </button>\n );\n};\n"],"mappings":";;;;AAqBA,IAAa,KAAoB,EAC/B,UACA,SACA,YAAS,IACT,cACA,aACA,GAAG,QAGD,kBAAC,UAAD;CACE,MAAK;CACL,MAAK;CACL,gBAAc;CACd,UAAU,IAAS,IAAI;CACb;CACV,WAAW;EAAC,EAAO;EAAM,IAAS,EAAO,SAAS;EAAM;CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;CAC3F,GAAI;WAPN,CASG,KACC,kBAAC,QAAD;EAAM,WAAW,EAAO;YACtB,kBAAC,GAAD;GAAY;GAAM,MAAK;GAAK,eAAA;EAAa,CAAA;CACrC,CAAA,GAER,kBAAC,QAAD;EAAM,WAAW,EAAO;YAAY;CAAY,CAAA,CAC1C"}
@@ -1,4 +1,4 @@
1
- export { ViewSwitcher } from './ViewSwitcher';
2
1
  export type { ViewSwitcherProps } from './ViewSwitcher';
3
- export { ViewSwitcherItem } from './ViewSwitcherItem';
2
+ export { ViewSwitcher } from './ViewSwitcher';
4
3
  export type { ViewSwitcherItemProps } from './ViewSwitcherItem';
4
+ export { ViewSwitcherItem } from './ViewSwitcherItem';
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./ViewSwitcher/ViewSwitcher.cjs`),t=require(`./ViewSwitcher/ViewSwitcherItem.cjs`);exports.ViewSwitcher=e.ViewSwitcher,exports.ViewSwitcherItem=t.ViewSwitcherItem;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ViewSwitcher/ViewSwitcher.cjs"),t=require("./ViewSwitcher/ViewSwitcherItem.cjs");exports.ViewSwitcher=e.ViewSwitcher,exports.ViewSwitcherItem=t.ViewSwitcherItem;
@@ -1,2 +1,2 @@
1
- const e=require(`./ViewSwitcherBar.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({children:n,reveal:r=!0,className:i,...a}){return r?(0,t.jsx)(`div`,{role:`navigation`,"aria-label":`Bottom navigation`,className:[e.default.bar,i].filter(Boolean).join(` `),...a,children:n}):null}exports.ViewSwitcherBar=n;
1
+ const e=require("./ViewSwitcherBar.module.css.cjs");let t=require("react/jsx-runtime");var n=({children:n,reveal:r=!0,className:i,...a})=>r?(0,t.jsx)(`div`,{role:`navigation`,"aria-label":`Bottom navigation`,className:[e.default.bar,i].filter(Boolean).join(` `),...a,children:n}):null;exports.ViewSwitcherBar=n;
2
2
  //# sourceMappingURL=ViewSwitcherBar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherBar.cjs","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./ViewSwitcherBar.module.css\";\n\nexport interface ViewSwitcherBarProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * `ViewSwitcherItem` elements to render in the bottom bar.\n * Use the same items you pass to the header-bar `ViewSwitcher`.\n */\n children: ReactNode;\n /**\n * Whether the bar is visible.\n * Typically tied to `useBreakpoint().isMedium` so it appears\n * automatically when the window is ≤ 550 px wide.\n */\n reveal?: boolean;\n}\n\n/**\n * Bottom navigation bar for `ViewSwitcher` items on narrow screens (≤ 550 px),\n * mirroring the Adwaita `AdwViewSwitcherBar` pattern.\n *\n * Use in tandem with a `ViewSwitcher` in the `HeaderBar`:\n * - **Wide** (> 550 px): show the `ViewSwitcher` in the header, hide the bar.\n * - **Narrow** (≤ 550 px): hide the header switcher, reveal the bar.\n *\n * @example\n * const { isMedium } = useBreakpoint();\n * <>\n * <HeaderBar\n * title={\n * !isMedium && (\n * <ViewSwitcher aria-label=\"View\">…items…</ViewSwitcher>\n * )\n * }\n * />\n * <ViewSwitcherBar reveal={isMedium}>…items…</ViewSwitcherBar>\n * </>\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherBar.html\n */\nexport function ViewSwitcherBar({\n children,\n reveal = true,\n className,\n ...props\n}: ViewSwitcherBarProps) {\n if (!reveal) return null;\n\n return (\n <div\n role=\"navigation\"\n aria-label=\"Bottom navigation\"\n className={[styles.bar, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"uFAwCA,SAAgB,EAAgB,CAC9B,WACA,SAAS,GACT,YACA,GAAG,GACoB,CAGvB,OAFK,GAGH,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,aACL,aAAW,oBACX,UAAW,CAAC,EAAA,QAAO,IAAK,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC5D,GAAI,EAEH,WACG,CAAA,CAVY"}
1
+ {"version":3,"file":"ViewSwitcherBar.cjs","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './ViewSwitcherBar.module.css';\n\nexport interface ViewSwitcherBarProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * `ViewSwitcherItem` elements to render in the bottom bar.\n * Use the same items you pass to the header-bar `ViewSwitcher`.\n */\n children: ReactNode;\n /**\n * Whether the bar is visible.\n * Typically tied to `useBreakpoint().isMedium` so it appears\n * automatically when the window is ≤ 550 px wide.\n */\n reveal?: boolean;\n}\n\n/**\n * Bottom navigation bar for `ViewSwitcher` items on narrow screens (≤ 550 px),\n * mirroring the Adwaita `AdwViewSwitcherBar` pattern.\n *\n * Use in tandem with a `ViewSwitcher` in the `HeaderBar`:\n * - **Wide** (> 550 px): show the `ViewSwitcher` in the header, hide the bar.\n * - **Narrow** (≤ 550 px): hide the header switcher, reveal the bar.\n *\n * @example\n * const { isMedium } = useBreakpoint();\n * <>\n * <HeaderBar\n * title={\n * !isMedium && (\n * <ViewSwitcher aria-label=\"View\">…items…</ViewSwitcher>\n * )\n * }\n * />\n * <ViewSwitcherBar reveal={isMedium}>…items…</ViewSwitcherBar>\n * </>\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherBar.html\n */\nexport const ViewSwitcherBar = ({\n children,\n reveal = true,\n className,\n ...props\n}: ViewSwitcherBarProps) => {\n if (!reveal) {\n return null;\n }\n\n return (\n <div\n role=\"navigation\"\n aria-label=\"Bottom navigation\"\n className={[styles.bar, className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"uFAyCA,IAAa,GAAmB,CAC9B,WACA,SAAS,GACT,YACA,GAAG,KAEE,GAKH,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,aACL,aAAW,oBACX,UAAW,CAAC,EAAA,QAAO,IAAK,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC3D,GAAI,EAEH,UACE,CAAA,EAXE"}
@@ -35,4 +35,4 @@ export interface ViewSwitcherBarProps extends HTMLAttributes<HTMLDivElement> {
35
35
  *
36
36
  * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherBar.html
37
37
  */
38
- export declare function ViewSwitcherBar({ children, reveal, className, ...props }: ViewSwitcherBarProps): import("react/jsx-runtime").JSX.Element | null;
38
+ export declare const ViewSwitcherBar: ({ children, reveal, className, ...props }: ViewSwitcherBarProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,15 +1,13 @@
1
1
  import e from "./ViewSwitcherBar.module.css.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/components/ViewSwitcherBar/ViewSwitcherBar.tsx
4
- function n({ children: n, reveal: r = !0, className: i, ...a }) {
5
- return r ? /* @__PURE__ */ t("div", {
6
- role: "navigation",
7
- "aria-label": "Bottom navigation",
8
- className: [e.bar, i].filter(Boolean).join(" "),
9
- ...a,
10
- children: n
11
- }) : null;
12
- }
4
+ var n = ({ children: n, reveal: r = !0, className: i, ...a }) => r ? /* @__PURE__ */ t("div", {
5
+ role: "navigation",
6
+ "aria-label": "Bottom navigation",
7
+ className: [e.bar, i].filter(Boolean).join(" "),
8
+ ...a,
9
+ children: n
10
+ }) : null;
13
11
  //#endregion
14
12
  export { n as ViewSwitcherBar };
15
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherBar.js","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./ViewSwitcherBar.module.css\";\n\nexport interface ViewSwitcherBarProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * `ViewSwitcherItem` elements to render in the bottom bar.\n * Use the same items you pass to the header-bar `ViewSwitcher`.\n */\n children: ReactNode;\n /**\n * Whether the bar is visible.\n * Typically tied to `useBreakpoint().isMedium` so it appears\n * automatically when the window is ≤ 550 px wide.\n */\n reveal?: boolean;\n}\n\n/**\n * Bottom navigation bar for `ViewSwitcher` items on narrow screens (≤ 550 px),\n * mirroring the Adwaita `AdwViewSwitcherBar` pattern.\n *\n * Use in tandem with a `ViewSwitcher` in the `HeaderBar`:\n * - **Wide** (> 550 px): show the `ViewSwitcher` in the header, hide the bar.\n * - **Narrow** (≤ 550 px): hide the header switcher, reveal the bar.\n *\n * @example\n * const { isMedium } = useBreakpoint();\n * <>\n * <HeaderBar\n * title={\n * !isMedium && (\n * <ViewSwitcher aria-label=\"View\">…items…</ViewSwitcher>\n * )\n * }\n * />\n * <ViewSwitcherBar reveal={isMedium}>…items…</ViewSwitcherBar>\n * </>\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherBar.html\n */\nexport function ViewSwitcherBar({\n children,\n reveal = true,\n className,\n ...props\n}: ViewSwitcherBarProps) {\n if (!reveal) return null;\n\n return (\n <div\n role=\"navigation\"\n aria-label=\"Bottom navigation\"\n className={[styles.bar, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;AAwCA,SAAgB,EAAgB,EAC9B,aACA,YAAS,IACT,cACA,GAAG,KACoB;AAGvB,QAFK,IAGH,kBAAC,OAAD;EACE,MAAK;EACL,cAAW;EACX,WAAW,CAAC,EAAO,KAAK,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC5D,GAAI;EAEH;EACG,CAAA,GAVY"}
1
+ {"version":3,"file":"ViewSwitcherBar.js","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './ViewSwitcherBar.module.css';\n\nexport interface ViewSwitcherBarProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * `ViewSwitcherItem` elements to render in the bottom bar.\n * Use the same items you pass to the header-bar `ViewSwitcher`.\n */\n children: ReactNode;\n /**\n * Whether the bar is visible.\n * Typically tied to `useBreakpoint().isMedium` so it appears\n * automatically when the window is ≤ 550 px wide.\n */\n reveal?: boolean;\n}\n\n/**\n * Bottom navigation bar for `ViewSwitcher` items on narrow screens (≤ 550 px),\n * mirroring the Adwaita `AdwViewSwitcherBar` pattern.\n *\n * Use in tandem with a `ViewSwitcher` in the `HeaderBar`:\n * - **Wide** (> 550 px): show the `ViewSwitcher` in the header, hide the bar.\n * - **Narrow** (≤ 550 px): hide the header switcher, reveal the bar.\n *\n * @example\n * const { isMedium } = useBreakpoint();\n * <>\n * <HeaderBar\n * title={\n * !isMedium && (\n * <ViewSwitcher aria-label=\"View\">…items…</ViewSwitcher>\n * )\n * }\n * />\n * <ViewSwitcherBar reveal={isMedium}>…items…</ViewSwitcherBar>\n * </>\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherBar.html\n */\nexport const ViewSwitcherBar = ({\n children,\n reveal = true,\n className,\n ...props\n}: ViewSwitcherBarProps) => {\n if (!reveal) {\n return null;\n }\n\n return (\n <div\n role=\"navigation\"\n aria-label=\"Bottom navigation\"\n className={[styles.bar, className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"mappings":";;;AAyCA,IAAa,KAAmB,EAC9B,aACA,YAAS,IACT,cACA,GAAG,QAEE,IAKH,kBAAC,OAAD;CACE,MAAK;CACL,cAAW;CACX,WAAW,CAAC,EAAO,KAAK,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;CAC3D,GAAI;CAEH;AACE,CAAA,IAXE"}
@@ -1,2 +1,2 @@
1
- var e={bar:`_bar_njcvu_3`};exports.default=e;
1
+ var e={bar:`_bar_kfy6h_3`};exports.default=e;
2
2
  //# sourceMappingURL=ViewSwitcherBar.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherBar.module.css.cjs","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.module.css"],"sourcesContent":["/* ─── Bottom bar ─────────────────────────────────────────────────────────────── */\n\n.bar {\n display: flex;\n align-items: stretch;\n\n width: 100%;\n min-height: 52px;\n\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-top: 1px solid var(--gnome-headerbar-shade-color, rgba(0, 0, 0, 0.12));\n\n /* Safe-area inset for mobile browsers */\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n/* Each child (ViewSwitcherItem) fills equal width */\n.bar > * {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2px;\n\n /* Override the horizontal pill style from ViewSwitcherItem */\n border-radius: 0 !important;\n padding: 6px 4px !important;\n font-size: var(--gnome-font-size-caption, 0.8125rem) !important;\n min-height: 52px;\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .bar {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n border-top-color: rgba(0, 0, 0, 0.3);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ViewSwitcherBar.module.css.cjs","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.module.css"],"sourcesContent":["/* ─── Bottom bar ─────────────────────────────────────────────────────────────── */\n\n.bar {\n display: flex;\n align-items: stretch;\n\n width: 100%;\n min-height: 52px;\n\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-top: 1px solid var(--gnome-headerbar-shade-color, rgba(0, 0, 0, 0.12));\n\n /* Safe-area inset for mobile browsers */\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n/* Each child (ViewSwitcherItem) fills equal width */\n.bar > * {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2px;\n\n /* Override the horizontal pill style from ViewSwitcherItem */\n border-radius: 0;\n padding: 6px 4px;\n font-size: var(--gnome-font-size-caption, 0.8125rem);\n min-height: 52px;\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .bar {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n border-top-color: rgba(0, 0, 0, 0.3);\n }\n}\n"],"mappings":""}
@@ -1,4 +1,4 @@
1
- var e = { bar: "_bar_njcvu_3" };
1
+ var e = { bar: "_bar_kfy6h_3" };
2
2
  //#endregion
3
3
  export { e as default };
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherBar.module.css.js","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.module.css"],"sourcesContent":["/* ─── Bottom bar ─────────────────────────────────────────────────────────────── */\n\n.bar {\n display: flex;\n align-items: stretch;\n\n width: 100%;\n min-height: 52px;\n\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-top: 1px solid var(--gnome-headerbar-shade-color, rgba(0, 0, 0, 0.12));\n\n /* Safe-area inset for mobile browsers */\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n/* Each child (ViewSwitcherItem) fills equal width */\n.bar > * {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2px;\n\n /* Override the horizontal pill style from ViewSwitcherItem */\n border-radius: 0 !important;\n padding: 6px 4px !important;\n font-size: var(--gnome-font-size-caption, 0.8125rem) !important;\n min-height: 52px;\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .bar {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n border-top-color: rgba(0, 0, 0, 0.3);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ViewSwitcherBar.module.css.js","names":[],"sources":["../../../src/components/ViewSwitcherBar/ViewSwitcherBar.module.css"],"sourcesContent":["/* ─── Bottom bar ─────────────────────────────────────────────────────────────── */\n\n.bar {\n display: flex;\n align-items: stretch;\n\n width: 100%;\n min-height: 52px;\n\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-top: 1px solid var(--gnome-headerbar-shade-color, rgba(0, 0, 0, 0.12));\n\n /* Safe-area inset for mobile browsers */\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n/* Each child (ViewSwitcherItem) fills equal width */\n.bar > * {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2px;\n\n /* Override the horizontal pill style from ViewSwitcherItem */\n border-radius: 0;\n padding: 6px 4px;\n font-size: var(--gnome-font-size-caption, 0.8125rem);\n min-height: 52px;\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .bar {\n background-color: var(--gnome-headerbar-bg-color, #303030);\n border-top-color: rgba(0, 0, 0, 0.3);\n }\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- export { ViewSwitcherBar } from './ViewSwitcherBar';
2
1
  export type { ViewSwitcherBarProps } from './ViewSwitcherBar';
2
+ export { ViewSwitcherBar } from './ViewSwitcherBar';
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./ViewSwitcherBar/ViewSwitcherBar.cjs`);exports.ViewSwitcherBar=e.ViewSwitcherBar;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ViewSwitcherBar/ViewSwitcherBar.cjs");exports.ViewSwitcherBar=e.ViewSwitcherBar;
@@ -1,2 +1,2 @@
1
- const e=require(`./ViewSwitcherSidebar.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.createContext)(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error(`ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar`);return e}function a({value:i,onValueChange:a,"aria-label":o=`Views`,collapsed:s=!1,header:c,footer:l,showHeaderSeparator:u=!0,showFooterSeparator:d=!0,children:f,className:p,...m}){let h=(0,t.useRef)(null);function g(e){let t=Array.from(h.current?.querySelectorAll(`[role=radio]:not(:disabled)`)??[]),n=t.findIndex(e=>e===document.activeElement);if(n===-1)return;let r=n;if(e.key===`ArrowDown`||e.key===`ArrowRight`)r=(n+1)%t.length;else if(e.key===`ArrowUp`||e.key===`ArrowLeft`)r=(n-1+t.length)%t.length;else if(e.key===`Home`)r=0;else if(e.key===`End`)r=t.length-1;else return;e.preventDefault(),t[r].focus(),t[r].click()}return(0,n.jsx)(r.Provider,{value:{value:i,onValueChange:a,collapsed:s},children:(0,n.jsxs)(`nav`,{className:[e.default.sidebar,s?e.default.sidebarCollapsed:null,u?null:e.default.noHeaderSeparator,d?null:e.default.noFooterSeparator,p].filter(Boolean).join(` `),onKeyDown:g,...m,children:[c&&(0,n.jsx)(`div`,{className:e.default.header,children:c}),(0,n.jsx)(`ul`,{ref:h,role:`radiogroup`,"aria-label":o,className:e.default.list,children:f}),l&&(0,n.jsx)(`div`,{className:e.default.footer,children:l})]})})}exports.ViewSwitcherSidebar=a,exports.useViewSwitcherSidebar=i;
1
+ const e=require("./ViewSwitcherSidebar.module.css.cjs");let t=require("react"),n=require("react/jsx-runtime");var r=(0,t.createContext)(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error(`ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar`);return e}var a=({value:i,onValueChange:a,"aria-label":o=`Views`,collapsed:s=!1,header:c,footer:l,showHeaderSeparator:u=!0,showFooterSeparator:d=!0,children:f,className:p,...m})=>{let h=(0,t.useRef)(null);function g(e){let t=Array.from(h.current?.querySelectorAll(`[role=radio]:not(:disabled)`)??[]),n=document.activeElement,r=n instanceof HTMLButtonElement?t.indexOf(n):-1;if(r===-1)return;let i=r;if(e.key===`ArrowDown`||e.key===`ArrowRight`)i=(r+1)%t.length;else if(e.key===`ArrowUp`||e.key===`ArrowLeft`)i=(r-1+t.length)%t.length;else if(e.key===`Home`)i=0;else if(e.key===`End`)i=t.length-1;else return;e.preventDefault(),t[i].focus(),t[i].click()}return(0,n.jsx)(r.Provider,{value:{value:i,onValueChange:a,collapsed:s},children:(0,n.jsxs)(`nav`,{className:[e.default.sidebar,s?e.default.sidebarCollapsed:null,u?null:e.default.noHeaderSeparator,d?null:e.default.noFooterSeparator,p].filter(Boolean).join(` `),onKeyDown:g,...m,children:[c&&(0,n.jsx)(`div`,{className:e.default.header,children:c}),(0,n.jsx)(`ul`,{ref:h,role:`radiogroup`,"aria-label":o,className:e.default.list,children:f}),l&&(0,n.jsx)(`div`,{className:e.default.footer,children:l})]})})};exports.ViewSwitcherSidebar=a,exports.useViewSwitcherSidebar=i;
2
2
  //# sourceMappingURL=ViewSwitcherSidebar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherSidebar.cjs","names":[],"sources":["../../../src/components/ViewSwitcherSidebar/ViewSwitcherSidebar.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./ViewSwitcherSidebar.module.css\";\n\n// ─── Context ──────────────────────────────────────────────────────────────────\n\ninterface ViewSwitcherSidebarContextValue {\n value: string;\n onValueChange: (value: string) => void;\n collapsed: boolean;\n}\n\nconst ViewSwitcherSidebarContext =\n createContext<ViewSwitcherSidebarContextValue | null>(null);\n\nexport function useViewSwitcherSidebar() {\n const ctx = useContext(ViewSwitcherSidebarContext);\n if (!ctx)\n throw new Error(\n \"ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar\",\n );\n return ctx;\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport interface ViewSwitcherSidebarProps extends HTMLAttributes<HTMLElement> {\n /** Name of the currently active view. */\n value: string;\n /** Called with the new view name when the user selects an item. */\n onValueChange: (value: string) => void;\n /** Accessible label for the group. Defaults to `\"Views\"`. */\n \"aria-label\"?: string;\n /**\n * When `true`, items render icon-only (labels hidden) and the sidebar\n * shrinks to its compact width. Used by `AdaptiveLayout` on tablet viewports.\n */\n collapsed?: boolean;\n /** Rendered above the scrollable item list (e.g. user card). */\n header?: ReactNode;\n /** Rendered below the scrollable item list (e.g. collapse toggle). */\n footer?: ReactNode;\n /** Show the separator line below the header slot. Defaults to `true`. */\n showHeaderSeparator?: boolean;\n /** Show the separator line above the footer slot. Defaults to `true`. */\n showFooterSeparator?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Sidebar-style view switcher for apps with more than 4 top-level views,\n * or when the sidebar layout fits better than a header-bar `ViewSwitcher`.\n *\n * Mirrors `AdwViewSwitcherSidebar` (libadwaita 1.9 / GNOME 50), the modern\n * replacement for `GtkStackSidebar`.\n *\n * Compose with `ViewSwitcherSidebarItem` for each view. The active item is\n * highlighted with the accent colour; keyboard ↑ / ↓ cycles through items.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherSidebar.html\n *\n * @example\n * ```tsx\n * <ViewSwitcherSidebar value={view} onValueChange={setView}>\n * <ViewSwitcherSidebarItem name=\"photos\" label=\"Photos\" icon={MediaPlay} />\n * <ViewSwitcherSidebarItem name=\"albums\" label=\"Albums\" icon={Star} count={12} />\n * </ViewSwitcherSidebar>\n * ```\n */\nexport function ViewSwitcherSidebar({\n value,\n onValueChange,\n \"aria-label\": ariaLabel = \"Views\",\n collapsed = false,\n header,\n footer,\n showHeaderSeparator = true,\n showFooterSeparator = true,\n children,\n className,\n ...props\n}: ViewSwitcherSidebarProps) {\n const groupRef = useRef<HTMLUListElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>(\n \"[role=radio]:not(:disabled)\",\n ) ?? [],\n );\n const idx = items.findIndex((el) => el === document.activeElement);\n if (idx === -1) return;\n\n let next = idx;\n if (e.key === \"ArrowDown\" || e.key === \"ArrowRight\")\n next = (idx + 1) % items.length;\n else if (e.key === \"ArrowUp\" || e.key === \"ArrowLeft\")\n next = (idx - 1 + items.length) % items.length;\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = items.length - 1;\n else return;\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <ViewSwitcherSidebarContext.Provider value={{ value, onValueChange, collapsed }}>\n <nav\n className={[\n styles.sidebar,\n collapsed ? styles.sidebarCollapsed : null,\n !showHeaderSeparator ? styles.noHeaderSeparator : null,\n !showFooterSeparator ? styles.noFooterSeparator : null,\n className,\n ].filter(Boolean).join(\" \")}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {header && <div className={styles.header}>{header}</div>}\n <ul\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n className={styles.list}\n >\n {children}\n </ul>\n {footer && <div className={styles.footer}>{footer}</div>}\n </nav>\n </ViewSwitcherSidebarContext.Provider>\n );\n}\n"],"mappings":"8GAkBA,IAAM,GAAA,EAAA,EAAA,eACkD,KAAK,CAE7D,SAAgB,GAAyB,CACvC,IAAM,GAAA,EAAA,EAAA,YAAiB,EAA2B,CAClD,GAAI,CAAC,EACH,MAAU,MACR,kEACD,CACH,OAAO,EAgDT,SAAgB,EAAoB,CAClC,QACA,gBACA,aAAc,EAAY,QAC1B,YAAY,GACZ,SACA,SACA,sBAAsB,GACtB,sBAAsB,GACtB,WACA,YACA,GAAG,GACwB,CAC3B,IAAM,GAAA,EAAA,EAAA,QAAoC,KAAK,CAE/C,SAAS,EAAc,EAA+B,CACpD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAChB,8BACD,EAAI,EAAE,CACR,CACK,EAAM,EAAM,UAAW,GAAO,IAAO,SAAS,cAAc,CAClE,GAAI,IAAQ,GAAI,OAEhB,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,aAAe,EAAE,MAAQ,aACrC,GAAQ,EAAM,GAAK,EAAM,eAClB,EAAE,MAAQ,WAAa,EAAE,MAAQ,YACxC,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,eACjC,EAAE,MAAQ,OAAQ,EAAO,UACzB,EAAE,MAAQ,MAAO,EAAO,EAAM,OAAS,OAC3C,OAEL,EAAE,gBAAgB,CAClB,EAAM,GAAM,OAAO,CACnB,EAAM,GAAM,OAAO,CAGrB,OACE,EAAA,EAAA,KAAC,EAA2B,SAA5B,CAAqC,MAAO,CAAE,QAAO,gBAAe,YAAW,WAC7E,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,QACP,EAAY,EAAA,QAAO,iBAAmB,KACrC,EAAiD,KAA3B,EAAA,QAAO,kBAC7B,EAAiD,KAA3B,EAAA,QAAO,kBAC9B,EACD,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC3B,UAAW,EACX,GAAI,WATN,CAWG,IAAU,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,gBAAS,EAAa,CAAA,EACxD,EAAA,EAAA,KAAC,KAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EAAA,QAAO,KAEjB,WACE,CAAA,CACJ,IAAU,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,gBAAS,EAAa,CAAA,CACpD,GAC8B,CAAA"}
1
+ {"version":3,"file":"ViewSwitcherSidebar.cjs","names":[],"sources":["../../../src/components/ViewSwitcherSidebar/ViewSwitcherSidebar.tsx"],"sourcesContent":["import {\n createContext,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useContext,\n useRef,\n} from 'react';\n\nimport styles from './ViewSwitcherSidebar.module.css';\n\n// ─── Context ──────────────────────────────────────────────────────────────────\n\ninterface ViewSwitcherSidebarContextValue {\n value: string;\n onValueChange: (value: string) => void;\n collapsed: boolean;\n}\n\nconst ViewSwitcherSidebarContext = createContext<ViewSwitcherSidebarContextValue | null>(null);\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useViewSwitcherSidebar() {\n const ctx = useContext(ViewSwitcherSidebarContext);\n\n if (!ctx) {\n throw new Error('ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar');\n }\n\n return ctx;\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport interface ViewSwitcherSidebarProps extends HTMLAttributes<HTMLElement> {\n /** Name of the currently active view. */\n value: string;\n /** Called with the new view name when the user selects an item. */\n onValueChange: (value: string) => void;\n /** Accessible label for the group. Defaults to `\"Views\"`. */\n 'aria-label'?: string;\n /**\n * When `true`, items render icon-only (labels hidden) and the sidebar\n * shrinks to its compact width. Used by `AdaptiveLayout` on tablet viewports.\n */\n collapsed?: boolean;\n /** Rendered above the scrollable item list (e.g. user card). */\n header?: ReactNode;\n /** Rendered below the scrollable item list (e.g. collapse toggle). */\n footer?: ReactNode;\n /** Show the separator line below the header slot. Defaults to `true`. */\n showHeaderSeparator?: boolean;\n /** Show the separator line above the footer slot. Defaults to `true`. */\n showFooterSeparator?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Sidebar-style view switcher for apps with more than 4 top-level views,\n * or when the sidebar layout fits better than a header-bar `ViewSwitcher`.\n *\n * Mirrors `AdwViewSwitcherSidebar` (libadwaita 1.9 / GNOME 50), the modern\n * replacement for `GtkStackSidebar`.\n *\n * Compose with `ViewSwitcherSidebarItem` for each view. The active item is\n * highlighted with the accent colour; keyboard ↑ / ↓ cycles through items.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherSidebar.html\n *\n * @example\n * ```tsx\n * <ViewSwitcherSidebar value={view} onValueChange={setView}>\n * <ViewSwitcherSidebarItem name=\"photos\" label=\"Photos\" icon={MediaPlay} />\n * <ViewSwitcherSidebarItem name=\"albums\" label=\"Albums\" icon={Star} count={12} />\n * </ViewSwitcherSidebar>\n * ```\n */\nexport const ViewSwitcherSidebar = ({\n value,\n onValueChange,\n 'aria-label': ariaLabel = 'Views',\n collapsed = false,\n header,\n footer,\n showHeaderSeparator = true,\n showFooterSeparator = true,\n children,\n className,\n ...props\n}: ViewSwitcherSidebarProps) => {\n const groupRef = useRef<HTMLUListElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>('[role=radio]:not(:disabled)') ?? [],\n );\n const activeElement = document.activeElement;\n const idx = activeElement instanceof HTMLButtonElement ? items.indexOf(activeElement) : -1;\n\n if (idx === -1) {\n return;\n }\n\n let next = idx;\n if (e.key === 'ArrowDown' || e.key === 'ArrowRight') {\n next = (idx + 1) % items.length;\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowLeft') {\n next = (idx - 1 + items.length) % items.length;\n } else if (e.key === 'Home') {\n next = 0;\n } else if (e.key === 'End') {\n next = items.length - 1;\n } else {\n return;\n }\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <ViewSwitcherSidebarContext.Provider value={{ value, onValueChange, collapsed }}>\n <nav\n className={[\n styles.sidebar,\n collapsed ? styles.sidebarCollapsed : null,\n !showHeaderSeparator ? styles.noHeaderSeparator : null,\n !showFooterSeparator ? styles.noFooterSeparator : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {header && <div className={styles.header}>{header}</div>}\n <ul ref={groupRef} role=\"radiogroup\" aria-label={ariaLabel} className={styles.list}>\n {children}\n </ul>\n {footer && <div className={styles.footer}>{footer}</div>}\n </nav>\n </ViewSwitcherSidebarContext.Provider>\n );\n};\n"],"mappings":"8GAmBA,IAAM,GAAA,EAAA,EAAA,eAAmF,IAAI,EAG7F,SAAgB,GAAyB,CACvC,IAAM,GAAA,EAAA,EAAA,YAAiB,CAA0B,EAEjD,GAAI,CAAC,EACH,MAAU,MAAM,iEAAiE,EAGnF,OAAO,CACT,CA+CA,IAAa,GAAuB,CAClC,QACA,gBACA,aAAc,EAAY,QAC1B,YAAY,GACZ,SACA,SACA,sBAAsB,GACtB,sBAAsB,GACtB,WACA,YACA,GAAG,KAC2B,CAC9B,IAAM,GAAA,EAAA,EAAA,QAAoC,IAAI,EAE9C,SAAS,EAAc,EAA+B,CACpD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,6BAA6B,GAAK,CAAC,CAC3F,EACM,EAAgB,SAAS,cACzB,EAAM,aAAyB,kBAAoB,EAAM,QAAQ,CAAa,EAAI,GAExF,GAAI,IAAQ,GACV,OAGF,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,aAAe,EAAE,MAAQ,aACrC,GAAQ,EAAM,GAAK,EAAM,YACpB,GAAI,EAAE,MAAQ,WAAa,EAAE,MAAQ,YAC1C,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,YACnC,GAAI,EAAE,MAAQ,OACnB,EAAO,OACF,GAAI,EAAE,MAAQ,MACnB,EAAO,EAAM,OAAS,OAEtB,OAGF,EAAE,eAAe,EACjB,EAAM,GAAM,MAAM,EAClB,EAAM,GAAM,MAAM,CACpB,CAEA,OACE,EAAA,EAAA,KAAC,EAA2B,SAA5B,CAAqC,MAAO,CAAE,QAAO,gBAAe,WAAU,YAC5E,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,QACP,EAAY,EAAA,QAAO,iBAAmB,KACrC,EAAiD,KAA3B,EAAA,QAAO,kBAC7B,EAAiD,KAA3B,EAAA,QAAO,kBAC9B,CACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG,EACX,UAAW,EACX,GAAI,WAXN,CAaG,IAAU,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,gBAAS,CAAY,CAAA,GACvD,EAAA,EAAA,KAAC,KAAD,CAAI,IAAK,EAAU,KAAK,aAAa,aAAY,EAAW,UAAW,EAAA,QAAO,KAC3E,UACC,CAAA,EACH,IAAU,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,gBAAS,CAAY,CAAA,CACpD,GAC8B,CAAA,CAEzC"}
@@ -11,7 +11,7 @@ export interface ViewSwitcherSidebarProps extends HTMLAttributes<HTMLElement> {
11
11
  /** Called with the new view name when the user selects an item. */
12
12
  onValueChange: (value: string) => void;
13
13
  /** Accessible label for the group. Defaults to `"Views"`. */
14
- "aria-label"?: string;
14
+ 'aria-label'?: string;
15
15
  /**
16
16
  * When `true`, items render icon-only (labels hidden) and the sidebar
17
17
  * shrinks to its compact width. Used by `AdaptiveLayout` on tablet viewports.
@@ -47,5 +47,5 @@ export interface ViewSwitcherSidebarProps extends HTMLAttributes<HTMLElement> {
47
47
  * </ViewSwitcherSidebar>
48
48
  * ```
49
49
  */
50
- export declare function ViewSwitcherSidebar({ value, onValueChange, "aria-label": ariaLabel, collapsed, header, footer, showHeaderSeparator, showFooterSeparator, children, className, ...props }: ViewSwitcherSidebarProps): import("react/jsx-runtime").JSX.Element;
50
+ export declare const ViewSwitcherSidebar: ({ value, onValueChange, "aria-label": ariaLabel, collapsed, header, footer, showHeaderSeparator, showFooterSeparator, children, className, ...props }: ViewSwitcherSidebarProps) => import("react/jsx-runtime").JSX.Element;
51
51
  export {};
@@ -8,18 +8,18 @@ function s() {
8
8
  if (!e) throw Error("ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar");
9
9
  return e;
10
10
  }
11
- function c({ value: t, onValueChange: n, "aria-label": s = "Views", collapsed: c = !1, header: l, footer: u, showHeaderSeparator: d = !0, showFooterSeparator: f = !0, children: p, className: m, ...h }) {
11
+ var c = ({ value: t, onValueChange: n, "aria-label": s = "Views", collapsed: c = !1, header: l, footer: u, showHeaderSeparator: d = !0, showFooterSeparator: f = !0, children: p, className: m, ...h }) => {
12
12
  let g = r(null);
13
13
  function _(e) {
14
- let t = Array.from(g.current?.querySelectorAll("[role=radio]:not(:disabled)") ?? []), n = t.findIndex((e) => e === document.activeElement);
15
- if (n === -1) return;
16
- let r = n;
17
- if (e.key === "ArrowDown" || e.key === "ArrowRight") r = (n + 1) % t.length;
18
- else if (e.key === "ArrowUp" || e.key === "ArrowLeft") r = (n - 1 + t.length) % t.length;
19
- else if (e.key === "Home") r = 0;
20
- else if (e.key === "End") r = t.length - 1;
14
+ let t = Array.from(g.current?.querySelectorAll("[role=radio]:not(:disabled)") ?? []), n = document.activeElement, r = n instanceof HTMLButtonElement ? t.indexOf(n) : -1;
15
+ if (r === -1) return;
16
+ let i = r;
17
+ if (e.key === "ArrowDown" || e.key === "ArrowRight") i = (r + 1) % t.length;
18
+ else if (e.key === "ArrowUp" || e.key === "ArrowLeft") i = (r - 1 + t.length) % t.length;
19
+ else if (e.key === "Home") i = 0;
20
+ else if (e.key === "End") i = t.length - 1;
21
21
  else return;
22
- e.preventDefault(), t[r].focus(), t[r].click();
22
+ e.preventDefault(), t[i].focus(), t[i].click();
23
23
  }
24
24
  return /* @__PURE__ */ i(o.Provider, {
25
25
  value: {
@@ -56,7 +56,7 @@ function c({ value: t, onValueChange: n, "aria-label": s = "Views", collapsed: c
56
56
  ]
57
57
  })
58
58
  });
59
- }
59
+ };
60
60
  //#endregion
61
61
  export { c as ViewSwitcherSidebar, s as useViewSwitcherSidebar };
62
62
 
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitcherSidebar.js","names":[],"sources":["../../../src/components/ViewSwitcherSidebar/ViewSwitcherSidebar.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./ViewSwitcherSidebar.module.css\";\n\n// ─── Context ──────────────────────────────────────────────────────────────────\n\ninterface ViewSwitcherSidebarContextValue {\n value: string;\n onValueChange: (value: string) => void;\n collapsed: boolean;\n}\n\nconst ViewSwitcherSidebarContext =\n createContext<ViewSwitcherSidebarContextValue | null>(null);\n\nexport function useViewSwitcherSidebar() {\n const ctx = useContext(ViewSwitcherSidebarContext);\n if (!ctx)\n throw new Error(\n \"ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar\",\n );\n return ctx;\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport interface ViewSwitcherSidebarProps extends HTMLAttributes<HTMLElement> {\n /** Name of the currently active view. */\n value: string;\n /** Called with the new view name when the user selects an item. */\n onValueChange: (value: string) => void;\n /** Accessible label for the group. Defaults to `\"Views\"`. */\n \"aria-label\"?: string;\n /**\n * When `true`, items render icon-only (labels hidden) and the sidebar\n * shrinks to its compact width. Used by `AdaptiveLayout` on tablet viewports.\n */\n collapsed?: boolean;\n /** Rendered above the scrollable item list (e.g. user card). */\n header?: ReactNode;\n /** Rendered below the scrollable item list (e.g. collapse toggle). */\n footer?: ReactNode;\n /** Show the separator line below the header slot. Defaults to `true`. */\n showHeaderSeparator?: boolean;\n /** Show the separator line above the footer slot. Defaults to `true`. */\n showFooterSeparator?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Sidebar-style view switcher for apps with more than 4 top-level views,\n * or when the sidebar layout fits better than a header-bar `ViewSwitcher`.\n *\n * Mirrors `AdwViewSwitcherSidebar` (libadwaita 1.9 / GNOME 50), the modern\n * replacement for `GtkStackSidebar`.\n *\n * Compose with `ViewSwitcherSidebarItem` for each view. The active item is\n * highlighted with the accent colour; keyboard ↑ / ↓ cycles through items.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherSidebar.html\n *\n * @example\n * ```tsx\n * <ViewSwitcherSidebar value={view} onValueChange={setView}>\n * <ViewSwitcherSidebarItem name=\"photos\" label=\"Photos\" icon={MediaPlay} />\n * <ViewSwitcherSidebarItem name=\"albums\" label=\"Albums\" icon={Star} count={12} />\n * </ViewSwitcherSidebar>\n * ```\n */\nexport function ViewSwitcherSidebar({\n value,\n onValueChange,\n \"aria-label\": ariaLabel = \"Views\",\n collapsed = false,\n header,\n footer,\n showHeaderSeparator = true,\n showFooterSeparator = true,\n children,\n className,\n ...props\n}: ViewSwitcherSidebarProps) {\n const groupRef = useRef<HTMLUListElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>(\n \"[role=radio]:not(:disabled)\",\n ) ?? [],\n );\n const idx = items.findIndex((el) => el === document.activeElement);\n if (idx === -1) return;\n\n let next = idx;\n if (e.key === \"ArrowDown\" || e.key === \"ArrowRight\")\n next = (idx + 1) % items.length;\n else if (e.key === \"ArrowUp\" || e.key === \"ArrowLeft\")\n next = (idx - 1 + items.length) % items.length;\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = items.length - 1;\n else return;\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <ViewSwitcherSidebarContext.Provider value={{ value, onValueChange, collapsed }}>\n <nav\n className={[\n styles.sidebar,\n collapsed ? styles.sidebarCollapsed : null,\n !showHeaderSeparator ? styles.noHeaderSeparator : null,\n !showFooterSeparator ? styles.noFooterSeparator : null,\n className,\n ].filter(Boolean).join(\" \")}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {header && <div className={styles.header}>{header}</div>}\n <ul\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n className={styles.list}\n >\n {children}\n </ul>\n {footer && <div className={styles.footer}>{footer}</div>}\n </nav>\n </ViewSwitcherSidebarContext.Provider>\n );\n}\n"],"mappings":";;;;AAkBA,IAAM,IACJ,EAAsD,KAAK;AAE7D,SAAgB,IAAyB;CACvC,IAAM,IAAM,EAAW,EAA2B;AAClD,KAAI,CAAC,EACH,OAAU,MACR,kEACD;AACH,QAAO;;AAgDT,SAAgB,EAAoB,EAClC,UACA,kBACA,cAAc,IAAY,SAC1B,eAAY,IACZ,WACA,WACA,yBAAsB,IACtB,yBAAsB,IACtB,aACA,cACA,GAAG,KACwB;CAC3B,IAAM,IAAW,EAAyB,KAAK;CAE/C,SAAS,EAAc,GAA+B;EACpD,IAAM,IAAQ,MAAM,KAClB,EAAS,SAAS,iBAChB,8BACD,IAAI,EAAE,CACR,EACK,IAAM,EAAM,WAAW,MAAO,MAAO,SAAS,cAAc;AAClE,MAAI,MAAQ,GAAI;EAEhB,IAAI,IAAO;AACX,MAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,aACrC,MAAQ,IAAM,KAAK,EAAM;WAClB,EAAE,QAAQ,aAAa,EAAE,QAAQ,YACxC,MAAQ,IAAM,IAAI,EAAM,UAAU,EAAM;WACjC,EAAE,QAAQ,OAAQ,KAAO;WACzB,EAAE,QAAQ,MAAO,KAAO,EAAM,SAAS;MAC3C;AAIL,EAFA,EAAE,gBAAgB,EAClB,EAAM,GAAM,OAAO,EACnB,EAAM,GAAM,OAAO;;AAGrB,QACE,kBAAC,EAA2B,UAA5B;EAAqC,OAAO;GAAE;GAAO;GAAe;GAAW;YAC7E,kBAAC,OAAD;GACE,WAAW;IACT,EAAO;IACP,IAAY,EAAO,mBAAmB;IACrC,IAAiD,OAA3B,EAAO;IAC7B,IAAiD,OAA3B,EAAO;IAC9B;IACD,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GAC3B,WAAW;GACX,GAAI;aATN;IAWG,KAAU,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAS;KAAa,CAAA;IACxD,kBAAC,MAAD;KACE,KAAK;KACL,MAAK;KACL,cAAY;KACZ,WAAW,EAAO;KAEjB;KACE,CAAA;IACJ,KAAU,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAS;KAAa,CAAA;IACpD;;EAC8B,CAAA"}
1
+ {"version":3,"file":"ViewSwitcherSidebar.js","names":[],"sources":["../../../src/components/ViewSwitcherSidebar/ViewSwitcherSidebar.tsx"],"sourcesContent":["import {\n createContext,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useContext,\n useRef,\n} from 'react';\n\nimport styles from './ViewSwitcherSidebar.module.css';\n\n// ─── Context ──────────────────────────────────────────────────────────────────\n\ninterface ViewSwitcherSidebarContextValue {\n value: string;\n onValueChange: (value: string) => void;\n collapsed: boolean;\n}\n\nconst ViewSwitcherSidebarContext = createContext<ViewSwitcherSidebarContextValue | null>(null);\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useViewSwitcherSidebar() {\n const ctx = useContext(ViewSwitcherSidebarContext);\n\n if (!ctx) {\n throw new Error('ViewSwitcherSidebarItem must be used inside ViewSwitcherSidebar');\n }\n\n return ctx;\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport interface ViewSwitcherSidebarProps extends HTMLAttributes<HTMLElement> {\n /** Name of the currently active view. */\n value: string;\n /** Called with the new view name when the user selects an item. */\n onValueChange: (value: string) => void;\n /** Accessible label for the group. Defaults to `\"Views\"`. */\n 'aria-label'?: string;\n /**\n * When `true`, items render icon-only (labels hidden) and the sidebar\n * shrinks to its compact width. Used by `AdaptiveLayout` on tablet viewports.\n */\n collapsed?: boolean;\n /** Rendered above the scrollable item list (e.g. user card). */\n header?: ReactNode;\n /** Rendered below the scrollable item list (e.g. collapse toggle). */\n footer?: ReactNode;\n /** Show the separator line below the header slot. Defaults to `true`. */\n showHeaderSeparator?: boolean;\n /** Show the separator line above the footer slot. Defaults to `true`. */\n showFooterSeparator?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Sidebar-style view switcher for apps with more than 4 top-level views,\n * or when the sidebar layout fits better than a header-bar `ViewSwitcher`.\n *\n * Mirrors `AdwViewSwitcherSidebar` (libadwaita 1.9 / GNOME 50), the modern\n * replacement for `GtkStackSidebar`.\n *\n * Compose with `ViewSwitcherSidebarItem` for each view. The active item is\n * highlighted with the accent colour; keyboard ↑ / ↓ cycles through items.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewSwitcherSidebar.html\n *\n * @example\n * ```tsx\n * <ViewSwitcherSidebar value={view} onValueChange={setView}>\n * <ViewSwitcherSidebarItem name=\"photos\" label=\"Photos\" icon={MediaPlay} />\n * <ViewSwitcherSidebarItem name=\"albums\" label=\"Albums\" icon={Star} count={12} />\n * </ViewSwitcherSidebar>\n * ```\n */\nexport const ViewSwitcherSidebar = ({\n value,\n onValueChange,\n 'aria-label': ariaLabel = 'Views',\n collapsed = false,\n header,\n footer,\n showHeaderSeparator = true,\n showFooterSeparator = true,\n children,\n className,\n ...props\n}: ViewSwitcherSidebarProps) => {\n const groupRef = useRef<HTMLUListElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>('[role=radio]:not(:disabled)') ?? [],\n );\n const activeElement = document.activeElement;\n const idx = activeElement instanceof HTMLButtonElement ? items.indexOf(activeElement) : -1;\n\n if (idx === -1) {\n return;\n }\n\n let next = idx;\n if (e.key === 'ArrowDown' || e.key === 'ArrowRight') {\n next = (idx + 1) % items.length;\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowLeft') {\n next = (idx - 1 + items.length) % items.length;\n } else if (e.key === 'Home') {\n next = 0;\n } else if (e.key === 'End') {\n next = items.length - 1;\n } else {\n return;\n }\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <ViewSwitcherSidebarContext.Provider value={{ value, onValueChange, collapsed }}>\n <nav\n className={[\n styles.sidebar,\n collapsed ? styles.sidebarCollapsed : null,\n !showHeaderSeparator ? styles.noHeaderSeparator : null,\n !showFooterSeparator ? styles.noFooterSeparator : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {header && <div className={styles.header}>{header}</div>}\n <ul ref={groupRef} role=\"radiogroup\" aria-label={ariaLabel} className={styles.list}>\n {children}\n </ul>\n {footer && <div className={styles.footer}>{footer}</div>}\n </nav>\n </ViewSwitcherSidebarContext.Provider>\n );\n};\n"],"mappings":";;;;AAmBA,IAAM,IAA6B,EAAsD,IAAI;AAG7F,SAAgB,IAAyB;CACvC,IAAM,IAAM,EAAW,CAA0B;CAEjD,IAAI,CAAC,GACH,MAAU,MAAM,iEAAiE;CAGnF,OAAO;AACT;AA+CA,IAAa,KAAuB,EAClC,UACA,kBACA,cAAc,IAAY,SAC1B,eAAY,IACZ,WACA,WACA,yBAAsB,IACtB,yBAAsB,IACtB,aACA,cACA,GAAG,QAC2B;CAC9B,IAAM,IAAW,EAAyB,IAAI;CAE9C,SAAS,EAAc,GAA+B;EACpD,IAAM,IAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,6BAA6B,KAAK,CAAC,CAC3F,GACM,IAAgB,SAAS,eACzB,IAAM,aAAyB,oBAAoB,EAAM,QAAQ,CAAa,IAAI;EAExF,IAAI,MAAQ,IACV;EAGF,IAAI,IAAO;EACX,IAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,cACrC,KAAQ,IAAM,KAAK,EAAM;OACpB,IAAI,EAAE,QAAQ,aAAa,EAAE,QAAQ,aAC1C,KAAQ,IAAM,IAAI,EAAM,UAAU,EAAM;OACnC,IAAI,EAAE,QAAQ,QACnB,IAAO;OACF,IAAI,EAAE,QAAQ,OACnB,IAAO,EAAM,SAAS;OAEtB;EAKF,AAFA,EAAE,eAAe,GACjB,EAAM,GAAM,MAAM,GAClB,EAAM,GAAM,MAAM;CACpB;CAEA,OACE,kBAAC,EAA2B,UAA5B;EAAqC,OAAO;GAAE;GAAO;GAAe;EAAU;YAC5E,kBAAC,OAAD;GACE,WAAW;IACT,EAAO;IACP,IAAY,EAAO,mBAAmB;IACrC,IAAiD,OAA3B,EAAO;IAC7B,IAAiD,OAA3B,EAAO;IAC9B;GACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;GACX,WAAW;GACX,GAAI;aAXN;IAaG,KAAU,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAS;IAAY,CAAA;IACvD,kBAAC,MAAD;KAAI,KAAK;KAAU,MAAK;KAAa,cAAY;KAAW,WAAW,EAAO;KAC3E;IACC,CAAA;IACH,KAAU,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAS;IAAY,CAAA;GACpD;;CAC8B,CAAA;AAEzC"}
@@ -1,2 +1,2 @@
1
- var e={sidebar:`_sidebar_1q4xz_3`,sidebarCollapsed:`_sidebarCollapsed_1q4xz_15`,itemBtn:`_itemBtn_1q4xz_19`,header:`_header_1q4xz_26`,footer:`_footer_1q4xz_31`,noHeaderSeparator:`_noHeaderSeparator_1q4xz_36`,noFooterSeparator:`_noFooterSeparator_1q4xz_40`,list:`_list_1q4xz_46`,item:`_item_1q4xz_19`,active:`_active_1q4xz_92`,itemIcon:`_itemIcon_1q4xz_138`,itemLabel:`_itemLabel_1q4xz_151`,itemSuffix:`_itemSuffix_1q4xz_161`,count:`_count_1q4xz_168`};exports.default=e;
1
+ var e={sidebar:`_sidebar_1pj3d_3`,sidebarCollapsed:`_sidebarCollapsed_1pj3d_15`,itemBtn:`_itemBtn_1pj3d_19`,header:`_header_1pj3d_26`,footer:`_footer_1pj3d_31`,noHeaderSeparator:`_noHeaderSeparator_1pj3d_36`,noFooterSeparator:`_noFooterSeparator_1pj3d_40`,list:`_list_1pj3d_46`,item:`_item_1pj3d_19`,active:`_active_1pj3d_92`,itemIcon:`_itemIcon_1pj3d_130`,itemLabel:`_itemLabel_1pj3d_143`,itemSuffix:`_itemSuffix_1pj3d_153`,count:`_count_1pj3d_160`};exports.default=e;
2
2
  //# sourceMappingURL=ViewSwitcherSidebar.module.css.cjs.map