@gnome-ui/react 1.44.0 → 1.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/README.md +7 -1
  2. package/dist/components/AboutDialog/AboutDialog.cjs +1 -1
  3. package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -1
  4. package/dist/components/AboutDialog/AboutDialog.js +1 -1
  5. package/dist/components/AboutDialog/AboutDialog.js.map +1 -1
  6. package/dist/components/AboutDialog/AboutDialog.module.css.cjs +1 -1
  7. package/dist/components/AboutDialog/AboutDialog.module.css.cjs.map +1 -1
  8. package/dist/components/AboutDialog/AboutDialog.module.css.js +3 -3
  9. package/dist/components/AboutDialog/AboutDialog.module.css.js.map +1 -1
  10. package/dist/components/AboutDialog/index.d.ts +1 -1
  11. package/dist/components/ActionRow/ActionRow.cjs.map +1 -1
  12. package/dist/components/ActionRow/ActionRow.d.ts +1 -1
  13. package/dist/components/ActionRow/ActionRow.js.map +1 -1
  14. package/dist/components/ActionRow/ActionRow.module.css.cjs +1 -1
  15. package/dist/components/ActionRow/ActionRow.module.css.cjs.map +1 -1
  16. package/dist/components/ActionRow/ActionRow.module.css.js +9 -9
  17. package/dist/components/ActionRow/ActionRow.module.css.js.map +1 -1
  18. package/dist/components/ActionRow/index.d.ts +1 -1
  19. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  20. package/dist/components/Avatar/Avatar.d.ts +2 -2
  21. package/dist/components/Avatar/Avatar.js.map +1 -1
  22. package/dist/components/Avatar/Avatar.module.css.cjs +1 -1
  23. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -1
  24. package/dist/components/Avatar/Avatar.module.css.js +16 -16
  25. package/dist/components/Avatar/Avatar.module.css.js.map +1 -1
  26. package/dist/components/Avatar/index.d.ts +1 -1
  27. package/dist/components/AvatarRotator/AvatarRotator.cjs.map +1 -1
  28. package/dist/components/AvatarRotator/AvatarRotator.js.map +1 -1
  29. package/dist/components/AvatarRotator/index.d.ts +1 -1
  30. package/dist/components/Badge/Badge.cjs.map +1 -1
  31. package/dist/components/Badge/Badge.d.ts +1 -1
  32. package/dist/components/Badge/Badge.js.map +1 -1
  33. package/dist/components/Badge/Badge.module.css.cjs +1 -1
  34. package/dist/components/Badge/Badge.module.css.cjs.map +1 -1
  35. package/dist/components/Badge/Badge.module.css.js +9 -9
  36. package/dist/components/Badge/Badge.module.css.js.map +1 -1
  37. package/dist/components/Badge/index.d.ts +1 -1
  38. package/dist/components/Banner/Banner.cjs.map +1 -1
  39. package/dist/components/Banner/Banner.d.ts +1 -1
  40. package/dist/components/Banner/Banner.js.map +1 -1
  41. package/dist/components/Banner/Banner.module.css.cjs +1 -1
  42. package/dist/components/Banner/Banner.module.css.cjs.map +1 -1
  43. package/dist/components/Banner/Banner.module.css.js +5 -5
  44. package/dist/components/Banner/Banner.module.css.js.map +1 -1
  45. package/dist/components/Banner/index.d.ts +1 -1
  46. package/dist/components/Bin/Bin.cjs.map +1 -1
  47. package/dist/components/Bin/Bin.js.map +1 -1
  48. package/dist/components/Bin/index.d.ts +1 -1
  49. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  50. package/dist/components/Blockquote/Blockquote.d.ts +1 -1
  51. package/dist/components/Blockquote/Blockquote.js.map +1 -1
  52. package/dist/components/Blockquote/Blockquote.module.css.cjs +1 -1
  53. package/dist/components/Blockquote/Blockquote.module.css.cjs.map +1 -1
  54. package/dist/components/Blockquote/Blockquote.module.css.js +11 -11
  55. package/dist/components/Blockquote/Blockquote.module.css.js.map +1 -1
  56. package/dist/components/Blockquote/index.d.ts +1 -1
  57. package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
  58. package/dist/components/BottomSheet/BottomSheet.d.ts +1 -1
  59. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  60. package/dist/components/BottomSheet/BottomSheet.module.css.cjs +1 -1
  61. package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -1
  62. package/dist/components/BottomSheet/BottomSheet.module.css.js +3 -3
  63. package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -1
  64. package/dist/components/BottomSheet/index.d.ts +1 -1
  65. package/dist/components/Box/Box.cjs.map +1 -1
  66. package/dist/components/Box/Box.d.ts +3 -3
  67. package/dist/components/Box/Box.js.map +1 -1
  68. package/dist/components/Box/index.d.ts +1 -1
  69. package/dist/components/BoxedList/BoxedList.cjs +1 -1
  70. package/dist/components/BoxedList/BoxedList.cjs.map +1 -1
  71. package/dist/components/BoxedList/BoxedList.d.ts +1 -1
  72. package/dist/components/BoxedList/BoxedList.js +0 -1
  73. package/dist/components/BoxedList/BoxedList.js.map +1 -1
  74. package/dist/components/BoxedList/BoxedList.module.css.cjs +1 -1
  75. package/dist/components/BoxedList/BoxedList.module.css.cjs.map +1 -1
  76. package/dist/components/BoxedList/BoxedList.module.css.js +5 -5
  77. package/dist/components/BoxedList/BoxedList.module.css.js.map +1 -1
  78. package/dist/components/BoxedList/index.d.ts +1 -1
  79. package/dist/components/BreakpointBin/BreakpointBin.cjs +1 -1
  80. package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -1
  81. package/dist/components/BreakpointBin/BreakpointBin.d.ts +1 -1
  82. package/dist/components/BreakpointBin/BreakpointBin.js +1 -1
  83. package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -1
  84. package/dist/components/BreakpointBin/index.d.ts +1 -1
  85. package/dist/components/Button/Button.cjs.map +1 -1
  86. package/dist/components/Button/Button.d.ts +3 -3
  87. package/dist/components/Button/Button.js.map +1 -1
  88. package/dist/components/Button/Button.module.css.cjs +1 -1
  89. package/dist/components/Button/Button.module.css.cjs.map +1 -1
  90. package/dist/components/Button/Button.module.css.js +11 -11
  91. package/dist/components/Button/Button.module.css.js.map +1 -1
  92. package/dist/components/Button/index.d.ts +1 -1
  93. package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -1
  94. package/dist/components/ButtonContent/ButtonContent.d.ts +1 -1
  95. package/dist/components/ButtonContent/ButtonContent.js.map +1 -1
  96. package/dist/components/ButtonContent/index.d.ts +1 -1
  97. package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -1
  98. package/dist/components/ButtonRow/ButtonRow.d.ts +1 -1
  99. package/dist/components/ButtonRow/ButtonRow.js.map +1 -1
  100. package/dist/components/ButtonRow/ButtonRow.module.css.cjs +1 -1
  101. package/dist/components/ButtonRow/ButtonRow.module.css.cjs.map +1 -1
  102. package/dist/components/ButtonRow/ButtonRow.module.css.js +7 -7
  103. package/dist/components/ButtonRow/ButtonRow.module.css.js.map +1 -1
  104. package/dist/components/ButtonRow/index.d.ts +1 -1
  105. package/dist/components/Card/Card.cjs.map +1 -1
  106. package/dist/components/Card/Card.d.ts +1 -1
  107. package/dist/components/Card/Card.js.map +1 -1
  108. package/dist/components/Card/Card.module.css.cjs +1 -1
  109. package/dist/components/Card/Card.module.css.cjs.map +1 -1
  110. package/dist/components/Card/Card.module.css.js +5 -5
  111. package/dist/components/Card/Card.module.css.js.map +1 -1
  112. package/dist/components/Card/index.d.ts +1 -1
  113. package/dist/components/Carousel/Carousel.cjs +1 -1
  114. package/dist/components/Carousel/Carousel.cjs.map +1 -1
  115. package/dist/components/Carousel/Carousel.d.ts +1 -1
  116. package/dist/components/Carousel/Carousel.js +7 -6
  117. package/dist/components/Carousel/Carousel.js.map +1 -1
  118. package/dist/components/Carousel/Carousel.module.css.cjs +1 -1
  119. package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -1
  120. package/dist/components/Carousel/Carousel.module.css.js +10 -10
  121. package/dist/components/Carousel/Carousel.module.css.js.map +1 -1
  122. package/dist/components/Carousel/index.d.ts +1 -1
  123. package/dist/components/CheckRow/CheckRow.cjs.map +1 -1
  124. package/dist/components/CheckRow/CheckRow.d.ts +1 -1
  125. package/dist/components/CheckRow/CheckRow.js.map +1 -1
  126. package/dist/components/CheckRow/CheckRow.module.css.cjs +1 -1
  127. package/dist/components/CheckRow/CheckRow.module.css.cjs.map +1 -1
  128. package/dist/components/CheckRow/CheckRow.module.css.js +10 -10
  129. package/dist/components/CheckRow/CheckRow.module.css.js.map +1 -1
  130. package/dist/components/CheckRow/index.d.ts +1 -1
  131. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  132. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  133. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  134. package/dist/components/Checkbox/Checkbox.module.css.cjs +1 -1
  135. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -1
  136. package/dist/components/Checkbox/Checkbox.module.css.js +1 -1
  137. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -1
  138. package/dist/components/Checkbox/index.d.ts +1 -1
  139. package/dist/components/Chip/Chip.cjs.map +1 -1
  140. package/dist/components/Chip/Chip.d.ts +1 -1
  141. package/dist/components/Chip/Chip.js.map +1 -1
  142. package/dist/components/Chip/Chip.module.css.cjs +1 -1
  143. package/dist/components/Chip/Chip.module.css.cjs.map +1 -1
  144. package/dist/components/Chip/Chip.module.css.js +7 -7
  145. package/dist/components/Chip/Chip.module.css.js.map +1 -1
  146. package/dist/components/Chip/index.d.ts +1 -1
  147. package/dist/components/Clamp/Clamp.cjs.map +1 -1
  148. package/dist/components/Clamp/Clamp.js.map +1 -1
  149. package/dist/components/Clamp/index.d.ts +1 -1
  150. package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -1
  151. package/dist/components/ColorPicker/ColorPicker.d.ts +6 -6
  152. package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
  153. package/dist/components/ColorPicker/ColorPicker.module.css.cjs +1 -1
  154. package/dist/components/ColorPicker/ColorPicker.module.css.cjs.map +1 -1
  155. package/dist/components/ColorPicker/ColorPicker.module.css.js +4 -4
  156. package/dist/components/ColorPicker/ColorPicker.module.css.js.map +1 -1
  157. package/dist/components/ColorPicker/index.d.ts +1 -1
  158. package/dist/components/ColumnView/ColumnView.cjs +1 -1
  159. package/dist/components/ColumnView/ColumnView.cjs.map +1 -1
  160. package/dist/components/ColumnView/ColumnView.d.ts +3 -3
  161. package/dist/components/ColumnView/ColumnView.js +2 -5
  162. package/dist/components/ColumnView/ColumnView.js.map +1 -1
  163. package/dist/components/ColumnView/ColumnView.module.css.cjs +1 -1
  164. package/dist/components/ColumnView/ColumnView.module.css.cjs.map +1 -1
  165. package/dist/components/ColumnView/ColumnView.module.css.js +22 -22
  166. package/dist/components/ColumnView/ColumnView.module.css.js.map +1 -1
  167. package/dist/components/ColumnView/index.d.ts +1 -1
  168. package/dist/components/ComboRow/ComboRow.cjs +1 -1
  169. package/dist/components/ComboRow/ComboRow.cjs.map +1 -1
  170. package/dist/components/ComboRow/ComboRow.d.ts +1 -1
  171. package/dist/components/ComboRow/ComboRow.js +0 -2
  172. package/dist/components/ComboRow/ComboRow.js.map +1 -1
  173. package/dist/components/ComboRow/ComboRow.module.css.cjs +1 -1
  174. package/dist/components/ComboRow/ComboRow.module.css.cjs.map +1 -1
  175. package/dist/components/ComboRow/ComboRow.module.css.js +3 -3
  176. package/dist/components/ComboRow/ComboRow.module.css.js.map +1 -1
  177. package/dist/components/ComboRow/index.d.ts +1 -1
  178. package/dist/components/ContributionGraph/ContributionGraph.cjs +1 -1
  179. package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -1
  180. package/dist/components/ContributionGraph/ContributionGraph.js +41 -41
  181. package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -1
  182. package/dist/components/ContributionGraph/index.d.ts +1 -1
  183. package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -1
  184. package/dist/components/CountDownTimer/CountDownTimer.d.ts +3 -3
  185. package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -1
  186. package/dist/components/CountDownTimer/index.d.ts +1 -1
  187. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  188. package/dist/components/Dialog/Dialog.d.ts +4 -4
  189. package/dist/components/Dialog/Dialog.js.map +1 -1
  190. package/dist/components/Dialog/Dialog.module.css.cjs +1 -1
  191. package/dist/components/Dialog/Dialog.module.css.cjs.map +1 -1
  192. package/dist/components/Dialog/Dialog.module.css.js +6 -6
  193. package/dist/components/Dialog/Dialog.module.css.js.map +1 -1
  194. package/dist/components/Dialog/dialogUtils.cjs.map +1 -1
  195. package/dist/components/Dialog/dialogUtils.js.map +1 -1
  196. package/dist/components/Dialog/index.d.ts +1 -1
  197. package/dist/components/Drawer/Drawer.cjs +1 -1
  198. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  199. package/dist/components/Drawer/Drawer.d.ts +3 -3
  200. package/dist/components/Drawer/Drawer.js +49 -38
  201. package/dist/components/Drawer/Drawer.js.map +1 -1
  202. package/dist/components/Drawer/Drawer.module.css.cjs +1 -1
  203. package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -1
  204. package/dist/components/Drawer/Drawer.module.css.js +7 -6
  205. package/dist/components/Drawer/Drawer.module.css.js.map +1 -1
  206. package/dist/components/Drawer/index.d.ts +1 -1
  207. package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
  208. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  209. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  210. package/dist/components/Dropdown/Dropdown.module.css.cjs +1 -1
  211. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +1 -1
  212. package/dist/components/Dropdown/Dropdown.module.css.js +3 -3
  213. package/dist/components/Dropdown/Dropdown.module.css.js.map +1 -1
  214. package/dist/components/Dropdown/index.d.ts +1 -1
  215. package/dist/components/EntryRow/EntryRow.cjs.map +1 -1
  216. package/dist/components/EntryRow/EntryRow.js.map +1 -1
  217. package/dist/components/EntryRow/EntryRow.module.css.cjs +1 -1
  218. package/dist/components/EntryRow/EntryRow.module.css.cjs.map +1 -1
  219. package/dist/components/EntryRow/EntryRow.module.css.js +10 -10
  220. package/dist/components/EntryRow/EntryRow.module.css.js.map +1 -1
  221. package/dist/components/EntryRow/index.d.ts +1 -1
  222. package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -1
  223. package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -1
  224. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs +1 -1
  225. package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs.map +1 -1
  226. package/dist/components/ExpanderRow/ExpanderRow.module.css.js +14 -14
  227. package/dist/components/ExpanderRow/ExpanderRow.module.css.js.map +1 -1
  228. package/dist/components/ExpanderRow/index.d.ts +1 -1
  229. package/dist/components/Footer/Footer.cjs.map +1 -1
  230. package/dist/components/Footer/Footer.js.map +1 -1
  231. package/dist/components/Footer/index.d.ts +1 -1
  232. package/dist/components/Frame/Frame.cjs.map +1 -1
  233. package/dist/components/Frame/Frame.js.map +1 -1
  234. package/dist/components/Frame/index.d.ts +1 -1
  235. package/dist/components/GnomeProvider/GnomeContext.cjs.map +1 -1
  236. package/dist/components/GnomeProvider/GnomeContext.d.ts +5 -5
  237. package/dist/components/GnomeProvider/GnomeContext.js.map +1 -1
  238. package/dist/components/GnomeProvider/GnomeProvider.cjs.map +1 -1
  239. package/dist/components/GnomeProvider/GnomeProvider.js.map +1 -1
  240. package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -1
  241. package/dist/components/HeaderBar/HeaderBar.d.ts +1 -1
  242. package/dist/components/HeaderBar/HeaderBar.js.map +1 -1
  243. package/dist/components/HeaderBar/index.d.ts +1 -1
  244. package/dist/components/Icon/Icon.cjs.map +1 -1
  245. package/dist/components/Icon/Icon.d.ts +2 -2
  246. package/dist/components/Icon/Icon.js.map +1 -1
  247. package/dist/components/Icon/index.d.ts +1 -1
  248. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  249. package/dist/components/IconButton/IconButton.d.ts +2 -2
  250. package/dist/components/IconButton/IconButton.js.map +1 -1
  251. package/dist/components/IconButton/index.d.ts +1 -1
  252. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +1 -1
  253. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -1
  254. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.d.ts +3 -3
  255. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +8 -8
  256. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -1
  257. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs +1 -1
  258. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs.map +1 -1
  259. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js +10 -10
  260. package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js.map +1 -1
  261. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -1
  262. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.d.ts +1 -1
  263. package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -1
  264. package/dist/components/InlineViewSwitcher/index.d.ts +2 -2
  265. package/dist/components/Link/Link.cjs.map +1 -1
  266. package/dist/components/Link/Link.js.map +1 -1
  267. package/dist/components/Link/Link.module.css.cjs +1 -1
  268. package/dist/components/Link/Link.module.css.cjs.map +1 -1
  269. package/dist/components/Link/Link.module.css.js +2 -2
  270. package/dist/components/Link/Link.module.css.js.map +1 -1
  271. package/dist/components/Link/index.d.ts +1 -1
  272. package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -1
  273. package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -1
  274. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs +1 -1
  275. package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs.map +1 -1
  276. package/dist/components/LinkedGroup/LinkedGroup.module.css.js +2 -2
  277. package/dist/components/LinkedGroup/LinkedGroup.module.css.js.map +1 -1
  278. package/dist/components/LinkedGroup/index.d.ts +1 -1
  279. package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -1
  280. package/dist/components/NavigationSplitView/NavigationSplitView.d.ts +1 -1
  281. package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -1
  282. package/dist/components/NavigationSplitView/index.d.ts +1 -1
  283. package/dist/components/NavigationView/NavigationView.cjs.map +1 -1
  284. package/dist/components/NavigationView/NavigationView.d.ts +2 -2
  285. package/dist/components/NavigationView/NavigationView.js.map +1 -1
  286. package/dist/components/NavigationView/NavigationView.module.css.cjs +1 -1
  287. package/dist/components/NavigationView/NavigationView.module.css.cjs.map +1 -1
  288. package/dist/components/NavigationView/NavigationView.module.css.js +3 -3
  289. package/dist/components/NavigationView/NavigationView.module.css.js.map +1 -1
  290. package/dist/components/NavigationView/index.d.ts +2 -2
  291. package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -1
  292. package/dist/components/OverlaySplitView/OverlaySplitView.d.ts +2 -2
  293. package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -1
  294. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs +1 -1
  295. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs.map +1 -1
  296. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js +12 -12
  297. package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js.map +1 -1
  298. package/dist/components/OverlaySplitView/index.d.ts +1 -1
  299. package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -1
  300. package/dist/components/PasswordEntryRow/PasswordEntryRow.d.ts +1 -1
  301. package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -1
  302. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs +1 -1
  303. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs.map +1 -1
  304. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js +1 -1
  305. package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js.map +1 -1
  306. package/dist/components/PasswordEntryRow/index.d.ts +1 -1
  307. package/dist/components/PathBar/PathBar.cjs.map +1 -1
  308. package/dist/components/PathBar/PathBar.js.map +1 -1
  309. package/dist/components/PathBar/PathBar.module.css.cjs +1 -1
  310. package/dist/components/PathBar/PathBar.module.css.cjs.map +1 -1
  311. package/dist/components/PathBar/PathBar.module.css.js +7 -7
  312. package/dist/components/PathBar/PathBar.module.css.js.map +1 -1
  313. package/dist/components/PathBar/index.d.ts +1 -1
  314. package/dist/components/Popover/Popover.cjs.map +1 -1
  315. package/dist/components/Popover/Popover.d.ts +2 -2
  316. package/dist/components/Popover/Popover.js.map +1 -1
  317. package/dist/components/Popover/Popover.module.css.cjs +1 -1
  318. package/dist/components/Popover/Popover.module.css.cjs.map +1 -1
  319. package/dist/components/Popover/Popover.module.css.js +7 -7
  320. package/dist/components/Popover/Popover.module.css.js.map +1 -1
  321. package/dist/components/Popover/index.d.ts +1 -1
  322. package/dist/components/PreferencesDialog/PreferencesDialog.cjs +1 -1
  323. package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -1
  324. package/dist/components/PreferencesDialog/PreferencesDialog.d.ts +1 -1
  325. package/dist/components/PreferencesDialog/PreferencesDialog.js +0 -1
  326. package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -1
  327. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +1 -1
  328. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs.map +1 -1
  329. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +3 -3
  330. package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js.map +1 -1
  331. package/dist/components/PreferencesDialog/index.d.ts +1 -1
  332. package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -1
  333. package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -1
  334. package/dist/components/PreferencesGroup/index.d.ts +1 -1
  335. package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -1
  336. package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -1
  337. package/dist/components/PreferencesPage/index.d.ts +1 -1
  338. package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -1
  339. package/dist/components/ProgressBar/ProgressBar.d.ts +4 -4
  340. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  341. package/dist/components/ProgressBar/ProgressBar.module.css.cjs +1 -1
  342. package/dist/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -1
  343. package/dist/components/ProgressBar/ProgressBar.module.css.js +8 -8
  344. package/dist/components/ProgressBar/ProgressBar.module.css.js.map +1 -1
  345. package/dist/components/ProgressBar/index.d.ts +1 -1
  346. package/dist/components/RadioButton/RadioButton.cjs.map +1 -1
  347. package/dist/components/RadioButton/RadioButton.d.ts +2 -2
  348. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  349. package/dist/components/RadioButton/RadioButton.module.css.cjs +1 -1
  350. package/dist/components/RadioButton/RadioButton.module.css.cjs.map +1 -1
  351. package/dist/components/RadioButton/RadioButton.module.css.js +1 -1
  352. package/dist/components/RadioButton/RadioButton.module.css.js.map +1 -1
  353. package/dist/components/RadioButton/index.d.ts +1 -1
  354. package/dist/components/SearchBar/SearchBar.cjs +1 -1
  355. package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
  356. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  357. package/dist/components/SearchBar/SearchBar.js +1 -3
  358. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  359. package/dist/components/SearchBar/SearchBar.module.css.cjs +1 -1
  360. package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -1
  361. package/dist/components/SearchBar/SearchBar.module.css.js +13 -13
  362. package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -1
  363. package/dist/components/SearchBar/index.d.ts +1 -1
  364. package/dist/components/SegmentedBar/SegmentedBar.cjs +2 -0
  365. package/dist/components/SegmentedBar/SegmentedBar.cjs.map +1 -0
  366. package/dist/components/SegmentedBar/SegmentedBar.d.ts +42 -0
  367. package/dist/components/SegmentedBar/SegmentedBar.js +40 -0
  368. package/dist/components/SegmentedBar/SegmentedBar.js.map +1 -0
  369. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs +2 -0
  370. package/dist/components/SegmentedBar/SegmentedBar.module.css.cjs.map +1 -0
  371. package/dist/components/SegmentedBar/SegmentedBar.module.css.js +18 -0
  372. package/dist/components/SegmentedBar/SegmentedBar.module.css.js.map +1 -0
  373. package/dist/components/SegmentedBar/index.d.ts +2 -0
  374. package/dist/components/SegmentedBar.cjs +1 -0
  375. package/dist/components/SegmentedBar.d.ts +2 -0
  376. package/dist/components/SegmentedBar.js +2 -0
  377. package/dist/components/Separator/Separator.cjs.map +1 -1
  378. package/dist/components/Separator/Separator.d.ts +1 -1
  379. package/dist/components/Separator/Separator.js.map +1 -1
  380. package/dist/components/Separator/index.d.ts +1 -1
  381. package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -1
  382. package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -1
  383. package/dist/components/ShortcutLabel/index.d.ts +1 -1
  384. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +1 -1
  385. package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -1
  386. package/dist/components/ShortcutsDialog/ShortcutsDialog.js +0 -1
  387. package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -1
  388. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +1 -1
  389. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs.map +1 -1
  390. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +3 -3
  391. package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js.map +1 -1
  392. package/dist/components/ShortcutsDialog/index.d.ts +1 -1
  393. package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
  394. package/dist/components/Sidebar/Sidebar.d.ts +2 -2
  395. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  396. package/dist/components/Sidebar/Sidebar.module.css.cjs +1 -1
  397. package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -1
  398. package/dist/components/Sidebar/Sidebar.module.css.js +2 -2
  399. package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -1
  400. package/dist/components/Sidebar/SidebarItem.cjs.map +1 -1
  401. package/dist/components/Sidebar/SidebarItem.d.ts +1 -1
  402. package/dist/components/Sidebar/SidebarItem.js.map +1 -1
  403. package/dist/components/Sidebar/SidebarSection.cjs +1 -1
  404. package/dist/components/Sidebar/SidebarSection.cjs.map +1 -1
  405. package/dist/components/Sidebar/SidebarSection.d.ts +1 -1
  406. package/dist/components/Sidebar/SidebarSection.js +0 -1
  407. package/dist/components/Sidebar/SidebarSection.js.map +1 -1
  408. package/dist/components/Sidebar/index.d.ts +4 -4
  409. package/dist/components/Sidebar.cjs +1 -1
  410. package/dist/components/Sidebar.js +3 -3
  411. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  412. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  413. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  414. package/dist/components/Skeleton/Skeleton.module.css.cjs +1 -1
  415. package/dist/components/Skeleton/Skeleton.module.css.cjs.map +1 -1
  416. package/dist/components/Skeleton/Skeleton.module.css.js +7 -7
  417. package/dist/components/Skeleton/Skeleton.module.css.js.map +1 -1
  418. package/dist/components/Skeleton/index.d.ts +1 -1
  419. package/dist/components/Slider/Slider.cjs.map +1 -1
  420. package/dist/components/Slider/Slider.d.ts +5 -5
  421. package/dist/components/Slider/Slider.js.map +1 -1
  422. package/dist/components/Slider/Slider.module.css.cjs +1 -1
  423. package/dist/components/Slider/Slider.module.css.cjs.map +1 -1
  424. package/dist/components/Slider/Slider.module.css.js +9 -9
  425. package/dist/components/Slider/Slider.module.css.js.map +1 -1
  426. package/dist/components/Slider/index.d.ts +1 -1
  427. package/dist/components/SpinButton/SpinButton.cjs.map +1 -1
  428. package/dist/components/SpinButton/SpinButton.d.ts +4 -4
  429. package/dist/components/SpinButton/SpinButton.js.map +1 -1
  430. package/dist/components/SpinButton/SpinButton.module.css.cjs +1 -1
  431. package/dist/components/SpinButton/SpinButton.module.css.cjs.map +1 -1
  432. package/dist/components/SpinButton/SpinButton.module.css.js +4 -4
  433. package/dist/components/SpinButton/SpinButton.module.css.js.map +1 -1
  434. package/dist/components/SpinButton/index.d.ts +1 -1
  435. package/dist/components/SpinRow/SpinRow.cjs.map +1 -1
  436. package/dist/components/SpinRow/SpinRow.d.ts +1 -1
  437. package/dist/components/SpinRow/SpinRow.js.map +1 -1
  438. package/dist/components/SpinRow/SpinRow.module.css.cjs +1 -1
  439. package/dist/components/SpinRow/SpinRow.module.css.cjs.map +1 -1
  440. package/dist/components/SpinRow/SpinRow.module.css.js +9 -9
  441. package/dist/components/SpinRow/SpinRow.module.css.js.map +1 -1
  442. package/dist/components/SpinRow/index.d.ts +1 -1
  443. package/dist/components/Spinner/Spinner.cjs.map +1 -1
  444. package/dist/components/Spinner/Spinner.d.ts +1 -1
  445. package/dist/components/Spinner/Spinner.js.map +1 -1
  446. package/dist/components/Spinner/Spinner.module.css.cjs +1 -1
  447. package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -1
  448. package/dist/components/Spinner/Spinner.module.css.js +5 -5
  449. package/dist/components/Spinner/Spinner.module.css.js.map +1 -1
  450. package/dist/components/Spinner/index.d.ts +1 -1
  451. package/dist/components/SplitButton/SplitButton.cjs.map +1 -1
  452. package/dist/components/SplitButton/SplitButton.d.ts +2 -2
  453. package/dist/components/SplitButton/SplitButton.js.map +1 -1
  454. package/dist/components/SplitButton/SplitButton.module.css.cjs +1 -1
  455. package/dist/components/SplitButton/SplitButton.module.css.cjs.map +1 -1
  456. package/dist/components/SplitButton/SplitButton.module.css.js +10 -10
  457. package/dist/components/SplitButton/SplitButton.module.css.js.map +1 -1
  458. package/dist/components/SplitButton/index.d.ts +1 -1
  459. package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -1
  460. package/dist/components/StatusBadge/StatusBadge.d.ts +1 -1
  461. package/dist/components/StatusBadge/StatusBadge.js.map +1 -1
  462. package/dist/components/StatusBadge/StatusBadge.module.css.cjs +1 -1
  463. package/dist/components/StatusBadge/StatusBadge.module.css.cjs.map +1 -1
  464. package/dist/components/StatusBadge/StatusBadge.module.css.js +7 -7
  465. package/dist/components/StatusBadge/StatusBadge.module.css.js.map +1 -1
  466. package/dist/components/StatusBadge/index.d.ts +1 -1
  467. package/dist/components/StatusPage/StatusPage.cjs.map +1 -1
  468. package/dist/components/StatusPage/StatusPage.d.ts +1 -1
  469. package/dist/components/StatusPage/StatusPage.js.map +1 -1
  470. package/dist/components/StatusPage/index.d.ts +1 -1
  471. package/dist/components/Switch/Switch.cjs.map +1 -1
  472. package/dist/components/Switch/Switch.d.ts +2 -2
  473. package/dist/components/Switch/Switch.js.map +1 -1
  474. package/dist/components/Switch/Switch.module.css.cjs +1 -1
  475. package/dist/components/Switch/Switch.module.css.cjs.map +1 -1
  476. package/dist/components/Switch/Switch.module.css.js +1 -1
  477. package/dist/components/Switch/Switch.module.css.js.map +1 -1
  478. package/dist/components/Switch/index.d.ts +1 -1
  479. package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -1
  480. package/dist/components/SwitchRow/SwitchRow.d.ts +1 -1
  481. package/dist/components/SwitchRow/SwitchRow.js.map +1 -1
  482. package/dist/components/SwitchRow/SwitchRow.module.css.cjs +1 -1
  483. package/dist/components/SwitchRow/SwitchRow.module.css.cjs.map +1 -1
  484. package/dist/components/SwitchRow/SwitchRow.module.css.js +9 -9
  485. package/dist/components/SwitchRow/SwitchRow.module.css.js.map +1 -1
  486. package/dist/components/SwitchRow/index.d.ts +1 -1
  487. package/dist/components/Tabs/TabBar.cjs +1 -1
  488. package/dist/components/Tabs/TabBar.cjs.map +1 -1
  489. package/dist/components/Tabs/TabBar.d.ts +2 -2
  490. package/dist/components/Tabs/TabBar.js +8 -8
  491. package/dist/components/Tabs/TabBar.js.map +1 -1
  492. package/dist/components/Tabs/TabItem.cjs +1 -1
  493. package/dist/components/Tabs/TabItem.cjs.map +1 -1
  494. package/dist/components/Tabs/TabItem.d.ts +4 -2
  495. package/dist/components/Tabs/TabItem.js +34 -32
  496. package/dist/components/Tabs/TabItem.js.map +1 -1
  497. package/dist/components/Tabs/TabPanel.cjs +1 -1
  498. package/dist/components/Tabs/TabPanel.cjs.map +1 -1
  499. package/dist/components/Tabs/TabPanel.js +0 -1
  500. package/dist/components/Tabs/TabPanel.js.map +1 -1
  501. package/dist/components/Tabs/Tabs.module.css.cjs +1 -1
  502. package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -1
  503. package/dist/components/Tabs/Tabs.module.css.js +10 -9
  504. package/dist/components/Tabs/Tabs.module.css.js.map +1 -1
  505. package/dist/components/Tabs/index.d.ts +3 -3
  506. package/dist/components/TerminalView/TerminalView.cjs +1 -1
  507. package/dist/components/TerminalView/TerminalView.cjs.map +1 -1
  508. package/dist/components/TerminalView/TerminalView.d.ts +1 -1
  509. package/dist/components/TerminalView/TerminalView.js +1 -1
  510. package/dist/components/TerminalView/TerminalView.js.map +1 -1
  511. package/dist/components/TerminalView/index.d.ts +1 -1
  512. package/dist/components/Text/Text.cjs.map +1 -1
  513. package/dist/components/Text/Text.d.ts +2 -2
  514. package/dist/components/Text/Text.js.map +1 -1
  515. package/dist/components/Text/index.d.ts +1 -1
  516. package/dist/components/TextField/TextField.cjs.map +1 -1
  517. package/dist/components/TextField/TextField.d.ts +1 -1
  518. package/dist/components/TextField/TextField.js.map +1 -1
  519. package/dist/components/TextField/TextField.module.css.cjs +1 -1
  520. package/dist/components/TextField/TextField.module.css.cjs.map +1 -1
  521. package/dist/components/TextField/TextField.module.css.js +7 -7
  522. package/dist/components/TextField/TextField.module.css.js.map +1 -1
  523. package/dist/components/TextField/index.d.ts +1 -1
  524. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  525. package/dist/components/Timeline/Timeline.d.ts +2 -2
  526. package/dist/components/Timeline/Timeline.js.map +1 -1
  527. package/dist/components/Timeline/index.d.ts +1 -1
  528. package/dist/components/Toast/Toast.cjs +1 -1
  529. package/dist/components/Toast/Toast.cjs.map +1 -1
  530. package/dist/components/Toast/Toast.d.ts +1 -1
  531. package/dist/components/Toast/Toast.js +39 -35
  532. package/dist/components/Toast/Toast.js.map +1 -1
  533. package/dist/components/Toast/Toast.module.css.cjs +1 -1
  534. package/dist/components/Toast/Toast.module.css.cjs.map +1 -1
  535. package/dist/components/Toast/Toast.module.css.js +2 -2
  536. package/dist/components/Toast/Toast.module.css.js.map +1 -1
  537. package/dist/components/Toast/Toaster.cjs.map +1 -1
  538. package/dist/components/Toast/Toaster.d.ts +1 -1
  539. package/dist/components/Toast/Toaster.js.map +1 -1
  540. package/dist/components/Toast/index.d.ts +2 -2
  541. package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -1
  542. package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
  543. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -2
  544. package/dist/components/ToggleGroup/ToggleGroup.js +8 -8
  545. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  546. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +1 -1
  547. package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -1
  548. package/dist/components/ToggleGroup/ToggleGroup.module.css.js +6 -6
  549. package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -1
  550. package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  551. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
  552. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
  553. package/dist/components/ToggleGroup/index.d.ts +2 -2
  554. package/dist/components/Toolbar/Spacer.cjs.map +1 -1
  555. package/dist/components/Toolbar/Spacer.d.ts +1 -2
  556. package/dist/components/Toolbar/Spacer.js.map +1 -1
  557. package/dist/components/Toolbar/Toolbar.cjs.map +1 -1
  558. package/dist/components/Toolbar/Toolbar.js.map +1 -1
  559. package/dist/components/Toolbar/index.d.ts +3 -3
  560. package/dist/components/Toolbar.cjs +1 -1
  561. package/dist/components/Toolbar.js +3 -3
  562. package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -1
  563. package/dist/components/ToolbarView/ToolbarView.js.map +1 -1
  564. package/dist/components/ToolbarView/index.d.ts +1 -1
  565. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  566. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  567. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  568. package/dist/components/Tooltip/Tooltip.js +4 -4
  569. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  570. package/dist/components/Tooltip/Tooltip.module.css.cjs +1 -1
  571. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -1
  572. package/dist/components/Tooltip/Tooltip.module.css.js +6 -6
  573. package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -1
  574. package/dist/components/Tooltip/index.d.ts +1 -1
  575. package/dist/components/ViewSwitcher/ViewSwitcher.cjs +1 -1
  576. package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -1
  577. package/dist/components/ViewSwitcher/ViewSwitcher.d.ts +2 -2
  578. package/dist/components/ViewSwitcher/ViewSwitcher.js +8 -8
  579. package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -1
  580. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs +1 -1
  581. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs.map +1 -1
  582. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js +5 -5
  583. package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js.map +1 -1
  584. package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -1
  585. package/dist/components/ViewSwitcher/ViewSwitcherItem.d.ts +1 -1
  586. package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -1
  587. package/dist/components/ViewSwitcher/index.d.ts +2 -2
  588. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -1
  589. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -1
  590. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs +1 -1
  591. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs.map +1 -1
  592. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js +1 -1
  593. package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js.map +1 -1
  594. package/dist/components/ViewSwitcherBar/index.d.ts +1 -1
  595. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +1 -1
  596. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -1
  597. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.d.ts +2 -2
  598. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +8 -8
  599. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -1
  600. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs +1 -1
  601. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs.map +1 -1
  602. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js +14 -14
  603. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js.map +1 -1
  604. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -1
  605. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.d.ts +1 -1
  606. package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -1
  607. package/dist/components/ViewSwitcherSidebar/index.d.ts +2 -2
  608. package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -1
  609. package/dist/components/WindowTitle/WindowTitle.js.map +1 -1
  610. package/dist/components/WindowTitle/index.d.ts +1 -1
  611. package/dist/components/WrapBox/WrapBox.cjs.map +1 -1
  612. package/dist/components/WrapBox/WrapBox.d.ts +2 -2
  613. package/dist/components/WrapBox/WrapBox.js.map +1 -1
  614. package/dist/components/WrapBox/index.d.ts +1 -1
  615. package/dist/hooks/index.d.ts +3 -3
  616. package/dist/hooks/useBreakpoint.cjs +1 -1
  617. package/dist/hooks/useBreakpoint.cjs.map +1 -1
  618. package/dist/hooks/useBreakpoint.js +12 -12
  619. package/dist/hooks/useBreakpoint.js.map +1 -1
  620. package/dist/index.cjs +1 -1
  621. package/dist/index.d.ts +153 -151
  622. package/dist/index.js +35 -34
  623. package/dist/style.css +1 -1
  624. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.js","names":[],"sources":["../../../src/components/Tabs/TabBar.tsx"],"sourcesContent":["import {\n useRef,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabBarProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n /** Accessible label for the tab list. */\n \"aria-label\"?: string;\n /**\n * Removes the header-bar background so the tab bar blends into any surface.\n * Use when placing the bar inside a card, content area, or custom container.\n * Mirrors the `.inline` style class.\n */\n inline?: boolean;\n}\n\n/**\n * Horizontal tab bar that holds `TabItem` elements.\n *\n * Manages roving-tabindex keyboard navigation (← → Home End).\n *\n * @see https://developer.gnome.org/hig/patterns/nav/tabs.html\n */\nexport function TabBar({\n children,\n className,\n inline = false,\n \"aria-label\": ariaLabel = \"Tabs\",\n ...props\n}: TabBarProps) {\n const listRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const tabs = Array.from(\n listRef.current?.querySelectorAll<HTMLButtonElement>(\n \"[role=tab]:not(:disabled)\",\n ) ?? [],\n );\n const idx = tabs.findIndex((t) => t === document.activeElement);\n if (idx === -1) return;\n\n let next = idx;\n if (e.key === \"ArrowRight\") next = (idx + 1) % tabs.length;\n else if (e.key === \"ArrowLeft\") next = (idx - 1 + tabs.length) % tabs.length;\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = tabs.length - 1;\n else return;\n\n e.preventDefault();\n tabs[next].focus();\n }\n\n return (\n <div\n className={[styles.bar, inline ? styles.inline : null, className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n <div\n ref={listRef}\n role=\"tablist\"\n aria-label={ariaLabel}\n className={styles.list}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;AA2BA,SAAgB,EAAO,EACrB,aACA,cACA,YAAS,IACT,cAAc,IAAY,QAC1B,GAAG,KACW;CACd,IAAM,IAAU,EAAuB,KAAK;CAE5C,SAAS,EAAc,GAAkC;EACvD,IAAM,IAAO,MAAM,KACjB,EAAQ,SAAS,iBACf,4BACD,IAAI,EAAE,CACR,EACK,IAAM,EAAK,WAAW,MAAM,MAAM,SAAS,cAAc;AAC/D,MAAI,MAAQ,GAAI;EAEhB,IAAI,IAAO;AACX,MAAI,EAAE,QAAQ,aAAc,MAAQ,IAAM,KAAK,EAAK;WAC3C,EAAE,QAAQ,YAAa,MAAQ,IAAM,IAAI,EAAK,UAAU,EAAK;WAC7D,EAAE,QAAQ,OAAQ,KAAO;WACzB,EAAE,QAAQ,MAAO,KAAO,EAAK,SAAS;MAC1C;AAGL,EADA,EAAE,gBAAgB,EAClB,EAAK,GAAM,OAAO;;AAGpB,QACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAK,IAAS,EAAO,SAAS;GAAM;GAAU,CAC9D,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAEJ,kBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAY;GACZ,WAAW,EAAO;GAClB,WAAW;GAEV;GACG,CAAA;EACF,CAAA"}
1
+ {"version":3,"file":"TabBar.js","names":[],"sources":["../../../src/components/Tabs/TabBar.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, type ReactNode, useRef } from 'react';\n\nimport styles from './Tabs.module.css';\n\nexport interface TabBarProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n /** Accessible label for the tab list. */\n 'aria-label'?: string;\n /**\n * Removes the header-bar background so the tab bar blends into any surface.\n * Use when placing the bar inside a card, content area, or custom container.\n * Mirrors the `.inline` style class.\n */\n inline?: boolean;\n}\n\n/**\n * Horizontal tab bar that holds `TabItem` elements.\n *\n * Manages roving-tabindex keyboard navigation (← → Home End).\n *\n * @see https://developer.gnome.org/hig/patterns/nav/tabs.html\n */\nexport function TabBar({\n children,\n className,\n inline = false,\n 'aria-label': ariaLabel = 'Tabs',\n ...props\n}: TabBarProps) {\n const listRef = useRef<HTMLDivElement>(null);\n\n function handleKeyDown(e: KeyboardEvent<HTMLDivElement>) {\n const tabs = Array.from(\n listRef.current?.querySelectorAll<HTMLButtonElement>('[role=tab]:not(:disabled)') ?? [],\n );\n const activeElement = document.activeElement;\n const idx = activeElement instanceof HTMLButtonElement ? tabs.indexOf(activeElement) : -1;\n\n if (idx === -1) {\n return;\n }\n\n let next = idx;\n if (e.key === 'ArrowRight') {\n next = (idx + 1) % tabs.length;\n } else if (e.key === 'ArrowLeft') {\n next = (idx - 1 + tabs.length) % tabs.length;\n } else if (e.key === 'Home') {\n next = 0;\n } else if (e.key === 'End') {\n next = tabs.length - 1;\n } else {\n return;\n }\n\n e.preventDefault();\n tabs[next].focus();\n }\n\n return (\n <div\n className={[styles.bar, inline ? styles.inline : null, className].filter(Boolean).join(' ')}\n {...props}\n >\n <div\n ref={listRef}\n role=\"tablist\"\n aria-label={ariaLabel}\n className={styles.list}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;AAuBA,SAAgB,EAAO,EACrB,aACA,cACA,YAAS,IACT,cAAc,IAAY,QAC1B,GAAG,KACW;CACd,IAAM,IAAU,EAAuB,KAAK;CAE5C,SAAS,EAAc,GAAkC;EACvD,IAAM,IAAO,MAAM,KACjB,EAAQ,SAAS,iBAAoC,4BAA4B,IAAI,EAAE,CACxF,EACK,IAAgB,SAAS,eACzB,IAAM,aAAyB,oBAAoB,EAAK,QAAQ,EAAc,GAAG;AAEvF,MAAI,MAAQ,GACV;EAGF,IAAI,IAAO;AACX,MAAI,EAAE,QAAQ,aACZ,MAAQ,IAAM,KAAK,EAAK;WACf,EAAE,QAAQ,YACnB,MAAQ,IAAM,IAAI,EAAK,UAAU,EAAK;WAC7B,EAAE,QAAQ,OACnB,KAAO;WACE,EAAE,QAAQ,MACnB,KAAO,EAAK,SAAS;MAErB;AAIF,EADA,EAAE,gBAAgB,EAClB,EAAK,GAAM,OAAO;;AAGpB,QACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAK,IAAS,EAAO,SAAS;GAAM;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC3F,GAAI;YAEJ,kBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAY;GACZ,WAAW,EAAO;GAClB,WAAW;GAEV;GACG,CAAA;EACF,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`../Icon/Icon.cjs`),t=require(`./Tabs.module.css.cjs`);let n=require(`react/jsx-runtime`);function r({label:r,icon:i,active:a=!1,panelId:o,onClose:s,closeLabel:c=`Close tab`,className:l,disabled:u,...d}){return(0,n.jsxs)(`button`,{role:`tab`,type:`button`,"aria-selected":a,"aria-controls":o,tabIndex:a?0:-1,disabled:u,className:[t.default.tab,a?t.default.active:null,s?t.default.closeable:null,l].filter(Boolean).join(` `),...d,children:[i&&(0,n.jsx)(`span`,{className:t.default.tabIcon,children:(0,n.jsx)(e.Icon,{icon:i,size:`sm`,"aria-hidden":!0})}),(0,n.jsx)(`span`,{className:t.default.tabLabel,children:r}),s&&(0,n.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":c,className:t.default.closeBtn,onClick:e=>{e.stopPropagation(),s()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),s())},children:`×`})]})}exports.TabItem=r;
1
+ const e=require(`../Badge/Badge.cjs`),t=require(`../Icon/Icon.cjs`),n=require(`./Tabs.module.css.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=(0,r.memo)(function({label:r,icon:a,active:o=!1,panelId:s,onClose:c,closeLabel:l=`Close tab`,count:u,className:d,disabled:f,...p}){return(0,i.jsxs)(`button`,{role:`tab`,type:`button`,"aria-selected":o,"aria-controls":s,tabIndex:o?0:-1,disabled:f,className:[n.default.tab,o?n.default.active:null,c?n.default.closeable:null,d].filter(Boolean).join(` `),...p,children:[a&&(0,i.jsx)(`span`,{className:n.default.tabIcon,children:(0,i.jsx)(t.Icon,{icon:a,size:`sm`,"aria-hidden":!0})}),(0,i.jsx)(`span`,{className:n.default.tabLabel,children:r}),u!==void 0&&(0,i.jsx)(e.Badge,{className:n.default.tabBadge,children:u>99?`99+`:u}),c&&(0,i.jsx)(`button`,{type:`button`,"aria-label":l,className:n.default.closeBtn,onClick:e=>{e.stopPropagation(),c()},children:`×`})]})});exports.TabItem=a;
2
2
  //# sourceMappingURL=TabItem.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabItem.cjs","names":[],"sources":["../../../src/components/Tabs/TabItem.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Tab label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this tab as the currently selected one. */\n active?: boolean;\n /**\n * id of the `TabPanel` this tab controls.\n * Sets `aria-controls` automatically.\n */\n panelId?: string;\n /**\n * When provided, a close (×) button is rendered at the trailing edge.\n * Called when the user clicks the close button.\n */\n onClose?: () => void;\n /** Accessible label for the close button. Defaults to `\"Close tab\"`. */\n closeLabel?: string;\n children?: ReactNode;\n}\n\n/**\n * Individual tab button inside a `TabBar`.\n */\nexport function TabItem({\n label,\n icon,\n active = false,\n panelId,\n onClose,\n closeLabel = \"Close tab\",\n className,\n disabled,\n ...props\n}: TabItemProps) {\n return (\n <button\n role=\"tab\"\n type=\"button\"\n aria-selected={active}\n aria-controls={panelId}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[\n styles.tab,\n active ? styles.active : null,\n onClose ? styles.closeable : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {icon && (\n <span className={styles.tabIcon}>\n <Icon icon={icon} size=\"sm\" aria-hidden />\n </span>\n )}\n <span className={styles.tabLabel}>{label}</span>\n\n {onClose && (\n <span\n role=\"button\"\n tabIndex={0}\n aria-label={closeLabel}\n className={styles.closeBtn}\n onClick={(e) => { e.stopPropagation(); onClose(); }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n e.stopPropagation();\n onClose();\n }\n }}\n >\n ×\n </span>\n )}\n </button>\n );\n}\n"],"mappings":"0GA8BA,SAAgB,EAAQ,CACtB,QACA,OACA,SAAS,GACT,UACA,UACA,aAAa,YACb,YACA,WACA,GAAG,GACY,CACf,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,MACL,KAAK,SACL,gBAAe,EACf,gBAAe,EACf,SAAU,EAAS,EAAI,GACb,WACV,UAAW,CACT,EAAA,QAAO,IACP,EAAS,EAAA,QAAO,OAAS,KACzB,EAAU,EAAA,QAAO,UAAY,KAC7B,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAfN,CAiBG,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBACtB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAK,KAAK,cAAA,GAAc,CAAA,CACrC,CAAA,EAET,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBAAW,EAAa,CAAA,CAE/C,IACC,EAAA,EAAA,KAAC,OAAD,CACE,KAAK,SACL,SAAU,EACV,aAAY,EACZ,UAAW,EAAA,QAAO,SAClB,QAAU,GAAM,CAAE,EAAE,iBAAiB,CAAE,GAAS,EAChD,UAAY,GAAM,EACZ,EAAE,MAAQ,SAAW,EAAE,MAAQ,OACjC,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,CACnB,GAAS,YAGd,IAEM,CAAA,CAEF"}
1
+ {"version":3,"file":"TabItem.cjs","names":[],"sources":["../../../src/components/Tabs/TabItem.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { memo } from 'react';\n\nimport { Badge } from '../Badge';\nimport { Icon } from '../Icon';\n\nimport styles from './Tabs.module.css';\n\nexport interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Tab label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this tab as the currently selected one. */\n active?: boolean;\n /**\n * id of the `TabPanel` this tab controls.\n * Sets `aria-controls` automatically.\n */\n panelId?: string;\n /**\n * When provided, a close (×) button is rendered at the trailing edge.\n * Called when the user clicks the close button.\n */\n onClose?: () => void;\n /** Accessible label for the close button. Defaults to `\"Close tab\"`. */\n closeLabel?: string;\n /** Optional count shown as a badge next to the label (e.g. unread messages). Values above 99 render as \"99+\". */\n count?: number;\n children?: ReactNode;\n}\n\n/**\n * Individual tab button inside a `TabBar`.\n */\nexport const TabItem = memo(function TabItem({\n label,\n icon,\n active = false,\n panelId,\n onClose,\n closeLabel = 'Close tab',\n count,\n className,\n disabled,\n ...props\n}: TabItemProps) {\n return (\n <button\n role=\"tab\"\n type=\"button\"\n aria-selected={active}\n aria-controls={panelId}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[\n styles.tab,\n active ? styles.active : null,\n onClose ? styles.closeable : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {icon && (\n <span className={styles.tabIcon}>\n <Icon icon={icon} size=\"sm\" aria-hidden />\n </span>\n )}\n <span className={styles.tabLabel}>{label}</span>\n\n {count !== undefined && (\n <Badge className={styles.tabBadge}>{count > 99 ? '99+' : count}</Badge>\n )}\n\n {onClose && (\n <button\n type=\"button\"\n aria-label={closeLabel}\n className={styles.closeBtn}\n onClick={(e) => {\n e.stopPropagation();\n onClose();\n }}\n >\n ×\n </button>\n )}\n </button>\n );\n});\n"],"mappings":"6JAoCA,IAAa,GAAA,EAAA,EAAA,MAAe,SAAiB,CAC3C,QACA,OACA,SAAS,GACT,UACA,UACA,aAAa,YACb,QACA,YACA,WACA,GAAG,GACY,CACf,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,MACL,KAAK,SACL,gBAAe,EACf,gBAAe,EACf,SAAU,EAAS,EAAI,GACb,WACV,UAAW,CACT,EAAA,QAAO,IACP,EAAS,EAAA,QAAO,OAAS,KACzB,EAAU,EAAA,QAAO,UAAY,KAC7B,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAfN,CAiBG,IACC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBACtB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,KAAK,KAAK,cAAA,GAAc,CAAA,CACrC,CAAA,EAET,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBAAW,EAAa,CAAA,CAE/C,IAAU,IAAA,KACT,EAAA,EAAA,KAAC,EAAA,MAAD,CAAO,UAAW,EAAA,QAAO,kBAAW,EAAQ,GAAK,MAAQ,EAAc,CAAA,CAGxE,IACC,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,aAAY,EACZ,UAAW,EAAA,QAAO,SAClB,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,GAAS,WAEZ,IAEQ,CAAA,CAEJ,IAEX"}
@@ -1,5 +1,5 @@
1
- import { ButtonHTMLAttributes, ReactNode } from 'react';
2
1
  import { IconDefinition } from '@gnome-ui/icons';
2
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
3
3
  export interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  /** Tab label. */
5
5
  label: string;
@@ -19,9 +19,11 @@ export interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
19
19
  onClose?: () => void;
20
20
  /** Accessible label for the close button. Defaults to `"Close tab"`. */
21
21
  closeLabel?: string;
22
+ /** Optional count shown as a badge next to the label (e.g. unread messages). Values above 99 render as "99+". */
23
+ count?: number;
22
24
  children?: ReactNode;
23
25
  }
24
26
  /**
25
27
  * Individual tab button inside a `TabBar`.
26
28
  */
27
- export declare function TabItem({ label, icon, active, panelId, onClose, closeLabel, className, disabled, ...props }: TabItemProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare const TabItem: import('react').NamedExoticComponent<TabItemProps>;
@@ -1,52 +1,54 @@
1
- import { Icon as e } from "../Icon/Icon.js";
2
- import t from "./Tabs.module.css.js";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
1
+ import { Badge as e } from "../Badge/Badge.js";
2
+ import { Icon as t } from "../Icon/Icon.js";
3
+ import n from "./Tabs.module.css.js";
4
+ import { memo as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
6
  //#region src/components/Tabs/TabItem.tsx
5
- function i({ label: i, icon: a, active: o = !1, panelId: s, onClose: c, closeLabel: l = "Close tab", className: u, disabled: d, ...f }) {
6
- return /* @__PURE__ */ r("button", {
7
+ var o = r(function({ label: r, icon: o, active: s = !1, panelId: c, onClose: l, closeLabel: u = "Close tab", count: d, className: f, disabled: p, ...m }) {
8
+ return /* @__PURE__ */ a("button", {
7
9
  role: "tab",
8
10
  type: "button",
9
- "aria-selected": o,
10
- "aria-controls": s,
11
- tabIndex: o ? 0 : -1,
12
- disabled: d,
11
+ "aria-selected": s,
12
+ "aria-controls": c,
13
+ tabIndex: s ? 0 : -1,
14
+ disabled: p,
13
15
  className: [
14
- t.tab,
15
- o ? t.active : null,
16
- c ? t.closeable : null,
17
- u
16
+ n.tab,
17
+ s ? n.active : null,
18
+ l ? n.closeable : null,
19
+ f
18
20
  ].filter(Boolean).join(" "),
19
- ...f,
21
+ ...m,
20
22
  children: [
21
- a && /* @__PURE__ */ n("span", {
22
- className: t.tabIcon,
23
- children: /* @__PURE__ */ n(e, {
24
- icon: a,
23
+ o && /* @__PURE__ */ i("span", {
24
+ className: n.tabIcon,
25
+ children: /* @__PURE__ */ i(t, {
26
+ icon: o,
25
27
  size: "sm",
26
28
  "aria-hidden": !0
27
29
  })
28
30
  }),
29
- /* @__PURE__ */ n("span", {
30
- className: t.tabLabel,
31
- children: i
31
+ /* @__PURE__ */ i("span", {
32
+ className: n.tabLabel,
33
+ children: r
32
34
  }),
33
- c && /* @__PURE__ */ n("span", {
34
- role: "button",
35
- tabIndex: 0,
36
- "aria-label": l,
37
- className: t.closeBtn,
35
+ d !== void 0 && /* @__PURE__ */ i(e, {
36
+ className: n.tabBadge,
37
+ children: d > 99 ? "99+" : d
38
+ }),
39
+ l && /* @__PURE__ */ i("button", {
40
+ type: "button",
41
+ "aria-label": u,
42
+ className: n.closeBtn,
38
43
  onClick: (e) => {
39
- e.stopPropagation(), c();
40
- },
41
- onKeyDown: (e) => {
42
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), c());
44
+ e.stopPropagation(), l();
43
45
  },
44
46
  children: "×"
45
47
  })
46
48
  ]
47
49
  });
48
- }
50
+ });
49
51
  //#endregion
50
- export { i as TabItem };
52
+ export { o as TabItem };
51
53
 
52
54
  //# sourceMappingURL=TabItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabItem.js","names":[],"sources":["../../../src/components/Tabs/TabItem.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Tab label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this tab as the currently selected one. */\n active?: boolean;\n /**\n * id of the `TabPanel` this tab controls.\n * Sets `aria-controls` automatically.\n */\n panelId?: string;\n /**\n * When provided, a close (×) button is rendered at the trailing edge.\n * Called when the user clicks the close button.\n */\n onClose?: () => void;\n /** Accessible label for the close button. Defaults to `\"Close tab\"`. */\n closeLabel?: string;\n children?: ReactNode;\n}\n\n/**\n * Individual tab button inside a `TabBar`.\n */\nexport function TabItem({\n label,\n icon,\n active = false,\n panelId,\n onClose,\n closeLabel = \"Close tab\",\n className,\n disabled,\n ...props\n}: TabItemProps) {\n return (\n <button\n role=\"tab\"\n type=\"button\"\n aria-selected={active}\n aria-controls={panelId}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[\n styles.tab,\n active ? styles.active : null,\n onClose ? styles.closeable : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {icon && (\n <span className={styles.tabIcon}>\n <Icon icon={icon} size=\"sm\" aria-hidden />\n </span>\n )}\n <span className={styles.tabLabel}>{label}</span>\n\n {onClose && (\n <span\n role=\"button\"\n tabIndex={0}\n aria-label={closeLabel}\n className={styles.closeBtn}\n onClick={(e) => { e.stopPropagation(); onClose(); }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n e.stopPropagation();\n onClose();\n }\n }}\n >\n ×\n </span>\n )}\n </button>\n );\n}\n"],"mappings":";;;;AA8BA,SAAgB,EAAQ,EACtB,UACA,SACA,YAAS,IACT,YACA,YACA,gBAAa,aACb,cACA,aACA,GAAG,KACY;AACf,QACE,kBAAC,UAAD;EACE,MAAK;EACL,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,UAAU,IAAS,IAAI;EACb;EACV,WAAW;GACT,EAAO;GACP,IAAS,EAAO,SAAS;GACzB,IAAU,EAAO,YAAY;GAC7B;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAfN;GAiBG,KACC,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD;KAAY;KAAM,MAAK;KAAK,eAAA;KAAc,CAAA;IACrC,CAAA;GAET,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAW;IAAa,CAAA;GAE/C,KACC,kBAAC,QAAD;IACE,MAAK;IACL,UAAU;IACV,cAAY;IACZ,WAAW,EAAO;IAClB,UAAU,MAAM;AAAuB,KAArB,EAAE,iBAAiB,EAAE,GAAS;;IAChD,YAAY,MAAM;AAChB,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,gBAAgB,EAClB,EAAE,iBAAiB,EACnB,GAAS;;cAGd;IAEM,CAAA;GAEF"}
1
+ {"version":3,"file":"TabItem.js","names":[],"sources":["../../../src/components/Tabs/TabItem.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { memo } from 'react';\n\nimport { Badge } from '../Badge';\nimport { Icon } from '../Icon';\n\nimport styles from './Tabs.module.css';\n\nexport interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Tab label. */\n label: string;\n /** Optional icon from `@gnome-ui/icons`. */\n icon?: IconDefinition;\n /** Marks this tab as the currently selected one. */\n active?: boolean;\n /**\n * id of the `TabPanel` this tab controls.\n * Sets `aria-controls` automatically.\n */\n panelId?: string;\n /**\n * When provided, a close (×) button is rendered at the trailing edge.\n * Called when the user clicks the close button.\n */\n onClose?: () => void;\n /** Accessible label for the close button. Defaults to `\"Close tab\"`. */\n closeLabel?: string;\n /** Optional count shown as a badge next to the label (e.g. unread messages). Values above 99 render as \"99+\". */\n count?: number;\n children?: ReactNode;\n}\n\n/**\n * Individual tab button inside a `TabBar`.\n */\nexport const TabItem = memo(function TabItem({\n label,\n icon,\n active = false,\n panelId,\n onClose,\n closeLabel = 'Close tab',\n count,\n className,\n disabled,\n ...props\n}: TabItemProps) {\n return (\n <button\n role=\"tab\"\n type=\"button\"\n aria-selected={active}\n aria-controls={panelId}\n tabIndex={active ? 0 : -1}\n disabled={disabled}\n className={[\n styles.tab,\n active ? styles.active : null,\n onClose ? styles.closeable : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {icon && (\n <span className={styles.tabIcon}>\n <Icon icon={icon} size=\"sm\" aria-hidden />\n </span>\n )}\n <span className={styles.tabLabel}>{label}</span>\n\n {count !== undefined && (\n <Badge className={styles.tabBadge}>{count > 99 ? '99+' : count}</Badge>\n )}\n\n {onClose && (\n <button\n type=\"button\"\n aria-label={closeLabel}\n className={styles.closeBtn}\n onClick={(e) => {\n e.stopPropagation();\n onClose();\n }}\n >\n ×\n </button>\n )}\n </button>\n );\n});\n"],"mappings":";;;;;;AAoCA,IAAa,IAAU,EAAK,SAAiB,EAC3C,UACA,SACA,YAAS,IACT,YACA,YACA,gBAAa,aACb,UACA,cACA,aACA,GAAG,KACY;AACf,QACE,kBAAC,UAAD;EACE,MAAK;EACL,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,UAAU,IAAS,IAAI;EACb;EACV,WAAW;GACT,EAAO;GACP,IAAS,EAAO,SAAS;GACzB,IAAU,EAAO,YAAY;GAC7B;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAfN;GAiBG,KACC,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD;KAAY;KAAM,MAAK;KAAK,eAAA;KAAc,CAAA;IACrC,CAAA;GAET,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAW;IAAa,CAAA;GAE/C,MAAU,KAAA,KACT,kBAAC,GAAD;IAAO,WAAW,EAAO;cAAW,IAAQ,KAAK,QAAQ;IAAc,CAAA;GAGxE,KACC,kBAAC,UAAD;IACE,MAAK;IACL,cAAY;IACZ,WAAW,EAAO;IAClB,UAAU,MAAM;AAEd,KADA,EAAE,iBAAiB,EACnB,GAAS;;cAEZ;IAEQ,CAAA;GAEJ;;EAEX"}
@@ -1,2 +1,2 @@
1
- const e=require(`./Tabs.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({id:n,active:r=!1,className:i,children:a,...o}){return(0,t.jsx)(`div`,{id:n,role:`tabpanel`,hidden:!r,tabIndex:0,className:[e.default.panel,i].filter(Boolean).join(` `),...o,children:a})}exports.TabPanel=n;
1
+ const e=require(`./Tabs.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({id:n,active:r=!1,className:i,children:a,...o}){return(0,t.jsx)(`div`,{id:n,role:`tabpanel`,hidden:!r,className:[e.default.panel,i].filter(Boolean).join(` `),...o,children:a})}exports.TabPanel=n;
2
2
  //# sourceMappingURL=TabPanel.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanel.cjs","names":[],"sources":["../../../src/components/Tabs/TabPanel.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n /** Must match the `panelId` passed to the corresponding `TabItem`. */\n id: string;\n /** Controls whether this panel is rendered. */\n active?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Content panel associated with a `TabItem`.\n * Hidden panels are kept in the DOM but visually hidden.\n */\nexport function TabPanel({\n id,\n active = false,\n className,\n children,\n ...props\n}: TabPanelProps) {\n return (\n <div\n id={id}\n role=\"tabpanel\"\n hidden={!active}\n tabIndex={0}\n className={[styles.panel, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"4EAeA,SAAgB,EAAS,CACvB,KACA,SAAS,GACT,YACA,WACA,GAAG,GACa,CAChB,OACE,EAAA,EAAA,KAAC,MAAD,CACM,KACJ,KAAK,WACL,OAAQ,CAAC,EACT,SAAU,EACV,UAAW,CAAC,EAAA,QAAO,MAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC9D,GAAI,EAEH,WACG,CAAA"}
1
+ {"version":3,"file":"TabPanel.cjs","names":[],"sources":["../../../src/components/Tabs/TabPanel.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Tabs.module.css';\n\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n /** Must match the `panelId` passed to the corresponding `TabItem`. */\n id: string;\n /** Controls whether this panel is rendered. */\n active?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Content panel associated with a `TabItem`.\n * Hidden panels are kept in the DOM but visually hidden.\n */\nexport function TabPanel({ id, active = false, className, children, ...props }: TabPanelProps) {\n return (\n <div\n id={id}\n role=\"tabpanel\"\n hidden={!active}\n className={[styles.panel, className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"4EAgBA,SAAgB,EAAS,CAAE,KAAI,SAAS,GAAO,YAAW,WAAU,GAAG,GAAwB,CAC7F,OACE,EAAA,EAAA,KAAC,MAAD,CACM,KACJ,KAAK,WACL,OAAQ,CAAC,EACT,UAAW,CAAC,EAAA,QAAO,MAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC9D,GAAI,EAEH,WACG,CAAA"}
@@ -6,7 +6,6 @@ function n({ id: n, active: r = !1, className: i, children: a, ...o }) {
6
6
  id: n,
7
7
  role: "tabpanel",
8
8
  hidden: !r,
9
- tabIndex: 0,
10
9
  className: [e.panel, i].filter(Boolean).join(" "),
11
10
  ...o,
12
11
  children: a
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanel.js","names":[],"sources":["../../../src/components/Tabs/TabPanel.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n /** Must match the `panelId` passed to the corresponding `TabItem`. */\n id: string;\n /** Controls whether this panel is rendered. */\n active?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Content panel associated with a `TabItem`.\n * Hidden panels are kept in the DOM but visually hidden.\n */\nexport function TabPanel({\n id,\n active = false,\n className,\n children,\n ...props\n}: TabPanelProps) {\n return (\n <div\n id={id}\n role=\"tabpanel\"\n hidden={!active}\n tabIndex={0}\n className={[styles.panel, className].filter(Boolean).join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;AAeA,SAAgB,EAAS,EACvB,OACA,YAAS,IACT,cACA,aACA,GAAG,KACa;AAChB,QACE,kBAAC,OAAD;EACM;EACJ,MAAK;EACL,QAAQ,CAAC;EACT,UAAU;EACV,WAAW,CAAC,EAAO,OAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC9D,GAAI;EAEH;EACG,CAAA"}
1
+ {"version":3,"file":"TabPanel.js","names":[],"sources":["../../../src/components/Tabs/TabPanel.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Tabs.module.css';\n\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n /** Must match the `panelId` passed to the corresponding `TabItem`. */\n id: string;\n /** Controls whether this panel is rendered. */\n active?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Content panel associated with a `TabItem`.\n * Hidden panels are kept in the DOM but visually hidden.\n */\nexport function TabPanel({ id, active = false, className, children, ...props }: TabPanelProps) {\n return (\n <div\n id={id}\n role=\"tabpanel\"\n hidden={!active}\n className={[styles.panel, className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;AAgBA,SAAgB,EAAS,EAAE,OAAI,YAAS,IAAO,cAAW,aAAU,GAAG,KAAwB;AAC7F,QACE,kBAAC,OAAD;EACM;EACJ,MAAK;EACL,QAAQ,CAAC;EACT,WAAW,CAAC,EAAO,OAAO,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC9D,GAAI;EAEH;EACG,CAAA"}
@@ -1,2 +1,2 @@
1
- var e={bar:`_bar_12ars_3`,list:`_list_12ars_10`,tab:`_tab_12ars_26`,active:`_active_12ars_81`,tabIcon:`_tabIcon_12ars_102`,tabLabel:`_tabLabel_12ars_110`,closeBtn:`_closeBtn_12ars_119`,panel:`_panel_12ars_148`,inline:`_inline_12ars_158`};exports.default=e;
1
+ var e={bar:`_bar_1faeq_3`,list:`_list_1faeq_10`,tab:`_tab_1faeq_26`,active:`_active_1faeq_81`,tabIcon:`_tabIcon_1faeq_102`,tabLabel:`_tabLabel_1faeq_110`,tabBadge:`_tabBadge_1faeq_119`,closeBtn:`_closeBtn_1faeq_126`,panel:`_panel_1faeq_164`,inline:`_inline_1faeq_174`};exports.default=e;
2
2
  //# sourceMappingURL=Tabs.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.module.css.cjs","names":[],"sources":["../../../src/components/Tabs/Tabs.module.css"],"sourcesContent":["/* ─── Bar (outer wrapper) ──────────────────────────────────────────────────── */\n\n.bar {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-bottom: 1px solid var(--gnome-headerbar-border-color, rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Tab list ─────────────────────────────────────────────────────────────── */\n\n.list {\n display: flex;\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n padding: 0 var(--gnome-space-1, 6px);\n gap: 2px;\n min-height: 40px;\n}\n\n.list::-webkit-scrollbar {\n display: none;\n}\n\n/* ─── Tab button ───────────────────────────────────────────────────────────── */\n\n.tab {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gnome-space-1, 6px);\n padding: 0 var(--gnome-space-2, 12px);\n min-width: 80px;\n max-width: 200px;\n white-space: nowrap;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.7;\n\n border-radius: var(--gnome-radius-md, 8px) var(--gnome-radius-md, 8px) 0 0;\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab::after {\n content: \"\";\n position: absolute;\n bottom: 0;\n left: var(--gnome-space-2, 12px);\n right: var(--gnome-space-2, 12px);\n height: 2px;\n border-radius: 1px 1px 0 0;\n background-color: var(--gnome-accent-bg-color, #3584e4);\n opacity: 0;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab:hover {\n opacity: 1;\n background-color: var(--gnome-hover-overlay);\n}\n\n.tab:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Active tab ───────────────────────────────────────────────────────────── */\n\n.active {\n opacity: 1;\n font-weight: var(--gnome-font-weight-semibold, 600);\n background-color: var(--gnome-active-overlay);\n}\n\n.active::after {\n opacity: 1;\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.tab:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-headerbar-bg-color, #ebebeb),\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/* ─── Icon inside tab ──────────────────────────────────────────────────────── */\n\n.tabIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label inside tab ─────────────────────────────────────────────────────── */\n\n.tabLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Close button ─────────────────────────────────────────────────────────── */\n\n.closeBtn {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border-radius: var(--gnome-radius-sm, 4px);\n font-size: 1rem;\n line-height: 1;\n opacity: 0.5;\n margin-left: 2px;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.closeBtn:hover {\n opacity: 1;\n background-color: var(--gnome-active-overlay);\n}\n\n.closeBtn:focus-visible {\n outline: 2px solid var(--gnome-focus-ring-color, #3584e4);\n outline-offset: 1px;\n opacity: 1;\n}\n\n/* ─── Panel ────────────────────────────────────────────────────────────────── */\n\n.panel {\n outline: none;\n}\n\n.panel:focus-visible {\n box-shadow: inset 0 0 0 2px var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Inline variant ───────────────────────────────────────────────────────── */\n\n.inline {\n background-color: transparent;\n border-bottom-color: transparent;\n}\n\n.inline .tab: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/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .bar {\n border-bottom-width: 2px;\n }\n\n .tab::after {\n height: 3px;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .tab,\n .tab::after,\n .closeBtn {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Tabs.module.css.cjs","names":[],"sources":["../../../src/components/Tabs/Tabs.module.css"],"sourcesContent":["/* ─── Bar (outer wrapper) ──────────────────────────────────────────────────── */\n\n.bar {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-bottom: 1px solid var(--gnome-headerbar-border-color, rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Tab list ─────────────────────────────────────────────────────────────── */\n\n.list {\n display: flex;\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n padding: 0 var(--gnome-space-1, 6px);\n gap: 2px;\n min-height: 40px;\n}\n\n.list::-webkit-scrollbar {\n display: none;\n}\n\n/* ─── Tab button ───────────────────────────────────────────────────────────── */\n\n.tab {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gnome-space-1, 6px);\n padding: 0 var(--gnome-space-2, 12px);\n min-width: 80px;\n max-width: 200px;\n white-space: nowrap;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.7;\n\n border-radius: var(--gnome-radius-md, 8px) var(--gnome-radius-md, 8px) 0 0;\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab::after {\n content: \"\";\n position: absolute;\n bottom: 0;\n left: var(--gnome-space-2, 12px);\n right: var(--gnome-space-2, 12px);\n height: 2px;\n border-radius: 1px 1px 0 0;\n background-color: var(--gnome-accent-bg-color, #3584e4);\n opacity: 0;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab:hover {\n opacity: 1;\n background-color: var(--gnome-hover-overlay);\n}\n\n.tab:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Active tab ───────────────────────────────────────────────────────────── */\n\n.active {\n opacity: 1;\n font-weight: var(--gnome-font-weight-semibold, 600);\n background-color: var(--gnome-active-overlay);\n}\n\n.active::after {\n opacity: 1;\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.tab:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-headerbar-bg-color, #ebebeb),\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/* ─── Icon inside tab ──────────────────────────────────────────────────────── */\n\n.tabIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label inside tab ─────────────────────────────────────────────────────── */\n\n.tabLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Badge inside tab ─────────────────────────────────────────────────────── */\n\n.tabBadge {\n margin-inline-start: var(--gnome-space-1, 6px);\n flex-shrink: 0;\n}\n\n/* ─── Close button ─────────────────────────────────────────────────────────── */\n\n.closeBtn {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n padding: 0;\n\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border-radius: var(--gnome-radius-sm, 4px);\n font-size: 1rem;\n line-height: 1;\n opacity: 0.5;\n margin-left: 2px;\n transition:\n opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.closeBtn:hover {\n opacity: 1;\n background-color: var(--gnome-active-overlay);\n}\n\n.closeBtn:focus-visible {\n outline: 2px solid var(--gnome-focus-ring-color, #3584e4);\n outline-offset: 1px;\n opacity: 1;\n}\n\n/* ─── Panel ────────────────────────────────────────────────────────────────── */\n\n.panel {\n outline: none;\n}\n\n.panel:focus-visible {\n box-shadow: inset 0 0 0 2px var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Inline variant ───────────────────────────────────────────────────────── */\n\n.inline {\n background-color: transparent;\n border-bottom-color: transparent;\n}\n\n.inline .tab: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/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .bar {\n border-bottom-width: 2px;\n }\n\n .tab::after {\n height: 3px;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .tab,\n .tab::after,\n .closeBtn {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,13 +1,14 @@
1
1
  var e = {
2
- bar: "_bar_12ars_3",
3
- list: "_list_12ars_10",
4
- tab: "_tab_12ars_26",
5
- active: "_active_12ars_81",
6
- tabIcon: "_tabIcon_12ars_102",
7
- tabLabel: "_tabLabel_12ars_110",
8
- closeBtn: "_closeBtn_12ars_119",
9
- panel: "_panel_12ars_148",
10
- inline: "_inline_12ars_158"
2
+ bar: "_bar_1faeq_3",
3
+ list: "_list_1faeq_10",
4
+ tab: "_tab_1faeq_26",
5
+ active: "_active_1faeq_81",
6
+ tabIcon: "_tabIcon_1faeq_102",
7
+ tabLabel: "_tabLabel_1faeq_110",
8
+ tabBadge: "_tabBadge_1faeq_119",
9
+ closeBtn: "_closeBtn_1faeq_126",
10
+ panel: "_panel_1faeq_164",
11
+ inline: "_inline_1faeq_174"
11
12
  };
12
13
  //#endregion
13
14
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.module.css.js","names":[],"sources":["../../../src/components/Tabs/Tabs.module.css"],"sourcesContent":["/* ─── Bar (outer wrapper) ──────────────────────────────────────────────────── */\n\n.bar {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-bottom: 1px solid var(--gnome-headerbar-border-color, rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Tab list ─────────────────────────────────────────────────────────────── */\n\n.list {\n display: flex;\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n padding: 0 var(--gnome-space-1, 6px);\n gap: 2px;\n min-height: 40px;\n}\n\n.list::-webkit-scrollbar {\n display: none;\n}\n\n/* ─── Tab button ───────────────────────────────────────────────────────────── */\n\n.tab {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gnome-space-1, 6px);\n padding: 0 var(--gnome-space-2, 12px);\n min-width: 80px;\n max-width: 200px;\n white-space: nowrap;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.7;\n\n border-radius: var(--gnome-radius-md, 8px) var(--gnome-radius-md, 8px) 0 0;\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab::after {\n content: \"\";\n position: absolute;\n bottom: 0;\n left: var(--gnome-space-2, 12px);\n right: var(--gnome-space-2, 12px);\n height: 2px;\n border-radius: 1px 1px 0 0;\n background-color: var(--gnome-accent-bg-color, #3584e4);\n opacity: 0;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab:hover {\n opacity: 1;\n background-color: var(--gnome-hover-overlay);\n}\n\n.tab:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Active tab ───────────────────────────────────────────────────────────── */\n\n.active {\n opacity: 1;\n font-weight: var(--gnome-font-weight-semibold, 600);\n background-color: var(--gnome-active-overlay);\n}\n\n.active::after {\n opacity: 1;\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.tab:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-headerbar-bg-color, #ebebeb),\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/* ─── Icon inside tab ──────────────────────────────────────────────────────── */\n\n.tabIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label inside tab ─────────────────────────────────────────────────────── */\n\n.tabLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Close button ─────────────────────────────────────────────────────────── */\n\n.closeBtn {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border-radius: var(--gnome-radius-sm, 4px);\n font-size: 1rem;\n line-height: 1;\n opacity: 0.5;\n margin-left: 2px;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.closeBtn:hover {\n opacity: 1;\n background-color: var(--gnome-active-overlay);\n}\n\n.closeBtn:focus-visible {\n outline: 2px solid var(--gnome-focus-ring-color, #3584e4);\n outline-offset: 1px;\n opacity: 1;\n}\n\n/* ─── Panel ────────────────────────────────────────────────────────────────── */\n\n.panel {\n outline: none;\n}\n\n.panel:focus-visible {\n box-shadow: inset 0 0 0 2px var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Inline variant ───────────────────────────────────────────────────────── */\n\n.inline {\n background-color: transparent;\n border-bottom-color: transparent;\n}\n\n.inline .tab: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/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .bar {\n border-bottom-width: 2px;\n }\n\n .tab::after {\n height: 3px;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .tab,\n .tab::after,\n .closeBtn {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Tabs.module.css.js","names":[],"sources":["../../../src/components/Tabs/Tabs.module.css"],"sourcesContent":["/* ─── Bar (outer wrapper) ──────────────────────────────────────────────────── */\n\n.bar {\n background-color: var(--gnome-headerbar-bg-color, #ebebeb);\n border-bottom: 1px solid var(--gnome-headerbar-border-color, rgba(0, 0, 0, 0.12));\n}\n\n/* ─── Tab list ─────────────────────────────────────────────────────────────── */\n\n.list {\n display: flex;\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n padding: 0 var(--gnome-space-1, 6px);\n gap: 2px;\n min-height: 40px;\n}\n\n.list::-webkit-scrollbar {\n display: none;\n}\n\n/* ─── Tab button ───────────────────────────────────────────────────────────── */\n\n.tab {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n outline: none;\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gnome-space-1, 6px);\n padding: 0 var(--gnome-space-2, 12px);\n min-width: 80px;\n max-width: 200px;\n white-space: nowrap;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n color: var(--gnome-headerbar-fg-color, rgba(0, 0, 0, 0.8));\n opacity: 0.7;\n\n border-radius: var(--gnome-radius-md, 8px) var(--gnome-radius-md, 8px) 0 0;\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab::after {\n content: \"\";\n position: absolute;\n bottom: 0;\n left: var(--gnome-space-2, 12px);\n right: var(--gnome-space-2, 12px);\n height: 2px;\n border-radius: 1px 1px 0 0;\n background-color: var(--gnome-accent-bg-color, #3584e4);\n opacity: 0;\n transition: opacity var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.tab:hover {\n opacity: 1;\n background-color: var(--gnome-hover-overlay);\n}\n\n.tab:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Active tab ───────────────────────────────────────────────────────────── */\n\n.active {\n opacity: 1;\n font-weight: var(--gnome-font-weight-semibold, 600);\n background-color: var(--gnome-active-overlay);\n}\n\n.active::after {\n opacity: 1;\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.tab:focus-visible {\n box-shadow:\n inset 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-headerbar-bg-color, #ebebeb),\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/* ─── Icon inside tab ──────────────────────────────────────────────────────── */\n\n.tabIcon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ─── Label inside tab ─────────────────────────────────────────────────────── */\n\n.tabLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ─── Badge inside tab ─────────────────────────────────────────────────────── */\n\n.tabBadge {\n margin-inline-start: var(--gnome-space-1, 6px);\n flex-shrink: 0;\n}\n\n/* ─── Close button ─────────────────────────────────────────────────────────── */\n\n.closeBtn {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n background: transparent;\n font: inherit;\n cursor: pointer;\n padding: 0;\n\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border-radius: var(--gnome-radius-sm, 4px);\n font-size: 1rem;\n line-height: 1;\n opacity: 0.5;\n margin-left: 2px;\n transition:\n opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n background-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.closeBtn:hover {\n opacity: 1;\n background-color: var(--gnome-active-overlay);\n}\n\n.closeBtn:focus-visible {\n outline: 2px solid var(--gnome-focus-ring-color, #3584e4);\n outline-offset: 1px;\n opacity: 1;\n}\n\n/* ─── Panel ────────────────────────────────────────────────────────────────── */\n\n.panel {\n outline: none;\n}\n\n.panel:focus-visible {\n box-shadow: inset 0 0 0 2px var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Inline variant ───────────────────────────────────────────────────────── */\n\n.inline {\n background-color: transparent;\n border-bottom-color: transparent;\n}\n\n.inline .tab: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/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .bar {\n border-bottom-width: 2px;\n }\n\n .tab::after {\n height: 3px;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .tab,\n .tab::after,\n .closeBtn {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
- export { TabBar } from './TabBar';
2
1
  export type { TabBarProps } from './TabBar';
3
- export { TabItem } from './TabItem';
2
+ export { TabBar } from './TabBar';
4
3
  export type { TabItemProps } from './TabItem';
5
- export { TabPanel } from './TabPanel';
4
+ export { TabItem } from './TabItem';
6
5
  export type { TabPanelProps } from './TabPanel';
6
+ export { TabPanel } from './TabPanel';
@@ -1,2 +1,2 @@
1
- const e=require(`./TerminalView.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({lines:r,variant:i=`default`,maxLines:a=500,autoScroll:o=!0,className:s,...c}){let l=(0,t.useRef)(null),u=r.slice(-a);return(0,t.useEffect)(()=>{o&&l.current?.scrollIntoView({block:`nearest`})},[u.length,o]),(0,n.jsx)(`div`,{className:[e.default.terminal,e.default[i],s].filter(Boolean).join(` `),...c,children:(0,n.jsxs)(`pre`,{className:e.default.pre,children:[u.map((t,r)=>(0,n.jsx)(`div`,{className:e.default.line,children:t},r)),(0,n.jsx)(`div`,{ref:l})]})})}exports.TerminalView=r;
1
+ const e=require(`./TerminalView.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({lines:r,variant:i=`default`,maxLines:a=500,autoScroll:o=!0,className:s,...c}){let l=(0,t.useRef)(null),u=r.slice(-a);return(0,t.useEffect)(()=>{o&&l.current?.scrollIntoView({block:`nearest`})},[o]),(0,n.jsx)(`div`,{className:[e.default.terminal,e.default[i],s].filter(Boolean).join(` `),...c,children:(0,n.jsxs)(`pre`,{className:e.default.pre,children:[u.map((t,r)=>(0,n.jsx)(`div`,{className:e.default.line,children:t},r)),(0,n.jsx)(`div`,{ref:l})]})})}exports.TerminalView=r;
2
2
  //# sourceMappingURL=TerminalView.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalView.cjs","names":[],"sources":["../../../src/components/TerminalView/TerminalView.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n type HTMLAttributes,\n} from \"react\";\nimport styles from \"./TerminalView.module.css\";\n\nexport type TerminalVariant = \"default\" | \"success\" | \"warning\" | \"destructive\";\n\nexport interface TerminalViewProps extends HTMLAttributes<HTMLDivElement> {\n /** Lines of text to display. */\n lines: string[];\n /** Colorize text based on semantic meaning. Defaults to `\"default\"`. */\n variant?: TerminalVariant;\n /** Maximum number of lines to keep in the buffer. Defaults to `500`. */\n maxLines?: number;\n /** Automatically scroll to the latest line when content changes. Defaults to `true`. */\n autoScroll?: boolean;\n}\n\nexport function TerminalView({\n lines,\n variant = \"default\",\n maxLines = 500,\n autoScroll = true,\n className,\n ...props\n}: TerminalViewProps) {\n const bottomRef = useRef<HTMLDivElement>(null);\n const visibleLines = lines.slice(-maxLines);\n\n useEffect(() => {\n if (autoScroll) {\n bottomRef.current?.scrollIntoView({ block: \"nearest\" });\n }\n }, [visibleLines.length, autoScroll]);\n\n return (\n <div\n className={[styles.terminal, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n <pre className={styles.pre}>\n {visibleLines.map((line, i) => (\n <div key={i} className={styles.line}>\n {line}\n </div>\n ))}\n <div ref={bottomRef} />\n </pre>\n </div>\n );\n}\n"],"mappings":"uGAoBA,SAAgB,EAAa,CAC3B,QACA,UAAU,UACV,WAAW,IACX,aAAa,GACb,YACA,GAAG,GACiB,CACpB,IAAM,GAAA,EAAA,EAAA,QAAmC,KAAK,CACxC,EAAe,EAAM,MAAM,CAAC,EAAS,CAQ3C,OANA,EAAA,EAAA,eAAgB,CACV,GACF,EAAU,SAAS,eAAe,CAAE,MAAO,UAAW,CAAC,EAExD,CAAC,EAAa,OAAQ,EAAW,CAAC,EAGnC,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,SAAU,EAAA,QAAO,GAAU,EAAU,CACrD,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,YAEJ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,QAAO,aAAvB,CACG,EAAa,KAAK,EAAM,KACvB,EAAA,EAAA,KAAC,MAAD,CAAa,UAAW,EAAA,QAAO,cAC5B,EACG,CAFI,EAEJ,CACN,EACF,EAAA,EAAA,KAAC,MAAD,CAAK,IAAK,EAAa,CAAA,CACnB,GACF,CAAA"}
1
+ {"version":3,"file":"TerminalView.cjs","names":[],"sources":["../../../src/components/TerminalView/TerminalView.tsx"],"sourcesContent":["import { type HTMLAttributes, useEffect, useRef } from 'react';\n\nimport styles from './TerminalView.module.css';\n\nexport type TerminalVariant = 'default' | 'success' | 'warning' | 'destructive';\n\nexport interface TerminalViewProps extends HTMLAttributes<HTMLDivElement> {\n /** Lines of text to display. */\n lines: string[];\n /** Colorize text based on semantic meaning. Defaults to `\"default\"`. */\n variant?: TerminalVariant;\n /** Maximum number of lines to keep in the buffer. Defaults to `500`. */\n maxLines?: number;\n /** Automatically scroll to the latest line when content changes. Defaults to `true`. */\n autoScroll?: boolean;\n}\n\nexport function TerminalView({\n lines,\n variant = 'default',\n maxLines = 500,\n autoScroll = true,\n className,\n ...props\n}: TerminalViewProps) {\n const bottomRef = useRef<HTMLDivElement>(null);\n const visibleLines = lines.slice(-maxLines);\n\n useEffect(() => {\n if (autoScroll) {\n bottomRef.current?.scrollIntoView({ block: 'nearest' });\n }\n }, [autoScroll]);\n\n return (\n <div\n className={[styles.terminal, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n <pre className={styles.pre}>\n {visibleLines.map((line, i) => (\n <div key={i} className={styles.line}>\n {line}\n </div>\n ))}\n <div ref={bottomRef} />\n </pre>\n </div>\n );\n}\n"],"mappings":"uGAiBA,SAAgB,EAAa,CAC3B,QACA,UAAU,UACV,WAAW,IACX,aAAa,GACb,YACA,GAAG,GACiB,CACpB,IAAM,GAAA,EAAA,EAAA,QAAmC,KAAK,CACxC,EAAe,EAAM,MAAM,CAAC,EAAS,CAQ3C,OANA,EAAA,EAAA,eAAgB,CACV,GACF,EAAU,SAAS,eAAe,CAAE,MAAO,UAAW,CAAC,EAExD,CAAC,EAAW,CAAC,EAGd,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,SAAU,EAAA,QAAO,GAAU,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAClF,GAAI,YAEJ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,QAAO,aAAvB,CACG,EAAa,KAAK,EAAM,KACvB,EAAA,EAAA,KAAC,MAAD,CAAa,UAAW,EAAA,QAAO,cAC5B,EACG,CAFI,EAEJ,CACN,EACF,EAAA,EAAA,KAAC,MAAD,CAAK,IAAK,EAAa,CAAA,CACnB,GACF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export type TerminalVariant = "default" | "success" | "warning" | "destructive";
2
+ export type TerminalVariant = 'default' | 'success' | 'warning' | 'destructive';
3
3
  export interface TerminalViewProps extends HTMLAttributes<HTMLDivElement> {
4
4
  /** Lines of text to display. */
5
5
  lines: string[];
@@ -6,7 +6,7 @@ function a({ lines: a, variant: o = "default", maxLines: s = 500, autoScroll: c
6
6
  let d = n(null), f = a.slice(-s);
7
7
  return t(() => {
8
8
  c && d.current?.scrollIntoView({ block: "nearest" });
9
- }, [f.length, c]), /* @__PURE__ */ r("div", {
9
+ }, [c]), /* @__PURE__ */ r("div", {
10
10
  className: [
11
11
  e.terminal,
12
12
  e[o],
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalView.js","names":[],"sources":["../../../src/components/TerminalView/TerminalView.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n type HTMLAttributes,\n} from \"react\";\nimport styles from \"./TerminalView.module.css\";\n\nexport type TerminalVariant = \"default\" | \"success\" | \"warning\" | \"destructive\";\n\nexport interface TerminalViewProps extends HTMLAttributes<HTMLDivElement> {\n /** Lines of text to display. */\n lines: string[];\n /** Colorize text based on semantic meaning. Defaults to `\"default\"`. */\n variant?: TerminalVariant;\n /** Maximum number of lines to keep in the buffer. Defaults to `500`. */\n maxLines?: number;\n /** Automatically scroll to the latest line when content changes. Defaults to `true`. */\n autoScroll?: boolean;\n}\n\nexport function TerminalView({\n lines,\n variant = \"default\",\n maxLines = 500,\n autoScroll = true,\n className,\n ...props\n}: TerminalViewProps) {\n const bottomRef = useRef<HTMLDivElement>(null);\n const visibleLines = lines.slice(-maxLines);\n\n useEffect(() => {\n if (autoScroll) {\n bottomRef.current?.scrollIntoView({ block: \"nearest\" });\n }\n }, [visibleLines.length, autoScroll]);\n\n return (\n <div\n className={[styles.terminal, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n <pre className={styles.pre}>\n {visibleLines.map((line, i) => (\n <div key={i} className={styles.line}>\n {line}\n </div>\n ))}\n <div ref={bottomRef} />\n </pre>\n </div>\n );\n}\n"],"mappings":";;;;AAoBA,SAAgB,EAAa,EAC3B,UACA,aAAU,WACV,cAAW,KACX,gBAAa,IACb,cACA,GAAG,KACiB;CACpB,IAAM,IAAY,EAAuB,KAAK,EACxC,IAAe,EAAM,MAAM,CAAC,EAAS;AAQ3C,QANA,QAAgB;AACd,EAAI,KACF,EAAU,SAAS,eAAe,EAAE,OAAO,WAAW,CAAC;IAExD,CAAC,EAAa,QAAQ,EAAW,CAAC,EAGnC,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAU,EAAO;GAAU;GAAU,CACrD,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAEJ,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACG,EAAa,KAAK,GAAM,MACvB,kBAAC,OAAD;IAAa,WAAW,EAAO;cAC5B;IACG,EAFI,EAEJ,CACN,EACF,kBAAC,OAAD,EAAK,KAAK,GAAa,CAAA,CACnB;;EACF,CAAA"}
1
+ {"version":3,"file":"TerminalView.js","names":[],"sources":["../../../src/components/TerminalView/TerminalView.tsx"],"sourcesContent":["import { type HTMLAttributes, useEffect, useRef } from 'react';\n\nimport styles from './TerminalView.module.css';\n\nexport type TerminalVariant = 'default' | 'success' | 'warning' | 'destructive';\n\nexport interface TerminalViewProps extends HTMLAttributes<HTMLDivElement> {\n /** Lines of text to display. */\n lines: string[];\n /** Colorize text based on semantic meaning. Defaults to `\"default\"`. */\n variant?: TerminalVariant;\n /** Maximum number of lines to keep in the buffer. Defaults to `500`. */\n maxLines?: number;\n /** Automatically scroll to the latest line when content changes. Defaults to `true`. */\n autoScroll?: boolean;\n}\n\nexport function TerminalView({\n lines,\n variant = 'default',\n maxLines = 500,\n autoScroll = true,\n className,\n ...props\n}: TerminalViewProps) {\n const bottomRef = useRef<HTMLDivElement>(null);\n const visibleLines = lines.slice(-maxLines);\n\n useEffect(() => {\n if (autoScroll) {\n bottomRef.current?.scrollIntoView({ block: 'nearest' });\n }\n }, [autoScroll]);\n\n return (\n <div\n className={[styles.terminal, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n <pre className={styles.pre}>\n {visibleLines.map((line, i) => (\n <div key={i} className={styles.line}>\n {line}\n </div>\n ))}\n <div ref={bottomRef} />\n </pre>\n </div>\n );\n}\n"],"mappings":";;;;AAiBA,SAAgB,EAAa,EAC3B,UACA,aAAU,WACV,cAAW,KACX,gBAAa,IACb,cACA,GAAG,KACiB;CACpB,IAAM,IAAY,EAAuB,KAAK,EACxC,IAAe,EAAM,MAAM,CAAC,EAAS;AAQ3C,QANA,QAAgB;AACd,EAAI,KACF,EAAU,SAAS,eAAe,EAAE,OAAO,WAAW,CAAC;IAExD,CAAC,EAAW,CAAC,EAGd,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAU,EAAO;GAAU;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAClF,GAAI;YAEJ,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACG,EAAa,KAAK,GAAM,MACvB,kBAAC,OAAD;IAAa,WAAW,EAAO;cAC5B;IACG,EAFI,EAEJ,CACN,EACF,kBAAC,OAAD,EAAK,KAAK,GAAa,CAAA,CACnB;;EACF,CAAA"}
@@ -1,2 +1,2 @@
1
+ export type { TerminalVariant, TerminalViewProps } from './TerminalView';
1
2
  export { TerminalView } from './TerminalView';
2
- export type { TerminalViewProps, TerminalVariant } from './TerminalView';
@@ -1 +1 @@
1
- {"version":3,"file":"Text.cjs","names":[],"sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Text.module.css\";\n\nexport type TextVariant =\n | \"large-title\"\n | \"title-1\"\n | \"title-2\"\n | \"title-3\"\n | \"title-4\"\n | \"heading\"\n | \"body\"\n | \"document\"\n | \"caption\"\n | \"caption-heading\"\n | \"monospace\"\n | \"numeric\";\n\nexport type TextColor =\n | \"default\"\n | \"dim\"\n | \"accent\"\n | \"destructive\"\n | \"success\"\n | \"warning\"\n | \"error\";\n\n/** Default HTML element rendered for each variant */\nconst defaultElement: Record<TextVariant, ElementType> = {\n \"large-title\": \"h1\",\n \"title-1\": \"h1\",\n \"title-2\": \"h2\",\n \"title-3\": \"h3\",\n \"title-4\": \"h4\",\n heading: \"h3\",\n body: \"p\",\n document: \"p\",\n caption: \"span\",\n \"caption-heading\": \"span\",\n monospace: \"code\",\n numeric: \"span\",\n};\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n /** Typography style. Mirrors Adwaita / GNOME HIG text styles. */\n variant?: TextVariant;\n /** Semantic color. */\n color?: TextColor;\n /** Override the rendered HTML element. */\n as?: ElementType;\n children?: ReactNode;\n}\n\n/**\n * Text component following GNOME Human Interface Guidelines typography styles.\n *\n * Variants map directly to Adwaita style classes:\n * `large-title`, `title-1`–`title-4`, `heading`, `body`, `document`,\n * `caption`, `caption-heading`, `monospace`, `numeric`.\n *\n * @see https://developer.gnome.org/hig/guidelines/typography.html\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport function Text({\n variant = \"body\",\n color = \"default\",\n as,\n className,\n children,\n ...props\n}: TextProps) {\n const Tag = as ?? defaultElement[variant];\n\n const classes = [\n styles.text,\n styles[variant],\n styles[`color-${color}`],\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <Tag className={classes} {...props}>\n {children}\n </Tag>\n );\n}\n"],"mappings":"4EA2BA,IAAM,EAAmD,CACvD,cAAe,KACf,UAAW,KACX,UAAW,KACX,UAAW,KACX,UAAW,KACX,QAAS,KACT,KAAM,IACN,SAAU,IACV,QAAS,OACT,kBAAmB,OACnB,UAAW,OACX,QAAS,OACV,CAsBD,SAAgB,EAAK,CACnB,UAAU,OACV,QAAQ,UACR,KACA,YACA,WACA,GAAG,GACS,CAYZ,OACE,EAAA,EAAA,KAZU,GAAM,EAAe,GAY/B,CAAK,UAVS,CACd,EAAA,QAAO,KACP,EAAA,QAAO,GACP,EAAA,QAAO,SAAS,KAChB,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CAGe,GAAI,EAC1B,WACG,CAAA"}
1
+ {"version":3,"file":"Text.cjs","names":[],"sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Text.module.css';\n\nexport type TextVariant =\n | 'large-title'\n | 'title-1'\n | 'title-2'\n | 'title-3'\n | 'title-4'\n | 'heading'\n | 'body'\n | 'document'\n | 'caption'\n | 'caption-heading'\n | 'monospace'\n | 'numeric';\n\nexport type TextColor =\n | 'default'\n | 'dim'\n | 'accent'\n | 'destructive'\n | 'success'\n | 'warning'\n | 'error';\n\n/** Default HTML element rendered for each variant */\nconst defaultElement: Record<TextVariant, ElementType> = {\n 'large-title': 'h1',\n 'title-1': 'h1',\n 'title-2': 'h2',\n 'title-3': 'h3',\n 'title-4': 'h4',\n heading: 'h3',\n body: 'p',\n document: 'p',\n caption: 'span',\n 'caption-heading': 'span',\n monospace: 'code',\n numeric: 'span',\n};\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n /** Typography style. Mirrors Adwaita / GNOME HIG text styles. */\n variant?: TextVariant;\n /** Semantic color. */\n color?: TextColor;\n /** Override the rendered HTML element. */\n as?: ElementType;\n children?: ReactNode;\n}\n\n/**\n * Text component following GNOME Human Interface Guidelines typography styles.\n *\n * Variants map directly to Adwaita style classes:\n * `large-title`, `title-1`–`title-4`, `heading`, `body`, `document`,\n * `caption`, `caption-heading`, `monospace`, `numeric`.\n *\n * @see https://developer.gnome.org/hig/guidelines/typography.html\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport function Text({\n variant = 'body',\n color = 'default',\n as,\n className,\n children,\n ...props\n}: TextProps) {\n const Tag = as ?? defaultElement[variant];\n\n const classes = [styles.text, styles[variant], styles[`color-${color}`], className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <Tag className={classes} {...props}>\n {children}\n </Tag>\n );\n}\n"],"mappings":"4EA4BA,IAAM,EAAmD,CACvD,cAAe,KACf,UAAW,KACX,UAAW,KACX,UAAW,KACX,UAAW,KACX,QAAS,KACT,KAAM,IACN,SAAU,IACV,QAAS,OACT,kBAAmB,OACnB,UAAW,OACX,QAAS,OACV,CAsBD,SAAgB,EAAK,CACnB,UAAU,OACV,QAAQ,UACR,KACA,YACA,WACA,GAAG,GACS,CAOZ,OACE,EAAA,EAAA,KAPU,GAAM,EAAe,GAO/B,CAAK,UALS,CAAC,EAAA,QAAO,KAAM,EAAA,QAAO,GAAU,EAAA,QAAO,SAAS,KAAU,EAAU,CAChF,OAAO,QAAQ,CACf,KAAK,IAAI,CAGe,GAAI,EAC1B,WACG,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { ElementType, HTMLAttributes, ReactNode } from 'react';
2
- export type TextVariant = "large-title" | "title-1" | "title-2" | "title-3" | "title-4" | "heading" | "body" | "document" | "caption" | "caption-heading" | "monospace" | "numeric";
3
- export type TextColor = "default" | "dim" | "accent" | "destructive" | "success" | "warning" | "error";
2
+ export type TextVariant = 'large-title' | 'title-1' | 'title-2' | 'title-3' | 'title-4' | 'heading' | 'body' | 'document' | 'caption' | 'caption-heading' | 'monospace' | 'numeric';
3
+ export type TextColor = 'default' | 'dim' | 'accent' | 'destructive' | 'success' | 'warning' | 'error';
4
4
  export interface TextProps extends HTMLAttributes<HTMLElement> {
5
5
  /** Typography style. Mirrors Adwaita / GNOME HIG text styles. */
6
6
  variant?: TextVariant;
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","names":[],"sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Text.module.css\";\n\nexport type TextVariant =\n | \"large-title\"\n | \"title-1\"\n | \"title-2\"\n | \"title-3\"\n | \"title-4\"\n | \"heading\"\n | \"body\"\n | \"document\"\n | \"caption\"\n | \"caption-heading\"\n | \"monospace\"\n | \"numeric\";\n\nexport type TextColor =\n | \"default\"\n | \"dim\"\n | \"accent\"\n | \"destructive\"\n | \"success\"\n | \"warning\"\n | \"error\";\n\n/** Default HTML element rendered for each variant */\nconst defaultElement: Record<TextVariant, ElementType> = {\n \"large-title\": \"h1\",\n \"title-1\": \"h1\",\n \"title-2\": \"h2\",\n \"title-3\": \"h3\",\n \"title-4\": \"h4\",\n heading: \"h3\",\n body: \"p\",\n document: \"p\",\n caption: \"span\",\n \"caption-heading\": \"span\",\n monospace: \"code\",\n numeric: \"span\",\n};\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n /** Typography style. Mirrors Adwaita / GNOME HIG text styles. */\n variant?: TextVariant;\n /** Semantic color. */\n color?: TextColor;\n /** Override the rendered HTML element. */\n as?: ElementType;\n children?: ReactNode;\n}\n\n/**\n * Text component following GNOME Human Interface Guidelines typography styles.\n *\n * Variants map directly to Adwaita style classes:\n * `large-title`, `title-1`–`title-4`, `heading`, `body`, `document`,\n * `caption`, `caption-heading`, `monospace`, `numeric`.\n *\n * @see https://developer.gnome.org/hig/guidelines/typography.html\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport function Text({\n variant = \"body\",\n color = \"default\",\n as,\n className,\n children,\n ...props\n}: TextProps) {\n const Tag = as ?? defaultElement[variant];\n\n const classes = [\n styles.text,\n styles[variant],\n styles[`color-${color}`],\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <Tag className={classes} {...props}>\n {children}\n </Tag>\n );\n}\n"],"mappings":";;;AA2BA,IAAM,IAAmD;CACvD,eAAe;CACf,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,SAAS;CACT,MAAM;CACN,UAAU;CACV,SAAS;CACT,mBAAmB;CACnB,WAAW;CACX,SAAS;CACV;AAsBD,SAAgB,EAAK,EACnB,aAAU,QACV,WAAQ,WACR,OACA,cACA,aACA,GAAG,KACS;AAYZ,QACE,kBAZU,KAAM,EAAe,IAY/B;EAAK,WAVS;GACd,EAAO;GACP,EAAO;GACP,EAAO,SAAS;GAChB;GACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;EAGe,GAAI;EAC1B;EACG,CAAA"}
1
+ {"version":3,"file":"Text.js","names":[],"sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './Text.module.css';\n\nexport type TextVariant =\n | 'large-title'\n | 'title-1'\n | 'title-2'\n | 'title-3'\n | 'title-4'\n | 'heading'\n | 'body'\n | 'document'\n | 'caption'\n | 'caption-heading'\n | 'monospace'\n | 'numeric';\n\nexport type TextColor =\n | 'default'\n | 'dim'\n | 'accent'\n | 'destructive'\n | 'success'\n | 'warning'\n | 'error';\n\n/** Default HTML element rendered for each variant */\nconst defaultElement: Record<TextVariant, ElementType> = {\n 'large-title': 'h1',\n 'title-1': 'h1',\n 'title-2': 'h2',\n 'title-3': 'h3',\n 'title-4': 'h4',\n heading: 'h3',\n body: 'p',\n document: 'p',\n caption: 'span',\n 'caption-heading': 'span',\n monospace: 'code',\n numeric: 'span',\n};\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n /** Typography style. Mirrors Adwaita / GNOME HIG text styles. */\n variant?: TextVariant;\n /** Semantic color. */\n color?: TextColor;\n /** Override the rendered HTML element. */\n as?: ElementType;\n children?: ReactNode;\n}\n\n/**\n * Text component following GNOME Human Interface Guidelines typography styles.\n *\n * Variants map directly to Adwaita style classes:\n * `large-title`, `title-1`–`title-4`, `heading`, `body`, `document`,\n * `caption`, `caption-heading`, `monospace`, `numeric`.\n *\n * @see https://developer.gnome.org/hig/guidelines/typography.html\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport function Text({\n variant = 'body',\n color = 'default',\n as,\n className,\n children,\n ...props\n}: TextProps) {\n const Tag = as ?? defaultElement[variant];\n\n const classes = [styles.text, styles[variant], styles[`color-${color}`], className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <Tag className={classes} {...props}>\n {children}\n </Tag>\n );\n}\n"],"mappings":";;;AA4BA,IAAM,IAAmD;CACvD,eAAe;CACf,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,SAAS;CACT,MAAM;CACN,UAAU;CACV,SAAS;CACT,mBAAmB;CACnB,WAAW;CACX,SAAS;CACV;AAsBD,SAAgB,EAAK,EACnB,aAAU,QACV,WAAQ,WACR,OACA,cACA,aACA,GAAG,KACS;AAOZ,QACE,kBAPU,KAAM,EAAe,IAO/B;EAAK,WALS;GAAC,EAAO;GAAM,EAAO;GAAU,EAAO,SAAS;GAAU;GAAU,CAChF,OAAO,QAAQ,CACf,KAAK,IAAI;EAGe,GAAI;EAC1B;EACG,CAAA"}
@@ -1,2 +1,2 @@
1
+ export type { TextColor, TextProps, TextVariant } from './Text';
1
2
  export { Text } from './Text';
2
- export type { TextProps, TextVariant, TextColor } from './Text';
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.cjs","names":[],"sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import { useId, type InputHTMLAttributes } from \"react\";\nimport styles from \"./TextField.module.css\";\n\nexport interface TextFieldProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"id\"> {\n /** Visible label rendered above the input. */\n label?: string;\n /** Helper text rendered below the input. Hidden when `error` is set. */\n helperText?: string;\n /**\n * Error message rendered below the input in place of `helperText`.\n * Also applies the error visual state to the input border.\n */\n error?: string;\n /** Explicit id. Auto-generated when omitted. */\n id?: string;\n}\n\n/**\n * Single-line text input with label, helper text, and error state.\n *\n * Follows the Adwaita `GtkEntry` / `.entry` style class.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/text-fields.html\n */\nexport function TextField({\n label,\n helperText,\n error,\n id: idProp,\n className,\n disabled,\n ...props\n}: TextFieldProps) {\n const autoId = useId();\n const id = idProp ?? autoId;\n const helpId = `${id}-help`;\n\n return (\n <div className={[styles.wrapper, disabled ? styles.disabled : null].filter(Boolean).join(\" \")}>\n {label && (\n <label htmlFor={id} className={styles.label}>\n {label}\n </label>\n )}\n\n <input\n id={id}\n disabled={disabled}\n aria-describedby={error || helperText ? helpId : undefined}\n aria-invalid={error ? true : undefined}\n className={[\n styles.input,\n error ? styles.errorInput : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n />\n\n {(error || helperText) && (\n <span\n id={helpId}\n className={[styles.hint, error ? styles.errorHint : null]\n .filter(Boolean)\n .join(\" \")}\n >\n {error ?? helperText}\n </span>\n )}\n </div>\n );\n}\n"],"mappings":"oGAyBA,SAAgB,EAAU,CACxB,QACA,aACA,QACA,GAAI,EACJ,YACA,WACA,GAAG,GACc,CACjB,IAAM,GAAA,EAAA,EAAA,QAAgB,CAChB,EAAK,GAAU,EACf,EAAS,GAAG,EAAG,OAErB,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,QAAS,EAAW,EAAA,QAAO,SAAW,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UAA7F,CACG,IACC,EAAA,EAAA,KAAC,QAAD,CAAO,QAAS,EAAI,UAAW,EAAA,QAAO,eACnC,EACK,CAAA,EAGV,EAAA,EAAA,KAAC,QAAD,CACM,KACM,WACV,mBAAkB,GAAS,EAAa,EAAS,IAAA,GACjD,eAAc,EAAQ,GAAO,IAAA,GAC7B,UAAW,CACT,EAAA,QAAO,MACP,EAAQ,EAAA,QAAO,WAAa,KAC5B,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,EACJ,CAAA,EAEA,GAAS,KACT,EAAA,EAAA,KAAC,OAAD,CACE,GAAI,EACJ,UAAW,CAAC,EAAA,QAAO,KAAM,EAAQ,EAAA,QAAO,UAAY,KAAK,CACtD,OAAO,QAAQ,CACf,KAAK,IAAI,UAEX,GAAS,EACL,CAAA,CAEL"}
1
+ {"version":3,"file":"TextField.cjs","names":[],"sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import { type InputHTMLAttributes, useId } from 'react';\n\nimport styles from './TextField.module.css';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'id'> {\n /** Visible label rendered above the input. */\n label?: string;\n /** Helper text rendered below the input. Hidden when `error` is set. */\n helperText?: string;\n /**\n * Error message rendered below the input in place of `helperText`.\n * Also applies the error visual state to the input border.\n */\n error?: string;\n /** Explicit id. Auto-generated when omitted. */\n id?: string;\n}\n\n/**\n * Single-line text input with label, helper text, and error state.\n *\n * Follows the Adwaita `GtkEntry` / `.entry` style class.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/text-fields.html\n */\nexport function TextField({\n label,\n helperText,\n error,\n id: idProp,\n className,\n disabled,\n ...props\n}: TextFieldProps) {\n const autoId = useId();\n const id = idProp ?? autoId;\n const helpId = `${id}-help`;\n\n return (\n <div className={[styles.wrapper, disabled ? styles.disabled : null].filter(Boolean).join(' ')}>\n {label && (\n <label htmlFor={id} className={styles.label}>\n {label}\n </label>\n )}\n\n <input\n id={id}\n disabled={disabled}\n aria-describedby={error || helperText ? helpId : undefined}\n aria-invalid={error ? true : undefined}\n className={[styles.input, error ? styles.errorInput : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n\n {(error || helperText) && (\n <span\n id={helpId}\n className={[styles.hint, error ? styles.errorHint : null].filter(Boolean).join(' ')}\n >\n {error ?? helperText}\n </span>\n )}\n </div>\n );\n}\n"],"mappings":"oGAyBA,SAAgB,EAAU,CACxB,QACA,aACA,QACA,GAAI,EACJ,YACA,WACA,GAAG,GACc,CACjB,IAAM,GAAA,EAAA,EAAA,QAAgB,CAChB,EAAK,GAAU,EACf,EAAS,GAAG,EAAG,OAErB,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,CAAC,EAAA,QAAO,QAAS,EAAW,EAAA,QAAO,SAAW,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UAA7F,CACG,IACC,EAAA,EAAA,KAAC,QAAD,CAAO,QAAS,EAAI,UAAW,EAAA,QAAO,eACnC,EACK,CAAA,EAGV,EAAA,EAAA,KAAC,QAAD,CACM,KACM,WACV,mBAAkB,GAAS,EAAa,EAAS,IAAA,GACjD,eAAc,EAAQ,GAAO,IAAA,GAC7B,UAAW,CAAC,EAAA,QAAO,MAAO,EAAQ,EAAA,QAAO,WAAa,KAAM,EAAU,CACnE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,EACJ,CAAA,EAEA,GAAS,KACT,EAAA,EAAA,KAAC,OAAD,CACE,GAAI,EACJ,UAAW,CAAC,EAAA,QAAO,KAAM,EAAQ,EAAA,QAAO,UAAY,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,UAElF,GAAS,EACL,CAAA,CAEL"}
@@ -1,5 +1,5 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
- export interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "id"> {
2
+ export interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'id'> {
3
3
  /** Visible label rendered above the input. */
4
4
  label?: string;
5
5
  /** Helper text rendered below the input. Hidden when `error` is set. */
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","names":[],"sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import { useId, type InputHTMLAttributes } from \"react\";\nimport styles from \"./TextField.module.css\";\n\nexport interface TextFieldProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"id\"> {\n /** Visible label rendered above the input. */\n label?: string;\n /** Helper text rendered below the input. Hidden when `error` is set. */\n helperText?: string;\n /**\n * Error message rendered below the input in place of `helperText`.\n * Also applies the error visual state to the input border.\n */\n error?: string;\n /** Explicit id. Auto-generated when omitted. */\n id?: string;\n}\n\n/**\n * Single-line text input with label, helper text, and error state.\n *\n * Follows the Adwaita `GtkEntry` / `.entry` style class.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/text-fields.html\n */\nexport function TextField({\n label,\n helperText,\n error,\n id: idProp,\n className,\n disabled,\n ...props\n}: TextFieldProps) {\n const autoId = useId();\n const id = idProp ?? autoId;\n const helpId = `${id}-help`;\n\n return (\n <div className={[styles.wrapper, disabled ? styles.disabled : null].filter(Boolean).join(\" \")}>\n {label && (\n <label htmlFor={id} className={styles.label}>\n {label}\n </label>\n )}\n\n <input\n id={id}\n disabled={disabled}\n aria-describedby={error || helperText ? helpId : undefined}\n aria-invalid={error ? true : undefined}\n className={[\n styles.input,\n error ? styles.errorInput : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n />\n\n {(error || helperText) && (\n <span\n id={helpId}\n className={[styles.hint, error ? styles.errorHint : null]\n .filter(Boolean)\n .join(\" \")}\n >\n {error ?? helperText}\n </span>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AAyBA,SAAgB,EAAU,EACxB,UACA,eACA,UACA,IAAI,GACJ,cACA,aACA,GAAG,KACc;CACjB,IAAM,IAAS,GAAO,EAChB,IAAK,KAAU,GACf,IAAS,GAAG,EAAG;AAErB,QACE,kBAAC,OAAD;EAAK,WAAW,CAAC,EAAO,SAAS,IAAW,EAAO,WAAW,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;YAA7F;GACG,KACC,kBAAC,SAAD;IAAO,SAAS;IAAI,WAAW,EAAO;cACnC;IACK,CAAA;GAGV,kBAAC,SAAD;IACM;IACM;IACV,oBAAkB,KAAS,IAAa,IAAS,KAAA;IACjD,gBAAc,IAAQ,KAAO,KAAA;IAC7B,WAAW;KACT,EAAO;KACP,IAAQ,EAAO,aAAa;KAC5B;KACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;IACZ,GAAI;IACJ,CAAA;IAEA,KAAS,MACT,kBAAC,QAAD;IACE,IAAI;IACJ,WAAW,CAAC,EAAO,MAAM,IAAQ,EAAO,YAAY,KAAK,CACtD,OAAO,QAAQ,CACf,KAAK,IAAI;cAEX,KAAS;IACL,CAAA;GAEL"}
1
+ {"version":3,"file":"TextField.js","names":[],"sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import { type InputHTMLAttributes, useId } from 'react';\n\nimport styles from './TextField.module.css';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'id'> {\n /** Visible label rendered above the input. */\n label?: string;\n /** Helper text rendered below the input. Hidden when `error` is set. */\n helperText?: string;\n /**\n * Error message rendered below the input in place of `helperText`.\n * Also applies the error visual state to the input border.\n */\n error?: string;\n /** Explicit id. Auto-generated when omitted. */\n id?: string;\n}\n\n/**\n * Single-line text input with label, helper text, and error state.\n *\n * Follows the Adwaita `GtkEntry` / `.entry` style class.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/text-fields.html\n */\nexport function TextField({\n label,\n helperText,\n error,\n id: idProp,\n className,\n disabled,\n ...props\n}: TextFieldProps) {\n const autoId = useId();\n const id = idProp ?? autoId;\n const helpId = `${id}-help`;\n\n return (\n <div className={[styles.wrapper, disabled ? styles.disabled : null].filter(Boolean).join(' ')}>\n {label && (\n <label htmlFor={id} className={styles.label}>\n {label}\n </label>\n )}\n\n <input\n id={id}\n disabled={disabled}\n aria-describedby={error || helperText ? helpId : undefined}\n aria-invalid={error ? true : undefined}\n className={[styles.input, error ? styles.errorInput : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n\n {(error || helperText) && (\n <span\n id={helpId}\n className={[styles.hint, error ? styles.errorHint : null].filter(Boolean).join(' ')}\n >\n {error ?? helperText}\n </span>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AAyBA,SAAgB,EAAU,EACxB,UACA,eACA,UACA,IAAI,GACJ,cACA,aACA,GAAG,KACc;CACjB,IAAM,IAAS,GAAO,EAChB,IAAK,KAAU,GACf,IAAS,GAAG,EAAG;AAErB,QACE,kBAAC,OAAD;EAAK,WAAW,CAAC,EAAO,SAAS,IAAW,EAAO,WAAW,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;YAA7F;GACG,KACC,kBAAC,SAAD;IAAO,SAAS;IAAI,WAAW,EAAO;cACnC;IACK,CAAA;GAGV,kBAAC,SAAD;IACM;IACM;IACV,oBAAkB,KAAS,IAAa,IAAS,KAAA;IACjD,gBAAc,IAAQ,KAAO,KAAA;IAC7B,WAAW;KAAC,EAAO;KAAO,IAAQ,EAAO,aAAa;KAAM;KAAU,CACnE,OAAO,QAAQ,CACf,KAAK,IAAI;IACZ,GAAI;IACJ,CAAA;IAEA,KAAS,MACT,kBAAC,QAAD;IACE,IAAI;IACJ,WAAW,CAAC,EAAO,MAAM,IAAQ,EAAO,YAAY,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;cAElF,KAAS;IACL,CAAA;GAEL"}
@@ -1,2 +1,2 @@
1
- var e={wrapper:`_wrapper_q91d8_3`,disabled:`_disabled_q91d8_9`,label:`_label_q91d8_15`,input:`_input_q91d8_25`,errorInput:`_errorInput_q91d8_74`,hint:`_hint_q91d8_89`,errorHint:`_errorHint_q91d8_97`};exports.default=e;
1
+ var e={wrapper:`_wrapper_zlv0c_3`,disabled:`_disabled_zlv0c_9`,label:`_label_zlv0c_15`,input:`_input_zlv0c_25`,errorInput:`_errorInput_zlv0c_74`,hint:`_hint_zlv0c_89`,errorHint:`_errorHint_zlv0c_97`};exports.default=e;
2
2
  //# sourceMappingURL=TextField.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.module.css.cjs","names":[],"sources":["../../../src/components/TextField/TextField.module.css"],"sourcesContent":["/* ─── Wrapper ──────────────────────────────────────────────────────────────── */\n\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--gnome-space-1, 6px);\n}\n\n.disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.label {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Input ────────────────────────────────────────────────────────────────── */\n\n.input {\n appearance: none;\n -webkit-appearance: none;\n\n width: 100%;\n padding: 8px var(--gnome-space-2, 12px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-view-fg-color, rgba(0, 0, 0, 0.8));\n\n background-color: var(--gnome-view-bg-color, #ffffff);\n border: 1px solid var(--gnome-border-subtle);\n border-radius: var(--gnome-radius-md, 8px);\n\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);\n\n transition:\n border-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.input::placeholder {\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.input:focus {\n outline: none;\n}\n\n.input:focus-visible {\n border-color: var(--gnome-accent-color, #3584e4);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.input:disabled {\n cursor: not-allowed;\n /* opacity handled by .disabled wrapper */\n}\n\n/* ─── Error state ──────────────────────────────────────────────────────────── */\n\n.errorInput {\n border-color: var(--gnome-error-color, #e01b24);\n}\n\n.errorInput:focus-visible {\n border-color: var(--gnome-error-color, #e01b24);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Hint / error text ────────────────────────────────────────────────────── */\n\n.hint {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.errorHint {\n opacity: 1;\n color: var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .input {\n background-color: var(--gnome-view-bg-color, #1e1e1e);\n border-color: var(--gnome-border-subtle);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .input {\n border-width: 2px;\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .input {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"TextField.module.css.cjs","names":[],"sources":["../../../src/components/TextField/TextField.module.css"],"sourcesContent":["/* ─── Wrapper ──────────────────────────────────────────────────────────────── */\n\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--gnome-space-1, 6px);\n}\n\n.disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.label {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Input ────────────────────────────────────────────────────────────────── */\n\n.input {\n appearance: none;\n -webkit-appearance: none;\n\n width: 100%;\n padding: 8px var(--gnome-space-2, 12px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-view-fg-color, rgba(0, 0, 0, 0.8));\n\n background-color: var(--gnome-view-bg-color, #ffffff);\n border: 1px solid var(--gnome-border-subtle);\n border-radius: var(--gnome-radius-md, 8px);\n\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);\n\n transition:\n border-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.input::placeholder {\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.input:focus {\n outline: none;\n}\n\n.input:focus-visible {\n border-color: var(--gnome-accent-color, #3584e4);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.input:disabled {\n cursor: not-allowed;\n /* opacity handled by .disabled wrapper */\n}\n\n/* ─── Error state ──────────────────────────────────────────────────────────── */\n\n.errorInput {\n border-color: var(--gnome-error-color, #e01b24);\n}\n\n.errorInput:focus-visible {\n border-color: var(--gnome-error-color, #e01b24);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Hint / error text ────────────────────────────────────────────────────── */\n\n.hint {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.errorHint {\n opacity: 1;\n color: var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .input {\n background-color: var(--gnome-view-bg-color, #1e1e1e);\n border-color: var(--gnome-border-subtle);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .input {\n border-width: 2px;\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .input {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,11 +1,11 @@
1
1
  var e = {
2
- wrapper: "_wrapper_q91d8_3",
3
- disabled: "_disabled_q91d8_9",
4
- label: "_label_q91d8_15",
5
- input: "_input_q91d8_25",
6
- errorInput: "_errorInput_q91d8_74",
7
- hint: "_hint_q91d8_89",
8
- errorHint: "_errorHint_q91d8_97"
2
+ wrapper: "_wrapper_zlv0c_3",
3
+ disabled: "_disabled_zlv0c_9",
4
+ label: "_label_zlv0c_15",
5
+ input: "_input_zlv0c_25",
6
+ errorInput: "_errorInput_zlv0c_74",
7
+ hint: "_hint_zlv0c_89",
8
+ errorHint: "_errorHint_zlv0c_97"
9
9
  };
10
10
  //#endregion
11
11
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.module.css.js","names":[],"sources":["../../../src/components/TextField/TextField.module.css"],"sourcesContent":["/* ─── Wrapper ──────────────────────────────────────────────────────────────── */\n\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--gnome-space-1, 6px);\n}\n\n.disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.label {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Input ────────────────────────────────────────────────────────────────── */\n\n.input {\n appearance: none;\n -webkit-appearance: none;\n\n width: 100%;\n padding: 8px var(--gnome-space-2, 12px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-view-fg-color, rgba(0, 0, 0, 0.8));\n\n background-color: var(--gnome-view-bg-color, #ffffff);\n border: 1px solid var(--gnome-border-subtle);\n border-radius: var(--gnome-radius-md, 8px);\n\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);\n\n transition:\n border-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.input::placeholder {\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.input:focus {\n outline: none;\n}\n\n.input:focus-visible {\n border-color: var(--gnome-accent-color, #3584e4);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.input:disabled {\n cursor: not-allowed;\n /* opacity handled by .disabled wrapper */\n}\n\n/* ─── Error state ──────────────────────────────────────────────────────────── */\n\n.errorInput {\n border-color: var(--gnome-error-color, #e01b24);\n}\n\n.errorInput:focus-visible {\n border-color: var(--gnome-error-color, #e01b24);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Hint / error text ────────────────────────────────────────────────────── */\n\n.hint {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.errorHint {\n opacity: 1;\n color: var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .input {\n background-color: var(--gnome-view-bg-color, #1e1e1e);\n border-color: var(--gnome-border-subtle);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .input {\n border-width: 2px;\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .input {\n transition: none;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"TextField.module.css.js","names":[],"sources":["../../../src/components/TextField/TextField.module.css"],"sourcesContent":["/* ─── Wrapper ──────────────────────────────────────────────────────────────── */\n\n.wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--gnome-space-1, 6px);\n}\n\n.disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n}\n\n/* ─── Label ────────────────────────────────────────────────────────────────── */\n\n.label {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Input ────────────────────────────────────────────────────────────────── */\n\n.input {\n appearance: none;\n -webkit-appearance: none;\n\n width: 100%;\n padding: 8px var(--gnome-space-2, 12px);\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-view-fg-color, rgba(0, 0, 0, 0.8));\n\n background-color: var(--gnome-view-bg-color, #ffffff);\n border: 1px solid var(--gnome-border-subtle);\n border-radius: var(--gnome-radius-md, 8px);\n\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);\n\n transition:\n border-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.input::placeholder {\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.input:focus {\n outline: none;\n}\n\n.input:focus-visible {\n border-color: var(--gnome-accent-color, #3584e4);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n.input:disabled {\n cursor: not-allowed;\n /* opacity handled by .disabled wrapper */\n}\n\n/* ─── Error state ──────────────────────────────────────────────────────────── */\n\n.errorInput {\n border-color: var(--gnome-error-color, #e01b24);\n}\n\n.errorInput:focus-visible {\n border-color: var(--gnome-error-color, #e01b24);\n box-shadow:\n inset 0 1px 2px rgba(0, 0, 0, 0.06),\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Hint / error text ────────────────────────────────────────────────────── */\n\n.hint {\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-caption, 0.75rem);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n.errorHint {\n opacity: 1;\n color: var(--gnome-error-color, #e01b24);\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .input {\n background-color: var(--gnome-view-bg-color, #1e1e1e);\n border-color: var(--gnome-border-subtle);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .input {\n border-width: 2px;\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .input {\n transition: none;\n }\n}\n"],"mappings":""}