@pautena/react-design-system 0.14.1 → 0.14.3

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 (290) hide show
  1. package/action/cjs/index.js +1 -1
  2. package/action/cjs/index.js.map +1 -1
  3. package/action/index.js +1 -1
  4. package/action/index.js.map +1 -1
  5. package/autocomplete/autocomplete.d.ts +2 -1
  6. package/autocomplete/cjs/index.js +1 -23
  7. package/autocomplete/cjs/index.js.map +1 -1
  8. package/autocomplete/index.js +1 -23
  9. package/autocomplete/index.js.map +1 -1
  10. package/board/board.d.ts +1 -1
  11. package/board/cjs/index.js +1 -1
  12. package/board/cjs/index.js.map +1 -1
  13. package/board/index.js +1 -1
  14. package/board/index.js.map +1 -1
  15. package/bootstrap-dialog/cjs/index.js +1 -1
  16. package/bootstrap-dialog/cjs/index.js.map +1 -1
  17. package/bootstrap-dialog/index.js +1 -1
  18. package/bootstrap-dialog/index.js.map +1 -1
  19. package/bullet/bullet.d.ts +1 -1
  20. package/bullet/cjs/index.js +1 -1
  21. package/bullet/cjs/index.js.map +1 -1
  22. package/bullet/index.js +1 -1
  23. package/bullet/index.js.map +1 -1
  24. package/center-container/center-container.d.ts +1 -1
  25. package/center-container/cjs/index.js +1 -1
  26. package/center-container/cjs/index.js.map +1 -1
  27. package/center-container/index.js +1 -1
  28. package/center-container/index.js.map +1 -1
  29. package/cjs/index.js +4 -4
  30. package/cjs/index.js.map +1 -1
  31. package/confirm-dialog/cjs/index.js +1 -1
  32. package/confirm-dialog/cjs/index.js.map +1 -1
  33. package/confirm-dialog/index.js +1 -1
  34. package/confirm-dialog/index.js.map +1 -1
  35. package/content/cjs/index.js +1 -1
  36. package/content/cjs/index.js.map +1 -1
  37. package/content/index.js +1 -1
  38. package/content/index.js.map +1 -1
  39. package/content-placeholder/cjs/index.js +1 -1
  40. package/content-placeholder/cjs/index.js.map +1 -1
  41. package/content-placeholder/index.js +1 -1
  42. package/content-placeholder/index.js.map +1 -1
  43. package/date-range-calendar/cjs/index.js +1 -1
  44. package/date-range-calendar/cjs/index.js.map +1 -1
  45. package/date-range-calendar/index.js +1 -1
  46. package/date-range-calendar/index.js.map +1 -1
  47. package/date-range-picker/cjs/index.js +1 -1
  48. package/date-range-picker/cjs/index.js.map +1 -1
  49. package/date-range-picker/index.js +1 -1
  50. package/date-range-picker/index.js.map +1 -1
  51. package/drawer/cjs/index.js +1 -1
  52. package/drawer/cjs/index.js.map +1 -1
  53. package/drawer/drawer.d.ts +3 -3
  54. package/drawer/drawer.types.d.ts +2 -1
  55. package/drawer/index.js +1 -1
  56. package/drawer/index.js.map +1 -1
  57. package/drawer-app-bar/cjs/index.js +1 -1
  58. package/drawer-app-bar/cjs/index.js.map +1 -1
  59. package/drawer-app-bar/index.js +1 -1
  60. package/drawer-app-bar/index.js.map +1 -1
  61. package/drawer-content/cjs/index.js +1 -1
  62. package/drawer-content/cjs/index.js.map +1 -1
  63. package/drawer-content/drawer-content.d.ts +1 -1
  64. package/drawer-content/index.js +1 -1
  65. package/drawer-content/index.js.map +1 -1
  66. package/drawer-item/cjs/index.js +1 -1
  67. package/drawer-item/cjs/index.js.map +1 -1
  68. package/drawer-item/drawer-item-link.d.ts +2 -2
  69. package/drawer-item/drawer-item.d.ts +1 -1
  70. package/drawer-item/drawer-menu-item.d.ts +2 -2
  71. package/drawer-item/index.js +1 -1
  72. package/drawer-item/index.js.map +1 -1
  73. package/drawer-layout/cjs/index.js +1 -1
  74. package/drawer-layout/cjs/index.js.map +1 -1
  75. package/drawer-layout/drawer-layout.d.ts +2 -2
  76. package/drawer-layout/index.js +1 -1
  77. package/drawer-layout/index.js.map +1 -1
  78. package/drawer-main/cjs/index.js +1 -1
  79. package/drawer-main/cjs/index.js.map +1 -1
  80. package/drawer-main/index.js +1 -1
  81. package/drawer-main/index.js.map +1 -1
  82. package/drawer-provider/cjs/index.js +1 -1
  83. package/drawer-provider/cjs/index.js.map +1 -1
  84. package/drawer-provider/drawer-context.d.ts +1 -1
  85. package/drawer-provider/drawer.provider.d.ts +1 -1
  86. package/drawer-provider/index.js +1 -1
  87. package/drawer-provider/index.js.map +1 -1
  88. package/drawer-section/cjs/index.js +1 -1
  89. package/drawer-section/cjs/index.js.map +1 -1
  90. package/drawer-section/drawer-section.d.ts +1 -1
  91. package/drawer-section/index.js +1 -1
  92. package/drawer-section/index.js.map +1 -1
  93. package/drawer-subheader/cjs/index.js +1 -1
  94. package/drawer-subheader/cjs/index.js.map +1 -1
  95. package/drawer-subheader/drawer-subheader.d.ts +5 -5
  96. package/drawer-subheader/index.js +1 -1
  97. package/drawer-subheader/index.js.map +1 -1
  98. package/enhanced-remote-table/cjs/index.js +4 -4
  99. package/enhanced-remote-table/cjs/index.js.map +1 -1
  100. package/enhanced-remote-table/enhanced-remote-table.mock.d.ts +1 -1
  101. package/enhanced-remote-table/index.js +4 -4
  102. package/enhanced-remote-table/index.js.map +1 -1
  103. package/enhanced-table/cjs/index.js +4 -4
  104. package/enhanced-table/cjs/index.js.map +1 -1
  105. package/enhanced-table/index.js +4 -4
  106. package/enhanced-table/index.js.map +1 -1
  107. package/expandable-alert/cjs/index.js +1 -1
  108. package/expandable-alert/cjs/index.js.map +1 -1
  109. package/expandable-alert/expandable-alert.d.ts +3 -3
  110. package/expandable-alert/index.js +1 -1
  111. package/expandable-alert/index.js.map +1 -1
  112. package/form-dialog/cjs/index.js +1 -1
  113. package/form-dialog/cjs/index.js.map +1 -1
  114. package/form-dialog/form-dialog.d.ts +1 -1
  115. package/form-dialog/index.js +1 -1
  116. package/form-dialog/index.js.map +1 -1
  117. package/group-value-card/cjs/index.js +1 -1
  118. package/group-value-card/cjs/index.js.map +1 -1
  119. package/group-value-card/group-value-card.d.ts +1 -1
  120. package/group-value-card/index.js +1 -1
  121. package/group-value-card/index.js.map +1 -1
  122. package/header/cjs/index.js +1 -1
  123. package/header/cjs/index.js.map +1 -1
  124. package/header/index.js +1 -1
  125. package/header/index.js.map +1 -1
  126. package/header-layout/cjs/index.js +1 -1
  127. package/header-layout/cjs/index.js.map +1 -1
  128. package/header-layout/header-layout.d.ts +3 -3
  129. package/header-layout/index.js +1 -1
  130. package/header-layout/index.js.map +1 -1
  131. package/index.js +4 -4
  132. package/index.js.map +1 -1
  133. package/label/cjs/index.js +1 -1
  134. package/label/cjs/index.js.map +1 -1
  135. package/label/index.js +1 -1
  136. package/label/index.js.map +1 -1
  137. package/label/label.d.ts +1 -1
  138. package/link/cjs/index.js +1 -1
  139. package/link/cjs/index.js.map +1 -1
  140. package/link/index.js +1 -1
  141. package/link/index.js.map +1 -1
  142. package/link/link.d.ts +5 -5
  143. package/link-card/cjs/index.js +1 -1
  144. package/link-card/cjs/index.js.map +1 -1
  145. package/link-card/index.js +1 -1
  146. package/link-card/index.js.map +1 -1
  147. package/link-card/link-card.d.ts +1 -1
  148. package/list-panel/cjs/index.js +1 -1
  149. package/list-panel/cjs/index.js.map +1 -1
  150. package/list-panel/index.js +1 -1
  151. package/list-panel/index.js.map +1 -1
  152. package/loading-area/cjs/index.js +1 -1
  153. package/loading-area/cjs/index.js.map +1 -1
  154. package/loading-area/index.js +1 -1
  155. package/loading-area/index.js.map +1 -1
  156. package/lorem-ipsum-placeholder/cjs/index.js +1 -1
  157. package/lorem-ipsum-placeholder/cjs/index.js.map +1 -1
  158. package/lorem-ipsum-placeholder/index.js +1 -1
  159. package/lorem-ipsum-placeholder/index.js.map +1 -1
  160. package/markdown/cjs/index.js +1 -1
  161. package/markdown/cjs/index.js.map +1 -1
  162. package/markdown/index.js +1 -1
  163. package/markdown/index.js.map +1 -1
  164. package/model-form/cjs/index.js +1 -1
  165. package/model-form/cjs/index.js.map +1 -1
  166. package/model-form/index.js +1 -1
  167. package/model-form/index.js.map +1 -1
  168. package/model-form/model-form-field.d.ts +1 -1
  169. package/model-form/model-form.d.ts +1 -1
  170. package/model-router/cjs/index.js +4 -4
  171. package/model-router/cjs/index.js.map +1 -1
  172. package/model-router/index.js +4 -4
  173. package/model-router/index.js.map +1 -1
  174. package/model-router/model-router.d.ts +1 -1
  175. package/model-router/screens/add-screen.d.ts +2 -2
  176. package/model-router/screens/details-screen.d.ts +2 -2
  177. package/model-router/screens/list-screen.d.ts +2 -2
  178. package/model-router/screens/screens.types.d.ts +1 -1
  179. package/model-router/screens/update-screen.d.ts +2 -2
  180. package/notification-center/cjs/index.js +1 -1
  181. package/notification-center/cjs/index.js.map +1 -1
  182. package/notification-center/index.js +1 -1
  183. package/notification-center/index.js.map +1 -1
  184. package/notification-center/notification-center.context.d.ts +3 -3
  185. package/object-details/cjs/index.js +1 -1
  186. package/object-details/cjs/index.js.map +1 -1
  187. package/object-details/index.js +1 -1
  188. package/object-details/index.js.map +1 -1
  189. package/object-details/object-details.d.ts +1 -1
  190. package/package.json +1 -1
  191. package/placeholder/cjs/index.js +1 -1
  192. package/placeholder/cjs/index.js.map +1 -1
  193. package/placeholder/index.js +1 -1
  194. package/placeholder/index.js.map +1 -1
  195. package/query-container/cjs/index.js +1 -1
  196. package/query-container/cjs/index.js.map +1 -1
  197. package/query-container/index.js +1 -1
  198. package/query-container/index.js.map +1 -1
  199. package/search-input/cjs/index.js +1 -1
  200. package/search-input/cjs/index.js.map +1 -1
  201. package/search-input/index.js +1 -1
  202. package/search-input/index.js.map +1 -1
  203. package/search-input/search-input.d.ts +1 -1
  204. package/select/cjs/index.js +1 -1
  205. package/select/cjs/index.js.map +1 -1
  206. package/select/index.js +1 -1
  207. package/select/index.js.map +1 -1
  208. package/select/select.d.ts +2 -2
  209. package/sign-in/cjs/index.js +1 -1
  210. package/sign-in/cjs/index.js.map +1 -1
  211. package/sign-in/index.js +1 -1
  212. package/sign-in/index.js.map +1 -1
  213. package/skeleton-card/cjs/index.js +1 -1
  214. package/skeleton-card/cjs/index.js.map +1 -1
  215. package/skeleton-card/index.js +1 -1
  216. package/skeleton-card/index.js.map +1 -1
  217. package/skeleton-grid/cjs/index.js +1 -1
  218. package/skeleton-grid/cjs/index.js.map +1 -1
  219. package/skeleton-grid/index.js +1 -1
  220. package/skeleton-grid/index.js.map +1 -1
  221. package/tab-card/cjs/index.js +1 -1
  222. package/tab-card/cjs/index.js.map +1 -1
  223. package/tab-card/index.js +1 -1
  224. package/tab-card/index.js.map +1 -1
  225. package/tab-panel/cjs/index.js +1 -1
  226. package/tab-panel/cjs/index.js.map +1 -1
  227. package/tab-panel/index.js +1 -1
  228. package/tab-panel/index.js.map +1 -1
  229. package/tab-panel/tab-panel.d.ts +1 -1
  230. package/tab-provider/cjs/index.js +1 -1
  231. package/tab-provider/cjs/index.js.map +1 -1
  232. package/tab-provider/index.js +1 -1
  233. package/tab-provider/index.js.map +1 -1
  234. package/table-list/cjs/index.js +4 -4
  235. package/table-list/cjs/index.js.map +1 -1
  236. package/table-list/index.js +4 -4
  237. package/table-list/index.js.map +1 -1
  238. package/table-list/table-list.d.ts +1 -1
  239. package/text-field/cjs/index.js +1 -23
  240. package/text-field/cjs/index.js.map +1 -1
  241. package/text-field/index.js +1 -23
  242. package/text-field/index.js.map +1 -1
  243. package/text-field/text-field.d.ts +1 -1
  244. package/value-base/cjs/index.js +1 -1
  245. package/value-base/cjs/index.js.map +1 -1
  246. package/value-base/index.js +1 -1
  247. package/value-base/index.js.map +1 -1
  248. package/value-base/value-edit.d.ts +3 -3
  249. package/value-boolean/cjs/index.js +1 -1
  250. package/value-boolean/cjs/index.js.map +1 -1
  251. package/value-boolean/index.js +1 -1
  252. package/value-boolean/index.js.map +1 -1
  253. package/value-card/cjs/index.js +1 -1
  254. package/value-card/cjs/index.js.map +1 -1
  255. package/value-card/index.js +1 -1
  256. package/value-card/index.js.map +1 -1
  257. package/value-content/cjs/index.js +1 -1
  258. package/value-content/cjs/index.js.map +1 -1
  259. package/value-content/index.js +1 -1
  260. package/value-content/index.js.map +1 -1
  261. package/value-content/value-content.d.ts +2 -2
  262. package/value-datetime/cjs/index.js +1 -1
  263. package/value-datetime/cjs/index.js.map +1 -1
  264. package/value-datetime/index.js +1 -1
  265. package/value-datetime/index.js.map +1 -1
  266. package/value-datetime/value-datetime.d.ts +1 -1
  267. package/value-image/cjs/index.js +1 -1
  268. package/value-image/cjs/index.js.map +1 -1
  269. package/value-image/index.js +1 -1
  270. package/value-image/index.js.map +1 -1
  271. package/value-image/value-image.d.ts +1 -1
  272. package/value-item/cjs/index.js +1 -1
  273. package/value-item/cjs/index.js.map +1 -1
  274. package/value-item/index.js +1 -1
  275. package/value-item/index.js.map +1 -1
  276. package/value-item/value-item.d.ts +1 -1
  277. package/value-label/cjs/index.js +1 -1
  278. package/value-label/cjs/index.js.map +1 -1
  279. package/value-label/index.js +1 -1
  280. package/value-label/index.js.map +1 -1
  281. package/value-label/value-label.d.ts +1 -1
  282. package/value-rating/cjs/index.js +1 -1
  283. package/value-rating/cjs/index.js.map +1 -1
  284. package/value-rating/index.js +1 -1
  285. package/value-rating/index.js.map +1 -1
  286. package/value-rating/value-rating.d.ts +1 -1
  287. package/value-text/cjs/index.js +1 -1
  288. package/value-text/cjs/index.js.map +1 -1
  289. package/value-text/index.js +1 -1
  290. package/value-text/index.js.map +1 -1
package/select/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{useId as t}from"react";import{Box as l,styled as r,FormControl as i,InputLabel as n,Select as o,CircularProgress as a,LinearProgress as c}from"@mui/material";function m({children:t,centerVertical:r=!0,centerHorizontal:i=!0,sx:n}){return e.createElement(l,{width:1,height:1,sx:{...n,display:"flex",flexDirection:"column",justifyContent:r?"center":"flex-start",alignItems:i?"center":"flex-start"}},t)}const u={small:15,medium:20},s=({label:s,value:d,loading:f=!1,fetching:h=!1,size:x="medium",fullWidth:p=!1,color:b,children:E,onChange:g})=>{const z=t(),C=r(i)((()=>b?{label:{color:b},".MuiOutlinedInput-notchedOutline":{borderColor:`${b} !important`},".MuiInputBase-root":{color:b},".MuiSelect-icon":{fill:b}}:{}));return e.createElement(C,{fullWidth:p},e.createElement(n,{id:z},s),e.createElement(o,{labelId:z,id:z,value:d,label:s,onChange:g,disabled:h,size:x,renderValue:t=>h?e.createElement(m,{centerVertical:!0,centerHorizontal:!0},e.createElement(a,{color:"inherit",size:u[x]})):f?e.createElement(l,{display:"flex",flexDirection:"column"},t,e.createElement(c,{color:"inherit",sx:{position:"absolute",left:0,right:0,bottom:0}})):t},E))};export{s as Select};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useId as i}from"react";import{styled as t}from"@mui/material/styles";import l from"@mui/material/Box";import o from"@mui/material/CircularProgress";import n from"@mui/material/FormControl";import m from"@mui/material/InputLabel";import a from"@mui/material/LinearProgress";import c from"@mui/material/Select";function u({children:r,centerVertical:i=!0,centerHorizontal:t=!0,sx:o}){return e(l,{width:1,height:1,sx:{...o,display:"flex",flexDirection:"column",justifyContent:i?"center":"flex-start",alignItems:t?"center":"flex-start"},children:r})}const s={small:15,medium:20},d=({label:d,value:f,loading:h=!1,fetching:p=!1,size:x="medium",fullWidth:b=!1,color:g,children:C,onChange:z})=>{const I=i(),y=t(n)((()=>g?{label:{color:g},".MuiOutlinedInput-notchedOutline":{borderColor:`${g} !important`},".MuiInputBase-root":{color:g},".MuiSelect-icon":{fill:g}}:{}));return r(y,{fullWidth:b,children:[e(m,{id:I,children:d}),e(c,{labelId:I,id:I,value:f,label:d,onChange:z,disabled:p,size:x,renderValue:i=>p?e(u,{centerVertical:!0,centerHorizontal:!0,children:e(o,{color:"inherit",size:s[x]})}):h?r(l,{display:"flex",flexDirection:"column",children:[i,e(a,{color:"inherit",sx:{position:"absolute",left:0,right:0,bottom:0}})]}):i,children:C})]})};export{d as Select};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/center-container/center-container.tsx","../../src/select/select.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { Box, SxProps, Theme } from \"@mui/material\";\n\nexport interface CenterContainerProps {\n children: ReactNode | undefined;\n centerVertical?: boolean;\n centerHorizontal?: boolean;\n sx?: SxProps<Theme>;\n}\n\nexport function CenterContainer({\n children,\n centerVertical = true,\n centerHorizontal = true,\n sx,\n}: CenterContainerProps) {\n return (\n <Box\n width={1}\n height={1}\n sx={{\n ...sx,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: centerVertical ? \"center\" : \"flex-start\",\n alignItems: centerHorizontal ? \"center\" : \"flex-start\",\n }}\n >\n {children}\n </Box>\n );\n}\n","import React, { ReactNode, useId } from \"react\";\nimport {\n Box,\n CircularProgress,\n FormControl,\n InputLabel,\n LinearProgress,\n Select as MuiSelect,\n styled,\n} from \"@mui/material\";\nimport { CenterContainer } from \"../center-container\";\nimport { SelectInputProps } from \"@mui/material/Select/SelectInput\";\n\nexport type SelectSize = \"small\" | \"medium\";\n\nexport interface SelectProps<T> {\n label: string;\n value: T;\n loading?: boolean;\n fetching?: boolean;\n size?: SelectSize;\n color?: string;\n fullWidth?: boolean;\n children?: ReactNode;\n onChange?: SelectInputProps<T>[\"onChange\"];\n}\n\nconst ProgressSize: Record<SelectSize, number> = {\n small: 15,\n medium: 20,\n};\n\nexport const Select = <T extends ReactNode>({\n label,\n value,\n loading = false,\n fetching = false,\n size = \"medium\",\n fullWidth = false,\n color,\n children,\n onChange,\n}: SelectProps<T>) => {\n const id = useId();\n\n const renderValue = (value: T): ReactNode => {\n if (fetching) {\n return (\n <CenterContainer centerVertical centerHorizontal>\n <CircularProgress color=\"inherit\" size={ProgressSize[size]} />\n </CenterContainer>\n );\n }\n\n if (loading) {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n {value}\n <LinearProgress\n color=\"inherit\"\n sx={{ position: \"absolute\", left: 0, right: 0, bottom: 0 }}\n />\n </Box>\n );\n }\n\n return value;\n };\n\n const StyledFormControl = styled(FormControl)(() => {\n if (!color) {\n return {};\n }\n\n return {\n label: {\n color,\n },\n \".MuiOutlinedInput-notchedOutline\": {\n borderColor: `${color} !important`,\n },\n \".MuiInputBase-root\": {\n color,\n },\n \".MuiSelect-icon\": {\n fill: color,\n },\n };\n });\n\n return (\n <StyledFormControl fullWidth={fullWidth}>\n <InputLabel id={id}>{label}</InputLabel>\n <MuiSelect\n labelId={id}\n id={id}\n value={value}\n label={label}\n onChange={onChange}\n disabled={fetching}\n size={size}\n renderValue={renderValue}\n >\n {children}\n </MuiSelect>\n </StyledFormControl>\n );\n};\n"],"names":["CenterContainer","children","centerVertical","centerHorizontal","sx","React","createElement","Box","width","height","display","flexDirection","justifyContent","alignItems","ProgressSize","small","medium","Select","label","value","loading","fetching","size","fullWidth","color","onChange","id","useId","StyledFormControl","styled","FormControl","borderColor","fill","InputLabel","MuiSelect","labelId","disabled","renderValue","CircularProgress","LinearProgress","position","left","right","bottom"],"mappings":"wKAUgB,SAAAA,GAAgBC,SAC9BA,EAAQC,eACRA,GAAiB,EAAIC,iBACrBA,GAAmB,EAAIC,GACvBA,IAEA,OACEC,EAAAC,cAACC,EAAG,CACFC,MAAO,EACPC,OAAQ,EACRL,GAAI,IACCA,EACHM,QAAS,OACTC,cAAe,SACfC,eAAgBV,EAAiB,SAAW,aAC5CW,WAAYV,EAAmB,SAAW,eAG3CF,EAGP,CCJA,MAAMa,EAA2C,CAC/CC,MAAO,GACPC,OAAQ,IAGGC,EAAS,EACpBC,QACAC,QACAC,WAAU,EACVC,YAAW,EACXC,OAAO,SACPC,aAAY,EACZC,QACAvB,WACAwB,eAEA,MAAMC,EAAKC,IA0BLC,EAAoBC,EAAOC,EAAPD,EAAoB,IACvCL,EAIE,CACLN,MAAO,CACLM,SAEF,mCAAoC,CAClCO,YAAa,GAAGP,gBAElB,qBAAsB,CACpBA,SAEF,kBAAmB,CACjBQ,KAAMR,IAdD,KAmBX,OACEnB,EAACC,cAAAsB,EAAkB,CAAAL,UAAWA,GAC5BlB,EAAAC,cAAC2B,EAAW,CAAAP,GAAIA,GAAKR,GACrBb,EAAAC,cAAC4B,EACC,CAAAC,QAAST,EACTA,GAAIA,EACJP,MAAOA,EACPD,MAAOA,EACPO,SAAUA,EACVW,SAAUf,EACVC,KAAMA,EACNe,YAxDelB,GACfE,EAEAhB,EAACC,cAAAN,EAAgB,CAAAE,kBAAeC,kBAAgB,GAC9CE,EAAAC,cAACgC,EAAgB,CAACd,MAAM,UAAUF,KAAMR,EAAaQ,MAKvDF,EAEAf,EAACC,cAAAC,EAAI,CAAAG,QAAQ,OAAOC,cAAc,UAC/BQ,EACDd,EAAAC,cAACiC,EAAc,CACbf,MAAM,UACNpB,GAAI,CAAEoC,SAAU,WAAYC,KAAM,EAAGC,MAAO,EAAGC,OAAQ,MAMxDxB,GAqCFlB,GAGL"}
1
+ {"version":3,"file":"index.js","sources":["../../src/center-container/center-container.tsx","../../src/select/select.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport Box from \"@mui/material/Box\";\nimport { SxProps, Theme } from \"@mui/material/styles\";\n\nexport interface CenterContainerProps {\n children: ReactNode | undefined;\n centerVertical?: boolean;\n centerHorizontal?: boolean;\n sx?: SxProps<Theme>;\n}\n\nexport function CenterContainer({\n children,\n centerVertical = true,\n centerHorizontal = true,\n sx,\n}: CenterContainerProps) {\n return (\n <Box\n width={1}\n height={1}\n sx={{\n ...sx,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: centerVertical ? \"center\" : \"flex-start\",\n alignItems: centerHorizontal ? \"center\" : \"flex-start\",\n }}\n >\n {children}\n </Box>\n );\n}\n","import { ReactNode, useId } from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport FormControl from \"@mui/material/FormControl\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport MuiSelect from \"@mui/material/Select\";\nimport { CenterContainer } from \"../center-container\";\nimport { SelectInputProps } from \"@mui/material/Select/SelectInput\";\n\nexport type SelectSize = \"small\" | \"medium\";\n\nexport interface SelectProps<T> {\n label: string;\n value: T;\n loading?: boolean;\n fetching?: boolean;\n size?: SelectSize;\n color?: string;\n fullWidth?: boolean;\n children?: ReactNode;\n onChange?: SelectInputProps<T>[\"onChange\"];\n}\n\nconst ProgressSize: Record<SelectSize, number> = {\n small: 15,\n medium: 20,\n};\n\nexport const Select = <T extends ReactNode>({\n label,\n value,\n loading = false,\n fetching = false,\n size = \"medium\",\n fullWidth = false,\n color,\n children,\n onChange,\n}: SelectProps<T>) => {\n const id = useId();\n\n const renderValue = (value: T): ReactNode => {\n if (fetching) {\n return (\n <CenterContainer centerVertical centerHorizontal>\n <CircularProgress color=\"inherit\" size={ProgressSize[size]} />\n </CenterContainer>\n );\n }\n\n if (loading) {\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n {value}\n <LinearProgress\n color=\"inherit\"\n sx={{ position: \"absolute\", left: 0, right: 0, bottom: 0 }}\n />\n </Box>\n );\n }\n\n return value;\n };\n\n const StyledFormControl = styled(FormControl)(() => {\n if (!color) {\n return {};\n }\n\n return {\n label: {\n color,\n },\n \".MuiOutlinedInput-notchedOutline\": {\n borderColor: `${color} !important`,\n },\n \".MuiInputBase-root\": {\n color,\n },\n \".MuiSelect-icon\": {\n fill: color,\n },\n };\n });\n\n return (\n <StyledFormControl fullWidth={fullWidth}>\n <InputLabel id={id}>{label}</InputLabel>\n <MuiSelect\n labelId={id}\n id={id}\n value={value}\n label={label}\n onChange={onChange}\n disabled={fetching}\n size={size}\n renderValue={renderValue}\n >\n {children}\n </MuiSelect>\n </StyledFormControl>\n );\n};\n"],"names":["CenterContainer","children","centerVertical","centerHorizontal","sx","_jsx","Box","width","height","display","flexDirection","justifyContent","alignItems","ProgressSize","small","medium","Select","label","value","loading","fetching","size","fullWidth","color","onChange","id","useId","StyledFormControl","styled","FormControl","borderColor","fill","_jsxs","InputLabel","MuiSelect","labelId","disabled","renderValue","CircularProgress","LinearProgress","position","left","right","bottom"],"mappings":"8WAWgB,SAAAA,GAAgBC,SAC9BA,EAAQC,eACRA,GAAiB,EAAIC,iBACrBA,GAAmB,EAAIC,GACvBA,IAEA,OACEC,EAACC,EAAG,CACFC,MAAO,EACPC,OAAQ,EACRJ,GAAI,IACCA,EACHK,QAAS,OACTC,cAAe,SACfC,eAAgBT,EAAiB,SAAW,aAC5CU,WAAYT,EAAmB,SAAW,cAG3CF,SAAAA,GAGP,CCPA,MAAMY,EAA2C,CAC/CC,MAAO,GACPC,OAAQ,IAGGC,EAAS,EACpBC,QACAC,QACAC,WAAU,EACVC,YAAW,EACXC,OAAO,SACPC,aAAY,EACZC,QACAtB,WACAuB,eAEA,MAAMC,EAAKC,IA0BLC,EAAoBC,EAAOC,EAAPD,EAAoB,IACvCL,EAIE,CACLN,MAAO,CACLM,SAEF,mCAAoC,CAClCO,YAAa,GAAGP,gBAElB,qBAAsB,CACpBA,SAEF,kBAAmB,CACjBQ,KAAMR,IAdD,KAmBX,OACES,EAACL,EAAkB,CAAAL,UAAWA,EAC5BrB,SAAA,CAAAI,EAAC4B,EAAU,CAACR,GAAIA,EAAKxB,SAAAgB,IACrBZ,EAAC6B,EACC,CAAAC,QAASV,EACTA,GAAIA,EACJP,MAAOA,EACPD,MAAOA,EACPO,SAAUA,EACVY,SAAUhB,EACVC,KAAMA,EACNgB,YAxDenB,GACfE,EAEAf,EAACL,EAAgB,CAAAE,kBAAeC,kBAAgB,EAAAF,SAC9CI,EAACiC,EAAiB,CAAAf,MAAM,UAAUF,KAAMR,EAAaQ,OAKvDF,EAEAa,EAAC1B,GAAIG,QAAQ,OAAOC,cAAc,SAAQT,SAAA,CACvCiB,EACDb,EAACkC,EACC,CAAAhB,MAAM,UACNnB,GAAI,CAAEoC,SAAU,WAAYC,KAAM,EAAGC,MAAO,EAAGC,OAAQ,QAMxDzB,EAmCqBjB,SAEvBA,MAGL"}
@@ -1,4 +1,4 @@
1
- import React, { ReactNode } from "react";
1
+ import { ReactNode } from "react";
2
2
  import { SelectInputProps } from "@mui/material/Select/SelectInput";
3
3
  export type SelectSize = "small" | "medium";
4
4
  export interface SelectProps<T> {
@@ -12,4 +12,4 @@ export interface SelectProps<T> {
12
12
  children?: ReactNode;
13
13
  onChange?: SelectInputProps<T>["onChange"];
14
14
  }
15
- export declare const Select: <T extends React.ReactNode>({ label, value, loading, fetching, size, fullWidth, color, children, onChange, }: SelectProps<T>) => JSX.Element;
15
+ export declare const Select: <T extends ReactNode>({ label, value, loading, fetching, size, fullWidth, color, children, onChange, }: SelectProps<T>) => JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@mui/material"),a=require("@mui/lab");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=r(e);exports.SignIn=({title:r,subtitle:n,loading:i,error:o,onSubmitSignIn:u})=>{const[d,m]=e.useState(""),[s,p]=e.useState("");return l.default.createElement(l.default.Fragment,null,l.default.createElement(t.Box,{marginBottom:2},l.default.createElement(t.Typography,{component:"h1",variant:"h4"},r),l.default.createElement(t.Typography,{variant:"body1"},n)),l.default.createElement(t.Box,{component:"form",onSubmit:function(e){e.preventDefault(),m(""),p("");const t=new FormData(e.currentTarget),a=t.get("email")?.toString(),r=t.get("password")?.toString();a||m("Please fill out this field"),r||p("Please fill out this field"),a&&r&&u(a,r)}},o&&l.default.createElement(t.Stack,{width:"100%",marginTop:1},l.default.createElement(t.Alert,{variant:"filled",severity:"error"},o.message)),l.default.createElement(t.TextField,{margin:"normal",fullWidth:!0,id:"email",label:"Email Address",name:"email",autoComplete:"email",autoFocus:!0,disabled:i,type:"email",inputProps:{role:"input"},error:!!d,helperText:d}),l.default.createElement(t.TextField,{margin:"normal",fullWidth:!0,role:"input",name:"password",label:"Password",type:"password",id:"password",disabled:i,autoComplete:"current-password",inputProps:{role:"input"},error:!!s,helperText:s}),l.default.createElement(a.LoadingButton,{type:"submit",fullWidth:!0,variant:"contained",loading:i,disabled:i,role:"button",sx:{mt:2}},"Sign In")))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material/Stack"),i=require("@mui/material/Box"),a=require("@mui/material/TextField"),l=require("@mui/material/Typography"),n=require("@mui/material/Alert"),o=require("@mui/lab/LoadingButton");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=u(r),d=u(i),m=u(a),p=u(l),f=u(n),c=u(o);exports.SignIn=({title:r,subtitle:i,loading:a,error:l,onSubmitSignIn:n})=>{const[o,u]=t.useState(""),[h,g]=t.useState("");return e.jsxs(e.Fragment,{children:[e.jsxs(d.default,{marginBottom:2,children:[e.jsx(p.default,{component:"h1",variant:"h4",children:r}),e.jsx(p.default,{variant:"body1",children:i})]}),e.jsxs(d.default,{component:"form",onSubmit:function(e){e.preventDefault(),u(""),g("");const t=new FormData(e.currentTarget),r=t.get("email")?.toString(),i=t.get("password")?.toString();r||u("Please fill out this field"),i||g("Please fill out this field"),r&&i&&n(r,i)},children:[l&&e.jsx(s.default,{width:"100%",marginTop:1,children:e.jsx(f.default,{variant:"filled",severity:"error",children:l.message})}),e.jsx(m.default,{margin:"normal",fullWidth:!0,id:"email",label:"Email Address",name:"email",autoComplete:"email",autoFocus:!0,disabled:a,type:"email",inputProps:{role:"input"},error:!!o,helperText:o}),e.jsx(m.default,{margin:"normal",fullWidth:!0,role:"input",name:"password",label:"Password",type:"password",id:"password",disabled:a,autoComplete:"current-password",inputProps:{role:"input"},error:!!h,helperText:h}),e.jsx(c.default,{type:"submit",fullWidth:!0,variant:"contained",loading:a,disabled:a,role:"button",sx:{mt:2},children:"Sign In"})]})]})};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/sign-in/sign-in.tsx"],"sourcesContent":["import React, { FormEvent, useState } from \"react\";\nimport { Stack, Box, TextField, Typography, Alert } from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\n\nexport interface SignInProps {\n title: string;\n subtitle: string;\n error?: Error;\n loading?: boolean;\n onSubmitSignIn: (email: string, password: string) => void;\n}\n\nexport const SignIn = ({ title, subtitle, loading, error, onSubmitSignIn }: SignInProps) => {\n const [emailError, setEmailError] = useState(\"\");\n const [passwordError, setPasswordError] = useState(\"\");\n\n function handleSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n setEmailError(\"\");\n setPasswordError(\"\");\n\n const data = new FormData(e.currentTarget);\n const email = data.get(\"email\")?.toString();\n const password = data.get(\"password\")?.toString();\n\n if (!email) {\n setEmailError(\"Please fill out this field\");\n }\n\n if (!password) {\n setPasswordError(\"Please fill out this field\");\n }\n\n if (email && password) {\n onSubmitSignIn(email, password);\n }\n }\n\n return (\n <>\n <Box marginBottom={2}>\n <Typography component=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <Typography variant=\"body1\">{subtitle}</Typography>\n </Box>\n <Box component=\"form\" onSubmit={handleSubmit}>\n {error && (\n <Stack width=\"100%\" marginTop={1}>\n <Alert variant=\"filled\" severity=\"error\">\n {error.message}\n </Alert>\n </Stack>\n )}\n <TextField\n margin=\"normal\"\n fullWidth\n id=\"email\"\n label=\"Email Address\"\n name=\"email\"\n autoComplete=\"email\"\n autoFocus\n disabled={loading}\n type=\"email\"\n inputProps={{ role: \"input\" }}\n error={!!emailError}\n helperText={emailError}\n />\n <TextField\n margin=\"normal\"\n fullWidth\n role=\"input\"\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n id=\"password\"\n disabled={loading}\n autoComplete=\"current-password\"\n inputProps={{ role: \"input\" }}\n error={!!passwordError}\n helperText={passwordError}\n />\n <LoadingButton\n type=\"submit\"\n fullWidth\n variant=\"contained\"\n loading={loading}\n disabled={loading}\n role=\"button\"\n sx={{ mt: 2 }}\n >\n Sign In\n </LoadingButton>\n </Box>\n </>\n );\n};\n"],"names":["title","subtitle","loading","error","onSubmitSignIn","emailError","setEmailError","useState","passwordError","setPasswordError","React","createElement","Fragment","Box","marginBottom","Typography","component","variant","onSubmit","e","preventDefault","data","FormData","currentTarget","email","get","toString","password","Stack","width","marginTop","Alert","severity","message","TextField","margin","fullWidth","id","label","name","autoComplete","autoFocus","disabled","type","inputProps","role","helperText","LoadingButton","sx","mt"],"mappings":"8OAYsB,EAAGA,QAAOC,WAAUC,UAASC,QAAOC,qBACxD,MAAOC,EAAYC,GAAiBC,EAAQA,SAAC,KACtCC,EAAeC,GAAoBF,EAAQA,SAAC,IAwBnD,OACEG,UAAAC,cAAAD,EAAA,QAAAE,SAAA,KACEF,EAAAA,QAAAC,cAACE,EAAAA,IAAG,CAACC,aAAc,GACjBJ,UAACC,cAAAI,EAAAA,WAAW,CAAAC,UAAU,KAAKC,QAAQ,MAChCjB,GAEHU,EAAC,QAAAC,cAAAI,cAAWE,QAAQ,SAAShB,IAE/BS,EAAC,QAAAC,cAAAE,OAAIG,UAAU,OAAOE,SA9B1B,SAAsBC,GACpBA,EAAEC,iBACFd,EAAc,IACdG,EAAiB,IAEjB,MAAMY,EAAO,IAAIC,SAASH,EAAEI,eACtBC,EAAQH,EAAKI,IAAI,UAAUC,WAC3BC,EAAWN,EAAKI,IAAI,aAAaC,WAElCF,GACHlB,EAAc,8BAGXqB,GACHlB,EAAiB,8BAGfe,GAASG,GACXvB,EAAeoB,EAAOG,EAEzB,GAWMxB,GACCO,EAAAA,QAAAC,cAACiB,EAAKA,MAAA,CAACC,MAAM,OAAOC,UAAW,GAC7BpB,EAAAA,QAAAC,cAACoB,QAAK,CAACd,QAAQ,SAASe,SAAS,SAC9B7B,EAAM8B,UAIbvB,EAAC,QAAAC,cAAAuB,EAASA,WACRC,OAAO,SACPC,WACA,EAAAC,GAAG,QACHC,MAAM,gBACNC,KAAK,QACLC,aAAa,QACbC,aACAC,SAAUxC,EACVyC,KAAK,QACLC,WAAY,CAAEC,KAAM,SACpB1C,QAASE,EACTyC,WAAYzC,IAEdK,EAAC,QAAAC,cAAAuB,EAASA,UACR,CAAAC,OAAO,SACPC,WAAS,EACTS,KAAK,QACLN,KAAK,WACLD,MAAM,WACNK,KAAK,WACLN,GAAG,WACHK,SAAUxC,EACVsC,aAAa,mBACbI,WAAY,CAAEC,KAAM,SACpB1C,QAASK,EACTsC,WAAYtC,IAEdE,EAAAA,QAAAC,cAACoC,gBAAa,CACZJ,KAAK,SACLP,WACA,EAAAnB,QAAQ,YACRf,QAASA,EACTwC,SAAUxC,EACV2C,KAAK,SACLG,GAAI,CAAEC,GAAI,IAAG,YAMnB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/sign-in/sign-in.tsx"],"sourcesContent":["import { FormEvent, useState } from \"react\";\nimport Stack from \"@mui/material/Stack\";\nimport Box from \"@mui/material/Box\";\nimport TextField from \"@mui/material/TextField\";\nimport Typography from \"@mui/material/Typography\";\nimport Alert from \"@mui/material/Alert\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\n\nexport interface SignInProps {\n title: string;\n subtitle: string;\n error?: Error;\n loading?: boolean;\n onSubmitSignIn: (email: string, password: string) => void;\n}\n\nexport const SignIn = ({ title, subtitle, loading, error, onSubmitSignIn }: SignInProps) => {\n const [emailError, setEmailError] = useState(\"\");\n const [passwordError, setPasswordError] = useState(\"\");\n\n function handleSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n setEmailError(\"\");\n setPasswordError(\"\");\n\n const data = new FormData(e.currentTarget);\n const email = data.get(\"email\")?.toString();\n const password = data.get(\"password\")?.toString();\n\n if (!email) {\n setEmailError(\"Please fill out this field\");\n }\n\n if (!password) {\n setPasswordError(\"Please fill out this field\");\n }\n\n if (email && password) {\n onSubmitSignIn(email, password);\n }\n }\n\n return (\n <>\n <Box marginBottom={2}>\n <Typography component=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <Typography variant=\"body1\">{subtitle}</Typography>\n </Box>\n <Box component=\"form\" onSubmit={handleSubmit}>\n {error && (\n <Stack width=\"100%\" marginTop={1}>\n <Alert variant=\"filled\" severity=\"error\">\n {error.message}\n </Alert>\n </Stack>\n )}\n <TextField\n margin=\"normal\"\n fullWidth\n id=\"email\"\n label=\"Email Address\"\n name=\"email\"\n autoComplete=\"email\"\n autoFocus\n disabled={loading}\n type=\"email\"\n inputProps={{ role: \"input\" }}\n error={!!emailError}\n helperText={emailError}\n />\n <TextField\n margin=\"normal\"\n fullWidth\n role=\"input\"\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n id=\"password\"\n disabled={loading}\n autoComplete=\"current-password\"\n inputProps={{ role: \"input\" }}\n error={!!passwordError}\n helperText={passwordError}\n />\n <LoadingButton\n type=\"submit\"\n fullWidth\n variant=\"contained\"\n loading={loading}\n disabled={loading}\n role=\"button\"\n sx={{ mt: 2 }}\n >\n Sign In\n </LoadingButton>\n </Box>\n </>\n );\n};\n"],"names":["title","subtitle","loading","error","onSubmitSignIn","emailError","setEmailError","useState","passwordError","setPasswordError","_jsxs","_Fragment","children","jsxs","Box","marginBottom","_jsx","Typography","component","variant","onSubmit","e","preventDefault","data","FormData","currentTarget","email","get","toString","password","Stack","width","marginTop","Alert","severity","message","jsx","TextField","margin","fullWidth","id","label","name","autoComplete","autoFocus","disabled","type","inputProps","role","helperText","LoadingButton","sx","mt"],"mappings":"+cAgBsB,EAAGA,QAAOC,WAAUC,UAASC,QAAOC,qBACxD,MAAOC,EAAYC,GAAiBC,EAAQA,SAAC,KACtCC,EAAeC,GAAoBF,EAAQA,SAAC,IAwBnD,OACEG,EAAAA,KACEC,EAAAA,SAAA,CAAAC,SAAA,CAAAF,EAAAG,KAACC,EAAG,QAAA,CAACC,aAAc,EACjBH,SAAA,CAAAI,EAAAA,IAACC,EAAU,QAAA,CAACC,UAAU,KAAKC,QAAQ,cAChCnB,IAEHgB,MAACC,EAAAA,QAAU,CAACE,QAAQ,QAASP,SAAAX,OAE/BS,OAACI,EAAAA,QAAI,CAAAI,UAAU,OAAOE,SA9B1B,SAAsBC,GACpBA,EAAEC,iBACFhB,EAAc,IACdG,EAAiB,IAEjB,MAAMc,EAAO,IAAIC,SAASH,EAAEI,eACtBC,EAAQH,EAAKI,IAAI,UAAUC,WAC3BC,EAAWN,EAAKI,IAAI,aAAaC,WAElCF,GACHpB,EAAc,8BAGXuB,GACHpB,EAAiB,8BAGfiB,GAASG,GACXzB,EAAesB,EAAOG,EAEzB,EAU+CjB,SAAA,CACzCT,GACCa,MAACc,EAAAA,QAAM,CAAAC,MAAM,OAAOC,UAAW,EAACpB,SAC9BI,EAAAA,IAACiB,EAAAA,SAAMd,QAAQ,SAASe,SAAS,QAC9BtB,SAAAT,EAAMgC,YAIbnB,EAAAoB,IAACC,EAAS,QAAA,CACRC,OAAO,SACPC,WACA,EAAAC,GAAG,QACHC,MAAM,gBACNC,KAAK,QACLC,aAAa,QACbC,WACA,EAAAC,SAAU3C,EACV4C,KAAK,QACLC,WAAY,CAAEC,KAAM,SACpB7C,QAASE,EACT4C,WAAY5C,IAEdW,EAAAoB,IAACC,EAAS,QACR,CAAAC,OAAO,SACPC,aACAS,KAAK,QACLN,KAAK,WACLD,MAAM,WACNK,KAAK,WACLN,GAAG,WACHK,SAAU3C,EACVyC,aAAa,mBACbI,WAAY,CAAEC,KAAM,SACpB7C,QAASK,EACTyC,WAAYzC,IAEdQ,EAAAA,IAACkC,EAAa,SACZJ,KAAK,SACLP,WAAS,EACTpB,QAAQ,YACRjB,QAASA,EACT2C,SAAU3C,EACV8C,KAAK,SACLG,GAAI,CAAEC,GAAI,GAGIxC,SAAA,iBAGpB"}
package/sign-in/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{useState as t}from"react";import{Box as r,Typography as a,Stack as l,Alert as n,TextField as i}from"@mui/material";import{LoadingButton as o}from"@mui/lab";const m=({title:m,subtitle:s,loading:d,error:p,onSubmitSignIn:u})=>{const[c,g]=t(""),[f,b]=t("");return e.createElement(e.Fragment,null,e.createElement(r,{marginBottom:2},e.createElement(a,{component:"h1",variant:"h4"},m),e.createElement(a,{variant:"body1"},s)),e.createElement(r,{component:"form",onSubmit:function(e){e.preventDefault(),g(""),b("");const t=new FormData(e.currentTarget),r=t.get("email")?.toString(),a=t.get("password")?.toString();r||g("Please fill out this field"),a||b("Please fill out this field"),r&&a&&u(r,a)}},p&&e.createElement(l,{width:"100%",marginTop:1},e.createElement(n,{variant:"filled",severity:"error"},p.message)),e.createElement(i,{margin:"normal",fullWidth:!0,id:"email",label:"Email Address",name:"email",autoComplete:"email",autoFocus:!0,disabled:d,type:"email",inputProps:{role:"input"},error:!!c,helperText:c}),e.createElement(i,{margin:"normal",fullWidth:!0,role:"input",name:"password",label:"Password",type:"password",id:"password",disabled:d,autoComplete:"current-password",inputProps:{role:"input"},error:!!f,helperText:f}),e.createElement(o,{type:"submit",fullWidth:!0,variant:"contained",loading:d,disabled:d,role:"button",sx:{mt:2}},"Sign In")))};export{m as SignIn};
1
+ import{jsxs as r,Fragment as t,jsx as e}from"react/jsx-runtime";import{useState as i}from"react";import o from"@mui/material/Stack";import a from"@mui/material/Box";import l from"@mui/material/TextField";import n from"@mui/material/Typography";import m from"@mui/material/Alert";import d from"@mui/lab/LoadingButton";const p=({title:p,subtitle:s,loading:u,error:c,onSubmitSignIn:f})=>{const[h,g]=i(""),[b,w]=i("");return r(t,{children:[r(a,{marginBottom:2,children:[e(n,{component:"h1",variant:"h4",children:p}),e(n,{variant:"body1",children:s})]}),r(a,{component:"form",onSubmit:function(r){r.preventDefault(),g(""),w("");const t=new FormData(r.currentTarget),e=t.get("email")?.toString(),i=t.get("password")?.toString();e||g("Please fill out this field"),i||w("Please fill out this field"),e&&i&&f(e,i)},children:[c&&e(o,{width:"100%",marginTop:1,children:e(m,{variant:"filled",severity:"error",children:c.message})}),e(l,{margin:"normal",fullWidth:!0,id:"email",label:"Email Address",name:"email",autoComplete:"email",autoFocus:!0,disabled:u,type:"email",inputProps:{role:"input"},error:!!h,helperText:h}),e(l,{margin:"normal",fullWidth:!0,role:"input",name:"password",label:"Password",type:"password",id:"password",disabled:u,autoComplete:"current-password",inputProps:{role:"input"},error:!!b,helperText:b}),e(d,{type:"submit",fullWidth:!0,variant:"contained",loading:u,disabled:u,role:"button",sx:{mt:2},children:"Sign In"})]})]})};export{p as SignIn};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/sign-in/sign-in.tsx"],"sourcesContent":["import React, { FormEvent, useState } from \"react\";\nimport { Stack, Box, TextField, Typography, Alert } from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\n\nexport interface SignInProps {\n title: string;\n subtitle: string;\n error?: Error;\n loading?: boolean;\n onSubmitSignIn: (email: string, password: string) => void;\n}\n\nexport const SignIn = ({ title, subtitle, loading, error, onSubmitSignIn }: SignInProps) => {\n const [emailError, setEmailError] = useState(\"\");\n const [passwordError, setPasswordError] = useState(\"\");\n\n function handleSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n setEmailError(\"\");\n setPasswordError(\"\");\n\n const data = new FormData(e.currentTarget);\n const email = data.get(\"email\")?.toString();\n const password = data.get(\"password\")?.toString();\n\n if (!email) {\n setEmailError(\"Please fill out this field\");\n }\n\n if (!password) {\n setPasswordError(\"Please fill out this field\");\n }\n\n if (email && password) {\n onSubmitSignIn(email, password);\n }\n }\n\n return (\n <>\n <Box marginBottom={2}>\n <Typography component=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <Typography variant=\"body1\">{subtitle}</Typography>\n </Box>\n <Box component=\"form\" onSubmit={handleSubmit}>\n {error && (\n <Stack width=\"100%\" marginTop={1}>\n <Alert variant=\"filled\" severity=\"error\">\n {error.message}\n </Alert>\n </Stack>\n )}\n <TextField\n margin=\"normal\"\n fullWidth\n id=\"email\"\n label=\"Email Address\"\n name=\"email\"\n autoComplete=\"email\"\n autoFocus\n disabled={loading}\n type=\"email\"\n inputProps={{ role: \"input\" }}\n error={!!emailError}\n helperText={emailError}\n />\n <TextField\n margin=\"normal\"\n fullWidth\n role=\"input\"\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n id=\"password\"\n disabled={loading}\n autoComplete=\"current-password\"\n inputProps={{ role: \"input\" }}\n error={!!passwordError}\n helperText={passwordError}\n />\n <LoadingButton\n type=\"submit\"\n fullWidth\n variant=\"contained\"\n loading={loading}\n disabled={loading}\n role=\"button\"\n sx={{ mt: 2 }}\n >\n Sign In\n </LoadingButton>\n </Box>\n </>\n );\n};\n"],"names":["SignIn","title","subtitle","loading","error","onSubmitSignIn","emailError","setEmailError","useState","passwordError","setPasswordError","React","createElement","Fragment","Box","marginBottom","Typography","component","variant","onSubmit","e","preventDefault","data","FormData","currentTarget","email","get","toString","password","Stack","width","marginTop","Alert","severity","message","TextField","margin","fullWidth","id","label","name","autoComplete","autoFocus","disabled","type","inputProps","role","helperText","LoadingButton","sx","mt"],"mappings":"sKAYa,MAAAA,EAAS,EAAGC,QAAOC,WAAUC,UAASC,QAAOC,qBACxD,MAAOC,EAAYC,GAAiBC,EAAS,KACtCC,EAAeC,GAAoBF,EAAS,IAwBnD,OACEG,EAAAC,cAAAD,EAAAE,SAAA,KACEF,EAAAC,cAACE,EAAG,CAACC,aAAc,GACjBJ,EAACC,cAAAI,EAAW,CAAAC,UAAU,KAAKC,QAAQ,MAChCjB,GAEHU,EAACC,cAAAI,GAAWE,QAAQ,SAAShB,IAE/BS,EAACC,cAAAE,GAAIG,UAAU,OAAOE,SA9B1B,SAAsBC,GACpBA,EAAEC,iBACFd,EAAc,IACdG,EAAiB,IAEjB,MAAMY,EAAO,IAAIC,SAASH,EAAEI,eACtBC,EAAQH,EAAKI,IAAI,UAAUC,WAC3BC,EAAWN,EAAKI,IAAI,aAAaC,WAElCF,GACHlB,EAAc,8BAGXqB,GACHlB,EAAiB,8BAGfe,GAASG,GACXvB,EAAeoB,EAAOG,EAEzB,GAWMxB,GACCO,EAAAC,cAACiB,EAAK,CAACC,MAAM,OAAOC,UAAW,GAC7BpB,EAAAC,cAACoB,EAAK,CAACd,QAAQ,SAASe,SAAS,SAC9B7B,EAAM8B,UAIbvB,EAACC,cAAAuB,GACCC,OAAO,SACPC,WACA,EAAAC,GAAG,QACHC,MAAM,gBACNC,KAAK,QACLC,aAAa,QACbC,aACAC,SAAUxC,EACVyC,KAAK,QACLC,WAAY,CAAEC,KAAM,SACpB1C,QAASE,EACTyC,WAAYzC,IAEdK,EAACC,cAAAuB,EACC,CAAAC,OAAO,SACPC,WAAS,EACTS,KAAK,QACLN,KAAK,WACLD,MAAM,WACNK,KAAK,WACLN,GAAG,WACHK,SAAUxC,EACVsC,aAAa,mBACbI,WAAY,CAAEC,KAAM,SACpB1C,QAASK,EACTsC,WAAYtC,IAEdE,EAAAC,cAACoC,EAAa,CACZJ,KAAK,SACLP,WACA,EAAAnB,QAAQ,YACRf,QAASA,EACTwC,SAAUxC,EACV2C,KAAK,SACLG,GAAI,CAAEC,GAAI,IAAG,YAMnB"}
1
+ {"version":3,"file":"index.js","sources":["../../src/sign-in/sign-in.tsx"],"sourcesContent":["import { FormEvent, useState } from \"react\";\nimport Stack from \"@mui/material/Stack\";\nimport Box from \"@mui/material/Box\";\nimport TextField from \"@mui/material/TextField\";\nimport Typography from \"@mui/material/Typography\";\nimport Alert from \"@mui/material/Alert\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\n\nexport interface SignInProps {\n title: string;\n subtitle: string;\n error?: Error;\n loading?: boolean;\n onSubmitSignIn: (email: string, password: string) => void;\n}\n\nexport const SignIn = ({ title, subtitle, loading, error, onSubmitSignIn }: SignInProps) => {\n const [emailError, setEmailError] = useState(\"\");\n const [passwordError, setPasswordError] = useState(\"\");\n\n function handleSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n setEmailError(\"\");\n setPasswordError(\"\");\n\n const data = new FormData(e.currentTarget);\n const email = data.get(\"email\")?.toString();\n const password = data.get(\"password\")?.toString();\n\n if (!email) {\n setEmailError(\"Please fill out this field\");\n }\n\n if (!password) {\n setPasswordError(\"Please fill out this field\");\n }\n\n if (email && password) {\n onSubmitSignIn(email, password);\n }\n }\n\n return (\n <>\n <Box marginBottom={2}>\n <Typography component=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <Typography variant=\"body1\">{subtitle}</Typography>\n </Box>\n <Box component=\"form\" onSubmit={handleSubmit}>\n {error && (\n <Stack width=\"100%\" marginTop={1}>\n <Alert variant=\"filled\" severity=\"error\">\n {error.message}\n </Alert>\n </Stack>\n )}\n <TextField\n margin=\"normal\"\n fullWidth\n id=\"email\"\n label=\"Email Address\"\n name=\"email\"\n autoComplete=\"email\"\n autoFocus\n disabled={loading}\n type=\"email\"\n inputProps={{ role: \"input\" }}\n error={!!emailError}\n helperText={emailError}\n />\n <TextField\n margin=\"normal\"\n fullWidth\n role=\"input\"\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n id=\"password\"\n disabled={loading}\n autoComplete=\"current-password\"\n inputProps={{ role: \"input\" }}\n error={!!passwordError}\n helperText={passwordError}\n />\n <LoadingButton\n type=\"submit\"\n fullWidth\n variant=\"contained\"\n loading={loading}\n disabled={loading}\n role=\"button\"\n sx={{ mt: 2 }}\n >\n Sign In\n </LoadingButton>\n </Box>\n </>\n );\n};\n"],"names":["SignIn","title","subtitle","loading","error","onSubmitSignIn","emailError","setEmailError","useState","passwordError","setPasswordError","_jsxs","_Fragment","children","Box","marginBottom","_jsx","Typography","component","variant","onSubmit","e","preventDefault","data","FormData","currentTarget","email","get","toString","password","Stack","width","marginTop","Alert","severity","message","TextField","margin","fullWidth","id","label","name","autoComplete","autoFocus","disabled","type","inputProps","role","helperText","LoadingButton","sx","mt"],"mappings":"6TAgBa,MAAAA,EAAS,EAAGC,QAAOC,WAAUC,UAASC,QAAOC,qBACxD,MAAOC,EAAYC,GAAiBC,EAAS,KACtCC,EAAeC,GAAoBF,EAAS,IAwBnD,OACEG,EACEC,EAAA,CAAAC,SAAA,CAAAF,EAACG,EAAG,CAACC,aAAc,EACjBF,SAAA,CAAAG,EAACC,EAAU,CAACC,UAAU,KAAKC,QAAQ,cAChClB,IAEHe,EAACC,EAAU,CAACE,QAAQ,QAASN,SAAAX,OAE/BS,EAACG,EAAI,CAAAI,UAAU,OAAOE,SA9B1B,SAAsBC,GACpBA,EAAEC,iBACFf,EAAc,IACdG,EAAiB,IAEjB,MAAMa,EAAO,IAAIC,SAASH,EAAEI,eACtBC,EAAQH,EAAKI,IAAI,UAAUC,WAC3BC,EAAWN,EAAKI,IAAI,aAAaC,WAElCF,GACHnB,EAAc,8BAGXsB,GACHnB,EAAiB,8BAGfgB,GAASG,GACXxB,EAAeqB,EAAOG,EAEzB,EAU+ChB,SAAA,CACzCT,GACCY,EAACc,EAAM,CAAAC,MAAM,OAAOC,UAAW,EAACnB,SAC9BG,EAACiB,GAAMd,QAAQ,SAASe,SAAS,QAC9BrB,SAAAT,EAAM+B,YAIbnB,EAACoB,EAAS,CACRC,OAAO,SACPC,WACA,EAAAC,GAAG,QACHC,MAAM,gBACNC,KAAK,QACLC,aAAa,QACbC,WACA,EAAAC,SAAUzC,EACV0C,KAAK,QACLC,WAAY,CAAEC,KAAM,SACpB3C,QAASE,EACT0C,WAAY1C,IAEdU,EAACoB,EACC,CAAAC,OAAO,SACPC,aACAS,KAAK,QACLN,KAAK,WACLD,MAAM,WACNK,KAAK,WACLN,GAAG,WACHK,SAAUzC,EACVuC,aAAa,mBACbI,WAAY,CAAEC,KAAM,SACpB3C,QAASK,EACTuC,WAAYvC,IAEdO,EAACiC,GACCJ,KAAK,SACLP,WAAS,EACTnB,QAAQ,YACRhB,QAASA,EACTyC,SAAUzC,EACV4C,KAAK,SACLG,GAAI,CAAEC,GAAI,GAGItC,SAAA,iBAGpB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@mui/material");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=t(require("react"));exports.SkeletonCard=({width:t="100%",animation:r=!1})=>a.default.createElement(e.Box,{width:t},a.default.createElement(e.Skeleton,{animation:r,variant:"rectangular",height:118}),a.default.createElement(e.Skeleton,{animation:r,variant:"rectangular",height:16,sx:{my:1}}),a.default.createElement(e.Skeleton,{animation:r,variant:"rectangular",width:"80%",height:16}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/Box"),a=require("@mui/material/Skeleton");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(t),n=i(a);exports.SkeletonCard=({width:t="100%",animation:a=!1})=>e.jsxs(r.default,{width:t,children:[e.jsx(n.default,{animation:a,variant:"rectangular",height:118}),e.jsx(n.default,{animation:a,variant:"rectangular",height:16,sx:{my:1}}),e.jsx(n.default,{animation:a,variant:"rectangular",width:"80%",height:16})]});
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/skeleton-card/skeleton-card.tsx"],"sourcesContent":["import { Box, Skeleton } from \"@mui/material\";\nimport React from \"react\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n"],"names":["width","animation","React","createElement","Box","Skeleton","variant","height","sx","my"],"mappings":"0NAQ4B,EAAGA,QAAQ,OAAQC,aAAY,KAEvDC,EAAC,QAAAC,cAAAC,EAAGA,IAAC,CAAAJ,MAAOA,GACVE,UAAAC,cAACE,EAAQA,SAAA,CAACJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,MAC9DL,EAAAA,QAACC,cAAAE,EAAAA,UAASJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EP,EAAAA,QAACC,cAAAE,EAAAA,UAASJ,UAAWA,EAAWK,QAAQ,cAAcN,MAAM,MAAMO,OAAQ"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/skeleton-card/skeleton-card.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\nimport Skeleton from \"@mui/material/Skeleton\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n"],"names":["width","animation","_jsxs","jsxs","Box","children","_jsx","Skeleton","variant","height","sx","my","jsx"],"mappings":"yRAQ4B,EAAGA,QAAQ,OAAQC,aAAY,KAEvDC,EAAAC,KAACC,UAAG,CAACJ,MAAOA,EACVK,SAAA,CAAAC,EAAAA,IAACC,EAAQ,QAAA,CAACN,UAAWA,EAAWO,QAAQ,cAAcC,OAAQ,MAC9DH,EAAAA,IAACC,EAAQ,QAAA,CAACN,UAAWA,EAAWO,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EL,EAAAM,IAACL,UAAS,CAAAN,UAAWA,EAAWO,QAAQ,cAAcR,MAAM,MAAMS,OAAQ"}
@@ -1,2 +1,2 @@
1
- import{Box as t,Skeleton as a}from"@mui/material";import e from"react";const i=({width:i="100%",animation:r=!1})=>e.createElement(t,{width:i},e.createElement(a,{animation:r,variant:"rectangular",height:118}),e.createElement(a,{animation:r,variant:"rectangular",height:16,sx:{my:1}}),e.createElement(a,{animation:r,variant:"rectangular",width:"80%",height:16}));export{i as SkeletonCard};
1
+ import{jsxs as i,jsx as t}from"react/jsx-runtime";import a from"@mui/material/Box";import r from"@mui/material/Skeleton";const n=({width:n="100%",animation:m=!1})=>i(a,{width:n,children:[t(r,{animation:m,variant:"rectangular",height:118}),t(r,{animation:m,variant:"rectangular",height:16,sx:{my:1}}),t(r,{animation:m,variant:"rectangular",width:"80%",height:16})]});export{n as SkeletonCard};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/skeleton-card/skeleton-card.tsx"],"sourcesContent":["import { Box, Skeleton } from \"@mui/material\";\nimport React from \"react\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n"],"names":["SkeletonCard","width","animation","React","createElement","Box","Skeleton","variant","height","sx","my"],"mappings":"uEAQO,MAAMA,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAACC,cAAAC,EAAI,CAAAJ,MAAOA,GACVE,EAAAC,cAACE,EAAQ,CAACJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,MAC9DL,EAACC,cAAAE,GAASJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EP,EAACC,cAAAE,GAASJ,UAAWA,EAAWK,QAAQ,cAAcN,MAAM,MAAMO,OAAQ"}
1
+ {"version":3,"file":"index.js","sources":["../../src/skeleton-card/skeleton-card.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\nimport Skeleton from \"@mui/material/Skeleton\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n"],"names":["SkeletonCard","width","animation","_jsxs","Box","children","_jsx","Skeleton","variant","height","sx","my"],"mappings":"yHAQO,MAAMA,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAACC,EAAG,CAACH,MAAOA,EACVI,SAAA,CAAAC,EAACC,EAAQ,CAACL,UAAWA,EAAWM,QAAQ,cAAcC,OAAQ,MAC9DH,EAACC,EAAQ,CAACL,UAAWA,EAAWM,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EL,EAACC,EAAS,CAAAL,UAAWA,EAAWM,QAAQ,cAAcP,MAAM,MAAMQ,OAAQ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@mui/material");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=t(require("react"));const r=({width:t="100%",animation:r=!1})=>a.default.createElement(e.Box,{width:t},a.default.createElement(e.Skeleton,{animation:r,variant:"rectangular",height:118}),a.default.createElement(e.Skeleton,{animation:r,variant:"rectangular",height:16,sx:{my:1}}),a.default.createElement(e.Skeleton,{animation:r,variant:"rectangular",width:"80%",height:16}));exports.SkeletonGrid=({size:t=20})=>a.default.createElement(e.Grid,{container:!0,spacing:2},((e,t)=>new Array(e).fill(t))(t,0).map(((t,n)=>a.default.createElement(e.Grid,{item:!0,key:n,xs:4},a.default.createElement(r,{width:1})))));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("@mui/material/Grid");require("@mui/material");var t=require("@mui/material/Box"),a=require("@mui/material/Skeleton");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(i),u=r(t),l=r(a);const d=(e,i)=>new Array(e).fill(i),s=({width:i="100%",animation:t=!1})=>e.jsxs(u.default,{width:i,children:[e.jsx(l.default,{animation:t,variant:"rectangular",height:118}),e.jsx(l.default,{animation:t,variant:"rectangular",height:16,sx:{my:1}}),e.jsx(l.default,{animation:t,variant:"rectangular",width:"80%",height:16})]});exports.SkeletonGrid=({size:i=20})=>e.jsx(n.default,{container:!0,spacing:2,children:d(i,0).map(((i,t)=>e.jsx(n.default,{item:!0,xs:4,children:e.jsx(s,{width:1})},t)))});
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/arrays.ts","../../../src/skeleton-card/skeleton-card.tsx","../../../src/skeleton-grid/skeleton-grid.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import { Box, Skeleton } from \"@mui/material\";\nimport React from \"react\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n","import { Grid } from \"@mui/material\";\nimport React from \"react\";\nimport { newArrayWithSize } from \"~/utils\";\nimport { SkeletonCard } from \"../skeleton-card\";\n\nexport interface SkeletonGridProps {\n size?: number;\n}\n\nexport const SkeletonGrid = ({ size = 20 }: SkeletonGridProps) => {\n return (\n <Grid container spacing={2}>\n {newArrayWithSize(size, 0).map((_, i) => (\n <Grid item key={i} xs={4}>\n <SkeletonCard width={1} />\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":["SkeletonCard","width","animation","React","createElement","Box","Skeleton","variant","height","sx","my","size","Grid","container","spacing","fillValue","Array","fill","newArrayWithSize","map","_","i","item","key","xs"],"mappings":"qMAAO,MCQMA,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAAC,QAAAC,cAAAC,EAAGA,IAAC,CAAAJ,MAAOA,GACVE,UAAAC,cAACE,EAAQA,SAAA,CAACJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,MAC9DL,EAAAA,QAACC,cAAAE,EAAAA,UAASJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EP,EAAAA,QAACC,cAAAE,EAAAA,UAASJ,UAAWA,EAAWK,QAAQ,cAAcN,MAAM,MAAMO,OAAQ,2BCJpD,EAAGG,OAAO,MAElCR,UAACC,cAAAQ,EAAIA,KAAC,CAAAC,aAAUC,QAAS,GFXG,EAAIH,EAAcI,IAAiB,IAAIC,MAAML,GAAMM,KAAKF,GEYjFG,CAAiBP,EAAM,GAAGQ,KAAI,CAACC,EAAGC,IACjClB,EAAC,QAAAC,cAAAQ,EAAIA,KAAC,CAAAU,QAAKC,IAAKF,EAAGG,GAAI,GACrBrB,UAACC,cAAAJ,EAAa,CAAAC,MAAO"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/arrays.ts","../../../src/skeleton-card/skeleton-card.tsx","../../../src/skeleton-grid/skeleton-grid.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import Box from \"@mui/material/Box\";\nimport Skeleton from \"@mui/material/Skeleton\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport { newArrayWithSize } from \"../utils\";\nimport { SkeletonCard } from \"../skeleton-card\";\n\nexport interface SkeletonGridProps {\n size?: number;\n}\n\nexport const SkeletonGrid = ({ size = 20 }: SkeletonGridProps) => {\n return (\n <Grid container spacing={2}>\n {newArrayWithSize(size, 0).map((_, i) => (\n <Grid item key={i} xs={4}>\n <SkeletonCard width={1} />\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":["newArrayWithSize","size","fillValue","Array","fill","SkeletonCard","width","animation","_jsxs","jsxs","Box","children","_jsx","Skeleton","variant","height","sx","my","jsx","Grid","container","spacing","map","_","i","item","xs"],"mappings":"wUAAO,MAAMA,EAAmB,CAAIC,EAAcC,IAAiB,IAAIC,MAAMF,GAAMG,KAAKF,GCQ3EG,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAAAC,KAACC,UAAG,CAACJ,MAAOA,EACVK,SAAA,CAAAC,EAAAA,IAACC,EAAQ,QAAA,CAACN,UAAWA,EAAWO,QAAQ,cAAcC,OAAQ,MAC9DH,EAAAA,IAACC,EAAQ,QAAA,CAACN,UAAWA,EAAWO,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EL,EAAAM,IAACL,UAAS,CAAAN,UAAWA,EAAWO,QAAQ,cAAcR,MAAM,MAAMS,OAAQ,6BCLpD,EAAGd,OAAO,MAElCW,EAAAA,IAACO,EAAAA,QAAI,CAACC,WAAU,EAAAC,QAAS,EACtBV,SAAAX,EAAiBC,EAAM,GAAGqB,KAAI,CAACC,EAAGC,IACjCZ,EAAAA,IAACO,EAAAA,QAAK,CAAAM,QAAaC,GAAI,EAACf,SACtBC,MAACP,GAAaC,MAAO,KADPkB"}
@@ -1,2 +1,2 @@
1
- import{Box as e,Skeleton as t,Grid as a}from"@mui/material";import i from"react";const n=({width:a="100%",animation:n=!1})=>i.createElement(e,{width:a},i.createElement(t,{animation:n,variant:"rectangular",height:118}),i.createElement(t,{animation:n,variant:"rectangular",height:16,sx:{my:1}}),i.createElement(t,{animation:n,variant:"rectangular",width:"80%",height:16})),r=({size:e=20})=>i.createElement(a,{container:!0,spacing:2},((e,t)=>new Array(e).fill(t))(e,0).map(((e,t)=>i.createElement(a,{item:!0,key:t,xs:4},i.createElement(n,{width:1})))));export{r as SkeletonGrid};
1
+ import{jsxs as i,jsx as a}from"react/jsx-runtime";import t from"@mui/material/Grid";import"@mui/material";import r from"@mui/material/Box";import m from"@mui/material/Skeleton";const n=(i,a)=>new Array(i).fill(a),e=({width:t="100%",animation:n=!1})=>i(r,{width:t,children:[a(m,{animation:n,variant:"rectangular",height:118}),a(m,{animation:n,variant:"rectangular",height:16,sx:{my:1}}),a(m,{animation:n,variant:"rectangular",width:"80%",height:16})]}),o=({size:i=20})=>a(t,{container:!0,spacing:2,children:n(i,0).map(((i,r)=>a(t,{item:!0,xs:4,children:a(e,{width:1})},r)))});export{o as SkeletonGrid};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/arrays.ts","../../src/skeleton-card/skeleton-card.tsx","../../src/skeleton-grid/skeleton-grid.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import { Box, Skeleton } from \"@mui/material\";\nimport React from \"react\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n","import { Grid } from \"@mui/material\";\nimport React from \"react\";\nimport { newArrayWithSize } from \"~/utils\";\nimport { SkeletonCard } from \"../skeleton-card\";\n\nexport interface SkeletonGridProps {\n size?: number;\n}\n\nexport const SkeletonGrid = ({ size = 20 }: SkeletonGridProps) => {\n return (\n <Grid container spacing={2}>\n {newArrayWithSize(size, 0).map((_, i) => (\n <Grid item key={i} xs={4}>\n <SkeletonCard width={1} />\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":["SkeletonCard","width","animation","React","createElement","Box","Skeleton","variant","height","sx","my","SkeletonGrid","size","Grid","container","spacing","fillValue","Array","fill","newArrayWithSize","map","_","i","item","key","xs"],"mappings":"iFAAO,MCQMA,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAACC,cAAAC,EAAI,CAAAJ,MAAOA,GACVE,EAAAC,cAACE,EAAQ,CAACJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,MAC9DL,EAACC,cAAAE,GAASJ,UAAWA,EAAWK,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EP,EAACC,cAAAE,GAASJ,UAAWA,EAAWK,QAAQ,cAAcN,MAAM,MAAMO,OAAQ,MCJnEG,EAAe,EAAGC,OAAO,MAElCT,EAACC,cAAAS,EAAK,CAAAC,aAAUC,QAAS,GFXG,EAAIH,EAAcI,IAAiB,IAAIC,MAAML,GAAMM,KAAKF,GEYjFG,CAAiBP,EAAM,GAAGQ,KAAI,CAACC,EAAGC,IACjCnB,EAACC,cAAAS,EAAK,CAAAU,QAAKC,IAAKF,EAAGG,GAAI,GACrBtB,EAACC,cAAAJ,EAAa,CAAAC,MAAO"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/arrays.ts","../../src/skeleton-card/skeleton-card.tsx","../../src/skeleton-grid/skeleton-grid.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import Box from \"@mui/material/Box\";\nimport Skeleton from \"@mui/material/Skeleton\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport { newArrayWithSize } from \"../utils\";\nimport { SkeletonCard } from \"../skeleton-card\";\n\nexport interface SkeletonGridProps {\n size?: number;\n}\n\nexport const SkeletonGrid = ({ size = 20 }: SkeletonGridProps) => {\n return (\n <Grid container spacing={2}>\n {newArrayWithSize(size, 0).map((_, i) => (\n <Grid item key={i} xs={4}>\n <SkeletonCard width={1} />\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":["newArrayWithSize","size","fillValue","Array","fill","SkeletonCard","width","animation","_jsxs","Box","children","_jsx","Skeleton","variant","height","sx","my","SkeletonGrid","Grid","container","spacing","map","_","i","item","xs"],"mappings":"iLAAO,MAAMA,EAAmB,CAAIC,EAAcC,IAAiB,IAAIC,MAAMF,GAAMG,KAAKF,GCQ3EG,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAACC,EAAG,CAACH,MAAOA,EACVI,SAAA,CAAAC,EAACC,EAAQ,CAACL,UAAWA,EAAWM,QAAQ,cAAcC,OAAQ,MAC9DH,EAACC,EAAQ,CAACL,UAAWA,EAAWM,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EL,EAACC,EAAS,CAAAL,UAAWA,EAAWM,QAAQ,cAAcP,MAAM,MAAMQ,OAAQ,QCLnEG,EAAe,EAAGhB,OAAO,MAElCU,EAACO,EAAI,CAACC,WAAU,EAAAC,QAAS,EACtBV,SAAAV,EAAiBC,EAAM,GAAGoB,KAAI,CAACC,EAAGC,IACjCZ,EAACO,EAAK,CAAAM,QAAaC,GAAI,EAACf,SACtBC,EAACN,GAAaC,MAAO,KADPiB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@mui/material"),t=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(t);const r=t.createContext([0,()=>null]),i=r.Provider,l=e.styled((t=>n.default.createElement(e.Tabs,{...t,TabIndicatorProps:{children:n.default.createElement("span",{className:"MuiTabs-indicatorSpan"})}})))((({theme:e})=>({minHeight:e.spacing(5),"& .MuiTabs-indicator":{display:"flex",justifyContent:"center",backgroundColor:"transparent"},"& .MuiTabs-indicatorSpan":{maxWidth:40,width:"100%",backgroundColor:e.palette.primary.main}}))),o=e.styled(e.Tab)((({theme:e})=>({textTransform:"none",fontWeight:e.typography.fontWeightRegular,marginRight:e.spacing(1),color:e.palette.text.secondary,paddingTop:0,paddingBottom:0,minHeight:e.spacing(5),"&.Mui-selected":{color:e.palette.text.secondary,fontWeight:e.typography.fontWeightBold}})));exports.TabCard=({children:a,tabs:r,initialTab:d=0,onChangeTab:c=(()=>null)})=>{const s=(({lightWeight:t=100,darkWeight:a=900}={})=>{const{palette:n}=e.useTheme();return"light"===n.mode?n.grey[t]:n.grey[a]})(),[u,p]=t.useState(d);return n.default.createElement(i,{value:[u,p]},n.default.createElement(e.Paper,{variant:"outlined"},n.default.createElement(e.Box,{bgcolor:s},n.default.createElement(l,{value:u,onChange:(e,t)=>{p(t),c(r[t],t)}},r.map((({text:e,icon:t})=>n.default.createElement(o,{iconPosition:"start",disableRipple:!0,key:e,label:e,icon:t}))))),a))},exports.TabCardPanel=({index:a,children:i,sx:l})=>{const[o]=t.useContext(r);let d=o===a;return Array.isArray(a)&&(d=a.includes(o)),d?n.default.createElement(e.Box,{sx:l},i):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/styles"),r=require("@mui/material/Paper"),a=require("@mui/material/Tabs"),i=require("@mui/material/Tab"),n=require("@mui/material/Box"),l=require("react"),o=require("@mui/material");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(r),d=s(a),c=s(i),p=s(n);const h=l.createContext([0,()=>null]),g=h.Provider,m=t.styled((t=>e.jsx(d.default,{...t,TabIndicatorProps:{children:e.jsx("span",{className:"MuiTabs-indicatorSpan"})}})))((({theme:e})=>({minHeight:e.spacing(5),"& .MuiTabs-indicator":{display:"flex",justifyContent:"center",backgroundColor:"transparent"},"& .MuiTabs-indicatorSpan":{maxWidth:40,width:"100%",backgroundColor:e.palette.primary.main}}))),x=t.styled(c.default)((({theme:e})=>({textTransform:"none",fontWeight:e.typography.fontWeightRegular,marginRight:e.spacing(1),color:e.palette.text.secondary,paddingTop:0,paddingBottom:0,minHeight:e.spacing(5),"&.Mui-selected":{color:e.palette.text.secondary,fontWeight:e.typography.fontWeightBold}})));exports.TabCard=({children:t,tabs:r,initialTab:a=0,onChangeTab:i=(()=>null)})=>{const n=(({lightWeight:e=100,darkWeight:t=900}={})=>{const{palette:r}=o.useTheme();return"light"===r.mode?r.grey[e]:r.grey[t]})(),[s,d]=l.useState(a);return e.jsx(g,{value:[s,d],children:e.jsxs(u.default,{variant:"outlined",children:[e.jsx(p.default,{bgcolor:n,children:e.jsx(m,{value:s,onChange:(e,t)=>{d(t),i(r[t],t)},children:r.map((({text:t,icon:r})=>e.jsx(x,{iconPosition:"start",disableRipple:!0,label:t,icon:r},t)))})}),t]})})},exports.TabCardPanel=({index:t,children:r,sx:a})=>{const[i]=l.useContext(h);let n=i===t;return Array.isArray(t)&&(n=t.includes(i)),n?e.jsx(p.default,{sx:a,children:r}):null};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/tab-card/tab-card.context.tsx","../../../src/tab-card/tab-card.tsx","../../../src/utils/theme.ts","../../../src/tab-card/tab-card-panel.tsx"],"sourcesContent":["import { createContext, Dispatch, SetStateAction } from \"react\";\n\nexport const TabCardContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabCardContextProvider = TabCardContext.Provider;\n","import { Paper, Tabs, Tab, styled, Box } from \"@mui/material\";\nimport React, { PropsWithChildren, ReactElement, SyntheticEvent, useState } from \"react\";\nimport { TabCardContextProvider } from \"./tab-card.context\";\nimport { useGetDefaultThemeColor } from \"~/utils\";\n\nexport interface TabData {\n text: string;\n icon?: ReactElement;\n}\n\ninterface StyledTabsProps {\n children?: React.ReactNode;\n value: number;\n onChange: (event: React.SyntheticEvent, newValue: number) => void;\n}\n\nconst StyledTabs = styled((props: StyledTabsProps) => (\n <Tabs {...props} TabIndicatorProps={{ children: <span className=\"MuiTabs-indicatorSpan\" /> }} />\n))(({ theme }) => ({\n minHeight: theme.spacing(5),\n \"& .MuiTabs-indicator\": {\n display: \"flex\",\n justifyContent: \"center\",\n backgroundColor: \"transparent\",\n },\n \"& .MuiTabs-indicatorSpan\": {\n maxWidth: 40,\n width: \"100%\",\n backgroundColor: theme.palette.primary.main,\n },\n}));\n\nconst StyledTab = styled(Tab)(({ theme }) => ({\n textTransform: \"none\",\n fontWeight: theme.typography.fontWeightRegular,\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary,\n paddingTop: 0,\n paddingBottom: 0,\n minHeight: theme.spacing(5),\n \"&.Mui-selected\": {\n color: theme.palette.text.secondary,\n fontWeight: theme.typography.fontWeightBold,\n },\n}));\n\nexport type TabCardProps = PropsWithChildren<{\n tabs: TabData[];\n initialTab?: number;\n onChangeTab?: (tab: TabData, index: number) => void;\n}>;\n\nexport const TabCard = ({\n children,\n tabs,\n initialTab = 0,\n onChangeTab = () => null,\n}: TabCardProps) => {\n const bgColor = useGetDefaultThemeColor();\n const [selectedTab, setSelectedTab] = useState(initialTab);\n\n const handleChangeTab = (_: SyntheticEvent<Element, Event>, index: number) => {\n setSelectedTab(index);\n onChangeTab(tabs[index], index);\n };\n\n return (\n <TabCardContextProvider value={[selectedTab, setSelectedTab]}>\n <Paper variant=\"outlined\">\n <Box bgcolor={bgColor}>\n <StyledTabs value={selectedTab} onChange={handleChangeTab}>\n {tabs.map(({ text, icon }) => (\n <StyledTab iconPosition=\"start\" disableRipple key={text} label={text} icon={icon} />\n ))}\n </StyledTabs>\n </Box>\n {children}\n </Paper>\n </TabCardContextProvider>\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","import { PropsWithChildren, useContext } from \"react\";\nimport { TabCardContext } from \"./tab-card.context\";\nimport React from \"react\";\nimport { Box, SxProps, Theme } from \"@mui/material\";\n\nexport type TabCardPanelProps = PropsWithChildren<{\n index: number | number[];\n sx?: SxProps<Theme>;\n}>;\n\nexport const TabCardPanel = ({ index, children, sx }: TabCardPanelProps) => {\n const [value] = useContext(TabCardContext);\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return isTab ? <Box sx={sx}>{children}</Box> : null;\n};\n"],"names":["TabCardContext","createContext","TabCardContextProvider","Provider","StyledTabs","styled","props","React","Tabs","TabIndicatorProps","children","className","theme","minHeight","spacing","display","justifyContent","backgroundColor","maxWidth","width","palette","primary","main","StyledTab","Tab","textTransform","fontWeight","typography","fontWeightRegular","marginRight","color","text","secondary","paddingTop","paddingBottom","fontWeightBold","tabs","initialTab","onChangeTab","bgColor","lightWeight","darkWeight","useTheme","mode","grey","useGetDefaultThemeColor","selectedTab","setSelectedTab","useState","createElement","value","Paper","variant","Box","bgcolor","onChange","_","index","map","icon","iconPosition","disableRipple","key","label","sx","useContext","isTab","Array","isArray","includes"],"mappings":"yMAEO,MAAMA,EAAiBC,EAAAA,cAA0D,CACtF,EACA,IAAM,OAEKC,EAAyBF,EAAeG,SCU/CC,EAAaC,EAAMA,QAAEC,GACzBC,wBAACC,EAAIA,KAAA,IAAKF,EAAOG,kBAAmB,CAAEC,SAAUH,gCAAMI,UAAU,8BAD/CN,EAEhB,EAAGO,YAAa,CACjBC,UAAWD,EAAME,QAAQ,GACzB,uBAAwB,CACtBC,QAAS,OACTC,eAAgB,SAChBC,gBAAiB,eAEnB,2BAA4B,CAC1BC,SAAU,GACVC,MAAO,OACPF,gBAAiBL,EAAMQ,QAAQC,QAAQC,UAIrCC,EAAYlB,EAAAA,OAAOmB,EAAAA,IAAPnB,EAAY,EAAGO,YAAa,CAC5Ca,cAAe,OACfC,WAAYd,EAAMe,WAAWC,kBAC7BC,YAAajB,EAAME,QAAQ,GAC3BgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BC,WAAY,EACZC,cAAe,EACfrB,UAAWD,EAAME,QAAQ,GACzB,iBAAkB,CAChBgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BN,WAAYd,EAAMe,WAAWQ,oCAUV,EACrBzB,WACA0B,OACAC,aAAa,EACbC,cAAc,KAAM,UAEpB,MAAMC,ECtD+B,GACrCC,cAAc,IACdC,aAAa,KACwC,MACrD,MAAMrB,QAAEA,GAAYsB,EAAAA,WACpB,MAAwB,UAAjBtB,EAAQuB,KAAmBvB,EAAQwB,KAAKJ,GAAepB,EAAQwB,KAAKH,EAAW,EDiDtEI,IACTC,EAAaC,GAAkBC,EAAQA,SAACX,GAO/C,OACE9B,EAAAA,QAAC0C,cAAA/C,EAAuB,CAAAgD,MAAO,CAACJ,EAAaC,IAC3CxC,EAAAA,QAAA0C,cAACE,EAAAA,MAAK,CAACC,QAAQ,YACb7C,EAAAA,QAAA0C,cAACI,EAAAA,IAAG,CAACC,QAASf,GACZhC,EAAAA,QAAC0C,cAAA7C,GAAW8C,MAAOJ,EAAaS,SAThB,CAACC,EAAmCC,KAC1DV,EAAeU,GACfnB,EAAYF,EAAKqB,GAAQA,EAAM,GAQtBrB,EAAKsB,KAAI,EAAG3B,OAAM4B,UACjBpD,wBAACgB,EAAS,CAACqC,aAAa,QAAQC,eAAa,EAACC,IAAK/B,EAAMgC,MAAOhC,EAAM4B,KAAMA,QAIjFjD,GAGL,uBErEwB,EAAG+C,QAAO/C,WAAUsD,SAC9C,MAAOd,GAASe,EAAUA,WAACjE,GAC3B,IAAIkE,EAAQhB,IAAUO,EAKtB,OAJIU,MAAMC,QAAQX,KAChBS,EAAQT,EAAMY,SAASnB,IAGlBgB,EAAQ3D,UAAA0C,cAACI,EAAGA,IAAC,CAAAW,GAAIA,GAAKtD,GAAkB,IAAI"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/tab-card/tab-card.context.tsx","../../../src/tab-card/tab-card.tsx","../../../src/utils/theme.ts","../../../src/tab-card/tab-card-panel.tsx"],"sourcesContent":["import { createContext, Dispatch, SetStateAction } from \"react\";\n\nexport const TabCardContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabCardContextProvider = TabCardContext.Provider;\n","import { styled } from \"@mui/material/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport Box from \"@mui/material/Box\";\nimport { PropsWithChildren, ReactElement, SyntheticEvent, useState } from \"react\";\nimport { TabCardContextProvider } from \"./tab-card.context\";\nimport { useGetDefaultThemeColor } from \"../utils\";\n\nexport interface TabData {\n text: string;\n icon?: ReactElement;\n}\n\ninterface StyledTabsProps {\n children?: React.ReactNode;\n value: number;\n onChange: (event: React.SyntheticEvent, newValue: number) => void;\n}\n\nconst StyledTabs = styled((props: StyledTabsProps) => (\n <Tabs {...props} TabIndicatorProps={{ children: <span className=\"MuiTabs-indicatorSpan\" /> }} />\n))(({ theme }) => ({\n minHeight: theme.spacing(5),\n \"& .MuiTabs-indicator\": {\n display: \"flex\",\n justifyContent: \"center\",\n backgroundColor: \"transparent\",\n },\n \"& .MuiTabs-indicatorSpan\": {\n maxWidth: 40,\n width: \"100%\",\n backgroundColor: theme.palette.primary.main,\n },\n}));\n\nconst StyledTab = styled(Tab)(({ theme }) => ({\n textTransform: \"none\",\n fontWeight: theme.typography.fontWeightRegular,\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary,\n paddingTop: 0,\n paddingBottom: 0,\n minHeight: theme.spacing(5),\n \"&.Mui-selected\": {\n color: theme.palette.text.secondary,\n fontWeight: theme.typography.fontWeightBold,\n },\n}));\n\nexport type TabCardProps = PropsWithChildren<{\n tabs: TabData[];\n initialTab?: number;\n onChangeTab?: (tab: TabData, index: number) => void;\n}>;\n\nexport const TabCard = ({\n children,\n tabs,\n initialTab = 0,\n onChangeTab = () => null,\n}: TabCardProps) => {\n const bgColor = useGetDefaultThemeColor();\n const [selectedTab, setSelectedTab] = useState(initialTab);\n\n const handleChangeTab = (_: SyntheticEvent<Element, Event>, index: number) => {\n setSelectedTab(index);\n onChangeTab(tabs[index], index);\n };\n\n return (\n <TabCardContextProvider value={[selectedTab, setSelectedTab]}>\n <Paper variant=\"outlined\">\n <Box bgcolor={bgColor}>\n <StyledTabs value={selectedTab} onChange={handleChangeTab}>\n {tabs.map(({ text, icon }) => (\n <StyledTab iconPosition=\"start\" disableRipple key={text} label={text} icon={icon} />\n ))}\n </StyledTabs>\n </Box>\n {children}\n </Paper>\n </TabCardContextProvider>\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","import { PropsWithChildren, useContext } from \"react\";\nimport { TabCardContext } from \"./tab-card.context\";\nimport { SxProps, Theme } from \"@mui/material\";\nimport Box from \"@mui/material/Box\";\n\nexport type TabCardPanelProps = PropsWithChildren<{\n index: number | number[];\n sx?: SxProps<Theme>;\n}>;\n\nexport const TabCardPanel = ({ index, children, sx }: TabCardPanelProps) => {\n const [value] = useContext(TabCardContext);\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return isTab ? <Box sx={sx}>{children}</Box> : null;\n};\n"],"names":["TabCardContext","createContext","TabCardContextProvider","Provider","StyledTabs","styled","props","_jsx","Tabs","TabIndicatorProps","children","className","theme","minHeight","spacing","display","justifyContent","backgroundColor","maxWidth","width","palette","primary","main","StyledTab","Tab","textTransform","fontWeight","typography","fontWeightRegular","marginRight","color","text","secondary","paddingTop","paddingBottom","fontWeightBold","tabs","initialTab","onChangeTab","bgColor","lightWeight","darkWeight","useTheme","mode","grey","useGetDefaultThemeColor","selectedTab","setSelectedTab","useState","value","_jsxs","Paper","variant","jsx","Box","bgcolor","onChange","_","index","map","icon","iconPosition","disableRipple","label","sx","useContext","isTab","Array","isArray","includes"],"mappings":"8ZAEO,MAAMA,EAAiBC,EAAAA,cAA0D,CACtF,EACA,IAAM,OAEKC,EAAyBF,EAAeG,SCc/CC,EAAaC,EAAAA,QAAQC,GACzBC,MAACC,EAAI,QAAA,IAAKF,EAAOG,kBAAmB,CAAEC,SAAUH,cAAMI,UAAU,8BAD/CN,EAEhB,EAAGO,YAAa,CACjBC,UAAWD,EAAME,QAAQ,GACzB,uBAAwB,CACtBC,QAAS,OACTC,eAAgB,SAChBC,gBAAiB,eAEnB,2BAA4B,CAC1BC,SAAU,GACVC,MAAO,OACPF,gBAAiBL,EAAMQ,QAAQC,QAAQC,UAIrCC,EAAYlB,EAAAA,OAAOmB,EAAAA,QAAPnB,EAAY,EAAGO,YAAa,CAC5Ca,cAAe,OACfC,WAAYd,EAAMe,WAAWC,kBAC7BC,YAAajB,EAAME,QAAQ,GAC3BgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BC,WAAY,EACZC,cAAe,EACfrB,UAAWD,EAAME,QAAQ,GACzB,iBAAkB,CAChBgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BN,WAAYd,EAAMe,WAAWQ,oCAUV,EACrBzB,WACA0B,OACAC,aAAa,EACbC,cAAc,KAAM,UAEpB,MAAMC,EC1D+B,GACrCC,cAAc,IACdC,aAAa,KACwC,MACrD,MAAMrB,QAAEA,GAAYsB,EAAAA,WACpB,MAAwB,UAAjBtB,EAAQuB,KAAmBvB,EAAQwB,KAAKJ,GAAepB,EAAQwB,KAAKH,EAAW,EDqDtEI,IACTC,EAAaC,GAAkBC,EAAQA,SAACX,GAO/C,OACE9B,MAACL,EAAuB,CAAA+C,MAAO,CAACH,EAAaC,GAC3CrC,SAAAwC,EAAAA,KAACC,EAAK,QAAA,CAACC,QAAQ,WACb1C,SAAA,CAAAH,EAAA8C,IAACC,UAAI,CAAAC,QAAShB,WACZhC,EAAAA,IAACH,EAAW,CAAA6C,MAAOH,EAAaU,SAThB,CAACC,EAAmCC,KAC1DX,EAAeW,GACfpB,EAAYF,EAAKsB,GAAQA,EAAM,WAQtBtB,EAAKuB,KAAI,EAAG5B,OAAM6B,UACjBrD,MAACgB,EAAS,CAACsC,aAAa,QAAQC,eAAa,EAAYC,MAAOhC,EAAM6B,KAAMA,GAAzB7B,SAIxDrB,MAGL,uBEzEwB,EAAGgD,QAAOhD,WAAUsD,SAC9C,MAAOf,GAASgB,EAAUA,WAACjE,GAC3B,IAAIkE,EAAQjB,IAAUS,EAKtB,OAJIS,MAAMC,QAAQV,KAChBQ,EAAQR,EAAMW,SAASpB,IAGlBiB,EAAQ3D,MAAC+C,EAAAA,QAAI,CAAAU,GAAIA,WAAKtD,IAAkB,IAAI"}
package/tab-card/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{useTheme as e,styled as t,Tabs as n,Tab as a,Paper as r,Box as i}from"@mui/material";import o,{createContext as l,useState as c,useContext as s}from"react";const d=l([0,()=>null]),g=d.Provider,m=t((e=>o.createElement(n,{...e,TabIndicatorProps:{children:o.createElement("span",{className:"MuiTabs-indicatorSpan"})}})))((({theme:e})=>({minHeight:e.spacing(5),"& .MuiTabs-indicator":{display:"flex",justifyContent:"center",backgroundColor:"transparent"},"& .MuiTabs-indicatorSpan":{maxWidth:40,width:"100%",backgroundColor:e.palette.primary.main}}))),p=t(a)((({theme:e})=>({textTransform:"none",fontWeight:e.typography.fontWeightRegular,marginRight:e.spacing(1),color:e.palette.text.secondary,paddingTop:0,paddingBottom:0,minHeight:e.spacing(5),"&.Mui-selected":{color:e.palette.text.secondary,fontWeight:e.typography.fontWeightBold}}))),h=({children:t,tabs:n,initialTab:a=0,onChangeTab:l=(()=>null)})=>{const s=(({lightWeight:t=100,darkWeight:n=900}={})=>{const{palette:a}=e();return"light"===a.mode?a.grey[t]:a.grey[n]})(),[d,h]=c(a);return o.createElement(g,{value:[d,h]},o.createElement(r,{variant:"outlined"},o.createElement(i,{bgcolor:s},o.createElement(m,{value:d,onChange:(e,t)=>{h(t),l(n[t],t)}},n.map((({text:e,icon:t})=>o.createElement(p,{iconPosition:"start",disableRipple:!0,key:e,label:e,icon:t}))))),t))},u=({index:e,children:t,sx:n})=>{const[a]=s(d);let r=a===e;return Array.isArray(e)&&(r=e.includes(a)),r?o.createElement(i,{sx:n},t):null};export{h as TabCard,u as TabCardPanel};
1
+ import{jsx as t,jsxs as i}from"react/jsx-runtime";import{styled as r}from"@mui/material/styles";import e from"@mui/material/Paper";import a from"@mui/material/Tabs";import n from"@mui/material/Tab";import o from"@mui/material/Box";import{createContext as l,useState as m,useContext as c}from"react";import{useTheme as p}from"@mui/material";const s=l([0,()=>null]),d=s.Provider,g=r((i=>t(a,{...i,TabIndicatorProps:{children:t("span",{className:"MuiTabs-indicatorSpan"})}})))((({theme:t})=>({minHeight:t.spacing(5),"& .MuiTabs-indicator":{display:"flex",justifyContent:"center",backgroundColor:"transparent"},"& .MuiTabs-indicatorSpan":{maxWidth:40,width:"100%",backgroundColor:t.palette.primary.main}}))),h=r(n)((({theme:t})=>({textTransform:"none",fontWeight:t.typography.fontWeightRegular,marginRight:t.spacing(1),color:t.palette.text.secondary,paddingTop:0,paddingBottom:0,minHeight:t.spacing(5),"&.Mui-selected":{color:t.palette.text.secondary,fontWeight:t.typography.fontWeightBold}}))),u=({children:r,tabs:a,initialTab:n=0,onChangeTab:l=(()=>null)})=>{const c=(({lightWeight:t=100,darkWeight:i=900}={})=>{const{palette:r}=p();return"light"===r.mode?r.grey[t]:r.grey[i]})(),[s,u]=m(n);return t(d,{value:[s,u],children:i(e,{variant:"outlined",children:[t(o,{bgcolor:c,children:t(g,{value:s,onChange:(t,i)=>{u(i),l(a[i],i)},children:a.map((({text:i,icon:r})=>t(h,{iconPosition:"start",disableRipple:!0,label:i,icon:r},i)))})}),r]})})},f=({index:i,children:r,sx:e})=>{const[a]=c(s);let n=a===i;return Array.isArray(i)&&(n=i.includes(a)),n?t(o,{sx:e,children:r}):null};export{u as TabCard,f as TabCardPanel};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/tab-card/tab-card.context.tsx","../../src/tab-card/tab-card.tsx","../../src/utils/theme.ts","../../src/tab-card/tab-card-panel.tsx"],"sourcesContent":["import { createContext, Dispatch, SetStateAction } from \"react\";\n\nexport const TabCardContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabCardContextProvider = TabCardContext.Provider;\n","import { Paper, Tabs, Tab, styled, Box } from \"@mui/material\";\nimport React, { PropsWithChildren, ReactElement, SyntheticEvent, useState } from \"react\";\nimport { TabCardContextProvider } from \"./tab-card.context\";\nimport { useGetDefaultThemeColor } from \"~/utils\";\n\nexport interface TabData {\n text: string;\n icon?: ReactElement;\n}\n\ninterface StyledTabsProps {\n children?: React.ReactNode;\n value: number;\n onChange: (event: React.SyntheticEvent, newValue: number) => void;\n}\n\nconst StyledTabs = styled((props: StyledTabsProps) => (\n <Tabs {...props} TabIndicatorProps={{ children: <span className=\"MuiTabs-indicatorSpan\" /> }} />\n))(({ theme }) => ({\n minHeight: theme.spacing(5),\n \"& .MuiTabs-indicator\": {\n display: \"flex\",\n justifyContent: \"center\",\n backgroundColor: \"transparent\",\n },\n \"& .MuiTabs-indicatorSpan\": {\n maxWidth: 40,\n width: \"100%\",\n backgroundColor: theme.palette.primary.main,\n },\n}));\n\nconst StyledTab = styled(Tab)(({ theme }) => ({\n textTransform: \"none\",\n fontWeight: theme.typography.fontWeightRegular,\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary,\n paddingTop: 0,\n paddingBottom: 0,\n minHeight: theme.spacing(5),\n \"&.Mui-selected\": {\n color: theme.palette.text.secondary,\n fontWeight: theme.typography.fontWeightBold,\n },\n}));\n\nexport type TabCardProps = PropsWithChildren<{\n tabs: TabData[];\n initialTab?: number;\n onChangeTab?: (tab: TabData, index: number) => void;\n}>;\n\nexport const TabCard = ({\n children,\n tabs,\n initialTab = 0,\n onChangeTab = () => null,\n}: TabCardProps) => {\n const bgColor = useGetDefaultThemeColor();\n const [selectedTab, setSelectedTab] = useState(initialTab);\n\n const handleChangeTab = (_: SyntheticEvent<Element, Event>, index: number) => {\n setSelectedTab(index);\n onChangeTab(tabs[index], index);\n };\n\n return (\n <TabCardContextProvider value={[selectedTab, setSelectedTab]}>\n <Paper variant=\"outlined\">\n <Box bgcolor={bgColor}>\n <StyledTabs value={selectedTab} onChange={handleChangeTab}>\n {tabs.map(({ text, icon }) => (\n <StyledTab iconPosition=\"start\" disableRipple key={text} label={text} icon={icon} />\n ))}\n </StyledTabs>\n </Box>\n {children}\n </Paper>\n </TabCardContextProvider>\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","import { PropsWithChildren, useContext } from \"react\";\nimport { TabCardContext } from \"./tab-card.context\";\nimport React from \"react\";\nimport { Box, SxProps, Theme } from \"@mui/material\";\n\nexport type TabCardPanelProps = PropsWithChildren<{\n index: number | number[];\n sx?: SxProps<Theme>;\n}>;\n\nexport const TabCardPanel = ({ index, children, sx }: TabCardPanelProps) => {\n const [value] = useContext(TabCardContext);\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return isTab ? <Box sx={sx}>{children}</Box> : null;\n};\n"],"names":["TabCardContext","createContext","TabCardContextProvider","Provider","StyledTabs","styled","props","React","Tabs","TabIndicatorProps","children","className","theme","minHeight","spacing","display","justifyContent","backgroundColor","maxWidth","width","palette","primary","main","StyledTab","Tab","textTransform","fontWeight","typography","fontWeightRegular","marginRight","color","text","secondary","paddingTop","paddingBottom","fontWeightBold","TabCard","tabs","initialTab","onChangeTab","bgColor","lightWeight","darkWeight","useTheme","mode","grey","useGetDefaultThemeColor","selectedTab","setSelectedTab","useState","createElement","value","Paper","variant","Box","bgcolor","onChange","_","index","map","icon","iconPosition","disableRipple","key","label","TabCardPanel","sx","useContext","isTab","Array","isArray","includes"],"mappings":"mKAEO,MAAMA,EAAiBC,EAA0D,CACtF,EACA,IAAM,OAEKC,EAAyBF,EAAeG,SCU/CC,EAAaC,GAAQC,GACzBC,gBAACC,EAAI,IAAKF,EAAOG,kBAAmB,CAAEC,SAAUH,wBAAMI,UAAU,8BAD/CN,EAEhB,EAAGO,YAAa,CACjBC,UAAWD,EAAME,QAAQ,GACzB,uBAAwB,CACtBC,QAAS,OACTC,eAAgB,SAChBC,gBAAiB,eAEnB,2BAA4B,CAC1BC,SAAU,GACVC,MAAO,OACPF,gBAAiBL,EAAMQ,QAAQC,QAAQC,UAIrCC,EAAYlB,EAAOmB,EAAPnB,EAAY,EAAGO,YAAa,CAC5Ca,cAAe,OACfC,WAAYd,EAAMe,WAAWC,kBAC7BC,YAAajB,EAAME,QAAQ,GAC3BgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BC,WAAY,EACZC,cAAe,EACfrB,UAAWD,EAAME,QAAQ,GACzB,iBAAkB,CAChBgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BN,WAAYd,EAAMe,WAAWQ,oBAUpBC,EAAU,EACrB1B,WACA2B,OACAC,aAAa,EACbC,cAAc,KAAM,UAEpB,MAAMC,ECtD+B,GACrCC,cAAc,IACdC,aAAa,KACwC,MACrD,MAAMtB,QAAEA,GAAYuB,IACpB,MAAwB,UAAjBvB,EAAQwB,KAAmBxB,EAAQyB,KAAKJ,GAAerB,EAAQyB,KAAKH,EAAW,EDiDtEI,IACTC,EAAaC,GAAkBC,EAASX,GAO/C,OACE/B,EAAC2C,cAAAhD,EAAuB,CAAAiD,MAAO,CAACJ,EAAaC,IAC3CzC,EAAA2C,cAACE,EAAK,CAACC,QAAQ,YACb9C,EAAA2C,cAACI,EAAG,CAACC,QAASf,GACZjC,EAAC2C,cAAA9C,GAAW+C,MAAOJ,EAAaS,SAThB,CAACC,EAAmCC,KAC1DV,EAAeU,GACfnB,EAAYF,EAAKqB,GAAQA,EAAM,GAQtBrB,EAAKsB,KAAI,EAAG5B,OAAM6B,UACjBrD,gBAACgB,EAAS,CAACsC,aAAa,QAAQC,eAAa,EAACC,IAAKhC,EAAMiC,MAAOjC,EAAM6B,KAAMA,QAIjFlD,GAGL,EErESuD,EAAe,EAAGP,QAAOhD,WAAUwD,SAC9C,MAAOf,GAASgB,EAAWnE,GAC3B,IAAIoE,EAAQjB,IAAUO,EAKtB,OAJIW,MAAMC,QAAQZ,KAChBU,EAAQV,EAAMa,SAASpB,IAGlBiB,EAAQ7D,EAAA2C,cAACI,EAAI,CAAAY,GAAIA,GAAKxD,GAAkB,IAAI"}
1
+ {"version":3,"file":"index.js","sources":["../../src/tab-card/tab-card.context.tsx","../../src/tab-card/tab-card.tsx","../../src/utils/theme.ts","../../src/tab-card/tab-card-panel.tsx"],"sourcesContent":["import { createContext, Dispatch, SetStateAction } from \"react\";\n\nexport const TabCardContext = createContext<[number, Dispatch<SetStateAction<number>>]>([\n 0,\n () => null,\n]);\nexport const TabCardContextProvider = TabCardContext.Provider;\n","import { styled } from \"@mui/material/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport Box from \"@mui/material/Box\";\nimport { PropsWithChildren, ReactElement, SyntheticEvent, useState } from \"react\";\nimport { TabCardContextProvider } from \"./tab-card.context\";\nimport { useGetDefaultThemeColor } from \"../utils\";\n\nexport interface TabData {\n text: string;\n icon?: ReactElement;\n}\n\ninterface StyledTabsProps {\n children?: React.ReactNode;\n value: number;\n onChange: (event: React.SyntheticEvent, newValue: number) => void;\n}\n\nconst StyledTabs = styled((props: StyledTabsProps) => (\n <Tabs {...props} TabIndicatorProps={{ children: <span className=\"MuiTabs-indicatorSpan\" /> }} />\n))(({ theme }) => ({\n minHeight: theme.spacing(5),\n \"& .MuiTabs-indicator\": {\n display: \"flex\",\n justifyContent: \"center\",\n backgroundColor: \"transparent\",\n },\n \"& .MuiTabs-indicatorSpan\": {\n maxWidth: 40,\n width: \"100%\",\n backgroundColor: theme.palette.primary.main,\n },\n}));\n\nconst StyledTab = styled(Tab)(({ theme }) => ({\n textTransform: \"none\",\n fontWeight: theme.typography.fontWeightRegular,\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary,\n paddingTop: 0,\n paddingBottom: 0,\n minHeight: theme.spacing(5),\n \"&.Mui-selected\": {\n color: theme.palette.text.secondary,\n fontWeight: theme.typography.fontWeightBold,\n },\n}));\n\nexport type TabCardProps = PropsWithChildren<{\n tabs: TabData[];\n initialTab?: number;\n onChangeTab?: (tab: TabData, index: number) => void;\n}>;\n\nexport const TabCard = ({\n children,\n tabs,\n initialTab = 0,\n onChangeTab = () => null,\n}: TabCardProps) => {\n const bgColor = useGetDefaultThemeColor();\n const [selectedTab, setSelectedTab] = useState(initialTab);\n\n const handleChangeTab = (_: SyntheticEvent<Element, Event>, index: number) => {\n setSelectedTab(index);\n onChangeTab(tabs[index], index);\n };\n\n return (\n <TabCardContextProvider value={[selectedTab, setSelectedTab]}>\n <Paper variant=\"outlined\">\n <Box bgcolor={bgColor}>\n <StyledTabs value={selectedTab} onChange={handleChangeTab}>\n {tabs.map(({ text, icon }) => (\n <StyledTab iconPosition=\"start\" disableRipple key={text} label={text} icon={icon} />\n ))}\n </StyledTabs>\n </Box>\n {children}\n </Paper>\n </TabCardContextProvider>\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","import { PropsWithChildren, useContext } from \"react\";\nimport { TabCardContext } from \"./tab-card.context\";\nimport { SxProps, Theme } from \"@mui/material\";\nimport Box from \"@mui/material/Box\";\n\nexport type TabCardPanelProps = PropsWithChildren<{\n index: number | number[];\n sx?: SxProps<Theme>;\n}>;\n\nexport const TabCardPanel = ({ index, children, sx }: TabCardPanelProps) => {\n const [value] = useContext(TabCardContext);\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return isTab ? <Box sx={sx}>{children}</Box> : null;\n};\n"],"names":["TabCardContext","createContext","TabCardContextProvider","Provider","StyledTabs","styled","props","_jsx","Tabs","TabIndicatorProps","children","className","theme","minHeight","spacing","display","justifyContent","backgroundColor","maxWidth","width","palette","primary","main","StyledTab","Tab","textTransform","fontWeight","typography","fontWeightRegular","marginRight","color","text","secondary","paddingTop","paddingBottom","fontWeightBold","TabCard","tabs","initialTab","onChangeTab","bgColor","lightWeight","darkWeight","useTheme","mode","grey","useGetDefaultThemeColor","selectedTab","setSelectedTab","useState","value","_jsxs","Paper","variant","Box","bgcolor","onChange","_","index","map","icon","iconPosition","disableRipple","label","TabCardPanel","sx","useContext","isTab","Array","isArray","includes"],"mappings":"oVAEO,MAAMA,EAAiBC,EAA0D,CACtF,EACA,IAAM,OAEKC,EAAyBF,EAAeG,SCc/CC,EAAaC,GAAQC,GACzBC,EAACC,EAAI,IAAKF,EAAOG,kBAAmB,CAAEC,SAAUH,UAAMI,UAAU,8BAD/CN,EAEhB,EAAGO,YAAa,CACjBC,UAAWD,EAAME,QAAQ,GACzB,uBAAwB,CACtBC,QAAS,OACTC,eAAgB,SAChBC,gBAAiB,eAEnB,2BAA4B,CAC1BC,SAAU,GACVC,MAAO,OACPF,gBAAiBL,EAAMQ,QAAQC,QAAQC,UAIrCC,EAAYlB,EAAOmB,EAAPnB,EAAY,EAAGO,YAAa,CAC5Ca,cAAe,OACfC,WAAYd,EAAMe,WAAWC,kBAC7BC,YAAajB,EAAME,QAAQ,GAC3BgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BC,WAAY,EACZC,cAAe,EACfrB,UAAWD,EAAME,QAAQ,GACzB,iBAAkB,CAChBgB,MAAOlB,EAAMQ,QAAQW,KAAKC,UAC1BN,WAAYd,EAAMe,WAAWQ,oBAUpBC,EAAU,EACrB1B,WACA2B,OACAC,aAAa,EACbC,cAAc,KAAM,UAEpB,MAAMC,EC1D+B,GACrCC,cAAc,IACdC,aAAa,KACwC,MACrD,MAAMtB,QAAEA,GAAYuB,IACpB,MAAwB,UAAjBvB,EAAQwB,KAAmBxB,EAAQyB,KAAKJ,GAAerB,EAAQyB,KAAKH,EAAW,EDqDtEI,IACTC,EAAaC,GAAkBC,EAASX,GAO/C,OACE/B,EAACL,EAAuB,CAAAgD,MAAO,CAACH,EAAaC,GAC3CtC,SAAAyC,EAACC,EAAK,CAACC,QAAQ,WACb3C,SAAA,CAAAH,EAAC+C,EAAI,CAAAC,QAASf,WACZjC,EAACH,EAAW,CAAA8C,MAAOH,EAAaS,SAThB,CAACC,EAAmCC,KAC1DV,EAAeU,GACfnB,EAAYF,EAAKqB,GAAQA,EAAM,WAQtBrB,EAAKsB,KAAI,EAAG5B,OAAM6B,UACjBrD,EAACgB,EAAS,CAACsC,aAAa,QAAQC,eAAa,EAAYC,MAAOhC,EAAM6B,KAAMA,GAAzB7B,SAIxDrB,MAGL,EEzESsD,EAAe,EAAGN,QAAOhD,WAAUuD,SAC9C,MAAOf,GAASgB,EAAWlE,GAC3B,IAAImE,EAAQjB,IAAUQ,EAKtB,OAJIU,MAAMC,QAAQX,KAChBS,EAAQT,EAAMY,SAASpB,IAGlBiB,EAAQ5D,EAAC+C,EAAI,CAAAW,GAAIA,WAAKvD,IAAkB,IAAI"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@mui/material");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(e);const l=e.createContext([0,()=>null]);l.Provider;exports.TabPanel=function({children:r,index:n}){const[i]=e.useContext(l);let u=i===n;return Array.isArray(n)&&(u=n.includes(i)),a.default.createElement("div",{role:"tabpanel",hidden:!u,id:`simple-tabpanel-${n}`,"aria-labelledby":`simple-tab-${n}`},u&&a.default.createElement(t.Box,{sx:{p:3}},r))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material/Box"),t=require("react");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=i(r);const n=t.createContext([0,()=>null]);n.Provider;exports.TabPanel=function({children:r,index:i}){const[l]=t.useContext(n);let u=l===i;return Array.isArray(i)&&(u=i.includes(l)),e.jsx("div",{role:"tabpanel",hidden:!u,id:`simple-tabpanel-${i}`,"aria-labelledby":`simple-tab-${i}`,children:u&&e.jsx(a.default,{sx:{p:3},children:r})})};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/tab-provider/tab-provider.context.ts","../../../src/tab-panel/tab-panel.tsx"],"sourcesContent":["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 React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { useTab } from \"~/tab-provider\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: number | number[];\n}\n\nexport function TabPanel({ children, index }: TabPanelProps) {\n const [value] = useTab();\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return (\n <div\n role=\"tabpanel\"\n hidden={!isTab}\n id={`simple-tabpanel-${index}`}\n aria-labelledby={`simple-tab-${index}`}\n >\n {isTab && <Box sx={{ p: 3 }}>{children}</Box>}\n </div>\n );\n}\n"],"names":["TabContext","createContext","Provider","children","index","value","useContext","isTab","Array","isArray","includes","React","createElement","role","hidden","id","Box","sx","p"],"mappings":"yMAEO,MAAMA,EAAaC,EAAAA,cAA0D,CAClF,EACA,IAAM,OAE0BD,EAAWE,oCCGpBC,SAAEA,EAAQC,MAAEA,IACnC,MAAOC,GDHmBC,EAAUA,WAACN,GCIrC,IAAIO,EAAQF,IAAUD,EAKtB,OAJII,MAAMC,QAAQL,KAChBG,EAAQH,EAAMM,SAASL,IAIvBM,EACE,QAAAC,cAAA,MAAA,CAAAC,KAAK,WACLC,QAASP,EACTQ,GAAI,mBAAmBX,sBACN,cAAcA,KAE9BG,GAASI,EAAAA,QAAAC,cAACI,EAAAA,IAAG,CAACC,GAAI,CAAEC,EAAG,IAAMf,GAGpC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/tab-provider/tab-provider.context.ts","../../../src/tab-panel/tab-panel.tsx"],"sourcesContent":["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 Box from \"@mui/material/Box\";\nimport { useTab } from \"../tab-provider\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: number | number[];\n}\n\nexport function TabPanel({ children, index }: TabPanelProps) {\n const [value] = useTab();\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return (\n <div\n role=\"tabpanel\"\n hidden={!isTab}\n id={`simple-tabpanel-${index}`}\n aria-labelledby={`simple-tab-${index}`}\n >\n {isTab && <Box sx={{ p: 3 }}>{children}</Box>}\n </div>\n );\n}\n"],"names":["TabContext","createContext","Provider","children","index","value","useContext","isTab","Array","isArray","includes","_jsx","jsx","role","hidden","id","Box","sx","p"],"mappings":"4OAEO,MAAMA,EAAaC,EAAAA,cAA0D,CAClF,EACA,IAAM,OAE0BD,EAAWE,oCCEpBC,SAAEA,EAAQC,MAAEA,IACnC,MAAOC,GDFmBC,EAAUA,WAACN,GCGrC,IAAIO,EAAQF,IAAUD,EAKtB,OAJII,MAAMC,QAAQL,KAChBG,EAAQH,EAAMM,SAASL,IAIvBM,EACEC,IAAA,MAAA,CAAAC,KAAK,WACLC,QAASP,EACTQ,GAAI,mBAAmBX,sBACN,cAAcA,IAAOD,SAErCI,GAASI,EAAAC,IAACI,EAAG,QAAA,CAACC,GAAI,CAAEC,EAAG,GAAGf,SAAGA,KAGpC"}
@@ -1,2 +1,2 @@
1
- import e,{createContext as r,useContext as t}from"react";import{Box as i}from"@mui/material";const l=r([0,()=>null]);l.Provider;function a({children:r,index:a}){const[n]=t(l);let m=n===a;return Array.isArray(a)&&(m=a.includes(n)),e.createElement("div",{role:"tabpanel",hidden:!m,id:`simple-tabpanel-${a}`,"aria-labelledby":`simple-tab-${a}`},m&&e.createElement(i,{sx:{p:3}},r))}export{a as TabPanel};
1
+ import{jsx as r}from"react/jsx-runtime";import e from"@mui/material/Box";import{createContext as i,useContext as l}from"react";const t=i([0,()=>null]);t.Provider;function n({children:i,index:n}){const[a]=l(t);let o=a===n;return Array.isArray(n)&&(o=n.includes(a)),r("div",{role:"tabpanel",hidden:!o,id:`simple-tabpanel-${n}`,"aria-labelledby":`simple-tab-${n}`,children:o&&r(e,{sx:{p:3},children:i})})}export{n as TabPanel};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/tab-provider/tab-provider.context.ts","../../src/tab-panel/tab-panel.tsx"],"sourcesContent":["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 React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { useTab } from \"~/tab-provider\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: number | number[];\n}\n\nexport function TabPanel({ children, index }: TabPanelProps) {\n const [value] = useTab();\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return (\n <div\n role=\"tabpanel\"\n hidden={!isTab}\n id={`simple-tabpanel-${index}`}\n aria-labelledby={`simple-tab-${index}`}\n >\n {isTab && <Box sx={{ p: 3 }}>{children}</Box>}\n </div>\n );\n}\n"],"names":["TabContext","createContext","Provider","TabPanel","children","index","value","useContext","isTab","Array","isArray","includes","React","createElement","role","hidden","id","Box","sx","p"],"mappings":"6FAEO,MAAMA,EAAaC,EAA0D,CAClF,EACA,IAAM,OAE0BD,EAAWE,kBCG7BC,GAASC,SAAEA,EAAQC,MAAEA,IACnC,MAAOC,GDHmBC,EAAWP,GCIrC,IAAIQ,EAAQF,IAAUD,EAKtB,OAJII,MAAMC,QAAQL,KAChBG,EAAQH,EAAMM,SAASL,IAIvBM,EACEC,cAAA,MAAA,CAAAC,KAAK,WACLC,QAASP,EACTQ,GAAI,mBAAmBX,sBACN,cAAcA,KAE9BG,GAASI,EAAAC,cAACI,EAAG,CAACC,GAAI,CAAEC,EAAG,IAAMf,GAGpC"}
1
+ {"version":3,"file":"index.js","sources":["../../src/tab-provider/tab-provider.context.ts","../../src/tab-panel/tab-panel.tsx"],"sourcesContent":["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 Box from \"@mui/material/Box\";\nimport { useTab } from \"../tab-provider\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: number | number[];\n}\n\nexport function TabPanel({ children, index }: TabPanelProps) {\n const [value] = useTab();\n let isTab = value === index;\n if (Array.isArray(index)) {\n isTab = index.includes(value);\n }\n\n return (\n <div\n role=\"tabpanel\"\n hidden={!isTab}\n id={`simple-tabpanel-${index}`}\n aria-labelledby={`simple-tab-${index}`}\n >\n {isTab && <Box sx={{ p: 3 }}>{children}</Box>}\n </div>\n );\n}\n"],"names":["TabContext","createContext","Provider","TabPanel","children","index","value","useContext","isTab","Array","isArray","includes","_jsx","role","hidden","id","Box","sx","p"],"mappings":"+HAEO,MAAMA,EAAaC,EAA0D,CAClF,EACA,IAAM,OAE0BD,EAAWE,kBCE7BC,GAASC,SAAEA,EAAQC,MAAEA,IACnC,MAAOC,GDFmBC,EAAWP,GCGrC,IAAIQ,EAAQF,IAAUD,EAKtB,OAJII,MAAMC,QAAQL,KAChBG,EAAQH,EAAMM,SAASL,IAIvBM,EACE,MAAA,CAAAC,KAAK,WACLC,QAASN,EACTO,GAAI,mBAAmBV,sBACN,cAAcA,IAAOD,SAErCI,GAASI,EAACI,EAAG,CAACC,GAAI,CAAEC,EAAG,GAAGd,SAAGA,KAGpC"}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ /// <reference types="react" />
2
2
  interface TabPanelProps {
3
3
  children?: React.ReactNode;
4
4
  index: number | number[];
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e);const o=e.createContext([0,()=>null]),a=o.Provider;exports.TabContext=o,exports.TabContextProvider=a,exports.TabProvider=({children:t,initialValue:o=0})=>{const n=e.useState(o);return r.default.createElement(a,{value:n},t)},exports.useTab=()=>e.useContext(o);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react/jsx-runtime");const t=e.createContext([0,()=>null]),o=t.Provider;exports.TabContext=t,exports.TabContextProvider=o,exports.TabProvider=({children:t,initialValue:s=0})=>{const a=e.useState(s);return r.jsx(o,{value:a,children:t})},exports.useTab=()=>e.useContext(t);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/tab-provider/tab-provider.context.ts","../../../src/tab-provider/tab-provider.provider.tsx"],"sourcesContent":["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 React from \"react\";\nimport { 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"],"names":["TabContext","createContext","TabContextProvider","Provider","children","initialValue","tabState","useState","React","createElement","value","useContext"],"mappings":"8KAEO,MAAMA,EAAaC,EAAAA,cAA0D,CAClF,EACA,IAAM,OAEKC,EAAqBF,EAAWG,+ECElB,EAAGC,WAAUC,eAAe,MACrD,MAAMC,EAAWC,WAASF,GAE1B,OAAOG,EAAAA,QAAAC,cAACP,EAAmB,CAAAQ,MAAOJ,GAAWF,EAA8B,iBDJvD,IAAMO,EAAAA,WAAWX"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/tab-provider/tab-provider.context.ts","../../../src/tab-provider/tab-provider.provider.tsx"],"sourcesContent":["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"],"names":["TabContext","createContext","TabContextProvider","Provider","children","initialValue","tabState","useState","_jsx","value","useContext"],"mappings":"0HAEO,MAAMA,EAAaC,EAAAA,cAA0D,CAClF,EACA,IAAM,OAEKC,EAAqBF,EAAWG,+ECClB,EAAGC,WAAUC,eAAe,MACrD,MAAMC,EAAWC,WAASF,GAE1B,OAAOG,EAAAA,IAACN,EAAmB,CAAAO,MAAOH,EAAQF,SAAGA,GAA8B,iBDHvD,IAAMM,EAAAA,WAAWV"}
@@ -1,2 +1,2 @@
1
- import e,{createContext as r,useContext as t,useState as l}from"react";const n=r([0,()=>null]),i=n.Provider,o=()=>t(n),a=({children:r,initialValue:t=0})=>{const n=l(t);return e.createElement(i,{value:n},r)};export{n as TabContext,i as TabContextProvider,a as TabProvider,o as useTab};
1
+ import{createContext as r,useContext as e,useState as t}from"react";import{jsx as i}from"react/jsx-runtime";const n=r([0,()=>null]),o=n.Provider,l=()=>e(n),c=({children:r,initialValue:e=0})=>{const n=t(e);return i(o,{value:n,children:r})};export{n as TabContext,o as TabContextProvider,c as TabProvider,l as useTab};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/tab-provider/tab-provider.context.ts","../../src/tab-provider/tab-provider.provider.tsx"],"sourcesContent":["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 React from \"react\";\nimport { 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"],"names":["TabContext","createContext","TabContextProvider","Provider","useTab","useContext","TabProvider","children","initialValue","tabState","useState","React","createElement","value"],"mappings":"uEAEO,MAAMA,EAAaC,EAA0D,CAClF,EACA,IAAM,OAEKC,EAAqBF,EAAWG,SAChCC,EAAS,IAAMC,EAAWL,GCC1BM,EAAc,EAAGC,WAAUC,eAAe,MACrD,MAAMC,EAAWC,EAASF,GAE1B,OAAOG,EAAAC,cAACV,EAAmB,CAAAW,MAAOJ,GAAWF,EAA8B"}
1
+ {"version":3,"file":"index.js","sources":["../../src/tab-provider/tab-provider.context.ts","../../src/tab-provider/tab-provider.provider.tsx"],"sourcesContent":["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"],"names":["TabContext","createContext","TabContextProvider","Provider","useTab","useContext","TabProvider","children","initialValue","tabState","useState","_jsx","value"],"mappings":"4GAEO,MAAMA,EAAaC,EAA0D,CAClF,EACA,IAAM,OAEKC,EAAqBF,EAAWG,SAChCC,EAAS,IAAMC,EAAWL,GCA1BM,EAAc,EAAGC,WAAUC,eAAe,MACrD,MAAMC,EAAWC,EAASF,GAE1B,OAAOG,EAACT,EAAmB,CAAAU,MAAOH,EAAQF,SAAGA,GAA8B"}