@panneau/ui 5.0.0-alpha.1 → 5.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/README.md +276 -13
  2. package/bin/check-theme.js +5 -0
  3. package/dist/alert/Alert.css +28 -42
  4. package/dist/alert/Alert.d.ts +18 -4
  5. package/dist/alert/Alert.d.ts.map +1 -1
  6. package/dist/alert/Alert.js +4 -3
  7. package/dist/alert/Alert.js.map +1 -1
  8. package/dist/alert/Alert.module.js +14 -16
  9. package/dist/alert/Alert.module.js.map +1 -1
  10. package/dist/alert/tokens.d.ts +3 -0
  11. package/dist/alert/tokens.d.ts.map +1 -0
  12. package/dist/alert/tokens.js +21 -0
  13. package/dist/alert/tokens.js.map +1 -0
  14. package/dist/badge/Badge.css +24 -36
  15. package/dist/badge/Badge.d.ts +18 -3
  16. package/dist/badge/Badge.d.ts.map +1 -1
  17. package/dist/badge/Badge.js +3 -2
  18. package/dist/badge/Badge.js.map +1 -1
  19. package/dist/badge/Badge.module.js +9 -13
  20. package/dist/badge/Badge.module.js.map +1 -1
  21. package/dist/badge/tokens.d.ts +3 -0
  22. package/dist/badge/tokens.d.ts.map +1 -0
  23. package/dist/badge/tokens.js +23 -0
  24. package/dist/badge/tokens.js.map +1 -0
  25. package/dist/button/Button.css +58 -42
  26. package/dist/button/Button.d.ts +30 -3
  27. package/dist/button/Button.d.ts.map +1 -1
  28. package/dist/button/Button.js +27 -2
  29. package/dist/button/Button.js.map +1 -1
  30. package/dist/button/Button.module.js +14 -14
  31. package/dist/button/Button.module.js.map +1 -1
  32. package/dist/button/tokens.d.ts +3 -0
  33. package/dist/button/tokens.d.ts.map +1 -0
  34. package/dist/button/tokens.js +25 -0
  35. package/dist/button/tokens.js.map +1 -0
  36. package/dist/card/Card.css +27 -20
  37. package/dist/card/Card.js +1 -1
  38. package/dist/card/Card.js.map +1 -1
  39. package/dist/card/Card.module.js +5 -5
  40. package/dist/card/Card.module.js.map +1 -1
  41. package/dist/card/tokens.d.ts +3 -0
  42. package/dist/card/tokens.d.ts.map +1 -0
  43. package/dist/card/tokens.js +31 -0
  44. package/dist/card/tokens.js.map +1 -0
  45. package/dist/checkbox/Checkbox.css +22 -21
  46. package/dist/checkbox/Checkbox.d.ts.map +1 -1
  47. package/dist/checkbox/Checkbox.js +2 -1
  48. package/dist/checkbox/Checkbox.js.map +1 -1
  49. package/dist/checkbox/Checkbox.module.js +6 -6
  50. package/dist/checkbox/Checkbox.module.js.map +1 -1
  51. package/dist/checkbox/ChoiceChrome.d.ts +3 -1
  52. package/dist/checkbox/ChoiceChrome.d.ts.map +1 -1
  53. package/dist/checkbox/ChoiceChrome.js +2 -2
  54. package/dist/checkbox/ChoiceChrome.js.map +1 -1
  55. package/dist/checkbox/tokens.d.ts +3 -0
  56. package/dist/checkbox/tokens.d.ts.map +1 -0
  57. package/dist/checkbox/tokens.js +21 -0
  58. package/dist/checkbox/tokens.js.map +1 -0
  59. package/dist/combo-box/ComboBox.css +4 -4
  60. package/dist/combo-box/ComboBox.js +1 -1
  61. package/dist/combo-box/ComboBox.js.map +1 -1
  62. package/dist/combo-box/ComboBox.module.js +3 -3
  63. package/dist/container/Container.css +32 -0
  64. package/dist/container/Container.d.ts +15 -0
  65. package/dist/container/Container.d.ts.map +1 -0
  66. package/dist/container/Container.js +18 -0
  67. package/dist/container/Container.js.map +1 -0
  68. package/dist/container/Container.module.js +20 -0
  69. package/dist/container/Container.module.js.map +1 -0
  70. package/dist/container/tokens.d.ts +3 -0
  71. package/dist/container/tokens.d.ts.map +1 -0
  72. package/dist/container/tokens.js +19 -0
  73. package/dist/container/tokens.js.map +1 -0
  74. package/dist/date-picker/DatePicker.css +30 -30
  75. package/dist/date-picker/DatePicker.js +1 -1
  76. package/dist/date-picker/DatePicker.js.map +1 -1
  77. package/dist/date-picker/DatePicker.module.js +11 -11
  78. package/dist/date-picker/DatePicker.module.js.map +1 -1
  79. package/dist/date-picker/calendarTokens.d.ts +3 -0
  80. package/dist/date-picker/calendarTokens.d.ts.map +1 -0
  81. package/dist/date-picker/calendarTokens.js +17 -0
  82. package/dist/date-picker/calendarTokens.js.map +1 -0
  83. package/dist/dialog/Dialog.css +40 -36
  84. package/dist/dialog/Dialog.js +1 -1
  85. package/dist/dialog/Dialog.js.map +1 -1
  86. package/dist/dialog/Dialog.module.js +11 -11
  87. package/dist/dialog/Dialog.module.js.map +1 -1
  88. package/dist/dialog/tokens.d.ts +3 -0
  89. package/dist/dialog/tokens.d.ts.map +1 -0
  90. package/dist/dialog/tokens.js +29 -0
  91. package/dist/dialog/tokens.js.map +1 -0
  92. package/dist/disclosure/Disclosure.css +12 -12
  93. package/dist/disclosure/Disclosure.d.ts.map +1 -1
  94. package/dist/disclosure/Disclosure.js +1 -1
  95. package/dist/disclosure/Disclosure.js.map +1 -1
  96. package/dist/disclosure/Disclosure.module.js +7 -7
  97. package/dist/disclosure/Disclosure.module.js.map +1 -1
  98. package/dist/disclosure/tokens.d.ts +3 -0
  99. package/dist/disclosure/tokens.d.ts.map +1 -0
  100. package/dist/disclosure/tokens.js +15 -0
  101. package/dist/disclosure/tokens.js.map +1 -0
  102. package/dist/divider/Divider.css +17 -0
  103. package/dist/divider/Divider.d.ts +8 -0
  104. package/dist/divider/Divider.d.ts.map +1 -0
  105. package/dist/divider/Divider.js +21 -0
  106. package/dist/divider/Divider.js.map +1 -0
  107. package/dist/divider/Divider.module.js +12 -0
  108. package/dist/divider/Divider.module.js.map +1 -0
  109. package/dist/divider/tokens.d.ts +3 -0
  110. package/dist/divider/tokens.d.ts.map +1 -0
  111. package/dist/divider/tokens.js +13 -0
  112. package/dist/divider/tokens.js.map +1 -0
  113. package/dist/field/Field.css +40 -37
  114. package/dist/field/Field.module.js +11 -11
  115. package/dist/field/Field.module.js.map +1 -1
  116. package/dist/field/Fieldset.js +1 -1
  117. package/dist/field/Fieldset.js.map +1 -1
  118. package/dist/field/inputTokens.d.ts +3 -0
  119. package/dist/field/inputTokens.d.ts.map +1 -0
  120. package/dist/field/inputTokens.js +21 -0
  121. package/dist/field/inputTokens.js.map +1 -0
  122. package/dist/field/tokens.d.ts +3 -0
  123. package/dist/field/tokens.d.ts.map +1 -0
  124. package/dist/field/tokens.js +15 -0
  125. package/dist/field/tokens.js.map +1 -0
  126. package/dist/grid/Grid.css +174 -0
  127. package/dist/grid/Grid.d.ts +28 -0
  128. package/dist/grid/Grid.d.ts.map +1 -0
  129. package/dist/grid/Grid.js +31 -0
  130. package/dist/grid/Grid.js.map +1 -0
  131. package/dist/grid/Grid.module.js +12 -0
  132. package/dist/grid/Grid.module.js.map +1 -0
  133. package/dist/grid/GridItem.css +59 -0
  134. package/dist/grid/GridItem.module.js +7 -0
  135. package/dist/grid/GridItem.module.js.map +1 -0
  136. package/dist/grid/tokens.d.ts +3 -0
  137. package/dist/grid/tokens.d.ts.map +1 -0
  138. package/dist/grid/tokens.js +10 -0
  139. package/dist/grid/tokens.js.map +1 -0
  140. package/dist/heading/Heading.css +52 -0
  141. package/dist/heading/Heading.d.ts +17 -0
  142. package/dist/heading/Heading.d.ts.map +1 -0
  143. package/dist/heading/Heading.js +17 -0
  144. package/dist/heading/Heading.js.map +1 -0
  145. package/dist/heading/Heading.module.js +16 -0
  146. package/dist/heading/Heading.module.js.map +1 -0
  147. package/dist/heading/tokens.d.ts +6 -0
  148. package/dist/heading/tokens.d.ts.map +1 -0
  149. package/dist/heading/tokens.js +66 -0
  150. package/dist/heading/tokens.js.map +1 -0
  151. package/dist/icon/Icon.css +1 -1
  152. package/dist/icon/Icon.js +1 -1
  153. package/dist/icon/Icon.js.map +1 -1
  154. package/dist/icon/Icon.module.js +1 -1
  155. package/dist/icon/lucideIconLoader.d.ts +9 -0
  156. package/dist/icon/lucideIconLoader.d.ts.map +1 -0
  157. package/dist/icon/lucideIconLoader.js +22 -0
  158. package/dist/icon/lucideIconLoader.js.map +1 -0
  159. package/dist/icon/namedIcons.d.ts +15 -8
  160. package/dist/icon/namedIcons.d.ts.map +1 -1
  161. package/dist/icon/namedIcons.js +43 -29
  162. package/dist/icon/namedIcons.js.map +1 -1
  163. package/dist/icon-button/IconButton.css +2 -2
  164. package/dist/icon-button/IconButton.d.ts +1 -1
  165. package/dist/icon-button/IconButton.d.ts.map +1 -1
  166. package/dist/icon-button/IconButton.js +3 -3
  167. package/dist/icon-button/IconButton.js.map +1 -1
  168. package/dist/icon-button/IconButton.module.js +2 -2
  169. package/dist/index.d.ts +26 -6
  170. package/dist/index.d.ts.map +1 -1
  171. package/dist/index.js +21 -3
  172. package/dist/inline/Inline.css +142 -0
  173. package/dist/inline/Inline.d.ts +17 -0
  174. package/dist/inline/Inline.d.ts.map +1 -0
  175. package/dist/inline/Inline.js +21 -0
  176. package/dist/inline/Inline.js.map +1 -0
  177. package/dist/inline/Inline.module.js +12 -0
  178. package/dist/inline/Inline.module.js.map +1 -0
  179. package/dist/inline/tokens.d.ts +3 -0
  180. package/dist/inline/tokens.d.ts.map +1 -0
  181. package/dist/inline/tokens.js +10 -0
  182. package/dist/inline/tokens.js.map +1 -0
  183. package/dist/layout/responsive.d.ts +38 -0
  184. package/dist/layout/responsive.d.ts.map +1 -0
  185. package/dist/layout/responsive.js +49 -0
  186. package/dist/layout/responsive.js.map +1 -0
  187. package/dist/menu/Menu.js +2 -2
  188. package/dist/menu/Menu.js.map +1 -1
  189. package/dist/named-icons/index.d.ts +2 -0
  190. package/dist/named-icons/index.d.ts.map +1 -0
  191. package/dist/named-icons/index.js +1 -0
  192. package/dist/number-input/NumberInput.css +12 -12
  193. package/dist/number-input/NumberInput.js +1 -1
  194. package/dist/number-input/NumberInput.js.map +1 -1
  195. package/dist/number-input/NumberInput.module.js +4 -4
  196. package/dist/number-input/NumberInput.module.js.map +1 -1
  197. package/dist/number-input/tokens.d.ts +3 -0
  198. package/dist/number-input/tokens.d.ts.map +1 -0
  199. package/dist/number-input/tokens.js +10 -0
  200. package/dist/number-input/tokens.js.map +1 -0
  201. package/dist/popover/Popover.css +13 -12
  202. package/dist/popover/Popover.js +2 -2
  203. package/dist/popover/Popover.js.map +1 -1
  204. package/dist/popover/Popover.module.js +3 -3
  205. package/dist/popover/Popover.module.js.map +1 -1
  206. package/dist/popover/tokens.d.ts +3 -0
  207. package/dist/popover/tokens.d.ts.map +1 -0
  208. package/dist/popover/tokens.js +19 -0
  209. package/dist/popover/tokens.js.map +1 -0
  210. package/dist/prose/Prose.css +141 -0
  211. package/dist/prose/Prose.d.ts +11 -0
  212. package/dist/prose/Prose.d.ts.map +1 -0
  213. package/dist/prose/Prose.js +18 -0
  214. package/dist/prose/Prose.js.map +1 -0
  215. package/dist/prose/Prose.module.js +8 -0
  216. package/dist/prose/Prose.module.js.map +1 -0
  217. package/dist/prose/tokens.d.ts +3 -0
  218. package/dist/prose/tokens.d.ts.map +1 -0
  219. package/dist/prose/tokens.js +33 -0
  220. package/dist/prose/tokens.js.map +1 -0
  221. package/dist/radio-group/RadioGroup.css +21 -20
  222. package/dist/radio-group/RadioGroup.d.ts.map +1 -1
  223. package/dist/radio-group/RadioGroup.js +2 -2
  224. package/dist/radio-group/RadioGroup.js.map +1 -1
  225. package/dist/radio-group/RadioGroup.module.js +6 -6
  226. package/dist/radio-group/RadioGroup.module.js.map +1 -1
  227. package/dist/radio-group/tokens.d.ts +3 -0
  228. package/dist/radio-group/tokens.d.ts.map +1 -0
  229. package/dist/radio-group/tokens.js +19 -0
  230. package/dist/radio-group/tokens.js.map +1 -0
  231. package/dist/root/PanneauRoot.css +243 -20
  232. package/dist/root/PanneauRoot.d.ts +35 -4
  233. package/dist/root/PanneauRoot.d.ts.map +1 -1
  234. package/dist/root/PanneauRoot.js +107 -20
  235. package/dist/root/PanneauRoot.js.map +1 -1
  236. package/dist/root/PanneauRoot.module.js +11 -3
  237. package/dist/root/PanneauRoot.module.js.map +1 -1
  238. package/dist/root/ThemeScope.d.ts +24 -0
  239. package/dist/root/ThemeScope.d.ts.map +1 -0
  240. package/dist/root/ThemeScope.js +49 -0
  241. package/dist/root/ThemeScope.js.map +1 -0
  242. package/dist/select/ListBox.css +23 -22
  243. package/dist/select/ListBox.module.js +12 -12
  244. package/dist/select/ListBox.module.js.map +1 -1
  245. package/dist/select/Select.js +1 -1
  246. package/dist/select/Select.js.map +1 -1
  247. package/dist/select/listBoxTokens.d.ts +3 -0
  248. package/dist/select/listBoxTokens.d.ts.map +1 -0
  249. package/dist/select/listBoxTokens.js +19 -0
  250. package/dist/select/listBoxTokens.js.map +1 -0
  251. package/dist/spinner/Spinner.css +8 -8
  252. package/dist/spinner/Spinner.js +1 -1
  253. package/dist/spinner/Spinner.js.map +1 -1
  254. package/dist/spinner/Spinner.module.js +5 -5
  255. package/dist/spinner/Spinner.module.js.map +1 -1
  256. package/dist/spinner/tokens.d.ts +3 -0
  257. package/dist/spinner/tokens.d.ts.map +1 -0
  258. package/dist/spinner/tokens.js +10 -0
  259. package/dist/spinner/tokens.js.map +1 -0
  260. package/dist/stack/Stack.css +135 -0
  261. package/dist/stack/Stack.d.ts +15 -0
  262. package/dist/stack/Stack.d.ts.map +1 -0
  263. package/dist/stack/Stack.js +21 -0
  264. package/dist/stack/Stack.js.map +1 -0
  265. package/dist/stack/Stack.module.js +8 -0
  266. package/dist/stack/Stack.module.js.map +1 -0
  267. package/dist/stack/tokens.d.ts +3 -0
  268. package/dist/stack/tokens.d.ts.map +1 -0
  269. package/dist/stack/tokens.js +10 -0
  270. package/dist/stack/tokens.js.map +1 -0
  271. package/dist/switch/Switch.css +34 -25
  272. package/dist/switch/Switch.d.ts.map +1 -1
  273. package/dist/switch/Switch.js +2 -1
  274. package/dist/switch/Switch.js.map +1 -1
  275. package/dist/switch/Switch.module.js +6 -5
  276. package/dist/switch/Switch.module.js.map +1 -1
  277. package/dist/switch/tokens.d.ts +3 -0
  278. package/dist/switch/tokens.d.ts.map +1 -0
  279. package/dist/switch/tokens.js +25 -0
  280. package/dist/switch/tokens.js.map +1 -0
  281. package/dist/tabs/Tabs.css +24 -23
  282. package/dist/tabs/Tabs.js +4 -4
  283. package/dist/tabs/Tabs.js.map +1 -1
  284. package/dist/tabs/Tabs.module.js +4 -4
  285. package/dist/tabs/Tabs.module.js.map +1 -1
  286. package/dist/tabs/tokens.d.ts +3 -0
  287. package/dist/tabs/tokens.d.ts.map +1 -0
  288. package/dist/tabs/tokens.js +25 -0
  289. package/dist/tabs/tokens.js.map +1 -0
  290. package/dist/text/Text.css +74 -0
  291. package/dist/text/Text.d.ts +27 -0
  292. package/dist/text/Text.d.ts.map +1 -0
  293. package/dist/text/Text.js +16 -0
  294. package/dist/text/Text.js.map +1 -0
  295. package/dist/text/Text.module.js +30 -0
  296. package/dist/text/Text.module.js.map +1 -0
  297. package/dist/text/tokens.d.ts +3 -0
  298. package/dist/text/tokens.d.ts.map +1 -0
  299. package/dist/text/tokens.js +10 -0
  300. package/dist/text/tokens.js.map +1 -0
  301. package/dist/text-area/TextArea.css +1 -1
  302. package/dist/text-area/TextArea.js +2 -2
  303. package/dist/text-area/TextArea.js.map +1 -1
  304. package/dist/text-area/TextArea.module.js +3 -3
  305. package/dist/text-area/TextArea.module.js.map +1 -1
  306. package/dist/text-input/TextInput.js +1 -1
  307. package/dist/text-input/TextInput.js.map +1 -1
  308. package/dist/theme/Tone.css +70 -0
  309. package/dist/theme/Tone.module.js +20 -0
  310. package/dist/theme/Tone.module.js.map +1 -0
  311. package/dist/theme/bootstrap.d.ts +10 -0
  312. package/dist/theme/bootstrap.d.ts.map +1 -1
  313. package/dist/theme/bootstrap.js +48 -5
  314. package/dist/theme/bootstrap.js.map +1 -1
  315. package/dist/theme/chartColors.d.ts +23 -0
  316. package/dist/theme/chartColors.d.ts.map +1 -0
  317. package/dist/theme/chartColors.js +27 -0
  318. package/dist/theme/chartColors.js.map +1 -0
  319. package/dist/theme/checkTheme.d.ts +39 -0
  320. package/dist/theme/checkTheme.d.ts.map +1 -0
  321. package/dist/theme/checkTheme.js +132 -0
  322. package/dist/theme/checkTheme.js.map +1 -0
  323. package/dist/theme/cli.d.ts +14 -0
  324. package/dist/theme/cli.d.ts.map +1 -0
  325. package/dist/theme/cli.js +61 -0
  326. package/dist/theme/cli.js.map +1 -0
  327. package/dist/theme/color.d.ts +30 -0
  328. package/dist/theme/color.d.ts.map +1 -0
  329. package/dist/theme/color.js +94 -0
  330. package/dist/theme/color.js.map +1 -0
  331. package/dist/theme/colorVision.d.ts +23 -0
  332. package/dist/theme/colorVision.d.ts.map +1 -0
  333. package/dist/theme/colorVision.js +140 -0
  334. package/dist/theme/colorVision.js.map +1 -0
  335. package/dist/theme/componentTokens.d.ts +24 -0
  336. package/dist/theme/componentTokens.d.ts.map +1 -0
  337. package/dist/theme/componentTokens.js +20 -0
  338. package/dist/theme/componentTokens.js.map +1 -0
  339. package/dist/theme/components.d.ts +38 -0
  340. package/dist/theme/components.d.ts.map +1 -0
  341. package/dist/theme/components.js +65 -0
  342. package/dist/theme/components.js.map +1 -0
  343. package/dist/theme/defineTheme.d.ts +85 -0
  344. package/dist/theme/defineTheme.d.ts.map +1 -0
  345. package/dist/theme/defineTheme.js +130 -0
  346. package/dist/theme/defineTheme.js.map +1 -0
  347. package/dist/theme/fonts.d.ts +32 -0
  348. package/dist/theme/fonts.d.ts.map +1 -0
  349. package/dist/theme/fonts.js +36 -0
  350. package/dist/theme/fonts.js.map +1 -0
  351. package/dist/theme/index.d.ts +13 -0
  352. package/dist/theme/index.d.ts.map +1 -0
  353. package/dist/theme/index.js +10 -0
  354. package/dist/theme/semanticTokens.d.ts +9 -0
  355. package/dist/theme/semanticTokens.d.ts.map +1 -0
  356. package/dist/theme/semanticTokens.js +110 -0
  357. package/dist/theme/semanticTokens.js.map +1 -0
  358. package/dist/theme/theme.d.ts +61 -7
  359. package/dist/theme/theme.d.ts.map +1 -1
  360. package/dist/theme/theme.js +100 -10
  361. package/dist/theme/theme.js.map +1 -1
  362. package/dist/theme/toneClass.d.ts +8 -0
  363. package/dist/theme/toneClass.d.ts.map +1 -0
  364. package/dist/theme/toneClass.js +15 -0
  365. package/dist/theme/toneClass.js.map +1 -0
  366. package/dist/theme/tones.d.ts +89 -0
  367. package/dist/theme/tones.d.ts.map +1 -0
  368. package/dist/theme/tones.js +127 -0
  369. package/dist/theme/tones.js.map +1 -0
  370. package/dist/time-input/TimeInput.js +1 -1
  371. package/dist/time-input/TimeInput.js.map +1 -1
  372. package/dist/toast/Toast.css +22 -44
  373. package/dist/toast/Toast.d.ts +5 -3
  374. package/dist/toast/Toast.d.ts.map +1 -1
  375. package/dist/toast/Toast.js +4 -3
  376. package/dist/toast/Toast.js.map +1 -1
  377. package/dist/toast/Toast.module.js +10 -16
  378. package/dist/toast/Toast.module.js.map +1 -1
  379. package/dist/toast/tokens.d.ts +3 -0
  380. package/dist/toast/tokens.d.ts.map +1 -0
  381. package/dist/toast/tokens.js +21 -0
  382. package/dist/toast/tokens.js.map +1 -0
  383. package/dist/tooltip/Tooltip.css +12 -11
  384. package/dist/tooltip/Tooltip.js +1 -1
  385. package/dist/tooltip/Tooltip.js.map +1 -1
  386. package/dist/tooltip/Tooltip.module.js +2 -2
  387. package/dist/tooltip/Tooltip.module.js.map +1 -1
  388. package/dist/tooltip/tokens.d.ts +3 -0
  389. package/dist/tooltip/tokens.d.ts.map +1 -0
  390. package/dist/tooltip/tokens.js +21 -0
  391. package/dist/tooltip/tokens.js.map +1 -0
  392. package/dist/utils/cx.d.ts +1 -1
  393. package/dist/utils/cx.d.ts.map +1 -1
  394. package/dist/utils/cx.js +2 -2
  395. package/dist/utils/cx.js.map +1 -1
  396. package/package.json +20 -3
@@ -0,0 +1,141 @@
1
+ /*
2
+ * Rich content: Panneau styles no element outside of this container, since it is often embedded in
3
+ * someone else's page. Rules use :where() on the elements, so a class on any of them wins.
4
+ */
5
+
6
+ .panneau-prose {
7
+ line-height: var(--panneau-prose-line-height, 1.6);
8
+ overflow-wrap: break-word;
9
+ }
10
+
11
+ .panneau-prose > * + * {
12
+ margin-top: var(--panneau-prose-gap, var(--panneau-space-4));
13
+ }
14
+
15
+ .panneau-prose > :where(h1, h2, h3, h4, h5, h6):not(:first-child) {
16
+ margin-top: var(--panneau-prose-heading-gap, var(--panneau-space-6));
17
+ }
18
+
19
+ .panneau-prose :where(h1, h2, h3, h4, h5, h6) {
20
+ font-family: var(--panneau-heading-font-family, var(--panneau-font-family-heading));
21
+ color: var(--panneau-heading-color, inherit);
22
+ }
23
+
24
+ .panneau-prose :where(h1) {
25
+ font-size: var(--panneau-heading-1-font-size, 1.75rem);
26
+ font-weight: var(--panneau-heading-1-font-weight, var(--panneau-font-weight-bold));
27
+ line-height: var(--panneau-heading-1-line-height, var(--panneau-line-height-tight));
28
+ letter-spacing: var(--panneau-heading-1-letter-spacing, -0.015em);
29
+ }
30
+
31
+ .panneau-prose :where(h2) {
32
+ font-size: var(--panneau-heading-2-font-size, 1.375rem);
33
+ font-weight: var(--panneau-heading-2-font-weight, var(--panneau-font-weight-bold));
34
+ line-height: var(--panneau-heading-2-line-height, var(--panneau-line-height-tight));
35
+ letter-spacing: var(--panneau-heading-2-letter-spacing, -0.01em);
36
+ }
37
+
38
+ .panneau-prose :where(h3) {
39
+ font-size: var(--panneau-heading-3-font-size, 1.125rem);
40
+ font-weight: var(--panneau-heading-3-font-weight, var(--panneau-font-weight-bold));
41
+ line-height: var(--panneau-heading-3-line-height, var(--panneau-line-height-tight));
42
+ letter-spacing: var(--panneau-heading-3-letter-spacing, normal);
43
+ }
44
+
45
+ .panneau-prose :where(h4, h5, h6) {
46
+ font-size: var(--panneau-heading-4-font-size, var(--panneau-font-size-lg));
47
+ font-weight: var(--panneau-heading-4-font-weight, var(--panneau-font-weight-bold));
48
+ line-height: var(--panneau-heading-4-line-height, var(--panneau-line-height-tight));
49
+ letter-spacing: var(--panneau-heading-4-letter-spacing, normal);
50
+ }
51
+
52
+ .panneau-prose :where(ul, ol) {
53
+ padding-inline-start: var(--panneau-prose-list-indent, 1.5em);
54
+ }
55
+
56
+ .panneau-prose :where(ul) {
57
+ list-style: disc;
58
+ }
59
+
60
+ .panneau-prose :where(ol) {
61
+ list-style: decimal;
62
+ }
63
+
64
+ .panneau-prose :where(li + li, li > ul, li > ol) {
65
+ margin-top: var(--panneau-space-1);
66
+ }
67
+
68
+ .panneau-prose :where(a) {
69
+ color: var(--panneau-prose-link-color, var(--panneau-color-link));
70
+ text-decoration: underline;
71
+ }
72
+
73
+ .panneau-prose :where(strong, b) {
74
+ font-weight: var(--panneau-font-weight-bold);
75
+ }
76
+
77
+ .panneau-prose :where(code, kbd, samp, pre) {
78
+ color: var(--panneau-prose-code-color, inherit);
79
+ font-family: var(--panneau-font-family-mono);
80
+ font-size: var(--panneau-prose-code-font-size, 0.875em);
81
+ }
82
+
83
+ .panneau-prose :where(:not(pre) > code) {
84
+ padding: 0.1em 0.3em;
85
+ border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));
86
+ background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));
87
+ }
88
+
89
+ .panneau-prose :where(pre) {
90
+ overflow-x: auto;
91
+ padding: var(--panneau-space-3) var(--panneau-space-4);
92
+ border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));
93
+ background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));
94
+ line-height: var(--panneau-line-height);
95
+ }
96
+
97
+ .panneau-prose :where(pre code) {
98
+ font-size: inherit;
99
+ }
100
+
101
+ .panneau-prose :where(blockquote) {
102
+ margin-inline: 0;
103
+ padding-inline-start: var(--panneau-space-4);
104
+ border-inline-start: 3px solid
105
+ var(--panneau-prose-quote-border-color, var(--panneau-color-border));
106
+ color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));
107
+ }
108
+
109
+ .panneau-prose :where(figcaption) {
110
+ margin-top: var(--panneau-space-2);
111
+ color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));
112
+ font-size: var(--panneau-font-size-sm);
113
+ }
114
+
115
+ .panneau-prose :where(hr) {
116
+ border: 0;
117
+ border-top: var(--panneau-border-width) solid
118
+ var(--panneau-prose-border-color, var(--panneau-color-border));
119
+ }
120
+
121
+ .panneau-prose :where(table) {
122
+ width: 100%;
123
+ border-collapse: collapse;
124
+ font-variant-numeric: var(--panneau-font-numeric);
125
+ }
126
+
127
+ .panneau-prose :where(th, td) {
128
+ padding: var(--panneau-space-2) var(--panneau-space-3);
129
+ border-bottom: var(--panneau-border-width) solid
130
+ var(--panneau-prose-border-color, var(--panneau-color-border));
131
+ text-align: start;
132
+ vertical-align: top;
133
+ }
134
+
135
+ .panneau-prose :where(th) {
136
+ font-weight: var(--panneau-font-weight-bold);
137
+ }
138
+
139
+ .panneau-prose :where(img, video) {
140
+ height: auto;
141
+ }
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export interface ProseProps extends HTMLAttributes<HTMLElement> {
3
+ /** Element to render. Defaults to `div`. */
4
+ as?: 'div' | 'article' | 'section';
5
+ }
6
+ /**
7
+ * Styles the elements of rich content (headings, paragraphs, lists, links, quotes, code, tables):
8
+ * the output of an editor, Markdown, or a help page. Outside of it, Panneau styles no element.
9
+ */
10
+ export declare function Prose({ as: Element, className, ...props }: ProseProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=Prose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prose.d.ts","sourceRoot":"","sources":["../../src/prose/Prose.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC3D,4CAA4C;IAC5C,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,OAAe,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAE7E"}
@@ -0,0 +1,18 @@
1
+ import { cx } from "../utils/cx.js";
2
+ import Prose_module_default from "./Prose.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/prose/Prose.tsx
5
+ /**
6
+ * Styles the elements of rich content (headings, paragraphs, lists, links, quotes, code, tables):
7
+ * the output of an editor, Markdown, or a help page. Outside of it, Panneau styles no element.
8
+ */
9
+ function Prose({ as: Element = "div", className, ...props }) {
10
+ return /* @__PURE__ */ jsx(Element, {
11
+ ...props,
12
+ className: cx("panneau-prose", Prose_module_default.prose, className)
13
+ });
14
+ }
15
+ //#endregion
16
+ export { Prose };
17
+
18
+ //# sourceMappingURL=Prose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prose.js","names":["styles"],"sources":["../../src/prose/Prose.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Prose.module.css';\n\nexport interface ProseProps extends HTMLAttributes<HTMLElement> {\n /** Element to render. Defaults to `div`. */\n as?: 'div' | 'article' | 'section';\n}\n\n/**\n * Styles the elements of rich content (headings, paragraphs, lists, links, quotes, code, tables):\n * the output of an editor, Markdown, or a help page. Outside of it, Panneau styles no element.\n */\nexport function Prose({ as: Element = 'div', className, ...props }: ProseProps) {\n return <Element {...props} className={cx('panneau-prose', styles.prose, className)} />;\n}\n"],"mappings":";;;;;;;;AAcA,SAAgB,MAAM,EAAE,IAAI,UAAU,OAAO,WAAW,GAAG,SAAqB;CAC5E,OAAO,oBAAC,SAAD;EAAS,GAAI;EAAO,WAAW,GAAG,iBAAiBA,qBAAO,OAAO,SAAS;CAAE,CAAA;AACvF"}
@@ -0,0 +1,8 @@
1
+ import "./Prose.css";
2
+ //#region src/prose/Prose.module.css
3
+ var prose = "panneau-prose";
4
+ var Prose_module_default = { prose };
5
+ //#endregion
6
+ export { Prose_module_default as default, prose };
7
+
8
+ //# sourceMappingURL=Prose.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prose.module.js","names":[],"sources":["../../src/prose/Prose.module.css"],"sourcesContent":["/*\n * Rich content: Panneau styles no element outside of this container, since it is often embedded in\n * someone else's page. Rules use :where() on the elements, so a class on any of them wins.\n */\n\n.prose {\n line-height: var(--panneau-prose-line-height, 1.6);\n overflow-wrap: break-word;\n}\n\n.prose > * + * {\n margin-top: var(--panneau-prose-gap, var(--panneau-space-4));\n}\n\n.prose > :where(h1, h2, h3, h4, h5, h6):not(:first-child) {\n margin-top: var(--panneau-prose-heading-gap, var(--panneau-space-6));\n}\n\n.prose :where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--panneau-heading-font-family, var(--panneau-font-family-heading));\n color: var(--panneau-heading-color, inherit);\n}\n\n.prose :where(h1) {\n font-size: var(--panneau-heading-1-font-size, 1.75rem);\n font-weight: var(--panneau-heading-1-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-1-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-1-letter-spacing, -0.015em);\n}\n\n.prose :where(h2) {\n font-size: var(--panneau-heading-2-font-size, 1.375rem);\n font-weight: var(--panneau-heading-2-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-2-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-2-letter-spacing, -0.01em);\n}\n\n.prose :where(h3) {\n font-size: var(--panneau-heading-3-font-size, 1.125rem);\n font-weight: var(--panneau-heading-3-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-3-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-3-letter-spacing, normal);\n}\n\n.prose :where(h4, h5, h6) {\n font-size: var(--panneau-heading-4-font-size, var(--panneau-font-size-lg));\n font-weight: var(--panneau-heading-4-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-4-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-4-letter-spacing, normal);\n}\n\n.prose :where(ul, ol) {\n padding-inline-start: var(--panneau-prose-list-indent, 1.5em);\n}\n\n.prose :where(ul) {\n list-style: disc;\n}\n\n.prose :where(ol) {\n list-style: decimal;\n}\n\n.prose :where(li + li, li > ul, li > ol) {\n margin-top: var(--panneau-space-1);\n}\n\n.prose :where(a) {\n color: var(--panneau-prose-link-color, var(--panneau-color-link));\n text-decoration: underline;\n}\n\n.prose :where(strong, b) {\n font-weight: var(--panneau-font-weight-bold);\n}\n\n.prose :where(code, kbd, samp, pre) {\n color: var(--panneau-prose-code-color, inherit);\n font-family: var(--panneau-font-family-mono);\n font-size: var(--panneau-prose-code-font-size, 0.875em);\n}\n\n.prose :where(:not(pre) > code) {\n padding: 0.1em 0.3em;\n border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));\n background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));\n}\n\n.prose :where(pre) {\n overflow-x: auto;\n padding: var(--panneau-space-3) var(--panneau-space-4);\n border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));\n background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));\n line-height: var(--panneau-line-height);\n}\n\n.prose :where(pre code) {\n font-size: inherit;\n}\n\n.prose :where(blockquote) {\n margin-inline: 0;\n padding-inline-start: var(--panneau-space-4);\n border-inline-start: 3px solid\n var(--panneau-prose-quote-border-color, var(--panneau-color-border));\n color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));\n}\n\n.prose :where(figcaption) {\n margin-top: var(--panneau-space-2);\n color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));\n font-size: var(--panneau-font-size-sm);\n}\n\n.prose :where(hr) {\n border: 0;\n border-top: var(--panneau-border-width) solid\n var(--panneau-prose-border-color, var(--panneau-color-border));\n}\n\n.prose :where(table) {\n width: 100%;\n border-collapse: collapse;\n font-variant-numeric: var(--panneau-font-numeric);\n}\n\n.prose :where(th, td) {\n padding: var(--panneau-space-2) var(--panneau-space-3);\n border-bottom: var(--panneau-border-width) solid\n var(--panneau-prose-border-color, var(--panneau-color-border));\n text-align: start;\n vertical-align: top;\n}\n\n.prose :where(th) {\n font-weight: var(--panneau-font-weight-bold);\n}\n\n.prose :where(img, video) {\n height: auto;\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of Prose. Its headings use the tokens of Heading. */
2
+ export declare const proseTokens: import("..").ComponentTokens<"prose", "panneau-prose-gap" | "panneau-prose-border-color" | "panneau-prose-line-height" | "panneau-prose-heading-gap" | "panneau-prose-list-indent" | "panneau-prose-link-color" | "panneau-prose-code-font-size" | "panneau-prose-code-color" | "panneau-prose-code-bg" | "panneau-prose-code-radius" | "panneau-prose-quote-border-color" | "panneau-prose-quote-color">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/prose/tokens.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,eAAO,MAAM,WAAW,2YAyBtB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/prose/tokens.ts
3
+ /** Tokens of Prose. Its headings use the tokens of Heading. */
4
+ var proseTokens = defineComponentTokens("prose", {
5
+ /** Line height of the content. */
6
+ "line-height": "1.6",
7
+ /** Space between blocks: paragraphs, lists, tables. */
8
+ gap: "var(--panneau-space-4)",
9
+ /** Space above a heading. */
10
+ "heading-gap": "var(--panneau-space-6)",
11
+ /** Indent of lists. */
12
+ "list-indent": "1.5em",
13
+ /** Color of links. */
14
+ "link-color": "var(--panneau-color-link)",
15
+ /** Font size of code, relative to the text around it. */
16
+ "code-font-size": "0.875em",
17
+ /** Text color of code: inherited, so that a site's global `code` color doesn't apply. */
18
+ "code-color": "inherit",
19
+ /** Background of code and code blocks. */
20
+ "code-bg": "var(--panneau-color-surface-sunken)",
21
+ /** Corner radius of code and code blocks. */
22
+ "code-radius": "var(--panneau-radius-sm)",
23
+ /** Border of quotes. */
24
+ "quote-border-color": "var(--panneau-color-border)",
25
+ /** Text color of quotes and captions. */
26
+ "quote-color": "var(--panneau-color-text-muted)",
27
+ /** Color of the borders of tables and of horizontal rules. */
28
+ "border-color": "var(--panneau-color-border)"
29
+ });
30
+ //#endregion
31
+ export { proseTokens };
32
+
33
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/prose/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of Prose. Its headings use the tokens of Heading. */\nexport const proseTokens = defineComponentTokens('prose', {\n /** Line height of the content. */\n 'line-height': '1.6',\n /** Space between blocks: paragraphs, lists, tables. */\n gap: 'var(--panneau-space-4)',\n /** Space above a heading. */\n 'heading-gap': 'var(--panneau-space-6)',\n /** Indent of lists. */\n 'list-indent': '1.5em',\n /** Color of links. */\n 'link-color': 'var(--panneau-color-link)',\n /** Font size of code, relative to the text around it. */\n 'code-font-size': '0.875em',\n /** Text color of code: inherited, so that a site's global `code` color doesn't apply. */\n 'code-color': 'inherit',\n /** Background of code and code blocks. */\n 'code-bg': 'var(--panneau-color-surface-sunken)',\n /** Corner radius of code and code blocks. */\n 'code-radius': 'var(--panneau-radius-sm)',\n /** Border of quotes. */\n 'quote-border-color': 'var(--panneau-color-border)',\n /** Text color of quotes and captions. */\n 'quote-color': 'var(--panneau-color-text-muted)',\n /** Color of the borders of tables and of horizontal rules. */\n 'border-color': 'var(--panneau-color-border)',\n});\n"],"mappings":";;;AAGA,IAAa,cAAc,sBAAsB,SAAS;;CAEtD,eAAe;;CAEf,KAAK;;CAEL,eAAe;;CAEf,eAAe;;CAEf,cAAc;;CAEd,kBAAkB;;CAElB,cAAc;;CAEd,WAAW;;CAEX,eAAe;;CAEf,sBAAsB;;CAEtB,eAAe;;CAEf,gBAAgB;AACpB,CAAC"}
@@ -1,15 +1,15 @@
1
- .panneau-options-QPuFOV {
1
+ .panneau-radio-group-options {
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--panneau-space-1);
5
5
  }
6
6
 
7
- .panneau-horizontal-KgXsCy .panneau-options-QPuFOV {
7
+ .panneau-radio-group-horizontal .panneau-radio-group-options {
8
8
  flex-flow: row wrap;
9
9
  gap: var(--panneau-space-1) var(--panneau-space-4);
10
10
  }
11
11
 
12
- .panneau-radio-zz4Tx- {
12
+ .panneau-radio-group-radio {
13
13
  display: inline-flex;
14
14
  align-items: flex-start;
15
15
  gap: var(--panneau-space-2);
@@ -20,64 +20,65 @@
20
20
  -webkit-tap-highlight-color: transparent;
21
21
  }
22
22
 
23
- .panneau-radio-zz4Tx-[data-disabled] {
23
+ .panneau-radio-group-radio[data-disabled] {
24
24
  cursor: not-allowed;
25
25
  opacity: 0.55;
26
26
  }
27
27
 
28
- .panneau-radio-zz4Tx-[data-readonly] {
28
+ .panneau-radio-group-radio[data-readonly] {
29
29
  cursor: default;
30
30
  }
31
31
 
32
- .panneau-circle-IySLxv {
32
+ .panneau-radio-group-circle {
33
33
  flex: 0 0 auto;
34
- width: 1.125rem;
35
- height: 1.125rem;
34
+ width: var(--panneau-radio-size, 1.125rem);
35
+ height: var(--panneau-radio-size, 1.125rem);
36
36
  margin-top: 0.125rem;
37
- background-color: var(--panneau-color-surface);
38
- border: var(--panneau-border-width) solid var(--panneau-color-border-control);
37
+ background-color: var(--panneau-radio-bg, var(--panneau-color-surface));
38
+ border: var(--panneau-border-width) solid
39
+ var(--panneau-radio-border-color, var(--panneau-color-border-control));
39
40
  border-radius: var(--panneau-radius-full);
40
41
  transition:
41
42
  border-color var(--panneau-duration),
42
43
  border-width var(--panneau-duration);
43
44
  }
44
45
 
45
- .panneau-radio-zz4Tx-[data-hovered] .panneau-circle-IySLxv {
46
+ .panneau-radio-group-radio[data-hovered] .panneau-radio-group-circle {
46
47
  border-color: var(--panneau-color-text-muted);
47
48
  }
48
49
 
49
- .panneau-radio-zz4Tx-[data-selected] .panneau-circle-IySLxv {
50
- border-color: var(--panneau-color-accent);
51
- border-width: 0.3125rem;
50
+ .panneau-radio-group-radio[data-selected] .panneau-radio-group-circle {
51
+ border-color: var(--panneau-radio-checked-color, var(--panneau-color-accent));
52
+ border-width: var(--panneau-radio-checked-border-width, 0.3125rem);
52
53
  }
53
54
 
54
- .panneau-radio-zz4Tx-[data-invalid] .panneau-circle-IySLxv {
55
+ .panneau-radio-group-radio[data-invalid] .panneau-radio-group-circle {
55
56
  border-color: var(--panneau-color-danger);
56
57
  }
57
58
 
58
- .panneau-radio-zz4Tx-[data-focus-visible] .panneau-circle-IySLxv {
59
+ .panneau-radio-group-radio[data-focus-visible] .panneau-radio-group-circle {
59
60
  outline: var(--panneau-focus-width) solid var(--panneau-color-focus);
60
61
  outline-offset: 2px;
61
62
  }
62
63
 
63
- .panneau-text-W98R9k {
64
+ .panneau-radio-group-text {
64
65
  display: flex;
65
66
  flex-direction: column;
66
67
  min-width: 0;
67
68
  }
68
69
 
69
- .panneau-description-SPgnUk {
70
+ .panneau-radio-group-description {
70
71
  font-size: var(--panneau-font-size-sm);
71
72
  color: var(--panneau-color-text-muted);
72
73
  }
73
74
 
74
75
  @media (pointer: coarse) {
75
- .panneau-radio-zz4Tx- {
76
+ .panneau-radio-group-radio {
76
77
  min-height: 2.75rem;
77
78
  align-items: center;
78
79
  }
79
80
 
80
- .panneau-circle-IySLxv {
81
+ .panneau-radio-group-circle {
81
82
  margin-top: 0;
82
83
  }
83
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,eAAe,IAAI,mBAAmB,EAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,KAAK,gBAAgB,EAKxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,WAAW,eACb,SACI,IAAI,CACA,mBAAmB,EACjB,WAAW,GACX,OAAO,GACP,UAAU,GACV,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,UAAU,CACf,EACD,gBAAgB;IACpB,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,MAAW,EACX,WAAwB,EACxB,UAAU,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,GAAG,KAAK,EACX,EAAE,eAAe,+BA+CjB"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,eAAe,IAAI,mBAAmB,EAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,KAAK,gBAAgB,EAKxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,WAAW,eACb,SACI,IAAI,CACA,mBAAmB,EACjB,WAAW,GACX,OAAO,GACP,UAAU,GACV,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,UAAU,CACf,EACD,gBAAgB;IACpB,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,MAAW,EACX,WAAwB,EACxB,UAAU,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,GAAG,KAAK,EACX,EAAE,eAAe,+BAgDjB"}
@@ -19,7 +19,7 @@ function RadioGroup$1({ options, value, onChange, label, description, errors = [
19
19
  },
20
20
  isInvalid: errors.length > 0,
21
21
  validationBehavior: "aria",
22
- className: cx(Field_module_default.field, orientation === "horizontal" && RadioGroup_module_default.horizontal, className),
22
+ className: cx("panneau-radio-group", Field_module_default.field, orientation === "horizontal" && RadioGroup_module_default.horizontal, className),
23
23
  children: [
24
24
  /* @__PURE__ */ jsx(FieldLabel, {
25
25
  isRequired,
@@ -31,7 +31,7 @@ function RadioGroup$1({ options, value, onChange, label, description, errors = [
31
31
  children: options.map((option_0, position) => /* @__PURE__ */ jsxs(Radio, {
32
32
  value: String(position),
33
33
  isDisabled: option_0.disabled,
34
- className: cx(RadioGroup_module_default.radio, radioClassName),
34
+ className: cx("panneau-radio", RadioGroup_module_default.radio, radioClassName),
35
35
  children: [/* @__PURE__ */ jsx("span", {
36
36
  className: RadioGroup_module_default.circle,
37
37
  "aria-hidden": "true"
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":["option","RadioGroup","AriaRadioGroup","fieldStyles","styles"],"sources":["../../src/radio-group/RadioGroup.tsx"],"sourcesContent":["import {\n RadioGroup as AriaRadioGroup,\n type RadioGroupProps as AriaRadioGroupProps,\n Radio,\n} from 'react-aria-components';\n\nimport {\n type FieldChromeProps,\n FieldDescription,\n FieldErrors,\n FieldLabel,\n fieldStyles,\n} from '../field/FieldParts';\nimport type { OptionValue, SelectOption } from '../select/Select';\nimport { cx } from '../utils/cx';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps\n extends\n Omit<\n AriaRadioGroupProps,\n | 'className'\n | 'style'\n | 'children'\n | 'isInvalid'\n | 'validate'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >,\n FieldChromeProps {\n options: readonly SelectOption[];\n value?: OptionValue | null;\n onChange?: (value: OptionValue) => void;\n radioClassName?: string;\n}\n\n/** A set of options where one can be picked, all visible at once. */\nexport function RadioGroup({\n options,\n value,\n onChange,\n label,\n description,\n errors = [],\n orientation = 'vertical',\n isRequired,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n radioClassName,\n ...props\n}: RadioGroupProps) {\n const index = value === undefined ? undefined : options.findIndex((o) => o.value === value);\n return (\n <AriaRadioGroup\n {...props}\n orientation={orientation}\n isRequired={isRequired}\n value={index === undefined ? undefined : index === -1 ? null : String(index)}\n onChange={(key) => {\n const option = options[Number(key)];\n if (option !== undefined) {\n onChange?.(option.value);\n }\n }}\n isInvalid={errors.length > 0}\n validationBehavior=\"aria\"\n className={cx(\n fieldStyles.field,\n orientation === 'horizontal' && styles.horizontal,\n className,\n )}\n >\n <FieldLabel isRequired={isRequired} className={labelClassName}>\n {label}\n </FieldLabel>\n <div className={styles.options}>\n {options.map((option, position) => (\n <Radio\n key={position}\n value={String(position)}\n isDisabled={option.disabled}\n className={cx(styles.radio, radioClassName)}\n >\n <span className={styles.circle} aria-hidden=\"true\" />\n <span className={styles.text}>\n <span>{option.label}</span>\n {option.description !== undefined ? (\n <span className={styles.description}>{option.description}</span>\n ) : null}\n </span>\n </Radio>\n ))}\n </div>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n </AriaRadioGroup>\n );\n}\n"],"mappings":";;;;;;;;AAsCA,SAAgBC,aAAW,EACvB,SACA,OACA,UACA,OACA,aACA,SAAS,CAAA,GACT,cAAc,YACd,YACA,WACA,gBACA,sBACA,iBACA,gBACA,GAAG,SACa;CAChB,MAAM,QAAQ,UAAU,KAAA,IAAY,KAAA,IAAY,QAAQ,WAAW,MAAM,EAAE,UAAU,KAAK;CAC1F,OACI,qBAACC,YAAD;EACI,GAAI;EACS;EACD;EACZ,OAAO,UAAU,KAAA,IAAY,KAAA,IAAY,UAAU,KAAK,OAAO,OAAO,KAAK;EAC3E,WAAW,QAAQ;GACf,MAAM,SAAS,QAAQ,OAAO,GAAG;GACjC,IAAI,WAAW,KAAA,GACX,WAAW,OAAO,KAAK;EAE/B;EACA,WAAW,OAAO,SAAS;EAC3B,oBAAmB;EACnB,WAAW,GACPC,qBAAY,OACZ,gBAAgB,gBAAgBC,0BAAO,YACvC,SACJ;EAjBJ,UAAA;GAmBI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,oBAAC,OAAD;IAAK,WAAWA,0BAAO;IAClB,UAAA,QAAQ,KAAKJ,UAAQ,aAClB,qBAAC,OAAD;KAEI,OAAO,OAAO,QAAQ;KACtB,YAAYA,SAAO;KACnB,WAAW,GAAGI,0BAAO,OAAO,cAAc;KAJ9C,UAAA,CAMI,oBAAC,QAAD;MAAM,WAAWA,0BAAO;MAAQ,eAAY;KAAM,CAAA,GAClD,qBAAC,QAAD;MAAM,WAAWA,0BAAO;MAAxB,UAAA,CACI,oBAAC,QAAD,EAAA,UAAOJ,SAAO,MAAY,CAAA,GACzBA,SAAO,gBAAgB,KAAA,IACpB,oBAAC,QAAD;OAAM,WAAWI,0BAAO;OAAcJ,UAAAA,SAAO;MAAkB,CAAA,IAC/D,IACF;KACH,CAAA,CAAA;IAZE,GAAA,QAYF,CACV;GACA,CAAA;GACL,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;EAC5C;;AAExB"}
1
+ {"version":3,"file":"RadioGroup.js","names":["option","RadioGroup","AriaRadioGroup","fieldStyles","styles"],"sources":["../../src/radio-group/RadioGroup.tsx"],"sourcesContent":["import {\n RadioGroup as AriaRadioGroup,\n type RadioGroupProps as AriaRadioGroupProps,\n Radio,\n} from 'react-aria-components';\n\nimport {\n type FieldChromeProps,\n FieldDescription,\n FieldErrors,\n FieldLabel,\n fieldStyles,\n} from '../field/FieldParts';\nimport type { OptionValue, SelectOption } from '../select/Select';\nimport { cx } from '../utils/cx';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps\n extends\n Omit<\n AriaRadioGroupProps,\n | 'className'\n | 'style'\n | 'children'\n | 'isInvalid'\n | 'validate'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >,\n FieldChromeProps {\n options: readonly SelectOption[];\n value?: OptionValue | null;\n onChange?: (value: OptionValue) => void;\n radioClassName?: string;\n}\n\n/** A set of options where one can be picked, all visible at once. */\nexport function RadioGroup({\n options,\n value,\n onChange,\n label,\n description,\n errors = [],\n orientation = 'vertical',\n isRequired,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n radioClassName,\n ...props\n}: RadioGroupProps) {\n const index = value === undefined ? undefined : options.findIndex((o) => o.value === value);\n return (\n <AriaRadioGroup\n {...props}\n orientation={orientation}\n isRequired={isRequired}\n value={index === undefined ? undefined : index === -1 ? null : String(index)}\n onChange={(key) => {\n const option = options[Number(key)];\n if (option !== undefined) {\n onChange?.(option.value);\n }\n }}\n isInvalid={errors.length > 0}\n validationBehavior=\"aria\"\n className={cx(\n 'panneau-radio-group',\n fieldStyles.field,\n orientation === 'horizontal' && styles.horizontal,\n className,\n )}\n >\n <FieldLabel isRequired={isRequired} className={labelClassName}>\n {label}\n </FieldLabel>\n <div className={styles.options}>\n {options.map((option, position) => (\n <Radio\n key={position}\n value={String(position)}\n isDisabled={option.disabled}\n className={cx('panneau-radio', styles.radio, radioClassName)}\n >\n <span className={styles.circle} aria-hidden=\"true\" />\n <span className={styles.text}>\n <span>{option.label}</span>\n {option.description !== undefined ? (\n <span className={styles.description}>{option.description}</span>\n ) : null}\n </span>\n </Radio>\n ))}\n </div>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n </AriaRadioGroup>\n );\n}\n"],"mappings":";;;;;;;;AAsCA,SAAgBC,aAAW,EACvB,SACA,OACA,UACA,OACA,aACA,SAAS,CAAA,GACT,cAAc,YACd,YACA,WACA,gBACA,sBACA,iBACA,gBACA,GAAG,SACa;CAChB,MAAM,QAAQ,UAAU,KAAA,IAAY,KAAA,IAAY,QAAQ,WAAW,MAAM,EAAE,UAAU,KAAK;CAC1F,OACI,qBAACC,YAAD;EACI,GAAI;EACS;EACD;EACZ,OAAO,UAAU,KAAA,IAAY,KAAA,IAAY,UAAU,KAAK,OAAO,OAAO,KAAK;EAC3E,WAAW,QAAQ;GACf,MAAM,SAAS,QAAQ,OAAO,GAAG;GACjC,IAAI,WAAW,KAAA,GACX,WAAW,OAAO,KAAK;EAE/B;EACA,WAAW,OAAO,SAAS;EAC3B,oBAAmB;EACnB,WAAW,GACP,uBACAC,qBAAY,OACZ,gBAAgB,gBAAgBC,0BAAO,YACvC,SACJ;EAlBJ,UAAA;GAoBI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,oBAAC,OAAD;IAAK,WAAWA,0BAAO;IAClB,UAAA,QAAQ,KAAKJ,UAAQ,aAClB,qBAAC,OAAD;KAEI,OAAO,OAAO,QAAQ;KACtB,YAAYA,SAAO;KACnB,WAAW,GAAG,iBAAiBI,0BAAO,OAAO,cAAc;KAJ/D,UAAA,CAMI,oBAAC,QAAD;MAAM,WAAWA,0BAAO;MAAQ,eAAY;KAAM,CAAA,GAClD,qBAAC,QAAD;MAAM,WAAWA,0BAAO;MAAxB,UAAA,CACI,oBAAC,QAAD,EAAA,UAAOJ,SAAO,MAAY,CAAA,GACzBA,SAAO,gBAAgB,KAAA,IACpB,oBAAC,QAAD;OAAM,WAAWI,0BAAO;OAAcJ,UAAAA,SAAO;MAAkB,CAAA,IAC/D,IACF;KACH,CAAA,CAAA;IAZE,GAAA,QAYF,CACV;GACA,CAAA;GACL,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;EAC5C;;AAExB"}
@@ -1,11 +1,11 @@
1
1
  import "./RadioGroup.css";
2
2
  //#region src/radio-group/RadioGroup.module.css
3
- var options = "panneau-options-QPuFOV";
4
- var horizontal = "panneau-horizontal-KgXsCy";
5
- var radio = "panneau-radio-zz4Tx-";
6
- var circle = "panneau-circle-IySLxv";
7
- var text = "panneau-text-W98R9k";
8
- var description = "panneau-description-SPgnUk";
3
+ var options = "panneau-radio-group-options";
4
+ var horizontal = "panneau-radio-group-horizontal";
5
+ var radio = "panneau-radio-group-radio";
6
+ var circle = "panneau-radio-group-circle";
7
+ var text = "panneau-radio-group-text";
8
+ var description = "panneau-radio-group-description";
9
9
  var RadioGroup_module_default = {
10
10
  options,
11
11
  horizontal,
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.module.js","names":[],"sources":["../../src/radio-group/RadioGroup.module.css"],"sourcesContent":[".options {\n display: flex;\n flex-direction: column;\n gap: var(--panneau-space-1);\n}\n\n.horizontal .options {\n flex-flow: row wrap;\n gap: var(--panneau-space-1) var(--panneau-space-4);\n}\n\n.radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--panneau-space-2);\n min-height: 1.5rem;\n font-size: var(--panneau-font-size-md);\n color: var(--panneau-color-text);\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n\n.radio[data-disabled] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.radio[data-readonly] {\n cursor: default;\n}\n\n.circle {\n flex: 0 0 auto;\n width: 1.125rem;\n height: 1.125rem;\n margin-top: 0.125rem;\n background-color: var(--panneau-color-surface);\n border: var(--panneau-border-width) solid var(--panneau-color-border-control);\n border-radius: var(--panneau-radius-full);\n transition:\n border-color var(--panneau-duration),\n border-width var(--panneau-duration);\n}\n\n.radio[data-hovered] .circle {\n border-color: var(--panneau-color-text-muted);\n}\n\n.radio[data-selected] .circle {\n border-color: var(--panneau-color-accent);\n border-width: 0.3125rem;\n}\n\n.radio[data-invalid] .circle {\n border-color: var(--panneau-color-danger);\n}\n\n.radio[data-focus-visible] .circle {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 2px;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.description {\n font-size: var(--panneau-font-size-sm);\n color: var(--panneau-color-text-muted);\n}\n\n@media (pointer: coarse) {\n .radio {\n min-height: 2.75rem;\n align-items: center;\n }\n\n .circle {\n margin-top: 0;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"RadioGroup.module.js","names":[],"sources":["../../src/radio-group/RadioGroup.module.css"],"sourcesContent":[".options {\n display: flex;\n flex-direction: column;\n gap: var(--panneau-space-1);\n}\n\n.horizontal .options {\n flex-flow: row wrap;\n gap: var(--panneau-space-1) var(--panneau-space-4);\n}\n\n.radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--panneau-space-2);\n min-height: 1.5rem;\n font-size: var(--panneau-font-size-md);\n color: var(--panneau-color-text);\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n\n.radio[data-disabled] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.radio[data-readonly] {\n cursor: default;\n}\n\n.circle {\n flex: 0 0 auto;\n width: var(--panneau-radio-size, 1.125rem);\n height: var(--panneau-radio-size, 1.125rem);\n margin-top: 0.125rem;\n background-color: var(--panneau-radio-bg, var(--panneau-color-surface));\n border: var(--panneau-border-width) solid\n var(--panneau-radio-border-color, var(--panneau-color-border-control));\n border-radius: var(--panneau-radius-full);\n transition:\n border-color var(--panneau-duration),\n border-width var(--panneau-duration);\n}\n\n.radio[data-hovered] .circle {\n border-color: var(--panneau-color-text-muted);\n}\n\n.radio[data-selected] .circle {\n border-color: var(--panneau-radio-checked-color, var(--panneau-color-accent));\n border-width: var(--panneau-radio-checked-border-width, 0.3125rem);\n}\n\n.radio[data-invalid] .circle {\n border-color: var(--panneau-color-danger);\n}\n\n.radio[data-focus-visible] .circle {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 2px;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.description {\n font-size: var(--panneau-font-size-sm);\n color: var(--panneau-color-text-muted);\n}\n\n@media (pointer: coarse) {\n .radio {\n min-height: 2.75rem;\n align-items: center;\n }\n\n .circle {\n margin-top: 0;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of RadioGroup. */
2
+ export declare const radioTokens: import("..").ComponentTokens<"radio", "panneau-radio-size" | "panneau-radio-bg" | "panneau-radio-border-color" | "panneau-radio-checked-color" | "panneau-radio-checked-border-width">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/radio-group/tokens.ts"],"names":[],"mappings":"AAEA,4BAA4B;AAC5B,eAAO,MAAM,WAAW,wLAWtB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/radio-group/tokens.ts
3
+ /** Tokens of RadioGroup. */
4
+ var radioTokens = defineComponentTokens("radio", {
5
+ /** Size of the circle. */
6
+ size: "1.125rem",
7
+ /** Background of the circle. */
8
+ bg: "var(--panneau-color-surface)",
9
+ /** Border color of the circle. */
10
+ "border-color": "var(--panneau-color-border-control)",
11
+ /** Color of a selected circle. */
12
+ "checked-color": "var(--panneau-color-accent)",
13
+ /** Border width of a selected circle, which draws the dot. */
14
+ "checked-border-width": "0.3125rem"
15
+ });
16
+ //#endregion
17
+ export { radioTokens };
18
+
19
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/radio-group/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of RadioGroup. */\nexport const radioTokens = defineComponentTokens('radio', {\n /** Size of the circle. */\n size: '1.125rem',\n /** Background of the circle. */\n bg: 'var(--panneau-color-surface)',\n /** Border color of the circle. */\n 'border-color': 'var(--panneau-color-border-control)',\n /** Color of a selected circle. */\n 'checked-color': 'var(--panneau-color-accent)',\n /** Border width of a selected circle, which draws the dot. */\n 'checked-border-width': '0.3125rem',\n});\n"],"mappings":";;;AAGA,IAAa,cAAc,sBAAsB,SAAS;;CAEtD,MAAM;;CAEN,IAAI;;CAEJ,gBAAgB;;CAEhB,iBAAiB;;CAEjB,wBAAwB;AAC5B,CAAC"}