@pautena/react-design-system 0.16.0 → 0.17.1

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 (590) hide show
  1. package/README.md +2 -2
  2. package/{action → dist/action}/action-header.d.ts +1 -1
  3. package/{action → dist/action}/action.d.ts +2 -2
  4. package/dist/action/index.d.ts +2 -0
  5. package/{autocomplete → dist/autocomplete}/autocomplete.d.ts +3 -3
  6. package/dist/autocomplete/index.d.ts +1 -0
  7. package/{board → dist/board}/board.d.ts +2 -2
  8. package/dist/board/index.d.ts +1 -0
  9. package/{bootstrap-dialog → dist/bootstrap-dialog}/bootstrap-dialog.d.ts +1 -1
  10. package/dist/bootstrap-dialog/index.d.ts +1 -0
  11. package/{bullet → dist/bullet}/bullet.d.ts +1 -1
  12. package/dist/bullet/index.d.ts +1 -0
  13. package/{center-container → dist/center-container}/center-container.d.ts +2 -2
  14. package/dist/center-container/index.d.ts +1 -0
  15. package/{confirm-dialog → dist/confirm-dialog}/confirm-dialog.d.ts +1 -1
  16. package/dist/confirm-dialog/index.d.ts +1 -0
  17. package/{content → dist/content}/content.d.ts +1 -1
  18. package/{content → dist/content}/content.types.d.ts +1 -1
  19. package/dist/content/index.d.ts +2 -0
  20. package/{content-placeholder → dist/content-placeholder}/content-placeholder.d.ts +1 -1
  21. package/dist/content-placeholder/index.d.ts +1 -0
  22. package/dist/date-range-calendar/index.d.ts +1 -0
  23. package/dist/date-range-picker/index.d.ts +1 -0
  24. package/{dialog → dist/dialog}/dialog.types.d.ts +1 -1
  25. package/dist/dialog/index.d.ts +2 -0
  26. package/{dialog → dist/dialog}/use-dialog.d.ts +1 -1
  27. package/dist/drawer/drawer.d.ts +4 -0
  28. package/{drawer → dist/drawer}/drawer.mock.d.ts +1 -1
  29. package/{drawer → dist/drawer}/drawer.types.d.ts +6 -6
  30. package/dist/drawer/index.d.ts +2 -0
  31. package/{drawer-app-bar → dist/drawer-app-bar}/drawer-app-bar.d.ts +1 -1
  32. package/dist/drawer-app-bar/index.d.ts +1 -0
  33. package/{drawer-content → dist/drawer-content}/drawer-content.d.ts +1 -1
  34. package/dist/drawer-content/index.d.ts +1 -0
  35. package/{drawer-item → dist/drawer-item}/drawer-item-link.d.ts +3 -3
  36. package/{drawer-item → dist/drawer-item}/drawer-item.d.ts +1 -1
  37. package/{drawer-item → dist/drawer-item}/drawer-menu-item.d.ts +3 -3
  38. package/dist/drawer-item/index.d.ts +3 -0
  39. package/{drawer-layout → dist/drawer-layout}/drawer-layout.d.ts +3 -3
  40. package/dist/drawer-layout/index.d.ts +1 -0
  41. package/{drawer-main → dist/drawer-main}/drawer-main.d.ts +1 -1
  42. package/dist/drawer-main/index.d.ts +1 -0
  43. package/{drawer-provider → dist/drawer-provider}/drawer-context.d.ts +2 -2
  44. package/{drawer-provider → dist/drawer-provider}/drawer-mixins.d.ts +1 -1
  45. package/{drawer-provider → dist/drawer-provider}/drawer.provider.d.ts +2 -2
  46. package/dist/drawer-provider/index.d.ts +3 -0
  47. package/{drawer-section → dist/drawer-section}/drawer-section.d.ts +1 -1
  48. package/dist/drawer-section/index.d.ts +1 -0
  49. package/dist/drawer-subheader/drawer-subheader.d.ts +9 -0
  50. package/dist/drawer-subheader/index.d.ts +1 -0
  51. package/{enhanced-remote-table → dist/enhanced-remote-table}/enhanced-remote-table.d.ts +2 -2
  52. package/{enhanced-remote-table → dist/enhanced-remote-table}/enhanced-remote-table.mock.d.ts +2 -2
  53. package/dist/enhanced-remote-table/index.d.ts +1 -0
  54. package/{enhanced-table → dist/enhanced-table}/enhanced-table.d.ts +2 -2
  55. package/{enhanced-table → dist/enhanced-table}/enhanced-table.mock.d.ts +1 -1
  56. package/dist/enhanced-table/index.d.ts +2 -0
  57. package/{expandable-alert → dist/expandable-alert}/expandable-alert.d.ts +4 -4
  58. package/dist/expandable-alert/index.d.ts +1 -0
  59. package/{form-dialog → dist/form-dialog}/form-dialog.d.ts +1 -1
  60. package/dist/form-dialog/index.d.ts +1 -0
  61. package/{generators → dist/generators}/generators.mock.d.ts +1 -1
  62. package/dist/generators/index.d.ts +1 -0
  63. package/{group-value-card → dist/group-value-card}/group-value-card.d.ts +1 -1
  64. package/{group-value-card → dist/group-value-card}/group-value-card.mock.d.ts +1 -1
  65. package/dist/group-value-card/index.d.ts +1 -0
  66. package/{header → dist/header}/header-title.d.ts +1 -1
  67. package/{header → dist/header}/header.d.ts +1 -1
  68. package/{header → dist/header}/header.dummy.d.ts +1 -1
  69. package/{header → dist/header}/header.types.d.ts +2 -2
  70. package/dist/header/index.d.ts +3 -0
  71. package/{header-layout → dist/header-layout}/header-layout.d.ts +3 -3
  72. package/dist/header-layout/index.d.ts +1 -0
  73. package/dist/index.cjs.js +341 -0
  74. package/dist/index.cjs.js.map +1 -0
  75. package/dist/index.d.ts +55 -0
  76. package/dist/index.es.js +47740 -0
  77. package/dist/index.es.js.map +1 -0
  78. package/dist/label/index.d.ts +1 -0
  79. package/{label → dist/label}/label.d.ts +1 -1
  80. package/dist/link-card/index.d.ts +1 -0
  81. package/{link-card → dist/link-card}/link-card.d.ts +1 -1
  82. package/dist/list-panel/index.d.ts +2 -0
  83. package/{list-panel → dist/list-panel}/list-panel-panel.d.ts +1 -1
  84. package/dist/list-panel/list-panel.context.d.ts +3 -0
  85. package/{list-panel → dist/list-panel}/list-panel.d.ts +1 -1
  86. package/{list-panel → dist/list-panel}/list-panel.mocks.d.ts +1 -1
  87. package/dist/loading-area/index.d.ts +1 -0
  88. package/dist/markdown/index.d.ts +1 -0
  89. package/{markdown → dist/markdown}/markdown.d.ts +6 -6
  90. package/dist/model-form/index.d.ts +1 -0
  91. package/{model-form → dist/model-form}/model-form-field.d.ts +1 -1
  92. package/{model-form → dist/model-form}/model-form.d.ts +1 -1
  93. package/dist/notification-center/index.d.ts +3 -0
  94. package/{notification-center → dist/notification-center}/notification-center.context.d.ts +2 -2
  95. package/{notification-center → dist/notification-center}/notification-center.hooks.d.ts +1 -1
  96. package/{notification-center → dist/notification-center}/notification-center.provider.d.ts +1 -1
  97. package/dist/object-details/index.d.ts +1 -0
  98. package/{object-details → dist/object-details}/object-details.d.ts +1 -1
  99. package/dist/placeholder/index.d.ts +1 -0
  100. package/{placeholder → dist/placeholder}/placeholder.d.ts +1 -1
  101. package/{placeholder → dist/placeholder}/placeholder.mock.d.ts +1 -1
  102. package/dist/query-container/index.d.ts +1 -0
  103. package/{query-container → dist/query-container}/query-container.d.ts +1 -1
  104. package/dist/search-input/index.d.ts +1 -0
  105. package/{search-input → dist/search-input}/search-input.d.ts +1 -1
  106. package/dist/select/index.d.ts +1 -0
  107. package/{select → dist/select}/select.d.ts +2 -2
  108. package/dist/sign-in/index.d.ts +1 -0
  109. package/dist/skeleton-card/index.d.ts +1 -0
  110. package/dist/skeleton-grid/index.d.ts +1 -0
  111. package/dist/tab-card/index.d.ts +2 -0
  112. package/{tab-card → dist/tab-card}/tab-card-panel.d.ts +2 -2
  113. package/dist/tab-card/tab-card.context.d.ts +3 -0
  114. package/{tab-card → dist/tab-card}/tab-card.d.ts +1 -1
  115. package/{tab-card → dist/tab-card}/tab-card.dummy.d.ts +1 -1
  116. package/dist/tab-panel/index.d.ts +1 -0
  117. package/dist/tab-provider/index.d.ts +2 -0
  118. package/dist/tab-provider/tab-provider.context.d.ts +4 -0
  119. package/{tab-provider → dist/tab-provider}/tab-provider.provider.d.ts +1 -1
  120. package/dist/table-list/index.d.ts +1 -0
  121. package/{table-list → dist/table-list}/table-list.d.ts +2 -2
  122. package/dist/text-field/index.d.ts +1 -0
  123. package/{text-field → dist/text-field}/text-field.d.ts +1 -1
  124. package/{utils → dist/utils}/breakpoints.d.ts +1 -1
  125. package/{utils → dist/utils}/forms.d.ts +1 -1
  126. package/dist/utils/index.d.ts +4 -0
  127. package/{utils → dist/utils}/theme.d.ts +1 -1
  128. package/dist/value-base/index.d.ts +2 -0
  129. package/{value-base → dist/value-base}/value-edit.d.ts +2 -2
  130. package/dist/value-boolean/index.d.ts +1 -0
  131. package/{value-boolean → dist/value-boolean}/value-boolean.d.ts +1 -1
  132. package/dist/value-card/index.d.ts +1 -0
  133. package/{value-card → dist/value-card}/value-card.d.ts +1 -1
  134. package/dist/value-content/index.d.ts +1 -0
  135. package/{value-content → dist/value-content}/value-content.d.ts +1 -1
  136. package/dist/value-datetime/index.d.ts +1 -0
  137. package/{value-datetime → dist/value-datetime}/value-datetime.d.ts +1 -1
  138. package/dist/value-image/index.d.ts +1 -0
  139. package/{value-image → dist/value-image}/value-image.d.ts +1 -1
  140. package/dist/value-item/index.d.ts +1 -0
  141. package/{value-item → dist/value-item}/value-item.d.ts +3 -3
  142. package/dist/value-label/index.d.ts +1 -0
  143. package/{value-label → dist/value-label}/value-label.d.ts +2 -2
  144. package/dist/value-rating/index.d.ts +1 -0
  145. package/{value-rating → dist/value-rating}/value-rating.d.ts +1 -1
  146. package/dist/value-text/index.d.ts +1 -0
  147. package/{value-text → dist/value-text}/value-text.d.ts +1 -1
  148. package/package.json +78 -7
  149. package/action/cjs/index.js +0 -2
  150. package/action/cjs/index.js.map +0 -1
  151. package/action/cjs/package.json +0 -12
  152. package/action/index.d.ts +0 -2
  153. package/action/index.js +0 -2
  154. package/action/index.js.map +0 -1
  155. package/action/package.json +0 -12
  156. package/autocomplete/cjs/index.js +0 -2
  157. package/autocomplete/cjs/index.js.map +0 -1
  158. package/autocomplete/cjs/package.json +0 -11
  159. package/autocomplete/index.d.ts +0 -1
  160. package/autocomplete/index.js +0 -2
  161. package/autocomplete/index.js.map +0 -1
  162. package/autocomplete/package.json +0 -11
  163. package/board/cjs/index.js +0 -2
  164. package/board/cjs/index.js.map +0 -1
  165. package/board/cjs/package.json +0 -12
  166. package/board/index.d.ts +0 -1
  167. package/board/index.js +0 -2
  168. package/board/index.js.map +0 -1
  169. package/board/package.json +0 -12
  170. package/bootstrap-dialog/cjs/index.js +0 -2
  171. package/bootstrap-dialog/cjs/index.js.map +0 -1
  172. package/bootstrap-dialog/cjs/package.json +0 -12
  173. package/bootstrap-dialog/index.d.ts +0 -1
  174. package/bootstrap-dialog/index.js +0 -2
  175. package/bootstrap-dialog/index.js.map +0 -1
  176. package/bootstrap-dialog/package.json +0 -12
  177. package/bullet/cjs/index.js +0 -2
  178. package/bullet/cjs/index.js.map +0 -1
  179. package/bullet/cjs/package.json +0 -11
  180. package/bullet/index.d.ts +0 -1
  181. package/bullet/index.js +0 -2
  182. package/bullet/index.js.map +0 -1
  183. package/bullet/package.json +0 -11
  184. package/center-container/cjs/index.js +0 -2
  185. package/center-container/cjs/index.js.map +0 -1
  186. package/center-container/cjs/package.json +0 -11
  187. package/center-container/index.d.ts +0 -1
  188. package/center-container/index.js +0 -2
  189. package/center-container/index.js.map +0 -1
  190. package/center-container/package.json +0 -11
  191. package/cjs/index.js +0 -2
  192. package/cjs/index.js.map +0 -1
  193. package/confirm-dialog/cjs/index.js +0 -2
  194. package/confirm-dialog/cjs/index.js.map +0 -1
  195. package/confirm-dialog/cjs/package.json +0 -12
  196. package/confirm-dialog/index.d.ts +0 -1
  197. package/confirm-dialog/index.js +0 -2
  198. package/confirm-dialog/index.js.map +0 -1
  199. package/confirm-dialog/package.json +0 -12
  200. package/content/cjs/index.js +0 -2
  201. package/content/cjs/index.js.map +0 -1
  202. package/content/cjs/package.json +0 -11
  203. package/content/index.d.ts +0 -2
  204. package/content/index.js +0 -2
  205. package/content/index.js.map +0 -1
  206. package/content/package.json +0 -11
  207. package/content-placeholder/cjs/index.js +0 -2
  208. package/content-placeholder/cjs/index.js.map +0 -1
  209. package/content-placeholder/cjs/package.json +0 -11
  210. package/content-placeholder/index.d.ts +0 -1
  211. package/content-placeholder/index.js +0 -2
  212. package/content-placeholder/index.js.map +0 -1
  213. package/content-placeholder/package.json +0 -11
  214. package/date-range-calendar/cjs/index.js +0 -2
  215. package/date-range-calendar/cjs/index.js.map +0 -1
  216. package/date-range-calendar/cjs/package.json +0 -13
  217. package/date-range-calendar/index.d.ts +0 -1
  218. package/date-range-calendar/index.js +0 -2
  219. package/date-range-calendar/index.js.map +0 -1
  220. package/date-range-calendar/package.json +0 -13
  221. package/date-range-picker/cjs/index.js +0 -2
  222. package/date-range-picker/cjs/index.js.map +0 -1
  223. package/date-range-picker/cjs/package.json +0 -14
  224. package/date-range-picker/index.d.ts +0 -1
  225. package/date-range-picker/index.js +0 -2
  226. package/date-range-picker/index.js.map +0 -1
  227. package/date-range-picker/package.json +0 -14
  228. package/dialog/cjs/index.js +0 -2
  229. package/dialog/cjs/index.js.map +0 -1
  230. package/dialog/cjs/package.json +0 -10
  231. package/dialog/index.d.ts +0 -2
  232. package/dialog/index.js +0 -2
  233. package/dialog/index.js.map +0 -1
  234. package/dialog/package.json +0 -10
  235. package/drawer/cjs/index.js +0 -2
  236. package/drawer/cjs/index.js.map +0 -1
  237. package/drawer/cjs/package.json +0 -12
  238. package/drawer/drawer.d.ts +0 -4
  239. package/drawer/index.d.ts +0 -2
  240. package/drawer/index.js +0 -2
  241. package/drawer/index.js.map +0 -1
  242. package/drawer/package.json +0 -12
  243. package/drawer-app-bar/cjs/index.js +0 -2
  244. package/drawer-app-bar/cjs/index.js.map +0 -1
  245. package/drawer-app-bar/cjs/package.json +0 -12
  246. package/drawer-app-bar/index.d.ts +0 -1
  247. package/drawer-app-bar/index.js +0 -2
  248. package/drawer-app-bar/index.js.map +0 -1
  249. package/drawer-app-bar/package.json +0 -12
  250. package/drawer-content/cjs/index.js +0 -2
  251. package/drawer-content/cjs/index.js.map +0 -1
  252. package/drawer-content/cjs/package.json +0 -12
  253. package/drawer-content/index.d.ts +0 -1
  254. package/drawer-content/index.js +0 -2
  255. package/drawer-content/index.js.map +0 -1
  256. package/drawer-content/package.json +0 -12
  257. package/drawer-item/cjs/index.js +0 -2
  258. package/drawer-item/cjs/index.js.map +0 -1
  259. package/drawer-item/cjs/package.json +0 -12
  260. package/drawer-item/index.d.ts +0 -3
  261. package/drawer-item/index.js +0 -2
  262. package/drawer-item/index.js.map +0 -1
  263. package/drawer-item/package.json +0 -12
  264. package/drawer-layout/cjs/index.js +0 -2
  265. package/drawer-layout/cjs/index.js.map +0 -1
  266. package/drawer-layout/cjs/package.json +0 -12
  267. package/drawer-layout/index.d.ts +0 -1
  268. package/drawer-layout/index.js +0 -2
  269. package/drawer-layout/index.js.map +0 -1
  270. package/drawer-layout/package.json +0 -12
  271. package/drawer-main/cjs/index.js +0 -2
  272. package/drawer-main/cjs/index.js.map +0 -1
  273. package/drawer-main/cjs/package.json +0 -12
  274. package/drawer-main/index.d.ts +0 -1
  275. package/drawer-main/index.js +0 -2
  276. package/drawer-main/index.js.map +0 -1
  277. package/drawer-main/package.json +0 -12
  278. package/drawer-provider/cjs/index.js +0 -2
  279. package/drawer-provider/cjs/index.js.map +0 -1
  280. package/drawer-provider/cjs/package.json +0 -12
  281. package/drawer-provider/index.d.ts +0 -3
  282. package/drawer-provider/index.js +0 -2
  283. package/drawer-provider/index.js.map +0 -1
  284. package/drawer-provider/package.json +0 -12
  285. package/drawer-section/cjs/index.js +0 -2
  286. package/drawer-section/cjs/index.js.map +0 -1
  287. package/drawer-section/cjs/package.json +0 -12
  288. package/drawer-section/index.d.ts +0 -1
  289. package/drawer-section/index.js +0 -2
  290. package/drawer-section/index.js.map +0 -1
  291. package/drawer-section/package.json +0 -12
  292. package/drawer-subheader/cjs/index.js +0 -2
  293. package/drawer-subheader/cjs/index.js.map +0 -1
  294. package/drawer-subheader/cjs/package.json +0 -10
  295. package/drawer-subheader/drawer-subheader.d.ts +0 -9
  296. package/drawer-subheader/index.d.ts +0 -1
  297. package/drawer-subheader/index.js +0 -2
  298. package/drawer-subheader/index.js.map +0 -1
  299. package/drawer-subheader/package.json +0 -10
  300. package/enhanced-remote-table/cjs/index.js +0 -2
  301. package/enhanced-remote-table/cjs/index.js.map +0 -1
  302. package/enhanced-remote-table/cjs/package.json +0 -12
  303. package/enhanced-remote-table/index.d.ts +0 -1
  304. package/enhanced-remote-table/index.js +0 -2
  305. package/enhanced-remote-table/index.js.map +0 -1
  306. package/enhanced-remote-table/package.json +0 -12
  307. package/enhanced-table/cjs/index.js +0 -2
  308. package/enhanced-table/cjs/index.js.map +0 -1
  309. package/enhanced-table/cjs/package.json +0 -12
  310. package/enhanced-table/index.d.ts +0 -2
  311. package/enhanced-table/index.js +0 -2
  312. package/enhanced-table/index.js.map +0 -1
  313. package/enhanced-table/package.json +0 -12
  314. package/expandable-alert/cjs/index.js +0 -2
  315. package/expandable-alert/cjs/index.js.map +0 -1
  316. package/expandable-alert/cjs/package.json +0 -12
  317. package/expandable-alert/index.d.ts +0 -1
  318. package/expandable-alert/index.js +0 -2
  319. package/expandable-alert/index.js.map +0 -1
  320. package/expandable-alert/package.json +0 -12
  321. package/form-dialog/cjs/index.js +0 -2
  322. package/form-dialog/cjs/index.js.map +0 -1
  323. package/form-dialog/cjs/package.json +0 -12
  324. package/form-dialog/index.d.ts +0 -1
  325. package/form-dialog/index.js +0 -2
  326. package/form-dialog/index.js.map +0 -1
  327. package/form-dialog/package.json +0 -12
  328. package/generators/cjs/index.js +0 -2
  329. package/generators/cjs/index.js.map +0 -1
  330. package/generators/cjs/package.json +0 -7
  331. package/generators/index.d.ts +0 -1
  332. package/generators/index.js +0 -2
  333. package/generators/index.js.map +0 -1
  334. package/generators/package.json +0 -7
  335. package/group-value-card/cjs/index.js +0 -2
  336. package/group-value-card/cjs/index.js.map +0 -1
  337. package/group-value-card/cjs/package.json +0 -11
  338. package/group-value-card/index.d.ts +0 -1
  339. package/group-value-card/index.js +0 -2
  340. package/group-value-card/index.js.map +0 -1
  341. package/group-value-card/package.json +0 -11
  342. package/header/cjs/index.js +0 -2
  343. package/header/cjs/index.js.map +0 -1
  344. package/header/cjs/package.json +0 -11
  345. package/header/index.d.ts +0 -3
  346. package/header/index.js +0 -2
  347. package/header/index.js.map +0 -1
  348. package/header/package.json +0 -11
  349. package/header-layout/cjs/index.js +0 -2
  350. package/header-layout/cjs/index.js.map +0 -1
  351. package/header-layout/cjs/package.json +0 -12
  352. package/header-layout/index.d.ts +0 -1
  353. package/header-layout/index.js +0 -2
  354. package/header-layout/index.js.map +0 -1
  355. package/header-layout/package.json +0 -12
  356. package/index.d.ts +0 -55
  357. package/index.js +0 -2
  358. package/index.js.map +0 -1
  359. package/label/cjs/index.js +0 -2
  360. package/label/cjs/index.js.map +0 -1
  361. package/label/cjs/package.json +0 -11
  362. package/label/index.d.ts +0 -1
  363. package/label/index.js +0 -2
  364. package/label/index.js.map +0 -1
  365. package/label/package.json +0 -11
  366. package/link-card/cjs/index.js +0 -2
  367. package/link-card/cjs/index.js.map +0 -1
  368. package/link-card/cjs/package.json +0 -11
  369. package/link-card/index.d.ts +0 -1
  370. package/link-card/index.js +0 -2
  371. package/link-card/index.js.map +0 -1
  372. package/link-card/package.json +0 -11
  373. package/list-panel/cjs/index.js +0 -2
  374. package/list-panel/cjs/index.js.map +0 -1
  375. package/list-panel/cjs/package.json +0 -11
  376. package/list-panel/index.d.ts +0 -2
  377. package/list-panel/index.js +0 -2
  378. package/list-panel/index.js.map +0 -1
  379. package/list-panel/list-panel.context.d.ts +0 -3
  380. package/list-panel/package.json +0 -11
  381. package/loading-area/cjs/index.js +0 -2
  382. package/loading-area/cjs/index.js.map +0 -1
  383. package/loading-area/cjs/package.json +0 -11
  384. package/loading-area/index.d.ts +0 -1
  385. package/loading-area/index.js +0 -2
  386. package/loading-area/index.js.map +0 -1
  387. package/loading-area/package.json +0 -11
  388. package/markdown/cjs/index.js +0 -2
  389. package/markdown/cjs/index.js.map +0 -1
  390. package/markdown/cjs/package.json +0 -10
  391. package/markdown/index.d.ts +0 -1
  392. package/markdown/index.js +0 -2
  393. package/markdown/index.js.map +0 -1
  394. package/markdown/package.json +0 -10
  395. package/model-form/cjs/index.js +0 -2
  396. package/model-form/cjs/index.js.map +0 -1
  397. package/model-form/cjs/package.json +0 -12
  398. package/model-form/index.d.ts +0 -1
  399. package/model-form/index.js +0 -2
  400. package/model-form/index.js.map +0 -1
  401. package/model-form/package.json +0 -12
  402. package/notification-center/cjs/index.js +0 -2
  403. package/notification-center/cjs/index.js.map +0 -1
  404. package/notification-center/cjs/package.json +0 -11
  405. package/notification-center/index.d.ts +0 -3
  406. package/notification-center/index.js +0 -2
  407. package/notification-center/index.js.map +0 -1
  408. package/notification-center/package.json +0 -11
  409. package/object-details/cjs/index.js +0 -2
  410. package/object-details/cjs/index.js.map +0 -1
  411. package/object-details/cjs/package.json +0 -15
  412. package/object-details/index.d.ts +0 -1
  413. package/object-details/index.js +0 -2
  414. package/object-details/index.js.map +0 -1
  415. package/object-details/package.json +0 -15
  416. package/placeholder/cjs/index.js +0 -2
  417. package/placeholder/cjs/index.js.map +0 -1
  418. package/placeholder/cjs/package.json +0 -11
  419. package/placeholder/index.d.ts +0 -1
  420. package/placeholder/index.js +0 -2
  421. package/placeholder/index.js.map +0 -1
  422. package/placeholder/package.json +0 -11
  423. package/query-container/cjs/index.js +0 -2
  424. package/query-container/cjs/index.js.map +0 -1
  425. package/query-container/cjs/package.json +0 -11
  426. package/query-container/index.d.ts +0 -1
  427. package/query-container/index.js +0 -2
  428. package/query-container/index.js.map +0 -1
  429. package/query-container/package.json +0 -11
  430. package/search-input/cjs/index.js +0 -2
  431. package/search-input/cjs/index.js.map +0 -1
  432. package/search-input/cjs/package.json +0 -13
  433. package/search-input/index.d.ts +0 -1
  434. package/search-input/index.js +0 -2
  435. package/search-input/index.js.map +0 -1
  436. package/search-input/package.json +0 -13
  437. package/select/cjs/index.js +0 -2
  438. package/select/cjs/index.js.map +0 -1
  439. package/select/cjs/package.json +0 -11
  440. package/select/index.d.ts +0 -1
  441. package/select/index.js +0 -2
  442. package/select/index.js.map +0 -1
  443. package/select/package.json +0 -11
  444. package/sign-in/cjs/index.js +0 -2
  445. package/sign-in/cjs/index.js.map +0 -1
  446. package/sign-in/cjs/package.json +0 -11
  447. package/sign-in/index.d.ts +0 -1
  448. package/sign-in/index.js +0 -2
  449. package/sign-in/index.js.map +0 -1
  450. package/sign-in/package.json +0 -11
  451. package/skeleton-card/cjs/index.js +0 -2
  452. package/skeleton-card/cjs/index.js.map +0 -1
  453. package/skeleton-card/cjs/package.json +0 -11
  454. package/skeleton-card/index.d.ts +0 -1
  455. package/skeleton-card/index.js +0 -2
  456. package/skeleton-card/index.js.map +0 -1
  457. package/skeleton-card/package.json +0 -11
  458. package/skeleton-grid/cjs/index.js +0 -2
  459. package/skeleton-grid/cjs/index.js.map +0 -1
  460. package/skeleton-grid/cjs/package.json +0 -11
  461. package/skeleton-grid/index.d.ts +0 -1
  462. package/skeleton-grid/index.js +0 -2
  463. package/skeleton-grid/index.js.map +0 -1
  464. package/skeleton-grid/package.json +0 -11
  465. package/tab-card/cjs/index.js +0 -2
  466. package/tab-card/cjs/index.js.map +0 -1
  467. package/tab-card/cjs/package.json +0 -11
  468. package/tab-card/index.d.ts +0 -2
  469. package/tab-card/index.js +0 -2
  470. package/tab-card/index.js.map +0 -1
  471. package/tab-card/package.json +0 -11
  472. package/tab-card/tab-card.context.d.ts +0 -3
  473. package/tab-panel/cjs/index.js +0 -2
  474. package/tab-panel/cjs/index.js.map +0 -1
  475. package/tab-panel/cjs/package.json +0 -11
  476. package/tab-panel/index.d.ts +0 -1
  477. package/tab-panel/index.js +0 -2
  478. package/tab-panel/index.js.map +0 -1
  479. package/tab-panel/package.json +0 -11
  480. package/tab-provider/cjs/index.js +0 -2
  481. package/tab-provider/cjs/index.js.map +0 -1
  482. package/tab-provider/cjs/package.json +0 -10
  483. package/tab-provider/index.d.ts +0 -2
  484. package/tab-provider/index.js +0 -2
  485. package/tab-provider/index.js.map +0 -1
  486. package/tab-provider/package.json +0 -10
  487. package/tab-provider/tab-provider.context.d.ts +0 -4
  488. package/table-list/cjs/index.js +0 -2
  489. package/table-list/cjs/index.js.map +0 -1
  490. package/table-list/cjs/package.json +0 -12
  491. package/table-list/index.d.ts +0 -1
  492. package/table-list/index.js +0 -2
  493. package/table-list/index.js.map +0 -1
  494. package/table-list/package.json +0 -12
  495. package/text-field/cjs/index.js +0 -2
  496. package/text-field/cjs/index.js.map +0 -1
  497. package/text-field/cjs/package.json +0 -11
  498. package/text-field/index.d.ts +0 -1
  499. package/text-field/index.js +0 -2
  500. package/text-field/index.js.map +0 -1
  501. package/text-field/package.json +0 -11
  502. package/utils/cjs/index.js +0 -2
  503. package/utils/cjs/index.js.map +0 -1
  504. package/utils/cjs/package.json +0 -10
  505. package/utils/index.d.ts +0 -4
  506. package/utils/index.js +0 -2
  507. package/utils/index.js.map +0 -1
  508. package/utils/package.json +0 -10
  509. package/value-base/cjs/index.js +0 -2
  510. package/value-base/cjs/index.js.map +0 -1
  511. package/value-base/cjs/package.json +0 -12
  512. package/value-base/index.d.ts +0 -2
  513. package/value-base/index.js +0 -2
  514. package/value-base/index.js.map +0 -1
  515. package/value-base/package.json +0 -12
  516. package/value-boolean/cjs/index.js +0 -2
  517. package/value-boolean/cjs/index.js.map +0 -1
  518. package/value-boolean/cjs/package.json +0 -12
  519. package/value-boolean/index.d.ts +0 -1
  520. package/value-boolean/index.js +0 -2
  521. package/value-boolean/index.js.map +0 -1
  522. package/value-boolean/package.json +0 -12
  523. package/value-card/cjs/index.js +0 -2
  524. package/value-card/cjs/index.js.map +0 -1
  525. package/value-card/cjs/package.json +0 -11
  526. package/value-card/index.d.ts +0 -1
  527. package/value-card/index.js +0 -2
  528. package/value-card/index.js.map +0 -1
  529. package/value-card/package.json +0 -11
  530. package/value-content/cjs/index.js +0 -2
  531. package/value-content/cjs/index.js.map +0 -1
  532. package/value-content/cjs/package.json +0 -11
  533. package/value-content/index.d.ts +0 -1
  534. package/value-content/index.js +0 -2
  535. package/value-content/index.js.map +0 -1
  536. package/value-content/package.json +0 -11
  537. package/value-datetime/cjs/index.js +0 -2
  538. package/value-datetime/cjs/index.js.map +0 -1
  539. package/value-datetime/cjs/package.json +0 -14
  540. package/value-datetime/index.d.ts +0 -1
  541. package/value-datetime/index.js +0 -2
  542. package/value-datetime/index.js.map +0 -1
  543. package/value-datetime/package.json +0 -14
  544. package/value-image/cjs/index.js +0 -2
  545. package/value-image/cjs/index.js.map +0 -1
  546. package/value-image/cjs/package.json +0 -11
  547. package/value-image/index.d.ts +0 -1
  548. package/value-image/index.js +0 -2
  549. package/value-image/index.js.map +0 -1
  550. package/value-image/package.json +0 -11
  551. package/value-item/cjs/index.js +0 -2
  552. package/value-item/cjs/index.js.map +0 -1
  553. package/value-item/cjs/package.json +0 -11
  554. package/value-item/index.d.ts +0 -1
  555. package/value-item/index.js +0 -2
  556. package/value-item/index.js.map +0 -1
  557. package/value-item/package.json +0 -11
  558. package/value-label/cjs/index.js +0 -2
  559. package/value-label/cjs/index.js.map +0 -1
  560. package/value-label/cjs/package.json +0 -12
  561. package/value-label/index.d.ts +0 -1
  562. package/value-label/index.js +0 -2
  563. package/value-label/index.js.map +0 -1
  564. package/value-label/package.json +0 -12
  565. package/value-rating/cjs/index.js +0 -2
  566. package/value-rating/cjs/index.js.map +0 -1
  567. package/value-rating/cjs/package.json +0 -12
  568. package/value-rating/index.d.ts +0 -1
  569. package/value-rating/index.js +0 -2
  570. package/value-rating/index.js.map +0 -1
  571. package/value-rating/package.json +0 -12
  572. package/value-text/cjs/index.js +0 -2
  573. package/value-text/cjs/index.js.map +0 -1
  574. package/value-text/cjs/package.json +0 -12
  575. package/value-text/index.d.ts +0 -1
  576. package/value-text/index.js +0 -2
  577. package/value-text/index.js.map +0 -1
  578. package/value-text/package.json +0 -12
  579. /package/{date-range-calendar → dist/date-range-calendar}/date-range-calendar.d.ts +0 -0
  580. /package/{date-range-picker → dist/date-range-picker}/date-range-picker.d.ts +0 -0
  581. /package/{enhanced-table → dist/enhanced-table}/enhanced-table-head.d.ts +0 -0
  582. /package/{generators → dist/generators}/generators.model.d.ts +0 -0
  583. /package/{loading-area → dist/loading-area}/loading-area.d.ts +0 -0
  584. /package/{sign-in → dist/sign-in}/sign-in.d.ts +0 -0
  585. /package/{skeleton-card → dist/skeleton-card}/skeleton-card.d.ts +0 -0
  586. /package/{skeleton-grid → dist/skeleton-grid}/skeleton-grid.d.ts +0 -0
  587. /package/{tab-panel → dist/tab-panel}/tab-panel.d.ts +0 -0
  588. /package/{utils → dist/utils}/arrays.d.ts +0 -0
  589. /package/{utils → dist/utils}/colors.d.ts +0 -0
  590. /package/{value-base → dist/value-base}/value-displays.types.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/@mui/utils/esm/visuallyHidden/visuallyHidden.js","../../../src/enhanced-table/enhanced-table-head.tsx","../../../src/enhanced-table/enhanced-table.tsx"],"sourcesContent":["const visuallyHidden = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n};\nexport default visuallyHidden;","import TableSortLabel from \"@mui/material/TableSortLabel\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Box from \"@mui/material/Box\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableHead from \"@mui/material/TableHead\";\nimport { visuallyHidden } from \"@mui/utils\";\n\nexport type Order = \"asc\" | \"desc\";\nexport interface HeadCell<T> {\n disablePadding: boolean;\n id: keyof T;\n label: string;\n numeric: boolean;\n sort: boolean;\n}\n\ninterface EnhancedTableHeadProps<T> {\n onRequestSort: (property: keyof T) => void;\n order: Order;\n orderBy: keyof T;\n headCells: HeadCell<T>[];\n}\n\nexport const EnhancedTableHead = <T,>({\n order,\n orderBy,\n headCells,\n onRequestSort,\n}: EnhancedTableHeadProps<T>) => {\n const createSortHandler = (property: keyof T) => () => {\n onRequestSort(property);\n };\n\n return (\n <TableHead>\n <TableRow>\n {headCells.map((headCell) => (\n <TableCell\n variant=\"head\"\n key={String(headCell.id)}\n padding={headCell.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === headCell.id ? order : false}\n sx={{ fontWeight: \"bold\" }}\n >\n {headCell.sort ? (\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : \"asc\"}\n onClick={createSortHandler(headCell.id)}\n >\n {headCell.label}\n {orderBy === headCell.id ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\" ? \"sorted descending\" : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n ) : (\n headCell.label\n )}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n};\n","import { ChangeEvent } from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport Box from \"@mui/material/Box\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TextField from \"@mui/material/TextField\";\nimport TableBody from \"@mui/material/TableBody\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport Table from \"@mui/material/Table\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Search from \"@mui/icons-material/Search\";\nimport { EnhancedTableHead, HeadCell, Order } from \"./enhanced-table-head\";\n\nfunction getFilter<T>(columns: HeadCell<T>[], search: string) {\n return (d: T) => {\n return (\n !search ||\n columns.some((col) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let value = (d as any)[col.id];\n if (value?.toLowerCase) {\n value = value.toLowerCase();\n }\n return value?.toString().includes(search.toLowerCase());\n })\n );\n };\n}\n\nfunction getComparator<T>(order: Order, orderBy: keyof T): (a: T, b: T) => number {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\nfunction descendingComparator<T>(a: T, b: T, orderBy: keyof T) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\ninterface Props<T> {\n readonly data: T[];\n search?: boolean;\n defaultSort: keyof T;\n defaultOrder?: Order;\n loading?: boolean;\n columns: HeadCell<T>[];\n children: (data: T[]) => ReactNode;\n}\n\nexport const EnhancedTable = <T,>({\n children,\n data,\n search,\n columns,\n defaultSort,\n defaultOrder = \"asc\",\n loading = false,\n}: Props<T>) => {\n const [searchFilter, setSearchFilter] = useState<string>(\"\");\n const [order, setOrder] = useState<Order>(defaultOrder);\n const [orderBy, setOrderBy] = useState<keyof T>(defaultSort);\n\n const handleRequestSort = (property: keyof T) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const filteredData = data\n .slice()\n .filter(getFilter<T>(columns, searchFilter))\n .sort(getComparator(order, orderBy));\n\n return (\n <>\n <Box sx={{ paddingX: 1, paddingBottom: 2 }}>\n {search && (\n <Box paddingY={2}>\n <TextField\n fullWidth\n placeholder=\"Search\"\n InputProps={{\n role: \"search\",\n startAdornment: (\n <InputAdornment position=\"start\">\n <Search />\n </InputAdornment>\n ),\n }}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setSearchFilter(e.target.value)}\n />\n </Box>\n )}\n <TableContainer>\n <Table>\n <EnhancedTableHead\n order={order}\n orderBy={orderBy}\n headCells={columns}\n onRequestSort={handleRequestSort}\n />\n <TableBody>\n {loading ? (\n <TableRow>\n <TableCell colSpan={columns.length} sx={{ textAlign: \"center\" }}>\n <CircularProgress />\n </TableCell>\n </TableRow>\n ) : filteredData.length === 0 ? (\n <TableRow>\n <TableCell colSpan={columns.length} sx={{ textAlign: \"center\" }}>\n No data\n </TableCell>\n </TableRow>\n ) : (\n children(filteredData)\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </>\n );\n};\n\nEnhancedTable.defaultProps = {\n defaultOrder: \"asc\",\n};\n"],"names":["visuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","width","EnhancedTableHead","order","orderBy","headCells","onRequestSort","_jsx","jsx","TableHead","children","TableRow","map","headCell","TableCell","variant","disablePadding","sortDirection","id","sx","fontWeight","sort","_jsxs","TableSortLabel","active","direction","onClick","property","label","Box","component","String","descendingComparator","a","b","EnhancedTable","data","search","columns","defaultSort","defaultOrder","loading","searchFilter","setSearchFilter","useState","setOrder","setOrderBy","filteredData","slice","filter","d","some","col","value","toLowerCase","toString","includes","getFilter","getComparator","_Fragment","Fragment","jsxs","paddingX","paddingBottom","paddingY","TextField","fullWidth","placeholder","InputProps","role","startAdornment","InputAdornment","Search","onChange","e","target","TableContainer","Table","TableBody","colSpan","length","textAlign","CircularProgress","defaultProps"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/enhanced-table",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1,2 +0,0 @@
1
- export * from "./enhanced-table";
2
- export * from "./enhanced-table-head";
@@ -1,2 +0,0 @@
1
- import{jsx as r,jsxs as e,Fragment as i}from"react/jsx-runtime";import{useState as t}from"react";import o from"@mui/material/Box";import a from"@mui/material/TableContainer";import n from"@mui/material/TextField";import l from"@mui/material/TableBody";import d from"@mui/material/InputAdornment";import m from"@mui/material/Table";import c from"@mui/material/CircularProgress";import s from"@mui/material/TableCell";import p from"@mui/material/TableRow";import u from"@mui/icons-material/Search";import h from"@mui/material/TableSortLabel";import f from"@mui/material/TableHead";const g={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"},b=({order:i,orderBy:t,headCells:a,onRequestSort:n})=>r(f,{children:r(p,{children:a.map((a=>{return r(s,{variant:"head",padding:a.disablePadding?"none":"normal",sortDirection:t===a.id&&i,sx:{fontWeight:"bold"},children:a.sort?e(h,{active:t===a.id,direction:t===a.id?i:"asc",onClick:(l=a.id,()=>{n(l)}),children:[a.label,t===a.id?r(o,{component:"span",sx:g,children:"desc"===i?"sorted descending":"sorted ascending"}):null]}):a.label},String(a.id));var l}))})});function x(r,e,i){return e[i]<r[i]?-1:e[i]>r[i]?1:0}const S=({children:h,data:f,search:g,columns:S,defaultSort:C,defaultOrder:w="asc",loading:T=!1})=>{const[v,B]=t(""),[A,L]=t(w),[P,y]=t(C),R=f.slice().filter(function(r,e){return i=>!e||r.some((r=>{let t=i[r.id];return t?.toLowerCase&&(t=t.toLowerCase()),t?.toString().includes(e.toLowerCase())}))}(S,v)).sort(function(r,e){return"desc"===r?(r,i)=>x(r,i,e):(r,i)=>-x(r,i,e)}(A,P));return r(i,{children:e(o,{sx:{paddingX:1,paddingBottom:2},children:[g&&r(o,{paddingY:2,children:r(n,{fullWidth:!0,placeholder:"Search",InputProps:{role:"search",startAdornment:r(d,{position:"start",children:r(u,{})})},onChange:r=>B(r.target.value)})}),r(a,{children:e(m,{children:[r(b,{order:A,orderBy:P,headCells:S,onRequestSort:r=>{L(P===r&&"asc"===A?"desc":"asc"),y(r)}}),r(l,{children:T?r(p,{children:r(s,{colSpan:S.length,sx:{textAlign:"center"},children:r(c,{})})}):0===R.length?r(p,{children:r(s,{colSpan:S.length,sx:{textAlign:"center"},children:"No data"})}):h(R)})]})})]})})};S.defaultProps={defaultOrder:"asc"};export{S as EnhancedTable,b as EnhancedTableHead};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/@mui/utils/esm/visuallyHidden/visuallyHidden.js","../../src/enhanced-table/enhanced-table-head.tsx","../../src/enhanced-table/enhanced-table.tsx"],"sourcesContent":["const visuallyHidden = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n};\nexport default visuallyHidden;","import TableSortLabel from \"@mui/material/TableSortLabel\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Box from \"@mui/material/Box\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableHead from \"@mui/material/TableHead\";\nimport { visuallyHidden } from \"@mui/utils\";\n\nexport type Order = \"asc\" | \"desc\";\nexport interface HeadCell<T> {\n disablePadding: boolean;\n id: keyof T;\n label: string;\n numeric: boolean;\n sort: boolean;\n}\n\ninterface EnhancedTableHeadProps<T> {\n onRequestSort: (property: keyof T) => void;\n order: Order;\n orderBy: keyof T;\n headCells: HeadCell<T>[];\n}\n\nexport const EnhancedTableHead = <T,>({\n order,\n orderBy,\n headCells,\n onRequestSort,\n}: EnhancedTableHeadProps<T>) => {\n const createSortHandler = (property: keyof T) => () => {\n onRequestSort(property);\n };\n\n return (\n <TableHead>\n <TableRow>\n {headCells.map((headCell) => (\n <TableCell\n variant=\"head\"\n key={String(headCell.id)}\n padding={headCell.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === headCell.id ? order : false}\n sx={{ fontWeight: \"bold\" }}\n >\n {headCell.sort ? (\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : \"asc\"}\n onClick={createSortHandler(headCell.id)}\n >\n {headCell.label}\n {orderBy === headCell.id ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\" ? \"sorted descending\" : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n ) : (\n headCell.label\n )}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n};\n","import { ChangeEvent } from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport Box from \"@mui/material/Box\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TextField from \"@mui/material/TextField\";\nimport TableBody from \"@mui/material/TableBody\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport Table from \"@mui/material/Table\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Search from \"@mui/icons-material/Search\";\nimport { EnhancedTableHead, HeadCell, Order } from \"./enhanced-table-head\";\n\nfunction getFilter<T>(columns: HeadCell<T>[], search: string) {\n return (d: T) => {\n return (\n !search ||\n columns.some((col) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let value = (d as any)[col.id];\n if (value?.toLowerCase) {\n value = value.toLowerCase();\n }\n return value?.toString().includes(search.toLowerCase());\n })\n );\n };\n}\n\nfunction getComparator<T>(order: Order, orderBy: keyof T): (a: T, b: T) => number {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\nfunction descendingComparator<T>(a: T, b: T, orderBy: keyof T) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\ninterface Props<T> {\n readonly data: T[];\n search?: boolean;\n defaultSort: keyof T;\n defaultOrder?: Order;\n loading?: boolean;\n columns: HeadCell<T>[];\n children: (data: T[]) => ReactNode;\n}\n\nexport const EnhancedTable = <T,>({\n children,\n data,\n search,\n columns,\n defaultSort,\n defaultOrder = \"asc\",\n loading = false,\n}: Props<T>) => {\n const [searchFilter, setSearchFilter] = useState<string>(\"\");\n const [order, setOrder] = useState<Order>(defaultOrder);\n const [orderBy, setOrderBy] = useState<keyof T>(defaultSort);\n\n const handleRequestSort = (property: keyof T) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const filteredData = data\n .slice()\n .filter(getFilter<T>(columns, searchFilter))\n .sort(getComparator(order, orderBy));\n\n return (\n <>\n <Box sx={{ paddingX: 1, paddingBottom: 2 }}>\n {search && (\n <Box paddingY={2}>\n <TextField\n fullWidth\n placeholder=\"Search\"\n InputProps={{\n role: \"search\",\n startAdornment: (\n <InputAdornment position=\"start\">\n <Search />\n </InputAdornment>\n ),\n }}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setSearchFilter(e.target.value)}\n />\n </Box>\n )}\n <TableContainer>\n <Table>\n <EnhancedTableHead\n order={order}\n orderBy={orderBy}\n headCells={columns}\n onRequestSort={handleRequestSort}\n />\n <TableBody>\n {loading ? (\n <TableRow>\n <TableCell colSpan={columns.length} sx={{ textAlign: \"center\" }}>\n <CircularProgress />\n </TableCell>\n </TableRow>\n ) : filteredData.length === 0 ? (\n <TableRow>\n <TableCell colSpan={columns.length} sx={{ textAlign: \"center\" }}>\n No data\n </TableCell>\n </TableRow>\n ) : (\n children(filteredData)\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </>\n );\n};\n\nEnhancedTable.defaultProps = {\n defaultOrder: \"asc\",\n};\n"],"names":["visuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","width","EnhancedTableHead","order","orderBy","headCells","onRequestSort","_jsx","TableHead","children","TableRow","map","headCell","TableCell","variant","disablePadding","sortDirection","id","sx","fontWeight","sort","_jsxs","TableSortLabel","active","direction","onClick","property","label","Box","component","String","descendingComparator","a","b","EnhancedTable","data","search","columns","defaultSort","defaultOrder","loading","searchFilter","setSearchFilter","useState","setOrder","setOrderBy","filteredData","slice","filter","d","some","col","value","toLowerCase","toString","includes","getFilter","getComparator","_Fragment","paddingX","paddingBottom","paddingY","TextField","fullWidth","placeholder","InputProps","role","startAdornment","InputAdornment","Search","onChange","e","target","TableContainer","Table","TableBody","colSpan","length","textAlign","CircularProgress","defaultProps"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/enhanced-table",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Alert"),r=require("@mui/material/Box"),t=require("@mui/material/Collapse"),l=require("@mui/material/IconButton"),a=require("@mui/material/AlertTitle"),s=require("@mui/icons-material/ExpandMore"),n=require("@mui/icons-material/ExpandLess"),o=require("@mui/icons-material/Close"),c=require("react"),m=require("@mui/material/Paper"),u=require("@mui/material/Tooltip"),x=require("@mui/material/Typography"),p=require("@mui/material/styles"),d=require("@mui/material/colors"),h=require("@mui/icons-material/ContentCopy");const j=({content:i,spacing:t=0,children:a,sx:s})=>{const{spacing:n,typography:o}=p.useTheme();let c,j;return Array.isArray(i)?(j=i.map(((i,r)=>e.jsx(x,{sx:{pb:t},children:i},r))),c=i.join("\n")):(j=e.jsx(x,{children:i}),c=i||""),e.jsx(m,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:d.blueGrey[800],color:"white",...s},children:e.jsxs(r,{display:"flex",flexDirection:"row",children:[e.jsx(r,{width:1,children:a||j}),e.jsx(r,{sx:{position:"absolute",top:n(.5),right:n(.5)},children:c&&e.jsx(l,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(c),children:e.jsx(u,{title:"Copy",children:e.jsx(h,{sx:{fontSize:o.pxToRem(18)}})})})})]})})},q={[`& .${i.alertClasses.message}`]:{width:1}},y=c.forwardRef((({severity:m,iconMapping:u,title:x,message:p,metadata:d,metadataComponent:h,onClose:y,sx:C={}},f)=>{const[g,b]=c.useState(!1);return e.jsx(i,{ref:f,severity:m,iconMapping:u,onClose:y,action:e.jsxs(r,{display:"flex",flexDirection:"column",children:[e.jsx(l,{color:"inherit",onClick:y,children:e.jsx(o,{fontSize:"small"})}),d&&e.jsx(l,{color:"inherit",onClick:()=>b((e=>!e)),children:g?e.jsx(n,{fontSize:"small"}):e.jsx(s,{fontSize:"small"})})]}),sx:{...q,...C},children:e.jsxs(r,{sx:{w:1},children:[x&&e.jsx(a,{children:x}),p,d&&e.jsx(t,{in:g,sx:{mt:2},children:e.jsx(j,{content:d,children:h})})]})})}));exports.ExpandableAlert=y;
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/board/board.tsx","../../../src/expandable-alert/expandable-alert.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","import Alert, { alertClasses, AlertColor } from \"@mui/material/Alert\";\nimport Box from \"@mui/material/Box\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AlertTitle from \"@mui/material/AlertTitle\";\nimport { SxProps, Theme } from \"@mui/material/styles\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport ExpandLessIcon from \"@mui/icons-material/ExpandLess\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { forwardRef, ReactElement, useState } from \"react\";\nimport { Board } from \"../board\";\n\nexport interface ExpandableAlertProps {\n severity: AlertColor;\n iconMapping?: Partial<Record<AlertColor, React.ReactNode>>;\n title?: string;\n message: string;\n metadata?: string | string[];\n metadataComponent?: ReactElement;\n onClose: () => void;\n sx?: SxProps<Theme>;\n}\n\nconst alertSx = {\n [`& .${alertClasses.message}`]: {\n width: 1,\n },\n};\n\nexport const ExpandableAlert = forwardRef<any, ExpandableAlertProps>(\n (\n { severity, iconMapping, title, message, metadata, metadataComponent, onClose, sx = {} },\n ref,\n ) => {\n const [expanded, setExpanded] = useState(false);\n return (\n <Alert\n ref={ref}\n severity={severity}\n iconMapping={iconMapping}\n onClose={onClose}\n action={\n <Box display=\"flex\" flexDirection=\"column\">\n <IconButton color=\"inherit\" onClick={onClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n {metadata && (\n <IconButton color=\"inherit\" onClick={() => setExpanded((e) => !e)}>\n {expanded ? (\n <ExpandLessIcon fontSize=\"small\" />\n ) : (\n <ExpandMoreIcon fontSize=\"small\" />\n )}\n </IconButton>\n )}\n </Box>\n }\n sx={{ ...alertSx, ...sx }}\n >\n <Box sx={{ w: 1 }}>\n {title && <AlertTitle>{title}</AlertTitle>}\n {message}\n {metadata && (\n <Collapse in={expanded} sx={{ mt: 2 }}>\n <Board content={metadata}>{metadataComponent}</Board>\n </Collapse>\n )}\n </Box>\n </Alert>\n );\n },\n);\n"],"names":["Board","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","alertSx","alertClasses","message","ExpandableAlert","forwardRef","severity","iconMapping","metadata","metadataComponent","onClose","ref","expanded","setExpanded","useState","Alert","action","CloseIcon","e","ExpandLessIcon","ExpandMoreIcon","w","AlertTitle","Collapse","in","mt"],"mappings":"6kBAgBO,MAAMA,EAAQ,EAAGC,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,ECtCNC,EAAU,CACd,CAAC,MAAMC,eAAaC,WAAY,CAC9Bf,MAAO,IAIEgB,EAAkBC,EAAAA,YAC7B,EACIC,WAAUC,cAAaV,QAAOM,UAASK,WAAUC,oBAAmBC,UAASjD,KAAK,CAAE,GACtFkD,KAEA,MAAOC,EAAUC,GAAeC,EAAAA,UAAS,GACzC,OACE3C,MAAC4C,EACC,CAAAJ,IAAKA,EACLL,SAAUA,EACVC,YAAaA,EACbG,QAASA,EACTM,OACEhC,OAACC,GAAIC,QAAQ,OAAOC,cAAc,mBAChChB,EAACC,IAAAmB,GAAWR,MAAM,UAAUS,QAASkB,WACnCvC,EAACC,IAAA6C,GAAUlB,SAAS,YAErBS,GACCrC,MAACoB,EAAW,CAAAR,MAAM,UAAUS,QAAS,IAAMqB,GAAaK,IAAOA,IAAE1D,SAC9DoD,EACCzC,EAAAC,IAAC+C,EAAc,CAACpB,SAAS,UAEzB5B,EAAAA,IAACiD,GAAerB,SAAS,eAMnCtC,GAAI,IAAKwC,KAAYxC,GAAID,SAEzBwB,OAACC,GAAIxB,GAAI,CAAE4D,EAAG,GAAG7D,SAAA,CACdqC,GAAS1B,EAAAA,IAACmD,EAAU,CAAA9D,SAAEqC,IACtBM,EACAK,GACCrC,EAAAA,IAACoD,EAAQ,CAACC,GAAIZ,EAAUnD,GAAI,CAAEgE,GAAI,YAChCtD,EAACC,IAAAhB,GAAMC,QAASmD,EAAQhD,SAAGiD,UAI3B"}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/expandable-alert",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1 +0,0 @@
1
- export * from "./expandable-alert";
@@ -1,2 +0,0 @@
1
- import{jsx as i,jsxs as r}from"react/jsx-runtime";import o,{alertClasses as t}from"@mui/material/Alert";import e from"@mui/material/Box";import m from"@mui/material/Collapse";import l from"@mui/material/IconButton";import n from"@mui/material/AlertTitle";import a from"@mui/icons-material/ExpandMore";import c from"@mui/icons-material/ExpandLess";import p from"@mui/icons-material/Close";import{forwardRef as s,useState as d}from"react";import h from"@mui/material/Paper";import f from"@mui/material/Tooltip";import u from"@mui/material/Typography";import{useTheme as x}from"@mui/material/styles";import{blueGrey as y}from"@mui/material/colors";import C from"@mui/icons-material/ContentCopy";const g=({content:o,spacing:t=0,children:m,sx:n})=>{const{spacing:a,typography:c}=x();let p,s;return Array.isArray(o)?(s=o.map(((r,o)=>i(u,{sx:{pb:t},children:r},o))),p=o.join("\n")):(s=i(u,{children:o}),p=o||""),i(h,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:y[800],color:"white",...n},children:r(e,{display:"flex",flexDirection:"row",children:[i(e,{width:1,children:m||s}),i(e,{sx:{position:"absolute",top:a(.5),right:a(.5)},children:p&&i(l,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(p),children:i(f,{title:"Copy",children:i(C,{sx:{fontSize:c.pxToRem(18)}})})})})]})})},b={[`& .${t.message}`]:{width:1}},w=s((({severity:t,iconMapping:s,title:h,message:f,metadata:u,metadataComponent:x,onClose:y,sx:C={}},w)=>{const[T,k]=d(!1);return i(o,{ref:w,severity:t,iconMapping:s,onClose:y,action:r(e,{display:"flex",flexDirection:"column",children:[i(l,{color:"inherit",onClick:y,children:i(p,{fontSize:"small"})}),u&&i(l,{color:"inherit",onClick:()=>k((i=>!i)),children:i(T?c:a,{fontSize:"small"})})]}),sx:{...b,...C},children:r(e,{sx:{w:1},children:[h&&i(n,{children:h}),f,u&&i(m,{in:T,sx:{mt:2},children:i(g,{content:u,children:x})})]})})}));export{w as ExpandableAlert};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/board/board.tsx","../../src/expandable-alert/expandable-alert.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","import Alert, { alertClasses, AlertColor } from \"@mui/material/Alert\";\nimport Box from \"@mui/material/Box\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AlertTitle from \"@mui/material/AlertTitle\";\nimport { SxProps, Theme } from \"@mui/material/styles\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport ExpandLessIcon from \"@mui/icons-material/ExpandLess\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { forwardRef, ReactElement, useState } from \"react\";\nimport { Board } from \"../board\";\n\nexport interface ExpandableAlertProps {\n severity: AlertColor;\n iconMapping?: Partial<Record<AlertColor, React.ReactNode>>;\n title?: string;\n message: string;\n metadata?: string | string[];\n metadataComponent?: ReactElement;\n onClose: () => void;\n sx?: SxProps<Theme>;\n}\n\nconst alertSx = {\n [`& .${alertClasses.message}`]: {\n width: 1,\n },\n};\n\nexport const ExpandableAlert = forwardRef<any, ExpandableAlertProps>(\n (\n { severity, iconMapping, title, message, metadata, metadataComponent, onClose, sx = {} },\n ref,\n ) => {\n const [expanded, setExpanded] = useState(false);\n return (\n <Alert\n ref={ref}\n severity={severity}\n iconMapping={iconMapping}\n onClose={onClose}\n action={\n <Box display=\"flex\" flexDirection=\"column\">\n <IconButton color=\"inherit\" onClick={onClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n {metadata && (\n <IconButton color=\"inherit\" onClick={() => setExpanded((e) => !e)}>\n {expanded ? (\n <ExpandLessIcon fontSize=\"small\" />\n ) : (\n <ExpandMoreIcon fontSize=\"small\" />\n )}\n </IconButton>\n )}\n </Box>\n }\n sx={{ ...alertSx, ...sx }}\n >\n <Box sx={{ w: 1 }}>\n {title && <AlertTitle>{title}</AlertTitle>}\n {message}\n {metadata && (\n <Collapse in={expanded} sx={{ mt: 2 }}>\n <Board content={metadata}>{metadataComponent}</Board>\n </Collapse>\n )}\n </Box>\n </Alert>\n );\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","alertSx","alertClasses","message","ExpandableAlert","forwardRef","severity","iconMapping","metadata","metadataComponent","onClose","ref","expanded","setExpanded","useState","Alert","action","CloseIcon","e","ExpandLessIcon","ExpandMoreIcon","w","AlertTitle","Collapse","in","mt"],"mappings":"orBAgBO,MAAMA,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,ECtCNC,EAAU,CACd,CAAC,MAAMC,EAAaC,WAAY,CAC9Bf,MAAO,IAIEgB,EAAkBC,GAC7B,EACIC,WAAUC,cAAaV,QAAOM,UAASK,WAAUC,oBAAmBC,UAAShD,KAAK,CAAE,GACtFiD,KAEA,MAAOC,EAAUC,GAAeC,GAAS,GACzC,OACE1C,EAAC2C,EACC,CAAAJ,IAAKA,EACLL,SAAUA,EACVC,YAAaA,EACbG,QAASA,EACTM,OACEhC,EAACC,GAAIC,QAAQ,OAAOC,cAAc,mBAChCf,EAACmB,GAAWR,MAAM,UAAUS,QAASkB,WACnCtC,EAAC6C,GAAUlB,SAAS,YAErBS,GACCpC,EAACmB,EAAW,CAAAR,MAAM,UAAUS,QAAS,IAAMqB,GAAaK,IAAOA,IAAEzD,SAE7DW,EADDwC,EACEO,EAEAC,EAFc,CAACrB,SAAS,eAQnCrC,GAAI,IAAKuC,KAAYvC,GAAID,SAEzBuB,EAACC,GAAIvB,GAAI,CAAE2D,EAAG,GAAG5D,SAAA,CACdoC,GAASzB,EAACkD,EAAU,CAAA7D,SAAEoC,IACtBM,EACAK,GACCpC,EAACmD,EAAQ,CAACC,GAAIZ,EAAUlD,GAAI,CAAE+D,GAAI,YAChCrD,EAACf,GAAMC,QAASkD,EAAQ/C,SAAGgD,UAI3B"}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/expandable-alert",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),l=require("@mui/material/Dialog"),i=require("@mui/material/DialogTitle"),t=require("@mui/material/DialogActions"),n=require("@mui/material/IconButton"),a=require("@mui/material/DialogContent"),o=require("@mui/material/CircularProgress"),r=require("@mui/material/Box"),c=require("@mui/material/Button"),s=require("@mui/icons-material/Close");const u=({open:u,title:d,component:m,componentProps:p={},disabled:x,disableAccept:b,disableCancel:C,actions:h=[],children:g,loading:j,cancelable:q,callCloseWhenCancel:T=!0,acceptable:y,acceptText:D="Accept",cancelText:k="Cancel",onAccept:f,onCancel:A=(()=>null),onClose:v,acceptType:B="button"})=>{const P=h.length>0||y||q;return e.jsxs(l,{open:u,onClose:v,children:[e.jsxs(i,{sx:{display:"flex",alignItems:"center"},children:[d,j&&!y&&e.jsx(o,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e.jsx(n,{disabled:x,"aria-label":"close",onClick:v,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e.jsx(s,{})})]}),e.jsxs(r,{component:m,...p,children:[e.jsx(a,{dividers:!0,children:g}),P&&e.jsxs(t,{children:[h.map((({id:l,text:i,type:t="button",onClick:n,color:a="primary"})=>e.jsx(c,{type:t,disabled:x,onClick:n,color:a,children:i},l))),q&&e.jsx(c,{color:"error",disabled:x||C,onClick:()=>{A(),T&&v()},children:k}),y&&e.jsx(c,{type:B,loading:j,disabled:x||b,onClick:f,children:D})]})]})]})};exports.FormDialog=({open:l,title:i,loading:t,disabled:n,submitText:a="Submit",cancelText:o="Cancel",children:r,onSubmit:c,onCancel:s})=>e.jsx(u,{component:"form",componentProps:{onSubmit:e=>{e.preventDefault(),c((e=>{const l=new FormData(e.currentTarget),i={};return l.forEach(((e,l)=>{i[l]=e})),i})(e))}},title:i,loading:t,disabled:t||n,open:l,onClose:s,callCloseWhenCancel:!1,cancelable:!0,acceptable:!0,cancelText:o,onCancel:s,acceptText:a,acceptType:"submit",children:r});
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../../src/form-dialog/form-dialog.tsx","../../../src/utils/forms.ts"],"sourcesContent":["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 { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { FormEvent } from \"react\";\nimport { BootstrapDialogDialogProps } from \"../dialog\";\nimport { getFormData } from \"../utils/forms\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface FormDialogProps<T> extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n submitText?: string;\n canceText?: string;\n onCancel: () => void;\n onSubmit: (data: T) => void;\n}\n\nexport const FormDialog = <T,>({\n open,\n title,\n loading,\n disabled,\n submitText = \"Submit\",\n cancelText = \"Cancel\",\n children,\n onSubmit,\n onCancel,\n}: FormDialogProps<T>) => {\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n onSubmit(getFormData<T>(e));\n };\n\n return (\n <BootstrapDialog\n component=\"form\"\n componentProps={{\n onSubmit: handleSubmit,\n }}\n title={title}\n loading={loading}\n disabled={loading || disabled}\n open={open}\n onClose={onCancel}\n callCloseWhenCancel={false}\n cancelable\n acceptable\n cancelText={cancelText}\n onCancel={onCancel}\n acceptText={submitText}\n acceptType=\"submit\"\n >\n {children}\n </BootstrapDialog>\n );\n};\n","import { FormEvent } from \"react\";\n\nexport const getFormData = <T>(e: FormEvent<HTMLFormElement>): T => {\n const data = new FormData(e.currentTarget);\n const rawData: Record<string, any> = {};\n\n data.forEach((value, key) => {\n rawData[key] = value;\n });\n return rawData as T;\n};\n"],"names":["BootstrapDialog","open","title","component","componentProps","disabled","disableAccept","disableCancel","actions","children","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","_jsx","CircularProgress","size","ml","color","theme","palette","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button","submitText","onSubmit","e","preventDefault","data","FormData","currentTarget","rawData","forEach","value","key","getFormData"],"mappings":"qYAWO,MAAMA,EAAkB,EAC7BC,OACAC,QACAC,YACAC,iBAAiB,CAAA,EACjBC,WACAC,gBACAC,gBACAC,UAAU,GACVC,WACAC,UACAC,aACAC,uBAAsB,EACtBC,aACAC,aAAa,SACbC,aAAa,SACbC,WACAC,WAAW,KAAM,MACjBC,UACAC,aAAa,aAEb,MAAMC,EAAaZ,EAAQa,OAAS,GAAKR,GAAcF,EAEvD,OACEW,OAACC,EAAO,CAAAtB,KAAMA,EAAMiB,QAASA,EAC3BT,SAAA,CAAAa,EAAAE,KAACC,EAAY,CAAAC,GAAI,CAAEC,QAAS,OAAQC,WAAY,UAAUnB,SAAA,CACvDP,EACAQ,IAAYG,GACXgB,MAACC,EAAgB,CAACC,KAAM,GAAIL,GAAI,CAAEM,GAAI,EAAGC,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,QAEhFP,EAAAA,IAACQ,GACChC,SAAUA,EAAQ,aACP,QACXiC,QAASpB,EACTQ,GAAI,CACFa,SAAU,WACVC,MAAO,EACPC,IAAK,EACLR,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,MAGvC3B,SAAAoB,EAAAA,IAACa,EAAY,CAAA,QAGjBpB,EAAAA,KAACqB,EAAI,CAAAxC,UAAWA,KAAeC,EAC7BK,SAAA,CAAAoB,EAAAe,IAACC,EAAc,CAAAC,UAAU,EAAArC,SAAAA,IACxBW,GACCE,EAAAA,KAACyB,EAAa,CAAAtC,SAAA,CACXD,EAAQwC,KAAI,EAAGC,KAAIC,OAAMC,OAAO,SAAUb,UAASL,QAAQ,aAC1DJ,EAAAA,IAACuB,GAAgBD,KAAMA,EAAM9C,SAAUA,EAAUiC,QAASA,EAASL,MAAOA,EAAKxB,SAC5EyC,GADUD,KAIdtC,GACCkB,EAAAe,IAACQ,EAAM,CACLnB,MAAM,QACN5B,SAAUA,GAAYE,EACtB+B,QAAS,KACPrB,IACIL,GACFM,cAIHH,IAIJF,GACCgB,EAAAA,IAACuB,GACCD,KAAMhC,EACNT,QAASA,EACTL,SAAUA,GAAYC,EACtBgC,QAAStB,EAERP,SAAAK,YAMJ,qBCtEa,EACxBb,OACAC,QACAQ,UACAL,WACAgD,aAAa,SACbtC,aAAa,SACbN,WACA6C,WACArC,cASEY,MAAC7B,EAAe,CACdG,UAAU,OACVC,eAAgB,CACdkD,SAVgBC,IACpBA,EAAEC,iBAEFF,EClCuB,CAAIC,IAC7B,MAAME,EAAO,IAAIC,SAASH,EAAEI,eACtBC,EAA+B,CAAE,EAKvC,OAHAH,EAAKI,SAAQ,CAACC,EAAOC,KACnBH,EAAQG,GAAOD,CAAK,IAEfF,CAAY,ED2BRI,CAAeT,GAAG,GASzBrD,MAAOA,EACPQ,QAASA,EACTL,SAAUK,GAAWL,EACrBJ,KAAMA,EACNiB,QAASD,EACTL,qBAAqB,EACrBD,cACAE,YAAU,EACVE,WAAYA,EACZE,SAAUA,EACVH,WAAYuC,EACZlC,WAAW,SAEVV,SAAAA"}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/form-dialog",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1 +0,0 @@
1
- export * from "./form-dialog";
@@ -1,2 +0,0 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import l from"@mui/material/Dialog";import t from"@mui/material/DialogTitle";import i from"@mui/material/DialogActions";import n from"@mui/material/IconButton";import a from"@mui/material/DialogContent";import c from"@mui/material/CircularProgress";import r from"@mui/material/Box";import m from"@mui/material/Button";import p from"@mui/icons-material/Close";const s=({open:s,title:d,component:u,componentProps:b={},disabled:C,disableAccept:h,disableCancel:g,actions:f=[],children:x,loading:T,cancelable:y,callCloseWhenCancel:D=!0,acceptable:k,acceptText:A="Accept",cancelText:B="Cancel",onAccept:P,onCancel:S=(()=>null),onClose:v,acceptType:I="button"})=>{const W=f.length>0||k||y;return e(l,{open:s,onClose:v,children:[e(t,{sx:{display:"flex",alignItems:"center"},children:[d,T&&!k&&o(c,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),o(n,{disabled:C,"aria-label":"close",onClick:v,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:o(p,{})})]}),e(r,{component:u,...b,children:[o(a,{dividers:!0,children:x}),W&&e(i,{children:[f.map((({id:e,text:l,type:t="button",onClick:i,color:n="primary"})=>o(m,{type:t,disabled:C,onClick:i,color:n,children:l},e))),y&&o(m,{color:"error",disabled:C||g,onClick:()=>{S(),D&&v()},children:B}),k&&o(m,{type:I,loading:T,disabled:C||h,onClick:P,children:A})]})]})]})},d=({open:e,title:l,loading:t,disabled:i,submitText:n="Submit",cancelText:a="Cancel",children:c,onSubmit:r,onCancel:m})=>o(s,{component:"form",componentProps:{onSubmit:e=>{e.preventDefault(),r((e=>{const o=new FormData(e.currentTarget),l={};return o.forEach(((e,o)=>{l[o]=e})),l})(e))}},title:l,loading:t,disabled:t||i,open:e,onClose:m,callCloseWhenCancel:!1,cancelable:!0,acceptable:!0,cancelText:a,onCancel:m,acceptText:n,acceptType:"submit",children:c});export{d as FormDialog};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/form-dialog/form-dialog.tsx","../../src/utils/forms.ts"],"sourcesContent":["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 { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { FormEvent } from \"react\";\nimport { BootstrapDialogDialogProps } from \"../dialog\";\nimport { getFormData } from \"../utils/forms\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface FormDialogProps<T> extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n submitText?: string;\n canceText?: string;\n onCancel: () => void;\n onSubmit: (data: T) => void;\n}\n\nexport const FormDialog = <T,>({\n open,\n title,\n loading,\n disabled,\n submitText = \"Submit\",\n cancelText = \"Cancel\",\n children,\n onSubmit,\n onCancel,\n}: FormDialogProps<T>) => {\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n onSubmit(getFormData<T>(e));\n };\n\n return (\n <BootstrapDialog\n component=\"form\"\n componentProps={{\n onSubmit: handleSubmit,\n }}\n title={title}\n loading={loading}\n disabled={loading || disabled}\n open={open}\n onClose={onCancel}\n callCloseWhenCancel={false}\n cancelable\n acceptable\n cancelText={cancelText}\n onCancel={onCancel}\n acceptText={submitText}\n acceptType=\"submit\"\n >\n {children}\n </BootstrapDialog>\n );\n};\n","import { FormEvent } from \"react\";\n\nexport const getFormData = <T>(e: FormEvent<HTMLFormElement>): T => {\n const data = new FormData(e.currentTarget);\n const rawData: Record<string, any> = {};\n\n data.forEach((value, key) => {\n rawData[key] = value;\n });\n return rawData as T;\n};\n"],"names":["BootstrapDialog","open","title","component","componentProps","disabled","disableAccept","disableCancel","actions","children","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","_jsx","CircularProgress","size","ml","color","theme","palette","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button","FormDialog","submitText","onSubmit","e","preventDefault","data","FormData","currentTarget","rawData","forEach","value","key","getFormData"],"mappings":"yZAWO,MAAMA,EAAkB,EAC7BC,OACAC,QACAC,YACAC,iBAAiB,CAAA,EACjBC,WACAC,gBACAC,gBACAC,UAAU,GACVC,WACAC,UACAC,aACAC,uBAAsB,EACtBC,aACAC,aAAa,SACbC,aAAa,SACbC,WACAC,WAAW,KAAM,MACjBC,UACAC,aAAa,aAEb,MAAMC,EAAaZ,EAAQa,OAAS,GAAKR,GAAcF,EAEvD,OACEW,EAACC,EAAO,CAAAtB,KAAMA,EAAMiB,QAASA,EAC3BT,SAAA,CAAAa,EAACE,EAAY,CAAAC,GAAI,CAAEC,QAAS,OAAQC,WAAY,UAAUlB,SAAA,CACvDP,EACAQ,IAAYG,GACXe,EAACC,EAAgB,CAACC,KAAM,GAAIL,GAAI,CAAEM,GAAI,EAAGC,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,QAEhFP,EAACQ,GACC/B,SAAUA,EAAQ,aACP,QACXgC,QAASnB,EACTO,GAAI,CACFa,SAAU,WACVC,MAAO,EACPC,IAAK,EACLR,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,MAGvC1B,SAAAmB,EAACa,EAAY,CAAA,QAGjBnB,EAACoB,EAAI,CAAAvC,UAAWA,KAAeC,EAC7BK,SAAA,CAAAmB,EAACe,EAAc,CAAAC,UAAU,EAAAnC,SAAAA,IACxBW,GACCE,EAACuB,EAAa,CAAApC,SAAA,CACXD,EAAQsC,KAAI,EAAGC,KAAIC,OAAMC,OAAO,SAAUZ,UAASL,QAAQ,aAC1DJ,EAACsB,GAAgBD,KAAMA,EAAM5C,SAAUA,EAAUgC,QAASA,EAASL,MAAOA,EAAKvB,SAC5EuC,GADUD,KAIdpC,GACCiB,EAACsB,EAAM,CACLlB,MAAM,QACN3B,SAAUA,GAAYE,EACtB8B,QAAS,KACPpB,IACIL,GACFM,cAIHH,IAIJF,GACCe,EAACsB,GACCD,KAAM9B,EACNT,QAASA,EACTL,SAAUA,GAAYC,EACtB+B,QAASrB,EAERP,SAAAK,YAMJ,ECtEAqC,EAAa,EACxBlD,OACAC,QACAQ,UACAL,WACA+C,aAAa,SACbrC,aAAa,SACbN,WACA4C,WACApC,cASEW,EAAC5B,EAAe,CACdG,UAAU,OACVC,eAAgB,CACdiD,SAVgBC,IACpBA,EAAEC,iBAEFF,EClCuB,CAAIC,IAC7B,MAAME,EAAO,IAAIC,SAASH,EAAEI,eACtBC,EAA+B,CAAE,EAKvC,OAHAH,EAAKI,SAAQ,CAACC,EAAOC,KACnBH,EAAQG,GAAOD,CAAK,IAEfF,CAAY,ED2BRI,CAAeT,GAAG,GASzBpD,MAAOA,EACPQ,QAASA,EACTL,SAAUK,GAAWL,EACrBJ,KAAMA,EACNiB,QAASD,EACTL,qBAAqB,EACrBD,cACAE,YAAU,EACVE,WAAYA,EACZE,SAAUA,EACVH,WAAYsC,EACZjC,WAAW,SAEVV,SAAAA"}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/form-dialog",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1,2 +0,0 @@
1
- "use strict";const e={string:"",number:0,boolean:!1,enum:"",multienum:[],date:new Date(1970,0,1,0,0),time:new Date(1970,0,1,0,0),datetime:new Date(1970,0,1,0,0),group:{},"group[]":[],"string[]":[],"number[]":[]},t=(t,n)=>n&&n[t.id]||"default"in t&&t.default||e[t.type];exports.newInstanceFromValuesOrZeroValue=(e,n=undefined)=>{const r={};return e.fields.forEach((e=>{if("group"===e.type){const u={};e.value.forEach((r=>{u[r.id]=t(r,n&&n[e.id])})),r[e.id]=u}else r[e.id]=t(e,n)})),r};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/generators/generators.model.ts"],"sourcesContent":["/**\n * MODEL TYPES\n * Types used to specify the model\n */\nexport type ModelFieldTypes =\n | \"string\"\n | \"number\"\n | \"string[]\"\n | \"number[]\"\n | \"boolean\"\n | \"enum\"\n | \"multienum\"\n | \"date\"\n | \"time\"\n | \"datetime\";\n\ntype Base = {\n id: string;\n description: string;\n name: string;\n listable?: boolean;\n updatable?: boolean;\n required?: boolean;\n};\n\ntype Breakpoints = {\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n};\n\ntype StringField = {\n type: \"string\";\n};\n\ntype StringArrayField = {\n type: \"string[]\";\n};\n\ntype NumberField = {\n type: \"number\";\n};\n\ntype NumberArrayField = {\n type: \"number[]\";\n};\n\ntype BooleanField = {\n type: \"boolean\";\n};\n\ntype EnumField = {\n type: \"enum\";\n value: string[];\n};\n\ntype MultiEnumField = {\n type: \"multienum\";\n value: string[];\n};\n\ntype DateField = {\n type: \"date\";\n format: string;\n default: Date;\n};\n\ntype TimeField = {\n type: \"time\";\n format: string;\n default: Date;\n};\n\ntype DatetimeField = {\n type: \"datetime\";\n format: string;\n default: Date;\n};\n\ntype SingleFields =\n | StringField\n | NumberField\n | StringArrayField\n | NumberArrayField\n | BooleanField\n | EnumField\n | MultiEnumField\n | DateField\n | TimeField\n | DatetimeField;\n\nexport type GroupField = {\n type: \"group\";\n value: (Base & Breakpoints & SingleFields)[];\n} & Base;\n\nexport type ArrayGroupField = {\n type: \"group[]\";\n value: (Base & Breakpoints & SingleFields)[];\n} & Base;\n\ntype Fields = SingleFields | GroupField | ArrayGroupField;\nexport type ModelField = Base & Breakpoints & Fields;\n\nexport type Model = {\n fields: ModelField[];\n};\n\n/**\n * INSTANCE TYPES\n * Types used to represent an instance of a model specification\n */\nexport type BaseFieldType = string | number | boolean | Date;\nexport type ArrayFieldType = string[] | number[];\nexport type SingleFieldType = BaseFieldType | ArrayFieldType;\nexport type GroupInstanceType = { [key: string]: SingleFieldType };\nexport type ArrayInstanceType = { [key: string]: SingleFieldType }[];\nexport type FieldType = SingleFieldType | GroupInstanceType;\n\nexport interface BasicModelInstance {\n id: string;\n [key: string]: FieldType;\n}\n\n/**\n * UTILITIES\n * Some functions used in several places to help to manage models\n */\nconst InitialStateZeroValue: Record<ModelFieldTypes | \"group\" | \"group[]\", FieldType | undefined> =\n {\n string: \"\",\n number: 0,\n boolean: false,\n enum: \"\",\n multienum: [],\n date: new Date(1970, 0, 1, 0, 0),\n time: new Date(1970, 0, 1, 0, 0),\n datetime: new Date(1970, 0, 1, 0, 0),\n group: {},\n \"group[]\": [],\n \"string[]\": [],\n \"number[]\": [],\n };\n\nconst getFieldValueOrZero = (\n field: ModelField,\n values: BasicModelInstance | GroupInstanceType | undefined,\n) => {\n return (\n (values && values[field.id]) ||\n (\"default\" in field && field.default) ||\n InitialStateZeroValue[field.type]\n );\n};\n\nexport const newInstanceFromValuesOrZeroValue = <T extends BasicModelInstance>(\n model: Model,\n values: T | undefined = undefined,\n): T => {\n const obj: Record<string, FieldType | undefined> = {};\n\n model.fields.forEach((field) => {\n if (field.type === \"group\") {\n const value: GroupInstanceType = {};\n field.value.forEach((groupField) => {\n value[groupField.id] = getFieldValueOrZero(\n groupField,\n values && (values[field.id] as GroupInstanceType),\n ) as SingleFieldType;\n });\n obj[field.id] = value;\n } else {\n obj[field.id] = getFieldValueOrZero(field, values);\n }\n });\n\n return obj as T;\n};\n"],"names":["InitialStateZeroValue","string","number","boolean","enum","multienum","date","Date","time","datetime","group","getFieldValueOrZero","field","values","id","default","type","model","undefined","obj","fields","forEach","value","groupField"],"mappings":"aAkIA,MAAMA,EACJ,CACEC,OAAQ,GACRC,OAAQ,EACRC,SAAS,EACTC,KAAM,GACNC,UAAW,GACXC,KAAM,IAAIC,KAAK,KAAM,EAAG,EAAG,EAAG,GAC9BC,KAAM,IAAID,KAAK,KAAM,EAAG,EAAG,EAAG,GAC9BE,SAAU,IAAIF,KAAK,KAAM,EAAG,EAAG,EAAG,GAClCG,MAAO,CAAE,EACT,UAAW,GACX,WAAY,GACZ,WAAY,IAGVC,EAAsB,CAC1BC,EACAC,IAGGA,GAAUA,EAAOD,EAAME,KACvB,YAAaF,GAASA,EAAMG,SAC7Bf,EAAsBY,EAAMI,+CAIgB,CAC9CC,EACAJ,EAAwBK,aAExB,MAAMC,EAA6C,CAAE,EAiBrD,OAfAF,EAAMG,OAAOC,SAAST,IACpB,GAAmB,UAAfA,EAAMI,KAAkB,CAC1B,MAAMM,EAA2B,CAAE,EACnCV,EAAMU,MAAMD,SAASE,IACnBD,EAAMC,EAAWT,IAAMH,EACrBY,EACAV,GAAWA,EAAOD,EAAME,IACN,IAEtBK,EAAIP,EAAME,IAAMQ,OAEhBH,EAAIP,EAAME,IAAMH,EAAoBC,EAAOC,MAIxCM,CAAQ"}
@@ -1,7 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/generators",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts"
7
- }
@@ -1 +0,0 @@
1
- export * from "./generators.model";
@@ -1,2 +0,0 @@
1
- const e={string:"",number:0,boolean:!1,enum:"",multienum:[],date:new Date(1970,0,1,0,0),time:new Date(1970,0,1,0,0),datetime:new Date(1970,0,1,0,0),group:{},"group[]":[],"string[]":[],"number[]":[]},t=(t,n)=>n&&n[t.id]||"default"in t&&t.default||e[t.type],n=(e,n=undefined)=>{const i={};return e.fields.forEach((e=>{if("group"===e.type){const u={};e.value.forEach((i=>{u[i.id]=t(i,n&&n[e.id])})),i[e.id]=u}else i[e.id]=t(e,n)})),i};export{n as newInstanceFromValuesOrZeroValue};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/generators/generators.model.ts"],"sourcesContent":["/**\n * MODEL TYPES\n * Types used to specify the model\n */\nexport type ModelFieldTypes =\n | \"string\"\n | \"number\"\n | \"string[]\"\n | \"number[]\"\n | \"boolean\"\n | \"enum\"\n | \"multienum\"\n | \"date\"\n | \"time\"\n | \"datetime\";\n\ntype Base = {\n id: string;\n description: string;\n name: string;\n listable?: boolean;\n updatable?: boolean;\n required?: boolean;\n};\n\ntype Breakpoints = {\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n};\n\ntype StringField = {\n type: \"string\";\n};\n\ntype StringArrayField = {\n type: \"string[]\";\n};\n\ntype NumberField = {\n type: \"number\";\n};\n\ntype NumberArrayField = {\n type: \"number[]\";\n};\n\ntype BooleanField = {\n type: \"boolean\";\n};\n\ntype EnumField = {\n type: \"enum\";\n value: string[];\n};\n\ntype MultiEnumField = {\n type: \"multienum\";\n value: string[];\n};\n\ntype DateField = {\n type: \"date\";\n format: string;\n default: Date;\n};\n\ntype TimeField = {\n type: \"time\";\n format: string;\n default: Date;\n};\n\ntype DatetimeField = {\n type: \"datetime\";\n format: string;\n default: Date;\n};\n\ntype SingleFields =\n | StringField\n | NumberField\n | StringArrayField\n | NumberArrayField\n | BooleanField\n | EnumField\n | MultiEnumField\n | DateField\n | TimeField\n | DatetimeField;\n\nexport type GroupField = {\n type: \"group\";\n value: (Base & Breakpoints & SingleFields)[];\n} & Base;\n\nexport type ArrayGroupField = {\n type: \"group[]\";\n value: (Base & Breakpoints & SingleFields)[];\n} & Base;\n\ntype Fields = SingleFields | GroupField | ArrayGroupField;\nexport type ModelField = Base & Breakpoints & Fields;\n\nexport type Model = {\n fields: ModelField[];\n};\n\n/**\n * INSTANCE TYPES\n * Types used to represent an instance of a model specification\n */\nexport type BaseFieldType = string | number | boolean | Date;\nexport type ArrayFieldType = string[] | number[];\nexport type SingleFieldType = BaseFieldType | ArrayFieldType;\nexport type GroupInstanceType = { [key: string]: SingleFieldType };\nexport type ArrayInstanceType = { [key: string]: SingleFieldType }[];\nexport type FieldType = SingleFieldType | GroupInstanceType;\n\nexport interface BasicModelInstance {\n id: string;\n [key: string]: FieldType;\n}\n\n/**\n * UTILITIES\n * Some functions used in several places to help to manage models\n */\nconst InitialStateZeroValue: Record<ModelFieldTypes | \"group\" | \"group[]\", FieldType | undefined> =\n {\n string: \"\",\n number: 0,\n boolean: false,\n enum: \"\",\n multienum: [],\n date: new Date(1970, 0, 1, 0, 0),\n time: new Date(1970, 0, 1, 0, 0),\n datetime: new Date(1970, 0, 1, 0, 0),\n group: {},\n \"group[]\": [],\n \"string[]\": [],\n \"number[]\": [],\n };\n\nconst getFieldValueOrZero = (\n field: ModelField,\n values: BasicModelInstance | GroupInstanceType | undefined,\n) => {\n return (\n (values && values[field.id]) ||\n (\"default\" in field && field.default) ||\n InitialStateZeroValue[field.type]\n );\n};\n\nexport const newInstanceFromValuesOrZeroValue = <T extends BasicModelInstance>(\n model: Model,\n values: T | undefined = undefined,\n): T => {\n const obj: Record<string, FieldType | undefined> = {};\n\n model.fields.forEach((field) => {\n if (field.type === \"group\") {\n const value: GroupInstanceType = {};\n field.value.forEach((groupField) => {\n value[groupField.id] = getFieldValueOrZero(\n groupField,\n values && (values[field.id] as GroupInstanceType),\n ) as SingleFieldType;\n });\n obj[field.id] = value;\n } else {\n obj[field.id] = getFieldValueOrZero(field, values);\n }\n });\n\n return obj as T;\n};\n"],"names":["InitialStateZeroValue","string","number","boolean","enum","multienum","date","Date","time","datetime","group","getFieldValueOrZero","field","values","id","default","type","newInstanceFromValuesOrZeroValue","model","undefined","obj","fields","forEach","value","groupField"],"mappings":"AAkIA,MAAMA,EACJ,CACEC,OAAQ,GACRC,OAAQ,EACRC,SAAS,EACTC,KAAM,GACNC,UAAW,GACXC,KAAM,IAAIC,KAAK,KAAM,EAAG,EAAG,EAAG,GAC9BC,KAAM,IAAID,KAAK,KAAM,EAAG,EAAG,EAAG,GAC9BE,SAAU,IAAIF,KAAK,KAAM,EAAG,EAAG,EAAG,GAClCG,MAAO,CAAE,EACT,UAAW,GACX,WAAY,GACZ,WAAY,IAGVC,EAAsB,CAC1BC,EACAC,IAGGA,GAAUA,EAAOD,EAAME,KACvB,YAAaF,GAASA,EAAMG,SAC7Bf,EAAsBY,EAAMI,MAInBC,EAAmC,CAC9CC,EACAL,EAAwBM,aAExB,MAAMC,EAA6C,CAAE,EAiBrD,OAfAF,EAAMG,OAAOC,SAASV,IACpB,GAAmB,UAAfA,EAAMI,KAAkB,CAC1B,MAAMO,EAA2B,CAAE,EACnCX,EAAMW,MAAMD,SAASE,IACnBD,EAAMC,EAAWV,IAAMH,EACrBa,EACAX,GAAWA,EAAOD,EAAME,IACN,IAEtBM,EAAIR,EAAME,IAAMS,OAEhBH,EAAIR,EAAME,IAAMH,EAAoBC,EAAOC,MAIxCO,CAAQ"}
@@ -1,7 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/generators",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts"
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/Grid"),i=require("@mui/material/Paper"),t=require("@mui/material/Box"),a=require("@mui/material/Typography"),l=require("@mui/material/styles"),n=require("@mui/material");exports.GroupValueCard=({title:d,subtitle:o,centered:u,children:h,dense:s})=>{const{typography:g}=l.useTheme(),m=(({lightWeight:e=100,darkWeight:r=900}={})=>{const{palette:i}=n.useTheme();return"light"===i.mode?i.grey[e]:i.grey[r]})({lightWeight:200,darkWeight:800});return e.jsxs(i,{sx:{paddingBottom:s?0:1},children:[e.jsxs(t,{bgcolor:m,px:s?1:2,py:s?.5:1,lineHeight:s?0:void 0,children:[e.jsx(a,{variant:s?"body1":"h6",role:"heading","aria-level":1,children:d}),o&&e.jsx(a,{variant:s?"caption":"body2",role:"heading","aria-level":2,lineHeight:s?g.pxToRem(15):void 0,children:o})]}),e.jsx(r,{container:!0,padding:1,rowSpacing:s?1:2,justifyContent:u?"center":"flex-start",children:h})]})};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/group-value-card/group-value-card.tsx","../../../src/utils/theme.ts"],"sourcesContent":["import Grid from \"@mui/material/Grid\";\nimport Paper from \"@mui/material/Paper\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { useGetDefaultThemeColor } from \"../utils\";\nimport { ValueItemElement } from \"../value-item\";\n\nexport interface GroupValueCardProps {\n title: string;\n subtitle?: string;\n centered?: boolean;\n children: ValueItemElement | ValueItemElement[];\n dense?: boolean;\n}\n\nexport const GroupValueCard = ({\n title,\n subtitle,\n centered,\n children,\n dense,\n}: GroupValueCardProps) => {\n const { typography } = useTheme();\n const defaultColor = useGetDefaultThemeColor({ lightWeight: 200, darkWeight: 800 });\n\n return (\n <Paper\n sx={{\n paddingBottom: dense ? 0 : 1,\n }}\n >\n <Box\n bgcolor={defaultColor}\n px={dense ? 1 : 2}\n py={dense ? 0.5 : 1}\n lineHeight={dense ? 0 : undefined}\n >\n <Typography variant={dense ? \"body1\" : \"h6\"} role=\"heading\" aria-level={1}>\n {title}\n </Typography>\n {subtitle && (\n <Typography\n variant={dense ? \"caption\" : \"body2\"}\n role=\"heading\"\n aria-level={2}\n lineHeight={dense ? typography.pxToRem(15) : undefined}\n >\n {subtitle}\n </Typography>\n )}\n </Box>\n <Grid\n container\n padding={1}\n rowSpacing={dense ? 1 : 2}\n justifyContent={centered ? \"center\" : \"flex-start\"}\n >\n {children}\n </Grid>\n </Paper>\n );\n};\n","import { Color, useTheme } from \"@mui/material\";\n\ntype KeyColor = keyof Color;\n\nexport const useGetDefaultThemeColor = ({\n lightWeight = 100,\n darkWeight = 900,\n}: { lightWeight?: KeyColor; darkWeight?: KeyColor } = {}) => {\n const { palette } = useTheme();\n return palette.mode === \"light\" ? palette.grey[lightWeight] : palette.grey[darkWeight];\n};\n"],"names":["title","subtitle","centered","children","dense","typography","useTheme","defaultColor","lightWeight","darkWeight","palette","mode","grey","useGetDefaultThemeColor","_jsxs","jsxs","Paper","sx","paddingBottom","Box","bgcolor","px","py","lineHeight","undefined","_jsx","jsx","Typography","variant","role","pxToRem","Grid","container","padding","rowSpacing","justifyContent"],"mappings":"0QAgB8B,EAC5BA,QACAC,WACAC,WACAC,WACAC,YAEA,MAAMC,WAAEA,GAAeC,aACjBC,ECpB+B,GACrCC,cAAc,IACdC,aAAa,KACwC,MACrD,MAAMC,QAAEA,GAAYJ,aACpB,MAAwB,UAAjBI,EAAQC,KAAmBD,EAAQE,KAAKJ,GAAeE,EAAQE,KAAKH,EAAW,EDejEI,CAAwB,CAAEL,YAAa,IAAKC,WAAY,MAE7E,OACEK,EAAAC,KAACC,EAAK,CACJC,GAAI,CACFC,cAAed,EAAQ,EAAI,GAC5BD,SAAA,CAEDW,OAACK,EACC,CAAAC,QAASb,EACTc,GAAIjB,EAAQ,EAAI,EAChBkB,GAAIlB,EAAQ,GAAM,EAClBmB,WAAYnB,EAAQ,OAAIoB,YAExBC,EAACC,IAAAC,EAAW,CAAAC,QAASxB,EAAQ,QAAU,KAAMyB,KAAK,UAAS,aAAa,EACrE1B,SAAAH,IAEFC,GACCwB,EAACC,IAAAC,GACCC,QAASxB,EAAQ,UAAY,QAC7ByB,KAAK,UAAS,aACF,EACZN,WAAYnB,EAAQC,EAAWyB,QAAQ,SAAMN,EAASrB,SAErDF,OAIPwB,EAAAA,IAACM,EACC,CAAAC,WACA,EAAAC,QAAS,EACTC,WAAY9B,EAAQ,EAAI,EACxB+B,eAAgBjC,EAAW,SAAW,aAErCC,SAAAA,MAEG"}
@@ -1,11 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/group-value-card",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/material": "^6.4.5",
9
- "react": "^19.0.0"
10
- }
11
- }
@@ -1 +0,0 @@
1
- export * from "./group-value-card";
@@ -1,2 +0,0 @@
1
- import{jsxs as e,jsx as i}from"react/jsx-runtime";import r from"@mui/material/Grid";import t from"@mui/material/Paper";import o from"@mui/material/Box";import a from"@mui/material/Typography";import{useTheme as m}from"@mui/material/styles";import{useTheme as l}from"@mui/material";const n=({title:n,subtitle:d,centered:h,children:p,dense:g})=>{const{typography:c}=m(),s=(({lightWeight:e=100,darkWeight:i=900}={})=>{const{palette:r}=l();return"light"===r.mode?r.grey[e]:r.grey[i]})({lightWeight:200,darkWeight:800});return e(t,{sx:{paddingBottom:g?0:1},children:[e(o,{bgcolor:s,px:g?1:2,py:g?.5:1,lineHeight:g?0:void 0,children:[i(a,{variant:g?"body1":"h6",role:"heading","aria-level":1,children:n}),d&&i(a,{variant:g?"caption":"body2",role:"heading","aria-level":2,lineHeight:g?c.pxToRem(15):void 0,children:d})]}),i(r,{container:!0,padding:1,rowSpacing:g?1:2,justifyContent:h?"center":"flex-start",children:p})]})};export{n as GroupValueCard};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/theme.ts","../../src/group-value-card/group-value-card.tsx"],"sourcesContent":["import { Color, useTheme } from \"@mui/material\";\n\ntype KeyColor = keyof Color;\n\nexport const useGetDefaultThemeColor = ({\n lightWeight = 100,\n darkWeight = 900,\n}: { lightWeight?: KeyColor; darkWeight?: KeyColor } = {}) => {\n const { palette } = useTheme();\n return palette.mode === \"light\" ? palette.grey[lightWeight] : palette.grey[darkWeight];\n};\n","import Grid from \"@mui/material/Grid\";\nimport Paper from \"@mui/material/Paper\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { useGetDefaultThemeColor } from \"../utils\";\nimport { ValueItemElement } from \"../value-item\";\n\nexport interface GroupValueCardProps {\n title: string;\n subtitle?: string;\n centered?: boolean;\n children: ValueItemElement | ValueItemElement[];\n dense?: boolean;\n}\n\nexport const GroupValueCard = ({\n title,\n subtitle,\n centered,\n children,\n dense,\n}: GroupValueCardProps) => {\n const { typography } = useTheme();\n const defaultColor = useGetDefaultThemeColor({ lightWeight: 200, darkWeight: 800 });\n\n return (\n <Paper\n sx={{\n paddingBottom: dense ? 0 : 1,\n }}\n >\n <Box\n bgcolor={defaultColor}\n px={dense ? 1 : 2}\n py={dense ? 0.5 : 1}\n lineHeight={dense ? 0 : undefined}\n >\n <Typography variant={dense ? \"body1\" : \"h6\"} role=\"heading\" aria-level={1}>\n {title}\n </Typography>\n {subtitle && (\n <Typography\n variant={dense ? \"caption\" : \"body2\"}\n role=\"heading\"\n aria-level={2}\n lineHeight={dense ? typography.pxToRem(15) : undefined}\n >\n {subtitle}\n </Typography>\n )}\n </Box>\n <Grid\n container\n padding={1}\n rowSpacing={dense ? 1 : 2}\n justifyContent={centered ? \"center\" : \"flex-start\"}\n >\n {children}\n </Grid>\n </Paper>\n );\n};\n"],"names":["GroupValueCard","title","subtitle","centered","children","dense","typography","useTheme","defaultColor","lightWeight","darkWeight","palette","mode","grey","useGetDefaultThemeColor","_jsxs","Paper","sx","paddingBottom","Box","bgcolor","px","py","lineHeight","undefined","_jsx","Typography","variant","role","pxToRem","Grid","container","padding","rowSpacing","justifyContent"],"mappings":"yRAIO,MCYMA,EAAiB,EAC5BC,QACAC,WACAC,WACAC,WACAC,YAEA,MAAMC,WAAEA,GAAeC,IACjBC,EDpB+B,GACrCC,cAAc,IACdC,aAAa,KACwC,MACrD,MAAMC,QAAEA,GAAYJ,IACpB,MAAwB,UAAjBI,EAAQC,KAAmBD,EAAQE,KAAKJ,GAAeE,EAAQE,KAAKH,EAAW,ECejEI,CAAwB,CAAEL,YAAa,IAAKC,WAAY,MAE7E,OACEK,EAACC,EAAK,CACJC,GAAI,CACFC,cAAeb,EAAQ,EAAI,GAC5BD,SAAA,CAEDW,EAACI,EACC,CAAAC,QAASZ,EACTa,GAAIhB,EAAQ,EAAI,EAChBiB,GAAIjB,EAAQ,GAAM,EAClBkB,WAAYlB,EAAQ,OAAImB,YAExBC,EAACC,EAAW,CAAAC,QAAStB,EAAQ,QAAU,KAAMuB,KAAK,UAAS,aAAa,EACrExB,SAAAH,IAEFC,GACCuB,EAACC,GACCC,QAAStB,EAAQ,UAAY,QAC7BuB,KAAK,UAAS,aACF,EACZL,WAAYlB,EAAQC,EAAWuB,QAAQ,SAAML,EAASpB,SAErDF,OAIPuB,EAACK,EACC,CAAAC,WACA,EAAAC,QAAS,EACTC,WAAY5B,EAAQ,EAAI,EACxB6B,eAAgB/B,EAAW,SAAW,aAErCC,SAAAA,MAEG"}
@@ -1,11 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/group-value-card",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/material": "^6.4.5",
9
- "react": "^19.0.0"
10
- }
11
- }
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/styles"),i=require("@mui/material/Breadcrumbs"),t=require("@mui/material/Container"),a=require("@mui/material/Box"),n=require("@mui/material/Tabs"),l=require("@mui/material/Tab"),o=require("@mui/material/Button"),s=require("@mui/material"),d=require("react"),u=require("@mui/material/CircularProgress"),c=require("@mui/material/Typography"),h=require("@mui/material/Link");const m=d.createContext([0,()=>null]);m.Provider;const x=({loading:i,children:t})=>{const{typography:a}=r.useTheme();return i?e.jsx(u,{color:"inherit",size:a.h4.fontSize,"aria-label":"title loading"}):"string"==typeof t?e.jsx(c,{variant:"h4",role:"heading","aria-level":1,children:t}):e.jsx(e.Fragment,{children:t})},p=({loading:i,children:t})=>{const{typography:a}=r.useTheme();return i?e.jsx(u,{color:"inherit",size:a.body1.fontSize,"aria-label":"subtitle loading"}):"string"==typeof t?e.jsx(c,{variant:"body1",role:"heading","aria-level":2,children:t}):e.jsx(e.Fragment,{children:t})};exports.Header=({title:u="",loadingTitle:c,subtitle:g,loadingSubtitle:b,preset:y="default",actionsVariant:j="outlined",breadcrumbs:f,actions:q,tabs:v,tabsMode:T="panel",navigationButton:C})=>{const{palette:k}=r.useTheme(),z=(({lightWeight:e=100,darkWeight:r=900}={})=>{const{palette:i}=s.useTheme();return"light"===i.mode?i.grey[e]:i.grey[r]})(),[B,S]=d.useContext(m),H={default:z,primary:k.primary.main,secondary:k.secondary.main,inherit:"inherit",transparent:"transparent"},w=H[y],F={default:k.getContrastText(H.default),primary:k.primary.contrastText,secondary:k.secondary.contrastText,inherit:"inherit",transparent:k.text.primary}[y],L=B;return e.jsx(a,{bgcolor:w,color:F,children:e.jsxs(t,{children:[e.jsxs(a,{sx:{py:3,display:"flex",flexDirection:"row",justifyContent:"space-between"},children:[e.jsxs(a,{children:[C&&e.jsx(o,{href:C.href,size:"small",color:"inherit",LinkComponent:h,startIcon:C.icon,sx:{mb:1},children:C.text}),f?.length&&e.jsx(i,{color:"inherit",separator:"›","aria-label":"breadcrumb",sx:{marginTop:1},children:f.map((({id:r,link:i,text:t})=>e.jsx(h,{underline:"hover",color:"inherit",href:i,variant:"body2",role:"link",children:t},r)))}),e.jsx(x,{loading:c,children:u}),(g||b)&&e.jsx(p,{loading:b,children:g})]}),q&&e.jsx(a,{children:q.map((({disabled:r,id:i,href:t,onClick:a,text:n},l)=>e.jsx(o,{component:t?h:"button",role:"button",color:"inherit",disabled:r,variant:j,size:"small",href:t,onClick:a,sx:{mr:l!=q.length-1?1:0},children:n},i)))})]}),v&&e.jsx(n,{value:L,textColor:"inherit",onChange:"panel"===T?(e,r)=>S(r):void 0,children:v.map((({id:r,label:i,disabled:t,path:a,href:n})=>{const o={label:i,disabled:t};return"panel"===T?e.jsx(l,{...o},r):e.jsx(l,{...o,component:h,href:n,value:a},r)}))})]})})},exports.HeaderSubtitle=p,exports.HeaderTitle=x;
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/theme.ts","../../../src/tab-provider/tab-provider.context.ts","../../../src/header/header-title.tsx","../../../src/header/header.tsx"],"sourcesContent":["import { Color, useTheme } from \"@mui/material\";\n\ntype KeyColor = keyof Color;\n\nexport const useGetDefaultThemeColor = ({\n lightWeight = 100,\n darkWeight = 900,\n}: { lightWeight?: KeyColor; darkWeight?: KeyColor } = {}) => {\n const { palette } = useTheme();\n return palette.mode === \"light\" ? palette.grey[lightWeight] : palette.grey[darkWeight];\n};\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\";\n\nexport const TabContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabContextProvider = TabContext.Provider;\nexport const useTab = () => useContext(TabContext);\n","import CircularProgress from \"@mui/material/CircularProgress\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { PropsWithChildren } from \"react\";\n\nexport type HeaderTitleProps = PropsWithChildren<{ loading?: boolean }>;\n\nexport const HeaderTitle = ({ loading, children }: HeaderTitleProps) => {\n const { typography } = useTheme();\n\n if (loading) {\n return (\n <CircularProgress color=\"inherit\" size={typography.h4.fontSize} aria-label=\"title loading\" />\n );\n }\n\n if (typeof children === \"string\") {\n return (\n <Typography variant=\"h4\" role=\"heading\" aria-level={1}>\n {children}\n </Typography>\n );\n }\n\n return <>{children}</>;\n};\n\nexport type HeaderSubtitleProps = PropsWithChildren<{ loading?: boolean }>;\n\nexport const HeaderSubtitle = ({ loading, children }: HeaderSubtitleProps) => {\n const { typography } = useTheme();\n\n if (loading) {\n return (\n <CircularProgress\n color=\"inherit\"\n size={typography.body1.fontSize}\n aria-label=\"subtitle loading\"\n />\n );\n }\n\n if (typeof children === \"string\") {\n return (\n <Typography variant=\"body1\" role=\"heading\" aria-level={2}>\n {children}\n </Typography>\n );\n }\n\n return <>{children}</>;\n};\n","import { useTheme } from \"@mui/material/styles\";\nimport Breadcrumbs from \"@mui/material/Breadcrumbs\";\nimport Container from \"@mui/material/Container\";\nimport Box from \"@mui/material/Box\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport Button from \"@mui/material/Button\";\nimport { useGetDefaultThemeColor } from \"../utils\";\nimport { HeaderComponent, HeaderPreset, HeaderProps } from \"./header.types\";\nimport { useTab } from \"../tab-provider\";\nimport { HeaderSubtitle, HeaderTitle } from \"./header-title\";\nimport Link from \"@mui/material/Link\";\n\n/**\n * Section used to explain give basic information about the page\n * and put the main actions\n */\nexport const Header: HeaderComponent = ({\n title = \"\",\n loadingTitle,\n subtitle,\n loadingSubtitle,\n preset = \"default\",\n actionsVariant = \"outlined\",\n breadcrumbs,\n actions,\n tabs,\n tabsMode = \"panel\",\n navigationButton,\n}: HeaderProps) => {\n const { palette } = useTheme();\n const defaultColor = useGetDefaultThemeColor();\n const [selectedTab, setSelectedTab] = useTab();\n\n const bgColorPresets: Record<HeaderPreset, string> = {\n default: defaultColor,\n primary: palette.primary.main,\n secondary: palette.secondary.main,\n inherit: \"inherit\",\n transparent: \"transparent\",\n };\n const bgColor = bgColorPresets[preset];\n const textColorPresets: Record<HeaderPreset, string> = {\n default: palette.getContrastText(bgColorPresets.default),\n primary: palette.primary.contrastText,\n secondary: palette.secondary.contrastText,\n inherit: \"inherit\",\n transparent: palette.text.primary,\n };\n const textColor = textColorPresets[preset];\n\n const modedSelectedTab = selectedTab;\n\n return (\n <Box bgcolor={bgColor} color={textColor}>\n <Container>\n <Box sx={{ py: 3, display: \"flex\", flexDirection: \"row\", justifyContent: \"space-between\" }}>\n <Box>\n {navigationButton && (\n <Button\n href={navigationButton.href}\n size=\"small\"\n color=\"inherit\"\n LinkComponent={Link}\n startIcon={navigationButton.icon}\n sx={{ mb: 1 }}\n >\n {navigationButton.text}\n </Button>\n )}\n {breadcrumbs?.length && (\n <Breadcrumbs\n color=\"inherit\"\n separator=\"›\"\n aria-label=\"breadcrumb\"\n sx={{ marginTop: 1 }}\n >\n {breadcrumbs.map(({ id, link, text }) => (\n <Link\n key={id}\n underline=\"hover\"\n color=\"inherit\"\n href={link}\n variant=\"body2\"\n role=\"link\"\n >\n {text}\n </Link>\n ))}\n </Breadcrumbs>\n )}\n <HeaderTitle loading={loadingTitle}>{title}</HeaderTitle>\n {(subtitle || loadingSubtitle) && (\n <HeaderSubtitle loading={loadingSubtitle}>{subtitle}</HeaderSubtitle>\n )}\n </Box>\n {actions && (\n <Box>\n {actions.map(({ disabled, id, href, onClick, text }, i) => (\n <Button\n component={href ? Link : \"button\"}\n role=\"button\"\n color=\"inherit\"\n disabled={disabled}\n key={id}\n variant={actionsVariant}\n size=\"small\"\n href={href}\n onClick={onClick}\n sx={{ mr: i != actions.length - 1 ? 1 : 0 }}\n >\n {text}\n </Button>\n ))}\n </Box>\n )}\n </Box>\n {tabs && (\n <Tabs\n value={modedSelectedTab}\n textColor=\"inherit\"\n onChange={tabsMode === \"panel\" ? (_, index) => setSelectedTab(index) : undefined}\n >\n {tabs.map(({ id, label, disabled, path, href }) => {\n const tabProps = { label, disabled };\n if (tabsMode === \"panel\") {\n return <Tab key={id} {...tabProps} />;\n } else {\n return <Tab key={id} {...tabProps} component={Link} href={href} value={path} />;\n }\n })}\n </Tabs>\n )}\n </Container>\n </Box>\n );\n};\n"],"names":["TabContext","createContext","Provider","HeaderTitle","loading","children","typography","useTheme","_jsx","CircularProgress","color","size","h4","fontSize","Typography","variant","role","jsx","_Fragment","Fragment","HeaderSubtitle","body1","title","loadingTitle","subtitle","loadingSubtitle","preset","actionsVariant","breadcrumbs","actions","tabs","tabsMode","navigationButton","palette","defaultColor","lightWeight","darkWeight","mode","grey","useGetDefaultThemeColor","selectedTab","setSelectedTab","useContext","bgColorPresets","default","primary","main","secondary","inherit","transparent","bgColor","textColor","getContrastText","contrastText","text","modedSelectedTab","Box","bgcolor","_jsxs","Container","sx","py","display","flexDirection","justifyContent","Button","href","LinkComponent","Link","startIcon","icon","mb","length","Breadcrumbs","separator","marginTop","map","id","link","underline","disabled","onClick","i","component","mr","Tabs","value","onChange","_","index","undefined","label","path","tabProps","Tab"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/header",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/material": "^6.4.5",
9
- "react": "^19.0.0"
10
- }
11
- }
package/header/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from "./header";
2
- export * from "./header.types";
3
- export * from "./header-title";
package/header/index.js DELETED
@@ -1,2 +0,0 @@
1
- import{jsx as r,Fragment as e,jsxs as i}from"react/jsx-runtime";import{useTheme as t}from"@mui/material/styles";import a from"@mui/material/Breadcrumbs";import n from"@mui/material/Container";import o from"@mui/material/Box";import l from"@mui/material/Tabs";import m from"@mui/material/Tab";import d from"@mui/material/Button";import{useTheme as c}from"@mui/material";import{createContext as s,useContext as h}from"react";import p from"@mui/material/CircularProgress";import u from"@mui/material/Typography";import f from"@mui/material/Link";const b=s([0,()=>null]);b.Provider;const g=({loading:i,children:a})=>{const{typography:n}=t();return i?r(p,{color:"inherit",size:n.h4.fontSize,"aria-label":"title loading"}):"string"==typeof a?r(u,{variant:"h4",role:"heading","aria-level":1,children:a}):r(e,{children:a})},y=({loading:i,children:a})=>{const{typography:n}=t();return i?r(p,{color:"inherit",size:n.body1.fontSize,"aria-label":"subtitle loading"}):"string"==typeof a?r(u,{variant:"body1",role:"heading","aria-level":2,children:a}):r(e,{children:a})},x=({title:e="",loadingTitle:s,subtitle:p,loadingSubtitle:u,preset:x="default",actionsVariant:v="outlined",breadcrumbs:C,actions:T,tabs:k,tabsMode:z="panel",navigationButton:B})=>{const{palette:S}=t(),j=(({lightWeight:r=100,darkWeight:e=900}={})=>{const{palette:i}=c();return"light"===i.mode?i.grey[r]:i.grey[e]})(),[w,L]=h(b),P={default:j,primary:S.primary.main,secondary:S.secondary.main,inherit:"inherit",transparent:"transparent"},W=P[x],D={default:S.getContrastText(P.default),primary:S.primary.contrastText,secondary:S.secondary.contrastText,inherit:"inherit",transparent:S.text.primary},I=w;return r(o,{bgcolor:W,color:D[x],children:i(n,{children:[i(o,{sx:{py:3,display:"flex",flexDirection:"row",justifyContent:"space-between"},children:[i(o,{children:[B&&r(d,{href:B.href,size:"small",color:"inherit",LinkComponent:f,startIcon:B.icon,sx:{mb:1},children:B.text}),C?.length&&r(a,{color:"inherit",separator:"›","aria-label":"breadcrumb",sx:{marginTop:1},children:C.map((({id:e,link:i,text:t})=>r(f,{underline:"hover",color:"inherit",href:i,variant:"body2",role:"link",children:t},e)))}),r(g,{loading:s,children:e}),(p||u)&&r(y,{loading:u,children:p})]}),T&&r(o,{children:T.map((({disabled:e,id:i,href:t,onClick:a,text:n},o)=>r(d,{component:t?f:"button",role:"button",color:"inherit",disabled:e,variant:v,size:"small",href:t,onClick:a,sx:{mr:o!=T.length-1?1:0},children:n},i)))})]}),k&&r(l,{value:I,textColor:"inherit",onChange:"panel"===z?(r,e)=>L(e):void 0,children:k.map((({id:e,label:i,disabled:t,path:a,href:n})=>{const o={label:i,disabled:t};return r(m,"panel"===z?{...o}:{...o,component:f,href:n,value:a},e)}))})]})})};export{x as Header,y as HeaderSubtitle,g as HeaderTitle};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/theme.ts","../../src/tab-provider/tab-provider.context.ts","../../src/header/header-title.tsx","../../src/header/header.tsx"],"sourcesContent":["import { Color, useTheme } from \"@mui/material\";\n\ntype KeyColor = keyof Color;\n\nexport const useGetDefaultThemeColor = ({\n lightWeight = 100,\n darkWeight = 900,\n}: { lightWeight?: KeyColor; darkWeight?: KeyColor } = {}) => {\n const { palette } = useTheme();\n return palette.mode === \"light\" ? palette.grey[lightWeight] : palette.grey[darkWeight];\n};\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\";\n\nexport const TabContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabContextProvider = TabContext.Provider;\nexport const useTab = () => useContext(TabContext);\n","import CircularProgress from \"@mui/material/CircularProgress\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { PropsWithChildren } from \"react\";\n\nexport type HeaderTitleProps = PropsWithChildren<{ loading?: boolean }>;\n\nexport const HeaderTitle = ({ loading, children }: HeaderTitleProps) => {\n const { typography } = useTheme();\n\n if (loading) {\n return (\n <CircularProgress color=\"inherit\" size={typography.h4.fontSize} aria-label=\"title loading\" />\n );\n }\n\n if (typeof children === \"string\") {\n return (\n <Typography variant=\"h4\" role=\"heading\" aria-level={1}>\n {children}\n </Typography>\n );\n }\n\n return <>{children}</>;\n};\n\nexport type HeaderSubtitleProps = PropsWithChildren<{ loading?: boolean }>;\n\nexport const HeaderSubtitle = ({ loading, children }: HeaderSubtitleProps) => {\n const { typography } = useTheme();\n\n if (loading) {\n return (\n <CircularProgress\n color=\"inherit\"\n size={typography.body1.fontSize}\n aria-label=\"subtitle loading\"\n />\n );\n }\n\n if (typeof children === \"string\") {\n return (\n <Typography variant=\"body1\" role=\"heading\" aria-level={2}>\n {children}\n </Typography>\n );\n }\n\n return <>{children}</>;\n};\n","import { useTheme } from \"@mui/material/styles\";\nimport Breadcrumbs from \"@mui/material/Breadcrumbs\";\nimport Container from \"@mui/material/Container\";\nimport Box from \"@mui/material/Box\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport Button from \"@mui/material/Button\";\nimport { useGetDefaultThemeColor } from \"../utils\";\nimport { HeaderComponent, HeaderPreset, HeaderProps } from \"./header.types\";\nimport { useTab } from \"../tab-provider\";\nimport { HeaderSubtitle, HeaderTitle } from \"./header-title\";\nimport Link from \"@mui/material/Link\";\n\n/**\n * Section used to explain give basic information about the page\n * and put the main actions\n */\nexport const Header: HeaderComponent = ({\n title = \"\",\n loadingTitle,\n subtitle,\n loadingSubtitle,\n preset = \"default\",\n actionsVariant = \"outlined\",\n breadcrumbs,\n actions,\n tabs,\n tabsMode = \"panel\",\n navigationButton,\n}: HeaderProps) => {\n const { palette } = useTheme();\n const defaultColor = useGetDefaultThemeColor();\n const [selectedTab, setSelectedTab] = useTab();\n\n const bgColorPresets: Record<HeaderPreset, string> = {\n default: defaultColor,\n primary: palette.primary.main,\n secondary: palette.secondary.main,\n inherit: \"inherit\",\n transparent: \"transparent\",\n };\n const bgColor = bgColorPresets[preset];\n const textColorPresets: Record<HeaderPreset, string> = {\n default: palette.getContrastText(bgColorPresets.default),\n primary: palette.primary.contrastText,\n secondary: palette.secondary.contrastText,\n inherit: \"inherit\",\n transparent: palette.text.primary,\n };\n const textColor = textColorPresets[preset];\n\n const modedSelectedTab = selectedTab;\n\n return (\n <Box bgcolor={bgColor} color={textColor}>\n <Container>\n <Box sx={{ py: 3, display: \"flex\", flexDirection: \"row\", justifyContent: \"space-between\" }}>\n <Box>\n {navigationButton && (\n <Button\n href={navigationButton.href}\n size=\"small\"\n color=\"inherit\"\n LinkComponent={Link}\n startIcon={navigationButton.icon}\n sx={{ mb: 1 }}\n >\n {navigationButton.text}\n </Button>\n )}\n {breadcrumbs?.length && (\n <Breadcrumbs\n color=\"inherit\"\n separator=\"›\"\n aria-label=\"breadcrumb\"\n sx={{ marginTop: 1 }}\n >\n {breadcrumbs.map(({ id, link, text }) => (\n <Link\n key={id}\n underline=\"hover\"\n color=\"inherit\"\n href={link}\n variant=\"body2\"\n role=\"link\"\n >\n {text}\n </Link>\n ))}\n </Breadcrumbs>\n )}\n <HeaderTitle loading={loadingTitle}>{title}</HeaderTitle>\n {(subtitle || loadingSubtitle) && (\n <HeaderSubtitle loading={loadingSubtitle}>{subtitle}</HeaderSubtitle>\n )}\n </Box>\n {actions && (\n <Box>\n {actions.map(({ disabled, id, href, onClick, text }, i) => (\n <Button\n component={href ? Link : \"button\"}\n role=\"button\"\n color=\"inherit\"\n disabled={disabled}\n key={id}\n variant={actionsVariant}\n size=\"small\"\n href={href}\n onClick={onClick}\n sx={{ mr: i != actions.length - 1 ? 1 : 0 }}\n >\n {text}\n </Button>\n ))}\n </Box>\n )}\n </Box>\n {tabs && (\n <Tabs\n value={modedSelectedTab}\n textColor=\"inherit\"\n onChange={tabsMode === \"panel\" ? (_, index) => setSelectedTab(index) : undefined}\n >\n {tabs.map(({ id, label, disabled, path, href }) => {\n const tabProps = { label, disabled };\n if (tabsMode === \"panel\") {\n return <Tab key={id} {...tabProps} />;\n } else {\n return <Tab key={id} {...tabProps} component={Link} href={href} value={path} />;\n }\n })}\n </Tabs>\n )}\n </Container>\n </Box>\n );\n};\n"],"names":["TabContext","createContext","Provider","HeaderTitle","loading","children","typography","useTheme","_jsx","CircularProgress","color","size","h4","fontSize","Typography","variant","role","_Fragment","HeaderSubtitle","body1","Header","title","loadingTitle","subtitle","loadingSubtitle","preset","actionsVariant","breadcrumbs","actions","tabs","tabsMode","navigationButton","palette","defaultColor","lightWeight","darkWeight","mode","grey","useGetDefaultThemeColor","selectedTab","setSelectedTab","useContext","bgColorPresets","default","primary","main","secondary","inherit","transparent","bgColor","textColorPresets","getContrastText","contrastText","text","modedSelectedTab","Box","bgcolor","_jsxs","Container","sx","py","display","flexDirection","justifyContent","Button","href","LinkComponent","Link","startIcon","icon","mb","length","Breadcrumbs","separator","marginTop","map","id","link","underline","disabled","onClick","i","component","mr","Tabs","value","textColor","onChange","_","index","undefined","label","path","tabProps","Tab"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/header",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/material": "^6.4.5",
9
- "react": "^19.0.0"
10
- }
11
- }
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/Box"),i=require("@mui/material/LinearProgress"),t=require("@mui/material/CircularProgress"),n=require("react"),l=require("@mui/icons-material/ReportProblem"),a=require("@mui/material/Typography"),s=require("@mui/material/Button");const c=()=>e.jsx(r,{width:1,height:1,display:"flex",justifyContent:"center",alignItems:"center",children:e.jsx(t,{})}),o=n.createContext([0,()=>null]).Provider,u=({children:r,initialValue:i=0})=>{const t=n.useState(i);return e.jsx(o,{value:t,children:r})},h=({title:i,subtitle:t,icon:n,iconSize:l=200,actions:c})=>e.jsxs(r,{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",textAlign:"center",children:[n&&n({size:l,color:"primary"}),e.jsx(a,{variant:"h4",role:"heading","aria-level":1,children:i}),e.jsx(a,{variant:"subtitle1",role:"heading","aria-level":2,sx:{mt:2},children:t}),c&&e.jsx(r,{sx:{pt:2},children:c.map((({id:r,text:i,href:t,onClick:n},l)=>e.jsx(s,{role:"button",variant:"contained",href:t,onClick:n,sx:{mr:l<c.length-1?2:0},children:i},r)))})]}),x=()=>e.jsx(l,{color:"error",sx:{width:200,height:200}});exports.HeaderLayout=({loading:t,children:n,fetching:l,error:a})=>{const[s,o]=n;return e.jsx(u,{children:e.jsxs(r,{display:"flex",flexDirection:"column",height:1,children:[s,l&&e.jsx(r,{width:1,children:e.jsx(i,{})}),t&&e.jsx(c,{}),a&&e.jsx(r,{mt:4,children:e.jsx(h,{icon:a.icon||x,title:a.title||"There has been an error",subtitle:a.message})}),!t&&!a&&o]})})};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/loading-area/loading-area.tsx","../../../src/tab-provider/tab-provider.context.ts","../../../src/tab-provider/tab-provider.provider.tsx","../../../src/placeholder/placeholder.tsx","../../../src/header-layout/header-layout.tsx"],"sourcesContent":["import CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\n\n/**\n * Displays a centered loading indicator\n */\nexport const LoadingArea = () => {\n return (\n <Box width={1} height={1} display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <CircularProgress />\n </Box>\n );\n};\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\";\n\nexport const TabContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabContextProvider = TabContext.Provider;\nexport const useTab = () => useContext(TabContext);\n","import { PropsWithChildren, useState } from \"react\";\nimport { TabContextProvider } from \"./tab-provider.context\";\n\ntype TabProviderProps = PropsWithChildren<{\n initialValue?: number;\n}>;\n\nexport const TabProvider = ({ children, initialValue = 0 }: TabProviderProps) => {\n const tabState = useState(initialValue);\n\n return <TabContextProvider value={tabState}>{children}</TabContextProvider>;\n};\n","import { ReactElement } from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\n\ntype IconColor =\n | \"inherit\"\n | \"action\"\n | \"disabled\"\n | \"primary\"\n | \"secondary\"\n | \"error\"\n | \"info\"\n | \"success\"\n | \"warning\";\n\nexport interface PlaceholderAction {\n id: string;\n text: string;\n href?: string;\n onClick?: () => void;\n}\n\nexport interface PlaceholderIconArgs {\n size: number;\n color: IconColor;\n}\n\nexport type PlaceholderIcon = ({ size, color }: PlaceholderIconArgs) => ReactElement;\n\nexport interface PlaceholderProps {\n title: string;\n subtitle: string;\n iconSize?: number;\n icon?: PlaceholderIcon;\n actions?: PlaceholderAction[];\n}\n\nexport const Placeholder = ({\n title,\n subtitle,\n icon,\n iconSize = 200,\n actions,\n}: PlaceholderProps) => {\n return (\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n alignItems=\"center\"\n textAlign=\"center\"\n >\n {icon && icon({ size: iconSize, color: \"primary\" })}\n <Typography variant=\"h4\" role=\"heading\" aria-level={1}>\n {title}\n </Typography>\n <Typography variant=\"subtitle1\" role=\"heading\" aria-level={2} sx={{ mt: 2 }}>\n {subtitle}\n </Typography>\n {actions && (\n <Box sx={{ pt: 2 }}>\n {actions.map(({ id, text, href, onClick }, index) => (\n <Button\n key={id}\n role=\"button\"\n variant=\"contained\"\n href={href}\n onClick={onClick}\n sx={{ mr: index < actions.length - 1 ? 2 : 0 }}\n >\n {text}\n </Button>\n ))}\n </Box>\n )}\n </Box>\n );\n};\n","import Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport { LoadingArea } from \"../loading-area\";\nimport { TabProvider } from \"../tab-provider\";\nimport ReportProblemIcon from \"@mui/icons-material/ReportProblem\";\nimport { Placeholder, PlaceholderIcon } from \"../placeholder\";\nimport { HeaderElement } from \"../header\";\nimport { ContentElement } from \"../content\";\n\nexport interface HeaderLayoutError {\n icon?: PlaceholderIcon;\n title?: string;\n message: string;\n}\n\nexport interface HeaderLayoutProps {\n loading?: boolean;\n fetching?: boolean;\n error?: HeaderLayoutError;\n children: [HeaderElement, ContentElement];\n}\n\nconst DefaultErrorIcon = () => <ReportProblemIcon color=\"error\" sx={{ width: 200, height: 200 }} />;\n\nexport const HeaderLayout = ({ loading, children, fetching, error }: HeaderLayoutProps) => {\n const [headerElement, contentElement] = children;\n\n return (\n <TabProvider>\n <Box display=\"flex\" flexDirection=\"column\" height={1}>\n {headerElement}\n {fetching && (\n <Box width={1}>\n <LinearProgress />\n </Box>\n )}\n {loading && <LoadingArea />}\n {error && (\n <Box mt={4}>\n <Placeholder\n icon={error.icon || DefaultErrorIcon}\n title={error.title || \"There has been an error\"}\n subtitle={error.message}\n />\n </Box>\n )}\n {!loading && !error && contentElement}\n </Box>\n </TabProvider>\n );\n};\n"],"names":["LoadingArea","_jsx","Box","width","height","display","justifyContent","alignItems","children","CircularProgress","TabContextProvider","createContext","Provider","TabProvider","initialValue","tabState","useState","value","Placeholder","title","subtitle","icon","iconSize","actions","_jsxs","jsxs","flexDirection","textAlign","size","color","Typography","variant","role","sx","mt","pt","map","id","text","href","onClick","index","Button","mr","length","DefaultErrorIcon","ReportProblemIcon","loading","fetching","error","headerElement","contentElement","jsx","LinearProgress","message"],"mappings":"+SAMO,MAAMA,EAAc,IAEvBC,EAAAA,IAACC,EAAG,CAACC,MAAO,EAAGC,OAAQ,EAAGC,QAAQ,OAAOC,eAAe,SAASC,WAAW,SAAQC,SAClFP,EAAAA,IAACQ,EAAmB,CAAA,KCHbC,EAJaC,EAAAA,cAA0D,CAClF,EACA,IAAM,OAEqCC,SCChCC,EAAc,EAAGL,WAAUM,eAAe,MACrD,MAAMC,EAAWC,EAAQA,SAACF,GAE1B,OAAOb,EAAAA,IAACS,EAAmB,CAAAO,MAAOF,EAAQP,SAAGA,GAA8B,EC4BhEU,EAAc,EACzBC,QACAC,WACAC,OACAC,WAAW,IACXC,aAGEC,EAACC,KAAAvB,EACC,CAAAG,QAAQ,OACRqB,cAAc,SACdpB,eAAe,SACfC,WAAW,SACXoB,UAAU,SAAQnB,SAAA,CAEjBa,GAAQA,EAAK,CAAEO,KAAMN,EAAUO,MAAO,YACvC5B,EAAAA,IAAC6B,EAAU,CAACC,QAAQ,KAAKC,KAAK,UAAS,aAAa,EAACxB,SAClDW,IAEHlB,EAAAA,IAAC6B,EAAU,CAACC,QAAQ,YAAYC,KAAK,UAAS,aAAa,EAAGC,GAAI,CAAEC,GAAI,GAAG1B,SACxEY,IAEFG,GACCtB,MAACC,GAAI+B,GAAI,CAAEE,GAAI,GACZ3B,SAAAe,EAAQa,KAAI,EAAGC,KAAIC,OAAMC,OAAMC,WAAWC,IACzCxC,EAAAA,IAACyC,GAECV,KAAK,SACLD,QAAQ,YACRQ,KAAMA,EACNC,QAASA,EACTP,GAAI,CAAEU,GAAIF,EAAQlB,EAAQqB,OAAS,EAAI,EAAI,GAE1CpC,SAAA8B,GAPID,UC1CbQ,EAAmB,IAAM5C,MAAC6C,EAAiB,CAACjB,MAAM,QAAQI,GAAI,CAAE9B,MAAO,IAAKC,OAAQ,4BAE9D,EAAG2C,UAASvC,WAAUwC,WAAUC,YAC1D,MAAOC,EAAeC,GAAkB3C,EAExC,OACEP,EAACmD,IAAAvC,YACCW,EAAAA,KAACtB,GAAIG,QAAQ,OAAOqB,cAAc,SAAStB,OAAQ,YAChD8C,EACAF,GACC/C,EAAAA,IAACC,EAAG,CAACC,MAAO,WACVF,EAACmD,IAAAC,QAGJN,GAAW9C,MAACD,EAAW,IACvBiD,GACChD,EAACmD,IAAAlD,GAAIgC,GAAI,EACP1B,SAAAP,EAAAmD,IAAClC,EACC,CAAAG,KAAM4B,EAAM5B,MAAQwB,EACpB1B,MAAO8B,EAAM9B,OAAS,0BACtBC,SAAU6B,EAAMK,aAIpBP,IAAYE,GAASE,MAEb"}
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@pautena/react-design-system/header-layout",
3
- "private": true,
4
- "main": "./cjs/index.js",
5
- "module": "./index.js",
6
- "types": "./index.d.ts",
7
- "dependencies": {
8
- "@mui/icons-material": "^6.4.5",
9
- "@mui/material": "^6.4.5",
10
- "react": "^19.0.0"
11
- }
12
- }
@@ -1 +0,0 @@
1
- export * from "./header-layout";
@@ -1,2 +0,0 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import i from"@mui/material/Box";import t from"@mui/material/LinearProgress";import n from"@mui/material/CircularProgress";import{createContext as l,useState as o}from"react";import a from"@mui/icons-material/ReportProblem";import c from"@mui/material/Typography";import m from"@mui/material/Button";const h=()=>e(i,{width:1,height:1,display:"flex",justifyContent:"center",alignItems:"center",children:e(n,{})}),s=l([0,()=>null]).Provider,d=({children:r,initialValue:i=0})=>{const t=o(i);return e(s,{value:t,children:r})},u=({title:t,subtitle:n,icon:l,iconSize:o=200,actions:a})=>r(i,{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",textAlign:"center",children:[l&&l({size:o,color:"primary"}),e(c,{variant:"h4",role:"heading","aria-level":1,children:t}),e(c,{variant:"subtitle1",role:"heading","aria-level":2,sx:{mt:2},children:n}),a&&e(i,{sx:{pt:2},children:a.map((({id:r,text:i,href:t,onClick:n},l)=>e(m,{role:"button",variant:"contained",href:t,onClick:n,sx:{mr:l<a.length-1?2:0},children:i},r)))})]}),f=()=>e(a,{color:"error",sx:{width:200,height:200}}),p=({loading:n,children:l,fetching:o,error:a})=>{const[c,m]=l;return e(d,{children:r(i,{display:"flex",flexDirection:"column",height:1,children:[c,o&&e(i,{width:1,children:e(t,{})}),n&&e(h,{}),a&&e(i,{mt:4,children:e(u,{icon:a.icon||f,title:a.title||"There has been an error",subtitle:a.message})}),!n&&!a&&m]})})};export{p as HeaderLayout};
2
- //# sourceMappingURL=index.js.map