@fairmint/ui 0.3.10 → 0.3.11
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.
- package/dist/_virtual/index3.cjs +3 -5
- package/dist/_virtual/index3.cjs.map +1 -1
- package/dist/_virtual/index3.js +2 -5
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/_virtual/index4.cjs +5 -3
- package/dist/_virtual/index4.cjs.map +1 -1
- package/dist/_virtual/index4.js +5 -2
- package/dist/_virtual/index4.js.map +1 -1
- package/dist/components/FairmintProvider/FairmintProvider.cjs +1 -1
- package/dist/components/FairmintProvider/FairmintProvider.cjs.map +1 -1
- package/dist/components/FairmintProvider/FairmintProvider.d.ts.map +1 -1
- package/dist/components/FairmintProvider/FairmintProvider.js +1 -1
- package/dist/components/FairmintProvider/FairmintProvider.js.map +1 -1
- package/dist/components/LoadingOverlay/LoadingOverlay.cjs +1 -1
- package/dist/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
- package/dist/components/LoadingOverlay/LoadingOverlay.d.ts.map +1 -1
- package/dist/components/LoadingOverlay/LoadingOverlay.js +2 -2
- package/dist/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
- package/dist/components/LoadingSpinner/LoadingSpinner.cjs +2 -2
- package/dist/components/LoadingSpinner/LoadingSpinner.cjs.map +1 -1
- package/dist/components/LoadingSpinner/LoadingSpinner.js +3 -3
- package/dist/components/LoadingSpinner/LoadingSpinner.js.map +1 -1
- package/dist/components/generic/Banner/Banner.cjs +46 -11
- package/dist/components/generic/Banner/Banner.cjs.map +1 -1
- package/dist/components/generic/Banner/Banner.d.ts.map +1 -1
- package/dist/components/generic/Banner/Banner.js +47 -12
- package/dist/components/generic/Banner/Banner.js.map +1 -1
- package/dist/components/generic/CompanyBanner/CompanyBanner.cjs +1 -1
- package/dist/components/generic/CompanyBanner/CompanyBanner.cjs.map +1 -1
- package/dist/components/generic/CompanyBanner/CompanyBanner.js +2 -2
- package/dist/components/generic/CompanyBanner/CompanyBanner.js.map +1 -1
- package/dist/components/generic/ConfidentialityBanner/ConfidentialityBanner.cjs +3 -3
- package/dist/components/generic/ConfidentialityBanner/ConfidentialityBanner.cjs.map +1 -1
- package/dist/components/generic/ConfidentialityBanner/ConfidentialityBanner.js +4 -4
- package/dist/components/generic/ConfidentialityBanner/ConfidentialityBanner.js.map +1 -1
- package/dist/components/generic/DataRow/DataRow.cjs +4 -5
- package/dist/components/generic/DataRow/DataRow.cjs.map +1 -1
- package/dist/components/generic/DataRow/DataRow.d.ts.map +1 -1
- package/dist/components/generic/DataRow/DataRow.js +5 -6
- package/dist/components/generic/DataRow/DataRow.js.map +1 -1
- package/dist/components/generic/DocumentRow/DocumentRow.cjs +97 -28
- package/dist/components/generic/DocumentRow/DocumentRow.cjs.map +1 -1
- package/dist/components/generic/DocumentRow/DocumentRow.d.ts.map +1 -1
- package/dist/components/generic/DocumentRow/DocumentRow.js +98 -29
- package/dist/components/generic/DocumentRow/DocumentRow.js.map +1 -1
- package/dist/components/generic/Eyebrow/Eyebrow.cjs +6 -1
- package/dist/components/generic/Eyebrow/Eyebrow.cjs.map +1 -1
- package/dist/components/generic/Eyebrow/Eyebrow.d.ts +2 -2
- package/dist/components/generic/Eyebrow/Eyebrow.d.ts.map +1 -1
- package/dist/components/generic/Eyebrow/Eyebrow.js +7 -2
- package/dist/components/generic/Eyebrow/Eyebrow.js.map +1 -1
- package/dist/components/generic/FileDropzone/FileDropzone.cjs +38 -20
- package/dist/components/generic/FileDropzone/FileDropzone.cjs.map +1 -1
- package/dist/components/generic/FileDropzone/FileDropzone.d.ts.map +1 -1
- package/dist/components/generic/FileDropzone/FileDropzone.js +39 -21
- package/dist/components/generic/FileDropzone/FileDropzone.js.map +1 -1
- package/dist/components/generic/PhotoCropModal/PhotoCropModal.cjs +1 -1
- package/dist/components/generic/PhotoCropModal/PhotoCropModal.cjs.map +1 -1
- package/dist/components/generic/PhotoCropModal/PhotoCropModal.js +2 -2
- package/dist/components/generic/PhotoCropModal/PhotoCropModal.js.map +1 -1
- package/dist/components/generic/ProcessingState/ProcessingState.cjs +11 -2
- package/dist/components/generic/ProcessingState/ProcessingState.cjs.map +1 -1
- package/dist/components/generic/ProcessingState/ProcessingState.d.ts.map +1 -1
- package/dist/components/generic/ProcessingState/ProcessingState.js +12 -3
- package/dist/components/generic/ProcessingState/ProcessingState.js.map +1 -1
- package/dist/components/generic/RadioCard/RadioCard.cjs +7 -7
- package/dist/components/generic/RadioCard/RadioCard.cjs.map +1 -1
- package/dist/components/generic/RadioCard/RadioCard.js +8 -8
- package/dist/components/generic/RadioCard/RadioCard.js.map +1 -1
- package/dist/components/generic/StatCard/StatCard.cjs +27 -18
- package/dist/components/generic/StatCard/StatCard.cjs.map +1 -1
- package/dist/components/generic/StatCard/StatCard.d.ts.map +1 -1
- package/dist/components/generic/StatCard/StatCard.js +27 -18
- package/dist/components/generic/StatCard/StatCard.js.map +1 -1
- package/dist/components/generic/StepCard/StepCard.cjs +2 -2
- package/dist/components/generic/StepCard/StepCard.cjs.map +1 -1
- package/dist/components/generic/StepCard/StepCard.d.ts.map +1 -1
- package/dist/components/generic/StepCard/StepCard.js +3 -3
- package/dist/components/generic/StepCard/StepCard.js.map +1 -1
- package/dist/components/layout/SideNav/SideNav.cjs +2 -2
- package/dist/components/layout/SideNav/SideNav.cjs.map +1 -1
- package/dist/components/layout/SideNav/SideNav.js +3 -3
- package/dist/components/layout/SideNav/SideNav.js.map +1 -1
- package/dist/components/primitives/Badge/Badge.cjs +11 -3
- package/dist/components/primitives/Badge/Badge.cjs.map +1 -1
- package/dist/components/primitives/Badge/Badge.d.ts.map +1 -1
- package/dist/components/primitives/Badge/Badge.js +12 -4
- package/dist/components/primitives/Badge/Badge.js.map +1 -1
- package/dist/components/primitives/muiCompat.cjs +41 -44
- package/dist/components/primitives/muiCompat.cjs.map +1 -1
- package/dist/components/primitives/muiCompat.d.ts +21 -21
- package/dist/components/primitives/muiCompat.d.ts.map +1 -1
- package/dist/components/primitives/muiCompat.js +42 -45
- package/dist/components/primitives/muiCompat.js.map +1 -1
- package/dist/components/primitives/sx.cjs +21 -25
- package/dist/components/primitives/sx.cjs.map +1 -1
- package/dist/components/primitives/sx.d.ts.map +1 -1
- package/dist/components/primitives/sx.js +22 -26
- package/dist/components/primitives/sx.js.map +1 -1
- package/dist/components/specific/DocumentRow/DocumentRow.cjs +14 -1
- package/dist/components/specific/DocumentRow/DocumentRow.cjs.map +1 -1
- package/dist/components/specific/DocumentRow/DocumentRow.d.ts.map +1 -1
- package/dist/components/specific/DocumentRow/DocumentRow.js +14 -1
- package/dist/components/specific/DocumentRow/DocumentRow.js.map +1 -1
- package/dist/components/specific/InvestorProfileCard/InvestorProfileCard.cjs +2 -2
- package/dist/components/specific/InvestorProfileCard/InvestorProfileCard.cjs.map +1 -1
- package/dist/components/specific/InvestorProfileCard/InvestorProfileCard.js +3 -3
- package/dist/components/specific/InvestorProfileCard/InvestorProfileCard.js.map +1 -1
- package/dist/fairmint-ui.cjs +1 -0
- package/dist/fairmint-ui.cjs.map +1 -1
- package/dist/fairmint-ui.js +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/mui-icons.cjs +7 -7
- package/dist/mui-icons.cjs.map +1 -1
- package/dist/mui-icons.js +8 -8
- package/dist/mui-icons.js.map +1 -1
- package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.cjs +1 -1
- package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.js +1 -1
- package/dist/node_modules/prop-types/index.cjs +1 -1
- package/dist/node_modules/prop-types/index.js +1 -1
- package/dist/styles.css +35 -0
- package/dist/theme/index.cjs +329 -28
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.d.ts +85 -17
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +329 -28
- package/dist/theme/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatCard.cjs","sources":["../../../../src/components/generic/StatCard/StatCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { fairmintVars } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { Card, type CardProps } from \"../../primitives/Card/Card\";\nimport { Box, Group, Stack, Text } from \"../../primitives/layout\";\n\nexport interface StatCardProps extends Omit<CardProps, \"children\"> {\n /** Card label (e.g., \"Total Value\"). */\n label: string;\n /** Formatted value string (e.g., \"$125,000\"). */\n value: string;\n /** Optional icon element. */\n icon?: ReactNode;\n /**\n * Mantine color name for the gradient background.\n * @default colors.primary\n */\n color?: string;\n /** Optional trend or supporting text below the value. */\n trend?: string;\n}\n\nexport function StatCard({\n label,\n value,\n icon,\n color = colors.primary,\n trend,\n ...rest\n}: StatCardProps) {\n return (\n <Card
|
|
1
|
+
{"version":3,"file":"StatCard.cjs","sources":["../../../../src/components/generic/StatCard/StatCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { fairmintVars } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { Card, type CardProps } from \"../../primitives/Card/Card\";\nimport { Box, Group, Stack, Text } from \"../../primitives/layout\";\n\nexport interface StatCardProps extends Omit<CardProps, \"children\"> {\n /** Card label (e.g., \"Total Value\"). */\n label: string;\n /** Formatted value string (e.g., \"$125,000\"). */\n value: string;\n /** Optional icon element. */\n icon?: ReactNode;\n /**\n * Mantine color name for the gradient background.\n * @default colors.primary\n */\n color?: string;\n /** Optional trend or supporting text below the value. */\n trend?: string;\n}\n\nexport function StatCard({\n label,\n value,\n icon,\n color = colors.primary,\n trend,\n ...rest\n}: StatCardProps) {\n const isNeutral = color === \"neutral\";\n\n return (\n <Card\n bg={isNeutral ? fairmintVars.colorBgSurface : `${color}.0`}\n bd={isNeutral ? `1px solid ${fairmintVars.colorBorderDefault}` : `1px solid ${color}.2`}\n {...rest}\n >\n <Group justify=\"space-between\" align=\"flex-start\">\n <Stack gap={4}>\n <Text\n size=\"xs\"\n fw={600}\n tt=\"uppercase\"\n c={isNeutral ? fairmintVars.colorTextTertiary : `${color}.6`}\n style={{ letterSpacing: \"0.05em\" }}\n >\n {label}\n </Text>\n <Text fw={700} size=\"xl\" lh={1}>\n {value}\n </Text>\n {trend && (\n <Text size=\"xs\" c={fairmintVars.colorTextSecondary}>\n {trend}\n </Text>\n )}\n </Stack>\n {icon && (\n <Box c={`${color}.5`} fz=\"1.5rem\">\n {icon}\n </Box>\n )}\n </Group>\n </Card>\n );\n}\n"],"names":["colors","jsx","Card","fairmintVars","jsxs","Group","Stack","Text","Box"],"mappings":";;;;;;;;;AAsBO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQA,OAAAA,OAAO;AAAA,EACf;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,YAAY,UAAU;AAE5B,SACEC,2BAAAA;AAAAA,IAACC,KAAAA;AAAAA,IAAA;AAAA,MACC,IAAI,YAAYC,MAAAA,aAAa,iBAAiB,GAAG,KAAK;AAAA,MACtD,IAAI,YAAY,aAAaA,MAAAA,aAAa,kBAAkB,KAAK,aAAa,KAAK;AAAA,MAClF,GAAG;AAAA,MAEJ,UAAAC,2BAAAA,KAACC,MAAAA,OAAA,EAAM,SAAQ,iBAAgB,OAAM,cACnC,UAAA;AAAA,QAAAD,2BAAAA,KAACE,OAAAA,OAAA,EAAM,KAAK,GACV,UAAA;AAAA,UAAAL,2BAAAA;AAAAA,YAACM,KAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,IAAI;AAAA,cACJ,IAAG;AAAA,cACH,GAAG,YAAYJ,MAAAA,aAAa,oBAAoB,GAAG,KAAK;AAAA,cACxD,OAAO,EAAE,eAAe,SAAA;AAAA,cAEvB,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEHF,2BAAAA,IAACM,KAAAA,QAAK,IAAI,KAAK,MAAK,MAAK,IAAI,GAC1B,UAAA,MAAA,CACH;AAAA,UACC,wCACEA,WAAA,EAAK,MAAK,MAAK,GAAGJ,mBAAa,oBAC7B,UAAA,MAAA,CACH;AAAA,QAAA,GAEJ;AAAA,QACC,uCACEK,YAAA,EAAI,GAAG,GAAG,KAAK,MAAM,IAAG,UACtB,UAAA,KAAA,CACH;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatCard.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/StatCard/StatCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGlE,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAChE,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAsB,EACtB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"StatCard.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/StatCard/StatCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGlE,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAChE,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAsB,EACtB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,aAAa,2CAqCf"}
|
|
@@ -13,24 +13,33 @@ function StatCard({
|
|
|
13
13
|
trend,
|
|
14
14
|
...rest
|
|
15
15
|
}) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
const isNeutral = color === "neutral";
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
Card,
|
|
19
|
+
{
|
|
20
|
+
bg: isNeutral ? fairmintVars.colorBgSurface : `${color}.0`,
|
|
21
|
+
bd: isNeutral ? `1px solid ${fairmintVars.colorBorderDefault}` : `1px solid ${color}.2`,
|
|
22
|
+
...rest,
|
|
23
|
+
children: /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", children: [
|
|
24
|
+
/* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
25
|
+
/* @__PURE__ */ jsx(
|
|
26
|
+
Text,
|
|
27
|
+
{
|
|
28
|
+
size: "xs",
|
|
29
|
+
fw: 600,
|
|
30
|
+
tt: "uppercase",
|
|
31
|
+
c: isNeutral ? fairmintVars.colorTextTertiary : `${color}.6`,
|
|
32
|
+
style: { letterSpacing: "0.05em" },
|
|
33
|
+
children: label
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsx(Text, { fw: 700, size: "xl", lh: 1, children: value }),
|
|
37
|
+
trend && /* @__PURE__ */ jsx(Text, { size: "xs", c: fairmintVars.colorTextSecondary, children: trend })
|
|
38
|
+
] }),
|
|
39
|
+
icon && /* @__PURE__ */ jsx(Box, { c: `${color}.5`, fz: "1.5rem", children: icon })
|
|
40
|
+
] })
|
|
41
|
+
}
|
|
42
|
+
);
|
|
34
43
|
}
|
|
35
44
|
export {
|
|
36
45
|
StatCard
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatCard.js","sources":["../../../../src/components/generic/StatCard/StatCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { fairmintVars } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { Card, type CardProps } from \"../../primitives/Card/Card\";\nimport { Box, Group, Stack, Text } from \"../../primitives/layout\";\n\nexport interface StatCardProps extends Omit<CardProps, \"children\"> {\n /** Card label (e.g., \"Total Value\"). */\n label: string;\n /** Formatted value string (e.g., \"$125,000\"). */\n value: string;\n /** Optional icon element. */\n icon?: ReactNode;\n /**\n * Mantine color name for the gradient background.\n * @default colors.primary\n */\n color?: string;\n /** Optional trend or supporting text below the value. */\n trend?: string;\n}\n\nexport function StatCard({\n label,\n value,\n icon,\n color = colors.primary,\n trend,\n ...rest\n}: StatCardProps) {\n return (\n <Card
|
|
1
|
+
{"version":3,"file":"StatCard.js","sources":["../../../../src/components/generic/StatCard/StatCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { fairmintVars } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { Card, type CardProps } from \"../../primitives/Card/Card\";\nimport { Box, Group, Stack, Text } from \"../../primitives/layout\";\n\nexport interface StatCardProps extends Omit<CardProps, \"children\"> {\n /** Card label (e.g., \"Total Value\"). */\n label: string;\n /** Formatted value string (e.g., \"$125,000\"). */\n value: string;\n /** Optional icon element. */\n icon?: ReactNode;\n /**\n * Mantine color name for the gradient background.\n * @default colors.primary\n */\n color?: string;\n /** Optional trend or supporting text below the value. */\n trend?: string;\n}\n\nexport function StatCard({\n label,\n value,\n icon,\n color = colors.primary,\n trend,\n ...rest\n}: StatCardProps) {\n const isNeutral = color === \"neutral\";\n\n return (\n <Card\n bg={isNeutral ? fairmintVars.colorBgSurface : `${color}.0`}\n bd={isNeutral ? `1px solid ${fairmintVars.colorBorderDefault}` : `1px solid ${color}.2`}\n {...rest}\n >\n <Group justify=\"space-between\" align=\"flex-start\">\n <Stack gap={4}>\n <Text\n size=\"xs\"\n fw={600}\n tt=\"uppercase\"\n c={isNeutral ? fairmintVars.colorTextTertiary : `${color}.6`}\n style={{ letterSpacing: \"0.05em\" }}\n >\n {label}\n </Text>\n <Text fw={700} size=\"xl\" lh={1}>\n {value}\n </Text>\n {trend && (\n <Text size=\"xs\" c={fairmintVars.colorTextSecondary}>\n {trend}\n </Text>\n )}\n </Stack>\n {icon && (\n <Box c={`${color}.5`} fz=\"1.5rem\">\n {icon}\n </Box>\n )}\n </Group>\n </Card>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,OAAO;AAAA,EACf;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,YAAY,UAAU;AAE5B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,YAAY,aAAa,iBAAiB,GAAG,KAAK;AAAA,MACtD,IAAI,YAAY,aAAa,aAAa,kBAAkB,KAAK,aAAa,KAAK;AAAA,MAClF,GAAG;AAAA,MAEJ,UAAA,qBAAC,OAAA,EAAM,SAAQ,iBAAgB,OAAM,cACnC,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAM,KAAK,GACV,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,IAAI;AAAA,cACJ,IAAG;AAAA,cACH,GAAG,YAAY,aAAa,oBAAoB,GAAG,KAAK;AAAA,cACxD,OAAO,EAAE,eAAe,SAAA;AAAA,cAEvB,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEH,oBAAC,QAAK,IAAI,KAAK,MAAK,MAAK,IAAI,GAC1B,UAAA,MAAA,CACH;AAAA,UACC,6BACE,MAAA,EAAK,MAAK,MAAK,GAAG,aAAa,oBAC7B,UAAA,MAAA,CACH;AAAA,QAAA,GAEJ;AAAA,QACC,4BACE,KAAA,EAAI,GAAG,GAAG,KAAK,MAAM,IAAG,UACtB,UAAA,KAAA,CACH;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -52,8 +52,8 @@ function StepCard({
|
|
|
52
52
|
style: {
|
|
53
53
|
flexShrink: 0,
|
|
54
54
|
pointerEvents: "none",
|
|
55
|
-
background: done ? index.
|
|
56
|
-
color: done ?
|
|
55
|
+
background: done ? index.fairmintVars.colorBrandPrimary : index.fairmintVars.colorBgSurfaceSecondary,
|
|
56
|
+
color: done ? index.fairmintVars.colorTextInverse : index.fairmintVars.colorTextPrimary,
|
|
57
57
|
border: done ? void 0 : `1px solid ${index.fairmintVars.colorBorderDefault}`
|
|
58
58
|
},
|
|
59
59
|
children: done ? doneIcon ?? /* @__PURE__ */ jsxRuntime.jsx(DefaultCheckIcon, {}) : /* @__PURE__ */ jsxRuntime.jsx(Text.Text, { fw: 700, fz: 14, children: index$1 })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepCard.cjs","sources":["../../../../src/components/generic/StepCard/StepCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"StepCard.cjs","sources":["../../../../src/components/generic/StepCard/StepCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { fairmintVars, responsiveTypography } from \"../../../theme\";\nimport { Box, Group, Paper, Stack, Text, ThemeIcon } from \"../../primitives/layout\";\n\n/** Default check glyph shown when `done === true`. Inline SVG — check only, no circle outline. */\nconst DefaultCheckIcon = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m5 13 4 4 10-10\" />\n </svg>\n);\n\nexport interface StepCardProps {\n /** 1-indexed step number shown in the indicator when not done. */\n index: number;\n /** Step title. */\n title: string;\n /** Optional supporting text below the title. */\n description?: string;\n /** When true, the indicator flips from the number to a check glyph. */\n done?: boolean;\n /**\n * Override the icon shown when `done === true`. Defaults to a check-only\n * glyph. Accept-as-ReactNode so consumers don't need to import an icon library.\n */\n doneIcon?: ReactNode;\n /** Step content rendered below the header. */\n children: ReactNode;\n}\n\n/**\n * Numbered step card used in multi-section wizards and form flows.\n *\n * The numbered indicator on the left flips to a check when the step is\n * marked done — a quiet progress signal that doesn't compete with the\n * right-column summary or page-level progress UI. Each step sits in\n * its own `Paper` for clear visual separation.\n *\n * The header indicator is the focal point; consumers control the body\n * via `children`.\n */\nexport function StepCard({\n index,\n title,\n description,\n done = false,\n doneIcon,\n children,\n}: StepCardProps) {\n return (\n <Paper\n radius=\"lg\"\n p={{ base: \"md\", sm: \"xl\" }}\n style={{\n background: fairmintVars.colorBgSurface,\n border: `1px solid ${fairmintVars.colorBorderDefault}`,\n }}\n >\n <Stack gap=\"md\">\n <Group gap=\"md\" align=\"flex-start\" wrap=\"nowrap\">\n <ThemeIcon\n size={32}\n radius=\"xl\"\n variant={done ? \"filled\" : \"light\"}\n color={done ? \"indigo\" : \"gray\"}\n aria-label={done ? `Step ${index} complete` : `Step ${index}`}\n style={{\n flexShrink: 0,\n pointerEvents: \"none\",\n background: done\n ? fairmintVars.colorBrandPrimary\n : fairmintVars.colorBgSurfaceSecondary,\n color: done ? fairmintVars.colorTextInverse : fairmintVars.colorTextPrimary,\n border: done ? undefined : `1px solid ${fairmintVars.colorBorderDefault}`,\n }}\n >\n {done ? (\n (doneIcon ?? <DefaultCheckIcon />)\n ) : (\n <Text fw={700} fz={14}>\n {index}\n </Text>\n )}\n </ThemeIcon>\n <Box style={{ minWidth: 0, flex: 1 }}>\n <Text\n fw={700}\n fz={responsiveTypography.cardTitle}\n c={fairmintVars.colorTextPrimary}\n lh={1.3}\n >\n {title}\n </Text>\n {description && (\n <Text size=\"sm\" c={fairmintVars.colorTextSecondary} lh={1.5} mt={4}>\n {description}\n </Text>\n )}\n </Box>\n </Group>\n <Box pl={{ base: 0, sm: 48 }}>{children}</Box>\n </Stack>\n </Paper>\n );\n}\n"],"names":["jsx","index","Paper","fairmintVars","jsxs","Stack","Group","ThemeIcon","Text","Box","responsiveTypography"],"mappings":";;;;;;;;;AAKA,MAAM,mBAAmB,MACvBA,2BAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,eAAc;AAAA,IACd,gBAAe;AAAA,IACf,eAAY;AAAA,IAEZ,UAAAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAA,CAAkB;AAAA,EAAA;AAC5B;AAgCK,SAAS,SAAS;AAAA,EAAA,OACvBC;AAAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAAkB;AAChB,SACED,2BAAAA;AAAAA,IAACE,OAAAA;AAAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,GAAG,EAAE,MAAM,MAAM,IAAI,KAAA;AAAA,MACrB,OAAO;AAAA,QACL,YAAYC,MAAAA,aAAa;AAAA,QACzB,QAAQ,aAAaA,MAAAA,aAAa,kBAAkB;AAAA,MAAA;AAAA,MAGtD,UAAAC,2BAAAA,KAACC,OAAAA,OAAA,EAAM,KAAI,MACT,UAAA;AAAA,QAAAD,gCAACE,MAAAA,SAAM,KAAI,MAAK,OAAM,cAAa,MAAK,UACtC,UAAA;AAAA,UAAAN,2BAAAA;AAAAA,YAACO,UAAAA;AAAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,QAAO;AAAA,cACP,SAAS,OAAO,WAAW;AAAA,cAC3B,OAAO,OAAO,WAAW;AAAA,cACzB,cAAY,OAAO,QAAQN,OAAK,cAAc,QAAQA,OAAK;AAAA,cAC3D,OAAO;AAAA,gBACL,YAAY;AAAA,gBACZ,eAAe;AAAA,gBACf,YAAY,OACRE,MAAAA,aAAa,oBACbA,MAAAA,aAAa;AAAA,gBACjB,OAAO,OAAOA,MAAAA,aAAa,mBAAmBA,MAAAA,aAAa;AAAA,gBAC3D,QAAQ,OAAO,SAAY,aAAaA,MAAAA,aAAa,kBAAkB;AAAA,cAAA;AAAA,cAGxE,UAAA,OACE,YAAYH,2BAAAA,IAAC,kBAAA,CAAA,CAAiB,IAE/BA,2BAAAA,IAACQ,KAAAA,MAAA,EAAK,IAAI,KAAK,IAAI,IAChB,UAAAP,QAAA,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJG,gCAACK,OAAAA,OAAI,OAAO,EAAE,UAAU,GAAG,MAAM,KAC/B,UAAA;AAAA,YAAAT,2BAAAA;AAAAA,cAACQ,KAAAA;AAAAA,cAAA;AAAA,gBACC,IAAI;AAAA,gBACJ,IAAIE,qBAAAA,qBAAqB;AAAA,gBACzB,GAAGP,MAAAA,aAAa;AAAA,gBAChB,IAAI;AAAA,gBAEH,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAEF,eACCH,2BAAAA,IAACQ,KAAAA,MAAA,EAAK,MAAK,MAAK,GAAGL,MAAAA,aAAa,oBAAoB,IAAI,KAAK,IAAI,GAC9D,UAAA,YAAA,CACH;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA,GACF;AAAA,QACAH,+BAACS,OAAAA,OAAI,IAAI,EAAE,MAAM,GAAG,IAAI,GAAA,GAAO,SAAA,CAAS;AAAA,MAAA,EAAA,CAC1C;AAAA,IAAA;AAAA,EAAA;AAGN;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepCard.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/StepCard/StepCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAqBvC,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAY,EACZ,QAAQ,EACR,QAAQ,GACT,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"StepCard.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/StepCard/StepCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAqBvC,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAY,EACZ,QAAQ,EACR,QAAQ,GACT,EAAE,aAAa,2CAwDf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { fairmintVars
|
|
2
|
+
import { fairmintVars } from "../../../theme/index.js";
|
|
3
3
|
import { Paper, Stack, Box } from "../../primitives/layout.js";
|
|
4
4
|
import { Group } from "../../../node_modules/@mantine/core/esm/components/Group/Group.js";
|
|
5
5
|
import { ThemeIcon } from "../../../node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.js";
|
|
@@ -50,8 +50,8 @@ function StepCard({
|
|
|
50
50
|
style: {
|
|
51
51
|
flexShrink: 0,
|
|
52
52
|
pointerEvents: "none",
|
|
53
|
-
background: done ?
|
|
54
|
-
color: done ?
|
|
53
|
+
background: done ? fairmintVars.colorBrandPrimary : fairmintVars.colorBgSurfaceSecondary,
|
|
54
|
+
color: done ? fairmintVars.colorTextInverse : fairmintVars.colorTextPrimary,
|
|
55
55
|
border: done ? void 0 : `1px solid ${fairmintVars.colorBorderDefault}`
|
|
56
56
|
},
|
|
57
57
|
children: done ? doneIcon ?? /* @__PURE__ */ jsx(DefaultCheckIcon, {}) : /* @__PURE__ */ jsx(Text, { fw: 700, fz: 14, children: index })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepCard.js","sources":["../../../../src/components/generic/StepCard/StepCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"StepCard.js","sources":["../../../../src/components/generic/StepCard/StepCard.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { fairmintVars, responsiveTypography } from \"../../../theme\";\nimport { Box, Group, Paper, Stack, Text, ThemeIcon } from \"../../primitives/layout\";\n\n/** Default check glyph shown when `done === true`. Inline SVG — check only, no circle outline. */\nconst DefaultCheckIcon = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m5 13 4 4 10-10\" />\n </svg>\n);\n\nexport interface StepCardProps {\n /** 1-indexed step number shown in the indicator when not done. */\n index: number;\n /** Step title. */\n title: string;\n /** Optional supporting text below the title. */\n description?: string;\n /** When true, the indicator flips from the number to a check glyph. */\n done?: boolean;\n /**\n * Override the icon shown when `done === true`. Defaults to a check-only\n * glyph. Accept-as-ReactNode so consumers don't need to import an icon library.\n */\n doneIcon?: ReactNode;\n /** Step content rendered below the header. */\n children: ReactNode;\n}\n\n/**\n * Numbered step card used in multi-section wizards and form flows.\n *\n * The numbered indicator on the left flips to a check when the step is\n * marked done — a quiet progress signal that doesn't compete with the\n * right-column summary or page-level progress UI. Each step sits in\n * its own `Paper` for clear visual separation.\n *\n * The header indicator is the focal point; consumers control the body\n * via `children`.\n */\nexport function StepCard({\n index,\n title,\n description,\n done = false,\n doneIcon,\n children,\n}: StepCardProps) {\n return (\n <Paper\n radius=\"lg\"\n p={{ base: \"md\", sm: \"xl\" }}\n style={{\n background: fairmintVars.colorBgSurface,\n border: `1px solid ${fairmintVars.colorBorderDefault}`,\n }}\n >\n <Stack gap=\"md\">\n <Group gap=\"md\" align=\"flex-start\" wrap=\"nowrap\">\n <ThemeIcon\n size={32}\n radius=\"xl\"\n variant={done ? \"filled\" : \"light\"}\n color={done ? \"indigo\" : \"gray\"}\n aria-label={done ? `Step ${index} complete` : `Step ${index}`}\n style={{\n flexShrink: 0,\n pointerEvents: \"none\",\n background: done\n ? fairmintVars.colorBrandPrimary\n : fairmintVars.colorBgSurfaceSecondary,\n color: done ? fairmintVars.colorTextInverse : fairmintVars.colorTextPrimary,\n border: done ? undefined : `1px solid ${fairmintVars.colorBorderDefault}`,\n }}\n >\n {done ? (\n (doneIcon ?? <DefaultCheckIcon />)\n ) : (\n <Text fw={700} fz={14}>\n {index}\n </Text>\n )}\n </ThemeIcon>\n <Box style={{ minWidth: 0, flex: 1 }}>\n <Text\n fw={700}\n fz={responsiveTypography.cardTitle}\n c={fairmintVars.colorTextPrimary}\n lh={1.3}\n >\n {title}\n </Text>\n {description && (\n <Text size=\"sm\" c={fairmintVars.colorTextSecondary} lh={1.5} mt={4}>\n {description}\n </Text>\n )}\n </Box>\n </Group>\n <Box pl={{ base: 0, sm: 48 }}>{children}</Box>\n </Stack>\n </Paper>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAKA,MAAM,mBAAmB,MACvB;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,eAAc;AAAA,IACd,gBAAe;AAAA,IACf,eAAY;AAAA,IAEZ,UAAA,oBAAC,QAAA,EAAK,GAAE,kBAAA,CAAkB;AAAA,EAAA;AAC5B;AAgCK,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAAkB;AAChB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,GAAG,EAAE,MAAM,MAAM,IAAI,KAAA;AAAA,MACrB,OAAO;AAAA,QACL,YAAY,aAAa;AAAA,QACzB,QAAQ,aAAa,aAAa,kBAAkB;AAAA,MAAA;AAAA,MAGtD,UAAA,qBAAC,OAAA,EAAM,KAAI,MACT,UAAA;AAAA,QAAA,qBAAC,SAAM,KAAI,MAAK,OAAM,cAAa,MAAK,UACtC,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,QAAO;AAAA,cACP,SAAS,OAAO,WAAW;AAAA,cAC3B,OAAO,OAAO,WAAW;AAAA,cACzB,cAAY,OAAO,QAAQ,KAAK,cAAc,QAAQ,KAAK;AAAA,cAC3D,OAAO;AAAA,gBACL,YAAY;AAAA,gBACZ,eAAe;AAAA,gBACf,YAAY,OACR,aAAa,oBACb,aAAa;AAAA,gBACjB,OAAO,OAAO,aAAa,mBAAmB,aAAa;AAAA,gBAC3D,QAAQ,OAAO,SAAY,aAAa,aAAa,kBAAkB;AAAA,cAAA;AAAA,cAGxE,UAAA,OACE,YAAY,oBAAC,kBAAA,CAAA,CAAiB,IAE/B,oBAAC,MAAA,EAAK,IAAI,KAAK,IAAI,IAChB,UAAA,MAAA,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJ,qBAAC,OAAI,OAAO,EAAE,UAAU,GAAG,MAAM,KAC/B,UAAA;AAAA,YAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,gBACJ,IAAI,qBAAqB;AAAA,gBACzB,GAAG,aAAa;AAAA,gBAChB,IAAI;AAAA,gBAEH,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAEF,eACC,oBAAC,MAAA,EAAK,MAAK,MAAK,GAAG,aAAa,oBAAoB,IAAI,KAAK,IAAI,GAC9D,UAAA,YAAA,CACH;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA,GACF;AAAA,QACA,oBAAC,OAAI,IAAI,EAAE,MAAM,GAAG,IAAI,GAAA,GAAO,SAAA,CAAS;AAAA,MAAA,EAAA,CAC1C;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -17,11 +17,11 @@ function SideNav({ items, onItemClick, color = "indigo" }) {
|
|
|
17
17
|
style: { borderRadius: index.radii.md },
|
|
18
18
|
styles: {
|
|
19
19
|
root: {
|
|
20
|
-
color: item.active ?
|
|
20
|
+
color: item.active ? index.fairmintVars.colorTextPrimary : index.fairmintVars.colorTextSecondary,
|
|
21
21
|
fontWeight: item.active ? 500 : 400
|
|
22
22
|
},
|
|
23
23
|
section: {
|
|
24
|
-
color: item.active ?
|
|
24
|
+
color: item.active ? index.fairmintVars.colorBrandPrimary : index.fairmintVars.colorIconTertiary
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.cjs","sources":["../../../../src/components/layout/SideNav/SideNav.tsx"],"sourcesContent":["import { NavLink, Stack } from \"@mantine/core\";\nimport type { ReactNode } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"SideNav.cjs","sources":["../../../../src/components/layout/SideNav/SideNav.tsx"],"sourcesContent":["import { NavLink, Stack } from \"@mantine/core\";\nimport type { ReactNode } from \"react\";\nimport { fairmintVars, radii } from \"../../../theme\";\n\nexport interface SideNavItem {\n /** Unique identifier for this nav item (e.g., route path or slug). */\n id: string;\n /** Display label. */\n label: string;\n /** Icon element. */\n icon?: ReactNode;\n /** Whether this item is currently active. */\n active?: boolean;\n}\n\nexport interface SideNavProps {\n /** Navigation items to render. */\n items: SideNavItem[];\n /** Callback when a nav item is clicked. Receives the item's `id`. */\n onItemClick: (id: string) => void;\n /** Active color. @default \"indigo\" */\n color?: string;\n}\n\nexport function SideNav({ items, onItemClick, color = \"indigo\" }: SideNavProps) {\n return (\n <Stack component=\"nav\" gap={4} p=\"md\" aria-label=\"Main navigation\">\n {items.map((item) => (\n <NavLink\n key={item.id}\n label={item.label}\n leftSection={item.icon}\n active={item.active}\n onClick={() => onItemClick(item.id)}\n color={color}\n variant=\"light\"\n style={{ borderRadius: radii.md }}\n styles={{\n root: {\n color: item.active ? fairmintVars.colorTextPrimary : fairmintVars.colorTextSecondary,\n fontWeight: item.active ? 500 : 400,\n },\n section: {\n color: item.active ? fairmintVars.colorBrandPrimary : fairmintVars.colorIconTertiary,\n },\n }}\n />\n ))}\n </Stack>\n );\n}\n"],"names":["jsx","Stack","NavLink","radii","fairmintVars"],"mappings":";;;;;;AAwBO,SAAS,QAAQ,EAAE,OAAO,aAAa,QAAQ,YAA0B;AAC9E,SACEA,2BAAAA,IAACC,MAAAA,OAAA,EAAM,WAAU,OAAM,KAAK,GAAG,GAAE,MAAK,cAAW,mBAC9C,UAAA,MAAM,IAAI,CAAC,SACVD,2BAAAA;AAAAA,IAACE,QAAAA;AAAAA,IAAA;AAAA,MAEC,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,SAAS,MAAM,YAAY,KAAK,EAAE;AAAA,MAClC;AAAA,MACA,SAAQ;AAAA,MACR,OAAO,EAAE,cAAcC,MAAAA,MAAM,GAAA;AAAA,MAC7B,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,OAAO,KAAK,SAASC,MAAAA,aAAa,mBAAmBA,MAAAA,aAAa;AAAA,UAClE,YAAY,KAAK,SAAS,MAAM;AAAA,QAAA;AAAA,QAElC,SAAS;AAAA,UACP,OAAO,KAAK,SAASA,MAAAA,aAAa,oBAAoBA,MAAAA,aAAa;AAAA,QAAA;AAAA,MACrE;AAAA,IACF;AAAA,IAhBK,KAAK;AAAA,EAAA,CAkBb,GACH;AAEJ;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { fairmintVars, radii } from "../../../theme/index.js";
|
|
3
3
|
import { Stack } from "../../../node_modules/@mantine/core/esm/components/Stack/Stack.js";
|
|
4
4
|
import { NavLink } from "../../../node_modules/@mantine/core/esm/components/NavLink/NavLink.js";
|
|
5
5
|
function SideNav({ items, onItemClick, color = "indigo" }) {
|
|
@@ -15,11 +15,11 @@ function SideNav({ items, onItemClick, color = "indigo" }) {
|
|
|
15
15
|
style: { borderRadius: radii.md },
|
|
16
16
|
styles: {
|
|
17
17
|
root: {
|
|
18
|
-
color: item.active ?
|
|
18
|
+
color: item.active ? fairmintVars.colorTextPrimary : fairmintVars.colorTextSecondary,
|
|
19
19
|
fontWeight: item.active ? 500 : 400
|
|
20
20
|
},
|
|
21
21
|
section: {
|
|
22
|
-
color: item.active ?
|
|
22
|
+
color: item.active ? fairmintVars.colorBrandPrimary : fairmintVars.colorIconTertiary
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.js","sources":["../../../../src/components/layout/SideNav/SideNav.tsx"],"sourcesContent":["import { NavLink, Stack } from \"@mantine/core\";\nimport type { ReactNode } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"SideNav.js","sources":["../../../../src/components/layout/SideNav/SideNav.tsx"],"sourcesContent":["import { NavLink, Stack } from \"@mantine/core\";\nimport type { ReactNode } from \"react\";\nimport { fairmintVars, radii } from \"../../../theme\";\n\nexport interface SideNavItem {\n /** Unique identifier for this nav item (e.g., route path or slug). */\n id: string;\n /** Display label. */\n label: string;\n /** Icon element. */\n icon?: ReactNode;\n /** Whether this item is currently active. */\n active?: boolean;\n}\n\nexport interface SideNavProps {\n /** Navigation items to render. */\n items: SideNavItem[];\n /** Callback when a nav item is clicked. Receives the item's `id`. */\n onItemClick: (id: string) => void;\n /** Active color. @default \"indigo\" */\n color?: string;\n}\n\nexport function SideNav({ items, onItemClick, color = \"indigo\" }: SideNavProps) {\n return (\n <Stack component=\"nav\" gap={4} p=\"md\" aria-label=\"Main navigation\">\n {items.map((item) => (\n <NavLink\n key={item.id}\n label={item.label}\n leftSection={item.icon}\n active={item.active}\n onClick={() => onItemClick(item.id)}\n color={color}\n variant=\"light\"\n style={{ borderRadius: radii.md }}\n styles={{\n root: {\n color: item.active ? fairmintVars.colorTextPrimary : fairmintVars.colorTextSecondary,\n fontWeight: item.active ? 500 : 400,\n },\n section: {\n color: item.active ? fairmintVars.colorBrandPrimary : fairmintVars.colorIconTertiary,\n },\n }}\n />\n ))}\n </Stack>\n );\n}\n"],"names":[],"mappings":";;;;AAwBO,SAAS,QAAQ,EAAE,OAAO,aAAa,QAAQ,YAA0B;AAC9E,SACE,oBAAC,OAAA,EAAM,WAAU,OAAM,KAAK,GAAG,GAAE,MAAK,cAAW,mBAC9C,UAAA,MAAM,IAAI,CAAC,SACV;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,SAAS,MAAM,YAAY,KAAK,EAAE;AAAA,MAClC;AAAA,MACA,SAAQ;AAAA,MACR,OAAO,EAAE,cAAc,MAAM,GAAA;AAAA,MAC7B,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,OAAO,KAAK,SAAS,aAAa,mBAAmB,aAAa;AAAA,UAClE,YAAY,KAAK,SAAS,MAAM;AAAA,QAAA;AAAA,QAElC,SAAS;AAAA,UACP,OAAO,KAAK,SAAS,aAAa,oBAAoB,aAAa;AAAA,QAAA;AAAA,MACrE;AAAA,IACF;AAAA,IAhBK,KAAK;AAAA,EAAA,CAkBb,GACH;AAEJ;"}
|
|
@@ -15,14 +15,22 @@ const compatBadgeColorMap = {
|
|
|
15
15
|
success: colors.colors.success,
|
|
16
16
|
warning: colors.colors.warning
|
|
17
17
|
};
|
|
18
|
+
const semanticSolidColorMap = {
|
|
19
|
+
error: "var(--fairmint-color-error-solid)",
|
|
20
|
+
indigo: "var(--fairmint-color-brand-primary)",
|
|
21
|
+
info: "var(--fairmint-color-info-solid)",
|
|
22
|
+
success: "var(--fairmint-color-success-solid)",
|
|
23
|
+
warning: "var(--fairmint-color-warning-solid)"
|
|
24
|
+
};
|
|
18
25
|
const resolveBadgeColor = (color) => {
|
|
19
|
-
if (!color) return
|
|
26
|
+
if (!color) return index.fairmintVars.colorErrorSolid;
|
|
20
27
|
const mappedColor = compatBadgeColorMap[color] || color;
|
|
21
28
|
if (mappedColor.startsWith("#") || mappedColor.startsWith("rgb") || mappedColor.startsWith("hsl"))
|
|
22
29
|
return mappedColor;
|
|
23
30
|
if (mappedColor.startsWith("var(")) return mappedColor;
|
|
24
|
-
const [colorName, shade
|
|
25
|
-
|
|
31
|
+
const [colorName, shade] = mappedColor.split(".");
|
|
32
|
+
if (!shade && semanticSolidColorMap[colorName]) return semanticSolidColorMap[colorName];
|
|
33
|
+
return `var(--mantine-color-${colorName}-${shade ?? "6"})`;
|
|
26
34
|
};
|
|
27
35
|
const resolveAnchorStyle = (anchorOrigin) => {
|
|
28
36
|
const vertical = anchorOrigin?.vertical ?? "top";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.cjs","sources":["../../../../src/components/primitives/Badge/Badge.tsx"],"sourcesContent":["import { Badge as MantineBadge, type BadgeProps as MantineBadgeProps } from \"@mantine/core\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { forwardRef } from \"react\";\nimport { commonColors } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { type Sx, useSxStyle } from \"../sx\";\n\ntype BadgeAnchorOrigin = {\n horizontal?: \"left\" | \"right\";\n vertical?: \"bottom\" | \"top\";\n};\n\nexport interface BadgeProps extends MantineBadgeProps {\n anchorOrigin?: BadgeAnchorOrigin;\n badgeContent?: ReactNode;\n dot?: boolean;\n invisible?: boolean;\n max?: number;\n overlap?: \"circular\" | \"rectangular\";\n processing?: boolean;\n showZero?: boolean;\n sx?: Sx;\n}\n\nconst compatBadgeColorMap: Record<string, string> = {\n default: colors.neutral,\n error: colors.error,\n info: colors.info,\n primary: colors.primary,\n secondary: colors.neutral,\n success: colors.success,\n warning: colors.warning,\n};\n\nconst resolveBadgeColor = (color: MantineBadgeProps[\"color\"]): string => {\n if (!color) return
|
|
1
|
+
{"version":3,"file":"Badge.cjs","sources":["../../../../src/components/primitives/Badge/Badge.tsx"],"sourcesContent":["import { Badge as MantineBadge, type BadgeProps as MantineBadgeProps } from \"@mantine/core\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { forwardRef } from \"react\";\nimport { commonColors, fairmintVars } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { type Sx, useSxStyle } from \"../sx\";\n\ntype BadgeAnchorOrigin = {\n horizontal?: \"left\" | \"right\";\n vertical?: \"bottom\" | \"top\";\n};\n\nexport interface BadgeProps extends MantineBadgeProps {\n anchorOrigin?: BadgeAnchorOrigin;\n badgeContent?: ReactNode;\n dot?: boolean;\n invisible?: boolean;\n max?: number;\n overlap?: \"circular\" | \"rectangular\";\n processing?: boolean;\n showZero?: boolean;\n sx?: Sx;\n}\n\nconst compatBadgeColorMap: Record<string, string> = {\n default: colors.neutral,\n error: colors.error,\n info: colors.info,\n primary: colors.primary,\n secondary: colors.neutral,\n success: colors.success,\n warning: colors.warning,\n};\n\nconst semanticSolidColorMap: Record<string, string> = {\n error: \"var(--fairmint-color-error-solid)\",\n indigo: \"var(--fairmint-color-brand-primary)\",\n info: \"var(--fairmint-color-info-solid)\",\n success: \"var(--fairmint-color-success-solid)\",\n warning: \"var(--fairmint-color-warning-solid)\",\n};\n\nconst resolveBadgeColor = (color: MantineBadgeProps[\"color\"]): string => {\n if (!color) return fairmintVars.colorErrorSolid;\n const mappedColor = compatBadgeColorMap[color] || color;\n if (mappedColor.startsWith(\"#\") || mappedColor.startsWith(\"rgb\") || mappedColor.startsWith(\"hsl\"))\n return mappedColor;\n if (mappedColor.startsWith(\"var(\")) return mappedColor;\n\n const [colorName, shade] = mappedColor.split(\".\");\n if (!shade && semanticSolidColorMap[colorName]) return semanticSolidColorMap[colorName];\n\n return `var(--mantine-color-${colorName}-${shade ?? \"6\"})`;\n};\n\nconst resolveAnchorStyle = (anchorOrigin?: BadgeAnchorOrigin): CSSProperties => {\n const vertical = anchorOrigin?.vertical ?? \"top\";\n const horizontal = anchorOrigin?.horizontal ?? \"right\";\n\n return {\n [horizontal]: -4,\n [vertical]: -4,\n };\n};\n\nconst formatBadgeContent = (badgeContent: ReactNode, max?: number) => {\n if (typeof badgeContent !== \"number\" || max === undefined || badgeContent <= max) {\n return badgeContent;\n }\n\n return `${max}+`;\n};\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n anchorOrigin,\n badgeContent,\n children,\n color,\n dot,\n invisible,\n max,\n overlap: _overlap,\n processing: _processing,\n showZero,\n sx,\n style,\n variant = \"light\",\n ...props\n },\n ref,\n ) => {\n const sxStyle = useSxStyle(sx);\n\n if (dot || badgeContent !== undefined) {\n const shouldHideBadge = invisible || (!dot && badgeContent === 0 && !showZero);\n\n return (\n <span\n {...props}\n ref={ref}\n style={{\n display: \"inline-flex\",\n lineHeight: 1,\n position: \"relative\",\n ...sxStyle,\n ...(style as CSSProperties),\n }}\n >\n {children}\n {shouldHideBadge ? null : (\n <span\n aria-hidden={dot ? \"true\" : undefined}\n style={{\n backgroundColor: resolveBadgeColor(color),\n border: \"2px solid var(--mantine-color-body)\",\n borderRadius: 999,\n color: commonColors.white,\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: 10,\n fontWeight: 700,\n lineHeight: 1,\n minHeight: dot ? 10 : 16,\n minWidth: dot ? 10 : 16,\n padding: dot ? 0 : \"0 4px\",\n position: \"absolute\",\n ...resolveAnchorStyle(anchorOrigin),\n }}\n >\n {!dot && formatBadgeContent(badgeContent, max)}\n </span>\n )}\n </span>\n );\n }\n\n return (\n <MantineBadge\n component=\"span\"\n color={color}\n variant={variant}\n {...props}\n style={{ ...sxStyle, ...style }}\n ref={ref}\n >\n {children}\n </MantineBadge>\n );\n },\n);\nBadge.displayName = \"Badge\";\n"],"names":["colors","fairmintVars","forwardRef","sx","useSxStyle","jsxs","jsx","commonColors","MantineBadge"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,UAAU,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,OAAO,EAAE,KAAK,EAAE,EAAc,MAAM,OAAO,CAAC;AAE5C,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,EAAE,CAAC;CACT;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,UAAU,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,OAAO,EAAE,KAAK,EAAE,EAAc,MAAM,OAAO,CAAC;AAE5C,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,EAAE,CAAC;CACT;AAmDD,eAAO,MAAM,KAAK,wGA+EjB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { commonColors } from "../../../theme/index.js";
|
|
3
|
+
import { commonColors, fairmintVars } from "../../../theme/index.js";
|
|
4
4
|
import { colors } from "../../../theme/colors.js";
|
|
5
5
|
import { useSxStyle } from "../sx.js";
|
|
6
6
|
import { Badge as Badge$1 } from "../../../node_modules/@mantine/core/esm/components/Badge/Badge.js";
|
|
@@ -13,14 +13,22 @@ const compatBadgeColorMap = {
|
|
|
13
13
|
success: colors.success,
|
|
14
14
|
warning: colors.warning
|
|
15
15
|
};
|
|
16
|
+
const semanticSolidColorMap = {
|
|
17
|
+
error: "var(--fairmint-color-error-solid)",
|
|
18
|
+
indigo: "var(--fairmint-color-brand-primary)",
|
|
19
|
+
info: "var(--fairmint-color-info-solid)",
|
|
20
|
+
success: "var(--fairmint-color-success-solid)",
|
|
21
|
+
warning: "var(--fairmint-color-warning-solid)"
|
|
22
|
+
};
|
|
16
23
|
const resolveBadgeColor = (color) => {
|
|
17
|
-
if (!color) return
|
|
24
|
+
if (!color) return fairmintVars.colorErrorSolid;
|
|
18
25
|
const mappedColor = compatBadgeColorMap[color] || color;
|
|
19
26
|
if (mappedColor.startsWith("#") || mappedColor.startsWith("rgb") || mappedColor.startsWith("hsl"))
|
|
20
27
|
return mappedColor;
|
|
21
28
|
if (mappedColor.startsWith("var(")) return mappedColor;
|
|
22
|
-
const [colorName, shade
|
|
23
|
-
|
|
29
|
+
const [colorName, shade] = mappedColor.split(".");
|
|
30
|
+
if (!shade && semanticSolidColorMap[colorName]) return semanticSolidColorMap[colorName];
|
|
31
|
+
return `var(--mantine-color-${colorName}-${shade ?? "6"})`;
|
|
24
32
|
};
|
|
25
33
|
const resolveAnchorStyle = (anchorOrigin) => {
|
|
26
34
|
const vertical = anchorOrigin?.vertical ?? "top";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sources":["../../../../src/components/primitives/Badge/Badge.tsx"],"sourcesContent":["import { Badge as MantineBadge, type BadgeProps as MantineBadgeProps } from \"@mantine/core\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { forwardRef } from \"react\";\nimport { commonColors } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { type Sx, useSxStyle } from \"../sx\";\n\ntype BadgeAnchorOrigin = {\n horizontal?: \"left\" | \"right\";\n vertical?: \"bottom\" | \"top\";\n};\n\nexport interface BadgeProps extends MantineBadgeProps {\n anchorOrigin?: BadgeAnchorOrigin;\n badgeContent?: ReactNode;\n dot?: boolean;\n invisible?: boolean;\n max?: number;\n overlap?: \"circular\" | \"rectangular\";\n processing?: boolean;\n showZero?: boolean;\n sx?: Sx;\n}\n\nconst compatBadgeColorMap: Record<string, string> = {\n default: colors.neutral,\n error: colors.error,\n info: colors.info,\n primary: colors.primary,\n secondary: colors.neutral,\n success: colors.success,\n warning: colors.warning,\n};\n\nconst resolveBadgeColor = (color: MantineBadgeProps[\"color\"]): string => {\n if (!color) return
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../../src/components/primitives/Badge/Badge.tsx"],"sourcesContent":["import { Badge as MantineBadge, type BadgeProps as MantineBadgeProps } from \"@mantine/core\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { forwardRef } from \"react\";\nimport { commonColors, fairmintVars } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { type Sx, useSxStyle } from \"../sx\";\n\ntype BadgeAnchorOrigin = {\n horizontal?: \"left\" | \"right\";\n vertical?: \"bottom\" | \"top\";\n};\n\nexport interface BadgeProps extends MantineBadgeProps {\n anchorOrigin?: BadgeAnchorOrigin;\n badgeContent?: ReactNode;\n dot?: boolean;\n invisible?: boolean;\n max?: number;\n overlap?: \"circular\" | \"rectangular\";\n processing?: boolean;\n showZero?: boolean;\n sx?: Sx;\n}\n\nconst compatBadgeColorMap: Record<string, string> = {\n default: colors.neutral,\n error: colors.error,\n info: colors.info,\n primary: colors.primary,\n secondary: colors.neutral,\n success: colors.success,\n warning: colors.warning,\n};\n\nconst semanticSolidColorMap: Record<string, string> = {\n error: \"var(--fairmint-color-error-solid)\",\n indigo: \"var(--fairmint-color-brand-primary)\",\n info: \"var(--fairmint-color-info-solid)\",\n success: \"var(--fairmint-color-success-solid)\",\n warning: \"var(--fairmint-color-warning-solid)\",\n};\n\nconst resolveBadgeColor = (color: MantineBadgeProps[\"color\"]): string => {\n if (!color) return fairmintVars.colorErrorSolid;\n const mappedColor = compatBadgeColorMap[color] || color;\n if (mappedColor.startsWith(\"#\") || mappedColor.startsWith(\"rgb\") || mappedColor.startsWith(\"hsl\"))\n return mappedColor;\n if (mappedColor.startsWith(\"var(\")) return mappedColor;\n\n const [colorName, shade] = mappedColor.split(\".\");\n if (!shade && semanticSolidColorMap[colorName]) return semanticSolidColorMap[colorName];\n\n return `var(--mantine-color-${colorName}-${shade ?? \"6\"})`;\n};\n\nconst resolveAnchorStyle = (anchorOrigin?: BadgeAnchorOrigin): CSSProperties => {\n const vertical = anchorOrigin?.vertical ?? \"top\";\n const horizontal = anchorOrigin?.horizontal ?? \"right\";\n\n return {\n [horizontal]: -4,\n [vertical]: -4,\n };\n};\n\nconst formatBadgeContent = (badgeContent: ReactNode, max?: number) => {\n if (typeof badgeContent !== \"number\" || max === undefined || badgeContent <= max) {\n return badgeContent;\n }\n\n return `${max}+`;\n};\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n anchorOrigin,\n badgeContent,\n children,\n color,\n dot,\n invisible,\n max,\n overlap: _overlap,\n processing: _processing,\n showZero,\n sx,\n style,\n variant = \"light\",\n ...props\n },\n ref,\n ) => {\n const sxStyle = useSxStyle(sx);\n\n if (dot || badgeContent !== undefined) {\n const shouldHideBadge = invisible || (!dot && badgeContent === 0 && !showZero);\n\n return (\n <span\n {...props}\n ref={ref}\n style={{\n display: \"inline-flex\",\n lineHeight: 1,\n position: \"relative\",\n ...sxStyle,\n ...(style as CSSProperties),\n }}\n >\n {children}\n {shouldHideBadge ? null : (\n <span\n aria-hidden={dot ? \"true\" : undefined}\n style={{\n backgroundColor: resolveBadgeColor(color),\n border: \"2px solid var(--mantine-color-body)\",\n borderRadius: 999,\n color: commonColors.white,\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: 10,\n fontWeight: 700,\n lineHeight: 1,\n minHeight: dot ? 10 : 16,\n minWidth: dot ? 10 : 16,\n padding: dot ? 0 : \"0 4px\",\n position: \"absolute\",\n ...resolveAnchorStyle(anchorOrigin),\n }}\n >\n {!dot && formatBadgeContent(badgeContent, max)}\n </span>\n )}\n </span>\n );\n }\n\n return (\n <MantineBadge\n component=\"span\"\n color={color}\n variant={variant}\n {...props}\n style={{ ...sxStyle, ...style }}\n ref={ref}\n >\n {children}\n </MantineBadge>\n );\n },\n);\nBadge.displayName = \"Badge\";\n"],"names":["MantineBadge"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ const dayjs_min = require("../../_virtual/dayjs.min.cjs");
|
|
|
5
5
|
const customParseFormat = require("../../_virtual/customParseFormat.cjs");
|
|
6
6
|
const React = require("react");
|
|
7
7
|
const index = require("../../theme/index.cjs");
|
|
8
|
-
const colors = require("../../theme/colors.cjs");
|
|
9
8
|
const ActionIcon = require("./ActionIcon/ActionIcon.cjs");
|
|
10
9
|
const Badge = require("./Badge/Badge.cjs");
|
|
11
10
|
const Loader = require("./Loader/Loader.cjs");
|
|
@@ -43,10 +42,6 @@ const ChevronIcon = ({ direction }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
43
42
|
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: direction === "left" ? "M15 6 9 12l6 6" : "m9 6 6 6-6 6" })
|
|
44
43
|
}
|
|
45
44
|
);
|
|
46
|
-
const themeColor = (name, shade) => {
|
|
47
|
-
const palette = index.theme.colors?.[name];
|
|
48
|
-
return Array.isArray(palette) ? palette[shade] : void 0;
|
|
49
|
-
};
|
|
50
45
|
const compatBreakpointKeys = ["xs", "sm", "md", "lg", "xl"];
|
|
51
46
|
const compatFallbackBreakpoints = {
|
|
52
47
|
xs: "30em",
|
|
@@ -61,26 +56,26 @@ const compatBreakpoints = {
|
|
|
61
56
|
up: (key) => `@media (min-width: ${compatBreakpointWidth(key)})`
|
|
62
57
|
};
|
|
63
58
|
const compatColorMap = {
|
|
64
|
-
action: index.
|
|
65
|
-
"action.active": index.
|
|
66
|
-
"action.selected": index.
|
|
67
|
-
brand: index.
|
|
68
|
-
default: index.
|
|
69
|
-
disabled: index.
|
|
70
|
-
error: index.
|
|
71
|
-
"error.main": index.
|
|
72
|
-
info: index.
|
|
73
|
-
"info.darkest":
|
|
59
|
+
action: index.fairmintVars.colorIconSecondary,
|
|
60
|
+
"action.active": index.fairmintVars.colorIconPrimary,
|
|
61
|
+
"action.selected": index.fairmintVars.colorBgSelected,
|
|
62
|
+
brand: index.fairmintVars.colorBrandPrimary,
|
|
63
|
+
default: index.fairmintVars.colorTextSecondary,
|
|
64
|
+
disabled: index.fairmintVars.colorTextDisabled,
|
|
65
|
+
error: index.fairmintVars.colorErrorText,
|
|
66
|
+
"error.main": index.fairmintVars.colorErrorText,
|
|
67
|
+
info: index.fairmintVars.colorInfoText,
|
|
68
|
+
"info.darkest": index.fairmintVars.colorInfoSolid,
|
|
74
69
|
inherit: "inherit",
|
|
75
|
-
primary: index.
|
|
76
|
-
secondary: index.
|
|
77
|
-
success: index.
|
|
78
|
-
"success.dark":
|
|
79
|
-
"text.disabled": index.
|
|
80
|
-
"text.primary": index.
|
|
81
|
-
"text.secondary": index.
|
|
82
|
-
warning: index.
|
|
83
|
-
"warning.darkest":
|
|
70
|
+
primary: index.fairmintVars.colorBrandPrimary,
|
|
71
|
+
secondary: index.fairmintVars.colorTextSecondary,
|
|
72
|
+
success: index.fairmintVars.colorSuccessText,
|
|
73
|
+
"success.dark": index.fairmintVars.colorSuccessSolid,
|
|
74
|
+
"text.disabled": index.fairmintVars.colorTextDisabled,
|
|
75
|
+
"text.primary": index.fairmintVars.colorTextPrimary,
|
|
76
|
+
"text.secondary": index.fairmintVars.colorTextSecondary,
|
|
77
|
+
warning: index.fairmintVars.colorWarningText,
|
|
78
|
+
"warning.darkest": index.fairmintVars.colorWarningSolid
|
|
84
79
|
};
|
|
85
80
|
const resolveCompatColor = (color) => {
|
|
86
81
|
if (typeof color !== "string" || !color) return void 0;
|
|
@@ -313,36 +308,36 @@ const compatTheme = {
|
|
|
313
308
|
breakpoints: compatBreakpoints,
|
|
314
309
|
palette: {
|
|
315
310
|
action: {
|
|
316
|
-
active: index.
|
|
317
|
-
hover: index.
|
|
318
|
-
selected: index.
|
|
311
|
+
active: index.fairmintVars.colorIconPrimary,
|
|
312
|
+
hover: index.fairmintVars.colorBgHover,
|
|
313
|
+
selected: index.fairmintVars.colorBgSelected
|
|
319
314
|
},
|
|
320
|
-
background: { default: index.
|
|
315
|
+
background: { default: index.fairmintVars.colorBgCanvas, paper: index.fairmintVars.colorBgSurface },
|
|
321
316
|
common: { black: index.commonColors.black, white: index.commonColors.white },
|
|
322
|
-
divider: index.
|
|
323
|
-
error: { main: index.
|
|
317
|
+
divider: index.fairmintVars.colorBorderDefault,
|
|
318
|
+
error: { main: index.fairmintVars.colorErrorText },
|
|
324
319
|
grey: {
|
|
325
|
-
50: index.
|
|
326
|
-
100: index.
|
|
327
|
-
500: index.
|
|
328
|
-
900: index.
|
|
320
|
+
50: index.fairmintVars.colorBgSurfaceSecondary,
|
|
321
|
+
100: index.fairmintVars.colorBgHover,
|
|
322
|
+
500: index.fairmintVars.colorTextSecondary,
|
|
323
|
+
900: index.fairmintVars.colorTextPrimary
|
|
329
324
|
},
|
|
330
|
-
info: { main: index.
|
|
325
|
+
info: { main: index.fairmintVars.colorInfoText },
|
|
331
326
|
mode: "light",
|
|
332
327
|
primary: {
|
|
333
328
|
contrastText: index.commonColors.white,
|
|
334
|
-
dark:
|
|
335
|
-
light:
|
|
336
|
-
main: index.
|
|
329
|
+
dark: index.fairmintVars.colorBrandPrimaryHover,
|
|
330
|
+
light: index.fairmintVars.colorBrandPrimaryActive,
|
|
331
|
+
main: index.fairmintVars.colorBrandPrimary
|
|
337
332
|
},
|
|
338
|
-
secondary: { main: index.
|
|
339
|
-
success: { main: index.
|
|
333
|
+
secondary: { main: index.fairmintVars.colorTextSecondary },
|
|
334
|
+
success: { main: index.fairmintVars.colorSuccessText },
|
|
340
335
|
text: {
|
|
341
|
-
disabled: index.
|
|
342
|
-
primary: index.
|
|
343
|
-
secondary: index.
|
|
336
|
+
disabled: index.fairmintVars.colorTextDisabled,
|
|
337
|
+
primary: index.fairmintVars.colorTextPrimary,
|
|
338
|
+
secondary: index.fairmintVars.colorTextSecondary
|
|
344
339
|
},
|
|
345
|
-
warning: { main: index.
|
|
340
|
+
warning: { main: index.fairmintVars.colorWarningText }
|
|
346
341
|
},
|
|
347
342
|
shape: { borderRadius: 4 },
|
|
348
343
|
spacing: (...values) => values.map((value) => typeof value === "number" ? `${value * 8}px` : value).join(" "),
|
|
@@ -1159,6 +1154,7 @@ const SvgIcon = ({
|
|
|
1159
1154
|
"svg",
|
|
1160
1155
|
{
|
|
1161
1156
|
"aria-hidden": titleAccess ? void 0 : true,
|
|
1157
|
+
color: htmlColor || resolveCompatColor(color),
|
|
1162
1158
|
fill: "currentColor",
|
|
1163
1159
|
focusable: "false",
|
|
1164
1160
|
height: "1em",
|
|
@@ -1271,6 +1267,7 @@ const DatePicker = ({
|
|
|
1271
1267
|
style,
|
|
1272
1268
|
sx: { ...sxToStyle(sx2), ...sxToStyle(textFieldSx) }
|
|
1273
1269
|
}),
|
|
1270
|
+
popoverProps: { zIndex: 1400 },
|
|
1274
1271
|
...textFieldProps,
|
|
1275
1272
|
...props
|
|
1276
1273
|
}
|