@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 @@
1
+ {"version":3,"file":"Container.js","names":["styles"],"sources":["../../src/container/Container.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Container.module.css';\n\nexport interface ContainerProps extends HTMLAttributes<HTMLElement> {\n /** Element to render. Defaults to `div`. */\n as?: 'div' | 'section' | 'main' | 'article' | 'header' | 'footer';\n /** Maximum width, from the `--panneau-container-width-*` tokens, or `full`. Defaults to `lg`. */\n size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';\n /** Removes the horizontal padding. */\n flush?: boolean;\n}\n\n/**\n * A centered column with a maximum width. It is a size container: responsive props inside it follow\n * its width. Like any size container, it needs a width from its parent: in a row, give it one.\n */\nexport function Container({\n as: Element = 'div',\n size = 'lg',\n flush = false,\n className,\n ...props\n}: ContainerProps) {\n return (\n <Element\n {...props}\n className={cx(\n 'panneau-container',\n styles.container,\n size !== 'full' && styles[size],\n flush && styles.flush,\n className,\n )}\n />\n );\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,UAAU,EACtB,IAAI,UAAU,OACd,OAAO,MACP,QAAQ,OACR,WACA,GAAG,SACY;CACf,OACI,oBAAC,SAAD;EACI,GAAI;EACJ,WAAW,GACP,qBACAA,yBAAO,WACP,SAAS,UAAUA,yBAAO,OAC1B,SAASA,yBAAO,OAChB,SACJ;CAAE,CAAA;AAGd"}
@@ -0,0 +1,20 @@
1
+ import "./Container.css";
2
+ //#region src/container/Container.module.css
3
+ var container = "panneau-container";
4
+ var sm = "panneau-container-sm";
5
+ var md = "panneau-container-md";
6
+ var lg = "panneau-container-lg";
7
+ var xl = "panneau-container-xl";
8
+ var flush = "panneau-container-flush";
9
+ var Container_module_default = {
10
+ container,
11
+ sm,
12
+ md,
13
+ lg,
14
+ xl,
15
+ flush
16
+ };
17
+ //#endregion
18
+ export { container, Container_module_default as default, flush, lg, md, sm, xl };
19
+
20
+ //# sourceMappingURL=Container.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.module.js","names":[],"sources":["../../src/container/Container.module.css"],"sourcesContent":["/*\n * A centered column with a maximum width. It is a size container: the responsive props of the\n * primitives inside it follow its width.\n */\n\n.container {\n box-sizing: border-box;\n width: 100%;\n margin-inline: auto;\n padding-inline: var(--panneau-container-padding-x, var(--panneau-space-4));\n container-type: inline-size;\n}\n\n.sm {\n max-width: var(--panneau-container-width-sm, 40rem);\n}\n\n.md {\n max-width: var(--panneau-container-width-md, 48rem);\n}\n\n.lg {\n max-width: var(--panneau-container-width-lg, 64rem);\n}\n\n.xl {\n max-width: var(--panneau-container-width-xl, 80rem);\n}\n\n.flush {\n padding-inline: 0;\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of Container. */
2
+ export declare const containerTokens: import("..").ComponentTokens<"container", "panneau-container-padding-x" | "panneau-container-width-sm" | "panneau-container-width-md" | "panneau-container-width-lg" | "panneau-container-width-xl">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/container/tokens.ts"],"names":[],"mappings":"AAEA,2BAA2B;AAC3B,eAAO,MAAM,eAAe,sMAW1B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/container/tokens.ts
3
+ /** Tokens of Container. */
4
+ var containerTokens = defineComponentTokens("container", {
5
+ /** Maximum width of the `sm` size. */
6
+ "width-sm": "40rem",
7
+ /** Maximum width of the `md` size. */
8
+ "width-md": "48rem",
9
+ /** Maximum width of the `lg` size, the default. */
10
+ "width-lg": "64rem",
11
+ /** Maximum width of the `xl` size. */
12
+ "width-xl": "80rem",
13
+ /** Horizontal padding. */
14
+ "padding-x": "var(--panneau-space-4)"
15
+ });
16
+ //#endregion
17
+ export { containerTokens };
18
+
19
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../../src/container/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of Container. */\nexport const containerTokens = defineComponentTokens('container', {\n /** Maximum width of the `sm` size. */\n 'width-sm': '40rem',\n /** Maximum width of the `md` size. */\n 'width-md': '48rem',\n /** Maximum width of the `lg` size, the default. */\n 'width-lg': '64rem',\n /** Maximum width of the `xl` size. */\n 'width-xl': '80rem',\n /** Horizontal padding. */\n 'padding-x': 'var(--panneau-space-4)',\n});\n"],"mappings":";;;AAGA,IAAa,kBAAkB,sBAAsB,aAAa;;CAE9D,YAAY;;CAEZ,YAAY;;CAEZ,YAAY;;CAEZ,YAAY;;CAEZ,aAAa;AACjB,CAAC"}
@@ -1,39 +1,39 @@
1
- .panneau-control-DKgKDX.panneau-control-DKgKDX {
1
+ .panneau-date-picker-control.panneau-date-picker-control {
2
2
  padding-inline-end: 0;
3
3
  }
4
4
 
5
- .panneau-input-wYghuH {
5
+ .panneau-date-picker-input {
6
6
  display: flex;
7
7
  flex: 1 1 auto;
8
8
  align-items: center;
9
9
  min-width: 0;
10
10
  overflow-x: auto;
11
11
  white-space: nowrap;
12
- font-variant-numeric: tabular-nums;
12
+ font-variant-numeric: var(--panneau-font-numeric);
13
13
  }
14
14
 
15
- .panneau-segment-hRUT-e {
15
+ .panneau-date-picker-segment {
16
16
  padding: 0 0.0625rem;
17
17
  border-radius: var(--panneau-radius-sm);
18
18
  outline: none;
19
19
  caret-color: transparent;
20
20
  }
21
21
 
22
- .panneau-segment-hRUT-e[data-type='literal'] {
22
+ .panneau-date-picker-segment[data-type='literal'] {
23
23
  padding: 0;
24
24
  color: var(--panneau-color-text-muted);
25
25
  }
26
26
 
27
- .panneau-segment-hRUT-e[data-placeholder] {
27
+ .panneau-date-picker-segment[data-placeholder] {
28
28
  color: var(--panneau-color-text-muted);
29
29
  }
30
30
 
31
- .panneau-segment-hRUT-e[data-focused] {
31
+ .panneau-date-picker-segment[data-focused] {
32
32
  color: var(--panneau-color-accent-text);
33
33
  background-color: var(--panneau-color-accent);
34
34
  }
35
35
 
36
- .panneau-button-SywO8u {
36
+ .panneau-date-picker-button {
37
37
  display: flex;
38
38
  align-items: center;
39
39
  justify-content: center;
@@ -47,22 +47,22 @@
47
47
  border-inline-start: var(--panneau-border-width) solid var(--panneau-color-border);
48
48
  }
49
49
 
50
- .panneau-button-SywO8u[data-hovered] {
50
+ .panneau-date-picker-button[data-hovered] {
51
51
  color: var(--panneau-color-text);
52
52
  background-color: var(--panneau-color-hover);
53
53
  }
54
54
 
55
- .panneau-button-SywO8u[data-focus-visible] {
55
+ .panneau-date-picker-button[data-focus-visible] {
56
56
  outline: var(--panneau-focus-width) solid var(--panneau-color-focus);
57
57
  outline-offset: -2px;
58
58
  }
59
59
 
60
- .panneau-calendar-F3LtsQ {
60
+ .panneau-date-picker-calendar {
61
61
  width: max-content;
62
62
  max-width: 100%;
63
63
  }
64
64
 
65
- .panneau-header-p4dCKF {
65
+ .panneau-date-picker-header {
66
66
  display: flex;
67
67
  align-items: center;
68
68
  justify-content: space-between;
@@ -70,66 +70,66 @@
70
70
  margin-bottom: var(--panneau-space-2);
71
71
  }
72
72
 
73
- .panneau-heading-V16FH- {
73
+ .panneau-date-picker-heading {
74
74
  margin: 0;
75
75
  font-size: var(--panneau-font-size-md);
76
76
  font-weight: var(--panneau-font-weight-bold);
77
77
  text-transform: capitalize;
78
78
  }
79
79
 
80
- .panneau-grid-eanFoG {
80
+ .panneau-date-picker-grid {
81
81
  border-collapse: collapse;
82
82
  }
83
83
 
84
- .panneau-weekday-DwEU9E {
84
+ .panneau-date-picker-weekday {
85
85
  padding-bottom: var(--panneau-space-1);
86
86
  font-size: var(--panneau-font-size-xs);
87
87
  font-weight: var(--panneau-font-weight-medium);
88
88
  color: var(--panneau-color-text-muted);
89
89
  }
90
90
 
91
- .panneau-cell-WCk0GL {
91
+ .panneau-date-picker-cell {
92
92
  display: flex;
93
93
  align-items: center;
94
94
  justify-content: center;
95
- width: 2.25rem;
96
- height: 2.25rem;
95
+ width: var(--panneau-calendar-cell-size, 2.25rem);
96
+ height: var(--panneau-calendar-cell-size, 2.25rem);
97
97
  font-size: var(--panneau-font-size-md);
98
- font-variant-numeric: tabular-nums;
98
+ font-variant-numeric: var(--panneau-font-numeric);
99
99
  cursor: pointer;
100
- border-radius: var(--panneau-radius-md);
100
+ border-radius: var(--panneau-calendar-cell-radius, var(--panneau-radius-md));
101
101
  outline: none;
102
102
  }
103
103
 
104
- .panneau-cell-WCk0GL[data-outside-month] {
104
+ .panneau-date-picker-cell[data-outside-month] {
105
105
  display: none;
106
106
  }
107
107
 
108
- .panneau-cell-WCk0GL[data-hovered] {
108
+ .panneau-date-picker-cell[data-hovered] {
109
109
  background-color: var(--panneau-color-hover);
110
110
  }
111
111
 
112
- .panneau-cell-WCk0GL[data-selected] {
113
- color: var(--panneau-color-accent-text);
114
- background-color: var(--panneau-color-accent);
112
+ .panneau-date-picker-cell[data-selected] {
113
+ color: var(--panneau-calendar-selected-color, var(--panneau-color-accent-text));
114
+ background-color: var(--panneau-calendar-selected-bg, var(--panneau-color-accent));
115
115
  }
116
116
 
117
- .panneau-cell-WCk0GL[data-today]:not([data-selected]) {
117
+ .panneau-date-picker-cell[data-today]:not([data-selected]) {
118
118
  font-weight: var(--panneau-font-weight-bold);
119
119
  box-shadow: inset 0 0 0 1px var(--panneau-color-border-control);
120
120
  }
121
121
 
122
- .panneau-cell-WCk0GL[data-disabled],
123
- .panneau-cell-WCk0GL[data-unavailable] {
122
+ .panneau-date-picker-cell[data-disabled],
123
+ .panneau-date-picker-cell[data-unavailable] {
124
124
  cursor: not-allowed;
125
125
  opacity: 0.4;
126
126
  }
127
127
 
128
- .panneau-cell-WCk0GL[data-focus-visible] {
128
+ .panneau-date-picker-cell[data-focus-visible] {
129
129
  outline: var(--panneau-focus-width) solid var(--panneau-color-focus);
130
130
  outline-offset: 1px;
131
131
  }
132
132
 
133
- .panneau-time-3Ejhhf {
133
+ .panneau-date-picker-time {
134
134
  margin-top: var(--panneau-space-3);
135
135
  }
@@ -21,7 +21,7 @@ function DatePicker$1({ label, description, errors = [], isRequired, isReadOnly,
21
21
  isReadOnly,
22
22
  isInvalid: invalid,
23
23
  validationBehavior: "aria",
24
- className: cx(Field_module_default.field, className),
24
+ className: cx("panneau-date-picker", Field_module_default.field, className),
25
25
  children: [
26
26
  /* @__PURE__ */ jsx(FieldLabel, {
27
27
  isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["DatePicker","AriaDatePicker","fieldStyles","styles","popoverStyles"],"sources":["../../src/date-picker/DatePicker.tsx"],"sourcesContent":["import { CalendarDays, ChevronLeft, ChevronRight } from 'lucide-react';\nimport {\n DatePicker as AriaDatePicker,\n type DatePickerProps as AriaDatePickerProps,\n Button,\n Calendar,\n CalendarCell,\n CalendarGrid,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCell,\n DateInput,\n DateSegment,\n type DateValue,\n Dialog,\n Group,\n Heading,\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 { PopoverSurface } from '../popover/Popover';\nimport popoverStyles from '../popover/Popover.module.css';\nimport { cx } from '../utils/cx';\nimport styles from './DatePicker.module.css';\n\nexport interface DatePickerProps\n extends\n Omit<\n AriaDatePickerProps<DateValue>,\n 'className' | 'style' | 'children' | 'isInvalid' | 'validate'\n >,\n FieldChromeProps {\n controlClassName?: string;\n popoverClassName?: string;\n}\n\n/**\n * A date, or a date and time with `granularity=\"minute\"`, typed segment by segment in the order of\n * the locale, or picked in a calendar. Values are `@internationalized/date` objects.\n */\nexport function DatePicker({\n label,\n description,\n errors = [],\n isRequired,\n isReadOnly,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n controlClassName,\n popoverClassName,\n ...props\n}: DatePickerProps) {\n const invalid = errors.length > 0;\n return (\n <AriaDatePicker\n {...props}\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-readonly={isReadOnly || undefined}\n >\n <DateInput className={styles.input}>\n {(segment) => <DateSegment segment={segment} className={styles.segment} />}\n </DateInput>\n {isReadOnly !== true ? (\n <Button className={styles.button}>\n <Icon icon={CalendarDays} />\n </Button>\n ) : null}\n </Group>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n <PopoverSurface className={popoverClassName}>\n <Dialog className={popoverStyles.dialog}>\n <Calendar className={styles.calendar}>\n <header className={styles.header}>\n <Button slot=\"previous\" className={styles.button}>\n <Icon icon={ChevronLeft} />\n </Button>\n <Heading className={styles.heading} />\n <Button slot=\"next\" className={styles.button}>\n <Icon icon={ChevronRight} />\n </Button>\n </header>\n <CalendarGrid className={styles.grid}>\n <CalendarGridHeader>\n {(day) => (\n <CalendarHeaderCell className={styles.weekday}>\n {day}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => <CalendarCell date={date} className={styles.cell} />}\n </CalendarGridBody>\n </CalendarGrid>\n </Calendar>\n </Dialog>\n </PopoverSurface>\n </AriaDatePicker>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,SAAgBA,aAAW,EACvB,OACA,aACA,SAAS,CAAA,GACT,YACA,YACA,WACA,gBACA,sBACA,iBACA,kBACA,kBACA,GAAG,SACa;CAChB,MAAM,UAAU,OAAO,SAAS;CAChC,OACI,qBAACC,YAAD;EACI,GAAI;EACQ;EACA;EACZ,WAAW;EACX,oBAAmB;EACnB,WAAW,GAAGC,qBAAY,OAAO,SAAS;EAN9C,UAAA;GAQI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,qBAAC,OAAD;IACI,WAAW,GAAGA,qBAAY,SAASC,0BAAO,SAAS,gBAAgB;IACnE,iBAAe,cAAc,KAAA;IAFjC,UAAA,CAII,oBAAC,WAAD;KAAW,WAAWA,0BAAO;KACvB,WAAA,YAAY,oBAAC,aAAD;MAAsB;MAAS,WAAWA,0BAAO;KAAQ,CAAA;IAChE,CAAA,GACV,eAAe,OACZ,oBAAC,QAAD;KAAQ,WAAWA,0BAAO;KACtB,UAAA,oBAAC,MAAD,EAAM,MAAM,aAAa,CAAA;IACrB,CAAA,IACR,IACD;;GACP,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;GACxD,oBAAC,gBAAD;IAAgB,WAAW;IACvB,UAAA,oBAAC,QAAD;KAAQ,WAAWC,uBAAc;KAC7B,UAAA,qBAAC,UAAD;MAAU,WAAWD,0BAAO;MAA5B,UAAA,CACI,qBAAC,UAAD;OAAQ,WAAWA,0BAAO;OAA1B,UAAA;QACI,oBAAC,QAAD;SAAQ,MAAK;SAAW,WAAWA,0BAAO;SACtC,UAAA,oBAAC,MAAD,EAAM,MAAM,YAAY,CAAA;QACpB,CAAA;QACR,oBAAC,SAAD,EAAS,WAAWA,0BAAO,QAAQ,CAAA;QACnC,oBAAC,QAAD;SAAQ,MAAK;SAAO,WAAWA,0BAAO;SAClC,UAAA,oBAAC,MAAD,EAAM,MAAM,aAAa,CAAA;QACrB,CAAA;OACJ;MACR,CAAA,GAAA,qBAAC,cAAD;OAAc,WAAWA,0BAAO;OAAhC,UAAA,CACI,oBAAC,oBAAD,EAAA,WACM,QACE,oBAAC,oBAAD;QAAoB,WAAWA,0BAAO;QACjC,UAAA;OACe,CAAA,EAER,CAAA,GACpB,oBAAC,kBAAD,EAAA,WACM,SAAS,oBAAC,cAAD;QAAoB;QAAM,WAAWA,0BAAO;OAAK,CAAA,EAC9C,CAAA,CACR;MACR,CAAA,CAAA;;IACN,CAAA;GACI,CAAA;EACJ;;AAExB"}
1
+ {"version":3,"file":"DatePicker.js","names":["DatePicker","AriaDatePicker","fieldStyles","styles","popoverStyles"],"sources":["../../src/date-picker/DatePicker.tsx"],"sourcesContent":["import { CalendarDays, ChevronLeft, ChevronRight } from 'lucide-react';\nimport {\n DatePicker as AriaDatePicker,\n type DatePickerProps as AriaDatePickerProps,\n Button,\n Calendar,\n CalendarCell,\n CalendarGrid,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCell,\n DateInput,\n DateSegment,\n type DateValue,\n Dialog,\n Group,\n Heading,\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 { PopoverSurface } from '../popover/Popover';\nimport popoverStyles from '../popover/Popover.module.css';\nimport { cx } from '../utils/cx';\nimport styles from './DatePicker.module.css';\n\nexport interface DatePickerProps\n extends\n Omit<\n AriaDatePickerProps<DateValue>,\n 'className' | 'style' | 'children' | 'isInvalid' | 'validate'\n >,\n FieldChromeProps {\n controlClassName?: string;\n popoverClassName?: string;\n}\n\n/**\n * A date, or a date and time with `granularity=\"minute\"`, typed segment by segment in the order of\n * the locale, or picked in a calendar. Values are `@internationalized/date` objects.\n */\nexport function DatePicker({\n label,\n description,\n errors = [],\n isRequired,\n isReadOnly,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n controlClassName,\n popoverClassName,\n ...props\n}: DatePickerProps) {\n const invalid = errors.length > 0;\n return (\n <AriaDatePicker\n {...props}\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n isInvalid={invalid}\n validationBehavior=\"aria\"\n className={cx('panneau-date-picker', 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-readonly={isReadOnly || undefined}\n >\n <DateInput className={styles.input}>\n {(segment) => <DateSegment segment={segment} className={styles.segment} />}\n </DateInput>\n {isReadOnly !== true ? (\n <Button className={styles.button}>\n <Icon icon={CalendarDays} />\n </Button>\n ) : null}\n </Group>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n <PopoverSurface className={popoverClassName}>\n <Dialog className={popoverStyles.dialog}>\n <Calendar className={styles.calendar}>\n <header className={styles.header}>\n <Button slot=\"previous\" className={styles.button}>\n <Icon icon={ChevronLeft} />\n </Button>\n <Heading className={styles.heading} />\n <Button slot=\"next\" className={styles.button}>\n <Icon icon={ChevronRight} />\n </Button>\n </header>\n <CalendarGrid className={styles.grid}>\n <CalendarGridHeader>\n {(day) => (\n <CalendarHeaderCell className={styles.weekday}>\n {day}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => <CalendarCell date={date} className={styles.cell} />}\n </CalendarGridBody>\n </CalendarGrid>\n </Calendar>\n </Dialog>\n </PopoverSurface>\n </AriaDatePicker>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,SAAgBA,aAAW,EACvB,OACA,aACA,SAAS,CAAA,GACT,YACA,YACA,WACA,gBACA,sBACA,iBACA,kBACA,kBACA,GAAG,SACa;CAChB,MAAM,UAAU,OAAO,SAAS;CAChC,OACI,qBAACC,YAAD;EACI,GAAI;EACQ;EACA;EACZ,WAAW;EACX,oBAAmB;EACnB,WAAW,GAAG,uBAAuBC,qBAAY,OAAO,SAAS;EANrE,UAAA;GAQI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,qBAAC,OAAD;IACI,WAAW,GAAGA,qBAAY,SAASC,0BAAO,SAAS,gBAAgB;IACnE,iBAAe,cAAc,KAAA;IAFjC,UAAA,CAII,oBAAC,WAAD;KAAW,WAAWA,0BAAO;KACvB,WAAA,YAAY,oBAAC,aAAD;MAAsB;MAAS,WAAWA,0BAAO;KAAQ,CAAA;IAChE,CAAA,GACV,eAAe,OACZ,oBAAC,QAAD;KAAQ,WAAWA,0BAAO;KACtB,UAAA,oBAAC,MAAD,EAAM,MAAM,aAAa,CAAA;IACrB,CAAA,IACR,IACD;;GACP,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;GACxD,oBAAC,gBAAD;IAAgB,WAAW;IACvB,UAAA,oBAAC,QAAD;KAAQ,WAAWC,uBAAc;KAC7B,UAAA,qBAAC,UAAD;MAAU,WAAWD,0BAAO;MAA5B,UAAA,CACI,qBAAC,UAAD;OAAQ,WAAWA,0BAAO;OAA1B,UAAA;QACI,oBAAC,QAAD;SAAQ,MAAK;SAAW,WAAWA,0BAAO;SACtC,UAAA,oBAAC,MAAD,EAAM,MAAM,YAAY,CAAA;QACpB,CAAA;QACR,oBAAC,SAAD,EAAS,WAAWA,0BAAO,QAAQ,CAAA;QACnC,oBAAC,QAAD;SAAQ,MAAK;SAAO,WAAWA,0BAAO;SAClC,UAAA,oBAAC,MAAD,EAAM,MAAM,aAAa,CAAA;QACrB,CAAA;OACJ;MACR,CAAA,GAAA,qBAAC,cAAD;OAAc,WAAWA,0BAAO;OAAhC,UAAA,CACI,oBAAC,oBAAD,EAAA,WACM,QACE,oBAAC,oBAAD;QAAoB,WAAWA,0BAAO;QACjC,UAAA;OACe,CAAA,EAER,CAAA,GACpB,oBAAC,kBAAD,EAAA,WACM,SAAS,oBAAC,cAAD;QAAoB;QAAM,WAAWA,0BAAO;OAAK,CAAA,EAC9C,CAAA,CACR;MACR,CAAA,CAAA;;IACN,CAAA;GACI,CAAA;EACJ;;AAExB"}
@@ -1,16 +1,16 @@
1
1
  import "./DatePicker.css";
2
2
  //#region src/date-picker/DatePicker.module.css
3
- var control = "panneau-control-DKgKDX";
4
- var input = "panneau-input-wYghuH";
5
- var segment = "panneau-segment-hRUT-e";
6
- var button = "panneau-button-SywO8u";
7
- var calendar = "panneau-calendar-F3LtsQ";
8
- var header = "panneau-header-p4dCKF";
9
- var heading = "panneau-heading-V16FH-";
10
- var grid = "panneau-grid-eanFoG";
11
- var weekday = "panneau-weekday-DwEU9E";
12
- var cell = "panneau-cell-WCk0GL";
13
- var time = "panneau-time-3Ejhhf";
3
+ var control = "panneau-date-picker-control";
4
+ var input = "panneau-date-picker-input";
5
+ var segment = "panneau-date-picker-segment";
6
+ var button = "panneau-date-picker-button";
7
+ var calendar = "panneau-date-picker-calendar";
8
+ var header = "panneau-date-picker-header";
9
+ var heading = "panneau-date-picker-heading";
10
+ var grid = "panneau-date-picker-grid";
11
+ var weekday = "panneau-date-picker-weekday";
12
+ var cell = "panneau-date-picker-cell";
13
+ var time = "panneau-date-picker-time";
14
14
  var DatePicker_module_default = {
15
15
  control,
16
16
  input,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.module.js","names":[],"sources":["../../src/date-picker/DatePicker.module.css"],"sourcesContent":[".control.control {\n padding-inline-end: 0;\n}\n\n.input {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n overflow-x: auto;\n white-space: nowrap;\n font-variant-numeric: tabular-nums;\n}\n\n.segment {\n padding: 0 0.0625rem;\n border-radius: var(--panneau-radius-sm);\n outline: none;\n caret-color: transparent;\n}\n\n.segment[data-type='literal'] {\n padding: 0;\n color: var(--panneau-color-text-muted);\n}\n\n.segment[data-placeholder] {\n color: var(--panneau-color-text-muted);\n}\n\n.segment[data-focused] {\n color: var(--panneau-color-accent-text);\n background-color: var(--panneau-color-accent);\n}\n\n.button {\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n width: 2.25rem;\n padding: 0;\n color: var(--panneau-color-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-inline-start: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n.button[data-hovered] {\n color: var(--panneau-color-text);\n background-color: var(--panneau-color-hover);\n}\n\n.button[data-focus-visible] {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: -2px;\n}\n\n.calendar {\n width: max-content;\n max-width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--panneau-space-2);\n margin-bottom: var(--panneau-space-2);\n}\n\n.heading {\n margin: 0;\n font-size: var(--panneau-font-size-md);\n font-weight: var(--panneau-font-weight-bold);\n text-transform: capitalize;\n}\n\n.grid {\n border-collapse: collapse;\n}\n\n.weekday {\n padding-bottom: var(--panneau-space-1);\n font-size: var(--panneau-font-size-xs);\n font-weight: var(--panneau-font-weight-medium);\n color: var(--panneau-color-text-muted);\n}\n\n.cell {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2.25rem;\n height: 2.25rem;\n font-size: var(--panneau-font-size-md);\n font-variant-numeric: tabular-nums;\n cursor: pointer;\n border-radius: var(--panneau-radius-md);\n outline: none;\n}\n\n.cell[data-outside-month] {\n display: none;\n}\n\n.cell[data-hovered] {\n background-color: var(--panneau-color-hover);\n}\n\n.cell[data-selected] {\n color: var(--panneau-color-accent-text);\n background-color: var(--panneau-color-accent);\n}\n\n.cell[data-today]:not([data-selected]) {\n font-weight: var(--panneau-font-weight-bold);\n box-shadow: inset 0 0 0 1px var(--panneau-color-border-control);\n}\n\n.cell[data-disabled],\n.cell[data-unavailable] {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.cell[data-focus-visible] {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 1px;\n}\n\n.time {\n margin-top: var(--panneau-space-3);\n}\n"],"mappings":""}
1
+ {"version":3,"file":"DatePicker.module.js","names":[],"sources":["../../src/date-picker/DatePicker.module.css"],"sourcesContent":[".control.control {\n padding-inline-end: 0;\n}\n\n.input {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n overflow-x: auto;\n white-space: nowrap;\n font-variant-numeric: var(--panneau-font-numeric);\n}\n\n.segment {\n padding: 0 0.0625rem;\n border-radius: var(--panneau-radius-sm);\n outline: none;\n caret-color: transparent;\n}\n\n.segment[data-type='literal'] {\n padding: 0;\n color: var(--panneau-color-text-muted);\n}\n\n.segment[data-placeholder] {\n color: var(--panneau-color-text-muted);\n}\n\n.segment[data-focused] {\n color: var(--panneau-color-accent-text);\n background-color: var(--panneau-color-accent);\n}\n\n.button {\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n width: 2.25rem;\n padding: 0;\n color: var(--panneau-color-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-inline-start: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n.button[data-hovered] {\n color: var(--panneau-color-text);\n background-color: var(--panneau-color-hover);\n}\n\n.button[data-focus-visible] {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: -2px;\n}\n\n.calendar {\n width: max-content;\n max-width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--panneau-space-2);\n margin-bottom: var(--panneau-space-2);\n}\n\n.heading {\n margin: 0;\n font-size: var(--panneau-font-size-md);\n font-weight: var(--panneau-font-weight-bold);\n text-transform: capitalize;\n}\n\n.grid {\n border-collapse: collapse;\n}\n\n.weekday {\n padding-bottom: var(--panneau-space-1);\n font-size: var(--panneau-font-size-xs);\n font-weight: var(--panneau-font-weight-medium);\n color: var(--panneau-color-text-muted);\n}\n\n.cell {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--panneau-calendar-cell-size, 2.25rem);\n height: var(--panneau-calendar-cell-size, 2.25rem);\n font-size: var(--panneau-font-size-md);\n font-variant-numeric: var(--panneau-font-numeric);\n cursor: pointer;\n border-radius: var(--panneau-calendar-cell-radius, var(--panneau-radius-md));\n outline: none;\n}\n\n.cell[data-outside-month] {\n display: none;\n}\n\n.cell[data-hovered] {\n background-color: var(--panneau-color-hover);\n}\n\n.cell[data-selected] {\n color: var(--panneau-calendar-selected-color, var(--panneau-color-accent-text));\n background-color: var(--panneau-calendar-selected-bg, var(--panneau-color-accent));\n}\n\n.cell[data-today]:not([data-selected]) {\n font-weight: var(--panneau-font-weight-bold);\n box-shadow: inset 0 0 0 1px var(--panneau-color-border-control);\n}\n\n.cell[data-disabled],\n.cell[data-unavailable] {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.cell[data-focus-visible] {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 1px;\n}\n\n.time {\n margin-top: var(--panneau-space-3);\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of the calendar of `DatePicker`. */
2
+ export declare const calendarTokens: import("..").ComponentTokens<"calendar", "panneau-calendar-cell-size" | "panneau-calendar-cell-radius" | "panneau-calendar-selected-color" | "panneau-calendar-selected-bg">;
3
+ //# sourceMappingURL=calendarTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarTokens.d.ts","sourceRoot":"","sources":["../../src/date-picker/calendarTokens.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,eAAO,MAAM,cAAc,8KASzB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/date-picker/calendarTokens.ts
3
+ /** Tokens of the calendar of `DatePicker`. */
4
+ var calendarTokens = defineComponentTokens("calendar", {
5
+ /** Size of a day. */
6
+ "cell-size": "2.25rem",
7
+ /** Corner radius of a day. */
8
+ "cell-radius": "var(--panneau-radius-md)",
9
+ /** Text color of the selected day. */
10
+ "selected-color": "var(--panneau-color-accent-text)",
11
+ /** Background of the selected day. */
12
+ "selected-bg": "var(--panneau-color-accent)"
13
+ });
14
+ //#endregion
15
+ export { calendarTokens };
16
+
17
+ //# sourceMappingURL=calendarTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarTokens.js","names":[],"sources":["../../src/date-picker/calendarTokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of the calendar of `DatePicker`. */\nexport const calendarTokens = defineComponentTokens('calendar', {\n /** Size of a day. */\n 'cell-size': '2.25rem',\n /** Corner radius of a day. */\n 'cell-radius': 'var(--panneau-radius-md)',\n /** Text color of the selected day. */\n 'selected-color': 'var(--panneau-color-accent-text)',\n /** Background of the selected day. */\n 'selected-bg': 'var(--panneau-color-accent)',\n});\n"],"mappings":";;;AAGA,IAAa,iBAAiB,sBAAsB,YAAY;;CAE5D,aAAa;;CAEb,eAAe;;CAEf,kBAAkB;;CAElB,eAAe;AACnB,CAAC"}
@@ -1,4 +1,4 @@
1
- .panneau-overlay-nLaR62 {
1
+ .panneau-dialog-overlay {
2
2
  position: fixed;
3
3
  inset: 0;
4
4
  z-index: var(--panneau-z-overlay);
@@ -7,118 +7,122 @@
7
7
  justify-content: center;
8
8
  min-height: 100dvh;
9
9
  padding: var(--panneau-space-4);
10
- background-color: var(--panneau-color-backdrop);
10
+ background-color: var(--panneau-dialog-backdrop, var(--panneau-color-backdrop));
11
11
  }
12
12
 
13
- .panneau-overlay-nLaR62[data-entering] {
14
- animation: panneau-fade-wJ4pz5 var(--panneau-duration) ease-out;
13
+ .panneau-dialog-overlay[data-entering] {
14
+ animation: panneau-dialog-fade var(--panneau-duration) ease-out;
15
15
  }
16
16
 
17
- .panneau-overlay-nLaR62[data-exiting] {
18
- animation: panneau-fade-wJ4pz5 var(--panneau-duration) ease-in reverse;
17
+ .panneau-dialog-overlay[data-exiting] {
18
+ animation: panneau-dialog-fade var(--panneau-duration) ease-in reverse;
19
19
  }
20
20
 
21
- .panneau-modal-Ucsou3 {
21
+ .panneau-dialog-modal {
22
22
  display: flex;
23
23
  width: 100%;
24
- max-width: 32rem;
24
+ max-width: var(--panneau-dialog-width, 32rem);
25
25
  max-height: calc(100dvh - 2 * var(--panneau-space-4));
26
26
  outline: none;
27
27
  }
28
28
 
29
- .panneau-sm-pQA1LI {
30
- max-width: 24rem;
29
+ .panneau-dialog-sm {
30
+ max-width: var(--panneau-dialog-width-sm, 24rem);
31
31
  }
32
32
 
33
- .panneau-lg-YG9jfw {
34
- max-width: 48rem;
33
+ .panneau-dialog-lg {
34
+ max-width: var(--panneau-dialog-width-lg, 48rem);
35
35
  }
36
36
 
37
- .panneau-modal-Ucsou3[data-entering] {
38
- animation: panneau-rise-13o1zo var(--panneau-duration) ease-out;
37
+ .panneau-dialog-modal[data-entering] {
38
+ animation: panneau-dialog-rise var(--panneau-duration) ease-out;
39
39
  }
40
40
 
41
- .panneau-dialog-Q-k-Yw {
41
+ .panneau-dialog {
42
42
  display: flex;
43
43
  flex-direction: column;
44
44
  width: 100%;
45
45
  max-height: inherit;
46
46
  color: var(--panneau-color-text);
47
- background-color: var(--panneau-color-surface-raised);
48
- border-radius: var(--panneau-radius-lg);
49
- box-shadow: var(--panneau-shadow-lg);
47
+ background-color: var(--panneau-dialog-bg, var(--panneau-color-surface-raised));
48
+ border-radius: var(--panneau-dialog-radius, var(--panneau-radius-lg));
49
+ box-shadow: var(--panneau-dialog-shadow, var(--panneau-shadow-lg));
50
50
  outline: none;
51
51
  }
52
52
 
53
- .panneau-header-rSdjF8 {
53
+ .panneau-dialog-header {
54
54
  display: flex;
55
55
  align-items: flex-start;
56
56
  gap: var(--panneau-space-3);
57
- padding: var(--panneau-space-4) var(--panneau-space-4) 0 var(--panneau-space-5);
57
+ padding: var(--panneau-space-4) var(--panneau-space-4) 0
58
+ var(--panneau-dialog-padding-x, var(--panneau-space-5));
58
59
  }
59
60
 
60
- .panneau-title-JCRwmh {
61
+ .panneau-dialog-title {
61
62
  flex: 1 1 auto;
62
63
  min-width: 0;
63
64
  padding-top: var(--panneau-space-1);
64
- font-size: var(--panneau-font-size-lg);
65
- font-weight: var(--panneau-font-weight-bold);
65
+ font-size: var(--panneau-dialog-title-font-size, var(--panneau-font-size-lg));
66
+ font-weight: var(--panneau-dialog-title-font-weight, var(--panneau-font-weight-bold));
66
67
  line-height: var(--panneau-line-height-tight);
67
68
  overflow-wrap: anywhere;
69
+ margin: 0;
68
70
  }
69
71
 
70
- .panneau-body-HZoCzz {
72
+ .panneau-dialog-body {
71
73
  flex: 1 1 auto;
72
74
  min-height: 0;
73
- padding: var(--panneau-space-3) var(--panneau-space-5) var(--panneau-space-4);
75
+ padding: var(--panneau-space-3) var(--panneau-dialog-padding-x, var(--panneau-space-5))
76
+ var(--panneau-space-4);
74
77
  overflow-y: auto;
75
78
  }
76
79
 
77
- .panneau-footer-zpq7M7 {
80
+ .panneau-dialog-footer {
78
81
  display: flex;
79
82
  flex-wrap: wrap;
80
83
  justify-content: flex-end;
81
84
  gap: var(--panneau-space-2);
82
- padding: var(--panneau-space-3) var(--panneau-space-5) var(--panneau-space-4);
85
+ padding: var(--panneau-space-3) var(--panneau-dialog-padding-x, var(--panneau-space-5))
86
+ var(--panneau-space-4);
83
87
  border-top: var(--panneau-border-width) solid var(--panneau-color-border);
84
88
  }
85
89
 
86
90
  /* Phones: the dialog is a sheet at the bottom, with full-width buttons. */
87
91
  @media (max-width: 30rem) {
88
- .panneau-overlay-nLaR62 {
92
+ .panneau-dialog-overlay {
89
93
  align-items: flex-end;
90
94
  padding: 0;
91
95
  }
92
96
 
93
- .panneau-modal-Ucsou3,
94
- .panneau-sm-pQA1LI,
95
- .panneau-lg-YG9jfw {
97
+ .panneau-dialog-modal,
98
+ .panneau-dialog-sm,
99
+ .panneau-dialog-lg {
96
100
  max-width: none;
97
101
  max-height: calc(100dvh - var(--panneau-space-8));
98
102
  }
99
103
 
100
- .panneau-dialog-Q-k-Yw {
104
+ .panneau-dialog {
101
105
  border-end-start-radius: 0;
102
106
  border-end-end-radius: 0;
103
107
  padding-bottom: env(safe-area-inset-bottom);
104
108
  }
105
109
 
106
- .panneau-footer-zpq7M7 {
110
+ .panneau-dialog-footer {
107
111
  flex-direction: column-reverse;
108
112
  }
109
113
 
110
- .panneau-footer-zpq7M7 > * {
114
+ .panneau-dialog-footer > * {
111
115
  width: 100%;
112
116
  }
113
117
  }
114
118
 
115
- @keyframes panneau-fade-wJ4pz5 {
119
+ @keyframes panneau-dialog-fade {
116
120
  from {
117
121
  opacity: 0;
118
122
  }
119
123
  }
120
124
 
121
- @keyframes panneau-rise-13o1zo {
125
+ @keyframes panneau-dialog-rise {
122
126
  from {
123
127
  opacity: 0;
124
128
  transform: translateY(0.5rem);
@@ -26,7 +26,7 @@ function Dialog$1({ title, children, footer, isDismissable = true, role = "dialo
26
26
  className: cx(Dialog_module_default.modal, Dialog_module_default[size]),
27
27
  children: /* @__PURE__ */ jsx(Dialog, {
28
28
  role,
29
- className: cx(Dialog_module_default.dialog, className),
29
+ className: cx("panneau-dialog", Dialog_module_default.dialog, className),
30
30
  children: ({ close }) => /* @__PURE__ */ jsxs(Fragment, { children: [
31
31
  /* @__PURE__ */ jsxs("div", {
32
32
  className: cx(Dialog_module_default.header, headerClassName),
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","names":["Dialog","styles","AriaDialog","_Fragment"],"sources":["../../src/dialog/Dialog.tsx"],"sourcesContent":["import { X } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport {\n Dialog as AriaDialog,\n Heading,\n Modal,\n ModalOverlay,\n type ModalOverlayProps,\n} from 'react-aria-components';\n\nimport { IconButton } from '../icon-button/IconButton';\nimport { messages } from '../intl/messages';\nimport { usePanneauIntl } from '../intl/usePanneauIntl';\nimport { usePortalContainer } from '../root/PanneauRoot';\nimport { cx } from '../utils/cx';\nimport styles from './Dialog.module.css';\n\nexport interface DialogProps extends Pick<\n ModalOverlayProps,\n 'isOpen' | 'defaultOpen' | 'onOpenChange' | 'isKeyboardDismissDisabled'\n> {\n /** Heading of the dialog, which also labels it. */\n title: ReactNode;\n /** Content, or a function that gets `close()`. */\n children?: ReactNode | ((close: () => void) => ReactNode);\n /** Buttons at the bottom, or a function that gets `close()`. */\n footer?: ReactNode | ((close: () => void) => ReactNode);\n /**\n * Closes on a click outside and shows a close button. Defaults to true. Turn it off for dialogs\n * that need an answer.\n */\n isDismissable?: boolean;\n /** `alertdialog` for confirmations and interruptions. Defaults to `dialog`. */\n role?: 'dialog' | 'alertdialog';\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n overlayClassName?: string;\n headerClassName?: string;\n bodyClassName?: string;\n footerClassName?: string;\n}\n\n/**\n * A modal dialog. Controlled with `isOpen` and `onOpenChange`, or inside a `DialogTrigger` with\n * its button as the first child. It traps focus, closes with Escape, and returns focus when it\n * closes. On phones, it opens as a sheet at the bottom of the screen.\n */\nexport function Dialog({\n title,\n children,\n footer,\n isDismissable = true,\n role = 'dialog',\n size = 'md',\n className,\n overlayClassName,\n headerClassName,\n bodyClassName,\n footerClassName,\n ...props\n}: DialogProps) {\n const intl = usePanneauIntl();\n const container = usePortalContainer();\n if (container === null) {\n return null;\n }\n return (\n <ModalOverlay\n {...props}\n isDismissable={isDismissable}\n className={cx(styles.overlay, overlayClassName)}\n UNSTABLE_portalContainer={container}\n >\n <Modal className={cx(styles.modal, styles[size])}>\n <AriaDialog role={role} className={cx(styles.dialog, className)}>\n {({ close }) => (\n <>\n <div className={cx(styles.header, headerClassName)}>\n <Heading slot=\"title\" className={styles.title}>\n {title}\n </Heading>\n {isDismissable ? (\n <IconButton\n icon={X}\n size=\"sm\"\n label={intl.formatMessage(messages.close)}\n showTooltip={false}\n onPress={close}\n />\n ) : null}\n </div>\n <div className={cx(styles.body, bodyClassName)}>\n {typeof children === 'function' ? children(close) : children}\n </div>\n {footer !== undefined && footer !== null ? (\n <div className={cx(styles.footer, footerClassName)}>\n {typeof footer === 'function' ? footer(close) : footer}\n </div>\n ) : null}\n </>\n )}\n </AriaDialog>\n </Modal>\n </ModalOverlay>\n );\n}\n\nexport { DialogTrigger } from 'react-aria-components';\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,SAAgBA,SAAO,EACnB,OACA,UACA,QACA,gBAAgB,MAChB,OAAO,UACP,OAAO,MACP,WACA,kBACA,iBACA,eACA,iBACA,GAAG,SACS;CACZ,MAAM,OAAO,eAAe;CAC5B,MAAM,YAAY,mBAAmB;CACrC,IAAI,cAAc,MACd,OAAO;CAEX,OACI,oBAAC,cAAD;EACI,GAAI;EACW;EACf,WAAW,GAAGC,sBAAO,SAAS,gBAAgB;EAC9C,0BAA0B;EAE1B,UAAA,oBAAC,OAAD;GAAO,WAAW,GAAGA,sBAAO,OAAOA,sBAAO,KAAK;GAC3C,UAAA,oBAACC,QAAD;IAAkB;IAAM,WAAW,GAAGD,sBAAO,QAAQ,SAAS;IACxD,WAAA,EAAE,YACA,qBAAAE,UAAA,EAAA,UAAA;KACI,qBAAC,OAAD;MAAK,WAAW,GAAGF,sBAAO,QAAQ,eAAe;MAAjD,UAAA,CACI,oBAAC,SAAD;OAAS,MAAK;OAAQ,WAAWA,sBAAO;OACnC,UAAA;MACI,CAAA,GACR,gBACG,oBAAC,YAAD;OACI,MAAM;OACN,MAAK;OACL,OAAO,KAAK,cAAc,SAAS,KAAK;OACxC,aAAa;OACb,SAAS;MAAM,CAAA,IAEnB,IACH;;KACL,oBAAC,OAAD;MAAK,WAAW,GAAGA,sBAAO,MAAM,aAAa;MACxC,UAAA,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;KACnD,CAAA;KACJ,WAAW,KAAA,KAAa,WAAW,OAChC,oBAAC,OAAD;MAAK,WAAW,GAAGA,sBAAO,QAAQ,eAAe;MAC5C,UAAA,OAAO,WAAW,aAAa,OAAO,KAAK,IAAI;KAC/C,CAAA,IACL;IACR,EAAA,CAAA;GAEI,CAAA;EACT,CAAA;CACG,CAAA;AAEtB"}
1
+ {"version":3,"file":"Dialog.js","names":["Dialog","styles","AriaDialog","_Fragment"],"sources":["../../src/dialog/Dialog.tsx"],"sourcesContent":["import { X } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport {\n Dialog as AriaDialog,\n Heading,\n Modal,\n ModalOverlay,\n type ModalOverlayProps,\n} from 'react-aria-components';\n\nimport { IconButton } from '../icon-button/IconButton';\nimport { messages } from '../intl/messages';\nimport { usePanneauIntl } from '../intl/usePanneauIntl';\nimport { usePortalContainer } from '../root/PanneauRoot';\nimport { cx } from '../utils/cx';\nimport styles from './Dialog.module.css';\n\nexport interface DialogProps extends Pick<\n ModalOverlayProps,\n 'isOpen' | 'defaultOpen' | 'onOpenChange' | 'isKeyboardDismissDisabled'\n> {\n /** Heading of the dialog, which also labels it. */\n title: ReactNode;\n /** Content, or a function that gets `close()`. */\n children?: ReactNode | ((close: () => void) => ReactNode);\n /** Buttons at the bottom, or a function that gets `close()`. */\n footer?: ReactNode | ((close: () => void) => ReactNode);\n /**\n * Closes on a click outside and shows a close button. Defaults to true. Turn it off for dialogs\n * that need an answer.\n */\n isDismissable?: boolean;\n /** `alertdialog` for confirmations and interruptions. Defaults to `dialog`. */\n role?: 'dialog' | 'alertdialog';\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n overlayClassName?: string;\n headerClassName?: string;\n bodyClassName?: string;\n footerClassName?: string;\n}\n\n/**\n * A modal dialog. Controlled with `isOpen` and `onOpenChange`, or inside a `DialogTrigger` with\n * its button as the first child. It traps focus, closes with Escape, and returns focus when it\n * closes. On phones, it opens as a sheet at the bottom of the screen.\n */\nexport function Dialog({\n title,\n children,\n footer,\n isDismissable = true,\n role = 'dialog',\n size = 'md',\n className,\n overlayClassName,\n headerClassName,\n bodyClassName,\n footerClassName,\n ...props\n}: DialogProps) {\n const intl = usePanneauIntl();\n const container = usePortalContainer();\n if (container === null) {\n return null;\n }\n return (\n <ModalOverlay\n {...props}\n isDismissable={isDismissable}\n className={cx(styles.overlay, overlayClassName)}\n UNSTABLE_portalContainer={container}\n >\n <Modal className={cx(styles.modal, styles[size])}>\n <AriaDialog role={role} className={cx('panneau-dialog', styles.dialog, className)}>\n {({ close }) => (\n <>\n <div className={cx(styles.header, headerClassName)}>\n <Heading slot=\"title\" className={styles.title}>\n {title}\n </Heading>\n {isDismissable ? (\n <IconButton\n icon={X}\n size=\"sm\"\n label={intl.formatMessage(messages.close)}\n showTooltip={false}\n onPress={close}\n />\n ) : null}\n </div>\n <div className={cx(styles.body, bodyClassName)}>\n {typeof children === 'function' ? children(close) : children}\n </div>\n {footer !== undefined && footer !== null ? (\n <div className={cx(styles.footer, footerClassName)}>\n {typeof footer === 'function' ? footer(close) : footer}\n </div>\n ) : null}\n </>\n )}\n </AriaDialog>\n </Modal>\n </ModalOverlay>\n );\n}\n\nexport { DialogTrigger } from 'react-aria-components';\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,SAAgBA,SAAO,EACnB,OACA,UACA,QACA,gBAAgB,MAChB,OAAO,UACP,OAAO,MACP,WACA,kBACA,iBACA,eACA,iBACA,GAAG,SACS;CACZ,MAAM,OAAO,eAAe;CAC5B,MAAM,YAAY,mBAAmB;CACrC,IAAI,cAAc,MACd,OAAO;CAEX,OACI,oBAAC,cAAD;EACI,GAAI;EACW;EACf,WAAW,GAAGC,sBAAO,SAAS,gBAAgB;EAC9C,0BAA0B;EAE1B,UAAA,oBAAC,OAAD;GAAO,WAAW,GAAGA,sBAAO,OAAOA,sBAAO,KAAK;GAC3C,UAAA,oBAACC,QAAD;IAAkB;IAAM,WAAW,GAAG,kBAAkBD,sBAAO,QAAQ,SAAS;IAC1E,WAAA,EAAE,YACA,qBAAAE,UAAA,EAAA,UAAA;KACI,qBAAC,OAAD;MAAK,WAAW,GAAGF,sBAAO,QAAQ,eAAe;MAAjD,UAAA,CACI,oBAAC,SAAD;OAAS,MAAK;OAAQ,WAAWA,sBAAO;OACnC,UAAA;MACI,CAAA,GACR,gBACG,oBAAC,YAAD;OACI,MAAM;OACN,MAAK;OACL,OAAO,KAAK,cAAc,SAAS,KAAK;OACxC,aAAa;OACb,SAAS;MAAM,CAAA,IAEnB,IACH;;KACL,oBAAC,OAAD;MAAK,WAAW,GAAGA,sBAAO,MAAM,aAAa;MACxC,UAAA,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;KACnD,CAAA;KACJ,WAAW,KAAA,KAAa,WAAW,OAChC,oBAAC,OAAD;MAAK,WAAW,GAAGA,sBAAO,QAAQ,eAAe;MAC5C,UAAA,OAAO,WAAW,aAAa,OAAO,KAAK,IAAI;KAC/C,CAAA,IACL;IACR,EAAA,CAAA;GAEI,CAAA;EACT,CAAA;CACG,CAAA;AAEtB"}
@@ -1,16 +1,16 @@
1
1
  import "./Dialog.css";
2
2
  //#region src/dialog/Dialog.module.css
3
- var overlay = "panneau-overlay-nLaR62";
4
- var fade = "panneau-fade-wJ4pz5";
5
- var modal = "panneau-modal-Ucsou3";
6
- var sm = "panneau-sm-pQA1LI";
7
- var lg = "panneau-lg-YG9jfw";
8
- var rise = "panneau-rise-13o1zo";
9
- var dialog = "panneau-dialog-Q-k-Yw";
10
- var header = "panneau-header-rSdjF8";
11
- var title = "panneau-title-JCRwmh";
12
- var body = "panneau-body-HZoCzz";
13
- var footer = "panneau-footer-zpq7M7";
3
+ var overlay = "panneau-dialog-overlay";
4
+ var fade = "panneau-dialog-fade";
5
+ var modal = "panneau-dialog-modal";
6
+ var sm = "panneau-dialog-sm";
7
+ var lg = "panneau-dialog-lg";
8
+ var rise = "panneau-dialog-rise";
9
+ var dialog = "panneau-dialog";
10
+ var header = "panneau-dialog-header";
11
+ var title = "panneau-dialog-title";
12
+ var body = "panneau-dialog-body";
13
+ var footer = "panneau-dialog-footer";
14
14
  var Dialog_module_default = {
15
15
  overlay,
16
16
  fade,
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.module.js","names":[],"sources":["../../src/dialog/Dialog.module.css"],"sourcesContent":[".overlay {\n position: fixed;\n inset: 0;\n z-index: var(--panneau-z-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100dvh;\n padding: var(--panneau-space-4);\n background-color: var(--panneau-color-backdrop);\n}\n\n.overlay[data-entering] {\n animation: fade var(--panneau-duration) ease-out;\n}\n\n.overlay[data-exiting] {\n animation: fade var(--panneau-duration) ease-in reverse;\n}\n\n.modal {\n display: flex;\n width: 100%;\n max-width: 32rem;\n max-height: calc(100dvh - 2 * var(--panneau-space-4));\n outline: none;\n}\n\n.sm {\n max-width: 24rem;\n}\n\n.lg {\n max-width: 48rem;\n}\n\n.modal[data-entering] {\n animation: rise var(--panneau-duration) ease-out;\n}\n\n.dialog {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: inherit;\n color: var(--panneau-color-text);\n background-color: var(--panneau-color-surface-raised);\n border-radius: var(--panneau-radius-lg);\n box-shadow: var(--panneau-shadow-lg);\n outline: none;\n}\n\n.header {\n display: flex;\n align-items: flex-start;\n gap: var(--panneau-space-3);\n padding: var(--panneau-space-4) var(--panneau-space-4) 0 var(--panneau-space-5);\n}\n\n.title {\n flex: 1 1 auto;\n min-width: 0;\n padding-top: var(--panneau-space-1);\n font-size: var(--panneau-font-size-lg);\n font-weight: var(--panneau-font-weight-bold);\n line-height: var(--panneau-line-height-tight);\n overflow-wrap: anywhere;\n}\n\n.body {\n flex: 1 1 auto;\n min-height: 0;\n padding: var(--panneau-space-3) var(--panneau-space-5) var(--panneau-space-4);\n overflow-y: auto;\n}\n\n.footer {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--panneau-space-2);\n padding: var(--panneau-space-3) var(--panneau-space-5) var(--panneau-space-4);\n border-top: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n/* Phones: the dialog is a sheet at the bottom, with full-width buttons. */\n@media (max-width: 30rem) {\n .overlay {\n align-items: flex-end;\n padding: 0;\n }\n\n .modal,\n .sm,\n .lg {\n max-width: none;\n max-height: calc(100dvh - var(--panneau-space-8));\n }\n\n .dialog {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n padding-bottom: env(safe-area-inset-bottom);\n }\n\n .footer {\n flex-direction: column-reverse;\n }\n\n .footer > * {\n width: 100%;\n }\n}\n\n@keyframes fade {\n from {\n opacity: 0;\n }\n}\n\n@keyframes rise {\n from {\n opacity: 0;\n transform: translateY(0.5rem);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Dialog.module.js","names":[],"sources":["../../src/dialog/Dialog.module.css"],"sourcesContent":[".overlay {\n position: fixed;\n inset: 0;\n z-index: var(--panneau-z-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100dvh;\n padding: var(--panneau-space-4);\n background-color: var(--panneau-dialog-backdrop, var(--panneau-color-backdrop));\n}\n\n.overlay[data-entering] {\n animation: fade var(--panneau-duration) ease-out;\n}\n\n.overlay[data-exiting] {\n animation: fade var(--panneau-duration) ease-in reverse;\n}\n\n.modal {\n display: flex;\n width: 100%;\n max-width: var(--panneau-dialog-width, 32rem);\n max-height: calc(100dvh - 2 * var(--panneau-space-4));\n outline: none;\n}\n\n.sm {\n max-width: var(--panneau-dialog-width-sm, 24rem);\n}\n\n.lg {\n max-width: var(--panneau-dialog-width-lg, 48rem);\n}\n\n.modal[data-entering] {\n animation: rise var(--panneau-duration) ease-out;\n}\n\n.dialog {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: inherit;\n color: var(--panneau-color-text);\n background-color: var(--panneau-dialog-bg, var(--panneau-color-surface-raised));\n border-radius: var(--panneau-dialog-radius, var(--panneau-radius-lg));\n box-shadow: var(--panneau-dialog-shadow, var(--panneau-shadow-lg));\n outline: none;\n}\n\n.header {\n display: flex;\n align-items: flex-start;\n gap: var(--panneau-space-3);\n padding: var(--panneau-space-4) var(--panneau-space-4) 0\n var(--panneau-dialog-padding-x, var(--panneau-space-5));\n}\n\n.title {\n flex: 1 1 auto;\n min-width: 0;\n padding-top: var(--panneau-space-1);\n font-size: var(--panneau-dialog-title-font-size, var(--panneau-font-size-lg));\n font-weight: var(--panneau-dialog-title-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-line-height-tight);\n overflow-wrap: anywhere;\n margin: 0;\n}\n\n.body {\n flex: 1 1 auto;\n min-height: 0;\n padding: var(--panneau-space-3) var(--panneau-dialog-padding-x, var(--panneau-space-5))\n var(--panneau-space-4);\n overflow-y: auto;\n}\n\n.footer {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--panneau-space-2);\n padding: var(--panneau-space-3) var(--panneau-dialog-padding-x, var(--panneau-space-5))\n var(--panneau-space-4);\n border-top: var(--panneau-border-width) solid var(--panneau-color-border);\n}\n\n/* Phones: the dialog is a sheet at the bottom, with full-width buttons. */\n@media (max-width: 30rem) {\n .overlay {\n align-items: flex-end;\n padding: 0;\n }\n\n .modal,\n .sm,\n .lg {\n max-width: none;\n max-height: calc(100dvh - var(--panneau-space-8));\n }\n\n .dialog {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n padding-bottom: env(safe-area-inset-bottom);\n }\n\n .footer {\n flex-direction: column-reverse;\n }\n\n .footer > * {\n width: 100%;\n }\n}\n\n@keyframes fade {\n from {\n opacity: 0;\n }\n}\n\n@keyframes rise {\n from {\n opacity: 0;\n transform: translateY(0.5rem);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Tokens of Dialog. */
2
+ export declare const dialogTokens: import("..").ComponentTokens<"dialog", "panneau-dialog-width" | "panneau-dialog-radius" | "panneau-dialog-padding-x" | "panneau-dialog-title-font-weight" | "panneau-dialog-bg" | "panneau-dialog-shadow" | "panneau-dialog-title-font-size" | "panneau-dialog-width-sm" | "panneau-dialog-width-lg" | "panneau-dialog-backdrop">;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/dialog/tokens.ts"],"names":[],"mappings":"AAEA,wBAAwB;AACxB,eAAO,MAAM,YAAY,mUAqBvB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { defineComponentTokens } from "../theme/componentTokens.js";
2
+ //#region src/dialog/tokens.ts
3
+ /** Tokens of Dialog. */
4
+ var dialogTokens = defineComponentTokens("dialog", {
5
+ /** Color of the backdrop. */
6
+ backdrop: "var(--panneau-color-backdrop)",
7
+ /** Maximum width of the default size. */
8
+ width: "32rem",
9
+ /** Maximum width of the small size. */
10
+ "width-sm": "24rem",
11
+ /** Maximum width of the large size. */
12
+ "width-lg": "48rem",
13
+ /** Background. */
14
+ bg: "var(--panneau-color-surface-raised)",
15
+ /** Corner radius. */
16
+ radius: "var(--panneau-radius-lg)",
17
+ /** Shadow. */
18
+ shadow: "var(--panneau-shadow-lg)",
19
+ /** Horizontal padding. */
20
+ "padding-x": "var(--panneau-space-5)",
21
+ /** Font size of the title. */
22
+ "title-font-size": "var(--panneau-font-size-lg)",
23
+ /** Font weight of the title. */
24
+ "title-font-weight": "var(--panneau-font-weight-bold)"
25
+ });
26
+ //#endregion
27
+ export { dialogTokens };
28
+
29
+ //# sourceMappingURL=tokens.js.map