@panneau/ui 5.0.0-alpha.0 → 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 (388) hide show
  1. package/README.md +280 -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/namedIcons.d.ts +16 -0
  156. package/dist/icon/namedIcons.d.ts.map +1 -0
  157. package/dist/icon/namedIcons.js +90 -0
  158. package/dist/icon/namedIcons.js.map +1 -0
  159. package/dist/icon-button/IconButton.css +2 -2
  160. package/dist/icon-button/IconButton.d.ts +1 -1
  161. package/dist/icon-button/IconButton.d.ts.map +1 -1
  162. package/dist/icon-button/IconButton.js +3 -3
  163. package/dist/icon-button/IconButton.js.map +1 -1
  164. package/dist/icon-button/IconButton.module.js +2 -2
  165. package/dist/index.d.ts +26 -5
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +21 -2
  168. package/dist/inline/Inline.css +142 -0
  169. package/dist/inline/Inline.d.ts +17 -0
  170. package/dist/inline/Inline.d.ts.map +1 -0
  171. package/dist/inline/Inline.js +21 -0
  172. package/dist/inline/Inline.js.map +1 -0
  173. package/dist/inline/Inline.module.js +12 -0
  174. package/dist/inline/Inline.module.js.map +1 -0
  175. package/dist/inline/tokens.d.ts +3 -0
  176. package/dist/inline/tokens.d.ts.map +1 -0
  177. package/dist/inline/tokens.js +10 -0
  178. package/dist/inline/tokens.js.map +1 -0
  179. package/dist/layout/responsive.d.ts +38 -0
  180. package/dist/layout/responsive.d.ts.map +1 -0
  181. package/dist/layout/responsive.js +49 -0
  182. package/dist/layout/responsive.js.map +1 -0
  183. package/dist/menu/Menu.js +2 -2
  184. package/dist/menu/Menu.js.map +1 -1
  185. package/dist/number-input/NumberInput.css +12 -12
  186. package/dist/number-input/NumberInput.js +1 -1
  187. package/dist/number-input/NumberInput.js.map +1 -1
  188. package/dist/number-input/NumberInput.module.js +4 -4
  189. package/dist/number-input/NumberInput.module.js.map +1 -1
  190. package/dist/number-input/tokens.d.ts +3 -0
  191. package/dist/number-input/tokens.d.ts.map +1 -0
  192. package/dist/number-input/tokens.js +10 -0
  193. package/dist/number-input/tokens.js.map +1 -0
  194. package/dist/popover/Popover.css +13 -12
  195. package/dist/popover/Popover.js +2 -2
  196. package/dist/popover/Popover.js.map +1 -1
  197. package/dist/popover/Popover.module.js +3 -3
  198. package/dist/popover/Popover.module.js.map +1 -1
  199. package/dist/popover/tokens.d.ts +3 -0
  200. package/dist/popover/tokens.d.ts.map +1 -0
  201. package/dist/popover/tokens.js +19 -0
  202. package/dist/popover/tokens.js.map +1 -0
  203. package/dist/prose/Prose.css +141 -0
  204. package/dist/prose/Prose.d.ts +11 -0
  205. package/dist/prose/Prose.d.ts.map +1 -0
  206. package/dist/prose/Prose.js +18 -0
  207. package/dist/prose/Prose.js.map +1 -0
  208. package/dist/prose/Prose.module.js +8 -0
  209. package/dist/prose/Prose.module.js.map +1 -0
  210. package/dist/prose/tokens.d.ts +3 -0
  211. package/dist/prose/tokens.d.ts.map +1 -0
  212. package/dist/prose/tokens.js +33 -0
  213. package/dist/prose/tokens.js.map +1 -0
  214. package/dist/radio-group/RadioGroup.css +21 -20
  215. package/dist/radio-group/RadioGroup.d.ts.map +1 -1
  216. package/dist/radio-group/RadioGroup.js +2 -2
  217. package/dist/radio-group/RadioGroup.js.map +1 -1
  218. package/dist/radio-group/RadioGroup.module.js +6 -6
  219. package/dist/radio-group/RadioGroup.module.js.map +1 -1
  220. package/dist/radio-group/tokens.d.ts +3 -0
  221. package/dist/radio-group/tokens.d.ts.map +1 -0
  222. package/dist/radio-group/tokens.js +19 -0
  223. package/dist/radio-group/tokens.js.map +1 -0
  224. package/dist/root/PanneauRoot.css +243 -20
  225. package/dist/root/PanneauRoot.d.ts +28 -4
  226. package/dist/root/PanneauRoot.d.ts.map +1 -1
  227. package/dist/root/PanneauRoot.js +104 -21
  228. package/dist/root/PanneauRoot.js.map +1 -1
  229. package/dist/root/PanneauRoot.module.js +11 -3
  230. package/dist/root/PanneauRoot.module.js.map +1 -1
  231. package/dist/root/ThemeScope.d.ts +24 -0
  232. package/dist/root/ThemeScope.d.ts.map +1 -0
  233. package/dist/root/ThemeScope.js +49 -0
  234. package/dist/root/ThemeScope.js.map +1 -0
  235. package/dist/select/ListBox.css +23 -22
  236. package/dist/select/ListBox.module.js +12 -12
  237. package/dist/select/ListBox.module.js.map +1 -1
  238. package/dist/select/Select.js +1 -1
  239. package/dist/select/Select.js.map +1 -1
  240. package/dist/select/listBoxTokens.d.ts +3 -0
  241. package/dist/select/listBoxTokens.d.ts.map +1 -0
  242. package/dist/select/listBoxTokens.js +19 -0
  243. package/dist/select/listBoxTokens.js.map +1 -0
  244. package/dist/spinner/Spinner.css +8 -8
  245. package/dist/spinner/Spinner.js +1 -1
  246. package/dist/spinner/Spinner.js.map +1 -1
  247. package/dist/spinner/Spinner.module.js +5 -5
  248. package/dist/spinner/Spinner.module.js.map +1 -1
  249. package/dist/spinner/tokens.d.ts +3 -0
  250. package/dist/spinner/tokens.d.ts.map +1 -0
  251. package/dist/spinner/tokens.js +10 -0
  252. package/dist/spinner/tokens.js.map +1 -0
  253. package/dist/stack/Stack.css +135 -0
  254. package/dist/stack/Stack.d.ts +15 -0
  255. package/dist/stack/Stack.d.ts.map +1 -0
  256. package/dist/stack/Stack.js +21 -0
  257. package/dist/stack/Stack.js.map +1 -0
  258. package/dist/stack/Stack.module.js +8 -0
  259. package/dist/stack/Stack.module.js.map +1 -0
  260. package/dist/stack/tokens.d.ts +3 -0
  261. package/dist/stack/tokens.d.ts.map +1 -0
  262. package/dist/stack/tokens.js +10 -0
  263. package/dist/stack/tokens.js.map +1 -0
  264. package/dist/switch/Switch.css +34 -25
  265. package/dist/switch/Switch.d.ts.map +1 -1
  266. package/dist/switch/Switch.js +1 -0
  267. package/dist/switch/Switch.js.map +1 -1
  268. package/dist/switch/Switch.module.js +4 -4
  269. package/dist/switch/Switch.module.js.map +1 -1
  270. package/dist/switch/tokens.d.ts +3 -0
  271. package/dist/switch/tokens.d.ts.map +1 -0
  272. package/dist/switch/tokens.js +25 -0
  273. package/dist/switch/tokens.js.map +1 -0
  274. package/dist/tabs/Tabs.css +24 -23
  275. package/dist/tabs/Tabs.js +4 -4
  276. package/dist/tabs/Tabs.js.map +1 -1
  277. package/dist/tabs/Tabs.module.js +4 -4
  278. package/dist/tabs/Tabs.module.js.map +1 -1
  279. package/dist/tabs/tokens.d.ts +3 -0
  280. package/dist/tabs/tokens.d.ts.map +1 -0
  281. package/dist/tabs/tokens.js +25 -0
  282. package/dist/tabs/tokens.js.map +1 -0
  283. package/dist/text/Text.css +74 -0
  284. package/dist/text/Text.d.ts +27 -0
  285. package/dist/text/Text.d.ts.map +1 -0
  286. package/dist/text/Text.js +16 -0
  287. package/dist/text/Text.js.map +1 -0
  288. package/dist/text/Text.module.js +30 -0
  289. package/dist/text/Text.module.js.map +1 -0
  290. package/dist/text/tokens.d.ts +3 -0
  291. package/dist/text/tokens.d.ts.map +1 -0
  292. package/dist/text/tokens.js +10 -0
  293. package/dist/text/tokens.js.map +1 -0
  294. package/dist/text-area/TextArea.css +1 -1
  295. package/dist/text-area/TextArea.js +1 -1
  296. package/dist/text-area/TextArea.js.map +1 -1
  297. package/dist/text-area/TextArea.module.js +1 -1
  298. package/dist/text-input/TextInput.js +1 -1
  299. package/dist/text-input/TextInput.js.map +1 -1
  300. package/dist/theme/Tone.css +70 -0
  301. package/dist/theme/Tone.module.js +20 -0
  302. package/dist/theme/Tone.module.js.map +1 -0
  303. package/dist/theme/bootstrap.d.ts +10 -0
  304. package/dist/theme/bootstrap.d.ts.map +1 -1
  305. package/dist/theme/bootstrap.js +48 -5
  306. package/dist/theme/bootstrap.js.map +1 -1
  307. package/dist/theme/chartColors.d.ts +23 -0
  308. package/dist/theme/chartColors.d.ts.map +1 -0
  309. package/dist/theme/chartColors.js +27 -0
  310. package/dist/theme/chartColors.js.map +1 -0
  311. package/dist/theme/checkTheme.d.ts +39 -0
  312. package/dist/theme/checkTheme.d.ts.map +1 -0
  313. package/dist/theme/checkTheme.js +132 -0
  314. package/dist/theme/checkTheme.js.map +1 -0
  315. package/dist/theme/cli.d.ts +14 -0
  316. package/dist/theme/cli.d.ts.map +1 -0
  317. package/dist/theme/cli.js +61 -0
  318. package/dist/theme/cli.js.map +1 -0
  319. package/dist/theme/color.d.ts +30 -0
  320. package/dist/theme/color.d.ts.map +1 -0
  321. package/dist/theme/color.js +94 -0
  322. package/dist/theme/color.js.map +1 -0
  323. package/dist/theme/colorVision.d.ts +23 -0
  324. package/dist/theme/colorVision.d.ts.map +1 -0
  325. package/dist/theme/colorVision.js +140 -0
  326. package/dist/theme/colorVision.js.map +1 -0
  327. package/dist/theme/componentTokens.d.ts +24 -0
  328. package/dist/theme/componentTokens.d.ts.map +1 -0
  329. package/dist/theme/componentTokens.js +20 -0
  330. package/dist/theme/componentTokens.js.map +1 -0
  331. package/dist/theme/components.d.ts +38 -0
  332. package/dist/theme/components.d.ts.map +1 -0
  333. package/dist/theme/components.js +65 -0
  334. package/dist/theme/components.js.map +1 -0
  335. package/dist/theme/defineTheme.d.ts +85 -0
  336. package/dist/theme/defineTheme.d.ts.map +1 -0
  337. package/dist/theme/defineTheme.js +130 -0
  338. package/dist/theme/defineTheme.js.map +1 -0
  339. package/dist/theme/fonts.d.ts +32 -0
  340. package/dist/theme/fonts.d.ts.map +1 -0
  341. package/dist/theme/fonts.js +36 -0
  342. package/dist/theme/fonts.js.map +1 -0
  343. package/dist/theme/index.d.ts +13 -0
  344. package/dist/theme/index.d.ts.map +1 -0
  345. package/dist/theme/index.js +10 -0
  346. package/dist/theme/semanticTokens.d.ts +9 -0
  347. package/dist/theme/semanticTokens.d.ts.map +1 -0
  348. package/dist/theme/semanticTokens.js +110 -0
  349. package/dist/theme/semanticTokens.js.map +1 -0
  350. package/dist/theme/theme.d.ts +61 -7
  351. package/dist/theme/theme.d.ts.map +1 -1
  352. package/dist/theme/theme.js +100 -10
  353. package/dist/theme/theme.js.map +1 -1
  354. package/dist/theme/toneClass.d.ts +8 -0
  355. package/dist/theme/toneClass.d.ts.map +1 -0
  356. package/dist/theme/toneClass.js +15 -0
  357. package/dist/theme/toneClass.js.map +1 -0
  358. package/dist/theme/tones.d.ts +89 -0
  359. package/dist/theme/tones.d.ts.map +1 -0
  360. package/dist/theme/tones.js +127 -0
  361. package/dist/theme/tones.js.map +1 -0
  362. package/dist/time-input/TimeInput.js +1 -1
  363. package/dist/time-input/TimeInput.js.map +1 -1
  364. package/dist/toast/Toast.css +22 -44
  365. package/dist/toast/Toast.d.ts +5 -3
  366. package/dist/toast/Toast.d.ts.map +1 -1
  367. package/dist/toast/Toast.js +4 -3
  368. package/dist/toast/Toast.js.map +1 -1
  369. package/dist/toast/Toast.module.js +10 -16
  370. package/dist/toast/Toast.module.js.map +1 -1
  371. package/dist/toast/tokens.d.ts +3 -0
  372. package/dist/toast/tokens.d.ts.map +1 -0
  373. package/dist/toast/tokens.js +21 -0
  374. package/dist/toast/tokens.js.map +1 -0
  375. package/dist/tooltip/Tooltip.css +12 -11
  376. package/dist/tooltip/Tooltip.js +1 -1
  377. package/dist/tooltip/Tooltip.js.map +1 -1
  378. package/dist/tooltip/Tooltip.module.js +2 -2
  379. package/dist/tooltip/Tooltip.module.js.map +1 -1
  380. package/dist/tooltip/tokens.d.ts +3 -0
  381. package/dist/tooltip/tokens.d.ts.map +1 -0
  382. package/dist/tooltip/tokens.js +21 -0
  383. package/dist/tooltip/tokens.js.map +1 -0
  384. package/dist/utils/cx.d.ts +1 -1
  385. package/dist/utils/cx.d.ts.map +1 -1
  386. package/dist/utils/cx.js +2 -2
  387. package/dist/utils/cx.js.map +1 -1
  388. package/package.json +15 -3
@@ -0,0 +1,174 @@
1
+ /* A grid: each prop can change at the breakpoints of the nearest container. */
2
+
3
+ .panneau-grid {
4
+ display: grid;
5
+ min-width: 0;
6
+ }
7
+ /* Responsive values are set inline; children reset them so that they aren't inherited. */
8
+ .panneau-grid > * {
9
+ --_panneau-grid-columns-base: initial;
10
+ --_panneau-grid-columns-sm: initial;
11
+ --_panneau-grid-columns-md: initial;
12
+ --_panneau-grid-columns-lg: initial;
13
+ --_panneau-grid-columns-xl: initial;
14
+ --_panneau-grid-gap-base: initial;
15
+ --_panneau-grid-gap-sm: initial;
16
+ --_panneau-grid-gap-md: initial;
17
+ --_panneau-grid-gap-lg: initial;
18
+ --_panneau-grid-gap-xl: initial;
19
+ --_panneau-grid-align-base: initial;
20
+ --_panneau-grid-align-sm: initial;
21
+ --_panneau-grid-align-md: initial;
22
+ --_panneau-grid-align-lg: initial;
23
+ --_panneau-grid-align-xl: initial;
24
+ }
25
+
26
+ .panneau-grid {
27
+ gap: var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)));
28
+ align-items: var(--_panneau-grid-align-base, stretch);
29
+ }
30
+
31
+ @container (min-width: 40rem) {
32
+ .panneau-grid {
33
+ gap: var(
34
+ --_panneau-grid-gap-sm,
35
+ var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)))
36
+ );
37
+ align-items: var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch));
38
+ }
39
+ }
40
+
41
+ @container (min-width: 48rem) {
42
+ .panneau-grid {
43
+ gap: var(
44
+ --_panneau-grid-gap-md,
45
+ var(
46
+ --_panneau-grid-gap-sm,
47
+ var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)))
48
+ )
49
+ );
50
+ align-items: var(
51
+ --_panneau-grid-align-md,
52
+ var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch))
53
+ );
54
+ }
55
+ }
56
+
57
+ @container (min-width: 64rem) {
58
+ .panneau-grid {
59
+ gap: var(
60
+ --_panneau-grid-gap-lg,
61
+ var(
62
+ --_panneau-grid-gap-md,
63
+ var(
64
+ --_panneau-grid-gap-sm,
65
+ var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)))
66
+ )
67
+ )
68
+ );
69
+ align-items: var(
70
+ --_panneau-grid-align-lg,
71
+ var(
72
+ --_panneau-grid-align-md,
73
+ var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch))
74
+ )
75
+ );
76
+ }
77
+ }
78
+
79
+ @container (min-width: 80rem) {
80
+ .panneau-grid {
81
+ gap: var(
82
+ --_panneau-grid-gap-xl,
83
+ var(
84
+ --_panneau-grid-gap-lg,
85
+ var(
86
+ --_panneau-grid-gap-md,
87
+ var(
88
+ --_panneau-grid-gap-sm,
89
+ var(
90
+ --_panneau-grid-gap-base,
91
+ var(--panneau-grid-gap, var(--panneau-space-4))
92
+ )
93
+ )
94
+ )
95
+ )
96
+ );
97
+ align-items: var(
98
+ --_panneau-grid-align-xl,
99
+ var(
100
+ --_panneau-grid-align-lg,
101
+ var(
102
+ --_panneau-grid-align-md,
103
+ var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch))
104
+ )
105
+ )
106
+ );
107
+ }
108
+ }
109
+
110
+ .panneau-grid:not(.panneau-grid-auto) {
111
+ grid-template-columns: repeat(var(--_panneau-grid-columns-base, 1), minmax(0, 1fr));
112
+ }
113
+
114
+ @container (min-width: 40rem) {
115
+ .panneau-grid:not(.panneau-grid-auto) {
116
+ grid-template-columns: repeat(
117
+ var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1)),
118
+ minmax(0, 1fr)
119
+ );
120
+ }
121
+ }
122
+
123
+ @container (min-width: 48rem) {
124
+ .panneau-grid:not(.panneau-grid-auto) {
125
+ grid-template-columns: repeat(
126
+ var(
127
+ --_panneau-grid-columns-md,
128
+ var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1))
129
+ ),
130
+ minmax(0, 1fr)
131
+ );
132
+ }
133
+ }
134
+
135
+ @container (min-width: 64rem) {
136
+ .panneau-grid:not(.panneau-grid-auto) {
137
+ grid-template-columns: repeat(
138
+ var(
139
+ --_panneau-grid-columns-lg,
140
+ var(
141
+ --_panneau-grid-columns-md,
142
+ var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1))
143
+ )
144
+ ),
145
+ minmax(0, 1fr)
146
+ );
147
+ }
148
+ }
149
+
150
+ @container (min-width: 80rem) {
151
+ .panneau-grid:not(.panneau-grid-auto) {
152
+ grid-template-columns: repeat(
153
+ var(
154
+ --_panneau-grid-columns-xl,
155
+ var(
156
+ --_panneau-grid-columns-lg,
157
+ var(
158
+ --_panneau-grid-columns-md,
159
+ var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1))
160
+ )
161
+ )
162
+ ),
163
+ minmax(0, 1fr)
164
+ );
165
+ }
166
+ }
167
+
168
+ /* Columns of at least a width, as many as fit: repeat(auto-fit, minmax(...)). */
169
+ .panneau-grid-auto {
170
+ grid-template-columns: repeat(
171
+ auto-fit,
172
+ minmax(min(var(--_panneau-grid-min-item-width), 100%), 1fr)
173
+ );
174
+ }
@@ -0,0 +1,28 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import { type Responsive, type Space } from '../layout/responsive';
3
+ export interface GridProps extends HTMLAttributes<HTMLElement> {
4
+ /** Element to render. Defaults to `div`. */
5
+ as?: 'div' | 'section' | 'ul' | 'ol' | 'dl';
6
+ /** Number of equal columns: `3`, or `{ base: 1, md: 2, lg: 3 }`. Defaults to 1. */
7
+ columns?: Responsive<number>;
8
+ /**
9
+ * Minimum width of a cell (`'16rem'`): as many columns as fit, like `repeat(auto-fit, ...)`.
10
+ * It replaces `columns`.
11
+ */
12
+ minItemWidth?: string;
13
+ /** Space between cells, from the space scale. Defaults to the `--panneau-grid-gap` token. */
14
+ gap?: Responsive<Space>;
15
+ /** Vertical alignment of the cells in their row. Defaults to `stretch`. */
16
+ align?: Responsive<'start' | 'center' | 'end' | 'stretch'>;
17
+ }
18
+ /** Cells in columns: a fixed number per breakpoint, or as many as fit. */
19
+ export declare function Grid({ as: Element, columns, minItemWidth, gap, align, className, style, ...props }: GridProps): import("react").JSX.Element;
20
+ export interface GridItemProps extends HTMLAttributes<HTMLElement> {
21
+ /** Element to render. Defaults to `div`. */
22
+ as?: 'div' | 'section' | 'article' | 'li';
23
+ /** Columns the cell spans: a number, or `full` for the whole row. Defaults to 1. */
24
+ span?: Responsive<number | 'full'>;
25
+ }
26
+ /** A cell of a `Grid` that spans several columns, per breakpoint. */
27
+ export declare function GridItem({ as: Element, span, className, style, ...props }: GridItemProps): import("react").JSX.Element;
28
+ //# sourceMappingURL=Grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/grid/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EACH,KAAK,UAAU,EACf,KAAK,KAAK,EAIb,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC1D,4CAA4C;IAC5C,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,mFAAmF;IACnF,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;CAC9D;AAED,0EAA0E;AAC1E,wBAAgB,IAAI,CAAC,EACjB,EAAE,EAAE,OAAe,EACnB,OAAO,EACP,YAAY,EACZ,GAAG,EACH,KAAK,EACL,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACX,EAAE,SAAS,+BAyBX;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC9D,4CAA4C;IAC5C,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,oFAAoF;IACpF,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACtC;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAehG"}
@@ -0,0 +1,31 @@
1
+ import { cx } from "../utils/cx.js";
2
+ import { responsiveVariables, space, withVariables } from "../layout/responsive.js";
3
+ import Grid_module_default from "./Grid.module.js";
4
+ import GridItem_module_default from "./GridItem.module.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/grid/Grid.tsx
7
+ /** Cells in columns: a fixed number per breakpoint, or as many as fit. */
8
+ function Grid({ as: Element = "div", columns, minItemWidth, gap, align, className, style, ...props }) {
9
+ return /* @__PURE__ */ jsx(Element, {
10
+ ...props,
11
+ className: cx("panneau-grid", Grid_module_default.grid, minItemWidth !== void 0 && Grid_module_default.auto, className),
12
+ style: withVariables([
13
+ responsiveVariables("grid", "columns", columns, (count) => String(Math.max(1, Math.floor(count)))),
14
+ minItemWidth !== void 0 ? { "--_panneau-grid-min-item-width": minItemWidth } : {},
15
+ responsiveVariables("grid", "gap", gap, space),
16
+ responsiveVariables("grid", "align", align, String)
17
+ ], style)
18
+ });
19
+ }
20
+ /** A cell of a `Grid` that spans several columns, per breakpoint. */
21
+ function GridItem({ as: Element = "div", span, className, style, ...props }) {
22
+ return /* @__PURE__ */ jsx(Element, {
23
+ ...props,
24
+ className: cx("panneau-grid-item", GridItem_module_default["grid-item"], className),
25
+ style: withVariables([responsiveVariables("grid-item", "span", span, (value) => value === "full" ? "1 / -1" : `span ${Math.max(1, Math.floor(value))}`)], style)
26
+ });
27
+ }
28
+ //#endregion
29
+ export { Grid, GridItem };
30
+
31
+ //# sourceMappingURL=Grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.js","names":["styles","itemStyles"],"sources":["../../src/grid/Grid.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport {\n type Responsive,\n type Space,\n responsiveVariables,\n space,\n withVariables,\n} from '../layout/responsive';\nimport { cx } from '../utils/cx';\nimport styles from './Grid.module.css';\nimport itemStyles from './GridItem.module.css';\n\nexport interface GridProps extends HTMLAttributes<HTMLElement> {\n /** Element to render. Defaults to `div`. */\n as?: 'div' | 'section' | 'ul' | 'ol' | 'dl';\n /** Number of equal columns: `3`, or `{ base: 1, md: 2, lg: 3 }`. Defaults to 1. */\n columns?: Responsive<number>;\n /**\n * Minimum width of a cell (`'16rem'`): as many columns as fit, like `repeat(auto-fit, ...)`.\n * It replaces `columns`.\n */\n minItemWidth?: string;\n /** Space between cells, from the space scale. Defaults to the `--panneau-grid-gap` token. */\n gap?: Responsive<Space>;\n /** Vertical alignment of the cells in their row. Defaults to `stretch`. */\n align?: Responsive<'start' | 'center' | 'end' | 'stretch'>;\n}\n\n/** Cells in columns: a fixed number per breakpoint, or as many as fit. */\nexport function Grid({\n as: Element = 'div',\n columns,\n minItemWidth,\n gap,\n align,\n className,\n style,\n ...props\n}: GridProps) {\n return (\n <Element\n {...props}\n className={cx(\n 'panneau-grid',\n styles.grid,\n minItemWidth !== undefined && styles.auto,\n className,\n )}\n style={withVariables(\n [\n responsiveVariables('grid', 'columns', columns, (count) =>\n String(Math.max(1, Math.floor(count))),\n ),\n minItemWidth !== undefined\n ? { '--_panneau-grid-min-item-width': minItemWidth }\n : {},\n responsiveVariables('grid', 'gap', gap, space),\n responsiveVariables('grid', 'align', align, String),\n ],\n style,\n )}\n />\n );\n}\n\nexport interface GridItemProps extends HTMLAttributes<HTMLElement> {\n /** Element to render. Defaults to `div`. */\n as?: 'div' | 'section' | 'article' | 'li';\n /** Columns the cell spans: a number, or `full` for the whole row. Defaults to 1. */\n span?: Responsive<number | 'full'>;\n}\n\n/** A cell of a `Grid` that spans several columns, per breakpoint. */\nexport function GridItem({ as: Element = 'div', span, className, style, ...props }: GridItemProps) {\n return (\n <Element\n {...props}\n className={cx('panneau-grid-item', itemStyles['grid-item'], className)}\n style={withVariables(\n [\n responsiveVariables('grid-item', 'span', span, (value) =>\n value === 'full' ? '1 / -1' : `span ${Math.max(1, Math.floor(value))}`,\n ),\n ],\n style,\n )}\n />\n );\n}\n"],"mappings":";;;;;;;AA8BA,SAAgB,KAAK,EACjB,IAAI,UAAU,OACd,SACA,cACA,KACA,OACA,WACA,OACA,GAAG,SACO;CACV,OACI,oBAAC,SAAD;EACI,GAAI;EACJ,WAAW,GACP,gBACAA,oBAAO,MACP,iBAAiB,KAAA,KAAaA,oBAAO,MACrC,SACJ;EACA,OAAO,cACH;GACI,oBAAoB,QAAQ,WAAW,UAAU,UAC7C,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,CAAC,CAAC,CACzC;GACA,iBAAiB,KAAA,IACX,EAAE,kCAAkC,aAAa,IACjD,CAAC;GACP,oBAAoB,QAAQ,OAAO,KAAK,KAAK;GAC7C,oBAAoB,QAAQ,SAAS,OAAO,MAAM;EAAC,GAEvD,KACJ;CAAE,CAAA;AAGd;;AAUA,SAAgB,SAAS,EAAE,IAAI,UAAU,OAAO,MAAM,WAAW,OAAO,GAAG,SAAwB;CAC/F,OACI,oBAAC,SAAD;EACI,GAAI;EACJ,WAAW,GAAG,qBAAqBC,wBAAW,cAAc,SAAS;EACrE,OAAO,cACH,CACI,oBAAoB,aAAa,QAAQ,OAAO,UAC5C,UAAU,SAAS,WAAW,QAAQ,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,CAAC,GACvE,CAAC,GAEL,KACJ;CAAE,CAAA;AAGd"}
@@ -0,0 +1,12 @@
1
+ import "./Grid.css";
2
+ //#region src/grid/Grid.module.css
3
+ var grid = "panneau-grid";
4
+ var auto = "panneau-grid-auto";
5
+ var Grid_module_default = {
6
+ grid,
7
+ auto
8
+ };
9
+ //#endregion
10
+ export { auto, Grid_module_default as default, grid };
11
+
12
+ //# sourceMappingURL=Grid.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.module.js","names":[],"sources":["../../src/grid/Grid.module.css"],"sourcesContent":["/* A grid: each prop can change at the breakpoints of the nearest container. */\n\n.grid {\n display: grid;\n min-width: 0;\n}\n/* Responsive values are set inline; children reset them so that they aren't inherited. */\n.grid > * {\n --_panneau-grid-columns-base: initial;\n --_panneau-grid-columns-sm: initial;\n --_panneau-grid-columns-md: initial;\n --_panneau-grid-columns-lg: initial;\n --_panneau-grid-columns-xl: initial;\n --_panneau-grid-gap-base: initial;\n --_panneau-grid-gap-sm: initial;\n --_panneau-grid-gap-md: initial;\n --_panneau-grid-gap-lg: initial;\n --_panneau-grid-gap-xl: initial;\n --_panneau-grid-align-base: initial;\n --_panneau-grid-align-sm: initial;\n --_panneau-grid-align-md: initial;\n --_panneau-grid-align-lg: initial;\n --_panneau-grid-align-xl: initial;\n}\n\n.grid {\n gap: var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)));\n align-items: var(--_panneau-grid-align-base, stretch);\n}\n\n@container (min-width: 40rem) {\n .grid {\n gap: var(\n --_panneau-grid-gap-sm,\n var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)))\n );\n align-items: var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch));\n }\n}\n\n@container (min-width: 48rem) {\n .grid {\n gap: var(\n --_panneau-grid-gap-md,\n var(\n --_panneau-grid-gap-sm,\n var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)))\n )\n );\n align-items: var(\n --_panneau-grid-align-md,\n var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch))\n );\n }\n}\n\n@container (min-width: 64rem) {\n .grid {\n gap: var(\n --_panneau-grid-gap-lg,\n var(\n --_panneau-grid-gap-md,\n var(\n --_panneau-grid-gap-sm,\n var(--_panneau-grid-gap-base, var(--panneau-grid-gap, var(--panneau-space-4)))\n )\n )\n );\n align-items: var(\n --_panneau-grid-align-lg,\n var(\n --_panneau-grid-align-md,\n var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch))\n )\n );\n }\n}\n\n@container (min-width: 80rem) {\n .grid {\n gap: var(\n --_panneau-grid-gap-xl,\n var(\n --_panneau-grid-gap-lg,\n var(\n --_panneau-grid-gap-md,\n var(\n --_panneau-grid-gap-sm,\n var(\n --_panneau-grid-gap-base,\n var(--panneau-grid-gap, var(--panneau-space-4))\n )\n )\n )\n )\n );\n align-items: var(\n --_panneau-grid-align-xl,\n var(\n --_panneau-grid-align-lg,\n var(\n --_panneau-grid-align-md,\n var(--_panneau-grid-align-sm, var(--_panneau-grid-align-base, stretch))\n )\n )\n );\n }\n}\n\n.grid:not(.auto) {\n grid-template-columns: repeat(var(--_panneau-grid-columns-base, 1), minmax(0, 1fr));\n}\n\n@container (min-width: 40rem) {\n .grid:not(.auto) {\n grid-template-columns: repeat(\n var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1)),\n minmax(0, 1fr)\n );\n }\n}\n\n@container (min-width: 48rem) {\n .grid:not(.auto) {\n grid-template-columns: repeat(\n var(\n --_panneau-grid-columns-md,\n var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1))\n ),\n minmax(0, 1fr)\n );\n }\n}\n\n@container (min-width: 64rem) {\n .grid:not(.auto) {\n grid-template-columns: repeat(\n var(\n --_panneau-grid-columns-lg,\n var(\n --_panneau-grid-columns-md,\n var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1))\n )\n ),\n minmax(0, 1fr)\n );\n }\n}\n\n@container (min-width: 80rem) {\n .grid:not(.auto) {\n grid-template-columns: repeat(\n var(\n --_panneau-grid-columns-xl,\n var(\n --_panneau-grid-columns-lg,\n var(\n --_panneau-grid-columns-md,\n var(--_panneau-grid-columns-sm, var(--_panneau-grid-columns-base, 1))\n )\n )\n ),\n minmax(0, 1fr)\n );\n }\n}\n\n/* Columns of at least a width, as many as fit: repeat(auto-fit, minmax(...)). */\n.auto {\n grid-template-columns: repeat(\n auto-fit,\n minmax(min(var(--_panneau-grid-min-item-width), 100%), 1fr)\n );\n}\n"],"mappings":""}
@@ -0,0 +1,59 @@
1
+ /* A cell of a Grid that spans several columns, per breakpoint. */
2
+
3
+ .panneau-grid-item {
4
+ min-width: 0;
5
+ }
6
+ /* Responsive values are set inline; children reset them so that they aren't inherited. */
7
+ .panneau-grid-item > * {
8
+ --_panneau-grid-item-span-base: initial;
9
+ --_panneau-grid-item-span-sm: initial;
10
+ --_panneau-grid-item-span-md: initial;
11
+ --_panneau-grid-item-span-lg: initial;
12
+ --_panneau-grid-item-span-xl: initial;
13
+ }
14
+
15
+ .panneau-grid-item {
16
+ grid-column: var(--_panneau-grid-item-span-base, auto);
17
+ }
18
+
19
+ @container (min-width: 40rem) {
20
+ .panneau-grid-item {
21
+ grid-column: var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto));
22
+ }
23
+ }
24
+
25
+ @container (min-width: 48rem) {
26
+ .panneau-grid-item {
27
+ grid-column: var(
28
+ --_panneau-grid-item-span-md,
29
+ var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto))
30
+ );
31
+ }
32
+ }
33
+
34
+ @container (min-width: 64rem) {
35
+ .panneau-grid-item {
36
+ grid-column: var(
37
+ --_panneau-grid-item-span-lg,
38
+ var(
39
+ --_panneau-grid-item-span-md,
40
+ var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto))
41
+ )
42
+ );
43
+ }
44
+ }
45
+
46
+ @container (min-width: 80rem) {
47
+ .panneau-grid-item {
48
+ grid-column: var(
49
+ --_panneau-grid-item-span-xl,
50
+ var(
51
+ --_panneau-grid-item-span-lg,
52
+ var(
53
+ --_panneau-grid-item-span-md,
54
+ var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto))
55
+ )
56
+ )
57
+ );
58
+ }
59
+ }
@@ -0,0 +1,7 @@
1
+ import "./GridItem.css";
2
+ //#region src/grid/GridItem.module.css
3
+ var GridItem_module_default = { "grid-item": "panneau-grid-item" };
4
+ //#endregion
5
+ export { GridItem_module_default as default };
6
+
7
+ //# sourceMappingURL=GridItem.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridItem.module.js","names":[],"sources":["../../src/grid/GridItem.module.css"],"sourcesContent":["/* A cell of a Grid that spans several columns, per breakpoint. */\n\n.grid-item {\n min-width: 0;\n}\n/* Responsive values are set inline; children reset them so that they aren't inherited. */\n.grid-item > * {\n --_panneau-grid-item-span-base: initial;\n --_panneau-grid-item-span-sm: initial;\n --_panneau-grid-item-span-md: initial;\n --_panneau-grid-item-span-lg: initial;\n --_panneau-grid-item-span-xl: initial;\n}\n\n.grid-item {\n grid-column: var(--_panneau-grid-item-span-base, auto);\n}\n\n@container (min-width: 40rem) {\n .grid-item {\n grid-column: var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto));\n }\n}\n\n@container (min-width: 48rem) {\n .grid-item {\n grid-column: var(\n --_panneau-grid-item-span-md,\n var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto))\n );\n }\n}\n\n@container (min-width: 64rem) {\n .grid-item {\n grid-column: var(\n --_panneau-grid-item-span-lg,\n var(\n --_panneau-grid-item-span-md,\n var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto))\n )\n );\n }\n}\n\n@container (min-width: 80rem) {\n .grid-item {\n grid-column: var(\n --_panneau-grid-item-span-xl,\n var(\n --_panneau-grid-item-span-lg,\n var(\n --_panneau-grid-item-span-md,\n var(--_panneau-grid-item-span-sm, var(--_panneau-grid-item-span-base, auto))\n )\n )\n );\n }\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of Grid. */
2
+ export declare const gridTokens: import("..").ComponentTokens<"grid", "panneau-grid-gap">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/grid/tokens.ts"],"names":[],"mappings":"AAEA,sBAAsB;AACtB,eAAO,MAAM,UAAU,0DAGrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/grid/tokens.ts
3
+ /** Tokens of Grid. */
4
+ var gridTokens = defineComponentTokens("grid", {
5
+ /** Space between cells, in both directions, when the `gap` prop is not set. */
6
+ gap: "var(--panneau-space-4)" });
7
+ //#endregion
8
+ export { gridTokens };
9
+
10
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/grid/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of Grid. */\nexport const gridTokens = defineComponentTokens('grid', {\n /** Space between cells, in both directions, when the `gap` prop is not set. */\n gap: 'var(--panneau-space-4)',\n});\n"],"mappings":";;;AAGA,IAAa,aAAa,sBAAsB,QAAQ;;AAEpD,KAAK,yBACT,CAAC"}
@@ -0,0 +1,52 @@
1
+ /* Headings: one class per visual size, independent of the level of the element. */
2
+
3
+ .panneau-heading {
4
+ margin: 0;
5
+ font-family: var(--panneau-heading-font-family, var(--panneau-font-family-heading));
6
+ color: var(--panneau-heading-color, inherit);
7
+ overflow-wrap: break-word;
8
+ }
9
+
10
+ .panneau-heading-size-1 {
11
+ font-size: var(--panneau-heading-1-font-size, 1.75rem);
12
+ font-weight: var(--panneau-heading-1-font-weight, var(--panneau-font-weight-bold));
13
+ line-height: var(--panneau-heading-1-line-height, var(--panneau-line-height-tight));
14
+ letter-spacing: var(--panneau-heading-1-letter-spacing, -0.015em);
15
+ }
16
+
17
+ .panneau-heading-size-2 {
18
+ font-size: var(--panneau-heading-2-font-size, 1.375rem);
19
+ font-weight: var(--panneau-heading-2-font-weight, var(--panneau-font-weight-bold));
20
+ line-height: var(--panneau-heading-2-line-height, var(--panneau-line-height-tight));
21
+ letter-spacing: var(--panneau-heading-2-letter-spacing, -0.01em);
22
+ }
23
+
24
+ .panneau-heading-size-3 {
25
+ font-size: var(--panneau-heading-3-font-size, 1.125rem);
26
+ font-weight: var(--panneau-heading-3-font-weight, var(--panneau-font-weight-bold));
27
+ line-height: var(--panneau-heading-3-line-height, var(--panneau-line-height-tight));
28
+ letter-spacing: var(--panneau-heading-3-letter-spacing, normal);
29
+ }
30
+
31
+ .panneau-heading-size-4 {
32
+ font-size: var(--panneau-heading-4-font-size, var(--panneau-font-size-lg));
33
+ font-weight: var(--panneau-heading-4-font-weight, var(--panneau-font-weight-bold));
34
+ line-height: var(--panneau-heading-4-line-height, var(--panneau-line-height-tight));
35
+ letter-spacing: var(--panneau-heading-4-letter-spacing, normal);
36
+ }
37
+
38
+ .panneau-heading-size-display-1 {
39
+ font-family: var(--panneau-heading-display-font-family, var(--panneau-font-family-display));
40
+ font-size: var(--panneau-heading-display-1-font-size, 3rem);
41
+ font-weight: var(--panneau-heading-display-1-font-weight, var(--panneau-font-weight-bold));
42
+ line-height: var(--panneau-heading-display-1-line-height, 1.1);
43
+ letter-spacing: var(--panneau-heading-display-1-letter-spacing, -0.025em);
44
+ }
45
+
46
+ .panneau-heading-size-display-2 {
47
+ font-family: var(--panneau-heading-display-font-family, var(--panneau-font-family-display));
48
+ font-size: var(--panneau-heading-display-2-font-size, 2.25rem);
49
+ font-weight: var(--panneau-heading-display-2-font-weight, var(--panneau-font-weight-bold));
50
+ line-height: var(--panneau-heading-display-2-line-height, 1.15);
51
+ letter-spacing: var(--panneau-heading-display-2-letter-spacing, -0.02em);
52
+ }
@@ -0,0 +1,17 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ /** The level of a heading element: `h1` to `h6`. */
3
+ export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
4
+ /** The visual size of a heading: 1 to 4, or a display size for hero text and stats. */
5
+ export type HeadingSize = 1 | 2 | 3 | 4 | 'display-1' | 'display-2';
6
+ export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
7
+ /** Level of the element, for the outline of the page. Defaults to 2. */
8
+ level?: HeadingLevel;
9
+ /**
10
+ * Visual size, independent of the level, like Bootstrap's `.h1` and `.display-1`. Defaults to
11
+ * the level, and to 4 for levels 5 and 6.
12
+ */
13
+ size?: HeadingSize;
14
+ }
15
+ /** A heading, styled by the heading tokens of the theme. */
16
+ export declare function Heading({ level, size, className, ...props }: HeadingProps): import("react").JSX.Element;
17
+ //# sourceMappingURL=Heading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/heading/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,oDAAoD;AACpD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD,uFAAuF;AACvF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACpE,wEAAwE;IACxE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,4DAA4D;AAC5D,wBAAgB,OAAO,CAAC,EAAE,KAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAc7E"}
@@ -0,0 +1,17 @@
1
+ import { cx } from "../utils/cx.js";
2
+ import Heading_module_default from "./Heading.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/heading/Heading.tsx
5
+ /** A heading, styled by the heading tokens of the theme. */
6
+ function Heading({ level = 2, size, className, ...props }) {
7
+ const Element = `h${level}`;
8
+ const visualSize = size ?? Math.min(level, 4);
9
+ return /* @__PURE__ */ jsx(Element, {
10
+ ...props,
11
+ className: cx("panneau-heading", Heading_module_default.heading, Heading_module_default[`size-${visualSize}`], className)
12
+ });
13
+ }
14
+ //#endregion
15
+ export { Heading };
16
+
17
+ //# sourceMappingURL=Heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading.js","names":["styles"],"sources":["../../src/heading/Heading.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Heading.module.css';\n\n/** The level of a heading element: `h1` to `h6`. */\nexport type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\n/** The visual size of a heading: 1 to 4, or a display size for hero text and stats. */\nexport type HeadingSize = 1 | 2 | 3 | 4 | 'display-1' | 'display-2';\n\nexport interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n /** Level of the element, for the outline of the page. Defaults to 2. */\n level?: HeadingLevel;\n /**\n * Visual size, independent of the level, like Bootstrap's `.h1` and `.display-1`. Defaults to\n * the level, and to 4 for levels 5 and 6.\n */\n size?: HeadingSize;\n}\n\n/** A heading, styled by the heading tokens of the theme. */\nexport function Heading({ level = 2, size, className, ...props }: HeadingProps) {\n const Element = `h${level}` as const;\n const visualSize = size ?? Math.min(level, 4);\n return (\n <Element\n {...props}\n className={cx(\n 'panneau-heading',\n styles.heading,\n styles[`size-${visualSize}`],\n className,\n )}\n />\n );\n}\n"],"mappings":";;;;;AAsBA,SAAgB,QAAQ,EAAE,QAAQ,GAAG,MAAM,WAAW,GAAG,SAAuB;CAC5E,MAAM,UAAU,IAAI;CACpB,MAAM,aAAa,QAAQ,KAAK,IAAI,OAAO,CAAC;CAC5C,OACI,oBAAC,SAAD;EACI,GAAI;EACJ,WAAW,GACP,mBACAA,uBAAO,SACPA,uBAAO,QAAQ,eACf,SACJ;CAAE,CAAA;AAGd"}
@@ -0,0 +1,16 @@
1
+ import "./Heading.css";
2
+ //#region src/heading/Heading.module.css
3
+ var heading = "panneau-heading";
4
+ var Heading_module_default = {
5
+ heading,
6
+ "size-1": "panneau-heading-size-1",
7
+ "size-2": "panneau-heading-size-2",
8
+ "size-3": "panneau-heading-size-3",
9
+ "size-4": "panneau-heading-size-4",
10
+ "size-display-1": "panneau-heading-size-display-1",
11
+ "size-display-2": "panneau-heading-size-display-2"
12
+ };
13
+ //#endregion
14
+ export { Heading_module_default as default, heading };
15
+
16
+ //# sourceMappingURL=Heading.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading.module.js","names":[],"sources":["../../src/heading/Heading.module.css"],"sourcesContent":["/* Headings: one class per visual size, independent of the level of the element. */\n\n.heading {\n margin: 0;\n font-family: var(--panneau-heading-font-family, var(--panneau-font-family-heading));\n color: var(--panneau-heading-color, inherit);\n overflow-wrap: break-word;\n}\n\n.size-1 {\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.size-2 {\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.size-3 {\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.size-4 {\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.size-display-1 {\n font-family: var(--panneau-heading-display-font-family, var(--panneau-font-family-display));\n font-size: var(--panneau-heading-display-1-font-size, 3rem);\n font-weight: var(--panneau-heading-display-1-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-display-1-line-height, 1.1);\n letter-spacing: var(--panneau-heading-display-1-letter-spacing, -0.025em);\n}\n\n.size-display-2 {\n font-family: var(--panneau-heading-display-font-family, var(--panneau-font-family-display));\n font-size: var(--panneau-heading-display-2-font-size, 2.25rem);\n font-weight: var(--panneau-heading-display-2-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-display-2-line-height, 1.15);\n letter-spacing: var(--panneau-heading-display-2-letter-spacing, -0.02em);\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Tokens of Heading, like Bootstrap's `$headings-*` and `$display-font-sizes`. `Prose` applies
3
+ * them to the headings of rich content too.
4
+ */
5
+ export declare const headingTokens: import("..").ComponentTokens<"heading", "panneau-heading-color" | "panneau-heading-font-family" | "panneau-heading-display-font-family" | "panneau-heading-1-font-size" | "panneau-heading-1-font-weight" | "panneau-heading-1-line-height" | "panneau-heading-1-letter-spacing" | "panneau-heading-2-font-size" | "panneau-heading-2-font-weight" | "panneau-heading-2-line-height" | "panneau-heading-2-letter-spacing" | "panneau-heading-3-font-size" | "panneau-heading-3-font-weight" | "panneau-heading-3-line-height" | "panneau-heading-3-letter-spacing" | "panneau-heading-4-font-size" | "panneau-heading-4-font-weight" | "panneau-heading-4-line-height" | "panneau-heading-4-letter-spacing" | "panneau-heading-display-1-font-size" | "panneau-heading-display-1-font-weight" | "panneau-heading-display-1-line-height" | "panneau-heading-display-1-letter-spacing" | "panneau-heading-display-2-font-size" | "panneau-heading-display-2-font-weight" | "panneau-heading-display-2-line-height" | "panneau-heading-display-2-letter-spacing">;
6
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/heading/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,aAAa,ggCAuDxB,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/heading/tokens.ts
3
+ /**
4
+ * Tokens of Heading, like Bootstrap's `$headings-*` and `$display-font-sizes`. `Prose` applies
5
+ * them to the headings of rich content too.
6
+ */
7
+ var headingTokens = defineComponentTokens("heading", {
8
+ /** Font family of sizes 1 to 4. */
9
+ "font-family": "var(--panneau-font-family-heading)",
10
+ /** Font family of the display sizes. */
11
+ "display-font-family": "var(--panneau-font-family-display)",
12
+ /** Text color. */
13
+ color: "inherit",
14
+ /** Font size of the level 1. */
15
+ "1-font-size": "1.75rem",
16
+ /** Font weight of the level 1. */
17
+ "1-font-weight": "var(--panneau-font-weight-bold)",
18
+ /** Line height of the level 1. */
19
+ "1-line-height": "var(--panneau-line-height-tight)",
20
+ /** Letter spacing of the level 1. */
21
+ "1-letter-spacing": "-0.015em",
22
+ /** Font size of the level 2. */
23
+ "2-font-size": "1.375rem",
24
+ /** Font weight of the level 2. */
25
+ "2-font-weight": "var(--panneau-font-weight-bold)",
26
+ /** Line height of the level 2. */
27
+ "2-line-height": "var(--panneau-line-height-tight)",
28
+ /** Letter spacing of the level 2. */
29
+ "2-letter-spacing": "-0.01em",
30
+ /** Font size of the level 3. */
31
+ "3-font-size": "1.125rem",
32
+ /** Font weight of the level 3. */
33
+ "3-font-weight": "var(--panneau-font-weight-bold)",
34
+ /** Line height of the level 3. */
35
+ "3-line-height": "var(--panneau-line-height-tight)",
36
+ /** Letter spacing of the level 3. */
37
+ "3-letter-spacing": "normal",
38
+ /** Font size of the level 4 (and 5, 6). */
39
+ "4-font-size": "var(--panneau-font-size-lg)",
40
+ /** Font weight of the level 4 (and 5, 6). */
41
+ "4-font-weight": "var(--panneau-font-weight-bold)",
42
+ /** Line height of the level 4 (and 5, 6). */
43
+ "4-line-height": "var(--panneau-line-height-tight)",
44
+ /** Letter spacing of the level 4 (and 5, 6). */
45
+ "4-letter-spacing": "normal",
46
+ /** Font size of the display size 1. */
47
+ "display-1-font-size": "3rem",
48
+ /** Font weight of the display size 1. */
49
+ "display-1-font-weight": "var(--panneau-font-weight-bold)",
50
+ /** Line height of the display size 1. */
51
+ "display-1-line-height": "1.1",
52
+ /** Letter spacing of the display size 1. */
53
+ "display-1-letter-spacing": "-0.025em",
54
+ /** Font size of the display size 2. */
55
+ "display-2-font-size": "2.25rem",
56
+ /** Font weight of the display size 2. */
57
+ "display-2-font-weight": "var(--panneau-font-weight-bold)",
58
+ /** Line height of the display size 2. */
59
+ "display-2-line-height": "1.15",
60
+ /** Letter spacing of the display size 2. */
61
+ "display-2-letter-spacing": "-0.02em"
62
+ });
63
+ //#endregion
64
+ export { headingTokens };
65
+
66
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/heading/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/**\n * Tokens of Heading, like Bootstrap's `$headings-*` and `$display-font-sizes`. `Prose` applies\n * them to the headings of rich content too.\n */\nexport const headingTokens = defineComponentTokens('heading', {\n /** Font family of sizes 1 to 4. */\n 'font-family': 'var(--panneau-font-family-heading)',\n /** Font family of the display sizes. */\n 'display-font-family': 'var(--panneau-font-family-display)',\n /** Text color. */\n color: 'inherit',\n /** Font size of the level 1. */\n '1-font-size': '1.75rem',\n /** Font weight of the level 1. */\n '1-font-weight': 'var(--panneau-font-weight-bold)',\n /** Line height of the level 1. */\n '1-line-height': 'var(--panneau-line-height-tight)',\n /** Letter spacing of the level 1. */\n '1-letter-spacing': '-0.015em',\n /** Font size of the level 2. */\n '2-font-size': '1.375rem',\n /** Font weight of the level 2. */\n '2-font-weight': 'var(--panneau-font-weight-bold)',\n /** Line height of the level 2. */\n '2-line-height': 'var(--panneau-line-height-tight)',\n /** Letter spacing of the level 2. */\n '2-letter-spacing': '-0.01em',\n /** Font size of the level 3. */\n '3-font-size': '1.125rem',\n /** Font weight of the level 3. */\n '3-font-weight': 'var(--panneau-font-weight-bold)',\n /** Line height of the level 3. */\n '3-line-height': 'var(--panneau-line-height-tight)',\n /** Letter spacing of the level 3. */\n '3-letter-spacing': 'normal',\n /** Font size of the level 4 (and 5, 6). */\n '4-font-size': 'var(--panneau-font-size-lg)',\n /** Font weight of the level 4 (and 5, 6). */\n '4-font-weight': 'var(--panneau-font-weight-bold)',\n /** Line height of the level 4 (and 5, 6). */\n '4-line-height': 'var(--panneau-line-height-tight)',\n /** Letter spacing of the level 4 (and 5, 6). */\n '4-letter-spacing': 'normal',\n /** Font size of the display size 1. */\n 'display-1-font-size': '3rem',\n /** Font weight of the display size 1. */\n 'display-1-font-weight': 'var(--panneau-font-weight-bold)',\n /** Line height of the display size 1. */\n 'display-1-line-height': '1.1',\n /** Letter spacing of the display size 1. */\n 'display-1-letter-spacing': '-0.025em',\n /** Font size of the display size 2. */\n 'display-2-font-size': '2.25rem',\n /** Font weight of the display size 2. */\n 'display-2-font-weight': 'var(--panneau-font-weight-bold)',\n /** Line height of the display size 2. */\n 'display-2-line-height': '1.15',\n /** Letter spacing of the display size 2. */\n 'display-2-letter-spacing': '-0.02em',\n});\n"],"mappings":";;;;;;AAMA,IAAa,gBAAgB,sBAAsB,WAAW;;CAE1D,eAAe;;CAEf,uBAAuB;;CAEvB,OAAO;;CAEP,eAAe;;CAEf,iBAAiB;;CAEjB,iBAAiB;;CAEjB,oBAAoB;;CAEpB,eAAe;;CAEf,iBAAiB;;CAEjB,iBAAiB;;CAEjB,oBAAoB;;CAEpB,eAAe;;CAEf,iBAAiB;;CAEjB,iBAAiB;;CAEjB,oBAAoB;;CAEpB,eAAe;;CAEf,iBAAiB;;CAEjB,iBAAiB;;CAEjB,oBAAoB;;CAEpB,uBAAuB;;CAEvB,yBAAyB;;CAEzB,yBAAyB;;CAEzB,4BAA4B;;CAE5B,uBAAuB;;CAEvB,yBAAyB;;CAEzB,yBAAyB;;CAEzB,4BAA4B;AAChC,CAAC"}
@@ -1,4 +1,4 @@
1
- .panneau-icon-Y4DzXz {
1
+ .panneau-icon {
2
2
  display: inline-block;
3
3
  flex: 0 0 auto;
4
4
  vertical-align: middle;
package/dist/icon/Icon.js CHANGED
@@ -16,7 +16,7 @@ function Icon({ icon: Component, size = "md", label, className }) {
16
16
  size: pixels,
17
17
  strokeWidth: 2,
18
18
  absoluteStrokeWidth: pixels < 16,
19
- className: cx(Icon_module_default.icon, className),
19
+ className: cx("panneau-icon", Icon_module_default.icon, className),
20
20
  "aria-hidden": label === void 0 ? "true" : void 0,
21
21
  "aria-label": label,
22
22
  role: label !== void 0 ? "img" : void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":["styles"],"sources":["../../src/icon/Icon.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Icon.module.css';\n\n/**\n * An icon component: any Lucide icon (`import { Pencil } from 'lucide-react'`), or a component\n * with the same props.\n */\nexport type IconComponent = ComponentType<{\n size?: number | string;\n strokeWidth?: number | string;\n absoluteStrokeWidth?: boolean;\n className?: string;\n 'aria-hidden'?: boolean | 'true' | 'false';\n 'aria-label'?: string;\n role?: string;\n focusable?: boolean | 'true' | 'false';\n}>;\n\nexport type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nconst SIZES: Record<IconSize, number> = { xs: 12, sm: 14, md: 16, lg: 20, xl: 24 };\n\nexport interface IconProps {\n /** The icon: a Lucide icon component. */\n icon: IconComponent;\n /** Defaults to `md` (16px). A number is in pixels. */\n size?: IconSize | number;\n /**\n * Accessible label. Icons without a label are decorative and hidden from assistive\n * technologies, which is right next to a text that says the same.\n */\n label?: string;\n className?: string;\n}\n\n/** Renders an icon of the icon set (Lucide) at a size of the scale, decorative by default. */\nexport function Icon({ icon: Component, size = 'md', label, className }: IconProps) {\n const pixels = typeof size === 'number' ? size : SIZES[size];\n return (\n <Component\n size={pixels}\n strokeWidth={2}\n absoluteStrokeWidth={pixels < 16}\n className={cx(styles.icon, className)}\n aria-hidden={label === undefined ? 'true' : undefined}\n aria-label={label}\n role={label !== undefined ? 'img' : undefined}\n focusable=\"false\"\n />\n );\n}\n"],"mappings":";;;;AAsBA,IAAM,QAAkC;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI,IAAI;AAAG;;AAgBjF,SAAgB,KAAK,EAAE,MAAM,WAAW,OAAO,MAAM,OAAO,aAAwB;CAChF,MAAM,SAAS,OAAO,SAAS,WAAW,OAAO,MAAM;CACvD,OACI,oBAAC,WAAD;EACI,MAAM;EACN,aAAa;EACb,qBAAqB,SAAS;EAC9B,WAAW,GAAGA,oBAAO,MAAM,SAAS;EACpC,eAAa,UAAU,KAAA,IAAY,SAAS,KAAA;EAC5C,cAAY;EACZ,MAAM,UAAU,KAAA,IAAY,QAAQ,KAAA;EACpC,WAAU;CAAO,CAAA;AAG7B"}
1
+ {"version":3,"file":"Icon.js","names":["styles"],"sources":["../../src/icon/Icon.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Icon.module.css';\n\n/**\n * An icon component: any Lucide icon (`import { Pencil } from 'lucide-react'`), or a component\n * with the same props.\n */\nexport type IconComponent = ComponentType<{\n size?: number | string;\n strokeWidth?: number | string;\n absoluteStrokeWidth?: boolean;\n className?: string;\n 'aria-hidden'?: boolean | 'true' | 'false';\n 'aria-label'?: string;\n role?: string;\n focusable?: boolean | 'true' | 'false';\n}>;\n\nexport type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nconst SIZES: Record<IconSize, number> = { xs: 12, sm: 14, md: 16, lg: 20, xl: 24 };\n\nexport interface IconProps {\n /** The icon: a Lucide icon component. */\n icon: IconComponent;\n /** Defaults to `md` (16px). A number is in pixels. */\n size?: IconSize | number;\n /**\n * Accessible label. Icons without a label are decorative and hidden from assistive\n * technologies, which is right next to a text that says the same.\n */\n label?: string;\n className?: string;\n}\n\n/** Renders an icon of the icon set (Lucide) at a size of the scale, decorative by default. */\nexport function Icon({ icon: Component, size = 'md', label, className }: IconProps) {\n const pixels = typeof size === 'number' ? size : SIZES[size];\n return (\n <Component\n size={pixels}\n strokeWidth={2}\n absoluteStrokeWidth={pixels < 16}\n className={cx('panneau-icon', styles.icon, className)}\n aria-hidden={label === undefined ? 'true' : undefined}\n aria-label={label}\n role={label !== undefined ? 'img' : undefined}\n focusable=\"false\"\n />\n );\n}\n"],"mappings":";;;;AAsBA,IAAM,QAAkC;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI,IAAI;AAAG;;AAgBjF,SAAgB,KAAK,EAAE,MAAM,WAAW,OAAO,MAAM,OAAO,aAAwB;CAChF,MAAM,SAAS,OAAO,SAAS,WAAW,OAAO,MAAM;CACvD,OACI,oBAAC,WAAD;EACI,MAAM;EACN,aAAa;EACb,qBAAqB,SAAS;EAC9B,WAAW,GAAG,gBAAgBA,oBAAO,MAAM,SAAS;EACpD,eAAa,UAAU,KAAA,IAAY,SAAS,KAAA;EAC5C,cAAY;EACZ,MAAM,UAAU,KAAA,IAAY,QAAQ,KAAA;EACpC,WAAU;CAAO,CAAA;AAG7B"}
@@ -1,6 +1,6 @@
1
1
  import "./Icon.css";
2
2
  //#region src/icon/Icon.module.css
3
- var icon = "panneau-icon-Y4DzXz";
3
+ var icon = "panneau-icon";
4
4
  var Icon_module_default = { icon };
5
5
  //#endregion
6
6
  export { Icon_module_default as default, icon };