@inzumer/ui-library 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/Select.styles-CeZROqOk.d.ts +8 -0
  2. package/dist/{chunk-BKPP4D3Q.js → chunk-27HTTVFO.js} +2 -2
  3. package/dist/{chunk-BKPP4D3Q.js.map → chunk-27HTTVFO.js.map} +1 -1
  4. package/dist/chunk-4H6VER5P.js +36 -0
  5. package/dist/chunk-4H6VER5P.js.map +1 -0
  6. package/dist/chunk-4TPQTZSR.js +76 -0
  7. package/dist/chunk-4TPQTZSR.js.map +1 -0
  8. package/dist/{chunk-D4I5OF3C.js → chunk-5LKLTY55.js} +2 -2
  9. package/dist/{chunk-D4I5OF3C.js.map → chunk-5LKLTY55.js.map} +1 -1
  10. package/dist/{chunk-WUEVXL76.js → chunk-DIA7L6IA.js} +4 -33
  11. package/dist/chunk-DIA7L6IA.js.map +1 -0
  12. package/dist/{chunk-DP274HDM.js → chunk-IY452YEX.js} +14 -4
  13. package/dist/chunk-IY452YEX.js.map +1 -0
  14. package/dist/{chunk-W3H7DYWX.js → chunk-J7X6NLSR.js} +30 -12
  15. package/dist/chunk-J7X6NLSR.js.map +1 -0
  16. package/dist/{chunk-5IHM2545.js → chunk-KAU7S3D4.js} +2 -2
  17. package/dist/{chunk-5IHM2545.js.map → chunk-KAU7S3D4.js.map} +1 -1
  18. package/dist/{chunk-ZABQF65Z.js → chunk-KSNAVEJP.js} +3 -3
  19. package/dist/{chunk-ZABQF65Z.js.map → chunk-KSNAVEJP.js.map} +1 -1
  20. package/dist/chunk-LLJXVAR6.js +184 -0
  21. package/dist/chunk-LLJXVAR6.js.map +1 -0
  22. package/dist/{chunk-7HQFLM4A.js → chunk-NA7YKEO4.js} +2 -2
  23. package/dist/{chunk-7HQFLM4A.js.map → chunk-NA7YKEO4.js.map} +1 -1
  24. package/dist/{chunk-ULLCBART.js → chunk-NTXFFBL6.js} +4 -4
  25. package/dist/{chunk-ULLCBART.js.map → chunk-NTXFFBL6.js.map} +1 -1
  26. package/dist/{chunk-P4CV2EPR.js → chunk-SPDOYFCU.js} +2 -2
  27. package/dist/{chunk-P4CV2EPR.js.map → chunk-SPDOYFCU.js.map} +1 -1
  28. package/dist/{chunk-VGLFR5SB.js → chunk-TO3FF6FR.js} +4 -4
  29. package/dist/{chunk-VGLFR5SB.js.map → chunk-TO3FF6FR.js.map} +1 -1
  30. package/dist/{chunk-UL33H4AD.js → chunk-TRLFK626.js} +24 -4
  31. package/dist/chunk-TRLFK626.js.map +1 -0
  32. package/dist/{chunk-3YRDRHO3.js → chunk-UUW7L2AV.js} +3 -3
  33. package/dist/{chunk-3YRDRHO3.js.map → chunk-UUW7L2AV.js.map} +1 -1
  34. package/dist/{chunk-PE6XEC7Y.js → chunk-VCJN4FS2.js} +4 -4
  35. package/dist/{chunk-PE6XEC7Y.js.map → chunk-VCJN4FS2.js.map} +1 -1
  36. package/dist/chunk-VK24YOIC.js +184 -0
  37. package/dist/chunk-VK24YOIC.js.map +1 -0
  38. package/dist/chunk-XUGSIK2P.js +238 -0
  39. package/dist/chunk-XUGSIK2P.js.map +1 -0
  40. package/dist/{chunk-N5CLCKR3.js → chunk-ZH2EDGW6.js} +3 -3
  41. package/dist/{chunk-N5CLCKR3.js.map → chunk-ZH2EDGW6.js.map} +1 -1
  42. package/dist/components/atoms/Icon/index.js +1 -1
  43. package/dist/components/atoms/Image/index.js +1 -1
  44. package/dist/components/atoms/Input/index.js +2 -2
  45. package/dist/components/atoms/Link/index.js +1 -1
  46. package/dist/components/atoms/RichText/index.js +1 -1
  47. package/dist/components/atoms/Select/index.d.ts +1 -5
  48. package/dist/components/atoms/Select/index.js +3 -2
  49. package/dist/components/atoms/Switch/index.js +2 -2
  50. package/dist/components/atoms/Textarea/index.js +2 -2
  51. package/dist/components/molecules/BottomSheet/index.js +3 -3
  52. package/dist/components/molecules/Breadcrumbs/index.js +3 -3
  53. package/dist/components/molecules/Card/index.js +2 -2
  54. package/dist/components/molecules/Carousel/index.d.ts +61 -0
  55. package/dist/components/molecules/{CookieBanner → Carousel}/index.js +2 -2
  56. package/dist/components/molecules/Drawer/index.js +3 -3
  57. package/dist/components/molecules/Dropdown/index.d.ts +44 -0
  58. package/dist/components/molecules/Dropdown/index.js +8 -0
  59. package/dist/components/molecules/MediaCard/index.d.ts +56 -0
  60. package/dist/components/molecules/MediaCard/index.js +6 -0
  61. package/dist/components/molecules/MediaCard/index.js.map +1 -0
  62. package/dist/components/molecules/Modal/index.d.ts +4 -0
  63. package/dist/components/molecules/Modal/index.js +3 -3
  64. package/dist/components/molecules/Snackbar/index.js +1 -1
  65. package/dist/components/molecules/Timeline/index.d.ts +7 -0
  66. package/dist/components/molecules/Timeline/index.js +3 -2
  67. package/dist/components/organisms/CookieConsent/index.d.ts +59 -0
  68. package/dist/components/{molecules/CookiePreferences → organisms/CookieConsent}/index.js +5 -5
  69. package/dist/components/organisms/CookieConsent/index.js.map +1 -0
  70. package/dist/index.d.ts +5 -2
  71. package/dist/index.js +22 -19
  72. package/package.json +15 -7
  73. package/dist/chunk-36CVKI5R.js +0 -79
  74. package/dist/chunk-36CVKI5R.js.map +0 -1
  75. package/dist/chunk-DP274HDM.js.map +0 -1
  76. package/dist/chunk-TR7XKJCO.js +0 -85
  77. package/dist/chunk-TR7XKJCO.js.map +0 -1
  78. package/dist/chunk-UL33H4AD.js.map +0 -1
  79. package/dist/chunk-W3H7DYWX.js.map +0 -1
  80. package/dist/chunk-WUEVXL76.js.map +0 -1
  81. package/dist/components/molecules/CookieBanner/index.d.ts +0 -46
  82. package/dist/components/molecules/CookiePreferences/index.d.ts +0 -34
  83. /package/dist/components/molecules/{CookieBanner → Carousel}/index.js.map +0 -0
  84. /package/dist/components/molecules/{CookiePreferences → Dropdown}/index.js.map +0 -0
@@ -0,0 +1,8 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+
3
+ declare const selectStyles: (props?: ({
4
+ state?: "error" | "default" | null | undefined;
5
+ inputSize?: "sm" | "md" | "lg" | null | undefined;
6
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
7
+
8
+ export { selectStyles as s };
@@ -58,5 +58,5 @@ var Snackbar = forwardRef(
58
58
  Snackbar.displayName = "Snackbar";
59
59
 
60
60
  export { Snackbar };
61
- //# sourceMappingURL=chunk-BKPP4D3Q.js.map
62
- //# sourceMappingURL=chunk-BKPP4D3Q.js.map
61
+ //# sourceMappingURL=chunk-27HTTVFO.js.map
62
+ //# sourceMappingURL=chunk-27HTTVFO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/molecules/Snackbar/Snackbar.styles.ts","../src/components/molecules/Snackbar/Snackbar.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,qBAAA,GACX,4EAAA;AAEK,IAAM,cAAA,GAAiB,GAAA;AAAA,EAC5B;AAAA,IACE,mEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,2EAAA;AAAA,QACN,OAAA,EAAS,kEAAA;AAAA,QACT,KAAA,EAAO,iEAAA;AAAA,QACP,OAAA,EACE;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,2BAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;ACvBA,IAAM,gBAAA,GAAmB,GAAA;AAUlB,IAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,QAAA,GAAW,GAAA,EAAM,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACjF,IAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,iBAAA,CAAkB,MAAM,gBAAgB,CAAA;AAErE,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,QAAA,EAAU;AACtB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,SAAA,GAAY,UAAA,CAAW,OAAA,EAAS,QAAQ,CAAA;AAC9C,MAAA,OAAO,MAAM,aAAa,SAAS,CAAA;AAAA,IACrC,CAAA,EAAG,CAAC,IAAA,EAAM,QAAA,EAAU,OAAO,CAAC,CAAA;AAE5B,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,qBAAA,EACd,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,MAAA,KAAW,OAAA,GAAU,OAAA,GAAU,QAAA;AAAA,QACrC,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,QAAQ,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,QAC3D,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-BKPP4D3Q.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const snackbarWrapperStyles =\n 'pointer-events-none fixed inset-x-0 bottom-4 z-50 flex justify-center px-4';\n\nexport const snackbarStyles = cva(\n [\n 'pointer-events-auto rounded-md border px-4 py-3 text-sm shadow-lg',\n 'transition-all duration-200 ease-out',\n ],\n {\n variants: {\n status: {\n info: 'border-transparent bg-[var(--surface-inverse)] text-[var(--text-inverse)]',\n success: 'border-transparent bg-[rgb(var(--color-success-600))] text-white',\n error: 'border-transparent bg-[rgb(var(--color-danger-600))] text-white',\n warning:\n 'border-transparent bg-[rgb(var(--color-warning-500))] text-[rgb(var(--color-neutral-900))]',\n },\n visible: {\n true: 'translate-y-0 opacity-100',\n false: 'translate-y-2 opacity-0',\n },\n },\n defaultVariants: {\n status: 'info',\n visible: false,\n },\n },\n);\n","import type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, useEffect, type HTMLAttributes, type ReactNode } from 'react';\nimport { useDelayedUnmount } from '@hooks';\nimport { cn } from '@utils';\nimport { snackbarStyles, snackbarWrapperStyles } from './Snackbar.styles';\n\nconst EXIT_DURATION_MS = 200;\n\nexport type SnackbarProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> &\n Omit<VariantProps<typeof snackbarStyles>, 'visible'> & {\n open: boolean;\n onClose: () => void;\n message: ReactNode;\n duration?: number;\n };\n\nexport const Snackbar = forwardRef<HTMLDivElement, SnackbarProps>(\n ({ open, onClose, message, status, duration = 4000, className, ...props }, ref) => {\n const { mounted, visible } = useDelayedUnmount(open, EXIT_DURATION_MS);\n\n useEffect(() => {\n if (!open || !duration) {\n return;\n }\n\n const timeoutId = setTimeout(onClose, duration);\n return () => clearTimeout(timeoutId);\n }, [open, duration, onClose]);\n\n if (!mounted) {\n return null;\n }\n\n return (\n <div className={snackbarWrapperStyles}>\n <div\n ref={ref}\n role={status === 'error' ? 'alert' : 'status'}\n className={cn(snackbarStyles({ status, visible }), className)}\n {...props}\n >\n {message}\n </div>\n </div>\n );\n },\n);\n\nSnackbar.displayName = 'Snackbar';\n"]}
1
+ {"version":3,"sources":["../src/components/molecules/Snackbar/Snackbar.styles.ts","../src/components/molecules/Snackbar/Snackbar.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,qBAAA,GACX,4EAAA;AAEK,IAAM,cAAA,GAAiB,GAAA;AAAA,EAC5B;AAAA,IACE,mEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,2EAAA;AAAA,QACN,OAAA,EAAS,kEAAA;AAAA,QACT,KAAA,EAAO,iEAAA;AAAA,QACP,OAAA,EACE;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,2BAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;ACvBA,IAAM,gBAAA,GAAmB,GAAA;AAUlB,IAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,QAAA,GAAW,GAAA,EAAM,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACjF,IAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,iBAAA,CAAkB,MAAM,gBAAgB,CAAA;AAErE,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,QAAA,EAAU;AACtB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,SAAA,GAAY,UAAA,CAAW,OAAA,EAAS,QAAQ,CAAA;AAC9C,MAAA,OAAO,MAAM,aAAa,SAAS,CAAA;AAAA,IACrC,CAAA,EAAG,CAAC,IAAA,EAAM,QAAA,EAAU,OAAO,CAAC,CAAA;AAE5B,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,qBAAA,EACd,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,MAAA,KAAW,OAAA,GAAU,OAAA,GAAU,QAAA;AAAA,QACrC,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,QAAQ,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,QAC3D,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-27HTTVFO.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const snackbarWrapperStyles =\n 'pointer-events-none fixed inset-x-0 bottom-4 z-50 flex justify-center px-4';\n\nexport const snackbarStyles = cva(\n [\n 'pointer-events-auto rounded-md border px-4 py-3 text-sm shadow-lg',\n 'transition-all duration-200 ease-out',\n ],\n {\n variants: {\n status: {\n info: 'border-transparent bg-[var(--surface-inverse)] text-[var(--text-inverse)]',\n success: 'border-transparent bg-[rgb(var(--color-success-600))] text-white',\n error: 'border-transparent bg-[rgb(var(--color-danger-600))] text-white',\n warning:\n 'border-transparent bg-[rgb(var(--color-warning-500))] text-[rgb(var(--color-neutral-900))]',\n },\n visible: {\n true: 'translate-y-0 opacity-100',\n false: 'translate-y-2 opacity-0',\n },\n },\n defaultVariants: {\n status: 'info',\n visible: false,\n },\n },\n);\n","import { useDelayedUnmount } from '@hooks';\nimport { cn } from '@utils';\nimport type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, useEffect, type HTMLAttributes, type ReactNode } from 'react';\nimport { snackbarStyles, snackbarWrapperStyles } from './Snackbar.styles';\n\nconst EXIT_DURATION_MS = 200;\n\nexport type SnackbarProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> &\n Omit<VariantProps<typeof snackbarStyles>, 'visible'> & {\n open: boolean;\n onClose: () => void;\n message: ReactNode;\n duration?: number;\n };\n\nexport const Snackbar = forwardRef<HTMLDivElement, SnackbarProps>(\n ({ open, onClose, message, status, duration = 4000, className, ...props }, ref) => {\n const { mounted, visible } = useDelayedUnmount(open, EXIT_DURATION_MS);\n\n useEffect(() => {\n if (!open || !duration) {\n return;\n }\n\n const timeoutId = setTimeout(onClose, duration);\n return () => clearTimeout(timeoutId);\n }, [open, duration, onClose]);\n\n if (!mounted) {\n return null;\n }\n\n return (\n <div className={snackbarWrapperStyles}>\n <div\n ref={ref}\n role={status === 'error' ? 'alert' : 'status'}\n className={cn(snackbarStyles({ status, visible }), className)}\n {...props}\n >\n {message}\n </div>\n </div>\n );\n },\n);\n\nSnackbar.displayName = 'Snackbar';\n"]}
@@ -0,0 +1,36 @@
1
+ import { cva } from 'class-variance-authority';
2
+
3
+ // src/components/atoms/Select/Select.styles.ts
4
+ var selectStyles = cva(
5
+ [
6
+ "flex w-full appearance-none rounded-md bg-no-repeat pr-10",
7
+ "text-[var(--input-text)] bg-[var(--input-bg)]",
8
+ "border border-[var(--input-border)]",
9
+ "transition-colors duration-150 ease-in-out",
10
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] focus-visible:ring-offset-0",
11
+ "focus-visible:border-[var(--input-border-focus)]",
12
+ "disabled:cursor-not-allowed disabled:opacity-50"
13
+ ],
14
+ {
15
+ variants: {
16
+ state: {
17
+ default: "",
18
+ error: "border-[var(--input-border-error)] focus-visible:ring-[var(--border-error)]"
19
+ },
20
+ inputSize: {
21
+ sm: "h-8 px-2 text-xs",
22
+ md: "h-10 px-3 text-sm",
23
+ lg: "h-12 px-4 text-base"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ state: "default",
28
+ inputSize: "md"
29
+ }
30
+ }
31
+ );
32
+ var selectChevronStyles = "pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--text-secondary)]";
33
+
34
+ export { selectChevronStyles, selectStyles };
35
+ //# sourceMappingURL=chunk-4H6VER5P.js.map
36
+ //# sourceMappingURL=chunk-4H6VER5P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/atoms/Select/Select.styles.ts"],"names":[],"mappings":";;;AAEO,IAAM,YAAA,GAAe,GAAA;AAAA,EAC1B;AAAA,IACE,2DAAA;AAAA,IACA,+CAAA;AAAA,IACA,qCAAA;AAAA,IACA,4CAAA;AAAA,IACA,sHAAA;AAAA,IACA,kDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW;AAAA,QACT,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO,SAAA;AAAA,MACP,SAAA,EAAW;AAAA;AACb;AAEJ;AAGO,IAAM,mBAAA,GACX","file":"chunk-4H6VER5P.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const selectStyles = cva(\n [\n 'flex w-full appearance-none rounded-md bg-no-repeat pr-10',\n 'text-[var(--input-text)] bg-[var(--input-bg)]',\n 'border border-[var(--input-border)]',\n 'transition-colors duration-150 ease-in-out',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] focus-visible:ring-offset-0',\n 'focus-visible:border-[var(--input-border-focus)]',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n ],\n {\n variants: {\n state: {\n default: '',\n error: 'border-[var(--input-border-error)] focus-visible:ring-[var(--border-error)]',\n },\n inputSize: {\n sm: 'h-8 px-2 text-xs',\n md: 'h-10 px-3 text-sm',\n lg: 'h-12 px-4 text-base',\n },\n },\n defaultVariants: {\n state: 'default',\n inputSize: 'md',\n },\n },\n);\n\n/** Chevron drawn with `currentColor`, positioned over the right padding of the select. */\nexport const selectChevronStyles =\n 'pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--text-secondary)]';\n"]}
@@ -0,0 +1,76 @@
1
+ import { Image } from './chunk-KAU7S3D4.js';
2
+ import { RichText } from './chunk-SPDOYFCU.js';
3
+ import { cn } from './chunk-6LLGTBM6.js';
4
+ import { cva } from 'class-variance-authority';
5
+ import { forwardRef } from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var mediaCardStyles = cva(
9
+ "group relative isolate flex flex-col justify-end overflow-hidden rounded-2xl bg-[var(--surface-tertiary)] shadow-sm",
10
+ {
11
+ variants: {
12
+ aspect: {
13
+ portrait: "aspect-[3/4]",
14
+ square: "aspect-square",
15
+ landscape: "aspect-[4/3]"
16
+ }
17
+ },
18
+ defaultVariants: {
19
+ aspect: "portrait"
20
+ }
21
+ }
22
+ );
23
+ var mediaCardImageStyles = [
24
+ "absolute inset-0 -z-20 h-full w-full",
25
+ "transition-transform duration-500 ease-out group-hover:scale-105 motion-reduce:transition-none motion-reduce:group-hover:scale-100"
26
+ ].join(" ");
27
+ var mediaCardScrimStyles = [
28
+ "pointer-events-none absolute inset-0 -z-10",
29
+ "bg-gradient-to-t from-[var(--media-card-scrim,rgb(0_0_0/0.8))] via-[var(--media-card-scrim-mid,rgb(0_0_0/0.3))] via-45% to-transparent to-75%"
30
+ ].join(" ");
31
+ var mediaCardContentStyles = "flex flex-col gap-1 p-4 text-[var(--media-card-text,#fff)]";
32
+ var mediaCardTitleStyles = "text-lg font-bold leading-tight text-inherit";
33
+ var mediaCardSubtitleStyles = "text-sm text-inherit opacity-90";
34
+ var mediaCardLinkStyles = [
35
+ "text-inherit no-underline hover:text-inherit",
36
+ 'after:absolute after:inset-0 after:z-[1] after:rounded-2xl after:content-[""]',
37
+ "focus-visible:outline-none focus-visible:after:ring-4 focus-visible:after:ring-inset focus-visible:after:ring-[var(--border-focus)]"
38
+ ].join(" ");
39
+ var mediaCardBadgeStyles = [
40
+ "absolute left-3 top-3 z-[2] rounded-full px-2.5 py-1 text-xs font-bold uppercase tracking-wide",
41
+ "bg-[var(--media-card-badge-bg,rgb(255_255_255/0.92))] text-[var(--media-card-badge-text,rgb(31_31_31))]"
42
+ ].join(" ");
43
+ var mediaCardActionsStyles = "absolute right-3 top-3 z-[2] flex gap-2 [&>*]:rounded-full [&>*]:shadow-md";
44
+ var MediaCard = forwardRef(
45
+ ({
46
+ src,
47
+ alt = "",
48
+ media,
49
+ title,
50
+ subtitle,
51
+ headingLevel = "h3",
52
+ href,
53
+ linkId,
54
+ badge,
55
+ actions,
56
+ aspect,
57
+ className,
58
+ ...props
59
+ }, ref) => {
60
+ return /* @__PURE__ */ jsxs("article", { ref, className: cn(mediaCardStyles({ aspect }), className), ...props, children: [
61
+ media ?? (src && /* @__PURE__ */ jsx(Image, { src, alt, className: mediaCardImageStyles })),
62
+ /* @__PURE__ */ jsx("div", { "aria-hidden": "true", className: mediaCardScrimStyles }),
63
+ /* @__PURE__ */ jsxs("div", { className: mediaCardContentStyles, children: [
64
+ /* @__PURE__ */ jsx(RichText, { as: headingLevel, variant: "s1", className: mediaCardTitleStyles, children: href ? /* @__PURE__ */ jsx("a", { id: linkId, href, className: mediaCardLinkStyles, children: title }) : title }),
65
+ subtitle && /* @__PURE__ */ jsx(RichText, { as: "p", variant: "p3", className: mediaCardSubtitleStyles, children: subtitle })
66
+ ] }),
67
+ badge && /* @__PURE__ */ jsx("span", { className: mediaCardBadgeStyles, children: badge }),
68
+ actions && /* @__PURE__ */ jsx("div", { className: mediaCardActionsStyles, children: actions })
69
+ ] });
70
+ }
71
+ );
72
+ MediaCard.displayName = "MediaCard";
73
+
74
+ export { MediaCard };
75
+ //# sourceMappingURL=chunk-4TPQTZSR.js.map
76
+ //# sourceMappingURL=chunk-4TPQTZSR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/molecules/MediaCard/MediaCard.styles.ts","../src/components/molecules/MediaCard/MediaCard.tsx"],"names":[],"mappings":";;;;;;;AAEO,IAAM,eAAA,GAAkB,GAAA;AAAA,EAC7B,qHAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,QAAA,EAAU,cAAA;AAAA,QACV,MAAA,EAAQ,eAAA;AAAA,QACR,SAAA,EAAW;AAAA;AACb,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ,CAAA;AAEO,IAAM,oBAAA,GAAuB;AAAA,EAClC,sCAAA;AAAA,EACA;AACF,CAAA,CAAE,KAAK,GAAG,CAAA;AAMH,IAAM,oBAAA,GAAuB;AAAA,EAClC,4CAAA;AAAA,EACA;AACF,CAAA,CAAE,KAAK,GAAG,CAAA;AAEH,IAAM,sBAAA,GAAyB,4DAAA;AAE/B,IAAM,oBAAA,GAAuB,8CAAA;AAE7B,IAAM,uBAAA,GAA0B,iCAAA;AAGhC,IAAM,mBAAA,GAAsB;AAAA,EACjC,8CAAA;AAAA,EACA,+EAAA;AAAA,EACA;AACF,CAAA,CAAE,KAAK,GAAG,CAAA;AAEH,IAAM,oBAAA,GAAuB;AAAA,EAClC,gGAAA;AAAA,EACA;AACF,CAAA,CAAE,KAAK,GAAG,CAAA;AAGH,IAAM,sBAAA,GACX,4EAAA;ACVK,IAAM,SAAA,GAAY,UAAA;AAAA,EACvB,CACE;AAAA,IACE,GAAA;AAAA,IACA,GAAA,GAAM,EAAA;AAAA,IACN,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA,GAAe,IAAA;AAAA,IACf,IAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,uBACE,IAAA,CAAC,SAAA,EAAA,EAAQ,GAAA,EAAU,SAAA,EAAW,EAAA,CAAG,eAAA,CAAgB,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EAC3E,QAAA,EAAA;AAAA,MAAA,KAAA,KAAU,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAM,GAAA,EAAU,GAAA,EAAU,WAAW,oBAAA,EAAsB,CAAA,CAAA;AAAA,sBAC9E,GAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,WAAW,oBAAA,EAAsB,CAAA;AAAA,sBACzD,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,sBAAA,EACd,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,YAAS,EAAA,EAAI,YAAA,EAAc,OAAA,EAAQ,IAAA,EAAK,WAAW,oBAAA,EACjD,QAAA,EAAA,IAAA,mBACC,GAAA,CAAC,GAAA,EAAA,EAAE,IAAI,MAAA,EAAQ,IAAA,EAAY,WAAW,mBAAA,EACnC,QAAA,EAAA,KAAA,EACH,IAEA,KAAA,EAEJ,CAAA;AAAA,QACC,QAAA,wBACE,QAAA,EAAA,EAAS,EAAA,EAAG,KAAI,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,uBAAA,EACtC,QAAA,EAAA,QAAA,EACH;AAAA,OAAA,EAEJ,CAAA;AAAA,MACC,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,sBAAuB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,MACvD,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,wBAAyB,QAAA,EAAA,OAAA,EAAQ;AAAA,KAAA,EAC/D,CAAA;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-4TPQTZSR.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const mediaCardStyles = cva(\n 'group relative isolate flex flex-col justify-end overflow-hidden rounded-2xl bg-[var(--surface-tertiary)] shadow-sm',\n {\n variants: {\n aspect: {\n portrait: 'aspect-[3/4]',\n square: 'aspect-square',\n landscape: 'aspect-[4/3]',\n },\n },\n defaultVariants: {\n aspect: 'portrait',\n },\n },\n);\n\nexport const mediaCardImageStyles = [\n 'absolute inset-0 -z-20 h-full w-full',\n 'transition-transform duration-500 ease-out group-hover:scale-105 motion-reduce:transition-none motion-reduce:group-hover:scale-100',\n].join(' ');\n\n/**\n * Scrim from the bottom so the text reads on any photo. Text over photos is always light on dark,\n * whatever the theme; sites can tune it with --media-card-scrim and --media-card-text.\n */\nexport const mediaCardScrimStyles = [\n 'pointer-events-none absolute inset-0 -z-10',\n 'bg-gradient-to-t from-[var(--media-card-scrim,rgb(0_0_0/0.8))] via-[var(--media-card-scrim-mid,rgb(0_0_0/0.3))] via-45% to-transparent to-75%',\n].join(' ');\n\nexport const mediaCardContentStyles = 'flex flex-col gap-1 p-4 text-[var(--media-card-text,#fff)]';\n\nexport const mediaCardTitleStyles = 'text-lg font-bold leading-tight text-inherit';\n\nexport const mediaCardSubtitleStyles = 'text-sm text-inherit opacity-90';\n\n/** Stretched link: its ::after covers the whole card, so the card is one link named by the title. */\nexport const mediaCardLinkStyles = [\n 'text-inherit no-underline hover:text-inherit',\n 'after:absolute after:inset-0 after:z-[1] after:rounded-2xl after:content-[\"\"]',\n 'focus-visible:outline-none focus-visible:after:ring-4 focus-visible:after:ring-inset focus-visible:after:ring-[var(--border-focus)]',\n].join(' ');\n\nexport const mediaCardBadgeStyles = [\n 'absolute left-3 top-3 z-[2] rounded-full px-2.5 py-1 text-xs font-bold uppercase tracking-wide',\n 'bg-[var(--media-card-badge-bg,rgb(255_255_255/0.92))] text-[var(--media-card-badge-text,rgb(31_31_31))]',\n].join(' ');\n\n/** Floating actions: round, above the card link, so they stay clickable. */\nexport const mediaCardActionsStyles =\n 'absolute right-3 top-3 z-[2] flex gap-2 [&>*]:rounded-full [&>*]:shadow-md';\n","import { Image, RichText } from '@components';\nimport { cn } from '@utils';\nimport { type VariantProps } from 'class-variance-authority';\nimport { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport {\n mediaCardActionsStyles,\n mediaCardBadgeStyles,\n mediaCardContentStyles,\n mediaCardImageStyles,\n mediaCardLinkStyles,\n mediaCardScrimStyles,\n mediaCardStyles,\n mediaCardSubtitleStyles,\n mediaCardTitleStyles,\n} from './MediaCard.styles';\n\nexport type MediaCardProps = Omit<HTMLAttributes<HTMLElement>, 'title'> &\n VariantProps<typeof mediaCardStyles> & {\n /** Image URL; or pass your own element (e.g. an optimized `<picture>`) in `media`. */\n src?: string;\n /** Describes the photo; use `''` if it is only decorative. */\n alt?: string;\n media?: ReactNode;\n title: ReactNode;\n /** One short line under the title (time, category, cost per serving…). */\n subtitle?: ReactNode;\n /** Heading level of the title in the page outline. */\n headingLevel?: 'h2' | 'h3' | 'h4';\n /** Makes the whole card a link, named by the title. */\n href?: string;\n linkId?: string;\n /** Small label on the top-left corner (\"New\", \"Featured\"). */\n badge?: ReactNode;\n /** Floating buttons on the top-right corner (save, share); they stay above the link. */\n actions?: ReactNode;\n };\n\n/**\n * Vertical card with a full-bleed photo, a dark gradient from the bottom for the title and\n * subtitle, an optional badge and floating actions. For recipes, articles and guides; pair it with\n * `Carousel` for rows of cards.\n */\nexport const MediaCard = forwardRef<HTMLElement, MediaCardProps>(\n (\n {\n src,\n alt = '',\n media,\n title,\n subtitle,\n headingLevel = 'h3',\n href,\n linkId,\n badge,\n actions,\n aspect,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <article ref={ref} className={cn(mediaCardStyles({ aspect }), className)} {...props}>\n {media ?? (src && <Image src={src} alt={alt} className={mediaCardImageStyles} />)}\n <div aria-hidden=\"true\" className={mediaCardScrimStyles} />\n <div className={mediaCardContentStyles}>\n <RichText as={headingLevel} variant=\"s1\" className={mediaCardTitleStyles}>\n {href ? (\n <a id={linkId} href={href} className={mediaCardLinkStyles}>\n {title}\n </a>\n ) : (\n title\n )}\n </RichText>\n {subtitle && (\n <RichText as=\"p\" variant=\"p3\" className={mediaCardSubtitleStyles}>\n {subtitle}\n </RichText>\n )}\n </div>\n {badge && <span className={mediaCardBadgeStyles}>{badge}</span>}\n {actions && <div className={mediaCardActionsStyles}>{actions}</div>}\n </article>\n );\n },\n);\n\nMediaCard.displayName = 'MediaCard';\n"]}
@@ -39,5 +39,5 @@ var Link = forwardRef(
39
39
  Link.displayName = "Link";
40
40
 
41
41
  export { Link };
42
- //# sourceMappingURL=chunk-D4I5OF3C.js.map
43
- //# sourceMappingURL=chunk-D4I5OF3C.js.map
42
+ //# sourceMappingURL=chunk-5LKLTY55.js.map
43
+ //# sourceMappingURL=chunk-5LKLTY55.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/atoms/Link/Link.styles.ts","../src/components/atoms/Link/Link.tsx"],"names":[],"mappings":";;;;;AAEO,IAAM,UAAA,GAAa,GAAA;AAAA,EACxB;AAAA,IACE,oEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,MAAA,EAAQ,8BAAA;AAAA,QACR,KAAA,EAAO,oCAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW;AAAA;AACb;AAEJ,CAAA;ACRO,IAAM,IAAA,GAAO,UAAA;AAAA,EAClB,CAAC,EAAE,EAAA,EAAI,SAAA,GAAY,GAAA,EAAK,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,MAAA,EAAQ,GAAA,EAAK,GAAG,KAAA,IAAS,GAAA,KAAQ;AACvF,IAAA,MAAM,UAAA,GAAa,YAAY,MAAA,KAAW,QAAA;AAE1C,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,MAAA,EAAQ,aAAa,QAAA,GAAW,MAAA;AAAA,QAChC,GAAA,EAAK,aAAa,qBAAA,GAAwB,GAAA;AAAA,QAC1C,WAAW,EAAA,CAAG,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,SAAS,CAAA;AAAA,QACjD,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-D4I5OF3C.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const linkStyles = cva(\n [\n 'text-[var(--text-link)] transition-colors duration-150 ease-in-out',\n 'hover:text-[var(--text-link-hover)]',\n ],\n {\n variants: {\n underline: {\n always: 'underline underline-offset-4',\n hover: 'underline-offset-4 hover:underline',\n none: 'no-underline',\n },\n },\n defaultVariants: {\n underline: 'hover',\n },\n },\n);\n","import type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, type AnchorHTMLAttributes, type ElementType } from 'react';\nimport { cn } from '@utils';\nimport { linkStyles } from './Link.styles';\n\nexport type LinkProps = AnchorHTMLAttributes<HTMLAnchorElement> &\n VariantProps<typeof linkStyles> & {\n as?: ElementType;\n external?: boolean;\n };\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ as: Component = 'a', external, underline, className, target, rel, ...props }, ref) => {\n const isExternal = external ?? target === '_blank';\n\n return (\n <Component\n ref={ref}\n target={isExternal ? '_blank' : target}\n rel={isExternal ? 'noopener noreferrer' : rel}\n className={cn(linkStyles({ underline }), className)}\n {...props}\n />\n );\n },\n);\n\nLink.displayName = 'Link';\n"]}
1
+ {"version":3,"sources":["../src/components/atoms/Link/Link.styles.ts","../src/components/atoms/Link/Link.tsx"],"names":[],"mappings":";;;;;AAEO,IAAM,UAAA,GAAa,GAAA;AAAA,EACxB;AAAA,IACE,oEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,MAAA,EAAQ,8BAAA;AAAA,QACR,KAAA,EAAO,oCAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW;AAAA;AACb;AAEJ,CAAA;ACRO,IAAM,IAAA,GAAO,UAAA;AAAA,EAClB,CAAC,EAAE,EAAA,EAAI,SAAA,GAAY,GAAA,EAAK,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,MAAA,EAAQ,GAAA,EAAK,GAAG,KAAA,IAAS,GAAA,KAAQ;AACvF,IAAA,MAAM,UAAA,GAAa,YAAY,MAAA,KAAW,QAAA;AAE1C,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,MAAA,EAAQ,aAAa,QAAA,GAAW,MAAA;AAAA,QAChC,GAAA,EAAK,aAAa,qBAAA,GAAwB,GAAA;AAAA,QAC1C,WAAW,EAAA,CAAG,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,SAAS,CAAA;AAAA,QACjD,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-5LKLTY55.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const linkStyles = cva(\n [\n 'text-[var(--text-link)] transition-colors duration-150 ease-in-out',\n 'hover:text-[var(--text-link-hover)]',\n ],\n {\n variants: {\n underline: {\n always: 'underline underline-offset-4',\n hover: 'underline-offset-4 hover:underline',\n none: 'no-underline',\n },\n },\n defaultVariants: {\n underline: 'hover',\n },\n },\n);\n","import { cn } from '@utils';\nimport type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, type AnchorHTMLAttributes, type ElementType } from 'react';\nimport { linkStyles } from './Link.styles';\n\nexport type LinkProps = AnchorHTMLAttributes<HTMLAnchorElement> &\n VariantProps<typeof linkStyles> & {\n as?: ElementType;\n external?: boolean;\n };\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ as: Component = 'a', external, underline, className, target, rel, ...props }, ref) => {\n const isExternal = external ?? target === '_blank';\n\n return (\n <Component\n ref={ref}\n target={isExternal ? '_blank' : target}\n rel={isExternal ? 'noopener noreferrer' : rel}\n className={cn(linkStyles({ underline }), className)}\n {...props}\n />\n );\n },\n);\n\nLink.displayName = 'Link';\n"]}
@@ -1,39 +1,10 @@
1
+ import { selectStyles, selectChevronStyles } from './chunk-4H6VER5P.js';
1
2
  import { inputLabelStyles, inputErrorStyles, inputHintStyles } from './chunk-FFKHEBQ7.js';
2
- import { RichText } from './chunk-P4CV2EPR.js';
3
+ import { RichText } from './chunk-SPDOYFCU.js';
3
4
  import { cn } from './chunk-6LLGTBM6.js';
4
5
  import { forwardRef, useId } from 'react';
5
- import { cva } from 'class-variance-authority';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
8
- var selectStyles = cva(
9
- [
10
- "flex w-full appearance-none rounded-md bg-no-repeat pr-10",
11
- "text-[var(--input-text)] bg-[var(--input-bg)]",
12
- "border border-[var(--input-border)]",
13
- "transition-colors duration-150 ease-in-out",
14
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] focus-visible:ring-offset-0",
15
- "focus-visible:border-[var(--input-border-focus)]",
16
- "disabled:cursor-not-allowed disabled:opacity-50"
17
- ],
18
- {
19
- variants: {
20
- state: {
21
- default: "",
22
- error: "border-[var(--input-border-error)] focus-visible:ring-[var(--border-error)]"
23
- },
24
- inputSize: {
25
- sm: "h-8 px-2 text-xs",
26
- md: "h-10 px-3 text-sm",
27
- lg: "h-12 px-4 text-base"
28
- }
29
- },
30
- defaultVariants: {
31
- state: "default",
32
- inputSize: "md"
33
- }
34
- }
35
- );
36
- var selectChevronStyles = "pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--text-secondary)]";
37
8
  var Select = forwardRef(
38
9
  ({ className, state, inputSize, label, hint, error, id: idProp, children, ...props }, ref) => {
39
10
  const generatedId = useId();
@@ -87,5 +58,5 @@ var Select = forwardRef(
87
58
  Select.displayName = "Select";
88
59
 
89
60
  export { Select };
90
- //# sourceMappingURL=chunk-WUEVXL76.js.map
91
- //# sourceMappingURL=chunk-WUEVXL76.js.map
61
+ //# sourceMappingURL=chunk-DIA7L6IA.js.map
62
+ //# sourceMappingURL=chunk-DIA7L6IA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/atoms/Select/Select.tsx"],"names":[],"mappings":";;;;;;;AAsBO,IAAM,MAAA,GAAS,UAAA;AAAA,EACpB,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,WAAW,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,QAAA,EAAU,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC5F,IAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,IAAA,MAAM,KAAK,MAAA,IAAU,WAAA;AACrB,IAAA,MAAM,aAAA,GAAgB,QAAQ,OAAA,GAAU,KAAA;AAExC,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,EAAA;AAAA,MAAA,KAAA,oBACC,GAAA,CAAC,OAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EACd,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,gBAAA,EACzC,iBACH,CAAA,EACF,CAAA;AAAA,sBAEF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,UAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,EAAA;AAAA,YACA,kBAAA,EAAkB,QAAQ,CAAA,EAAG,EAAE,WAAW,IAAA,GAAO,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,GAAU,MAAA;AAAA,YAChE,cAAA,EAAc,QAAQ,MAAA,GAAS,MAAA;AAAA,YAC/B,SAAA,EAAW,GAAG,YAAA,CAAa,EAAE,OAAO,aAAA,EAAe,SAAA,EAAW,CAAA,EAAG,SAAS,CAAA;AAAA,YACzE,GAAG,KAAA;AAAA,YAEH;AAAA;AAAA,SACH;AAAA,wBACA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAW,IAAA;AAAA,YACX,OAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAK,MAAA;AAAA,YACL,MAAA,EAAO,cAAA;AAAA,YACP,WAAA,EAAa,CAAA;AAAA,YACb,aAAA,EAAc,OAAA;AAAA,YACd,cAAA,EAAe,OAAA;AAAA,YACf,SAAA,EAAW,mBAAA;AAAA,YAEX,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe;AAAA;AAAA;AACzB,OAAA,EACF,CAAA;AAAA,MACC,KAAA,oBACC,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,GAAA;AAAA,UACH,EAAA,EAAI,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,UACT,IAAA,EAAK,OAAA;AAAA,UACL,OAAA,EAAQ,IAAA;AAAA,UACR,SAAA,EAAW,gBAAA;AAAA,UAEV,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MAED,CAAC,KAAA,IAAS,IAAA,oBACT,GAAA,CAAC,YAAS,EAAA,EAAG,GAAA,EAAI,EAAA,EAAI,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,EAAS,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,iBACxD,QAAA,EAAA,IAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-DIA7L6IA.js","sourcesContent":["import { RichText } from '@components';\nimport { cn } from '@utils';\nimport type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, useId, type SelectHTMLAttributes } from 'react';\nimport {\n inputErrorStyles,\n inputHintStyles,\n inputLabelStyles,\n} from '@components/atoms/Input/Input.styles';\nimport { selectChevronStyles, selectStyles } from './Select.styles';\n\nexport type SelectProps = SelectHTMLAttributes<HTMLSelectElement> &\n VariantProps<typeof selectStyles> & {\n label?: string;\n hint?: string;\n error?: string;\n };\n\n/**\n * A native `<select>` with the same label / hint / error contract and look as `Input`. Native on\n * purpose: it gets the platform picker on mobile, typeahead and full screen reader support for free.\n */\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ className, state, inputSize, label, hint, error, id: idProp, children, ...props }, ref) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const resolvedState = error ? 'error' : state;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <label htmlFor={id}>\n <RichText as=\"span\" variant=\"p3\" className={inputLabelStyles}>\n {label}\n </RichText>\n </label>\n )}\n <div className=\"relative\">\n <select\n ref={ref}\n id={id}\n aria-describedby={error ? `${id}-error` : hint ? `${id}-hint` : undefined}\n aria-invalid={error ? 'true' : undefined}\n className={cn(selectStyles({ state: resolvedState, inputSize }), className)}\n {...props}\n >\n {children}\n </select>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={selectChevronStyles}\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </div>\n {error && (\n <RichText\n as=\"p\"\n id={`${id}-error`}\n role=\"alert\"\n variant=\"p4\"\n className={inputErrorStyles}\n >\n {error}\n </RichText>\n )}\n {!error && hint && (\n <RichText as=\"p\" id={`${id}-hint`} variant=\"p4\" className={inputHintStyles}>\n {hint}\n </RichText>\n )}\n </div>\n );\n },\n);\n\nSelect.displayName = 'Select';\n"]}
@@ -1,5 +1,5 @@
1
1
  import { inputLabelStyles, inputStyles, inputErrorStyles, inputHintStyles } from './chunk-FFKHEBQ7.js';
2
- import { RichText } from './chunk-P4CV2EPR.js';
2
+ import { RichText } from './chunk-SPDOYFCU.js';
3
3
  import { cn } from './chunk-6LLGTBM6.js';
4
4
  import { forwardRef, useId } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -22,7 +22,17 @@ var Input = forwardRef(
22
22
  ...props
23
23
  }
24
24
  ),
25
- error && /* @__PURE__ */ jsx(RichText, { as: "p", id: `${id}-error`, role: "alert", variant: "p4", className: inputErrorStyles, children: error }),
25
+ error && /* @__PURE__ */ jsx(
26
+ RichText,
27
+ {
28
+ as: "p",
29
+ id: `${id}-error`,
30
+ role: "alert",
31
+ variant: "p4",
32
+ className: inputErrorStyles,
33
+ children: error
34
+ }
35
+ ),
26
36
  !error && hint && /* @__PURE__ */ jsx(RichText, { as: "p", id: `${id}-hint`, variant: "p4", className: inputHintStyles, children: hint })
27
37
  ] });
28
38
  }
@@ -30,5 +40,5 @@ var Input = forwardRef(
30
40
  Input.displayName = "Input";
31
41
 
32
42
  export { Input };
33
- //# sourceMappingURL=chunk-DP274HDM.js.map
34
- //# sourceMappingURL=chunk-DP274HDM.js.map
43
+ //# sourceMappingURL=chunk-IY452YEX.js.map
44
+ //# sourceMappingURL=chunk-IY452YEX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/atoms/Input/Input.tsx"],"names":[],"mappings":";;;;;;AAaO,IAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,GAAG,KAAA,IAAS,GAAA,KAAQ;AAClF,IAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,IAAA,MAAM,KAAK,MAAA,IAAU,WAAA;AACrB,IAAA,MAAM,aAAA,GAAgB,QAAQ,OAAA,GAAU,KAAA;AAExC,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,EAAA;AAAA,MAAA,KAAA,oBACC,GAAA,CAAC,OAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EACd,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,gBAAA,EACzC,iBACH,CAAA,EACF,CAAA;AAAA,sBAEF,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,EAAA;AAAA,UACA,kBAAA,EAAkB,QAAQ,CAAA,EAAG,EAAE,WAAW,IAAA,GAAO,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,GAAU,MAAA;AAAA,UAChE,cAAA,EAAc,QAAQ,MAAA,GAAS,MAAA;AAAA,UAC/B,SAAA,EAAW,GAAG,WAAA,CAAY,EAAE,OAAO,aAAA,EAAe,SAAA,EAAW,CAAA,EAAG,SAAS,CAAA;AAAA,UACxE,GAAG;AAAA;AAAA,OACN;AAAA,MACC,KAAA,oBACC,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,GAAA;AAAA,UACH,EAAA,EAAI,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,UACT,IAAA,EAAK,OAAA;AAAA,UACL,OAAA,EAAQ,IAAA;AAAA,UACR,SAAA,EAAW,gBAAA;AAAA,UAEV,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MAED,CAAC,KAAA,IAAS,IAAA,oBACT,GAAA,CAAC,YAAS,EAAA,EAAG,GAAA,EAAI,EAAA,EAAI,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,EAAS,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,iBACxD,QAAA,EAAA,IAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-IY452YEX.js","sourcesContent":["import { RichText } from '@components';\nimport { cn } from '@utils';\nimport type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, useId, type InputHTMLAttributes } from 'react';\nimport { inputErrorStyles, inputHintStyles, inputLabelStyles, inputStyles } from './Input.styles';\n\nexport type InputProps = InputHTMLAttributes<HTMLInputElement> &\n VariantProps<typeof inputStyles> & {\n label?: string;\n hint?: string;\n error?: string;\n };\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ className, state, inputSize, label, hint, error, id: idProp, ...props }, ref) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const resolvedState = error ? 'error' : state;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <label htmlFor={id}>\n <RichText as=\"span\" variant=\"p3\" className={inputLabelStyles}>\n {label}\n </RichText>\n </label>\n )}\n <input\n ref={ref}\n id={id}\n aria-describedby={error ? `${id}-error` : hint ? `${id}-hint` : undefined}\n aria-invalid={error ? 'true' : undefined}\n className={cn(inputStyles({ state: resolvedState, inputSize }), className)}\n {...props}\n />\n {error && (\n <RichText\n as=\"p\"\n id={`${id}-error`}\n role=\"alert\"\n variant=\"p4\"\n className={inputErrorStyles}\n >\n {error}\n </RichText>\n )}\n {!error && hint && (\n <RichText as=\"p\" id={`${id}-hint`} variant=\"p4\" className={inputHintStyles}>\n {hint}\n </RichText>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = 'Input';\n"]}
@@ -1,9 +1,9 @@
1
1
  import { useFocusTrap } from './chunk-QT62VC36.js';
2
2
  import { useScrollLock } from './chunk-53YMHM24.js';
3
- import { useDelayedUnmount } from './chunk-BNEEI7S5.js';
4
3
  import { useDismissableLayer } from './chunk-JCJP427C.js';
4
+ import { useDelayedUnmount } from './chunk-BNEEI7S5.js';
5
5
  import { useMergedRef } from './chunk-P4Z7HH66.js';
6
- import { RichText } from './chunk-P4CV2EPR.js';
6
+ import { RichText } from './chunk-SPDOYFCU.js';
7
7
  import { cn } from './chunk-6LLGTBM6.js';
8
8
  import { forwardRef, useRef, useId } from 'react';
9
9
  import { cva } from 'class-variance-authority';
@@ -11,7 +11,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
11
11
 
12
12
  var modalOverlayStyles = cva(
13
13
  [
14
- "fixed inset-0 z-50 flex items-center justify-center bg-[var(--surface-overlay)] p-4",
14
+ "fixed inset-0 z-50 flex items-center justify-center bg-[var(--surface-overlay)]",
15
15
  "transition-opacity duration-200 ease-out"
16
16
  ],
17
17
  {
@@ -28,7 +28,9 @@ var modalOverlayStyles = cva(
28
28
  );
29
29
  var modalPanelStyles = cva(
30
30
  [
31
- "w-full max-w-md rounded-xl border border-[var(--border-default)] bg-[var(--surface-secondary)] p-6 shadow-lg",
31
+ // Every dialog: 90% of the viewport's width up to 768px, as tall as its content up to the
32
+ // `maxHeight` limit; beyond that the body scrolls. Pixels, so a site's root font size can't shrink it.
33
+ "flex w-[90vw] max-w-[768px] flex-col rounded-xl border border-[var(--border-default)] bg-[var(--surface-secondary)] p-6 shadow-lg",
32
34
  "transition-all duration-200 ease-out"
33
35
  ],
34
36
  {
@@ -36,18 +38,34 @@ var modalPanelStyles = cva(
36
38
  visible: {
37
39
  true: "scale-100 opacity-100",
38
40
  false: "scale-95 opacity-0"
41
+ },
42
+ maxHeight: {
43
+ default: "max-h-[80dvh]",
44
+ tall: "max-h-[90dvh]"
39
45
  }
40
46
  },
41
47
  defaultVariants: {
42
- visible: false
48
+ visible: false,
49
+ maxHeight: "default"
43
50
  }
44
51
  }
45
52
  );
46
- var modalTitleStyles = "mb-4 text-lg font-semibold text-[var(--text-primary)]";
47
- var modalFooterStyles = "mt-6 flex items-center justify-end gap-2";
53
+ var modalTitleStyles = "mb-4 shrink-0 text-lg font-semibold text-[var(--text-primary)]";
54
+ var modalBodyStyles = "min-h-0 flex-1 overflow-y-auto";
55
+ var modalFooterStyles = "mt-6 flex shrink-0 flex-wrap items-center justify-end gap-2";
48
56
  var EXIT_DURATION_MS = 200;
49
57
  var Modal = forwardRef(
50
- ({ open, onClose, title, footer, closeOnBackdropClick = true, className, children, ...props }, ref) => {
58
+ ({
59
+ open,
60
+ onClose,
61
+ title,
62
+ footer,
63
+ closeOnBackdropClick = true,
64
+ maxHeight = "default",
65
+ className,
66
+ children,
67
+ ...props
68
+ }, ref) => {
51
69
  const panelRef = useRef(null);
52
70
  const setPanelRef = useMergedRef(ref, panelRef);
53
71
  const titleId = useId();
@@ -66,11 +84,11 @@ var Modal = forwardRef(
66
84
  "aria-modal": "true",
67
85
  "aria-labelledby": title ? titleId : void 0,
68
86
  tabIndex: -1,
69
- className: cn(modalPanelStyles({ visible }), className),
87
+ className: cn(modalPanelStyles({ visible, maxHeight }), className),
70
88
  ...props,
71
89
  children: [
72
90
  title && /* @__PURE__ */ jsx(RichText, { as: "h2", id: titleId, variant: "s1", className: modalTitleStyles, children: title }),
73
- children,
91
+ /* @__PURE__ */ jsx("div", { className: modalBodyStyles, children }),
74
92
  footer && /* @__PURE__ */ jsx("div", { className: modalFooterStyles, children: footer })
75
93
  ]
76
94
  }
@@ -80,5 +98,5 @@ var Modal = forwardRef(
80
98
  Modal.displayName = "Modal";
81
99
 
82
100
  export { Modal };
83
- //# sourceMappingURL=chunk-W3H7DYWX.js.map
84
- //# sourceMappingURL=chunk-W3H7DYWX.js.map
101
+ //# sourceMappingURL=chunk-J7X6NLSR.js.map
102
+ //# sourceMappingURL=chunk-J7X6NLSR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/molecules/Modal/Modal.styles.ts","../src/components/molecules/Modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAEO,IAAM,kBAAA,GAAqB,GAAA;AAAA,EAChC;AAAA,IACE,iFAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,aAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,gBAAA,GAAmB,GAAA;AAAA,EAC9B;AAAA;AAAA;AAAA,IAGE,mIAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,uBAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW;AAAA,QACT,OAAA,EAAS,eAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,KAAA;AAAA,MACT,SAAA,EAAW;AAAA;AACb;AAEJ,CAAA;AAEO,IAAM,gBAAA,GAAmB,gEAAA;AAEzB,IAAM,eAAA,GAAkB,gCAAA;AAExB,IAAM,iBAAA,GAAoB,6DAAA;AC/BjC,IAAM,gBAAA,GAAmB,GAAA;AAYlB,IAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CACE;AAAA,IACE,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,oBAAA,GAAuB,IAAA;AAAA,IACvB,SAAA,GAAY,SAAA;AAAA,IACZ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,OAA8B,IAAI,CAAA;AACnD,IAAA,MAAM,WAAA,GAAc,YAAA,CAAa,GAAA,EAAK,QAAQ,CAAA;AAC9C,IAAA,MAAM,UAAU,KAAA,EAAM;AACtB,IAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,iBAAA,CAAkB,MAAM,gBAAgB,CAAA;AAErE,IAAA,mBAAA,CAAoB,IAAA,EAAM,OAAA,EAAS,QAAA,EAAU,oBAAoB,CAAA;AAEjE,IAAA,YAAA,CAAa,IAAA,IAAQ,SAAS,QAAQ,CAAA;AACtC,IAAA,aAAA,CAAc,IAAI,CAAA;AAElB,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,mBAAmB,EAAE,OAAA,EAAS,CAAA,EAC5C,QAAA,kBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,WAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAW,MAAA;AAAA,QACX,iBAAA,EAAiB,QAAQ,OAAA,GAAU,MAAA;AAAA,QACnC,QAAA,EAAU,EAAA;AAAA,QACV,SAAA,EAAW,GAAG,gBAAA,CAAiB,EAAE,SAAS,SAAA,EAAW,GAAG,SAAS,CAAA;AAAA,QAChE,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAA,KAAA,oBACC,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,IAAA,EAAK,EAAA,EAAI,SAAS,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,gBAAA,EACpD,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,0BAEF,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,eAAA,EAAkB,QAAA,EAAS,CAAA;AAAA,UAC1C,MAAA,oBAAU,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,mBAAoB,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,KACxD,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-J7X6NLSR.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const modalOverlayStyles = cva(\n [\n 'fixed inset-0 z-50 flex items-center justify-center bg-[var(--surface-overlay)]',\n 'transition-opacity duration-200 ease-out',\n ],\n {\n variants: {\n visible: {\n true: 'opacity-100',\n false: 'opacity-0',\n },\n },\n defaultVariants: {\n visible: false,\n },\n },\n);\n\nexport const modalPanelStyles = cva(\n [\n // Every dialog: 90% of the viewport's width up to 768px, as tall as its content up to the\n // `maxHeight` limit; beyond that the body scrolls. Pixels, so a site's root font size can't shrink it.\n 'flex w-[90vw] max-w-[768px] flex-col rounded-xl border border-[var(--border-default)] bg-[var(--surface-secondary)] p-6 shadow-lg',\n 'transition-all duration-200 ease-out',\n ],\n {\n variants: {\n visible: {\n true: 'scale-100 opacity-100',\n false: 'scale-95 opacity-0',\n },\n maxHeight: {\n default: 'max-h-[80dvh]',\n tall: 'max-h-[90dvh]',\n },\n },\n defaultVariants: {\n visible: false,\n maxHeight: 'default',\n },\n },\n);\n\nexport const modalTitleStyles = 'mb-4 shrink-0 text-lg font-semibold text-[var(--text-primary)]';\n\nexport const modalBodyStyles = 'min-h-0 flex-1 overflow-y-auto';\n\nexport const modalFooterStyles = 'mt-6 flex shrink-0 flex-wrap items-center justify-end gap-2';\n","import { RichText } from '@components';\nimport {\n useDelayedUnmount,\n useDismissableLayer,\n useFocusTrap,\n useMergedRef,\n useScrollLock,\n} from '@hooks';\nimport { cn } from '@utils';\nimport { forwardRef, useId, useRef, type HTMLAttributes, type ReactNode } from 'react';\nimport {\n modalBodyStyles,\n modalFooterStyles,\n modalOverlayStyles,\n modalPanelStyles,\n modalTitleStyles,\n} from './Modal.styles';\n\nconst EXIT_DURATION_MS = 200;\n\nexport type ModalProps = Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {\n open: boolean;\n onClose: () => void;\n title?: ReactNode;\n footer?: ReactNode;\n closeOnBackdropClick?: boolean;\n /** Height limit before the body scrolls: 80% of the viewport (`default`) or 90% (`tall`). */\n maxHeight?: 'default' | 'tall';\n};\n\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n open,\n onClose,\n title,\n footer,\n closeOnBackdropClick = true,\n maxHeight = 'default',\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const panelRef = useRef<HTMLDivElement | null>(null);\n const setPanelRef = useMergedRef(ref, panelRef);\n const titleId = useId();\n const { mounted, visible } = useDelayedUnmount(open, EXIT_DURATION_MS);\n\n useDismissableLayer(open, onClose, panelRef, closeOnBackdropClick);\n // The panel mounts one render after `open` flips, so the trap starts once it exists.\n useFocusTrap(open && mounted, panelRef);\n useScrollLock(open);\n\n if (!mounted) {\n return null;\n }\n\n return (\n <div className={modalOverlayStyles({ visible })}>\n <div\n ref={setPanelRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n tabIndex={-1}\n className={cn(modalPanelStyles({ visible, maxHeight }), className)}\n {...props}\n >\n {title && (\n <RichText as=\"h2\" id={titleId} variant=\"s1\" className={modalTitleStyles}>\n {title}\n </RichText>\n )}\n <div className={modalBodyStyles}>{children}</div>\n {footer && <div className={modalFooterStyles}>{footer}</div>}\n </div>\n </div>\n );\n },\n);\n\nModal.displayName = 'Modal';\n"]}
@@ -36,5 +36,5 @@ var Image = forwardRef(
36
36
  Image.displayName = "Image";
37
37
 
38
38
  export { Image };
39
- //# sourceMappingURL=chunk-5IHM2545.js.map
40
- //# sourceMappingURL=chunk-5IHM2545.js.map
39
+ //# sourceMappingURL=chunk-KAU7S3D4.js.map
40
+ //# sourceMappingURL=chunk-KAU7S3D4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/atoms/Image/Image.styles.ts","../src/components/atoms/Image/Image.tsx"],"names":[],"mappings":";;;;;AAEO,IAAM,WAAA,GAAc,IAAI,kBAAA,EAAoB;AAAA,EACjD,QAAA,EAAU;AAAA,IACR,GAAA,EAAK;AAAA,MACH,KAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAS,gBAAA;AAAA,MACT,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,EAAA;AAAA,MACN,EAAA,EAAI,YAAA;AAAA,MACJ,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;ACRM,IAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,EAAE,SAAA,EAAW,GAAA,EAAK,OAAA,EAAS,IAAA,GAAO,IAAA,EAAM,OAAA,EAAS,GAAA,EAAK,GAAG,KAAA,EAAM,EAAG,GAAA,qBACjE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,GAAA;AAAA,MACA,OAAA,EAAS,OAAA,KAAY,IAAA,GAAO,MAAA,GAAS,OAAA,CAAA;AAAA,MACrC,SAAA,EAAW,GAAG,WAAA,CAAY,EAAE,KAAK,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA;AAGV;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-5IHM2545.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const imageStyles = cva('block max-w-full', {\n variants: {\n fit: {\n cover: 'object-cover',\n contain: 'object-contain',\n fill: 'object-fill',\n },\n rounded: {\n none: '',\n md: 'rounded-md',\n full: 'rounded-full',\n },\n },\n defaultVariants: {\n fit: 'cover',\n rounded: 'none',\n },\n});\n","import type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, type ImgHTMLAttributes } from 'react';\nimport { cn } from '@utils';\nimport { imageStyles } from './Image.styles';\n\nexport type ImageProps = Omit<ImgHTMLAttributes<HTMLImageElement>, 'alt'> &\n VariantProps<typeof imageStyles> & {\n alt: string;\n lazy?: boolean;\n };\n\nexport const Image = forwardRef<HTMLImageElement, ImageProps>(\n ({ className, fit, rounded, lazy = true, loading, alt, ...props }, ref) => (\n <img\n ref={ref}\n alt={alt}\n loading={loading ?? (lazy ? 'lazy' : 'eager')}\n className={cn(imageStyles({ fit, rounded }), className)}\n {...props}\n />\n ),\n);\n\nImage.displayName = 'Image';\n"]}
1
+ {"version":3,"sources":["../src/components/atoms/Image/Image.styles.ts","../src/components/atoms/Image/Image.tsx"],"names":[],"mappings":";;;;;AAEO,IAAM,WAAA,GAAc,IAAI,kBAAA,EAAoB;AAAA,EACjD,QAAA,EAAU;AAAA,IACR,GAAA,EAAK;AAAA,MACH,KAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAS,gBAAA;AAAA,MACT,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,EAAA;AAAA,MACN,EAAA,EAAI,YAAA;AAAA,MACJ,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAA,EAAK,OAAA;AAAA,IACL,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;ACRM,IAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,EAAE,SAAA,EAAW,GAAA,EAAK,OAAA,EAAS,IAAA,GAAO,IAAA,EAAM,OAAA,EAAS,GAAA,EAAK,GAAG,KAAA,EAAM,EAAG,GAAA,qBACjE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,GAAA;AAAA,MACA,OAAA,EAAS,OAAA,KAAY,IAAA,GAAO,MAAA,GAAS,OAAA,CAAA;AAAA,MACrC,SAAA,EAAW,GAAG,WAAA,CAAY,EAAE,KAAK,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACrD,GAAG;AAAA;AAAA;AAGV;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-KAU7S3D4.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const imageStyles = cva('block max-w-full', {\n variants: {\n fit: {\n cover: 'object-cover',\n contain: 'object-contain',\n fill: 'object-fill',\n },\n rounded: {\n none: '',\n md: 'rounded-md',\n full: 'rounded-full',\n },\n },\n defaultVariants: {\n fit: 'cover',\n rounded: 'none',\n },\n});\n","import { cn } from '@utils';\nimport type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, type ImgHTMLAttributes } from 'react';\nimport { imageStyles } from './Image.styles';\n\nexport type ImageProps = Omit<ImgHTMLAttributes<HTMLImageElement>, 'alt'> &\n VariantProps<typeof imageStyles> & {\n alt: string;\n lazy?: boolean;\n };\n\nexport const Image = forwardRef<HTMLImageElement, ImageProps>(\n ({ className, fit, rounded, lazy = true, loading, alt, ...props }, ref) => (\n <img\n ref={ref}\n alt={alt}\n loading={loading ?? (lazy ? 'lazy' : 'eager')}\n className={cn(imageStyles({ fit, rounded }), className)}\n {...props}\n />\n ),\n);\n\nImage.displayName = 'Image';\n"]}
@@ -1,4 +1,4 @@
1
- import { RichText } from './chunk-P4CV2EPR.js';
1
+ import { RichText } from './chunk-SPDOYFCU.js';
2
2
  import { cn } from './chunk-6LLGTBM6.js';
3
3
  import { forwardRef, useId } from 'react';
4
4
  import { cva } from 'class-variance-authority';
@@ -70,5 +70,5 @@ var Switch = forwardRef(
70
70
  Switch.displayName = "Switch";
71
71
 
72
72
  export { Switch };
73
- //# sourceMappingURL=chunk-ZABQF65Z.js.map
74
- //# sourceMappingURL=chunk-ZABQF65Z.js.map
73
+ //# sourceMappingURL=chunk-KSNAVEJP.js.map
74
+ //# sourceMappingURL=chunk-KSNAVEJP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/atoms/Switch/Switch.styles.ts","../src/components/atoms/Switch/Switch.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,iBAAA,GAAoB,gCAAA;AAE1B,IAAM,yBAAA,GAA4B,oBAAA;AAElC,IAAM,wBAAA,GAA2B,wCAAA;AAEjC,IAAM,iBAAA,GAAoB,cAAA;AAE1B,IAAM,qBAAA,GAAwB,oCAAA;AAE9B,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B;AAAA,IACE,0EAAA;AAAA,IACA,0GAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B,iHAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,eAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;ACtBO,IAAM,MAAA,GAAS,UAAA;AAAA,EACpB,CAAC,EAAE,OAAA,EAAS,eAAA,EAAiB,QAAA,EAAU,SAAA,EAAW,EAAA,EAAI,MAAA,EAAQ,KAAA,EAAO,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACvF,IAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,IAAA,MAAM,KAAK,MAAA,IAAU,WAAA;AAErB,IAAA,uBACE,IAAA,CAAC,WAAM,OAAA,EAAS,EAAA,EAAI,WAAW,EAAA,CAAG,iBAAA,EAAmB,QAAA,IAAY,yBAAyB,CAAA,EACxF,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAW,wBAAA,EACf,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,EAAA;AAAA,YACA,IAAA,EAAK,UAAA;AAAA,YACL,IAAA,EAAK,QAAA;AAAA,YACL,OAAA;AAAA,YACA,QAAA;AAAA,YACA,UAAU,CAAC,KAAA,KAAU,eAAA,CAAgB,KAAA,CAAM,OAAO,OAAO,CAAA;AAAA,YACzD,SAAA,EAAW,iBAAA;AAAA,YACV,GAAG;AAAA;AAAA,SACN;AAAA,wBACA,GAAA,CAAC,UAAK,aAAA,EAAW,IAAA,EAAC,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA,EACvE,8BAAC,MAAA,EAAA,EAAK,SAAA,EAAW,kBAAkB,EAAE,OAAA,EAAS,CAAA,EAAG,CAAA,EACnD;AAAA,OAAA,EACF,CAAA;AAAA,MACC,KAAA,wBACE,QAAA,EAAA,EAAS,EAAA,EAAG,QAAO,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,qBAAA,EACzC,QAAA,EAAA,KAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-ZABQF65Z.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const switchLabelStyles = 'inline-flex items-center gap-2';\n\nexport const switchLabelDisabledStyles = 'cursor-not-allowed';\n\nexport const switchTrackWrapperStyles = 'relative inline-flex h-6 w-11 shrink-0';\n\nexport const switchInputStyles = 'peer sr-only';\n\nexport const switchLabelTextStyles = 'text-sm text-[var(--text-primary)]';\n\nexport const switchTrackStyles = cva(\n [\n 'absolute inset-0 rounded-full transition-colors duration-150 ease-in-out',\n 'peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--border-focus)] peer-focus-visible:ring-offset-2',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n ],\n {\n variants: {\n checked: {\n true: 'bg-[var(--btn-primary-bg)]',\n false: 'bg-[var(--border-strong)]',\n },\n },\n defaultVariants: {\n checked: false,\n },\n },\n);\n\nexport const switchThumbStyles = cva(\n 'absolute left-0.5 top-0.5 h-5 w-5 rounded-full bg-white shadow-sm transition-transform duration-150 ease-in-out',\n {\n variants: {\n checked: {\n true: 'translate-x-5',\n false: '',\n },\n },\n defaultVariants: {\n checked: false,\n },\n },\n);\n","import { forwardRef, useId, type InputHTMLAttributes } from 'react';\nimport { RichText } from '@components';\nimport { cn } from '@utils';\nimport {\n switchInputStyles,\n switchLabelDisabledStyles,\n switchLabelStyles,\n switchLabelTextStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchTrackWrapperStyles,\n} from './Switch.styles';\n\nexport type SwitchProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'size' | 'onChange' | 'checked'\n> & {\n checked: boolean;\n onCheckedChange: (checked: boolean) => void;\n label?: string;\n};\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ checked, onCheckedChange, disabled, className, id: idProp, label, ...props }, ref) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n\n return (\n <label htmlFor={id} className={cn(switchLabelStyles, disabled && switchLabelDisabledStyles)}>\n <span className={switchTrackWrapperStyles}>\n <input\n ref={ref}\n id={id}\n type=\"checkbox\"\n role=\"switch\"\n checked={checked}\n disabled={disabled}\n onChange={(event) => onCheckedChange(event.target.checked)}\n className={switchInputStyles}\n {...props}\n />\n <span aria-hidden className={cn(switchTrackStyles({ checked }), className)}>\n <span className={switchThumbStyles({ checked })} />\n </span>\n </span>\n {label && (\n <RichText as=\"span\" variant=\"p3\" className={switchLabelTextStyles}>\n {label}\n </RichText>\n )}\n </label>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"]}
1
+ {"version":3,"sources":["../src/components/atoms/Switch/Switch.styles.ts","../src/components/atoms/Switch/Switch.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,iBAAA,GAAoB,gCAAA;AAE1B,IAAM,yBAAA,GAA4B,oBAAA;AAElC,IAAM,wBAAA,GAA2B,wCAAA;AAEjC,IAAM,iBAAA,GAAoB,cAAA;AAE1B,IAAM,qBAAA,GAAwB,oCAAA;AAE9B,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B;AAAA,IACE,0EAAA;AAAA,IACA,0GAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B,iHAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,eAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;ACtBO,IAAM,MAAA,GAAS,UAAA;AAAA,EACpB,CAAC,EAAE,OAAA,EAAS,eAAA,EAAiB,QAAA,EAAU,SAAA,EAAW,EAAA,EAAI,MAAA,EAAQ,KAAA,EAAO,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACvF,IAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,IAAA,MAAM,KAAK,MAAA,IAAU,WAAA;AAErB,IAAA,uBACE,IAAA,CAAC,WAAM,OAAA,EAAS,EAAA,EAAI,WAAW,EAAA,CAAG,iBAAA,EAAmB,QAAA,IAAY,yBAAyB,CAAA,EACxF,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAW,wBAAA,EACf,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,EAAA;AAAA,YACA,IAAA,EAAK,UAAA;AAAA,YACL,IAAA,EAAK,QAAA;AAAA,YACL,OAAA;AAAA,YACA,QAAA;AAAA,YACA,UAAU,CAAC,KAAA,KAAU,eAAA,CAAgB,KAAA,CAAM,OAAO,OAAO,CAAA;AAAA,YACzD,SAAA,EAAW,iBAAA;AAAA,YACV,GAAG;AAAA;AAAA,SACN;AAAA,wBACA,GAAA,CAAC,UAAK,aAAA,EAAW,IAAA,EAAC,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA,EACvE,8BAAC,MAAA,EAAA,EAAK,SAAA,EAAW,kBAAkB,EAAE,OAAA,EAAS,CAAA,EAAG,CAAA,EACnD;AAAA,OAAA,EACF,CAAA;AAAA,MACC,KAAA,wBACE,QAAA,EAAA,EAAS,EAAA,EAAG,QAAO,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,qBAAA,EACzC,QAAA,EAAA,KAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-KSNAVEJP.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const switchLabelStyles = 'inline-flex items-center gap-2';\n\nexport const switchLabelDisabledStyles = 'cursor-not-allowed';\n\nexport const switchTrackWrapperStyles = 'relative inline-flex h-6 w-11 shrink-0';\n\nexport const switchInputStyles = 'peer sr-only';\n\nexport const switchLabelTextStyles = 'text-sm text-[var(--text-primary)]';\n\nexport const switchTrackStyles = cva(\n [\n 'absolute inset-0 rounded-full transition-colors duration-150 ease-in-out',\n 'peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--border-focus)] peer-focus-visible:ring-offset-2',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n ],\n {\n variants: {\n checked: {\n true: 'bg-[var(--btn-primary-bg)]',\n false: 'bg-[var(--border-strong)]',\n },\n },\n defaultVariants: {\n checked: false,\n },\n },\n);\n\nexport const switchThumbStyles = cva(\n 'absolute left-0.5 top-0.5 h-5 w-5 rounded-full bg-white shadow-sm transition-transform duration-150 ease-in-out',\n {\n variants: {\n checked: {\n true: 'translate-x-5',\n false: '',\n },\n },\n defaultVariants: {\n checked: false,\n },\n },\n);\n","import { RichText } from '@components';\nimport { cn } from '@utils';\nimport { forwardRef, useId, type InputHTMLAttributes } from 'react';\nimport {\n switchInputStyles,\n switchLabelDisabledStyles,\n switchLabelStyles,\n switchLabelTextStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchTrackWrapperStyles,\n} from './Switch.styles';\n\nexport type SwitchProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'size' | 'onChange' | 'checked'\n> & {\n checked: boolean;\n onCheckedChange: (checked: boolean) => void;\n label?: string;\n};\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ checked, onCheckedChange, disabled, className, id: idProp, label, ...props }, ref) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n\n return (\n <label htmlFor={id} className={cn(switchLabelStyles, disabled && switchLabelDisabledStyles)}>\n <span className={switchTrackWrapperStyles}>\n <input\n ref={ref}\n id={id}\n type=\"checkbox\"\n role=\"switch\"\n checked={checked}\n disabled={disabled}\n onChange={(event) => onCheckedChange(event.target.checked)}\n className={switchInputStyles}\n {...props}\n />\n <span aria-hidden className={cn(switchTrackStyles({ checked }), className)}>\n <span className={switchThumbStyles({ checked })} />\n </span>\n </span>\n {label && (\n <RichText as=\"span\" variant=\"p3\" className={switchLabelTextStyles}>\n {label}\n </RichText>\n )}\n </label>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"]}