@pautena/react-design-system 0.14.2 → 0.14.4

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 (129) hide show
  1. package/action/cjs/index.js.map +1 -1
  2. package/action/index.js.map +1 -1
  3. package/board/cjs/index.js.map +1 -1
  4. package/board/index.js.map +1 -1
  5. package/bootstrap-dialog/bootstrap-dialog.d.ts +1 -1
  6. package/bootstrap-dialog/cjs/index.js.map +1 -1
  7. package/bootstrap-dialog/index.js.map +1 -1
  8. package/cjs/index.js +2 -2
  9. package/cjs/index.js.map +1 -1
  10. package/confirm-dialog/cjs/index.js.map +1 -1
  11. package/confirm-dialog/confirm-dialog.d.ts +1 -1
  12. package/confirm-dialog/index.js.map +1 -1
  13. package/content-placeholder/cjs/index.js.map +1 -1
  14. package/content-placeholder/index.js.map +1 -1
  15. package/date-range-picker/cjs/index.js.map +1 -1
  16. package/date-range-picker/index.js.map +1 -1
  17. package/drawer/cjs/index.js.map +1 -1
  18. package/drawer/drawer.types.d.ts +3 -3
  19. package/drawer/index.js.map +1 -1
  20. package/drawer-app-bar/cjs/index.js.map +1 -1
  21. package/drawer-app-bar/index.js.map +1 -1
  22. package/drawer-content/cjs/index.js.map +1 -1
  23. package/drawer-content/drawer-content.d.ts +1 -1
  24. package/drawer-content/index.js.map +1 -1
  25. package/drawer-item/cjs/index.js.map +1 -1
  26. package/drawer-item/drawer-item-link.d.ts +1 -1
  27. package/drawer-item/drawer-item.d.ts +1 -1
  28. package/drawer-item/drawer-menu-item.d.ts +1 -1
  29. package/drawer-item/index.js.map +1 -1
  30. package/drawer-layout/cjs/index.js.map +1 -1
  31. package/drawer-layout/drawer-layout.d.ts +2 -2
  32. package/drawer-layout/index.js.map +1 -1
  33. package/drawer-main/cjs/index.js.map +1 -1
  34. package/drawer-main/index.js.map +1 -1
  35. package/drawer-provider/cjs/index.js.map +1 -1
  36. package/drawer-provider/drawer-context.d.ts +1 -1
  37. package/drawer-provider/drawer.provider.d.ts +1 -1
  38. package/drawer-provider/index.js.map +1 -1
  39. package/drawer-section/cjs/index.js.map +1 -1
  40. package/drawer-section/drawer-section.d.ts +1 -1
  41. package/drawer-section/index.js.map +1 -1
  42. package/drawer-subheader/cjs/index.js.map +1 -1
  43. package/drawer-subheader/drawer-subheader.d.ts +1 -1
  44. package/drawer-subheader/index.js.map +1 -1
  45. package/enhanced-remote-table/cjs/index.js.map +1 -1
  46. package/enhanced-remote-table/enhanced-remote-table.d.ts +1 -1
  47. package/enhanced-remote-table/enhanced-remote-table.mock.d.ts +2 -2
  48. package/enhanced-remote-table/index.js.map +1 -1
  49. package/expandable-alert/cjs/index.js.map +1 -1
  50. package/expandable-alert/index.js.map +1 -1
  51. package/form-dialog/cjs/index.js.map +1 -1
  52. package/form-dialog/form-dialog.d.ts +1 -1
  53. package/form-dialog/index.js.map +1 -1
  54. package/group-value-card/cjs/index.js.map +1 -1
  55. package/group-value-card/group-value-card.d.ts +1 -1
  56. package/group-value-card/index.js.map +1 -1
  57. package/header/cjs/index.js.map +1 -1
  58. package/header/index.js.map +1 -1
  59. package/header-layout/cjs/index.js.map +1 -1
  60. package/header-layout/header-layout.d.ts +3 -3
  61. package/header-layout/index.js.map +1 -1
  62. package/index.js +4 -4
  63. package/index.js.map +1 -1
  64. package/link-card/cjs/index.js.map +1 -1
  65. package/link-card/index.js.map +1 -1
  66. package/list-panel/cjs/index.js +1 -1
  67. package/list-panel/cjs/index.js.map +1 -1
  68. package/list-panel/cjs/package.json +2 -1
  69. package/list-panel/index.js +1 -1
  70. package/list-panel/index.js.map +1 -1
  71. package/list-panel/list-panel.d.ts +1 -0
  72. package/list-panel/list-panel.mocks.d.ts +1 -0
  73. package/list-panel/package.json +2 -1
  74. package/model-form/cjs/index.js.map +1 -1
  75. package/model-form/index.js.map +1 -1
  76. package/model-form/model-form-field.d.ts +1 -1
  77. package/model-form/model-form.d.ts +1 -1
  78. package/model-router/cjs/index.js +1 -1
  79. package/model-router/cjs/index.js.map +1 -1
  80. package/model-router/index.js +1 -1
  81. package/model-router/index.js.map +1 -1
  82. package/model-router/model-router.d.ts +1 -1
  83. package/model-router/screens/add-screen.d.ts +2 -2
  84. package/model-router/screens/details-screen.d.ts +2 -2
  85. package/model-router/screens/list-screen.d.ts +2 -2
  86. package/model-router/screens/screens.types.d.ts +1 -1
  87. package/model-router/screens/update-screen.d.ts +2 -2
  88. package/model-router/stories/templates.d.ts +7 -7
  89. package/object-details/cjs/index.js +1 -1
  90. package/object-details/cjs/index.js.map +1 -1
  91. package/object-details/index.js +1 -1
  92. package/object-details/index.js.map +1 -1
  93. package/object-details/object-details.d.ts +1 -1
  94. package/package.json +1 -1
  95. package/query-container/cjs/index.js.map +1 -1
  96. package/query-container/index.js.map +1 -1
  97. package/select/cjs/index.js.map +1 -1
  98. package/select/index.js.map +1 -1
  99. package/skeleton-grid/cjs/index.js.map +1 -1
  100. package/skeleton-grid/index.js.map +1 -1
  101. package/tab-card/cjs/index.js.map +1 -1
  102. package/tab-card/index.js.map +1 -1
  103. package/tab-panel/cjs/index.js.map +1 -1
  104. package/tab-panel/index.js.map +1 -1
  105. package/table-list/cjs/index.js.map +1 -1
  106. package/table-list/index.js.map +1 -1
  107. package/table-list/table-list.d.ts +2 -2
  108. package/value-boolean/cjs/index.js.map +1 -1
  109. package/value-boolean/index.js.map +1 -1
  110. package/value-boolean/value-boolean.d.ts +1 -1
  111. package/value-datetime/cjs/index.js.map +1 -1
  112. package/value-datetime/index.js.map +1 -1
  113. package/value-datetime/value-datetime.d.ts +1 -1
  114. package/value-image/cjs/index.js.map +1 -1
  115. package/value-image/index.js.map +1 -1
  116. package/value-image/value-image.d.ts +1 -1
  117. package/value-item/cjs/index.js.map +1 -1
  118. package/value-item/index.js.map +1 -1
  119. package/value-label/cjs/index.js.map +1 -1
  120. package/value-label/index.js.map +1 -1
  121. package/value-label/value-label.d.ts +2 -2
  122. package/value-rating/cjs/index.js.map +1 -1
  123. package/value-rating/index.js.map +1 -1
  124. package/value-rating/value-rating.d.ts +1 -1
  125. package/value-text/cjs/index.js +1 -1
  126. package/value-text/cjs/index.js.map +1 -1
  127. package/value-text/index.js +1 -1
  128. package/value-text/index.js.map +1 -1
  129. package/value-text/value-text.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/loading-area/loading-area.tsx","../../src/query-container/query-container.tsx"],"sourcesContent":["import CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\n\n/**\n * Displays a centered loading indicator\n */\nexport const LoadingArea = () => {\n return (\n <Box width={1} height={1} display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <CircularProgress />\n </Box>\n );\n};\n","import Alert from \"@mui/material/Alert\";\nimport AlertTitle from \"@mui/material/AlertTitle\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport { PropsWithChildren } from \"react\";\nimport { LoadingArea } from \"~/loading-area\";\n\nexport interface QueryContainerError {\n /**\n * The error title\n */\n name?: string;\n /**\n * The description of the error\n */\n message: string;\n}\n\nexport interface QueryContainerSuccess {\n /**\n * The success title\n */\n name?: string;\n /**\n * The success text\n */\n message: string;\n}\n\nexport type QueryContainerProps = PropsWithChildren<{\n /**\n * There is a query in progress and we have available data\n */\n fetching?: boolean | boolean[];\n\n /**\n * There is a query in progress and we don't have available data\n */\n loading?: boolean | boolean[];\n /**\n * The query has returned an error\n */\n error?: QueryContainerError;\n /**\n * The query has finished successfully\n */\n success?: QueryContainerSuccess;\n}>;\n\n/**\n * Component to show different indicators based on the usual api query statuses\n */\nexport function QueryContainer({\n fetching: fetchingProp = false,\n loading: loadingProp = false,\n error,\n success,\n children,\n}: QueryContainerProps) {\n const fetching = Array.isArray(fetchingProp) ? fetchingProp.some((f) => f) : fetchingProp;\n const loading = Array.isArray(loadingProp) ? loadingProp.some((f) => f) : loadingProp;\n\n if (loading) {\n return <LoadingArea />;\n }\n\n if (error) {\n return (\n <Alert severity=\"error\" role=\"alert\" aria-describedby=\"error\">\n {error.name && <AlertTitle role=\"heading\">{error.name}</AlertTitle>}\n {error.message}\n </Alert>\n );\n }\n\n return (\n <Box>\n {success && (\n <Alert severity=\"success\" role=\"alert\" aria-describedby=\"success\" sx={{ mb: 2 }}>\n {success.name && <AlertTitle role=\"heading\">{success.name}</AlertTitle>}\n {success.message}\n </Alert>\n )}\n {fetching && <LinearProgress sx={{ width: 1, mb: 1 }} />}\n {children}\n </Box>\n );\n}\n"],"names":["LoadingArea","_jsx","Box","width","height","display","justifyContent","alignItems","children","CircularProgress","QueryContainer","fetching","fetchingProp","loading","loadingProp","error","success","Array","isArray","some","f","_jsxs","Alert","severity","role","name","AlertTitle","message","sx","mb","LinearProgress"],"mappings":"wPAMO,MAAMA,EAAc,IAEvBC,EAACC,EAAG,CAACC,MAAO,EAAGC,OAAQ,EAAGC,QAAQ,OAAOC,eAAe,SAASC,WAAW,SAAQC,SAClFP,EAACQ,EAAmB,CAAA,KC2CpB,SAAUC,GACdC,SAAUC,GAAe,EACzBC,QAASC,GAAc,EAAKC,MAC5BA,EAAKC,QACLA,EAAOR,SACPA,IAEA,MAAMG,EAAWM,MAAMC,QAAQN,GAAgBA,EAAaO,MAAMC,GAAMA,IAAKR,EAG7E,OAFgBK,MAAMC,QAAQJ,GAAeA,EAAYK,MAAMC,GAAMA,IAAKN,GAGjEb,EAACD,EAAW,CAAA,GAGjBe,EAEAM,EAACC,EAAK,CAACC,SAAS,QAAQC,KAAK,QAAO,mBAAkB,QAAOhB,SAAA,CAC1DO,EAAMU,MAAQxB,EAACyB,EAAW,CAAAF,KAAK,mBAAWT,EAAMU,OAChDV,EAAMY,WAMXN,EAACnB,EAAG,CAAAM,SAAA,CACDQ,GACCK,EAACC,EAAM,CAAAC,SAAS,UAAUC,KAAK,QAAO,mBAAkB,UAAUI,GAAI,CAAEC,GAAI,aACzEb,EAAQS,MAAQxB,EAACyB,EAAU,CAACF,KAAK,UAAShB,SAAEQ,EAAQS,OACpDT,EAAQW,WAGZhB,GAAYV,EAAC6B,EAAe,CAAAF,GAAI,CAAEzB,MAAO,EAAG0B,GAAI,KAChDrB,IAGP"}
1
+ {"version":3,"file":"index.js","sources":["../../src/loading-area/loading-area.tsx","../../src/query-container/query-container.tsx"],"sourcesContent":["import CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\n\n/**\n * Displays a centered loading indicator\n */\nexport const LoadingArea = () => {\n return (\n <Box width={1} height={1} display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <CircularProgress />\n </Box>\n );\n};\n","import Alert from \"@mui/material/Alert\";\nimport AlertTitle from \"@mui/material/AlertTitle\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport { PropsWithChildren } from \"react\";\nimport { LoadingArea } from \"../loading-area\";\n\nexport interface QueryContainerError {\n /**\n * The error title\n */\n name?: string;\n /**\n * The description of the error\n */\n message: string;\n}\n\nexport interface QueryContainerSuccess {\n /**\n * The success title\n */\n name?: string;\n /**\n * The success text\n */\n message: string;\n}\n\nexport type QueryContainerProps = PropsWithChildren<{\n /**\n * There is a query in progress and we have available data\n */\n fetching?: boolean | boolean[];\n\n /**\n * There is a query in progress and we don't have available data\n */\n loading?: boolean | boolean[];\n /**\n * The query has returned an error\n */\n error?: QueryContainerError;\n /**\n * The query has finished successfully\n */\n success?: QueryContainerSuccess;\n}>;\n\n/**\n * Component to show different indicators based on the usual api query statuses\n */\nexport function QueryContainer({\n fetching: fetchingProp = false,\n loading: loadingProp = false,\n error,\n success,\n children,\n}: QueryContainerProps) {\n const fetching = Array.isArray(fetchingProp) ? fetchingProp.some((f) => f) : fetchingProp;\n const loading = Array.isArray(loadingProp) ? loadingProp.some((f) => f) : loadingProp;\n\n if (loading) {\n return <LoadingArea />;\n }\n\n if (error) {\n return (\n <Alert severity=\"error\" role=\"alert\" aria-describedby=\"error\">\n {error.name && <AlertTitle role=\"heading\">{error.name}</AlertTitle>}\n {error.message}\n </Alert>\n );\n }\n\n return (\n <Box>\n {success && (\n <Alert severity=\"success\" role=\"alert\" aria-describedby=\"success\" sx={{ mb: 2 }}>\n {success.name && <AlertTitle role=\"heading\">{success.name}</AlertTitle>}\n {success.message}\n </Alert>\n )}\n {fetching && <LinearProgress sx={{ width: 1, mb: 1 }} />}\n {children}\n </Box>\n );\n}\n"],"names":["LoadingArea","_jsx","Box","width","height","display","justifyContent","alignItems","children","CircularProgress","QueryContainer","fetching","fetchingProp","loading","loadingProp","error","success","Array","isArray","some","f","_jsxs","Alert","severity","role","name","AlertTitle","message","sx","mb","LinearProgress"],"mappings":"wPAMO,MAAMA,EAAc,IAEvBC,EAACC,EAAG,CAACC,MAAO,EAAGC,OAAQ,EAAGC,QAAQ,OAAOC,eAAe,SAASC,WAAW,SAAQC,SAClFP,EAACQ,EAAmB,CAAA,KC2CpB,SAAUC,GACdC,SAAUC,GAAe,EACzBC,QAASC,GAAc,EAAKC,MAC5BA,EAAKC,QACLA,EAAOR,SACPA,IAEA,MAAMG,EAAWM,MAAMC,QAAQN,GAAgBA,EAAaO,MAAMC,GAAMA,IAAKR,EAG7E,OAFgBK,MAAMC,QAAQJ,GAAeA,EAAYK,MAAMC,GAAMA,IAAKN,GAGjEb,EAACD,EAAW,CAAA,GAGjBe,EAEAM,EAACC,EAAK,CAACC,SAAS,QAAQC,KAAK,QAAO,mBAAkB,QAAOhB,SAAA,CAC1DO,EAAMU,MAAQxB,EAACyB,EAAW,CAAAF,KAAK,mBAAWT,EAAMU,OAChDV,EAAMY,WAMXN,EAACnB,EAAG,CAAAM,SAAA,CACDQ,GACCK,EAACC,EAAM,CAAAC,SAAS,UAAUC,KAAK,QAAO,mBAAkB,UAAUI,GAAI,CAAEC,GAAI,aACzEb,EAAQS,MAAQxB,EAACyB,EAAU,CAACF,KAAK,UAAShB,SAAEQ,EAAQS,OACpDT,EAAQW,WAGZhB,GAAYV,EAAC6B,EAAe,CAAAF,GAAI,CAAEzB,MAAO,EAAG0B,GAAI,KAChDrB,IAGP"}
@@ -1 +1 @@
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","label","value","loading","fetching","size","fullWidth","color","onChange","id","useId","StyledFormControl","styled","FormControl","borderColor","fill","_jsxs","InputLabel","MuiSelect","labelId","disabled","renderValue","CircularProgress","jsxs","LinearProgress","position","left","right","bottom"],"mappings":"sfAWgB,SAAAA,GAAgBC,SAC9BA,EAAQC,eACRA,GAAiB,EAAIC,iBACrBA,GAAmB,EAAIC,GACvBA,IAEA,OACEC,EAAAA,IAACC,EAAAA,QAAG,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,mBAGY,EACpBC,QACAC,QACAC,WAAU,EACVC,YAAW,EACXC,OAAO,SACPC,aAAY,EACZC,QACArB,WACAsB,eAEA,MAAMC,EAAKC,EAAAA,QA0BLC,EAAoBC,EAAAA,OAAOC,EAAW,QAAlBD,EAAoB,IACvCL,EAIE,CACLN,MAAO,CACLM,SAEF,mCAAoC,CAClCO,YAAa,GAAGP,gBAElB,qBAAsB,CACpBA,SAEF,kBAAmB,CACjBQ,KAAMR,IAdD,KAmBX,OACES,EAAAA,KAACL,EAAkB,CAAAL,UAAWA,EAC5BpB,SAAA,CAAAI,EAAAA,IAAC2B,EAAU,QAAA,CAACR,GAAIA,EAAKvB,SAAAe,IACrBX,MAAC4B,EAAAA,QACC,CAAAC,QAASV,EACTA,GAAIA,EACJP,MAAOA,EACPD,MAAOA,EACPO,SAAUA,EACVY,SAAUhB,EACVC,KAAMA,EACNgB,YAxDenB,GACfE,EAEAd,EAAAA,IAACL,EAAgB,CAAAE,kBAAeC,kBAAgB,EAAAF,SAC9CI,EAAAA,IAACgC,EAAAA,QAAiB,CAAAf,MAAM,UAAUF,KAAMP,EAAaO,OAKvDF,EAEAa,EAACO,KAAAhC,EAAG,SAACG,QAAQ,OAAOC,cAAc,SAAQT,SAAA,CACvCgB,EACDZ,MAACkC,EAAAA,QACC,CAAAjB,MAAM,UACNlB,GAAI,CAAEoC,SAAU,WAAYC,KAAM,EAAGC,MAAO,EAAGC,OAAQ,QAMxD1B,EAmCqBhB,SAEvBA,MAGL"}
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","label","value","loading","fetching","size","fullWidth","color","onChange","id","useId","StyledFormControl","styled","FormControl","borderColor","fill","_jsxs","InputLabel","MuiSelect","labelId","disabled","renderValue","CircularProgress","jsxs","LinearProgress","position","left","right","bottom"],"mappings":"sfAWgB,SAAAA,GAAgBC,SAC9BA,EAAQC,eACRA,GAAiB,EAAIC,iBACrBA,GAAmB,EAAIC,GACvBA,IAEA,OACEC,EAAAA,IAACC,EAAAA,QAAG,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,mBAGY,EACpBC,QACAC,QACAC,WAAU,EACVC,YAAW,EACXC,OAAO,SACPC,aAAY,EACZC,QACArB,WACAsB,eAEA,MAAMC,EAAKC,EAAAA,QA0BLC,EAAoBC,EAAAA,OAAOC,EAAW,QAAlBD,EAAoB,IACvCL,EAIE,CACLN,MAAO,CACLM,SAEF,mCAAoC,CAClCO,YAAa,GAAGP,gBAElB,qBAAsB,CACpBA,SAEF,kBAAmB,CACjBQ,KAAMR,IAdD,KAmBX,OACES,EAAAA,KAACL,EAAkB,CAAAL,UAAWA,EAC5BpB,SAAA,CAAAI,EAAAA,IAAC2B,EAAU,QAAA,CAACR,GAAIA,EAAKvB,SAAAe,IACrBX,MAAC4B,EAAAA,QACC,CAAAC,QAASV,EACTA,GAAIA,EACJP,MAAOA,EACPD,MAAOA,EACPO,SAAUA,EACVY,SAAUhB,EACVC,KAAMA,EACNgB,YAxDenB,GACfE,EAEAd,EAAAA,IAACL,EAAgB,CAAAE,kBAAeC,kBAAgB,EAAAF,SAC9CI,EAAAA,IAACgC,EAAAA,QAAiB,CAAAf,MAAM,UAAUF,KAAMP,EAAaO,OAKvDF,EAEAa,EAACO,KAAAhC,EAAG,SAACG,QAAQ,OAAOC,cAAc,SAAQT,SAAA,CACvCgB,EACDZ,MAACkC,EAAAA,QACC,CAAAjB,MAAM,UACNlB,GAAI,CAAEoC,SAAU,WAAYC,KAAM,EAAGC,MAAO,EAAGC,OAAQ,QAMxD1B,EAmCqBhB,SAEvBA,MAGL"}
@@ -1 +1 @@
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
+ {"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 +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 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
+ {"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 +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 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
+ {"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 +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 { 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"}
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"}
@@ -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 { 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
+ {"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 +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 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
+ {"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 +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 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
+ {"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"}