@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
+ {"version":3,"file":"SplitButton.cjs","names":[],"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n type ButtonHTMLAttributes,\n type ReactNode,\n type KeyboardEvent,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styles from \"./SplitButton.module.css\";\n\nexport type SplitButtonVariant = \"default\" | \"suggested\" | \"destructive\";\n\nexport interface SplitButtonProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n /** Label shown in the primary button. */\n label: string;\n /** Visual style. Applies to both the primary and toggle halves. */\n variant?: SplitButtonVariant;\n /** Content rendered inside the dropdown panel when the arrow is clicked. */\n dropdownContent: ReactNode;\n /** Accessible label for the dropdown toggle button. Defaults to \"More options\". */\n dropdownLabel?: string;\n /** Whether both halves are disabled. */\n disabled?: boolean;\n}\n\n/**\n * Primary action button with an attached dropdown arrow.\n *\n * Clicking the label half fires `onClick`; clicking the arrow half opens a\n * floating panel with `dropdownContent` (menus, options, etc.).\n *\n * Mirrors `AdwSplitButton` — supports `suggested` and `destructive` variants.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SplitButton.html\n */\nexport function SplitButton({\n label,\n variant = \"default\",\n dropdownContent,\n dropdownLabel = \"More options\",\n disabled = false,\n onClick,\n className,\n ...props\n}: SplitButtonProps) {\n const [open, setOpen] = useState(false);\n const [dropdownStyle, setDropdownStyle] = useState<React.CSSProperties>({});\n\n const containerRef = useRef<HTMLDivElement>(null);\n const toggleRef = useRef<HTMLButtonElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n\n const close = useCallback(() => setOpen(false), []);\n\n // Position dropdown below the toggle button\n const place = useCallback(() => {\n if (!toggleRef.current || !panelRef.current) return;\n const triggerRect = toggleRef.current.getBoundingClientRect();\n const panelRect = panelRef.current.getBoundingClientRect();\n const vw = window.innerWidth;\n\n let left = triggerRect.right - panelRect.width;\n if (left < 8) left = 8;\n if (left + panelRect.width > vw - 8) left = vw - panelRect.width - 8;\n\n setDropdownStyle({\n top: triggerRect.bottom + 6,\n left,\n });\n }, []);\n\n useEffect(() => {\n if (!open) return;\n const id = requestAnimationFrame(() => {\n place();\n window.addEventListener(\"scroll\", place, { passive: true, capture: true });\n window.addEventListener(\"resize\", place, { passive: true });\n });\n return () => {\n cancelAnimationFrame(id);\n window.removeEventListener(\"scroll\", place, { capture: true });\n window.removeEventListener(\"resize\", place);\n };\n }, [open, place]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n const handler = (e: MouseEvent) => {\n if (\n !containerRef.current?.contains(e.target as Node) &&\n !panelRef.current?.contains(e.target as Node)\n ) {\n close();\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, [open, close]);\n\n const handlePanelKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Escape\") {\n e.stopPropagation();\n close();\n toggleRef.current?.focus();\n }\n };\n\n const containerClass = [\n styles.container,\n styles[variant],\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const panel = (\n <div\n ref={panelRef}\n role=\"dialog\"\n aria-label={dropdownLabel}\n tabIndex={-1}\n className={[styles.dropdown, open ? styles.dropdownVisible : null]\n .filter(Boolean)\n .join(\" \")}\n style={\n Object.keys(dropdownStyle).length\n ? { ...dropdownStyle, position: \"fixed\" }\n : { visibility: \"hidden\", pointerEvents: \"none\", top: -9999, left: -9999, position: \"fixed\" }\n }\n onKeyDown={handlePanelKeyDown}\n >\n {dropdownContent}\n </div>\n );\n\n return (\n <>\n <div ref={containerRef} className={containerClass}>\n <button\n className={styles.primary}\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\n {label}\n </button>\n\n <span className={styles.separator} aria-hidden=\"true\" />\n\n <button\n ref={toggleRef}\n className={styles.toggle}\n disabled={disabled}\n aria-label={dropdownLabel}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n onClick={() => setOpen((v) => !v)}\n >\n <svg\n className={styles.chevron}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M4 6l4 4 4-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n\n {open &&\n (typeof document !== \"undefined\"\n ? createPortal(panel, document.body)\n : panel)}\n </>\n );\n}\n"],"mappings":"6HAsCA,SAAgB,EAAY,CAC1B,QACA,UAAU,UACV,kBACA,gBAAgB,eAChB,WAAW,GACX,UACA,YACA,GAAG,GACgB,CACnB,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,GAAM,CACjC,CAAC,EAAe,IAAA,EAAA,EAAA,UAAkD,EAAE,CAAC,CAErE,GAAA,EAAA,EAAA,QAAsC,KAAK,CAC3C,GAAA,EAAA,EAAA,QAAsC,KAAK,CAC3C,GAAA,EAAA,EAAA,QAAkC,KAAK,CAEvC,GAAA,EAAA,EAAA,iBAA0B,EAAQ,GAAM,CAAE,EAAE,CAAC,CAG7C,GAAA,EAAA,EAAA,iBAA0B,CAC9B,GAAI,CAAC,EAAU,SAAW,CAAC,EAAS,QAAS,OAC7C,IAAM,EAAc,EAAU,QAAQ,uBAAuB,CACvD,EAAY,EAAS,QAAQ,uBAAuB,CACpD,EAAK,OAAO,WAEd,EAAO,EAAY,MAAQ,EAAU,MACrC,EAAO,IAAG,EAAO,GACjB,EAAO,EAAU,MAAQ,EAAK,IAAG,EAAO,EAAK,EAAU,MAAQ,GAEnE,EAAiB,CACf,IAAK,EAAY,OAAS,EAC1B,OACD,CAAC,EACD,EAAE,CAAC,EAEN,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EAAM,OACX,IAAM,EAAK,0BAA4B,CACrC,GAAO,CACP,OAAO,iBAAiB,SAAU,EAAO,CAAE,QAAS,GAAM,QAAS,GAAM,CAAC,CAC1E,OAAO,iBAAiB,SAAU,EAAO,CAAE,QAAS,GAAM,CAAC,EAC3D,CACF,UAAa,CACX,qBAAqB,EAAG,CACxB,OAAO,oBAAoB,SAAU,EAAO,CAAE,QAAS,GAAM,CAAC,CAC9D,OAAO,oBAAoB,SAAU,EAAM,GAE5C,CAAC,EAAM,EAAM,CAAC,EAGjB,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EAAM,OACX,IAAM,EAAW,GAAkB,CAE/B,CAAC,EAAa,SAAS,SAAS,EAAE,OAAe,EACjD,CAAC,EAAS,SAAS,SAAS,EAAE,OAAe,EAE7C,GAAO,EAIX,OADA,SAAS,iBAAiB,YAAa,EAAQ,KAClC,SAAS,oBAAoB,YAAa,EAAQ,EAC9D,CAAC,EAAM,EAAM,CAAC,CAEjB,IAAM,EAAsB,GAAqC,CAC3D,EAAE,MAAQ,WACZ,EAAE,iBAAiB,CACnB,GAAO,CACP,EAAU,SAAS,OAAO,GAIxB,EAAiB,CACrB,EAAA,QAAO,UACP,EAAA,QAAO,GACP,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CAEN,GACJ,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,SACL,aAAY,EACZ,SAAU,GACV,UAAW,CAAC,EAAA,QAAO,SAAU,EAAO,EAAA,QAAO,gBAAkB,KAAK,CAC/D,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,MACE,OAAO,KAAK,EAAc,CAAC,OACvB,CAAE,GAAG,EAAe,SAAU,QAAS,CACvC,CAAE,WAAY,SAAU,cAAe,OAAQ,IAAK,MAAO,KAAM,MAAO,SAAU,QAAS,CAEjG,UAAW,WAEV,EACG,CAAA,CAGR,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,IAAK,EAAc,UAAW,WAAnC,EACE,EAAA,EAAA,KAAC,SAAD,CACE,UAAW,EAAA,QAAO,QACR,WACD,UACT,GAAI,WAEH,EACM,CAAA,EAET,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,UAAW,cAAY,OAAS,CAAA,EAExD,EAAA,EAAA,KAAC,SAAD,CACE,IAAK,EACL,UAAW,EAAA,QAAO,OACR,WACV,aAAY,EACZ,gBAAc,SACd,gBAAe,EACf,YAAe,EAAS,GAAM,CAAC,EAAE,WAEjC,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EAAA,QAAO,QAClB,MAAM,KACN,OAAO,KACP,QAAQ,YACR,cAAY,OACZ,UAAU,kBAEV,EAAA,EAAA,KAAC,OAAD,CACE,EAAE,eACF,KAAK,OACL,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,QACf,CAAA,CACE,CAAA,CACC,CAAA,CACL,GAEL,IACE,OAAO,SAAa,KAAA,EAAA,EAAA,cACJ,EAAO,SAAS,KAAK,CAClC,GACL,CAAA,CAAA"}
@@ -0,0 +1,104 @@
1
+ import e from "./SplitButton.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 { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
5
+ //#region src/components/SplitButton/SplitButton.tsx
6
+ function l({ label: l, variant: u = "default", dropdownContent: d, dropdownLabel: f = "More options", disabled: p = !1, onClick: m, className: h, ...g }) {
7
+ let [_, v] = i(!1), [y, b] = i({}), x = r(null), S = r(null), C = r(null), w = t(() => v(!1), []), T = t(() => {
8
+ if (!S.current || !C.current) return;
9
+ let e = S.current.getBoundingClientRect(), t = C.current.getBoundingClientRect(), n = window.innerWidth, r = e.right - t.width;
10
+ r < 8 && (r = 8), r + t.width > n - 8 && (r = n - t.width - 8), b({
11
+ top: e.bottom + 6,
12
+ left: r
13
+ });
14
+ }, []);
15
+ n(() => {
16
+ if (!_) return;
17
+ let e = requestAnimationFrame(() => {
18
+ T(), window.addEventListener("scroll", T, {
19
+ passive: !0,
20
+ capture: !0
21
+ }), window.addEventListener("resize", T, { passive: !0 });
22
+ });
23
+ return () => {
24
+ cancelAnimationFrame(e), window.removeEventListener("scroll", T, { capture: !0 }), window.removeEventListener("resize", T);
25
+ };
26
+ }, [_, T]), n(() => {
27
+ if (!_) return;
28
+ let e = (e) => {
29
+ !x.current?.contains(e.target) && !C.current?.contains(e.target) && w();
30
+ };
31
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
32
+ }, [_, w]);
33
+ let E = (e) => {
34
+ e.key === "Escape" && (e.stopPropagation(), w(), S.current?.focus());
35
+ }, D = [
36
+ e.container,
37
+ e[u],
38
+ h
39
+ ].filter(Boolean).join(" "), O = /* @__PURE__ */ s("div", {
40
+ ref: C,
41
+ role: "dialog",
42
+ "aria-label": f,
43
+ tabIndex: -1,
44
+ className: [e.dropdown, _ ? e.dropdownVisible : null].filter(Boolean).join(" "),
45
+ style: Object.keys(y).length ? {
46
+ ...y,
47
+ position: "fixed"
48
+ } : {
49
+ visibility: "hidden",
50
+ pointerEvents: "none",
51
+ top: -9999,
52
+ left: -9999,
53
+ position: "fixed"
54
+ },
55
+ onKeyDown: E,
56
+ children: d
57
+ });
58
+ return /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ c("div", {
59
+ ref: x,
60
+ className: D,
61
+ children: [
62
+ /* @__PURE__ */ s("button", {
63
+ className: e.primary,
64
+ disabled: p,
65
+ onClick: m,
66
+ ...g,
67
+ children: l
68
+ }),
69
+ /* @__PURE__ */ s("span", {
70
+ className: e.separator,
71
+ "aria-hidden": "true"
72
+ }),
73
+ /* @__PURE__ */ s("button", {
74
+ ref: S,
75
+ className: e.toggle,
76
+ disabled: p,
77
+ "aria-label": f,
78
+ "aria-haspopup": "dialog",
79
+ "aria-expanded": _,
80
+ onClick: () => v((e) => !e),
81
+ children: /* @__PURE__ */ s("svg", {
82
+ className: e.chevron,
83
+ width: "16",
84
+ height: "16",
85
+ viewBox: "0 0 16 16",
86
+ "aria-hidden": "true",
87
+ focusable: "false",
88
+ children: /* @__PURE__ */ s("path", {
89
+ d: "M4 6l4 4 4-4",
90
+ fill: "none",
91
+ stroke: "currentColor",
92
+ strokeWidth: "1.5",
93
+ strokeLinecap: "round",
94
+ strokeLinejoin: "round"
95
+ })
96
+ })
97
+ })
98
+ ]
99
+ }), _ && (typeof document < "u" ? a(O, document.body) : O)] });
100
+ }
101
+ //#endregion
102
+ export { l as SplitButton };
103
+
104
+ //# sourceMappingURL=SplitButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitButton.js","names":[],"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n type ButtonHTMLAttributes,\n type ReactNode,\n type KeyboardEvent,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styles from \"./SplitButton.module.css\";\n\nexport type SplitButtonVariant = \"default\" | \"suggested\" | \"destructive\";\n\nexport interface SplitButtonProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n /** Label shown in the primary button. */\n label: string;\n /** Visual style. Applies to both the primary and toggle halves. */\n variant?: SplitButtonVariant;\n /** Content rendered inside the dropdown panel when the arrow is clicked. */\n dropdownContent: ReactNode;\n /** Accessible label for the dropdown toggle button. Defaults to \"More options\". */\n dropdownLabel?: string;\n /** Whether both halves are disabled. */\n disabled?: boolean;\n}\n\n/**\n * Primary action button with an attached dropdown arrow.\n *\n * Clicking the label half fires `onClick`; clicking the arrow half opens a\n * floating panel with `dropdownContent` (menus, options, etc.).\n *\n * Mirrors `AdwSplitButton` — supports `suggested` and `destructive` variants.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SplitButton.html\n */\nexport function SplitButton({\n label,\n variant = \"default\",\n dropdownContent,\n dropdownLabel = \"More options\",\n disabled = false,\n onClick,\n className,\n ...props\n}: SplitButtonProps) {\n const [open, setOpen] = useState(false);\n const [dropdownStyle, setDropdownStyle] = useState<React.CSSProperties>({});\n\n const containerRef = useRef<HTMLDivElement>(null);\n const toggleRef = useRef<HTMLButtonElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n\n const close = useCallback(() => setOpen(false), []);\n\n // Position dropdown below the toggle button\n const place = useCallback(() => {\n if (!toggleRef.current || !panelRef.current) return;\n const triggerRect = toggleRef.current.getBoundingClientRect();\n const panelRect = panelRef.current.getBoundingClientRect();\n const vw = window.innerWidth;\n\n let left = triggerRect.right - panelRect.width;\n if (left < 8) left = 8;\n if (left + panelRect.width > vw - 8) left = vw - panelRect.width - 8;\n\n setDropdownStyle({\n top: triggerRect.bottom + 6,\n left,\n });\n }, []);\n\n useEffect(() => {\n if (!open) return;\n const id = requestAnimationFrame(() => {\n place();\n window.addEventListener(\"scroll\", place, { passive: true, capture: true });\n window.addEventListener(\"resize\", place, { passive: true });\n });\n return () => {\n cancelAnimationFrame(id);\n window.removeEventListener(\"scroll\", place, { capture: true });\n window.removeEventListener(\"resize\", place);\n };\n }, [open, place]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n const handler = (e: MouseEvent) => {\n if (\n !containerRef.current?.contains(e.target as Node) &&\n !panelRef.current?.contains(e.target as Node)\n ) {\n close();\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, [open, close]);\n\n const handlePanelKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Escape\") {\n e.stopPropagation();\n close();\n toggleRef.current?.focus();\n }\n };\n\n const containerClass = [\n styles.container,\n styles[variant],\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const panel = (\n <div\n ref={panelRef}\n role=\"dialog\"\n aria-label={dropdownLabel}\n tabIndex={-1}\n className={[styles.dropdown, open ? styles.dropdownVisible : null]\n .filter(Boolean)\n .join(\" \")}\n style={\n Object.keys(dropdownStyle).length\n ? { ...dropdownStyle, position: \"fixed\" }\n : { visibility: \"hidden\", pointerEvents: \"none\", top: -9999, left: -9999, position: \"fixed\" }\n }\n onKeyDown={handlePanelKeyDown}\n >\n {dropdownContent}\n </div>\n );\n\n return (\n <>\n <div ref={containerRef} className={containerClass}>\n <button\n className={styles.primary}\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\n {label}\n </button>\n\n <span className={styles.separator} aria-hidden=\"true\" />\n\n <button\n ref={toggleRef}\n className={styles.toggle}\n disabled={disabled}\n aria-label={dropdownLabel}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n onClick={() => setOpen((v) => !v)}\n >\n <svg\n className={styles.chevron}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M4 6l4 4 4-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n\n {open &&\n (typeof document !== \"undefined\"\n ? createPortal(panel, document.body)\n : panel)}\n </>\n );\n}\n"],"mappings":";;;;;AAsCA,SAAgB,EAAY,EAC1B,UACA,aAAU,WACV,oBACA,mBAAgB,gBAChB,cAAW,IACX,YACA,cACA,GAAG,KACgB;CACnB,IAAM,CAAC,GAAM,KAAW,EAAS,GAAM,EACjC,CAAC,GAAe,KAAoB,EAA8B,EAAE,CAAC,EAErE,IAAe,EAAuB,KAAK,EAC3C,IAAY,EAA0B,KAAK,EAC3C,IAAW,EAAuB,KAAK,EAEvC,IAAQ,QAAkB,EAAQ,GAAM,EAAE,EAAE,CAAC,EAG7C,IAAQ,QAAkB;AAC9B,MAAI,CAAC,EAAU,WAAW,CAAC,EAAS,QAAS;EAC7C,IAAM,IAAc,EAAU,QAAQ,uBAAuB,EACvD,IAAY,EAAS,QAAQ,uBAAuB,EACpD,IAAK,OAAO,YAEd,IAAO,EAAY,QAAQ,EAAU;AAIzC,EAHI,IAAO,MAAG,IAAO,IACjB,IAAO,EAAU,QAAQ,IAAK,MAAG,IAAO,IAAK,EAAU,QAAQ,IAEnE,EAAiB;GACf,KAAK,EAAY,SAAS;GAC1B;GACD,CAAC;IACD,EAAE,CAAC;AAiBN,CAfA,QAAgB;AACd,MAAI,CAAC,EAAM;EACX,IAAM,IAAK,4BAA4B;AAGrC,GAFA,GAAO,EACP,OAAO,iBAAiB,UAAU,GAAO;IAAE,SAAS;IAAM,SAAS;IAAM,CAAC,EAC1E,OAAO,iBAAiB,UAAU,GAAO,EAAE,SAAS,IAAM,CAAC;IAC3D;AACF,eAAa;AAGX,GAFA,qBAAqB,EAAG,EACxB,OAAO,oBAAoB,UAAU,GAAO,EAAE,SAAS,IAAM,CAAC,EAC9D,OAAO,oBAAoB,UAAU,EAAM;;IAE5C,CAAC,GAAM,EAAM,CAAC,EAGjB,QAAgB;AACd,MAAI,CAAC,EAAM;EACX,IAAM,KAAW,MAAkB;AACjC,GACE,CAAC,EAAa,SAAS,SAAS,EAAE,OAAe,IACjD,CAAC,EAAS,SAAS,SAAS,EAAE,OAAe,IAE7C,GAAO;;AAIX,SADA,SAAS,iBAAiB,aAAa,EAAQ,QAClC,SAAS,oBAAoB,aAAa,EAAQ;IAC9D,CAAC,GAAM,EAAM,CAAC;CAEjB,IAAM,KAAsB,MAAqC;AAC/D,EAAI,EAAE,QAAQ,aACZ,EAAE,iBAAiB,EACnB,GAAO,EACP,EAAU,SAAS,OAAO;IAIxB,IAAiB;EACrB,EAAO;EACP,EAAO;EACP;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,EAEN,IACJ,kBAAC,OAAD;EACE,KAAK;EACL,MAAK;EACL,cAAY;EACZ,UAAU;EACV,WAAW,CAAC,EAAO,UAAU,IAAO,EAAO,kBAAkB,KAAK,CAC/D,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,OACE,OAAO,KAAK,EAAc,CAAC,SACvB;GAAE,GAAG;GAAe,UAAU;GAAS,GACvC;GAAE,YAAY;GAAU,eAAe;GAAQ,KAAK;GAAO,MAAM;GAAO,UAAU;GAAS;EAEjG,WAAW;YAEV;EACG,CAAA;AAGR,QACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,KAAK;EAAc,WAAW;YAAnC;GACE,kBAAC,UAAD;IACE,WAAW,EAAO;IACR;IACD;IACT,GAAI;cAEH;IACM,CAAA;GAET,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAW,eAAY;IAAS,CAAA;GAExD,kBAAC,UAAD;IACE,KAAK;IACL,WAAW,EAAO;IACR;IACV,cAAY;IACZ,iBAAc;IACd,iBAAe;IACf,eAAe,GAAS,MAAM,CAAC,EAAE;cAEjC,kBAAC,OAAD;KACE,WAAW,EAAO;KAClB,OAAM;KACN,QAAO;KACP,SAAQ;KACR,eAAY;KACZ,WAAU;eAEV,kBAAC,QAAD;MACE,GAAE;MACF,MAAK;MACL,QAAO;MACP,aAAY;MACZ,eAAc;MACd,gBAAe;MACf,CAAA;KACE,CAAA;IACC,CAAA;GACL;KAEL,MACE,OAAO,WAAa,MACjB,EAAa,GAAO,SAAS,KAAK,GAClC,GACL,EAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ var e={container:`_container_4kjnf_3`,primary:`_primary_4kjnf_14`,toggle:`_toggle_4kjnf_15`,separator:`_separator_4kjnf_66`,chevron:`_chevron_4kjnf_81`,default:`_default_4kjnf_88`,suggested:`_suggested_4kjnf_123`,destructive:`_destructive_4kjnf_145`,dropdown:`_dropdown_4kjnf_167`,dropdownVisible:`_dropdownVisible_4kjnf_185`};exports.default=e;
2
+ //# sourceMappingURL=SplitButton.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitButton.module.css.cjs","names":[],"sources":["../../../src/components/SplitButton/SplitButton.module.css"],"sourcesContent":["/* ─── Container ─────────────────────────────────────────────────────────────── */\n\n.container {\n display: inline-flex;\n align-items: stretch;\n border-radius: var(--gnome-radius-md);\n border: 1px solid transparent;\n overflow: visible;\n position: relative;\n}\n\n/* ─── Shared button base ────────────────────────────────────────────────────── */\n\n.primary,\n.toggle {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n outline: none;\n font: inherit;\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body);\n font-weight: var(--gnome-font-weight-semibold);\n line-height: 1;\n white-space: nowrap;\n\n min-height: 34px;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.primary:focus-visible,\n.toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color);\n position: relative;\n z-index: 1;\n}\n\n.primary:disabled,\n.toggle:disabled {\n opacity: var(--gnome-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Primary half ──────────────────────────────────────────────────────────── */\n\n.primary {\n border-radius: var(--gnome-radius-md) 0 0 var(--gnome-radius-md);\n padding: var(--gnome-space-1) var(--gnome-space-2);\n background: transparent;\n}\n\n/* ─── Separator ─────────────────────────────────────────────────────────────── */\n\n.separator {\n display: block;\n width: 1px;\n align-self: stretch;\n flex-shrink: 0;\n}\n\n/* ─── Toggle (arrow) half ───────────────────────────────────────────────────── */\n\n.toggle {\n border-radius: 0 var(--gnome-radius-md) var(--gnome-radius-md) 0;\n padding: var(--gnome-space-1) 8px;\n background: transparent;\n}\n\n.chevron {\n display: block;\n flex-shrink: 0;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border-color: var(--gnome-light-3, #deddda);\n box-shadow: var(--gnome-shadow-sm);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.default .primary:hover:not(:disabled),\n.default .toggle:hover:not(:disabled) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.default .primary:active:not(:disabled),\n.default .toggle:active:not(:disabled) {\n background-color: var(--gnome-active-overlay);\n}\n\n.default .separator {\n background-color: var(--gnome-light-3, #deddda);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .separator {\n background-color: rgba(255, 255, 255, 0.12);\n }\n}\n\n/* ─── Variant: suggested ────────────────────────────────────────────────────── */\n\n.suggested {\n background-color: var(--gnome-accent-bg-color);\n border-color: transparent;\n color: var(--gnome-accent-fg-color);\n}\n\n.suggested .primary:hover:not(:disabled),\n.suggested .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.suggested .primary:active:not(:disabled),\n.suggested .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.suggested .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Variant: destructive ──────────────────────────────────────────────────── */\n\n.destructive {\n background-color: var(--gnome-destructive-bg-color);\n border-color: transparent;\n color: var(--gnome-destructive-fg-color);\n}\n\n.destructive .primary:hover:not(:disabled),\n.destructive .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.destructive .primary:active:not(:disabled),\n.destructive .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.destructive .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Dropdown panel ────────────────────────────────────────────────────────── */\n\n.dropdown {\n position: fixed;\n z-index: var(--gnome-z-popover, 1000);\n min-width: 160px;\n\n background-color: var(--gnome-popover-bg-color, #ffffff);\n border: 1px solid var(--gnome-popover-border-color, rgba(0, 0, 0, 0.12));\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.18));\n padding: var(--gnome-space-1, 6px);\n\n opacity: 0;\n transform: translateY(-4px);\n transition:\n opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.dropdownVisible {\n opacity: 1;\n transform: translateY(0);\n}\n\n@media (prefers-color-scheme: dark) {\n .dropdown {\n background-color: var(--gnome-popover-bg-color, #2d2d2d);\n border-color: rgba(255, 255, 255, 0.1);\n }\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .default {\n border-width: 2px;\n box-shadow: none;\n }\n\n .primary:focus-visible,\n .toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width) + 1px) var(--gnome-window-bg-color);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,16 @@
1
+ var e = {
2
+ container: "_container_4kjnf_3",
3
+ primary: "_primary_4kjnf_14",
4
+ toggle: "_toggle_4kjnf_15",
5
+ separator: "_separator_4kjnf_66",
6
+ chevron: "_chevron_4kjnf_81",
7
+ default: "_default_4kjnf_88",
8
+ suggested: "_suggested_4kjnf_123",
9
+ destructive: "_destructive_4kjnf_145",
10
+ dropdown: "_dropdown_4kjnf_167",
11
+ dropdownVisible: "_dropdownVisible_4kjnf_185"
12
+ };
13
+ //#endregion
14
+ export { e as default };
15
+
16
+ //# sourceMappingURL=SplitButton.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitButton.module.css.js","names":[],"sources":["../../../src/components/SplitButton/SplitButton.module.css"],"sourcesContent":["/* ─── Container ─────────────────────────────────────────────────────────────── */\n\n.container {\n display: inline-flex;\n align-items: stretch;\n border-radius: var(--gnome-radius-md);\n border: 1px solid transparent;\n overflow: visible;\n position: relative;\n}\n\n/* ─── Shared button base ────────────────────────────────────────────────────── */\n\n.primary,\n.toggle {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n outline: none;\n font: inherit;\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body);\n font-weight: var(--gnome-font-weight-semibold);\n line-height: 1;\n white-space: nowrap;\n\n min-height: 34px;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.primary:focus-visible,\n.toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color);\n position: relative;\n z-index: 1;\n}\n\n.primary:disabled,\n.toggle:disabled {\n opacity: var(--gnome-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Primary half ──────────────────────────────────────────────────────────── */\n\n.primary {\n border-radius: var(--gnome-radius-md) 0 0 var(--gnome-radius-md);\n padding: var(--gnome-space-1) var(--gnome-space-2);\n background: transparent;\n}\n\n/* ─── Separator ─────────────────────────────────────────────────────────────── */\n\n.separator {\n display: block;\n width: 1px;\n align-self: stretch;\n flex-shrink: 0;\n}\n\n/* ─── Toggle (arrow) half ───────────────────────────────────────────────────── */\n\n.toggle {\n border-radius: 0 var(--gnome-radius-md) var(--gnome-radius-md) 0;\n padding: var(--gnome-space-1) 8px;\n background: transparent;\n}\n\n.chevron {\n display: block;\n flex-shrink: 0;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border-color: var(--gnome-light-3, #deddda);\n box-shadow: var(--gnome-shadow-sm);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.default .primary:hover:not(:disabled),\n.default .toggle:hover:not(:disabled) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.default .primary:active:not(:disabled),\n.default .toggle:active:not(:disabled) {\n background-color: var(--gnome-active-overlay);\n}\n\n.default .separator {\n background-color: var(--gnome-light-3, #deddda);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .separator {\n background-color: rgba(255, 255, 255, 0.12);\n }\n}\n\n/* ─── Variant: suggested ────────────────────────────────────────────────────── */\n\n.suggested {\n background-color: var(--gnome-accent-bg-color);\n border-color: transparent;\n color: var(--gnome-accent-fg-color);\n}\n\n.suggested .primary:hover:not(:disabled),\n.suggested .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.suggested .primary:active:not(:disabled),\n.suggested .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.suggested .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Variant: destructive ──────────────────────────────────────────────────── */\n\n.destructive {\n background-color: var(--gnome-destructive-bg-color);\n border-color: transparent;\n color: var(--gnome-destructive-fg-color);\n}\n\n.destructive .primary:hover:not(:disabled),\n.destructive .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.destructive .primary:active:not(:disabled),\n.destructive .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.destructive .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Dropdown panel ────────────────────────────────────────────────────────── */\n\n.dropdown {\n position: fixed;\n z-index: var(--gnome-z-popover, 1000);\n min-width: 160px;\n\n background-color: var(--gnome-popover-bg-color, #ffffff);\n border: 1px solid var(--gnome-popover-border-color, rgba(0, 0, 0, 0.12));\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.18));\n padding: var(--gnome-space-1, 6px);\n\n opacity: 0;\n transform: translateY(-4px);\n transition:\n opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.dropdownVisible {\n opacity: 1;\n transform: translateY(0);\n}\n\n@media (prefers-color-scheme: dark) {\n .dropdown {\n background-color: var(--gnome-popover-bg-color, #2d2d2d);\n border-color: rgba(255, 255, 255, 0.1);\n }\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .default {\n border-width: 2px;\n box-shadow: none;\n }\n\n .primary:focus-visible,\n .toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width) + 1px) var(--gnome-window-bg-color);\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./SplitButton/SplitButton.cjs`);exports.SplitButton=e.SplitButton;
@@ -0,0 +1,2 @@
1
+ export * from './SplitButton/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { SplitButton as e } from "./SplitButton/SplitButton.js";
2
+ export { e as SplitButton };
@@ -0,0 +1,2 @@
1
+ const e=require(`./StatusBadge.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({variant:n=`neutral`,className:r,children:i,...a}){return(0,t.jsx)(`span`,{className:[e.default.badge,e.default[n],r].filter(Boolean).join(` `),...a,children:i})}exports.StatusBadge=n;
2
+ //# sourceMappingURL=StatusBadge.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.cjs","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./StatusBadge.module.css\";\n\nexport type StatusBadgeVariant =\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"new\"\n | \"accent\"\n | \"neutral\";\n\nexport interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Visual style. Defaults to `\"neutral\"`.\n * - `success` — green (`--gnome-success-*`), for published / active states.\n * - `warning` — yellow (`--gnome-warning-*`), for beta / pending states.\n * - `error` — red (`--gnome-error-*`), for failed / rejected states.\n * - `new` — purple (`--gnome-new-*`), for newly released / featured items.\n * - `accent` — blue (`--gnome-accent-*`), for highlighted / primary states.\n * - `neutral` — muted overlay, for draft / archived / inactive states.\n */\n variant?: StatusBadgeVariant;\n children: ReactNode;\n}\n\n/**\n * Pill-shaped text label for entity status — published, beta, new, etc.\n *\n * Unlike `Badge` (which is for numeric counts), `StatusBadge` is designed\n * for short human-readable state labels.\n *\n * ```tsx\n * <StatusBadge variant=\"success\">published</StatusBadge>\n * <StatusBadge variant=\"warning\">beta</StatusBadge>\n * <StatusBadge variant=\"new\">new</StatusBadge>\n * ```\n */\nexport function StatusBadge({\n variant = \"neutral\",\n className,\n children,\n ...props\n}: StatusBadgeProps) {\n return (\n <span\n className={[styles.badge, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </span>\n );\n}\n"],"mappings":"mFAqCA,SAAgB,EAAY,CAC1B,UAAU,UACV,YACA,WACA,GAAG,GACgB,CACnB,OACE,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,CAAC,EAAA,QAAO,MAAO,EAAA,QAAO,GAAU,EAAU,CAClD,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,EAEH,WACI,CAAA"}
@@ -0,0 +1,18 @@
1
+ import e from "./StatusBadge.module.css.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/StatusBadge/StatusBadge.tsx
4
+ function n({ variant: n = "neutral", className: r, children: i, ...a }) {
5
+ return /* @__PURE__ */ t("span", {
6
+ className: [
7
+ e.badge,
8
+ e[n],
9
+ r
10
+ ].filter(Boolean).join(" "),
11
+ ...a,
12
+ children: i
13
+ });
14
+ }
15
+ //#endregion
16
+ export { n as StatusBadge };
17
+
18
+ //# sourceMappingURL=StatusBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.js","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./StatusBadge.module.css\";\n\nexport type StatusBadgeVariant =\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"new\"\n | \"accent\"\n | \"neutral\";\n\nexport interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Visual style. Defaults to `\"neutral\"`.\n * - `success` — green (`--gnome-success-*`), for published / active states.\n * - `warning` — yellow (`--gnome-warning-*`), for beta / pending states.\n * - `error` — red (`--gnome-error-*`), for failed / rejected states.\n * - `new` — purple (`--gnome-new-*`), for newly released / featured items.\n * - `accent` — blue (`--gnome-accent-*`), for highlighted / primary states.\n * - `neutral` — muted overlay, for draft / archived / inactive states.\n */\n variant?: StatusBadgeVariant;\n children: ReactNode;\n}\n\n/**\n * Pill-shaped text label for entity status — published, beta, new, etc.\n *\n * Unlike `Badge` (which is for numeric counts), `StatusBadge` is designed\n * for short human-readable state labels.\n *\n * ```tsx\n * <StatusBadge variant=\"success\">published</StatusBadge>\n * <StatusBadge variant=\"warning\">beta</StatusBadge>\n * <StatusBadge variant=\"new\">new</StatusBadge>\n * ```\n */\nexport function StatusBadge({\n variant = \"neutral\",\n className,\n children,\n ...props\n}: StatusBadgeProps) {\n return (\n <span\n className={[styles.badge, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </span>\n );\n}\n"],"mappings":";;;AAqCA,SAAgB,EAAY,EAC1B,aAAU,WACV,cACA,aACA,GAAG,KACgB;AACnB,QACE,kBAAC,QAAD;EACE,WAAW;GAAC,EAAO;GAAO,EAAO;GAAU;GAAU,CAClD,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;EAEH;EACI,CAAA"}
@@ -0,0 +1,2 @@
1
+ var e={badge:`_badge_yj13e_3`,success:`_success_yj13e_18`,warning:`_warning_yj13e_23`,error:`_error_yj13e_28`,new:`_new_yj13e_33`,accent:`_accent_yj13e_38`,neutral:`_neutral_yj13e_43`};exports.default=e;
2
+ //# sourceMappingURL=StatusBadge.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.module.css.cjs","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.module.css"],"sourcesContent":["/* ─── Base ────────────────────────────────────────────────────────────────── */\n\n.badge {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: var(--gnome-radius-pill, 9999px);\n font-family: var(--gnome-font-family);\n font-size: 0.6875rem;\n font-weight: 600;\n line-height: 1.4;\n white-space: nowrap;\n letter-spacing: 0.02em;\n}\n\n/* ─── Variants ────────────────────────────────────────────────────────────── */\n\n.success {\n background-color: var(--gnome-success-bg-color, #2ec27e);\n color: var(--gnome-success-fg-color, #ffffff);\n}\n\n.warning {\n background-color: var(--gnome-warning-bg-color, #f6d32d);\n color: var(--gnome-warning-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.error {\n background-color: var(--gnome-error-bg-color, #e01b24);\n color: var(--gnome-error-fg-color, #ffffff);\n}\n\n.new {\n background-color: var(--gnome-new-bg-color, #9141ac);\n color: var(--gnome-new-fg-color, #ffffff);\n}\n\n.accent {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n}\n\n.neutral {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.08));\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n"],"mappings":""}
@@ -0,0 +1,13 @@
1
+ var e = {
2
+ badge: "_badge_yj13e_3",
3
+ success: "_success_yj13e_18",
4
+ warning: "_warning_yj13e_23",
5
+ error: "_error_yj13e_28",
6
+ new: "_new_yj13e_33",
7
+ accent: "_accent_yj13e_38",
8
+ neutral: "_neutral_yj13e_43"
9
+ };
10
+ //#endregion
11
+ export { e as default };
12
+
13
+ //# sourceMappingURL=StatusBadge.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.module.css.js","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.module.css"],"sourcesContent":["/* ─── Base ────────────────────────────────────────────────────────────────── */\n\n.badge {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: var(--gnome-radius-pill, 9999px);\n font-family: var(--gnome-font-family);\n font-size: 0.6875rem;\n font-weight: 600;\n line-height: 1.4;\n white-space: nowrap;\n letter-spacing: 0.02em;\n}\n\n/* ─── Variants ────────────────────────────────────────────────────────────── */\n\n.success {\n background-color: var(--gnome-success-bg-color, #2ec27e);\n color: var(--gnome-success-fg-color, #ffffff);\n}\n\n.warning {\n background-color: var(--gnome-warning-bg-color, #f6d32d);\n color: var(--gnome-warning-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.error {\n background-color: var(--gnome-error-bg-color, #e01b24);\n color: var(--gnome-error-fg-color, #ffffff);\n}\n\n.new {\n background-color: var(--gnome-new-bg-color, #9141ac);\n color: var(--gnome-new-fg-color, #ffffff);\n}\n\n.accent {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n}\n\n.neutral {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.08));\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./StatusBadge/StatusBadge.cjs`);exports.StatusBadge=e.StatusBadge;
@@ -0,0 +1,2 @@
1
+ export * from './StatusBadge/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { StatusBadge as e } from "./StatusBadge/StatusBadge.js";
2
+ export { e as StatusBadge };
@@ -0,0 +1,2 @@
1
+ const e=require(`../Icon/Icon.cjs`),t=require(`./StatusPage.module.css.cjs`);let n=require(`react/jsx-runtime`);function r({icon:r,iconNode:i,title:a,description:o,children:s,compact:c=!1,className:l,...u}){let d=c?64:128,f=r?(0,n.jsx)(e.Icon,{icon:r,width:d,height:d,"aria-hidden":!0}):i??null;return(0,n.jsxs)(`div`,{className:[t.default.page,c?t.default.compact:null,l].filter(Boolean).join(` `),...u,children:[f&&(0,n.jsx)(`div`,{className:t.default.iconWrap,"aria-hidden":`true`,children:f}),(0,n.jsx)(`p`,{className:t.default.title,children:a}),o&&(0,n.jsx)(`p`,{className:t.default.description,children:o}),s&&(0,n.jsx)(`div`,{className:t.default.actions,children:s})]})}exports.StatusPage=r;
2
+ //# sourceMappingURL=StatusPage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusPage.cjs","names":[],"sources":["../../../src/components/StatusPage/StatusPage.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport styles from \"./StatusPage.module.css\";\n\nexport interface StatusPageProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Large icon displayed above the title.\n * Use an icon from `@gnome-ui/icons` or omit for a text-only page.\n */\n icon?: IconDefinition;\n /**\n * Custom icon node. Use when you need an image, emoji, or\n * a rendered SVG that is not part of `@gnome-ui/icons`.\n * Ignored when `icon` is also provided.\n */\n iconNode?: ReactNode;\n /** Main heading. Keep it short — one noun phrase. */\n title: string;\n /** Supporting description rendered below the title. */\n description?: string;\n /**\n * Optional action area — typically one or two `<Button>` elements.\n * Rendered below the description.\n */\n children?: ReactNode;\n /**\n * Reduces padding, icon size, and title scale for use in compact\n * contexts such as sidebars, popovers, and small panels.\n * Mirrors the `.compact` style class.\n */\n compact?: boolean;\n}\n\n/**\n * Empty-state / status page following the Adwaita `AdwStatusPage` pattern.\n *\n * Use to fill a view with no content yet, an error state, or a completion\n * confirmation. Centred both horizontally and vertically.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StatusPage.html\n * @see https://developer.gnome.org/hig/patterns/feedback/empty-states.html\n */\nexport function StatusPage({\n icon,\n iconNode,\n title,\n description,\n children,\n compact = false,\n className,\n ...props\n}: StatusPageProps) {\n const iconSize = compact ? 64 : 128;\n const iconContent = icon\n ? <Icon icon={icon} width={iconSize} height={iconSize} aria-hidden />\n : iconNode ?? null;\n\n return (\n <div\n className={[styles.page, compact ? styles.compact : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {iconContent && (\n <div className={styles.iconWrap} aria-hidden=\"true\">\n {iconContent}\n </div>\n )}\n\n <p className={styles.title}>{title}</p>\n\n {description && (\n <p className={styles.description}>{description}</p>\n )}\n\n {children && (\n <div className={styles.actions}>{children}</div>\n )}\n </div>\n );\n}\n"],"mappings":"gHA2CA,SAAgB,EAAW,CACzB,OACA,WACA,QACA,cACA,WACA,UAAU,GACV,YACA,GAAG,GACe,CAClB,IAAM,EAAW,EAAU,GAAK,IAC1B,EAAc,GAChB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,MAAO,EAAU,OAAQ,EAAU,cAAA,GAAc,CAAA,CACnE,GAAY,KAEhB,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,KAAM,EAAU,EAAA,QAAO,QAAU,KAAM,EAAU,CACjE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAJN,CAMG,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,SAAU,cAAY,gBAC1C,EACG,CAAA,EAGR,EAAA,EAAA,KAAC,IAAD,CAAG,UAAW,EAAA,QAAO,eAAQ,EAAU,CAAA,CAEtC,IACC,EAAA,EAAA,KAAC,IAAD,CAAG,UAAW,EAAA,QAAO,qBAAc,EAAgB,CAAA,CAGpD,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,QAAU,WAAe,CAAA,CAE9C"}
@@ -0,0 +1,43 @@
1
+ import { Icon as e } from "../Icon/Icon.js";
2
+ import t from "./StatusPage.module.css.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/components/StatusPage/StatusPage.tsx
5
+ function i({ icon: i, iconNode: a, title: o, description: s, children: c, compact: l = !1, className: u, ...d }) {
6
+ let f = l ? 64 : 128, p = i ? /* @__PURE__ */ n(e, {
7
+ icon: i,
8
+ width: f,
9
+ height: f,
10
+ "aria-hidden": !0
11
+ }) : a ?? null;
12
+ return /* @__PURE__ */ r("div", {
13
+ className: [
14
+ t.page,
15
+ l ? t.compact : null,
16
+ u
17
+ ].filter(Boolean).join(" "),
18
+ ...d,
19
+ children: [
20
+ p && /* @__PURE__ */ n("div", {
21
+ className: t.iconWrap,
22
+ "aria-hidden": "true",
23
+ children: p
24
+ }),
25
+ /* @__PURE__ */ n("p", {
26
+ className: t.title,
27
+ children: o
28
+ }),
29
+ s && /* @__PURE__ */ n("p", {
30
+ className: t.description,
31
+ children: s
32
+ }),
33
+ c && /* @__PURE__ */ n("div", {
34
+ className: t.actions,
35
+ children: c
36
+ })
37
+ ]
38
+ });
39
+ }
40
+ //#endregion
41
+ export { i as StatusPage };
42
+
43
+ //# sourceMappingURL=StatusPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusPage.js","names":[],"sources":["../../../src/components/StatusPage/StatusPage.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport styles from \"./StatusPage.module.css\";\n\nexport interface StatusPageProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Large icon displayed above the title.\n * Use an icon from `@gnome-ui/icons` or omit for a text-only page.\n */\n icon?: IconDefinition;\n /**\n * Custom icon node. Use when you need an image, emoji, or\n * a rendered SVG that is not part of `@gnome-ui/icons`.\n * Ignored when `icon` is also provided.\n */\n iconNode?: ReactNode;\n /** Main heading. Keep it short — one noun phrase. */\n title: string;\n /** Supporting description rendered below the title. */\n description?: string;\n /**\n * Optional action area — typically one or two `<Button>` elements.\n * Rendered below the description.\n */\n children?: ReactNode;\n /**\n * Reduces padding, icon size, and title scale for use in compact\n * contexts such as sidebars, popovers, and small panels.\n * Mirrors the `.compact` style class.\n */\n compact?: boolean;\n}\n\n/**\n * Empty-state / status page following the Adwaita `AdwStatusPage` pattern.\n *\n * Use to fill a view with no content yet, an error state, or a completion\n * confirmation. Centred both horizontally and vertically.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StatusPage.html\n * @see https://developer.gnome.org/hig/patterns/feedback/empty-states.html\n */\nexport function StatusPage({\n icon,\n iconNode,\n title,\n description,\n children,\n compact = false,\n className,\n ...props\n}: StatusPageProps) {\n const iconSize = compact ? 64 : 128;\n const iconContent = icon\n ? <Icon icon={icon} width={iconSize} height={iconSize} aria-hidden />\n : iconNode ?? null;\n\n return (\n <div\n className={[styles.page, compact ? styles.compact : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {iconContent && (\n <div className={styles.iconWrap} aria-hidden=\"true\">\n {iconContent}\n </div>\n )}\n\n <p className={styles.title}>{title}</p>\n\n {description && (\n <p className={styles.description}>{description}</p>\n )}\n\n {children && (\n <div className={styles.actions}>{children}</div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AA2CA,SAAgB,EAAW,EACzB,SACA,aACA,UACA,gBACA,aACA,aAAU,IACV,cACA,GAAG,KACe;CAClB,IAAM,IAAW,IAAU,KAAK,KAC1B,IAAc,IAChB,kBAAC,GAAD;EAAY;EAAM,OAAO;EAAU,QAAQ;EAAU,eAAA;EAAc,CAAA,GACnE,KAAY;AAEhB,QACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAM,IAAU,EAAO,UAAU;GAAM;GAAU,CACjE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN;GAMG,KACC,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAU,eAAY;cAC1C;IACG,CAAA;GAGR,kBAAC,KAAD;IAAG,WAAW,EAAO;cAAQ;IAAU,CAAA;GAEtC,KACC,kBAAC,KAAD;IAAG,WAAW,EAAO;cAAc;IAAgB,CAAA;GAGpD,KACC,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAU;IAAe,CAAA;GAE9C"}
@@ -0,0 +1,2 @@
1
+ var e={page:`_page_cb4hq_3`,iconWrap:`_iconWrap_cb4hq_20`,title:`_title_cb4hq_33`,description:`_description_cb4hq_44`,actions:`_actions_cb4hq_58`,compact:`_compact_cb4hq_68`};exports.default=e;
2
+ //# sourceMappingURL=StatusPage.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusPage.module.css.cjs","names":[],"sources":["../../../src/components/StatusPage/StatusPage.module.css"],"sourcesContent":["/* ─── Page container ─────────────────────────────────────────────────────────── */\n\n.page {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n width: 100%;\n padding: var(--gnome-space-6, 48px) var(--gnome-space-4, 24px);\n gap: 0;\n\n font-family: var(--gnome-font-family);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Icon ───────────────────────────────────────────────────────────────────── */\n\n.iconWrap {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--gnome-space-4, 24px);\n\n /* Adwaita dims the icon slightly to keep the title as the focal point */\n opacity: 0.55;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Title ──────────────────────────────────────────────────────────────────── */\n\n.title {\n margin: 0;\n\n font-size: var(--gnome-font-size-title-1, 2rem);\n font-weight: var(--gnome-font-weight-bold, 700);\n line-height: var(--gnome-line-height-title, 1.2);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Description ────────────────────────────────────────────────────────────── */\n\n.description {\n margin: var(--gnome-space-2, 12px) 0 0;\n\n max-width: 36ch;\n\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n/* ─── Actions ────────────────────────────────────────────────────────────────── */\n\n.actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gnome-space-2, 12px);\n justify-content: center;\n margin-top: var(--gnome-space-4, 24px);\n}\n\n/* ─── Compact mode ───────────────────────────────────────────────────────────── */\n\n.compact {\n padding: var(--gnome-space-3, 18px) var(--gnome-space-3, 18px);\n}\n\n.compact .iconWrap {\n margin-bottom: var(--gnome-space-2, 12px);\n}\n\n.compact .title {\n font-size: var(--gnome-font-size-title-4, 1.125rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n.compact .description {\n font-size: var(--gnome-font-size-caption, 0.75rem);\n margin-top: var(--gnome-space-1, 6px);\n}\n\n.compact .actions {\n margin-top: var(--gnome-space-2, 12px);\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .iconWrap {\n opacity: 0.45;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,12 @@
1
+ var e = {
2
+ page: "_page_cb4hq_3",
3
+ iconWrap: "_iconWrap_cb4hq_20",
4
+ title: "_title_cb4hq_33",
5
+ description: "_description_cb4hq_44",
6
+ actions: "_actions_cb4hq_58",
7
+ compact: "_compact_cb4hq_68"
8
+ };
9
+ //#endregion
10
+ export { e as default };
11
+
12
+ //# sourceMappingURL=StatusPage.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusPage.module.css.js","names":[],"sources":["../../../src/components/StatusPage/StatusPage.module.css"],"sourcesContent":["/* ─── Page container ─────────────────────────────────────────────────────────── */\n\n.page {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n width: 100%;\n padding: var(--gnome-space-6, 48px) var(--gnome-space-4, 24px);\n gap: 0;\n\n font-family: var(--gnome-font-family);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Icon ───────────────────────────────────────────────────────────────────── */\n\n.iconWrap {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--gnome-space-4, 24px);\n\n /* Adwaita dims the icon slightly to keep the title as the focal point */\n opacity: 0.55;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Title ──────────────────────────────────────────────────────────────────── */\n\n.title {\n margin: 0;\n\n font-size: var(--gnome-font-size-title-1, 2rem);\n font-weight: var(--gnome-font-weight-bold, 700);\n line-height: var(--gnome-line-height-title, 1.2);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Description ────────────────────────────────────────────────────────────── */\n\n.description {\n margin: var(--gnome-space-2, 12px) 0 0;\n\n max-width: 36ch;\n\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n/* ─── Actions ────────────────────────────────────────────────────────────────── */\n\n.actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gnome-space-2, 12px);\n justify-content: center;\n margin-top: var(--gnome-space-4, 24px);\n}\n\n/* ─── Compact mode ───────────────────────────────────────────────────────────── */\n\n.compact {\n padding: var(--gnome-space-3, 18px) var(--gnome-space-3, 18px);\n}\n\n.compact .iconWrap {\n margin-bottom: var(--gnome-space-2, 12px);\n}\n\n.compact .title {\n font-size: var(--gnome-font-size-title-4, 1.125rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n.compact .description {\n font-size: var(--gnome-font-size-caption, 0.75rem);\n margin-top: var(--gnome-space-1, 6px);\n}\n\n.compact .actions {\n margin-top: var(--gnome-space-2, 12px);\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .iconWrap {\n opacity: 0.45;\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./StatusPage/StatusPage.cjs`);exports.StatusPage=e.StatusPage;
@@ -0,0 +1,2 @@
1
+ export * from './StatusPage/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { StatusPage as e } from "./StatusPage/StatusPage.js";
2
+ export { e as StatusPage };
@@ -0,0 +1,2 @@
1
+ const e=require(`./Switch.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({className:n,...r}){return(0,t.jsx)(`input`,{type:`checkbox`,role:`switch`,className:[e.default.switch,n].filter(Boolean).join(` `),...r})}exports.Switch=n;
2
+ //# sourceMappingURL=Switch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.cjs","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from \"react\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\"> {\n /** Accessible label. Required when no visible `<label>` is associated. */\n \"aria-label\"?: string;\n}\n\n/**\n * On/off toggle following the Adwaita switch style.\n *\n * Renders as `<input type=\"checkbox\" role=\"switch\">` so it is natively\n * keyboard-accessible and works with standard form libraries.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/switches.html\n */\nexport function Switch({ className, ...props }: SwitchProps) {\n return (\n <input\n type=\"checkbox\"\n role=\"switch\"\n className={[styles.switch, className].filter(Boolean).join(\" \")}\n {...props}\n />\n );\n}\n"],"mappings":"8EAiBA,SAAgB,EAAO,CAAE,YAAW,GAAG,GAAsB,CAC3D,OACE,EAAA,EAAA,KAAC,QAAD,CACE,KAAK,WACL,KAAK,SACL,UAAW,CAAC,EAAA,QAAO,OAAQ,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC/D,GAAI,EACJ,CAAA"}
@@ -0,0 +1,15 @@
1
+ import e from "./Switch.module.css.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/Switch/Switch.tsx
4
+ function n({ className: n, ...r }) {
5
+ return /* @__PURE__ */ t("input", {
6
+ type: "checkbox",
7
+ role: "switch",
8
+ className: [e.switch, n].filter(Boolean).join(" "),
9
+ ...r
10
+ });
11
+ }
12
+ //#endregion
13
+ export { n as Switch };
14
+
15
+ //# sourceMappingURL=Switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.js","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from \"react\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\"> {\n /** Accessible label. Required when no visible `<label>` is associated. */\n \"aria-label\"?: string;\n}\n\n/**\n * On/off toggle following the Adwaita switch style.\n *\n * Renders as `<input type=\"checkbox\" role=\"switch\">` so it is natively\n * keyboard-accessible and works with standard form libraries.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/switches.html\n */\nexport function Switch({ className, ...props }: SwitchProps) {\n return (\n <input\n type=\"checkbox\"\n role=\"switch\"\n className={[styles.switch, className].filter(Boolean).join(\" \")}\n {...props}\n />\n );\n}\n"],"mappings":";;;AAiBA,SAAgB,EAAO,EAAE,cAAW,GAAG,KAAsB;AAC3D,QACE,kBAAC,SAAD;EACE,MAAK;EACL,MAAK;EACL,WAAW,CAAC,EAAO,QAAQ,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC/D,GAAI;EACJ,CAAA"}
@@ -0,0 +1,2 @@
1
+ var e={switch:`_switch_1h6fk_3`};exports.default=e;
2
+ //# sourceMappingURL=Switch.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.module.css.cjs","names":[],"sources":["../../../src/components/Switch/Switch.module.css"],"sourcesContent":["/* ─── Reset & layout ───────────────────────────────────────────────────────── */\n\n.switch {\n appearance: none;\n -webkit-appearance: none;\n position: relative;\n display: inline-block;\n cursor: pointer;\n flex-shrink: 0;\n\n width: 56px;\n height: 28px;\n border-radius: var(--gnome-radius-pill);\n\n background-color: var(--gnome-light-4, #c0bfbc);\n border: 1px solid var(--gnome-border-subtle);\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n border-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Thumb ────────────────────────────────────────────────────────────────── */\n\n.switch::before {\n content: \"\";\n position: absolute;\n top: 3px;\n left: 3px;\n width: 20px;\n height: 20px;\n border-radius: var(--gnome-radius-pill);\n background-color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Checked ──────────────────────────────────────────────────────────────── */\n\n.switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n}\n\n.switch:checked::before {\n transform: translateX(28px);\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.switch:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Disabled ─────────────────────────────────────────────────────────────── */\n\n.switch:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switch {\n background-color: var(--gnome-dark-2, #5e5c64);\n border-color: var(--gnome-border-subtle);\n }\n\n .switch::before {\n background-color: var(--gnome-light-3, #deddda);\n }\n\n .switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n }\n\n .switch:checked::before {\n background-color: #ffffff;\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .switch {\n border-width: 2px;\n }\n\n .switch::before {\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .switch,\n .switch::before {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/components/Switch/Switch.module.css
2
+ var e = { switch: "_switch_1h6fk_3" };
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=Switch.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.module.css.js","names":[],"sources":["../../../src/components/Switch/Switch.module.css"],"sourcesContent":["/* ─── Reset & layout ───────────────────────────────────────────────────────── */\n\n.switch {\n appearance: none;\n -webkit-appearance: none;\n position: relative;\n display: inline-block;\n cursor: pointer;\n flex-shrink: 0;\n\n width: 56px;\n height: 28px;\n border-radius: var(--gnome-radius-pill);\n\n background-color: var(--gnome-light-4, #c0bfbc);\n border: 1px solid var(--gnome-border-subtle);\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n border-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Thumb ────────────────────────────────────────────────────────────────── */\n\n.switch::before {\n content: \"\";\n position: absolute;\n top: 3px;\n left: 3px;\n width: 20px;\n height: 20px;\n border-radius: var(--gnome-radius-pill);\n background-color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Checked ──────────────────────────────────────────────────────────────── */\n\n.switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n}\n\n.switch:checked::before {\n transform: translateX(28px);\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.switch:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Disabled ─────────────────────────────────────────────────────────────── */\n\n.switch:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switch {\n background-color: var(--gnome-dark-2, #5e5c64);\n border-color: var(--gnome-border-subtle);\n }\n\n .switch::before {\n background-color: var(--gnome-light-3, #deddda);\n }\n\n .switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n }\n\n .switch:checked::before {\n background-color: #ffffff;\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .switch {\n border-width: 2px;\n }\n\n .switch::before {\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .switch,\n .switch::before {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Switch/Switch.cjs`);exports.Switch=e.Switch;
@@ -0,0 +1,2 @@
1
+ export * from './Switch/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ import { Switch as e } from "./Switch/Switch.js";
2
+ export { e as Switch };
@@ -0,0 +1,2 @@
1
+ const e=require(`./SwitchRow.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({title:r,subtitle:i,leading:a,checked:o,defaultChecked:s=!1,onCheckedChange:c,disabled:l=!1,className:u,onClick:d,...f}){let p=o!==void 0,[m,h]=(0,t.useState)(s),g=p?o:m,_=(0,t.useId)(),v=e=>{let t=!g;p||h(t),c?.(t),d?.(e)};return(0,n.jsxs)(`button`,{role:`switch`,"aria-checked":g,"aria-labelledby":_,disabled:l,className:[e.default.row,l?e.default.disabled:null,u].filter(Boolean).join(` `),onClick:v,...f,children:[a&&(0,n.jsx)(`span`,{className:e.default.leading,children:a}),(0,n.jsxs)(`span`,{className:e.default.content,id:_,children:[(0,n.jsx)(`span`,{className:e.default.title,children:r}),i&&(0,n.jsx)(`span`,{className:e.default.subtitle,children:i})]}),(0,n.jsx)(`span`,{className:e.default.switchTrack,"aria-hidden":`true`,children:(0,n.jsx)(`span`,{className:[e.default.switchThumb,g?e.default.switchThumbOn:null].filter(Boolean).join(` `)})})]})}exports.SwitchRow=r;
2
+ //# sourceMappingURL=SwitchRow.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwitchRow.cjs","names":[],"sources":["../../../src/components/SwitchRow/SwitchRow.tsx"],"sourcesContent":["import { useState, useId, type HTMLAttributes, type ReactNode } from \"react\";\nimport styles from \"./SwitchRow.module.css\";\n\nexport interface SwitchRowProps extends Omit<HTMLAttributes<HTMLButtonElement>, \"onChange\"> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge. */\n leading?: ReactNode;\n /** Controlled checked state. */\n checked?: boolean;\n /** Initial checked state when uncontrolled. Defaults to `false`. */\n defaultChecked?: boolean;\n /** Called when the checked state changes. */\n onCheckedChange?: (checked: boolean) => void;\n /** Disables the row. */\n disabled?: boolean;\n}\n\n/**\n * Activatable row with an integrated switch.\n *\n * The entire row is a button — clicking anywhere toggles the switch.\n * Mirrors `AdwSwitchRow`, which differs from `ActionRow + trailing Switch`\n * because the row itself is the interactive element.\n *\n * Supports both controlled (`checked`) and uncontrolled (`defaultChecked`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SwitchRow.html\n */\nexport function SwitchRow({\n title,\n subtitle,\n leading,\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n className,\n onClick,\n ...props\n}: SwitchRowProps) {\n const isControlled = controlledChecked !== undefined;\n const [uncontrolledChecked, setUncontrolledChecked] = useState(defaultChecked);\n const checked = isControlled ? controlledChecked : uncontrolledChecked;\n\n const switchId = useId();\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const next = !checked;\n if (!isControlled) setUncontrolledChecked(next);\n onCheckedChange?.(next);\n onClick?.(e);\n };\n\n return (\n <button\n role=\"switch\"\n aria-checked={checked}\n aria-labelledby={switchId}\n disabled={disabled}\n className={[styles.row, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(\" \")}\n onClick={handleClick}\n {...props}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content} id={switchId}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {/* Visual switch indicator — aria-hidden since the button carries the role */}\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={[styles.switchThumb, checked ? styles.switchThumbOn : null].filter(Boolean).join(\" \")} />\n </span>\n </button>\n );\n}\n"],"mappings":"oGA+BA,SAAgB,EAAU,CACxB,QACA,WACA,UACA,QAAS,EACT,iBAAiB,GACjB,kBACA,WAAW,GACX,YACA,UACA,GAAG,GACc,CACjB,IAAM,EAAe,IAAsB,IAAA,GACrC,CAAC,EAAqB,IAAA,EAAA,EAAA,UAAmC,EAAe,CACxE,EAAU,EAAe,EAAoB,EAE7C,GAAA,EAAA,EAAA,QAAkB,CAElB,EAAe,GAA2C,CAC9D,IAAM,EAAO,CAAC,EACT,GAAc,EAAuB,EAAK,CAC/C,IAAkB,EAAK,CACvB,IAAU,EAAE,EAGd,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,eAAc,EACd,kBAAiB,EACP,WACV,UAAW,CAAC,EAAA,QAAO,IAAK,EAAW,EAAA,QAAO,SAAW,KAAM,EAAU,CAClE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,QAAS,EACT,GAAI,WATN,CAWG,IAAW,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,iBAAU,EAAe,CAAA,EAE7D,EAAA,EAAA,MAAC,OAAD,CAAM,UAAW,EAAA,QAAO,QAAS,GAAI,WAArC,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,EAAa,CAAA,CAC5C,IAAY,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBAAW,EAAgB,CAAA,CAC3D,IAGP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,YAAa,cAAY,iBAC/C,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,CAAC,EAAA,QAAO,YAAa,EAAU,EAAA,QAAO,cAAgB,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAI,CAAA,CACrG,CAAA,CACA"}
@@ -0,0 +1,49 @@
1
+ import e from "./SwitchRow.module.css.js";
2
+ import { useId as t, useState as n } from "react";
3
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ //#region src/components/SwitchRow/SwitchRow.tsx
5
+ function a({ title: a, subtitle: o, leading: s, checked: c, defaultChecked: l = !1, onCheckedChange: u, disabled: d = !1, className: f, onClick: p, ...m }) {
6
+ let h = c !== void 0, [g, _] = n(l), v = h ? c : g, y = t(), b = (e) => {
7
+ let t = !v;
8
+ h || _(t), u?.(t), p?.(e);
9
+ };
10
+ return /* @__PURE__ */ i("button", {
11
+ role: "switch",
12
+ "aria-checked": v,
13
+ "aria-labelledby": y,
14
+ disabled: d,
15
+ className: [
16
+ e.row,
17
+ d ? e.disabled : null,
18
+ f
19
+ ].filter(Boolean).join(" "),
20
+ onClick: b,
21
+ ...m,
22
+ children: [
23
+ s && /* @__PURE__ */ r("span", {
24
+ className: e.leading,
25
+ children: s
26
+ }),
27
+ /* @__PURE__ */ i("span", {
28
+ className: e.content,
29
+ id: y,
30
+ children: [/* @__PURE__ */ r("span", {
31
+ className: e.title,
32
+ children: a
33
+ }), o && /* @__PURE__ */ r("span", {
34
+ className: e.subtitle,
35
+ children: o
36
+ })]
37
+ }),
38
+ /* @__PURE__ */ r("span", {
39
+ className: e.switchTrack,
40
+ "aria-hidden": "true",
41
+ children: /* @__PURE__ */ r("span", { className: [e.switchThumb, v ? e.switchThumbOn : null].filter(Boolean).join(" ") })
42
+ })
43
+ ]
44
+ });
45
+ }
46
+ //#endregion
47
+ export { a as SwitchRow };
48
+
49
+ //# sourceMappingURL=SwitchRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwitchRow.js","names":[],"sources":["../../../src/components/SwitchRow/SwitchRow.tsx"],"sourcesContent":["import { useState, useId, type HTMLAttributes, type ReactNode } from \"react\";\nimport styles from \"./SwitchRow.module.css\";\n\nexport interface SwitchRowProps extends Omit<HTMLAttributes<HTMLButtonElement>, \"onChange\"> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge. */\n leading?: ReactNode;\n /** Controlled checked state. */\n checked?: boolean;\n /** Initial checked state when uncontrolled. Defaults to `false`. */\n defaultChecked?: boolean;\n /** Called when the checked state changes. */\n onCheckedChange?: (checked: boolean) => void;\n /** Disables the row. */\n disabled?: boolean;\n}\n\n/**\n * Activatable row with an integrated switch.\n *\n * The entire row is a button — clicking anywhere toggles the switch.\n * Mirrors `AdwSwitchRow`, which differs from `ActionRow + trailing Switch`\n * because the row itself is the interactive element.\n *\n * Supports both controlled (`checked`) and uncontrolled (`defaultChecked`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SwitchRow.html\n */\nexport function SwitchRow({\n title,\n subtitle,\n leading,\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n className,\n onClick,\n ...props\n}: SwitchRowProps) {\n const isControlled = controlledChecked !== undefined;\n const [uncontrolledChecked, setUncontrolledChecked] = useState(defaultChecked);\n const checked = isControlled ? controlledChecked : uncontrolledChecked;\n\n const switchId = useId();\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const next = !checked;\n if (!isControlled) setUncontrolledChecked(next);\n onCheckedChange?.(next);\n onClick?.(e);\n };\n\n return (\n <button\n role=\"switch\"\n aria-checked={checked}\n aria-labelledby={switchId}\n disabled={disabled}\n className={[styles.row, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(\" \")}\n onClick={handleClick}\n {...props}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content} id={switchId}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {/* Visual switch indicator — aria-hidden since the button carries the role */}\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={[styles.switchThumb, checked ? styles.switchThumbOn : null].filter(Boolean).join(\" \")} />\n </span>\n </button>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,EAAU,EACxB,UACA,aACA,YACA,SAAS,GACT,oBAAiB,IACjB,oBACA,cAAW,IACX,cACA,YACA,GAAG,KACc;CACjB,IAAM,IAAe,MAAsB,KAAA,GACrC,CAAC,GAAqB,KAA0B,EAAS,EAAe,EACxE,IAAU,IAAe,IAAoB,GAE7C,IAAW,GAAO,EAElB,KAAe,MAA2C;EAC9D,IAAM,IAAO,CAAC;AAGd,EAFK,KAAc,EAAuB,EAAK,EAC/C,IAAkB,EAAK,EACvB,IAAU,EAAE;;AAGd,QACE,kBAAC,UAAD;EACE,MAAK;EACL,gBAAc;EACd,mBAAiB;EACP;EACV,WAAW;GAAC,EAAO;GAAK,IAAW,EAAO,WAAW;GAAM;GAAU,CAClE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,SAAS;EACT,GAAI;YATN;GAWG,KAAW,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAU;IAAe,CAAA;GAE7D,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAS,IAAI;cAArC,CACE,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;KAAa,CAAA,EAC5C,KAAY,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAW;KAAgB,CAAA,CAC3D;;GAGP,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAa,eAAY;cAC/C,kBAAC,QAAD,EAAM,WAAW,CAAC,EAAO,aAAa,IAAU,EAAO,gBAAgB,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAI,CAAA;IACrG,CAAA;GACA"}
@@ -0,0 +1,2 @@
1
+ var e={row:`_row_jl3bc_3`,disabled:`_disabled_jl3bc_41`,leading:`_leading_jl3bc_49`,content:`_content_jl3bc_58`,title:`_title_jl3bc_66`,subtitle:`_subtitle_jl3bc_77`,switchTrack:`_switchTrack_jl3bc_91`,switchThumb:`_switchThumb_jl3bc_114`,switchThumbOn:`_switchThumbOn_jl3bc_126`};exports.default=e;
2
+ //# sourceMappingURL=SwitchRow.module.css.cjs.map