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

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 (384) hide show
  1. package/README.md +263 -6
  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 +1 -0
  48. package/dist/checkbox/Checkbox.js.map +1 -1
  49. package/dist/checkbox/Checkbox.module.js +4 -4
  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-button/IconButton.css +2 -2
  156. package/dist/icon-button/IconButton.d.ts +1 -1
  157. package/dist/icon-button/IconButton.d.ts.map +1 -1
  158. package/dist/icon-button/IconButton.js +3 -3
  159. package/dist/icon-button/IconButton.js.map +1 -1
  160. package/dist/icon-button/IconButton.module.js +2 -2
  161. package/dist/index.d.ts +25 -5
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +20 -2
  164. package/dist/inline/Inline.css +142 -0
  165. package/dist/inline/Inline.d.ts +17 -0
  166. package/dist/inline/Inline.d.ts.map +1 -0
  167. package/dist/inline/Inline.js +21 -0
  168. package/dist/inline/Inline.js.map +1 -0
  169. package/dist/inline/Inline.module.js +12 -0
  170. package/dist/inline/Inline.module.js.map +1 -0
  171. package/dist/inline/tokens.d.ts +3 -0
  172. package/dist/inline/tokens.d.ts.map +1 -0
  173. package/dist/inline/tokens.js +10 -0
  174. package/dist/inline/tokens.js.map +1 -0
  175. package/dist/layout/responsive.d.ts +38 -0
  176. package/dist/layout/responsive.d.ts.map +1 -0
  177. package/dist/layout/responsive.js +49 -0
  178. package/dist/layout/responsive.js.map +1 -0
  179. package/dist/menu/Menu.js +2 -2
  180. package/dist/menu/Menu.js.map +1 -1
  181. package/dist/number-input/NumberInput.css +12 -12
  182. package/dist/number-input/NumberInput.js +1 -1
  183. package/dist/number-input/NumberInput.js.map +1 -1
  184. package/dist/number-input/NumberInput.module.js +4 -4
  185. package/dist/number-input/NumberInput.module.js.map +1 -1
  186. package/dist/number-input/tokens.d.ts +3 -0
  187. package/dist/number-input/tokens.d.ts.map +1 -0
  188. package/dist/number-input/tokens.js +10 -0
  189. package/dist/number-input/tokens.js.map +1 -0
  190. package/dist/popover/Popover.css +13 -12
  191. package/dist/popover/Popover.js +2 -2
  192. package/dist/popover/Popover.js.map +1 -1
  193. package/dist/popover/Popover.module.js +3 -3
  194. package/dist/popover/Popover.module.js.map +1 -1
  195. package/dist/popover/tokens.d.ts +3 -0
  196. package/dist/popover/tokens.d.ts.map +1 -0
  197. package/dist/popover/tokens.js +19 -0
  198. package/dist/popover/tokens.js.map +1 -0
  199. package/dist/prose/Prose.css +141 -0
  200. package/dist/prose/Prose.d.ts +11 -0
  201. package/dist/prose/Prose.d.ts.map +1 -0
  202. package/dist/prose/Prose.js +18 -0
  203. package/dist/prose/Prose.js.map +1 -0
  204. package/dist/prose/Prose.module.js +8 -0
  205. package/dist/prose/Prose.module.js.map +1 -0
  206. package/dist/prose/tokens.d.ts +3 -0
  207. package/dist/prose/tokens.d.ts.map +1 -0
  208. package/dist/prose/tokens.js +33 -0
  209. package/dist/prose/tokens.js.map +1 -0
  210. package/dist/radio-group/RadioGroup.css +21 -20
  211. package/dist/radio-group/RadioGroup.d.ts.map +1 -1
  212. package/dist/radio-group/RadioGroup.js +2 -2
  213. package/dist/radio-group/RadioGroup.js.map +1 -1
  214. package/dist/radio-group/RadioGroup.module.js +6 -6
  215. package/dist/radio-group/RadioGroup.module.js.map +1 -1
  216. package/dist/radio-group/tokens.d.ts +3 -0
  217. package/dist/radio-group/tokens.d.ts.map +1 -0
  218. package/dist/radio-group/tokens.js +19 -0
  219. package/dist/radio-group/tokens.js.map +1 -0
  220. package/dist/root/PanneauRoot.css +243 -20
  221. package/dist/root/PanneauRoot.d.ts +28 -4
  222. package/dist/root/PanneauRoot.d.ts.map +1 -1
  223. package/dist/root/PanneauRoot.js +104 -21
  224. package/dist/root/PanneauRoot.js.map +1 -1
  225. package/dist/root/PanneauRoot.module.js +11 -3
  226. package/dist/root/PanneauRoot.module.js.map +1 -1
  227. package/dist/root/ThemeScope.d.ts +24 -0
  228. package/dist/root/ThemeScope.d.ts.map +1 -0
  229. package/dist/root/ThemeScope.js +49 -0
  230. package/dist/root/ThemeScope.js.map +1 -0
  231. package/dist/select/ListBox.css +23 -22
  232. package/dist/select/ListBox.module.js +12 -12
  233. package/dist/select/ListBox.module.js.map +1 -1
  234. package/dist/select/Select.js +1 -1
  235. package/dist/select/Select.js.map +1 -1
  236. package/dist/select/listBoxTokens.d.ts +3 -0
  237. package/dist/select/listBoxTokens.d.ts.map +1 -0
  238. package/dist/select/listBoxTokens.js +19 -0
  239. package/dist/select/listBoxTokens.js.map +1 -0
  240. package/dist/spinner/Spinner.css +8 -8
  241. package/dist/spinner/Spinner.js +1 -1
  242. package/dist/spinner/Spinner.js.map +1 -1
  243. package/dist/spinner/Spinner.module.js +5 -5
  244. package/dist/spinner/Spinner.module.js.map +1 -1
  245. package/dist/spinner/tokens.d.ts +3 -0
  246. package/dist/spinner/tokens.d.ts.map +1 -0
  247. package/dist/spinner/tokens.js +10 -0
  248. package/dist/spinner/tokens.js.map +1 -0
  249. package/dist/stack/Stack.css +135 -0
  250. package/dist/stack/Stack.d.ts +15 -0
  251. package/dist/stack/Stack.d.ts.map +1 -0
  252. package/dist/stack/Stack.js +21 -0
  253. package/dist/stack/Stack.js.map +1 -0
  254. package/dist/stack/Stack.module.js +8 -0
  255. package/dist/stack/Stack.module.js.map +1 -0
  256. package/dist/stack/tokens.d.ts +3 -0
  257. package/dist/stack/tokens.d.ts.map +1 -0
  258. package/dist/stack/tokens.js +10 -0
  259. package/dist/stack/tokens.js.map +1 -0
  260. package/dist/switch/Switch.css +34 -25
  261. package/dist/switch/Switch.d.ts.map +1 -1
  262. package/dist/switch/Switch.js +1 -0
  263. package/dist/switch/Switch.js.map +1 -1
  264. package/dist/switch/Switch.module.js +4 -4
  265. package/dist/switch/Switch.module.js.map +1 -1
  266. package/dist/switch/tokens.d.ts +3 -0
  267. package/dist/switch/tokens.d.ts.map +1 -0
  268. package/dist/switch/tokens.js +25 -0
  269. package/dist/switch/tokens.js.map +1 -0
  270. package/dist/tabs/Tabs.css +24 -23
  271. package/dist/tabs/Tabs.js +4 -4
  272. package/dist/tabs/Tabs.js.map +1 -1
  273. package/dist/tabs/Tabs.module.js +4 -4
  274. package/dist/tabs/Tabs.module.js.map +1 -1
  275. package/dist/tabs/tokens.d.ts +3 -0
  276. package/dist/tabs/tokens.d.ts.map +1 -0
  277. package/dist/tabs/tokens.js +25 -0
  278. package/dist/tabs/tokens.js.map +1 -0
  279. package/dist/text/Text.css +74 -0
  280. package/dist/text/Text.d.ts +27 -0
  281. package/dist/text/Text.d.ts.map +1 -0
  282. package/dist/text/Text.js +16 -0
  283. package/dist/text/Text.js.map +1 -0
  284. package/dist/text/Text.module.js +30 -0
  285. package/dist/text/Text.module.js.map +1 -0
  286. package/dist/text/tokens.d.ts +3 -0
  287. package/dist/text/tokens.d.ts.map +1 -0
  288. package/dist/text/tokens.js +10 -0
  289. package/dist/text/tokens.js.map +1 -0
  290. package/dist/text-area/TextArea.css +1 -1
  291. package/dist/text-area/TextArea.js +1 -1
  292. package/dist/text-area/TextArea.js.map +1 -1
  293. package/dist/text-area/TextArea.module.js +1 -1
  294. package/dist/text-input/TextInput.js +1 -1
  295. package/dist/text-input/TextInput.js.map +1 -1
  296. package/dist/theme/Tone.css +70 -0
  297. package/dist/theme/Tone.module.js +20 -0
  298. package/dist/theme/Tone.module.js.map +1 -0
  299. package/dist/theme/bootstrap.d.ts +10 -0
  300. package/dist/theme/bootstrap.d.ts.map +1 -1
  301. package/dist/theme/bootstrap.js +48 -5
  302. package/dist/theme/bootstrap.js.map +1 -1
  303. package/dist/theme/chartColors.d.ts +23 -0
  304. package/dist/theme/chartColors.d.ts.map +1 -0
  305. package/dist/theme/chartColors.js +27 -0
  306. package/dist/theme/chartColors.js.map +1 -0
  307. package/dist/theme/checkTheme.d.ts +39 -0
  308. package/dist/theme/checkTheme.d.ts.map +1 -0
  309. package/dist/theme/checkTheme.js +132 -0
  310. package/dist/theme/checkTheme.js.map +1 -0
  311. package/dist/theme/cli.d.ts +14 -0
  312. package/dist/theme/cli.d.ts.map +1 -0
  313. package/dist/theme/cli.js +61 -0
  314. package/dist/theme/cli.js.map +1 -0
  315. package/dist/theme/color.d.ts +30 -0
  316. package/dist/theme/color.d.ts.map +1 -0
  317. package/dist/theme/color.js +94 -0
  318. package/dist/theme/color.js.map +1 -0
  319. package/dist/theme/colorVision.d.ts +23 -0
  320. package/dist/theme/colorVision.d.ts.map +1 -0
  321. package/dist/theme/colorVision.js +140 -0
  322. package/dist/theme/colorVision.js.map +1 -0
  323. package/dist/theme/componentTokens.d.ts +24 -0
  324. package/dist/theme/componentTokens.d.ts.map +1 -0
  325. package/dist/theme/componentTokens.js +20 -0
  326. package/dist/theme/componentTokens.js.map +1 -0
  327. package/dist/theme/components.d.ts +38 -0
  328. package/dist/theme/components.d.ts.map +1 -0
  329. package/dist/theme/components.js +65 -0
  330. package/dist/theme/components.js.map +1 -0
  331. package/dist/theme/defineTheme.d.ts +85 -0
  332. package/dist/theme/defineTheme.d.ts.map +1 -0
  333. package/dist/theme/defineTheme.js +130 -0
  334. package/dist/theme/defineTheme.js.map +1 -0
  335. package/dist/theme/fonts.d.ts +32 -0
  336. package/dist/theme/fonts.d.ts.map +1 -0
  337. package/dist/theme/fonts.js +36 -0
  338. package/dist/theme/fonts.js.map +1 -0
  339. package/dist/theme/index.d.ts +13 -0
  340. package/dist/theme/index.d.ts.map +1 -0
  341. package/dist/theme/index.js +10 -0
  342. package/dist/theme/semanticTokens.d.ts +9 -0
  343. package/dist/theme/semanticTokens.d.ts.map +1 -0
  344. package/dist/theme/semanticTokens.js +110 -0
  345. package/dist/theme/semanticTokens.js.map +1 -0
  346. package/dist/theme/theme.d.ts +61 -7
  347. package/dist/theme/theme.d.ts.map +1 -1
  348. package/dist/theme/theme.js +100 -10
  349. package/dist/theme/theme.js.map +1 -1
  350. package/dist/theme/toneClass.d.ts +8 -0
  351. package/dist/theme/toneClass.d.ts.map +1 -0
  352. package/dist/theme/toneClass.js +15 -0
  353. package/dist/theme/toneClass.js.map +1 -0
  354. package/dist/theme/tones.d.ts +89 -0
  355. package/dist/theme/tones.d.ts.map +1 -0
  356. package/dist/theme/tones.js +127 -0
  357. package/dist/theme/tones.js.map +1 -0
  358. package/dist/time-input/TimeInput.js +1 -1
  359. package/dist/time-input/TimeInput.js.map +1 -1
  360. package/dist/toast/Toast.css +22 -44
  361. package/dist/toast/Toast.d.ts +5 -3
  362. package/dist/toast/Toast.d.ts.map +1 -1
  363. package/dist/toast/Toast.js +4 -3
  364. package/dist/toast/Toast.js.map +1 -1
  365. package/dist/toast/Toast.module.js +10 -16
  366. package/dist/toast/Toast.module.js.map +1 -1
  367. package/dist/toast/tokens.d.ts +3 -0
  368. package/dist/toast/tokens.d.ts.map +1 -0
  369. package/dist/toast/tokens.js +21 -0
  370. package/dist/toast/tokens.js.map +1 -0
  371. package/dist/tooltip/Tooltip.css +12 -11
  372. package/dist/tooltip/Tooltip.js +1 -1
  373. package/dist/tooltip/Tooltip.js.map +1 -1
  374. package/dist/tooltip/Tooltip.module.js +2 -2
  375. package/dist/tooltip/Tooltip.module.js.map +1 -1
  376. package/dist/tooltip/tokens.d.ts +3 -0
  377. package/dist/tooltip/tokens.d.ts.map +1 -0
  378. package/dist/tooltip/tokens.js +21 -0
  379. package/dist/tooltip/tokens.js.map +1 -0
  380. package/dist/utils/cx.d.ts +1 -1
  381. package/dist/utils/cx.d.ts.map +1 -1
  382. package/dist/utils/cx.js +2 -2
  383. package/dist/utils/cx.js.map +1 -1
  384. package/package.json +15 -3
@@ -1,25 +1,25 @@
1
- .panneau-control-4aptNi.panneau-control-4aptNi {
1
+ .panneau-number-input-control.panneau-number-input-control {
2
2
  padding-inline-end: 0;
3
3
  overflow: hidden;
4
4
  }
5
5
 
6
- .panneau-input-qqs-MV {
7
- font-variant-numeric: tabular-nums;
6
+ .panneau-number-input-input {
7
+ font-variant-numeric: var(--panneau-font-numeric);
8
8
  }
9
9
 
10
- .panneau-steppers-JoTs6w {
10
+ .panneau-number-input-steppers {
11
11
  display: flex;
12
12
  flex-direction: column;
13
13
  align-self: stretch;
14
14
  border-inline-start: var(--panneau-border-width) solid var(--panneau-color-border);
15
15
  }
16
16
 
17
- .panneau-stepper-sAGR2f {
17
+ .panneau-number-input-stepper {
18
18
  display: flex;
19
19
  flex: 1 1 0;
20
20
  align-items: center;
21
21
  justify-content: center;
22
- width: 1.75rem;
22
+ width: var(--panneau-number-input-stepper-width, 1.75rem);
23
23
  padding: 0;
24
24
  color: var(--panneau-color-text-muted);
25
25
  cursor: pointer;
@@ -27,31 +27,31 @@
27
27
  border: 0;
28
28
  }
29
29
 
30
- .panneau-stepper-sAGR2f + .panneau-stepper-sAGR2f {
30
+ .panneau-number-input-stepper + .panneau-number-input-stepper {
31
31
  border-top: var(--panneau-border-width) solid var(--panneau-color-border);
32
32
  }
33
33
 
34
- .panneau-stepper-sAGR2f[data-hovered] {
34
+ .panneau-number-input-stepper[data-hovered] {
35
35
  color: var(--panneau-color-text);
36
36
  background-color: var(--panneau-color-hover);
37
37
  }
38
38
 
39
- .panneau-stepper-sAGR2f[data-pressed] {
39
+ .panneau-number-input-stepper[data-pressed] {
40
40
  background-color: var(--panneau-color-pressed);
41
41
  }
42
42
 
43
- .panneau-stepper-sAGR2f[data-disabled] {
43
+ .panneau-number-input-stepper[data-disabled] {
44
44
  cursor: not-allowed;
45
45
  opacity: 0.5;
46
46
  }
47
47
 
48
48
  /* Touch screens have their own keyboard for numbers: the steppers would be too small. */
49
49
  @media (pointer: coarse) {
50
- .panneau-steppers-JoTs6w {
50
+ .panneau-number-input-steppers {
51
51
  display: none;
52
52
  }
53
53
 
54
- .panneau-control-4aptNi.panneau-control-4aptNi {
54
+ .panneau-number-input-control.panneau-number-input-control {
55
55
  padding-inline-end: var(--panneau-space-3);
56
56
  }
57
57
  }
@@ -25,7 +25,7 @@ function NumberInput({ label, description, errors = [], value, defaultValue, onC
25
25
  isReadOnly,
26
26
  isInvalid: invalid,
27
27
  validationBehavior: "aria",
28
- className: cx(Field_module_default.field, className),
28
+ className: cx("panneau-number-input", Field_module_default.field, className),
29
29
  children: [
30
30
  /* @__PURE__ */ jsx(FieldLabel, {
31
31
  isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","names":["fieldStyles","styles"],"sources":["../../src/number-input/NumberInput.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport {\n type NumberFieldProps as AriaNumberFieldProps,\n Button,\n Group,\n Input,\n NumberField,\n} from 'react-aria-components';\n\nimport {\n type FieldChromeProps,\n FieldDescription,\n FieldErrors,\n FieldLabel,\n fieldStyles,\n} from '../field/FieldParts';\nimport { Icon } from '../icon/Icon';\nimport { cx } from '../utils/cx';\nimport styles from './NumberInput.module.css';\n\nexport interface NumberInputProps\n extends\n Omit<\n AriaNumberFieldProps,\n | 'className'\n | 'style'\n | 'children'\n | 'isInvalid'\n | 'validate'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >,\n FieldChromeProps {\n /** The number, or `null` when empty. */\n value?: number | null;\n defaultValue?: number | null;\n /** Called with the number, or `null` when the input is cleared. */\n onChange?: (value: number | null) => void;\n placeholder?: string;\n /** Content after the number, inside the control: a unit. */\n suffix?: ReactNode;\n controlClassName?: string;\n inputClassName?: string;\n}\n\nfunction toAria(value: number | null | undefined): number | undefined {\n return value === null ? Number.NaN : value;\n}\n\n/**\n * A number input, formatted for the locale, with steppers and arrow keys. An empty input is\n * `null`, not `NaN`.\n */\nexport function NumberInput({\n label,\n description,\n errors = [],\n value,\n defaultValue,\n onChange,\n placeholder,\n suffix,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n controlClassName,\n inputClassName,\n isRequired,\n isReadOnly,\n ...props\n}: NumberInputProps) {\n const invalid = errors.length > 0;\n return (\n <NumberField\n {...props}\n value={toAria(value)}\n defaultValue={toAria(defaultValue)}\n onChange={(next) => onChange?.(Number.isNaN(next) ? null : next)}\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n isInvalid={invalid}\n validationBehavior=\"aria\"\n className={cx(fieldStyles.field, className)}\n >\n <FieldLabel isRequired={isRequired} className={labelClassName}>\n {label}\n </FieldLabel>\n <Group\n className={cx(fieldStyles.control, styles.control, controlClassName)}\n data-invalid={invalid || undefined}\n data-readonly={isReadOnly || undefined}\n >\n <Input\n placeholder={placeholder}\n className={cx(fieldStyles.bare, styles.input, inputClassName)}\n />\n {suffix !== undefined ? (\n <span className={fieldStyles.adornment}>{suffix}</span>\n ) : null}\n {isReadOnly !== true ? (\n <span className={styles.steppers}>\n <Button slot=\"increment\" className={styles.stepper}>\n <Icon icon={ChevronUp} size=\"xs\" />\n </Button>\n <Button slot=\"decrement\" className={styles.stepper}>\n <Icon icon={ChevronDown} size=\"xs\" />\n </Button>\n </span>\n ) : null}\n </Group>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n </NumberField>\n );\n}\n"],"mappings":";;;;;;;;;AA+CA,SAAS,OAAO,OAAsD;CAClE,OAAO,UAAU,OAAO,MAAa;AACzC;;;;;AAMA,SAAgB,YAAY,EACxB,OACA,aACA,SAAS,CAAA,GACT,OACA,cACA,UACA,aACA,QACA,WACA,gBACA,sBACA,iBACA,kBACA,gBACA,YACA,YACA,GAAG,SACc;CACjB,MAAM,UAAU,OAAO,SAAS;CAChC,OACI,qBAAC,aAAD;EACI,GAAI;EACJ,OAAO,OAAO,KAAK;EACnB,cAAc,OAAO,YAAY;EACjC,WAAW,SAAS,WAAW,OAAO,MAAM,IAAI,IAAI,OAAO,IAAI;EACnD;EACA;EACZ,WAAW;EACX,oBAAmB;EACnB,WAAW,GAAGA,qBAAY,OAAO,SAAS;EAT9C,UAAA;GAWI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,qBAAC,OAAD;IACI,WAAW,GAAGA,qBAAY,SAASC,2BAAO,SAAS,gBAAgB;IACnE,gBAAc,WAAW,KAAA;IACzB,iBAAe,cAAc,KAAA;IAHjC,UAAA;KAKI,oBAAC,OAAD;MACiB;MACb,WAAW,GAAGD,qBAAY,MAAMC,2BAAO,OAAO,cAAc;KAAE,CAAA;KAEjE,WAAW,KAAA,IACR,oBAAC,QAAD;MAAM,WAAWD,qBAAY;MAAY,UAAA;KAAa,CAAA,IACtD;KACH,eAAe,OACZ,qBAAC,QAAD;MAAM,WAAWC,2BAAO;MAAxB,UAAA,CACI,oBAAC,QAAD;OAAQ,MAAK;OAAY,WAAWA,2BAAO;OACvC,UAAA,oBAAC,MAAD;QAAM,MAAM;QAAW,MAAK;OAAI,CAAA;MAC5B,CAAA,GACR,oBAAC,QAAD;OAAQ,MAAK;OAAY,WAAWA,2BAAO;OACvC,UAAA,oBAAC,MAAD;QAAM,MAAM;QAAa,MAAK;OAAI,CAAA;MAC9B,CAAA,CACN;KACN,CAAA,IAAA;IACD;;GACP,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;EAC/C;;AAErB"}
1
+ {"version":3,"file":"NumberInput.js","names":["fieldStyles","styles"],"sources":["../../src/number-input/NumberInput.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport {\n type NumberFieldProps as AriaNumberFieldProps,\n Button,\n Group,\n Input,\n NumberField,\n} from 'react-aria-components';\n\nimport {\n type FieldChromeProps,\n FieldDescription,\n FieldErrors,\n FieldLabel,\n fieldStyles,\n} from '../field/FieldParts';\nimport { Icon } from '../icon/Icon';\nimport { cx } from '../utils/cx';\nimport styles from './NumberInput.module.css';\n\nexport interface NumberInputProps\n extends\n Omit<\n AriaNumberFieldProps,\n | 'className'\n | 'style'\n | 'children'\n | 'isInvalid'\n | 'validate'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >,\n FieldChromeProps {\n /** The number, or `null` when empty. */\n value?: number | null;\n defaultValue?: number | null;\n /** Called with the number, or `null` when the input is cleared. */\n onChange?: (value: number | null) => void;\n placeholder?: string;\n /** Content after the number, inside the control: a unit. */\n suffix?: ReactNode;\n controlClassName?: string;\n inputClassName?: string;\n}\n\nfunction toAria(value: number | null | undefined): number | undefined {\n return value === null ? Number.NaN : value;\n}\n\n/**\n * A number input, formatted for the locale, with steppers and arrow keys. An empty input is\n * `null`, not `NaN`.\n */\nexport function NumberInput({\n label,\n description,\n errors = [],\n value,\n defaultValue,\n onChange,\n placeholder,\n suffix,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n controlClassName,\n inputClassName,\n isRequired,\n isReadOnly,\n ...props\n}: NumberInputProps) {\n const invalid = errors.length > 0;\n return (\n <NumberField\n {...props}\n value={toAria(value)}\n defaultValue={toAria(defaultValue)}\n onChange={(next) => onChange?.(Number.isNaN(next) ? null : next)}\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n isInvalid={invalid}\n validationBehavior=\"aria\"\n className={cx('panneau-number-input', fieldStyles.field, className)}\n >\n <FieldLabel isRequired={isRequired} className={labelClassName}>\n {label}\n </FieldLabel>\n <Group\n className={cx(fieldStyles.control, styles.control, controlClassName)}\n data-invalid={invalid || undefined}\n data-readonly={isReadOnly || undefined}\n >\n <Input\n placeholder={placeholder}\n className={cx(fieldStyles.bare, styles.input, inputClassName)}\n />\n {suffix !== undefined ? (\n <span className={fieldStyles.adornment}>{suffix}</span>\n ) : null}\n {isReadOnly !== true ? (\n <span className={styles.steppers}>\n <Button slot=\"increment\" className={styles.stepper}>\n <Icon icon={ChevronUp} size=\"xs\" />\n </Button>\n <Button slot=\"decrement\" className={styles.stepper}>\n <Icon icon={ChevronDown} size=\"xs\" />\n </Button>\n </span>\n ) : null}\n </Group>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n </NumberField>\n );\n}\n"],"mappings":";;;;;;;;;AA+CA,SAAS,OAAO,OAAsD;CAClE,OAAO,UAAU,OAAO,MAAa;AACzC;;;;;AAMA,SAAgB,YAAY,EACxB,OACA,aACA,SAAS,CAAA,GACT,OACA,cACA,UACA,aACA,QACA,WACA,gBACA,sBACA,iBACA,kBACA,gBACA,YACA,YACA,GAAG,SACc;CACjB,MAAM,UAAU,OAAO,SAAS;CAChC,OACI,qBAAC,aAAD;EACI,GAAI;EACJ,OAAO,OAAO,KAAK;EACnB,cAAc,OAAO,YAAY;EACjC,WAAW,SAAS,WAAW,OAAO,MAAM,IAAI,IAAI,OAAO,IAAI;EACnD;EACA;EACZ,WAAW;EACX,oBAAmB;EACnB,WAAW,GAAG,wBAAwBA,qBAAY,OAAO,SAAS;EATtE,UAAA;GAWI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,qBAAC,OAAD;IACI,WAAW,GAAGA,qBAAY,SAASC,2BAAO,SAAS,gBAAgB;IACnE,gBAAc,WAAW,KAAA;IACzB,iBAAe,cAAc,KAAA;IAHjC,UAAA;KAKI,oBAAC,OAAD;MACiB;MACb,WAAW,GAAGD,qBAAY,MAAMC,2BAAO,OAAO,cAAc;KAAE,CAAA;KAEjE,WAAW,KAAA,IACR,oBAAC,QAAD;MAAM,WAAWD,qBAAY;MAAY,UAAA;KAAa,CAAA,IACtD;KACH,eAAe,OACZ,qBAAC,QAAD;MAAM,WAAWC,2BAAO;MAAxB,UAAA,CACI,oBAAC,QAAD;OAAQ,MAAK;OAAY,WAAWA,2BAAO;OACvC,UAAA,oBAAC,MAAD;QAAM,MAAM;QAAW,MAAK;OAAI,CAAA;MAC5B,CAAA,GACR,oBAAC,QAAD;OAAQ,MAAK;OAAY,WAAWA,2BAAO;OACvC,UAAA,oBAAC,MAAD;QAAM,MAAM;QAAa,MAAK;OAAI,CAAA;MAC9B,CAAA,CACN;KACN,CAAA,IAAA;IACD;;GACP,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;EAC/C;;AAErB"}
@@ -1,9 +1,9 @@
1
1
  import "./NumberInput.css";
2
2
  //#region src/number-input/NumberInput.module.css
3
- var control = "panneau-control-4aptNi";
4
- var input = "panneau-input-qqs-MV";
5
- var steppers = "panneau-steppers-JoTs6w";
6
- var stepper = "panneau-stepper-sAGR2f";
3
+ var control = "panneau-number-input-control";
4
+ var input = "panneau-number-input-input";
5
+ var steppers = "panneau-number-input-steppers";
6
+ var stepper = "panneau-number-input-stepper";
7
7
  var NumberInput_module_default = {
8
8
  control,
9
9
  input,
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.module.js","names":[],"sources":["../../src/number-input/NumberInput.module.css"],"sourcesContent":[".control.control {\n padding-inline-end: 0;\n overflow: hidden;\n}\n\n.input {\n font-variant-numeric: tabular-nums;\n}\n\n.steppers {\n display: flex;\n flex-direction: column;\n align-self: stretch;\n border-inline-start: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n.stepper {\n display: flex;\n flex: 1 1 0;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n padding: 0;\n color: var(--panneau-color-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n\n.stepper + .stepper {\n border-top: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n.stepper[data-hovered] {\n color: var(--panneau-color-text);\n background-color: var(--panneau-color-hover);\n}\n\n.stepper[data-pressed] {\n background-color: var(--panneau-color-pressed);\n}\n\n.stepper[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Touch screens have their own keyboard for numbers: the steppers would be too small. */\n@media (pointer: coarse) {\n .steppers {\n display: none;\n }\n\n .control.control {\n padding-inline-end: var(--panneau-space-3);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"NumberInput.module.js","names":[],"sources":["../../src/number-input/NumberInput.module.css"],"sourcesContent":[".control.control {\n padding-inline-end: 0;\n overflow: hidden;\n}\n\n.input {\n font-variant-numeric: var(--panneau-font-numeric);\n}\n\n.steppers {\n display: flex;\n flex-direction: column;\n align-self: stretch;\n border-inline-start: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n.stepper {\n display: flex;\n flex: 1 1 0;\n align-items: center;\n justify-content: center;\n width: var(--panneau-number-input-stepper-width, 1.75rem);\n padding: 0;\n color: var(--panneau-color-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n\n.stepper + .stepper {\n border-top: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n.stepper[data-hovered] {\n color: var(--panneau-color-text);\n background-color: var(--panneau-color-hover);\n}\n\n.stepper[data-pressed] {\n background-color: var(--panneau-color-pressed);\n}\n\n.stepper[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Touch screens have their own keyboard for numbers: the steppers would be too small. */\n@media (pointer: coarse) {\n .steppers {\n display: none;\n }\n\n .control.control {\n padding-inline-end: var(--panneau-space-3);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of NumberInput. */
2
+ export declare const numberInputTokens: import("..").ComponentTokens<"number-input", "panneau-number-input-stepper-width">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/number-input/tokens.ts"],"names":[],"mappings":"AAEA,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,oFAG5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/number-input/tokens.ts
3
+ /** Tokens of NumberInput. */
4
+ var numberInputTokens = defineComponentTokens("number-input", {
5
+ /** Width of the increment and decrement buttons. */
6
+ "stepper-width": "1.75rem" });
7
+ //#endregion
8
+ export { numberInputTokens };
9
+
10
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/number-input/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of NumberInput. */\nexport const numberInputTokens = defineComponentTokens('number-input', {\n /** Width of the increment and decrement buttons. */\n 'stepper-width': '1.75rem',\n});\n"],"mappings":";;;AAGA,IAAa,oBAAoB,sBAAsB,gBAAgB;;AAEnE,iBAAiB,UACrB,CAAC"}
@@ -1,30 +1,31 @@
1
- .panneau-popover-KacUIM {
1
+ .panneau-popover {
2
2
  min-width: var(--trigger-width, 10rem);
3
3
  max-width: calc(100vw - 2 * var(--panneau-space-4));
4
4
  color: var(--panneau-color-text);
5
- background-color: var(--panneau-color-surface-raised);
6
- border: var(--panneau-border-width) solid var(--panneau-color-border);
7
- border-radius: var(--panneau-radius-lg);
8
- box-shadow: var(--panneau-shadow-lg);
5
+ background-color: var(--panneau-popover-bg, var(--panneau-color-surface-raised));
6
+ border: var(--panneau-border-width) solid
7
+ var(--panneau-popover-border-color, var(--panneau-color-border));
8
+ border-radius: var(--panneau-popover-radius, var(--panneau-radius-lg));
9
+ box-shadow: var(--panneau-popover-shadow, var(--panneau-shadow-lg));
9
10
  outline: none;
10
11
  overflow: auto;
11
12
  z-index: var(--panneau-z-overlay);
12
13
  }
13
14
 
14
- .panneau-popover-KacUIM[data-entering] {
15
- animation: panneau-pop-fB47s- var(--panneau-duration) ease-out;
15
+ .panneau-popover[data-entering] {
16
+ animation: panneau-popover-pop var(--panneau-duration) ease-out;
16
17
  }
17
18
 
18
- .panneau-popover-KacUIM[data-exiting] {
19
- animation: panneau-pop-fB47s- var(--panneau-duration) ease-in reverse;
19
+ .panneau-popover[data-exiting] {
20
+ animation: panneau-popover-pop var(--panneau-duration) ease-in reverse;
20
21
  }
21
22
 
22
- .panneau-dialog-2cVt0D {
23
- padding: var(--panneau-space-3);
23
+ .panneau-popover-dialog {
24
+ padding: var(--panneau-popover-padding, var(--panneau-space-3));
24
25
  outline: none;
25
26
  }
26
27
 
27
- @keyframes panneau-pop-fB47s- {
28
+ @keyframes panneau-popover-pop {
28
29
  from {
29
30
  opacity: 0;
30
31
  transform: scale(0.97);
@@ -14,7 +14,7 @@ function Popover$1({ children, "aria-label": ariaLabel, className, dialogClassNa
14
14
  return /* @__PURE__ */ jsx(Popover, {
15
15
  ...props,
16
16
  offset,
17
- className: cx(Popover_module_default.popover, className),
17
+ className: cx("panneau-popover", Popover_module_default.popover, className),
18
18
  UNSTABLE_portalContainer: container,
19
19
  children: /* @__PURE__ */ jsx(Dialog, {
20
20
  "aria-label": ariaLabel,
@@ -30,7 +30,7 @@ function PopoverSurface({ children, className, offset = 6, ...props }) {
30
30
  return /* @__PURE__ */ jsx(Popover, {
31
31
  ...props,
32
32
  offset,
33
- className: cx(Popover_module_default.popover, className),
33
+ className: cx("panneau-popover", Popover_module_default.popover, className),
34
34
  UNSTABLE_portalContainer: container,
35
35
  children
36
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["Popover","AriaPopover","styles"],"sources":["../../src/popover/Popover.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport {\n Popover as AriaPopover,\n type PopoverProps as AriaPopoverProps,\n Dialog,\n} from 'react-aria-components';\n\nimport { usePortalContainer } from '../root/PanneauRoot';\nimport { cx } from '../utils/cx';\nimport styles from './Popover.module.css';\n\nexport interface PopoverProps extends Omit<\n AriaPopoverProps,\n 'className' | 'style' | 'children' | 'UNSTABLE_portalContainer'\n> {\n children?: ReactNode;\n /** Accessible label of the popover's dialog, when it has no heading. */\n 'aria-label'?: string;\n className?: string;\n dialogClassName?: string;\n}\n\n/**\n * A popover with free content, inside a `PopoverTrigger` with its button as the first child. Its\n * content is a non-modal dialog: focus moves into it and comes back to the button when it closes.\n */\nexport function Popover({\n children,\n 'aria-label': ariaLabel,\n className,\n dialogClassName,\n offset = 6,\n ...props\n}: PopoverProps) {\n const container = usePortalContainer();\n if (container === null) {\n return null;\n }\n return (\n <AriaPopover\n {...props}\n offset={offset}\n className={cx(styles.popover, className)}\n UNSTABLE_portalContainer={container}\n >\n <Dialog aria-label={ariaLabel} className={cx(styles.dialog, dialogClassName)}>\n {children}\n </Dialog>\n </AriaPopover>\n );\n}\n\n/** The popover surface without a dialog, for listboxes and menus. */\nexport function PopoverSurface({\n children,\n className,\n offset = 6,\n ...props\n}: Omit<PopoverProps, 'aria-label' | 'dialogClassName'>) {\n const container = usePortalContainer();\n if (container === null) {\n return null;\n }\n return (\n <AriaPopover\n {...props}\n offset={offset}\n className={cx(styles.popover, className)}\n UNSTABLE_portalContainer={container}\n >\n {children}\n </AriaPopover>\n );\n}\n\nexport { DialogTrigger as PopoverTrigger } from 'react-aria-components';\n"],"mappings":";;;;;;;;;;AA0BA,SAAgBA,UAAQ,EACpB,UACA,cAAc,WACd,WACA,iBACA,SAAS,GACT,GAAG,SACU;CACb,MAAM,YAAY,mBAAmB;CACrC,IAAI,cAAc,MACd,OAAO;CAEX,OACI,oBAACC,SAAD;EACI,GAAI;EACI;EACR,WAAW,GAAGC,uBAAO,SAAS,SAAS;EACvC,0BAA0B;EAE1B,UAAA,oBAAC,QAAD;GAAQ,cAAY;GAAW,WAAW,GAAGA,uBAAO,QAAQ,eAAe;GACtE;EACG,CAAA;CACC,CAAA;AAErB;;AAGA,SAAgB,eAAe,EAC3B,UACA,WACA,SAAS,GACT,GAAG,SACkD;CACrD,MAAM,YAAY,mBAAmB;CACrC,IAAI,cAAc,MACd,OAAO;CAEX,OACI,oBAACD,SAAD;EACI,GAAI;EACI;EACR,WAAW,GAAGC,uBAAO,SAAS,SAAS;EACvC,0BAA0B;EAEzB;CACQ,CAAA;AAErB"}
1
+ {"version":3,"file":"Popover.js","names":["Popover","AriaPopover","styles"],"sources":["../../src/popover/Popover.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport {\n Popover as AriaPopover,\n type PopoverProps as AriaPopoverProps,\n Dialog,\n} from 'react-aria-components';\n\nimport { usePortalContainer } from '../root/PanneauRoot';\nimport { cx } from '../utils/cx';\nimport styles from './Popover.module.css';\n\nexport interface PopoverProps extends Omit<\n AriaPopoverProps,\n 'className' | 'style' | 'children' | 'UNSTABLE_portalContainer'\n> {\n children?: ReactNode;\n /** Accessible label of the popover's dialog, when it has no heading. */\n 'aria-label'?: string;\n className?: string;\n dialogClassName?: string;\n}\n\n/**\n * A popover with free content, inside a `PopoverTrigger` with its button as the first child. Its\n * content is a non-modal dialog: focus moves into it and comes back to the button when it closes.\n */\nexport function Popover({\n children,\n 'aria-label': ariaLabel,\n className,\n dialogClassName,\n offset = 6,\n ...props\n}: PopoverProps) {\n const container = usePortalContainer();\n if (container === null) {\n return null;\n }\n return (\n <AriaPopover\n {...props}\n offset={offset}\n className={cx('panneau-popover', styles.popover, className)}\n UNSTABLE_portalContainer={container}\n >\n <Dialog aria-label={ariaLabel} className={cx(styles.dialog, dialogClassName)}>\n {children}\n </Dialog>\n </AriaPopover>\n );\n}\n\n/** The popover surface without a dialog, for listboxes and menus. */\nexport function PopoverSurface({\n children,\n className,\n offset = 6,\n ...props\n}: Omit<PopoverProps, 'aria-label' | 'dialogClassName'>) {\n const container = usePortalContainer();\n if (container === null) {\n return null;\n }\n return (\n <AriaPopover\n {...props}\n offset={offset}\n className={cx('panneau-popover', styles.popover, className)}\n UNSTABLE_portalContainer={container}\n >\n {children}\n </AriaPopover>\n );\n}\n\nexport { DialogTrigger as PopoverTrigger } from 'react-aria-components';\n"],"mappings":";;;;;;;;;;AA0BA,SAAgBA,UAAQ,EACpB,UACA,cAAc,WACd,WACA,iBACA,SAAS,GACT,GAAG,SACU;CACb,MAAM,YAAY,mBAAmB;CACrC,IAAI,cAAc,MACd,OAAO;CAEX,OACI,oBAACC,SAAD;EACI,GAAI;EACI;EACR,WAAW,GAAG,mBAAmBC,uBAAO,SAAS,SAAS;EAC1D,0BAA0B;EAE1B,UAAA,oBAAC,QAAD;GAAQ,cAAY;GAAW,WAAW,GAAGA,uBAAO,QAAQ,eAAe;GACtE;EACG,CAAA;CACC,CAAA;AAErB;;AAGA,SAAgB,eAAe,EAC3B,UACA,WACA,SAAS,GACT,GAAG,SACkD;CACrD,MAAM,YAAY,mBAAmB;CACrC,IAAI,cAAc,MACd,OAAO;CAEX,OACI,oBAACD,SAAD;EACI,GAAI;EACI;EACR,WAAW,GAAG,mBAAmBC,uBAAO,SAAS,SAAS;EAC1D,0BAA0B;EAEzB;CACQ,CAAA;AAErB"}
@@ -1,8 +1,8 @@
1
1
  import "./Popover.css";
2
2
  //#region src/popover/Popover.module.css
3
- var popover = "panneau-popover-KacUIM";
4
- var pop = "panneau-pop-fB47s-";
5
- var dialog = "panneau-dialog-2cVt0D";
3
+ var popover = "panneau-popover";
4
+ var pop = "panneau-popover-pop";
5
+ var dialog = "panneau-popover-dialog";
6
6
  var Popover_module_default = {
7
7
  popover,
8
8
  pop,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.module.js","names":[],"sources":["../../src/popover/Popover.module.css"],"sourcesContent":[".popover {\n min-width: var(--trigger-width, 10rem);\n max-width: calc(100vw - 2 * var(--panneau-space-4));\n color: var(--panneau-color-text);\n background-color: var(--panneau-color-surface-raised);\n border: var(--panneau-border-width) solid var(--panneau-color-border);\n border-radius: var(--panneau-radius-lg);\n box-shadow: var(--panneau-shadow-lg);\n outline: none;\n overflow: auto;\n z-index: var(--panneau-z-overlay);\n}\n\n.popover[data-entering] {\n animation: pop var(--panneau-duration) ease-out;\n}\n\n.popover[data-exiting] {\n animation: pop var(--panneau-duration) ease-in reverse;\n}\n\n.dialog {\n padding: var(--panneau-space-3);\n outline: none;\n}\n\n@keyframes pop {\n from {\n opacity: 0;\n transform: scale(0.97);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Popover.module.js","names":[],"sources":["../../src/popover/Popover.module.css"],"sourcesContent":[".popover {\n min-width: var(--trigger-width, 10rem);\n max-width: calc(100vw - 2 * var(--panneau-space-4));\n color: var(--panneau-color-text);\n background-color: var(--panneau-popover-bg, var(--panneau-color-surface-raised));\n border: var(--panneau-border-width) solid\n var(--panneau-popover-border-color, var(--panneau-color-border));\n border-radius: var(--panneau-popover-radius, var(--panneau-radius-lg));\n box-shadow: var(--panneau-popover-shadow, var(--panneau-shadow-lg));\n outline: none;\n overflow: auto;\n z-index: var(--panneau-z-overlay);\n}\n\n.popover[data-entering] {\n animation: pop var(--panneau-duration) ease-out;\n}\n\n.popover[data-exiting] {\n animation: pop var(--panneau-duration) ease-in reverse;\n}\n\n.dialog {\n padding: var(--panneau-popover-padding, var(--panneau-space-3));\n outline: none;\n}\n\n@keyframes pop {\n from {\n opacity: 0;\n transform: scale(0.97);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of Popover. */
2
+ export declare const popoverTokens: import("..").ComponentTokens<"popover", "panneau-popover-radius" | "panneau-popover-padding" | "panneau-popover-bg" | "panneau-popover-border-color" | "panneau-popover-shadow">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/popover/tokens.ts"],"names":[],"mappings":"AAEA,yBAAyB;AACzB,eAAO,MAAM,aAAa,kLAWxB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/popover/tokens.ts
3
+ /** Tokens of Popover. */
4
+ var popoverTokens = defineComponentTokens("popover", {
5
+ /** Background. */
6
+ bg: "var(--panneau-color-surface-raised)",
7
+ /** Border color. */
8
+ "border-color": "var(--panneau-color-border)",
9
+ /** Corner radius. */
10
+ radius: "var(--panneau-radius-lg)",
11
+ /** Shadow. */
12
+ shadow: "var(--panneau-shadow-lg)",
13
+ /** Padding of the content. */
14
+ padding: "var(--panneau-space-3)"
15
+ });
16
+ //#endregion
17
+ export { popoverTokens };
18
+
19
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/popover/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of Popover. */\nexport const popoverTokens = defineComponentTokens('popover', {\n /** Background. */\n bg: 'var(--panneau-color-surface-raised)',\n /** Border color. */\n 'border-color': 'var(--panneau-color-border)',\n /** Corner radius. */\n radius: 'var(--panneau-radius-lg)',\n /** Shadow. */\n shadow: 'var(--panneau-shadow-lg)',\n /** Padding of the content. */\n padding: 'var(--panneau-space-3)',\n});\n"],"mappings":";;;AAGA,IAAa,gBAAgB,sBAAsB,WAAW;;CAE1D,IAAI;;CAEJ,gBAAgB;;CAEhB,QAAQ;;CAER,QAAQ;;CAER,SAAS;AACb,CAAC"}
@@ -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"}