@gnome-ui/react 1.36.2 → 1.36.3

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 (907) hide show
  1. package/README.md +16 -2
  2. package/dist/components/AboutDialog/AboutDialog.cjs +2 -0
  3. package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -0
  4. package/dist/components/AboutDialog/AboutDialog.js +185 -0
  5. package/dist/components/AboutDialog/AboutDialog.js.map +1 -0
  6. package/dist/components/AboutDialog/AboutDialog.module.css.cjs +2 -0
  7. package/dist/components/AboutDialog/AboutDialog.module.css.cjs.map +1 -0
  8. package/dist/components/AboutDialog/AboutDialog.module.css.js +35 -0
  9. package/dist/components/AboutDialog/AboutDialog.module.css.js.map +1 -0
  10. package/dist/components/AboutDialog.cjs +1 -0
  11. package/dist/components/AboutDialog.d.ts +2 -0
  12. package/dist/components/AboutDialog.js +2 -0
  13. package/dist/components/ActionRow/ActionRow.cjs +2 -0
  14. package/dist/components/ActionRow/ActionRow.cjs.map +1 -0
  15. package/dist/components/ActionRow/ActionRow.js +39 -0
  16. package/dist/components/ActionRow/ActionRow.js.map +1 -0
  17. package/dist/components/ActionRow/ActionRow.module.css.cjs +2 -0
  18. package/dist/components/ActionRow/ActionRow.module.css.cjs.map +1 -0
  19. package/dist/components/ActionRow/ActionRow.module.css.js +15 -0
  20. package/dist/components/ActionRow/ActionRow.module.css.js.map +1 -0
  21. package/dist/components/ActionRow.cjs +1 -0
  22. package/dist/components/ActionRow.d.ts +2 -0
  23. package/dist/components/ActionRow.js +2 -0
  24. package/dist/components/Avatar/Avatar.cjs +2 -0
  25. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  26. package/dist/components/Avatar/Avatar.js +50 -0
  27. package/dist/components/Avatar/Avatar.js.map +1 -0
  28. package/dist/components/Avatar/Avatar.module.css.cjs +2 -0
  29. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
  30. package/dist/components/Avatar/Avatar.module.css.js +22 -0
  31. package/dist/components/Avatar/Avatar.module.css.js.map +1 -0
  32. package/dist/components/Avatar.cjs +1 -0
  33. package/dist/components/Avatar.d.ts +2 -0
  34. package/dist/components/Avatar.js +2 -0
  35. package/dist/components/Badge/Badge.cjs +2 -0
  36. package/dist/components/Badge/Badge.cjs.map +1 -0
  37. package/dist/components/Badge/Badge.js +24 -0
  38. package/dist/components/Badge/Badge.js.map +1 -0
  39. package/dist/components/Badge/Badge.module.css.cjs +2 -0
  40. package/dist/components/Badge/Badge.module.css.cjs.map +1 -0
  41. package/dist/components/Badge/Badge.module.css.js +15 -0
  42. package/dist/components/Badge/Badge.module.css.js.map +1 -0
  43. package/dist/components/Badge.cjs +1 -0
  44. package/dist/components/Badge.d.ts +2 -0
  45. package/dist/components/Badge.js +2 -0
  46. package/dist/components/Banner/Banner.cjs +2 -0
  47. package/dist/components/Banner/Banner.cjs.map +1 -0
  48. package/dist/components/Banner/Banner.js +44 -0
  49. package/dist/components/Banner/Banner.js.map +1 -0
  50. package/dist/components/Banner/Banner.module.css.cjs +2 -0
  51. package/dist/components/Banner/Banner.module.css.cjs.map +1 -0
  52. package/dist/components/Banner/Banner.module.css.js +20 -0
  53. package/dist/components/Banner/Banner.module.css.js.map +1 -0
  54. package/dist/components/Banner.cjs +1 -0
  55. package/dist/components/Banner.d.ts +2 -0
  56. package/dist/components/Banner.js +2 -0
  57. package/dist/components/Bin/Bin.cjs +2 -0
  58. package/dist/components/Bin/Bin.cjs.map +1 -0
  59. package/dist/components/Bin/Bin.js +12 -0
  60. package/dist/components/Bin/Bin.js.map +1 -0
  61. package/dist/components/Bin.cjs +1 -0
  62. package/dist/components/Bin.d.ts +2 -0
  63. package/dist/components/Bin.js +2 -0
  64. package/dist/components/Blockquote/Blockquote.cjs +2 -0
  65. package/dist/components/Blockquote/Blockquote.cjs.map +1 -0
  66. package/dist/components/Blockquote/Blockquote.js +34 -0
  67. package/dist/components/Blockquote/Blockquote.js.map +1 -0
  68. package/dist/components/Blockquote/Blockquote.module.css.cjs +2 -0
  69. package/dist/components/Blockquote/Blockquote.module.css.cjs.map +1 -0
  70. package/dist/components/Blockquote/Blockquote.module.css.js +17 -0
  71. package/dist/components/Blockquote/Blockquote.module.css.js.map +1 -0
  72. package/dist/components/Blockquote.cjs +1 -0
  73. package/dist/components/Blockquote.d.ts +2 -0
  74. package/dist/components/Blockquote.js +2 -0
  75. package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
  76. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
  77. package/dist/components/BottomSheet/BottomSheet.js +60 -0
  78. package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
  79. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +2 -0
  80. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -0
  81. package/dist/components/BottomSheet/BottomSheet.module.css.js +15 -0
  82. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -0
  83. package/dist/components/BottomSheet.cjs +1 -0
  84. package/dist/components/BottomSheet.d.ts +2 -0
  85. package/dist/components/BottomSheet.js +2 -0
  86. package/dist/components/Box/Box.cjs +2 -0
  87. package/dist/components/Box/Box.cjs.map +1 -0
  88. package/dist/components/Box/Box.js +22 -0
  89. package/dist/components/Box/Box.js.map +1 -0
  90. package/dist/components/Box.cjs +1 -0
  91. package/dist/components/Box.d.ts +2 -0
  92. package/dist/components/Box.js +2 -0
  93. package/dist/components/BoxedList/BoxedList.cjs +2 -0
  94. package/dist/components/BoxedList/BoxedList.cjs.map +1 -0
  95. package/dist/components/BoxedList/BoxedList.js +25 -0
  96. package/dist/components/BoxedList/BoxedList.js.map +1 -0
  97. package/dist/components/BoxedList/BoxedList.module.css.cjs +2 -0
  98. package/dist/components/BoxedList/BoxedList.module.css.cjs.map +1 -0
  99. package/dist/components/BoxedList/BoxedList.module.css.js +11 -0
  100. package/dist/components/BoxedList/BoxedList.module.css.js.map +1 -0
  101. package/dist/components/BoxedList.cjs +1 -0
  102. package/dist/components/BoxedList.d.ts +2 -0
  103. package/dist/components/BoxedList.js +2 -0
  104. package/dist/components/BreakpointBin/BreakpointBin.cjs +2 -0
  105. package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -0
  106. package/dist/components/BreakpointBin/BreakpointBin.js +37 -0
  107. package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -0
  108. package/dist/components/BreakpointBin.cjs +1 -0
  109. package/dist/components/BreakpointBin.d.ts +2 -0
  110. package/dist/components/BreakpointBin.js +2 -0
  111. package/dist/components/Button/Button.cjs +2 -0
  112. package/dist/components/Button/Button.cjs.map +1 -0
  113. package/dist/components/Button/Button.js +25 -0
  114. package/dist/components/Button/Button.js.map +1 -0
  115. package/dist/components/Button/Button.module.css.cjs +2 -0
  116. package/dist/components/Button/Button.module.css.cjs.map +1 -0
  117. package/dist/components/Button/Button.module.css.js +17 -0
  118. package/dist/components/Button/Button.module.css.js.map +1 -0
  119. package/dist/components/Button.cjs +1 -0
  120. package/dist/components/Button.d.ts +2 -0
  121. package/dist/components/Button.js +2 -0
  122. package/dist/components/ButtonContent/ButtonContent.cjs +2 -0
  123. package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -0
  124. package/dist/components/ButtonContent/ButtonContent.js +33 -0
  125. package/dist/components/ButtonContent/ButtonContent.js.map +1 -0
  126. package/dist/components/ButtonContent/ButtonContent.module.css.cjs +2 -0
  127. package/dist/components/ButtonContent/ButtonContent.module.css.cjs.map +1 -0
  128. package/dist/components/ButtonContent/ButtonContent.module.css.js +9 -0
  129. package/dist/components/ButtonContent/ButtonContent.module.css.js.map +1 -0
  130. package/dist/components/ButtonContent.cjs +1 -0
  131. package/dist/components/ButtonContent.d.ts +2 -0
  132. package/dist/components/ButtonContent.js +2 -0
  133. package/dist/components/ButtonRow/ButtonRow.cjs +2 -0
  134. package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -0
  135. package/dist/components/ButtonRow/ButtonRow.js +31 -0
  136. package/dist/components/ButtonRow/ButtonRow.js.map +1 -0
  137. package/dist/components/ButtonRow/ButtonRow.module.css.cjs +2 -0
  138. package/dist/components/ButtonRow/ButtonRow.module.css.cjs.map +1 -0
  139. package/dist/components/ButtonRow/ButtonRow.module.css.js +13 -0
  140. package/dist/components/ButtonRow/ButtonRow.module.css.js.map +1 -0
  141. package/dist/components/ButtonRow.cjs +1 -0
  142. package/dist/components/ButtonRow.d.ts +2 -0
  143. package/dist/components/ButtonRow.js +2 -0
  144. package/dist/components/Card/Card.cjs +2 -0
  145. package/dist/components/Card/Card.cjs.map +1 -0
  146. package/dist/components/Card/Card.js +19 -0
  147. package/dist/components/Card/Card.js.map +1 -0
  148. package/dist/components/Card/Card.module.css.cjs +2 -0
  149. package/dist/components/Card/Card.module.css.cjs.map +1 -0
  150. package/dist/components/Card/Card.module.css.js +13 -0
  151. package/dist/components/Card/Card.module.css.js.map +1 -0
  152. package/dist/components/Card.cjs +1 -0
  153. package/dist/components/Card.d.ts +2 -0
  154. package/dist/components/Card.js +2 -0
  155. package/dist/components/Carousel/Carousel.cjs +2 -0
  156. package/dist/components/Carousel/Carousel.cjs.map +1 -0
  157. package/dist/components/Carousel/Carousel.js +112 -0
  158. package/dist/components/Carousel/Carousel.js.map +1 -0
  159. package/dist/components/Carousel/Carousel.module.css.cjs +2 -0
  160. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -0
  161. package/dist/components/Carousel/Carousel.module.css.js +16 -0
  162. package/dist/components/Carousel/Carousel.module.css.js.map +1 -0
  163. package/dist/components/Carousel.cjs +1 -0
  164. package/dist/components/Carousel.d.ts +2 -0
  165. package/dist/components/Carousel.js +2 -0
  166. package/dist/components/CheckRow/CheckRow.cjs +2 -0
  167. package/dist/components/CheckRow/CheckRow.cjs.map +1 -0
  168. package/dist/components/CheckRow/CheckRow.js +66 -0
  169. package/dist/components/CheckRow/CheckRow.js.map +1 -0
  170. package/dist/components/CheckRow/CheckRow.module.css.cjs +2 -0
  171. package/dist/components/CheckRow/CheckRow.module.css.cjs.map +1 -0
  172. package/dist/components/CheckRow/CheckRow.module.css.js +16 -0
  173. package/dist/components/CheckRow/CheckRow.module.css.js.map +1 -0
  174. package/dist/components/CheckRow.cjs +1 -0
  175. package/dist/components/CheckRow.d.ts +2 -0
  176. package/dist/components/CheckRow.js +2 -0
  177. package/dist/components/Checkbox/Checkbox.cjs +2 -0
  178. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  179. package/dist/components/Checkbox/Checkbox.js +19 -0
  180. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  181. package/dist/components/Checkbox/Checkbox.module.css.cjs +2 -0
  182. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
  183. package/dist/components/Checkbox/Checkbox.module.css.js +5 -0
  184. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -0
  185. package/dist/components/Checkbox.cjs +1 -0
  186. package/dist/components/Checkbox.d.ts +2 -0
  187. package/dist/components/Checkbox.js +2 -0
  188. package/dist/components/Chip/Chip.cjs +2 -0
  189. package/dist/components/Chip/Chip.cjs.map +1 -0
  190. package/dist/components/Chip/Chip.js +61 -0
  191. package/dist/components/Chip/Chip.js.map +1 -0
  192. package/dist/components/Chip/Chip.module.css.cjs +2 -0
  193. package/dist/components/Chip/Chip.module.css.cjs.map +1 -0
  194. package/dist/components/Chip/Chip.module.css.js +13 -0
  195. package/dist/components/Chip/Chip.module.css.js.map +1 -0
  196. package/dist/components/Chip.cjs +1 -0
  197. package/dist/components/Chip.d.ts +2 -0
  198. package/dist/components/Chip.js +2 -0
  199. package/dist/components/Clamp/Clamp.cjs +2 -0
  200. package/dist/components/Clamp/Clamp.cjs.map +1 -0
  201. package/dist/components/Clamp/Clamp.js +18 -0
  202. package/dist/components/Clamp/Clamp.js.map +1 -0
  203. package/dist/components/Clamp/Clamp.module.css.cjs +2 -0
  204. package/dist/components/Clamp/Clamp.module.css.cjs.map +1 -0
  205. package/dist/components/Clamp/Clamp.module.css.js +5 -0
  206. package/dist/components/Clamp/Clamp.module.css.js.map +1 -0
  207. package/dist/components/Clamp.cjs +1 -0
  208. package/dist/components/Clamp.d.ts +2 -0
  209. package/dist/components/Clamp.js +2 -0
  210. package/dist/components/ColorPicker/ColorPicker.cjs +2 -0
  211. package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -0
  212. package/dist/components/ColorPicker/ColorPicker.js +152 -0
  213. package/dist/components/ColorPicker/ColorPicker.js.map +1 -0
  214. package/dist/components/ColorPicker/ColorPicker.module.css.cjs +2 -0
  215. package/dist/components/ColorPicker/ColorPicker.module.css.cjs.map +1 -0
  216. package/dist/components/ColorPicker/ColorPicker.module.css.js +17 -0
  217. package/dist/components/ColorPicker/ColorPicker.module.css.js.map +1 -0
  218. package/dist/components/ColorPicker.cjs +1 -0
  219. package/dist/components/ColorPicker.d.ts +2 -0
  220. package/dist/components/ColorPicker.js +2 -0
  221. package/dist/components/ColumnView/ColumnView.cjs +2 -0
  222. package/dist/components/ColumnView/ColumnView.cjs.map +1 -0
  223. package/dist/components/ColumnView/ColumnView.js +153 -0
  224. package/dist/components/ColumnView/ColumnView.js.map +1 -0
  225. package/dist/components/ColumnView/ColumnView.module.css.cjs +2 -0
  226. package/dist/components/ColumnView/ColumnView.module.css.cjs.map +1 -0
  227. package/dist/components/ColumnView/ColumnView.module.css.js +28 -0
  228. package/dist/components/ColumnView/ColumnView.module.css.js.map +1 -0
  229. package/dist/components/ColumnView.cjs +1 -0
  230. package/dist/components/ColumnView.d.ts +2 -0
  231. package/dist/components/ColumnView.js +2 -0
  232. package/dist/components/ComboRow/ComboRow.cjs +2 -0
  233. package/dist/components/ComboRow/ComboRow.cjs.map +1 -0
  234. package/dist/components/ComboRow/ComboRow.js +197 -0
  235. package/dist/components/ComboRow/ComboRow.js.map +1 -0
  236. package/dist/components/ComboRow/ComboRow.module.css.cjs +2 -0
  237. package/dist/components/ComboRow/ComboRow.module.css.cjs.map +1 -0
  238. package/dist/components/ComboRow/ComboRow.module.css.js +31 -0
  239. package/dist/components/ComboRow/ComboRow.module.css.js.map +1 -0
  240. package/dist/components/ComboRow.cjs +1 -0
  241. package/dist/components/ComboRow.d.ts +2 -0
  242. package/dist/components/ComboRow.js +2 -0
  243. package/dist/components/ContributionGraph/ContributionGraph.cjs +2 -0
  244. package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -0
  245. package/dist/components/ContributionGraph/ContributionGraph.js +248 -0
  246. package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -0
  247. package/dist/components/ContributionGraph/ContributionGraph.module.css.cjs +2 -0
  248. package/dist/components/ContributionGraph/ContributionGraph.module.css.cjs.map +1 -0
  249. package/dist/components/ContributionGraph/ContributionGraph.module.css.js +14 -0
  250. package/dist/components/ContributionGraph/ContributionGraph.module.css.js.map +1 -0
  251. package/dist/components/ContributionGraph.cjs +1 -0
  252. package/dist/components/ContributionGraph.d.ts +2 -0
  253. package/dist/components/ContributionGraph.js +2 -0
  254. package/dist/components/CountDownTimer/CountDownTimer.cjs +2 -0
  255. package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -0
  256. package/dist/components/CountDownTimer/CountDownTimer.js +57 -0
  257. package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -0
  258. package/dist/components/CountDownTimer/CountDownTimer.module.css.cjs +2 -0
  259. package/dist/components/CountDownTimer/CountDownTimer.module.css.cjs.map +1 -0
  260. package/dist/components/CountDownTimer/CountDownTimer.module.css.js +13 -0
  261. package/dist/components/CountDownTimer/CountDownTimer.module.css.js.map +1 -0
  262. package/dist/components/CountDownTimer.cjs +1 -0
  263. package/dist/components/CountDownTimer.d.ts +2 -0
  264. package/dist/components/CountDownTimer.js +2 -0
  265. package/dist/components/Dialog/Dialog.cjs +2 -0
  266. package/dist/components/Dialog/Dialog.cjs.map +1 -0
  267. package/dist/components/Dialog/Dialog.js +78 -0
  268. package/dist/components/Dialog/Dialog.js.map +1 -0
  269. package/dist/components/Dialog/Dialog.module.css.cjs +2 -0
  270. package/dist/components/Dialog/Dialog.module.css.cjs.map +1 -0
  271. package/dist/components/Dialog/Dialog.module.css.js +18 -0
  272. package/dist/components/Dialog/Dialog.module.css.js.map +1 -0
  273. package/dist/components/Dialog/dialogUtils.cjs +2 -0
  274. package/dist/components/Dialog/dialogUtils.cjs.map +1 -0
  275. package/dist/components/Dialog/dialogUtils.js +33 -0
  276. package/dist/components/Dialog/dialogUtils.js.map +1 -0
  277. package/dist/components/Dialog.cjs +1 -0
  278. package/dist/components/Dialog.d.ts +2 -0
  279. package/dist/components/Dialog.js +2 -0
  280. package/dist/components/Dropdown/Dropdown.cjs +2 -0
  281. package/dist/components/Dropdown/Dropdown.cjs.map +1 -0
  282. package/dist/components/Dropdown/Dropdown.js +159 -0
  283. package/dist/components/Dropdown/Dropdown.js.map +1 -0
  284. package/dist/components/Dropdown/Dropdown.module.css.cjs +2 -0
  285. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +1 -0
  286. package/dist/components/Dropdown/Dropdown.module.css.js +27 -0
  287. package/dist/components/Dropdown/Dropdown.module.css.js.map +1 -0
  288. package/dist/components/Dropdown.cjs +1 -0
  289. package/dist/components/Dropdown.d.ts +2 -0
  290. package/dist/components/Dropdown.js +2 -0
  291. package/dist/components/EntryRow/EntryRow.cjs +2 -0
  292. package/dist/components/EntryRow/EntryRow.cjs.map +1 -0
  293. package/dist/components/EntryRow/EntryRow.js +50 -0
  294. package/dist/components/EntryRow/EntryRow.js.map +1 -0
  295. package/dist/components/EntryRow/EntryRow.module.css.cjs +2 -0
  296. package/dist/components/EntryRow/EntryRow.module.css.cjs.map +1 -0
  297. package/dist/components/EntryRow/EntryRow.module.css.js +16 -0
  298. package/dist/components/EntryRow/EntryRow.module.css.js.map +1 -0
  299. package/dist/components/EntryRow.cjs +1 -0
  300. package/dist/components/EntryRow.d.ts +2 -0
  301. package/dist/components/EntryRow.js +2 -0
  302. package/dist/components/ExpanderRow/ExpanderRow.cjs +2 -0
  303. package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -0
  304. package/dist/components/ExpanderRow/ExpanderRow.js +81 -0
  305. package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -0
  306. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs +2 -0
  307. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs.map +1 -0
  308. package/dist/components/ExpanderRow/ExpanderRow.module.css.js +20 -0
  309. package/dist/components/ExpanderRow/ExpanderRow.module.css.js.map +1 -0
  310. package/dist/components/ExpanderRow.cjs +1 -0
  311. package/dist/components/ExpanderRow.d.ts +2 -0
  312. package/dist/components/ExpanderRow.js +2 -0
  313. package/dist/components/Footer/Footer.cjs +2 -0
  314. package/dist/components/Footer/Footer.cjs.map +1 -0
  315. package/dist/components/Footer/Footer.js +31 -0
  316. package/dist/components/Footer/Footer.js.map +1 -0
  317. package/dist/components/Footer/Footer.module.css.cjs +2 -0
  318. package/dist/components/Footer/Footer.module.css.cjs.map +1 -0
  319. package/dist/components/Footer/Footer.module.css.js +11 -0
  320. package/dist/components/Footer/Footer.module.css.js.map +1 -0
  321. package/dist/components/Footer.cjs +1 -0
  322. package/dist/components/Footer.d.ts +2 -0
  323. package/dist/components/Footer.js +2 -0
  324. package/dist/components/Frame/Frame.cjs +2 -0
  325. package/dist/components/Frame/Frame.cjs.map +1 -0
  326. package/dist/components/Frame/Frame.js +14 -0
  327. package/dist/components/Frame/Frame.js.map +1 -0
  328. package/dist/components/Frame/Frame.module.css.cjs +2 -0
  329. package/dist/components/Frame/Frame.module.css.cjs.map +1 -0
  330. package/dist/components/Frame/Frame.module.css.js +5 -0
  331. package/dist/components/Frame/Frame.module.css.js.map +1 -0
  332. package/dist/components/Frame.cjs +1 -0
  333. package/dist/components/Frame.d.ts +2 -0
  334. package/dist/components/Frame.js +2 -0
  335. package/dist/components/HeaderBar/HeaderBar.cjs +2 -0
  336. package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -0
  337. package/dist/components/HeaderBar/HeaderBar.js +35 -0
  338. package/dist/components/HeaderBar/HeaderBar.js.map +1 -0
  339. package/dist/components/HeaderBar/HeaderBar.module.css.cjs +2 -0
  340. package/dist/components/HeaderBar/HeaderBar.module.css.cjs.map +1 -0
  341. package/dist/components/HeaderBar/HeaderBar.module.css.js +12 -0
  342. package/dist/components/HeaderBar/HeaderBar.module.css.js.map +1 -0
  343. package/dist/components/HeaderBar.cjs +1 -0
  344. package/dist/components/HeaderBar.d.ts +2 -0
  345. package/dist/components/HeaderBar.js +2 -0
  346. package/dist/components/Icon/Icon.cjs +2 -0
  347. package/dist/components/Icon/Icon.cjs.map +1 -0
  348. package/dist/components/Icon/Icon.js +31 -0
  349. package/dist/components/Icon/Icon.js.map +1 -0
  350. package/dist/components/Icon.cjs +1 -0
  351. package/dist/components/Icon.d.ts +2 -0
  352. package/dist/components/Icon.js +2 -0
  353. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +2 -0
  354. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -0
  355. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +47 -0
  356. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -0
  357. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs +2 -0
  358. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs.map +1 -0
  359. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js +16 -0
  360. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js.map +1 -0
  361. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs +2 -0
  362. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -0
  363. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js +38 -0
  364. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -0
  365. package/dist/components/InlineViewSwitcher.cjs +1 -0
  366. package/dist/components/InlineViewSwitcher.d.ts +2 -0
  367. package/dist/components/InlineViewSwitcher.js +3 -0
  368. package/dist/components/Link/Link.cjs +2 -0
  369. package/dist/components/Link/Link.cjs.map +1 -0
  370. package/dist/components/Link/Link.js +21 -0
  371. package/dist/components/Link/Link.js.map +1 -0
  372. package/dist/components/Link/Link.module.css.cjs +2 -0
  373. package/dist/components/Link/Link.module.css.cjs.map +1 -0
  374. package/dist/components/Link/Link.module.css.js +8 -0
  375. package/dist/components/Link/Link.module.css.js.map +1 -0
  376. package/dist/components/Link.cjs +1 -0
  377. package/dist/components/Link.d.ts +2 -0
  378. package/dist/components/Link.js +2 -0
  379. package/dist/components/LinkedGroup/LinkedGroup.cjs +2 -0
  380. package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -0
  381. package/dist/components/LinkedGroup/LinkedGroup.js +18 -0
  382. package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -0
  383. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs +2 -0
  384. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs.map +1 -0
  385. package/dist/components/LinkedGroup/LinkedGroup.module.css.js +8 -0
  386. package/dist/components/LinkedGroup/LinkedGroup.module.css.js.map +1 -0
  387. package/dist/components/LinkedGroup.cjs +1 -0
  388. package/dist/components/LinkedGroup.d.ts +2 -0
  389. package/dist/components/LinkedGroup.js +2 -0
  390. package/dist/components/NavigationSplitView/NavigationSplitView.cjs +2 -0
  391. package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -0
  392. package/dist/components/NavigationSplitView/NavigationSplitView.js +39 -0
  393. package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -0
  394. package/dist/components/NavigationSplitView/NavigationSplitView.module.css.cjs +2 -0
  395. package/dist/components/NavigationSplitView/NavigationSplitView.module.css.cjs.map +1 -0
  396. package/dist/components/NavigationSplitView/NavigationSplitView.module.css.js +14 -0
  397. package/dist/components/NavigationSplitView/NavigationSplitView.module.css.js.map +1 -0
  398. package/dist/components/NavigationSplitView.cjs +1 -0
  399. package/dist/components/NavigationSplitView.d.ts +2 -0
  400. package/dist/components/NavigationSplitView.js +2 -0
  401. package/dist/components/NavigationView/NavigationView.cjs +2 -0
  402. package/dist/components/NavigationView/NavigationView.cjs.map +1 -0
  403. package/dist/components/NavigationView/NavigationView.js +60 -0
  404. package/dist/components/NavigationView/NavigationView.js.map +1 -0
  405. package/dist/components/NavigationView/NavigationView.module.css.cjs +2 -0
  406. package/dist/components/NavigationView/NavigationView.module.css.cjs.map +1 -0
  407. package/dist/components/NavigationView/NavigationView.module.css.js +16 -0
  408. package/dist/components/NavigationView/NavigationView.module.css.js.map +1 -0
  409. package/dist/components/NavigationView.cjs +1 -0
  410. package/dist/components/NavigationView.d.ts +2 -0
  411. package/dist/components/NavigationView.js +2 -0
  412. package/dist/components/OverlaySplitView/OverlaySplitView.cjs +2 -0
  413. package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -0
  414. package/dist/components/OverlaySplitView/OverlaySplitView.js +75 -0
  415. package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -0
  416. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs +2 -0
  417. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs.map +1 -0
  418. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js +18 -0
  419. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js.map +1 -0
  420. package/dist/components/OverlaySplitView.cjs +1 -0
  421. package/dist/components/OverlaySplitView.d.ts +2 -0
  422. package/dist/components/OverlaySplitView.js +2 -0
  423. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs +2 -0
  424. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -0
  425. package/dist/components/PasswordEntryRow/PasswordEntryRow.js +35 -0
  426. package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -0
  427. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs +2 -0
  428. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs.map +1 -0
  429. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js +5 -0
  430. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js.map +1 -0
  431. package/dist/components/PasswordEntryRow.cjs +1 -0
  432. package/dist/components/PasswordEntryRow.d.ts +2 -0
  433. package/dist/components/PasswordEntryRow.js +2 -0
  434. package/dist/components/PathBar/PathBar.cjs +2 -0
  435. package/dist/components/PathBar/PathBar.cjs.map +1 -0
  436. package/dist/components/PathBar/PathBar.js +59 -0
  437. package/dist/components/PathBar/PathBar.js.map +1 -0
  438. package/dist/components/PathBar/PathBar.module.css.cjs +2 -0
  439. package/dist/components/PathBar/PathBar.module.css.cjs.map +1 -0
  440. package/dist/components/PathBar/PathBar.module.css.js +13 -0
  441. package/dist/components/PathBar/PathBar.module.css.js.map +1 -0
  442. package/dist/components/PathBar.cjs +1 -0
  443. package/dist/components/PathBar.d.ts +2 -0
  444. package/dist/components/PathBar.js +2 -0
  445. package/dist/components/Popover/Popover.cjs +2 -0
  446. package/dist/components/Popover/Popover.cjs.map +1 -0
  447. package/dist/components/Popover/Popover.js +157 -0
  448. package/dist/components/Popover/Popover.js.map +1 -0
  449. package/dist/components/Popover/Popover.module.css.cjs +2 -0
  450. package/dist/components/Popover/Popover.module.css.cjs.map +1 -0
  451. package/dist/components/Popover/Popover.module.css.js +13 -0
  452. package/dist/components/Popover/Popover.module.css.js.map +1 -0
  453. package/dist/components/Popover.cjs +1 -0
  454. package/dist/components/Popover.d.ts +2 -0
  455. package/dist/components/Popover.js +2 -0
  456. package/dist/components/PreferencesDialog/PreferencesDialog.cjs +2 -0
  457. package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -0
  458. package/dist/components/PreferencesDialog/PreferencesDialog.js +119 -0
  459. package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -0
  460. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +2 -0
  461. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs.map +1 -0
  462. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +25 -0
  463. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js.map +1 -0
  464. package/dist/components/PreferencesDialog.cjs +1 -0
  465. package/dist/components/PreferencesDialog.d.ts +2 -0
  466. package/dist/components/PreferencesDialog.js +2 -0
  467. package/dist/components/PreferencesGroup/PreferencesGroup.cjs +2 -0
  468. package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -0
  469. package/dist/components/PreferencesGroup/PreferencesGroup.js +33 -0
  470. package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -0
  471. package/dist/components/PreferencesGroup/PreferencesGroup.module.css.cjs +2 -0
  472. package/dist/components/PreferencesGroup/PreferencesGroup.module.css.cjs.map +1 -0
  473. package/dist/components/PreferencesGroup/PreferencesGroup.module.css.js +13 -0
  474. package/dist/components/PreferencesGroup/PreferencesGroup.module.css.js.map +1 -0
  475. package/dist/components/PreferencesGroup.cjs +1 -0
  476. package/dist/components/PreferencesGroup.d.ts +2 -0
  477. package/dist/components/PreferencesGroup.js +2 -0
  478. package/dist/components/PreferencesPage/PreferencesPage.cjs +2 -0
  479. package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -0
  480. package/dist/components/PreferencesPage/PreferencesPage.js +18 -0
  481. package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -0
  482. package/dist/components/PreferencesPage/PreferencesPage.module.css.cjs +2 -0
  483. package/dist/components/PreferencesPage/PreferencesPage.module.css.cjs.map +1 -0
  484. package/dist/components/PreferencesPage/PreferencesPage.module.css.js +8 -0
  485. package/dist/components/PreferencesPage/PreferencesPage.module.css.js.map +1 -0
  486. package/dist/components/PreferencesPage.cjs +1 -0
  487. package/dist/components/PreferencesPage.d.ts +2 -0
  488. package/dist/components/PreferencesPage.js +2 -0
  489. package/dist/components/ProgressBar/ProgressBar.cjs +2 -0
  490. package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -0
  491. package/dist/components/ProgressBar/ProgressBar.js +28 -0
  492. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  493. package/dist/components/ProgressBar/ProgressBar.module.css.cjs +2 -0
  494. package/dist/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -0
  495. package/dist/components/ProgressBar/ProgressBar.module.css.js +14 -0
  496. package/dist/components/ProgressBar/ProgressBar.module.css.js.map +1 -0
  497. package/dist/components/ProgressBar.cjs +1 -0
  498. package/dist/components/ProgressBar.d.ts +2 -0
  499. package/dist/components/ProgressBar.js +2 -0
  500. package/dist/components/RadioButton/RadioButton.cjs +2 -0
  501. package/dist/components/RadioButton/RadioButton.cjs.map +1 -0
  502. package/dist/components/RadioButton/RadioButton.js +14 -0
  503. package/dist/components/RadioButton/RadioButton.js.map +1 -0
  504. package/dist/components/RadioButton/RadioButton.module.css.cjs +2 -0
  505. package/dist/components/RadioButton/RadioButton.module.css.cjs.map +1 -0
  506. package/dist/components/RadioButton/RadioButton.module.css.js +5 -0
  507. package/dist/components/RadioButton/RadioButton.module.css.js.map +1 -0
  508. package/dist/components/RadioButton.cjs +1 -0
  509. package/dist/components/RadioButton.d.ts +2 -0
  510. package/dist/components/RadioButton.js +2 -0
  511. package/dist/components/SearchBar/SearchBar.cjs +2 -0
  512. package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
  513. package/dist/components/SearchBar/SearchBar.js +160 -0
  514. package/dist/components/SearchBar/SearchBar.js.map +1 -0
  515. package/dist/components/SearchBar/SearchBar.module.css.cjs +2 -0
  516. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -0
  517. package/dist/components/SearchBar/SearchBar.module.css.js +19 -0
  518. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -0
  519. package/dist/components/SearchBar.cjs +1 -0
  520. package/dist/components/SearchBar.d.ts +2 -0
  521. package/dist/components/SearchBar.js +2 -0
  522. package/dist/components/Separator/Separator.cjs +2 -0
  523. package/dist/components/Separator/Separator.cjs.map +1 -0
  524. package/dist/components/Separator/Separator.js +23 -0
  525. package/dist/components/Separator/Separator.js.map +1 -0
  526. package/dist/components/Separator/Separator.module.css.cjs +2 -0
  527. package/dist/components/Separator/Separator.module.css.cjs.map +1 -0
  528. package/dist/components/Separator/Separator.module.css.js +9 -0
  529. package/dist/components/Separator/Separator.module.css.js.map +1 -0
  530. package/dist/components/Separator.cjs +1 -0
  531. package/dist/components/Separator.d.ts +2 -0
  532. package/dist/components/Separator.js +2 -0
  533. package/dist/components/ShortcutLabel/ShortcutLabel.cjs +2 -0
  534. package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -0
  535. package/dist/components/ShortcutLabel/ShortcutLabel.js +50 -0
  536. package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -0
  537. package/dist/components/ShortcutLabel/ShortcutLabel.module.css.cjs +2 -0
  538. package/dist/components/ShortcutLabel/ShortcutLabel.module.css.cjs.map +1 -0
  539. package/dist/components/ShortcutLabel/ShortcutLabel.module.css.js +8 -0
  540. package/dist/components/ShortcutLabel/ShortcutLabel.module.css.js.map +1 -0
  541. package/dist/components/ShortcutLabel.cjs +1 -0
  542. package/dist/components/ShortcutLabel.d.ts +2 -0
  543. package/dist/components/ShortcutLabel.js +2 -0
  544. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +2 -0
  545. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -0
  546. package/dist/components/ShortcutsDialog/ShortcutsDialog.js +129 -0
  547. package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -0
  548. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +2 -0
  549. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs.map +1 -0
  550. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +28 -0
  551. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js.map +1 -0
  552. package/dist/components/ShortcutsDialog.cjs +1 -0
  553. package/dist/components/ShortcutsDialog.d.ts +2 -0
  554. package/dist/components/ShortcutsDialog.js +2 -0
  555. package/dist/components/Sidebar/Sidebar.cjs +2 -0
  556. package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
  557. package/dist/components/Sidebar/Sidebar.js +69 -0
  558. package/dist/components/Sidebar/Sidebar.js.map +1 -0
  559. package/dist/components/Sidebar/Sidebar.module.css.cjs +2 -0
  560. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -0
  561. package/dist/components/Sidebar/Sidebar.module.css.js +39 -0
  562. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -0
  563. package/dist/components/Sidebar/SidebarItem.cjs +2 -0
  564. package/dist/components/Sidebar/SidebarItem.cjs.map +1 -0
  565. package/dist/components/Sidebar/SidebarItem.js +105 -0
  566. package/dist/components/Sidebar/SidebarItem.js.map +1 -0
  567. package/dist/components/Sidebar/SidebarSection.cjs +2 -0
  568. package/dist/components/Sidebar/SidebarSection.cjs.map +1 -0
  569. package/dist/components/Sidebar/SidebarSection.js +89 -0
  570. package/dist/components/Sidebar/SidebarSection.js.map +1 -0
  571. package/dist/components/Sidebar.cjs +1 -0
  572. package/dist/components/Sidebar.d.ts +2 -0
  573. package/dist/components/Sidebar.js +4 -0
  574. package/dist/components/Slider/Slider.cjs +2 -0
  575. package/dist/components/Slider/Slider.cjs.map +1 -0
  576. package/dist/components/Slider/Slider.js +122 -0
  577. package/dist/components/Slider/Slider.js.map +1 -0
  578. package/dist/components/Slider/Slider.module.css.cjs +2 -0
  579. package/dist/components/Slider/Slider.module.css.cjs.map +1 -0
  580. package/dist/components/Slider/Slider.module.css.js +15 -0
  581. package/dist/components/Slider/Slider.module.css.js.map +1 -0
  582. package/dist/components/Slider.cjs +1 -0
  583. package/dist/components/Slider.d.ts +2 -0
  584. package/dist/components/Slider.js +2 -0
  585. package/dist/components/SpinButton/SpinButton.cjs +2 -0
  586. package/dist/components/SpinButton/SpinButton.cjs.map +1 -0
  587. package/dist/components/SpinButton/SpinButton.js +92 -0
  588. package/dist/components/SpinButton/SpinButton.js.map +1 -0
  589. package/dist/components/SpinButton/SpinButton.module.css.cjs +2 -0
  590. package/dist/components/SpinButton/SpinButton.module.css.cjs.map +1 -0
  591. package/dist/components/SpinButton/SpinButton.module.css.js +10 -0
  592. package/dist/components/SpinButton/SpinButton.module.css.js.map +1 -0
  593. package/dist/components/SpinButton.cjs +1 -0
  594. package/dist/components/SpinButton.d.ts +2 -0
  595. package/dist/components/SpinButton.js +2 -0
  596. package/dist/components/SpinRow/SpinRow.cjs +2 -0
  597. package/dist/components/SpinRow/SpinRow.cjs.map +1 -0
  598. package/dist/components/SpinRow/SpinRow.js +119 -0
  599. package/dist/components/SpinRow/SpinRow.js.map +1 -0
  600. package/dist/components/SpinRow/SpinRow.module.css.cjs +2 -0
  601. package/dist/components/SpinRow/SpinRow.module.css.cjs.map +1 -0
  602. package/dist/components/SpinRow/SpinRow.module.css.js +15 -0
  603. package/dist/components/SpinRow/SpinRow.module.css.js.map +1 -0
  604. package/dist/components/SpinRow.cjs +1 -0
  605. package/dist/components/SpinRow.d.ts +2 -0
  606. package/dist/components/SpinRow.js +2 -0
  607. package/dist/components/Spinner/Spinner.cjs +2 -0
  608. package/dist/components/Spinner/Spinner.cjs.map +1 -0
  609. package/dist/components/Spinner/Spinner.js +21 -0
  610. package/dist/components/Spinner/Spinner.js.map +1 -0
  611. package/dist/components/Spinner/Spinner.module.css.cjs +2 -0
  612. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -0
  613. package/dist/components/Spinner/Spinner.module.css.js +11 -0
  614. package/dist/components/Spinner/Spinner.module.css.js.map +1 -0
  615. package/dist/components/Spinner.cjs +1 -0
  616. package/dist/components/Spinner.d.ts +2 -0
  617. package/dist/components/Spinner.js +2 -0
  618. package/dist/components/SplitButton/SplitButton.cjs +2 -0
  619. package/dist/components/SplitButton/SplitButton.cjs.map +1 -0
  620. package/dist/components/SplitButton/SplitButton.js +104 -0
  621. package/dist/components/SplitButton/SplitButton.js.map +1 -0
  622. package/dist/components/SplitButton/SplitButton.module.css.cjs +2 -0
  623. package/dist/components/SplitButton/SplitButton.module.css.cjs.map +1 -0
  624. package/dist/components/SplitButton/SplitButton.module.css.js +16 -0
  625. package/dist/components/SplitButton/SplitButton.module.css.js.map +1 -0
  626. package/dist/components/SplitButton.cjs +1 -0
  627. package/dist/components/SplitButton.d.ts +2 -0
  628. package/dist/components/SplitButton.js +2 -0
  629. package/dist/components/StatusBadge/StatusBadge.cjs +2 -0
  630. package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -0
  631. package/dist/components/StatusBadge/StatusBadge.js +18 -0
  632. package/dist/components/StatusBadge/StatusBadge.js.map +1 -0
  633. package/dist/components/StatusBadge/StatusBadge.module.css.cjs +2 -0
  634. package/dist/components/StatusBadge/StatusBadge.module.css.cjs.map +1 -0
  635. package/dist/components/StatusBadge/StatusBadge.module.css.js +13 -0
  636. package/dist/components/StatusBadge/StatusBadge.module.css.js.map +1 -0
  637. package/dist/components/StatusBadge.cjs +1 -0
  638. package/dist/components/StatusBadge.d.ts +2 -0
  639. package/dist/components/StatusBadge.js +2 -0
  640. package/dist/components/StatusPage/StatusPage.cjs +2 -0
  641. package/dist/components/StatusPage/StatusPage.cjs.map +1 -0
  642. package/dist/components/StatusPage/StatusPage.js +43 -0
  643. package/dist/components/StatusPage/StatusPage.js.map +1 -0
  644. package/dist/components/StatusPage/StatusPage.module.css.cjs +2 -0
  645. package/dist/components/StatusPage/StatusPage.module.css.cjs.map +1 -0
  646. package/dist/components/StatusPage/StatusPage.module.css.js +12 -0
  647. package/dist/components/StatusPage/StatusPage.module.css.js.map +1 -0
  648. package/dist/components/StatusPage.cjs +1 -0
  649. package/dist/components/StatusPage.d.ts +2 -0
  650. package/dist/components/StatusPage.js +2 -0
  651. package/dist/components/Switch/Switch.cjs +2 -0
  652. package/dist/components/Switch/Switch.cjs.map +1 -0
  653. package/dist/components/Switch/Switch.js +15 -0
  654. package/dist/components/Switch/Switch.js.map +1 -0
  655. package/dist/components/Switch/Switch.module.css.cjs +2 -0
  656. package/dist/components/Switch/Switch.module.css.cjs.map +1 -0
  657. package/dist/components/Switch/Switch.module.css.js +6 -0
  658. package/dist/components/Switch/Switch.module.css.js.map +1 -0
  659. package/dist/components/Switch.cjs +1 -0
  660. package/dist/components/Switch.d.ts +2 -0
  661. package/dist/components/Switch.js +2 -0
  662. package/dist/components/SwitchRow/SwitchRow.cjs +2 -0
  663. package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -0
  664. package/dist/components/SwitchRow/SwitchRow.js +49 -0
  665. package/dist/components/SwitchRow/SwitchRow.js.map +1 -0
  666. package/dist/components/SwitchRow/SwitchRow.module.css.cjs +2 -0
  667. package/dist/components/SwitchRow/SwitchRow.module.css.cjs.map +1 -0
  668. package/dist/components/SwitchRow/SwitchRow.module.css.js +15 -0
  669. package/dist/components/SwitchRow/SwitchRow.module.css.js.map +1 -0
  670. package/dist/components/SwitchRow.cjs +1 -0
  671. package/dist/components/SwitchRow.d.ts +2 -0
  672. package/dist/components/SwitchRow.js +2 -0
  673. package/dist/components/Tabs/TabBar.cjs +2 -0
  674. package/dist/components/Tabs/TabBar.cjs.map +1 -0
  675. package/dist/components/Tabs/TabBar.js +38 -0
  676. package/dist/components/Tabs/TabBar.js.map +1 -0
  677. package/dist/components/Tabs/TabItem.cjs +2 -0
  678. package/dist/components/Tabs/TabItem.cjs.map +1 -0
  679. package/dist/components/Tabs/TabItem.js +52 -0
  680. package/dist/components/Tabs/TabItem.js.map +1 -0
  681. package/dist/components/Tabs/TabPanel.cjs +2 -0
  682. package/dist/components/Tabs/TabPanel.cjs.map +1 -0
  683. package/dist/components/Tabs/TabPanel.js +18 -0
  684. package/dist/components/Tabs/TabPanel.js.map +1 -0
  685. package/dist/components/Tabs/Tabs.module.css.cjs +2 -0
  686. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -0
  687. package/dist/components/Tabs/Tabs.module.css.js +15 -0
  688. package/dist/components/Tabs/Tabs.module.css.js.map +1 -0
  689. package/dist/components/Tabs.cjs +1 -0
  690. package/dist/components/Tabs.d.ts +2 -0
  691. package/dist/components/Tabs.js +4 -0
  692. package/dist/components/TerminalView/TerminalView.cjs +2 -0
  693. package/dist/components/TerminalView/TerminalView.cjs.map +1 -0
  694. package/dist/components/TerminalView/TerminalView.js +28 -0
  695. package/dist/components/TerminalView/TerminalView.js.map +1 -0
  696. package/dist/components/TerminalView/TerminalView.module.css.cjs +2 -0
  697. package/dist/components/TerminalView/TerminalView.module.css.cjs.map +1 -0
  698. package/dist/components/TerminalView/TerminalView.module.css.js +12 -0
  699. package/dist/components/TerminalView/TerminalView.module.css.js.map +1 -0
  700. package/dist/components/TerminalView.cjs +1 -0
  701. package/dist/components/TerminalView.d.ts +2 -0
  702. package/dist/components/TerminalView.js +2 -0
  703. package/dist/components/Text/Text.cjs +2 -0
  704. package/dist/components/Text/Text.cjs.map +1 -0
  705. package/dist/components/Text/Text.js +33 -0
  706. package/dist/components/Text/Text.js.map +1 -0
  707. package/dist/components/Text/Text.module.css.cjs +2 -0
  708. package/dist/components/Text/Text.module.css.cjs.map +1 -0
  709. package/dist/components/Text/Text.module.css.js +27 -0
  710. package/dist/components/Text/Text.module.css.js.map +1 -0
  711. package/dist/components/Text.cjs +1 -0
  712. package/dist/components/Text.d.ts +2 -0
  713. package/dist/components/Text.js +2 -0
  714. package/dist/components/TextField/TextField.cjs +2 -0
  715. package/dist/components/TextField/TextField.cjs.map +1 -0
  716. package/dist/components/TextField/TextField.js +38 -0
  717. package/dist/components/TextField/TextField.js.map +1 -0
  718. package/dist/components/TextField/TextField.module.css.cjs +2 -0
  719. package/dist/components/TextField/TextField.module.css.cjs.map +1 -0
  720. package/dist/components/TextField/TextField.module.css.js +13 -0
  721. package/dist/components/TextField/TextField.module.css.js.map +1 -0
  722. package/dist/components/TextField.cjs +1 -0
  723. package/dist/components/TextField.d.ts +2 -0
  724. package/dist/components/TextField.js +2 -0
  725. package/dist/components/Timeline/Timeline.cjs +2 -0
  726. package/dist/components/Timeline/Timeline.cjs.map +1 -0
  727. package/dist/components/Timeline/Timeline.js +71 -0
  728. package/dist/components/Timeline/Timeline.js.map +1 -0
  729. package/dist/components/Timeline/Timeline.module.css.cjs +2 -0
  730. package/dist/components/Timeline/Timeline.module.css.cjs.map +1 -0
  731. package/dist/components/Timeline/Timeline.module.css.js +19 -0
  732. package/dist/components/Timeline/Timeline.module.css.js.map +1 -0
  733. package/dist/components/Timeline.cjs +1 -0
  734. package/dist/components/Timeline.d.ts +2 -0
  735. package/dist/components/Timeline.js +2 -0
  736. package/dist/components/Toast/Toast.cjs +2 -0
  737. package/dist/components/Toast/Toast.cjs.map +1 -0
  738. package/dist/components/Toast/Toast.js +63 -0
  739. package/dist/components/Toast/Toast.js.map +1 -0
  740. package/dist/components/Toast/Toast.module.css.cjs +2 -0
  741. package/dist/components/Toast/Toast.module.css.cjs.map +1 -0
  742. package/dist/components/Toast/Toast.module.css.js +16 -0
  743. package/dist/components/Toast/Toast.module.css.js.map +1 -0
  744. package/dist/components/Toast/Toaster.cjs +2 -0
  745. package/dist/components/Toast/Toaster.cjs.map +1 -0
  746. package/dist/components/Toast/Toaster.js +21 -0
  747. package/dist/components/Toast/Toaster.js.map +1 -0
  748. package/dist/components/Toast.cjs +1 -0
  749. package/dist/components/Toast.d.ts +2 -0
  750. package/dist/components/Toast.js +3 -0
  751. package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
  752. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
  753. package/dist/components/ToggleGroup/ToggleGroup.js +43 -0
  754. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  755. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +2 -0
  756. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -0
  757. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +12 -0
  758. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -0
  759. package/dist/components/ToggleGroup/ToggleGroupItem.cjs +2 -0
  760. package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -0
  761. package/dist/components/ToggleGroup/ToggleGroupItem.js +38 -0
  762. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -0
  763. package/dist/components/ToggleGroup.cjs +1 -0
  764. package/dist/components/ToggleGroup.d.ts +2 -0
  765. package/dist/components/ToggleGroup.js +3 -0
  766. package/dist/components/Toolbar/Spacer.cjs +2 -0
  767. package/dist/components/Toolbar/Spacer.cjs.map +1 -0
  768. package/dist/components/Toolbar/Spacer.js +14 -0
  769. package/dist/components/Toolbar/Spacer.js.map +1 -0
  770. package/dist/components/Toolbar/Toolbar.cjs +2 -0
  771. package/dist/components/Toolbar/Toolbar.cjs.map +1 -0
  772. package/dist/components/Toolbar/Toolbar.js +14 -0
  773. package/dist/components/Toolbar/Toolbar.js.map +1 -0
  774. package/dist/components/Toolbar/Toolbar.module.css.cjs +2 -0
  775. package/dist/components/Toolbar/Toolbar.module.css.cjs.map +1 -0
  776. package/dist/components/Toolbar/Toolbar.module.css.js +8 -0
  777. package/dist/components/Toolbar/Toolbar.module.css.js.map +1 -0
  778. package/dist/components/Toolbar.cjs +1 -0
  779. package/dist/components/Toolbar.d.ts +2 -0
  780. package/dist/components/Toolbar.js +3 -0
  781. package/dist/components/ToolbarView/ToolbarView.cjs +2 -0
  782. package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -0
  783. package/dist/components/ToolbarView/ToolbarView.js +27 -0
  784. package/dist/components/ToolbarView/ToolbarView.js.map +1 -0
  785. package/dist/components/ToolbarView/ToolbarView.module.css.cjs +2 -0
  786. package/dist/components/ToolbarView/ToolbarView.module.css.cjs.map +1 -0
  787. package/dist/components/ToolbarView/ToolbarView.module.css.js +10 -0
  788. package/dist/components/ToolbarView/ToolbarView.module.css.js.map +1 -0
  789. package/dist/components/ToolbarView.cjs +1 -0
  790. package/dist/components/ToolbarView.d.ts +2 -0
  791. package/dist/components/ToolbarView.js +2 -0
  792. package/dist/components/Tooltip/Tooltip.cjs +2 -0
  793. package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
  794. package/dist/components/Tooltip/Tooltip.js +100 -0
  795. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  796. package/dist/components/Tooltip/Tooltip.module.css.cjs +2 -0
  797. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
  798. package/dist/components/Tooltip/Tooltip.module.css.js +12 -0
  799. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -0
  800. package/dist/components/Tooltip.cjs +1 -0
  801. package/dist/components/Tooltip.d.ts +2 -0
  802. package/dist/components/Tooltip.js +2 -0
  803. package/dist/components/ViewSwitcher/ViewSwitcher.cjs +2 -0
  804. package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -0
  805. package/dist/components/ViewSwitcher/ViewSwitcher.js +31 -0
  806. package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -0
  807. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs +2 -0
  808. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs.map +1 -0
  809. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js +11 -0
  810. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js.map +1 -0
  811. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs +2 -0
  812. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -0
  813. package/dist/components/ViewSwitcher/ViewSwitcherItem.js +34 -0
  814. package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -0
  815. package/dist/components/ViewSwitcher.cjs +1 -0
  816. package/dist/components/ViewSwitcher.d.ts +2 -0
  817. package/dist/components/ViewSwitcher.js +3 -0
  818. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs +2 -0
  819. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -0
  820. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js +16 -0
  821. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -0
  822. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs +2 -0
  823. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs.map +1 -0
  824. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js +5 -0
  825. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js.map +1 -0
  826. package/dist/components/ViewSwitcherBar.cjs +1 -0
  827. package/dist/components/ViewSwitcherBar.d.ts +2 -0
  828. package/dist/components/ViewSwitcherBar.js +2 -0
  829. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +2 -0
  830. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -0
  831. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +61 -0
  832. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -0
  833. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs +2 -0
  834. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs.map +1 -0
  835. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js +18 -0
  836. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js.map +1 -0
  837. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs +2 -0
  838. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -0
  839. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js +50 -0
  840. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -0
  841. package/dist/components/ViewSwitcherSidebar.cjs +1 -0
  842. package/dist/components/ViewSwitcherSidebar.d.ts +2 -0
  843. package/dist/components/ViewSwitcherSidebar.js +3 -0
  844. package/dist/components/WindowTitle/WindowTitle.cjs +2 -0
  845. package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -0
  846. package/dist/components/WindowTitle/WindowTitle.js +20 -0
  847. package/dist/components/WindowTitle/WindowTitle.js.map +1 -0
  848. package/dist/components/WindowTitle/WindowTitle.module.css.cjs +2 -0
  849. package/dist/components/WindowTitle/WindowTitle.module.css.cjs.map +1 -0
  850. package/dist/components/WindowTitle/WindowTitle.module.css.js +9 -0
  851. package/dist/components/WindowTitle/WindowTitle.module.css.js.map +1 -0
  852. package/dist/components/WindowTitle.cjs +1 -0
  853. package/dist/components/WindowTitle.d.ts +2 -0
  854. package/dist/components/WindowTitle.js +2 -0
  855. package/dist/components/WrapBox/WrapBox.cjs +2 -0
  856. package/dist/components/WrapBox/WrapBox.cjs.map +1 -0
  857. package/dist/components/WrapBox/WrapBox.js +26 -0
  858. package/dist/components/WrapBox/WrapBox.js.map +1 -0
  859. package/dist/components/WrapBox/WrapBox.module.css.cjs +2 -0
  860. package/dist/components/WrapBox/WrapBox.module.css.cjs.map +1 -0
  861. package/dist/components/WrapBox/WrapBox.module.css.js +8 -0
  862. package/dist/components/WrapBox/WrapBox.module.css.js.map +1 -0
  863. package/dist/components/WrapBox.cjs +1 -0
  864. package/dist/components/WrapBox.d.ts +2 -0
  865. package/dist/components/WrapBox.js +2 -0
  866. package/dist/hooks/useBreakpoint.cjs +2 -0
  867. package/dist/hooks/useBreakpoint.cjs.map +1 -0
  868. package/dist/hooks/useBreakpoint.js +26 -0
  869. package/dist/hooks/useBreakpoint.js.map +1 -0
  870. package/dist/hooks.cjs +1 -0
  871. package/dist/hooks.d.ts +2 -0
  872. package/dist/hooks.js +2 -0
  873. package/dist/icons/dist/icons/Check.cjs +2 -0
  874. package/dist/icons/dist/icons/Check.cjs.map +1 -0
  875. package/dist/icons/dist/icons/Check.js +12 -0
  876. package/dist/icons/dist/icons/Check.js.map +1 -0
  877. package/dist/icons/dist/icons/Close.cjs +2 -0
  878. package/dist/icons/dist/icons/Close.cjs.map +1 -0
  879. package/dist/icons/dist/icons/Close.js +12 -0
  880. package/dist/icons/dist/icons/Close.js.map +1 -0
  881. package/dist/icons/dist/icons/PanDown.cjs +2 -0
  882. package/dist/icons/dist/icons/PanDown.cjs.map +1 -0
  883. package/dist/icons/dist/icons/PanDown.js +12 -0
  884. package/dist/icons/dist/icons/PanDown.js.map +1 -0
  885. package/dist/icons/dist/icons/PanUp.cjs +2 -0
  886. package/dist/icons/dist/icons/PanUp.cjs.map +1 -0
  887. package/dist/icons/dist/icons/PanUp.js +12 -0
  888. package/dist/icons/dist/icons/PanUp.js.map +1 -0
  889. package/dist/icons/dist/icons/Search.cjs +2 -0
  890. package/dist/icons/dist/icons/Search.cjs.map +1 -0
  891. package/dist/icons/dist/icons/Search.js +12 -0
  892. package/dist/icons/dist/icons/Search.js.map +1 -0
  893. package/dist/icons/dist/icons/ViewConceal.cjs +2 -0
  894. package/dist/icons/dist/icons/ViewConceal.cjs.map +1 -0
  895. package/dist/icons/dist/icons/ViewConceal.js +12 -0
  896. package/dist/icons/dist/icons/ViewConceal.js.map +1 -0
  897. package/dist/icons/dist/icons/ViewReveal.cjs +2 -0
  898. package/dist/icons/dist/icons/ViewReveal.cjs.map +1 -0
  899. package/dist/icons/dist/icons/ViewReveal.js +12 -0
  900. package/dist/icons/dist/icons/ViewReveal.js.map +1 -0
  901. package/dist/index.cjs +1 -2
  902. package/dist/index.js +87 -5166
  903. package/dist/style.css +1 -1
  904. package/package.json +391 -1
  905. package/dist/index.cjs.map +0 -1
  906. package/dist/index.js.map +0 -1
  907. package/dist/test/setup.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export * from './Icon/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { Icon as e } from "./Icon/Icon.js";
2
+ export { e as Icon };
@@ -0,0 +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;
2
+ //# sourceMappingURL=InlineViewSwitcher.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,47 @@
1
+ import e from "./InlineViewSwitcher.module.css.js";
2
+ import { createContext as t, useContext as n, useRef as r } from "react";
3
+ import { jsx as i } from "react/jsx-runtime";
4
+ //#region src/components/InlineViewSwitcher/InlineViewSwitcher.tsx
5
+ var a = t(null);
6
+ function o() {
7
+ let e = n(a);
8
+ if (!e) throw Error("InlineViewSwitcherItem must be used inside InlineViewSwitcher");
9
+ return e;
10
+ }
11
+ function s({ value: t, onValueChange: n, variant: o = "default", "aria-label": s = "View switcher", children: c, className: l, ...u }) {
12
+ let d = r(null);
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;
21
+ else return;
22
+ e.preventDefault(), t[r].focus(), t[r].click();
23
+ }
24
+ return /* @__PURE__ */ i(a.Provider, {
25
+ value: {
26
+ value: t,
27
+ onValueChange: n
28
+ },
29
+ children: /* @__PURE__ */ i("div", {
30
+ ref: d,
31
+ role: "radiogroup",
32
+ "aria-label": s,
33
+ onKeyDown: f,
34
+ className: [
35
+ e.switcher,
36
+ e[o],
37
+ l
38
+ ].filter(Boolean).join(" "),
39
+ ...u,
40
+ children: c
41
+ })
42
+ });
43
+ }
44
+ //#endregion
45
+ export { s as InlineViewSwitcher, o as useInlineViewSwitcher };
46
+
47
+ //# sourceMappingURL=InlineViewSwitcher.js.map
@@ -0,0 +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"}
@@ -0,0 +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;
2
+ //# sourceMappingURL=InlineViewSwitcher.module.css.cjs.map
@@ -0,0 +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":""}
@@ -0,0 +1,16 @@
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"
12
+ };
13
+ //#endregion
14
+ export { e as default };
15
+
16
+ //# sourceMappingURL=InlineViewSwitcher.module.css.js.map
@@ -0,0 +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":""}
@@ -0,0 +1,2 @@
1
+ const e=require(`../Icon/Icon.cjs`),t=require(`./InlineViewSwitcher.module.css.cjs`),n=require(`./InlineViewSwitcher.cjs`);let r=require(`react/jsx-runtime`);function i({name:i,label:a,icon:o,disabled:s,className:c,...l}){let{value:u,onValueChange:d}=n.useInlineViewSwitcher(),f=u===i,p=o&&!a;return(0,r.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":f,tabIndex:f?0:-1,disabled:s,onClick:()=>d(i),className:[t.default.item,f?t.default.active:null,p?t.default.iconOnly:null,c].filter(Boolean).join(` `),...l,children:[o&&(0,r.jsx)(`span`,{className:t.default.itemIcon,children:(0,r.jsx)(e.Icon,{icon:o,size:`md`,"aria-hidden":!0})}),a&&(0,r.jsx)(`span`,{className:t.default.itemLabel,children:a})]})}exports.InlineViewSwitcherItem=i;
2
+ //# sourceMappingURL=InlineViewSwitcherItem.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,38 @@
1
+ import { Icon as e } from "../Icon/Icon.js";
2
+ import t from "./InlineViewSwitcher.module.css.js";
3
+ import { useInlineViewSwitcher as n } from "./InlineViewSwitcher.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/components/InlineViewSwitcher/InlineViewSwitcherItem.tsx
6
+ function a({ name: a, label: o, icon: s, disabled: c, className: l, ...u }) {
7
+ let { value: d, onValueChange: f } = n(), p = d === a, m = s && !o;
8
+ return /* @__PURE__ */ i("button", {
9
+ type: "button",
10
+ role: "radio",
11
+ "aria-checked": p,
12
+ tabIndex: p ? 0 : -1,
13
+ disabled: c,
14
+ onClick: () => f(a),
15
+ className: [
16
+ t.item,
17
+ p ? t.active : null,
18
+ m ? t.iconOnly : null,
19
+ l
20
+ ].filter(Boolean).join(" "),
21
+ ...u,
22
+ children: [s && /* @__PURE__ */ r("span", {
23
+ className: t.itemIcon,
24
+ children: /* @__PURE__ */ r(e, {
25
+ icon: s,
26
+ size: "md",
27
+ "aria-hidden": !0
28
+ })
29
+ }), o && /* @__PURE__ */ r("span", {
30
+ className: t.itemLabel,
31
+ children: o
32
+ })]
33
+ });
34
+ }
35
+ //#endregion
36
+ export { a as InlineViewSwitcherItem };
37
+
38
+ //# sourceMappingURL=InlineViewSwitcherItem.js.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./InlineViewSwitcher/InlineViewSwitcher.cjs`),t=require(`./InlineViewSwitcher/InlineViewSwitcherItem.cjs`);exports.InlineViewSwitcher=e.InlineViewSwitcher,exports.InlineViewSwitcherItem=t.InlineViewSwitcherItem;
@@ -0,0 +1,2 @@
1
+ export * from './InlineViewSwitcher/index'
2
+ export {}
@@ -0,0 +1,3 @@
1
+ import { InlineViewSwitcher as e } from "./InlineViewSwitcher/InlineViewSwitcher.js";
2
+ import { InlineViewSwitcherItem as t } from "./InlineViewSwitcher/InlineViewSwitcherItem.js";
3
+ export { e as InlineViewSwitcher, t as InlineViewSwitcherItem };
@@ -0,0 +1,2 @@
1
+ const e=require(`./Link.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({external:n=!1,children:r,className:i,target:a,rel:o,...s}){let c=n||a===`_blank`;return(0,t.jsxs)(`a`,{className:[e.default.link,i].filter(Boolean).join(` `),target:c?`_blank`:a,rel:c?`noopener noreferrer`:o,...s,children:[r,c&&(0,t.jsx)(`span`,{className:e.default.externalIcon,"aria-label":`(opens in new tab)`,children:`↗`})]})}exports.Link=n;
2
+ //# sourceMappingURL=Link.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import e from "./Link.module.css.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/components/Link/Link.tsx
4
+ function r({ external: r = !1, children: i, className: a, target: o, rel: s, ...c }) {
5
+ let l = r || o === "_blank";
6
+ return /* @__PURE__ */ n("a", {
7
+ className: [e.link, a].filter(Boolean).join(" "),
8
+ target: l ? "_blank" : o,
9
+ rel: l ? "noopener noreferrer" : s,
10
+ ...c,
11
+ children: [i, l && /* @__PURE__ */ t("span", {
12
+ className: e.externalIcon,
13
+ "aria-label": "(opens in new tab)",
14
+ children: "↗"
15
+ })]
16
+ });
17
+ }
18
+ //#endregion
19
+ export { r as Link };
20
+
21
+ //# sourceMappingURL=Link.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ var e={link:`_link_x1qyh_1`,externalIcon:`_externalIcon_x1qyh_36`};exports.default=e;
2
+ //# sourceMappingURL=Link.module.css.cjs.map
@@ -0,0 +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":""}
@@ -0,0 +1,8 @@
1
+ var e = {
2
+ link: "_link_x1qyh_1",
3
+ externalIcon: "_externalIcon_x1qyh_36"
4
+ };
5
+ //#endregion
6
+ export { e as default };
7
+
8
+ //# sourceMappingURL=Link.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.module.css.js","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":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Link/Link.cjs`);exports.Link=e.Link;
@@ -0,0 +1,2 @@
1
+ export * from './Link/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { Link as e } from "./Link/Link.js";
2
+ export { e as Link };
@@ -0,0 +1,2 @@
1
+ const e=require(`./LinkedGroup.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({children:n,vertical:r=!1,className:i,...a}){return(0,t.jsx)(`div`,{className:[e.default.linked,r?e.default.vertical:null,i].filter(Boolean).join(` `),...a,children:n})}exports.LinkedGroup=n;
2
+ //# sourceMappingURL=LinkedGroup.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedGroup.cjs","names":[],"sources":["../../../src/components/LinkedGroup/LinkedGroup.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./LinkedGroup.module.css\";\n\nexport interface LinkedGroupProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n /**\n * Stack children vertically instead of horizontally.\n * Useful for stacked input or button groups.\n */\n vertical?: boolean;\n}\n\n/**\n * Renders children as a single visually-connected unit with no gap and\n * merged borders — the canonical GNOME pattern for button groups and\n * segmented inputs.\n *\n * Mirrors the libadwaita `.linked` style class.\n *\n * - First child gets left (or top) border radius.\n * - Last child gets right (or bottom) border radius.\n * - Adjacent borders are collapsed to a single pixel.\n * - Hover and focus bring the active child to the front via `z-index`.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/style-classes.html#linked-style-class\n *\n * @example\n * <LinkedGroup>\n * <Button>Cut</Button>\n * <Button>Copy</Button>\n * <Button>Paste</Button>\n * </LinkedGroup>\n */\nexport function LinkedGroup({\n children,\n vertical = false,\n className,\n ...props\n}: LinkedGroupProps) {\n const classes = [\n styles.linked,\n vertical ? styles.vertical : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n}\n"],"mappings":"mFAiCA,SAAgB,EAAY,CAC1B,WACA,WAAW,GACX,YACA,GAAG,GACgB,CASnB,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,UATS,CACd,EAAA,QAAO,OACP,EAAW,EAAA,QAAO,SAAW,KAC7B,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CAGe,GAAI,EAC1B,WACG,CAAA"}
@@ -0,0 +1,18 @@
1
+ import e from "./LinkedGroup.module.css.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/LinkedGroup/LinkedGroup.tsx
4
+ function n({ children: n, vertical: r = !1, className: i, ...a }) {
5
+ return /* @__PURE__ */ t("div", {
6
+ className: [
7
+ e.linked,
8
+ r ? e.vertical : null,
9
+ i
10
+ ].filter(Boolean).join(" "),
11
+ ...a,
12
+ children: n
13
+ });
14
+ }
15
+ //#endregion
16
+ export { n as LinkedGroup };
17
+
18
+ //# sourceMappingURL=LinkedGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedGroup.js","names":[],"sources":["../../../src/components/LinkedGroup/LinkedGroup.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./LinkedGroup.module.css\";\n\nexport interface LinkedGroupProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n /**\n * Stack children vertically instead of horizontally.\n * Useful for stacked input or button groups.\n */\n vertical?: boolean;\n}\n\n/**\n * Renders children as a single visually-connected unit with no gap and\n * merged borders — the canonical GNOME pattern for button groups and\n * segmented inputs.\n *\n * Mirrors the libadwaita `.linked` style class.\n *\n * - First child gets left (or top) border radius.\n * - Last child gets right (or bottom) border radius.\n * - Adjacent borders are collapsed to a single pixel.\n * - Hover and focus bring the active child to the front via `z-index`.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/style-classes.html#linked-style-class\n *\n * @example\n * <LinkedGroup>\n * <Button>Cut</Button>\n * <Button>Copy</Button>\n * <Button>Paste</Button>\n * </LinkedGroup>\n */\nexport function LinkedGroup({\n children,\n vertical = false,\n className,\n ...props\n}: LinkedGroupProps) {\n const classes = [\n styles.linked,\n vertical ? styles.vertical : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;AAiCA,SAAgB,EAAY,EAC1B,aACA,cAAW,IACX,cACA,GAAG,KACgB;AASnB,QACE,kBAAC,OAAD;EAAK,WATS;GACd,EAAO;GACP,IAAW,EAAO,WAAW;GAC7B;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EAGe,GAAI;EAC1B;EACG,CAAA"}
@@ -0,0 +1,2 @@
1
+ var e={linked:`_linked_1tser_3`,vertical:`_vertical_1tser_9`};exports.default=e;
2
+ //# sourceMappingURL=LinkedGroup.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedGroup.module.css.cjs","names":[],"sources":["../../../src/components/LinkedGroup/LinkedGroup.module.css"],"sourcesContent":["/* ─── Container ─────────────────────────────────────────────────────────────── */\n\n.linked {\n display: inline-flex;\n flex-direction: row;\n align-items: stretch;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n/* ─── Strip inner border-radius from all children ───────────────────────────── */\n\n.linked > :global(*) {\n border-radius: 0 !important;\n flex-shrink: 0;\n}\n\n/* ─── Collapse shared borders (horizontal) ──────────────────────────────────── */\n\n.linked:not(.vertical) > :global(*:not(:first-child)) {\n margin-left: -1px;\n}\n\n/* ─── Collapse shared borders (vertical) ───────────────────────────────────── */\n\n.linked.vertical > :global(*:not(:first-child)) {\n margin-top: -1px;\n}\n\n/* ─── Restore radius — first child ─────────────────────────────────────────── */\n\n.linked:not(.vertical) > :global(*:first-child) {\n border-top-left-radius: var(--gnome-radius-md) !important;\n border-bottom-left-radius: var(--gnome-radius-md) !important;\n}\n\n.linked.vertical > :global(*:first-child) {\n border-top-left-radius: var(--gnome-radius-md) !important;\n border-top-right-radius: var(--gnome-radius-md) !important;\n}\n\n/* ─── Restore radius — last child ──────────────────────────────────────────── */\n\n.linked:not(.vertical) > :global(*:last-child) {\n border-top-right-radius: var(--gnome-radius-md) !important;\n border-bottom-right-radius: var(--gnome-radius-md) !important;\n}\n\n.linked.vertical > :global(*:last-child) {\n border-bottom-left-radius: var(--gnome-radius-md) !important;\n border-bottom-right-radius: var(--gnome-radius-md) !important;\n}\n\n/* ─── Bring hovered / focused child to the front so its border shows ────────── */\n\n.linked > :global(*:hover),\n.linked > :global(*:focus-visible) {\n position: relative;\n z-index: 1;\n}\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ var e = {
2
+ linked: "_linked_1tser_3",
3
+ vertical: "_vertical_1tser_9"
4
+ };
5
+ //#endregion
6
+ export { e as default };
7
+
8
+ //# sourceMappingURL=LinkedGroup.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedGroup.module.css.js","names":[],"sources":["../../../src/components/LinkedGroup/LinkedGroup.module.css"],"sourcesContent":["/* ─── Container ─────────────────────────────────────────────────────────────── */\n\n.linked {\n display: inline-flex;\n flex-direction: row;\n align-items: stretch;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n/* ─── Strip inner border-radius from all children ───────────────────────────── */\n\n.linked > :global(*) {\n border-radius: 0 !important;\n flex-shrink: 0;\n}\n\n/* ─── Collapse shared borders (horizontal) ──────────────────────────────────── */\n\n.linked:not(.vertical) > :global(*:not(:first-child)) {\n margin-left: -1px;\n}\n\n/* ─── Collapse shared borders (vertical) ───────────────────────────────────── */\n\n.linked.vertical > :global(*:not(:first-child)) {\n margin-top: -1px;\n}\n\n/* ─── Restore radius — first child ─────────────────────────────────────────── */\n\n.linked:not(.vertical) > :global(*:first-child) {\n border-top-left-radius: var(--gnome-radius-md) !important;\n border-bottom-left-radius: var(--gnome-radius-md) !important;\n}\n\n.linked.vertical > :global(*:first-child) {\n border-top-left-radius: var(--gnome-radius-md) !important;\n border-top-right-radius: var(--gnome-radius-md) !important;\n}\n\n/* ─── Restore radius — last child ──────────────────────────────────────────── */\n\n.linked:not(.vertical) > :global(*:last-child) {\n border-top-right-radius: var(--gnome-radius-md) !important;\n border-bottom-right-radius: var(--gnome-radius-md) !important;\n}\n\n.linked.vertical > :global(*:last-child) {\n border-bottom-left-radius: var(--gnome-radius-md) !important;\n border-bottom-right-radius: var(--gnome-radius-md) !important;\n}\n\n/* ─── Bring hovered / focused child to the front so its border shows ────────── */\n\n.linked > :global(*:hover),\n.linked > :global(*:focus-visible) {\n position: relative;\n z-index: 1;\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./LinkedGroup/LinkedGroup.cjs`);exports.LinkedGroup=e.LinkedGroup;
@@ -0,0 +1,2 @@
1
+ export * from './LinkedGroup/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { LinkedGroup as e } from "./LinkedGroup/LinkedGroup.js";
2
+ export { e as LinkedGroup };
@@ -0,0 +1,2 @@
1
+ const e=require(`../../hooks/useBreakpoint.cjs`),t=require(`./NavigationSplitView.module.css.cjs`);let n=require(`react/jsx-runtime`);function r({sidebar:r,content:i,showContent:a=!1,minSidebarWidth:o=180,maxSidebarWidth:s=280,sidebarWidthFraction:c=.25,className:l,style:u,...d}){let{isNarrow:f}=e.useBreakpoint(),p=`clamp(${o}px, ${c*100}%, ${s}px)`;return(0,n.jsxs)(`div`,{className:[t.default.root,f?t.default.collapsed:t.default.expanded,l].filter(Boolean).join(` `),style:{"--sidebar-width":p,...u},...d,children:[(0,n.jsx)(`div`,{className:[t.default.sidebar,f&&a?t.default.paneHidden:t.default.paneVisible].filter(Boolean).join(` `),"aria-hidden":f&&a,children:r}),!f&&(0,n.jsx)(`div`,{className:t.default.divider,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:[t.default.contentPane,f&&!a?t.default.paneHidden:t.default.paneVisible].filter(Boolean).join(` `),"aria-hidden":f&&!a,children:i})]})}exports.NavigationSplitView=r;
2
+ //# sourceMappingURL=NavigationSplitView.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSplitView.cjs","names":[],"sources":["../../../src/components/NavigationSplitView/NavigationSplitView.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport styles from \"./NavigationSplitView.module.css\";\n\nexport interface NavigationSplitViewProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"content\"> {\n /**\n * The sidebar / list pane (left side on wide screens).\n * On narrow screens this is the \"list\" view shown when `showContent` is false.\n */\n sidebar: ReactNode;\n /**\n * The detail / content pane (right side on wide screens).\n * On narrow screens this is the \"detail\" view shown when `showContent` is true.\n */\n content: ReactNode;\n /**\n * Controls which pane is visible on narrow screens (≤ 400 px).\n * - `false` (default) — show the sidebar list.\n * - `true` — show the content detail.\n *\n * Has no effect on wide screens where both panes are visible simultaneously.\n */\n showContent?: boolean;\n /**\n * Minimum sidebar width in px. Defaults to `180`.\n */\n minSidebarWidth?: number;\n /**\n * Maximum sidebar width in px. Defaults to `280`.\n */\n maxSidebarWidth?: number;\n /**\n * Fraction of total width given to the sidebar (0–1). Defaults to `0.25`.\n */\n sidebarWidthFraction?: number;\n}\n\n/**\n * Two-pane sidebar + content layout following the Adwaita\n * `AdwNavigationSplitView` pattern.\n *\n * On **wide** screens (> 400 px) both panes are visible side-by-side.\n * On **narrow** screens (≤ 400 px) only one pane is shown at a time;\n * use `showContent` to switch between the sidebar list and the detail view.\n *\n * The sidebar width is constrained between `minSidebarWidth` and\n * `maxSidebarWidth`, gravitating toward `sidebarWidthFraction` of the total.\n *\n * @example\n * const [showContent, setShowContent] = useState(false);\n * <NavigationSplitView\n * showContent={showContent}\n * sidebar={<MailList onSelect={() => setShowContent(true)} />}\n * content={<MailDetail onBack={() => setShowContent(false)} />}\n * />\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.NavigationSplitView.html\n */\nexport function NavigationSplitView({\n sidebar,\n content,\n showContent = false,\n minSidebarWidth = 180,\n maxSidebarWidth = 280,\n sidebarWidthFraction = 0.25,\n className,\n style,\n ...props\n}: NavigationSplitViewProps) {\n const { isNarrow } = useBreakpoint();\n\n // CSS custom property drives the sidebar width clamp\n const sidebarWidth =\n `clamp(${minSidebarWidth}px, ${sidebarWidthFraction * 100}%, ${maxSidebarWidth}px)`;\n\n return (\n <div\n className={[\n styles.root,\n isNarrow ? styles.collapsed : styles.expanded,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n style={{ \"--sidebar-width\": sidebarWidth, ...style } as React.CSSProperties}\n {...props}\n >\n {/* Sidebar pane */}\n <div\n className={[\n styles.sidebar,\n isNarrow && showContent ? styles.paneHidden : styles.paneVisible,\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-hidden={isNarrow && showContent}\n >\n {sidebar}\n </div>\n\n {/* Separator — only on wide screens */}\n {!isNarrow && <div className={styles.divider} aria-hidden=\"true\" />}\n\n {/* Content pane */}\n <div\n className={[\n styles.contentPane,\n isNarrow && !showContent ? styles.paneHidden : styles.paneVisible,\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-hidden={isNarrow && !showContent}\n >\n {content}\n </div>\n </div>\n );\n}\n"],"mappings":"sIA2DA,SAAgB,EAAoB,CAClC,UACA,UACA,cAAc,GACd,kBAAkB,IAClB,kBAAkB,IAClB,uBAAuB,IACvB,YACA,QACA,GAAG,GACwB,CAC3B,GAAM,CAAE,YAAa,EAAA,eAAe,CAG9B,EACJ,SAAS,EAAgB,MAAM,EAAuB,IAAI,KAAK,EAAgB,KAEjF,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,KACP,EAAW,EAAA,QAAO,UAAY,EAAA,QAAO,SACrC,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,MAAO,CAAE,kBAAmB,EAAc,GAAG,EAAO,CACpD,GAAI,WATN,EAYE,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,QACP,GAAY,EAAc,EAAA,QAAO,WAAa,EAAA,QAAO,YACtD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,cAAa,GAAY,WAExB,EACG,CAAA,CAGL,CAAC,IAAY,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,QAAS,cAAY,OAAS,CAAA,EAGnE,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,YACP,GAAY,CAAC,EAAc,EAAA,QAAO,WAAa,EAAA,QAAO,YACvD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,cAAa,GAAY,CAAC,WAEzB,EACG,CAAA,CACF"}
@@ -0,0 +1,39 @@
1
+ import { useBreakpoint as e } from "../../hooks/useBreakpoint.js";
2
+ import t from "./NavigationSplitView.module.css.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/components/NavigationSplitView/NavigationSplitView.tsx
5
+ function i({ sidebar: i, content: a, showContent: o = !1, minSidebarWidth: s = 180, maxSidebarWidth: c = 280, sidebarWidthFraction: l = .25, className: u, style: d, ...f }) {
6
+ let { isNarrow: p } = e(), m = `clamp(${s}px, ${l * 100}%, ${c}px)`;
7
+ return /* @__PURE__ */ r("div", {
8
+ className: [
9
+ t.root,
10
+ p ? t.collapsed : t.expanded,
11
+ u
12
+ ].filter(Boolean).join(" "),
13
+ style: {
14
+ "--sidebar-width": m,
15
+ ...d
16
+ },
17
+ ...f,
18
+ children: [
19
+ /* @__PURE__ */ n("div", {
20
+ className: [t.sidebar, p && o ? t.paneHidden : t.paneVisible].filter(Boolean).join(" "),
21
+ "aria-hidden": p && o,
22
+ children: i
23
+ }),
24
+ !p && /* @__PURE__ */ n("div", {
25
+ className: t.divider,
26
+ "aria-hidden": "true"
27
+ }),
28
+ /* @__PURE__ */ n("div", {
29
+ className: [t.contentPane, p && !o ? t.paneHidden : t.paneVisible].filter(Boolean).join(" "),
30
+ "aria-hidden": p && !o,
31
+ children: a
32
+ })
33
+ ]
34
+ });
35
+ }
36
+ //#endregion
37
+ export { i as NavigationSplitView };
38
+
39
+ //# sourceMappingURL=NavigationSplitView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSplitView.js","names":[],"sources":["../../../src/components/NavigationSplitView/NavigationSplitView.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport styles from \"./NavigationSplitView.module.css\";\n\nexport interface NavigationSplitViewProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"content\"> {\n /**\n * The sidebar / list pane (left side on wide screens).\n * On narrow screens this is the \"list\" view shown when `showContent` is false.\n */\n sidebar: ReactNode;\n /**\n * The detail / content pane (right side on wide screens).\n * On narrow screens this is the \"detail\" view shown when `showContent` is true.\n */\n content: ReactNode;\n /**\n * Controls which pane is visible on narrow screens (≤ 400 px).\n * - `false` (default) — show the sidebar list.\n * - `true` — show the content detail.\n *\n * Has no effect on wide screens where both panes are visible simultaneously.\n */\n showContent?: boolean;\n /**\n * Minimum sidebar width in px. Defaults to `180`.\n */\n minSidebarWidth?: number;\n /**\n * Maximum sidebar width in px. Defaults to `280`.\n */\n maxSidebarWidth?: number;\n /**\n * Fraction of total width given to the sidebar (0–1). Defaults to `0.25`.\n */\n sidebarWidthFraction?: number;\n}\n\n/**\n * Two-pane sidebar + content layout following the Adwaita\n * `AdwNavigationSplitView` pattern.\n *\n * On **wide** screens (> 400 px) both panes are visible side-by-side.\n * On **narrow** screens (≤ 400 px) only one pane is shown at a time;\n * use `showContent` to switch between the sidebar list and the detail view.\n *\n * The sidebar width is constrained between `minSidebarWidth` and\n * `maxSidebarWidth`, gravitating toward `sidebarWidthFraction` of the total.\n *\n * @example\n * const [showContent, setShowContent] = useState(false);\n * <NavigationSplitView\n * showContent={showContent}\n * sidebar={<MailList onSelect={() => setShowContent(true)} />}\n * content={<MailDetail onBack={() => setShowContent(false)} />}\n * />\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.NavigationSplitView.html\n */\nexport function NavigationSplitView({\n sidebar,\n content,\n showContent = false,\n minSidebarWidth = 180,\n maxSidebarWidth = 280,\n sidebarWidthFraction = 0.25,\n className,\n style,\n ...props\n}: NavigationSplitViewProps) {\n const { isNarrow } = useBreakpoint();\n\n // CSS custom property drives the sidebar width clamp\n const sidebarWidth =\n `clamp(${minSidebarWidth}px, ${sidebarWidthFraction * 100}%, ${maxSidebarWidth}px)`;\n\n return (\n <div\n className={[\n styles.root,\n isNarrow ? styles.collapsed : styles.expanded,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n style={{ \"--sidebar-width\": sidebarWidth, ...style } as React.CSSProperties}\n {...props}\n >\n {/* Sidebar pane */}\n <div\n className={[\n styles.sidebar,\n isNarrow && showContent ? styles.paneHidden : styles.paneVisible,\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-hidden={isNarrow && showContent}\n >\n {sidebar}\n </div>\n\n {/* Separator — only on wide screens */}\n {!isNarrow && <div className={styles.divider} aria-hidden=\"true\" />}\n\n {/* Content pane */}\n <div\n className={[\n styles.contentPane,\n isNarrow && !showContent ? styles.paneHidden : styles.paneVisible,\n ]\n .filter(Boolean)\n .join(\" \")}\n aria-hidden={isNarrow && !showContent}\n >\n {content}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;AA2DA,SAAgB,EAAoB,EAClC,YACA,YACA,iBAAc,IACd,qBAAkB,KAClB,qBAAkB,KAClB,0BAAuB,KACvB,cACA,UACA,GAAG,KACwB;CAC3B,IAAM,EAAE,gBAAa,GAAe,EAG9B,IACJ,SAAS,EAAgB,MAAM,IAAuB,IAAI,KAAK,EAAgB;AAEjF,QACE,kBAAC,OAAD;EACE,WAAW;GACT,EAAO;GACP,IAAW,EAAO,YAAY,EAAO;GACrC;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,OAAO;GAAE,mBAAmB;GAAc,GAAG;GAAO;EACpD,GAAI;YATN;GAYE,kBAAC,OAAD;IACE,WAAW,CACT,EAAO,SACP,KAAY,IAAc,EAAO,aAAa,EAAO,YACtD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;IACZ,eAAa,KAAY;cAExB;IACG,CAAA;GAGL,CAAC,KAAY,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAS,eAAY;IAAS,CAAA;GAGnE,kBAAC,OAAD;IACE,WAAW,CACT,EAAO,aACP,KAAY,CAAC,IAAc,EAAO,aAAa,EAAO,YACvD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;IACZ,eAAa,KAAY,CAAC;cAEzB;IACG,CAAA;GACF"}
@@ -0,0 +1,2 @@
1
+ var e={root:`_root_yaj3r_3`,expanded:`_expanded_yaj3r_12`,sidebar:`_sidebar_yaj3r_16`,contentPane:`_contentPane_yaj3r_22`,collapsed:`_collapsed_yaj3r_30`,paneVisible:`_paneVisible_yaj3r_46`,paneHidden:`_paneHidden_yaj3r_50`,divider:`_divider_yaj3r_67`};exports.default=e;
2
+ //# sourceMappingURL=NavigationSplitView.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSplitView.module.css.cjs","names":[],"sources":["../../../src/components/NavigationSplitView/NavigationSplitView.module.css"],"sourcesContent":["/* ─── Root ───────────────────────────────────────────────────────────────────── */\n\n.root {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* ─── Wide (both panes visible) ──────────────────────────────────────────────── */\n\n.expanded {\n flex-direction: row;\n}\n\n.expanded .sidebar {\n width: var(--sidebar-width, clamp(180px, 25%, 280px));\n flex-shrink: 0;\n overflow-y: auto;\n}\n\n.expanded .contentPane {\n flex: 1;\n min-width: 0;\n overflow-y: auto;\n}\n\n/* ─── Narrow (one pane at a time) ────────────────────────────────────────────── */\n\n.collapsed {\n flex-direction: column;\n position: relative;\n}\n\n.collapsed .sidebar,\n.collapsed .contentPane {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n transition: transform var(--gnome-duration-normal, 200ms) var(--gnome-easing-default, ease);\n}\n\n/* Sidebar slides out to the left when content is shown */\n.collapsed .sidebar.paneVisible {\n transform: translateX(0);\n}\n\n.collapsed .sidebar.paneHidden {\n transform: translateX(-100%);\n pointer-events: none;\n}\n\n/* Content slides in from the right when shown */\n.collapsed .contentPane.paneVisible {\n transform: translateX(0);\n}\n\n.collapsed .contentPane.paneHidden {\n transform: translateX(100%);\n pointer-events: none;\n}\n\n/* ─── Divider ────────────────────────────────────────────────────────────────── */\n\n.divider {\n width: 1px;\n background-color: var(--gnome-card-shade-color, rgba(0, 0, 0, 0.1));\n flex-shrink: 0;\n}\n\n@media (prefers-color-scheme: dark) {\n .divider {\n background-color: rgba(255, 255, 255, 0.08);\n }\n}\n\n/* ─── Reduced motion ─────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .collapsed .sidebar,\n .collapsed .contentPane {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,14 @@
1
+ var e = {
2
+ root: "_root_yaj3r_3",
3
+ expanded: "_expanded_yaj3r_12",
4
+ sidebar: "_sidebar_yaj3r_16",
5
+ contentPane: "_contentPane_yaj3r_22",
6
+ collapsed: "_collapsed_yaj3r_30",
7
+ paneVisible: "_paneVisible_yaj3r_46",
8
+ paneHidden: "_paneHidden_yaj3r_50",
9
+ divider: "_divider_yaj3r_67"
10
+ };
11
+ //#endregion
12
+ export { e as default };
13
+
14
+ //# sourceMappingURL=NavigationSplitView.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSplitView.module.css.js","names":[],"sources":["../../../src/components/NavigationSplitView/NavigationSplitView.module.css"],"sourcesContent":["/* ─── Root ───────────────────────────────────────────────────────────────────── */\n\n.root {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* ─── Wide (both panes visible) ──────────────────────────────────────────────── */\n\n.expanded {\n flex-direction: row;\n}\n\n.expanded .sidebar {\n width: var(--sidebar-width, clamp(180px, 25%, 280px));\n flex-shrink: 0;\n overflow-y: auto;\n}\n\n.expanded .contentPane {\n flex: 1;\n min-width: 0;\n overflow-y: auto;\n}\n\n/* ─── Narrow (one pane at a time) ────────────────────────────────────────────── */\n\n.collapsed {\n flex-direction: column;\n position: relative;\n}\n\n.collapsed .sidebar,\n.collapsed .contentPane {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n transition: transform var(--gnome-duration-normal, 200ms) var(--gnome-easing-default, ease);\n}\n\n/* Sidebar slides out to the left when content is shown */\n.collapsed .sidebar.paneVisible {\n transform: translateX(0);\n}\n\n.collapsed .sidebar.paneHidden {\n transform: translateX(-100%);\n pointer-events: none;\n}\n\n/* Content slides in from the right when shown */\n.collapsed .contentPane.paneVisible {\n transform: translateX(0);\n}\n\n.collapsed .contentPane.paneHidden {\n transform: translateX(100%);\n pointer-events: none;\n}\n\n/* ─── Divider ────────────────────────────────────────────────────────────────── */\n\n.divider {\n width: 1px;\n background-color: var(--gnome-card-shade-color, rgba(0, 0, 0, 0.1));\n flex-shrink: 0;\n}\n\n@media (prefers-color-scheme: dark) {\n .divider {\n background-color: rgba(255, 255, 255, 0.08);\n }\n}\n\n/* ─── Reduced motion ─────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .collapsed .sidebar,\n .collapsed .contentPane {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./NavigationSplitView/NavigationSplitView.cjs`);exports.NavigationSplitView=e.NavigationSplitView;
@@ -0,0 +1,2 @@
1
+ export * from './NavigationSplitView/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { NavigationSplitView as e } from "./NavigationSplitView/NavigationSplitView.js";
2
+ export { e as NavigationSplitView };
@@ -0,0 +1,2 @@
1
+ const e=require(`./NavigationView.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.createContext)({navigate:()=>{},pop:()=>{},canGoBack:!1,currentTag:``,direction:`forward`});function i(){return(0,t.useContext)(r)}function a({tag:i,title:a,children:o,className:s,...c}){let{currentTag:l,direction:u}=(0,t.useContext)(r);return l===i?(0,n.jsxs)(`div`,{className:[e.default.page,u===`forward`?e.default.enterForward:e.default.enterBack,s].filter(Boolean).join(` `),...c,children:[(0,n.jsx)(`div`,{className:e.default.pageHeader,children:(0,n.jsx)(`span`,{className:e.default.pageTitle,children:a})}),(0,n.jsx)(`div`,{className:e.default.pageContent,children:o})]}):null}function o({initialPage:i,children:a,className:o,...s}){let[c,l]=(0,t.useState)([i]),u=c[c.length-1],d=c.length>1,[f,p]=(0,t.useState)(`forward`);return(0,n.jsx)(r.Provider,{value:{navigate:e=>{p(`forward`),l(t=>[...t,e])},pop:()=>{c.length<=1||(p(`back`),l(e=>e.slice(0,-1)))},canGoBack:d,currentTag:u,direction:f},children:(0,n.jsx)(`div`,{className:[e.default.view,o].filter(Boolean).join(` `),...s,children:a})})}exports.NavigationPage=a,exports.NavigationView=o,exports.useNavigation=i;
2
+ //# sourceMappingURL=NavigationView.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationView.cjs","names":[],"sources":["../../../src/components/NavigationView/NavigationView.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useState,\n type ReactNode,\n type HTMLAttributes,\n} from \"react\";\nimport styles from \"./NavigationView.module.css\";\n\n// ─── Context ─────────────────────────────────────────────────────────────────\n\ninterface NavigationContextValue {\n /** Navigate to a page by its `tag`. Pushes onto the stack. */\n navigate: (tag: string) => void;\n /** Go back one page. No-op if already at the root. */\n pop: () => void;\n /** `true` when there is at least one page to go back to. */\n canGoBack: boolean;\n /** Tag of the currently visible page. */\n currentTag: string;\n /** Direction of the last transition (`\"forward\"` or `\"back\"`). */\n direction: \"forward\" | \"back\";\n}\n\nconst NavigationContext = createContext<NavigationContextValue>({\n navigate: () => { },\n pop: () => { },\n canGoBack: false,\n currentTag: \"\",\n direction: \"forward\",\n});\n\n/** Access the nearest `NavigationView`'s navigation functions. */\nexport function useNavigation() {\n return useContext(NavigationContext);\n}\n\n// ─── NavigationPage ───────────────────────────────────────────────────────────\n\nexport interface NavigationPageProps extends HTMLAttributes<HTMLDivElement> {\n /** Unique identifier used with `navigate()`. */\n tag: string;\n /** Page heading shown in a `HeaderBar`-style title bar. */\n title: string;\n children?: ReactNode;\n}\n\n/**\n * A single page inside a `NavigationView`.\n * Only visible when its `tag` matches the current page in the stack.\n */\nexport function NavigationPage({\n tag,\n title,\n children,\n className,\n ...props\n}: NavigationPageProps) {\n const { currentTag, direction } = useContext(NavigationContext);\n if (currentTag !== tag) return null;\n\n return (\n <div\n className={[\n styles.page,\n direction === \"forward\" ? styles.enterForward : styles.enterBack,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n <div className={styles.pageHeader}>\n <span className={styles.pageTitle}>{title}</span>\n </div>\n <div className={styles.pageContent}>{children}</div>\n </div>\n );\n}\n\n// ─── NavigationView ───────────────────────────────────────────────────────────\n\nexport interface NavigationViewProps extends HTMLAttributes<HTMLDivElement> {\n /** Tag of the first page to show. */\n initialPage: string;\n children?: ReactNode;\n}\n\n/**\n * Single-pane push/pop navigation stack.\n *\n * Mirrors `AdwNavigationView` — the mobile-first counterpart to\n * `NavigationSplitView`. Each \"screen\" is a `NavigationPage` with a unique\n * `tag`. Use `useNavigation()` inside pages to call `navigate(tag)` and `pop()`.\n *\n * @example\n * ```tsx\n * <NavigationView initialPage=\"home\">\n * <NavigationPage tag=\"home\" title=\"Home\">\n * <Button onClick={() => navigate(\"details\")}>Open</Button>\n * </NavigationPage>\n * <NavigationPage tag=\"details\" title=\"Details\">\n * <Button onClick={pop}>Back</Button>\n * </NavigationPage>\n * </NavigationView>\n * ```\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.NavigationView.html\n */\nexport function NavigationView({\n initialPage,\n children,\n className,\n ...props\n}: NavigationViewProps) {\n const [stack, setStack] = useState<string[]>([initialPage]);\n\n const currentTag = stack[stack.length - 1];\n const canGoBack = stack.length > 1;\n const [direction, setDirection] = useState<\"forward\" | \"back\">(\"forward\");\n\n const navigate = (tag: string) => {\n setDirection(\"forward\");\n setStack((s) => [...s, tag]);\n };\n\n const pop = () => {\n if (stack.length <= 1) return;\n setDirection(\"back\");\n setStack((s) => s.slice(0, -1));\n };\n\n return (\n <NavigationContext.Provider value={{ navigate, pop, canGoBack, currentTag, direction }}>\n <div\n className={[styles.view, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n </NavigationContext.Provider>\n );\n}\n"],"mappings":"yGAwBA,IAAM,GAAA,EAAA,EAAA,eAA0D,CAC9D,aAAgB,GAChB,QAAW,GACX,UAAW,GACX,WAAY,GACZ,UAAW,UACZ,CAAC,CAGF,SAAgB,GAAgB,CAC9B,OAAA,EAAA,EAAA,YAAkB,EAAkB,CAiBtC,SAAgB,EAAe,CAC7B,MACA,QACA,WACA,YACA,GAAG,GACmB,CACtB,GAAM,CAAE,aAAY,cAAA,EAAA,EAAA,YAAyB,EAAkB,CAG/D,OAFI,IAAe,GAGjB,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,KACP,IAAc,UAAY,EAAA,QAAO,aAAe,EAAA,QAAO,UACvD,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WARN,EAUE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,qBACrB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,mBAAY,EAAa,CAAA,CAC7C,CAAA,EACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,YAAc,WAAe,CAAA,CAChD,GAjBuB,KAkDjC,SAAgB,EAAe,CAC7B,cACA,WACA,YACA,GAAG,GACmB,CACtB,GAAM,CAAC,EAAO,IAAA,EAAA,EAAA,UAA+B,CAAC,EAAY,CAAC,CAErD,EAAa,EAAM,EAAM,OAAS,GAClC,EAAY,EAAM,OAAS,EAC3B,CAAC,EAAW,IAAA,EAAA,EAAA,UAA6C,UAAU,CAazE,OACE,EAAA,EAAA,KAAC,EAAkB,SAAnB,CAA4B,MAAO,CAAE,SAZrB,GAAgB,CAChC,EAAa,UAAU,CACvB,EAAU,GAAM,CAAC,GAAG,EAAG,EAAI,CAAC,EAUmB,QAP/B,CACZ,EAAM,QAAU,IACpB,EAAa,OAAO,CACpB,EAAU,GAAM,EAAE,MAAM,EAAG,GAAG,CAAC,GAIqB,YAAW,aAAY,YAAW,WACpF,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,KAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC7D,GAAI,EAEH,WACG,CAAA,CACqB,CAAA"}