@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 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./SearchBar/SearchBar.cjs`);exports.SearchBar=e.SearchBar;
@@ -0,0 +1,2 @@
1
+ export * from './SearchBar/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { SearchBar as e } from "./SearchBar/SearchBar.js";
2
+ export { e as SearchBar };
@@ -0,0 +1,2 @@
1
+ const e=require(`./Separator.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({orientation:n=`horizontal`,className:r,...i}){let a=[e.default.separator,n===`vertical`?e.default.vertical:e.default.horizontal,r].filter(Boolean).join(` `);return n===`vertical`?(0,t.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,className:a,...i}):(0,t.jsx)(`hr`,{className:a,...i})}exports.Separator=n;
2
+ //# sourceMappingURL=Separator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.cjs","names":[],"sources":["../../../src/components/Separator/Separator.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport styles from \"./Separator.module.css\";\n\nexport type SeparatorOrientation = \"horizontal\" | \"vertical\";\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLHRElement> {\n /** Direction of the dividing line. Defaults to `\"horizontal\"`. */\n orientation?: SeparatorOrientation;\n}\n\n/**\n * Thin dividing line that separates groups of content.\n *\n * Renders as `<hr>` (horizontal) or a `<div role=\"separator\">` (vertical).\n * Color is driven entirely by design tokens and adapts to dark mode automatically.\n *\n * @see https://developer.gnome.org/hig/patterns/containers.html\n */\nexport function Separator({\n orientation = \"horizontal\",\n className,\n ...props\n}: SeparatorProps) {\n const classes = [\n styles.separator,\n orientation === \"vertical\" ? styles.vertical : styles.horizontal,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n if (orientation === \"vertical\") {\n return (\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n className={classes}\n {...(props as HTMLAttributes<HTMLDivElement>)}\n />\n );\n }\n\n return <hr className={classes} {...props} />;\n}\n"],"mappings":"iFAkBA,SAAgB,EAAU,CACxB,cAAc,aACd,YACA,GAAG,GACc,CACjB,IAAM,EAAU,CACd,EAAA,QAAO,UACP,IAAgB,WAAa,EAAA,QAAO,SAAW,EAAA,QAAO,WACtD,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CAaZ,OAXI,IAAgB,YAEhB,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,YACL,mBAAiB,WACjB,UAAW,EACX,GAAK,EACL,CAAA,EAIC,EAAA,EAAA,KAAC,KAAD,CAAI,UAAW,EAAS,GAAI,EAAS,CAAA"}
@@ -0,0 +1,23 @@
1
+ import e from "./Separator.module.css.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/Separator/Separator.tsx
4
+ function n({ orientation: n = "horizontal", className: r, ...i }) {
5
+ let a = [
6
+ e.separator,
7
+ n === "vertical" ? e.vertical : e.horizontal,
8
+ r
9
+ ].filter(Boolean).join(" ");
10
+ return n === "vertical" ? /* @__PURE__ */ t("div", {
11
+ role: "separator",
12
+ "aria-orientation": "vertical",
13
+ className: a,
14
+ ...i
15
+ }) : /* @__PURE__ */ t("hr", {
16
+ className: a,
17
+ ...i
18
+ });
19
+ }
20
+ //#endregion
21
+ export { n as Separator };
22
+
23
+ //# sourceMappingURL=Separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.js","names":[],"sources":["../../../src/components/Separator/Separator.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport styles from \"./Separator.module.css\";\n\nexport type SeparatorOrientation = \"horizontal\" | \"vertical\";\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLHRElement> {\n /** Direction of the dividing line. Defaults to `\"horizontal\"`. */\n orientation?: SeparatorOrientation;\n}\n\n/**\n * Thin dividing line that separates groups of content.\n *\n * Renders as `<hr>` (horizontal) or a `<div role=\"separator\">` (vertical).\n * Color is driven entirely by design tokens and adapts to dark mode automatically.\n *\n * @see https://developer.gnome.org/hig/patterns/containers.html\n */\nexport function Separator({\n orientation = \"horizontal\",\n className,\n ...props\n}: SeparatorProps) {\n const classes = [\n styles.separator,\n orientation === \"vertical\" ? styles.vertical : styles.horizontal,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n if (orientation === \"vertical\") {\n return (\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n className={classes}\n {...(props as HTMLAttributes<HTMLDivElement>)}\n />\n );\n }\n\n return <hr className={classes} {...props} />;\n}\n"],"mappings":";;;AAkBA,SAAgB,EAAU,EACxB,iBAAc,cACd,cACA,GAAG,KACc;CACjB,IAAM,IAAU;EACd,EAAO;EACP,MAAgB,aAAa,EAAO,WAAW,EAAO;EACtD;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;AAaZ,QAXI,MAAgB,aAEhB,kBAAC,OAAD;EACE,MAAK;EACL,oBAAiB;EACjB,WAAW;EACX,GAAK;EACL,CAAA,GAIC,kBAAC,MAAD;EAAI,WAAW;EAAS,GAAI;EAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ var e={separator:`_separator_w9b4s_3`,horizontal:`_horizontal_w9b4s_12`,vertical:`_vertical_w9b4s_20`};exports.default=e;
2
+ //# sourceMappingURL=Separator.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.module.css.cjs","names":[],"sources":["../../../src/components/Separator/Separator.module.css"],"sourcesContent":["/* ─── Base ─────────────────────────────────────────────────────────────────── */\n\n.separator {\n border: none;\n margin: 0;\n background-color: var(--gnome-card-shade-color, rgba(0, 0, 0, 0.07));\n flex-shrink: 0;\n}\n\n/* ─── Horizontal ───────────────────────────────────────────────────────────── */\n\n.horizontal {\n display: block;\n width: 100%;\n height: 1px;\n}\n\n/* ─── Vertical ─────────────────────────────────────────────────────────────── */\n\n.vertical {\n display: inline-block;\n width: 1px;\n height: 100%;\n align-self: stretch;\n}\n"],"mappings":""}
@@ -0,0 +1,9 @@
1
+ var e = {
2
+ separator: "_separator_w9b4s_3",
3
+ horizontal: "_horizontal_w9b4s_12",
4
+ vertical: "_vertical_w9b4s_20"
5
+ };
6
+ //#endregion
7
+ export { e as default };
8
+
9
+ //# sourceMappingURL=Separator.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.module.css.js","names":[],"sources":["../../../src/components/Separator/Separator.module.css"],"sourcesContent":["/* ─── Base ─────────────────────────────────────────────────────────────────── */\n\n.separator {\n border: none;\n margin: 0;\n background-color: var(--gnome-card-shade-color, rgba(0, 0, 0, 0.07));\n flex-shrink: 0;\n}\n\n/* ─── Horizontal ───────────────────────────────────────────────────────────── */\n\n.horizontal {\n display: block;\n width: 100%;\n height: 1px;\n}\n\n/* ─── Vertical ─────────────────────────────────────────────────────────────── */\n\n.vertical {\n display: inline-block;\n width: 1px;\n height: 100%;\n align-self: stretch;\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Separator/Separator.cjs`);exports.Separator=e.Separator;
@@ -0,0 +1,2 @@
1
+ export * from './Separator/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { Separator as e } from "./Separator/Separator.js";
2
+ export { e as Separator };
@@ -0,0 +1,2 @@
1
+ const e=require(`./ShortcutLabel.module.css.cjs`);let t=require(`react/jsx-runtime`);var n={ctrl:`⌃`,control:`⌃`,shift:`⇧`,alt:`⌥`,option:`⌥`,super:`⊞`,win:`⊞`,cmd:`⌘`,command:`⌘`,meta:`⌘`,up:`↑`,down:`↓`,left:`←`,right:`→`,enter:`↵`,return:`↵`,backspace:`⌫`,delete:`⌦`,escape:`⎋`,esc:`⎋`,tab:`⇥`,space:`␣`,pageup:`⇞`,pagedown:`⇟`,home:`⇱`,end:`⇲`};function r({shortcut:r,symbols:i=!0,className:a,...o}){let s=r.split(`+`).map(e=>e.trim()).filter(Boolean);return(0,t.jsx)(`span`,{className:[e.default.label,a].filter(Boolean).join(` `),"aria-label":r,...o,children:s.map((r,a)=>{let o=i?n[r.toLowerCase()]??r:r;return(0,t.jsx)(`kbd`,{className:e.default.key,children:o},a)})})}exports.ShortcutLabel=r;
2
+ //# sourceMappingURL=ShortcutLabel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutLabel.cjs","names":[],"sources":["../../../src/components/ShortcutLabel/ShortcutLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport styles from \"./ShortcutLabel.module.css\";\n\nexport interface ShortcutLabelProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Keyboard shortcut string.\n *\n * Tokens are separated by `+`. Each token is rendered as its own key cap.\n * Common modifiers are normalised to their symbol:\n * - `Ctrl` / `Control` → `⌃`\n * - `Shift` → `⇧`\n * - `Alt` / `Option` → `⌥`\n * - `Super` / `Win` / `Cmd` / `Command` → `⊞`\n * - `Up` → `↑` `Down` → `↓` `Left` → `←` `Right` → `→`\n * - `Enter` / `Return` → `↵`\n * - `Backspace` → `⌫`\n * - `Delete` → `⌦`\n * - `Escape` / `Esc` → `⎋`\n * - `Tab` → `⇥`\n * - `Space` → `␣`\n *\n * @example \"Ctrl+S\" → ⌃ S\n * @example \"Ctrl+Shift+Z\" → ⌃ ⇧ Z\n */\n shortcut: string;\n /** When true, modifier tokens are shown as symbols. Defaults to `true`. */\n symbols?: boolean;\n}\n\nconst SYMBOL_MAP: Record<string, string> = {\n ctrl: \"⌃\",\n control: \"⌃\",\n shift: \"⇧\",\n alt: \"⌥\",\n option: \"⌥\",\n super: \"⊞\",\n win: \"⊞\",\n cmd: \"⌘\",\n command: \"⌘\",\n meta: \"⌘\",\n up: \"↑\",\n down: \"↓\",\n left: \"←\",\n right: \"→\",\n enter: \"↵\",\n return: \"↵\",\n backspace: \"⌫\",\n delete: \"⌦\",\n escape: \"⎋\",\n esc: \"⎋\",\n tab: \"⇥\",\n space: \"␣\",\n pageup: \"⇞\",\n pagedown: \"⇟\",\n home: \"⇱\",\n end: \"⇲\",\n};\n\n/**\n * Read-only display of a keyboard shortcut with per-key key-cap styling.\n *\n * Each token in the `shortcut` string (split by `+`) is rendered as a\n * separate `<kbd>` element. Modifier keys are normalised to their Unicode\n * symbols by default.\n *\n * Mirrors `GtkShortcutLabel`.\n *\n * @see https://docs.gtk.org/gtk4/class.ShortcutLabel.html\n */\nexport function ShortcutLabel({ shortcut, symbols = true, className, ...props }: ShortcutLabelProps) {\n const tokens = shortcut.split(\"+\").map((t) => t.trim()).filter(Boolean);\n\n return (\n <span\n className={[styles.label, className].filter(Boolean).join(\" \")}\n aria-label={shortcut}\n {...props}\n >\n {tokens.map((token, i) => {\n const display = symbols\n ? (SYMBOL_MAP[token.toLowerCase()] ?? token)\n : token;\n\n return (\n <kbd key={i} className={styles.key}>\n {display}\n </kbd>\n );\n })}\n </span>\n );\n}\n"],"mappings":"qFA6BA,IAAM,EAAqC,CACzC,KAAW,IACX,QAAW,IACX,MAAW,IACX,IAAW,IACX,OAAW,IACX,MAAW,IACX,IAAW,IACX,IAAW,IACX,QAAW,IACX,KAAW,IACX,GAAW,IACX,KAAW,IACX,KAAW,IACX,MAAW,IACX,MAAW,IACX,OAAW,IACX,UAAW,IACX,OAAW,IACX,OAAW,IACX,IAAW,IACX,IAAW,IACX,MAAW,IACX,OAAW,IACX,SAAW,IACX,KAAW,IACX,IAAW,IACZ,CAaD,SAAgB,EAAc,CAAE,WAAU,UAAU,GAAM,YAAW,GAAG,GAA6B,CACnG,IAAM,EAAS,EAAS,MAAM,IAAI,CAAC,IAAK,GAAM,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ,CAEvE,OACE,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,CAAC,EAAA,QAAO,MAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC9D,aAAY,EACZ,GAAI,WAEH,EAAO,KAAK,EAAO,IAAM,CACxB,IAAM,EAAU,EACX,EAAW,EAAM,aAAa,GAAK,EACpC,EAEJ,OACE,EAAA,EAAA,KAAC,MAAD,CAAa,UAAW,EAAA,QAAO,aAC5B,EACG,CAFI,EAEJ,EAER,CACG,CAAA"}
@@ -0,0 +1,50 @@
1
+ import e from "./ShortcutLabel.module.css.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/ShortcutLabel/ShortcutLabel.tsx
4
+ var n = {
5
+ ctrl: "⌃",
6
+ control: "⌃",
7
+ shift: "⇧",
8
+ alt: "⌥",
9
+ option: "⌥",
10
+ super: "⊞",
11
+ win: "⊞",
12
+ cmd: "⌘",
13
+ command: "⌘",
14
+ meta: "⌘",
15
+ up: "↑",
16
+ down: "↓",
17
+ left: "←",
18
+ right: "→",
19
+ enter: "↵",
20
+ return: "↵",
21
+ backspace: "⌫",
22
+ delete: "⌦",
23
+ escape: "⎋",
24
+ esc: "⎋",
25
+ tab: "⇥",
26
+ space: "␣",
27
+ pageup: "⇞",
28
+ pagedown: "⇟",
29
+ home: "⇱",
30
+ end: "⇲"
31
+ };
32
+ function r({ shortcut: r, symbols: i = !0, className: a, ...o }) {
33
+ let s = r.split("+").map((e) => e.trim()).filter(Boolean);
34
+ return /* @__PURE__ */ t("span", {
35
+ className: [e.label, a].filter(Boolean).join(" "),
36
+ "aria-label": r,
37
+ ...o,
38
+ children: s.map((r, a) => {
39
+ let o = i ? n[r.toLowerCase()] ?? r : r;
40
+ return /* @__PURE__ */ t("kbd", {
41
+ className: e.key,
42
+ children: o
43
+ }, a);
44
+ })
45
+ });
46
+ }
47
+ //#endregion
48
+ export { r as ShortcutLabel };
49
+
50
+ //# sourceMappingURL=ShortcutLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutLabel.js","names":[],"sources":["../../../src/components/ShortcutLabel/ShortcutLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport styles from \"./ShortcutLabel.module.css\";\n\nexport interface ShortcutLabelProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Keyboard shortcut string.\n *\n * Tokens are separated by `+`. Each token is rendered as its own key cap.\n * Common modifiers are normalised to their symbol:\n * - `Ctrl` / `Control` → `⌃`\n * - `Shift` → `⇧`\n * - `Alt` / `Option` → `⌥`\n * - `Super` / `Win` / `Cmd` / `Command` → `⊞`\n * - `Up` → `↑` `Down` → `↓` `Left` → `←` `Right` → `→`\n * - `Enter` / `Return` → `↵`\n * - `Backspace` → `⌫`\n * - `Delete` → `⌦`\n * - `Escape` / `Esc` → `⎋`\n * - `Tab` → `⇥`\n * - `Space` → `␣`\n *\n * @example \"Ctrl+S\" → ⌃ S\n * @example \"Ctrl+Shift+Z\" → ⌃ ⇧ Z\n */\n shortcut: string;\n /** When true, modifier tokens are shown as symbols. Defaults to `true`. */\n symbols?: boolean;\n}\n\nconst SYMBOL_MAP: Record<string, string> = {\n ctrl: \"⌃\",\n control: \"⌃\",\n shift: \"⇧\",\n alt: \"⌥\",\n option: \"⌥\",\n super: \"⊞\",\n win: \"⊞\",\n cmd: \"⌘\",\n command: \"⌘\",\n meta: \"⌘\",\n up: \"↑\",\n down: \"↓\",\n left: \"←\",\n right: \"→\",\n enter: \"↵\",\n return: \"↵\",\n backspace: \"⌫\",\n delete: \"⌦\",\n escape: \"⎋\",\n esc: \"⎋\",\n tab: \"⇥\",\n space: \"␣\",\n pageup: \"⇞\",\n pagedown: \"⇟\",\n home: \"⇱\",\n end: \"⇲\",\n};\n\n/**\n * Read-only display of a keyboard shortcut with per-key key-cap styling.\n *\n * Each token in the `shortcut` string (split by `+`) is rendered as a\n * separate `<kbd>` element. Modifier keys are normalised to their Unicode\n * symbols by default.\n *\n * Mirrors `GtkShortcutLabel`.\n *\n * @see https://docs.gtk.org/gtk4/class.ShortcutLabel.html\n */\nexport function ShortcutLabel({ shortcut, symbols = true, className, ...props }: ShortcutLabelProps) {\n const tokens = shortcut.split(\"+\").map((t) => t.trim()).filter(Boolean);\n\n return (\n <span\n className={[styles.label, className].filter(Boolean).join(\" \")}\n aria-label={shortcut}\n {...props}\n >\n {tokens.map((token, i) => {\n const display = symbols\n ? (SYMBOL_MAP[token.toLowerCase()] ?? token)\n : token;\n\n return (\n <kbd key={i} className={styles.key}>\n {display}\n </kbd>\n );\n })}\n </span>\n );\n}\n"],"mappings":";;;AA6BA,IAAM,IAAqC;CACzC,MAAW;CACX,SAAW;CACX,OAAW;CACX,KAAW;CACX,QAAW;CACX,OAAW;CACX,KAAW;CACX,KAAW;CACX,SAAW;CACX,MAAW;CACX,IAAW;CACX,MAAW;CACX,MAAW;CACX,OAAW;CACX,OAAW;CACX,QAAW;CACX,WAAW;CACX,QAAW;CACX,QAAW;CACX,KAAW;CACX,KAAW;CACX,OAAW;CACX,QAAW;CACX,UAAW;CACX,MAAW;CACX,KAAW;CACZ;AAaD,SAAgB,EAAc,EAAE,aAAU,aAAU,IAAM,cAAW,GAAG,KAA6B;CACnG,IAAM,IAAS,EAAS,MAAM,IAAI,CAAC,KAAK,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ;AAEvE,QACE,kBAAC,QAAD;EACE,WAAW,CAAC,EAAO,OAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC9D,cAAY;EACZ,GAAI;YAEH,EAAO,KAAK,GAAO,MAAM;GACxB,IAAM,IAAU,IACX,EAAW,EAAM,aAAa,KAAK,IACpC;AAEJ,UACE,kBAAC,OAAD;IAAa,WAAW,EAAO;cAC5B;IACG,EAFI,EAEJ;IAER;EACG,CAAA"}
@@ -0,0 +1,2 @@
1
+ var e={label:`_label_h3znl_3`,key:`_key_h3znl_9`};exports.default=e;
2
+ //# sourceMappingURL=ShortcutLabel.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutLabel.module.css.cjs","names":[],"sources":["../../../src/components/ShortcutLabel/ShortcutLabel.module.css"],"sourcesContent":["/* ─── ShortcutLabel ──────────────────────────────────────────────────────────── */\n\n.label {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n}\n\n.key {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n min-width: 22px;\n height: 22px;\n padding: 0 5px;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n font-style: normal;\n line-height: 1;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n\n background-color: var(--gnome-card-bg-color, rgba(0, 0, 0, 0.06));\n border: 1px solid var(--gnome-card-shade-color, rgba(0, 0, 0, 0.15));\n border-radius: var(--gnome-radius-sm, 4px);\n box-shadow: 0 1px 0 var(--gnome-card-shade-color, rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .key {\n background-color: rgba(255, 255, 255, 0.08);\n border-color: rgba(255, 255, 255, 0.15);\n box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);\n }\n}\n\n/* ─── High contrast ──────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .key {\n border-width: 2px;\n box-shadow: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ var e = {
2
+ label: "_label_h3znl_3",
3
+ key: "_key_h3znl_9"
4
+ };
5
+ //#endregion
6
+ export { e as default };
7
+
8
+ //# sourceMappingURL=ShortcutLabel.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutLabel.module.css.js","names":[],"sources":["../../../src/components/ShortcutLabel/ShortcutLabel.module.css"],"sourcesContent":["/* ─── ShortcutLabel ──────────────────────────────────────────────────────────── */\n\n.label {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n}\n\n.key {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n min-width: 22px;\n height: 22px;\n padding: 0 5px;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n font-style: normal;\n line-height: 1;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n\n background-color: var(--gnome-card-bg-color, rgba(0, 0, 0, 0.06));\n border: 1px solid var(--gnome-card-shade-color, rgba(0, 0, 0, 0.15));\n border-radius: var(--gnome-radius-sm, 4px);\n box-shadow: 0 1px 0 var(--gnome-card-shade-color, rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .key {\n background-color: rgba(255, 255, 255, 0.08);\n border-color: rgba(255, 255, 255, 0.15);\n box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);\n }\n}\n\n/* ─── High contrast ──────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .key {\n border-width: 2px;\n box-shadow: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./ShortcutLabel/ShortcutLabel.cjs`);exports.ShortcutLabel=e.ShortcutLabel;
@@ -0,0 +1,2 @@
1
+ export * from './ShortcutLabel/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { ShortcutLabel as e } from "./ShortcutLabel/ShortcutLabel.js";
2
+ export { e as ShortcutLabel };
@@ -0,0 +1,2 @@
1
+ const e=require(`./ShortcutsDialog.module.css.cjs`);let t=require(`react`),n=require(`react-dom`),r=require(`react/jsx-runtime`);var i=`button:not([disabled]), [href], input:not([disabled]), [tabindex]:not([tabindex="-1"])`;function a({open:a,onClose:o,title:s=`Keyboard Shortcuts`,sections:c}){let[l,u]=(0,t.useState)(``),d=(0,t.useRef)(null),f=(0,t.useRef)(null),p=(0,t.useRef)(null),m=(0,t.useRef)(`shortcuts-title-${Math.random().toString(36).slice(2,9)}`);(0,t.useEffect)(()=>{a?(p.current=document.activeElement,requestAnimationFrame(()=>f.current?.focus())):(u(``),p.current?.focus())},[a]);let h=(0,t.useCallback)(e=>{if(e.key===`Escape`){e.preventDefault(),o();return}if(e.key!==`Tab`)return;let t=Array.from(d.current?.querySelectorAll(i)??[]);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey?document.activeElement===n&&(e.preventDefault(),r.focus()):document.activeElement===r&&(e.preventDefault(),n.focus())},[o]);if(!a)return null;let g=l.trim().toLowerCase(),_=c.map(e=>({...e,shortcuts:e.shortcuts.filter(({description:e,keys:t})=>!g||e.toLowerCase().includes(g)||t.some(e=>e.toLowerCase().includes(g)))})).filter(e=>e.shortcuts.length>0),v=(0,r.jsx)(`div`,{className:e.default.backdrop,onClick:o,"aria-hidden":`true`,children:(0,r.jsxs)(`div`,{ref:d,role:`dialog`,"aria-modal":`true`,"aria-labelledby":m.current,className:e.default.dialog,onKeyDown:h,onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)(`div`,{className:e.default.header,children:[(0,r.jsx)(`span`,{id:m.current,className:e.default.title,children:s}),(0,r.jsx)(`button`,{type:`button`,className:e.default.closeBtn,"aria-label":`Close`,onClick:o,children:`×`})]}),(0,r.jsxs)(`div`,{className:e.default.searchRow,children:[(0,r.jsx)(`span`,{className:e.default.searchIcon,"aria-hidden":`true`,children:`⌕`}),(0,r.jsx)(`input`,{ref:f,type:`search`,className:e.default.searchInput,placeholder:`Search shortcuts…`,value:l,onChange:e=>u(e.target.value),"aria-label":`Search shortcuts`}),l&&(0,r.jsx)(`button`,{type:`button`,className:e.default.searchClear,"aria-label":`Clear search`,onClick:()=>{u(``),f.current?.focus()},children:`×`})]}),(0,r.jsx)(`div`,{className:e.default.body,role:`list`,children:_.length===0?(0,r.jsxs)(`p`,{className:e.default.empty,children:[`No shortcuts match "`,l,`"`]}):_.map(t=>(0,r.jsxs)(`section`,{className:e.default.section,children:[(0,r.jsx)(`h3`,{className:e.default.sectionTitle,children:t.title}),(0,r.jsx)(`ul`,{className:e.default.list,children:t.shortcuts.map(t=>(0,r.jsxs)(`li`,{className:e.default.row,role:`listitem`,children:[(0,r.jsx)(`span`,{className:e.default.keys,"aria-label":t.keys.join(` + `),children:t.keys.map((n,i)=>(0,r.jsxs)(`span`,{className:e.default.keyCap,children:[(0,r.jsx)(`kbd`,{children:n}),i<t.keys.length-1&&(0,r.jsx)(`span`,{className:e.default.plus,"aria-hidden":`true`,children:`+`})]},i))}),(0,r.jsx)(`span`,{className:e.default.description,children:t.description})]},t.description))})]},t.title))})]})});return typeof document>`u`?v:(0,n.createPortal)(v,document.body)}exports.ShortcutsDialog=a;
2
+ //# sourceMappingURL=ShortcutsDialog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutsDialog.cjs","names":[],"sources":["../../../src/components/ShortcutsDialog/ShortcutsDialog.tsx"],"sourcesContent":["import {\n useState,\n useEffect,\n useRef,\n useCallback,\n type KeyboardEvent,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styles from \"./ShortcutsDialog.module.css\";\n\n// ─── Public types ─────────────────────────────────────────────────────────────\n\nexport interface ShortcutEntry {\n /**\n * Key combination tokens, e.g. `[\"Ctrl\", \"S\"]` or `[\"F5\"]`.\n * Each token is rendered as a styled `<kbd>` key cap.\n */\n keys: string[];\n /** Human-readable description of what the shortcut does. */\n description: string;\n}\n\nexport interface ShortcutsSection {\n /** Section heading, e.g. \"File\", \"Edit\". */\n title: string;\n shortcuts: ShortcutEntry[];\n}\n\nexport interface ShortcutsDialogProps {\n /** Whether the dialog is visible. */\n open: boolean;\n /** Called when the dialog is dismissed (Escape, close button). */\n onClose: () => void;\n /** Dialog heading. Defaults to `\"Keyboard Shortcuts\"`. */\n title?: string;\n /** Shortcut sections to display. */\n sections: ShortcutsSection[];\n}\n\n// ─── Focusable selector (reused from Dialog) ─────────────────────────────────\n\nconst FOCUSABLE =\n 'button:not([disabled]), [href], input:not([disabled]), [tabindex]:not([tabindex=\"-1\"])';\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\n/**\n * Modal dialog listing keyboard shortcuts, grouped in sections, with\n * integrated search to filter by description or key name.\n *\n * Mirrors `AdwShortcutsDialog` (libadwaita 1.8 / GNOME 49).\n *\n * - Renders into a portal (`document.body`).\n * - Traps focus; Escape closes.\n * - Search filters across all sections in real time.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ShortcutsDialog.html\n */\nexport function ShortcutsDialog({\n open,\n onClose,\n title = \"Keyboard Shortcuts\",\n sections,\n}: ShortcutsDialogProps) {\n const [query, setQuery] = useState(\"\");\n const dialogRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const previouslyFocused = useRef<Element | null>(null);\n const titleId = useRef(`shortcuts-title-${Math.random().toString(36).slice(2, 9)}`);\n\n // Save / restore focus\n useEffect(() => {\n if (open) {\n previouslyFocused.current = document.activeElement;\n // Focus the search field after mount\n requestAnimationFrame(() => searchRef.current?.focus());\n } else {\n setQuery(\"\");\n (previouslyFocused.current as HTMLElement | null)?.focus();\n }\n }, [open]);\n\n // Focus trap + Escape\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Escape\") {\n e.preventDefault();\n onClose();\n return;\n }\n if (e.key !== \"Tab\") return;\n\n const focusable = Array.from(\n dialogRef.current?.querySelectorAll<HTMLElement>(FOCUSABLE) ?? [],\n );\n if (focusable.length === 0) return;\n\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === first) {\n e.preventDefault();\n last.focus();\n }\n } else {\n if (document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n }\n },\n [onClose],\n );\n\n if (!open) return null;\n\n // Filter sections by query\n const q = query.trim().toLowerCase();\n const filtered = sections\n .map((section) => ({\n ...section,\n shortcuts: section.shortcuts.filter(\n ({ description, keys }) =>\n !q ||\n description.toLowerCase().includes(q) ||\n keys.some((k) => k.toLowerCase().includes(q)),\n ),\n }))\n .filter((s) => s.shortcuts.length > 0);\n\n const node = (\n <div\n className={styles.backdrop}\n onClick={onClose}\n aria-hidden=\"true\"\n >\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId.current}\n className={styles.dialog}\n onKeyDown={handleKeyDown}\n onClick={(e) => e.stopPropagation()}\n >\n {/* ── Header ── */}\n <div className={styles.header}>\n <span id={titleId.current} className={styles.title}>\n {title}\n </span>\n <button\n type=\"button\"\n className={styles.closeBtn}\n aria-label=\"Close\"\n onClick={onClose}\n >\n ×\n </button>\n </div>\n\n {/* ── Search ── */}\n <div className={styles.searchRow}>\n <span className={styles.searchIcon} aria-hidden=\"true\">⌕</span>\n <input\n ref={searchRef}\n type=\"search\"\n className={styles.searchInput}\n placeholder=\"Search shortcuts…\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n aria-label=\"Search shortcuts\"\n />\n {query && (\n <button\n type=\"button\"\n className={styles.searchClear}\n aria-label=\"Clear search\"\n onClick={() => { setQuery(\"\"); searchRef.current?.focus(); }}\n >\n ×\n </button>\n )}\n </div>\n\n {/* ── Shortcut list ── */}\n <div className={styles.body} role=\"list\">\n {filtered.length === 0 ? (\n <p className={styles.empty}>No shortcuts match \"{query}\"</p>\n ) : (\n filtered.map((section) => (\n <section key={section.title} className={styles.section}>\n <h3 className={styles.sectionTitle}>{section.title}</h3>\n <ul className={styles.list}>\n {section.shortcuts.map((shortcut) => (\n <li key={shortcut.description} className={styles.row} role=\"listitem\">\n <span className={styles.keys} aria-label={shortcut.keys.join(\" + \")}>\n {shortcut.keys.map((key, i) => (\n <span key={i} className={styles.keyCap}>\n <kbd>{key}</kbd>\n {i < shortcut.keys.length - 1 && (\n <span className={styles.plus} aria-hidden=\"true\">+</span>\n )}\n </span>\n ))}\n </span>\n <span className={styles.description}>{shortcut.description}</span>\n </li>\n ))}\n </ul>\n </section>\n ))\n )}\n </div>\n </div>\n </div>\n );\n\n if (typeof document === \"undefined\") return node;\n return createPortal(node, document.body);\n}\n"],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import e from "./ShortcutsDialog.module.css.js";
2
+ import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
3
+ import { createPortal as a } from "react-dom";
4
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ //#region src/components/ShortcutsDialog/ShortcutsDialog.tsx
6
+ var c = "button:not([disabled]), [href], input:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
7
+ function l({ open: l, onClose: u, title: d = "Keyboard Shortcuts", sections: f }) {
8
+ let [p, m] = i(""), h = r(null), g = r(null), _ = r(null), v = r(`shortcuts-title-${Math.random().toString(36).slice(2, 9)}`);
9
+ n(() => {
10
+ l ? (_.current = document.activeElement, requestAnimationFrame(() => g.current?.focus())) : (m(""), _.current?.focus());
11
+ }, [l]);
12
+ let y = t((e) => {
13
+ if (e.key === "Escape") {
14
+ e.preventDefault(), u();
15
+ return;
16
+ }
17
+ if (e.key !== "Tab") return;
18
+ let t = Array.from(h.current?.querySelectorAll(c) ?? []);
19
+ if (t.length === 0) return;
20
+ let n = t[0], r = t[t.length - 1];
21
+ e.shiftKey ? document.activeElement === n && (e.preventDefault(), r.focus()) : document.activeElement === r && (e.preventDefault(), n.focus());
22
+ }, [u]);
23
+ if (!l) return null;
24
+ let b = p.trim().toLowerCase(), x = f.map((e) => ({
25
+ ...e,
26
+ shortcuts: e.shortcuts.filter(({ description: e, keys: t }) => !b || e.toLowerCase().includes(b) || t.some((e) => e.toLowerCase().includes(b)))
27
+ })).filter((e) => e.shortcuts.length > 0), S = /* @__PURE__ */ o("div", {
28
+ className: e.backdrop,
29
+ onClick: u,
30
+ "aria-hidden": "true",
31
+ children: /* @__PURE__ */ s("div", {
32
+ ref: h,
33
+ role: "dialog",
34
+ "aria-modal": "true",
35
+ "aria-labelledby": v.current,
36
+ className: e.dialog,
37
+ onKeyDown: y,
38
+ onClick: (e) => e.stopPropagation(),
39
+ children: [
40
+ /* @__PURE__ */ s("div", {
41
+ className: e.header,
42
+ children: [/* @__PURE__ */ o("span", {
43
+ id: v.current,
44
+ className: e.title,
45
+ children: d
46
+ }), /* @__PURE__ */ o("button", {
47
+ type: "button",
48
+ className: e.closeBtn,
49
+ "aria-label": "Close",
50
+ onClick: u,
51
+ children: "×"
52
+ })]
53
+ }),
54
+ /* @__PURE__ */ s("div", {
55
+ className: e.searchRow,
56
+ children: [
57
+ /* @__PURE__ */ o("span", {
58
+ className: e.searchIcon,
59
+ "aria-hidden": "true",
60
+ children: "⌕"
61
+ }),
62
+ /* @__PURE__ */ o("input", {
63
+ ref: g,
64
+ type: "search",
65
+ className: e.searchInput,
66
+ placeholder: "Search shortcuts…",
67
+ value: p,
68
+ onChange: (e) => m(e.target.value),
69
+ "aria-label": "Search shortcuts"
70
+ }),
71
+ p && /* @__PURE__ */ o("button", {
72
+ type: "button",
73
+ className: e.searchClear,
74
+ "aria-label": "Clear search",
75
+ onClick: () => {
76
+ m(""), g.current?.focus();
77
+ },
78
+ children: "×"
79
+ })
80
+ ]
81
+ }),
82
+ /* @__PURE__ */ o("div", {
83
+ className: e.body,
84
+ role: "list",
85
+ children: x.length === 0 ? /* @__PURE__ */ s("p", {
86
+ className: e.empty,
87
+ children: [
88
+ "No shortcuts match \"",
89
+ p,
90
+ "\""
91
+ ]
92
+ }) : x.map((t) => /* @__PURE__ */ s("section", {
93
+ className: e.section,
94
+ children: [/* @__PURE__ */ o("h3", {
95
+ className: e.sectionTitle,
96
+ children: t.title
97
+ }), /* @__PURE__ */ o("ul", {
98
+ className: e.list,
99
+ children: t.shortcuts.map((t) => /* @__PURE__ */ s("li", {
100
+ className: e.row,
101
+ role: "listitem",
102
+ children: [/* @__PURE__ */ o("span", {
103
+ className: e.keys,
104
+ "aria-label": t.keys.join(" + "),
105
+ children: t.keys.map((n, r) => /* @__PURE__ */ s("span", {
106
+ className: e.keyCap,
107
+ children: [/* @__PURE__ */ o("kbd", { children: n }), r < t.keys.length - 1 && /* @__PURE__ */ o("span", {
108
+ className: e.plus,
109
+ "aria-hidden": "true",
110
+ children: "+"
111
+ })]
112
+ }, r))
113
+ }), /* @__PURE__ */ o("span", {
114
+ className: e.description,
115
+ children: t.description
116
+ })]
117
+ }, t.description))
118
+ })]
119
+ }, t.title))
120
+ })
121
+ ]
122
+ })
123
+ });
124
+ return typeof document > "u" ? S : a(S, document.body);
125
+ }
126
+ //#endregion
127
+ export { l as ShortcutsDialog };
128
+
129
+ //# sourceMappingURL=ShortcutsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutsDialog.js","names":[],"sources":["../../../src/components/ShortcutsDialog/ShortcutsDialog.tsx"],"sourcesContent":["import {\n useState,\n useEffect,\n useRef,\n useCallback,\n type KeyboardEvent,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styles from \"./ShortcutsDialog.module.css\";\n\n// ─── Public types ─────────────────────────────────────────────────────────────\n\nexport interface ShortcutEntry {\n /**\n * Key combination tokens, e.g. `[\"Ctrl\", \"S\"]` or `[\"F5\"]`.\n * Each token is rendered as a styled `<kbd>` key cap.\n */\n keys: string[];\n /** Human-readable description of what the shortcut does. */\n description: string;\n}\n\nexport interface ShortcutsSection {\n /** Section heading, e.g. \"File\", \"Edit\". */\n title: string;\n shortcuts: ShortcutEntry[];\n}\n\nexport interface ShortcutsDialogProps {\n /** Whether the dialog is visible. */\n open: boolean;\n /** Called when the dialog is dismissed (Escape, close button). */\n onClose: () => void;\n /** Dialog heading. Defaults to `\"Keyboard Shortcuts\"`. */\n title?: string;\n /** Shortcut sections to display. */\n sections: ShortcutsSection[];\n}\n\n// ─── Focusable selector (reused from Dialog) ─────────────────────────────────\n\nconst FOCUSABLE =\n 'button:not([disabled]), [href], input:not([disabled]), [tabindex]:not([tabindex=\"-1\"])';\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\n/**\n * Modal dialog listing keyboard shortcuts, grouped in sections, with\n * integrated search to filter by description or key name.\n *\n * Mirrors `AdwShortcutsDialog` (libadwaita 1.8 / GNOME 49).\n *\n * - Renders into a portal (`document.body`).\n * - Traps focus; Escape closes.\n * - Search filters across all sections in real time.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ShortcutsDialog.html\n */\nexport function ShortcutsDialog({\n open,\n onClose,\n title = \"Keyboard Shortcuts\",\n sections,\n}: ShortcutsDialogProps) {\n const [query, setQuery] = useState(\"\");\n const dialogRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const previouslyFocused = useRef<Element | null>(null);\n const titleId = useRef(`shortcuts-title-${Math.random().toString(36).slice(2, 9)}`);\n\n // Save / restore focus\n useEffect(() => {\n if (open) {\n previouslyFocused.current = document.activeElement;\n // Focus the search field after mount\n requestAnimationFrame(() => searchRef.current?.focus());\n } else {\n setQuery(\"\");\n (previouslyFocused.current as HTMLElement | null)?.focus();\n }\n }, [open]);\n\n // Focus trap + Escape\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Escape\") {\n e.preventDefault();\n onClose();\n return;\n }\n if (e.key !== \"Tab\") return;\n\n const focusable = Array.from(\n dialogRef.current?.querySelectorAll<HTMLElement>(FOCUSABLE) ?? [],\n );\n if (focusable.length === 0) return;\n\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === first) {\n e.preventDefault();\n last.focus();\n }\n } else {\n if (document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n }\n },\n [onClose],\n );\n\n if (!open) return null;\n\n // Filter sections by query\n const q = query.trim().toLowerCase();\n const filtered = sections\n .map((section) => ({\n ...section,\n shortcuts: section.shortcuts.filter(\n ({ description, keys }) =>\n !q ||\n description.toLowerCase().includes(q) ||\n keys.some((k) => k.toLowerCase().includes(q)),\n ),\n }))\n .filter((s) => s.shortcuts.length > 0);\n\n const node = (\n <div\n className={styles.backdrop}\n onClick={onClose}\n aria-hidden=\"true\"\n >\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId.current}\n className={styles.dialog}\n onKeyDown={handleKeyDown}\n onClick={(e) => e.stopPropagation()}\n >\n {/* ── Header ── */}\n <div className={styles.header}>\n <span id={titleId.current} className={styles.title}>\n {title}\n </span>\n <button\n type=\"button\"\n className={styles.closeBtn}\n aria-label=\"Close\"\n onClick={onClose}\n >\n ×\n </button>\n </div>\n\n {/* ── Search ── */}\n <div className={styles.searchRow}>\n <span className={styles.searchIcon} aria-hidden=\"true\">⌕</span>\n <input\n ref={searchRef}\n type=\"search\"\n className={styles.searchInput}\n placeholder=\"Search shortcuts…\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n aria-label=\"Search shortcuts\"\n />\n {query && (\n <button\n type=\"button\"\n className={styles.searchClear}\n aria-label=\"Clear search\"\n onClick={() => { setQuery(\"\"); searchRef.current?.focus(); }}\n >\n ×\n </button>\n )}\n </div>\n\n {/* ── Shortcut list ── */}\n <div className={styles.body} role=\"list\">\n {filtered.length === 0 ? (\n <p className={styles.empty}>No shortcuts match \"{query}\"</p>\n ) : (\n filtered.map((section) => (\n <section key={section.title} className={styles.section}>\n <h3 className={styles.sectionTitle}>{section.title}</h3>\n <ul className={styles.list}>\n {section.shortcuts.map((shortcut) => (\n <li key={shortcut.description} className={styles.row} role=\"listitem\">\n <span className={styles.keys} aria-label={shortcut.keys.join(\" + \")}>\n {shortcut.keys.map((key, i) => (\n <span key={i} className={styles.keyCap}>\n <kbd>{key}</kbd>\n {i < shortcut.keys.length - 1 && (\n <span className={styles.plus} aria-hidden=\"true\">+</span>\n )}\n </span>\n ))}\n </span>\n <span className={styles.description}>{shortcut.description}</span>\n </li>\n ))}\n </ul>\n </section>\n ))\n )}\n </div>\n </div>\n </div>\n );\n\n if (typeof document === \"undefined\") return node;\n return createPortal(node, document.body);\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=`_backdrop_zvuhh_3`,t=`_dialog_zvuhh_26`,n=`_header_zvuhh_59`,r=`_title_zvuhh_67`,i=`_closeBtn_zvuhh_74`,a=`_searchRow_zvuhh_112`,o=`_searchIcon_zvuhh_124`,s=`_searchInput_zvuhh_132`,c=`_searchClear_zvuhh_151`,l=`_body_zvuhh_174`,u=`_empty_zvuhh_182`,d=`_section_zvuhh_193`,f=`_sectionTitle_zvuhh_199`,p=`_list_zvuhh_209`,m=`_row_zvuhh_225`,h=`_keys_zvuhh_240`,g=`_keyCap_zvuhh_247`,_=`_plus_zvuhh_277`,v=`_description_zvuhh_284`,y={backdrop:e,"backdrop-in":`_backdrop-in_zvuhh_1`,dialog:t,"dialog-in":`_dialog-in_zvuhh_1`,header:n,title:r,closeBtn:i,searchRow:a,searchIcon:o,searchInput:s,searchClear:c,body:l,empty:u,section:d,sectionTitle:f,list:p,row:m,keys:h,keyCap:g,plus:_,description:v};exports.default=y;
2
+ //# sourceMappingURL=ShortcutsDialog.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutsDialog.module.css.cjs","names":[],"sources":["../../../src/components/ShortcutsDialog/ShortcutsDialog.module.css"],"sourcesContent":["/* ─── Backdrop ──────────────────────────────────────────────────────────────── */\n\n.backdrop {\n position: fixed;\n inset: 0;\n z-index: 10000;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n -webkit-backdrop-filter: blur(4px);\n\n animation: backdrop-in var(--gnome-duration-normal, 200ms) var(--gnome-easing-default, ease) both;\n}\n\n@keyframes backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ─── Dialog card ───────────────────────────────────────────────────────────── */\n\n.dialog {\n display: flex;\n flex-direction: column;\n\n width: min(580px, calc(100vw - 48px));\n max-height: min(640px, calc(100vh - 80px));\n\n background-color: var(--gnome-window-bg-color, #fafafa);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n\n border-radius: var(--gnome-radius-xl, 16px);\n box-shadow:\n 0 8px 32px rgba(0, 0, 0, 0.25),\n 0 0 0 1px rgba(0, 0, 0, 0.08);\n\n overflow: hidden;\n\n animation: dialog-in var(--gnome-duration-normal, 200ms) var(--gnome-easing-default, ease) both;\n}\n\n@keyframes dialog-in {\n from {\n opacity: 0;\n transform: scale(0.94) translateY(-8px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n/* ─── Header ────────────────────────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gnome-space-3, 18px) var(--gnome-space-3, 18px) var(--gnome-space-2, 12px);\n flex-shrink: 0;\n}\n\n.title {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-title-4, 1.125rem);\n font-weight: var(--gnome-font-weight-bold, 700);\n line-height: 1.3;\n}\n\n.closeBtn {\n appearance: none;\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 32px;\n height: 32px;\n border-radius: var(--gnome-radius-pill);\n\n font-size: 1.25rem;\n line-height: 1;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.6;\n\n transition: background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.closeBtn:hover {\n background-color: rgba(0, 0, 0, 0.07);\n opacity: 1;\n}\n\n.closeBtn:focus-visible {\n opacity: 1;\n box-shadow:\n 0 0 0 2px var(--gnome-window-bg-color, #fafafa),\n 0 0 0 4px var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Search ────────────────────────────────────────────────────────────────── */\n\n.searchRow {\n position: relative;\n display: flex;\n align-items: center;\n margin: 0 var(--gnome-space-3, 18px) var(--gnome-space-2, 12px);\n flex-shrink: 0;\n\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, 8px);\n}\n\n.searchIcon {\n padding: 0 var(--gnome-space-1, 6px) 0 var(--gnome-space-2, 12px);\n font-size: 1.1rem;\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n\n.searchInput {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n padding: 7px 0;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.searchInput::placeholder {\n opacity: 0.5;\n}\n\n/* hide browser-native × */\n.searchInput::-webkit-search-cancel-button { display: none; }\n\n.searchClear {\n appearance: none;\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n padding: 0 var(--gnome-space-2, 12px);\n\n font-size: 1rem;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.5;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.searchClear:hover { opacity: 1; }\n\n.searchRow:focus-within {\n border-color: var(--gnome-accent-color, #3584e4);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--gnome-accent-color, #3584e4) 25%, transparent);\n}\n\n/* ─── Scrollable body ───────────────────────────────────────────────────────── */\n\n.body {\n overflow-y: auto;\n padding: 0 var(--gnome-space-3, 18px) var(--gnome-space-3, 18px);\n display: flex;\n flex-direction: column;\n gap: var(--gnome-space-3, 18px);\n}\n\n.empty {\n text-align: center;\n padding: var(--gnome-space-4, 24px) 0;\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n opacity: 0.5;\n margin: 0;\n}\n\n/* ─── Section ───────────────────────────────────────────────────────────────── */\n\n.section {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.sectionTitle {\n margin: 0 0 var(--gnome-space-1, 6px);\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.875rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n opacity: 0.5;\n}\n\n.list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: var(--gnome-radius-md, 8px);\n overflow: hidden;\n}\n\n/* ─── Shortcut row ──────────────────────────────────────────────────────────── */\n\n.row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--gnome-space-3, 18px);\n padding: 8px var(--gnome-space-2, 12px);\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.row:last-child {\n border-bottom: none;\n}\n\n/* ─── Key caps ──────────────────────────────────────────────────────────────── */\n\n.keys {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n flex-shrink: 0;\n}\n\n.keyCap {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n}\n\n.keyCap kbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n padding: 2px 7px;\n min-width: 24px;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.875rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n font-style: normal;\n line-height: 1.6;\n\n background-color: var(--gnome-window-bg-color, #fafafa);\n border: 1px solid rgba(0, 0, 0, 0.18);\n border-bottom-width: 2px;\n border-radius: var(--gnome-radius-sm, 4px);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n}\n\n.plus {\n font-size: var(--gnome-font-size-caption, 0.875rem);\n opacity: 0.4;\n}\n\n/* ─── Description ───────────────────────────────────────────────────────────── */\n\n.description {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n text-align: end;\n}\n\n/* ─── Dark mode ─────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .backdrop {\n background-color: rgba(0, 0, 0, 0.65);\n }\n\n .dialog {\n background-color: var(--gnome-window-bg-color, #242424);\n box-shadow:\n 0 8px 32px rgba(0, 0, 0, 0.5),\n 0 0 0 1px rgba(255, 255, 255, 0.08);\n }\n\n .closeBtn:hover {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .searchRow {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n }\n\n .list {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.08);\n }\n\n .row {\n border-bottom-color: rgba(255, 255, 255, 0.05);\n }\n\n .keyCap kbd {\n background-color: var(--gnome-window-bg-color, #242424);\n border-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);\n }\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .backdrop,\n .dialog {\n animation: none;\n }\n\n .closeBtn,\n .searchClear {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,28 @@
1
+ //#region src/components/ShortcutsDialog/ShortcutsDialog.module.css
2
+ var e = "_backdrop_zvuhh_3", t = "_dialog_zvuhh_26", n = "_header_zvuhh_59", r = "_title_zvuhh_67", i = "_closeBtn_zvuhh_74", a = "_searchRow_zvuhh_112", o = "_searchIcon_zvuhh_124", s = "_searchInput_zvuhh_132", c = "_searchClear_zvuhh_151", l = "_body_zvuhh_174", u = "_empty_zvuhh_182", d = "_section_zvuhh_193", f = "_sectionTitle_zvuhh_199", p = "_list_zvuhh_209", m = "_row_zvuhh_225", h = "_keys_zvuhh_240", g = "_keyCap_zvuhh_247", _ = "_plus_zvuhh_277", v = "_description_zvuhh_284", y = {
3
+ backdrop: e,
4
+ "backdrop-in": "_backdrop-in_zvuhh_1",
5
+ dialog: t,
6
+ "dialog-in": "_dialog-in_zvuhh_1",
7
+ header: n,
8
+ title: r,
9
+ closeBtn: i,
10
+ searchRow: a,
11
+ searchIcon: o,
12
+ searchInput: s,
13
+ searchClear: c,
14
+ body: l,
15
+ empty: u,
16
+ section: d,
17
+ sectionTitle: f,
18
+ list: p,
19
+ row: m,
20
+ keys: h,
21
+ keyCap: g,
22
+ plus: _,
23
+ description: v
24
+ };
25
+ //#endregion
26
+ export { y as default };
27
+
28
+ //# sourceMappingURL=ShortcutsDialog.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutsDialog.module.css.js","names":[],"sources":["../../../src/components/ShortcutsDialog/ShortcutsDialog.module.css"],"sourcesContent":["/* ─── Backdrop ──────────────────────────────────────────────────────────────── */\n\n.backdrop {\n position: fixed;\n inset: 0;\n z-index: 10000;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n -webkit-backdrop-filter: blur(4px);\n\n animation: backdrop-in var(--gnome-duration-normal, 200ms) var(--gnome-easing-default, ease) both;\n}\n\n@keyframes backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ─── Dialog card ───────────────────────────────────────────────────────────── */\n\n.dialog {\n display: flex;\n flex-direction: column;\n\n width: min(580px, calc(100vw - 48px));\n max-height: min(640px, calc(100vh - 80px));\n\n background-color: var(--gnome-window-bg-color, #fafafa);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n\n border-radius: var(--gnome-radius-xl, 16px);\n box-shadow:\n 0 8px 32px rgba(0, 0, 0, 0.25),\n 0 0 0 1px rgba(0, 0, 0, 0.08);\n\n overflow: hidden;\n\n animation: dialog-in var(--gnome-duration-normal, 200ms) var(--gnome-easing-default, ease) both;\n}\n\n@keyframes dialog-in {\n from {\n opacity: 0;\n transform: scale(0.94) translateY(-8px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n/* ─── Header ────────────────────────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gnome-space-3, 18px) var(--gnome-space-3, 18px) var(--gnome-space-2, 12px);\n flex-shrink: 0;\n}\n\n.title {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-title-4, 1.125rem);\n font-weight: var(--gnome-font-weight-bold, 700);\n line-height: 1.3;\n}\n\n.closeBtn {\n appearance: none;\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 32px;\n height: 32px;\n border-radius: var(--gnome-radius-pill);\n\n font-size: 1.25rem;\n line-height: 1;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.6;\n\n transition: background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.closeBtn:hover {\n background-color: rgba(0, 0, 0, 0.07);\n opacity: 1;\n}\n\n.closeBtn:focus-visible {\n opacity: 1;\n box-shadow:\n 0 0 0 2px var(--gnome-window-bg-color, #fafafa),\n 0 0 0 4px var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Search ────────────────────────────────────────────────────────────────── */\n\n.searchRow {\n position: relative;\n display: flex;\n align-items: center;\n margin: 0 var(--gnome-space-3, 18px) var(--gnome-space-2, 12px);\n flex-shrink: 0;\n\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, 8px);\n}\n\n.searchIcon {\n padding: 0 var(--gnome-space-1, 6px) 0 var(--gnome-space-2, 12px);\n font-size: 1.1rem;\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n\n.searchInput {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n padding: 7px 0;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.searchInput::placeholder {\n opacity: 0.5;\n}\n\n/* hide browser-native × */\n.searchInput::-webkit-search-cancel-button { display: none; }\n\n.searchClear {\n appearance: none;\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n padding: 0 var(--gnome-space-2, 12px);\n\n font-size: 1rem;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.5;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.searchClear:hover { opacity: 1; }\n\n.searchRow:focus-within {\n border-color: var(--gnome-accent-color, #3584e4);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--gnome-accent-color, #3584e4) 25%, transparent);\n}\n\n/* ─── Scrollable body ───────────────────────────────────────────────────────── */\n\n.body {\n overflow-y: auto;\n padding: 0 var(--gnome-space-3, 18px) var(--gnome-space-3, 18px);\n display: flex;\n flex-direction: column;\n gap: var(--gnome-space-3, 18px);\n}\n\n.empty {\n text-align: center;\n padding: var(--gnome-space-4, 24px) 0;\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n opacity: 0.5;\n margin: 0;\n}\n\n/* ─── Section ───────────────────────────────────────────────────────────────── */\n\n.section {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.sectionTitle {\n margin: 0 0 var(--gnome-space-1, 6px);\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.875rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n opacity: 0.5;\n}\n\n.list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n\n background-color: var(--gnome-card-bg-color, #ffffff);\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: var(--gnome-radius-md, 8px);\n overflow: hidden;\n}\n\n/* ─── Shortcut row ──────────────────────────────────────────────────────────── */\n\n.row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--gnome-space-3, 18px);\n padding: 8px var(--gnome-space-2, 12px);\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.row:last-child {\n border-bottom: none;\n}\n\n/* ─── Key caps ──────────────────────────────────────────────────────────────── */\n\n.keys {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n flex-shrink: 0;\n}\n\n.keyCap {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n}\n\n.keyCap kbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n padding: 2px 7px;\n min-width: 24px;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.875rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n font-style: normal;\n line-height: 1.6;\n\n background-color: var(--gnome-window-bg-color, #fafafa);\n border: 1px solid rgba(0, 0, 0, 0.18);\n border-bottom-width: 2px;\n border-radius: var(--gnome-radius-sm, 4px);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n}\n\n.plus {\n font-size: var(--gnome-font-size-caption, 0.875rem);\n opacity: 0.4;\n}\n\n/* ─── Description ───────────────────────────────────────────────────────────── */\n\n.description {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n text-align: end;\n}\n\n/* ─── Dark mode ─────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .backdrop {\n background-color: rgba(0, 0, 0, 0.65);\n }\n\n .dialog {\n background-color: var(--gnome-window-bg-color, #242424);\n box-shadow:\n 0 8px 32px rgba(0, 0, 0, 0.5),\n 0 0 0 1px rgba(255, 255, 255, 0.08);\n }\n\n .closeBtn:hover {\n background-color: rgba(255, 255, 255, 0.08);\n }\n\n .searchRow {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n }\n\n .list {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.08);\n }\n\n .row {\n border-bottom-color: rgba(255, 255, 255, 0.05);\n }\n\n .keyCap kbd {\n background-color: var(--gnome-window-bg-color, #242424);\n border-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);\n }\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .backdrop,\n .dialog {\n animation: none;\n }\n\n .closeBtn,\n .searchClear {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./ShortcutsDialog/ShortcutsDialog.cjs`);exports.ShortcutsDialog=e.ShortcutsDialog;
@@ -0,0 +1,2 @@
1
+ export * from './ShortcutsDialog/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { ShortcutsDialog as e } from "./ShortcutsDialog/ShortcutsDialog.js";
2
+ export { e as ShortcutsDialog };
@@ -0,0 +1,2 @@
1
+ const e=require(`../../hooks/useBreakpoint.cjs`),t=require(`../SearchBar/SearchBar.cjs`),n=require(`../StatusPage/StatusPage.cjs`),r=require(`./Sidebar.module.css.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`);var o=(0,i.createContext)(!1);function s(){return(0,i.useContext)(o)}var c=(0,i.createContext)(``);function l(e,t){let n=0;return i.Children.forEach(e,e=>{if(!(0,i.isValidElement)(e))return;let r=e.props;typeof r.label==`string`?r.label.toLowerCase().includes(t.toLowerCase())&&n++:r.children&&(n+=l(r.children,t))}),n}var u={blue:`variantBlue`,green:`variantGreen`,red:`variantRed`,yellow:`variantYellow`,black:`variantBlack`,transparent:`variantTransparent`,blurred:`variantBlurred`};function d({children:s,collapsed:d=!1,searchable:f,filter:p,onFilterChange:m,mode:h,variant:g=`classic`,className:_,...v}){let[y,b]=(0,i.useState)(``),{isNarrow:x}=e.useBreakpoint(),S=p!==void 0,C=S?p:y,w=e=>{S||b(e),m?.(e)},T=C.length>0,E=h??(x?`page`:`sidebar`),D=!T||l(s,C)>0;return(0,a.jsx)(o.Provider,{value:d,children:(0,a.jsx)(c.Provider,{value:C,children:(0,a.jsxs)(`nav`,{className:[r.default.sidebar,d?r.default.collapsed:null,E===`page`?r.default.pageMode:null,g===`classic`?null:r.default[u[g]],_].filter(Boolean).join(` `),...v,children:[f&&(0,a.jsx)(`div`,{className:r.default.searchWrap,children:(0,a.jsx)(t.SearchBar,{open:!0,value:C,onChange:e=>w(e.target.value),onClose:()=>w(``),onClear:()=>w(``),inline:!0})}),T&&!D?(0,a.jsx)(n.StatusPage,{title:`No Results`,description:`No items match your search.`,compact:!0}):s]})})})}exports.Sidebar=d,exports.SidebarCollapsedContext=o,exports.SidebarFilterContext=c,exports.useSidebarCollapsed=s;
2
+ //# sourceMappingURL=Sidebar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.cjs","names":[],"sources":["../../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useState,\n isValidElement,\n Children,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { SearchBar } from \"../SearchBar\";\nimport { StatusPage } from \"../StatusPage\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport styles from \"./Sidebar.module.css\";\n\n// ─── Contexts ─────────────────────────────────────────────────────────────────\n\n/** Provides the collapsed state to all descendant `SidebarItem` components. */\nexport const SidebarCollapsedContext = createContext(false);\n\n/** Returns `true` when the nearest `Sidebar` is in collapsed (icon-only) mode. */\nexport function useSidebarCollapsed() {\n return useContext(SidebarCollapsedContext);\n}\n\n/** Provides the active filter string to all descendant `SidebarItem` components. */\nexport const SidebarFilterContext = createContext(\"\");\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\n/** Recursively count items whose `label` matches `filter` (case-insensitive). */\nfunction countMatchingItems(children: ReactNode, filter: string): number {\n let count = 0;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n const props = child.props as Record<string, unknown>;\n if (typeof props.label === \"string\") {\n if (props.label.toLowerCase().includes(filter.toLowerCase())) count++;\n } else if (props.children) {\n count += countMatchingItems(props.children as ReactNode, filter);\n }\n });\n return count;\n}\n\n// ─── Variant map ──────────────────────────────────────────────────────────────\n\nconst variantClass: Record<string, string> = {\n blue: \"variantBlue\",\n green: \"variantGreen\",\n red: \"variantRed\",\n yellow: \"variantYellow\",\n black: \"variantBlack\",\n transparent: \"variantTransparent\",\n blurred: \"variantBlurred\",\n};\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport interface SidebarProps extends HTMLAttributes<HTMLElement> {\n children?: ReactNode;\n /**\n * When `true`, collapses the sidebar to icon-only mode (rail/mini).\n * Labels, suffixes, and section titles are hidden; tooltips appear on hover.\n */\n collapsed?: boolean;\n /**\n * Renders a built-in `SearchBar` inside the sidebar and manages the filter\n * state internally (uncontrolled). Combine with `filter` + `onFilterChange`\n * for controlled mode.\n */\n searchable?: boolean;\n /**\n * Controlled filter string. Items whose `label` does not match\n * (case-insensitive substring) are hidden. Does not render a `SearchBar`\n * on its own — use `searchable` for the built-in search input.\n */\n filter?: string;\n /** Called when the built-in search value changes. */\n onFilterChange?: (value: string) => void;\n /**\n * Layout mode:\n * - `\"sidebar\"` — fixed-width panel with a border (default).\n * - `\"page\"` — full-width boxed-list layout for narrow viewports.\n *\n * When omitted the sidebar auto-switches to `\"page\"` at ≤ 400 sp,\n * mirroring `AdwSidebar` mobile behaviour.\n */\n mode?: \"sidebar\" | \"page\";\n /**\n * Visual style variant for the sidebar background.\n * - `\"classic\"` — default GNOME gray\n * - `\"blue\"` | `\"green\"` | `\"red\"` | `\"yellow\"` — tinted accent backgrounds\n * - `\"black\"` — dark/OLED background\n * - `\"transparent\"` — no background, inherits parent\n * - `\"blurred\"` — frosted glass (backdrop-filter blur), like macOS\n */\n variant?: \"classic\" | \"blue\" | \"green\" | \"red\" | \"yellow\" | \"black\" | \"transparent\" | \"blurred\";\n}\n\n/**\n * Lateral navigation panel following the Adwaita `.navigation-sidebar` style.\n *\n * **Tier 11 — libadwaita 1.9 completeness:**\n * - `searchable` — built-in `SearchBar` with automatic item filtering.\n * - `filter` / `onFilterChange` — controlled external filtering.\n * - `mode` — `\"sidebar\"` (default) or `\"page\"` (boxed-list layout).\n * Auto-switches to `\"page\"` at ≤ 400 sp when `mode` is unset.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.Sidebar.html\n */\nexport function Sidebar({\n children,\n collapsed = false,\n searchable,\n filter: controlledFilter,\n onFilterChange,\n mode,\n variant = \"classic\",\n className,\n ...props\n}: SidebarProps) {\n const [internalFilter, setInternalFilter] = useState(\"\");\n const { isNarrow } = useBreakpoint();\n\n const isControlled = controlledFilter !== undefined;\n const filterValue = isControlled ? controlledFilter : internalFilter;\n\n const handleFilterChange = (v: string) => {\n if (!isControlled) setInternalFilter(v);\n onFilterChange?.(v);\n };\n\n const isFilterActive = filterValue.length > 0;\n const effectiveMode = mode ?? (isNarrow ? \"page\" : \"sidebar\");\n const hasMatches = !isFilterActive || countMatchingItems(children, filterValue) > 0;\n\n return (\n <SidebarCollapsedContext.Provider value={collapsed}>\n <SidebarFilterContext.Provider value={filterValue}>\n <nav\n className={[\n styles.sidebar,\n collapsed ? styles.collapsed : null,\n effectiveMode === \"page\" ? styles.pageMode : null,\n variant !== \"classic\" ? styles[variantClass[variant]] : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {searchable && (\n <div className={styles.searchWrap}>\n <SearchBar\n open\n value={filterValue}\n onChange={(e) => handleFilterChange(e.target.value)}\n onClose={() => handleFilterChange(\"\")}\n onClear={() => handleFilterChange(\"\")}\n inline\n />\n </div>\n )}\n\n {isFilterActive && !hasMatches ? (\n <StatusPage\n title=\"No Results\"\n description=\"No items match your search.\"\n compact\n />\n ) : (\n children\n )}\n </nav>\n </SidebarFilterContext.Provider>\n </SidebarCollapsedContext.Provider>\n );\n}\n"],"mappings":"+NAiBA,IAAa,GAAA,EAAA,EAAA,eAAwC,GAAM,CAG3D,SAAgB,GAAsB,CACpC,OAAA,EAAA,EAAA,YAAkB,EAAwB,CAI5C,IAAa,GAAA,EAAA,EAAA,eAAqC,GAAG,CAKrD,SAAS,EAAmB,EAAqB,EAAwB,CACvE,IAAI,EAAQ,EAUZ,OATA,EAAA,SAAS,QAAQ,EAAW,GAAU,CACpC,GAAI,EAAA,EAAA,EAAA,gBAAgB,EAAM,CAAE,OAC5B,IAAM,EAAQ,EAAM,MAChB,OAAO,EAAM,OAAU,SACrB,EAAM,MAAM,aAAa,CAAC,SAAS,EAAO,aAAa,CAAC,EAAE,IACrD,EAAM,WACf,GAAS,EAAmB,EAAM,SAAuB,EAAO,GAElE,CACK,EAKT,IAAM,EAAuC,CAC3C,KAAM,cACN,MAAO,eACP,IAAK,aACL,OAAQ,gBACR,MAAO,eACP,YAAa,qBACb,QAAS,iBACV,CAwDD,SAAgB,EAAQ,CACtB,WACA,YAAY,GACZ,aACA,OAAQ,EACR,iBACA,OACA,UAAU,UACV,YACA,GAAG,GACY,CACf,GAAM,CAAC,EAAgB,IAAA,EAAA,EAAA,UAA8B,GAAG,CAClD,CAAE,YAAa,EAAA,eAAe,CAE9B,EAAe,IAAqB,IAAA,GACpC,EAAc,EAAe,EAAmB,EAEhD,EAAsB,GAAc,CACnC,GAAc,EAAkB,EAAE,CACvC,IAAiB,EAAE,EAGf,EAAiB,EAAY,OAAS,EACtC,EAAgB,IAAS,EAAW,OAAS,WAC7C,EAAa,CAAC,GAAkB,EAAmB,EAAU,EAAY,CAAG,EAElF,OACE,EAAA,EAAA,KAAC,EAAwB,SAAzB,CAAkC,MAAO,YACvC,EAAA,EAAA,KAAC,EAAqB,SAAtB,CAA+B,MAAO,YACpC,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CACT,EAAA,QAAO,QACP,EAAY,EAAA,QAAO,UAAY,KAC/B,IAAkB,OAAS,EAAA,QAAO,SAAW,KAC7C,IAAY,UAA4C,KAAhC,EAAA,QAAO,EAAa,IAC5C,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAVN,CAYG,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,qBACrB,EAAA,EAAA,KAAC,EAAA,UAAD,CACE,KAAA,GACA,MAAO,EACP,SAAW,GAAM,EAAmB,EAAE,OAAO,MAAM,CACnD,YAAe,EAAmB,GAAG,CACrC,YAAe,EAAmB,GAAG,CACrC,OAAA,GACA,CAAA,CACE,CAAA,CAGP,GAAkB,CAAC,GAClB,EAAA,EAAA,KAAC,EAAA,WAAD,CACE,MAAM,aACN,YAAY,8BACZ,QAAA,GACA,CAAA,CAEF,EAEE,GACwB,CAAA,CACC,CAAA"}
@@ -0,0 +1,69 @@
1
+ import { useBreakpoint as e } from "../../hooks/useBreakpoint.js";
2
+ import { SearchBar as t } from "../SearchBar/SearchBar.js";
3
+ import { StatusPage as n } from "../StatusPage/StatusPage.js";
4
+ import r from "./Sidebar.module.css.js";
5
+ import { Children as i, createContext as a, isValidElement as o, useContext as s, useState as c } from "react";
6
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ //#region src/components/Sidebar/Sidebar.tsx
8
+ var d = a(!1);
9
+ function f() {
10
+ return s(d);
11
+ }
12
+ var p = a("");
13
+ function m(e, t) {
14
+ let n = 0;
15
+ return i.forEach(e, (e) => {
16
+ if (!o(e)) return;
17
+ let r = e.props;
18
+ typeof r.label == "string" ? r.label.toLowerCase().includes(t.toLowerCase()) && n++ : r.children && (n += m(r.children, t));
19
+ }), n;
20
+ }
21
+ var h = {
22
+ blue: "variantBlue",
23
+ green: "variantGreen",
24
+ red: "variantRed",
25
+ yellow: "variantYellow",
26
+ black: "variantBlack",
27
+ transparent: "variantTransparent",
28
+ blurred: "variantBlurred"
29
+ };
30
+ function g({ children: i, collapsed: a = !1, searchable: o, filter: s, onFilterChange: f, mode: g, variant: _ = "classic", className: v, ...y }) {
31
+ let [b, x] = c(""), { isNarrow: S } = e(), C = s !== void 0, w = C ? s : b, T = (e) => {
32
+ C || x(e), f?.(e);
33
+ }, E = w.length > 0, D = g ?? (S ? "page" : "sidebar"), O = !E || m(i, w) > 0;
34
+ return /* @__PURE__ */ l(d.Provider, {
35
+ value: a,
36
+ children: /* @__PURE__ */ l(p.Provider, {
37
+ value: w,
38
+ children: /* @__PURE__ */ u("nav", {
39
+ className: [
40
+ r.sidebar,
41
+ a ? r.collapsed : null,
42
+ D === "page" ? r.pageMode : null,
43
+ _ === "classic" ? null : r[h[_]],
44
+ v
45
+ ].filter(Boolean).join(" "),
46
+ ...y,
47
+ children: [o && /* @__PURE__ */ l("div", {
48
+ className: r.searchWrap,
49
+ children: /* @__PURE__ */ l(t, {
50
+ open: !0,
51
+ value: w,
52
+ onChange: (e) => T(e.target.value),
53
+ onClose: () => T(""),
54
+ onClear: () => T(""),
55
+ inline: !0
56
+ })
57
+ }), E && !O ? /* @__PURE__ */ l(n, {
58
+ title: "No Results",
59
+ description: "No items match your search.",
60
+ compact: !0
61
+ }) : i]
62
+ })
63
+ })
64
+ });
65
+ }
66
+ //#endregion
67
+ export { g as Sidebar, d as SidebarCollapsedContext, p as SidebarFilterContext, f as useSidebarCollapsed };
68
+
69
+ //# sourceMappingURL=Sidebar.js.map