@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
package/README.md CHANGED
@@ -13,13 +13,13 @@ This project is available as an [npm package](https://www.npmjs.com/package/@pau
13
13
  npm:
14
14
 
15
15
  ```bash
16
- npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom react-router-dom
16
+ npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid
17
17
  ```
18
18
 
19
19
  yarn:
20
20
 
21
21
  ```bash
22
- npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom react-router-dom
22
+ npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom
23
23
  ```
24
24
 
25
25
  Now you are going to be able to import the components and use it in your React project.
@@ -5,5 +5,5 @@ export interface ActionHeaderProps {
5
5
  title: string;
6
6
  titleVariant?: Extract<Variant, "h4" | "h5" | "h6">;
7
7
  }
8
- export declare const ActionHeader: ({ title, titleVariant, variant, }: ActionHeaderProps) => JSX.Element;
8
+ export declare const ActionHeader: ({ title, titleVariant, variant, }: ActionHeaderProps) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -16,4 +16,4 @@ export interface ActionProps {
16
16
  passphrase?: string;
17
17
  onAction: () => void;
18
18
  }
19
- export declare const Action: ({ variant, title, titleVariant, description, descriptionVariant, buttonText, helperText, helperTextVariant, confirmable, passphrase, confirmTitle, confirmDescription, onAction, }: ActionProps) => JSX.Element;
19
+ export declare const Action: ({ variant, title, titleVariant, description, descriptionVariant, buttonText, helperText, helperTextVariant, confirmable, passphrase, confirmTitle, confirmDescription, onAction, }: ActionProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/Grid"),i=require("@mui/material/Button"),r=require("@mui/material/Typography"),l=require("@mui/material/DialogContentText"),a=require("@mui/material/styles"),n=require("react"),o=require("@mui/material/Dialog"),c=require("@mui/material/DialogTitle"),s=require("@mui/material/DialogActions"),d=require("@mui/material/IconButton"),u=require("@mui/material/DialogContent"),p=require("@mui/material/CircularProgress"),m=require("@mui/material/Box"),x=require("@mui/lab/LoadingButton"),h=require("@mui/icons-material/Close"),f=require("@mui/material/TextField");function j(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var C=j(t),b=j(i),g=j(r),y=j(l),q=j(o),T=j(c),v=j(s),A=j(d),k=j(u),D=j(p),B=j(m),V=j(x),O=j(h),I=j(f);const P=({title:t,titleVariant:i="h4",variant:r="primary"})=>{const{palette:l}=a.useTheme(),n={primary:void 0,error:"error",warning:l.warning.main,success:l.success.main};return e.jsx(g.default,{color:n[r],variant:i,pb:1,borderBottom:1,borderColor:"grey.300",children:t})},W=({open:t,title:i,component:r,componentProps:l={},disabled:a,disableAccept:n,disableCancel:o,actions:c=[],children:s,loading:d,cancelable:u,callCloseWhenCancel:p=!0,acceptable:m,acceptText:x="Accept",cancelText:h="Cancel",onAccept:f,onCancel:j=(()=>null),onClose:C,acceptType:g="button"})=>{const y=c.length>0||m||u;return e.jsxs(q.default,{open:t,onClose:C,children:[e.jsxs(T.default,{sx:{display:"flex",alignItems:"center"},children:[i,d&&!m&&e.jsx(D.default,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e.jsx(A.default,{disabled:a,"aria-label":"close",onClick:C,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e.jsx(O.default,{})})]}),e.jsxs(B.default,{component:r,...l,children:[e.jsx(k.default,{dividers:!0,children:s}),y&&e.jsxs(v.default,{children:[c.map((({id:t,text:i,type:r="button",onClick:l,color:n="primary"})=>e.jsx(b.default,{type:r,disabled:a,onClick:l,color:n,children:i},t))),u&&e.jsx(b.default,{color:"error",disabled:a||o,onClick:()=>{j(),p&&C()},children:h}),m&&e.jsx(V.default,{type:g,loading:d,disabled:a||n,onClick:f,children:x})]})]})]})},w=({open:t,title:i,loading:r,disabled:l,confirmText:a="Confirm",cancelText:o="Cancel",passphrase:c,children:s,onConfirm:d,onCancel:u})=>{const[p,m]=n.useState(""),x=!c||p===c;return e.jsxs(W,{title:i,loading:r,disabled:r||l,disableAccept:!x,open:t,onClose:u,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:a,cancelText:o,onCancel:u,onAccept:d,children:[s,c&&e.jsx(I.default,{size:"small",fullWidth:!0,value:p,onChange:e=>m(e.target.value),placeholder:c})]})};exports.Action=({variant:t="primary",title:i,titleVariant:r="h4",description:l,descriptionVariant:a="body2",buttonText:o,helperText:c,helperTextVariant:s="caption",confirmable:d,passphrase:u,confirmTitle:p="",confirmDescription:m="",onAction:x})=>{const{isOpen:h,open:f,close:j}=((e=!1)=>{const[t,i]=n.useState(e);return{isOpen:t,open:()=>i(!0),close:()=>i(!1),setIsOpen:i}})();return e.jsxs(e.Fragment,{children:[e.jsxs(C.default,{container:!0,spacing:1,children:[e.jsx(C.default,{item:!0,xs:12,mb:2,children:e.jsx(P,{title:i,titleVariant:r})}),l&&e.jsx(C.default,{item:!0,xs:12,children:e.jsx(g.default,{variant:a,children:l})}),e.jsx(C.default,{item:!0,xs:12,mt:1,children:e.jsx(b.default,{color:t,variant:"contained",onClick:()=>{d?f():x()},children:o})}),c&&e.jsx(C.default,{item:!0,xs:12,children:e.jsx(g.default,{variant:s,children:c})})]}),e.jsx(w,{open:h,title:p,passphrase:u,onCancel:j,onConfirm:()=>{x()},children:e.jsx(y.default,{children:m})})]})},exports.ActionHeader=P;
1
+ "use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Grid"),r=require("@mui/material/Button"),t=require("@mui/material/Typography"),n=require("@mui/material/DialogContentText"),l=require("@mui/material/styles"),a=require("react"),o=require("@mui/material/Dialog"),c=require("@mui/material/DialogTitle"),s=require("@mui/material/DialogActions"),d=require("@mui/material/IconButton"),m=require("@mui/material/DialogContent"),p=require("@mui/material/CircularProgress"),u=require("@mui/material/Box"),x=require("@mui/icons-material/Close"),h=require("@mui/material/TextField");const C=({title:i,titleVariant:r="h4",variant:n="primary"})=>{const{palette:a}=l.useTheme(),o={primary:void 0,error:"error",warning:a.warning.main,success:a.success.main};return e.jsx(t,{color:o[n],variant:r,pb:1,borderBottom:1,borderColor:"grey.300",children:i})},j=({open:i,title:t,component:n,componentProps:l={},disabled:a,disableAccept:h,disableCancel:C,actions:j=[],children:b,loading:g,cancelable:q,callCloseWhenCancel:y=!0,acceptable:T,acceptText:v="Accept",cancelText:f="Cancel",onAccept:A,onCancel:k=(()=>null),onClose:D,acceptType:V="button"})=>{const B=j.length>0||T||q;return e.jsxs(o,{open:i,onClose:D,children:[e.jsxs(c,{sx:{display:"flex",alignItems:"center"},children:[t,g&&!T&&e.jsx(p,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e.jsx(d,{disabled:a,"aria-label":"close",onClick:D,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e.jsx(x,{})})]}),e.jsxs(u,{component:n,...l,children:[e.jsx(m,{dividers:!0,children:b}),B&&e.jsxs(s,{children:[j.map((({id:i,text:t,type:n="button",onClick:l,color:o="primary"})=>e.jsx(r,{type:n,disabled:a,onClick:l,color:o,children:t},i))),q&&e.jsx(r,{color:"error",disabled:a||C,onClick:()=>{k(),y&&D()},children:f}),T&&e.jsx(r,{type:V,loading:g,disabled:a||h,onClick:A,children:v})]})]})]})},b=({open:i,title:r,loading:t,disabled:n,confirmText:l="Confirm",cancelText:o="Cancel",passphrase:c,children:s,onConfirm:d,onCancel:m})=>{const[p,u]=a.useState(""),x=!c||p===c;return e.jsxs(j,{title:r,loading:t,disabled:t||n,disableAccept:!x,open:i,onClose:m,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:l,cancelText:o,onCancel:m,onAccept:d,children:[s,c&&e.jsx(h,{size:"small",fullWidth:!0,value:p,onChange:e=>u(e.target.value),placeholder:c})]})};exports.Action=({variant:l="primary",title:o,titleVariant:c="h4",description:s,descriptionVariant:d="body2",buttonText:m,helperText:p,helperTextVariant:u="caption",confirmable:x,passphrase:h,confirmTitle:j="",confirmDescription:g="",onAction:q})=>{const{isOpen:y,open:T,close:v}=((e=!1)=>{const[i,r]=a.useState(e);return{isOpen:i,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}})();return e.jsxs(e.Fragment,{children:[e.jsxs(i,{container:!0,spacing:1,children:[e.jsx(i,{item:!0,xs:12,mb:2,children:e.jsx(C,{title:o,titleVariant:c})}),s&&e.jsx(i,{item:!0,xs:12,children:e.jsx(t,{variant:d,children:s})}),e.jsx(i,{item:!0,xs:12,mt:1,children:e.jsx(r,{color:l,variant:"contained",onClick:()=>{x?T():q()},children:m})}),p&&e.jsx(i,{item:!0,xs:12,children:e.jsx(t,{variant:u,children:p})})]}),e.jsx(b,{open:y,title:j,passphrase:h,onCancel:v,onConfirm:()=>{q(),v()},children:e.jsx(n,{children:g})})]})},exports.ActionHeader=C;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/action/action-header.tsx","../../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../../src/confirm-dialog/confirm-dialog.tsx","../../../src/action/action.tsx","../../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n callCloseWhenCancel && onClose();\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <LoadingButton\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </LoadingButton>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close;\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","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":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button","LoadingButton","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","validPassphrase","TextField","fullWidth","value","onChange","e","target","placeholder","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/action/action-header.tsx","../../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../../src/confirm-dialog/confirm-dialog.tsx","../../../src/action/action.tsx","../../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <Button\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </Button>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close();\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","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":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","validPassphrase","TextField","fullWidth","value","onChange","e","target","placeholder","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
@@ -5,9 +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/lab": "^5.0.0-alpha.134",
10
- "@mui/material": "^5.13.6",
11
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
12
11
  }
13
12
  }
package/action/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as i,Fragment as r}from"react/jsx-runtime";import t from"@mui/material/Grid";import o from"@mui/material/Button";import n from"@mui/material/Typography";import l from"@mui/material/DialogContentText";import{useTheme as a}from"@mui/material/styles";import{useState as c}from"react";import m from"@mui/material/Dialog";import p from"@mui/material/DialogTitle";import s from"@mui/material/DialogActions";import d from"@mui/material/IconButton";import h from"@mui/material/DialogContent";import u from"@mui/material/CircularProgress";import C from"@mui/material/Box";import b from"@mui/lab/LoadingButton";import f from"@mui/icons-material/Close";import g from"@mui/material/TextField";const x=({title:i,titleVariant:r="h4",variant:t="primary"})=>{const{palette:o}=a(),l={primary:void 0,error:"error",warning:o.warning.main,success:o.success.main};return e(n,{color:l[t],variant:r,pb:1,borderBottom:1,borderColor:"grey.300",children:i})},y=({open:r,title:t,component:n,componentProps:l={},disabled:a,disableAccept:c,disableCancel:g,actions:x=[],children:y,loading:T,cancelable:v,callCloseWhenCancel:A=!0,acceptable:k,acceptText:D="Accept",cancelText:B="Cancel",onAccept:V,onCancel:I=(()=>null),onClose:O,acceptType:W="button"})=>{const w=x.length>0||k||v;return i(m,{open:r,onClose:O,children:[i(p,{sx:{display:"flex",alignItems:"center"},children:[t,T&&!k&&e(u,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e(d,{disabled:a,"aria-label":"close",onClick:O,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e(f,{})})]}),i(C,{component:n,...l,children:[e(h,{dividers:!0,children:y}),w&&i(s,{children:[x.map((({id:i,text:r,type:t="button",onClick:n,color:l="primary"})=>e(o,{type:t,disabled:a,onClick:n,color:l,children:r},i))),v&&e(o,{color:"error",disabled:a||g,onClick:()=>{I(),A&&O()},children:B}),k&&e(b,{type:W,loading:T,disabled:a||c,onClick:V,children:D})]})]})]})},T=({open:r,title:t,loading:o,disabled:n,confirmText:l="Confirm",cancelText:a="Cancel",passphrase:m,children:p,onConfirm:s,onCancel:d})=>{const[h,u]=c("");return i(y,{title:t,loading:o,disabled:o||n,disableAccept:!(!m||h===m),open:r,onClose:d,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:l,cancelText:a,onCancel:d,onAccept:s,children:[p,m&&e(g,{size:"small",fullWidth:!0,value:h,onChange:e=>u(e.target.value),placeholder:m})]})},v=({variant:a="primary",title:m,titleVariant:p="h4",description:s,descriptionVariant:d="body2",buttonText:h,helperText:u,helperTextVariant:C="caption",confirmable:b,passphrase:f,confirmTitle:g="",confirmDescription:y="",onAction:v})=>{const{isOpen:A,open:k,close:D}=((e=!1)=>{const[i,r]=c(e);return{isOpen:i,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}})();return i(r,{children:[i(t,{container:!0,spacing:1,children:[e(t,{item:!0,xs:12,mb:2,children:e(x,{title:m,titleVariant:p})}),s&&e(t,{item:!0,xs:12,children:e(n,{variant:d,children:s})}),e(t,{item:!0,xs:12,mt:1,children:e(o,{color:a,variant:"contained",onClick:()=>{b?k():v()},children:h})}),u&&e(t,{item:!0,xs:12,children:e(n,{variant:C,children:u})})]}),e(T,{open:A,title:g,passphrase:f,onCancel:D,onConfirm:()=>{v()},children:e(l,{children:y})})]})};export{v as Action,x as ActionHeader};
1
+ import{jsx as e,jsxs as i,Fragment as r}from"react/jsx-runtime";import t from"@mui/material/Grid";import o from"@mui/material/Button";import n from"@mui/material/Typography";import l from"@mui/material/DialogContentText";import{useTheme as a}from"@mui/material/styles";import{useState as c}from"react";import m from"@mui/material/Dialog";import p from"@mui/material/DialogTitle";import s from"@mui/material/DialogActions";import d from"@mui/material/IconButton";import h from"@mui/material/DialogContent";import u from"@mui/material/CircularProgress";import C from"@mui/material/Box";import b from"@mui/icons-material/Close";import f from"@mui/material/TextField";const x=({title:i,titleVariant:r="h4",variant:t="primary"})=>{const{palette:o}=a(),l={primary:void 0,error:"error",warning:o.warning.main,success:o.success.main};return e(n,{color:l[t],variant:r,pb:1,borderBottom:1,borderColor:"grey.300",children:i})},g=({open:r,title:t,component:n,componentProps:l={},disabled:a,disableAccept:c,disableCancel:f,actions:x=[],children:g,loading:y,cancelable:T,callCloseWhenCancel:v=!0,acceptable:A,acceptText:k="Accept",cancelText:D="Cancel",onAccept:V,onCancel:B=(()=>null),onClose:I,acceptType:O="button"})=>{const W=x.length>0||A||T;return i(m,{open:r,onClose:I,children:[i(p,{sx:{display:"flex",alignItems:"center"},children:[t,y&&!A&&e(u,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e(d,{disabled:a,"aria-label":"close",onClick:I,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e(b,{})})]}),i(C,{component:n,...l,children:[e(h,{dividers:!0,children:g}),W&&i(s,{children:[x.map((({id:i,text:r,type:t="button",onClick:n,color:l="primary"})=>e(o,{type:t,disabled:a,onClick:n,color:l,children:r},i))),T&&e(o,{color:"error",disabled:a||f,onClick:()=>{B(),v&&I()},children:D}),A&&e(o,{type:O,loading:y,disabled:a||c,onClick:V,children:k})]})]})]})},y=({open:r,title:t,loading:o,disabled:n,confirmText:l="Confirm",cancelText:a="Cancel",passphrase:m,children:p,onConfirm:s,onCancel:d})=>{const[h,u]=c("");return i(g,{title:t,loading:o,disabled:o||n,disableAccept:!(!m||h===m),open:r,onClose:d,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:l,cancelText:a,onCancel:d,onAccept:s,children:[p,m&&e(f,{size:"small",fullWidth:!0,value:h,onChange:e=>u(e.target.value),placeholder:m})]})},T=({variant:a="primary",title:m,titleVariant:p="h4",description:s,descriptionVariant:d="body2",buttonText:h,helperText:u,helperTextVariant:C="caption",confirmable:b,passphrase:f,confirmTitle:g="",confirmDescription:T="",onAction:v})=>{const{isOpen:A,open:k,close:D}=((e=!1)=>{const[i,r]=c(e);return{isOpen:i,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}})();return i(r,{children:[i(t,{container:!0,spacing:1,children:[e(t,{item:!0,xs:12,mb:2,children:e(x,{title:m,titleVariant:p})}),s&&e(t,{item:!0,xs:12,children:e(n,{variant:d,children:s})}),e(t,{item:!0,xs:12,mt:1,children:e(o,{color:a,variant:"contained",onClick:()=>{b?k():v()},children:h})}),u&&e(t,{item:!0,xs:12,children:e(n,{variant:C,children:u})})]}),e(y,{open:A,title:g,passphrase:f,onCancel:D,onConfirm:()=>{v(),D()},children:e(l,{children:T})})]})};export{T as Action,x as ActionHeader};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/action/action-header.tsx","../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/confirm-dialog/confirm-dialog.tsx","../../src/action/action.tsx","../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n callCloseWhenCancel && onClose();\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <LoadingButton\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </LoadingButton>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close;\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","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":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button","LoadingButton","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","TextField","fullWidth","value","onChange","e","target","placeholder","Action","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/action/action-header.tsx","../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/confirm-dialog/confirm-dialog.tsx","../../src/action/action.tsx","../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <Button\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </Button>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close();\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","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":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","TextField","fullWidth","value","onChange","e","target","placeholder","Action","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
@@ -5,9 +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/lab": "^5.0.0-alpha.134",
10
- "@mui/material": "^5.13.6",
11
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
12
11
  }
13
12
  }
@@ -8,4 +8,4 @@ export interface AutocompleteProps<T, Multiple extends boolean | undefined, Disa
8
8
  fetching?: boolean;
9
9
  onChangeValue?: (value: T) => void;
10
10
  }
11
- export declare const Autocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType<any> = "div">(props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
11
+ export declare const Autocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType = "div">(props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/Autocomplete"),r=require("@mui/material/CircularProgress"),l=require("@mui/material/FormControl"),o=require("@mui/material/FormHelperText"),n=require("@mui/material/IconButton"),i=require("@mui/material/LinearProgress"),u=require("@mui/material/OutlinedInput"),s=require("@mui/material/InputLabel"),a=require("@mui/material/InputAdornment"),d=require("react");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var f=c(t),p=c(r),x=c(l),h=c(o),b=c(i),g=c(u),j=c(s),C=c(a),q=m(d);let $=0;const I=q["useId".toString()];function O(e){if(void 0!==I){const t=I();return null!=e?e:t}return function(e){const[t,r]=q.useState(e),l=e||t;return q.useEffect((()=>{null==t&&($+=1,r(`mui-${$}`))}),[t]),l}(e)}const P=({id:l,label:o,InputLabelProps:a,InputProps:d,fetching:c,loading:m,helperText:f,hexColor:q,size:$,fullWidth:I,sx:P,...v})=>{const A=O(l),y=f&&A?`${A}-helper-text`:void 0,z=o&&A?`${A}-label`:void 0,L=q?{[`& .${u.outlinedInputClasses.notchedOutline}`]:{borderColor:`${q} !important`},[`& .${s.inputLabelClasses.root}`]:{color:q},[`& .${u.outlinedInputClasses.input}`]:{color:q},[`& .${r.circularProgressClasses.root}`]:{color:q},[`& .${i.linearProgressClasses.bar}`]:{backgroundColor:q},[`& .${t.autocompleteClasses.endAdornment} .${n.iconButtonClasses.root}`]:{color:q}}:{};return e.jsxs(x.default,{sx:L,fullWidth:I,children:[e.jsx(j.default,{size:"small"===$?"small":"normal",id:z,htmlFor:A,...a,children:o}),e.jsx(g.default,{...d,id:A,label:o,size:$,fullWidth:I,endAdornment:e.jsxs(C.default,{position:"end",children:[d?.endAdornment,m?e.jsx(p.default,{color:"inherit",size:20,sx:{ml:1}}):null]}),sx:P,...v}),c&&!m&&e.jsx(b.default,{color:"inherit",sx:{position:"absolute",left:0,right:0,bottom:0}}),f&&e.jsx(h.default,{id:y,children:f})]})};exports.Autocomplete=t=>{const{label:r,loading:l,fetching:o,options:n,helperText:i,color:u,onChangeValue:s=(()=>null),sx:a,...d}=t,c=l||o;return e.jsx(f.default,{loading:c,options:o?[]:n,onChange:(e,t)=>s(t),...d,renderInput:t=>e.jsx(P,{...t,label:r,fullWidth:!0,fetching:o,loading:l,hexColor:u,helperText:i}),sx:a})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/Autocomplete"),t=require("@mui/material/CircularProgress"),o=require("@mui/material/FormControl"),l=require("@mui/material/FormHelperText"),i=require("@mui/material/IconButton"),n=require("@mui/material/LinearProgress"),s=require("@mui/material/OutlinedInput"),u=require("@mui/material/InputLabel"),a=require("@mui/material/InputAdornment");function c(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var d=c(require("react"));let m=0;const p={...d}.useId;function h(e){if(void 0!==p){const r=p();return e??r}return function(e){const[r,t]=d.useState(e),o=e||r;return d.useEffect((()=>{null==r&&(m+=1,t(`mui-${m}`))}),[r]),o}(e)}const x=({id:c,label:d,InputLabelProps:m,InputProps:p,fetching:x,loading:f,helperText:b,hexColor:g,size:j,fullWidth:C,sx:q,...$})=>{const I=h(c),O=b&&I?`${I}-helper-text`:void 0,P=d&&I?`${I}-label`:void 0,v=g?{[`& .${s.outlinedInputClasses.notchedOutline}`]:{borderColor:`${g} !important`},[`& .${u.inputLabelClasses.root}`]:{color:g},[`& .${s.outlinedInputClasses.input}`]:{color:g},[`& .${t.circularProgressClasses.root}`]:{color:g},[`& .${n.linearProgressClasses.bar}`]:{backgroundColor:g},[`& .${r.autocompleteClasses.endAdornment} .${i.iconButtonClasses.root}`]:{color:g}}:{};return e.jsxs(o,{sx:v,fullWidth:C,children:[e.jsx(u,{size:"small"===j?"small":"normal",id:P,htmlFor:I,...m,children:d}),e.jsx(s,{...p,id:I,label:d,size:j,fullWidth:C,endAdornment:e.jsxs(a,{position:"end",children:[p?.endAdornment,f?e.jsx(t,{color:"inherit",size:20,sx:{ml:1}}):null]}),sx:q,...$}),x&&!f&&e.jsx(n,{color:"inherit",sx:{position:"absolute",left:0,right:0,bottom:0}}),b&&e.jsx(l,{id:O,children:b})]})};exports.Autocomplete=t=>{const{label:o,loading:l,fetching:i,options:n,helperText:s,color:u,onChangeValue:a=(()=>null),sx:c,...d}=t,m=l||i;return e.jsx(r,{loading:m,options:i?[]:n,onChange:(e,r)=>a(r),...d,renderInput:r=>e.jsx(x,{...r,label:o,fullWidth:!0,fetching:i,loading:l,hexColor:u,helperText:s}),sx:c})};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/@mui/utils/esm/useId/useId.js","../../../src/text-field/text-field.tsx","../../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import { TextFieldProps as MuiTextFieldProps } from \"@mui/material/TextField\";\nimport CircularProgress, { circularProgressClasses } from \"@mui/material/CircularProgress\";\nimport FormControl from \"@mui/material/FormControl\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport { iconButtonClasses } from \"@mui/material/IconButton\";\nimport LinearProgress, { linearProgressClasses } from \"@mui/material/LinearProgress\";\nimport OutlinedInput, { outlinedInputClasses } from \"@mui/material/OutlinedInput\";\nimport InputLabel, { inputLabelClasses } from \"@mui/material/InputLabel\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { autocompleteClasses } from \"@mui/material/Autocomplete\";\nimport useId from \"@mui/utils/useId\";\n\nexport type TextFieldProps = MuiTextFieldProps & {\n fetching?: boolean;\n loading?: boolean;\n hexColor?: string;\n};\n\nexport const TextField = ({\n id: overrideId,\n label,\n InputLabelProps,\n InputProps,\n fetching,\n loading,\n helperText,\n hexColor,\n size,\n fullWidth,\n sx,\n ...rest\n}: TextFieldProps) => {\n const id = useId(overrideId);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n\n const hexColorSx = hexColor\n ? {\n [`& .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: `${hexColor} !important`,\n },\n [`& .${inputLabelClasses.root}`]: {\n color: hexColor,\n },\n [`& .${outlinedInputClasses.input}`]: {\n color: hexColor,\n },\n [`& .${circularProgressClasses.root}`]: {\n color: hexColor,\n },\n [`& .${linearProgressClasses.bar}`]: {\n backgroundColor: hexColor,\n },\n [`& .${autocompleteClasses.endAdornment} .${iconButtonClasses.root}`]: {\n color: hexColor,\n },\n }\n : {};\n\n return (\n <FormControl sx={hexColorSx} fullWidth={fullWidth}>\n <InputLabel\n size={size === \"small\" ? \"small\" : \"normal\"}\n id={inputLabelId}\n htmlFor={id}\n {...InputLabelProps}\n >\n {label}\n </InputLabel>\n <OutlinedInput\n {...InputProps}\n id={id}\n label={label}\n size={size}\n fullWidth={fullWidth}\n endAdornment={\n <InputAdornment position=\"end\">\n {InputProps?.endAdornment}\n {loading ? <CircularProgress color=\"inherit\" size={20} sx={{ ml: 1 }} /> : null}\n </InputAdornment>\n }\n sx={sx}\n {...(rest as any)}\n />\n {fetching && !loading && (\n <LinearProgress\n color=\"inherit\"\n sx={{ position: \"absolute\", left: 0, right: 0, bottom: 0 }}\n />\n )}\n {helperText && <FormHelperText id={helperTextId}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import MuiAutocomplete, {\n AutocompleteProps as MuiAutocompleteProps,\n} from \"@mui/material/Autocomplete\";\nimport React from \"react\";\nimport { TextField } from \"../text-field\";\nimport { ChipTypeMap } from \"@mui/material/Chip\";\n\nexport interface AutocompleteProps<\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n> extends Omit<\n MuiAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n \"renderInput\" | \"onChange\" | \"color\"\n > {\n label: string;\n helperText?: string;\n color?: string;\n fetching?: boolean;\n onChangeValue?: (value: T) => void;\n}\n\nexport const Autocomplete = <\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n>(\n props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n) => {\n const {\n label,\n loading,\n fetching,\n options,\n helperText,\n color,\n onChangeValue = () => null,\n sx,\n ...rest\n } = props;\n const loadingOrFetching = loading || fetching;\n\n return (\n <MuiAutocomplete\n loading={loadingOrFetching}\n options={fetching ? [] : options}\n onChange={(_, value) => onChangeValue(value as T)}\n {...(rest as any)}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n fullWidth\n fetching={fetching}\n loading={loading}\n hexColor={color}\n helperText={helperText}\n />\n )}\n sx={sx}\n />\n );\n};\n"],"names":["globalId","maybeReactUseId","React","toString","useId","idOverride","undefined","reactId","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","TextField","overrideId","label","InputLabelProps","InputProps","fetching","loading","helperText","hexColor","size","fullWidth","sx","rest","helperTextId","inputLabelId","hexColorSx","outlinedInputClasses","notchedOutline","borderColor","inputLabelClasses","root","color","input","circularProgressClasses","linearProgressClasses","bar","backgroundColor","autocompleteClasses","endAdornment","iconButtonClasses","_jsxs","jsxs","FormControl","children","_jsx","InputLabel","htmlFor","jsx","OutlinedInput","InputAdornment","position","CircularProgress","ml","LinearProgress","left","right","bottom","FormHelperText","props","options","onChangeValue","loadingOrFetching","MuiAutocomplete","onChange","_","value","renderInput","params"],"mappings":"k5BAGA,IAAIA,EAAW,EAkBf,MAAMC,EAAkBC,EAAM,QAAQC,YAOvB,SAASC,EAAMC,GAC5B,QAAwBC,IAApBL,EAA+B,CACjC,MAAMM,EAAUN,IAChB,OAAqB,MAAdI,EAAqBA,EAAaE,CAC1C,CAED,OA9BF,SAAqBF,GACnB,MAAOG,EAAWC,GAAgBP,EAAMQ,SAASL,GAC3CM,EAAKN,GAAcG,EAWzB,OAVAN,EAAMU,WAAU,KACG,MAAbJ,IAKFR,GAAY,EACZS,EAAa,OAAOT,KACrB,GACA,CAACQ,IACGG,CACT,CAgBSE,CAAYR,EACrB,CCjBO,MAAMS,EAAY,EACvBH,GAAII,EACJC,QACAC,kBACAC,aACAC,WACAC,UACAC,aACAC,WACAC,OACAC,YACAC,QACGC,MAEH,MAAMf,EAAKP,EAAMW,GACXY,EAAeN,GAAcV,EAAK,GAAGA,qBAAmBL,EACxDsB,EAAeZ,GAASL,EAAK,GAAGA,eAAaL,EAE7CuB,EAAaP,EACf,CACE,CAAC,MAAMQ,uBAAqBC,kBAAmB,CAC7CC,YAAa,GAAGV,gBAElB,CAAC,MAAMW,oBAAkBC,QAAS,CAChCC,MAAOb,GAET,CAAC,MAAMQ,uBAAqBM,SAAU,CACpCD,MAAOb,GAET,CAAC,MAAMe,0BAAwBH,QAAS,CACtCC,MAAOb,GAET,CAAC,MAAMgB,wBAAsBC,OAAQ,CACnCC,gBAAiBlB,GAEnB,CAAC,MAAMmB,sBAAoBC,iBAAiBC,EAAiBA,kBAACT,QAAS,CACrEC,MAAOb,IAGX,GAEJ,OACEsB,EAACC,KAAAC,UAAY,CAAArB,GAAII,EAAYL,UAAWA,EACtCuB,SAAA,CAAAC,EAAAA,IAACC,EAAU,QAAA,CACT1B,KAAe,UAATA,EAAmB,QAAU,SACnCZ,GAAIiB,EACJsB,QAASvC,KACLM,EAAe8B,SAElB/B,IAEHgC,EAACG,IAAAC,UACK,IAAAlC,EACJP,GAAIA,EACJK,MAAOA,EACPO,KAAMA,EACNC,UAAWA,EACXkB,aACEE,OAACS,EAAAA,QAAe,CAAAC,SAAS,gBACtBpC,GAAYwB,aACZtB,EAAU4B,EAACG,IAAAI,WAAiBpB,MAAM,UAAUZ,KAAM,GAAIE,GAAI,CAAE+B,GAAI,KAAU,QAG/E/B,GAAIA,KACCC,IAENP,IAAaC,GACZ4B,MAACS,UAAc,CACbtB,MAAM,UACNV,GAAI,CAAE6B,SAAU,WAAYI,KAAM,EAAGC,MAAO,EAAGC,OAAQ,KAG1DvC,GAAc2B,EAAAA,IAACa,EAAc,QAAC,CAAAlD,GAAIgB,EAAYoB,SAAG1B,MAEpD,uBC7DFyC,IAEA,MAAM9C,MACJA,EAAKI,QACLA,EAAOD,SACPA,EAAQ4C,QACRA,EAAO1C,WACPA,EAAUc,MACVA,EAAK6B,cACLA,EAAgB,KAAM,MAAIvC,GAC1BA,KACGC,GACDoC,EACEG,EAAoB7C,GAAWD,EAErC,OACE6B,EAACG,IAAAe,EAAe,QACd,CAAA9C,QAAS6C,EACTF,QAAS5C,EAAW,GAAK4C,EACzBI,SAAU,CAACC,EAAGC,IAAUL,EAAcK,MACjC3C,EACL4C,YAAcC,GACZvB,EAAAA,IAAClC,MACKyD,EACJvD,MAAOA,EACPQ,WACA,EAAAL,SAAUA,EACVC,QAASA,EACTE,SAAUa,EACVd,WAAYA,IAGhBI,GAAIA,GAEN"}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/@mui/utils/esm/useId/useId.js","../../../src/text-field/text-field.tsx","../../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import { TextFieldProps as MuiTextFieldProps } from \"@mui/material/TextField\";\nimport CircularProgress, { circularProgressClasses } from \"@mui/material/CircularProgress\";\nimport FormControl from \"@mui/material/FormControl\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport { iconButtonClasses } from \"@mui/material/IconButton\";\nimport LinearProgress, { linearProgressClasses } from \"@mui/material/LinearProgress\";\nimport OutlinedInput, { outlinedInputClasses } from \"@mui/material/OutlinedInput\";\nimport InputLabel, { inputLabelClasses } from \"@mui/material/InputLabel\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { autocompleteClasses } from \"@mui/material/Autocomplete\";\nimport useId from \"@mui/utils/useId\";\n\nexport type TextFieldProps = MuiTextFieldProps & {\n fetching?: boolean;\n loading?: boolean;\n hexColor?: string;\n};\n\nexport const TextField = ({\n id: overrideId,\n label,\n InputLabelProps,\n InputProps,\n fetching,\n loading,\n helperText,\n hexColor,\n size,\n fullWidth,\n sx,\n ...rest\n}: TextFieldProps) => {\n const id = useId(overrideId);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n\n const hexColorSx = hexColor\n ? {\n [`& .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: `${hexColor} !important`,\n },\n [`& .${inputLabelClasses.root}`]: {\n color: hexColor,\n },\n [`& .${outlinedInputClasses.input}`]: {\n color: hexColor,\n },\n [`& .${circularProgressClasses.root}`]: {\n color: hexColor,\n },\n [`& .${linearProgressClasses.bar}`]: {\n backgroundColor: hexColor,\n },\n [`& .${autocompleteClasses.endAdornment} .${iconButtonClasses.root}`]: {\n color: hexColor,\n },\n }\n : {};\n\n return (\n <FormControl sx={hexColorSx} fullWidth={fullWidth}>\n <InputLabel\n size={size === \"small\" ? \"small\" : \"normal\"}\n id={inputLabelId}\n htmlFor={id}\n {...InputLabelProps}\n >\n {label}\n </InputLabel>\n <OutlinedInput\n {...InputProps}\n id={id}\n label={label}\n size={size}\n fullWidth={fullWidth}\n endAdornment={\n <InputAdornment position=\"end\">\n {InputProps?.endAdornment}\n {loading ? <CircularProgress color=\"inherit\" size={20} sx={{ ml: 1 }} /> : null}\n </InputAdornment>\n }\n sx={sx}\n {...(rest as any)}\n />\n {fetching && !loading && (\n <LinearProgress\n color=\"inherit\"\n sx={{ position: \"absolute\", left: 0, right: 0, bottom: 0 }}\n />\n )}\n {helperText && <FormHelperText id={helperTextId}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import MuiAutocomplete, {\n AutocompleteProps as MuiAutocompleteProps,\n} from \"@mui/material/Autocomplete\";\nimport React from \"react\";\nimport { TextField } from \"../text-field\";\nimport { ChipTypeMap } from \"@mui/material/Chip\";\n\nexport interface AutocompleteProps<\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n> extends Omit<\n MuiAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n \"renderInput\" | \"onChange\" | \"color\"\n > {\n label: string;\n helperText?: string;\n color?: string;\n fetching?: boolean;\n onChangeValue?: (value: T) => void;\n}\n\nexport const Autocomplete = <\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n>(\n props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n) => {\n const {\n label,\n loading,\n fetching,\n options,\n helperText,\n color,\n onChangeValue = () => null,\n sx,\n ...rest\n } = props;\n const loadingOrFetching = loading || fetching;\n\n return (\n <MuiAutocomplete\n loading={loadingOrFetching}\n options={fetching ? [] : options}\n onChange={(_, value) => onChangeValue(value as T)}\n {...(rest as any)}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n fullWidth\n fetching={fetching}\n loading={loading}\n hexColor={color}\n helperText={helperText}\n />\n )}\n sx={sx}\n />\n );\n};\n"],"names":["globalId","maybeReactUseId","React","useId","idOverride","undefined","reactId","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","TextField","overrideId","label","InputLabelProps","InputProps","fetching","loading","helperText","hexColor","size","fullWidth","sx","rest","helperTextId","inputLabelId","hexColorSx","outlinedInputClasses","notchedOutline","borderColor","inputLabelClasses","root","color","input","circularProgressClasses","linearProgressClasses","bar","backgroundColor","autocompleteClasses","endAdornment","iconButtonClasses","_jsxs","jsxs","FormControl","children","_jsx","InputLabel","htmlFor","OutlinedInput","InputAdornment","position","CircularProgress","ml","LinearProgress","left","right","bottom","FormHelperText","props","options","onChangeValue","loadingOrFetching","jsx","MuiAutocomplete","onChange","_","value","renderInput","params"],"mappings":"2rBAGA,IAAIA,EAAW,EAoBf,MAGMC,EAHY,IACbC,GAE6BC,MAQnB,SAASA,EAAMC,GAE5B,QAAwBC,IAApBJ,EAA+B,CACjC,MAAMK,EAAUL,IAChB,OAAOG,GAAcE,CACzB,CAIE,OArCF,SAAqBF,GACnB,MAAOG,EAAWC,GAAgBN,EAAMO,SAASL,GAC3CM,EAAKN,GAAcG,EAWzB,OAVAL,EAAMS,WAAU,KACG,MAAbJ,IAKFP,GAAY,EACZQ,EAAa,OAAOR,KAC1B,GACK,CAACO,IACGG,CACT,CAuBSE,CAAYR,EACrB,CC1BO,MAAMS,EAAY,EACvBH,GAAII,EACJC,QACAC,kBACAC,aACAC,WACAC,UACAC,aACAC,WACAC,OACAC,YACAC,QACGC,MAEH,MAAMf,EAAKP,EAAMW,GACXY,EAAeN,GAAcV,EAAK,GAAGA,qBAAmBL,EACxDsB,EAAeZ,GAASL,EAAK,GAAGA,eAAaL,EAE7CuB,EAAaP,EACf,CACE,CAAC,MAAMQ,uBAAqBC,kBAAmB,CAC7CC,YAAa,GAAGV,gBAElB,CAAC,MAAMW,oBAAkBC,QAAS,CAChCC,MAAOb,GAET,CAAC,MAAMQ,uBAAqBM,SAAU,CACpCD,MAAOb,GAET,CAAC,MAAMe,0BAAwBH,QAAS,CACtCC,MAAOb,GAET,CAAC,MAAMgB,wBAAsBC,OAAQ,CACnCC,gBAAiBlB,GAEnB,CAAC,MAAMmB,sBAAoBC,iBAAiBC,EAAiBA,kBAACT,QAAS,CACrEC,MAAOb,IAGX,CAAE,EAEN,OACEsB,EAACC,KAAAC,EAAY,CAAArB,GAAII,EAAYL,UAAWA,EACtCuB,SAAA,CAAAC,EAAAA,IAACC,EAAU,CACT1B,KAAe,UAATA,EAAmB,QAAU,SACnCZ,GAAIiB,EACJsB,QAASvC,KACLM,EAAe8B,SAElB/B,IAEHgC,EAAAA,IAACG,EACK,IAAAjC,EACJP,GAAIA,EACJK,MAAOA,EACPO,KAAMA,EACNC,UAAWA,EACXkB,aACEE,EAAAC,KAACO,EAAe,CAAAC,SAAS,gBACtBnC,GAAYwB,aACZtB,EAAU4B,EAAAA,IAACM,GAAiBnB,MAAM,UAAUZ,KAAM,GAAIE,GAAI,CAAE8B,GAAI,KAAU,QAG/E9B,GAAIA,KACCC,IAENP,IAAaC,GACZ4B,EAAAA,IAACQ,EAAc,CACbrB,MAAM,UACNV,GAAI,CAAE4B,SAAU,WAAYI,KAAM,EAAGC,MAAO,EAAGC,OAAQ,KAG1DtC,GAAc2B,MAACY,EAAe,CAAAjD,GAAIgB,EAAYoB,SAAG1B,MACtC,uBC5DhBwC,IAEA,MAAM7C,MACJA,EAAKI,QACLA,EAAOD,SACPA,EAAQ2C,QACRA,EAAOzC,WACPA,EAAUc,MACVA,EAAK4B,cACLA,EAAgB,KAAM,MAAItC,GAC1BA,KACGC,GACDmC,EACEG,EAAoB5C,GAAWD,EAErC,OACE6B,EAACiB,IAAAC,EACC,CAAA9C,QAAS4C,EACTF,QAAS3C,EAAW,GAAK2C,EACzBK,SAAU,CAACC,EAAGC,IAAUN,EAAcM,MACjC3C,EACL4C,YAAcC,GACZvB,EAACiB,IAAAnD,MACKyD,EACJvD,MAAOA,EACPQ,WACA,EAAAL,SAAUA,EACVC,QAASA,EACTE,SAAUa,EACVd,WAAYA,IAGhBI,GAAIA,GACJ","x_google_ignoreList":[0]}
@@ -5,7 +5,7 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/material": "^5.13.6",
9
- "react": "^18.2.0"
8
+ "@mui/material": "^6.4.5",
9
+ "react": "^19.0.0"
10
10
  }
11
11
  }
@@ -1,2 +1,2 @@
1
- import{jsxs as o,jsx as r}from"react/jsx-runtime";import t,{autocompleteClasses as e}from"@mui/material/Autocomplete";import i,{circularProgressClasses as l}from"@mui/material/CircularProgress";import n from"@mui/material/FormControl";import m from"@mui/material/FormHelperText";import{iconButtonClasses as a}from"@mui/material/IconButton";import u,{linearProgressClasses as s}from"@mui/material/LinearProgress";import d,{outlinedInputClasses as p}from"@mui/material/OutlinedInput";import c,{inputLabelClasses as f}from"@mui/material/InputLabel";import h from"@mui/material/InputAdornment";import*as x from"react";let g=0;const b=x["useId".toString()];function $(o){if(void 0!==b){const r=b();return null!=o?o:r}return function(o){const[r,t]=x.useState(o),e=o||r;return x.useEffect((()=>{null==r&&(g+=1,t(`mui-${g}`))}),[r]),e}(o)}const C=({id:t,label:x,InputLabelProps:g,InputProps:b,fetching:C,loading:I,helperText:A,hexColor:z,size:P,fullWidth:T,sx:W,...v})=>{const F=$(t),L=A&&F?`${F}-helper-text`:void 0,O=x&&F?`${F}-label`:void 0,S=z?{[`& .${p.notchedOutline}`]:{borderColor:`${z} !important`},[`& .${f.root}`]:{color:z},[`& .${p.input}`]:{color:z},[`& .${l.root}`]:{color:z},[`& .${s.bar}`]:{backgroundColor:z},[`& .${e.endAdornment} .${a.root}`]:{color:z}}:{};return o(n,{sx:S,fullWidth:T,children:[r(c,{size:"small"===P?"small":"normal",id:O,htmlFor:F,...g,children:x}),r(d,{...b,id:F,label:x,size:P,fullWidth:T,endAdornment:o(h,{position:"end",children:[b?.endAdornment,I?r(i,{color:"inherit",size:20,sx:{ml:1}}):null]}),sx:W,...v}),C&&!I&&r(u,{color:"inherit",sx:{position:"absolute",left:0,right:0,bottom:0}}),A&&r(m,{id:L,children:A})]})},I=o=>{const{label:e,loading:i,fetching:l,options:n,helperText:m,color:a,onChangeValue:u=(()=>null),sx:s,...d}=o;return r(t,{loading:i||l,options:l?[]:n,onChange:(o,r)=>u(r),...d,renderInput:o=>r(C,{...o,label:e,fullWidth:!0,fetching:l,loading:i,hexColor:a,helperText:m}),sx:s})};export{I as Autocomplete};
1
+ import{jsxs as o,jsx as r}from"react/jsx-runtime";import t,{autocompleteClasses as e}from"@mui/material/Autocomplete";import i,{circularProgressClasses as l}from"@mui/material/CircularProgress";import n from"@mui/material/FormControl";import m from"@mui/material/FormHelperText";import{iconButtonClasses as a}from"@mui/material/IconButton";import u,{linearProgressClasses as s}from"@mui/material/LinearProgress";import d,{outlinedInputClasses as p}from"@mui/material/OutlinedInput";import c,{inputLabelClasses as f}from"@mui/material/InputLabel";import h from"@mui/material/InputAdornment";import*as x from"react";let g=0;const b={...x}.useId;function $(o){if(void 0!==b){const r=b();return o??r}return function(o){const[r,t]=x.useState(o),e=o||r;return x.useEffect((()=>{null==r&&(g+=1,t(`mui-${g}`))}),[r]),e}(o)}const C=({id:t,label:x,InputLabelProps:g,InputProps:b,fetching:C,loading:I,helperText:A,hexColor:z,size:P,fullWidth:T,sx:W,...v})=>{const F=$(t),L=A&&F?`${F}-helper-text`:void 0,O=x&&F?`${F}-label`:void 0,j=z?{[`& .${p.notchedOutline}`]:{borderColor:`${z} !important`},[`& .${f.root}`]:{color:z},[`& .${p.input}`]:{color:z},[`& .${l.root}`]:{color:z},[`& .${s.bar}`]:{backgroundColor:z},[`& .${e.endAdornment} .${a.root}`]:{color:z}}:{};return o(n,{sx:j,fullWidth:T,children:[r(c,{size:"small"===P?"small":"normal",id:O,htmlFor:F,...g,children:x}),r(d,{...b,id:F,label:x,size:P,fullWidth:T,endAdornment:o(h,{position:"end",children:[b?.endAdornment,I?r(i,{color:"inherit",size:20,sx:{ml:1}}):null]}),sx:W,...v}),C&&!I&&r(u,{color:"inherit",sx:{position:"absolute",left:0,right:0,bottom:0}}),A&&r(m,{id:L,children:A})]})},I=o=>{const{label:e,loading:i,fetching:l,options:n,helperText:m,color:a,onChangeValue:u=(()=>null),sx:s,...d}=o;return r(t,{loading:i||l,options:l?[]:n,onChange:(o,r)=>u(r),...d,renderInput:o=>r(C,{...o,label:e,fullWidth:!0,fetching:l,loading:i,hexColor:a,helperText:m}),sx:s})};export{I as Autocomplete};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/@mui/utils/esm/useId/useId.js","../../src/text-field/text-field.tsx","../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import { TextFieldProps as MuiTextFieldProps } from \"@mui/material/TextField\";\nimport CircularProgress, { circularProgressClasses } from \"@mui/material/CircularProgress\";\nimport FormControl from \"@mui/material/FormControl\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport { iconButtonClasses } from \"@mui/material/IconButton\";\nimport LinearProgress, { linearProgressClasses } from \"@mui/material/LinearProgress\";\nimport OutlinedInput, { outlinedInputClasses } from \"@mui/material/OutlinedInput\";\nimport InputLabel, { inputLabelClasses } from \"@mui/material/InputLabel\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { autocompleteClasses } from \"@mui/material/Autocomplete\";\nimport useId from \"@mui/utils/useId\";\n\nexport type TextFieldProps = MuiTextFieldProps & {\n fetching?: boolean;\n loading?: boolean;\n hexColor?: string;\n};\n\nexport const TextField = ({\n id: overrideId,\n label,\n InputLabelProps,\n InputProps,\n fetching,\n loading,\n helperText,\n hexColor,\n size,\n fullWidth,\n sx,\n ...rest\n}: TextFieldProps) => {\n const id = useId(overrideId);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n\n const hexColorSx = hexColor\n ? {\n [`& .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: `${hexColor} !important`,\n },\n [`& .${inputLabelClasses.root}`]: {\n color: hexColor,\n },\n [`& .${outlinedInputClasses.input}`]: {\n color: hexColor,\n },\n [`& .${circularProgressClasses.root}`]: {\n color: hexColor,\n },\n [`& .${linearProgressClasses.bar}`]: {\n backgroundColor: hexColor,\n },\n [`& .${autocompleteClasses.endAdornment} .${iconButtonClasses.root}`]: {\n color: hexColor,\n },\n }\n : {};\n\n return (\n <FormControl sx={hexColorSx} fullWidth={fullWidth}>\n <InputLabel\n size={size === \"small\" ? \"small\" : \"normal\"}\n id={inputLabelId}\n htmlFor={id}\n {...InputLabelProps}\n >\n {label}\n </InputLabel>\n <OutlinedInput\n {...InputProps}\n id={id}\n label={label}\n size={size}\n fullWidth={fullWidth}\n endAdornment={\n <InputAdornment position=\"end\">\n {InputProps?.endAdornment}\n {loading ? <CircularProgress color=\"inherit\" size={20} sx={{ ml: 1 }} /> : null}\n </InputAdornment>\n }\n sx={sx}\n {...(rest as any)}\n />\n {fetching && !loading && (\n <LinearProgress\n color=\"inherit\"\n sx={{ position: \"absolute\", left: 0, right: 0, bottom: 0 }}\n />\n )}\n {helperText && <FormHelperText id={helperTextId}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import MuiAutocomplete, {\n AutocompleteProps as MuiAutocompleteProps,\n} from \"@mui/material/Autocomplete\";\nimport React from \"react\";\nimport { TextField } from \"../text-field\";\nimport { ChipTypeMap } from \"@mui/material/Chip\";\n\nexport interface AutocompleteProps<\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n> extends Omit<\n MuiAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n \"renderInput\" | \"onChange\" | \"color\"\n > {\n label: string;\n helperText?: string;\n color?: string;\n fetching?: boolean;\n onChangeValue?: (value: T) => void;\n}\n\nexport const Autocomplete = <\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n>(\n props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n) => {\n const {\n label,\n loading,\n fetching,\n options,\n helperText,\n color,\n onChangeValue = () => null,\n sx,\n ...rest\n } = props;\n const loadingOrFetching = loading || fetching;\n\n return (\n <MuiAutocomplete\n loading={loadingOrFetching}\n options={fetching ? [] : options}\n onChange={(_, value) => onChangeValue(value as T)}\n {...(rest as any)}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n fullWidth\n fetching={fetching}\n loading={loading}\n hexColor={color}\n helperText={helperText}\n />\n )}\n sx={sx}\n />\n );\n};\n"],"names":["globalId","maybeReactUseId","React","toString","useId","idOverride","undefined","reactId","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","TextField","overrideId","label","InputLabelProps","InputProps","fetching","loading","helperText","hexColor","size","fullWidth","sx","rest","helperTextId","inputLabelId","hexColorSx","outlinedInputClasses","notchedOutline","borderColor","inputLabelClasses","root","color","input","circularProgressClasses","linearProgressClasses","bar","backgroundColor","autocompleteClasses","endAdornment","iconButtonClasses","_jsxs","FormControl","children","_jsx","InputLabel","htmlFor","OutlinedInput","InputAdornment","position","CircularProgress","ml","LinearProgress","left","right","bottom","FormHelperText","Autocomplete","props","options","onChangeValue","MuiAutocomplete","onChange","_","value","renderInput","params"],"mappings":"smBAGA,IAAIA,EAAW,EAkBf,MAAMC,EAAkBC,EAAM,QAAQC,YAOvB,SAASC,EAAMC,GAC5B,QAAwBC,IAApBL,EAA+B,CACjC,MAAMM,EAAUN,IAChB,OAAqB,MAAdI,EAAqBA,EAAaE,CAC1C,CAED,OA9BF,SAAqBF,GACnB,MAAOG,EAAWC,GAAgBP,EAAMQ,SAASL,GAC3CM,EAAKN,GAAcG,EAWzB,OAVAN,EAAMU,WAAU,KACG,MAAbJ,IAKFR,GAAY,EACZS,EAAa,OAAOT,KACrB,GACA,CAACQ,IACGG,CACT,CAgBSE,CAAYR,EACrB,CCjBO,MAAMS,EAAY,EACvBH,GAAII,EACJC,QACAC,kBACAC,aACAC,WACAC,UACAC,aACAC,WACAC,OACAC,YACAC,QACGC,MAEH,MAAMf,EAAKP,EAAMW,GACXY,EAAeN,GAAcV,EAAK,GAAGA,qBAAmBL,EACxDsB,EAAeZ,GAASL,EAAK,GAAGA,eAAaL,EAE7CuB,EAAaP,EACf,CACE,CAAC,MAAMQ,EAAqBC,kBAAmB,CAC7CC,YAAa,GAAGV,gBAElB,CAAC,MAAMW,EAAkBC,QAAS,CAChCC,MAAOb,GAET,CAAC,MAAMQ,EAAqBM,SAAU,CACpCD,MAAOb,GAET,CAAC,MAAMe,EAAwBH,QAAS,CACtCC,MAAOb,GAET,CAAC,MAAMgB,EAAsBC,OAAQ,CACnCC,gBAAiBlB,GAEnB,CAAC,MAAMmB,EAAoBC,iBAAiBC,EAAkBT,QAAS,CACrEC,MAAOb,IAGX,GAEJ,OACEsB,EAACC,EAAY,CAAApB,GAAII,EAAYL,UAAWA,EACtCsB,SAAA,CAAAC,EAACC,EAAU,CACTzB,KAAe,UAATA,EAAmB,QAAU,SACnCZ,GAAIiB,EACJqB,QAAStC,KACLM,EAAe6B,SAElB9B,IAEH+B,EAACG,EACK,IAAAhC,EACJP,GAAIA,EACJK,MAAOA,EACPO,KAAMA,EACNC,UAAWA,EACXkB,aACEE,EAACO,EAAe,CAAAC,SAAS,gBACtBlC,GAAYwB,aACZtB,EAAU2B,EAACM,GAAiBlB,MAAM,UAAUZ,KAAM,GAAIE,GAAI,CAAE6B,GAAI,KAAU,QAG/E7B,GAAIA,KACCC,IAENP,IAAaC,GACZ2B,EAACQ,EAAc,CACbpB,MAAM,UACNV,GAAI,CAAE2B,SAAU,WAAYI,KAAM,EAAGC,MAAO,EAAGC,OAAQ,KAG1DrC,GAAc0B,EAACY,EAAe,CAAAhD,GAAIgB,EAAYmB,SAAGzB,MAEpD,ECpESuC,EAOXC,IAEA,MAAM7C,MACJA,EAAKI,QACLA,EAAOD,SACPA,EAAQ2C,QACRA,EAAOzC,WACPA,EAAUc,MACVA,EAAK4B,cACLA,EAAgB,KAAM,MAAItC,GAC1BA,KACGC,GACDmC,EAGJ,OACEd,EAACiB,EACC,CAAA5C,QAJsBA,GAAWD,EAKjC2C,QAAS3C,EAAW,GAAK2C,EACzBG,SAAU,CAACC,EAAGC,IAAUJ,EAAcI,MACjCzC,EACL0C,YAAcC,GACZtB,EAACjC,MACKuD,EACJrD,MAAOA,EACPQ,WACA,EAAAL,SAAUA,EACVC,QAASA,EACTE,SAAUa,EACVd,WAAYA,IAGhBI,GAAIA,GAEN"}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/@mui/utils/esm/useId/useId.js","../../src/text-field/text-field.tsx","../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import { TextFieldProps as MuiTextFieldProps } from \"@mui/material/TextField\";\nimport CircularProgress, { circularProgressClasses } from \"@mui/material/CircularProgress\";\nimport FormControl from \"@mui/material/FormControl\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport { iconButtonClasses } from \"@mui/material/IconButton\";\nimport LinearProgress, { linearProgressClasses } from \"@mui/material/LinearProgress\";\nimport OutlinedInput, { outlinedInputClasses } from \"@mui/material/OutlinedInput\";\nimport InputLabel, { inputLabelClasses } from \"@mui/material/InputLabel\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { autocompleteClasses } from \"@mui/material/Autocomplete\";\nimport useId from \"@mui/utils/useId\";\n\nexport type TextFieldProps = MuiTextFieldProps & {\n fetching?: boolean;\n loading?: boolean;\n hexColor?: string;\n};\n\nexport const TextField = ({\n id: overrideId,\n label,\n InputLabelProps,\n InputProps,\n fetching,\n loading,\n helperText,\n hexColor,\n size,\n fullWidth,\n sx,\n ...rest\n}: TextFieldProps) => {\n const id = useId(overrideId);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n\n const hexColorSx = hexColor\n ? {\n [`& .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: `${hexColor} !important`,\n },\n [`& .${inputLabelClasses.root}`]: {\n color: hexColor,\n },\n [`& .${outlinedInputClasses.input}`]: {\n color: hexColor,\n },\n [`& .${circularProgressClasses.root}`]: {\n color: hexColor,\n },\n [`& .${linearProgressClasses.bar}`]: {\n backgroundColor: hexColor,\n },\n [`& .${autocompleteClasses.endAdornment} .${iconButtonClasses.root}`]: {\n color: hexColor,\n },\n }\n : {};\n\n return (\n <FormControl sx={hexColorSx} fullWidth={fullWidth}>\n <InputLabel\n size={size === \"small\" ? \"small\" : \"normal\"}\n id={inputLabelId}\n htmlFor={id}\n {...InputLabelProps}\n >\n {label}\n </InputLabel>\n <OutlinedInput\n {...InputProps}\n id={id}\n label={label}\n size={size}\n fullWidth={fullWidth}\n endAdornment={\n <InputAdornment position=\"end\">\n {InputProps?.endAdornment}\n {loading ? <CircularProgress color=\"inherit\" size={20} sx={{ ml: 1 }} /> : null}\n </InputAdornment>\n }\n sx={sx}\n {...(rest as any)}\n />\n {fetching && !loading && (\n <LinearProgress\n color=\"inherit\"\n sx={{ position: \"absolute\", left: 0, right: 0, bottom: 0 }}\n />\n )}\n {helperText && <FormHelperText id={helperTextId}>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n","import MuiAutocomplete, {\n AutocompleteProps as MuiAutocompleteProps,\n} from \"@mui/material/Autocomplete\";\nimport React from \"react\";\nimport { TextField } from \"../text-field\";\nimport { ChipTypeMap } from \"@mui/material/Chip\";\n\nexport interface AutocompleteProps<\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n> extends Omit<\n MuiAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n \"renderInput\" | \"onChange\" | \"color\"\n > {\n label: string;\n helperText?: string;\n color?: string;\n fetching?: boolean;\n onChangeValue?: (value: T) => void;\n}\n\nexport const Autocomplete = <\n T,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n FreeSolo extends boolean | undefined,\n ChipComponent extends React.ElementType = ChipTypeMap[\"defaultComponent\"],\n>(\n props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,\n) => {\n const {\n label,\n loading,\n fetching,\n options,\n helperText,\n color,\n onChangeValue = () => null,\n sx,\n ...rest\n } = props;\n const loadingOrFetching = loading || fetching;\n\n return (\n <MuiAutocomplete\n loading={loadingOrFetching}\n options={fetching ? [] : options}\n onChange={(_, value) => onChangeValue(value as T)}\n {...(rest as any)}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n fullWidth\n fetching={fetching}\n loading={loading}\n hexColor={color}\n helperText={helperText}\n />\n )}\n sx={sx}\n />\n );\n};\n"],"names":["globalId","maybeReactUseId","React","useId","idOverride","undefined","reactId","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","TextField","overrideId","label","InputLabelProps","InputProps","fetching","loading","helperText","hexColor","size","fullWidth","sx","rest","helperTextId","inputLabelId","hexColorSx","outlinedInputClasses","notchedOutline","borderColor","inputLabelClasses","root","color","input","circularProgressClasses","linearProgressClasses","bar","backgroundColor","autocompleteClasses","endAdornment","iconButtonClasses","_jsxs","FormControl","children","_jsx","InputLabel","htmlFor","OutlinedInput","InputAdornment","position","CircularProgress","ml","LinearProgress","left","right","bottom","FormHelperText","Autocomplete","props","options","onChangeValue","MuiAutocomplete","onChange","_","value","renderInput","params"],"mappings":"smBAGA,IAAIA,EAAW,EAoBf,MAGMC,EAHY,IACbC,GAE6BC,MAQnB,SAASA,EAAMC,GAE5B,QAAwBC,IAApBJ,EAA+B,CACjC,MAAMK,EAAUL,IAChB,OAAOG,GAAcE,CACzB,CAIE,OArCF,SAAqBF,GACnB,MAAOG,EAAWC,GAAgBN,EAAMO,SAASL,GAC3CM,EAAKN,GAAcG,EAWzB,OAVAL,EAAMS,WAAU,KACG,MAAbJ,IAKFP,GAAY,EACZQ,EAAa,OAAOR,KAC1B,GACK,CAACO,IACGG,CACT,CAuBSE,CAAYR,EACrB,CC1BO,MAAMS,EAAY,EACvBH,GAAII,EACJC,QACAC,kBACAC,aACAC,WACAC,UACAC,aACAC,WACAC,OACAC,YACAC,QACGC,MAEH,MAAMf,EAAKP,EAAMW,GACXY,EAAeN,GAAcV,EAAK,GAAGA,qBAAmBL,EACxDsB,EAAeZ,GAASL,EAAK,GAAGA,eAAaL,EAE7CuB,EAAaP,EACf,CACE,CAAC,MAAMQ,EAAqBC,kBAAmB,CAC7CC,YAAa,GAAGV,gBAElB,CAAC,MAAMW,EAAkBC,QAAS,CAChCC,MAAOb,GAET,CAAC,MAAMQ,EAAqBM,SAAU,CACpCD,MAAOb,GAET,CAAC,MAAMe,EAAwBH,QAAS,CACtCC,MAAOb,GAET,CAAC,MAAMgB,EAAsBC,OAAQ,CACnCC,gBAAiBlB,GAEnB,CAAC,MAAMmB,EAAoBC,iBAAiBC,EAAkBT,QAAS,CACrEC,MAAOb,IAGX,CAAE,EAEN,OACEsB,EAACC,EAAY,CAAApB,GAAII,EAAYL,UAAWA,EACtCsB,SAAA,CAAAC,EAACC,EAAU,CACTzB,KAAe,UAATA,EAAmB,QAAU,SACnCZ,GAAIiB,EACJqB,QAAStC,KACLM,EAAe6B,SAElB9B,IAEH+B,EAACG,EACK,IAAAhC,EACJP,GAAIA,EACJK,MAAOA,EACPO,KAAMA,EACNC,UAAWA,EACXkB,aACEE,EAACO,EAAe,CAAAC,SAAS,gBACtBlC,GAAYwB,aACZtB,EAAU2B,EAACM,GAAiBlB,MAAM,UAAUZ,KAAM,GAAIE,GAAI,CAAE6B,GAAI,KAAU,QAG/E7B,GAAIA,KACCC,IAENP,IAAaC,GACZ2B,EAACQ,EAAc,CACbpB,MAAM,UACNV,GAAI,CAAE2B,SAAU,WAAYI,KAAM,EAAGC,MAAO,EAAGC,OAAQ,KAG1DrC,GAAc0B,EAACY,EAAe,CAAAhD,GAAIgB,EAAYmB,SAAGzB,MACtC,ECnELuC,EAOXC,IAEA,MAAM7C,MACJA,EAAKI,QACLA,EAAOD,SACPA,EAAQ2C,QACRA,EAAOzC,WACPA,EAAUc,MACVA,EAAK4B,cACLA,EAAgB,KAAM,MAAItC,GAC1BA,KACGC,GACDmC,EAGJ,OACEd,EAACiB,EACC,CAAA5C,QAJsBA,GAAWD,EAKjC2C,QAAS3C,EAAW,GAAK2C,EACzBG,SAAU,CAACC,EAAGC,IAAUJ,EAAcI,MACjCzC,EACL0C,YAAcC,GACZtB,EAACjC,MACKuD,EACJrD,MAAOA,EACPQ,WACA,EAAAL,SAAUA,EACVC,QAASA,EACTE,SAAUa,EACVd,WAAYA,IAGhBI,GAAIA,GACJ","x_google_ignoreList":[0]}
@@ -5,7 +5,7 @@
5
5
  "module": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
- "@mui/material": "^5.13.6",
9
- "react": "^18.2.0"
8
+ "@mui/material": "^6.4.5",
9
+ "react": "^19.0.0"
10
10
  }
11
11
  }
package/board/board.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import { SxProps, Theme } from "@mui/material/styles";
2
2
  import { PropsWithChildren } from "react";
3
3
  export type BoardProps = PropsWithChildren<{
4
- markdown?: string;
5
- content?: string | string[];
4
+ content: string | string[];
6
5
  spacing?: 0 | 1 | 2 | 3 | 4 | 5;
7
6
  sx?: SxProps<Theme>;
8
7
  }>;
9
- export declare const Board: ({ markdown: markdownProps, content: contentProp, spacing, children, sx, }: BoardProps) => JSX.Element;
8
+ export declare const Board: ({ content: contentProp, spacing, children, sx }: BoardProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/Box"),r=require("@mui/material/IconButton"),o=require("@mui/material/Paper"),i=require("@mui/material/Tooltip"),a=require("@mui/material/Typography"),n=require("@mui/material/styles"),l=require("@mui/material/colors"),u=require("@mui/material/Link"),p=require("markdown-to-jsx"),s=require("@mui/icons-material/ContentCopy");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=c(t),m=c(r),h=c(o),x=c(i),f=c(a),j=c(u),y=c(p),g=c(s);const q={overrides:{h1:{component:f.default,props:{gutterBottom:!0,variant:"h5"}},h2:{component:f.default,props:{gutterBottom:!0,variant:"h6"}},h3:{component:f.default,props:{gutterBottom:!0,variant:"subtitle1"}},h4:{component:f.default,props:{gutterBottom:!0,variant:"caption",paragraph:!0}},p:{component:f.default,props:{paragraph:!0}},a:{component:j.default},li:{component:"li"}}},b=({content:t,options:r=q})=>e.jsx(y.default,{options:r,children:t});exports.Board=({markdown:t,content:r,spacing:o=0,children:i,sx:a})=>{const{spacing:u,typography:p}=n.useTheme();let s,c;t?s=t||"":Array.isArray(r)?(c=r.map(((t,r)=>e.jsx(f.default,{sx:{pb:o},children:t},r))),s=r.join("\n")):(c=e.jsx(f.default,{children:r}),s=r||"");const j=t&&e.jsx(b,{content:t});return e.jsx(h.default,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:l.blueGrey[800],color:"white",...a},children:e.jsxs(d.default,{display:"flex",flexDirection:"row",children:[e.jsx(d.default,{width:1,children:i||j||c}),e.jsx(d.default,{sx:{position:"absolute",top:u(.5),right:u(.5)},children:s&&e.jsx(m.default,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(s),children:e.jsx(x.default,{title:"Copy",children:e.jsx(g.default,{sx:{fontSize:p.pxToRem(18)}})})})})]})})};
1
+ "use strict";var r=require("react/jsx-runtime"),e=require("@mui/material/Box"),i=require("@mui/material/IconButton"),t=require("@mui/material/Paper"),o=require("@mui/material/Tooltip"),a=require("@mui/material/Typography"),l=require("@mui/material/styles"),n=require("@mui/material/colors"),s=require("@mui/icons-material/ContentCopy");exports.Board=({content:c,spacing:u=0,children:p,sx:x})=>{const{spacing:m,typography:h}=l.useTheme();let d,y;return Array.isArray(c)?(y=c.map(((e,i)=>r.jsx(a,{sx:{pb:u},children:e},i))),d=c.join("\n")):(y=r.jsx(a,{children:c}),d=c||""),r.jsx(t,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:n.blueGrey[800],color:"white",...x},children:r.jsxs(e,{display:"flex",flexDirection:"row",children:[r.jsx(e,{width:1,children:p||y}),r.jsx(e,{sx:{position:"absolute",top:m(.5),right:m(.5)},children:d&&r.jsx(i,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(d),children:r.jsx(o,{title:"Copy",children:r.jsx(s,{sx:{fontSize:h.pxToRem(18)}})})})})]})})};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/markdown/markdown.tsx","../../../src/board/board.tsx"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport Link from \"@mui/material/Link\";\nimport ReactMarkdown, { MarkdownToJSX } from \"markdown-to-jsx\";\n\nexport interface MarkdownProps {\n content: string;\n options?: MarkdownToJSX.Options;\n}\n\nexport const markdownDefaultOptions: MarkdownToJSX.Options = {\n overrides: {\n h1: {\n component: Typography,\n props: {\n gutterBottom: true,\n variant: \"h5\",\n },\n },\n h2: { component: Typography, props: { gutterBottom: true, variant: \"h6\" } },\n h3: {\n component: Typography,\n props: { gutterBottom: true, variant: \"subtitle1\" },\n },\n h4: {\n component: Typography,\n props: { gutterBottom: true, variant: \"caption\", paragraph: true },\n },\n p: { component: Typography, props: { paragraph: true } },\n a: { component: Link },\n li: {\n component: \"li\",\n },\n },\n};\n\nexport const Markdown = ({ content, options = markdownDefaultOptions }: MarkdownProps) => {\n return <ReactMarkdown options={options}>{content}</ReactMarkdown>;\n};\n","import Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Paper from \"@mui/material/Paper\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, SxProps, Theme } from \"@mui/material/styles\";\nimport { blueGrey } from \"@mui/material/colors\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Markdown } from \"../markdown\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\n\nexport type BoardProps = PropsWithChildren<{\n markdown?: string;\n content?: string | string[];\n spacing?: 0 | 1 | 2 | 3 | 4 | 5;\n sx?: SxProps<Theme>;\n}>;\n\nexport const Board = ({\n markdown: markdownProps,\n content: contentProp,\n spacing = 0,\n children,\n sx,\n}: BoardProps) => {\n const { spacing: themeSpacing, typography } = useTheme();\n let copyContent: string;\n let content: ReactNode;\n\n if (markdownProps) {\n copyContent = markdownProps || \"\";\n } else if (Array.isArray(contentProp)) {\n content = contentProp.map((line, i) => (\n <Typography key={i} sx={{ pb: spacing }}>\n {line}\n </Typography>\n ));\n copyContent = contentProp.join(\"\\n\");\n } else {\n content = <Typography>{contentProp}</Typography>;\n copyContent = contentProp || \"\";\n }\n\n const markdown = markdownProps && <Markdown content={markdownProps} />;\n\n return (\n <Paper\n sx={{\n position: \"relative\",\n pl: 2,\n pr: 4,\n py: 1,\n backgroundColor: blueGrey[800],\n color: \"white\",\n ...sx,\n }}\n >\n <Box display=\"flex\" flexDirection=\"row\">\n <Box width={1}>{children || markdown || content}</Box>\n <Box sx={{ position: \"absolute\", top: themeSpacing(0.5), right: themeSpacing(0.5) }}>\n {copyContent && (\n <IconButton\n aria-label=\"copy board content\"\n color=\"inherit\"\n onClick={() => navigator.clipboard.writeText(copyContent)}\n >\n <Tooltip title=\"Copy\">\n <ContentCopyIcon sx={{ fontSize: typography.pxToRem(18) }} />\n </Tooltip>\n </IconButton>\n )}\n </Box>\n </Box>\n </Paper>\n );\n};\n"],"names":["markdownDefaultOptions","overrides","h1","component","Typography","props","gutterBottom","variant","h2","h3","h4","paragraph","p","a","Link","li","Markdown","content","options","_jsx","ReactMarkdown","children","markdown","markdownProps","contentProp","spacing","sx","themeSpacing","typography","useTheme","copyContent","Array","isArray","map","line","i","jsx","pb","join","Paper","position","pl","pr","py","backgroundColor","blueGrey","color","_jsxs","Box","display","flexDirection","width","top","right","IconButton","onClick","navigator","clipboard","writeText","Tooltip","title","ContentCopyIcon","fontSize","pxToRem"],"mappings":"wkBASO,MAAMA,EAAgD,CAC3DC,UAAW,CACTC,GAAI,CACFC,UAAWC,EAAU,QACrBC,MAAO,CACLC,cAAc,EACdC,QAAS,OAGbC,GAAI,CAAEL,UAAWC,EAAAA,QAAYC,MAAO,CAAEC,cAAc,EAAMC,QAAS,OACnEE,GAAI,CACFN,UAAWC,EAAU,QACrBC,MAAO,CAAEC,cAAc,EAAMC,QAAS,cAExCG,GAAI,CACFP,UAAWC,EAAU,QACrBC,MAAO,CAAEC,cAAc,EAAMC,QAAS,UAAWI,WAAW,IAE9DC,EAAG,CAAET,UAAWC,EAAU,QAAEC,MAAO,CAAEM,WAAW,IAChDE,EAAG,CAAEV,UAAWW,WAChBC,GAAI,CACFZ,UAAW,QAKJa,EAAW,EAAGC,UAASC,UAAUlB,KACrCmB,EAAAA,IAACC,EAAAA,QAAc,CAAAF,QAASA,EAAOG,SAAGJ,kBClBtB,EACnBK,SAAUC,EACVN,QAASO,EACTC,UAAU,EACVJ,WACAK,SAEA,MAAQD,QAASE,EAAYC,WAAEA,GAAeC,EAAQA,WACtD,IAAIC,EACAb,EAEAM,EACFO,EAAcP,GAAiB,GACtBQ,MAAMC,QAAQR,IACvBP,EAAUO,EAAYS,KAAI,CAACC,EAAMC,IAC/BhB,EAACiB,IAAAhC,UAAmB,CAAAsB,GAAI,CAAEW,GAAIZ,GAC3BJ,SAAAa,GADcC,KAInBL,EAAcN,EAAYc,KAAK,QAE/BrB,EAAUE,EAACiB,IAAAhC,EAAU,QAAE,CAAAiB,SAAAG,IACvBM,EAAcN,GAAe,IAG/B,MAAMF,EAAWC,GAAiBJ,EAAAiB,IAACpB,EAAQ,CAACC,QAASM,IAErD,OACEJ,EAAAiB,IAACG,UAAK,CACJb,GAAI,CACFc,SAAU,WACVC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,gBAAiBC,EAAQA,SAAC,KAC1BC,MAAO,WACJpB,GAGLL,SAAA0B,EAAAA,KAACC,EAAAA,QAAI,CAAAC,QAAQ,OAAOC,cAAc,MAAK7B,SAAA,CACrCF,MAAC6B,UAAG,CAACG,MAAO,EAAC9B,SAAGA,GAAYC,GAAYL,IACxCE,EAAAA,IAAC6B,EAAG,QAAA,CAACtB,GAAI,CAAEc,SAAU,WAAYY,IAAKzB,EAAa,IAAM0B,MAAO1B,EAAa,KAC1EN,SAAAS,GACCX,MAACmC,EAAU,QAAA,CAAA,aACE,qBACXR,MAAM,UACNS,QAAS,IAAMC,UAAUC,UAAUC,UAAU5B,GAAYT,SAEzDF,EAAAA,IAACwC,EAAAA,QAAQ,CAAAC,MAAM,OAAMvC,SACnBF,EAAAA,IAAC0C,EAAAA,QAAgB,CAAAnC,GAAI,CAAEoC,SAAUlC,EAAWmC,QAAQ,iBAOhE"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/board/board.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Paper from \"@mui/material/Paper\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, SxProps, Theme } from \"@mui/material/styles\";\nimport { blueGrey } from \"@mui/material/colors\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\n\nexport type BoardProps = PropsWithChildren<{\n content: string | string[];\n spacing?: 0 | 1 | 2 | 3 | 4 | 5;\n sx?: SxProps<Theme>;\n}>;\n\nexport const Board = ({ content: contentProp, spacing = 0, children, sx }: BoardProps) => {\n const { spacing: themeSpacing, typography } = useTheme();\n let copyContent: string;\n let content: ReactNode;\n\n if (Array.isArray(contentProp)) {\n content = contentProp.map((line, i) => (\n <Typography key={i} sx={{ pb: spacing }}>\n {line}\n </Typography>\n ));\n copyContent = contentProp.join(\"\\n\");\n } else {\n content = <Typography>{contentProp}</Typography>;\n copyContent = contentProp || \"\";\n }\n\n return (\n <Paper\n sx={{\n position: \"relative\",\n pl: 2,\n pr: 4,\n py: 1,\n backgroundColor: blueGrey[800],\n color: \"white\",\n ...sx,\n }}\n >\n <Box display=\"flex\" flexDirection=\"row\">\n <Box width={1}>{children || content}</Box>\n <Box sx={{ position: \"absolute\", top: themeSpacing(0.5), right: themeSpacing(0.5) }}>\n {copyContent && (\n <IconButton\n aria-label=\"copy board content\"\n color=\"inherit\"\n onClick={() => navigator.clipboard.writeText(copyContent)}\n >\n <Tooltip title=\"Copy\">\n <ContentCopyIcon sx={{ fontSize: typography.pxToRem(18) }} />\n </Tooltip>\n </IconButton>\n )}\n </Box>\n </Box>\n </Paper>\n );\n};\n"],"names":["content","contentProp","spacing","children","sx","themeSpacing","typography","useTheme","copyContent","Array","isArray","map","line","i","_jsx","jsx","Typography","pb","join","Paper","position","pl","pr","py","backgroundColor","blueGrey","color","_jsxs","Box","display","flexDirection","width","top","right","IconButton","onClick","navigator","clipboard","writeText","Tooltip","title","ContentCopyIcon","fontSize","pxToRem"],"mappings":"8VAgBqB,EAAGA,QAASC,EAAaC,UAAU,EAAGC,WAAUC,SACnE,MAAQF,QAASG,EAAYC,WAAEA,GAAeC,EAAAA,WAC9C,IAAIC,EACAR,EAcJ,OAZIS,MAAMC,QAAQT,IAChBD,EAAUC,EAAYU,KAAI,CAACC,EAAMC,IAC/BC,EAACC,IAAAC,EAAmB,CAAAZ,GAAI,CAAEa,GAAIf,GAC3BC,SAAAS,GADcC,KAInBL,EAAcP,EAAYiB,KAAK,QAE/BlB,EAAUc,EAAAA,IAACE,EAAY,CAAAb,SAAAF,IACvBO,EAAcP,GAAe,IAI7Ba,EAAAC,IAACI,EAAK,CACJf,GAAI,CACFgB,SAAU,WACVC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,gBAAiBC,EAAQA,SAAC,KAC1BC,MAAO,WACJtB,GAGLD,SAAAwB,EAAAA,KAACC,EAAI,CAAAC,QAAQ,OAAOC,cAAc,MAAK3B,SAAA,CACrCW,MAACc,EAAG,CAACG,MAAO,EAAC5B,SAAGA,GAAYH,IAC5Bc,EAACC,IAAAa,GAAIxB,GAAI,CAAEgB,SAAU,WAAYY,IAAK3B,EAAa,IAAM4B,MAAO5B,EAAa,KAAMF,SAChFK,GACCM,EAAAC,IAACmB,EACY,CAAA,aAAA,qBACXR,MAAM,UACNS,QAAS,IAAMC,UAAUC,UAAUC,UAAU9B,GAE7CL,SAAAW,EAAAA,IAACyB,EAAO,CAACC,MAAM,OACbrC,SAAAW,EAAAA,IAAC2B,EAAgB,CAAArC,GAAI,CAAEsC,SAAUpC,EAAWqC,QAAQ,iBAMxD"}
@@ -5,9 +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
- "markdown-to-jsx": "^7.2.1",
11
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
12
11
  }
13
12
  }
package/board/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{jsx as o,jsxs as t}from"react/jsx-runtime";import r from"@mui/material/Box";import i from"@mui/material/IconButton";import n from"@mui/material/Paper";import e from"@mui/material/Tooltip";import p from"@mui/material/Typography";import{useTheme as a}from"@mui/material/styles";import{blueGrey as m}from"@mui/material/colors";import l from"@mui/material/Link";import c from"markdown-to-jsx";import s from"@mui/icons-material/ContentCopy";const h={overrides:{h1:{component:p,props:{gutterBottom:!0,variant:"h5"}},h2:{component:p,props:{gutterBottom:!0,variant:"h6"}},h3:{component:p,props:{gutterBottom:!0,variant:"subtitle1"}},h4:{component:p,props:{gutterBottom:!0,variant:"caption",paragraph:!0}},p:{component:p,props:{paragraph:!0}},a:{component:l},li:{component:"li"}}},u=({content:t,options:r=h})=>o(c,{options:r,children:t}),d=({markdown:l,content:c,spacing:h=0,children:d,sx:f})=>{const{spacing:g,typography:x}=a();let y,b;l?y=l||"":Array.isArray(c)?(b=c.map(((t,r)=>o(p,{sx:{pb:h},children:t},r))),y=c.join("\n")):(b=o(p,{children:c}),y=c||"");const v=l&&o(u,{content:l});return o(n,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:m[800],color:"white",...f},children:t(r,{display:"flex",flexDirection:"row",children:[o(r,{width:1,children:d||v||b}),o(r,{sx:{position:"absolute",top:g(.5),right:g(.5)},children:y&&o(i,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(y),children:o(e,{title:"Copy",children:o(s,{sx:{fontSize:x.pxToRem(18)}})})})})]})})};export{d as Board};
1
+ import{jsx as r,jsxs as i}from"react/jsx-runtime";import o from"@mui/material/Box";import t from"@mui/material/IconButton";import e from"@mui/material/Paper";import m from"@mui/material/Tooltip";import a from"@mui/material/Typography";import{useTheme as l}from"@mui/material/styles";import{blueGrey as n}from"@mui/material/colors";import p from"@mui/icons-material/ContentCopy";const c=({content:c,spacing:s=0,children:h,sx:d})=>{const{spacing:u,typography:f}=l();let x,y;return Array.isArray(c)?(y=c.map(((i,o)=>r(a,{sx:{pb:s},children:i},o))),x=c.join("\n")):(y=r(a,{children:c}),x=c||""),r(e,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:n[800],color:"white",...d},children:i(o,{display:"flex",flexDirection:"row",children:[r(o,{width:1,children:h||y}),r(o,{sx:{position:"absolute",top:u(.5),right:u(.5)},children:x&&r(t,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(x),children:r(m,{title:"Copy",children:r(p,{sx:{fontSize:f.pxToRem(18)}})})})})]})})};export{c as Board};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/markdown/markdown.tsx","../../src/board/board.tsx"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport Link from \"@mui/material/Link\";\nimport ReactMarkdown, { MarkdownToJSX } from \"markdown-to-jsx\";\n\nexport interface MarkdownProps {\n content: string;\n options?: MarkdownToJSX.Options;\n}\n\nexport const markdownDefaultOptions: MarkdownToJSX.Options = {\n overrides: {\n h1: {\n component: Typography,\n props: {\n gutterBottom: true,\n variant: \"h5\",\n },\n },\n h2: { component: Typography, props: { gutterBottom: true, variant: \"h6\" } },\n h3: {\n component: Typography,\n props: { gutterBottom: true, variant: \"subtitle1\" },\n },\n h4: {\n component: Typography,\n props: { gutterBottom: true, variant: \"caption\", paragraph: true },\n },\n p: { component: Typography, props: { paragraph: true } },\n a: { component: Link },\n li: {\n component: \"li\",\n },\n },\n};\n\nexport const Markdown = ({ content, options = markdownDefaultOptions }: MarkdownProps) => {\n return <ReactMarkdown options={options}>{content}</ReactMarkdown>;\n};\n","import Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Paper from \"@mui/material/Paper\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, SxProps, Theme } from \"@mui/material/styles\";\nimport { blueGrey } from \"@mui/material/colors\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Markdown } from \"../markdown\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\n\nexport type BoardProps = PropsWithChildren<{\n markdown?: string;\n content?: string | string[];\n spacing?: 0 | 1 | 2 | 3 | 4 | 5;\n sx?: SxProps<Theme>;\n}>;\n\nexport const Board = ({\n markdown: markdownProps,\n content: contentProp,\n spacing = 0,\n children,\n sx,\n}: BoardProps) => {\n const { spacing: themeSpacing, typography } = useTheme();\n let copyContent: string;\n let content: ReactNode;\n\n if (markdownProps) {\n copyContent = markdownProps || \"\";\n } else if (Array.isArray(contentProp)) {\n content = contentProp.map((line, i) => (\n <Typography key={i} sx={{ pb: spacing }}>\n {line}\n </Typography>\n ));\n copyContent = contentProp.join(\"\\n\");\n } else {\n content = <Typography>{contentProp}</Typography>;\n copyContent = contentProp || \"\";\n }\n\n const markdown = markdownProps && <Markdown content={markdownProps} />;\n\n return (\n <Paper\n sx={{\n position: \"relative\",\n pl: 2,\n pr: 4,\n py: 1,\n backgroundColor: blueGrey[800],\n color: \"white\",\n ...sx,\n }}\n >\n <Box display=\"flex\" flexDirection=\"row\">\n <Box width={1}>{children || markdown || content}</Box>\n <Box sx={{ position: \"absolute\", top: themeSpacing(0.5), right: themeSpacing(0.5) }}>\n {copyContent && (\n <IconButton\n aria-label=\"copy board content\"\n color=\"inherit\"\n onClick={() => navigator.clipboard.writeText(copyContent)}\n >\n <Tooltip title=\"Copy\">\n <ContentCopyIcon sx={{ fontSize: typography.pxToRem(18) }} />\n </Tooltip>\n </IconButton>\n )}\n </Box>\n </Box>\n </Paper>\n );\n};\n"],"names":["markdownDefaultOptions","overrides","h1","component","Typography","props","gutterBottom","variant","h2","h3","h4","paragraph","p","a","Link","li","Markdown","content","options","_jsx","ReactMarkdown","children","Board","markdown","markdownProps","contentProp","spacing","sx","themeSpacing","typography","useTheme","copyContent","Array","isArray","map","line","i","pb","join","Paper","position","pl","pr","py","backgroundColor","blueGrey","color","_jsxs","Box","display","flexDirection","width","top","right","IconButton","onClick","navigator","clipboard","writeText","Tooltip","title","ContentCopyIcon","fontSize","pxToRem"],"mappings":"2bASO,MAAMA,EAAgD,CAC3DC,UAAW,CACTC,GAAI,CACFC,UAAWC,EACXC,MAAO,CACLC,cAAc,EACdC,QAAS,OAGbC,GAAI,CAAEL,UAAWC,EAAYC,MAAO,CAAEC,cAAc,EAAMC,QAAS,OACnEE,GAAI,CACFN,UAAWC,EACXC,MAAO,CAAEC,cAAc,EAAMC,QAAS,cAExCG,GAAI,CACFP,UAAWC,EACXC,MAAO,CAAEC,cAAc,EAAMC,QAAS,UAAWI,WAAW,IAE9DC,EAAG,CAAET,UAAWC,EAAYC,MAAO,CAAEM,WAAW,IAChDE,EAAG,CAAEV,UAAWW,GAChBC,GAAI,CACFZ,UAAW,QAKJa,EAAW,EAAGC,UAASC,UAAUlB,KACrCmB,EAACC,EAAc,CAAAF,QAASA,EAAOG,SAAGJ,IClB9BK,EAAQ,EACnBC,SAAUC,EACVP,QAASQ,EACTC,UAAU,EACVL,WACAM,SAEA,MAAQD,QAASE,EAAYC,WAAEA,GAAeC,IAC9C,IAAIC,EACAd,EAEAO,EACFO,EAAcP,GAAiB,GACtBQ,MAAMC,QAAQR,IACvBR,EAAUQ,EAAYS,KAAI,CAACC,EAAMC,IAC/BjB,EAACf,EAAmB,CAAAuB,GAAI,CAAEU,GAAIX,GAC3BL,SAAAc,GADcC,KAInBL,EAAcN,EAAYa,KAAK,QAE/BrB,EAAUE,EAACf,EAAY,CAAAiB,SAAAI,IACvBM,EAAcN,GAAe,IAG/B,MAAMF,EAAWC,GAAiBL,EAACH,EAAQ,CAACC,QAASO,IAErD,OACEL,EAACoB,EAAK,CACJZ,GAAI,CACFa,SAAU,WACVC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,gBAAiBC,EAAS,KAC1BC,MAAO,WACJnB,GAGLN,SAAA0B,EAACC,EAAI,CAAAC,QAAQ,OAAOC,cAAc,MAAK7B,SAAA,CACrCF,EAAC6B,EAAG,CAACG,MAAO,EAAC9B,SAAGA,GAAYE,GAAYN,IACxCE,EAAC6B,EAAG,CAACrB,GAAI,CAAEa,SAAU,WAAYY,IAAKxB,EAAa,IAAMyB,MAAOzB,EAAa,KAC1EP,SAAAU,GACCZ,EAACmC,EAAU,CAAA,aACE,qBACXR,MAAM,UACNS,QAAS,IAAMC,UAAUC,UAAUC,UAAU3B,GAAYV,SAEzDF,EAACwC,EAAQ,CAAAC,MAAM,OAAMvC,SACnBF,EAAC0C,EAAgB,CAAAlC,GAAI,CAAEmC,SAAUjC,EAAWkC,QAAQ,iBAOhE"}
1
+ {"version":3,"file":"index.js","sources":["../../src/board/board.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Paper from \"@mui/material/Paper\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, SxProps, Theme } from \"@mui/material/styles\";\nimport { blueGrey } from \"@mui/material/colors\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\n\nexport type BoardProps = PropsWithChildren<{\n content: string | string[];\n spacing?: 0 | 1 | 2 | 3 | 4 | 5;\n sx?: SxProps<Theme>;\n}>;\n\nexport const Board = ({ content: contentProp, spacing = 0, children, sx }: BoardProps) => {\n const { spacing: themeSpacing, typography } = useTheme();\n let copyContent: string;\n let content: ReactNode;\n\n if (Array.isArray(contentProp)) {\n content = contentProp.map((line, i) => (\n <Typography key={i} sx={{ pb: spacing }}>\n {line}\n </Typography>\n ));\n copyContent = contentProp.join(\"\\n\");\n } else {\n content = <Typography>{contentProp}</Typography>;\n copyContent = contentProp || \"\";\n }\n\n return (\n <Paper\n sx={{\n position: \"relative\",\n pl: 2,\n pr: 4,\n py: 1,\n backgroundColor: blueGrey[800],\n color: \"white\",\n ...sx,\n }}\n >\n <Box display=\"flex\" flexDirection=\"row\">\n <Box width={1}>{children || content}</Box>\n <Box sx={{ position: \"absolute\", top: themeSpacing(0.5), right: themeSpacing(0.5) }}>\n {copyContent && (\n <IconButton\n aria-label=\"copy board content\"\n color=\"inherit\"\n onClick={() => navigator.clipboard.writeText(copyContent)}\n >\n <Tooltip title=\"Copy\">\n <ContentCopyIcon sx={{ fontSize: typography.pxToRem(18) }} />\n </Tooltip>\n </IconButton>\n )}\n </Box>\n </Box>\n </Paper>\n );\n};\n"],"names":["Board","content","contentProp","spacing","children","sx","themeSpacing","typography","useTheme","copyContent","Array","isArray","map","line","i","_jsx","Typography","pb","join","Paper","position","pl","pr","py","backgroundColor","blueGrey","color","_jsxs","Box","display","flexDirection","width","top","right","IconButton","onClick","navigator","clipboard","writeText","Tooltip","title","ContentCopyIcon","fontSize","pxToRem"],"mappings":"0XAgBa,MAAAA,EAAQ,EAAGC,QAASC,EAAaC,UAAU,EAAGC,WAAUC,SACnE,MAAQF,QAASG,EAAYC,WAAEA,GAAeC,IAC9C,IAAIC,EACAR,EAcJ,OAZIS,MAAMC,QAAQT,IAChBD,EAAUC,EAAYU,KAAI,CAACC,EAAMC,IAC/BC,EAACC,EAAmB,CAAAX,GAAI,CAAEY,GAAId,GAC3BC,SAAAS,GADcC,KAInBL,EAAcP,EAAYgB,KAAK,QAE/BjB,EAAUc,EAACC,EAAY,CAAAZ,SAAAF,IACvBO,EAAcP,GAAe,IAI7Ba,EAACI,EAAK,CACJd,GAAI,CACFe,SAAU,WACVC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,gBAAiBC,EAAS,KAC1BC,MAAO,WACJrB,GAGLD,SAAAuB,EAACC,EAAI,CAAAC,QAAQ,OAAOC,cAAc,MAAK1B,SAAA,CACrCW,EAACa,EAAG,CAACG,MAAO,EAAC3B,SAAGA,GAAYH,IAC5Bc,EAACa,GAAIvB,GAAI,CAAEe,SAAU,WAAYY,IAAK1B,EAAa,IAAM2B,MAAO3B,EAAa,KAAMF,SAChFK,GACCM,EAACmB,EACY,CAAA,aAAA,qBACXR,MAAM,UACNS,QAAS,IAAMC,UAAUC,UAAUC,UAAU7B,GAE7CL,SAAAW,EAACwB,EAAO,CAACC,MAAM,OACbpC,SAAAW,EAAC0B,EAAgB,CAAApC,GAAI,CAAEqC,SAAUnC,EAAWoC,QAAQ,iBAMxD"}
@@ -5,9 +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
- "markdown-to-jsx": "^7.2.1",
11
- "react": "^18.2.0"
8
+ "@mui/icons-material": "^6.4.5",
9
+ "@mui/material": "^6.4.5",
10
+ "react": "^19.0.0"
12
11
  }
13
12
  }