@pautena/react-design-system 0.14.8 → 0.16.0

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 (428) hide show
  1. package/README.md +2 -2
  2. package/action/action-header.d.ts +1 -1
  3. package/action/action.d.ts +1 -1
  4. package/action/cjs/index.js +1 -1
  5. package/action/cjs/index.js.map +1 -1
  6. package/action/cjs/package.json +3 -4
  7. package/action/index.js +1 -1
  8. package/action/index.js.map +1 -1
  9. package/action/package.json +3 -4
  10. package/autocomplete/autocomplete.d.ts +1 -1
  11. package/autocomplete/cjs/index.js +1 -1
  12. package/autocomplete/cjs/index.js.map +1 -1
  13. package/autocomplete/cjs/package.json +2 -2
  14. package/autocomplete/index.js +1 -1
  15. package/autocomplete/index.js.map +1 -1
  16. package/autocomplete/package.json +2 -2
  17. package/board/board.d.ts +2 -3
  18. package/board/cjs/index.js +1 -1
  19. package/board/cjs/index.js.map +1 -1
  20. package/board/cjs/package.json +3 -4
  21. package/board/index.js +1 -1
  22. package/board/index.js.map +1 -1
  23. package/board/package.json +3 -4
  24. package/bootstrap-dialog/bootstrap-dialog.d.ts +1 -1
  25. package/bootstrap-dialog/cjs/index.js +1 -1
  26. package/bootstrap-dialog/cjs/index.js.map +1 -1
  27. package/bootstrap-dialog/cjs/package.json +3 -4
  28. package/bootstrap-dialog/index.js +1 -1
  29. package/bootstrap-dialog/index.js.map +1 -1
  30. package/bootstrap-dialog/package.json +3 -4
  31. package/bullet/bullet.d.ts +1 -1
  32. package/bullet/cjs/index.js +1 -1
  33. package/bullet/cjs/index.js.map +1 -1
  34. package/bullet/cjs/package.json +2 -2
  35. package/bullet/package.json +2 -2
  36. package/center-container/center-container.d.ts +1 -1
  37. package/center-container/cjs/index.js +1 -1
  38. package/center-container/cjs/index.js.map +1 -1
  39. package/center-container/cjs/package.json +2 -2
  40. package/center-container/package.json +2 -2
  41. package/cjs/index.js +1 -23
  42. package/cjs/index.js.map +1 -1
  43. package/confirm-dialog/cjs/index.js +1 -1
  44. package/confirm-dialog/cjs/index.js.map +1 -1
  45. package/confirm-dialog/cjs/package.json +3 -4
  46. package/confirm-dialog/confirm-dialog.d.ts +1 -1
  47. package/confirm-dialog/index.js +1 -1
  48. package/confirm-dialog/index.js.map +1 -1
  49. package/confirm-dialog/package.json +3 -4
  50. package/content/cjs/index.js +1 -1
  51. package/content/cjs/index.js.map +1 -1
  52. package/content/cjs/package.json +2 -2
  53. package/content/content.d.ts +1 -1
  54. package/content/package.json +2 -2
  55. package/content-placeholder/cjs/index.js +1 -1
  56. package/content-placeholder/cjs/index.js.map +1 -1
  57. package/content-placeholder/cjs/package.json +2 -2
  58. package/content-placeholder/content-placeholder.d.ts +1 -1
  59. package/content-placeholder/package.json +2 -2
  60. package/date-range-calendar/cjs/index.js +1 -1
  61. package/date-range-calendar/cjs/index.js.map +1 -1
  62. package/date-range-calendar/cjs/package.json +4 -4
  63. package/date-range-calendar/date-range-calendar.d.ts +1 -1
  64. package/date-range-calendar/index.js +1 -1
  65. package/date-range-calendar/index.js.map +1 -1
  66. package/date-range-calendar/package.json +4 -4
  67. package/date-range-picker/cjs/index.js +1 -1
  68. package/date-range-picker/cjs/index.js.map +1 -1
  69. package/date-range-picker/cjs/package.json +5 -5
  70. package/date-range-picker/date-range-picker.d.ts +1 -1
  71. package/date-range-picker/index.js +1 -1
  72. package/date-range-picker/index.js.map +1 -1
  73. package/date-range-picker/package.json +5 -5
  74. package/dialog/cjs/index.js +1 -1
  75. package/dialog/cjs/index.js.map +1 -1
  76. package/dialog/cjs/package.json +1 -1
  77. package/dialog/package.json +1 -1
  78. package/dialog/use-dialog.d.ts +0 -1
  79. package/drawer/cjs/index.js +1 -1
  80. package/drawer/cjs/index.js.map +1 -1
  81. package/drawer/cjs/package.json +3 -3
  82. package/drawer/drawer.d.ts +0 -1
  83. package/drawer/index.js.map +1 -1
  84. package/drawer/package.json +3 -3
  85. package/drawer-app-bar/cjs/index.js +1 -1
  86. package/drawer-app-bar/cjs/index.js.map +1 -1
  87. package/drawer-app-bar/cjs/package.json +3 -3
  88. package/drawer-app-bar/drawer-app-bar.d.ts +1 -1
  89. package/drawer-app-bar/index.js.map +1 -1
  90. package/drawer-app-bar/package.json +3 -3
  91. package/drawer-content/cjs/index.js +1 -1
  92. package/drawer-content/cjs/index.js.map +1 -1
  93. package/drawer-content/cjs/package.json +3 -4
  94. package/drawer-content/index.js +1 -1
  95. package/drawer-content/index.js.map +1 -1
  96. package/drawer-content/package.json +3 -4
  97. package/drawer-item/cjs/index.js +1 -1
  98. package/drawer-item/cjs/index.js.map +1 -1
  99. package/drawer-item/cjs/package.json +3 -4
  100. package/drawer-item/drawer-item-link.d.ts +1 -1
  101. package/drawer-item/drawer-item.d.ts +1 -1
  102. package/drawer-item/drawer-menu-item.d.ts +1 -1
  103. package/drawer-item/index.js +1 -1
  104. package/drawer-item/index.js.map +1 -1
  105. package/drawer-item/package.json +3 -4
  106. package/drawer-layout/cjs/index.js +1 -1
  107. package/drawer-layout/cjs/index.js.map +1 -1
  108. package/drawer-layout/cjs/package.json +3 -3
  109. package/drawer-layout/drawer-layout.d.ts +1 -1
  110. package/drawer-layout/index.js.map +1 -1
  111. package/drawer-layout/package.json +3 -3
  112. package/drawer-main/cjs/index.js +1 -1
  113. package/drawer-main/cjs/index.js.map +1 -1
  114. package/drawer-main/cjs/package.json +3 -3
  115. package/drawer-main/drawer-main.d.ts +1 -1
  116. package/drawer-main/index.js.map +1 -1
  117. package/drawer-main/package.json +3 -3
  118. package/drawer-provider/cjs/index.js +1 -1
  119. package/drawer-provider/cjs/index.js.map +1 -1
  120. package/drawer-provider/cjs/package.json +3 -3
  121. package/drawer-provider/drawer-context.d.ts +0 -1
  122. package/drawer-provider/drawer.provider.d.ts +1 -1
  123. package/drawer-provider/index.js.map +1 -1
  124. package/drawer-provider/package.json +3 -3
  125. package/drawer-section/cjs/index.js +1 -1
  126. package/drawer-section/cjs/index.js.map +1 -1
  127. package/drawer-section/cjs/package.json +3 -4
  128. package/drawer-section/drawer-section.d.ts +1 -1
  129. package/drawer-section/index.js +1 -1
  130. package/drawer-section/index.js.map +1 -1
  131. package/drawer-section/package.json +3 -4
  132. package/drawer-subheader/cjs/index.js +1 -1
  133. package/drawer-subheader/cjs/index.js.map +1 -1
  134. package/drawer-subheader/cjs/package.json +1 -1
  135. package/drawer-subheader/drawer-subheader.d.ts +1 -12
  136. package/drawer-subheader/package.json +1 -1
  137. package/enhanced-remote-table/cjs/index.js +1 -23
  138. package/enhanced-remote-table/cjs/index.js.map +1 -1
  139. package/enhanced-remote-table/cjs/package.json +3 -3
  140. package/enhanced-remote-table/enhanced-remote-table.d.ts +1 -1
  141. package/enhanced-remote-table/enhanced-remote-table.mock.d.ts +1 -1
  142. package/enhanced-remote-table/index.js +1 -23
  143. package/enhanced-remote-table/index.js.map +1 -1
  144. package/enhanced-remote-table/package.json +3 -3
  145. package/enhanced-table/cjs/index.js +1 -23
  146. package/enhanced-table/cjs/index.js.map +1 -1
  147. package/enhanced-table/cjs/package.json +3 -3
  148. package/enhanced-table/enhanced-table-head.d.ts +1 -1
  149. package/enhanced-table/enhanced-table.d.ts +1 -1
  150. package/enhanced-table/enhanced-table.mock.d.ts +1 -1
  151. package/enhanced-table/index.js +1 -23
  152. package/enhanced-table/index.js.map +1 -1
  153. package/enhanced-table/package.json +3 -3
  154. package/expandable-alert/cjs/index.js +1 -1
  155. package/expandable-alert/cjs/index.js.map +1 -1
  156. package/expandable-alert/cjs/package.json +3 -4
  157. package/expandable-alert/index.js +1 -1
  158. package/expandable-alert/index.js.map +1 -1
  159. package/expandable-alert/package.json +3 -4
  160. package/form-dialog/cjs/index.js +1 -1
  161. package/form-dialog/cjs/index.js.map +1 -1
  162. package/form-dialog/cjs/package.json +3 -4
  163. package/form-dialog/form-dialog.d.ts +1 -1
  164. package/form-dialog/index.js +1 -1
  165. package/form-dialog/index.js.map +1 -1
  166. package/form-dialog/package.json +3 -4
  167. package/generators/cjs/index.js +1 -1
  168. package/generators/cjs/index.js.map +1 -1
  169. package/generators/index.js.map +1 -1
  170. package/group-value-card/cjs/index.js +1 -1
  171. package/group-value-card/cjs/index.js.map +1 -1
  172. package/group-value-card/cjs/package.json +2 -2
  173. package/group-value-card/group-value-card.d.ts +1 -1
  174. package/group-value-card/group-value-card.mock.d.ts +2 -2
  175. package/group-value-card/index.js.map +1 -1
  176. package/group-value-card/package.json +2 -2
  177. package/header/cjs/index.js +1 -1
  178. package/header/cjs/index.js.map +1 -1
  179. package/header/cjs/package.json +2 -3
  180. package/header/header-title.d.ts +2 -2
  181. package/header/index.js +1 -1
  182. package/header/index.js.map +1 -1
  183. package/header/package.json +2 -3
  184. package/header-layout/cjs/index.js +1 -1
  185. package/header-layout/cjs/index.js.map +1 -1
  186. package/header-layout/cjs/package.json +3 -3
  187. package/header-layout/header-layout.d.ts +1 -1
  188. package/header-layout/index.js.map +1 -1
  189. package/header-layout/package.json +3 -3
  190. package/index.d.ts +0 -2
  191. package/index.js +1 -23
  192. package/index.js.map +1 -1
  193. package/label/cjs/index.js +1 -1
  194. package/label/cjs/index.js.map +1 -1
  195. package/label/cjs/package.json +2 -2
  196. package/label/index.js.map +1 -1
  197. package/label/label.d.ts +1 -1
  198. package/label/package.json +2 -2
  199. package/link-card/cjs/index.js +1 -1
  200. package/link-card/cjs/index.js.map +1 -1
  201. package/link-card/cjs/package.json +2 -3
  202. package/link-card/index.js +1 -1
  203. package/link-card/index.js.map +1 -1
  204. package/link-card/link-card.d.ts +1 -1
  205. package/link-card/package.json +2 -3
  206. package/list-panel/cjs/index.js +1 -1
  207. package/list-panel/cjs/index.js.map +1 -1
  208. package/list-panel/cjs/package.json +2 -3
  209. package/list-panel/index.js +1 -1
  210. package/list-panel/index.js.map +1 -1
  211. package/list-panel/list-panel-panel.d.ts +1 -1
  212. package/list-panel/list-panel.context.d.ts +0 -1
  213. package/list-panel/list-panel.d.ts +1 -1
  214. package/list-panel/list-panel.mocks.d.ts +1 -1
  215. package/list-panel/package.json +2 -3
  216. package/loading-area/cjs/index.js +1 -1
  217. package/loading-area/cjs/index.js.map +1 -1
  218. package/loading-area/cjs/package.json +2 -2
  219. package/loading-area/loading-area.d.ts +1 -1
  220. package/loading-area/package.json +2 -2
  221. package/markdown/cjs/index.js +1 -1
  222. package/markdown/cjs/index.js.map +1 -1
  223. package/markdown/cjs/package.json +1 -3
  224. package/markdown/index.js +1 -1
  225. package/markdown/index.js.map +1 -1
  226. package/markdown/markdown.d.ts +45 -7
  227. package/markdown/package.json +1 -3
  228. package/model-form/cjs/index.js +1 -1
  229. package/model-form/cjs/index.js.map +1 -1
  230. package/model-form/cjs/package.json +3 -3
  231. package/model-form/index.js.map +1 -1
  232. package/model-form/model-form-field.d.ts +1 -1
  233. package/model-form/model-form.d.ts +1 -1
  234. package/model-form/package.json +3 -3
  235. package/notification-center/cjs/index.js +1 -1
  236. package/notification-center/cjs/index.js.map +1 -1
  237. package/notification-center/cjs/package.json +2 -2
  238. package/notification-center/index.js +1 -1
  239. package/notification-center/index.js.map +1 -1
  240. package/notification-center/notification-center.context.d.ts +0 -1
  241. package/notification-center/notification-center.provider.d.ts +1 -1
  242. package/notification-center/package.json +2 -2
  243. package/object-details/cjs/index.js +1 -1
  244. package/object-details/cjs/index.js.map +1 -1
  245. package/object-details/cjs/package.json +6 -6
  246. package/object-details/index.js.map +1 -1
  247. package/object-details/object-details.d.ts +1 -1
  248. package/object-details/package.json +6 -6
  249. package/package.json +23 -33
  250. package/placeholder/cjs/index.js +1 -1
  251. package/placeholder/cjs/index.js.map +1 -1
  252. package/placeholder/cjs/package.json +2 -2
  253. package/placeholder/package.json +2 -2
  254. package/placeholder/placeholder.d.ts +1 -1
  255. package/query-container/cjs/index.js +1 -1
  256. package/query-container/cjs/index.js.map +1 -1
  257. package/query-container/cjs/package.json +2 -2
  258. package/query-container/index.js.map +1 -1
  259. package/query-container/package.json +2 -2
  260. package/query-container/query-container.d.ts +1 -1
  261. package/search-input/cjs/index.js +1 -1
  262. package/search-input/cjs/index.js.map +1 -1
  263. package/search-input/cjs/package.json +4 -4
  264. package/search-input/index.js.map +1 -1
  265. package/search-input/package.json +4 -4
  266. package/search-input/search-input.d.ts +1 -1
  267. package/select/cjs/index.js +1 -1
  268. package/select/cjs/index.js.map +1 -1
  269. package/select/cjs/package.json +2 -2
  270. package/select/index.js.map +1 -1
  271. package/select/package.json +2 -2
  272. package/select/select.d.ts +1 -1
  273. package/sign-in/cjs/index.js +1 -1
  274. package/sign-in/cjs/index.js.map +1 -1
  275. package/sign-in/cjs/package.json +2 -3
  276. package/sign-in/index.js +1 -1
  277. package/sign-in/index.js.map +1 -1
  278. package/sign-in/package.json +2 -3
  279. package/sign-in/sign-in.d.ts +1 -1
  280. package/skeleton-card/cjs/index.js +1 -1
  281. package/skeleton-card/cjs/index.js.map +1 -1
  282. package/skeleton-card/cjs/package.json +2 -2
  283. package/skeleton-card/package.json +2 -2
  284. package/skeleton-card/skeleton-card.d.ts +1 -1
  285. package/skeleton-grid/cjs/index.js +1 -1
  286. package/skeleton-grid/cjs/index.js.map +1 -1
  287. package/skeleton-grid/cjs/package.json +2 -2
  288. package/skeleton-grid/package.json +2 -2
  289. package/skeleton-grid/skeleton-grid.d.ts +1 -1
  290. package/tab-card/cjs/index.js +1 -1
  291. package/tab-card/cjs/index.js.map +1 -1
  292. package/tab-card/cjs/package.json +2 -2
  293. package/tab-card/index.js.map +1 -1
  294. package/tab-card/package.json +2 -2
  295. package/tab-card/tab-card-panel.d.ts +1 -1
  296. package/tab-card/tab-card.d.ts +1 -1
  297. package/tab-card/tab-card.dummy.d.ts +2 -2
  298. package/tab-panel/cjs/index.js +1 -1
  299. package/tab-panel/cjs/index.js.map +1 -1
  300. package/tab-panel/cjs/package.json +2 -2
  301. package/tab-panel/package.json +2 -2
  302. package/tab-panel/tab-panel.d.ts +1 -2
  303. package/tab-provider/cjs/index.js +1 -1
  304. package/tab-provider/cjs/index.js.map +1 -1
  305. package/tab-provider/cjs/package.json +1 -1
  306. package/tab-provider/package.json +1 -1
  307. package/tab-provider/tab-provider.provider.d.ts +1 -1
  308. package/table-list/cjs/index.js +1 -23
  309. package/table-list/cjs/index.js.map +1 -1
  310. package/table-list/cjs/package.json +3 -3
  311. package/table-list/index.js +1 -23
  312. package/table-list/index.js.map +1 -1
  313. package/table-list/package.json +3 -3
  314. package/table-list/table-list.d.ts +1 -1
  315. package/text-field/cjs/index.js +1 -1
  316. package/text-field/cjs/index.js.map +1 -1
  317. package/text-field/cjs/package.json +2 -2
  318. package/text-field/index.js +1 -1
  319. package/text-field/index.js.map +1 -1
  320. package/text-field/package.json +2 -2
  321. package/text-field/text-field.d.ts +1 -1
  322. package/utils/cjs/index.js +1 -1
  323. package/utils/cjs/index.js.map +1 -1
  324. package/utils/cjs/package.json +1 -1
  325. package/utils/index.js.map +1 -1
  326. package/utils/package.json +1 -1
  327. package/utils/theme.d.ts +2 -2
  328. package/value-base/cjs/index.js +1 -1
  329. package/value-base/cjs/index.js.map +1 -1
  330. package/value-base/cjs/package.json +3 -3
  331. package/value-base/index.js.map +1 -1
  332. package/value-base/package.json +3 -3
  333. package/value-base/value-edit.d.ts +3 -4
  334. package/value-boolean/cjs/index.js +1 -1
  335. package/value-boolean/cjs/index.js.map +1 -1
  336. package/value-boolean/cjs/package.json +3 -3
  337. package/value-boolean/index.js.map +1 -1
  338. package/value-boolean/package.json +3 -3
  339. package/value-boolean/value-boolean.d.ts +1 -1
  340. package/value-card/cjs/index.js +1 -1
  341. package/value-card/cjs/index.js.map +1 -1
  342. package/value-card/cjs/package.json +2 -2
  343. package/value-card/package.json +2 -2
  344. package/value-card/value-card.d.ts +1 -1
  345. package/value-content/cjs/index.js +1 -1
  346. package/value-content/cjs/index.js.map +1 -1
  347. package/value-content/cjs/package.json +2 -2
  348. package/value-content/index.js.map +1 -1
  349. package/value-content/package.json +2 -2
  350. package/value-content/value-content.d.ts +1 -2
  351. package/value-datetime/cjs/index.js +1 -1
  352. package/value-datetime/cjs/index.js.map +1 -1
  353. package/value-datetime/cjs/package.json +5 -5
  354. package/value-datetime/index.js.map +1 -1
  355. package/value-datetime/package.json +5 -5
  356. package/value-datetime/value-datetime.d.ts +1 -1
  357. package/value-image/cjs/index.js +1 -1
  358. package/value-image/cjs/index.js.map +1 -1
  359. package/value-image/cjs/package.json +2 -2
  360. package/value-image/index.js.map +1 -1
  361. package/value-image/package.json +2 -2
  362. package/value-image/value-image.d.ts +1 -1
  363. package/value-item/cjs/index.js +1 -1
  364. package/value-item/cjs/index.js.map +1 -1
  365. package/value-item/cjs/package.json +2 -2
  366. package/value-item/index.js.map +1 -1
  367. package/value-item/package.json +2 -2
  368. package/value-label/cjs/index.js +1 -1
  369. package/value-label/cjs/index.js.map +1 -1
  370. package/value-label/cjs/package.json +3 -3
  371. package/value-label/index.js +1 -1
  372. package/value-label/index.js.map +1 -1
  373. package/value-label/package.json +3 -3
  374. package/value-label/value-label.d.ts +1 -1
  375. package/value-rating/cjs/index.js +1 -1
  376. package/value-rating/cjs/index.js.map +1 -1
  377. package/value-rating/cjs/package.json +3 -3
  378. package/value-rating/index.js +1 -1
  379. package/value-rating/index.js.map +1 -1
  380. package/value-rating/package.json +3 -3
  381. package/value-rating/value-rating.d.ts +1 -1
  382. package/value-text/cjs/index.js +1 -1
  383. package/value-text/cjs/index.js.map +1 -1
  384. package/value-text/cjs/package.json +3 -3
  385. package/value-text/index.js.map +1 -1
  386. package/value-text/package.json +3 -3
  387. package/value-text/value-text.d.ts +1 -1
  388. package/hooks/cjs/index.js +0 -2
  389. package/hooks/cjs/index.js.map +0 -1
  390. package/hooks/cjs/package.json +0 -11
  391. package/hooks/index.d.ts +0 -1
  392. package/hooks/index.js +0 -2
  393. package/hooks/index.js.map +0 -1
  394. package/hooks/package.json +0 -11
  395. package/hooks/routing/index.d.ts +0 -1
  396. package/hooks/routing/routing.hooks.d.ts +0 -6
  397. package/link/cjs/index.js +0 -2
  398. package/link/cjs/index.js.map +0 -1
  399. package/link/cjs/package.json +0 -12
  400. package/link/index.d.ts +0 -1
  401. package/link/index.js +0 -2
  402. package/link/index.js.map +0 -1
  403. package/link/link.d.ts +0 -7
  404. package/link/package.json +0 -12
  405. package/lorem-ipsum-placeholder/cjs/index.js +0 -2
  406. package/lorem-ipsum-placeholder/cjs/index.js.map +0 -1
  407. package/lorem-ipsum-placeholder/cjs/package.json +0 -12
  408. package/lorem-ipsum-placeholder/index.d.ts +0 -1
  409. package/lorem-ipsum-placeholder/index.js +0 -2
  410. package/lorem-ipsum-placeholder/index.js.map +0 -1
  411. package/lorem-ipsum-placeholder/lorem-ipsum-placeholder.d.ts +0 -8
  412. package/lorem-ipsum-placeholder/package.json +0 -12
  413. package/model-router/cjs/index.js +0 -24
  414. package/model-router/cjs/index.js.map +0 -1
  415. package/model-router/cjs/package.json +0 -16
  416. package/model-router/index.d.ts +0 -2
  417. package/model-router/index.js +0 -24
  418. package/model-router/index.js.map +0 -1
  419. package/model-router/model-router.d.ts +0 -4
  420. package/model-router/model-router.types.d.ts +0 -9
  421. package/model-router/package.json +0 -16
  422. package/model-router/screens/add-screen.d.ts +0 -16
  423. package/model-router/screens/details-screen.d.ts +0 -20
  424. package/model-router/screens/index.d.ts +0 -4
  425. package/model-router/screens/list-screen.d.ts +0 -30
  426. package/model-router/screens/screens.types.d.ts +0 -31
  427. package/model-router/screens/update-screen.d.ts +0 -29
  428. package/model-router/stories/templates.d.ts +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/date-range-calendar/date-range-calendar.tsx","../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import Box, { BoxProps } from \"@mui/material/Box\";\nimport { styled } from \"@mui/material/styles\";\nimport { DateCalendar, PickersDay, PickersDayProps } from \"@mui/x-date-pickers\";\nimport { endOfWeek, format, isAfter, isSameDay, startOfWeek } from \"date-fns\";\nimport { isBefore } from \"date-fns/esm\";\nimport { useState } from \"react\";\n\ntype DateRange = [Date, Date | undefined];\n\ninterface CustomPickerDayProps extends BoxProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDayBackground = styled(Box, {\n shouldForwardProp: (prop) =>\n prop !== \"dayIsBetween\" &&\n prop !== \"isFirstDay\" &&\n prop !== \"isLastDay\" &&\n prop !== \"isStartOfWeek\" &&\n prop !== \"isEndOfWeek\",\n})<CustomPickerDayProps>(({ theme, dayIsBetween, isFirstDay, isLastDay }) => {\n return {\n ...((isFirstDay || isLastDay || dayIsBetween) && {\n borderRadius: 0,\n backgroundColor: `${theme.palette.primary.light}40`,\n margin: 0,\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n }),\n };\n}) as React.ComponentType<CustomPickerDayProps>;\n\nconst Day = (props: PickersDayProps<Date> & { dateRange?: DateRange | null }) => {\n const { day, dateRange, ...other } = props;\n\n if (dateRange == null) {\n return <PickersDay day={day} {...other} />;\n }\n\n const [start, end] = dateRange;\n\n const dayIsBetween = !!end && isAfter(day, start) && isBefore(day, end);\n const isFirstDay = isSameDay(day, start);\n const isLastDay = !!end && isSameDay(day, end);\n const isStartOfWeek = isSameDay(day, startOfWeek(day));\n const isEndOfWeek = isSameDay(day, endOfWeek(day));\n\n return (\n <CustomPickersDayBackground\n dayIsBetween={dayIsBetween}\n isFirstDay={isFirstDay || (dayIsBetween && isStartOfWeek)}\n isLastDay={isLastDay || (dayIsBetween && isEndOfWeek)}\n aria-label={format(day, \"yyyy-MM-dd\")}\n aria-selected={dayIsBetween || isFirstDay || isLastDay}\n role=\"gridcell\"\n >\n <PickersDay {...other} day={day} selected={isFirstDay || isLastDay} />\n </CustomPickersDayBackground>\n );\n};\n\nexport interface DateRangeCalendarProps {\n defaultValue: DateRange;\n onValueChange: (value: DateRange, updatedIndex: number) => void;\n}\nexport const DateRangeCalendar = ({ defaultValue, onValueChange }: DateRangeCalendarProps) => {\n const [value, setValue] = useState(defaultValue);\n const [index, setIndex] = useState(0);\n\n const setValueRange = (newRange: DateRange, index: number, newIndex: number) => {\n setValue(newRange);\n onValueChange(newRange, index);\n setIndex(newIndex);\n };\n\n const handleChange = (newValue: Date | null) => {\n if (!newValue) {\n return;\n }\n\n // If is the end date and is minor than the start date\n if (index === 1 && newValue < value[0]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // If is the start date and is bigger than the end date\n if (index === 0 && value[1] && newValue > value[1]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // Default case\n setValueRange(\n [index === 0 ? newValue : value[0], index === 1 ? newValue : value[1]],\n index,\n index === 0 ? 1 : 0,\n );\n };\n return (\n <DateCalendar\n value={null}\n onChange={handleChange}\n slots={{ day: Day }}\n slotProps={{\n day: {\n dateRange: value,\n } as any,\n }}\n aria-label=\"calendar range picker\"\n />\n );\n};\n","import { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport Paper from \"@mui/material/Paper\";\nimport EventIcon from \"@mui/icons-material/Event\";\nimport { DateRangeCalendar } from \"../date-range-calendar\";\n\ntype DateRange = [Date, Date | undefined];\nexport interface DateRangePickerProps {\n label: string;\n defaultValue: DateRange;\n format: string;\n fullWidth?: boolean;\n size?: \"small\" | \"medium\";\n onValueChange: (value: DateRange, index: number) => void;\n}\n\nexport const DateRangePicker = ({\n defaultValue,\n format: fmt,\n label,\n fullWidth,\n onValueChange,\n size = \"medium\",\n}: DateRangePickerProps) => {\n const [isPopoverOpened, setIsPopoverOpened] = useState(false);\n const [value, setValue] = useState(defaultValue);\n\n const handleValueChange = (newValue: DateRange, index: number) => {\n setValue(newValue);\n onValueChange(newValue, index);\n setIsPopoverOpened(index < 1);\n };\n\n return (\n <>\n <TextField\n label={label}\n fullWidth={fullWidth}\n size={size}\n value={`${format(value[0], fmt)} - ${value[1] ? format(value[1], fmt) : fmt.toUpperCase()}`}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton onClick={() => setIsPopoverOpened((o) => !o)} aria-label=\"open calendar\">\n <EventIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n <Paper>\n <Collapse in={isPopoverOpened} aria-label=\"calendar collapse\">\n <DateRangeCalendar defaultValue={defaultValue} onValueChange={handleValueChange} />\n </Collapse>\n </Paper>\n </>\n );\n};\n"],"names":["CustomPickersDayBackground","styled","Box","shouldForwardProp","prop","theme","dayIsBetween","isFirstDay","isLastDay","borderRadius","backgroundColor","palette","primary","light","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","Day","props","day","dateRange","other","_jsx","PickersDay","start","end","isAfter","isBefore","isSameDay","isStartOfWeek","startOfWeek","isEndOfWeek","endOfWeek","format","role","children","selected","DateRangeCalendar","defaultValue","onValueChange","value","setValue","useState","index","setIndex","setValueRange","newRange","newIndex","DateCalendar","onChange","newValue","undefined","slots","slotProps","DateRangePicker","fmt","label","fullWidth","size","isPopoverOpened","setIsPopoverOpened","_jsxs","_Fragment","TextField","toUpperCase","InputProps","endAdornment","InputAdornment","position","IconButton","onClick","o","EventIcon","Paper","Collapse","in"],"mappings":"smBAeA,MAAMA,EAA6BC,EAAOC,EAAK,CAC7CC,kBAAoBC,GACT,iBAATA,GACS,eAATA,GACS,cAATA,GACS,kBAATA,GACS,gBAATA,GAN+BH,EAOV,EAAGI,QAAOC,eAAcC,aAAYC,gBACpD,KACAD,GAAcC,GAAaF,IAAiB,CAC/CG,aAAc,EACdC,gBAAiB,GAAGL,EAAMM,QAAQC,QAAQC,UAC1CC,OAAQ,MAENP,GAAc,CAChBQ,oBAAqB,MACrBC,uBAAwB,UAEtBR,GAAa,CACfS,qBAAsB,MACtBC,wBAAyB,WAKzBC,EAAOC,IACX,MAAMC,IAAEA,EAAGC,UAAEA,KAAcC,GAAUH,EAErC,GAAiB,MAAbE,EACF,OAAOE,EAACC,EAAW,CAAAJ,IAAKA,KAASE,IAGnC,MAAOG,EAAOC,GAAOL,EAEfhB,IAAiBqB,GAAOC,EAAQP,EAAKK,IAAUG,EAASR,EAAKM,GAC7DpB,EAAauB,EAAUT,EAAKK,GAC5BlB,IAAcmB,GAAOG,EAAUT,EAAKM,GACpCI,EAAgBD,EAAUT,EAAKW,EAAYX,IAC3CY,EAAcH,EAAUT,EAAKa,EAAUb,IAE7C,OACEG,EAACxB,EAA0B,CACzBM,aAAcA,EACdC,WAAYA,GAAeD,GAAgByB,EAC3CvB,UAAWA,GAAcF,GAAgB2B,EAAY,aACzCE,EAAOd,EAAK,cAAa,gBACtBf,GAAgBC,GAAcC,EAC7C4B,KAAK,WAAUC,SAEfb,EAACC,EAAe,IAAAF,EAAOF,IAAKA,EAAKiB,SAAU/B,GAAcC,KAE3D,EAOS+B,EAAoB,EAAGC,eAAcC,oBAChD,MAAOC,EAAOC,GAAYC,EAASJ,IAC5BK,EAAOC,GAAYF,EAAS,GAE7BG,EAAgB,CAACC,EAAqBH,EAAeI,KACzDN,EAASK,GACTP,EAAcO,EAAUH,GACxBC,EAASG,EAAS,EAyBpB,OACEzB,EAAC0B,EAAY,CACXR,MAAO,KACPS,SAzBkBC,IACpB,GAAKA,EAKL,OAAc,IAAVP,GAAeO,EAAWV,EAAM,IAKtB,IAAVG,GAAeH,EAAM,IAAMU,EAAWV,EAAM,GAJvCK,EAAc,CAACK,OAAUC,GAAY,EAAG,QASjDN,EACE,CAAW,IAAVF,EAAcO,EAAWV,EAAM,GAAc,IAAVG,EAAcO,EAAWV,EAAM,IACnEG,EACU,IAAVA,EAAc,EAAI,EACnB,EAMCS,MAAO,CAAEjC,IAAKF,GACdoC,UAAW,CACTlC,IAAK,CACHC,UAAWoB,IAGJ,aAAA,yBAEb,ECjGSc,EAAkB,EAC7BhB,eACAL,OAAQsB,EACRC,QACAC,YACAlB,gBACAmB,OAAO,aAEP,MAAOC,EAAiBC,GAAsBlB,GAAS,IAChDF,EAAOC,GAAYC,EAASJ,GAQnC,OACEuB,EACEC,EAAA,CAAA3B,SAAA,CAAAb,EAACyC,EAAS,CACRP,MAAOA,EACPC,UAAWA,EACXC,KAAMA,EACNlB,MAAO,GAAGP,EAAOO,EAAM,GAAIe,QAAUf,EAAM,GAAKP,EAAOO,EAAM,GAAIe,GAAOA,EAAIS,gBAC5EC,WAAY,CACVC,aACE5C,EAAC6C,GAAeC,SAAS,MAAKjC,SAC5Bb,EAAC+C,EAAU,CAACC,QAAS,IAAMV,GAAoBW,IAAOA,IAAe,aAAA,yBACnEjD,EAACkD,EAAY,CAAA,UAMvBlD,EAACmD,EAAK,CAAAtC,SACJb,EAACoD,EAAS,CAAAC,GAAIhB,EAA4B,aAAA,oBACxCxB,SAAAb,EAACe,EAAiB,CAACC,aAAcA,EAAcC,cAzB7B,CAACW,EAAqBP,KAC9CF,EAASS,GACTX,EAAcW,EAAUP,GACxBiB,EAAmBjB,EAAQ,EAAE,UA0B7B"}
1
+ {"version":3,"file":"index.js","sources":["../../src/date-range-calendar/date-range-calendar.tsx","../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import Box, { BoxProps } from \"@mui/material/Box\";\nimport { styled } from \"@mui/material/styles\";\nimport { DateCalendar, PickersDay, PickersDayProps } from \"@mui/x-date-pickers\";\nimport { endOfWeek, format, isAfter, isBefore, isSameDay, startOfWeek } from \"date-fns\";\nimport { useState } from \"react\";\n\ntype DateRange = [Date, Date | undefined];\n\ninterface CustomPickerDayProps extends BoxProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDayBackground = styled(Box, {\n shouldForwardProp: (prop) =>\n prop !== \"dayIsBetween\" &&\n prop !== \"isFirstDay\" &&\n prop !== \"isLastDay\" &&\n prop !== \"isStartOfWeek\" &&\n prop !== \"isEndOfWeek\",\n})<CustomPickerDayProps>(({ theme, dayIsBetween, isFirstDay, isLastDay }) => {\n return {\n ...((isFirstDay || isLastDay || dayIsBetween) && {\n borderRadius: 0,\n backgroundColor: `${theme.palette.primary.light}40`,\n margin: 0,\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n }),\n };\n}) as React.ComponentType<CustomPickerDayProps>;\n\nconst Day = (props: PickersDayProps<Date> & { dateRange?: DateRange | null }) => {\n const { day, dateRange, ...other } = props;\n\n if (dateRange == null) {\n return <PickersDay day={day} {...other} />;\n }\n\n const [start, end] = dateRange;\n\n const dayIsBetween = !!end && isAfter(day, start) && isBefore(day, end);\n const isFirstDay = isSameDay(day, start);\n const isLastDay = !!end && isSameDay(day, end);\n const isStartOfWeek = isSameDay(day, startOfWeek(day));\n const isEndOfWeek = isSameDay(day, endOfWeek(day));\n\n return (\n <CustomPickersDayBackground\n dayIsBetween={dayIsBetween}\n isFirstDay={isFirstDay || (dayIsBetween && isStartOfWeek)}\n isLastDay={isLastDay || (dayIsBetween && isEndOfWeek)}\n aria-label={format(day, \"yyyy-MM-dd\")}\n aria-selected={dayIsBetween || isFirstDay || isLastDay}\n role=\"gridcell\"\n >\n <PickersDay {...other} day={day} selected={isFirstDay || isLastDay} />\n </CustomPickersDayBackground>\n );\n};\n\nexport interface DateRangeCalendarProps {\n defaultValue: DateRange;\n onValueChange: (value: DateRange, updatedIndex: number) => void;\n}\nexport const DateRangeCalendar = ({ defaultValue, onValueChange }: DateRangeCalendarProps) => {\n const [value, setValue] = useState(defaultValue);\n const [index, setIndex] = useState(0);\n\n const setValueRange = (newRange: DateRange, index: number, newIndex: number) => {\n setValue(newRange);\n onValueChange(newRange, index);\n setIndex(newIndex);\n };\n\n const handleChange = (newValue: Date | null) => {\n if (!newValue) {\n return;\n }\n\n // If is the end date and is minor than the start date\n if (index === 1 && newValue < value[0]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // If is the start date and is bigger than the end date\n if (index === 0 && value[1] && newValue > value[1]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // Default case\n setValueRange(\n [index === 0 ? newValue : value[0], index === 1 ? newValue : value[1]],\n index,\n index === 0 ? 1 : 0,\n );\n };\n return (\n <DateCalendar\n value={null}\n onChange={handleChange}\n slots={{ day: Day }}\n slotProps={{\n day: {\n dateRange: value,\n } as any,\n }}\n aria-label=\"calendar range picker\"\n />\n );\n};\n","import { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport Paper from \"@mui/material/Paper\";\nimport EventIcon from \"@mui/icons-material/Event\";\nimport { DateRangeCalendar } from \"../date-range-calendar\";\n\ntype DateRange = [Date, Date | undefined];\nexport interface DateRangePickerProps {\n label: string;\n defaultValue: DateRange;\n format: string;\n fullWidth?: boolean;\n size?: \"small\" | \"medium\";\n onValueChange: (value: DateRange, index: number) => void;\n}\n\nexport const DateRangePicker = ({\n defaultValue,\n format: fmt,\n label,\n fullWidth,\n onValueChange,\n size = \"medium\",\n}: DateRangePickerProps) => {\n const [isPopoverOpened, setIsPopoverOpened] = useState(false);\n const [value, setValue] = useState(defaultValue);\n\n const handleValueChange = (newValue: DateRange, index: number) => {\n setValue(newValue);\n onValueChange(newValue, index);\n setIsPopoverOpened(index < 1);\n };\n\n return (\n <>\n <TextField\n label={label}\n fullWidth={fullWidth}\n size={size}\n value={`${format(value[0], fmt)} - ${value[1] ? format(value[1], fmt) : fmt.toUpperCase()}`}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton onClick={() => setIsPopoverOpened((o) => !o)} aria-label=\"open calendar\">\n <EventIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n <Paper>\n <Collapse in={isPopoverOpened} aria-label=\"calendar collapse\">\n <DateRangeCalendar defaultValue={defaultValue} onValueChange={handleValueChange} />\n </Collapse>\n </Paper>\n </>\n );\n};\n"],"names":["CustomPickersDayBackground","styled","Box","shouldForwardProp","prop","theme","dayIsBetween","isFirstDay","isLastDay","borderRadius","backgroundColor","palette","primary","light","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","Day","props","day","dateRange","other","_jsx","PickersDay","start","end","isAfter","isBefore","isSameDay","isStartOfWeek","startOfWeek","isEndOfWeek","endOfWeek","format","role","children","selected","DateRangeCalendar","defaultValue","onValueChange","value","setValue","useState","index","setIndex","setValueRange","newRange","newIndex","DateCalendar","onChange","newValue","undefined","slots","slotProps","DateRangePicker","fmt","label","fullWidth","size","isPopoverOpened","setIsPopoverOpened","_jsxs","_Fragment","TextField","toUpperCase","InputProps","endAdornment","InputAdornment","position","IconButton","onClick","o","EventIcon","Paper","Collapse","in"],"mappings":"4kBAcA,MAAMA,EAA6BC,EAAOC,EAAK,CAC7CC,kBAAoBC,GACT,iBAATA,GACS,eAATA,GACS,cAATA,GACS,kBAATA,GACS,gBAATA,GAN+BH,EAOV,EAAGI,QAAOC,eAAcC,aAAYC,gBACpD,KACAD,GAAcC,GAAaF,IAAiB,CAC/CG,aAAc,EACdC,gBAAiB,GAAGL,EAAMM,QAAQC,QAAQC,UAC1CC,OAAQ,MAENP,GAAc,CAChBQ,oBAAqB,MACrBC,uBAAwB,UAEtBR,GAAa,CACfS,qBAAsB,MACtBC,wBAAyB,WAKzBC,EAAOC,IACX,MAAMC,IAAEA,EAAGC,UAAEA,KAAcC,GAAUH,EAErC,GAAiB,MAAbE,EACF,OAAOE,EAACC,EAAW,CAAAJ,IAAKA,KAASE,IAGnC,MAAOG,EAAOC,GAAOL,EAEfhB,IAAiBqB,GAAOC,EAAQP,EAAKK,IAAUG,EAASR,EAAKM,GAC7DpB,EAAauB,EAAUT,EAAKK,GAC5BlB,IAAcmB,GAAOG,EAAUT,EAAKM,GACpCI,EAAgBD,EAAUT,EAAKW,EAAYX,IAC3CY,EAAcH,EAAUT,EAAKa,EAAUb,IAE7C,OACEG,EAACxB,EAA0B,CACzBM,aAAcA,EACdC,WAAYA,GAAeD,GAAgByB,EAC3CvB,UAAWA,GAAcF,GAAgB2B,EAAY,aACzCE,EAAOd,EAAK,cAAa,gBACtBf,GAAgBC,GAAcC,EAC7C4B,KAAK,WAAUC,SAEfb,EAACC,EAAe,IAAAF,EAAOF,IAAKA,EAAKiB,SAAU/B,GAAcC,KAC9B,EAQpB+B,EAAoB,EAAGC,eAAcC,oBAChD,MAAOC,EAAOC,GAAYC,EAASJ,IAC5BK,EAAOC,GAAYF,EAAS,GAE7BG,EAAgB,CAACC,EAAqBH,EAAeI,KACzDN,EAASK,GACTP,EAAcO,EAAUH,GACxBC,EAASG,EAAS,EAyBpB,OACEzB,EAAC0B,EAAY,CACXR,MAAO,KACPS,SAzBkBC,IACpB,GAAKA,EAKL,OAAc,IAAVP,GAAeO,EAAWV,EAAM,IAKtB,IAAVG,GAAeH,EAAM,IAAMU,EAAWV,EAAM,GAJvCK,EAAc,CAACK,OAAUC,GAAY,EAAG,QASjDN,EACE,CAAW,IAAVF,EAAcO,EAAWV,EAAM,GAAc,IAAVG,EAAcO,EAAWV,EAAM,IACnEG,EACU,IAAVA,EAAc,EAAI,EACnB,EAMCS,MAAO,CAAEjC,IAAKF,GACdoC,UAAW,CACTlC,IAAK,CACHC,UAAWoB,IAGJ,aAAA,yBACX,EC/FOc,EAAkB,EAC7BhB,eACAL,OAAQsB,EACRC,QACAC,YACAlB,gBACAmB,OAAO,aAEP,MAAOC,EAAiBC,GAAsBlB,GAAS,IAChDF,EAAOC,GAAYC,EAASJ,GAQnC,OACEuB,EACEC,EAAA,CAAA3B,SAAA,CAAAb,EAACyC,EAAS,CACRP,MAAOA,EACPC,UAAWA,EACXC,KAAMA,EACNlB,MAAO,GAAGP,EAAOO,EAAM,GAAIe,QAAUf,EAAM,GAAKP,EAAOO,EAAM,GAAIe,GAAOA,EAAIS,gBAC5EC,WAAY,CACVC,aACE5C,EAAC6C,GAAeC,SAAS,MAAKjC,SAC5Bb,EAAC+C,EAAU,CAACC,QAAS,IAAMV,GAAoBW,IAAOA,IAAe,aAAA,yBACnEjD,EAACkD,EAAY,CAAA,UAMvBlD,EAACmD,EAAK,CAAAtC,SACJb,EAACoD,EAAS,CAAAC,GAAIhB,EAA4B,aAAA,oBACxCxB,SAAAb,EAACe,EAAiB,CAACC,aAAcA,EAAcC,cAzB7B,CAACW,EAAqBP,KAC9CF,EAASS,GACTX,EAAcW,EAAUP,GACxBiB,EAAmBjB,EAAQ,EAAE,UAyB1B"}
@@ -5,10 +5,10 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/icons-material": "^5.11.16",
9
- "@mui/material": "^5.13.6",
10
- "@mui/x-date-pickers": "^6.9.0",
11
- "date-fns": "^2.30.0",
12
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "@mui/x-date-pickers": "^7.27.0",
11
+ "date-fns": "^4.1.0",
12
+ "react": "^19.0.0"
13
13
  }
14
14
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.useDialog=(s=!1)=>{const[t,r]=e.useState(s);return{isOpen:t,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}};
1
+ "use strict";var e=require("react");exports.useDialog=(s=!1)=>{const[t,r]=e.useState(s);return{isOpen:t,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/dialog/use-dialog.ts"],"sourcesContent":["import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["intialOpen","isOpen","setIsOpen","useState","open","close"],"mappings":"6GAEyB,CAACA,GAAa,KACrC,MAAOC,EAAQC,GAAaC,EAAQA,SAACH,GAKrC,MAAO,CAAEC,SAAQG,KAHJ,IAAMF,GAAU,GAGNG,MAFT,IAAMH,GAAU,GAEAA,YAAW"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/dialog/use-dialog.ts"],"sourcesContent":["import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["intialOpen","isOpen","setIsOpen","useState","open","close"],"mappings":"sDAEyB,CAACA,GAAa,KACrC,MAAOC,EAAQC,GAAaC,EAAAA,SAASH,GAKrC,MAAO,CAAEC,SAAQG,KAHJ,IAAMF,GAAU,GAGNG,MAFT,IAAMH,GAAU,GAEAA,YAAW"}
@@ -5,6 +5,6 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "react": "^18.2.0"
8
+ "react": "^19.0.0"
9
9
  }
10
10
  }
@@ -5,6 +5,6 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "react": "^18.2.0"
8
+ "react": "^19.0.0"
9
9
  }
10
10
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const useDialog: (intialOpen?: boolean) => {
3
2
  isOpen: boolean;
4
3
  open: () => void;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material/styles"),t=require("@mui/material/Drawer"),i=require("@mui/material/Paper"),n=require("@mui/material/Divider"),a=require("@mui/material/IconButton"),s=require("@mui/icons-material/ChevronLeft"),o=require("react");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(t),l=d(n),u=d(a),c=d(s);const m=o.createContext(void 0),h=new Error("DrawerContext.Provider is required and was undefined"),x=e=>({width:240,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen}),overflowX:"hidden"}),w=e=>({transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),overflowX:"hidden",width:`calc(${e.spacing(7)} + 1px)`,[e.breakpoints.up("sm")]:{width:`calc(${e.spacing(8)} + 1px)`}}),f=r.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar}))),g={temporary:!0,mini:!0,persistent:!0,clipped:!1},v={temporary:"temporary",mini:"permanent",clipped:"permanent",persistent:"persistent"},y=()=>({}),C={mini:(e,r)=>({boxSizing:"border-box",[`& .${i.paperClasses.root}`]:{zIndex:r.zIndex.drawer-1}}),temporary:y,clipped:y,persistent:y};exports.Drawer=({children:i,...n})=>{const a=r.useTheme(),{state:s,switchState:d,underAppBar:y,close:j,drawerWidth:q,variant:b}=(()=>{const e=o.useContext(m);if(void 0===e)throw h;return e})(),D={width:q,flexShrink:0,whiteSpace:"nowrap",..."open"===s&&{...x(a),[`& .${t.drawerClasses.paper}`]:x(a)},..."open"!==s&&{...w(a),[`& .${t.drawerClasses.paper}`]:w(a)},...C[b](s,a)};return e.jsxs(p.default,{open:"open"===s,variant:v[b],role:"menu","aria-hidden":"close"===s,onClose:j,sx:D,...n,children:[e.jsx(f,{children:!y&&g[b]&&e.jsx(u.default,{onClick:d,children:e.jsx(c.default,{})})}),e.jsx(l.default,{}),i]})},exports.DrawerHeader=f,exports.getDrawerItemColors=(e,r)=>({color:r?e.palette.primary.main:void 0,fontWeight:r?e.typography.fontWeightBold:e.typography.fontWeightMedium});
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/styles"),i=require("@mui/material/Drawer"),t=require("@mui/material/Paper"),n=require("@mui/material/Divider"),a=require("@mui/material/IconButton"),s=require("@mui/icons-material/ChevronLeft"),o=require("react");const p=o.createContext(void 0),d=new Error("DrawerContext.Provider is required and was undefined"),l=e=>({width:240,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen}),overflowX:"hidden"}),c=e=>({transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),overflowX:"hidden",width:`calc(${e.spacing(7)} + 1px)`,[e.breakpoints.up("sm")]:{width:`calc(${e.spacing(8)} + 1px)`}}),m=r.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar}))),u={temporary:!0,mini:!0,persistent:!0,clipped:!1},h={temporary:"temporary",mini:"permanent",clipped:"permanent",persistent:"persistent"},w=()=>({}),x={mini:(e,r)=>({boxSizing:"border-box",[`& .${t.paperClasses.root}`]:{zIndex:r.zIndex.drawer-1}}),temporary:w,clipped:w,persistent:w};exports.Drawer=({children:t,...w})=>{const g=r.useTheme(),{state:v,switchState:y,underAppBar:f,close:C,drawerWidth:q,variant:j}=(()=>{const e=o.useContext(p);if(void 0===e)throw d;return e})(),D={width:q,flexShrink:0,whiteSpace:"nowrap",..."open"===v&&{...l(g),[`& .${i.drawerClasses.paper}`]:l(g)},..."open"!==v&&{...c(g),[`& .${i.drawerClasses.paper}`]:c(g)},...x[j](v,g)};return e.jsxs(i,{open:"open"===v,variant:h[j],role:"menu","aria-hidden":"close"===v,onClose:C,sx:D,...w,children:[e.jsx(m,{children:!f&&u[j]&&e.jsx(a,{onClick:y,children:e.jsx(s,{})})}),e.jsx(n,{}),t]})},exports.DrawerHeader=m,exports.getDrawerItemColors=(e,r)=>({color:r?e.palette.primary.main:void 0,fontWeight:r?e.typography.fontWeightBold:e.typography.fontWeightMedium});
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/drawer-provider/drawer-context.ts","../../../src/drawer-provider/drawer-mixins.ts","../../../src/drawer/drawer.tsx","../../../src/drawer/drawer.types.ts"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { Theme, CSSObject } from \"@mui/material/styles\";\n\nexport const drawerWidth = 240;\n\nexport const openedMixin = (theme: Theme): CSSObject => ({\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n overflowX: \"hidden\",\n});\n\nexport const closedMixin = (theme: Theme): CSSObject => ({\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: `calc(${theme.spacing(7)} + 1px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(${theme.spacing(8)} + 1px)`,\n },\n});\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import { FunctionComponent, ReactElement } from \"react\";\nimport { BulletVariant } from \"../bullet\";\nimport { LabelVariant } from \"../label\";\nimport { DrawerProps as MuiDrawerProps } from \"@mui/material/Drawer\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DrawerAppBarProps } from \"../drawer-app-bar\";\n\nexport type DrawerVariant = \"temporary\" | \"mini\" | \"persistent\" | \"clipped\";\nexport type DrawerState = \"open\" | \"collapse\" | \"close\";\nexport type DrawerSize = \"small\" | \"medium\";\n\nexport interface DrawerItemAvatar {\n src: string;\n alt: string;\n}\n\nexport interface DrawerItemLabel {\n text: string;\n variant: LabelVariant;\n}\n\nexport interface DrawerItemBullet {\n variant: BulletVariant;\n}\n\nexport interface DrawerNavigationItemLink {\n id: string;\n text: string;\n href: string;\n icon?: ReactElement;\n avatar?: DrawerItemAvatar;\n label?: DrawerItemLabel;\n bullet?: DrawerItemBullet;\n}\n\nexport type DrawerNavigationItemCollapsable = Pick<\n DrawerNavigationItemLink,\n \"id\" | \"text\" | \"icon\"\n> & {\n items: DrawerNavigationItem[];\n};\n\nexport type DrawerNavigationItem = DrawerNavigationItemLink | DrawerNavigationItemCollapsable;\n\nexport interface DrawerNavigationSection {\n title?: string;\n items: DrawerNavigationItem[];\n}\n\nexport interface DrawerNavigation {\n items: DrawerNavigationSection[];\n}\n\nexport interface DrawerContentProps {\n /**\n * Object with the content that has to be rendered\n */\n nav: DrawerNavigation;\n /**\n * Item size. default to medium\n */\n size?: DrawerSize;\n}\n\nexport type DrawerContentComponent = FunctionComponent<DrawerContentProps>;\nexport type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;\n\nexport interface DrawerProps extends MuiDrawerProps {\n children: DrawerContentElement;\n}\n\nexport type DrawerComponent = FunctionComponent<DrawerProps>;\nexport type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;\n\nexport const getDrawerItemColors = (theme: Theme, selected: boolean | undefined) => ({\n color: selected ? theme.palette.primary.main : undefined,\n fontWeight: selected ? theme.typography.fontWeightBold : theme.typography.fontWeightMedium,\n});\n\nexport type DrawerAppBarComponent = FunctionComponent<DrawerAppBarProps>;\nexport type DrawerAppBarElement = ReactElement<DrawerAppBarProps, DrawerAppBarComponent>;\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","openedMixin","theme","width","transition","transitions","create","easing","sharp","duration","enteringScreen","overflowX","closedMixin","leavingScreen","spacing","breakpoints","up","DrawerHeader","styled","display","alignItems","justifyContent","padding","mixins","toolbar","showCloseButton","temporary","mini","persistent","clipped","muiDrawerVariant","NoopSxGenerator","variantsSx","state","boxSizing","paperClasses","root","zIndex","drawer","children","rest","useTheme","switchState","underAppBar","close","drawerWidth","variant","context","useContext","useDrawer","sx","flexShrink","whiteSpace","drawerClasses","paper","_jsxs","MuiDrawer","open","role","onClose","_jsx","IconButton","onClick","ChevronLeftIcon","Divider","selected","color","palette","primary","main","fontWeight","typography","fontWeightBold","fontWeightMedium"],"mappings":"6bAgBO,MAAMA,EAAgBC,EAAAA,mBAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCb9BC,EAAeC,IAA6B,CACvDC,MAHyB,IAIzBC,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASC,iBAEvCC,UAAW,WAGAC,EAAeV,IAA6B,CACvDE,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASI,gBAEvCF,UAAW,SACXR,MAAO,QAAQD,EAAMY,QAAQ,YAC7B,CAACZ,EAAMa,YAAYC,GAAG,OAAQ,CAC5Bb,MAAO,QAAQD,EAAMY,QAAQ,eCXpBG,EAAeC,EAAAA,OAAO,MAAPA,EAAc,EAAGhB,YAAa,CACxDiB,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASpB,EAAMY,QAAQ,EAAG,MACvBZ,EAAMqB,OAAOC,YAGZC,EAAkD,CACtDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAoF,CACxFJ,UAAW,YACXC,KAAM,YACNE,QAAS,YACTD,WAAY,cAIRG,EAAkB,KAAO,CAAE,GAC3BC,EAA2D,CAC/DL,KAAM,CAACM,EAAoB/B,KAAkB,CAC3CgC,UAAW,aACX,CAAC,MAAMC,eAAaC,QAAS,CAC3BC,OAAQnC,EAAMmC,OAAOC,OAAS,KAGlCZ,UAAWK,EACXF,QAASE,EACTH,WAAYG,kBAGyB,EAAGQ,cAAaC,MACrD,MAAMtC,EAAQuC,EAAAA,YACRR,MAAEA,EAAKS,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,EAAKC,YAAEA,EAAWC,QAAEA,GF7BtC,MACvB,MAAMC,EAAUC,aAAWpD,GAE3B,QAAgBE,IAAZiD,EACF,MAAMhD,EAGR,OAAOgD,CAAO,EEsB2DE,GAEnEC,EAAU,CACd/C,MAAO0C,EACPM,WAAY,EACZC,WAAY,YACE,SAAVnB,GAAoB,IACnBhC,EAAYC,GACf,CAAC,MAAMmD,EAAaA,cAACC,SAAUrD,EAAYC,OAE/B,SAAV+B,GAAoB,IACnBrB,EAAYV,GACf,CAAC,MAAMmD,EAAaA,cAACC,SAAU1C,EAAYV,OAE1C8B,EAAWc,GAASb,EAAO/B,IAGhC,OACEqD,OAACC,EAAAA,QAAS,CACRC,KAAgB,SAAVxB,EACNa,QAAShB,EAAiBgB,GAC1BY,KAAK,OACQ,cAAU,UAAVzB,EACb0B,QAASf,EACTM,GAAIA,KACAV,EAEJD,SAAA,CAAAqB,MAAC3C,EAAY,CAAAsB,UACTI,GAAelB,EAAgBqB,IAC/Bc,MAACC,EAAAA,SAAWC,QAASpB,EAAWH,SAC9BqB,EAAAA,IAACG,EAAe,QAAG,QAIzBH,EAAAA,IAACI,EAAO,QAAG,IACVzB,IAEH,qDCX+B,CAACrC,EAAc+D,KAAmC,CACnFC,MAAOD,EAAW/D,EAAMiE,QAAQC,QAAQC,UAAOvE,EAC/CwE,WAAYL,EAAW/D,EAAMqE,WAAWC,eAAiBtE,EAAMqE,WAAWE"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/drawer-provider/drawer-context.ts","../../../src/drawer-provider/drawer-mixins.ts","../../../src/drawer/drawer.tsx","../../../src/drawer/drawer.types.ts"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { Theme, CSSObject } from \"@mui/material/styles\";\n\nexport const drawerWidth = 240;\n\nexport const openedMixin = (theme: Theme): CSSObject => ({\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n overflowX: \"hidden\",\n});\n\nexport const closedMixin = (theme: Theme): CSSObject => ({\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: `calc(${theme.spacing(7)} + 1px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(${theme.spacing(8)} + 1px)`,\n },\n});\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import { FunctionComponent, ReactElement } from \"react\";\nimport { BulletVariant } from \"../bullet\";\nimport { LabelVariant } from \"../label\";\nimport { DrawerProps as MuiDrawerProps } from \"@mui/material/Drawer\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DrawerAppBarProps } from \"../drawer-app-bar\";\n\nexport type DrawerVariant = \"temporary\" | \"mini\" | \"persistent\" | \"clipped\";\nexport type DrawerState = \"open\" | \"collapse\" | \"close\";\nexport type DrawerSize = \"small\" | \"medium\";\n\nexport interface DrawerItemAvatar {\n src: string;\n alt: string;\n}\n\nexport interface DrawerItemLabel {\n text: string;\n variant: LabelVariant;\n}\n\nexport interface DrawerItemBullet {\n variant: BulletVariant;\n}\n\nexport interface DrawerNavigationItemLink {\n id: string;\n text: string;\n href: string;\n icon?: ReactElement;\n avatar?: DrawerItemAvatar;\n label?: DrawerItemLabel;\n bullet?: DrawerItemBullet;\n}\n\nexport type DrawerNavigationItemCollapsable = Pick<\n DrawerNavigationItemLink,\n \"id\" | \"text\" | \"icon\"\n> & {\n items: DrawerNavigationItem[];\n};\n\nexport type DrawerNavigationItem = DrawerNavigationItemLink | DrawerNavigationItemCollapsable;\n\nexport interface DrawerNavigationSection {\n title?: string;\n items: DrawerNavigationItem[];\n}\n\nexport interface DrawerNavigation {\n items: DrawerNavigationSection[];\n}\n\nexport interface DrawerContentProps {\n /**\n * Object with the content that has to be rendered\n */\n nav: DrawerNavigation;\n /**\n * Item size. default to medium\n */\n size?: DrawerSize;\n}\n\nexport type DrawerContentComponent = FunctionComponent<DrawerContentProps>;\nexport type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;\n\nexport interface DrawerProps extends MuiDrawerProps {\n children: DrawerContentElement;\n}\n\nexport type DrawerComponent = FunctionComponent<DrawerProps>;\nexport type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;\n\nexport const getDrawerItemColors = (theme: Theme, selected: boolean | undefined) => ({\n color: selected ? theme.palette.primary.main : undefined,\n fontWeight: selected ? theme.typography.fontWeightBold : theme.typography.fontWeightMedium,\n});\n\nexport type DrawerAppBarComponent = FunctionComponent<DrawerAppBarProps>;\nexport type DrawerAppBarElement = ReactElement<DrawerAppBarProps, DrawerAppBarComponent>;\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","openedMixin","theme","width","transition","transitions","create","easing","sharp","duration","enteringScreen","overflowX","closedMixin","leavingScreen","spacing","breakpoints","up","DrawerHeader","styled","display","alignItems","justifyContent","padding","mixins","toolbar","showCloseButton","temporary","mini","persistent","clipped","muiDrawerVariant","NoopSxGenerator","variantsSx","state","boxSizing","paperClasses","root","zIndex","drawer","children","rest","useTheme","switchState","underAppBar","close","drawerWidth","variant","context","useContext","useDrawer","sx","flexShrink","whiteSpace","drawerClasses","paper","_jsxs","jsxs","MuiDrawer","open","role","onClose","_jsx","jsx","IconButton","onClick","ChevronLeftIcon","Divider","selected","color","palette","primary","main","fontWeight","typography","fontWeightBold","fontWeightMedium"],"mappings":"8RAgBO,MAAMA,EAAgBC,EAAaA,mBAAiCC,GAC9DC,EAAoB,IAAIC,MAAM,wDCb9BC,EAAeC,IAA6B,CACvDC,MAHyB,IAIzBC,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASC,iBAEvCC,UAAW,WAGAC,EAAeV,IAA6B,CACvDE,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASI,gBAEvCF,UAAW,SACXR,MAAO,QAAQD,EAAMY,QAAQ,YAC7B,CAACZ,EAAMa,YAAYC,GAAG,OAAQ,CAC5Bb,MAAO,QAAQD,EAAMY,QAAQ,eCXpBG,EAAeC,EAAAA,OAAO,MAAPA,EAAc,EAAGhB,YAAa,CACxDiB,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASpB,EAAMY,QAAQ,EAAG,MACvBZ,EAAMqB,OAAOC,YAGZC,EAAkD,CACtDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAoF,CACxFJ,UAAW,YACXC,KAAM,YACNE,QAAS,YACTD,WAAY,cAIRG,EAAkB,KAAO,CAAE,GAC3BC,EAA2D,CAC/DL,KAAM,CAACM,EAAoB/B,KAAkB,CAC3CgC,UAAW,aACX,CAAC,MAAMC,eAAaC,QAAS,CAC3BC,OAAQnC,EAAMmC,OAAOC,OAAS,KAGlCZ,UAAWK,EACXF,QAASE,EACTH,WAAYG,kBAGyB,EAAGQ,cAAaC,MACrD,MAAMtC,EAAQuC,EAAAA,YACRR,MAAEA,EAAKS,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,EAAKC,YAAEA,EAAWC,QAAEA,GF7BtC,MACvB,MAAMC,EAAUC,EAAUA,WAACpD,GAE3B,QAAgBE,IAAZiD,EACF,MAAMhD,EAGR,OAAOgD,CAAO,EEsB2DE,GAEnEC,EAAU,CACd/C,MAAO0C,EACPM,WAAY,EACZC,WAAY,YACE,SAAVnB,GAAoB,IACnBhC,EAAYC,GACf,CAAC,MAAMmD,EAAaA,cAACC,SAAUrD,EAAYC,OAE/B,SAAV+B,GAAoB,IACnBrB,EAAYV,GACf,CAAC,MAAMmD,EAAaA,cAACC,SAAU1C,EAAYV,OAE1C8B,EAAWc,GAASb,EAAO/B,IAGhC,OACEqD,EAAAC,KAACC,EAAS,CACRC,KAAgB,SAAVzB,EACNa,QAAShB,EAAiBgB,GAC1Ba,KAAK,OACQ,cAAU,UAAV1B,EACb2B,QAAShB,EACTM,GAAIA,KACAV,EAEJD,SAAA,CAAAsB,EAAAC,IAAC7C,EAAY,CAAAsB,UACTI,GAAelB,EAAgBqB,IAC/Be,EAACC,IAAAC,GAAWC,QAAStB,EAAWH,SAC9BsB,MAACI,EAAkB,CAAA,OAIzBJ,MAACK,EAAU,CAAA,GACV3B,IACS,qDCVmB,CAACrC,EAAciE,KAAmC,CACnFC,MAAOD,EAAWjE,EAAMmE,QAAQC,QAAQC,UAAOzE,EAC/C0E,WAAYL,EAAWjE,EAAMuE,WAAWC,eAAiBxE,EAAMuE,WAAWE"}
@@ -5,8 +5,8 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/icons-material": "^5.11.16",
9
- "@mui/material": "^5.13.6",
10
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
11
11
  }
12
12
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Theme } from "@mui/material/styles";
3
2
  import { DrawerComponent } from "./drawer.types";
4
3
  export declare const DrawerHeader: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/drawer-provider/drawer-context.ts","../../src/drawer-provider/drawer-mixins.ts","../../src/drawer/drawer.tsx","../../src/drawer/drawer.types.ts"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { Theme, CSSObject } from \"@mui/material/styles\";\n\nexport const drawerWidth = 240;\n\nexport const openedMixin = (theme: Theme): CSSObject => ({\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n overflowX: \"hidden\",\n});\n\nexport const closedMixin = (theme: Theme): CSSObject => ({\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: `calc(${theme.spacing(7)} + 1px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(${theme.spacing(8)} + 1px)`,\n },\n});\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import { FunctionComponent, ReactElement } from \"react\";\nimport { BulletVariant } from \"../bullet\";\nimport { LabelVariant } from \"../label\";\nimport { DrawerProps as MuiDrawerProps } from \"@mui/material/Drawer\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DrawerAppBarProps } from \"../drawer-app-bar\";\n\nexport type DrawerVariant = \"temporary\" | \"mini\" | \"persistent\" | \"clipped\";\nexport type DrawerState = \"open\" | \"collapse\" | \"close\";\nexport type DrawerSize = \"small\" | \"medium\";\n\nexport interface DrawerItemAvatar {\n src: string;\n alt: string;\n}\n\nexport interface DrawerItemLabel {\n text: string;\n variant: LabelVariant;\n}\n\nexport interface DrawerItemBullet {\n variant: BulletVariant;\n}\n\nexport interface DrawerNavigationItemLink {\n id: string;\n text: string;\n href: string;\n icon?: ReactElement;\n avatar?: DrawerItemAvatar;\n label?: DrawerItemLabel;\n bullet?: DrawerItemBullet;\n}\n\nexport type DrawerNavigationItemCollapsable = Pick<\n DrawerNavigationItemLink,\n \"id\" | \"text\" | \"icon\"\n> & {\n items: DrawerNavigationItem[];\n};\n\nexport type DrawerNavigationItem = DrawerNavigationItemLink | DrawerNavigationItemCollapsable;\n\nexport interface DrawerNavigationSection {\n title?: string;\n items: DrawerNavigationItem[];\n}\n\nexport interface DrawerNavigation {\n items: DrawerNavigationSection[];\n}\n\nexport interface DrawerContentProps {\n /**\n * Object with the content that has to be rendered\n */\n nav: DrawerNavigation;\n /**\n * Item size. default to medium\n */\n size?: DrawerSize;\n}\n\nexport type DrawerContentComponent = FunctionComponent<DrawerContentProps>;\nexport type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;\n\nexport interface DrawerProps extends MuiDrawerProps {\n children: DrawerContentElement;\n}\n\nexport type DrawerComponent = FunctionComponent<DrawerProps>;\nexport type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;\n\nexport const getDrawerItemColors = (theme: Theme, selected: boolean | undefined) => ({\n color: selected ? theme.palette.primary.main : undefined,\n fontWeight: selected ? theme.typography.fontWeightBold : theme.typography.fontWeightMedium,\n});\n\nexport type DrawerAppBarComponent = FunctionComponent<DrawerAppBarProps>;\nexport type DrawerAppBarElement = ReactElement<DrawerAppBarProps, DrawerAppBarComponent>;\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","openedMixin","theme","width","transition","transitions","create","easing","sharp","duration","enteringScreen","overflowX","closedMixin","leavingScreen","spacing","breakpoints","up","DrawerHeader","styled","display","alignItems","justifyContent","padding","mixins","toolbar","showCloseButton","temporary","mini","persistent","clipped","muiDrawerVariant","NoopSxGenerator","variantsSx","state","boxSizing","paperClasses","root","zIndex","drawer","Drawer","children","rest","useTheme","switchState","underAppBar","close","drawerWidth","variant","context","useContext","useDrawer","sx","flexShrink","whiteSpace","drawerClasses","paper","_jsxs","MuiDrawer","open","role","onClose","_jsx","IconButton","onClick","ChevronLeftIcon","Divider","getDrawerItemColors","selected","color","palette","primary","main","fontWeight","typography","fontWeightBold","fontWeightMedium"],"mappings":"2YAgBO,MAAMA,EAAgBC,OAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCb9BC,EAAeC,IAA6B,CACvDC,MAHyB,IAIzBC,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASC,iBAEvCC,UAAW,WAGAC,EAAeV,IAA6B,CACvDE,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASI,gBAEvCF,UAAW,SACXR,MAAO,QAAQD,EAAMY,QAAQ,YAC7B,CAACZ,EAAMa,YAAYC,GAAG,OAAQ,CAC5Bb,MAAO,QAAQD,EAAMY,QAAQ,eCXpBG,EAAeC,EAAO,MAAPA,EAAc,EAAGhB,YAAa,CACxDiB,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASpB,EAAMY,QAAQ,EAAG,MACvBZ,EAAMqB,OAAOC,YAGZC,EAAkD,CACtDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAoF,CACxFJ,UAAW,YACXC,KAAM,YACNE,QAAS,YACTD,WAAY,cAIRG,EAAkB,KAAO,CAAE,GAC3BC,EAA2D,CAC/DL,KAAM,CAACM,EAAoB/B,KAAkB,CAC3CgC,UAAW,aACX,CAAC,MAAMC,EAAaC,QAAS,CAC3BC,OAAQnC,EAAMmC,OAAOC,OAAS,KAGlCZ,UAAWK,EACXF,QAASE,EACTH,WAAYG,GAGDQ,EAA0B,EAAGC,cAAaC,MACrD,MAAMvC,EAAQwC,KACRT,MAAEA,EAAKU,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,EAAKC,YAAEA,EAAWC,QAAEA,GF7BtC,MACvB,MAAMC,EAAUC,EAAWrD,GAE3B,QAAgBE,IAAZkD,EACF,MAAMjD,EAGR,OAAOiD,CAAO,EEsB2DE,GAEnEC,EAAU,CACdhD,MAAO2C,EACPM,WAAY,EACZC,WAAY,YACE,SAAVpB,GAAoB,IACnBhC,EAAYC,GACf,CAAC,MAAMoD,EAAcC,SAAUtD,EAAYC,OAE/B,SAAV+B,GAAoB,IACnBrB,EAAYV,GACf,CAAC,MAAMoD,EAAcC,SAAU3C,EAAYV,OAE1C8B,EAAWe,GAASd,EAAO/B,IAGhC,OACEsD,EAACC,EAAS,CACRC,KAAgB,SAAVzB,EACNc,QAASjB,EAAiBiB,GAC1BY,KAAK,OACQ,cAAU,UAAV1B,EACb2B,QAASf,EACTM,GAAIA,KACAV,EAEJD,SAAA,CAAAqB,EAAC5C,EAAY,CAAAuB,UACTI,GAAenB,EAAgBsB,IAC/Bc,EAACC,GAAWC,QAASpB,EAAWH,SAC9BqB,EAACG,EAAkB,QAIzBH,EAACI,EAAU,IACVzB,IAEH,ECXS0B,EAAsB,CAAChE,EAAciE,KAAmC,CACnFC,MAAOD,EAAWjE,EAAMmE,QAAQC,QAAQC,UAAOzE,EAC/C0E,WAAYL,EAAWjE,EAAMuE,WAAWC,eAAiBxE,EAAMuE,WAAWE"}
1
+ {"version":3,"file":"index.js","sources":["../../src/drawer-provider/drawer-context.ts","../../src/drawer-provider/drawer-mixins.ts","../../src/drawer/drawer.tsx","../../src/drawer/drawer.types.ts"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { Theme, CSSObject } from \"@mui/material/styles\";\n\nexport const drawerWidth = 240;\n\nexport const openedMixin = (theme: Theme): CSSObject => ({\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n overflowX: \"hidden\",\n});\n\nexport const closedMixin = (theme: Theme): CSSObject => ({\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: `calc(${theme.spacing(7)} + 1px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(${theme.spacing(8)} + 1px)`,\n },\n});\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import { FunctionComponent, ReactElement } from \"react\";\nimport { BulletVariant } from \"../bullet\";\nimport { LabelVariant } from \"../label\";\nimport { DrawerProps as MuiDrawerProps } from \"@mui/material/Drawer\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DrawerAppBarProps } from \"../drawer-app-bar\";\n\nexport type DrawerVariant = \"temporary\" | \"mini\" | \"persistent\" | \"clipped\";\nexport type DrawerState = \"open\" | \"collapse\" | \"close\";\nexport type DrawerSize = \"small\" | \"medium\";\n\nexport interface DrawerItemAvatar {\n src: string;\n alt: string;\n}\n\nexport interface DrawerItemLabel {\n text: string;\n variant: LabelVariant;\n}\n\nexport interface DrawerItemBullet {\n variant: BulletVariant;\n}\n\nexport interface DrawerNavigationItemLink {\n id: string;\n text: string;\n href: string;\n icon?: ReactElement;\n avatar?: DrawerItemAvatar;\n label?: DrawerItemLabel;\n bullet?: DrawerItemBullet;\n}\n\nexport type DrawerNavigationItemCollapsable = Pick<\n DrawerNavigationItemLink,\n \"id\" | \"text\" | \"icon\"\n> & {\n items: DrawerNavigationItem[];\n};\n\nexport type DrawerNavigationItem = DrawerNavigationItemLink | DrawerNavigationItemCollapsable;\n\nexport interface DrawerNavigationSection {\n title?: string;\n items: DrawerNavigationItem[];\n}\n\nexport interface DrawerNavigation {\n items: DrawerNavigationSection[];\n}\n\nexport interface DrawerContentProps {\n /**\n * Object with the content that has to be rendered\n */\n nav: DrawerNavigation;\n /**\n * Item size. default to medium\n */\n size?: DrawerSize;\n}\n\nexport type DrawerContentComponent = FunctionComponent<DrawerContentProps>;\nexport type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;\n\nexport interface DrawerProps extends MuiDrawerProps {\n children: DrawerContentElement;\n}\n\nexport type DrawerComponent = FunctionComponent<DrawerProps>;\nexport type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;\n\nexport const getDrawerItemColors = (theme: Theme, selected: boolean | undefined) => ({\n color: selected ? theme.palette.primary.main : undefined,\n fontWeight: selected ? theme.typography.fontWeightBold : theme.typography.fontWeightMedium,\n});\n\nexport type DrawerAppBarComponent = FunctionComponent<DrawerAppBarProps>;\nexport type DrawerAppBarElement = ReactElement<DrawerAppBarProps, DrawerAppBarComponent>;\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","openedMixin","theme","width","transition","transitions","create","easing","sharp","duration","enteringScreen","overflowX","closedMixin","leavingScreen","spacing","breakpoints","up","DrawerHeader","styled","display","alignItems","justifyContent","padding","mixins","toolbar","showCloseButton","temporary","mini","persistent","clipped","muiDrawerVariant","NoopSxGenerator","variantsSx","state","boxSizing","paperClasses","root","zIndex","drawer","Drawer","children","rest","useTheme","switchState","underAppBar","close","drawerWidth","variant","context","useContext","useDrawer","sx","flexShrink","whiteSpace","drawerClasses","paper","_jsxs","MuiDrawer","open","role","onClose","_jsx","IconButton","onClick","ChevronLeftIcon","Divider","getDrawerItemColors","selected","color","palette","primary","main","fontWeight","typography","fontWeightBold","fontWeightMedium"],"mappings":"2YAgBO,MAAMA,EAAgBC,OAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCb9BC,EAAeC,IAA6B,CACvDC,MAHyB,IAIzBC,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASC,iBAEvCC,UAAW,WAGAC,EAAeV,IAA6B,CACvDE,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASI,gBAEvCF,UAAW,SACXR,MAAO,QAAQD,EAAMY,QAAQ,YAC7B,CAACZ,EAAMa,YAAYC,GAAG,OAAQ,CAC5Bb,MAAO,QAAQD,EAAMY,QAAQ,eCXpBG,EAAeC,EAAO,MAAPA,EAAc,EAAGhB,YAAa,CACxDiB,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASpB,EAAMY,QAAQ,EAAG,MACvBZ,EAAMqB,OAAOC,YAGZC,EAAkD,CACtDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAoF,CACxFJ,UAAW,YACXC,KAAM,YACNE,QAAS,YACTD,WAAY,cAIRG,EAAkB,KAAO,CAAE,GAC3BC,EAA2D,CAC/DL,KAAM,CAACM,EAAoB/B,KAAkB,CAC3CgC,UAAW,aACX,CAAC,MAAMC,EAAaC,QAAS,CAC3BC,OAAQnC,EAAMmC,OAAOC,OAAS,KAGlCZ,UAAWK,EACXF,QAASE,EACTH,WAAYG,GAGDQ,EAA0B,EAAGC,cAAaC,MACrD,MAAMvC,EAAQwC,KACRT,MAAEA,EAAKU,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,EAAKC,YAAEA,EAAWC,QAAEA,GF7BtC,MACvB,MAAMC,EAAUC,EAAWrD,GAE3B,QAAgBE,IAAZkD,EACF,MAAMjD,EAGR,OAAOiD,CAAO,EEsB2DE,GAEnEC,EAAU,CACdhD,MAAO2C,EACPM,WAAY,EACZC,WAAY,YACE,SAAVpB,GAAoB,IACnBhC,EAAYC,GACf,CAAC,MAAMoD,EAAcC,SAAUtD,EAAYC,OAE/B,SAAV+B,GAAoB,IACnBrB,EAAYV,GACf,CAAC,MAAMoD,EAAcC,SAAU3C,EAAYV,OAE1C8B,EAAWe,GAASd,EAAO/B,IAGhC,OACEsD,EAACC,EAAS,CACRC,KAAgB,SAAVzB,EACNc,QAASjB,EAAiBiB,GAC1BY,KAAK,OACQ,cAAU,UAAV1B,EACb2B,QAASf,EACTM,GAAIA,KACAV,EAEJD,SAAA,CAAAqB,EAAC5C,EAAY,CAAAuB,UACTI,GAAenB,EAAgBsB,IAC/Bc,EAACC,GAAWC,QAASpB,EAAWH,SAC9BqB,EAACG,EAAkB,CAAA,OAIzBH,EAACI,EAAU,CAAA,GACVzB,IACS,ECVH0B,EAAsB,CAAChE,EAAciE,KAAmC,CACnFC,MAAOD,EAAWjE,EAAMmE,QAAQC,QAAQC,UAAOzE,EAC/C0E,WAAYL,EAAWjE,EAAMuE,WAAWC,eAAiBxE,EAAMuE,WAAWE"}
@@ -5,8 +5,8 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/icons-material": "^5.11.16",
9
- "@mui/material": "^5.13.6",
10
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
11
11
  }
12
12
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material/AppBar"),i=require("@mui/material/Toolbar"),t=require("@mui/material/IconButton"),a=require("@mui/material/Typography"),n=require("@mui/material/styles"),s=require("@mui/icons-material/Menu");require("@mui/material/Drawer"),require("@mui/material/Paper"),require("@mui/material/Divider"),require("@mui/icons-material/ChevronLeft");var o=require("react");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=d(r),l=d(i),m=d(t),p=d(a),c=d(s);const h=o.createContext(void 0),x=new Error("DrawerContext.Provider is required and was undefined");n.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar})));const f={temporary:!1,mini:!0,persistent:!0,clipped:!0},g={temporary:()=>!0,mini:e=>"open"!==e,persistent:()=>!0,clipped:()=>!1};exports.DrawerAppBar=({title:r,sx:i,children:t,...a})=>{const s=n.useTheme(),{state:d,variant:v,switchState:q,drawerWidth:w,underAppBar:y}=(()=>{const e=o.useContext(h);if(void 0===e)throw x;return e})(),j=f[v]&&!y&&{transition:s.transitions.create(["width","margin"],{easing:s.transitions.easing.sharp,duration:s.transitions.duration.leavingScreen}),..."open"===d&&{marginLeft:w,width:`calc(100% - ${w}px)`,transition:s.transitions.create(["width","margin"],{easing:s.transitions.easing.sharp,duration:s.transitions.duration.enteringScreen})}}||{};return e.jsx(u.default,{position:y?"fixed":void 0,...a,sx:{...i,...j,zIndex:e=>e.zIndex.drawer+(y?1:0)},children:e.jsxs(l.default,{children:[e.jsx(m.default,{color:"inherit","aria-label":"open drawer",onClick:q,edge:"start",sx:{marginRight:5,display:g[v](d)?void 0:"none"},children:e.jsx(c.default,{})}),r&&e.jsx(p.default,{variant:"h6",component:"h1",role:"heading","aria-level":1,noWrap:!0,children:r}),t]})})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/AppBar"),i=require("@mui/material/Toolbar"),t=require("@mui/material/IconButton"),a=require("@mui/material/Typography"),n=require("@mui/material/styles"),s=require("@mui/icons-material/Menu");require("@mui/material/Drawer"),require("@mui/material/Paper"),require("@mui/material/Divider"),require("@mui/icons-material/ChevronLeft");var o=require("react");const d=o.createContext(void 0),u=new Error("DrawerContext.Provider is required and was undefined");n.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar})));const l={temporary:!1,mini:!0,persistent:!0,clipped:!0},m={temporary:()=>!0,mini:e=>"open"!==e,persistent:()=>!0,clipped:()=>!1};exports.DrawerAppBar=({title:p,sx:c,children:h,...x})=>{const g=n.useTheme(),{state:v,variant:q,switchState:w,drawerWidth:y,underAppBar:f}=(()=>{const e=o.useContext(d);if(void 0===e)throw u;return e})(),j=l[q]&&!f&&{transition:g.transitions.create(["width","margin"],{easing:g.transitions.easing.sharp,duration:g.transitions.duration.leavingScreen}),..."open"===v&&{marginLeft:y,width:`calc(100% - ${y}px)`,transition:g.transitions.create(["width","margin"],{easing:g.transitions.easing.sharp,duration:g.transitions.duration.enteringScreen})}}||{};return e.jsx(r,{position:f?"fixed":void 0,...x,sx:{...c,...j,zIndex:e=>e.zIndex.drawer+(f?1:0)},children:e.jsxs(i,{children:[e.jsx(t,{color:"inherit","aria-label":"open drawer",onClick:w,edge:"start",sx:{marginRight:5,display:m[q](v)?void 0:"none"},children:e.jsx(s,{})}),p&&e.jsx(a,{variant:"h6",component:"h1",role:"heading","aria-level":1,noWrap:!0,children:p}),h]})})};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/drawer-provider/drawer-context.ts","../../../src/drawer/drawer.tsx","../../../src/drawer-app-bar/drawer-app-bar.tsx"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import MuiAppBar from \"@mui/material/AppBar\";\nimport Toolbar from \"@mui/material/Toolbar\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, Theme } from \"@mui/material/styles\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport { useDrawer } from \"../drawer-provider\";\nimport { AppBarProps as MuiAppBarProps } from \"@mui/material\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nconst moveWithDrawer: Record<DrawerVariant, boolean> = {\n temporary: false,\n mini: true,\n persistent: true,\n clipped: true,\n};\n\nconst showMenuButton: Record<DrawerVariant, (state: DrawerState) => boolean> = {\n temporary: () => true,\n mini: (state) => state !== \"open\",\n persistent: () => true,\n clipped: () => false,\n};\n\nexport interface DrawerAppBarProps extends MuiAppBarProps {\n title?: string;\n}\n\nexport const DrawerAppBar = ({ title, sx, children, ...rest }: DrawerAppBarProps) => {\n const theme = useTheme();\n const { state, variant, switchState, drawerWidth, underAppBar } = useDrawer();\n\n const rootSx =\n (moveWithDrawer[variant] &&\n !underAppBar && {\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n ...(state === \"open\" && {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n }),\n }) ||\n {};\n\n return (\n <MuiAppBar\n position={underAppBar ? \"fixed\" : undefined}\n {...rest}\n sx={{\n ...sx,\n ...rootSx,\n zIndex: (theme: Theme) => theme.zIndex.drawer + (underAppBar ? 1 : 0),\n }}\n >\n <Toolbar>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n onClick={switchState}\n edge=\"start\"\n sx={{\n marginRight: 5,\n display: showMenuButton[variant](state) ? undefined : \"none\",\n }}\n >\n <MenuIcon />\n </IconButton>\n {title && (\n <Typography variant=\"h6\" component=\"h1\" role=\"heading\" aria-level={1} noWrap>\n {title}\n </Typography>\n )}\n {children}\n </Toolbar>\n </MuiAppBar>\n );\n};\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","styled","theme","display","alignItems","justifyContent","padding","spacing","mixins","toolbar","moveWithDrawer","temporary","mini","persistent","clipped","showMenuButton","state","title","sx","children","rest","useTheme","variant","switchState","drawerWidth","underAppBar","context","useContext","useDrawer","rootSx","transition","transitions","create","easing","sharp","duration","leavingScreen","marginLeft","width","enteringScreen","_jsx","jsx","MuiAppBar","position","zIndex","drawer","_jsxs","Toolbar","IconButton","color","onClick","edge","marginRight","MenuIcon","Typography","component","role","noWrap"],"mappings":"ilBAgBO,MAAMA,EAAgBC,EAAAA,mBAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCPfC,EAAMA,OAAC,MAAPA,EAAc,EAAGC,YAAa,CACxDC,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASJ,EAAMK,QAAQ,EAAG,MACvBL,EAAMM,OAAOC,YCLlB,MAAMC,EAAiD,CACrDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAyE,CAC7EJ,UAAW,KAAM,EACjBC,KAAOI,GAAoB,SAAVA,EACjBH,WAAY,KAAM,EAClBC,QAAS,KAAM,wBAOW,EAAGG,QAAOC,KAAIC,cAAaC,MACrD,MAAMlB,EAAQmB,EAAAA,YACRL,MAAEA,EAAKM,QAAEA,EAAOC,YAAEA,EAAWC,YAAEA,EAAWC,YAAEA,GFX3B,MACvB,MAAMC,EAAUC,aAAW/B,GAE3B,QAAgBE,IAAZ4B,EACF,MAAM3B,EAGR,OAAO2B,CAAO,EEIoDE,GAE5DC,EACHnB,EAAeY,KACbG,GAAe,CACdK,WAAY5B,EAAM6B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQ/B,EAAM6B,YAAYE,OAAOC,MACjCC,SAAUjC,EAAM6B,YAAYI,SAASC,mBAEzB,SAAVpB,GAAoB,CACtBqB,WAAYb,EACZc,MAAO,eAAed,OACtBM,WAAY5B,EAAM6B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQ/B,EAAM6B,YAAYE,OAAOC,MACjCC,SAAUjC,EAAM6B,YAAYI,SAASI,oBAI7C,GAEF,OACEC,EAACC,IAAAC,WACCC,SAAUlB,EAAc,aAAU3B,KAC9BsB,EACJF,GAAI,IACCA,KACAW,EACHe,OAAS1C,GAAiBA,EAAM0C,OAAOC,QAAUpB,EAAc,EAAI,IAGrEN,SAAA2B,EAAAA,KAACC,EAAO,QACN,CAAA5B,SAAA,CAAAqB,EAAAC,IAACO,UACC,CAAAC,MAAM,UAAS,aACJ,cACXC,QAAS3B,EACT4B,KAAK,QACLjC,GAAI,CACFkC,YAAa,EACbjD,QAASY,EAAeO,GAASN,QAASlB,EAAY,QACvDqB,SAEDqB,EAACC,IAAAY,UAAW,CAAA,KAEbpC,GACCuB,EAAAA,IAACc,EAAAA,QAAW,CAAAhC,QAAQ,KAAKiC,UAAU,KAAKC,KAAK,UAAsB,aAAA,EAAGC,QAAM,EAAAtC,SACzEF,IAGJE,MAGL"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/drawer-provider/drawer-context.ts","../../../src/drawer/drawer.tsx","../../../src/drawer-app-bar/drawer-app-bar.tsx"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import MuiAppBar from \"@mui/material/AppBar\";\nimport Toolbar from \"@mui/material/Toolbar\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, Theme } from \"@mui/material/styles\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport { useDrawer } from \"../drawer-provider\";\nimport { AppBarProps as MuiAppBarProps } from \"@mui/material\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nconst moveWithDrawer: Record<DrawerVariant, boolean> = {\n temporary: false,\n mini: true,\n persistent: true,\n clipped: true,\n};\n\nconst showMenuButton: Record<DrawerVariant, (state: DrawerState) => boolean> = {\n temporary: () => true,\n mini: (state) => state !== \"open\",\n persistent: () => true,\n clipped: () => false,\n};\n\nexport interface DrawerAppBarProps extends MuiAppBarProps {\n title?: string;\n}\n\nexport const DrawerAppBar = ({ title, sx, children, ...rest }: DrawerAppBarProps) => {\n const theme = useTheme();\n const { state, variant, switchState, drawerWidth, underAppBar } = useDrawer();\n\n const rootSx =\n (moveWithDrawer[variant] &&\n !underAppBar && {\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n ...(state === \"open\" && {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n }),\n }) ||\n {};\n\n return (\n <MuiAppBar\n position={underAppBar ? \"fixed\" : undefined}\n {...rest}\n sx={{\n ...sx,\n ...rootSx,\n zIndex: (theme: Theme) => theme.zIndex.drawer + (underAppBar ? 1 : 0),\n }}\n >\n <Toolbar>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n onClick={switchState}\n edge=\"start\"\n sx={{\n marginRight: 5,\n display: showMenuButton[variant](state) ? undefined : \"none\",\n }}\n >\n <MenuIcon />\n </IconButton>\n {title && (\n <Typography variant=\"h6\" component=\"h1\" role=\"heading\" aria-level={1} noWrap>\n {title}\n </Typography>\n )}\n {children}\n </Toolbar>\n </MuiAppBar>\n );\n};\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","styled","theme","display","alignItems","justifyContent","padding","spacing","mixins","toolbar","moveWithDrawer","temporary","mini","persistent","clipped","showMenuButton","state","title","sx","children","rest","useTheme","variant","switchState","drawerWidth","underAppBar","context","useContext","useDrawer","rootSx","transition","transitions","create","easing","sharp","duration","leavingScreen","marginLeft","width","enteringScreen","_jsx","jsx","MuiAppBar","position","zIndex","drawer","_jsxs","Toolbar","IconButton","color","onClick","edge","marginRight","MenuIcon","Typography","component","role","noWrap"],"mappings":"2aAgBO,MAAMA,EAAgBC,EAAaA,mBAAiCC,GAC9DC,EAAoB,IAAIC,MAAM,wDCPfC,EAAMA,OAAC,MAAPA,EAAc,EAAGC,YAAa,CACxDC,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASJ,EAAMK,QAAQ,EAAG,MACvBL,EAAMM,OAAOC,YCLlB,MAAMC,EAAiD,CACrDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAyE,CAC7EJ,UAAW,KAAM,EACjBC,KAAOI,GAAoB,SAAVA,EACjBH,WAAY,KAAM,EAClBC,QAAS,KAAM,wBAOW,EAAGG,QAAOC,KAAIC,cAAaC,MACrD,MAAMlB,EAAQmB,EAAAA,YACRL,MAAEA,EAAKM,QAAEA,EAAOC,YAAEA,EAAWC,YAAEA,EAAWC,YAAEA,GFX3B,MACvB,MAAMC,EAAUC,EAAUA,WAAC/B,GAE3B,QAAgBE,IAAZ4B,EACF,MAAM3B,EAGR,OAAO2B,CAAO,EEIoDE,GAE5DC,EACHnB,EAAeY,KACbG,GAAe,CACdK,WAAY5B,EAAM6B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQ/B,EAAM6B,YAAYE,OAAOC,MACjCC,SAAUjC,EAAM6B,YAAYI,SAASC,mBAEzB,SAAVpB,GAAoB,CACtBqB,WAAYb,EACZc,MAAO,eAAed,OACtBM,WAAY5B,EAAM6B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQ/B,EAAM6B,YAAYE,OAAOC,MACjCC,SAAUjC,EAAM6B,YAAYI,SAASI,oBAI7C,CAAE,EAEJ,OACEC,EAACC,IAAAC,GACCC,SAAUlB,EAAc,aAAU3B,KAC9BsB,EACJF,GAAI,IACCA,KACAW,EACHe,OAAS1C,GAAiBA,EAAM0C,OAAOC,QAAUpB,EAAc,EAAI,IAGrEN,SAAA2B,EAAAA,KAACC,EACC,CAAA5B,SAAA,CAAAqB,EAAAC,IAACO,EACC,CAAAC,MAAM,UAAS,aACJ,cACXC,QAAS3B,EACT4B,KAAK,QACLjC,GAAI,CACFkC,YAAa,EACbjD,QAASY,EAAeO,GAASN,QAASlB,EAAY,QACvDqB,SAEDqB,EAAAA,IAACa,EAAW,CAAA,KAEbpC,GACCuB,EAAAC,IAACa,EAAW,CAAAhC,QAAQ,KAAKiC,UAAU,KAAKC,KAAK,UAAsB,aAAA,EAAGC,QAAM,EAAAtC,SACzEF,IAGJE,MAEO"}
@@ -5,8 +5,8 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/icons-material": "^5.11.16",
9
- "@mui/material": "^5.13.6",
10
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
11
11
  }
12
12
  }
@@ -2,4 +2,4 @@ import { AppBarProps as MuiAppBarProps } from "@mui/material";
2
2
  export interface DrawerAppBarProps extends MuiAppBarProps {
3
3
  title?: string;
4
4
  }
5
- export declare const DrawerAppBar: ({ title, sx, children, ...rest }: DrawerAppBarProps) => JSX.Element;
5
+ export declare const DrawerAppBar: ({ title, sx, children, ...rest }: DrawerAppBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/drawer-provider/drawer-context.ts","../../src/drawer/drawer.tsx","../../src/drawer-app-bar/drawer-app-bar.tsx"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import MuiAppBar from \"@mui/material/AppBar\";\nimport Toolbar from \"@mui/material/Toolbar\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, Theme } from \"@mui/material/styles\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport { useDrawer } from \"../drawer-provider\";\nimport { AppBarProps as MuiAppBarProps } from \"@mui/material\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nconst moveWithDrawer: Record<DrawerVariant, boolean> = {\n temporary: false,\n mini: true,\n persistent: true,\n clipped: true,\n};\n\nconst showMenuButton: Record<DrawerVariant, (state: DrawerState) => boolean> = {\n temporary: () => true,\n mini: (state) => state !== \"open\",\n persistent: () => true,\n clipped: () => false,\n};\n\nexport interface DrawerAppBarProps extends MuiAppBarProps {\n title?: string;\n}\n\nexport const DrawerAppBar = ({ title, sx, children, ...rest }: DrawerAppBarProps) => {\n const theme = useTheme();\n const { state, variant, switchState, drawerWidth, underAppBar } = useDrawer();\n\n const rootSx =\n (moveWithDrawer[variant] &&\n !underAppBar && {\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n ...(state === \"open\" && {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n }),\n }) ||\n {};\n\n return (\n <MuiAppBar\n position={underAppBar ? \"fixed\" : undefined}\n {...rest}\n sx={{\n ...sx,\n ...rootSx,\n zIndex: (theme: Theme) => theme.zIndex.drawer + (underAppBar ? 1 : 0),\n }}\n >\n <Toolbar>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n onClick={switchState}\n edge=\"start\"\n sx={{\n marginRight: 5,\n display: showMenuButton[variant](state) ? undefined : \"none\",\n }}\n >\n <MenuIcon />\n </IconButton>\n {title && (\n <Typography variant=\"h6\" component=\"h1\" role=\"heading\" aria-level={1} noWrap>\n {title}\n </Typography>\n )}\n {children}\n </Toolbar>\n </MuiAppBar>\n );\n};\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","styled","theme","display","alignItems","justifyContent","padding","spacing","mixins","toolbar","moveWithDrawer","temporary","mini","persistent","clipped","showMenuButton","state","DrawerAppBar","title","sx","children","rest","useTheme","variant","switchState","drawerWidth","underAppBar","context","useContext","useDrawer","rootSx","transition","transitions","create","easing","sharp","duration","leavingScreen","marginLeft","width","enteringScreen","_jsx","MuiAppBar","position","zIndex","drawer","_jsxs","Toolbar","IconButton","color","onClick","edge","marginRight","MenuIcon","Typography","component","role","noWrap"],"mappings":"oeAgBO,MAAMA,EAAgBC,OAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCPfC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACxDC,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASJ,EAAMK,QAAQ,EAAG,MACvBL,EAAMM,OAAOC,YCLlB,MAAMC,EAAiD,CACrDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAyE,CAC7EJ,UAAW,KAAM,EACjBC,KAAOI,GAAoB,SAAVA,EACjBH,WAAY,KAAM,EAClBC,QAAS,KAAM,GAOJG,EAAe,EAAGC,QAAOC,KAAIC,cAAaC,MACrD,MAAMnB,EAAQoB,KACRN,MAAEA,EAAKO,QAAEA,EAAOC,YAAEA,EAAWC,YAAEA,EAAWC,YAAEA,GFX3B,MACvB,MAAMC,EAAUC,EAAWhC,GAE3B,QAAgBE,IAAZ6B,EACF,MAAM5B,EAGR,OAAO4B,CAAO,EEIoDE,GAE5DC,EACHpB,EAAea,KACbG,GAAe,CACdK,WAAY7B,EAAM8B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQhC,EAAM8B,YAAYE,OAAOC,MACjCC,SAAUlC,EAAM8B,YAAYI,SAASC,mBAEzB,SAAVrB,GAAoB,CACtBsB,WAAYb,EACZc,MAAO,eAAed,OACtBM,WAAY7B,EAAM8B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQhC,EAAM8B,YAAYE,OAAOC,MACjCC,SAAUlC,EAAM8B,YAAYI,SAASI,oBAI7C,GAEF,OACEC,EAACC,GACCC,SAAUjB,EAAc,aAAU5B,KAC9BuB,EACJF,GAAI,IACCA,KACAW,EACHc,OAAS1C,GAAiBA,EAAM0C,OAAOC,QAAUnB,EAAc,EAAI,IAGrEN,SAAA0B,EAACC,EACC,CAAA3B,SAAA,CAAAqB,EAACO,EACC,CAAAC,MAAM,UAAS,aACJ,cACXC,QAAS1B,EACT2B,KAAK,QACLhC,GAAI,CACFiC,YAAa,EACbjD,QAASY,EAAeQ,GAASP,QAASlB,EAAY,QACvDsB,SAEDqB,EAACY,EAAW,CAAA,KAEbnC,GACCuB,EAACa,EAAW,CAAA/B,QAAQ,KAAKgC,UAAU,KAAKC,KAAK,UAAsB,aAAA,EAAGC,QAAM,EAAArC,SACzEF,IAGJE,MAGL"}
1
+ {"version":3,"file":"index.js","sources":["../../src/drawer-provider/drawer-context.ts","../../src/drawer/drawer.tsx","../../src/drawer-app-bar/drawer-app-bar.tsx"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"../drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"../drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import MuiAppBar from \"@mui/material/AppBar\";\nimport Toolbar from \"@mui/material/Toolbar\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, Theme } from \"@mui/material/styles\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport { useDrawer } from \"../drawer-provider\";\nimport { AppBarProps as MuiAppBarProps } from \"@mui/material\";\nimport { DrawerState, DrawerVariant } from \"../drawer\";\n\nconst moveWithDrawer: Record<DrawerVariant, boolean> = {\n temporary: false,\n mini: true,\n persistent: true,\n clipped: true,\n};\n\nconst showMenuButton: Record<DrawerVariant, (state: DrawerState) => boolean> = {\n temporary: () => true,\n mini: (state) => state !== \"open\",\n persistent: () => true,\n clipped: () => false,\n};\n\nexport interface DrawerAppBarProps extends MuiAppBarProps {\n title?: string;\n}\n\nexport const DrawerAppBar = ({ title, sx, children, ...rest }: DrawerAppBarProps) => {\n const theme = useTheme();\n const { state, variant, switchState, drawerWidth, underAppBar } = useDrawer();\n\n const rootSx =\n (moveWithDrawer[variant] &&\n !underAppBar && {\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n ...(state === \"open\" && {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n }),\n }) ||\n {};\n\n return (\n <MuiAppBar\n position={underAppBar ? \"fixed\" : undefined}\n {...rest}\n sx={{\n ...sx,\n ...rootSx,\n zIndex: (theme: Theme) => theme.zIndex.drawer + (underAppBar ? 1 : 0),\n }}\n >\n <Toolbar>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n onClick={switchState}\n edge=\"start\"\n sx={{\n marginRight: 5,\n display: showMenuButton[variant](state) ? undefined : \"none\",\n }}\n >\n <MenuIcon />\n </IconButton>\n {title && (\n <Typography variant=\"h6\" component=\"h1\" role=\"heading\" aria-level={1} noWrap>\n {title}\n </Typography>\n )}\n {children}\n </Toolbar>\n </MuiAppBar>\n );\n};\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","styled","theme","display","alignItems","justifyContent","padding","spacing","mixins","toolbar","moveWithDrawer","temporary","mini","persistent","clipped","showMenuButton","state","DrawerAppBar","title","sx","children","rest","useTheme","variant","switchState","drawerWidth","underAppBar","context","useContext","useDrawer","rootSx","transition","transitions","create","easing","sharp","duration","leavingScreen","marginLeft","width","enteringScreen","_jsx","MuiAppBar","position","zIndex","drawer","_jsxs","Toolbar","IconButton","color","onClick","edge","marginRight","MenuIcon","Typography","component","role","noWrap"],"mappings":"oeAgBO,MAAMA,EAAgBC,OAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCPfC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACxDC,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASJ,EAAMK,QAAQ,EAAG,MACvBL,EAAMM,OAAOC,YCLlB,MAAMC,EAAiD,CACrDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAyE,CAC7EJ,UAAW,KAAM,EACjBC,KAAOI,GAAoB,SAAVA,EACjBH,WAAY,KAAM,EAClBC,QAAS,KAAM,GAOJG,EAAe,EAAGC,QAAOC,KAAIC,cAAaC,MACrD,MAAMnB,EAAQoB,KACRN,MAAEA,EAAKO,QAAEA,EAAOC,YAAEA,EAAWC,YAAEA,EAAWC,YAAEA,GFX3B,MACvB,MAAMC,EAAUC,EAAWhC,GAE3B,QAAgBE,IAAZ6B,EACF,MAAM5B,EAGR,OAAO4B,CAAO,EEIoDE,GAE5DC,EACHpB,EAAea,KACbG,GAAe,CACdK,WAAY7B,EAAM8B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQhC,EAAM8B,YAAYE,OAAOC,MACjCC,SAAUlC,EAAM8B,YAAYI,SAASC,mBAEzB,SAAVrB,GAAoB,CACtBsB,WAAYb,EACZc,MAAO,eAAed,OACtBM,WAAY7B,EAAM8B,YAAYC,OAAO,CAAC,QAAS,UAAW,CACxDC,OAAQhC,EAAM8B,YAAYE,OAAOC,MACjCC,SAAUlC,EAAM8B,YAAYI,SAASI,oBAI7C,CAAE,EAEJ,OACEC,EAACC,GACCC,SAAUjB,EAAc,aAAU5B,KAC9BuB,EACJF,GAAI,IACCA,KACAW,EACHc,OAAS1C,GAAiBA,EAAM0C,OAAOC,QAAUnB,EAAc,EAAI,IAGrEN,SAAA0B,EAACC,EACC,CAAA3B,SAAA,CAAAqB,EAACO,EACC,CAAAC,MAAM,UAAS,aACJ,cACXC,QAAS1B,EACT2B,KAAK,QACLhC,GAAI,CACFiC,YAAa,EACbjD,QAASY,EAAeQ,GAASP,QAASlB,EAAY,QACvDsB,SAEDqB,EAACY,EAAW,CAAA,KAEbnC,GACCuB,EAACa,EAAW,CAAA/B,QAAQ,KAAKgC,UAAU,KAAKC,KAAK,UAAsB,aAAA,EAAGC,QAAM,EAAArC,SACzEF,IAGJE,MAEO"}
@@ -5,8 +5,8 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/icons-material": "^5.11.16",
9
- "@mui/material": "^5.13.6",
10
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
11
11
  }
12
12
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/List"),r=require("@mui/material/styles"),i=require("@mui/material/ListSubheader"),a=require("@mui/material/ListItemButton"),l=require("@mui/material/ListItemIcon"),o=require("@mui/material/ListItemText"),s=require("@mui/material/Collapse"),n=require("@mui/material/Popover"),u=require("react");require("@mui/material/Drawer"),require("@mui/material/Paper"),require("@mui/material/Divider"),require("@mui/material/IconButton"),require("@mui/icons-material/ChevronLeft");var d=require("@mui/icons-material/ExpandMore"),c=require("@mui/icons-material/ChevronRight"),m=require("@mui/material/Avatar"),p=require("@mui/material/ListItemAvatar"),x=require("@mui/material/Badge"),h=require("@mui/material/Box"),f=require("react-router-dom"),g=require("@mui/material/Link");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=v(t),j=v(i),b=v(a),q=v(l),T=v(o),z=v(s),w=v(n),C=v(d),W=v(c),I=v(m),L=v(p),P=v(x),R=v(h),B=v(g);const k=r.styled(j.default,{shouldForwardProp:e=>"size"!==e})((({size:e,theme:t})=>({lineHeight:"small"===e?t.typography.pxToRem(40):void 0}))),S=u.createContext(void 0),D=new Error("DrawerContext.Provider is required and was undefined"),E=()=>{const e=u.useContext(S);if(void 0===e)throw D;return e};r.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar})));const F=(e,t)=>({color:t?e.palette.primary.main:void 0,fontWeight:t?e.typography.fontWeightBold:e.typography.fontWeightMedium}),$="RdsBullet-root",H=({variant:t="primary",sx:r})=>e.jsx(P.default,{color:t,variant:"dot",className:$,role:"bullet","aria-describedby":t,sx:r}),M=({text:t,color:i,variant:a="default",textTransform:l="capitalize",sx:o})=>{const{palette:s,typography:n}=r.useTheme(),u={default:"light"===s.mode?s.grey[100]:s.grey[900],primary:s.primary.light,secondary:s.secondary.light,info:s.info.light,warning:s.warning.light,error:s.error.light,success:s.success.light},d={default:s.getContrastText(u.default),primary:s.primary.contrastText,secondary:s.secondary.contrastText,info:s.info.contrastText,warning:s.warning.contrastText,error:s.error.contrastText,success:s.success.contrastText},c=i||u[a],m=i?s.getContrastText(i):d[a];return e.jsx(R.default,{height:24,minWidth:22,display:"inline-flex",justifyContent:"center",alignItems:"center",bgcolor:c,color:m,fontSize:n.caption.fontSize,fontWeight:n.fontWeightBold,lineHeight:0,textTransform:l,whiteSpace:"nowrap",borderRadius:2,role:"label","aria-label":`${t} ${a} label`,py:0,px:1,sx:{cursor:"default",...o},children:t})},O=u.forwardRef(((t,r)=>{const{href:i,...a}=t;return e.jsx(f.Link,{ref:r,to:i,...a})})),A=u.forwardRef(((t,r)=>e.jsx(B.default,{...t,component:O}))),_=r.styled(A)((({theme:e})=>({color:e.palette.text.primary}))),N={minWidth:0,justifyContent:"center",marginRight:"auto"},Y=({text:t,icon:i,avatar:a,label:l,bullet:o,href:s,selected:n,size:u="medium",level:d,sx:c})=>{const{state:m}=E(),p=r.useTheme(),{color:x,fontWeight:h}=F(p,n);return e.jsxs(b.default,{LinkComponent:_,dense:"small"===u,"aria-label":t,href:s,selected:n,sx:{...c,pl:"open"===m?p.spacing(2+1.5*d):void 0,..."collapse"===m&&{paddingHorizontal:p.spacing(2.5),justifyContent:"center"}},children:[i&&e.jsx(q.default,{sx:{color:x,..."collapse"===m&&0===d&&N},children:i}),a&&e.jsx(L.default,{sx:{..."collapse"===m&&0===d&&N},children:e.jsx(I.default,{alt:a.alt,src:a.src,sx:{..."small"===u&&{width:24,height:24},..."collapse"===m&&{width:30,height:30}}})}),e.jsx(T.default,{disableTypography:!0,primary:t,sx:{color:x,fontWeight:h,opacity:"collapse"===m&&0===d?0:void 0}}),l&&"open"===m&&e.jsx(M,{text:l.text,variant:l.variant,sx:{ml:2}}),o&&"open"===m&&e.jsx(H,{variant:o.variant,sx:{ml:2}})]})},G=({item:t,size:r="medium",level:i=0})=>{const{selectedItemId:a}=E();if("items"in t){const{id:l,text:o,icon:s,items:n}=t,u=n.some((e=>e.id===a));return e.jsx(J,{size:r,selected:l===a||u,text:o,icon:s,items:n,level:i})}{const{id:l,text:o,icon:s,avatar:n,label:u,bullet:d,href:c}=t;return e.jsx(Y,{selected:l===a,size:r,text:o,icon:s,avatar:n,label:u,bullet:d,href:c,level:i})}},J=({text:t,icon:i,selected:a,items:l,size:o="medium",level:s,sx:n={}})=>{const{state:d}=E(),c=u.useRef(null),{palette:m,spacing:p}=r.useTheme(),[x,h]=u.useState(!1),{color:f,fontWeight:g}=F(r.useTheme(),a),v=e.jsx(y.default,{component:"div",disablePadding:!0,children:l.map((t=>e.jsx(G,{level:s+1,item:t,size:o},t.id)))}),j="collapse"===d&&0===s?{position:"absolute",right:0}:{};return e.jsxs(e.Fragment,{children:[e.jsxs(b.default,{ref:c,selected:a,"aria-label":t,onClick:()=>h((e=>!e)),dense:"small"===o,sx:{...n,pl:"open"===d?p(2+1.5*s):void 0,backgroundColor:x?m.action.hover:void 0},children:[i&&e.jsx(q.default,{sx:{color:f},children:i}),e.jsx(T.default,{disableTypography:!0,primary:t,sx:{color:f,fontWeight:g,opacity:"collapse"===d&&0===s?0:void 0}}),x&&"open"===d?e.jsx(C.default,{sx:[{color:f,ml:2},j]}):e.jsx(W.default,{sx:[{color:f,ml:2},j]})]}),"open"===d?e.jsx(z.default,{in:x,timeout:"auto",unmountOnExit:!0,"aria-label":`${t} collapse submenu`,children:v}):e.jsx(w.default,{open:x,PaperProps:{elevation:0,variant:"outlined"},"aria-label":`${t} popover submenu`,anchorEl:c.current,onClose:()=>h(!1),anchorOrigin:{vertical:"top",horizontal:"right"},children:v})]})},K=({title:t,items:i,size:a="medium"})=>{const{state:l}=E(),{spacing:o}=r.useTheme();return e.jsxs(e.Fragment,{children:[t&&"open"===l&&e.jsx(k,{size:a,role:"heading",children:t}),e.jsx(y.default,{sx:{paddingTop:"small"===a?o(0):void 0,paddingY:"collapse"===l?0:void 0},children:i.map((t=>e.jsx(G,{item:t,size:a},t.id)))})]})};exports.DrawerContent=({nav:{items:t},size:r="medium"})=>e.jsx(e.Fragment,{children:t.map((({title:t,items:i},a)=>e.jsx(K,{title:t,items:i,size:r},a)))});
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("@mui/material/List"),i=require("@mui/material/styles"),r=require("@mui/material/ListSubheader"),a=require("@mui/material/ListItemButton"),s=require("@mui/material/ListItemIcon"),l=require("@mui/material/ListItemText"),o=require("@mui/material/Collapse"),n=require("@mui/material/Popover"),m=require("react");require("@mui/material/Drawer"),require("@mui/material/Paper"),require("@mui/material/Divider"),require("@mui/material/IconButton"),require("@mui/icons-material/ChevronLeft");var c=require("@mui/icons-material/ExpandMore"),u=require("@mui/icons-material/ChevronRight"),d=require("@mui/material/Avatar"),p=require("@mui/material/ListItemAvatar"),x=require("@mui/material/Link"),h=require("@mui/material/Badge"),g=require("@mui/material/Box");const v=i.styled(r,{shouldForwardProp:e=>"size"!==e})((({size:e,theme:t})=>({lineHeight:"small"===e?t.typography.pxToRem(40):void 0}))),y=m.createContext(void 0),f=new Error("DrawerContext.Provider is required and was undefined"),j=()=>{const e=m.useContext(y);if(void 0===e)throw f;return e};i.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar})));const b=(e,t)=>({color:t?e.palette.primary.main:void 0,fontWeight:t?e.typography.fontWeightBold:e.typography.fontWeightMedium}),q="RdsBullet-root",T=({variant:t="primary",sx:i})=>e.jsx(h,{color:t,variant:"dot",className:q,role:"bullet","aria-describedby":t,sx:i}),z=({text:t,color:r,variant:a="default",textTransform:s="capitalize",sx:l})=>{const{palette:o,typography:n}=i.useTheme(),m={default:"light"===o.mode?o.grey[100]:o.grey[900],primary:o.primary.light,secondary:o.secondary.light,info:o.info.light,warning:o.warning.light,error:o.error.light,success:o.success.light},c={default:o.getContrastText(m.default),primary:o.primary.contrastText,secondary:o.secondary.contrastText,info:o.info.contrastText,warning:o.warning.contrastText,error:o.error.contrastText,success:o.success.contrastText},u=r||m[a],d=r?o.getContrastText(r):c[a];return e.jsx(g,{height:24,minWidth:22,display:"inline-flex",justifyContent:"center",alignItems:"center",bgcolor:u,color:d,fontSize:n.caption.fontSize,fontWeight:n.fontWeightBold,lineHeight:0,textTransform:s,whiteSpace:"nowrap",borderRadius:2,role:"label","aria-label":`${t} ${a} label`,py:0,px:1,sx:{cursor:"default",...l},children:t})},C=i.styled(x)((({theme:e})=>({color:e.palette.text.primary}))),w={minWidth:0,justifyContent:"center",marginRight:"auto"},W=({text:t,icon:r,avatar:o,label:n,bullet:m,href:c,selected:u,size:x="medium",level:h,sx:g})=>{const{state:v}=j(),y=i.useTheme(),{color:f,fontWeight:q}=b(y,u);return e.jsxs(a,{LinkComponent:C,dense:"small"===x,"aria-label":t,href:c,selected:u,sx:{...g,pl:"open"===v?y.spacing(2+1.5*h):void 0,..."collapse"===v&&{paddingHorizontal:y.spacing(2.5),justifyContent:"center"}},children:[r&&e.jsx(s,{sx:{color:f,..."collapse"===v&&0===h&&w},children:r}),o&&e.jsx(p,{sx:{..."collapse"===v&&0===h&&w},children:e.jsx(d,{alt:o.alt,src:o.src,sx:{..."small"===x&&{width:24,height:24},..."collapse"===v&&{width:30,height:30}}})}),e.jsx(l,{disableTypography:!0,primary:t,sx:{color:f,fontWeight:q,opacity:"collapse"===v&&0===h?0:void 0}}),n&&"open"===v&&e.jsx(z,{text:n.text,variant:n.variant,sx:{ml:2}}),m&&"open"===v&&e.jsx(T,{variant:m.variant,sx:{ml:2}})]})},I=({item:t,size:i="medium",level:r=0})=>{const{selectedItemId:a}=j();if("items"in t){const{id:s,text:l,icon:o,items:n}=t,m=n.some((e=>e.id===a));return e.jsx(L,{size:i,selected:s===a||m,text:l,icon:o,items:n,level:r})}{const{id:s,text:l,icon:o,avatar:n,label:m,bullet:c,href:u}=t;return e.jsx(W,{selected:s===a,size:i,text:l,icon:o,avatar:n,label:m,bullet:c,href:u,level:r})}},L=({text:r,icon:d,selected:p,items:x,size:h="medium",level:g,sx:v={}})=>{const{state:y}=j(),f=m.useRef(null),{palette:q,spacing:T}=i.useTheme(),[z,C]=m.useState(!1),{color:w,fontWeight:W}=b(i.useTheme(),p),L=e.jsx(t,{component:"div",disablePadding:!0,children:x.map((t=>e.jsx(I,{level:g+1,item:t,size:h},t.id)))}),B="collapse"===y&&0===g?{position:"absolute",right:0}:{};return e.jsxs(e.Fragment,{children:[e.jsxs(a,{ref:f,selected:p,"aria-label":r,onClick:()=>C((e=>!e)),dense:"small"===h,sx:{...v,pl:"open"===y?T(2+1.5*g):void 0,backgroundColor:z?q.action.hover:void 0},children:[d&&e.jsx(s,{sx:{color:w},children:d}),e.jsx(l,{disableTypography:!0,primary:r,sx:{color:w,fontWeight:W,opacity:"collapse"===y&&0===g?0:void 0}}),z&&"open"===y?e.jsx(c,{sx:[{color:w,ml:2},B]}):e.jsx(u,{sx:[{color:w,ml:2},B]})]}),"open"===y?e.jsx(o,{in:z,timeout:"auto",unmountOnExit:!0,"aria-label":`${r} collapse submenu`,children:L}):e.jsx(n,{open:z,PaperProps:{elevation:0,variant:"outlined"},"aria-label":`${r} popover submenu`,anchorEl:f.current,onClose:()=>C(!1),anchorOrigin:{vertical:"top",horizontal:"right"},children:L})]})},B=({title:r,items:a,size:s="medium"})=>{const{state:l}=j(),{spacing:o}=i.useTheme();return e.jsxs(e.Fragment,{children:[r&&"open"===l&&e.jsx(v,{size:s,role:"heading",children:r}),e.jsx(t,{sx:{paddingTop:"small"===s?o(0):void 0,paddingY:"collapse"===l?0:void 0},children:a.map((t=>e.jsx(I,{item:t,size:s},t.id)))})]})};exports.DrawerContent=({nav:{items:t},size:i="medium"})=>e.jsx(e.Fragment,{children:t.map((({title:t,items:r},a)=>e.jsx(B,{title:t,items:r,size:i},a)))});
2
2
  //# sourceMappingURL=index.js.map