@gnome-ui/react 1.45.0 → 1.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (610) hide show
  1. package/dist/components/AboutDialog/AboutDialog.cjs +1 -1
  2. package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -1
  3. package/dist/components/AboutDialog/AboutDialog.js +1 -1
  4. package/dist/components/AboutDialog/AboutDialog.js.map +1 -1
  5. package/dist/components/AboutDialog/AboutDialog.module.css.cjs +1 -1
  6. package/dist/components/AboutDialog/AboutDialog.module.css.cjs.map +1 -1
  7. package/dist/components/AboutDialog/AboutDialog.module.css.js +3 -3
  8. package/dist/components/AboutDialog/AboutDialog.module.css.js.map +1 -1
  9. package/dist/components/AboutDialog/index.d.ts +1 -1
  10. package/dist/components/ActionRow/ActionRow.cjs.map +1 -1
  11. package/dist/components/ActionRow/ActionRow.d.ts +1 -1
  12. package/dist/components/ActionRow/ActionRow.js.map +1 -1
  13. package/dist/components/ActionRow/ActionRow.module.css.cjs +1 -1
  14. package/dist/components/ActionRow/ActionRow.module.css.cjs.map +1 -1
  15. package/dist/components/ActionRow/ActionRow.module.css.js +9 -9
  16. package/dist/components/ActionRow/ActionRow.module.css.js.map +1 -1
  17. package/dist/components/ActionRow/index.d.ts +1 -1
  18. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  19. package/dist/components/Avatar/Avatar.d.ts +2 -2
  20. package/dist/components/Avatar/Avatar.js.map +1 -1
  21. package/dist/components/Avatar/Avatar.module.css.cjs +1 -1
  22. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -1
  23. package/dist/components/Avatar/Avatar.module.css.js +16 -16
  24. package/dist/components/Avatar/Avatar.module.css.js.map +1 -1
  25. package/dist/components/Avatar/index.d.ts +1 -1
  26. package/dist/components/AvatarRotator/AvatarRotator.cjs.map +1 -1
  27. package/dist/components/AvatarRotator/AvatarRotator.js.map +1 -1
  28. package/dist/components/AvatarRotator/index.d.ts +1 -1
  29. package/dist/components/Badge/Badge.cjs.map +1 -1
  30. package/dist/components/Badge/Badge.d.ts +1 -1
  31. package/dist/components/Badge/Badge.js.map +1 -1
  32. package/dist/components/Badge/Badge.module.css.cjs +1 -1
  33. package/dist/components/Badge/Badge.module.css.cjs.map +1 -1
  34. package/dist/components/Badge/Badge.module.css.js +9 -9
  35. package/dist/components/Badge/Badge.module.css.js.map +1 -1
  36. package/dist/components/Badge/index.d.ts +1 -1
  37. package/dist/components/Banner/Banner.cjs.map +1 -1
  38. package/dist/components/Banner/Banner.d.ts +1 -1
  39. package/dist/components/Banner/Banner.js.map +1 -1
  40. package/dist/components/Banner/Banner.module.css.cjs +1 -1
  41. package/dist/components/Banner/Banner.module.css.cjs.map +1 -1
  42. package/dist/components/Banner/Banner.module.css.js +5 -5
  43. package/dist/components/Banner/Banner.module.css.js.map +1 -1
  44. package/dist/components/Banner/index.d.ts +1 -1
  45. package/dist/components/Bin/Bin.cjs.map +1 -1
  46. package/dist/components/Bin/Bin.js.map +1 -1
  47. package/dist/components/Bin/index.d.ts +1 -1
  48. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  49. package/dist/components/Blockquote/Blockquote.d.ts +1 -1
  50. package/dist/components/Blockquote/Blockquote.js.map +1 -1
  51. package/dist/components/Blockquote/Blockquote.module.css.cjs +1 -1
  52. package/dist/components/Blockquote/Blockquote.module.css.cjs.map +1 -1
  53. package/dist/components/Blockquote/Blockquote.module.css.js +11 -11
  54. package/dist/components/Blockquote/Blockquote.module.css.js.map +1 -1
  55. package/dist/components/Blockquote/index.d.ts +1 -1
  56. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
  57. package/dist/components/BottomSheet/BottomSheet.d.ts +1 -1
  58. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  59. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +1 -1
  60. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -1
  61. package/dist/components/BottomSheet/BottomSheet.module.css.js +3 -3
  62. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -1
  63. package/dist/components/BottomSheet/index.d.ts +1 -1
  64. package/dist/components/Box/Box.cjs.map +1 -1
  65. package/dist/components/Box/Box.d.ts +3 -3
  66. package/dist/components/Box/Box.js.map +1 -1
  67. package/dist/components/Box/index.d.ts +1 -1
  68. package/dist/components/BoxedList/BoxedList.cjs +1 -1
  69. package/dist/components/BoxedList/BoxedList.cjs.map +1 -1
  70. package/dist/components/BoxedList/BoxedList.d.ts +1 -1
  71. package/dist/components/BoxedList/BoxedList.js +0 -1
  72. package/dist/components/BoxedList/BoxedList.js.map +1 -1
  73. package/dist/components/BoxedList/BoxedList.module.css.cjs +1 -1
  74. package/dist/components/BoxedList/BoxedList.module.css.cjs.map +1 -1
  75. package/dist/components/BoxedList/BoxedList.module.css.js +5 -5
  76. package/dist/components/BoxedList/BoxedList.module.css.js.map +1 -1
  77. package/dist/components/BoxedList/index.d.ts +1 -1
  78. package/dist/components/BreakpointBin/BreakpointBin.cjs +1 -1
  79. package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -1
  80. package/dist/components/BreakpointBin/BreakpointBin.d.ts +1 -1
  81. package/dist/components/BreakpointBin/BreakpointBin.js +1 -1
  82. package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -1
  83. package/dist/components/BreakpointBin/index.d.ts +1 -1
  84. package/dist/components/Button/Button.cjs.map +1 -1
  85. package/dist/components/Button/Button.d.ts +3 -3
  86. package/dist/components/Button/Button.js.map +1 -1
  87. package/dist/components/Button/Button.module.css.cjs +1 -1
  88. package/dist/components/Button/Button.module.css.cjs.map +1 -1
  89. package/dist/components/Button/Button.module.css.js +11 -11
  90. package/dist/components/Button/Button.module.css.js.map +1 -1
  91. package/dist/components/Button/index.d.ts +1 -1
  92. package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -1
  93. package/dist/components/ButtonContent/ButtonContent.d.ts +1 -1
  94. package/dist/components/ButtonContent/ButtonContent.js.map +1 -1
  95. package/dist/components/ButtonContent/index.d.ts +1 -1
  96. package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -1
  97. package/dist/components/ButtonRow/ButtonRow.d.ts +1 -1
  98. package/dist/components/ButtonRow/ButtonRow.js.map +1 -1
  99. package/dist/components/ButtonRow/ButtonRow.module.css.cjs +1 -1
  100. package/dist/components/ButtonRow/ButtonRow.module.css.cjs.map +1 -1
  101. package/dist/components/ButtonRow/ButtonRow.module.css.js +7 -7
  102. package/dist/components/ButtonRow/ButtonRow.module.css.js.map +1 -1
  103. package/dist/components/ButtonRow/index.d.ts +1 -1
  104. package/dist/components/Card/Card.cjs.map +1 -1
  105. package/dist/components/Card/Card.d.ts +1 -1
  106. package/dist/components/Card/Card.js.map +1 -1
  107. package/dist/components/Card/Card.module.css.cjs +1 -1
  108. package/dist/components/Card/Card.module.css.cjs.map +1 -1
  109. package/dist/components/Card/Card.module.css.js +5 -5
  110. package/dist/components/Card/Card.module.css.js.map +1 -1
  111. package/dist/components/Card/index.d.ts +1 -1
  112. package/dist/components/Carousel/Carousel.cjs +1 -1
  113. package/dist/components/Carousel/Carousel.cjs.map +1 -1
  114. package/dist/components/Carousel/Carousel.d.ts +1 -1
  115. package/dist/components/Carousel/Carousel.js +7 -6
  116. package/dist/components/Carousel/Carousel.js.map +1 -1
  117. package/dist/components/Carousel/Carousel.module.css.cjs +1 -1
  118. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -1
  119. package/dist/components/Carousel/Carousel.module.css.js +10 -10
  120. package/dist/components/Carousel/Carousel.module.css.js.map +1 -1
  121. package/dist/components/Carousel/index.d.ts +1 -1
  122. package/dist/components/CheckRow/CheckRow.cjs.map +1 -1
  123. package/dist/components/CheckRow/CheckRow.d.ts +1 -1
  124. package/dist/components/CheckRow/CheckRow.js.map +1 -1
  125. package/dist/components/CheckRow/CheckRow.module.css.cjs +1 -1
  126. package/dist/components/CheckRow/CheckRow.module.css.cjs.map +1 -1
  127. package/dist/components/CheckRow/CheckRow.module.css.js +10 -10
  128. package/dist/components/CheckRow/CheckRow.module.css.js.map +1 -1
  129. package/dist/components/CheckRow/index.d.ts +1 -1
  130. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  131. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  132. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  133. package/dist/components/Checkbox/Checkbox.module.css.cjs +1 -1
  134. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -1
  135. package/dist/components/Checkbox/Checkbox.module.css.js +1 -1
  136. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -1
  137. package/dist/components/Checkbox/index.d.ts +1 -1
  138. package/dist/components/Chip/Chip.cjs.map +1 -1
  139. package/dist/components/Chip/Chip.d.ts +1 -1
  140. package/dist/components/Chip/Chip.js.map +1 -1
  141. package/dist/components/Chip/Chip.module.css.cjs +1 -1
  142. package/dist/components/Chip/Chip.module.css.cjs.map +1 -1
  143. package/dist/components/Chip/Chip.module.css.js +7 -7
  144. package/dist/components/Chip/Chip.module.css.js.map +1 -1
  145. package/dist/components/Chip/index.d.ts +1 -1
  146. package/dist/components/Clamp/Clamp.cjs.map +1 -1
  147. package/dist/components/Clamp/Clamp.js.map +1 -1
  148. package/dist/components/Clamp/index.d.ts +1 -1
  149. package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -1
  150. package/dist/components/ColorPicker/ColorPicker.d.ts +6 -6
  151. package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
  152. package/dist/components/ColorPicker/ColorPicker.module.css.cjs +1 -1
  153. package/dist/components/ColorPicker/ColorPicker.module.css.cjs.map +1 -1
  154. package/dist/components/ColorPicker/ColorPicker.module.css.js +4 -4
  155. package/dist/components/ColorPicker/ColorPicker.module.css.js.map +1 -1
  156. package/dist/components/ColorPicker/index.d.ts +1 -1
  157. package/dist/components/ColumnView/ColumnView.cjs +1 -1
  158. package/dist/components/ColumnView/ColumnView.cjs.map +1 -1
  159. package/dist/components/ColumnView/ColumnView.d.ts +3 -3
  160. package/dist/components/ColumnView/ColumnView.js +2 -5
  161. package/dist/components/ColumnView/ColumnView.js.map +1 -1
  162. package/dist/components/ColumnView/ColumnView.module.css.cjs +1 -1
  163. package/dist/components/ColumnView/ColumnView.module.css.cjs.map +1 -1
  164. package/dist/components/ColumnView/ColumnView.module.css.js +22 -22
  165. package/dist/components/ColumnView/ColumnView.module.css.js.map +1 -1
  166. package/dist/components/ColumnView/index.d.ts +1 -1
  167. package/dist/components/ComboRow/ComboRow.cjs +1 -1
  168. package/dist/components/ComboRow/ComboRow.cjs.map +1 -1
  169. package/dist/components/ComboRow/ComboRow.d.ts +1 -1
  170. package/dist/components/ComboRow/ComboRow.js +0 -2
  171. package/dist/components/ComboRow/ComboRow.js.map +1 -1
  172. package/dist/components/ComboRow/ComboRow.module.css.cjs +1 -1
  173. package/dist/components/ComboRow/ComboRow.module.css.cjs.map +1 -1
  174. package/dist/components/ComboRow/ComboRow.module.css.js +3 -3
  175. package/dist/components/ComboRow/ComboRow.module.css.js.map +1 -1
  176. package/dist/components/ComboRow/index.d.ts +1 -1
  177. package/dist/components/ContributionGraph/ContributionGraph.cjs +1 -1
  178. package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -1
  179. package/dist/components/ContributionGraph/ContributionGraph.js +41 -41
  180. package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -1
  181. package/dist/components/ContributionGraph/index.d.ts +1 -1
  182. package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -1
  183. package/dist/components/CountDownTimer/CountDownTimer.d.ts +3 -3
  184. package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -1
  185. package/dist/components/CountDownTimer/index.d.ts +1 -1
  186. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  187. package/dist/components/Dialog/Dialog.d.ts +4 -4
  188. package/dist/components/Dialog/Dialog.js.map +1 -1
  189. package/dist/components/Dialog/Dialog.module.css.cjs +1 -1
  190. package/dist/components/Dialog/Dialog.module.css.cjs.map +1 -1
  191. package/dist/components/Dialog/Dialog.module.css.js +6 -6
  192. package/dist/components/Dialog/Dialog.module.css.js.map +1 -1
  193. package/dist/components/Dialog/dialogUtils.cjs.map +1 -1
  194. package/dist/components/Dialog/dialogUtils.js.map +1 -1
  195. package/dist/components/Dialog/index.d.ts +1 -1
  196. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  197. package/dist/components/Drawer/Drawer.d.ts +3 -3
  198. package/dist/components/Drawer/Drawer.js.map +1 -1
  199. package/dist/components/Drawer/Drawer.module.css.cjs +1 -1
  200. package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -1
  201. package/dist/components/Drawer/Drawer.module.css.js +4 -4
  202. package/dist/components/Drawer/Drawer.module.css.js.map +1 -1
  203. package/dist/components/Drawer/index.d.ts +1 -1
  204. package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
  205. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  206. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  207. package/dist/components/Dropdown/Dropdown.module.css.cjs +1 -1
  208. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +1 -1
  209. package/dist/components/Dropdown/Dropdown.module.css.js +3 -3
  210. package/dist/components/Dropdown/Dropdown.module.css.js.map +1 -1
  211. package/dist/components/Dropdown/index.d.ts +1 -1
  212. package/dist/components/EntryRow/EntryRow.cjs.map +1 -1
  213. package/dist/components/EntryRow/EntryRow.js.map +1 -1
  214. package/dist/components/EntryRow/EntryRow.module.css.cjs +1 -1
  215. package/dist/components/EntryRow/EntryRow.module.css.cjs.map +1 -1
  216. package/dist/components/EntryRow/EntryRow.module.css.js +10 -10
  217. package/dist/components/EntryRow/EntryRow.module.css.js.map +1 -1
  218. package/dist/components/EntryRow/index.d.ts +1 -1
  219. package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -1
  220. package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -1
  221. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs +1 -1
  222. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs.map +1 -1
  223. package/dist/components/ExpanderRow/ExpanderRow.module.css.js +14 -14
  224. package/dist/components/ExpanderRow/ExpanderRow.module.css.js.map +1 -1
  225. package/dist/components/ExpanderRow/index.d.ts +1 -1
  226. package/dist/components/Footer/Footer.cjs.map +1 -1
  227. package/dist/components/Footer/Footer.js.map +1 -1
  228. package/dist/components/Footer/index.d.ts +1 -1
  229. package/dist/components/Frame/Frame.cjs.map +1 -1
  230. package/dist/components/Frame/Frame.js.map +1 -1
  231. package/dist/components/Frame/index.d.ts +1 -1
  232. package/dist/components/GnomeProvider/GnomeContext.cjs.map +1 -1
  233. package/dist/components/GnomeProvider/GnomeContext.d.ts +5 -5
  234. package/dist/components/GnomeProvider/GnomeContext.js.map +1 -1
  235. package/dist/components/GnomeProvider/GnomeProvider.cjs.map +1 -1
  236. package/dist/components/GnomeProvider/GnomeProvider.js.map +1 -1
  237. package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -1
  238. package/dist/components/HeaderBar/HeaderBar.d.ts +1 -1
  239. package/dist/components/HeaderBar/HeaderBar.js.map +1 -1
  240. package/dist/components/HeaderBar/index.d.ts +1 -1
  241. package/dist/components/Icon/Icon.cjs.map +1 -1
  242. package/dist/components/Icon/Icon.d.ts +2 -2
  243. package/dist/components/Icon/Icon.js.map +1 -1
  244. package/dist/components/Icon/index.d.ts +1 -1
  245. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  246. package/dist/components/IconButton/IconButton.d.ts +2 -2
  247. package/dist/components/IconButton/IconButton.js.map +1 -1
  248. package/dist/components/IconButton/index.d.ts +1 -1
  249. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +1 -1
  250. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -1
  251. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.d.ts +3 -3
  252. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +8 -8
  253. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -1
  254. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs +1 -1
  255. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs.map +1 -1
  256. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js +10 -10
  257. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js.map +1 -1
  258. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -1
  259. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.d.ts +1 -1
  260. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -1
  261. package/dist/components/InlineViewSwitcher/index.d.ts +2 -2
  262. package/dist/components/Link/Link.cjs.map +1 -1
  263. package/dist/components/Link/Link.js.map +1 -1
  264. package/dist/components/Link/Link.module.css.cjs +1 -1
  265. package/dist/components/Link/Link.module.css.cjs.map +1 -1
  266. package/dist/components/Link/Link.module.css.js +2 -2
  267. package/dist/components/Link/Link.module.css.js.map +1 -1
  268. package/dist/components/Link/index.d.ts +1 -1
  269. package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -1
  270. package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -1
  271. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs +1 -1
  272. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs.map +1 -1
  273. package/dist/components/LinkedGroup/LinkedGroup.module.css.js +2 -2
  274. package/dist/components/LinkedGroup/LinkedGroup.module.css.js.map +1 -1
  275. package/dist/components/LinkedGroup/index.d.ts +1 -1
  276. package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -1
  277. package/dist/components/NavigationSplitView/NavigationSplitView.d.ts +1 -1
  278. package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -1
  279. package/dist/components/NavigationSplitView/index.d.ts +1 -1
  280. package/dist/components/NavigationView/NavigationView.cjs.map +1 -1
  281. package/dist/components/NavigationView/NavigationView.d.ts +2 -2
  282. package/dist/components/NavigationView/NavigationView.js.map +1 -1
  283. package/dist/components/NavigationView/NavigationView.module.css.cjs +1 -1
  284. package/dist/components/NavigationView/NavigationView.module.css.cjs.map +1 -1
  285. package/dist/components/NavigationView/NavigationView.module.css.js +3 -3
  286. package/dist/components/NavigationView/NavigationView.module.css.js.map +1 -1
  287. package/dist/components/NavigationView/index.d.ts +2 -2
  288. package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -1
  289. package/dist/components/OverlaySplitView/OverlaySplitView.d.ts +2 -2
  290. package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -1
  291. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs +1 -1
  292. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs.map +1 -1
  293. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js +12 -12
  294. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js.map +1 -1
  295. package/dist/components/OverlaySplitView/index.d.ts +1 -1
  296. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -1
  297. package/dist/components/PasswordEntryRow/PasswordEntryRow.d.ts +1 -1
  298. package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -1
  299. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs +1 -1
  300. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs.map +1 -1
  301. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js +1 -1
  302. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js.map +1 -1
  303. package/dist/components/PasswordEntryRow/index.d.ts +1 -1
  304. package/dist/components/PathBar/PathBar.cjs.map +1 -1
  305. package/dist/components/PathBar/PathBar.js.map +1 -1
  306. package/dist/components/PathBar/PathBar.module.css.cjs +1 -1
  307. package/dist/components/PathBar/PathBar.module.css.cjs.map +1 -1
  308. package/dist/components/PathBar/PathBar.module.css.js +7 -7
  309. package/dist/components/PathBar/PathBar.module.css.js.map +1 -1
  310. package/dist/components/PathBar/index.d.ts +1 -1
  311. package/dist/components/Popover/Popover.cjs.map +1 -1
  312. package/dist/components/Popover/Popover.d.ts +2 -2
  313. package/dist/components/Popover/Popover.js.map +1 -1
  314. package/dist/components/Popover/Popover.module.css.cjs +1 -1
  315. package/dist/components/Popover/Popover.module.css.cjs.map +1 -1
  316. package/dist/components/Popover/Popover.module.css.js +7 -7
  317. package/dist/components/Popover/Popover.module.css.js.map +1 -1
  318. package/dist/components/Popover/index.d.ts +1 -1
  319. package/dist/components/PreferencesDialog/PreferencesDialog.cjs +1 -1
  320. package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -1
  321. package/dist/components/PreferencesDialog/PreferencesDialog.d.ts +1 -1
  322. package/dist/components/PreferencesDialog/PreferencesDialog.js +0 -1
  323. package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -1
  324. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +1 -1
  325. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs.map +1 -1
  326. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +3 -3
  327. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js.map +1 -1
  328. package/dist/components/PreferencesDialog/index.d.ts +1 -1
  329. package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -1
  330. package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -1
  331. package/dist/components/PreferencesGroup/index.d.ts +1 -1
  332. package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -1
  333. package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -1
  334. package/dist/components/PreferencesPage/index.d.ts +1 -1
  335. package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -1
  336. package/dist/components/ProgressBar/ProgressBar.d.ts +4 -4
  337. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  338. package/dist/components/ProgressBar/ProgressBar.module.css.cjs +1 -1
  339. package/dist/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -1
  340. package/dist/components/ProgressBar/ProgressBar.module.css.js +8 -8
  341. package/dist/components/ProgressBar/ProgressBar.module.css.js.map +1 -1
  342. package/dist/components/ProgressBar/index.d.ts +1 -1
  343. package/dist/components/RadioButton/RadioButton.cjs.map +1 -1
  344. package/dist/components/RadioButton/RadioButton.d.ts +2 -2
  345. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  346. package/dist/components/RadioButton/RadioButton.module.css.cjs +1 -1
  347. package/dist/components/RadioButton/RadioButton.module.css.cjs.map +1 -1
  348. package/dist/components/RadioButton/RadioButton.module.css.js +1 -1
  349. package/dist/components/RadioButton/RadioButton.module.css.js.map +1 -1
  350. package/dist/components/RadioButton/index.d.ts +1 -1
  351. package/dist/components/SearchBar/SearchBar.cjs +1 -1
  352. package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
  353. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  354. package/dist/components/SearchBar/SearchBar.js +1 -3
  355. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  356. package/dist/components/SearchBar/SearchBar.module.css.cjs +1 -1
  357. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -1
  358. package/dist/components/SearchBar/SearchBar.module.css.js +13 -13
  359. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -1
  360. package/dist/components/SearchBar/index.d.ts +1 -1
  361. package/dist/components/SegmentedBar/SegmentedBar.cjs.map +1 -1
  362. package/dist/components/SegmentedBar/SegmentedBar.d.ts +1 -1
  363. package/dist/components/SegmentedBar/SegmentedBar.js.map +1 -1
  364. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs +1 -1
  365. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs.map +1 -1
  366. package/dist/components/SegmentedBar/SegmentedBar.module.css.js +12 -12
  367. package/dist/components/SegmentedBar/SegmentedBar.module.css.js.map +1 -1
  368. package/dist/components/SegmentedBar/index.d.ts +1 -1
  369. package/dist/components/Separator/Separator.cjs.map +1 -1
  370. package/dist/components/Separator/Separator.d.ts +1 -1
  371. package/dist/components/Separator/Separator.js.map +1 -1
  372. package/dist/components/Separator/index.d.ts +1 -1
  373. package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -1
  374. package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -1
  375. package/dist/components/ShortcutLabel/index.d.ts +1 -1
  376. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +1 -1
  377. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -1
  378. package/dist/components/ShortcutsDialog/ShortcutsDialog.js +0 -1
  379. package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -1
  380. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +1 -1
  381. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs.map +1 -1
  382. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +3 -3
  383. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js.map +1 -1
  384. package/dist/components/ShortcutsDialog/index.d.ts +1 -1
  385. package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
  386. package/dist/components/Sidebar/Sidebar.d.ts +2 -2
  387. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  388. package/dist/components/Sidebar/Sidebar.module.css.cjs +1 -1
  389. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -1
  390. package/dist/components/Sidebar/Sidebar.module.css.js +2 -2
  391. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -1
  392. package/dist/components/Sidebar/SidebarItem.cjs.map +1 -1
  393. package/dist/components/Sidebar/SidebarItem.d.ts +1 -1
  394. package/dist/components/Sidebar/SidebarItem.js.map +1 -1
  395. package/dist/components/Sidebar/SidebarSection.cjs +1 -1
  396. package/dist/components/Sidebar/SidebarSection.cjs.map +1 -1
  397. package/dist/components/Sidebar/SidebarSection.d.ts +1 -1
  398. package/dist/components/Sidebar/SidebarSection.js +0 -1
  399. package/dist/components/Sidebar/SidebarSection.js.map +1 -1
  400. package/dist/components/Sidebar/index.d.ts +4 -4
  401. package/dist/components/Sidebar.cjs +1 -1
  402. package/dist/components/Sidebar.js +3 -3
  403. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  404. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  405. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  406. package/dist/components/Skeleton/Skeleton.module.css.cjs +1 -1
  407. package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -1
  408. package/dist/components/Skeleton/Skeleton.module.css.js +7 -7
  409. package/dist/components/Skeleton/Skeleton.module.css.js.map +1 -1
  410. package/dist/components/Skeleton/index.d.ts +1 -1
  411. package/dist/components/Slider/Slider.cjs.map +1 -1
  412. package/dist/components/Slider/Slider.d.ts +5 -5
  413. package/dist/components/Slider/Slider.js.map +1 -1
  414. package/dist/components/Slider/Slider.module.css.cjs +1 -1
  415. package/dist/components/Slider/Slider.module.css.cjs.map +1 -1
  416. package/dist/components/Slider/Slider.module.css.js +9 -9
  417. package/dist/components/Slider/Slider.module.css.js.map +1 -1
  418. package/dist/components/Slider/index.d.ts +1 -1
  419. package/dist/components/SpinButton/SpinButton.cjs.map +1 -1
  420. package/dist/components/SpinButton/SpinButton.d.ts +4 -4
  421. package/dist/components/SpinButton/SpinButton.js.map +1 -1
  422. package/dist/components/SpinButton/SpinButton.module.css.cjs +1 -1
  423. package/dist/components/SpinButton/SpinButton.module.css.cjs.map +1 -1
  424. package/dist/components/SpinButton/SpinButton.module.css.js +4 -4
  425. package/dist/components/SpinButton/SpinButton.module.css.js.map +1 -1
  426. package/dist/components/SpinButton/index.d.ts +1 -1
  427. package/dist/components/SpinRow/SpinRow.cjs.map +1 -1
  428. package/dist/components/SpinRow/SpinRow.d.ts +1 -1
  429. package/dist/components/SpinRow/SpinRow.js.map +1 -1
  430. package/dist/components/SpinRow/SpinRow.module.css.cjs +1 -1
  431. package/dist/components/SpinRow/SpinRow.module.css.cjs.map +1 -1
  432. package/dist/components/SpinRow/SpinRow.module.css.js +9 -9
  433. package/dist/components/SpinRow/SpinRow.module.css.js.map +1 -1
  434. package/dist/components/SpinRow/index.d.ts +1 -1
  435. package/dist/components/Spinner/Spinner.cjs.map +1 -1
  436. package/dist/components/Spinner/Spinner.d.ts +1 -1
  437. package/dist/components/Spinner/Spinner.js.map +1 -1
  438. package/dist/components/Spinner/Spinner.module.css.cjs +1 -1
  439. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -1
  440. package/dist/components/Spinner/Spinner.module.css.js +5 -5
  441. package/dist/components/Spinner/Spinner.module.css.js.map +1 -1
  442. package/dist/components/Spinner/index.d.ts +1 -1
  443. package/dist/components/SplitButton/SplitButton.cjs.map +1 -1
  444. package/dist/components/SplitButton/SplitButton.d.ts +2 -2
  445. package/dist/components/SplitButton/SplitButton.js.map +1 -1
  446. package/dist/components/SplitButton/SplitButton.module.css.cjs +1 -1
  447. package/dist/components/SplitButton/SplitButton.module.css.cjs.map +1 -1
  448. package/dist/components/SplitButton/SplitButton.module.css.js +10 -10
  449. package/dist/components/SplitButton/SplitButton.module.css.js.map +1 -1
  450. package/dist/components/SplitButton/index.d.ts +1 -1
  451. package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -1
  452. package/dist/components/StatusBadge/StatusBadge.d.ts +1 -1
  453. package/dist/components/StatusBadge/StatusBadge.js.map +1 -1
  454. package/dist/components/StatusBadge/index.d.ts +1 -1
  455. package/dist/components/StatusPage/StatusPage.cjs.map +1 -1
  456. package/dist/components/StatusPage/StatusPage.d.ts +1 -1
  457. package/dist/components/StatusPage/StatusPage.js.map +1 -1
  458. package/dist/components/StatusPage/index.d.ts +1 -1
  459. package/dist/components/Switch/Switch.cjs.map +1 -1
  460. package/dist/components/Switch/Switch.d.ts +2 -2
  461. package/dist/components/Switch/Switch.js.map +1 -1
  462. package/dist/components/Switch/Switch.module.css.cjs +1 -1
  463. package/dist/components/Switch/Switch.module.css.cjs.map +1 -1
  464. package/dist/components/Switch/Switch.module.css.js +1 -1
  465. package/dist/components/Switch/Switch.module.css.js.map +1 -1
  466. package/dist/components/Switch/index.d.ts +1 -1
  467. package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -1
  468. package/dist/components/SwitchRow/SwitchRow.d.ts +1 -1
  469. package/dist/components/SwitchRow/SwitchRow.js.map +1 -1
  470. package/dist/components/SwitchRow/SwitchRow.module.css.cjs +1 -1
  471. package/dist/components/SwitchRow/SwitchRow.module.css.cjs.map +1 -1
  472. package/dist/components/SwitchRow/SwitchRow.module.css.js +9 -9
  473. package/dist/components/SwitchRow/SwitchRow.module.css.js.map +1 -1
  474. package/dist/components/SwitchRow/index.d.ts +1 -1
  475. package/dist/components/Tabs/TabBar.cjs +1 -1
  476. package/dist/components/Tabs/TabBar.cjs.map +1 -1
  477. package/dist/components/Tabs/TabBar.d.ts +2 -2
  478. package/dist/components/Tabs/TabBar.js +8 -8
  479. package/dist/components/Tabs/TabBar.js.map +1 -1
  480. package/dist/components/Tabs/TabItem.cjs.map +1 -1
  481. package/dist/components/Tabs/TabItem.d.ts +1 -1
  482. package/dist/components/Tabs/TabItem.js.map +1 -1
  483. package/dist/components/Tabs/TabPanel.cjs +1 -1
  484. package/dist/components/Tabs/TabPanel.cjs.map +1 -1
  485. package/dist/components/Tabs/TabPanel.js +0 -1
  486. package/dist/components/Tabs/TabPanel.js.map +1 -1
  487. package/dist/components/Tabs/Tabs.module.css.cjs +1 -1
  488. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -1
  489. package/dist/components/Tabs/Tabs.module.css.js +10 -10
  490. package/dist/components/Tabs/Tabs.module.css.js.map +1 -1
  491. package/dist/components/Tabs/index.d.ts +3 -3
  492. package/dist/components/TerminalView/TerminalView.cjs +1 -1
  493. package/dist/components/TerminalView/TerminalView.cjs.map +1 -1
  494. package/dist/components/TerminalView/TerminalView.d.ts +1 -1
  495. package/dist/components/TerminalView/TerminalView.js +1 -1
  496. package/dist/components/TerminalView/TerminalView.js.map +1 -1
  497. package/dist/components/TerminalView/index.d.ts +1 -1
  498. package/dist/components/Text/Text.cjs.map +1 -1
  499. package/dist/components/Text/Text.d.ts +2 -2
  500. package/dist/components/Text/Text.js.map +1 -1
  501. package/dist/components/Text/index.d.ts +1 -1
  502. package/dist/components/TextField/TextField.cjs.map +1 -1
  503. package/dist/components/TextField/TextField.d.ts +1 -1
  504. package/dist/components/TextField/TextField.js.map +1 -1
  505. package/dist/components/TextField/TextField.module.css.cjs +1 -1
  506. package/dist/components/TextField/TextField.module.css.cjs.map +1 -1
  507. package/dist/components/TextField/TextField.module.css.js +7 -7
  508. package/dist/components/TextField/TextField.module.css.js.map +1 -1
  509. package/dist/components/TextField/index.d.ts +1 -1
  510. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  511. package/dist/components/Timeline/Timeline.d.ts +2 -2
  512. package/dist/components/Timeline/Timeline.js.map +1 -1
  513. package/dist/components/Timeline/index.d.ts +1 -1
  514. package/dist/components/Toast/Toast.cjs +1 -1
  515. package/dist/components/Toast/Toast.cjs.map +1 -1
  516. package/dist/components/Toast/Toast.d.ts +1 -1
  517. package/dist/components/Toast/Toast.js +39 -35
  518. package/dist/components/Toast/Toast.js.map +1 -1
  519. package/dist/components/Toast/Toast.module.css.cjs +1 -1
  520. package/dist/components/Toast/Toast.module.css.cjs.map +1 -1
  521. package/dist/components/Toast/Toast.module.css.js +2 -2
  522. package/dist/components/Toast/Toast.module.css.js.map +1 -1
  523. package/dist/components/Toast/Toaster.cjs.map +1 -1
  524. package/dist/components/Toast/Toaster.d.ts +1 -1
  525. package/dist/components/Toast/Toaster.js.map +1 -1
  526. package/dist/components/Toast/index.d.ts +2 -2
  527. package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -1
  528. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
  529. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -2
  530. package/dist/components/ToggleGroup/ToggleGroup.js +8 -8
  531. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  532. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +1 -1
  533. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -1
  534. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +6 -6
  535. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -1
  536. package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  537. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
  538. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
  539. package/dist/components/ToggleGroup/index.d.ts +2 -2
  540. package/dist/components/Toolbar/Spacer.cjs.map +1 -1
  541. package/dist/components/Toolbar/Spacer.d.ts +1 -2
  542. package/dist/components/Toolbar/Spacer.js.map +1 -1
  543. package/dist/components/Toolbar/Toolbar.cjs.map +1 -1
  544. package/dist/components/Toolbar/Toolbar.js.map +1 -1
  545. package/dist/components/Toolbar/index.d.ts +3 -3
  546. package/dist/components/Toolbar.cjs +1 -1
  547. package/dist/components/Toolbar.js +3 -3
  548. package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -1
  549. package/dist/components/ToolbarView/ToolbarView.js.map +1 -1
  550. package/dist/components/ToolbarView/index.d.ts +1 -1
  551. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  552. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  553. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  554. package/dist/components/Tooltip/Tooltip.js +4 -4
  555. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/components/Tooltip/Tooltip.module.css.cjs +1 -1
  557. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -1
  558. package/dist/components/Tooltip/Tooltip.module.css.js +6 -6
  559. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -1
  560. package/dist/components/Tooltip/index.d.ts +1 -1
  561. package/dist/components/ViewSwitcher/ViewSwitcher.cjs +1 -1
  562. package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -1
  563. package/dist/components/ViewSwitcher/ViewSwitcher.d.ts +2 -2
  564. package/dist/components/ViewSwitcher/ViewSwitcher.js +8 -8
  565. package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -1
  566. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs +1 -1
  567. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs.map +1 -1
  568. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js +5 -5
  569. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js.map +1 -1
  570. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -1
  571. package/dist/components/ViewSwitcher/ViewSwitcherItem.d.ts +1 -1
  572. package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -1
  573. package/dist/components/ViewSwitcher/index.d.ts +2 -2
  574. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -1
  575. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -1
  576. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs +1 -1
  577. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs.map +1 -1
  578. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js +1 -1
  579. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js.map +1 -1
  580. package/dist/components/ViewSwitcherBar/index.d.ts +1 -1
  581. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +1 -1
  582. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -1
  583. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.d.ts +2 -2
  584. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +8 -8
  585. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -1
  586. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs +1 -1
  587. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs.map +1 -1
  588. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js +14 -14
  589. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js.map +1 -1
  590. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -1
  591. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.d.ts +1 -1
  592. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -1
  593. package/dist/components/ViewSwitcherSidebar/index.d.ts +2 -2
  594. package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -1
  595. package/dist/components/WindowTitle/WindowTitle.js.map +1 -1
  596. package/dist/components/WindowTitle/index.d.ts +1 -1
  597. package/dist/components/WrapBox/WrapBox.cjs.map +1 -1
  598. package/dist/components/WrapBox/WrapBox.d.ts +2 -2
  599. package/dist/components/WrapBox/WrapBox.js.map +1 -1
  600. package/dist/components/WrapBox/index.d.ts +1 -1
  601. package/dist/hooks/index.d.ts +3 -3
  602. package/dist/hooks/useBreakpoint.cjs +1 -1
  603. package/dist/hooks/useBreakpoint.cjs.map +1 -1
  604. package/dist/hooks/useBreakpoint.js +12 -12
  605. package/dist/hooks/useBreakpoint.js.map +1 -1
  606. package/dist/index.cjs +1 -1
  607. package/dist/index.d.ts +153 -153
  608. package/dist/index.js +5 -5
  609. package/dist/style.css +1 -1
  610. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ExpanderRow.js","names":[],"sources":["../../../src/components/ExpanderRow/ExpanderRow.tsx"],"sourcesContent":["import { useState, Children, useId, type HTMLAttributes, type ReactNode } from \"react\";\nimport { Separator } from \"../Separator\";\nimport styles from \"./ExpanderRow.module.css\";\n\nexport interface ExpanderRowProps extends HTMLAttributes<HTMLDivElement> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge of the header row. */\n leading?: ReactNode;\n /**\n * Widget placed at the trailing edge of the header row, before the chevron\n * (e.g. a value label or a Switch). Stop event propagation inside it so the\n * row's toggle isn't triggered.\n */\n trailing?: ReactNode;\n /**\n * Nested rows revealed when expanded. Use `ActionRow`, `ButtonRow`, or any\n * row-shaped element — separators are inserted automatically.\n */\n children?: ReactNode;\n /** Controlled expanded state. */\n expanded?: boolean;\n /** Initial expanded state when uncontrolled. Defaults to `false`. */\n defaultExpanded?: boolean;\n /** Called when the expanded state changes. */\n onExpandedChange?: (expanded: boolean) => void;\n}\n\n/**\n * Collapsible `ActionRow` that reveals nested rows on activation.\n *\n * Mirrors `AdwExpanderRow` — the header row toggles a reveal animation exposing\n * child rows. Supports both controlled and uncontrolled expand state.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ExpanderRow.html\n */\nexport function ExpanderRow({\n title,\n subtitle,\n leading,\n trailing,\n children,\n expanded: controlledExpanded,\n defaultExpanded = false,\n onExpandedChange,\n className,\n ...props\n}: ExpanderRowProps) {\n const isControlled = controlledExpanded !== undefined;\n const [uncontrolledExpanded, setUncontrolledExpanded] = useState(defaultExpanded);\n const expanded = isControlled ? controlledExpanded : uncontrolledExpanded;\n\n const panelId = useId();\n const headerId = useId();\n\n const toggle = () => {\n const next = !expanded;\n if (!isControlled) setUncontrolledExpanded(next);\n onExpandedChange?.(next);\n };\n\n const childItems = Children.toArray(children).filter(Boolean);\n\n return (\n <div\n className={[styles.expanderRow, expanded ? styles.expanded : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {/* ─── Header (toggle button) ─────────────────────────────────────── */}\n <button\n id={headerId}\n className={styles.header}\n aria-expanded={expanded}\n aria-controls={panelId}\n onClick={toggle}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {trailing && <span className={styles.trailing}>{trailing}</span>}\n\n <span className={[styles.chevronWrap, expanded ? styles.chevronOpen : null].filter(Boolean).join(\" \")} aria-hidden=\"true\">\n <svg className={styles.chevron} width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" focusable=\"false\">\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 </span>\n </button>\n\n {/* ─── Reveal panel ───────────────────────────────────────────────── */}\n <div\n id={panelId}\n role=\"region\"\n aria-labelledby={headerId}\n className={styles.panel}\n >\n <div className={styles.panelInner}>\n {childItems.map((child, i) => (\n <div key={i} className={styles.childItem}>\n <Separator aria-hidden=\"true\" />\n {child}\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAsCA,SAAgB,EAAY,EAC1B,UACA,aACA,YACA,aACA,aACA,UAAU,GACV,qBAAkB,IAClB,qBACA,cACA,GAAG,KACgB;CACnB,IAAM,IAAe,MAAuB,KAAA,GACtC,CAAC,GAAsB,KAA2B,EAAS,EAAgB,EAC3E,IAAW,IAAe,IAAqB,GAE/C,IAAU,GAAO,EACjB,IAAW,GAAO,EAElB,UAAe;EACnB,IAAM,IAAO,CAAC;AAEd,EADK,KAAc,EAAwB,EAAK,EAChD,IAAmB,EAAK;IAGpB,IAAa,EAAS,QAAQ,EAAS,CAAC,OAAO,QAAQ;AAE7D,QACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAa,IAAW,EAAO,WAAW;GAAM;GAAU,CAC1E,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN,CAOE,kBAAC,UAAD;GACE,IAAI;GACJ,WAAW,EAAO;GAClB,iBAAe;GACf,iBAAe;GACf,SAAS;aALX;IAOG,KAAW,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAU;KAAe,CAAA;IAE7D,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAxB,CACE,kBAAC,QAAD;MAAM,WAAW,EAAO;gBAAQ;MAAa,CAAA,EAC5C,KAAY,kBAAC,QAAD;MAAM,WAAW,EAAO;gBAAW;MAAgB,CAAA,CAC3D;;IAEN,KAAY,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAW;KAAgB,CAAA;IAEhE,kBAAC,QAAD;KAAM,WAAW,CAAC,EAAO,aAAa,IAAW,EAAO,cAAc,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;KAAE,eAAY;eACjH,kBAAC,OAAD;MAAK,WAAW,EAAO;MAAS,OAAM;MAAK,QAAO;MAAK,SAAQ;MAAY,WAAU;gBACnF,kBAAC,QAAD;OACE,GAAE;OACF,MAAK;OACL,QAAO;OACP,aAAY;OACZ,eAAc;OACd,gBAAe;OACf,CAAA;MACE,CAAA;KACD,CAAA;IACA;MAGT,kBAAC,OAAD;GACE,IAAI;GACJ,MAAK;GACL,mBAAiB;GACjB,WAAW,EAAO;aAElB,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB,EAAW,KAAK,GAAO,MACtB,kBAAC,OAAD;KAAa,WAAW,EAAO;eAA/B,CACE,kBAAC,GAAD,EAAW,eAAY,QAAS,CAAA,EAC/B,EACG;OAHI,EAGJ,CACN;IACE,CAAA;GACF,CAAA,CACF"}
1
+ {"version":3,"file":"ExpanderRow.js","names":[],"sources":["../../../src/components/ExpanderRow/ExpanderRow.tsx"],"sourcesContent":["import { Children, type HTMLAttributes, type ReactNode, useId, useState } from 'react';\n\nimport { Separator } from '../Separator';\n\nimport styles from './ExpanderRow.module.css';\n\nexport interface ExpanderRowProps extends HTMLAttributes<HTMLDivElement> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge of the header row. */\n leading?: ReactNode;\n /**\n * Widget placed at the trailing edge of the header row, before the chevron\n * (e.g. a value label or a Switch). Stop event propagation inside it so the\n * row's toggle isn't triggered.\n */\n trailing?: ReactNode;\n /**\n * Nested rows revealed when expanded. Use `ActionRow`, `ButtonRow`, or any\n * row-shaped element — separators are inserted automatically.\n */\n children?: ReactNode;\n /** Controlled expanded state. */\n expanded?: boolean;\n /** Initial expanded state when uncontrolled. Defaults to `false`. */\n defaultExpanded?: boolean;\n /** Called when the expanded state changes. */\n onExpandedChange?: (expanded: boolean) => void;\n}\n\n/**\n * Collapsible `ActionRow` that reveals nested rows on activation.\n *\n * Mirrors `AdwExpanderRow` — the header row toggles a reveal animation exposing\n * child rows. Supports both controlled and uncontrolled expand state.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ExpanderRow.html\n */\nexport function ExpanderRow({\n title,\n subtitle,\n leading,\n trailing,\n children,\n expanded: controlledExpanded,\n defaultExpanded = false,\n onExpandedChange,\n className,\n ...props\n}: ExpanderRowProps) {\n const isControlled = controlledExpanded !== undefined;\n const [uncontrolledExpanded, setUncontrolledExpanded] = useState(defaultExpanded);\n const expanded = isControlled ? controlledExpanded : uncontrolledExpanded;\n\n const panelId = useId();\n const headerId = useId();\n\n const toggle = () => {\n const next = !expanded;\n\n if (!isControlled) {\n setUncontrolledExpanded(next);\n }\n\n onExpandedChange?.(next);\n };\n\n const childItems = Children.toArray(children).filter(Boolean);\n\n return (\n <div\n className={[styles.expanderRow, expanded ? styles.expanded : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {/* ─── Header (toggle button) ─────────────────────────────────────── */}\n <button\n id={headerId}\n className={styles.header}\n aria-expanded={expanded}\n aria-controls={panelId}\n onClick={toggle}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {trailing && <span className={styles.trailing}>{trailing}</span>}\n\n <span\n className={[styles.chevronWrap, expanded ? styles.chevronOpen : null]\n .filter(Boolean)\n .join(' ')}\n aria-hidden=\"true\"\n >\n <svg\n className={styles.chevron}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\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 </span>\n </button>\n\n {/* ─── Reveal panel ───────────────────────────────────────────────── */}\n <div id={panelId} role=\"region\" aria-labelledby={headerId} className={styles.panel}>\n <div className={styles.panelInner}>\n {childItems.map((child, i) => (\n <div key={i} className={styles.childItem}>\n <Separator aria-hidden=\"true\" />\n {child}\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAwCA,SAAgB,EAAY,EAC1B,UACA,aACA,YACA,aACA,aACA,UAAU,GACV,qBAAkB,IAClB,qBACA,cACA,GAAG,KACgB;CACnB,IAAM,IAAe,MAAuB,KAAA,GACtC,CAAC,GAAsB,KAA2B,EAAS,EAAgB,EAC3E,IAAW,IAAe,IAAqB,GAE/C,IAAU,GAAO,EACjB,IAAW,GAAO,EAElB,UAAe;EACnB,IAAM,IAAO,CAAC;AAMd,EAJK,KACH,EAAwB,EAAK,EAG/B,IAAmB,EAAK;IAGpB,IAAa,EAAS,QAAQ,EAAS,CAAC,OAAO,QAAQ;AAE7D,QACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAa,IAAW,EAAO,WAAW;GAAM;GAAU,CAC1E,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN,CAOE,kBAAC,UAAD;GACE,IAAI;GACJ,WAAW,EAAO;GAClB,iBAAe;GACf,iBAAe;GACf,SAAS;aALX;IAOG,KAAW,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAU;KAAe,CAAA;IAE7D,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAxB,CACE,kBAAC,QAAD;MAAM,WAAW,EAAO;gBAAQ;MAAa,CAAA,EAC5C,KAAY,kBAAC,QAAD;MAAM,WAAW,EAAO;gBAAW;MAAgB,CAAA,CAC3D;;IAEN,KAAY,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAW;KAAgB,CAAA;IAEhE,kBAAC,QAAD;KACE,WAAW,CAAC,EAAO,aAAa,IAAW,EAAO,cAAc,KAAK,CAClE,OAAO,QAAQ,CACf,KAAK,IAAI;KACZ,eAAY;eAEZ,kBAAC,OAAD;MACE,WAAW,EAAO;MAClB,OAAM;MACN,QAAO;MACP,SAAQ;MACR,WAAU;gBAEV,kBAAC,QAAD;OACE,GAAE;OACF,MAAK;OACL,QAAO;OACP,aAAY;OACZ,eAAc;OACd,gBAAe;OACf,CAAA;MACE,CAAA;KACD,CAAA;IACA;MAGT,kBAAC,OAAD;GAAK,IAAI;GAAS,MAAK;GAAS,mBAAiB;GAAU,WAAW,EAAO;aAC3E,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB,EAAW,KAAK,GAAO,MACtB,kBAAC,OAAD;KAAa,WAAW,EAAO;eAA/B,CACE,kBAAC,GAAD,EAAW,eAAY,QAAS,CAAA,EAC/B,EACG;OAHI,EAGJ,CACN;IACE,CAAA;GACF,CAAA,CACF"}
@@ -1,2 +1,2 @@
1
- var e={expanderRow:`_expanderRow_1wh8c_3`,header:`_header_1wh8c_11`,leading:`_leading_1wh8c_55`,content:`_content_1wh8c_64`,title:`_title_1wh8c_72`,subtitle:`_subtitle_1wh8c_83`,trailing:`_trailing_1wh8c_97`,chevronWrap:`_chevronWrap_1wh8c_106`,chevronOpen:`_chevronOpen_1wh8c_115`,chevron:`_chevron_1wh8c_106`,panel:`_panel_1wh8c_125`,expanded:`_expanded_1wh8c_131`,panelInner:`_panelInner_1wh8c_135`,childItem:`_childItem_1wh8c_142`};exports.default=e;
1
+ var e={expanderRow:`_expanderRow_ye1vu_3`,header:`_header_ye1vu_11`,leading:`_leading_ye1vu_55`,content:`_content_ye1vu_64`,title:`_title_ye1vu_72`,subtitle:`_subtitle_ye1vu_83`,trailing:`_trailing_ye1vu_97`,chevronWrap:`_chevronWrap_ye1vu_106`,chevronOpen:`_chevronOpen_ye1vu_115`,chevron:`_chevron_ye1vu_106`,panel:`_panel_ye1vu_125`,expanded:`_expanded_ye1vu_131`,panelInner:`_panelInner_ye1vu_135`,childItem:`_childItem_ye1vu_142`};exports.default=e;
2
2
  //# sourceMappingURL=ExpanderRow.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpanderRow.module.css.cjs","names":[],"sources":["../../../src/components/ExpanderRow/ExpanderRow.module.css"],"sourcesContent":["/* ─── Wrapper ───────────────────────────────────────────────────────────────── */\n\n.expanderRow {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* ─── Header button ─────────────────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--gnome-space-2, 12px);\n padding: var(--gnome-space-2, 12px) var(--gnome-space-4, 24px);\n min-height: 52px;\n width: 100%;\n\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n border: none;\n font: inherit;\n outline: none;\n cursor: pointer;\n text-align: start;\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n\n transition: background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.header:hover {\n background-color: var(--gnome-hover-overlay);\n}\n\n.header:active {\n background-color: var(--gnome-active-overlay);\n}\n\n.header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 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.header:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Leading ───────────────────────────────────────────────────────────────── */\n\n.leading {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Text content ──────────────────────────────────────────────────────────── */\n\n.content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 2px;\n}\n\n.title {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.subtitle {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\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.55));\n opacity: var(--gnome-opacity-dim, 0.55);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Trailing ──────────────────────────────────────────────────────────────── */\n\n.trailing {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Chevron ───────────────────────────────────────────────────────────────── */\n\n.chevronWrap {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.55));\n opacity: 0.55;\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.chevronOpen {\n transform: rotate(180deg);\n}\n\n.chevron {\n display: block;\n}\n\n/* ─── Reveal panel (CSS grid height animation) ──────────────────────────────── */\n\n.panel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--gnome-duration-normal, 200ms) var(--gnome-easing-default);\n}\n\n.expanded .panel {\n grid-template-rows: 1fr;\n}\n\n.panelInner {\n overflow: hidden;\n min-height: 0;\n}\n\n/* ─── Child row wrapper + divider ───────────────────────────────────────────── */\n\n.childItem {\n display: flex;\n flex-direction: column;\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4),\n inset 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px) + 1px)\n var(--gnome-window-bg-color, #fafafa);\n }\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n\n .chevronWrap {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ExpanderRow.module.css.cjs","names":[],"sources":["../../../src/components/ExpanderRow/ExpanderRow.module.css"],"sourcesContent":["/* ─── Wrapper ───────────────────────────────────────────────────────────────── */\n\n.expanderRow {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* ─── Header button ─────────────────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--gnome-space-2, 12px);\n padding: var(--gnome-space-2, 12px) var(--gnome-space-4, 24px);\n min-height: 52px;\n width: 100%;\n\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n border: none;\n font: inherit;\n outline: none;\n cursor: pointer;\n text-align: start;\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n\n transition: background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.header:hover {\n background-color: var(--gnome-hover-overlay);\n}\n\n.header:active {\n background-color: var(--gnome-active-overlay);\n}\n\n.header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 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.header:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Leading ───────────────────────────────────────────────────────────────── */\n\n.leading {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Text content ──────────────────────────────────────────────────────────── */\n\n.content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 2px;\n}\n\n.title {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.subtitle {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\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.55));\n opacity: var(--gnome-opacity-dim, 0.55);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Trailing ──────────────────────────────────────────────────────────────── */\n\n.trailing {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Chevron ───────────────────────────────────────────────────────────────── */\n\n.chevronWrap {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.55));\n opacity: 0.55;\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.chevronOpen {\n transform: rotate(180deg);\n}\n\n.chevron {\n display: block;\n}\n\n/* ─── Reveal panel (CSS grid height animation) ──────────────────────────────── */\n\n.panel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--gnome-duration-normal, 200ms) var(--gnome-easing-default);\n}\n\n.expanded .panel {\n grid-template-rows: 1fr;\n}\n\n.panelInner {\n overflow: hidden;\n min-height: 0;\n}\n\n/* ─── Child row wrapper + divider ───────────────────────────────────────────── */\n\n.childItem {\n display: flex;\n flex-direction: column;\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4),\n inset 0 0 0\n calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px) + 1px)\n var(--gnome-window-bg-color, #fafafa);\n }\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n\n .chevronWrap {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,18 +1,18 @@
1
1
  var e = {
2
- expanderRow: "_expanderRow_1wh8c_3",
3
- header: "_header_1wh8c_11",
4
- leading: "_leading_1wh8c_55",
5
- content: "_content_1wh8c_64",
6
- title: "_title_1wh8c_72",
7
- subtitle: "_subtitle_1wh8c_83",
8
- trailing: "_trailing_1wh8c_97",
9
- chevronWrap: "_chevronWrap_1wh8c_106",
10
- chevronOpen: "_chevronOpen_1wh8c_115",
11
- chevron: "_chevron_1wh8c_106",
12
- panel: "_panel_1wh8c_125",
13
- expanded: "_expanded_1wh8c_131",
14
- panelInner: "_panelInner_1wh8c_135",
15
- childItem: "_childItem_1wh8c_142"
2
+ expanderRow: "_expanderRow_ye1vu_3",
3
+ header: "_header_ye1vu_11",
4
+ leading: "_leading_ye1vu_55",
5
+ content: "_content_ye1vu_64",
6
+ title: "_title_ye1vu_72",
7
+ subtitle: "_subtitle_ye1vu_83",
8
+ trailing: "_trailing_ye1vu_97",
9
+ chevronWrap: "_chevronWrap_ye1vu_106",
10
+ chevronOpen: "_chevronOpen_ye1vu_115",
11
+ chevron: "_chevron_ye1vu_106",
12
+ panel: "_panel_ye1vu_125",
13
+ expanded: "_expanded_ye1vu_131",
14
+ panelInner: "_panelInner_ye1vu_135",
15
+ childItem: "_childItem_ye1vu_142"
16
16
  };
17
17
  //#endregion
18
18
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ExpanderRow.module.css.js","names":[],"sources":["../../../src/components/ExpanderRow/ExpanderRow.module.css"],"sourcesContent":["/* ─── Wrapper ───────────────────────────────────────────────────────────────── */\n\n.expanderRow {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* ─── Header button ─────────────────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--gnome-space-2, 12px);\n padding: var(--gnome-space-2, 12px) var(--gnome-space-4, 24px);\n min-height: 52px;\n width: 100%;\n\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n border: none;\n font: inherit;\n outline: none;\n cursor: pointer;\n text-align: start;\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n\n transition: background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.header:hover {\n background-color: var(--gnome-hover-overlay);\n}\n\n.header:active {\n background-color: var(--gnome-active-overlay);\n}\n\n.header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 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.header:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Leading ───────────────────────────────────────────────────────────────── */\n\n.leading {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Text content ──────────────────────────────────────────────────────────── */\n\n.content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 2px;\n}\n\n.title {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.subtitle {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\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.55));\n opacity: var(--gnome-opacity-dim, 0.55);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Trailing ──────────────────────────────────────────────────────────────── */\n\n.trailing {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Chevron ───────────────────────────────────────────────────────────────── */\n\n.chevronWrap {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.55));\n opacity: 0.55;\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.chevronOpen {\n transform: rotate(180deg);\n}\n\n.chevron {\n display: block;\n}\n\n/* ─── Reveal panel (CSS grid height animation) ──────────────────────────────── */\n\n.panel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--gnome-duration-normal, 200ms) var(--gnome-easing-default);\n}\n\n.expanded .panel {\n grid-template-rows: 1fr;\n}\n\n.panelInner {\n overflow: hidden;\n min-height: 0;\n}\n\n/* ─── Child row wrapper + divider ───────────────────────────────────────────── */\n\n.childItem {\n display: flex;\n flex-direction: column;\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4),\n inset 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px) + 1px)\n var(--gnome-window-bg-color, #fafafa);\n }\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n\n .chevronWrap {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ExpanderRow.module.css.js","names":[],"sources":["../../../src/components/ExpanderRow/ExpanderRow.module.css"],"sourcesContent":["/* ─── Wrapper ───────────────────────────────────────────────────────────────── */\n\n.expanderRow {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* ─── Header button ─────────────────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--gnome-space-2, 12px);\n padding: var(--gnome-space-2, 12px) var(--gnome-space-4, 24px);\n min-height: 52px;\n width: 100%;\n\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n border: none;\n font: inherit;\n outline: none;\n cursor: pointer;\n text-align: start;\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n\n transition: background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.header:hover {\n background-color: var(--gnome-hover-overlay);\n}\n\n.header:active {\n background-color: var(--gnome-active-overlay);\n}\n\n.header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 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.header:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Leading ───────────────────────────────────────────────────────────────── */\n\n.leading {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Text content ──────────────────────────────────────────────────────────── */\n\n.content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n gap: 2px;\n}\n\n.title {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-card-fg-color, rgba(0, 0, 0, 0.8));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.subtitle {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\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.55));\n opacity: var(--gnome-opacity-dim, 0.55);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Trailing ──────────────────────────────────────────────────────────────── */\n\n.trailing {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Chevron ───────────────────────────────────────────────────────────────── */\n\n.chevronWrap {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.55));\n opacity: 0.55;\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.chevronOpen {\n transform: rotate(180deg);\n}\n\n.chevron {\n display: block;\n}\n\n/* ─── Reveal panel (CSS grid height animation) ──────────────────────────────── */\n\n.panel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--gnome-duration-normal, 200ms) var(--gnome-easing-default);\n}\n\n.expanded .panel {\n grid-template-rows: 1fr;\n}\n\n.panelInner {\n overflow: hidden;\n min-height: 0;\n}\n\n/* ─── Child row wrapper + divider ───────────────────────────────────────────── */\n\n.childItem {\n display: flex;\n flex-direction: column;\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .header:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n inset 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4),\n inset 0 0 0\n calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px) + 1px)\n var(--gnome-window-bg-color, #fafafa);\n }\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n\n .chevronWrap {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- export { ExpanderRow } from './ExpanderRow';
2
1
  export type { ExpanderRowProps } from './ExpanderRow';
2
+ export { ExpanderRow } from './ExpanderRow';
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.cjs","names":[],"sources":["../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Footer.module.css\";\n\nexport interface FooterProps extends HTMLAttributes<HTMLElement> {\n /** Content placed at the leading (left) edge — links, copyright, etc. */\n start?: ReactNode;\n /** Content placed at the trailing (right) edge — actions, links, etc. */\n end?: ReactNode;\n /** Center content or arbitrary children. */\n children?: ReactNode;\n /**\n * When true the footer has no top border.\n * Use when the footer is separated from content by another visual boundary.\n */\n flat?: boolean;\n}\n\n/**\n * Bottom bar with leading/trailing slots and optional center content.\n *\n * Mirrors the `HeaderBar` pattern at the bottom of a view or window.\n * Accepts plain text, links, and arbitrary ReactNode in each slot.\n *\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function Footer({\n start,\n end,\n children,\n flat = false,\n className,\n ...props\n}: FooterProps) {\n return (\n <footer\n className={[styles.footer, flat ? styles.flat : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n <div className={styles.slot}>{start}</div>\n\n {children != null && (\n <div className={styles.center}>{children}</div>\n )}\n\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(\" \")}>\n {end}\n </div>\n </footer>\n );\n}\n"],"mappings":"8EAyBA,SAAgB,EAAO,CACrB,QACA,MACA,WACA,OAAO,GACP,YACA,GAAG,GACW,CACd,OACE,EAAA,EAAA,MAAC,SAAD,CACE,UAAW,CAAC,EAAA,QAAO,OAAQ,EAAO,EAAA,QAAO,KAAO,KAAM,EAAU,CAC7D,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAJN,EAME,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,cAAO,EAAY,CAAA,CAEzC,GAAY,OACX,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,OAAS,WAAe,CAAA,EAGjD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UACpE,EACG,CAAA,CACC"}
1
+ {"version":3,"file":"Footer.cjs","names":[],"sources":["../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Footer.module.css';\n\nexport interface FooterProps extends HTMLAttributes<HTMLElement> {\n /** Content placed at the leading (left) edge — links, copyright, etc. */\n start?: ReactNode;\n /** Content placed at the trailing (right) edge — actions, links, etc. */\n end?: ReactNode;\n /** Center content or arbitrary children. */\n children?: ReactNode;\n /**\n * When true the footer has no top border.\n * Use when the footer is separated from content by another visual boundary.\n */\n flat?: boolean;\n}\n\n/**\n * Bottom bar with leading/trailing slots and optional center content.\n *\n * Mirrors the `HeaderBar` pattern at the bottom of a view or window.\n * Accepts plain text, links, and arbitrary ReactNode in each slot.\n *\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function Footer({ start, end, children, flat = false, className, ...props }: FooterProps) {\n return (\n <footer\n className={[styles.footer, flat ? styles.flat : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n <div className={styles.slot}>{start}</div>\n\n {children !== null && children !== undefined && (\n <div className={styles.center}>{children}</div>\n )}\n\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(' ')}>{end}</div>\n </footer>\n );\n}\n"],"mappings":"8EA0BA,SAAgB,EAAO,CAAE,QAAO,MAAK,WAAU,OAAO,GAAO,YAAW,GAAG,GAAsB,CAC/F,OACE,EAAA,EAAA,MAAC,SAAD,CACE,UAAW,CAAC,EAAA,QAAO,OAAQ,EAAO,EAAA,QAAO,KAAO,KAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC1F,GAAI,WAFN,EAIE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,cAAO,EAAY,CAAA,CAEzC,GAAa,OACZ,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,OAAS,WAAe,CAAA,EAGjD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UAAG,EAAU,CAAA,CAC7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","names":[],"sources":["../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Footer.module.css\";\n\nexport interface FooterProps extends HTMLAttributes<HTMLElement> {\n /** Content placed at the leading (left) edge — links, copyright, etc. */\n start?: ReactNode;\n /** Content placed at the trailing (right) edge — actions, links, etc. */\n end?: ReactNode;\n /** Center content or arbitrary children. */\n children?: ReactNode;\n /**\n * When true the footer has no top border.\n * Use when the footer is separated from content by another visual boundary.\n */\n flat?: boolean;\n}\n\n/**\n * Bottom bar with leading/trailing slots and optional center content.\n *\n * Mirrors the `HeaderBar` pattern at the bottom of a view or window.\n * Accepts plain text, links, and arbitrary ReactNode in each slot.\n *\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function Footer({\n start,\n end,\n children,\n flat = false,\n className,\n ...props\n}: FooterProps) {\n return (\n <footer\n className={[styles.footer, flat ? styles.flat : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n <div className={styles.slot}>{start}</div>\n\n {children != null && (\n <div className={styles.center}>{children}</div>\n )}\n\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(\" \")}>\n {end}\n </div>\n </footer>\n );\n}\n"],"mappings":";;;AAyBA,SAAgB,EAAO,EACrB,UACA,QACA,aACA,UAAO,IACP,cACA,GAAG,KACW;AACd,QACE,kBAAC,UAAD;EACE,WAAW;GAAC,EAAO;GAAQ,IAAO,EAAO,OAAO;GAAM;GAAU,CAC7D,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN;GAME,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAO;IAAY,CAAA;GAEzC,KAAY,QACX,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAS;IAAe,CAAA;GAGjD,kBAAC,OAAD;IAAK,WAAW,CAAC,EAAO,MAAM,EAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cACpE;IACG,CAAA;GACC"}
1
+ {"version":3,"file":"Footer.js","names":[],"sources":["../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Footer.module.css';\n\nexport interface FooterProps extends HTMLAttributes<HTMLElement> {\n /** Content placed at the leading (left) edge — links, copyright, etc. */\n start?: ReactNode;\n /** Content placed at the trailing (right) edge — actions, links, etc. */\n end?: ReactNode;\n /** Center content or arbitrary children. */\n children?: ReactNode;\n /**\n * When true the footer has no top border.\n * Use when the footer is separated from content by another visual boundary.\n */\n flat?: boolean;\n}\n\n/**\n * Bottom bar with leading/trailing slots and optional center content.\n *\n * Mirrors the `HeaderBar` pattern at the bottom of a view or window.\n * Accepts plain text, links, and arbitrary ReactNode in each slot.\n *\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function Footer({ start, end, children, flat = false, className, ...props }: FooterProps) {\n return (\n <footer\n className={[styles.footer, flat ? styles.flat : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n <div className={styles.slot}>{start}</div>\n\n {children !== null && children !== undefined && (\n <div className={styles.center}>{children}</div>\n )}\n\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(' ')}>{end}</div>\n </footer>\n );\n}\n"],"mappings":";;;AA0BA,SAAgB,EAAO,EAAE,UAAO,QAAK,aAAU,UAAO,IAAO,cAAW,GAAG,KAAsB;AAC/F,QACE,kBAAC,UAAD;EACE,WAAW;GAAC,EAAO;GAAQ,IAAO,EAAO,OAAO;GAAM;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC1F,GAAI;YAFN;GAIE,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAO;IAAY,CAAA;GAEzC,KAAa,QACZ,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAS;IAAe,CAAA;GAGjD,kBAAC,OAAD;IAAK,WAAW,CAAC,EAAO,MAAM,EAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cAAG;IAAU,CAAA;GAC7E"}
@@ -1,2 +1,2 @@
1
- export { Footer } from './Footer';
2
1
  export type { FooterProps } from './Footer';
2
+ export { Footer } from './Footer';
@@ -1 +1 @@
1
- {"version":3,"file":"Frame.cjs","names":[],"sources":["../../../src/components/Frame/Frame.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Frame.module.css\";\n\nexport interface FrameProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\n/**\n * Simple bordered surface with border-radius but no background fill.\n *\n * Use to visually delimit a region without adding the elevated appearance\n * of a `Card`. Mirrors `GtkFrame` default styling and the libadwaita\n * `.frame` style class.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/style-classes.html#frame-style-class\n */\nexport function Frame({ children, className, ...props }: FrameProps) {\n return (\n <div\n className={[styles.frame, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"6EAgBA,SAAgB,EAAM,CAAE,WAAU,YAAW,GAAG,GAAqB,CACnE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,MAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC9D,GAAI,EAEH,WACG,CAAA"}
1
+ {"version":3,"file":"Frame.cjs","names":[],"sources":["../../../src/components/Frame/Frame.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Frame.module.css';\n\nexport interface FrameProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\n/**\n * Simple bordered surface with border-radius but no background fill.\n *\n * Use to visually delimit a region without adding the elevated appearance\n * of a `Card`. Mirrors `GtkFrame` default styling and the libadwaita\n * `.frame` style class.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/style-classes.html#frame-style-class\n */\nexport function Frame({ children, className, ...props }: FrameProps) {\n return (\n <div className={[styles.frame, className].filter(Boolean).join(' ')} {...props}>\n {children}\n </div>\n );\n}\n"],"mappings":"6EAiBA,SAAgB,EAAM,CAAE,WAAU,YAAW,GAAG,GAAqB,CACnE,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,MAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAE,GAAI,EACtE,WACG,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Frame.js","names":[],"sources":["../../../src/components/Frame/Frame.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Frame.module.css\";\n\nexport interface FrameProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\n/**\n * Simple bordered surface with border-radius but no background fill.\n *\n * Use to visually delimit a region without adding the elevated appearance\n * of a `Card`. Mirrors `GtkFrame` default styling and the libadwaita\n * `.frame` style class.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/style-classes.html#frame-style-class\n */\nexport function Frame({ children, className, ...props }: FrameProps) {\n return (\n <div\n className={[styles.frame, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;AAgBA,SAAgB,EAAM,EAAE,aAAU,cAAW,GAAG,KAAqB;AACnE,QACE,kBAAC,OAAD;EACE,WAAW,CAAC,EAAO,OAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC9D,GAAI;EAEH;EACG,CAAA"}
1
+ {"version":3,"file":"Frame.js","names":[],"sources":["../../../src/components/Frame/Frame.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Frame.module.css';\n\nexport interface FrameProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\n/**\n * Simple bordered surface with border-radius but no background fill.\n *\n * Use to visually delimit a region without adding the elevated appearance\n * of a `Card`. Mirrors `GtkFrame` default styling and the libadwaita\n * `.frame` style class.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/style-classes.html#frame-style-class\n */\nexport function Frame({ children, className, ...props }: FrameProps) {\n return (\n <div className={[styles.frame, className].filter(Boolean).join(' ')} {...props}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;AAiBA,SAAgB,EAAM,EAAE,aAAU,cAAW,GAAG,KAAqB;AACnE,QACE,kBAAC,OAAD;EAAK,WAAW,CAAC,EAAO,OAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAAE,GAAI;EACtE;EACG,CAAA"}
@@ -1,2 +1,2 @@
1
- export { Frame } from './Frame';
2
1
  export type { FrameProps } from './Frame';
2
+ export { Frame } from './Frame';
@@ -1 +1 @@
1
- {"version":3,"file":"GnomeContext.cjs","names":[],"sources":["../../../src/components/GnomeProvider/GnomeContext.ts"],"sourcesContent":["import { createContext, useContext, useMemo } from \"react\";\n\nexport type GnomeDir = \"ltr\" | \"rtl\";\nexport type GnomeColorScheme = \"light\" | \"dark\" | \"system\";\nexport type GnomeNamedAccentColor =\n | \"blue\"\n | \"green\"\n | \"yellow\"\n | \"orange\"\n | \"red\"\n | \"purple\"\n | \"brown\";\nexport type GnomeAccentColor = GnomeNamedAccentColor | (string & {});\n\nexport interface GnomeContextValue {\n locale: string | undefined;\n dir: GnomeDir;\n numberFormat: Intl.NumberFormatOptions | undefined;\n dateTimeFormat: Intl.DateTimeFormatOptions | undefined;\n colorScheme: GnomeColorScheme;\n resolvedColorScheme: \"light\" | \"dark\";\n accentColor: GnomeAccentColor;\n}\n\nexport const GnomeContext = createContext<GnomeContextValue>({\n locale: undefined,\n dir: \"ltr\",\n numberFormat: undefined,\n dateTimeFormat: undefined,\n colorScheme: \"system\",\n resolvedColorScheme: \"light\",\n accentColor: \"blue\",\n});\n\n/** Returns the locale set by the nearest `GnomeProvider`, or `undefined` to use the browser locale. */\nexport function useLocale(): string | undefined {\n return useContext(GnomeContext).locale;\n}\n\n/** Returns the text direction set by the nearest `GnomeProvider`. Defaults to `\"ltr\"`. */\nexport function useDir(): GnomeDir {\n return useContext(GnomeContext).dir;\n}\n\n/** Returns an `Intl.NumberFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useNumberFormatter(\n options?: Intl.NumberFormatOptions,\n): Intl.NumberFormat {\n const { locale, numberFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.NumberFormat(locale, { ...numberFormat, ...options }),\n [locale, numberFormat, options],\n );\n}\n\n/** Returns an `Intl.DateTimeFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useDateTimeFormatter(\n options?: Intl.DateTimeFormatOptions,\n): Intl.DateTimeFormat {\n const { locale, dateTimeFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.DateTimeFormat(locale, { ...dateTimeFormat, ...options }),\n [locale, dateTimeFormat, options],\n );\n}\n\n/** Returns the color scheme preference set by the nearest `GnomeProvider`. Defaults to `\"system\"`. */\nexport function useColorScheme(): GnomeColorScheme {\n return useContext(GnomeContext).colorScheme;\n}\n\n/** Returns the resolved color scheme (`\"light\"` or `\"dark\"`), accounting for the system preference when `colorScheme` is `\"system\"`. */\nexport function useResolvedColorScheme(): \"light\" | \"dark\" {\n return useContext(GnomeContext).resolvedColorScheme;\n}\n\n/** Returns the accent color set by the nearest `GnomeProvider`. Defaults to `\"blue\"`. */\nexport function useAccentColor(): GnomeAccentColor {\n return useContext(GnomeContext).accentColor;\n}\n"],"mappings":"0FAwBA,IAAa,GAAA,EAAA,EAAA,eAAgD,CAC3D,OAAQ,IAAA,GACR,IAAK,MACL,aAAc,IAAA,GACd,eAAgB,IAAA,GAChB,YAAa,SACb,oBAAqB,QACrB,YAAa,OACd,CAAC,CAGF,SAAgB,GAAgC,CAC9C,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,OAIlC,SAAgB,GAAmB,CACjC,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,IAIlC,SAAgB,EACd,EACmB,CACnB,GAAM,CAAE,SAAQ,iBAAA,EAAA,EAAA,YAA4B,EAAa,CAEzD,OAAA,EAAA,EAAA,aACQ,IAAI,KAAK,aAAa,EAAQ,CAAE,GAAG,EAAc,GAAG,EAAS,CAAC,CACpE,CAAC,EAAQ,EAAc,EAAQ,CAChC,CAIH,SAAgB,EACd,EACqB,CACrB,GAAM,CAAE,SAAQ,mBAAA,EAAA,EAAA,YAA8B,EAAa,CAE3D,OAAA,EAAA,EAAA,aACQ,IAAI,KAAK,eAAe,EAAQ,CAAE,GAAG,EAAgB,GAAG,EAAS,CAAC,CACxE,CAAC,EAAQ,EAAgB,EAAQ,CAClC,CAIH,SAAgB,GAAmC,CACjD,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,YAIlC,SAAgB,GAA2C,CACzD,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,oBAIlC,SAAgB,GAAmC,CACjD,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC"}
1
+ {"version":3,"file":"GnomeContext.cjs","names":[],"sources":["../../../src/components/GnomeProvider/GnomeContext.ts"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react';\n\nexport type GnomeDir = 'ltr' | 'rtl';\nexport type GnomeColorScheme = 'light' | 'dark' | 'system';\nexport type GnomeNamedAccentColor =\n | 'blue'\n | 'green'\n | 'yellow'\n | 'orange'\n | 'red'\n | 'purple'\n | 'brown';\nexport type GnomeAccentColor = GnomeNamedAccentColor | (string & {});\n\nexport interface GnomeContextValue {\n locale: string | undefined;\n dir: GnomeDir;\n numberFormat: Intl.NumberFormatOptions | undefined;\n dateTimeFormat: Intl.DateTimeFormatOptions | undefined;\n colorScheme: GnomeColorScheme;\n resolvedColorScheme: 'light' | 'dark';\n accentColor: GnomeAccentColor;\n}\n\nexport const GnomeContext = createContext<GnomeContextValue>({\n locale: undefined,\n dir: 'ltr',\n numberFormat: undefined,\n dateTimeFormat: undefined,\n colorScheme: 'system',\n resolvedColorScheme: 'light',\n accentColor: 'blue',\n});\n\n/** Returns the locale set by the nearest `GnomeProvider`, or `undefined` to use the browser locale. */\nexport function useLocale(): string | undefined {\n return useContext(GnomeContext).locale;\n}\n\n/** Returns the text direction set by the nearest `GnomeProvider`. Defaults to `\"ltr\"`. */\nexport function useDir(): GnomeDir {\n return useContext(GnomeContext).dir;\n}\n\n/** Returns an `Intl.NumberFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useNumberFormatter(options?: Intl.NumberFormatOptions): Intl.NumberFormat {\n const { locale, numberFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.NumberFormat(locale, { ...numberFormat, ...options }),\n [locale, numberFormat, options],\n );\n}\n\n/** Returns an `Intl.DateTimeFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useDateTimeFormatter(options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat {\n const { locale, dateTimeFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.DateTimeFormat(locale, { ...dateTimeFormat, ...options }),\n [locale, dateTimeFormat, options],\n );\n}\n\n/** Returns the color scheme preference set by the nearest `GnomeProvider`. Defaults to `\"system\"`. */\nexport function useColorScheme(): GnomeColorScheme {\n return useContext(GnomeContext).colorScheme;\n}\n\n/** Returns the resolved color scheme (`\"light\"` or `\"dark\"`), accounting for the system preference when `colorScheme` is `\"system\"`. */\nexport function useResolvedColorScheme(): 'light' | 'dark' {\n return useContext(GnomeContext).resolvedColorScheme;\n}\n\n/** Returns the accent color set by the nearest `GnomeProvider`. Defaults to `\"blue\"`. */\nexport function useAccentColor(): GnomeAccentColor {\n return useContext(GnomeContext).accentColor;\n}\n"],"mappings":"0FAwBA,IAAa,GAAA,EAAA,EAAA,eAAgD,CAC3D,OAAQ,IAAA,GACR,IAAK,MACL,aAAc,IAAA,GACd,eAAgB,IAAA,GAChB,YAAa,SACb,oBAAqB,QACrB,YAAa,OACd,CAAC,CAGF,SAAgB,GAAgC,CAC9C,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,OAIlC,SAAgB,GAAmB,CACjC,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,IAIlC,SAAgB,EAAmB,EAAuD,CACxF,GAAM,CAAE,SAAQ,iBAAA,EAAA,EAAA,YAA4B,EAAa,CAEzD,OAAA,EAAA,EAAA,aACQ,IAAI,KAAK,aAAa,EAAQ,CAAE,GAAG,EAAc,GAAG,EAAS,CAAC,CACpE,CAAC,EAAQ,EAAc,EAAQ,CAChC,CAIH,SAAgB,EAAqB,EAA2D,CAC9F,GAAM,CAAE,SAAQ,mBAAA,EAAA,EAAA,YAA8B,EAAa,CAE3D,OAAA,EAAA,EAAA,aACQ,IAAI,KAAK,eAAe,EAAQ,CAAE,GAAG,EAAgB,GAAG,EAAS,CAAC,CACxE,CAAC,EAAQ,EAAgB,EAAQ,CAClC,CAIH,SAAgB,GAAmC,CACjD,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,YAIlC,SAAgB,GAA2C,CACzD,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC,oBAIlC,SAAgB,GAAmC,CACjD,OAAA,EAAA,EAAA,YAAkB,EAAa,CAAC"}
@@ -1,6 +1,6 @@
1
- export type GnomeDir = "ltr" | "rtl";
2
- export type GnomeColorScheme = "light" | "dark" | "system";
3
- export type GnomeNamedAccentColor = "blue" | "green" | "yellow" | "orange" | "red" | "purple" | "brown";
1
+ export type GnomeDir = 'ltr' | 'rtl';
2
+ export type GnomeColorScheme = 'light' | 'dark' | 'system';
3
+ export type GnomeNamedAccentColor = 'blue' | 'green' | 'yellow' | 'orange' | 'red' | 'purple' | 'brown';
4
4
  export type GnomeAccentColor = GnomeNamedAccentColor | (string & {});
5
5
  export interface GnomeContextValue {
6
6
  locale: string | undefined;
@@ -8,7 +8,7 @@ export interface GnomeContextValue {
8
8
  numberFormat: Intl.NumberFormatOptions | undefined;
9
9
  dateTimeFormat: Intl.DateTimeFormatOptions | undefined;
10
10
  colorScheme: GnomeColorScheme;
11
- resolvedColorScheme: "light" | "dark";
11
+ resolvedColorScheme: 'light' | 'dark';
12
12
  accentColor: GnomeAccentColor;
13
13
  }
14
14
  export declare const GnomeContext: import('react').Context<GnomeContextValue>;
@@ -23,6 +23,6 @@ export declare function useDateTimeFormatter(options?: Intl.DateTimeFormatOption
23
23
  /** Returns the color scheme preference set by the nearest `GnomeProvider`. Defaults to `"system"`. */
24
24
  export declare function useColorScheme(): GnomeColorScheme;
25
25
  /** Returns the resolved color scheme (`"light"` or `"dark"`), accounting for the system preference when `colorScheme` is `"system"`. */
26
- export declare function useResolvedColorScheme(): "light" | "dark";
26
+ export declare function useResolvedColorScheme(): 'light' | 'dark';
27
27
  /** Returns the accent color set by the nearest `GnomeProvider`. Defaults to `"blue"`. */
28
28
  export declare function useAccentColor(): GnomeAccentColor;
@@ -1 +1 @@
1
- {"version":3,"file":"GnomeContext.js","names":[],"sources":["../../../src/components/GnomeProvider/GnomeContext.ts"],"sourcesContent":["import { createContext, useContext, useMemo } from \"react\";\n\nexport type GnomeDir = \"ltr\" | \"rtl\";\nexport type GnomeColorScheme = \"light\" | \"dark\" | \"system\";\nexport type GnomeNamedAccentColor =\n | \"blue\"\n | \"green\"\n | \"yellow\"\n | \"orange\"\n | \"red\"\n | \"purple\"\n | \"brown\";\nexport type GnomeAccentColor = GnomeNamedAccentColor | (string & {});\n\nexport interface GnomeContextValue {\n locale: string | undefined;\n dir: GnomeDir;\n numberFormat: Intl.NumberFormatOptions | undefined;\n dateTimeFormat: Intl.DateTimeFormatOptions | undefined;\n colorScheme: GnomeColorScheme;\n resolvedColorScheme: \"light\" | \"dark\";\n accentColor: GnomeAccentColor;\n}\n\nexport const GnomeContext = createContext<GnomeContextValue>({\n locale: undefined,\n dir: \"ltr\",\n numberFormat: undefined,\n dateTimeFormat: undefined,\n colorScheme: \"system\",\n resolvedColorScheme: \"light\",\n accentColor: \"blue\",\n});\n\n/** Returns the locale set by the nearest `GnomeProvider`, or `undefined` to use the browser locale. */\nexport function useLocale(): string | undefined {\n return useContext(GnomeContext).locale;\n}\n\n/** Returns the text direction set by the nearest `GnomeProvider`. Defaults to `\"ltr\"`. */\nexport function useDir(): GnomeDir {\n return useContext(GnomeContext).dir;\n}\n\n/** Returns an `Intl.NumberFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useNumberFormatter(\n options?: Intl.NumberFormatOptions,\n): Intl.NumberFormat {\n const { locale, numberFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.NumberFormat(locale, { ...numberFormat, ...options }),\n [locale, numberFormat, options],\n );\n}\n\n/** Returns an `Intl.DateTimeFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useDateTimeFormatter(\n options?: Intl.DateTimeFormatOptions,\n): Intl.DateTimeFormat {\n const { locale, dateTimeFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.DateTimeFormat(locale, { ...dateTimeFormat, ...options }),\n [locale, dateTimeFormat, options],\n );\n}\n\n/** Returns the color scheme preference set by the nearest `GnomeProvider`. Defaults to `\"system\"`. */\nexport function useColorScheme(): GnomeColorScheme {\n return useContext(GnomeContext).colorScheme;\n}\n\n/** Returns the resolved color scheme (`\"light\"` or `\"dark\"`), accounting for the system preference when `colorScheme` is `\"system\"`. */\nexport function useResolvedColorScheme(): \"light\" | \"dark\" {\n return useContext(GnomeContext).resolvedColorScheme;\n}\n\n/** Returns the accent color set by the nearest `GnomeProvider`. Defaults to `\"blue\"`. */\nexport function useAccentColor(): GnomeAccentColor {\n return useContext(GnomeContext).accentColor;\n}\n"],"mappings":";;AAwBA,IAAa,IAAe,EAAiC;CAC3D,QAAQ,KAAA;CACR,KAAK;CACL,cAAc,KAAA;CACd,gBAAgB,KAAA;CAChB,aAAa;CACb,qBAAqB;CACrB,aAAa;CACd,CAAC;AAGF,SAAgB,IAAgC;AAC9C,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,IAAmB;AACjC,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,EACd,GACmB;CACnB,IAAM,EAAE,WAAQ,oBAAiB,EAAW,EAAa;AAEzD,QAAO,QACC,IAAI,KAAK,aAAa,GAAQ;EAAE,GAAG;EAAc,GAAG;EAAS,CAAC,EACpE;EAAC;EAAQ;EAAc;EAAQ,CAChC;;AAIH,SAAgB,EACd,GACqB;CACrB,IAAM,EAAE,WAAQ,sBAAmB,EAAW,EAAa;AAE3D,QAAO,QACC,IAAI,KAAK,eAAe,GAAQ;EAAE,GAAG;EAAgB,GAAG;EAAS,CAAC,EACxE;EAAC;EAAQ;EAAgB;EAAQ,CAClC;;AAIH,SAAgB,IAAmC;AACjD,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,IAA2C;AACzD,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,IAAmC;AACjD,QAAO,EAAW,EAAa,CAAC"}
1
+ {"version":3,"file":"GnomeContext.js","names":[],"sources":["../../../src/components/GnomeProvider/GnomeContext.ts"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react';\n\nexport type GnomeDir = 'ltr' | 'rtl';\nexport type GnomeColorScheme = 'light' | 'dark' | 'system';\nexport type GnomeNamedAccentColor =\n | 'blue'\n | 'green'\n | 'yellow'\n | 'orange'\n | 'red'\n | 'purple'\n | 'brown';\nexport type GnomeAccentColor = GnomeNamedAccentColor | (string & {});\n\nexport interface GnomeContextValue {\n locale: string | undefined;\n dir: GnomeDir;\n numberFormat: Intl.NumberFormatOptions | undefined;\n dateTimeFormat: Intl.DateTimeFormatOptions | undefined;\n colorScheme: GnomeColorScheme;\n resolvedColorScheme: 'light' | 'dark';\n accentColor: GnomeAccentColor;\n}\n\nexport const GnomeContext = createContext<GnomeContextValue>({\n locale: undefined,\n dir: 'ltr',\n numberFormat: undefined,\n dateTimeFormat: undefined,\n colorScheme: 'system',\n resolvedColorScheme: 'light',\n accentColor: 'blue',\n});\n\n/** Returns the locale set by the nearest `GnomeProvider`, or `undefined` to use the browser locale. */\nexport function useLocale(): string | undefined {\n return useContext(GnomeContext).locale;\n}\n\n/** Returns the text direction set by the nearest `GnomeProvider`. Defaults to `\"ltr\"`. */\nexport function useDir(): GnomeDir {\n return useContext(GnomeContext).dir;\n}\n\n/** Returns an `Intl.NumberFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useNumberFormatter(options?: Intl.NumberFormatOptions): Intl.NumberFormat {\n const { locale, numberFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.NumberFormat(locale, { ...numberFormat, ...options }),\n [locale, numberFormat, options],\n );\n}\n\n/** Returns an `Intl.DateTimeFormat` configured from `GnomeProvider` defaults plus local overrides. */\nexport function useDateTimeFormatter(options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat {\n const { locale, dateTimeFormat } = useContext(GnomeContext);\n\n return useMemo(\n () => new Intl.DateTimeFormat(locale, { ...dateTimeFormat, ...options }),\n [locale, dateTimeFormat, options],\n );\n}\n\n/** Returns the color scheme preference set by the nearest `GnomeProvider`. Defaults to `\"system\"`. */\nexport function useColorScheme(): GnomeColorScheme {\n return useContext(GnomeContext).colorScheme;\n}\n\n/** Returns the resolved color scheme (`\"light\"` or `\"dark\"`), accounting for the system preference when `colorScheme` is `\"system\"`. */\nexport function useResolvedColorScheme(): 'light' | 'dark' {\n return useContext(GnomeContext).resolvedColorScheme;\n}\n\n/** Returns the accent color set by the nearest `GnomeProvider`. Defaults to `\"blue\"`. */\nexport function useAccentColor(): GnomeAccentColor {\n return useContext(GnomeContext).accentColor;\n}\n"],"mappings":";;AAwBA,IAAa,IAAe,EAAiC;CAC3D,QAAQ,KAAA;CACR,KAAK;CACL,cAAc,KAAA;CACd,gBAAgB,KAAA;CAChB,aAAa;CACb,qBAAqB;CACrB,aAAa;CACd,CAAC;AAGF,SAAgB,IAAgC;AAC9C,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,IAAmB;AACjC,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,EAAmB,GAAuD;CACxF,IAAM,EAAE,WAAQ,oBAAiB,EAAW,EAAa;AAEzD,QAAO,QACC,IAAI,KAAK,aAAa,GAAQ;EAAE,GAAG;EAAc,GAAG;EAAS,CAAC,EACpE;EAAC;EAAQ;EAAc;EAAQ,CAChC;;AAIH,SAAgB,EAAqB,GAA2D;CAC9F,IAAM,EAAE,WAAQ,sBAAmB,EAAW,EAAa;AAE3D,QAAO,QACC,IAAI,KAAK,eAAe,GAAQ;EAAE,GAAG;EAAgB,GAAG;EAAS,CAAC,EACxE;EAAC;EAAQ;EAAgB;EAAQ,CAClC;;AAIH,SAAgB,IAAmC;AACjD,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,IAA2C;AACzD,QAAO,EAAW,EAAa,CAAC;;AAIlC,SAAgB,IAAmC;AACjD,QAAO,EAAW,EAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GnomeProvider.cjs","names":[],"sources":["../../../src/components/GnomeProvider/GnomeProvider.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, type ReactNode } from \"react\";\nimport {\n GnomeContext,\n type GnomeAccentColor,\n type GnomeColorScheme,\n type GnomeDir,\n} from \"./GnomeContext\";\n\nconst NAMED_ACCENT_COLORS = new Set<string>([\n \"blue\", \"green\", \"yellow\", \"orange\", \"red\", \"purple\", \"brown\",\n]);\n\nexport interface GnomeProviderProps {\n /**\n * BCP 47 locale tag (e.g. `\"es-ES\"`, `\"de-DE\"`).\n * When omitted, components fall back to the browser locale.\n */\n locale?: string;\n /** Text direction. Defaults to `\"ltr\"`. */\n dir?: GnomeDir;\n /**\n * Global defaults for number formatting.\n *\n * Use `{ notation: \"compact\", compactDisplay: \"short\" }` for compact\n * values such as `1K`; omit it or set `{ notation: \"standard\" }` for\n * full values such as `1,000`.\n */\n numberFormat?: Intl.NumberFormatOptions;\n /** Global defaults for date/time formatting. */\n dateTimeFormat?: Intl.DateTimeFormatOptions;\n /**\n * Color scheme preference. When set to `\"system\"` (default), the OS\n * preference is respected via `prefers-color-scheme`. When set to\n * `\"light\"` or `\"dark\"`, the `data-theme` attribute is applied to\n * `document.documentElement` to force that theme.\n */\n colorScheme?: GnomeColorScheme;\n /**\n * Accent color. Accepts a named GNOME palette color (`\"blue\"`, `\"green\"`,\n * `\"yellow\"`, `\"orange\"`, `\"red\"`, `\"purple\"`, `\"brown\"`) or any CSS color\n * string (e.g. `\"#ff0000\"`). Named colors are theme-aware and use the\n * correct shade for light/dark mode automatically. Defaults to `\"blue\"`.\n */\n accentColor?: GnomeAccentColor;\n children: ReactNode;\n}\n\nfunction getSystemIsDark(): boolean {\n return typeof window !== \"undefined\" &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n}\n\n/** Provides locale, text direction, color scheme, and accent color to all descendant gnome-ui components. */\nexport function GnomeProvider({\n locale,\n dir = \"ltr\",\n numberFormat,\n dateTimeFormat,\n colorScheme = \"system\",\n accentColor = \"blue\",\n children,\n}: GnomeProviderProps) {\n const [, forceUpdate] = useReducer((n: number) => n + 1, 0);\n\n useEffect(() => {\n if (colorScheme !== \"system\") return;\n const mq = window.matchMedia(\"(prefers-color-scheme: dark)\");\n mq.addEventListener(\"change\", forceUpdate);\n return () => mq.removeEventListener(\"change\", forceUpdate);\n }, [colorScheme]);\n\n useEffect(() => {\n const root = document.documentElement;\n if (colorScheme === \"system\") {\n root.removeAttribute(\"data-theme\");\n } else {\n root.setAttribute(\"data-theme\", colorScheme);\n }\n }, [colorScheme]);\n\n const resolvedColorScheme = colorScheme === \"system\"\n ? (getSystemIsDark() ? \"dark\" : \"light\")\n : colorScheme;\n\n useEffect(() => {\n const root = document.documentElement;\n if (accentColor === \"blue\") {\n root.style.removeProperty(\"--gnome-accent-color\");\n root.style.removeProperty(\"--gnome-accent-bg-color\");\n return;\n }\n if (NAMED_ACCENT_COLORS.has(accentColor)) {\n const shade = resolvedColorScheme === \"dark\" ? \"2\" : \"3\";\n root.style.setProperty(\"--gnome-accent-color\", `var(--gnome-${accentColor}-${shade})`);\n root.style.setProperty(\"--gnome-accent-bg-color\", `var(--gnome-${accentColor}-3)`);\n } else {\n root.style.setProperty(\"--gnome-accent-color\", accentColor);\n root.style.setProperty(\"--gnome-accent-bg-color\", accentColor);\n }\n }, [accentColor, resolvedColorScheme]);\n\n const value = useMemo(\n () => ({ locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor }),\n [locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor],\n );\n\n return (\n <GnomeContext.Provider value={value}>\n {children}\n </GnomeContext.Provider>\n );\n}\n"],"mappings":"+JAQA,IAAM,EAAsB,IAAI,IAAY,CAC1C,OAAQ,QAAS,SAAU,SAAU,MAAO,SAAU,QACvD,CAAC,CAqCF,SAAS,GAA2B,CAClC,OAAO,OAAO,OAAW,KACvB,OAAO,WAAW,+BAA+B,CAAC,QAItD,SAAgB,EAAc,CAC5B,SACA,MAAM,MACN,eACA,iBACA,cAAc,SACd,cAAc,OACd,YACqB,CACrB,GAAM,EAAG,IAAA,EAAA,EAAA,YAA2B,GAAc,EAAI,EAAG,EAAE,EAE3D,EAAA,EAAA,eAAgB,CACd,GAAI,IAAgB,SAAU,OAC9B,IAAM,EAAK,OAAO,WAAW,+BAA+B,CAE5D,OADA,EAAG,iBAAiB,SAAU,EAAY,KAC7B,EAAG,oBAAoB,SAAU,EAAY,EACzD,CAAC,EAAY,CAAC,EAEjB,EAAA,EAAA,eAAgB,CACd,IAAM,EAAO,SAAS,gBAClB,IAAgB,SAClB,EAAK,gBAAgB,aAAa,CAElC,EAAK,aAAa,aAAc,EAAY,EAE7C,CAAC,EAAY,CAAC,CAEjB,IAAM,EAAsB,IAAgB,SACvC,GAAiB,CAAG,OAAS,QAC9B,GAEJ,EAAA,EAAA,eAAgB,CACd,IAAM,EAAO,SAAS,gBACtB,GAAI,IAAgB,OAAQ,CAC1B,EAAK,MAAM,eAAe,uBAAuB,CACjD,EAAK,MAAM,eAAe,0BAA0B,CACpD,OAEF,GAAI,EAAoB,IAAI,EAAY,CAAE,CACxC,IAAM,EAAQ,IAAwB,OAAS,IAAM,IACrD,EAAK,MAAM,YAAY,uBAAwB,eAAe,EAAY,GAAG,EAAM,GAAG,CACtF,EAAK,MAAM,YAAY,0BAA2B,eAAe,EAAY,KAAK,MAElF,EAAK,MAAM,YAAY,uBAAwB,EAAY,CAC3D,EAAK,MAAM,YAAY,0BAA2B,EAAY,EAE/D,CAAC,EAAa,EAAoB,CAAC,CAEtC,IAAM,GAAA,EAAA,EAAA,cACG,CAAE,SAAQ,MAAK,eAAc,iBAAgB,cAAa,sBAAqB,cAAa,EACnG,CAAC,EAAQ,EAAK,EAAc,EAAgB,EAAa,EAAqB,EAAY,CAC3F,CAED,OACE,EAAA,EAAA,KAAC,EAAA,aAAa,SAAd,CAA8B,QAC3B,WACqB,CAAA"}
1
+ {"version":3,"file":"GnomeProvider.cjs","names":[],"sources":["../../../src/components/GnomeProvider/GnomeProvider.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useMemo, useReducer } from 'react';\n\nimport {\n type GnomeAccentColor,\n type GnomeColorScheme,\n GnomeContext,\n type GnomeDir,\n} from './GnomeContext';\n\nconst NAMED_ACCENT_COLORS = new Set<string>([\n 'blue',\n 'green',\n 'yellow',\n 'orange',\n 'red',\n 'purple',\n 'brown',\n]);\n\nexport interface GnomeProviderProps {\n /**\n * BCP 47 locale tag (e.g. `\"es-ES\"`, `\"de-DE\"`).\n * When omitted, components fall back to the browser locale.\n */\n locale?: string;\n /** Text direction. Defaults to `\"ltr\"`. */\n dir?: GnomeDir;\n /**\n * Global defaults for number formatting.\n *\n * Use `{ notation: \"compact\", compactDisplay: \"short\" }` for compact\n * values such as `1K`; omit it or set `{ notation: \"standard\" }` for\n * full values such as `1,000`.\n */\n numberFormat?: Intl.NumberFormatOptions;\n /** Global defaults for date/time formatting. */\n dateTimeFormat?: Intl.DateTimeFormatOptions;\n /**\n * Color scheme preference. When set to `\"system\"` (default), the OS\n * preference is respected via `prefers-color-scheme`. When set to\n * `\"light\"` or `\"dark\"`, the `data-theme` attribute is applied to\n * `document.documentElement` to force that theme.\n */\n colorScheme?: GnomeColorScheme;\n /**\n * Accent color. Accepts a named GNOME palette color (`\"blue\"`, `\"green\"`,\n * `\"yellow\"`, `\"orange\"`, `\"red\"`, `\"purple\"`, `\"brown\"`) or any CSS color\n * string (e.g. `\"#ff0000\"`). Named colors are theme-aware and use the\n * correct shade for light/dark mode automatically. Defaults to `\"blue\"`.\n */\n accentColor?: GnomeAccentColor;\n children: ReactNode;\n}\n\nfunction getSystemIsDark(): boolean {\n return typeof window !== 'undefined' && window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\n/** Provides locale, text direction, color scheme, and accent color to all descendant gnome-ui components. */\nexport function GnomeProvider({\n locale,\n dir = 'ltr',\n numberFormat,\n dateTimeFormat,\n colorScheme = 'system',\n accentColor = 'blue',\n children,\n}: GnomeProviderProps) {\n const [, forceUpdate] = useReducer((n: number) => n + 1, 0);\n\n useEffect(() => {\n if (colorScheme !== 'system') {\n return;\n }\n\n const mq = window.matchMedia('(prefers-color-scheme: dark)');\n\n mq.addEventListener('change', forceUpdate);\n\n return () => mq.removeEventListener('change', forceUpdate);\n }, [colorScheme]);\n\n useEffect(() => {\n const root = document.documentElement;\n\n if (colorScheme === 'system') {\n root.removeAttribute('data-theme');\n } else {\n root.setAttribute('data-theme', colorScheme);\n }\n }, [colorScheme]);\n\n const resolvedColorScheme =\n colorScheme === 'system' ? (getSystemIsDark() ? 'dark' : 'light') : colorScheme;\n\n useEffect(() => {\n const root = document.documentElement;\n\n if (accentColor === 'blue') {\n root.style.removeProperty('--gnome-accent-color');\n root.style.removeProperty('--gnome-accent-bg-color');\n\n return;\n }\n\n if (NAMED_ACCENT_COLORS.has(accentColor)) {\n const shade = resolvedColorScheme === 'dark' ? '2' : '3';\n\n root.style.setProperty('--gnome-accent-color', `var(--gnome-${accentColor}-${shade})`);\n root.style.setProperty('--gnome-accent-bg-color', `var(--gnome-${accentColor}-3)`);\n } else {\n root.style.setProperty('--gnome-accent-color', accentColor);\n root.style.setProperty('--gnome-accent-bg-color', accentColor);\n }\n }, [accentColor, resolvedColorScheme]);\n\n const value = useMemo(\n () => ({\n locale,\n dir,\n numberFormat,\n dateTimeFormat,\n colorScheme,\n resolvedColorScheme,\n accentColor,\n }),\n [locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor],\n );\n\n return <GnomeContext.Provider value={value}>{children}</GnomeContext.Provider>;\n}\n"],"mappings":"+JASA,IAAM,EAAsB,IAAI,IAAY,CAC1C,OACA,QACA,SACA,SACA,MACA,SACA,QACD,CAAC,CAqCF,SAAS,GAA2B,CAClC,OAAO,OAAO,OAAW,KAAe,OAAO,WAAW,+BAA+B,CAAC,QAI5F,SAAgB,EAAc,CAC5B,SACA,MAAM,MACN,eACA,iBACA,cAAc,SACd,cAAc,OACd,YACqB,CACrB,GAAM,EAAG,IAAA,EAAA,EAAA,YAA2B,GAAc,EAAI,EAAG,EAAE,EAE3D,EAAA,EAAA,eAAgB,CACd,GAAI,IAAgB,SAClB,OAGF,IAAM,EAAK,OAAO,WAAW,+BAA+B,CAI5D,OAFA,EAAG,iBAAiB,SAAU,EAAY,KAE7B,EAAG,oBAAoB,SAAU,EAAY,EACzD,CAAC,EAAY,CAAC,EAEjB,EAAA,EAAA,eAAgB,CACd,IAAM,EAAO,SAAS,gBAElB,IAAgB,SAClB,EAAK,gBAAgB,aAAa,CAElC,EAAK,aAAa,aAAc,EAAY,EAE7C,CAAC,EAAY,CAAC,CAEjB,IAAM,EACJ,IAAgB,SAAY,GAAiB,CAAG,OAAS,QAAW,GAEtE,EAAA,EAAA,eAAgB,CACd,IAAM,EAAO,SAAS,gBAEtB,GAAI,IAAgB,OAAQ,CAC1B,EAAK,MAAM,eAAe,uBAAuB,CACjD,EAAK,MAAM,eAAe,0BAA0B,CAEpD,OAGF,GAAI,EAAoB,IAAI,EAAY,CAAE,CACxC,IAAM,EAAQ,IAAwB,OAAS,IAAM,IAErD,EAAK,MAAM,YAAY,uBAAwB,eAAe,EAAY,GAAG,EAAM,GAAG,CACtF,EAAK,MAAM,YAAY,0BAA2B,eAAe,EAAY,KAAK,MAElF,EAAK,MAAM,YAAY,uBAAwB,EAAY,CAC3D,EAAK,MAAM,YAAY,0BAA2B,EAAY,EAE/D,CAAC,EAAa,EAAoB,CAAC,CAEtC,IAAM,GAAA,EAAA,EAAA,cACG,CACL,SACA,MACA,eACA,iBACA,cACA,sBACA,cACD,EACD,CAAC,EAAQ,EAAK,EAAc,EAAgB,EAAa,EAAqB,EAAY,CAC3F,CAED,OAAO,EAAA,EAAA,KAAC,EAAA,aAAa,SAAd,CAA8B,QAAQ,WAAiC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"GnomeProvider.js","names":[],"sources":["../../../src/components/GnomeProvider/GnomeProvider.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, type ReactNode } from \"react\";\nimport {\n GnomeContext,\n type GnomeAccentColor,\n type GnomeColorScheme,\n type GnomeDir,\n} from \"./GnomeContext\";\n\nconst NAMED_ACCENT_COLORS = new Set<string>([\n \"blue\", \"green\", \"yellow\", \"orange\", \"red\", \"purple\", \"brown\",\n]);\n\nexport interface GnomeProviderProps {\n /**\n * BCP 47 locale tag (e.g. `\"es-ES\"`, `\"de-DE\"`).\n * When omitted, components fall back to the browser locale.\n */\n locale?: string;\n /** Text direction. Defaults to `\"ltr\"`. */\n dir?: GnomeDir;\n /**\n * Global defaults for number formatting.\n *\n * Use `{ notation: \"compact\", compactDisplay: \"short\" }` for compact\n * values such as `1K`; omit it or set `{ notation: \"standard\" }` for\n * full values such as `1,000`.\n */\n numberFormat?: Intl.NumberFormatOptions;\n /** Global defaults for date/time formatting. */\n dateTimeFormat?: Intl.DateTimeFormatOptions;\n /**\n * Color scheme preference. When set to `\"system\"` (default), the OS\n * preference is respected via `prefers-color-scheme`. When set to\n * `\"light\"` or `\"dark\"`, the `data-theme` attribute is applied to\n * `document.documentElement` to force that theme.\n */\n colorScheme?: GnomeColorScheme;\n /**\n * Accent color. Accepts a named GNOME palette color (`\"blue\"`, `\"green\"`,\n * `\"yellow\"`, `\"orange\"`, `\"red\"`, `\"purple\"`, `\"brown\"`) or any CSS color\n * string (e.g. `\"#ff0000\"`). Named colors are theme-aware and use the\n * correct shade for light/dark mode automatically. Defaults to `\"blue\"`.\n */\n accentColor?: GnomeAccentColor;\n children: ReactNode;\n}\n\nfunction getSystemIsDark(): boolean {\n return typeof window !== \"undefined\" &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n}\n\n/** Provides locale, text direction, color scheme, and accent color to all descendant gnome-ui components. */\nexport function GnomeProvider({\n locale,\n dir = \"ltr\",\n numberFormat,\n dateTimeFormat,\n colorScheme = \"system\",\n accentColor = \"blue\",\n children,\n}: GnomeProviderProps) {\n const [, forceUpdate] = useReducer((n: number) => n + 1, 0);\n\n useEffect(() => {\n if (colorScheme !== \"system\") return;\n const mq = window.matchMedia(\"(prefers-color-scheme: dark)\");\n mq.addEventListener(\"change\", forceUpdate);\n return () => mq.removeEventListener(\"change\", forceUpdate);\n }, [colorScheme]);\n\n useEffect(() => {\n const root = document.documentElement;\n if (colorScheme === \"system\") {\n root.removeAttribute(\"data-theme\");\n } else {\n root.setAttribute(\"data-theme\", colorScheme);\n }\n }, [colorScheme]);\n\n const resolvedColorScheme = colorScheme === \"system\"\n ? (getSystemIsDark() ? \"dark\" : \"light\")\n : colorScheme;\n\n useEffect(() => {\n const root = document.documentElement;\n if (accentColor === \"blue\") {\n root.style.removeProperty(\"--gnome-accent-color\");\n root.style.removeProperty(\"--gnome-accent-bg-color\");\n return;\n }\n if (NAMED_ACCENT_COLORS.has(accentColor)) {\n const shade = resolvedColorScheme === \"dark\" ? \"2\" : \"3\";\n root.style.setProperty(\"--gnome-accent-color\", `var(--gnome-${accentColor}-${shade})`);\n root.style.setProperty(\"--gnome-accent-bg-color\", `var(--gnome-${accentColor}-3)`);\n } else {\n root.style.setProperty(\"--gnome-accent-color\", accentColor);\n root.style.setProperty(\"--gnome-accent-bg-color\", accentColor);\n }\n }, [accentColor, resolvedColorScheme]);\n\n const value = useMemo(\n () => ({ locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor }),\n [locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor],\n );\n\n return (\n <GnomeContext.Provider value={value}>\n {children}\n </GnomeContext.Provider>\n );\n}\n"],"mappings":";;;;AAQA,IAAM,IAAsB,IAAI,IAAY;CAC1C;CAAQ;CAAS;CAAU;CAAU;CAAO;CAAU;CACvD,CAAC;AAqCF,SAAS,IAA2B;AAClC,QAAO,OAAO,SAAW,OACvB,OAAO,WAAW,+BAA+B,CAAC;;AAItD,SAAgB,EAAc,EAC5B,WACA,SAAM,OACN,iBACA,mBACA,iBAAc,UACd,iBAAc,QACd,eACqB;CACrB,IAAM,GAAG,KAAe,GAAY,MAAc,IAAI,GAAG,EAAE;AAS3D,CAPA,QAAgB;AACd,MAAI,MAAgB,SAAU;EAC9B,IAAM,IAAK,OAAO,WAAW,+BAA+B;AAE5D,SADA,EAAG,iBAAiB,UAAU,EAAY,QAC7B,EAAG,oBAAoB,UAAU,EAAY;IACzD,CAAC,EAAY,CAAC,EAEjB,QAAgB;EACd,IAAM,IAAO,SAAS;AACtB,EAAI,MAAgB,WAClB,EAAK,gBAAgB,aAAa,GAElC,EAAK,aAAa,cAAc,EAAY;IAE7C,CAAC,EAAY,CAAC;CAEjB,IAAM,IAAsB,MAAgB,WACvC,GAAiB,GAAG,SAAS,UAC9B;AAEJ,SAAgB;EACd,IAAM,IAAO,SAAS;AACtB,MAAI,MAAgB,QAAQ;AAE1B,GADA,EAAK,MAAM,eAAe,uBAAuB,EACjD,EAAK,MAAM,eAAe,0BAA0B;AACpD;;AAEF,MAAI,EAAoB,IAAI,EAAY,EAAE;GACxC,IAAM,IAAQ,MAAwB,SAAS,MAAM;AAErD,GADA,EAAK,MAAM,YAAY,wBAAwB,eAAe,EAAY,GAAG,EAAM,GAAG,EACtF,EAAK,MAAM,YAAY,2BAA2B,eAAe,EAAY,KAAK;QAGlF,CADA,EAAK,MAAM,YAAY,wBAAwB,EAAY,EAC3D,EAAK,MAAM,YAAY,2BAA2B,EAAY;IAE/D,CAAC,GAAa,EAAoB,CAAC;CAEtC,IAAM,IAAQ,SACL;EAAE;EAAQ;EAAK;EAAc;EAAgB;EAAa;EAAqB;EAAa,GACnG;EAAC;EAAQ;EAAK;EAAc;EAAgB;EAAa;EAAqB;EAAY,CAC3F;AAED,QACE,kBAAC,EAAa,UAAd;EAA8B;EAC3B;EACqB,CAAA"}
1
+ {"version":3,"file":"GnomeProvider.js","names":[],"sources":["../../../src/components/GnomeProvider/GnomeProvider.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useMemo, useReducer } from 'react';\n\nimport {\n type GnomeAccentColor,\n type GnomeColorScheme,\n GnomeContext,\n type GnomeDir,\n} from './GnomeContext';\n\nconst NAMED_ACCENT_COLORS = new Set<string>([\n 'blue',\n 'green',\n 'yellow',\n 'orange',\n 'red',\n 'purple',\n 'brown',\n]);\n\nexport interface GnomeProviderProps {\n /**\n * BCP 47 locale tag (e.g. `\"es-ES\"`, `\"de-DE\"`).\n * When omitted, components fall back to the browser locale.\n */\n locale?: string;\n /** Text direction. Defaults to `\"ltr\"`. */\n dir?: GnomeDir;\n /**\n * Global defaults for number formatting.\n *\n * Use `{ notation: \"compact\", compactDisplay: \"short\" }` for compact\n * values such as `1K`; omit it or set `{ notation: \"standard\" }` for\n * full values such as `1,000`.\n */\n numberFormat?: Intl.NumberFormatOptions;\n /** Global defaults for date/time formatting. */\n dateTimeFormat?: Intl.DateTimeFormatOptions;\n /**\n * Color scheme preference. When set to `\"system\"` (default), the OS\n * preference is respected via `prefers-color-scheme`. When set to\n * `\"light\"` or `\"dark\"`, the `data-theme` attribute is applied to\n * `document.documentElement` to force that theme.\n */\n colorScheme?: GnomeColorScheme;\n /**\n * Accent color. Accepts a named GNOME palette color (`\"blue\"`, `\"green\"`,\n * `\"yellow\"`, `\"orange\"`, `\"red\"`, `\"purple\"`, `\"brown\"`) or any CSS color\n * string (e.g. `\"#ff0000\"`). Named colors are theme-aware and use the\n * correct shade for light/dark mode automatically. Defaults to `\"blue\"`.\n */\n accentColor?: GnomeAccentColor;\n children: ReactNode;\n}\n\nfunction getSystemIsDark(): boolean {\n return typeof window !== 'undefined' && window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\n/** Provides locale, text direction, color scheme, and accent color to all descendant gnome-ui components. */\nexport function GnomeProvider({\n locale,\n dir = 'ltr',\n numberFormat,\n dateTimeFormat,\n colorScheme = 'system',\n accentColor = 'blue',\n children,\n}: GnomeProviderProps) {\n const [, forceUpdate] = useReducer((n: number) => n + 1, 0);\n\n useEffect(() => {\n if (colorScheme !== 'system') {\n return;\n }\n\n const mq = window.matchMedia('(prefers-color-scheme: dark)');\n\n mq.addEventListener('change', forceUpdate);\n\n return () => mq.removeEventListener('change', forceUpdate);\n }, [colorScheme]);\n\n useEffect(() => {\n const root = document.documentElement;\n\n if (colorScheme === 'system') {\n root.removeAttribute('data-theme');\n } else {\n root.setAttribute('data-theme', colorScheme);\n }\n }, [colorScheme]);\n\n const resolvedColorScheme =\n colorScheme === 'system' ? (getSystemIsDark() ? 'dark' : 'light') : colorScheme;\n\n useEffect(() => {\n const root = document.documentElement;\n\n if (accentColor === 'blue') {\n root.style.removeProperty('--gnome-accent-color');\n root.style.removeProperty('--gnome-accent-bg-color');\n\n return;\n }\n\n if (NAMED_ACCENT_COLORS.has(accentColor)) {\n const shade = resolvedColorScheme === 'dark' ? '2' : '3';\n\n root.style.setProperty('--gnome-accent-color', `var(--gnome-${accentColor}-${shade})`);\n root.style.setProperty('--gnome-accent-bg-color', `var(--gnome-${accentColor}-3)`);\n } else {\n root.style.setProperty('--gnome-accent-color', accentColor);\n root.style.setProperty('--gnome-accent-bg-color', accentColor);\n }\n }, [accentColor, resolvedColorScheme]);\n\n const value = useMemo(\n () => ({\n locale,\n dir,\n numberFormat,\n dateTimeFormat,\n colorScheme,\n resolvedColorScheme,\n accentColor,\n }),\n [locale, dir, numberFormat, dateTimeFormat, colorScheme, resolvedColorScheme, accentColor],\n );\n\n return <GnomeContext.Provider value={value}>{children}</GnomeContext.Provider>;\n}\n"],"mappings":";;;;AASA,IAAM,IAAsB,IAAI,IAAY;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAqCF,SAAS,IAA2B;AAClC,QAAO,OAAO,SAAW,OAAe,OAAO,WAAW,+BAA+B,CAAC;;AAI5F,SAAgB,EAAc,EAC5B,WACA,SAAM,OACN,iBACA,mBACA,iBAAc,UACd,iBAAc,QACd,eACqB;CACrB,IAAM,GAAG,KAAe,GAAY,MAAc,IAAI,GAAG,EAAE;AAc3D,CAZA,QAAgB;AACd,MAAI,MAAgB,SAClB;EAGF,IAAM,IAAK,OAAO,WAAW,+BAA+B;AAI5D,SAFA,EAAG,iBAAiB,UAAU,EAAY,QAE7B,EAAG,oBAAoB,UAAU,EAAY;IACzD,CAAC,EAAY,CAAC,EAEjB,QAAgB;EACd,IAAM,IAAO,SAAS;AAEtB,EAAI,MAAgB,WAClB,EAAK,gBAAgB,aAAa,GAElC,EAAK,aAAa,cAAc,EAAY;IAE7C,CAAC,EAAY,CAAC;CAEjB,IAAM,IACJ,MAAgB,WAAY,GAAiB,GAAG,SAAS,UAAW;AAEtE,SAAgB;EACd,IAAM,IAAO,SAAS;AAEtB,MAAI,MAAgB,QAAQ;AAE1B,GADA,EAAK,MAAM,eAAe,uBAAuB,EACjD,EAAK,MAAM,eAAe,0BAA0B;AAEpD;;AAGF,MAAI,EAAoB,IAAI,EAAY,EAAE;GACxC,IAAM,IAAQ,MAAwB,SAAS,MAAM;AAGrD,GADA,EAAK,MAAM,YAAY,wBAAwB,eAAe,EAAY,GAAG,EAAM,GAAG,EACtF,EAAK,MAAM,YAAY,2BAA2B,eAAe,EAAY,KAAK;QAGlF,CADA,EAAK,MAAM,YAAY,wBAAwB,EAAY,EAC3D,EAAK,MAAM,YAAY,2BAA2B,EAAY;IAE/D,CAAC,GAAa,EAAoB,CAAC;CAEtC,IAAM,IAAQ,SACL;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EAAC;EAAQ;EAAK;EAAc;EAAgB;EAAa;EAAqB;EAAY,CAC3F;AAED,QAAO,kBAAC,EAAa,UAAd;EAA8B;EAAQ;EAAiC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBar.cjs","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./HeaderBar.module.css\";\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, \"title\"> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>\n {start}\n </div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === \"string\" ? (\n <span className={styles.title}>{title}</span>\n ) : (\n title\n )}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(\" \")}>\n {end}\n </div>\n </header>\n );\n}\n"],"mappings":"iFA2BA,SAAgB,EAAU,CACxB,QACA,QACA,MACA,OAAO,GACP,YACA,GAAG,GACc,CACjB,OACE,EAAA,EAAA,MAAC,SAAD,CACE,UAAW,CAAC,EAAA,QAAO,UAAW,EAAO,EAAA,QAAO,KAAO,KAAM,EAAU,CAChE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAJN,EAOE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,cACpB,EACG,CAAA,EAGN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,UAAW,YAAU,kBACzC,OAAO,GAAU,UAChB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,EAAa,CAAA,CAE7C,EAEE,CAAA,EAGN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UACpE,EACG,CAAA,CACC"}
1
+ {"version":3,"file":"HeaderBar.cjs","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './HeaderBar.module.css';\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>{start}</div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === 'string' ? <span className={styles.title}>{title}</span> : title}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(' ')}>{end}</div>\n </header>\n );\n}\n"],"mappings":"iFA4BA,SAAgB,EAAU,CACxB,QACA,QACA,MACA,OAAO,GACP,YACA,GAAG,GACc,CACjB,OACE,EAAA,EAAA,MAAC,SAAD,CACE,UAAW,CAAC,EAAA,QAAO,UAAW,EAAO,EAAA,QAAO,KAAO,KAAM,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC7F,GAAI,WAFN,EAKE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,cAAO,EAAY,CAAA,EAG1C,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,UAAW,YAAU,kBACzC,OAAO,GAAU,UAAW,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,EAAa,CAAA,CAAG,EACzE,CAAA,EAGN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UAAG,EAAU,CAAA,CAC7E"}
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
- export interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
2
+ export interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
3
3
  /** Centered title. Pass a string or a custom element. */
4
4
  title?: ReactNode;
5
5
  /** Controls placed at the leading (left) edge — back button, menu, etc. */
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBar.js","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./HeaderBar.module.css\";\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, \"title\"> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>\n {start}\n </div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === \"string\" ? (\n <span className={styles.title}>{title}</span>\n ) : (\n title\n )}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(\" \")}>\n {end}\n </div>\n </header>\n );\n}\n"],"mappings":";;;AA2BA,SAAgB,EAAU,EACxB,UACA,UACA,QACA,UAAO,IACP,cACA,GAAG,KACc;AACjB,QACE,kBAAC,UAAD;EACE,WAAW;GAAC,EAAO;GAAW,IAAO,EAAO,OAAO;GAAM;GAAU,CAChE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN;GAOE,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB;IACG,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAW,aAAU;cACzC,OAAO,KAAU,WAChB,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;KAAa,CAAA,GAE7C;IAEE,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAW,CAAC,EAAO,MAAM,EAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cACpE;IACG,CAAA;GACC"}
1
+ {"version":3,"file":"HeaderBar.js","names":[],"sources":["../../../src/components/HeaderBar/HeaderBar.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './HeaderBar.module.css';\n\nexport interface HeaderBarProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {\n /** Centered title. Pass a string or a custom element. */\n title?: ReactNode;\n /** Controls placed at the leading (left) edge — back button, menu, etc. */\n start?: ReactNode;\n /** Controls placed at the trailing (right) edge — actions, overflow menu, etc. */\n end?: ReactNode;\n /**\n * When true the header bar blends into the window chrome\n * (no bottom border, slightly transparent background).\n * Use for the topmost bar of a full-window layout.\n */\n flat?: boolean;\n}\n\n/**\n * Title bar with centered title and leading/trailing action slots.\n *\n * Mirrors the Adwaita `AdwHeaderBar` pattern. Use `flat` buttons\n * (`<Button variant=\"flat\">`) inside the header bar per GNOME HIG.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html\n * @see https://developer.gnome.org/hig/patterns/containers/header-bars.html\n */\nexport function HeaderBar({\n title,\n start,\n end,\n flat = false,\n className,\n ...props\n}: HeaderBarProps) {\n return (\n <header\n className={[styles.headerBar, flat ? styles.flat : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n {/* Leading slot */}\n <div className={styles.slot}>{start}</div>\n\n {/* Centered title */}\n <div className={styles.titleSlot} aria-live=\"polite\">\n {typeof title === 'string' ? <span className={styles.title}>{title}</span> : title}\n </div>\n\n {/* Trailing slot */}\n <div className={[styles.slot, styles.slotEnd].filter(Boolean).join(' ')}>{end}</div>\n </header>\n );\n}\n"],"mappings":";;;AA4BA,SAAgB,EAAU,EACxB,UACA,UACA,QACA,UAAO,IACP,cACA,GAAG,KACc;AACjB,QACE,kBAAC,UAAD;EACE,WAAW;GAAC,EAAO;GAAW,IAAO,EAAO,OAAO;GAAM;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC7F,GAAI;YAFN;GAKE,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAO;IAAY,CAAA;GAG1C,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAW,aAAU;cACzC,OAAO,KAAU,WAAW,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;KAAa,CAAA,GAAG;IACzE,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAW,CAAC,EAAO,MAAM,EAAO,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cAAG;IAAU,CAAA;GAC7E"}
@@ -1,2 +1,2 @@
1
- export { HeaderBar } from './HeaderBar';
2
1
  export type { HeaderBarProps } from './HeaderBar';
2
+ export { HeaderBar } from './HeaderBar';
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.cjs","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { SVGAttributes } from \"react\";\nimport type { AnyIconDefinition, IconDefinition } from \"@gnome-ui/icons\";\n\nexport type IconSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return \"paths\" in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({\n icon,\n size = \"md\",\n label,\n width,\n height,\n ...props\n}: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon)\n ? icon.viewBox\n : (icon.viewBox ?? \"0 0 24 24\");\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? \"img\" : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":"mCAqBA,IAAM,EAAqC,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAErE,SAAS,EAAiB,EAAiD,CAEzE,MAAO,UAAW,GAAQ,MAAM,QAAS,EAAwB,MAAM,CAkBzE,SAAgB,EAAK,CACnB,OACA,OAAO,KACP,QACA,QACA,SACA,GAAG,GACS,CACZ,IAAM,EAAK,EAAS,GAEd,EAAkB,EAAiB,EAAK,CAC1C,EAAK,QACJ,EAAK,SAAW,YAEf,EAAQ,EAAiB,EAAK,CAChC,EAAK,MAAM,KAAK,EAAG,KACjB,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAE,EAAG,SAAU,EAAE,SAAU,SAAU,EAAE,SAAU,UAAW,EAAE,UAAa,CAAjF,EAAiF,CAC5F,CACF,EAAC,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAK,KAAQ,CAAnB,EAAmB,CAAC,CAEpC,OACE,EAAA,EAAA,KAAC,MAAD,CACE,MAAM,6BACN,QAAS,EACT,MAAO,GAAS,EAChB,OAAQ,GAAU,EAClB,KAAK,eACL,aAAY,EACZ,cAAa,EAAQ,IAAA,GAAY,GACjC,KAAM,EAAQ,MAAQ,IAAA,GACtB,UAAU,QACV,GAAI,WAEH,EACG,CAAA"}
1
+ {"version":3,"file":"Icon.cjs","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { AnyIconDefinition, IconDefinition } from '@gnome-ui/icons';\nimport type { SVGAttributes } from 'react';\n\nexport type IconSize = 'sm' | 'md' | 'lg';\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return 'paths' in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({ icon, size = 'md', label, width, height, ...props }: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon) ? icon.viewBox : (icon.viewBox ?? '0 0 24 24');\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? 'img' : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":"mCAqBA,IAAM,EAAqC,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAErE,SAAS,EAAiB,EAAiD,CAEzE,MAAO,UAAW,GAAQ,MAAM,QAAS,EAAwB,MAAM,CAkBzE,SAAgB,EAAK,CAAE,OAAM,OAAO,KAAM,QAAO,QAAO,SAAQ,GAAG,GAAoB,CACrF,IAAM,EAAK,EAAS,GAEd,EAAkB,EAAiB,EAAK,CAAG,EAAK,QAAW,EAAK,SAAW,YAE3E,EAAQ,EAAiB,EAAK,CAChC,EAAK,MAAM,KAAK,EAAG,KACjB,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAE,EAAG,SAAU,EAAE,SAAU,SAAU,EAAE,SAAU,UAAW,EAAE,UAAa,CAAjF,EAAiF,CAC5F,CACF,EAAC,EAAA,EAAA,KAAC,OAAD,CAAc,EAAG,EAAK,KAAQ,CAAnB,EAAmB,CAAC,CAEpC,OACE,EAAA,EAAA,KAAC,MAAD,CACE,MAAM,6BACN,QAAS,EACT,MAAO,GAAS,EAChB,OAAQ,GAAU,EAClB,KAAK,eACL,aAAY,EACZ,cAAa,EAAQ,IAAA,GAAY,GACjC,KAAM,EAAQ,MAAQ,IAAA,GACtB,UAAU,QACV,GAAI,WAEH,EACG,CAAA"}
@@ -1,6 +1,6 @@
1
- import { SVGAttributes } from 'react';
2
1
  import { AnyIconDefinition } from '@gnome-ui/icons';
3
- export type IconSize = "sm" | "md" | "lg";
2
+ import { SVGAttributes } from 'react';
3
+ export type IconSize = 'sm' | 'md' | 'lg';
4
4
  export interface IconProps extends SVGAttributes<SVGSVGElement> {
5
5
  /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */
6
6
  icon: AnyIconDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { SVGAttributes } from \"react\";\nimport type { AnyIconDefinition, IconDefinition } from \"@gnome-ui/icons\";\n\nexport type IconSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return \"paths\" in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({\n icon,\n size = \"md\",\n label,\n width,\n height,\n ...props\n}: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon)\n ? icon.viewBox\n : (icon.viewBox ?? \"0 0 24 24\");\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? \"img\" : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":";;AAqBA,IAAM,IAAqC;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI;AAErE,SAAS,EAAiB,GAAiD;AAEzE,QAAO,WAAW,KAAQ,MAAM,QAAS,EAAwB,MAAM;;AAkBzE,SAAgB,EAAK,EACnB,SACA,UAAO,MACP,UACA,UACA,WACA,GAAG,KACS;CACZ,IAAM,IAAK,EAAS,IAEd,IAAkB,EAAiB,EAAK,GAC1C,EAAK,UACJ,EAAK,WAAW,aAEf,IAAQ,EAAiB,EAAK,GAChC,EAAK,MAAM,KAAK,GAAG,MACjB,kBAAC,QAAD;EAAc,GAAG,EAAE;EAAG,UAAU,EAAE;EAAU,UAAU,EAAE;EAAU,WAAW,EAAE;EAAa,EAAjF,EAAiF,CAC5F,GACF,CAAC,kBAAC,QAAD,EAAc,GAAG,EAAK,MAAQ,EAAnB,EAAmB,CAAC;AAEpC,QACE,kBAAC,OAAD;EACE,OAAM;EACN,SAAS;EACT,OAAO,KAAS;EAChB,QAAQ,KAAU;EAClB,MAAK;EACL,cAAY;EACZ,eAAa,IAAQ,KAAA,IAAY;EACjC,MAAM,IAAQ,QAAQ,KAAA;EACtB,WAAU;EACV,GAAI;YAEH;EACG,CAAA"}
1
+ {"version":3,"file":"Icon.js","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import type { AnyIconDefinition, IconDefinition } from '@gnome-ui/icons';\nimport type { SVGAttributes } from 'react';\n\nexport type IconSize = 'sm' | 'md' | 'lg';\n\nexport interface IconProps extends SVGAttributes<SVGSVGElement> {\n /** Icon from `@gnome-ui/icons`, a `simple-icons` icon, or a raw `{ path }` object. */\n icon: AnyIconDefinition;\n /**\n * Rendered size.\n * - `sm` — 12 px\n * - `md` — 16 px (default)\n * - `lg` — 20 px\n *\n * Override with `width`/`height` for non-standard sizes.\n */\n size?: IconSize;\n /** Accessible label. Omit for decorative icons — they are hidden from screen readers. */\n label?: string;\n}\n\nconst SIZE_MAP: Record<IconSize, number> = { sm: 12, md: 16, lg: 20 };\n\nfunction isIconDefinition(icon: AnyIconDefinition): icon is IconDefinition {\n // When an object has both `path` and `paths`, `paths` wins.\n return 'paths' in icon && Array.isArray((icon as IconDefinition).paths);\n}\n\n/**\n * Renders an icon as an inline SVG.\n *\n * Accepts icons from `@gnome-ui/icons`, any `simple-icons` icon, or a plain\n * `{ path }` object. Uses `currentColor` so the icon inherits the text color\n * of its parent. Pass `label` only when the icon conveys meaning on its own.\n *\n * @example\n * import { Search } from \"@gnome-ui/icons\";\n * <Icon icon={Search} label=\"Search\" />\n *\n * @example\n * import { siGithub } from \"simple-icons\";\n * <Icon icon={siGithub} label=\"GitHub\" />\n */\nexport function Icon({ icon, size = 'md', label, width, height, ...props }: IconProps) {\n const px = SIZE_MAP[size];\n\n const resolvedViewBox = isIconDefinition(icon) ? icon.viewBox : (icon.viewBox ?? '0 0 24 24');\n\n const paths = isIconDefinition(icon)\n ? icon.paths.map((p, i) => (\n <path key={i} d={p.d} fillRule={p.fillRule} clipRule={p.clipRule} transform={p.transform} />\n ))\n : [<path key={0} d={icon.path} />];\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={resolvedViewBox}\n width={width ?? px}\n height={height ?? px}\n fill=\"currentColor\"\n aria-label={label}\n aria-hidden={label ? undefined : true}\n role={label ? 'img' : undefined}\n focusable=\"false\"\n {...props}\n >\n {paths}\n </svg>\n );\n}\n"],"mappings":";;AAqBA,IAAM,IAAqC;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI;AAErE,SAAS,EAAiB,GAAiD;AAEzE,QAAO,WAAW,KAAQ,MAAM,QAAS,EAAwB,MAAM;;AAkBzE,SAAgB,EAAK,EAAE,SAAM,UAAO,MAAM,UAAO,UAAO,WAAQ,GAAG,KAAoB;CACrF,IAAM,IAAK,EAAS,IAEd,IAAkB,EAAiB,EAAK,GAAG,EAAK,UAAW,EAAK,WAAW,aAE3E,IAAQ,EAAiB,EAAK,GAChC,EAAK,MAAM,KAAK,GAAG,MACjB,kBAAC,QAAD;EAAc,GAAG,EAAE;EAAG,UAAU,EAAE;EAAU,UAAU,EAAE;EAAU,WAAW,EAAE;EAAa,EAAjF,EAAiF,CAC5F,GACF,CAAC,kBAAC,QAAD,EAAc,GAAG,EAAK,MAAQ,EAAnB,EAAmB,CAAC;AAEpC,QACE,kBAAC,OAAD;EACE,OAAM;EACN,SAAS;EACT,OAAO,KAAS;EAChB,QAAQ,KAAU;EAClB,MAAK;EACL,cAAY;EACZ,eAAa,IAAQ,KAAA,IAAY;EACjC,MAAM,IAAQ,QAAQ,KAAA;EACtB,WAAU;EACV,GAAI;YAEH;EACG,CAAA"}
@@ -1,2 +1,2 @@
1
- export { Icon } from './Icon';
2
1
  export type { IconProps, IconSize } from './Icon';
2
+ export { Icon } from './Icon';
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.cjs","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from \"../Button\";\nimport { Icon, type IconSize } from \"../Icon\";\nimport { Tooltip, type TooltipPlacement } from \"../Tooltip\";\n\nexport type IconButtonVariant = ButtonVariant | \"osd\";\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n \"aria-label\" | \"children\" | \"leadingIcon\" | \"osd\" | \"shape\" | \"trailingIcon\" | \"variant\"\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton({\n icon,\n label,\n variant = \"default\",\n size = \"md\",\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n}, ref) {\n const buttonVariant = variant === \"osd\" ? \"flat\" : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === \"osd\"}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) return button;\n\n return (\n <Tooltip\n label={tooltip}\n placement={tooltipPlacement}\n delay={tooltipDelay}\n >\n {button}\n </Tooltip>\n );\n});\n"],"mappings":"gKAgCA,IAAM,EAA6D,CACjE,GAAI,KACJ,GAAI,KACJ,GAAI,KACL,CAOY,GAAA,EAAA,EAAA,YAA4D,SAAoB,CAC3F,OACA,QACA,UAAU,UACV,OAAO,KACP,WACA,UACA,mBACA,eACA,GAAG,GACF,EAAK,CACN,IAAM,EAAgB,IAAY,MAAQ,OAAS,EAE7C,GACJ,EAAA,EAAA,KAAC,EAAA,OAAD,CACO,MACL,aAAY,EACZ,MAAM,WACA,OACN,QAAS,EACT,IAAK,IAAY,MACjB,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAM,GAAY,EAAyB,GAAS,CAAA,CAC/D,CAAA,CAKX,OAFK,GAGH,EAAA,EAAA,KAAC,EAAA,QAAD,CACE,MAAO,EACP,UAAW,EACX,MAAO,WAEN,EACO,CAAA,CATS,GAWrB"}
1
+ {"version":3,"file":"IconButton.cjs","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport { forwardRef } from 'react';\n\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from '../Button';\nimport { Icon, type IconSize } from '../Icon';\nimport { Tooltip, type TooltipPlacement } from '../Tooltip';\n\nexport type IconButtonVariant = ButtonVariant | 'osd';\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n 'aria-label' | 'children' | 'leadingIcon' | 'osd' | 'shape' | 'trailingIcon' | 'variant'\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n {\n icon,\n label,\n variant = 'default',\n size = 'md',\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n },\n ref,\n) {\n const buttonVariant = variant === 'osd' ? 'flat' : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === 'osd'}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) {\n return button;\n }\n\n return (\n <Tooltip label={tooltip} placement={tooltipPlacement} delay={tooltipDelay}>\n {button}\n </Tooltip>\n );\n});\n"],"mappings":"gKAiCA,IAAM,EAA6D,CACjE,GAAI,KACJ,GAAI,KACJ,GAAI,KACL,CAOY,GAAA,EAAA,EAAA,YAA4D,SACvE,CACE,OACA,QACA,UAAU,UACV,OAAO,KACP,WACA,UACA,mBACA,eACA,GAAG,GAEL,EACA,CACA,IAAM,EAAgB,IAAY,MAAQ,OAAS,EAE7C,GACJ,EAAA,EAAA,KAAC,EAAA,OAAD,CACO,MACL,aAAY,EACZ,MAAM,WACA,OACN,QAAS,EACT,IAAK,IAAY,MACjB,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAM,GAAY,EAAyB,GAAS,CAAA,CAC/D,CAAA,CAOX,OAJK,GAKH,EAAA,EAAA,KAAC,EAAA,QAAD,CAAS,MAAO,EAAS,UAAW,EAAkB,MAAO,WAC1D,EACO,CAAA,CANH,GAQT"}
@@ -2,9 +2,9 @@ import { IconDefinition } from '@gnome-ui/icons';
2
2
  import { ButtonProps, ButtonSize, ButtonVariant } from '../Button';
3
3
  import { IconSize } from '../Icon';
4
4
  import { TooltipPlacement } from '../Tooltip';
5
- export type IconButtonVariant = ButtonVariant | "osd";
5
+ export type IconButtonVariant = ButtonVariant | 'osd';
6
6
  export type IconButtonSize = ButtonSize;
7
- export interface IconButtonProps extends Omit<ButtonProps, "aria-label" | "children" | "leadingIcon" | "osd" | "shape" | "trailingIcon" | "variant"> {
7
+ export interface IconButtonProps extends Omit<ButtonProps, 'aria-label' | 'children' | 'leadingIcon' | 'osd' | 'shape' | 'trailingIcon' | 'variant'> {
8
8
  /** Icon definition imported from `@gnome-ui/icons`. */
9
9
  icon: IconDefinition;
10
10
  /** Accessible name for the icon-only button. */
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from \"../Button\";\nimport { Icon, type IconSize } from \"../Icon\";\nimport { Tooltip, type TooltipPlacement } from \"../Tooltip\";\n\nexport type IconButtonVariant = ButtonVariant | \"osd\";\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n \"aria-label\" | \"children\" | \"leadingIcon\" | \"osd\" | \"shape\" | \"trailingIcon\" | \"variant\"\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton({\n icon,\n label,\n variant = \"default\",\n size = \"md\",\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n}, ref) {\n const buttonVariant = variant === \"osd\" ? \"flat\" : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === \"osd\"}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) return button;\n\n return (\n <Tooltip\n label={tooltip}\n placement={tooltipPlacement}\n delay={tooltipDelay}\n >\n {button}\n </Tooltip>\n );\n});\n"],"mappings":";;;;;;AAgCA,IAAM,IAA6D;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,EAOY,IAAa,EAA+C,SAAoB,EAC3F,SACA,UACA,aAAU,WACV,UAAO,MACP,aACA,YACA,qBACA,iBACA,GAAG,KACF,GAAK;CACN,IAAM,IAAgB,MAAY,QAAQ,SAAS,GAE7C,IACJ,kBAAC,GAAD;EACO;EACL,cAAY;EACZ,OAAM;EACA;EACN,SAAS;EACT,KAAK,MAAY;EACjB,GAAI;YAEJ,kBAAC,GAAD;GAAY;GAAM,MAAM,KAAY,EAAyB;GAAS,CAAA;EAC/D,CAAA;AAKX,QAFK,IAGH,kBAAC,GAAD;EACE,OAAO;EACP,WAAW;EACX,OAAO;YAEN;EACO,CAAA,GATS;EAWrB"}
1
+ {"version":3,"file":"IconButton.js","names":[],"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport { forwardRef } from 'react';\n\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from '../Button';\nimport { Icon, type IconSize } from '../Icon';\nimport { Tooltip, type TooltipPlacement } from '../Tooltip';\n\nexport type IconButtonVariant = ButtonVariant | 'osd';\nexport type IconButtonSize = ButtonSize;\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n 'aria-label' | 'children' | 'leadingIcon' | 'osd' | 'shape' | 'trailingIcon' | 'variant'\n > {\n /** Icon definition imported from `@gnome-ui/icons`. */\n icon: IconDefinition;\n /** Accessible name for the icon-only button. */\n label: string;\n /** Visual style of the button. Use `\"osd\"` for media overlay controls. */\n variant?: IconButtonVariant;\n /** Size of the button. */\n size?: IconButtonSize;\n /** Override the rendered icon size. Defaults to a size matched to `size`. */\n iconSize?: IconSize;\n /** Optional tooltip text shown on hover/focus. */\n tooltip?: string;\n /** Preferred tooltip placement. */\n tooltipPlacement?: TooltipPlacement;\n /** Tooltip delay in milliseconds. */\n tooltipDelay?: number;\n}\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n};\n\n/**\n * Icon-only action button composed from `Button`, `Icon`, and optionally `Tooltip`.\n *\n * `label` is required because the button has no visible text.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n {\n icon,\n label,\n variant = 'default',\n size = 'md',\n iconSize,\n tooltip,\n tooltipPlacement,\n tooltipDelay,\n ...props\n },\n ref,\n) {\n const buttonVariant = variant === 'osd' ? 'flat' : variant;\n\n const button = (\n <Button\n ref={ref}\n aria-label={label}\n shape=\"circular\"\n size={size}\n variant={buttonVariant}\n osd={variant === 'osd'}\n {...props}\n >\n <Icon icon={icon} size={iconSize ?? ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n\n if (!tooltip) {\n return button;\n }\n\n return (\n <Tooltip label={tooltip} placement={tooltipPlacement} delay={tooltipDelay}>\n {button}\n </Tooltip>\n );\n});\n"],"mappings":";;;;;;AAiCA,IAAM,IAA6D;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,EAOY,IAAa,EAA+C,SACvE,EACE,SACA,UACA,aAAU,WACV,UAAO,MACP,aACA,YACA,qBACA,iBACA,GAAG,KAEL,GACA;CACA,IAAM,IAAgB,MAAY,QAAQ,SAAS,GAE7C,IACJ,kBAAC,GAAD;EACO;EACL,cAAY;EACZ,OAAM;EACA;EACN,SAAS;EACT,KAAK,MAAY;EACjB,GAAI;YAEJ,kBAAC,GAAD;GAAY;GAAM,MAAM,KAAY,EAAyB;GAAS,CAAA;EAC/D,CAAA;AAOX,QAJK,IAKH,kBAAC,GAAD;EAAS,OAAO;EAAS,WAAW;EAAkB,OAAO;YAC1D;EACO,CAAA,GANH;EAQT"}
@@ -1,2 +1,2 @@
1
- export { IconButton } from './IconButton';
2
1
  export type { IconButtonProps, IconButtonSize, IconButtonVariant } from './IconButton';
2
+ export { IconButton } from './IconButton';
@@ -1,2 +1,2 @@
1
- const e=require(`./InlineViewSwitcher.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.createContext)(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error(`InlineViewSwitcherItem must be used inside InlineViewSwitcher`);return e}function a({value:i,onValueChange:a,variant:o=`default`,"aria-label":s=`View switcher`,children:c,className:l,...u}){let d=(0,t.useRef)(null);function f(e){let t=Array.from(d.current?.querySelectorAll(`[role=radio]:not(:disabled)`)??[]),n=t.findIndex(e=>e===document.activeElement);if(n===-1)return;let r=n;if(e.key===`ArrowRight`||e.key===`ArrowDown`)r=(n+1)%t.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)r=(n-1+t.length)%t.length;else if(e.key===`Home`)r=0;else if(e.key===`End`)r=t.length-1;else return;e.preventDefault(),t[r].focus(),t[r].click()}return(0,n.jsx)(r.Provider,{value:{value:i,onValueChange:a},children:(0,n.jsx)(`div`,{ref:d,role:`radiogroup`,"aria-label":s,onKeyDown:f,className:[e.default.switcher,e.default[o],l].filter(Boolean).join(` `),...u,children:c})})}exports.InlineViewSwitcher=a,exports.useInlineViewSwitcher=i;
1
+ const e=require(`./InlineViewSwitcher.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.createContext)(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error(`InlineViewSwitcherItem must be used inside InlineViewSwitcher`);return e}function a({value:i,onValueChange:a,variant:o=`default`,"aria-label":s=`View switcher`,children:c,className:l,...u}){let d=(0,t.useRef)(null);function f(e){let t=Array.from(d.current?.querySelectorAll(`[role=radio]:not(:disabled)`)??[]),n=document.activeElement,r=n instanceof HTMLButtonElement?t.indexOf(n):-1;if(r===-1)return;let i=r;if(e.key===`ArrowRight`||e.key===`ArrowDown`)i=(r+1)%t.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)i=(r-1+t.length)%t.length;else if(e.key===`Home`)i=0;else if(e.key===`End`)i=t.length-1;else return;e.preventDefault(),t[i].focus(),t[i].click()}return(0,n.jsx)(r.Provider,{value:{value:i,onValueChange:a},children:(0,n.jsx)(`div`,{ref:d,role:`radiogroup`,"aria-label":s,onKeyDown:f,className:[e.default.switcher,e.default[o],l].filter(Boolean).join(` `),...u,children:c})})}exports.InlineViewSwitcher=a,exports.useInlineViewSwitcher=i;
2
2
  //# sourceMappingURL=InlineViewSwitcher.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineViewSwitcher.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./InlineViewSwitcher.module.css\";\n\nexport type InlineViewSwitcherVariant = \"default\" | \"flat\" | \"round\" | \"pill\";\n\n// ─── Internal context ──────────────────────────────────────────────────────────\n\ninterface InlineViewSwitcherContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst InlineViewSwitcherContext =\n createContext<InlineViewSwitcherContextValue | null>(null);\n\nexport function useInlineViewSwitcher() {\n const ctx = useContext(InlineViewSwitcherContext);\n if (!ctx)\n throw new Error(\n \"InlineViewSwitcherItem must be used inside InlineViewSwitcher\",\n );\n return ctx;\n}\n\n// ─── InlineViewSwitcher ────────────────────────────────────────────────────────\n\nexport interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n /** Currently active view name. */\n value: string;\n /** Called with the new value when a view is selected. */\n onValueChange: (value: string) => void;\n /**\n * Visual style of the switcher.\n * - `default` — card background with border and shadow (same as `ToggleGroup`).\n * - `flat` — no background or border; active indicator only.\n * - `round` — pill-shaped container and items.\n * - `pill` — segmented-control style; active item appears lifted, no accent color.\n */\n variant?: InlineViewSwitcherVariant;\n /** Accessible label for the group. */\n \"aria-label\"?: string;\n children?: ReactNode;\n}\n\n/**\n * Compact inline view switcher for placing inside content areas, cards, or\n * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.\n *\n * Built on `ToggleGroup` internals with `flat` and `round` style variants.\n * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).\n *\n * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html\n */\nexport function InlineViewSwitcher({\n value,\n onValueChange,\n variant = \"default\",\n \"aria-label\": ariaLabel = \"View switcher\",\n children,\n className,\n ...props\n}: InlineViewSwitcherProps) {\n const groupRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>(\n \"[role=radio]:not(:disabled)\",\n ) ?? [],\n );\n const idx = items.findIndex((el) => el === document.activeElement);\n if (idx === -1) return;\n\n let next = idx;\n if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\")\n next = (idx + 1) % items.length;\n else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\")\n next = (idx - 1 + items.length) % items.length;\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = items.length - 1;\n else return;\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <InlineViewSwitcherContext.Provider value={{ value, onValueChange }}>\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </div>\n </InlineViewSwitcherContext.Provider>\n );\n}\n"],"mappings":"6GAmBA,IAAM,GAAA,EAAA,EAAA,eACiD,KAAK,CAE5D,SAAgB,GAAwB,CACtC,IAAM,GAAA,EAAA,EAAA,YAAiB,EAA0B,CACjD,GAAI,CAAC,EACH,MAAU,MACR,gEACD,CACH,OAAO,EAkCT,SAAgB,EAAmB,CACjC,QACA,gBACA,UAAU,UACV,aAAc,EAAY,gBAC1B,WACA,YACA,GAAG,GACuB,CAC1B,IAAM,GAAA,EAAA,EAAA,QAAkC,KAAK,CAE7C,SAAS,EAAc,EAAkC,CACvD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAChB,8BACD,EAAI,EAAE,CACR,CACK,EAAM,EAAM,UAAW,GAAO,IAAO,SAAS,cAAc,CAClE,GAAI,IAAQ,GAAI,OAEhB,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,cAAgB,EAAE,MAAQ,YACtC,GAAQ,EAAM,GAAK,EAAM,eAClB,EAAE,MAAQ,aAAe,EAAE,MAAQ,UAC1C,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,eACjC,EAAE,MAAQ,OAAQ,EAAO,UACzB,EAAE,MAAQ,MAAO,EAAO,EAAM,OAAS,OAC3C,OAEL,EAAE,gBAAgB,CAClB,EAAM,GAAM,OAAO,CACnB,EAAM,GAAM,OAAO,CAGrB,OACE,EAAA,EAAA,KAAC,EAA0B,SAA3B,CAAoC,MAAO,CAAE,QAAO,gBAAe,WACjE,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EACX,UAAW,CAAC,EAAA,QAAO,SAAU,EAAA,QAAO,GAAU,EAAU,CACrD,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,EAEH,WACG,CAAA,CAC6B,CAAA"}
1
+ {"version":3,"file":"InlineViewSwitcher.cjs","names":[],"sources":["../../../src/components/InlineViewSwitcher/InlineViewSwitcher.tsx"],"sourcesContent":["import {\n createContext,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useContext,\n useRef,\n} from 'react';\n\nimport styles from './InlineViewSwitcher.module.css';\n\nexport type InlineViewSwitcherVariant = 'default' | 'flat' | 'round' | 'pill';\n\n// ─── Internal context ──────────────────────────────────────────────────────────\n\ninterface InlineViewSwitcherContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst InlineViewSwitcherContext = createContext<InlineViewSwitcherContextValue | null>(null);\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useInlineViewSwitcher() {\n const ctx = useContext(InlineViewSwitcherContext);\n\n if (!ctx) {\n throw new Error('InlineViewSwitcherItem must be used inside InlineViewSwitcher');\n }\n\n return ctx;\n}\n\n// ─── InlineViewSwitcher ────────────────────────────────────────────────────────\n\nexport interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {\n /** Currently active view name. */\n value: string;\n /** Called with the new value when a view is selected. */\n onValueChange: (value: string) => void;\n /**\n * Visual style of the switcher.\n * - `default` — card background with border and shadow (same as `ToggleGroup`).\n * - `flat` — no background or border; active indicator only.\n * - `round` — pill-shaped container and items.\n * - `pill` — segmented-control style; active item appears lifted, no accent color.\n */\n variant?: InlineViewSwitcherVariant;\n /** Accessible label for the group. */\n 'aria-label'?: string;\n children?: ReactNode;\n}\n\n/**\n * Compact inline view switcher for placing inside content areas, cards, or\n * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.\n *\n * Built on `ToggleGroup` internals with `flat` and `round` style variants.\n * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).\n *\n * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html\n */\nexport function InlineViewSwitcher({\n value,\n onValueChange,\n variant = 'default',\n 'aria-label': ariaLabel = 'View switcher',\n children,\n className,\n ...props\n}: InlineViewSwitcherProps) {\n const groupRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const items = Array.from(\n groupRef.current?.querySelectorAll<HTMLButtonElement>('[role=radio]:not(:disabled)') ?? [],\n );\n const activeElement = document.activeElement;\n const idx = activeElement instanceof HTMLButtonElement ? items.indexOf(activeElement) : -1;\n\n if (idx === -1) {\n return;\n }\n\n let next = idx;\n if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n next = (idx + 1) % items.length;\n } else if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n next = (idx - 1 + items.length) % items.length;\n } else if (e.key === 'Home') {\n next = 0;\n } else if (e.key === 'End') {\n next = items.length - 1;\n } else {\n return;\n }\n\n e.preventDefault();\n items[next].focus();\n items[next].click();\n }\n\n return (\n <InlineViewSwitcherContext.Provider value={{ value, onValueChange }}>\n <div\n ref={groupRef}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={[styles.switcher, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n </InlineViewSwitcherContext.Provider>\n );\n}\n"],"mappings":"6GAoBA,IAAM,GAAA,EAAA,EAAA,eAAiF,KAAK,CAG5F,SAAgB,GAAwB,CACtC,IAAM,GAAA,EAAA,EAAA,YAAiB,EAA0B,CAEjD,GAAI,CAAC,EACH,MAAU,MAAM,gEAAgE,CAGlF,OAAO,EAkCT,SAAgB,EAAmB,CACjC,QACA,gBACA,UAAU,UACV,aAAc,EAAY,gBAC1B,WACA,YACA,GAAG,GACuB,CAC1B,IAAM,GAAA,EAAA,EAAA,QAAkC,KAAK,CAE7C,SAAS,EAAc,EAAkC,CACvD,IAAM,EAAQ,MAAM,KAClB,EAAS,SAAS,iBAAoC,8BAA8B,EAAI,EAAE,CAC3F,CACK,EAAgB,SAAS,cACzB,EAAM,aAAyB,kBAAoB,EAAM,QAAQ,EAAc,CAAG,GAExF,GAAI,IAAQ,GACV,OAGF,IAAI,EAAO,EACX,GAAI,EAAE,MAAQ,cAAgB,EAAE,MAAQ,YACtC,GAAQ,EAAM,GAAK,EAAM,eAChB,EAAE,MAAQ,aAAe,EAAE,MAAQ,UAC5C,GAAQ,EAAM,EAAI,EAAM,QAAU,EAAM,eAC/B,EAAE,MAAQ,OACnB,EAAO,UACE,EAAE,MAAQ,MACnB,EAAO,EAAM,OAAS,OAEtB,OAGF,EAAE,gBAAgB,CAClB,EAAM,GAAM,OAAO,CACnB,EAAM,GAAM,OAAO,CAGrB,OACE,EAAA,EAAA,KAAC,EAA0B,SAA3B,CAAoC,MAAO,CAAE,QAAO,gBAAe,WACjE,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,aACL,aAAY,EACZ,UAAW,EACX,UAAW,CAAC,EAAA,QAAO,SAAU,EAAA,QAAO,GAAU,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAClF,GAAI,EAEH,WACG,CAAA,CAC6B,CAAA"}