@gnome-ui/react 1.44.0 → 1.45.1

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 (624) hide show
  1. package/README.md +7 -1
  2. package/dist/components/AboutDialog/AboutDialog.cjs +1 -1
  3. package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -1
  4. package/dist/components/AboutDialog/AboutDialog.js +1 -1
  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 +3 -3
  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/ActionRow/ActionRow.cjs.map +1 -1
  12. package/dist/components/ActionRow/ActionRow.d.ts +1 -1
  13. package/dist/components/ActionRow/ActionRow.js.map +1 -1
  14. package/dist/components/ActionRow/ActionRow.module.css.cjs +1 -1
  15. package/dist/components/ActionRow/ActionRow.module.css.cjs.map +1 -1
  16. package/dist/components/ActionRow/ActionRow.module.css.js +9 -9
  17. package/dist/components/ActionRow/ActionRow.module.css.js.map +1 -1
  18. package/dist/components/ActionRow/index.d.ts +1 -1
  19. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  20. package/dist/components/Avatar/Avatar.d.ts +2 -2
  21. package/dist/components/Avatar/Avatar.js.map +1 -1
  22. package/dist/components/Avatar/Avatar.module.css.cjs +1 -1
  23. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -1
  24. package/dist/components/Avatar/Avatar.module.css.js +16 -16
  25. package/dist/components/Avatar/Avatar.module.css.js.map +1 -1
  26. package/dist/components/Avatar/index.d.ts +1 -1
  27. package/dist/components/AvatarRotator/AvatarRotator.cjs.map +1 -1
  28. package/dist/components/AvatarRotator/AvatarRotator.js.map +1 -1
  29. package/dist/components/AvatarRotator/index.d.ts +1 -1
  30. package/dist/components/Badge/Badge.cjs.map +1 -1
  31. package/dist/components/Badge/Badge.d.ts +1 -1
  32. package/dist/components/Badge/Badge.js.map +1 -1
  33. package/dist/components/Badge/Badge.module.css.cjs +1 -1
  34. package/dist/components/Badge/Badge.module.css.cjs.map +1 -1
  35. package/dist/components/Badge/Badge.module.css.js +9 -9
  36. package/dist/components/Badge/Badge.module.css.js.map +1 -1
  37. package/dist/components/Badge/index.d.ts +1 -1
  38. package/dist/components/Banner/Banner.cjs.map +1 -1
  39. package/dist/components/Banner/Banner.d.ts +1 -1
  40. package/dist/components/Banner/Banner.js.map +1 -1
  41. package/dist/components/Banner/Banner.module.css.cjs +1 -1
  42. package/dist/components/Banner/Banner.module.css.cjs.map +1 -1
  43. package/dist/components/Banner/Banner.module.css.js +5 -5
  44. package/dist/components/Banner/Banner.module.css.js.map +1 -1
  45. package/dist/components/Banner/index.d.ts +1 -1
  46. package/dist/components/Bin/Bin.cjs.map +1 -1
  47. package/dist/components/Bin/Bin.js.map +1 -1
  48. package/dist/components/Bin/index.d.ts +1 -1
  49. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  50. package/dist/components/Blockquote/Blockquote.d.ts +1 -1
  51. package/dist/components/Blockquote/Blockquote.js.map +1 -1
  52. package/dist/components/Blockquote/Blockquote.module.css.cjs +1 -1
  53. package/dist/components/Blockquote/Blockquote.module.css.cjs.map +1 -1
  54. package/dist/components/Blockquote/Blockquote.module.css.js +11 -11
  55. package/dist/components/Blockquote/Blockquote.module.css.js.map +1 -1
  56. package/dist/components/Blockquote/index.d.ts +1 -1
  57. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
  58. package/dist/components/BottomSheet/BottomSheet.d.ts +1 -1
  59. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  60. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +1 -1
  61. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -1
  62. package/dist/components/BottomSheet/BottomSheet.module.css.js +3 -3
  63. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -1
  64. package/dist/components/BottomSheet/index.d.ts +1 -1
  65. package/dist/components/Box/Box.cjs.map +1 -1
  66. package/dist/components/Box/Box.d.ts +3 -3
  67. package/dist/components/Box/Box.js.map +1 -1
  68. package/dist/components/Box/index.d.ts +1 -1
  69. package/dist/components/BoxedList/BoxedList.cjs +1 -1
  70. package/dist/components/BoxedList/BoxedList.cjs.map +1 -1
  71. package/dist/components/BoxedList/BoxedList.d.ts +1 -1
  72. package/dist/components/BoxedList/BoxedList.js +0 -1
  73. package/dist/components/BoxedList/BoxedList.js.map +1 -1
  74. package/dist/components/BoxedList/BoxedList.module.css.cjs +1 -1
  75. package/dist/components/BoxedList/BoxedList.module.css.cjs.map +1 -1
  76. package/dist/components/BoxedList/BoxedList.module.css.js +5 -5
  77. package/dist/components/BoxedList/BoxedList.module.css.js.map +1 -1
  78. package/dist/components/BoxedList/index.d.ts +1 -1
  79. package/dist/components/BreakpointBin/BreakpointBin.cjs +1 -1
  80. package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -1
  81. package/dist/components/BreakpointBin/BreakpointBin.d.ts +1 -1
  82. package/dist/components/BreakpointBin/BreakpointBin.js +1 -1
  83. package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -1
  84. package/dist/components/BreakpointBin/index.d.ts +1 -1
  85. package/dist/components/Button/Button.cjs.map +1 -1
  86. package/dist/components/Button/Button.d.ts +3 -3
  87. package/dist/components/Button/Button.js.map +1 -1
  88. package/dist/components/Button/Button.module.css.cjs +1 -1
  89. package/dist/components/Button/Button.module.css.cjs.map +1 -1
  90. package/dist/components/Button/Button.module.css.js +11 -11
  91. package/dist/components/Button/Button.module.css.js.map +1 -1
  92. package/dist/components/Button/index.d.ts +1 -1
  93. package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -1
  94. package/dist/components/ButtonContent/ButtonContent.d.ts +1 -1
  95. package/dist/components/ButtonContent/ButtonContent.js.map +1 -1
  96. package/dist/components/ButtonContent/index.d.ts +1 -1
  97. package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -1
  98. package/dist/components/ButtonRow/ButtonRow.d.ts +1 -1
  99. package/dist/components/ButtonRow/ButtonRow.js.map +1 -1
  100. package/dist/components/ButtonRow/ButtonRow.module.css.cjs +1 -1
  101. package/dist/components/ButtonRow/ButtonRow.module.css.cjs.map +1 -1
  102. package/dist/components/ButtonRow/ButtonRow.module.css.js +7 -7
  103. package/dist/components/ButtonRow/ButtonRow.module.css.js.map +1 -1
  104. package/dist/components/ButtonRow/index.d.ts +1 -1
  105. package/dist/components/Card/Card.cjs.map +1 -1
  106. package/dist/components/Card/Card.d.ts +1 -1
  107. package/dist/components/Card/Card.js.map +1 -1
  108. package/dist/components/Card/Card.module.css.cjs +1 -1
  109. package/dist/components/Card/Card.module.css.cjs.map +1 -1
  110. package/dist/components/Card/Card.module.css.js +5 -5
  111. package/dist/components/Card/Card.module.css.js.map +1 -1
  112. package/dist/components/Card/index.d.ts +1 -1
  113. package/dist/components/Carousel/Carousel.cjs +1 -1
  114. package/dist/components/Carousel/Carousel.cjs.map +1 -1
  115. package/dist/components/Carousel/Carousel.d.ts +1 -1
  116. package/dist/components/Carousel/Carousel.js +7 -6
  117. package/dist/components/Carousel/Carousel.js.map +1 -1
  118. package/dist/components/Carousel/Carousel.module.css.cjs +1 -1
  119. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -1
  120. package/dist/components/Carousel/Carousel.module.css.js +10 -10
  121. package/dist/components/Carousel/Carousel.module.css.js.map +1 -1
  122. package/dist/components/Carousel/index.d.ts +1 -1
  123. package/dist/components/CheckRow/CheckRow.cjs.map +1 -1
  124. package/dist/components/CheckRow/CheckRow.d.ts +1 -1
  125. package/dist/components/CheckRow/CheckRow.js.map +1 -1
  126. package/dist/components/CheckRow/CheckRow.module.css.cjs +1 -1
  127. package/dist/components/CheckRow/CheckRow.module.css.cjs.map +1 -1
  128. package/dist/components/CheckRow/CheckRow.module.css.js +10 -10
  129. package/dist/components/CheckRow/CheckRow.module.css.js.map +1 -1
  130. package/dist/components/CheckRow/index.d.ts +1 -1
  131. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  132. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  133. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  134. package/dist/components/Checkbox/Checkbox.module.css.cjs +1 -1
  135. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -1
  136. package/dist/components/Checkbox/Checkbox.module.css.js +1 -1
  137. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -1
  138. package/dist/components/Checkbox/index.d.ts +1 -1
  139. package/dist/components/Chip/Chip.cjs.map +1 -1
  140. package/dist/components/Chip/Chip.d.ts +1 -1
  141. package/dist/components/Chip/Chip.js.map +1 -1
  142. package/dist/components/Chip/Chip.module.css.cjs +1 -1
  143. package/dist/components/Chip/Chip.module.css.cjs.map +1 -1
  144. package/dist/components/Chip/Chip.module.css.js +7 -7
  145. package/dist/components/Chip/Chip.module.css.js.map +1 -1
  146. package/dist/components/Chip/index.d.ts +1 -1
  147. package/dist/components/Clamp/Clamp.cjs.map +1 -1
  148. package/dist/components/Clamp/Clamp.js.map +1 -1
  149. package/dist/components/Clamp/index.d.ts +1 -1
  150. package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -1
  151. package/dist/components/ColorPicker/ColorPicker.d.ts +6 -6
  152. package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
  153. package/dist/components/ColorPicker/ColorPicker.module.css.cjs +1 -1
  154. package/dist/components/ColorPicker/ColorPicker.module.css.cjs.map +1 -1
  155. package/dist/components/ColorPicker/ColorPicker.module.css.js +4 -4
  156. package/dist/components/ColorPicker/ColorPicker.module.css.js.map +1 -1
  157. package/dist/components/ColorPicker/index.d.ts +1 -1
  158. package/dist/components/ColumnView/ColumnView.cjs +1 -1
  159. package/dist/components/ColumnView/ColumnView.cjs.map +1 -1
  160. package/dist/components/ColumnView/ColumnView.d.ts +3 -3
  161. package/dist/components/ColumnView/ColumnView.js +2 -5
  162. package/dist/components/ColumnView/ColumnView.js.map +1 -1
  163. package/dist/components/ColumnView/ColumnView.module.css.cjs +1 -1
  164. package/dist/components/ColumnView/ColumnView.module.css.cjs.map +1 -1
  165. package/dist/components/ColumnView/ColumnView.module.css.js +22 -22
  166. package/dist/components/ColumnView/ColumnView.module.css.js.map +1 -1
  167. package/dist/components/ColumnView/index.d.ts +1 -1
  168. package/dist/components/ComboRow/ComboRow.cjs +1 -1
  169. package/dist/components/ComboRow/ComboRow.cjs.map +1 -1
  170. package/dist/components/ComboRow/ComboRow.d.ts +1 -1
  171. package/dist/components/ComboRow/ComboRow.js +0 -2
  172. package/dist/components/ComboRow/ComboRow.js.map +1 -1
  173. package/dist/components/ComboRow/ComboRow.module.css.cjs +1 -1
  174. package/dist/components/ComboRow/ComboRow.module.css.cjs.map +1 -1
  175. package/dist/components/ComboRow/ComboRow.module.css.js +3 -3
  176. package/dist/components/ComboRow/ComboRow.module.css.js.map +1 -1
  177. package/dist/components/ComboRow/index.d.ts +1 -1
  178. package/dist/components/ContributionGraph/ContributionGraph.cjs +1 -1
  179. package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -1
  180. package/dist/components/ContributionGraph/ContributionGraph.js +41 -41
  181. package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -1
  182. package/dist/components/ContributionGraph/index.d.ts +1 -1
  183. package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -1
  184. package/dist/components/CountDownTimer/CountDownTimer.d.ts +3 -3
  185. package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -1
  186. package/dist/components/CountDownTimer/index.d.ts +1 -1
  187. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  188. package/dist/components/Dialog/Dialog.d.ts +4 -4
  189. package/dist/components/Dialog/Dialog.js.map +1 -1
  190. package/dist/components/Dialog/Dialog.module.css.cjs +1 -1
  191. package/dist/components/Dialog/Dialog.module.css.cjs.map +1 -1
  192. package/dist/components/Dialog/Dialog.module.css.js +6 -6
  193. package/dist/components/Dialog/Dialog.module.css.js.map +1 -1
  194. package/dist/components/Dialog/dialogUtils.cjs.map +1 -1
  195. package/dist/components/Dialog/dialogUtils.js.map +1 -1
  196. package/dist/components/Dialog/index.d.ts +1 -1
  197. package/dist/components/Drawer/Drawer.cjs +1 -1
  198. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  199. package/dist/components/Drawer/Drawer.d.ts +3 -3
  200. package/dist/components/Drawer/Drawer.js +49 -38
  201. package/dist/components/Drawer/Drawer.js.map +1 -1
  202. package/dist/components/Drawer/Drawer.module.css.cjs +1 -1
  203. package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -1
  204. package/dist/components/Drawer/Drawer.module.css.js +7 -6
  205. package/dist/components/Drawer/Drawer.module.css.js.map +1 -1
  206. package/dist/components/Drawer/index.d.ts +1 -1
  207. package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
  208. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  209. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  210. package/dist/components/Dropdown/Dropdown.module.css.cjs +1 -1
  211. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +1 -1
  212. package/dist/components/Dropdown/Dropdown.module.css.js +3 -3
  213. package/dist/components/Dropdown/Dropdown.module.css.js.map +1 -1
  214. package/dist/components/Dropdown/index.d.ts +1 -1
  215. package/dist/components/EntryRow/EntryRow.cjs.map +1 -1
  216. package/dist/components/EntryRow/EntryRow.js.map +1 -1
  217. package/dist/components/EntryRow/EntryRow.module.css.cjs +1 -1
  218. package/dist/components/EntryRow/EntryRow.module.css.cjs.map +1 -1
  219. package/dist/components/EntryRow/EntryRow.module.css.js +10 -10
  220. package/dist/components/EntryRow/EntryRow.module.css.js.map +1 -1
  221. package/dist/components/EntryRow/index.d.ts +1 -1
  222. package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -1
  223. package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -1
  224. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs +1 -1
  225. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs.map +1 -1
  226. package/dist/components/ExpanderRow/ExpanderRow.module.css.js +14 -14
  227. package/dist/components/ExpanderRow/ExpanderRow.module.css.js.map +1 -1
  228. package/dist/components/ExpanderRow/index.d.ts +1 -1
  229. package/dist/components/Footer/Footer.cjs.map +1 -1
  230. package/dist/components/Footer/Footer.js.map +1 -1
  231. package/dist/components/Footer/index.d.ts +1 -1
  232. package/dist/components/Frame/Frame.cjs.map +1 -1
  233. package/dist/components/Frame/Frame.js.map +1 -1
  234. package/dist/components/Frame/index.d.ts +1 -1
  235. package/dist/components/GnomeProvider/GnomeContext.cjs.map +1 -1
  236. package/dist/components/GnomeProvider/GnomeContext.d.ts +5 -5
  237. package/dist/components/GnomeProvider/GnomeContext.js.map +1 -1
  238. package/dist/components/GnomeProvider/GnomeProvider.cjs.map +1 -1
  239. package/dist/components/GnomeProvider/GnomeProvider.js.map +1 -1
  240. package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -1
  241. package/dist/components/HeaderBar/HeaderBar.d.ts +1 -1
  242. package/dist/components/HeaderBar/HeaderBar.js.map +1 -1
  243. package/dist/components/HeaderBar/index.d.ts +1 -1
  244. package/dist/components/Icon/Icon.cjs.map +1 -1
  245. package/dist/components/Icon/Icon.d.ts +2 -2
  246. package/dist/components/Icon/Icon.js.map +1 -1
  247. package/dist/components/Icon/index.d.ts +1 -1
  248. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  249. package/dist/components/IconButton/IconButton.d.ts +2 -2
  250. package/dist/components/IconButton/IconButton.js.map +1 -1
  251. package/dist/components/IconButton/index.d.ts +1 -1
  252. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +1 -1
  253. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -1
  254. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.d.ts +3 -3
  255. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +8 -8
  256. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -1
  257. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs +1 -1
  258. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs.map +1 -1
  259. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js +10 -10
  260. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js.map +1 -1
  261. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -1
  262. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.d.ts +1 -1
  263. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -1
  264. package/dist/components/InlineViewSwitcher/index.d.ts +2 -2
  265. package/dist/components/Link/Link.cjs.map +1 -1
  266. package/dist/components/Link/Link.js.map +1 -1
  267. package/dist/components/Link/Link.module.css.cjs +1 -1
  268. package/dist/components/Link/Link.module.css.cjs.map +1 -1
  269. package/dist/components/Link/Link.module.css.js +2 -2
  270. package/dist/components/Link/Link.module.css.js.map +1 -1
  271. package/dist/components/Link/index.d.ts +1 -1
  272. package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -1
  273. package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -1
  274. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs +1 -1
  275. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs.map +1 -1
  276. package/dist/components/LinkedGroup/LinkedGroup.module.css.js +2 -2
  277. package/dist/components/LinkedGroup/LinkedGroup.module.css.js.map +1 -1
  278. package/dist/components/LinkedGroup/index.d.ts +1 -1
  279. package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -1
  280. package/dist/components/NavigationSplitView/NavigationSplitView.d.ts +1 -1
  281. package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -1
  282. package/dist/components/NavigationSplitView/index.d.ts +1 -1
  283. package/dist/components/NavigationView/NavigationView.cjs.map +1 -1
  284. package/dist/components/NavigationView/NavigationView.d.ts +2 -2
  285. package/dist/components/NavigationView/NavigationView.js.map +1 -1
  286. package/dist/components/NavigationView/NavigationView.module.css.cjs +1 -1
  287. package/dist/components/NavigationView/NavigationView.module.css.cjs.map +1 -1
  288. package/dist/components/NavigationView/NavigationView.module.css.js +3 -3
  289. package/dist/components/NavigationView/NavigationView.module.css.js.map +1 -1
  290. package/dist/components/NavigationView/index.d.ts +2 -2
  291. package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -1
  292. package/dist/components/OverlaySplitView/OverlaySplitView.d.ts +2 -2
  293. package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -1
  294. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs +1 -1
  295. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs.map +1 -1
  296. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js +12 -12
  297. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js.map +1 -1
  298. package/dist/components/OverlaySplitView/index.d.ts +1 -1
  299. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -1
  300. package/dist/components/PasswordEntryRow/PasswordEntryRow.d.ts +1 -1
  301. package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -1
  302. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs +1 -1
  303. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs.map +1 -1
  304. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js +1 -1
  305. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js.map +1 -1
  306. package/dist/components/PasswordEntryRow/index.d.ts +1 -1
  307. package/dist/components/PathBar/PathBar.cjs.map +1 -1
  308. package/dist/components/PathBar/PathBar.js.map +1 -1
  309. package/dist/components/PathBar/PathBar.module.css.cjs +1 -1
  310. package/dist/components/PathBar/PathBar.module.css.cjs.map +1 -1
  311. package/dist/components/PathBar/PathBar.module.css.js +7 -7
  312. package/dist/components/PathBar/PathBar.module.css.js.map +1 -1
  313. package/dist/components/PathBar/index.d.ts +1 -1
  314. package/dist/components/Popover/Popover.cjs.map +1 -1
  315. package/dist/components/Popover/Popover.d.ts +2 -2
  316. package/dist/components/Popover/Popover.js.map +1 -1
  317. package/dist/components/Popover/Popover.module.css.cjs +1 -1
  318. package/dist/components/Popover/Popover.module.css.cjs.map +1 -1
  319. package/dist/components/Popover/Popover.module.css.js +7 -7
  320. package/dist/components/Popover/Popover.module.css.js.map +1 -1
  321. package/dist/components/Popover/index.d.ts +1 -1
  322. package/dist/components/PreferencesDialog/PreferencesDialog.cjs +1 -1
  323. package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -1
  324. package/dist/components/PreferencesDialog/PreferencesDialog.d.ts +1 -1
  325. package/dist/components/PreferencesDialog/PreferencesDialog.js +0 -1
  326. package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -1
  327. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +1 -1
  328. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs.map +1 -1
  329. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +3 -3
  330. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js.map +1 -1
  331. package/dist/components/PreferencesDialog/index.d.ts +1 -1
  332. package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -1
  333. package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -1
  334. package/dist/components/PreferencesGroup/index.d.ts +1 -1
  335. package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -1
  336. package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -1
  337. package/dist/components/PreferencesPage/index.d.ts +1 -1
  338. package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -1
  339. package/dist/components/ProgressBar/ProgressBar.d.ts +4 -4
  340. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  341. package/dist/components/ProgressBar/ProgressBar.module.css.cjs +1 -1
  342. package/dist/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -1
  343. package/dist/components/ProgressBar/ProgressBar.module.css.js +8 -8
  344. package/dist/components/ProgressBar/ProgressBar.module.css.js.map +1 -1
  345. package/dist/components/ProgressBar/index.d.ts +1 -1
  346. package/dist/components/RadioButton/RadioButton.cjs.map +1 -1
  347. package/dist/components/RadioButton/RadioButton.d.ts +2 -2
  348. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  349. package/dist/components/RadioButton/RadioButton.module.css.cjs +1 -1
  350. package/dist/components/RadioButton/RadioButton.module.css.cjs.map +1 -1
  351. package/dist/components/RadioButton/RadioButton.module.css.js +1 -1
  352. package/dist/components/RadioButton/RadioButton.module.css.js.map +1 -1
  353. package/dist/components/RadioButton/index.d.ts +1 -1
  354. package/dist/components/SearchBar/SearchBar.cjs +1 -1
  355. package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
  356. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  357. package/dist/components/SearchBar/SearchBar.js +1 -3
  358. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  359. package/dist/components/SearchBar/SearchBar.module.css.cjs +1 -1
  360. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -1
  361. package/dist/components/SearchBar/SearchBar.module.css.js +13 -13
  362. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -1
  363. package/dist/components/SearchBar/index.d.ts +1 -1
  364. package/dist/components/SegmentedBar/SegmentedBar.cjs +2 -0
  365. package/dist/components/SegmentedBar/SegmentedBar.cjs.map +1 -0
  366. package/dist/components/SegmentedBar/SegmentedBar.d.ts +42 -0
  367. package/dist/components/SegmentedBar/SegmentedBar.js +40 -0
  368. package/dist/components/SegmentedBar/SegmentedBar.js.map +1 -0
  369. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs +2 -0
  370. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs.map +1 -0
  371. package/dist/components/SegmentedBar/SegmentedBar.module.css.js +18 -0
  372. package/dist/components/SegmentedBar/SegmentedBar.module.css.js.map +1 -0
  373. package/dist/components/SegmentedBar/index.d.ts +2 -0
  374. package/dist/components/SegmentedBar.cjs +1 -0
  375. package/dist/components/SegmentedBar.d.ts +2 -0
  376. package/dist/components/SegmentedBar.js +2 -0
  377. package/dist/components/Separator/Separator.cjs.map +1 -1
  378. package/dist/components/Separator/Separator.d.ts +1 -1
  379. package/dist/components/Separator/Separator.js.map +1 -1
  380. package/dist/components/Separator/index.d.ts +1 -1
  381. package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -1
  382. package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -1
  383. package/dist/components/ShortcutLabel/index.d.ts +1 -1
  384. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +1 -1
  385. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -1
  386. package/dist/components/ShortcutsDialog/ShortcutsDialog.js +0 -1
  387. package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -1
  388. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +1 -1
  389. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs.map +1 -1
  390. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +3 -3
  391. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js.map +1 -1
  392. package/dist/components/ShortcutsDialog/index.d.ts +1 -1
  393. package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
  394. package/dist/components/Sidebar/Sidebar.d.ts +2 -2
  395. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  396. package/dist/components/Sidebar/Sidebar.module.css.cjs +1 -1
  397. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -1
  398. package/dist/components/Sidebar/Sidebar.module.css.js +2 -2
  399. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -1
  400. package/dist/components/Sidebar/SidebarItem.cjs.map +1 -1
  401. package/dist/components/Sidebar/SidebarItem.d.ts +1 -1
  402. package/dist/components/Sidebar/SidebarItem.js.map +1 -1
  403. package/dist/components/Sidebar/SidebarSection.cjs +1 -1
  404. package/dist/components/Sidebar/SidebarSection.cjs.map +1 -1
  405. package/dist/components/Sidebar/SidebarSection.d.ts +1 -1
  406. package/dist/components/Sidebar/SidebarSection.js +0 -1
  407. package/dist/components/Sidebar/SidebarSection.js.map +1 -1
  408. package/dist/components/Sidebar/index.d.ts +4 -4
  409. package/dist/components/Sidebar.cjs +1 -1
  410. package/dist/components/Sidebar.js +3 -3
  411. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  412. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  413. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  414. package/dist/components/Skeleton/Skeleton.module.css.cjs +1 -1
  415. package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -1
  416. package/dist/components/Skeleton/Skeleton.module.css.js +7 -7
  417. package/dist/components/Skeleton/Skeleton.module.css.js.map +1 -1
  418. package/dist/components/Skeleton/index.d.ts +1 -1
  419. package/dist/components/Slider/Slider.cjs.map +1 -1
  420. package/dist/components/Slider/Slider.d.ts +5 -5
  421. package/dist/components/Slider/Slider.js.map +1 -1
  422. package/dist/components/Slider/Slider.module.css.cjs +1 -1
  423. package/dist/components/Slider/Slider.module.css.cjs.map +1 -1
  424. package/dist/components/Slider/Slider.module.css.js +9 -9
  425. package/dist/components/Slider/Slider.module.css.js.map +1 -1
  426. package/dist/components/Slider/index.d.ts +1 -1
  427. package/dist/components/SpinButton/SpinButton.cjs.map +1 -1
  428. package/dist/components/SpinButton/SpinButton.d.ts +4 -4
  429. package/dist/components/SpinButton/SpinButton.js.map +1 -1
  430. package/dist/components/SpinButton/SpinButton.module.css.cjs +1 -1
  431. package/dist/components/SpinButton/SpinButton.module.css.cjs.map +1 -1
  432. package/dist/components/SpinButton/SpinButton.module.css.js +4 -4
  433. package/dist/components/SpinButton/SpinButton.module.css.js.map +1 -1
  434. package/dist/components/SpinButton/index.d.ts +1 -1
  435. package/dist/components/SpinRow/SpinRow.cjs.map +1 -1
  436. package/dist/components/SpinRow/SpinRow.d.ts +1 -1
  437. package/dist/components/SpinRow/SpinRow.js.map +1 -1
  438. package/dist/components/SpinRow/SpinRow.module.css.cjs +1 -1
  439. package/dist/components/SpinRow/SpinRow.module.css.cjs.map +1 -1
  440. package/dist/components/SpinRow/SpinRow.module.css.js +9 -9
  441. package/dist/components/SpinRow/SpinRow.module.css.js.map +1 -1
  442. package/dist/components/SpinRow/index.d.ts +1 -1
  443. package/dist/components/Spinner/Spinner.cjs.map +1 -1
  444. package/dist/components/Spinner/Spinner.d.ts +1 -1
  445. package/dist/components/Spinner/Spinner.js.map +1 -1
  446. package/dist/components/Spinner/Spinner.module.css.cjs +1 -1
  447. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -1
  448. package/dist/components/Spinner/Spinner.module.css.js +5 -5
  449. package/dist/components/Spinner/Spinner.module.css.js.map +1 -1
  450. package/dist/components/Spinner/index.d.ts +1 -1
  451. package/dist/components/SplitButton/SplitButton.cjs.map +1 -1
  452. package/dist/components/SplitButton/SplitButton.d.ts +2 -2
  453. package/dist/components/SplitButton/SplitButton.js.map +1 -1
  454. package/dist/components/SplitButton/SplitButton.module.css.cjs +1 -1
  455. package/dist/components/SplitButton/SplitButton.module.css.cjs.map +1 -1
  456. package/dist/components/SplitButton/SplitButton.module.css.js +10 -10
  457. package/dist/components/SplitButton/SplitButton.module.css.js.map +1 -1
  458. package/dist/components/SplitButton/index.d.ts +1 -1
  459. package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -1
  460. package/dist/components/StatusBadge/StatusBadge.d.ts +1 -1
  461. package/dist/components/StatusBadge/StatusBadge.js.map +1 -1
  462. package/dist/components/StatusBadge/StatusBadge.module.css.cjs +1 -1
  463. package/dist/components/StatusBadge/StatusBadge.module.css.cjs.map +1 -1
  464. package/dist/components/StatusBadge/StatusBadge.module.css.js +7 -7
  465. package/dist/components/StatusBadge/StatusBadge.module.css.js.map +1 -1
  466. package/dist/components/StatusBadge/index.d.ts +1 -1
  467. package/dist/components/StatusPage/StatusPage.cjs.map +1 -1
  468. package/dist/components/StatusPage/StatusPage.d.ts +1 -1
  469. package/dist/components/StatusPage/StatusPage.js.map +1 -1
  470. package/dist/components/StatusPage/index.d.ts +1 -1
  471. package/dist/components/Switch/Switch.cjs.map +1 -1
  472. package/dist/components/Switch/Switch.d.ts +2 -2
  473. package/dist/components/Switch/Switch.js.map +1 -1
  474. package/dist/components/Switch/Switch.module.css.cjs +1 -1
  475. package/dist/components/Switch/Switch.module.css.cjs.map +1 -1
  476. package/dist/components/Switch/Switch.module.css.js +1 -1
  477. package/dist/components/Switch/Switch.module.css.js.map +1 -1
  478. package/dist/components/Switch/index.d.ts +1 -1
  479. package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -1
  480. package/dist/components/SwitchRow/SwitchRow.d.ts +1 -1
  481. package/dist/components/SwitchRow/SwitchRow.js.map +1 -1
  482. package/dist/components/SwitchRow/SwitchRow.module.css.cjs +1 -1
  483. package/dist/components/SwitchRow/SwitchRow.module.css.cjs.map +1 -1
  484. package/dist/components/SwitchRow/SwitchRow.module.css.js +9 -9
  485. package/dist/components/SwitchRow/SwitchRow.module.css.js.map +1 -1
  486. package/dist/components/SwitchRow/index.d.ts +1 -1
  487. package/dist/components/Tabs/TabBar.cjs +1 -1
  488. package/dist/components/Tabs/TabBar.cjs.map +1 -1
  489. package/dist/components/Tabs/TabBar.d.ts +2 -2
  490. package/dist/components/Tabs/TabBar.js +8 -8
  491. package/dist/components/Tabs/TabBar.js.map +1 -1
  492. package/dist/components/Tabs/TabItem.cjs +1 -1
  493. package/dist/components/Tabs/TabItem.cjs.map +1 -1
  494. package/dist/components/Tabs/TabItem.d.ts +4 -2
  495. package/dist/components/Tabs/TabItem.js +34 -32
  496. package/dist/components/Tabs/TabItem.js.map +1 -1
  497. package/dist/components/Tabs/TabPanel.cjs +1 -1
  498. package/dist/components/Tabs/TabPanel.cjs.map +1 -1
  499. package/dist/components/Tabs/TabPanel.js +0 -1
  500. package/dist/components/Tabs/TabPanel.js.map +1 -1
  501. package/dist/components/Tabs/Tabs.module.css.cjs +1 -1
  502. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -1
  503. package/dist/components/Tabs/Tabs.module.css.js +10 -9
  504. package/dist/components/Tabs/Tabs.module.css.js.map +1 -1
  505. package/dist/components/Tabs/index.d.ts +3 -3
  506. package/dist/components/TerminalView/TerminalView.cjs +1 -1
  507. package/dist/components/TerminalView/TerminalView.cjs.map +1 -1
  508. package/dist/components/TerminalView/TerminalView.d.ts +1 -1
  509. package/dist/components/TerminalView/TerminalView.js +1 -1
  510. package/dist/components/TerminalView/TerminalView.js.map +1 -1
  511. package/dist/components/TerminalView/index.d.ts +1 -1
  512. package/dist/components/Text/Text.cjs.map +1 -1
  513. package/dist/components/Text/Text.d.ts +2 -2
  514. package/dist/components/Text/Text.js.map +1 -1
  515. package/dist/components/Text/index.d.ts +1 -1
  516. package/dist/components/TextField/TextField.cjs.map +1 -1
  517. package/dist/components/TextField/TextField.d.ts +1 -1
  518. package/dist/components/TextField/TextField.js.map +1 -1
  519. package/dist/components/TextField/TextField.module.css.cjs +1 -1
  520. package/dist/components/TextField/TextField.module.css.cjs.map +1 -1
  521. package/dist/components/TextField/TextField.module.css.js +7 -7
  522. package/dist/components/TextField/TextField.module.css.js.map +1 -1
  523. package/dist/components/TextField/index.d.ts +1 -1
  524. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  525. package/dist/components/Timeline/Timeline.d.ts +2 -2
  526. package/dist/components/Timeline/Timeline.js.map +1 -1
  527. package/dist/components/Timeline/index.d.ts +1 -1
  528. package/dist/components/Toast/Toast.cjs +1 -1
  529. package/dist/components/Toast/Toast.cjs.map +1 -1
  530. package/dist/components/Toast/Toast.d.ts +1 -1
  531. package/dist/components/Toast/Toast.js +39 -35
  532. package/dist/components/Toast/Toast.js.map +1 -1
  533. package/dist/components/Toast/Toast.module.css.cjs +1 -1
  534. package/dist/components/Toast/Toast.module.css.cjs.map +1 -1
  535. package/dist/components/Toast/Toast.module.css.js +2 -2
  536. package/dist/components/Toast/Toast.module.css.js.map +1 -1
  537. package/dist/components/Toast/Toaster.cjs.map +1 -1
  538. package/dist/components/Toast/Toaster.d.ts +1 -1
  539. package/dist/components/Toast/Toaster.js.map +1 -1
  540. package/dist/components/Toast/index.d.ts +2 -2
  541. package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -1
  542. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
  543. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -2
  544. package/dist/components/ToggleGroup/ToggleGroup.js +8 -8
  545. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  546. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +1 -1
  547. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -1
  548. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +6 -6
  549. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -1
  550. package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  551. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
  552. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
  553. package/dist/components/ToggleGroup/index.d.ts +2 -2
  554. package/dist/components/Toolbar/Spacer.cjs.map +1 -1
  555. package/dist/components/Toolbar/Spacer.d.ts +1 -2
  556. package/dist/components/Toolbar/Spacer.js.map +1 -1
  557. package/dist/components/Toolbar/Toolbar.cjs.map +1 -1
  558. package/dist/components/Toolbar/Toolbar.js.map +1 -1
  559. package/dist/components/Toolbar/index.d.ts +3 -3
  560. package/dist/components/Toolbar.cjs +1 -1
  561. package/dist/components/Toolbar.js +3 -3
  562. package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -1
  563. package/dist/components/ToolbarView/ToolbarView.js.map +1 -1
  564. package/dist/components/ToolbarView/index.d.ts +1 -1
  565. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  566. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  567. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  568. package/dist/components/Tooltip/Tooltip.js +4 -4
  569. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  570. package/dist/components/Tooltip/Tooltip.module.css.cjs +1 -1
  571. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -1
  572. package/dist/components/Tooltip/Tooltip.module.css.js +6 -6
  573. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -1
  574. package/dist/components/Tooltip/index.d.ts +1 -1
  575. package/dist/components/ViewSwitcher/ViewSwitcher.cjs +1 -1
  576. package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -1
  577. package/dist/components/ViewSwitcher/ViewSwitcher.d.ts +2 -2
  578. package/dist/components/ViewSwitcher/ViewSwitcher.js +8 -8
  579. package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -1
  580. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs +1 -1
  581. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs.map +1 -1
  582. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js +5 -5
  583. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js.map +1 -1
  584. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -1
  585. package/dist/components/ViewSwitcher/ViewSwitcherItem.d.ts +1 -1
  586. package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -1
  587. package/dist/components/ViewSwitcher/index.d.ts +2 -2
  588. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -1
  589. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -1
  590. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs +1 -1
  591. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs.map +1 -1
  592. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js +1 -1
  593. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js.map +1 -1
  594. package/dist/components/ViewSwitcherBar/index.d.ts +1 -1
  595. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +1 -1
  596. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -1
  597. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.d.ts +2 -2
  598. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +8 -8
  599. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -1
  600. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs +1 -1
  601. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs.map +1 -1
  602. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js +14 -14
  603. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js.map +1 -1
  604. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -1
  605. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.d.ts +1 -1
  606. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -1
  607. package/dist/components/ViewSwitcherSidebar/index.d.ts +2 -2
  608. package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -1
  609. package/dist/components/WindowTitle/WindowTitle.js.map +1 -1
  610. package/dist/components/WindowTitle/index.d.ts +1 -1
  611. package/dist/components/WrapBox/WrapBox.cjs.map +1 -1
  612. package/dist/components/WrapBox/WrapBox.d.ts +2 -2
  613. package/dist/components/WrapBox/WrapBox.js.map +1 -1
  614. package/dist/components/WrapBox/index.d.ts +1 -1
  615. package/dist/hooks/index.d.ts +3 -3
  616. package/dist/hooks/useBreakpoint.cjs +1 -1
  617. package/dist/hooks/useBreakpoint.cjs.map +1 -1
  618. package/dist/hooks/useBreakpoint.js +12 -12
  619. package/dist/hooks/useBreakpoint.js.map +1 -1
  620. package/dist/index.cjs +1 -1
  621. package/dist/index.d.ts +153 -151
  622. package/dist/index.js +35 -34
  623. package/dist/style.css +1 -1
  624. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GnomeProvider.js","names":[],"sources":["../../../src/components/GnomeProvider/GnomeProvider.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, type ReactNode } from \"react\";\nimport {\n GnomeContext,\n type GnomeAccentColor,\n type GnomeColorScheme,\n type GnomeDir,\n} from \"./GnomeContext\";\n\nconst NAMED_ACCENT_COLORS = new Set<string>([\n \"blue\", \"green\", \"yellow\", \"orange\", \"red\", \"purple\", \"brown\",\n]);\n\nexport interface GnomeProviderProps {\n /**\n * BCP 47 locale tag (e.g. `\"es-ES\"`, `\"de-DE\"`).\n * When omitted, components fall back to the browser locale.\n */\n locale?: string;\n /** Text direction. Defaults to `\"ltr\"`. */\n dir?: GnomeDir;\n /**\n * Global defaults for number formatting.\n *\n * Use `{ notation: \"compact\", compactDisplay: \"short\" }` for compact\n * values such as `1K`; omit it or set `{ notation: \"standard\" }` for\n * full values such as `1,000`.\n */\n numberFormat?: Intl.NumberFormatOptions;\n /** Global defaults for date/time formatting. */\n dateTimeFormat?: Intl.DateTimeFormatOptions;\n /**\n * Color scheme preference. When set to `\"system\"` (default), the OS\n * preference is respected via `prefers-color-scheme`. When set to\n * `\"light\"` or `\"dark\"`, the `data-theme` attribute is applied to\n * `document.documentElement` to force that theme.\n */\n colorScheme?: GnomeColorScheme;\n /**\n * Accent color. Accepts a named GNOME palette color (`\"blue\"`, `\"green\"`,\n * `\"yellow\"`, `\"orange\"`, `\"red\"`, `\"purple\"`, `\"brown\"`) or any CSS color\n * string (e.g. `\"#ff0000\"`). Named colors are theme-aware and use the\n * correct shade for light/dark mode automatically. Defaults to `\"blue\"`.\n */\n accentColor?: GnomeAccentColor;\n children: ReactNode;\n}\n\nfunction getSystemIsDark(): boolean {\n return typeof window !== \"undefined\" &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n}\n\n/** Provides locale, text direction, color scheme, and accent color to all descendant gnome-ui components. */\nexport function GnomeProvider({\n locale,\n dir = \"ltr\",\n numberFormat,\n dateTimeFormat,\n colorScheme = \"system\",\n accentColor = \"blue\",\n children,\n}: GnomeProviderProps) {\n const [, forceUpdate] = useReducer((n: number) => n + 1, 0);\n\n useEffect(() => {\n if (colorScheme !== \"system\") return;\n const mq = window.matchMedia(\"(prefers-color-scheme: dark)\");\n mq.addEventListener(\"change\", forceUpdate);\n return () => mq.removeEventListener(\"change\", forceUpdate);\n }, [colorScheme]);\n\n useEffect(() => {\n const root = document.documentElement;\n if (colorScheme === \"system\") {\n root.removeAttribute(\"data-theme\");\n } else {\n root.setAttribute(\"data-theme\", colorScheme);\n }\n }, [colorScheme]);\n\n const resolvedColorScheme = colorScheme === \"system\"\n ? (getSystemIsDark() ? \"dark\" : \"light\")\n : colorScheme;\n\n useEffect(() => {\n const root = document.documentElement;\n if (accentColor === \"blue\") {\n root.style.removeProperty(\"--gnome-accent-color\");\n root.style.removeProperty(\"--gnome-accent-bg-color\");\n return;\n }\n if (NAMED_ACCENT_COLORS.has(accentColor)) {\n const shade = resolvedColorScheme === \"dark\" ? \"2\" : \"3\";\n root.style.setProperty(\"--gnome-accent-color\", `var(--gnome-${accentColor}-${shade})`);\n root.style.setProperty(\"--gnome-accent-bg-color\", `var(--gnome-${accentColor}-3)`);\n } else {\n root.style.setProperty(\"--gnome-accent-color\", accentColor);\n root.style.setProperty(\"--gnome-accent-bg-color\", accentColor);\n }\n }, [accentColor, resolvedColorScheme]);\n\n const value = useMemo(\n () => ({ locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor }),\n [locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor],\n );\n\n return (\n <GnomeContext.Provider value={value}>\n {children}\n </GnomeContext.Provider>\n );\n}\n"],"mappings":";;;;AAQA,IAAM,IAAsB,IAAI,IAAY;CAC1C;CAAQ;CAAS;CAAU;CAAU;CAAO;CAAU;CACvD,CAAC;AAqCF,SAAS,IAA2B;AAClC,QAAO,OAAO,SAAW,OACvB,OAAO,WAAW,+BAA+B,CAAC;;AAItD,SAAgB,EAAc,EAC5B,WACA,SAAM,OACN,iBACA,mBACA,iBAAc,UACd,iBAAc,QACd,eACqB;CACrB,IAAM,GAAG,KAAe,GAAY,MAAc,IAAI,GAAG,EAAE;AAS3D,CAPA,QAAgB;AACd,MAAI,MAAgB,SAAU;EAC9B,IAAM,IAAK,OAAO,WAAW,+BAA+B;AAE5D,SADA,EAAG,iBAAiB,UAAU,EAAY,QAC7B,EAAG,oBAAoB,UAAU,EAAY;IACzD,CAAC,EAAY,CAAC,EAEjB,QAAgB;EACd,IAAM,IAAO,SAAS;AACtB,EAAI,MAAgB,WAClB,EAAK,gBAAgB,aAAa,GAElC,EAAK,aAAa,cAAc,EAAY;IAE7C,CAAC,EAAY,CAAC;CAEjB,IAAM,IAAsB,MAAgB,WACvC,GAAiB,GAAG,SAAS,UAC9B;AAEJ,SAAgB;EACd,IAAM,IAAO,SAAS;AACtB,MAAI,MAAgB,QAAQ;AAE1B,GADA,EAAK,MAAM,eAAe,uBAAuB,EACjD,EAAK,MAAM,eAAe,0BAA0B;AACpD;;AAEF,MAAI,EAAoB,IAAI,EAAY,EAAE;GACxC,IAAM,IAAQ,MAAwB,SAAS,MAAM;AAErD,GADA,EAAK,MAAM,YAAY,wBAAwB,eAAe,EAAY,GAAG,EAAM,GAAG,EACtF,EAAK,MAAM,YAAY,2BAA2B,eAAe,EAAY,KAAK;QAGlF,CADA,EAAK,MAAM,YAAY,wBAAwB,EAAY,EAC3D,EAAK,MAAM,YAAY,2BAA2B,EAAY;IAE/D,CAAC,GAAa,EAAoB,CAAC;CAEtC,IAAM,IAAQ,SACL;EAAE;EAAQ;EAAK;EAAc;EAAgB;EAAa;EAAqB;EAAa,GACnG;EAAC;EAAQ;EAAK;EAAc;EAAgB;EAAa;EAAqB;EAAY,CAC3F;AAED,QACE,kBAAC,EAAa,UAAd;EAA8B;EAC3B;EACqB,CAAA"}
1
+ {"version":3,"file":"GnomeProvider.js","names":[],"sources":["../../../src/components/GnomeProvider/GnomeProvider.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useMemo, useReducer } from 'react';\n\nimport {\n type GnomeAccentColor,\n type GnomeColorScheme,\n GnomeContext,\n type GnomeDir,\n} from './GnomeContext';\n\nconst NAMED_ACCENT_COLORS = new Set<string>([\n 'blue',\n 'green',\n 'yellow',\n 'orange',\n 'red',\n 'purple',\n 'brown',\n]);\n\nexport interface GnomeProviderProps {\n /**\n * BCP 47 locale tag (e.g. `\"es-ES\"`, `\"de-DE\"`).\n * When omitted, components fall back to the browser locale.\n */\n locale?: string;\n /** Text direction. Defaults to `\"ltr\"`. */\n dir?: GnomeDir;\n /**\n * Global defaults for number formatting.\n *\n * Use `{ notation: \"compact\", compactDisplay: \"short\" }` for compact\n * values such as `1K`; omit it or set `{ notation: \"standard\" }` for\n * full values such as `1,000`.\n */\n numberFormat?: Intl.NumberFormatOptions;\n /** Global defaults for date/time formatting. */\n dateTimeFormat?: Intl.DateTimeFormatOptions;\n /**\n * Color scheme preference. When set to `\"system\"` (default), the OS\n * preference is respected via `prefers-color-scheme`. When set to\n * `\"light\"` or `\"dark\"`, the `data-theme` attribute is applied to\n * `document.documentElement` to force that theme.\n */\n colorScheme?: GnomeColorScheme;\n /**\n * Accent color. Accepts a named GNOME palette color (`\"blue\"`, `\"green\"`,\n * `\"yellow\"`, `\"orange\"`, `\"red\"`, `\"purple\"`, `\"brown\"`) or any CSS color\n * string (e.g. `\"#ff0000\"`). Named colors are theme-aware and use the\n * correct shade for light/dark mode automatically. Defaults to `\"blue\"`.\n */\n accentColor?: GnomeAccentColor;\n children: ReactNode;\n}\n\nfunction getSystemIsDark(): boolean {\n return typeof window !== 'undefined' && window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\n/** Provides locale, text direction, color scheme, and accent color to all descendant gnome-ui components. */\nexport function GnomeProvider({\n locale,\n dir = 'ltr',\n numberFormat,\n dateTimeFormat,\n colorScheme = 'system',\n accentColor = 'blue',\n children,\n}: GnomeProviderProps) {\n const [, forceUpdate] = useReducer((n: number) => n + 1, 0);\n\n useEffect(() => {\n if (colorScheme !== 'system') {\n return;\n }\n\n const mq = window.matchMedia('(prefers-color-scheme: dark)');\n\n mq.addEventListener('change', forceUpdate);\n\n return () => mq.removeEventListener('change', forceUpdate);\n }, [colorScheme]);\n\n useEffect(() => {\n const root = document.documentElement;\n\n if (colorScheme === 'system') {\n root.removeAttribute('data-theme');\n } else {\n root.setAttribute('data-theme', colorScheme);\n }\n }, [colorScheme]);\n\n const resolvedColorScheme =\n colorScheme === 'system' ? (getSystemIsDark() ? 'dark' : 'light') : colorScheme;\n\n useEffect(() => {\n const root = document.documentElement;\n\n if (accentColor === 'blue') {\n root.style.removeProperty('--gnome-accent-color');\n root.style.removeProperty('--gnome-accent-bg-color');\n\n return;\n }\n\n if (NAMED_ACCENT_COLORS.has(accentColor)) {\n const shade = resolvedColorScheme === 'dark' ? '2' : '3';\n\n root.style.setProperty('--gnome-accent-color', `var(--gnome-${accentColor}-${shade})`);\n root.style.setProperty('--gnome-accent-bg-color', `var(--gnome-${accentColor}-3)`);\n } else {\n root.style.setProperty('--gnome-accent-color', accentColor);\n root.style.setProperty('--gnome-accent-bg-color', accentColor);\n }\n }, [accentColor, resolvedColorScheme]);\n\n const value = useMemo(\n () => ({\n locale,\n dir,\n numberFormat,\n dateTimeFormat,\n colorScheme,\n resolvedColorScheme,\n accentColor,\n }),\n [locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor],\n );\n\n return <GnomeContext.Provider value={value}>{children}</GnomeContext.Provider>;\n}\n"],"mappings":";;;;AASA,IAAM,IAAsB,IAAI,IAAY;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAqCF,SAAS,IAA2B;AAClC,QAAO,OAAO,SAAW,OAAe,OAAO,WAAW,+BAA+B,CAAC;;AAI5F,SAAgB,EAAc,EAC5B,WACA,SAAM,OACN,iBACA,mBACA,iBAAc,UACd,iBAAc,QACd,eACqB;CACrB,IAAM,GAAG,KAAe,GAAY,MAAc,IAAI,GAAG,EAAE;AAc3D,CAZA,QAAgB;AACd,MAAI,MAAgB,SAClB;EAGF,IAAM,IAAK,OAAO,WAAW,+BAA+B;AAI5D,SAFA,EAAG,iBAAiB,UAAU,EAAY,QAE7B,EAAG,oBAAoB,UAAU,EAAY;IACzD,CAAC,EAAY,CAAC,EAEjB,QAAgB;EACd,IAAM,IAAO,SAAS;AAEtB,EAAI,MAAgB,WAClB,EAAK,gBAAgB,aAAa,GAElC,EAAK,aAAa,cAAc,EAAY;IAE7C,CAAC,EAAY,CAAC;CAEjB,IAAM,IACJ,MAAgB,WAAY,GAAiB,GAAG,SAAS,UAAW;AAEtE,SAAgB;EACd,IAAM,IAAO,SAAS;AAEtB,MAAI,MAAgB,QAAQ;AAE1B,GADA,EAAK,MAAM,eAAe,uBAAuB,EACjD,EAAK,MAAM,eAAe,0BAA0B;AAEpD;;AAGF,MAAI,EAAoB,IAAI,EAAY,EAAE;GACxC,IAAM,IAAQ,MAAwB,SAAS,MAAM;AAGrD,GADA,EAAK,MAAM,YAAY,wBAAwB,eAAe,EAAY,GAAG,EAAM,GAAG,EACtF,EAAK,MAAM,YAAY,2BAA2B,eAAe,EAAY,KAAK;QAGlF,CADA,EAAK,MAAM,YAAY,wBAAwB,EAAY,EAC3D,EAAK,MAAM,YAAY,2BAA2B,EAAY;IAE/D,CAAC,GAAa,EAAoB,CAAC;CAEtC,IAAM,IAAQ,SACL;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EAAC;EAAQ;EAAK;EAAc;EAAgB;EAAa;EAAqB;EAAY,CAC3F;AAED,QAAO,kBAAC,EAAa,UAAd;EAA8B;EAAQ;EAAiC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBar.cjs","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./HeaderBar.module.css\";\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, \"title\"> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>\n {start}\n </div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === \"string\" ? (\n <span className={styles.title}>{title}</span>\n ) : (\n title\n )}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(\" \")}>\n {end}\n </div>\n </header>\n );\n}\n"],"mappings":"iFA2BA,SAAgB,EAAU,CACxB,QACA,QACA,MACA,OAAO,GACP,YACA,GAAG,GACc,CACjB,OACE,EAAA,EAAA,MAAC,SAAD,CACE,UAAW,CAAC,EAAA,QAAO,UAAW,EAAO,EAAA,QAAO,KAAO,KAAM,EAAU,CAChE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAJN,EAOE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,cACpB,EACG,CAAA,EAGN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,UAAW,YAAU,kBACzC,OAAO,GAAU,UAChB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,EAAa,CAAA,CAE7C,EAEE,CAAA,EAGN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UACpE,EACG,CAAA,CACC"}
1
+ {"version":3,"file":"HeaderBar.cjs","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './HeaderBar.module.css';\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>{start}</div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === 'string' ? <span className={styles.title}>{title}</span> : title}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(' ')}>{end}</div>\n </header>\n );\n}\n"],"mappings":"iFA4BA,SAAgB,EAAU,CACxB,QACA,QACA,MACA,OAAO,GACP,YACA,GAAG,GACc,CACjB,OACE,EAAA,EAAA,MAAC,SAAD,CACE,UAAW,CAAC,EAAA,QAAO,UAAW,EAAO,EAAA,QAAO,KAAO,KAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC7F,GAAI,WAFN,EAKE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,cAAO,EAAY,CAAA,EAG1C,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,UAAW,YAAU,kBACzC,OAAO,GAAU,UAAW,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,EAAa,CAAA,CAAG,EACzE,CAAA,EAGN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UAAG,EAAU,CAAA,CAC7E"}
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
- export interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
2
+ export interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
3
3
  /** Centered title. Pass a string or a custom element. */
4
4
  title?: ReactNode;
5
5
  /** Controls placed at the leading (left) edge — back button, menu, etc. */
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBar.js","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./HeaderBar.module.css\";\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, \"title\"> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>\n {start}\n </div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === \"string\" ? (\n <span className={styles.title}>{title}</span>\n ) : (\n title\n )}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(\" \")}>\n {end}\n </div>\n </header>\n );\n}\n"],"mappings":";;;AA2BA,SAAgB,EAAU,EACxB,UACA,UACA,QACA,UAAO,IACP,cACA,GAAG,KACc;AACjB,QACE,kBAAC,UAAD;EACE,WAAW;GAAC,EAAO;GAAW,IAAO,EAAO,OAAO;GAAM;GAAU,CAChE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN;GAOE,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB;IACG,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAW,aAAU;cACzC,OAAO,KAAU,WAChB,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;KAAa,CAAA,GAE7C;IAEE,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAW,CAAC,EAAO,MAAM,EAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cACpE;IACG,CAAA;GACC"}
1
+ {"version":3,"file":"HeaderBar.js","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './HeaderBar.module.css';\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>{start}</div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === 'string' ? <span className={styles.title}>{title}</span> : title}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(' ')}>{end}</div>\n </header>\n );\n}\n"],"mappings":";;;AA4BA,SAAgB,EAAU,EACxB,UACA,UACA,QACA,UAAO,IACP,cACA,GAAG,KACc;AACjB,QACE,kBAAC,UAAD;EACE,WAAW;GAAC,EAAO;GAAW,IAAO,EAAO,OAAO;GAAM;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC7F,GAAI;YAFN;GAKE,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAO;IAAY,CAAA;GAG1C,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAW,aAAU;cACzC,OAAO,KAAU,WAAW,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;KAAa,CAAA,GAAG;IACzE,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAW,CAAC,EAAO,MAAM,EAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cAAG;IAAU,CAAA;GAC7E"}
@@ -1,2 +1,2 @@
1
- export { HeaderBar } from './HeaderBar';
2
1
  export type { HeaderBarProps } from './HeaderBar';
2
+ export { HeaderBar } from './HeaderBar';
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.cjs","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { SVGAttributes } from \"react\";\nimport type { AnyIconDefinition, IconDefinition } from \"@gnome-ui/icons\";\n\nexport type IconSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return \"paths\" in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({\n icon,\n size = \"md\",\n label,\n width,\n height,\n ...props\n}: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon)\n ? icon.viewBox\n : (icon.viewBox ?? \"0 0 24 24\");\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? \"img\" : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":"mCAqBA,IAAM,EAAqC,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAErE,SAAS,EAAiB,EAAiD,CAEzE,MAAO,UAAW,GAAQ,MAAM,QAAS,EAAwB,MAAM,CAkBzE,SAAgB,EAAK,CACnB,OACA,OAAO,KACP,QACA,QACA,SACA,GAAG,GACS,CACZ,IAAM,EAAK,EAAS,GAEd,EAAkB,EAAiB,EAAK,CAC1C,EAAK,QACJ,EAAK,SAAW,YAEf,EAAQ,EAAiB,EAAK,CAChC,EAAK,MAAM,KAAK,EAAG,KACjB,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAE,EAAG,SAAU,EAAE,SAAU,SAAU,EAAE,SAAU,UAAW,EAAE,UAAa,CAAjF,EAAiF,CAC5F,CACF,EAAC,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAK,KAAQ,CAAnB,EAAmB,CAAC,CAEpC,OACE,EAAA,EAAA,KAAC,MAAD,CACE,MAAM,6BACN,QAAS,EACT,MAAO,GAAS,EAChB,OAAQ,GAAU,EAClB,KAAK,eACL,aAAY,EACZ,cAAa,EAAQ,IAAA,GAAY,GACjC,KAAM,EAAQ,MAAQ,IAAA,GACtB,UAAU,QACV,GAAI,WAEH,EACG,CAAA"}
1
+ {"version":3,"file":"Icon.cjs","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { AnyIconDefinition, IconDefinition } from '@gnome-ui/icons';\nimport type { SVGAttributes } from 'react';\n\nexport type IconSize = 'sm' | 'md' | 'lg';\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return 'paths' in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({ icon, size = 'md', label, width, height, ...props }: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon) ? icon.viewBox : (icon.viewBox ?? '0 0 24 24');\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? 'img' : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":"mCAqBA,IAAM,EAAqC,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAErE,SAAS,EAAiB,EAAiD,CAEzE,MAAO,UAAW,GAAQ,MAAM,QAAS,EAAwB,MAAM,CAkBzE,SAAgB,EAAK,CAAE,OAAM,OAAO,KAAM,QAAO,QAAO,SAAQ,GAAG,GAAoB,CACrF,IAAM,EAAK,EAAS,GAEd,EAAkB,EAAiB,EAAK,CAAG,EAAK,QAAW,EAAK,SAAW,YAE3E,EAAQ,EAAiB,EAAK,CAChC,EAAK,MAAM,KAAK,EAAG,KACjB,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAE,EAAG,SAAU,EAAE,SAAU,SAAU,EAAE,SAAU,UAAW,EAAE,UAAa,CAAjF,EAAiF,CAC5F,CACF,EAAC,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAK,KAAQ,CAAnB,EAAmB,CAAC,CAEpC,OACE,EAAA,EAAA,KAAC,MAAD,CACE,MAAM,6BACN,QAAS,EACT,MAAO,GAAS,EAChB,OAAQ,GAAU,EAClB,KAAK,eACL,aAAY,EACZ,cAAa,EAAQ,IAAA,GAAY,GACjC,KAAM,EAAQ,MAAQ,IAAA,GACtB,UAAU,QACV,GAAI,WAEH,EACG,CAAA"}
@@ -1,6 +1,6 @@
1
- import { SVGAttributes } from 'react';
2
1
  import { AnyIconDefinition } from '@gnome-ui/icons';
3
- export type IconSize = "sm" | "md" | "lg";
2
+ import { SVGAttributes } from 'react';
3
+ export type IconSize = 'sm' | 'md' | 'lg';
4
4
  export interface IconProps extends SVGAttributes<SVGSVGElement> {
5
5
  /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */
6
6
  icon: AnyIconDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { SVGAttributes } from \"react\";\nimport type { AnyIconDefinition, IconDefinition } from \"@gnome-ui/icons\";\n\nexport type IconSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return \"paths\" in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({\n icon,\n size = \"md\",\n label,\n width,\n height,\n ...props\n}: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon)\n ? icon.viewBox\n : (icon.viewBox ?? \"0 0 24 24\");\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? \"img\" : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":";;AAqBA,IAAM,IAAqC;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI;AAErE,SAAS,EAAiB,GAAiD;AAEzE,QAAO,WAAW,KAAQ,MAAM,QAAS,EAAwB,MAAM;;AAkBzE,SAAgB,EAAK,EACnB,SACA,UAAO,MACP,UACA,UACA,WACA,GAAG,KACS;CACZ,IAAM,IAAK,EAAS,IAEd,IAAkB,EAAiB,EAAK,GAC1C,EAAK,UACJ,EAAK,WAAW,aAEf,IAAQ,EAAiB,EAAK,GAChC,EAAK,MAAM,KAAK,GAAG,MACjB,kBAAC,QAAD;EAAc,GAAG,EAAE;EAAG,UAAU,EAAE;EAAU,UAAU,EAAE;EAAU,WAAW,EAAE;EAAa,EAAjF,EAAiF,CAC5F,GACF,CAAC,kBAAC,QAAD,EAAc,GAAG,EAAK,MAAQ,EAAnB,EAAmB,CAAC;AAEpC,QACE,kBAAC,OAAD;EACE,OAAM;EACN,SAAS;EACT,OAAO,KAAS;EAChB,QAAQ,KAAU;EAClB,MAAK;EACL,cAAY;EACZ,eAAa,IAAQ,KAAA,IAAY;EACjC,MAAM,IAAQ,QAAQ,KAAA;EACtB,WAAU;EACV,GAAI;YAEH;EACG,CAAA"}
1
+ {"version":3,"file":"Icon.js","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { AnyIconDefinition, IconDefinition } from '@gnome-ui/icons';\nimport type { SVGAttributes } from 'react';\n\nexport type IconSize = 'sm' | 'md' | 'lg';\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return 'paths' in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({ icon, size = 'md', label, width, height, ...props }: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon) ? icon.viewBox : (icon.viewBox ?? '0 0 24 24');\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? 'img' : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":";;AAqBA,IAAM,IAAqC;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI;AAErE,SAAS,EAAiB,GAAiD;AAEzE,QAAO,WAAW,KAAQ,MAAM,QAAS,EAAwB,MAAM;;AAkBzE,SAAgB,EAAK,EAAE,SAAM,UAAO,MAAM,UAAO,UAAO,WAAQ,GAAG,KAAoB;CACrF,IAAM,IAAK,EAAS,IAEd,IAAkB,EAAiB,EAAK,GAAG,EAAK,UAAW,EAAK,WAAW,aAE3E,IAAQ,EAAiB,EAAK,GAChC,EAAK,MAAM,KAAK,GAAG,MACjB,kBAAC,QAAD;EAAc,GAAG,EAAE;EAAG,UAAU,EAAE;EAAU,UAAU,EAAE;EAAU,WAAW,EAAE;EAAa,EAAjF,EAAiF,CAC5F,GACF,CAAC,kBAAC,QAAD,EAAc,GAAG,EAAK,MAAQ,EAAnB,EAAmB,CAAC;AAEpC,QACE,kBAAC,OAAD;EACE,OAAM;EACN,SAAS;EACT,OAAO,KAAS;EAChB,QAAQ,KAAU;EAClB,MAAK;EACL,cAAY;EACZ,eAAa,IAAQ,KAAA,IAAY;EACjC,MAAM,IAAQ,QAAQ,KAAA;EACtB,WAAU;EACV,GAAI;YAEH;EACG,CAAA"}
@@ -1,2 +1,2 @@
1
- export { Icon } from './Icon';
2
1
  export type { IconProps, IconSize } from './Icon';
2
+ export { Icon } from './Icon';
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.cjs","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from \"../Button\";\nimport { Icon, type IconSize } from \"../Icon\";\nimport { Tooltip, type TooltipPlacement } from \"../Tooltip\";\n\nexport type IconButtonVariant = ButtonVariant | \"osd\";\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n \"aria-label\" | \"children\" | \"leadingIcon\" | \"osd\" | \"shape\" | \"trailingIcon\" | \"variant\"\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton({\n icon,\n label,\n variant = \"default\",\n size = \"md\",\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n}, ref) {\n const buttonVariant = variant === \"osd\" ? \"flat\" : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === \"osd\"}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) return button;\n\n return (\n <Tooltip\n label={tooltip}\n placement={tooltipPlacement}\n delay={tooltipDelay}\n >\n {button}\n </Tooltip>\n );\n});\n"],"mappings":"gKAgCA,IAAM,EAA6D,CACjE,GAAI,KACJ,GAAI,KACJ,GAAI,KACL,CAOY,GAAA,EAAA,EAAA,YAA4D,SAAoB,CAC3F,OACA,QACA,UAAU,UACV,OAAO,KACP,WACA,UACA,mBACA,eACA,GAAG,GACF,EAAK,CACN,IAAM,EAAgB,IAAY,MAAQ,OAAS,EAE7C,GACJ,EAAA,EAAA,KAAC,EAAA,OAAD,CACO,MACL,aAAY,EACZ,MAAM,WACA,OACN,QAAS,EACT,IAAK,IAAY,MACjB,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAM,GAAY,EAAyB,GAAS,CAAA,CAC/D,CAAA,CAKX,OAFK,GAGH,EAAA,EAAA,KAAC,EAAA,QAAD,CACE,MAAO,EACP,UAAW,EACX,MAAO,WAEN,EACO,CAAA,CATS,GAWrB"}
1
+ {"version":3,"file":"IconButton.cjs","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport { forwardRef } from 'react';\n\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from '../Button';\nimport { Icon, type IconSize } from '../Icon';\nimport { Tooltip, type TooltipPlacement } from '../Tooltip';\n\nexport type IconButtonVariant = ButtonVariant | 'osd';\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n 'aria-label' | 'children' | 'leadingIcon' | 'osd' | 'shape' | 'trailingIcon' | 'variant'\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n {\n icon,\n label,\n variant = 'default',\n size = 'md',\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n },\n ref,\n) {\n const buttonVariant = variant === 'osd' ? 'flat' : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === 'osd'}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) {\n return button;\n }\n\n return (\n <Tooltip label={tooltip} placement={tooltipPlacement} delay={tooltipDelay}>\n {button}\n </Tooltip>\n );\n});\n"],"mappings":"gKAiCA,IAAM,EAA6D,CACjE,GAAI,KACJ,GAAI,KACJ,GAAI,KACL,CAOY,GAAA,EAAA,EAAA,YAA4D,SACvE,CACE,OACA,QACA,UAAU,UACV,OAAO,KACP,WACA,UACA,mBACA,eACA,GAAG,GAEL,EACA,CACA,IAAM,EAAgB,IAAY,MAAQ,OAAS,EAE7C,GACJ,EAAA,EAAA,KAAC,EAAA,OAAD,CACO,MACL,aAAY,EACZ,MAAM,WACA,OACN,QAAS,EACT,IAAK,IAAY,MACjB,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAM,GAAY,EAAyB,GAAS,CAAA,CAC/D,CAAA,CAOX,OAJK,GAKH,EAAA,EAAA,KAAC,EAAA,QAAD,CAAS,MAAO,EAAS,UAAW,EAAkB,MAAO,WAC1D,EACO,CAAA,CANH,GAQT"}
@@ -2,9 +2,9 @@ import { IconDefinition } from '@gnome-ui/icons';
2
2
  import { ButtonProps, ButtonSize, ButtonVariant } from '../Button';
3
3
  import { IconSize } from '../Icon';
4
4
  import { TooltipPlacement } from '../Tooltip';
5
- export type IconButtonVariant = ButtonVariant | "osd";
5
+ export type IconButtonVariant = ButtonVariant | 'osd';
6
6
  export type IconButtonSize = ButtonSize;
7
- export interface IconButtonProps extends Omit<ButtonProps, "aria-label" | "children" | "leadingIcon" | "osd" | "shape" | "trailingIcon" | "variant"> {
7
+ export interface IconButtonProps extends Omit<ButtonProps, 'aria-label' | 'children' | 'leadingIcon' | 'osd' | 'shape' | 'trailingIcon' | 'variant'> {
8
8
  /** Icon definition imported from `@gnome-ui/icons`. */
9
9
  icon: IconDefinition;
10
10
  /** Accessible name for the icon-only button. */
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from \"../Button\";\nimport { Icon, type IconSize } from \"../Icon\";\nimport { Tooltip, type TooltipPlacement } from \"../Tooltip\";\n\nexport type IconButtonVariant = ButtonVariant | \"osd\";\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n \"aria-label\" | \"children\" | \"leadingIcon\" | \"osd\" | \"shape\" | \"trailingIcon\" | \"variant\"\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton({\n icon,\n label,\n variant = \"default\",\n size = \"md\",\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n}, ref) {\n const buttonVariant = variant === \"osd\" ? \"flat\" : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === \"osd\"}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) return button;\n\n return (\n <Tooltip\n label={tooltip}\n placement={tooltipPlacement}\n delay={tooltipDelay}\n >\n {button}\n </Tooltip>\n );\n});\n"],"mappings":";;;;;;AAgCA,IAAM,IAA6D;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,EAOY,IAAa,EAA+C,SAAoB,EAC3F,SACA,UACA,aAAU,WACV,UAAO,MACP,aACA,YACA,qBACA,iBACA,GAAG,KACF,GAAK;CACN,IAAM,IAAgB,MAAY,QAAQ,SAAS,GAE7C,IACJ,kBAAC,GAAD;EACO;EACL,cAAY;EACZ,OAAM;EACA;EACN,SAAS;EACT,KAAK,MAAY;EACjB,GAAI;YAEJ,kBAAC,GAAD;GAAY;GAAM,MAAM,KAAY,EAAyB;GAAS,CAAA;EAC/D,CAAA;AAKX,QAFK,IAGH,kBAAC,GAAD;EACE,OAAO;EACP,WAAW;EACX,OAAO;YAEN;EACO,CAAA,GATS;EAWrB"}
1
+ {"version":3,"file":"IconButton.js","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport { forwardRef } from 'react';\n\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from '../Button';\nimport { Icon, type IconSize } from '../Icon';\nimport { Tooltip, type TooltipPlacement } from '../Tooltip';\n\nexport type IconButtonVariant = ButtonVariant | 'osd';\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n 'aria-label' | 'children' | 'leadingIcon' | 'osd' | 'shape' | 'trailingIcon' | 'variant'\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n {\n icon,\n label,\n variant = 'default',\n size = 'md',\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n },\n ref,\n) {\n const buttonVariant = variant === 'osd' ? 'flat' : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === 'osd'}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) {\n return button;\n }\n\n return (\n <Tooltip label={tooltip} placement={tooltipPlacement} delay={tooltipDelay}>\n {button}\n </Tooltip>\n );\n});\n"],"mappings":";;;;;;AAiCA,IAAM,IAA6D;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,EAOY,IAAa,EAA+C,SACvE,EACE,SACA,UACA,aAAU,WACV,UAAO,MACP,aACA,YACA,qBACA,iBACA,GAAG,KAEL,GACA;CACA,IAAM,IAAgB,MAAY,QAAQ,SAAS,GAE7C,IACJ,kBAAC,GAAD;EACO;EACL,cAAY;EACZ,OAAM;EACA;EACN,SAAS;EACT,KAAK,MAAY;EACjB,GAAI;YAEJ,kBAAC,GAAD;GAAY;GAAM,MAAM,KAAY,EAAyB;GAAS,CAAA;EAC/D,CAAA;AAOX,QAJK,IAKH,kBAAC,GAAD;EAAS,OAAO;EAAS,WAAW;EAAkB,OAAO;YAC1D;EACO,CAAA,GANH;EAQT"}
@@ -1,2 +1,2 @@
1
- export { IconButton } from './IconButton';
2
1
  export type { IconButtonProps, IconButtonSize, IconButtonVariant } from './IconButton';
2
+ export { IconButton } from './IconButton';
@@ -1,2 +1,2 @@
1
- const e=require(`./InlineViewSwitcher.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(`InlineViewSwitcherItem must be used inside InlineViewSwitcher`);return e}function a({value:i,onValueChange:a,variant:o=`default`,"aria-label":s=`View switcher`,children:c,className:l,...u}){let d=(0,t.useRef)(null);function f(e){let t=Array.from(d.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)(r.Provider,{value:{value:i,onValueChange:a},children:(0,n.jsx)(`div`,{ref:d,role:`radiogroup`,"aria-label":s,onKeyDown:f,className:[e.default.switcher,e.default[o],l].filter(Boolean).join(` `),...u,children:c})})}exports.InlineViewSwitcher=a,exports.useInlineViewSwitcher=i;
1
+ const e=require(`./InlineViewSwitcher.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(`InlineViewSwitcherItem must be used inside InlineViewSwitcher`);return e}function a({value:i,onValueChange:a,variant:o=`default`,"aria-label":s=`View switcher`,children:c,className:l,...u}){let d=(0,t.useRef)(null);function f(e){let t=Array.from(d.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)(r.Provider,{value:{value:i,onValueChange:a},children:(0,n.jsx)(`div`,{ref:d,role:`radiogroup`,"aria-label":s,onKeyDown:f,className:[e.default.switcher,e.default[o],l].filter(Boolean).join(` `),...u,children:c})})}exports.InlineViewSwitcher=a,exports.useInlineViewSwitcher=i;
2
2
  //# sourceMappingURL=InlineViewSwitcher.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcher.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./InlineViewSwitcher.module.css\";\n\nexport type InlineViewSwitcherVariant = \"default\" | \"flat\" | \"round\" | \"pill\";\n\n// ─── Internal context ──────────────────────────────────────────────────────────\n\ninterface InlineViewSwitcherContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst InlineViewSwitcherContext =\n createContext<InlineViewSwitcherContextValue | null>(null);\n\nexport function useInlineViewSwitcher() {\n const ctx = useContext(InlineViewSwitcherContext);\n if (!ctx)\n throw new Error(\n \"InlineViewSwitcherItem must be used inside InlineViewSwitcher\",\n );\n return ctx;\n}\n\n// ─── InlineViewSwitcher ────────────────────────────────────────────────────────\n\nexport interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n /** Currently active view name. */\n value: string;\n /** Called with the new value when a view is selected. */\n onValueChange: (value: string) => void;\n /**\n * Visual style of the switcher.\n * - `default` — card background with border and shadow (same as `ToggleGroup`).\n * - `flat` — no background or border; active indicator only.\n * - `round` — pill-shaped container and items.\n * - `pill` — segmented-control style; active item appears lifted, no accent color.\n */\n variant?: InlineViewSwitcherVariant;\n /** Accessible label for the group. */\n \"aria-label\"?: string;\n children?: ReactNode;\n}\n\n/**\n * Compact inline view switcher for placing inside content areas, cards, or\n * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.\n *\n * Built on `ToggleGroup` internals with `flat` and `round` style variants.\n * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).\n *\n * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html\n */\nexport function InlineViewSwitcher({\n value,\n onValueChange,\n variant = \"default\",\n \"aria-label\": ariaLabel = \"View switcher\",\n children,\n className,\n ...props\n}: InlineViewSwitcherProps) {\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 <InlineViewSwitcherContext.Provider value={{ value, onValueChange }}>\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </div>\n </InlineViewSwitcherContext.Provider>\n );\n}\n"],"mappings":"6GAmBA,IAAM,GAAA,EAAA,EAAA,eACiD,KAAK,CAE5D,SAAgB,GAAwB,CACtC,IAAM,GAAA,EAAA,EAAA,YAAiB,EAA0B,CACjD,GAAI,CAAC,EACH,MAAU,MACR,gEACD,CACH,OAAO,EAkCT,SAAgB,EAAmB,CACjC,QACA,gBACA,UAAU,UACV,aAAc,EAAY,gBAC1B,WACA,YACA,GAAG,GACuB,CAC1B,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,EAA0B,SAA3B,CAAoC,MAAO,CAAE,QAAO,gBAAe,WACjE,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EACX,UAAW,CAAC,EAAA,QAAO,SAAU,EAAA,QAAO,GAAU,EAAU,CACrD,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,EAEH,WACG,CAAA,CAC6B,CAAA"}
1
+ {"version":3,"file":"InlineViewSwitcher.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.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 './InlineViewSwitcher.module.css';\n\nexport type InlineViewSwitcherVariant = 'default' | 'flat' | 'round' | 'pill';\n\n// ─── Internal context ──────────────────────────────────────────────────────────\n\ninterface InlineViewSwitcherContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst InlineViewSwitcherContext = createContext<InlineViewSwitcherContextValue | null>(null);\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useInlineViewSwitcher() {\n const ctx = useContext(InlineViewSwitcherContext);\n\n if (!ctx) {\n throw new Error('InlineViewSwitcherItem must be used inside InlineViewSwitcher');\n }\n\n return ctx;\n}\n\n// ─── InlineViewSwitcher ────────────────────────────────────────────────────────\n\nexport interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n /** Currently active view name. */\n value: string;\n /** Called with the new value when a view is selected. */\n onValueChange: (value: string) => void;\n /**\n * Visual style of the switcher.\n * - `default` — card background with border and shadow (same as `ToggleGroup`).\n * - `flat` — no background or border; active indicator only.\n * - `round` — pill-shaped container and items.\n * - `pill` — segmented-control style; active item appears lifted, no accent color.\n */\n variant?: InlineViewSwitcherVariant;\n /** Accessible label for the group. */\n 'aria-label'?: string;\n children?: ReactNode;\n}\n\n/**\n * Compact inline view switcher for placing inside content areas, cards, or\n * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.\n *\n * Built on `ToggleGroup` internals with `flat` and `round` style variants.\n * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).\n *\n * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html\n */\nexport function InlineViewSwitcher({\n value,\n onValueChange,\n variant = 'default',\n 'aria-label': ariaLabel = 'View switcher',\n children,\n className,\n ...props\n}: InlineViewSwitcherProps) {\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 <InlineViewSwitcherContext.Provider value={{ value, onValueChange }}>\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n </InlineViewSwitcherContext.Provider>\n );\n}\n"],"mappings":"6GAoBA,IAAM,GAAA,EAAA,EAAA,eAAiF,KAAK,CAG5F,SAAgB,GAAwB,CACtC,IAAM,GAAA,EAAA,EAAA,YAAiB,EAA0B,CAEjD,GAAI,CAAC,EACH,MAAU,MAAM,gEAAgE,CAGlF,OAAO,EAkCT,SAAgB,EAAmB,CACjC,QACA,gBACA,UAAU,UACV,aAAc,EAAY,gBAC1B,WACA,YACA,GAAG,GACuB,CAC1B,IAAM,GAAA,EAAA,EAAA,QAAkC,KAAK,CAE7C,SAAS,EAAc,EAAkC,CACvD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,8BAA8B,EAAI,EAAE,CAC3F,CACK,EAAgB,SAAS,cACzB,EAAM,aAAyB,kBAAoB,EAAM,QAAQ,EAAc,CAAG,GAExF,GAAI,IAAQ,GACV,OAGF,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,cAAgB,EAAE,MAAQ,YACtC,GAAQ,EAAM,GAAK,EAAM,eAChB,EAAE,MAAQ,aAAe,EAAE,MAAQ,UAC5C,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,eAC/B,EAAE,MAAQ,OACnB,EAAO,UACE,EAAE,MAAQ,MACnB,EAAO,EAAM,OAAS,OAEtB,OAGF,EAAE,gBAAgB,CAClB,EAAM,GAAM,OAAO,CACnB,EAAM,GAAM,OAAO,CAGrB,OACE,EAAA,EAAA,KAAC,EAA0B,SAA3B,CAAoC,MAAO,CAAE,QAAO,gBAAe,WACjE,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EACX,UAAW,CAAC,EAAA,QAAO,SAAU,EAAA,QAAO,GAAU,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAClF,GAAI,EAEH,WACG,CAAA,CAC6B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
- export type InlineViewSwitcherVariant = "default" | "flat" | "round" | "pill";
2
+ export type InlineViewSwitcherVariant = 'default' | 'flat' | 'round' | 'pill';
3
3
  interface InlineViewSwitcherContextValue {
4
4
  value: string;
5
5
  onValueChange: (value: string) => void;
@@ -19,7 +19,7 @@ export interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement>
19
19
  */
20
20
  variant?: InlineViewSwitcherVariant;
21
21
  /** Accessible label for the group. */
22
- "aria-label"?: string;
22
+ 'aria-label'?: string;
23
23
  children?: ReactNode;
24
24
  }
25
25
  /**
@@ -33,5 +33,5 @@ export interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement>
33
33
  *
34
34
  * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html
35
35
  */
36
- export declare function InlineViewSwitcher({ value, onValueChange, variant, "aria-label": ariaLabel, children, className, ...props }: InlineViewSwitcherProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function InlineViewSwitcher({ value, onValueChange, variant, 'aria-label': ariaLabel, children, className, ...props }: InlineViewSwitcherProps): import("react/jsx-runtime").JSX.Element;
37
37
  export {};
@@ -11,15 +11,15 @@ function o() {
11
11
  function s({ value: t, onValueChange: n, variant: o = "default", "aria-label": s = "View switcher", children: c, className: l, ...u }) {
12
12
  let d = r(null);
13
13
  function f(e) {
14
- let t = Array.from(d.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 === "ArrowRight" || e.key === "ArrowDown") r = (n + 1) % t.length;
18
- else if (e.key === "ArrowLeft" || e.key === "ArrowUp") 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(d.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 === "ArrowRight" || e.key === "ArrowDown") i = (r + 1) % t.length;
18
+ else if (e.key === "ArrowLeft" || e.key === "ArrowUp") 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(a.Provider, {
25
25
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcher.js","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./InlineViewSwitcher.module.css\";\n\nexport type InlineViewSwitcherVariant = \"default\" | \"flat\" | \"round\" | \"pill\";\n\n// ─── Internal context ──────────────────────────────────────────────────────────\n\ninterface InlineViewSwitcherContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst InlineViewSwitcherContext =\n createContext<InlineViewSwitcherContextValue | null>(null);\n\nexport function useInlineViewSwitcher() {\n const ctx = useContext(InlineViewSwitcherContext);\n if (!ctx)\n throw new Error(\n \"InlineViewSwitcherItem must be used inside InlineViewSwitcher\",\n );\n return ctx;\n}\n\n// ─── InlineViewSwitcher ────────────────────────────────────────────────────────\n\nexport interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n /** Currently active view name. */\n value: string;\n /** Called with the new value when a view is selected. */\n onValueChange: (value: string) => void;\n /**\n * Visual style of the switcher.\n * - `default` — card background with border and shadow (same as `ToggleGroup`).\n * - `flat` — no background or border; active indicator only.\n * - `round` — pill-shaped container and items.\n * - `pill` — segmented-control style; active item appears lifted, no accent color.\n */\n variant?: InlineViewSwitcherVariant;\n /** Accessible label for the group. */\n \"aria-label\"?: string;\n children?: ReactNode;\n}\n\n/**\n * Compact inline view switcher for placing inside content areas, cards, or\n * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.\n *\n * Built on `ToggleGroup` internals with `flat` and `round` style variants.\n * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).\n *\n * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html\n */\nexport function InlineViewSwitcher({\n value,\n onValueChange,\n variant = \"default\",\n \"aria-label\": ariaLabel = \"View switcher\",\n children,\n className,\n ...props\n}: InlineViewSwitcherProps) {\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 <InlineViewSwitcherContext.Provider value={{ value, onValueChange }}>\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </div>\n </InlineViewSwitcherContext.Provider>\n );\n}\n"],"mappings":";;;;AAmBA,IAAM,IACJ,EAAqD,KAAK;AAE5D,SAAgB,IAAwB;CACtC,IAAM,IAAM,EAAW,EAA0B;AACjD,KAAI,CAAC,EACH,OAAU,MACR,gEACD;AACH,QAAO;;AAkCT,SAAgB,EAAmB,EACjC,UACA,kBACA,aAAU,WACV,cAAc,IAAY,iBAC1B,aACA,cACA,GAAG,KACuB;CAC1B,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,EAA0B,UAA3B;EAAoC,OAAO;GAAE;GAAO;GAAe;YACjE,kBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAY;GACZ,WAAW;GACX,WAAW;IAAC,EAAO;IAAU,EAAO;IAAU;IAAU,CACrD,OAAO,QAAQ,CACf,KAAK,IAAI;GACZ,GAAI;GAEH;GACG,CAAA;EAC6B,CAAA"}
1
+ {"version":3,"file":"InlineViewSwitcher.js","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.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 './InlineViewSwitcher.module.css';\n\nexport type InlineViewSwitcherVariant = 'default' | 'flat' | 'round' | 'pill';\n\n// ─── Internal context ──────────────────────────────────────────────────────────\n\ninterface InlineViewSwitcherContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst InlineViewSwitcherContext = createContext<InlineViewSwitcherContextValue | null>(null);\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useInlineViewSwitcher() {\n const ctx = useContext(InlineViewSwitcherContext);\n\n if (!ctx) {\n throw new Error('InlineViewSwitcherItem must be used inside InlineViewSwitcher');\n }\n\n return ctx;\n}\n\n// ─── InlineViewSwitcher ────────────────────────────────────────────────────────\n\nexport interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n /** Currently active view name. */\n value: string;\n /** Called with the new value when a view is selected. */\n onValueChange: (value: string) => void;\n /**\n * Visual style of the switcher.\n * - `default` — card background with border and shadow (same as `ToggleGroup`).\n * - `flat` — no background or border; active indicator only.\n * - `round` — pill-shaped container and items.\n * - `pill` — segmented-control style; active item appears lifted, no accent color.\n */\n variant?: InlineViewSwitcherVariant;\n /** Accessible label for the group. */\n 'aria-label'?: string;\n children?: ReactNode;\n}\n\n/**\n * Compact inline view switcher for placing inside content areas, cards, or\n * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.\n *\n * Built on `ToggleGroup` internals with `flat` and `round` style variants.\n * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).\n *\n * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html\n */\nexport function InlineViewSwitcher({\n value,\n onValueChange,\n variant = 'default',\n 'aria-label': ariaLabel = 'View switcher',\n children,\n className,\n ...props\n}: InlineViewSwitcherProps) {\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 <InlineViewSwitcherContext.Provider value={{ value, onValueChange }}>\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n </InlineViewSwitcherContext.Provider>\n );\n}\n"],"mappings":";;;;AAoBA,IAAM,IAA4B,EAAqD,KAAK;AAG5F,SAAgB,IAAwB;CACtC,IAAM,IAAM,EAAW,EAA0B;AAEjD,KAAI,CAAC,EACH,OAAU,MAAM,gEAAgE;AAGlF,QAAO;;AAkCT,SAAgB,EAAmB,EACjC,UACA,kBACA,aAAU,WACV,cAAc,IAAY,iBAC1B,aACA,cACA,GAAG,KACuB;CAC1B,IAAM,IAAW,EAAuB,KAAK;CAE7C,SAAS,EAAc,GAAkC;EACvD,IAAM,IAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,8BAA8B,IAAI,EAAE,CAC3F,EACK,IAAgB,SAAS,eACzB,IAAM,aAAyB,oBAAoB,EAAM,QAAQ,EAAc,GAAG;AAExF,MAAI,MAAQ,GACV;EAGF,IAAI,IAAO;AACX,MAAI,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,YACtC,MAAQ,IAAM,KAAK,EAAM;WAChB,EAAE,QAAQ,eAAe,EAAE,QAAQ,UAC5C,MAAQ,IAAM,IAAI,EAAM,UAAU,EAAM;WAC/B,EAAE,QAAQ,OACnB,KAAO;WACE,EAAE,QAAQ,MACnB,KAAO,EAAM,SAAS;MAEtB;AAKF,EAFA,EAAE,gBAAgB,EAClB,EAAM,GAAM,OAAO,EACnB,EAAM,GAAM,OAAO;;AAGrB,QACE,kBAAC,EAA0B,UAA3B;EAAoC,OAAO;GAAE;GAAO;GAAe;YACjE,kBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAY;GACZ,WAAW;GACX,WAAW;IAAC,EAAO;IAAU,EAAO;IAAU;IAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GAClF,GAAI;GAEH;GACG,CAAA;EAC6B,CAAA"}
@@ -1,2 +1,2 @@
1
- var e={switcher:`_switcher_15xk5_3`,item:`_item_15xk5_10`,iconOnly:`_iconOnly_15xk5_38`,itemIcon:`_itemIcon_15xk5_43`,itemLabel:`_itemLabel_15xk5_49`,default:`_default_15xk5_55`,active:`_active_15xk5_68`,flat:`_flat_15xk5_121`,round:`_round_15xk5_169`,pill:`_pill_15xk5_235`};exports.default=e;
1
+ var e={switcher:`_switcher_2455r_3`,item:`_item_2455r_10`,iconOnly:`_iconOnly_2455r_38`,itemIcon:`_itemIcon_2455r_43`,itemLabel:`_itemLabel_2455r_49`,default:`_default_2455r_55`,active:`_active_2455r_68`,flat:`_flat_2455r_123`,round:`_round_2455r_171`,pill:`_pill_2455r_237`};exports.default=e;
2
2
  //# sourceMappingURL=InlineViewSwitcher.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcher.module.css.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.module.css"],"sourcesContent":["/* ─── Switcher container ────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: stretch;\n}\n\n/* ─── Item base ─────────────────────────────────────────────────────────────── */\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\n padding: 4px var(--gnome-space-2, 12px);\n min-height: 28px;\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-window-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 box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.itemLabel {\n line-height: 1;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.default .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n}\n\n.default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.default .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 40%, transparent);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .default .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n\n .default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 50%, transparent);\n }\n}\n\n/* ─── Variant: flat ─────────────────────────────────────────────────────────── */\n\n.flat {\n background: transparent;\n border: none;\n box-shadow: none;\n border-radius: var(--gnome-radius-md);\n padding: 2px;\n gap: 2px;\n}\n\n.flat .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.6));\n}\n\n.flat .item:hover:not(:disabled):not(.active) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.flat .item:active:not(:disabled):not(.active) {\n background-color: var(--gnome-active-overlay);\n}\n\n.flat .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n@media (prefers-color-scheme: dark) {\n .flat .item {\n color: var(--gnome-window-fg-color, rgba(255, 255, 255, 0.6));\n }\n\n .flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n }\n}\n\n/* ─── Variant: round ────────────────────────────────────────────────────────── */\n\n.round {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.round .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 4px var(--gnome-space-2, 12px);\n}\n\n.round .iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.round .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.round .active {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: none;\n}\n\n@media (prefers-color-scheme: dark) {\n .round {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .round .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n}\n\n/* ─── Variant: pill ─────────────────────────────────────────────────────────── */\n\n.pill {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.06));\n border: none;\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: none;\n padding: 3px;\n gap: 2px;\n}\n\n.pill .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 5px var(--gnome-space-2, 16px);\n color: var(--gnome-window-fg-color);\n}\n\n.pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.08);\n}\n\n.pill .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) transparent,\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.pill .active {\n background-color: var(--gnome-card-bg-color, #ffffff);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n font-weight: var(--gnome-font-weight-semibold, 600);\n color: var(--gnome-window-fg-color);\n}\n\n@media (prefers-color-scheme: dark) {\n .pill {\n background-color: var(--gnome-hover-overlay, rgba(255, 255, 255, 0.08));\n }\n\n .pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.05);\n }\n\n .pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.10);\n }\n\n .pill .active {\n background-color: var(--gnome-card-bg-color, #383838);\n box-shadow: none;\n }\n}\n\n/* ─── Disabled ──────────────────────────────────────────────────────────────── */\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\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":"InlineViewSwitcher.module.css.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.module.css"],"sourcesContent":["/* ─── Switcher container ────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: stretch;\n}\n\n/* ─── Item base ─────────────────────────────────────────────────────────────── */\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\n padding: 4px var(--gnome-space-2, 12px);\n min-height: 28px;\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-window-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 box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.itemLabel {\n line-height: 1;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.default .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n}\n\n.default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.default .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: inset 0 0 0 1px\n color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 40%, transparent);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .default .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n\n .default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n box-shadow: inset 0 0 0 1px\n color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 50%, transparent);\n }\n}\n\n/* ─── Variant: flat ─────────────────────────────────────────────────────────── */\n\n.flat {\n background: transparent;\n border: none;\n box-shadow: none;\n border-radius: var(--gnome-radius-md);\n padding: 2px;\n gap: 2px;\n}\n\n.flat .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.6));\n}\n\n.flat .item:hover:not(:disabled):not(.active) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.flat .item:active:not(:disabled):not(.active) {\n background-color: var(--gnome-active-overlay);\n}\n\n.flat .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n@media (prefers-color-scheme: dark) {\n .flat .item {\n color: var(--gnome-window-fg-color, rgba(255, 255, 255, 0.6));\n }\n\n .flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n }\n}\n\n/* ─── Variant: round ────────────────────────────────────────────────────────── */\n\n.round {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.round .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 4px var(--gnome-space-2, 12px);\n}\n\n.round .iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.round .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.round .active {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: none;\n}\n\n@media (prefers-color-scheme: dark) {\n .round {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .round .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n}\n\n/* ─── Variant: pill ─────────────────────────────────────────────────────────── */\n\n.pill {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.06));\n border: none;\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: none;\n padding: 3px;\n gap: 2px;\n}\n\n.pill .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 5px var(--gnome-space-2, 16px);\n color: var(--gnome-window-fg-color);\n}\n\n.pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.08);\n}\n\n.pill .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) transparent,\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.pill .active {\n background-color: var(--gnome-card-bg-color, #ffffff);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n font-weight: var(--gnome-font-weight-semibold, 600);\n color: var(--gnome-window-fg-color);\n}\n\n@media (prefers-color-scheme: dark) {\n .pill {\n background-color: var(--gnome-hover-overlay, rgba(255, 255, 255, 0.08));\n }\n\n .pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.05);\n }\n\n .pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.1);\n }\n\n .pill .active {\n background-color: var(--gnome-card-bg-color, #383838);\n box-shadow: none;\n }\n}\n\n/* ─── Disabled ──────────────────────────────────────────────────────────────── */\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .item {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,14 +1,14 @@
1
1
  var e = {
2
- switcher: "_switcher_15xk5_3",
3
- item: "_item_15xk5_10",
4
- iconOnly: "_iconOnly_15xk5_38",
5
- itemIcon: "_itemIcon_15xk5_43",
6
- itemLabel: "_itemLabel_15xk5_49",
7
- default: "_default_15xk5_55",
8
- active: "_active_15xk5_68",
9
- flat: "_flat_15xk5_121",
10
- round: "_round_15xk5_169",
11
- pill: "_pill_15xk5_235"
2
+ switcher: "_switcher_2455r_3",
3
+ item: "_item_2455r_10",
4
+ iconOnly: "_iconOnly_2455r_38",
5
+ itemIcon: "_itemIcon_2455r_43",
6
+ itemLabel: "_itemLabel_2455r_49",
7
+ default: "_default_2455r_55",
8
+ active: "_active_2455r_68",
9
+ flat: "_flat_2455r_123",
10
+ round: "_round_2455r_171",
11
+ pill: "_pill_2455r_237"
12
12
  };
13
13
  //#endregion
14
14
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcher.module.css.js","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.module.css"],"sourcesContent":["/* ─── Switcher container ────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: stretch;\n}\n\n/* ─── Item base ─────────────────────────────────────────────────────────────── */\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\n padding: 4px var(--gnome-space-2, 12px);\n min-height: 28px;\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-window-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 box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.itemLabel {\n line-height: 1;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.default .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n}\n\n.default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.default .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 40%, transparent);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .default .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n\n .default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 50%, transparent);\n }\n}\n\n/* ─── Variant: flat ─────────────────────────────────────────────────────────── */\n\n.flat {\n background: transparent;\n border: none;\n box-shadow: none;\n border-radius: var(--gnome-radius-md);\n padding: 2px;\n gap: 2px;\n}\n\n.flat .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.6));\n}\n\n.flat .item:hover:not(:disabled):not(.active) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.flat .item:active:not(:disabled):not(.active) {\n background-color: var(--gnome-active-overlay);\n}\n\n.flat .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n@media (prefers-color-scheme: dark) {\n .flat .item {\n color: var(--gnome-window-fg-color, rgba(255, 255, 255, 0.6));\n }\n\n .flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n }\n}\n\n/* ─── Variant: round ────────────────────────────────────────────────────────── */\n\n.round {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.round .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 4px var(--gnome-space-2, 12px);\n}\n\n.round .iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.round .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.round .active {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: none;\n}\n\n@media (prefers-color-scheme: dark) {\n .round {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .round .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n}\n\n/* ─── Variant: pill ─────────────────────────────────────────────────────────── */\n\n.pill {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.06));\n border: none;\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: none;\n padding: 3px;\n gap: 2px;\n}\n\n.pill .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 5px var(--gnome-space-2, 16px);\n color: var(--gnome-window-fg-color);\n}\n\n.pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.08);\n}\n\n.pill .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) transparent,\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.pill .active {\n background-color: var(--gnome-card-bg-color, #ffffff);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n font-weight: var(--gnome-font-weight-semibold, 600);\n color: var(--gnome-window-fg-color);\n}\n\n@media (prefers-color-scheme: dark) {\n .pill {\n background-color: var(--gnome-hover-overlay, rgba(255, 255, 255, 0.08));\n }\n\n .pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.05);\n }\n\n .pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.10);\n }\n\n .pill .active {\n background-color: var(--gnome-card-bg-color, #383838);\n box-shadow: none;\n }\n}\n\n/* ─── Disabled ──────────────────────────────────────────────────────────────── */\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\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":"InlineViewSwitcher.module.css.js","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.module.css"],"sourcesContent":["/* ─── Switcher container ────────────────────────────────────────────────────── */\n\n.switcher {\n display: inline-flex;\n align-items: stretch;\n}\n\n/* ─── Item base ─────────────────────────────────────────────────────────────── */\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\n padding: 4px var(--gnome-space-2, 12px);\n min-height: 28px;\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-window-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 box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.itemIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.itemLabel {\n line-height: 1;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.default .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n}\n\n.default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.default .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: inset 0 0 0 1px\n color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 40%, transparent);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .default .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .default .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n\n .default .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n box-shadow: inset 0 0 0 1px\n color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 50%, transparent);\n }\n}\n\n/* ─── Variant: flat ─────────────────────────────────────────────────────────── */\n\n.flat {\n background: transparent;\n border: none;\n box-shadow: none;\n border-radius: var(--gnome-radius-md);\n padding: 2px;\n gap: 2px;\n}\n\n.flat .item {\n border-radius: calc(var(--gnome-radius-md) - 2px);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.6));\n}\n\n.flat .item:hover:not(:disabled):not(.active) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.flat .item:active:not(:disabled):not(.active) {\n background-color: var(--gnome-active-overlay);\n}\n\n.flat .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 15%, transparent);\n color: var(--gnome-accent-color, #3584e4);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n@media (prefers-color-scheme: dark) {\n .flat .item {\n color: var(--gnome-window-fg-color, rgba(255, 255, 255, 0.6));\n }\n\n .flat .active {\n background-color: color-mix(in srgb, var(--gnome-accent-bg-color, #3584e4) 25%, transparent);\n color: var(--gnome-accent-color, #78aeed);\n }\n}\n\n/* ─── Variant: round ────────────────────────────────────────────────────────── */\n\n.round {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid var(--gnome-light-3, #deddda);\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: var(--gnome-shadow-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.round .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 4px var(--gnome-space-2, 12px);\n}\n\n.round .iconOnly {\n padding: 4px;\n min-width: 28px;\n}\n\n.round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.06);\n}\n\n.round .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #ffffff),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.round .active {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n font-weight: var(--gnome-font-weight-semibold, 600);\n box-shadow: none;\n}\n\n@media (prefers-color-scheme: dark) {\n .round {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .round .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .round .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.14);\n }\n\n .round .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-card-bg-color, #383838),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #78aeed);\n }\n}\n\n/* ─── Variant: pill ─────────────────────────────────────────────────────────── */\n\n.pill {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.06));\n border: none;\n border-radius: var(--gnome-radius-pill, 9999px);\n box-shadow: none;\n padding: 3px;\n gap: 2px;\n}\n\n.pill .item {\n border-radius: var(--gnome-radius-pill, 9999px);\n padding: 5px var(--gnome-space-2, 16px);\n color: var(--gnome-window-fg-color);\n}\n\n.pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(0, 0, 0, 0.08);\n}\n\n.pill .item:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) transparent,\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 2px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.pill .active {\n background-color: var(--gnome-card-bg-color, #ffffff);\n box-shadow: var(--gnome-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.12));\n font-weight: var(--gnome-font-weight-semibold, 600);\n color: var(--gnome-window-fg-color);\n}\n\n@media (prefers-color-scheme: dark) {\n .pill {\n background-color: var(--gnome-hover-overlay, rgba(255, 255, 255, 0.08));\n }\n\n .pill .item:hover:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.05);\n }\n\n .pill .item:active:not(:disabled):not(.active) {\n background-color: rgba(255, 255, 255, 0.1);\n }\n\n .pill .active {\n background-color: var(--gnome-card-bg-color, #383838);\n box-shadow: none;\n }\n}\n\n/* ─── Disabled ──────────────────────────────────────────────────────────────── */\n\n.item:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .item {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcherItem.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcherItem.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport { useInlineViewSwitcher } from \"./InlineViewSwitcher\";\nimport styles from \"./InlineViewSwitcher.module.css\";\n\nexport interface InlineViewSwitcherItemProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** String identifier — used as the switcher's `value` when this item is active. */\n name: string;\n /** Visible label. */\n label?: string;\n /** Icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n}\n\n/**\n * Individual view option inside an `InlineViewSwitcher`.\n *\n * Can be icon-only, label-only, or icon + label. For icon-only items always\n * provide an `aria-label` so screen readers can identify the view.\n */\nexport function InlineViewSwitcherItem({\n name,\n label,\n icon,\n disabled,\n className,\n ...props\n}: InlineViewSwitcherItemProps) {\n const { value, onValueChange } = useInlineViewSwitcher();\n const active = value === name;\n const iconOnly = icon && !label;\n\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n onClick={() => onValueChange(name)}\n className={[\n styles.item,\n active ? styles.active : null,\n iconOnly ? styles.iconOnly : 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 {label && <span className={styles.itemLabel}>{label}</span>}\n </button>\n );\n}\n"],"mappings":"8JAsBA,SAAgB,EAAuB,CACrC,OACA,QACA,OACA,WACA,YACA,GAAG,GAC2B,CAC9B,GAAM,CAAE,QAAO,iBAAkB,EAAA,uBAAuB,CAClD,EAAS,IAAU,EACnB,EAAW,GAAQ,CAAC,EAE1B,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,KAAK,QACL,eAAc,EACd,SAAU,EAAS,EAAI,GACb,WACV,YAAe,EAAc,EAAK,CAClC,UAAW,CACT,EAAA,QAAO,KACP,EAAS,EAAA,QAAO,OAAS,KACzB,EAAW,EAAA,QAAO,SAAW,KAC7B,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAfN,CAiBG,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBACtB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAK,KAAK,cAAA,GAAc,CAAA,CACrC,CAAA,CAER,IAAS,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBAAY,EAAa,CAAA,CACpD"}
1
+ {"version":3,"file":"InlineViewSwitcherItem.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcherItem.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { ButtonHTMLAttributes } from 'react';\n\nimport { Icon } from '../Icon';\n\nimport { useInlineViewSwitcher } from './InlineViewSwitcher';\nimport styles from './InlineViewSwitcher.module.css';\n\nexport interface InlineViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** String identifier — used as the switcher's `value` when this item is active. */\n name: string;\n /** Visible label. */\n label?: string;\n /** Icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n}\n\n/**\n * Individual view option inside an `InlineViewSwitcher`.\n *\n * Can be icon-only, label-only, or icon + label. For icon-only items always\n * provide an `aria-label` so screen readers can identify the view.\n */\nexport function InlineViewSwitcherItem({\n name,\n label,\n icon,\n disabled,\n className,\n ...props\n}: InlineViewSwitcherItemProps) {\n const { value, onValueChange } = useInlineViewSwitcher();\n const active = value === name;\n const iconOnly = icon && !label;\n\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n onClick={() => onValueChange(name)}\n className={[\n styles.item,\n active ? styles.active : null,\n iconOnly ? styles.iconOnly : 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 {label && <span className={styles.itemLabel}>{label}</span>}\n </button>\n );\n}\n"],"mappings":"8JAuBA,SAAgB,EAAuB,CACrC,OACA,QACA,OACA,WACA,YACA,GAAG,GAC2B,CAC9B,GAAM,CAAE,QAAO,iBAAkB,EAAA,uBAAuB,CAClD,EAAS,IAAU,EACnB,EAAW,GAAQ,CAAC,EAE1B,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,KAAK,QACL,eAAc,EACd,SAAU,EAAS,EAAI,GACb,WACV,YAAe,EAAc,EAAK,CAClC,UAAW,CACT,EAAA,QAAO,KACP,EAAS,EAAA,QAAO,OAAS,KACzB,EAAW,EAAA,QAAO,SAAW,KAC7B,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAfN,CAiBG,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBACtB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAK,KAAK,cAAA,GAAc,CAAA,CACrC,CAAA,CAER,IAAS,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBAAY,EAAa,CAAA,CACpD"}
@@ -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 InlineViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  /** String identifier — used as the switcher's `value` when this item is active. */
5
5
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcherItem.js","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcherItem.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport { useInlineViewSwitcher } from \"./InlineViewSwitcher\";\nimport styles from \"./InlineViewSwitcher.module.css\";\n\nexport interface InlineViewSwitcherItemProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** String identifier — used as the switcher's `value` when this item is active. */\n name: string;\n /** Visible label. */\n label?: string;\n /** Icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n}\n\n/**\n * Individual view option inside an `InlineViewSwitcher`.\n *\n * Can be icon-only, label-only, or icon + label. For icon-only items always\n * provide an `aria-label` so screen readers can identify the view.\n */\nexport function InlineViewSwitcherItem({\n name,\n label,\n icon,\n disabled,\n className,\n ...props\n}: InlineViewSwitcherItemProps) {\n const { value, onValueChange } = useInlineViewSwitcher();\n const active = value === name;\n const iconOnly = icon && !label;\n\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n onClick={() => onValueChange(name)}\n className={[\n styles.item,\n active ? styles.active : null,\n iconOnly ? styles.iconOnly : 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 {label && <span className={styles.itemLabel}>{label}</span>}\n </button>\n );\n}\n"],"mappings":";;;;;AAsBA,SAAgB,EAAuB,EACrC,SACA,UACA,SACA,aACA,cACA,GAAG,KAC2B;CAC9B,IAAM,EAAE,UAAO,qBAAkB,GAAuB,EAClD,IAAS,MAAU,GACnB,IAAW,KAAQ,CAAC;AAE1B,QACE,kBAAC,UAAD;EACE,MAAK;EACL,MAAK;EACL,gBAAc;EACd,UAAU,IAAS,IAAI;EACb;EACV,eAAe,EAAc,EAAK;EAClC,WAAW;GACT,EAAO;GACP,IAAS,EAAO,SAAS;GACzB,IAAW,EAAO,WAAW;GAC7B;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAfN,CAiBG,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;aACtB,kBAAC,GAAD;IAAY;IAAM,MAAK;IAAK,eAAA;IAAc,CAAA;GACrC,CAAA,EAER,KAAS,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAY;GAAa,CAAA,CACpD"}
1
+ {"version":3,"file":"InlineViewSwitcherItem.js","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcherItem.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { ButtonHTMLAttributes } from 'react';\n\nimport { Icon } from '../Icon';\n\nimport { useInlineViewSwitcher } from './InlineViewSwitcher';\nimport styles from './InlineViewSwitcher.module.css';\n\nexport interface InlineViewSwitcherItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** String identifier — used as the switcher's `value` when this item is active. */\n name: string;\n /** Visible label. */\n label?: string;\n /** Icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n}\n\n/**\n * Individual view option inside an `InlineViewSwitcher`.\n *\n * Can be icon-only, label-only, or icon + label. For icon-only items always\n * provide an `aria-label` so screen readers can identify the view.\n */\nexport function InlineViewSwitcherItem({\n name,\n label,\n icon,\n disabled,\n className,\n ...props\n}: InlineViewSwitcherItemProps) {\n const { value, onValueChange } = useInlineViewSwitcher();\n const active = value === name;\n const iconOnly = icon && !label;\n\n return (\n <button\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n onClick={() => onValueChange(name)}\n className={[\n styles.item,\n active ? styles.active : null,\n iconOnly ? styles.iconOnly : 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 {label && <span className={styles.itemLabel}>{label}</span>}\n </button>\n );\n}\n"],"mappings":";;;;;AAuBA,SAAgB,EAAuB,EACrC,SACA,UACA,SACA,aACA,cACA,GAAG,KAC2B;CAC9B,IAAM,EAAE,UAAO,qBAAkB,GAAuB,EAClD,IAAS,MAAU,GACnB,IAAW,KAAQ,CAAC;AAE1B,QACE,kBAAC,UAAD;EACE,MAAK;EACL,MAAK;EACL,gBAAc;EACd,UAAU,IAAS,IAAI;EACb;EACV,eAAe,EAAc,EAAK;EAClC,WAAW;GACT,EAAO;GACP,IAAS,EAAO,SAAS;GACzB,IAAW,EAAO,WAAW;GAC7B;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAfN,CAiBG,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;aACtB,kBAAC,GAAD;IAAY;IAAM,MAAK;IAAK,eAAA;IAAc,CAAA;GACrC,CAAA,EAER,KAAS,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAY;GAAa,CAAA,CACpD"}
@@ -1,4 +1,4 @@
1
- export { InlineViewSwitcher } from './InlineViewSwitcher';
2
1
  export type { InlineViewSwitcherProps, InlineViewSwitcherVariant, } from './InlineViewSwitcher';
3
- export { InlineViewSwitcherItem } from './InlineViewSwitcherItem';
2
+ export { InlineViewSwitcher } from './InlineViewSwitcher';
4
3
  export type { InlineViewSwitcherItemProps } from './InlineViewSwitcherItem';
4
+ export { InlineViewSwitcherItem } from './InlineViewSwitcherItem';
@@ -1 +1 @@
1
- {"version":3,"file":"Link.cjs","names":[],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Link.module.css\";\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * When true the link is treated as external: opens in a new tab,\n * adds `rel=\"noopener noreferrer\"`, and shows a trailing ↗ icon.\n */\n external?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Inline hyperlink following GNOME HIG.\n *\n * - Uses the accent colour and shows an underline on hover.\n * - `external` opens a new tab safely and appends a visual ↗ indicator.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/links.html\n */\nexport function Link({\n external = false,\n children,\n className,\n target,\n rel,\n ...props\n}: LinkProps) {\n const isExternal = external || target === \"_blank\";\n\n return (\n <a\n className={[styles.link, className].filter(Boolean).join(\" \")}\n target={isExternal ? \"_blank\" : target}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n {...props}\n >\n {children}\n {isExternal && (\n <span className={styles.externalIcon} aria-label=\"(opens in new tab)\">\n ↗\n </span>\n )}\n </a>\n );\n}\n"],"mappings":"4EAoBA,SAAgB,EAAK,CACnB,WAAW,GACX,WACA,YACA,SACA,MACA,GAAG,GACS,CACZ,IAAM,EAAa,GAAY,IAAW,SAE1C,OACE,EAAA,EAAA,MAAC,IAAD,CACE,UAAW,CAAC,EAAA,QAAO,KAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC7D,OAAQ,EAAa,SAAW,EAChC,IAAK,EAAa,sBAAwB,EAC1C,GAAI,WAJN,CAMG,EACA,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,aAAc,aAAW,8BAAqB,IAE/D,CAAA,CAEP"}
1
+ {"version":3,"file":"Link.cjs","names":[],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Link.module.css';\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * When true the link is treated as external: opens in a new tab,\n * adds `rel=\"noopener noreferrer\"`, and shows a trailing ↗ icon.\n */\n external?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Inline hyperlink following GNOME HIG.\n *\n * - Uses the accent colour and shows an underline on hover.\n * - `external` opens a new tab safely and appends a visual ↗ indicator.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/links.html\n */\nexport function Link({ external = false, children, className, target, rel, ...props }: LinkProps) {\n const isExternal = external || target === '_blank';\n\n return (\n <a\n className={[styles.link, className].filter(Boolean).join(' ')}\n target={isExternal ? '_blank' : target}\n rel={isExternal ? 'noopener noreferrer' : rel}\n {...props}\n >\n {children}\n {isExternal && (\n <span className={styles.externalIcon} aria-label=\"(opens in new tab)\">\n ↗\n </span>\n )}\n </a>\n );\n}\n"],"mappings":"4EAqBA,SAAgB,EAAK,CAAE,WAAW,GAAO,WAAU,YAAW,SAAQ,MAAK,GAAG,GAAoB,CAChG,IAAM,EAAa,GAAY,IAAW,SAE1C,OACE,EAAA,EAAA,MAAC,IAAD,CACE,UAAW,CAAC,EAAA,QAAO,KAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC7D,OAAQ,EAAa,SAAW,EAChC,IAAK,EAAa,sBAAwB,EAC1C,GAAI,WAJN,CAMG,EACA,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,aAAc,aAAW,8BAAqB,IAE/D,CAAA,CAEP"}
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","names":[],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Link.module.css\";\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * When true the link is treated as external: opens in a new tab,\n * adds `rel=\"noopener noreferrer\"`, and shows a trailing ↗ icon.\n */\n external?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Inline hyperlink following GNOME HIG.\n *\n * - Uses the accent colour and shows an underline on hover.\n * - `external` opens a new tab safely and appends a visual ↗ indicator.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/links.html\n */\nexport function Link({\n external = false,\n children,\n className,\n target,\n rel,\n ...props\n}: LinkProps) {\n const isExternal = external || target === \"_blank\";\n\n return (\n <a\n className={[styles.link, className].filter(Boolean).join(\" \")}\n target={isExternal ? \"_blank\" : target}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n {...props}\n >\n {children}\n {isExternal && (\n <span className={styles.externalIcon} aria-label=\"(opens in new tab)\">\n ↗\n </span>\n )}\n </a>\n );\n}\n"],"mappings":";;;AAoBA,SAAgB,EAAK,EACnB,cAAW,IACX,aACA,cACA,WACA,QACA,GAAG,KACS;CACZ,IAAM,IAAa,KAAY,MAAW;AAE1C,QACE,kBAAC,KAAD;EACE,WAAW,CAAC,EAAO,MAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC7D,QAAQ,IAAa,WAAW;EAChC,KAAK,IAAa,wBAAwB;EAC1C,GAAI;YAJN,CAMG,GACA,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;GAAc,cAAW;aAAqB;GAE/D,CAAA,CAEP"}
1
+ {"version":3,"file":"Link.js","names":[],"sources":["../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { AnchorHTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Link.module.css';\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * When true the link is treated as external: opens in a new tab,\n * adds `rel=\"noopener noreferrer\"`, and shows a trailing ↗ icon.\n */\n external?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Inline hyperlink following GNOME HIG.\n *\n * - Uses the accent colour and shows an underline on hover.\n * - `external` opens a new tab safely and appends a visual ↗ indicator.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/links.html\n */\nexport function Link({ external = false, children, className, target, rel, ...props }: LinkProps) {\n const isExternal = external || target === '_blank';\n\n return (\n <a\n className={[styles.link, className].filter(Boolean).join(' ')}\n target={isExternal ? '_blank' : target}\n rel={isExternal ? 'noopener noreferrer' : rel}\n {...props}\n >\n {children}\n {isExternal && (\n <span className={styles.externalIcon} aria-label=\"(opens in new tab)\">\n ↗\n </span>\n )}\n </a>\n );\n}\n"],"mappings":";;;AAqBA,SAAgB,EAAK,EAAE,cAAW,IAAO,aAAU,cAAW,WAAQ,QAAK,GAAG,KAAoB;CAChG,IAAM,IAAa,KAAY,MAAW;AAE1C,QACE,kBAAC,KAAD;EACE,WAAW,CAAC,EAAO,MAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC7D,QAAQ,IAAa,WAAW;EAChC,KAAK,IAAa,wBAAwB;EAC1C,GAAI;YAJN,CAMG,GACA,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;GAAc,cAAW;aAAqB;GAE/D,CAAA,CAEP"}
@@ -1,2 +1,2 @@
1
- var e={link:`_link_x1qyh_1`,externalIcon:`_externalIcon_x1qyh_36`};exports.default=e;
1
+ var e={link:`_link_1xc0b_1`,externalIcon:`_externalIcon_1xc0b_37`};exports.default=e;
2
2
  //# sourceMappingURL=Link.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.module.css.cjs","names":[],"sources":["../../../src/components/Link/Link.module.css"],"sourcesContent":[".link {\n color: var(--gnome-accent-color);\n text-decoration: none;\n cursor: pointer;\n outline: none;\n\n /* Smooth underline on hover */\n background-image: linear-gradient(currentColor, currentColor);\n background-position: 0 100%;\n background-repeat: no-repeat;\n background-size: 0% 1px;\n transition:\n background-size var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.link:hover {\n background-size: 100% 1px;\n}\n\n.link:active {\n opacity: 0.7;\n}\n\n/* ─── Focus ────────────────────────────────────────────────────── */\n\n.link:focus-visible {\n border-radius: 2px;\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color);\n}\n\n/* ─── External indicator ──────────────────────────────────────── */\n\n.externalIcon {\n display: inline-block;\n margin-inline-start: 0.15em;\n font-size: 0.8em;\n vertical-align: super;\n line-height: 1;\n /* don't underline the icon itself */\n background-image: none;\n}\n\n/* ─── Reduced motion ──────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .link {\n transition: none;\n }\n\n .link:hover {\n text-decoration: underline;\n background-size: 0%;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Link.module.css.cjs","names":[],"sources":["../../../src/components/Link/Link.module.css"],"sourcesContent":[".link {\n color: var(--gnome-accent-color);\n text-decoration: none;\n cursor: pointer;\n outline: none;\n\n /* Smooth underline on hover */\n background-image: linear-gradient(currentColor, currentColor);\n background-position: 0 100%;\n background-repeat: no-repeat;\n background-size: 0% 1px;\n transition:\n background-size var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.link:hover {\n background-size: 100% 1px;\n}\n\n.link:active {\n opacity: 0.7;\n}\n\n/* ─── Focus ────────────────────────────────────────────────────── */\n\n.link:focus-visible {\n border-radius: 2px;\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width))\n var(--gnome-focus-ring-color);\n}\n\n/* ─── External indicator ──────────────────────────────────────── */\n\n.externalIcon {\n display: inline-block;\n margin-inline-start: 0.15em;\n font-size: 0.8em;\n vertical-align: super;\n line-height: 1;\n /* don't underline the icon itself */\n background-image: none;\n}\n\n/* ─── Reduced motion ──────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .link {\n transition: none;\n }\n\n .link:hover {\n text-decoration: underline;\n background-size: 0%;\n }\n}\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  var e = {
2
- link: "_link_x1qyh_1",
3
- externalIcon: "_externalIcon_x1qyh_36"
2
+ link: "_link_1xc0b_1",
3
+ externalIcon: "_externalIcon_1xc0b_37"
4
4
  };
5
5
  //#endregion
6
6
  export { e as default };