@traefik-labs/faency 12.0.7

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 (509) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +160 -0
  3. package/dist/colors/deepBlue.cjs +63 -0
  4. package/dist/colors/deepBlue.cjs.map +1 -0
  5. package/dist/colors/deepBlue.js +63 -0
  6. package/dist/colors/deepBlue.js.map +1 -0
  7. package/dist/colors/elevation.cjs +21 -0
  8. package/dist/colors/elevation.cjs.map +1 -0
  9. package/dist/colors/elevation.js +21 -0
  10. package/dist/colors/elevation.js.map +1 -0
  11. package/dist/colors/grayBlue.cjs +63 -0
  12. package/dist/colors/grayBlue.cjs.map +1 -0
  13. package/dist/colors/grayBlue.js +63 -0
  14. package/dist/colors/grayBlue.js.map +1 -0
  15. package/dist/colors/index.cjs +86 -0
  16. package/dist/colors/index.cjs.map +1 -0
  17. package/dist/colors/index.js +86 -0
  18. package/dist/colors/index.js.map +1 -0
  19. package/dist/colors/neon.cjs +63 -0
  20. package/dist/colors/neon.cjs.map +1 -0
  21. package/dist/colors/neon.js +63 -0
  22. package/dist/colors/neon.js.map +1 -0
  23. package/dist/colors/orange.cjs +63 -0
  24. package/dist/colors/orange.cjs.map +1 -0
  25. package/dist/colors/orange.js +63 -0
  26. package/dist/colors/orange.js.map +1 -0
  27. package/dist/colors/red.cjs +63 -0
  28. package/dist/colors/red.cjs.map +1 -0
  29. package/dist/colors/red.js +63 -0
  30. package/dist/colors/red.js.map +1 -0
  31. package/dist/components/AccessibleIcon/AccessibleIcon.cjs +23 -0
  32. package/dist/components/AccessibleIcon/AccessibleIcon.cjs.map +1 -0
  33. package/dist/components/AccessibleIcon/AccessibleIcon.js +6 -0
  34. package/dist/components/AccessibleIcon/AccessibleIcon.js.map +1 -0
  35. package/dist/components/Accordion/Accordion.cjs +160 -0
  36. package/dist/components/Accordion/Accordion.cjs.map +1 -0
  37. package/dist/components/Accordion/Accordion.js +143 -0
  38. package/dist/components/Accordion/Accordion.js.map +1 -0
  39. package/dist/components/Accordion/Accordion.themes.cjs +21 -0
  40. package/dist/components/Accordion/Accordion.themes.cjs.map +1 -0
  41. package/dist/components/Accordion/Accordion.themes.js +22 -0
  42. package/dist/components/Accordion/Accordion.themes.js.map +1 -0
  43. package/dist/components/Alert/Alert.cjs +40 -0
  44. package/dist/components/Alert/Alert.cjs.map +1 -0
  45. package/dist/components/Alert/Alert.js +40 -0
  46. package/dist/components/Alert/Alert.js.map +1 -0
  47. package/dist/components/AriaTable/AriaTable.cjs +196 -0
  48. package/dist/components/AriaTable/AriaTable.cjs.map +1 -0
  49. package/dist/components/AriaTable/AriaTable.js +196 -0
  50. package/dist/components/AriaTable/AriaTable.js.map +1 -0
  51. package/dist/components/Avatar/Avatar.cjs +174 -0
  52. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  53. package/dist/components/Avatar/Avatar.js +157 -0
  54. package/dist/components/Avatar/Avatar.js.map +1 -0
  55. package/dist/components/Badge/Badge.cjs +137 -0
  56. package/dist/components/Badge/Badge.cjs.map +1 -0
  57. package/dist/components/Badge/Badge.js +137 -0
  58. package/dist/components/Badge/Badge.js.map +1 -0
  59. package/dist/components/Badge/Badge.theme.cjs +13 -0
  60. package/dist/components/Badge/Badge.theme.cjs.map +1 -0
  61. package/dist/components/Badge/Badge.theme.js +13 -0
  62. package/dist/components/Badge/Badge.theme.js.map +1 -0
  63. package/dist/components/Badge/Badge.themes.cjs +15 -0
  64. package/dist/components/Badge/Badge.themes.cjs.map +1 -0
  65. package/dist/components/Badge/Badge.themes.js +16 -0
  66. package/dist/components/Badge/Badge.themes.js.map +1 -0
  67. package/dist/components/Badge/Badge.vanilla.cjs +48 -0
  68. package/dist/components/Badge/Badge.vanilla.cjs.map +1 -0
  69. package/dist/components/Badge/Badge.vanilla.css.cjs +9 -0
  70. package/dist/components/Badge/Badge.vanilla.css.cjs.map +1 -0
  71. package/dist/components/Badge/Badge.vanilla.css.js +9 -0
  72. package/dist/components/Badge/Badge.vanilla.css.js.map +1 -0
  73. package/dist/components/Badge/Badge.vanilla.js +48 -0
  74. package/dist/components/Badge/Badge.vanilla.js.map +1 -0
  75. package/dist/components/Blockquote/Blockquote.cjs +10 -0
  76. package/dist/components/Blockquote/Blockquote.cjs.map +1 -0
  77. package/dist/components/Blockquote/Blockquote.js +10 -0
  78. package/dist/components/Blockquote/Blockquote.js.map +1 -0
  79. package/dist/components/Blockquote/Blockquote.vanilla.cjs +46 -0
  80. package/dist/components/Blockquote/Blockquote.vanilla.cjs.map +1 -0
  81. package/dist/components/Blockquote/Blockquote.vanilla.css.cjs +7 -0
  82. package/dist/components/Blockquote/Blockquote.vanilla.css.cjs.map +1 -0
  83. package/dist/components/Blockquote/Blockquote.vanilla.css.js +7 -0
  84. package/dist/components/Blockquote/Blockquote.vanilla.css.js.map +1 -0
  85. package/dist/components/Blockquote/Blockquote.vanilla.js +46 -0
  86. package/dist/components/Blockquote/Blockquote.vanilla.js.map +1 -0
  87. package/dist/components/Box/Box.cjs +9 -0
  88. package/dist/components/Box/Box.cjs.map +1 -0
  89. package/dist/components/Box/Box.js +9 -0
  90. package/dist/components/Box/Box.js.map +1 -0
  91. package/dist/components/Box/Box.vanilla.cjs +33 -0
  92. package/dist/components/Box/Box.vanilla.cjs.map +1 -0
  93. package/dist/components/Box/Box.vanilla.css.cjs +6 -0
  94. package/dist/components/Box/Box.vanilla.css.cjs.map +1 -0
  95. package/dist/components/Box/Box.vanilla.css.js +6 -0
  96. package/dist/components/Box/Box.vanilla.css.js.map +1 -0
  97. package/dist/components/Box/Box.vanilla.js +33 -0
  98. package/dist/components/Box/Box.vanilla.js.map +1 -0
  99. package/dist/components/Bubble/Bubble.cjs +81 -0
  100. package/dist/components/Bubble/Bubble.cjs.map +1 -0
  101. package/dist/components/Bubble/Bubble.js +81 -0
  102. package/dist/components/Bubble/Bubble.js.map +1 -0
  103. package/dist/components/Button/Button.cjs +295 -0
  104. package/dist/components/Button/Button.cjs.map +1 -0
  105. package/dist/components/Button/Button.js +295 -0
  106. package/dist/components/Button/Button.js.map +1 -0
  107. package/dist/components/Button/Button.themes.cjs +37 -0
  108. package/dist/components/Button/Button.themes.cjs.map +1 -0
  109. package/dist/components/Button/Button.themes.js +38 -0
  110. package/dist/components/Button/Button.themes.js.map +1 -0
  111. package/dist/components/Button/Button.vanilla.cjs +45 -0
  112. package/dist/components/Button/Button.vanilla.cjs.map +1 -0
  113. package/dist/components/Button/Button.vanilla.css.cjs +7 -0
  114. package/dist/components/Button/Button.vanilla.css.cjs.map +1 -0
  115. package/dist/components/Button/Button.vanilla.css.js +7 -0
  116. package/dist/components/Button/Button.vanilla.css.js.map +1 -0
  117. package/dist/components/Button/Button.vanilla.js +45 -0
  118. package/dist/components/Button/Button.vanilla.js.map +1 -0
  119. package/dist/components/ButtonSwitch/ButtonSwitch.cjs +81 -0
  120. package/dist/components/ButtonSwitch/ButtonSwitch.cjs.map +1 -0
  121. package/dist/components/ButtonSwitch/ButtonSwitch.js +64 -0
  122. package/dist/components/ButtonSwitch/ButtonSwitch.js.map +1 -0
  123. package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs +20 -0
  124. package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs.map +1 -0
  125. package/dist/components/ButtonSwitch/ButtonSwitch.themes.js +21 -0
  126. package/dist/components/ButtonSwitch/ButtonSwitch.themes.js.map +1 -0
  127. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs +67 -0
  128. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs.map +1 -0
  129. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.cjs +8 -0
  130. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.cjs.map +1 -0
  131. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.js +8 -0
  132. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.js.map +1 -0
  133. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js +50 -0
  134. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js.map +1 -0
  135. package/dist/components/Card/Card.cjs +101 -0
  136. package/dist/components/Card/Card.cjs.map +1 -0
  137. package/dist/components/Card/Card.js +101 -0
  138. package/dist/components/Card/Card.js.map +1 -0
  139. package/dist/components/Card/Card.theme.cjs +26 -0
  140. package/dist/components/Card/Card.theme.cjs.map +1 -0
  141. package/dist/components/Card/Card.theme.js +26 -0
  142. package/dist/components/Card/Card.theme.js.map +1 -0
  143. package/dist/components/Card/Card.themes.cjs +29 -0
  144. package/dist/components/Card/Card.themes.cjs.map +1 -0
  145. package/dist/components/Card/Card.themes.js +30 -0
  146. package/dist/components/Card/Card.themes.js.map +1 -0
  147. package/dist/components/Card/Card.vanilla.cjs +41 -0
  148. package/dist/components/Card/Card.vanilla.cjs.map +1 -0
  149. package/dist/components/Card/Card.vanilla.css.cjs +10 -0
  150. package/dist/components/Card/Card.vanilla.css.cjs.map +1 -0
  151. package/dist/components/Card/Card.vanilla.css.js +10 -0
  152. package/dist/components/Card/Card.vanilla.css.js.map +1 -0
  153. package/dist/components/Card/Card.vanilla.js +41 -0
  154. package/dist/components/Card/Card.vanilla.js.map +1 -0
  155. package/dist/components/Checkbox/Checkbox.cjs +115 -0
  156. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  157. package/dist/components/Checkbox/Checkbox.js +98 -0
  158. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  159. package/dist/components/Checkbox/Checkbox.themes.cjs +35 -0
  160. package/dist/components/Checkbox/Checkbox.themes.cjs.map +1 -0
  161. package/dist/components/Checkbox/Checkbox.themes.js +36 -0
  162. package/dist/components/Checkbox/Checkbox.themes.js.map +1 -0
  163. package/dist/components/Container/Container.cjs +38 -0
  164. package/dist/components/Container/Container.cjs.map +1 -0
  165. package/dist/components/Container/Container.js +38 -0
  166. package/dist/components/Container/Container.js.map +1 -0
  167. package/dist/components/Container/Container.vanilla.cjs +35 -0
  168. package/dist/components/Container/Container.vanilla.cjs.map +1 -0
  169. package/dist/components/Container/Container.vanilla.css.cjs +9 -0
  170. package/dist/components/Container/Container.vanilla.css.cjs.map +1 -0
  171. package/dist/components/Container/Container.vanilla.css.js +9 -0
  172. package/dist/components/Container/Container.vanilla.css.js.map +1 -0
  173. package/dist/components/Container/Container.vanilla.js +35 -0
  174. package/dist/components/Container/Container.vanilla.js.map +1 -0
  175. package/dist/components/DateTimePicker/DateTimePicker.cjs +283 -0
  176. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
  177. package/dist/components/DateTimePicker/DateTimePicker.js +283 -0
  178. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -0
  179. package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs +154 -0
  180. package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs.map +1 -0
  181. package/dist/components/DateTimePickerInput/DateTimePickerInput.js +154 -0
  182. package/dist/components/DateTimePickerInput/DateTimePickerInput.js.map +1 -0
  183. package/dist/components/Dialog/Dialog.cjs +93 -0
  184. package/dist/components/Dialog/Dialog.cjs.map +1 -0
  185. package/dist/components/Dialog/Dialog.js +76 -0
  186. package/dist/components/Dialog/Dialog.js.map +1 -0
  187. package/dist/components/Dialog/Dialog.themes.cjs +12 -0
  188. package/dist/components/Dialog/Dialog.themes.cjs.map +1 -0
  189. package/dist/components/Dialog/Dialog.themes.js +13 -0
  190. package/dist/components/Dialog/Dialog.themes.js.map +1 -0
  191. package/dist/components/DropdownMenu/DropdownMenu.cjs +69 -0
  192. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
  193. package/dist/components/DropdownMenu/DropdownMenu.js +52 -0
  194. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  195. package/dist/components/DropdownMenu/styles.cjs +55 -0
  196. package/dist/components/DropdownMenu/styles.cjs.map +1 -0
  197. package/dist/components/DropdownMenu/styles.js +55 -0
  198. package/dist/components/DropdownMenu/styles.js.map +1 -0
  199. package/dist/components/Elevation/Elevation.cjs +40 -0
  200. package/dist/components/Elevation/Elevation.cjs.map +1 -0
  201. package/dist/components/Elevation/Elevation.js +40 -0
  202. package/dist/components/Elevation/Elevation.js.map +1 -0
  203. package/dist/components/Elevation/Elevation.vanilla.cjs +28 -0
  204. package/dist/components/Elevation/Elevation.vanilla.cjs.map +1 -0
  205. package/dist/components/Elevation/Elevation.vanilla.css.cjs +7 -0
  206. package/dist/components/Elevation/Elevation.vanilla.css.cjs.map +1 -0
  207. package/dist/components/Elevation/Elevation.vanilla.css.js +7 -0
  208. package/dist/components/Elevation/Elevation.vanilla.css.js.map +1 -0
  209. package/dist/components/Elevation/Elevation.vanilla.js +28 -0
  210. package/dist/components/Elevation/Elevation.vanilla.js.map +1 -0
  211. package/dist/components/FaencyProvider.cjs +7 -0
  212. package/dist/components/FaencyProvider.cjs.map +1 -0
  213. package/dist/components/FaencyProvider.js +7 -0
  214. package/dist/components/FaencyProvider.js.map +1 -0
  215. package/dist/components/Flex/Flex.cjs +120 -0
  216. package/dist/components/Flex/Flex.cjs.map +1 -0
  217. package/dist/components/Flex/Flex.js +120 -0
  218. package/dist/components/Flex/Flex.js.map +1 -0
  219. package/dist/components/Flex/Flex.vanilla.cjs +35 -0
  220. package/dist/components/Flex/Flex.vanilla.cjs.map +1 -0
  221. package/dist/components/Flex/Flex.vanilla.css.cjs +9 -0
  222. package/dist/components/Flex/Flex.vanilla.css.cjs.map +1 -0
  223. package/dist/components/Flex/Flex.vanilla.css.js +9 -0
  224. package/dist/components/Flex/Flex.vanilla.css.js.map +1 -0
  225. package/dist/components/Flex/Flex.vanilla.js +35 -0
  226. package/dist/components/Flex/Flex.vanilla.js.map +1 -0
  227. package/dist/components/Grid/Grid.cjs +160 -0
  228. package/dist/components/Grid/Grid.cjs.map +1 -0
  229. package/dist/components/Grid/Grid.js +160 -0
  230. package/dist/components/Grid/Grid.js.map +1 -0
  231. package/dist/components/Grid/Grid.vanilla.cjs +53 -0
  232. package/dist/components/Grid/Grid.vanilla.cjs.map +1 -0
  233. package/dist/components/Grid/Grid.vanilla.css.cjs +9 -0
  234. package/dist/components/Grid/Grid.vanilla.css.cjs.map +1 -0
  235. package/dist/components/Grid/Grid.vanilla.css.js +9 -0
  236. package/dist/components/Grid/Grid.vanilla.css.js.map +1 -0
  237. package/dist/components/Grid/Grid.vanilla.js +53 -0
  238. package/dist/components/Grid/Grid.vanilla.js.map +1 -0
  239. package/dist/components/Heading/Heading.cjs +61 -0
  240. package/dist/components/Heading/Heading.cjs.map +1 -0
  241. package/dist/components/Heading/Heading.js +61 -0
  242. package/dist/components/Heading/Heading.js.map +1 -0
  243. package/dist/components/Heading/Heading.themes.cjs +13 -0
  244. package/dist/components/Heading/Heading.themes.cjs.map +1 -0
  245. package/dist/components/Heading/Heading.themes.js +14 -0
  246. package/dist/components/Heading/Heading.themes.js.map +1 -0
  247. package/dist/components/IconButton/IconButton.cjs +109 -0
  248. package/dist/components/IconButton/IconButton.cjs.map +1 -0
  249. package/dist/components/IconButton/IconButton.js +109 -0
  250. package/dist/components/IconButton/IconButton.js.map +1 -0
  251. package/dist/components/IconButton/IconButton.themes.cjs +18 -0
  252. package/dist/components/IconButton/IconButton.themes.cjs.map +1 -0
  253. package/dist/components/IconButton/IconButton.themes.js +19 -0
  254. package/dist/components/IconButton/IconButton.themes.js.map +1 -0
  255. package/dist/components/IconButton/IconButton.vanilla.cjs +34 -0
  256. package/dist/components/IconButton/IconButton.vanilla.cjs.map +1 -0
  257. package/dist/components/IconButton/IconButton.vanilla.css.cjs +7 -0
  258. package/dist/components/IconButton/IconButton.vanilla.css.cjs.map +1 -0
  259. package/dist/components/IconButton/IconButton.vanilla.css.js +7 -0
  260. package/dist/components/IconButton/IconButton.vanilla.css.js.map +1 -0
  261. package/dist/components/IconButton/IconButton.vanilla.js +34 -0
  262. package/dist/components/IconButton/IconButton.vanilla.js.map +1 -0
  263. package/dist/components/Image/Image.cjs +10 -0
  264. package/dist/components/Image/Image.cjs.map +1 -0
  265. package/dist/components/Image/Image.js +10 -0
  266. package/dist/components/Image/Image.js.map +1 -0
  267. package/dist/components/Input/Input.cjs +379 -0
  268. package/dist/components/Input/Input.cjs.map +1 -0
  269. package/dist/components/Input/Input.js +379 -0
  270. package/dist/components/Input/Input.js.map +1 -0
  271. package/dist/components/Input/Input.theme.cjs +40 -0
  272. package/dist/components/Input/Input.theme.cjs.map +1 -0
  273. package/dist/components/Input/Input.theme.js +40 -0
  274. package/dist/components/Input/Input.theme.js.map +1 -0
  275. package/dist/components/Input/Input.themes.cjs +29 -0
  276. package/dist/components/Input/Input.themes.cjs.map +1 -0
  277. package/dist/components/Input/Input.themes.js +30 -0
  278. package/dist/components/Input/Input.themes.js.map +1 -0
  279. package/dist/components/Input/Input.vanilla.cjs +56 -0
  280. package/dist/components/Input/Input.vanilla.cjs.map +1 -0
  281. package/dist/components/Input/Input.vanilla.css.cjs +11 -0
  282. package/dist/components/Input/Input.vanilla.css.cjs.map +1 -0
  283. package/dist/components/Input/Input.vanilla.css.js +11 -0
  284. package/dist/components/Input/Input.vanilla.css.js.map +1 -0
  285. package/dist/components/Input/Input.vanilla.js +56 -0
  286. package/dist/components/Input/Input.vanilla.js.map +1 -0
  287. package/dist/components/Label/Label.cjs +36 -0
  288. package/dist/components/Label/Label.cjs.map +1 -0
  289. package/dist/components/Label/Label.js +19 -0
  290. package/dist/components/Label/Label.js.map +1 -0
  291. package/dist/components/Label/Label.vanilla.cjs +50 -0
  292. package/dist/components/Label/Label.vanilla.cjs.map +1 -0
  293. package/dist/components/Label/Label.vanilla.css.cjs +7 -0
  294. package/dist/components/Label/Label.vanilla.css.cjs.map +1 -0
  295. package/dist/components/Label/Label.vanilla.css.js +7 -0
  296. package/dist/components/Label/Label.vanilla.css.js.map +1 -0
  297. package/dist/components/Label/Label.vanilla.js +33 -0
  298. package/dist/components/Label/Label.vanilla.js.map +1 -0
  299. package/dist/components/Link/Link.cjs +88 -0
  300. package/dist/components/Link/Link.cjs.map +1 -0
  301. package/dist/components/Link/Link.js +88 -0
  302. package/dist/components/Link/Link.js.map +1 -0
  303. package/dist/components/Link/Link.themes.cjs +43 -0
  304. package/dist/components/Link/Link.themes.cjs.map +1 -0
  305. package/dist/components/Link/Link.themes.js +44 -0
  306. package/dist/components/Link/Link.themes.js.map +1 -0
  307. package/dist/components/List/List.cjs +169 -0
  308. package/dist/components/List/List.cjs.map +1 -0
  309. package/dist/components/List/List.js +169 -0
  310. package/dist/components/List/List.js.map +1 -0
  311. package/dist/components/List/List.themes.cjs +16 -0
  312. package/dist/components/List/List.themes.cjs.map +1 -0
  313. package/dist/components/List/List.themes.js +17 -0
  314. package/dist/components/List/List.themes.js.map +1 -0
  315. package/dist/components/Navigation/Navigation.cjs +173 -0
  316. package/dist/components/Navigation/Navigation.cjs.map +1 -0
  317. package/dist/components/Navigation/Navigation.js +173 -0
  318. package/dist/components/Navigation/Navigation.js.map +1 -0
  319. package/dist/components/Navigation/Navigation.themes.cjs +35 -0
  320. package/dist/components/Navigation/Navigation.themes.cjs.map +1 -0
  321. package/dist/components/Navigation/Navigation.themes.js +36 -0
  322. package/dist/components/Navigation/Navigation.themes.js.map +1 -0
  323. package/dist/components/NavigationMenu/NavigationMenu.cjs +73 -0
  324. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
  325. package/dist/components/NavigationMenu/NavigationMenu.js +56 -0
  326. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
  327. package/dist/components/NavigationTree/NavigationTreeContainer.cjs +24 -0
  328. package/dist/components/NavigationTree/NavigationTreeContainer.cjs.map +1 -0
  329. package/dist/components/NavigationTree/NavigationTreeContainer.js +24 -0
  330. package/dist/components/NavigationTree/NavigationTreeContainer.js.map +1 -0
  331. package/dist/components/NavigationTree/NavigationTreeDrawer.cjs +19 -0
  332. package/dist/components/NavigationTree/NavigationTreeDrawer.cjs.map +1 -0
  333. package/dist/components/NavigationTree/NavigationTreeDrawer.js +19 -0
  334. package/dist/components/NavigationTree/NavigationTreeDrawer.js.map +1 -0
  335. package/dist/components/NavigationTree/NavigationTreeItem.cjs +105 -0
  336. package/dist/components/NavigationTree/NavigationTreeItem.cjs.map +1 -0
  337. package/dist/components/NavigationTree/NavigationTreeItem.js +105 -0
  338. package/dist/components/NavigationTree/NavigationTreeItem.js.map +1 -0
  339. package/dist/components/Overlay.cjs +10 -0
  340. package/dist/components/Overlay.cjs.map +1 -0
  341. package/dist/components/Overlay.js +10 -0
  342. package/dist/components/Overlay.js.map +1 -0
  343. package/dist/components/Panel/Panel.cjs +12 -0
  344. package/dist/components/Panel/Panel.cjs.map +1 -0
  345. package/dist/components/Panel/Panel.js +12 -0
  346. package/dist/components/Panel/Panel.js.map +1 -0
  347. package/dist/components/Panel/Panel.theme.cjs +11 -0
  348. package/dist/components/Panel/Panel.theme.cjs.map +1 -0
  349. package/dist/components/Panel/Panel.theme.js +11 -0
  350. package/dist/components/Panel/Panel.theme.js.map +1 -0
  351. package/dist/components/Panel/Panel.vanilla.cjs +27 -0
  352. package/dist/components/Panel/Panel.vanilla.cjs.map +1 -0
  353. package/dist/components/Panel/Panel.vanilla.css.cjs +6 -0
  354. package/dist/components/Panel/Panel.vanilla.css.cjs.map +1 -0
  355. package/dist/components/Panel/Panel.vanilla.css.js +6 -0
  356. package/dist/components/Panel/Panel.vanilla.css.js.map +1 -0
  357. package/dist/components/Panel/Panel.vanilla.js +27 -0
  358. package/dist/components/Panel/Panel.vanilla.js.map +1 -0
  359. package/dist/components/Paragraph/Paragraph.cjs +34 -0
  360. package/dist/components/Paragraph/Paragraph.cjs.map +1 -0
  361. package/dist/components/Paragraph/Paragraph.js +34 -0
  362. package/dist/components/Paragraph/Paragraph.js.map +1 -0
  363. package/dist/components/Paragraph/Paragraph.vanilla.cjs +34 -0
  364. package/dist/components/Paragraph/Paragraph.vanilla.cjs.map +1 -0
  365. package/dist/components/Paragraph/Paragraph.vanilla.css.cjs +7 -0
  366. package/dist/components/Paragraph/Paragraph.vanilla.css.cjs.map +1 -0
  367. package/dist/components/Paragraph/Paragraph.vanilla.css.js +7 -0
  368. package/dist/components/Paragraph/Paragraph.vanilla.css.js.map +1 -0
  369. package/dist/components/Paragraph/Paragraph.vanilla.js +34 -0
  370. package/dist/components/Paragraph/Paragraph.vanilla.js.map +1 -0
  371. package/dist/components/Popover/Popover.cjs +87 -0
  372. package/dist/components/Popover/Popover.cjs.map +1 -0
  373. package/dist/components/Popover/Popover.js +70 -0
  374. package/dist/components/Popover/Popover.js.map +1 -0
  375. package/dist/components/Radio/Radio.cjs +126 -0
  376. package/dist/components/Radio/Radio.cjs.map +1 -0
  377. package/dist/components/Radio/Radio.js +109 -0
  378. package/dist/components/Radio/Radio.js.map +1 -0
  379. package/dist/components/Radio/Radio.themes.cjs +27 -0
  380. package/dist/components/Radio/Radio.themes.cjs.map +1 -0
  381. package/dist/components/Radio/Radio.themes.js +28 -0
  382. package/dist/components/Radio/Radio.themes.js.map +1 -0
  383. package/dist/components/RadioAccordion/RadioAccordion.cjs +50 -0
  384. package/dist/components/RadioAccordion/RadioAccordion.cjs.map +1 -0
  385. package/dist/components/RadioAccordion/RadioAccordion.js +50 -0
  386. package/dist/components/RadioAccordion/RadioAccordion.js.map +1 -0
  387. package/dist/components/Select/Select.cjs +239 -0
  388. package/dist/components/Select/Select.cjs.map +1 -0
  389. package/dist/components/Select/Select.js +239 -0
  390. package/dist/components/Select/Select.js.map +1 -0
  391. package/dist/components/Select/Select.themes.cjs +24 -0
  392. package/dist/components/Select/Select.themes.cjs.map +1 -0
  393. package/dist/components/Select/Select.themes.js +25 -0
  394. package/dist/components/Select/Select.themes.js.map +1 -0
  395. package/dist/components/SidePanel/SidePanel.cjs +129 -0
  396. package/dist/components/SidePanel/SidePanel.cjs.map +1 -0
  397. package/dist/components/SidePanel/SidePanel.js +112 -0
  398. package/dist/components/SidePanel/SidePanel.js.map +1 -0
  399. package/dist/components/SidePanel/SidePanel.themes.cjs +12 -0
  400. package/dist/components/SidePanel/SidePanel.themes.cjs.map +1 -0
  401. package/dist/components/SidePanel/SidePanel.themes.js +13 -0
  402. package/dist/components/SidePanel/SidePanel.themes.js.map +1 -0
  403. package/dist/components/Skeleton/Skeleton.cjs +66 -0
  404. package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
  405. package/dist/components/Skeleton/Skeleton.js +66 -0
  406. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  407. package/dist/components/Skeleton/Skeleton.themes.cjs +14 -0
  408. package/dist/components/Skeleton/Skeleton.themes.cjs.map +1 -0
  409. package/dist/components/Skeleton/Skeleton.themes.js +15 -0
  410. package/dist/components/Skeleton/Skeleton.themes.js.map +1 -0
  411. package/dist/components/Switch/Switch.cjs +116 -0
  412. package/dist/components/Switch/Switch.cjs.map +1 -0
  413. package/dist/components/Switch/Switch.js +99 -0
  414. package/dist/components/Switch/Switch.js.map +1 -0
  415. package/dist/components/Switch/Switch.themes.cjs +19 -0
  416. package/dist/components/Switch/Switch.themes.cjs.map +1 -0
  417. package/dist/components/Switch/Switch.themes.js +20 -0
  418. package/dist/components/Switch/Switch.themes.js.map +1 -0
  419. package/dist/components/Table/Table.cjs +290 -0
  420. package/dist/components/Table/Table.cjs.map +1 -0
  421. package/dist/components/Table/Table.js +290 -0
  422. package/dist/components/Table/Table.js.map +1 -0
  423. package/dist/components/Table/Table.themes.cjs +33 -0
  424. package/dist/components/Table/Table.themes.cjs.map +1 -0
  425. package/dist/components/Table/Table.themes.js +34 -0
  426. package/dist/components/Table/Table.themes.js.map +1 -0
  427. package/dist/components/Tabs/Tabs.cjs +59 -0
  428. package/dist/components/Tabs/Tabs.cjs.map +1 -0
  429. package/dist/components/Tabs/Tabs.js +42 -0
  430. package/dist/components/Tabs/Tabs.js.map +1 -0
  431. package/dist/components/Text/Text.cjs +129 -0
  432. package/dist/components/Text/Text.cjs.map +1 -0
  433. package/dist/components/Text/Text.js +129 -0
  434. package/dist/components/Text/Text.js.map +1 -0
  435. package/dist/components/Text/Text.themes.cjs +21 -0
  436. package/dist/components/Text/Text.themes.cjs.map +1 -0
  437. package/dist/components/Text/Text.themes.js +22 -0
  438. package/dist/components/Text/Text.themes.js.map +1 -0
  439. package/dist/components/TextField/TextField.cjs +167 -0
  440. package/dist/components/TextField/TextField.cjs.map +1 -0
  441. package/dist/components/TextField/TextField.js +167 -0
  442. package/dist/components/TextField/TextField.js.map +1 -0
  443. package/dist/components/TextField/TextField.vanilla.cjs +168 -0
  444. package/dist/components/TextField/TextField.vanilla.cjs.map +1 -0
  445. package/dist/components/TextField/TextField.vanilla.js +168 -0
  446. package/dist/components/TextField/TextField.vanilla.js.map +1 -0
  447. package/dist/components/Textarea/Textarea.cjs +280 -0
  448. package/dist/components/Textarea/Textarea.cjs.map +1 -0
  449. package/dist/components/Textarea/Textarea.js +280 -0
  450. package/dist/components/Textarea/Textarea.js.map +1 -0
  451. package/dist/components/Textarea/Textarea.theme.cjs +40 -0
  452. package/dist/components/Textarea/Textarea.theme.cjs.map +1 -0
  453. package/dist/components/Textarea/Textarea.theme.js +40 -0
  454. package/dist/components/Textarea/Textarea.theme.js.map +1 -0
  455. package/dist/components/Textarea/Textarea.themes.cjs +29 -0
  456. package/dist/components/Textarea/Textarea.themes.cjs.map +1 -0
  457. package/dist/components/Textarea/Textarea.themes.js +30 -0
  458. package/dist/components/Textarea/Textarea.themes.js.map +1 -0
  459. package/dist/components/Textarea/Textarea.vanilla.cjs +97 -0
  460. package/dist/components/Textarea/Textarea.vanilla.cjs.map +1 -0
  461. package/dist/components/Textarea/Textarea.vanilla.css.cjs +11 -0
  462. package/dist/components/Textarea/Textarea.vanilla.css.cjs.map +1 -0
  463. package/dist/components/Textarea/Textarea.vanilla.css.js +11 -0
  464. package/dist/components/Textarea/Textarea.vanilla.css.js.map +1 -0
  465. package/dist/components/Textarea/Textarea.vanilla.js +97 -0
  466. package/dist/components/Textarea/Textarea.vanilla.js.map +1 -0
  467. package/dist/components/Tooltip/Tooltip.cjs +104 -0
  468. package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
  469. package/dist/components/Tooltip/Tooltip.js +87 -0
  470. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  471. package/dist/components/Tooltip/Tooltip.themes.cjs +14 -0
  472. package/dist/components/Tooltip/Tooltip.themes.cjs.map +1 -0
  473. package/dist/components/Tooltip/Tooltip.themes.js +15 -0
  474. package/dist/components/Tooltip/Tooltip.themes.js.map +1 -0
  475. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +23 -0
  476. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
  477. package/dist/components/VisuallyHidden/VisuallyHidden.js +6 -0
  478. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  479. package/dist/faency.css +7643 -0
  480. package/dist/index.cjs +239 -0
  481. package/dist/index.cjs.map +1 -0
  482. package/dist/index.d.ts +33642 -0
  483. package/dist/index.js +233 -0
  484. package/dist/index.js.map +1 -0
  485. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs +109 -0
  486. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs.map +1 -0
  487. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +109 -0
  488. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
  489. package/dist/stitches.config.cjs +272 -0
  490. package/dist/stitches.config.cjs.map +1 -0
  491. package/dist/stitches.config.js +272 -0
  492. package/dist/stitches.config.js.map +1 -0
  493. package/dist/styles/cssProps.cjs +315 -0
  494. package/dist/styles/cssProps.cjs.map +1 -0
  495. package/dist/styles/cssProps.js +315 -0
  496. package/dist/styles/cssProps.js.map +1 -0
  497. package/dist/styles/themeContext.cjs +120 -0
  498. package/dist/styles/themeContext.cjs.map +1 -0
  499. package/dist/styles/themeContext.js +120 -0
  500. package/dist/styles/themeContext.js.map +1 -0
  501. package/dist/styles/themes.css.cjs +21 -0
  502. package/dist/styles/themes.css.cjs.map +1 -0
  503. package/dist/styles/themes.css.js +21 -0
  504. package/dist/styles/themes.css.js.map +1 -0
  505. package/dist/utils/getPrimaryColorInfo.cjs +11 -0
  506. package/dist/utils/getPrimaryColorInfo.cjs.map +1 -0
  507. package/dist/utils/getPrimaryColorInfo.js +12 -0
  508. package/dist/utils/getPrimaryColorInfo.js.map +1 -0
  509. package/package.json +184 -0
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const reactIcons = require("@radix-ui/react-icons");
5
+ const datepicker = require("@rehookify/datepicker");
6
+ const dateFns = require("date-fns");
7
+ const React = require("react");
8
+ const stitches_config = require("../../stitches.config.cjs");
9
+ const Box = require("../Box/Box.cjs");
10
+ const Button = require("../Button/Button.cjs");
11
+ const Flex = require("../Flex/Flex.cjs");
12
+ const Text = require("../Text/Text.cjs");
13
+ const CalendarGrid = stitches_config.styled("div", {
14
+ display: "grid",
15
+ alignItems: "center",
16
+ gap: "$1",
17
+ px: "$2",
18
+ borderLeft: "2px solid $buttonSecondaryBorder",
19
+ borderRight: "2px solid $buttonSecondaryBorder"
20
+ });
21
+ const SevenColGrid = stitches_config.styled(CalendarGrid, {
22
+ gridTemplateColumns: "repeat(7, 1fr)"
23
+ });
24
+ const ThreeColGrid = stitches_config.styled(CalendarGrid, {
25
+ gridTemplateColumns: "repeat(3, 1fr)",
26
+ height: "100%"
27
+ });
28
+ const StyledDiv = stitches_config.styled("div");
29
+ function Header({
30
+ centerButtonLabel,
31
+ centerButtonOnClick,
32
+ leftButtonProps,
33
+ rightButtonProps
34
+ }) {
35
+ return /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { align: "center", gap: "2", css: { px: "$2" }, children: [
36
+ /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "button", ghost: true, variant: "secondary", ...leftButtonProps, children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronLeftIcon, {}) }),
37
+ /* @__PURE__ */ jsxRuntime.jsx(
38
+ Button.Button,
39
+ {
40
+ type: "button",
41
+ role: "button",
42
+ tabIndex: 0,
43
+ css: { flexGrow: 1, textAlign: "center" },
44
+ ghost: true,
45
+ onClick: centerButtonOnClick,
46
+ variant: "secondary",
47
+ children: centerButtonLabel
48
+ }
49
+ ),
50
+ /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "button", ghost: true, variant: "secondary", ...rightButtonProps, children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronRightIcon, {}) })
51
+ ] });
52
+ }
53
+ const DateTimePicker = React.forwardRef(
54
+ ({ css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config }, fowardedRef) => {
55
+ const {
56
+ data: { calendars, months, time, weekDays, years },
57
+ propGetters: {
58
+ addOffset,
59
+ dayButton,
60
+ monthButton,
61
+ nextYearsButton,
62
+ previousYearsButton,
63
+ subtractOffset,
64
+ timeButton,
65
+ yearButton
66
+ }
67
+ } = datepicker.useDatePicker(config);
68
+ const [page, setPage] = React.useState(0);
69
+ const { days, month, year } = calendars[0];
70
+ return /* @__PURE__ */ jsxRuntime.jsx(StyledDiv, { css, ref: fowardedRef, children: /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { direction: "column", gap: "2", css: { display: "inline-flex" }, children: [
71
+ /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { children: [
72
+ /* @__PURE__ */ jsxRuntime.jsxs(
73
+ Box.Box,
74
+ {
75
+ css: {
76
+ flex: 1,
77
+ minHeight: config.calendar?.mode === "fluid" ? "244px" : "280px",
78
+ minWidth: "268px"
79
+ },
80
+ children: [
81
+ /* @__PURE__ */ jsxRuntime.jsxs(
82
+ Flex.Flex,
83
+ {
84
+ direction: "column",
85
+ css: { display: page === 0 ? "flex" : "none", height: "100%" },
86
+ children: [
87
+ /* @__PURE__ */ jsxRuntime.jsx(
88
+ Header,
89
+ {
90
+ centerButtonLabel: month,
91
+ centerButtonOnClick: () => setPage(1),
92
+ leftButtonProps: subtractOffset({ months: 1 }),
93
+ rightButtonProps: addOffset({ months: 1 })
94
+ }
95
+ ),
96
+ /* @__PURE__ */ jsxRuntime.jsxs(SevenColGrid, { children: [
97
+ weekDays.map((weekDay, index) => /* @__PURE__ */ jsxRuntime.jsx(Text.Text, { css: { lineHeight: "$sizes$6", textAlign: "center" }, children: weekDay }, index)),
98
+ days.map((d) => /* @__PURE__ */ jsxRuntime.jsx(
99
+ Button.Button,
100
+ {
101
+ type: "button",
102
+ css: {
103
+ width: "32px",
104
+ px: 0,
105
+ color: !d.disabled && !d.inCurrentMonth && !d.selected ? "$textSubtle" : void 0,
106
+ fontWeight: d.now && !d.selected ? "$bold" : void 0,
107
+ textAlign: "center"
108
+ },
109
+ ghost: !d.selected,
110
+ variant: d.now || d.selected ? "primary" : "secondary",
111
+ ...dayButton(d),
112
+ tabIndex: dayButton(d).disabled ? dayButton(d).tabIndex : 0,
113
+ children: d.day
114
+ },
115
+ d.$date.toString()
116
+ ))
117
+ ] })
118
+ ]
119
+ }
120
+ ),
121
+ /* @__PURE__ */ jsxRuntime.jsxs(
122
+ Flex.Flex,
123
+ {
124
+ direction: "column",
125
+ css: { display: page === 1 ? "flex" : "none", height: "100%" },
126
+ children: [
127
+ /* @__PURE__ */ jsxRuntime.jsx(
128
+ Header,
129
+ {
130
+ centerButtonLabel: year,
131
+ centerButtonOnClick: () => setPage(2),
132
+ leftButtonProps: subtractOffset({ years: 1 }),
133
+ rightButtonProps: addOffset({ years: 1 })
134
+ }
135
+ ),
136
+ /* @__PURE__ */ jsxRuntime.jsx(ThreeColGrid, { children: months.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
137
+ Button.Button,
138
+ {
139
+ type: "button",
140
+ css: {
141
+ px: 0,
142
+ fontWeight: m.now && !m.selected ? "$bold" : void 0,
143
+ textAlign: "center"
144
+ },
145
+ ghost: !m.selected,
146
+ variant: m.now || m.selected ? "primary" : "secondary",
147
+ ...monthButton(m),
148
+ onClick: (evt) => {
149
+ setPage(0);
150
+ const fn = monthButton(m).onClick;
151
+ if (typeof fn !== "undefined") fn(evt);
152
+ },
153
+ tabIndex: monthButton(m).disabled ? monthButton(m).tabIndex : 0,
154
+ children: m.month
155
+ },
156
+ m.$date.toString()
157
+ )) })
158
+ ]
159
+ }
160
+ ),
161
+ /* @__PURE__ */ jsxRuntime.jsxs(
162
+ Flex.Flex,
163
+ {
164
+ direction: "column",
165
+ css: { display: page === 2 ? "flex" : "none", height: "100%" },
166
+ children: [
167
+ /* @__PURE__ */ jsxRuntime.jsx(
168
+ Header,
169
+ {
170
+ centerButtonLabel: `${years[0].year} - ${years[years.length - 1].year}`,
171
+ centerButtonOnClick: () => setPage(0),
172
+ leftButtonProps: previousYearsButton(),
173
+ rightButtonProps: nextYearsButton()
174
+ }
175
+ ),
176
+ /* @__PURE__ */ jsxRuntime.jsx(ThreeColGrid, { children: years.map((y) => /* @__PURE__ */ jsxRuntime.jsx(
177
+ Button.Button,
178
+ {
179
+ type: "button",
180
+ css: {
181
+ px: 0,
182
+ fontWeight: y.now && !y.selected ? "$bold" : void 0,
183
+ textAlign: "center"
184
+ },
185
+ ghost: !y.selected,
186
+ variant: y.now || y.selected ? "primary" : "secondary",
187
+ ...yearButton(y),
188
+ onClick: (evt) => {
189
+ setPage(0);
190
+ const fn = yearButton(y).onClick;
191
+ if (typeof fn !== "undefined") fn(evt);
192
+ },
193
+ tabIndex: yearButton(y).disabled ? yearButton(y).tabIndex : 0,
194
+ children: y.year
195
+ },
196
+ y.$date.toString()
197
+ )) })
198
+ ]
199
+ }
200
+ )
201
+ ]
202
+ }
203
+ ),
204
+ showTimePicker ? /* @__PURE__ */ jsxRuntime.jsx(Box.Box, { css: { flex: 1, width: "90px", position: "relative", overflow: "auto" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
205
+ Flex.Flex,
206
+ {
207
+ direction: "column",
208
+ gap: "1",
209
+ css: { position: "absolute", top: 0, left: 0, height: "100%", width: "100%" },
210
+ children: [
211
+ /* @__PURE__ */ jsxRuntime.jsx(Text.Text, { css: { mt: "32px", ml: "8px", lineHeight: "$sizes$6" }, children: "Time" }),
212
+ /* @__PURE__ */ jsxRuntime.jsx(Flex.Flex, { direction: "column", gap: "1", css: { overflow: "auto", px: "$2" }, children: time.map((t) => /* @__PURE__ */ jsxRuntime.jsx(
213
+ Button.Button,
214
+ {
215
+ type: "button",
216
+ css: {
217
+ px: "$2",
218
+ fontWeight: t.now && !t.selected ? "$bold" : void 0,
219
+ textAlign: "center"
220
+ },
221
+ ghost: !t.selected,
222
+ variant: t.now || t.selected ? "primary" : "secondary",
223
+ ...timeButton(t),
224
+ onClick: (evt) => {
225
+ const fn = timeButton(t).onClick;
226
+ if (typeof fn !== "undefined") fn(evt);
227
+ if (typeof onTimeButtonClick !== "undefined") onTimeButtonClick();
228
+ },
229
+ tabIndex: timeButton(t).disabled ? timeButton(t).tabIndex : 0,
230
+ children: t.time
231
+ },
232
+ t.$date.toString()
233
+ )) })
234
+ ]
235
+ }
236
+ ) }) : void 0
237
+ ] }),
238
+ showDatePresets ? /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { gap: "2", children: [
239
+ /* @__PURE__ */ jsxRuntime.jsx(
240
+ Button.Button,
241
+ {
242
+ type: "button",
243
+ css: { flex: "1 1 0" },
244
+ variant: "secondary",
245
+ onClick: () => {
246
+ config.onDatesChange([dateFns.addMonths(/* @__PURE__ */ new Date(), 1)]);
247
+ if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
248
+ },
249
+ children: "Now + 1 M"
250
+ }
251
+ ),
252
+ /* @__PURE__ */ jsxRuntime.jsx(
253
+ Button.Button,
254
+ {
255
+ type: "button",
256
+ css: { flex: "1 1 0" },
257
+ variant: "secondary",
258
+ onClick: () => {
259
+ config.onDatesChange([dateFns.addMonths(/* @__PURE__ */ new Date(), 3)]);
260
+ if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
261
+ },
262
+ children: "Now + 3 M"
263
+ }
264
+ ),
265
+ showTimePicker ? /* @__PURE__ */ jsxRuntime.jsx(
266
+ Button.Button,
267
+ {
268
+ type: "button",
269
+ css: { flex: "1 1 0" },
270
+ variant: "secondary",
271
+ onClick: () => {
272
+ config.onDatesChange([dateFns.addYears(/* @__PURE__ */ new Date(), 1)]);
273
+ if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
274
+ },
275
+ children: "Now + 1 Y"
276
+ }
277
+ ) : void 0
278
+ ] }) : void 0
279
+ ] }) });
280
+ }
281
+ );
282
+ exports.DateTimePicker = DateTimePicker;
283
+ //# sourceMappingURL=DateTimePicker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker.cjs","sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"names":["styled","jsxs","Flex","jsx","Button","ChevronLeftIcon","ChevronRightIcon","useDatePicker","useState","Box","Text","addMonths","addYears"],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons";
3
+ import { useDatePicker } from "@rehookify/datepicker";
4
+ import { addMonths, addYears } from "date-fns";
5
+ import React, { useState } from "react";
6
+ import { styled } from "../../stitches.config.js";
7
+ import { Box } from "../Box/Box.js";
8
+ import { Button } from "../Button/Button.js";
9
+ import { Flex } from "../Flex/Flex.js";
10
+ import { Text } from "../Text/Text.js";
11
+ const CalendarGrid = styled("div", {
12
+ display: "grid",
13
+ alignItems: "center",
14
+ gap: "$1",
15
+ px: "$2",
16
+ borderLeft: "2px solid $buttonSecondaryBorder",
17
+ borderRight: "2px solid $buttonSecondaryBorder"
18
+ });
19
+ const SevenColGrid = styled(CalendarGrid, {
20
+ gridTemplateColumns: "repeat(7, 1fr)"
21
+ });
22
+ const ThreeColGrid = styled(CalendarGrid, {
23
+ gridTemplateColumns: "repeat(3, 1fr)",
24
+ height: "100%"
25
+ });
26
+ const StyledDiv = styled("div");
27
+ function Header({
28
+ centerButtonLabel,
29
+ centerButtonOnClick,
30
+ leftButtonProps,
31
+ rightButtonProps
32
+ }) {
33
+ return /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "2", css: { px: "$2" }, children: [
34
+ /* @__PURE__ */ jsx(Button, { type: "button", ghost: true, variant: "secondary", ...leftButtonProps, children: /* @__PURE__ */ jsx(ChevronLeftIcon, {}) }),
35
+ /* @__PURE__ */ jsx(
36
+ Button,
37
+ {
38
+ type: "button",
39
+ role: "button",
40
+ tabIndex: 0,
41
+ css: { flexGrow: 1, textAlign: "center" },
42
+ ghost: true,
43
+ onClick: centerButtonOnClick,
44
+ variant: "secondary",
45
+ children: centerButtonLabel
46
+ }
47
+ ),
48
+ /* @__PURE__ */ jsx(Button, { type: "button", ghost: true, variant: "secondary", ...rightButtonProps, children: /* @__PURE__ */ jsx(ChevronRightIcon, {}) })
49
+ ] });
50
+ }
51
+ const DateTimePicker = React.forwardRef(
52
+ ({ css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config }, fowardedRef) => {
53
+ const {
54
+ data: { calendars, months, time, weekDays, years },
55
+ propGetters: {
56
+ addOffset,
57
+ dayButton,
58
+ monthButton,
59
+ nextYearsButton,
60
+ previousYearsButton,
61
+ subtractOffset,
62
+ timeButton,
63
+ yearButton
64
+ }
65
+ } = useDatePicker(config);
66
+ const [page, setPage] = useState(0);
67
+ const { days, month, year } = calendars[0];
68
+ return /* @__PURE__ */ jsx(StyledDiv, { css, ref: fowardedRef, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "2", css: { display: "inline-flex" }, children: [
69
+ /* @__PURE__ */ jsxs(Flex, { children: [
70
+ /* @__PURE__ */ jsxs(
71
+ Box,
72
+ {
73
+ css: {
74
+ flex: 1,
75
+ minHeight: config.calendar?.mode === "fluid" ? "244px" : "280px",
76
+ minWidth: "268px"
77
+ },
78
+ children: [
79
+ /* @__PURE__ */ jsxs(
80
+ Flex,
81
+ {
82
+ direction: "column",
83
+ css: { display: page === 0 ? "flex" : "none", height: "100%" },
84
+ children: [
85
+ /* @__PURE__ */ jsx(
86
+ Header,
87
+ {
88
+ centerButtonLabel: month,
89
+ centerButtonOnClick: () => setPage(1),
90
+ leftButtonProps: subtractOffset({ months: 1 }),
91
+ rightButtonProps: addOffset({ months: 1 })
92
+ }
93
+ ),
94
+ /* @__PURE__ */ jsxs(SevenColGrid, { children: [
95
+ weekDays.map((weekDay, index) => /* @__PURE__ */ jsx(Text, { css: { lineHeight: "$sizes$6", textAlign: "center" }, children: weekDay }, index)),
96
+ days.map((d) => /* @__PURE__ */ jsx(
97
+ Button,
98
+ {
99
+ type: "button",
100
+ css: {
101
+ width: "32px",
102
+ px: 0,
103
+ color: !d.disabled && !d.inCurrentMonth && !d.selected ? "$textSubtle" : void 0,
104
+ fontWeight: d.now && !d.selected ? "$bold" : void 0,
105
+ textAlign: "center"
106
+ },
107
+ ghost: !d.selected,
108
+ variant: d.now || d.selected ? "primary" : "secondary",
109
+ ...dayButton(d),
110
+ tabIndex: dayButton(d).disabled ? dayButton(d).tabIndex : 0,
111
+ children: d.day
112
+ },
113
+ d.$date.toString()
114
+ ))
115
+ ] })
116
+ ]
117
+ }
118
+ ),
119
+ /* @__PURE__ */ jsxs(
120
+ Flex,
121
+ {
122
+ direction: "column",
123
+ css: { display: page === 1 ? "flex" : "none", height: "100%" },
124
+ children: [
125
+ /* @__PURE__ */ jsx(
126
+ Header,
127
+ {
128
+ centerButtonLabel: year,
129
+ centerButtonOnClick: () => setPage(2),
130
+ leftButtonProps: subtractOffset({ years: 1 }),
131
+ rightButtonProps: addOffset({ years: 1 })
132
+ }
133
+ ),
134
+ /* @__PURE__ */ jsx(ThreeColGrid, { children: months.map((m) => /* @__PURE__ */ jsx(
135
+ Button,
136
+ {
137
+ type: "button",
138
+ css: {
139
+ px: 0,
140
+ fontWeight: m.now && !m.selected ? "$bold" : void 0,
141
+ textAlign: "center"
142
+ },
143
+ ghost: !m.selected,
144
+ variant: m.now || m.selected ? "primary" : "secondary",
145
+ ...monthButton(m),
146
+ onClick: (evt) => {
147
+ setPage(0);
148
+ const fn = monthButton(m).onClick;
149
+ if (typeof fn !== "undefined") fn(evt);
150
+ },
151
+ tabIndex: monthButton(m).disabled ? monthButton(m).tabIndex : 0,
152
+ children: m.month
153
+ },
154
+ m.$date.toString()
155
+ )) })
156
+ ]
157
+ }
158
+ ),
159
+ /* @__PURE__ */ jsxs(
160
+ Flex,
161
+ {
162
+ direction: "column",
163
+ css: { display: page === 2 ? "flex" : "none", height: "100%" },
164
+ children: [
165
+ /* @__PURE__ */ jsx(
166
+ Header,
167
+ {
168
+ centerButtonLabel: `${years[0].year} - ${years[years.length - 1].year}`,
169
+ centerButtonOnClick: () => setPage(0),
170
+ leftButtonProps: previousYearsButton(),
171
+ rightButtonProps: nextYearsButton()
172
+ }
173
+ ),
174
+ /* @__PURE__ */ jsx(ThreeColGrid, { children: years.map((y) => /* @__PURE__ */ jsx(
175
+ Button,
176
+ {
177
+ type: "button",
178
+ css: {
179
+ px: 0,
180
+ fontWeight: y.now && !y.selected ? "$bold" : void 0,
181
+ textAlign: "center"
182
+ },
183
+ ghost: !y.selected,
184
+ variant: y.now || y.selected ? "primary" : "secondary",
185
+ ...yearButton(y),
186
+ onClick: (evt) => {
187
+ setPage(0);
188
+ const fn = yearButton(y).onClick;
189
+ if (typeof fn !== "undefined") fn(evt);
190
+ },
191
+ tabIndex: yearButton(y).disabled ? yearButton(y).tabIndex : 0,
192
+ children: y.year
193
+ },
194
+ y.$date.toString()
195
+ )) })
196
+ ]
197
+ }
198
+ )
199
+ ]
200
+ }
201
+ ),
202
+ showTimePicker ? /* @__PURE__ */ jsx(Box, { css: { flex: 1, width: "90px", position: "relative", overflow: "auto" }, children: /* @__PURE__ */ jsxs(
203
+ Flex,
204
+ {
205
+ direction: "column",
206
+ gap: "1",
207
+ css: { position: "absolute", top: 0, left: 0, height: "100%", width: "100%" },
208
+ children: [
209
+ /* @__PURE__ */ jsx(Text, { css: { mt: "32px", ml: "8px", lineHeight: "$sizes$6" }, children: "Time" }),
210
+ /* @__PURE__ */ jsx(Flex, { direction: "column", gap: "1", css: { overflow: "auto", px: "$2" }, children: time.map((t) => /* @__PURE__ */ jsx(
211
+ Button,
212
+ {
213
+ type: "button",
214
+ css: {
215
+ px: "$2",
216
+ fontWeight: t.now && !t.selected ? "$bold" : void 0,
217
+ textAlign: "center"
218
+ },
219
+ ghost: !t.selected,
220
+ variant: t.now || t.selected ? "primary" : "secondary",
221
+ ...timeButton(t),
222
+ onClick: (evt) => {
223
+ const fn = timeButton(t).onClick;
224
+ if (typeof fn !== "undefined") fn(evt);
225
+ if (typeof onTimeButtonClick !== "undefined") onTimeButtonClick();
226
+ },
227
+ tabIndex: timeButton(t).disabled ? timeButton(t).tabIndex : 0,
228
+ children: t.time
229
+ },
230
+ t.$date.toString()
231
+ )) })
232
+ ]
233
+ }
234
+ ) }) : void 0
235
+ ] }),
236
+ showDatePresets ? /* @__PURE__ */ jsxs(Flex, { gap: "2", children: [
237
+ /* @__PURE__ */ jsx(
238
+ Button,
239
+ {
240
+ type: "button",
241
+ css: { flex: "1 1 0" },
242
+ variant: "secondary",
243
+ onClick: () => {
244
+ config.onDatesChange([addMonths(/* @__PURE__ */ new Date(), 1)]);
245
+ if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
246
+ },
247
+ children: "Now + 1 M"
248
+ }
249
+ ),
250
+ /* @__PURE__ */ jsx(
251
+ Button,
252
+ {
253
+ type: "button",
254
+ css: { flex: "1 1 0" },
255
+ variant: "secondary",
256
+ onClick: () => {
257
+ config.onDatesChange([addMonths(/* @__PURE__ */ new Date(), 3)]);
258
+ if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
259
+ },
260
+ children: "Now + 3 M"
261
+ }
262
+ ),
263
+ showTimePicker ? /* @__PURE__ */ jsx(
264
+ Button,
265
+ {
266
+ type: "button",
267
+ css: { flex: "1 1 0" },
268
+ variant: "secondary",
269
+ onClick: () => {
270
+ config.onDatesChange([addYears(/* @__PURE__ */ new Date(), 1)]);
271
+ if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
272
+ },
273
+ children: "Now + 1 Y"
274
+ }
275
+ ) : void 0
276
+ ] }) : void 0
277
+ ] }) });
278
+ }
279
+ );
280
+ export {
281
+ DateTimePicker
282
+ };
283
+ //# sourceMappingURL=DateTimePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker.js","sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"names":[],"mappings":"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"}