@recursica/mantine-adapter 0.3.0 → 0.4.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.
- package/README.md +17 -7
- package/dist/mantine-adapter.cjs +1 -1
- package/dist/mantine-adapter.cjs.map +1 -1
- package/dist/mantine-adapter.css +1 -1
- package/dist/mantine-adapter.js +145 -145
- package/dist/mantine-adapter.js.map +1 -1
- package/dist/src/components/Avatar/Avatar.d.ts +1 -1
- package/dist/src/components/index.d.ts +0 -1
- package/dist/src/index.d.ts +1 -1
- package/package.json +4 -1
- package/dist/src/RecursicaThemeProvider/RecursicaThemeProvider.d.ts +0 -11
- package/dist/src/components/Layer/Layer.d.ts +0 -25
- package/dist/src/components/Layer/index.d.ts +0 -1
package/README.md
CHANGED
|
@@ -24,20 +24,30 @@ npm install @mantine/core@>=8.0.0 @mantine/dates@>=8.0.0 @mantine/hooks@>=8.0.0
|
|
|
24
24
|
|
|
25
25
|
## Quick Start
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
To use `@recursica/mantine-adapter` in your project, you **must** import its required CSS files in a specific order at the root of your application (e.g., in `App.tsx` or `main.tsx`). This ensures that Mantine styles load first, followed by the Recursica design tokens, and finally the adapter overrides.
|
|
28
28
|
|
|
29
29
|
```tsx
|
|
30
|
+
import "@mantine/core/styles.css";
|
|
31
|
+
import "../path/to/recursica_variables_scoped.css"; // Import your Recursica CSS variables
|
|
32
|
+
import "@recursica/mantine-adapter/style.css";
|
|
33
|
+
|
|
30
34
|
import React from "react";
|
|
31
|
-
|
|
35
|
+
import { Button } from "@recursica/mantine-adapter";
|
|
32
36
|
|
|
33
37
|
function App() {
|
|
34
|
-
return
|
|
35
|
-
// <Button label="Click Me" variant="solid" />
|
|
36
|
-
<div>More components coming soon!</div>
|
|
37
|
-
);
|
|
38
|
+
return <Button variant="solid">Click Me</Button>;
|
|
38
39
|
}
|
|
39
40
|
```
|
|
40
41
|
|
|
42
|
+
## Philosophy
|
|
43
|
+
|
|
44
|
+
The `@recursica/mantine-adapter` is designed to provide curated, strictly-typed UI components tailored specifically following the Recursica styling and behavior guidelines.
|
|
45
|
+
|
|
46
|
+
- **Override, Don't Corrupt**: Recursica components are built as wrappers around Mantine components to seamlessly override their default appearance with Recursica stylings. We deliberately **leave the base Mantine global styles and theme alone** so that it does not negatively impact the overall project or third-party libraries depending on standard Mantine.
|
|
47
|
+
- **Strictly Curated Props**: We expose a complete set of Mantine props via our Recursica components, but **not all props are fully supported**. We restrict certain props if they do not fit the established UI definition, styles, or behaviors of the Recursica design system.
|
|
48
|
+
- **Avoid Overstyling**: Developers are encouraged to use Recursica components precisely as they are provided. You should **not overstyle them** (e.g., injecting custom styles or class names that conflict with the adapter) as this risks breaking the carefully constructed styling connections and visual consistency.
|
|
49
|
+
- **Need Something Different?**: If you need to build a UI element with completely different styling that deviates from the design system, you are encouraged to import the base component directly from `@mantine/core` and style it yourself to achieve your goal.
|
|
50
|
+
|
|
41
51
|
## Development and Architecture
|
|
42
52
|
|
|
43
53
|
This project is built using:
|
|
@@ -46,7 +56,7 @@ This project is built using:
|
|
|
46
56
|
- **Mantine 8**: Base components, hooks, and native standard styling architecture.
|
|
47
57
|
- **Storybook**: Used heavily for interactive component development, documentation, and prototyping.
|
|
48
58
|
|
|
49
|
-
> **Note:** We
|
|
59
|
+
> **Note:** We relying completely on Mantine's built-in CSS styling and Vite's native CSS/CSS Modules capabilities. No complex CSS-in-JS overhead!
|
|
50
60
|
|
|
51
61
|
## Storybook Documentation
|
|
52
62
|
|
package/dist/mantine-adapter.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),m=require("react"),A=require("@mantine/core"),E="Button-module__root___Q2R8-",I="Button-module__label___UJ3Zt",L="Button-module__labelText___rFV5p",T="Button-module__iconWrapper___uEKPa",V="Button-module__section___f2mKr",_={root:E,label:I,labelText:L,iconWrapper:T,section:V};function q(c){return c==null||c===""?!1:typeof c=="string"?c.trim()!=="":!0}const P=m.forwardRef(function({variant:o="solid",size:e="default",icon:n,className:l,classNames:t,children:a,style:i,...h},W){const N={solid:"filled",outline:"outline",text:"subtle"},S={default:"md",small:"sm"},y=h,b=!!n||!!y.leftSection,p=!!y.rightSection,d=(b||p)&&!q(a);typeof process<"u"&&process.env.NODE_ENV!=="production"&&d&&!y["aria-label"]&&console.warn('[Recursica Button] Icon-only buttons must provide an accessible name. Pass aria-label (e.g. aria-label="Submit").');const v={root:_.root,section:_.section,label:_.label};if(t&&typeof t=="object"&&!Array.isArray(t)){const g=t;v.root=g.root?`${_.root} ${g.root}`:_.root,v.section=g.section??_.section,v.label=g.label??_.label}return r.jsx(A.Button,{ref:W,className:l,classNames:v,variant:N[o],size:S[e],style:i,leftSection:n!=null?r.jsx("span",{className:_.iconWrapper,"aria-hidden":!0,children:n}):void 0,"data-variant":o,"data-size":e,...d?{"data-icon-only":""}:{},...h,children:r.jsx("span",{className:_.labelText,children:a})})});P.displayName="Button";const z="Accordion-module__root___Dem6d",O="Accordion-module__item___7ryVk",F="Accordion-module__noDivider___Ni2tT",J="Accordion-module__control___b4wgX",K="Accordion-module__label___Ss7uW",M="Accordion-module__chevron___i-HVZ",X="Accordion-module__iconLeftWrapper___5oLen",Z="Accordion-module__panel___Wx50w",G="Accordion-module__content___PEM9t",u={root:z,item:O,noDivider:F,control:J,label:K,chevron:M,iconLeftWrapper:X,panel:Z,content:G},C=function({className:o,classNames:e,variant:n="unstyled",...l}){const t={root:u.root,item:u.item,control:u.control,label:u.label,chevron:u.chevron,panel:u.panel,content:u.content};if(e&&typeof e=="object"&&!Array.isArray(e)){const a=e;Object.keys(a).forEach(i=>{t[i]?t[i]=`${t[i]} ${a[i]}`:t[i]=a[i]})}return r.jsx(A.Accordion,{variant:n,className:o,classNames:t,...l})};C.displayName="Accordion";const B=m.forwardRef(function({title:o,leftIcon:e,divider:n=!0,children:l,...t},a){return r.jsx(A.Accordion.Item,{ref:a,className:n?void 0:u.noDivider,...t,children:o?r.jsxs(r.Fragment,{children:[r.jsx(x,{leftIcon:e,children:o}),r.jsx(j,{children:l})]}):l})});B.displayName="AccordionItem";const x=m.forwardRef(function({leftIcon:o,children:e,...n},l){return r.jsx(A.Accordion.Control,{ref:l,icon:o?r.jsx("span",{className:u.iconLeftWrapper,"aria-hidden":!0,children:o}):void 0,...n,children:e})});x.displayName="AccordionControl";const j=m.forwardRef(function(o,e){return r.jsx(A.Accordion.Panel,{ref:e,...o})});j.displayName="AccordionPanel";const $=C;$.Item=B;$.Control=x;$.Panel=j;const H="Avatar-module__root___fXu-J",Q="Avatar-module__iconWrapper___ojly2",U="Avatar-module__textWrapper___zp-jD",Y="Avatar-module__image___ieqGp",k="Avatar-module__placeholder___IDW7-",s={root:H,iconWrapper:Q,textWrapper:U,image:Y,placeholder:k},w=m.forwardRef(function({size:o="default",variant:e="solid",icon:n,className:l,classNames:t,children:a,style:i,src:h,...W},N){const S={solid:"filled",outline:"outline",ghost:"transparent"},y={default:"md",small:"sm",large:"lg"};let b="text";h?b="image":n&&(b="icon");const p={root:s.root,image:s.image,placeholder:s.placeholder};if(t&&typeof t=="object"&&!Array.isArray(t)){const d=t;p.root=d.root?`${s.root} ${d.root}`:s.root,p.image=d.image?`${s.image} ${d.image}`:s.image,p.placeholder=d.placeholder?`${s.placeholder} ${d.placeholder}`:s.placeholder}return r.jsx(A.Avatar,{ref:N,className:l,classNames:p,variant:S[e],size:y[o],style:i,src:h,"data-variant":e,"data-size":o,"data-style":b,...W,children:n!=null?r.jsx("span",{className:s.iconWrapper,"aria-hidden":!0,children:n}):a!=null?r.jsx("span",{className:s.textWrapper,children:a}):void 0})});w.displayName="Avatar";const oo="_root_1qhn7_3",eo="_contents_1qhn7_18",f={root:oo,contents:eo},D=m.forwardRef(function({layer:c,contentsOnly:o,children:e,className:n,style:l,...t},a){const i=o?n?`${f.root} ${f.contents} ${n}`:`${f.root} ${f.contents}`:n?`${f.root} ${n}`:f.root;return r.jsx("div",{ref:a,className:i,style:l,...o?{}:{"data-recursica-layer":String(c)},...t,children:e})});D.displayName="Layer";const R="data-recursica-theme";function to({children:c,theme:o="light"}){return m.useEffect(()=>{const e=document.documentElement;return e.setAttribute(R,o),()=>{e.removeAttribute(R)}},[o]),r.jsx(r.Fragment,{children:c})}exports.Accordion=$;exports.AccordionControl=x;exports.AccordionItem=B;exports.AccordionPanel=j;exports.Avatar=w;exports.Button=P;exports.Layer=D;exports.RecursicaThemeProvider=to;
|
|
2
2
|
//# sourceMappingURL=mantine-adapter.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mantine-adapter.cjs","sources":["../src/components/Layer/Layer.tsx","../src/components/Button/Button.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Avatar/Avatar.tsx","../src/RecursicaThemeProvider/RecursicaThemeProvider.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport styles from \"./Layer.module.css\";\n\n/**\n * Recursica design-system props for Layer.\n * Sets data-recursica-layer so scoped CSS theme+layer blocks apply that layer's\n * generic brand vars (e.g. --recursica_brand_layer_N_properties_surface) to this element\n * and descendants. Theme is set on the document root (e.g. via RecursicaThemeProvider).\n * See recursica_variables_scoped.css header.\n */\nexport interface RecursicaLayerProps {\n /** Layer (0–3). Sets data-recursica-layer on the root so descendants use this layer's styles. */\n layer: 0 | 1 | 2 | 3;\n /**\n * When true, the root uses display: contents (no box, not styled) and data-recursica-layer\n * is omitted so Recursica layer styling is not applied. Children still participate in the cascade.\n */\n contentsOnly?: boolean;\n children?: React.ReactNode;\n}\n\nexport type LayerProps = RecursicaLayerProps &\n React.HTMLAttributes<HTMLDivElement>;\n\n/**\n * Applies a Recursica layer context. Root has data-recursica-layer so scoped CSS\n * theme+layer blocks (e.g. [data-recursica-theme=\"light\"] [data-recursica-layer=\"1\"])\n * set generic brand vars on this element; descendants inherit. Use with theme on\n * document root (RecursicaThemeProvider). Root is display: block so padding/background apply.\n */\nexport const Layer = forwardRef<HTMLDivElement, LayerProps>(function Layer(\n { layer, contentsOnly, children, className, style, ...rest },\n ref,\n) {\n const rootClassName = contentsOnly\n ? className\n ? `${styles.root} ${styles.contents} ${className}`\n : `${styles.root} ${styles.contents}`\n : className\n ? `${styles.root} ${className}`\n : styles.root;\n return (\n <div\n ref={ref}\n className={rootClassName}\n style={style}\n {...(contentsOnly ? {} : { \"data-recursica-layer\": String(layer) })}\n {...rest}\n >\n {children}\n </div>\n );\n});\n\nLayer.displayName = \"Layer\";\n","import React, { forwardRef } from \"react\";\nimport {\n Button as MantineButton,\n type ButtonProps as MantineButtonProps,\n} from \"@mantine/core\";\nimport styles from \"./Button.module.css\";\n\nexport interface RecursicaButtonProps {\n variant?: \"solid\" | \"outline\" | \"text\";\n size?: \"default\" | \"small\";\n icon?: React.ReactNode;\n}\n\nexport type ButtonProps = Omit<\n MantineButtonProps,\n \"variant\" | \"size\" | \"leftSection\"\n> &\n RecursicaButtonProps;\n\nfunction hasVisibleChildren(children: React.ReactNode): boolean {\n if (children == null || children === \"\") return false;\n if (typeof children === \"string\") return children.trim() !== \"\";\n return true;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n variant = \"solid\",\n size = \"default\",\n icon,\n className,\n classNames,\n children,\n style,\n ...rest\n },\n ref,\n ) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n text: \"subtle\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n } as const;\n\n const restRecord = rest as Record<string, unknown>;\n const hasLeftSection = !!icon || !!restRecord[\"leftSection\"];\n const hasRightSection = !!restRecord[\"rightSection\"];\n const isIconOnly =\n (hasLeftSection || hasRightSection) && !hasVisibleChildren(children);\n\n if (\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV !== \"production\" &&\n isIconOnly &&\n !restRecord[\"aria-label\"]\n ) {\n console.warn(\n '[Recursica Button] Icon-only buttons must provide an accessible name. Pass aria-label (e.g. aria-label=\"Submit\").',\n );\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n section: styles.section,\n label: styles.label,\n };\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.section = o.section ?? styles.section;\n mergedClassNames.label = o.label ?? styles.label;\n }\n\n return (\n <MantineButton\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n leftSection={\n icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : undefined\n }\n data-variant={variant}\n data-size={size}\n {...(isIconOnly ? { \"data-icon-only\": \"\" } : {})}\n {...rest}\n >\n <span className={styles.labelText}>{children}</span>\n </MantineButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\n","import React, { forwardRef } from \"react\";\nimport {\n Accordion as MantineAccordion,\n type AccordionProps as MantineAccordionProps,\n type AccordionItemProps,\n type AccordionControlProps,\n type AccordionPanelProps,\n} from \"@mantine/core\";\nimport styles from \"./Accordion.module.css\";\n\n// ==== ACCORDION CONTAINER ====\nexport type AccordionProps = MantineAccordionProps;\n\nconst AccordionBase = function Accordion({\n className,\n classNames,\n variant = \"unstyled\",\n ...rest\n}: AccordionProps) {\n // Bind all deep CSS module references natively into the global class mapping schema\n const mergedClassNames: Record<string, string> = {\n root: styles.root,\n item: styles.item,\n control: styles.control,\n label: styles.label,\n chevron: styles.chevron,\n panel: styles.panel,\n content: styles.content,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Record<string, string>;\n Object.keys(o).forEach((key) => {\n if (mergedClassNames[key]) {\n mergedClassNames[key] = `${mergedClassNames[key]} ${o[key]}`;\n } else {\n mergedClassNames[key] = o[key];\n }\n });\n }\n\n return (\n <MantineAccordion\n variant={variant}\n className={className}\n classNames={mergedClassNames}\n {...rest}\n />\n );\n};\nAccordionBase.displayName = \"Accordion\";\n\n// ==== ACCORDION ITEM ====\nexport type RecursicaAccordionItemProps = AccordionItemProps & {\n /**\n * When provided alongside `leftIcon` or independently, this auto-generates the Accordion Control and Panel DOM layers natively.\n */\n title?: React.ReactNode;\n\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n\n /**\n * Toggles the presence of the bottom trailing divider native to AccordionItems.\n * @default true\n */\n divider?: boolean;\n\n // Note on `open` property:\n // Recursica structurally maps an `open` property for active state tracking. However, Mantine inherently demands array-driven states\n // managed by the parent `<Accordion value=\"...\">` wrapper logic to accurately sequence expanding DOM animations. Attempting to force\n // an isolated `open` boolean natively corrupts Mantine's transition observers, so no `open` prop is directly preserved on this wrapper.\n};\n\nexport const AccordionItem = forwardRef<\n HTMLDivElement,\n RecursicaAccordionItemProps\n>(function AccordionItem(\n { title, leftIcon, divider = true, children, ...rest },\n ref,\n) {\n // If the user utilizes the explicit 'title' prop from Recursica, we securely auto-construct the Mantine sub-hierarchy natively!\n // If not, we defer to raw composable children (meaning the integrator maps `<Accordion.Control>` manually).\n return (\n <MantineAccordion.Item\n ref={ref}\n className={divider ? undefined : styles.noDivider}\n {...rest}\n >\n {title ? (\n <>\n <AccordionControl leftIcon={leftIcon}>{title}</AccordionControl>\n <AccordionPanel>{children}</AccordionPanel>\n </>\n ) : (\n children\n )}\n </MantineAccordion.Item>\n );\n});\nAccordionItem.displayName = \"AccordionItem\";\n\n// ==== ACCORDION CONTROL ====\nexport type RecursicaAccordionControlProps = AccordionControlProps & {\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n};\n\nexport const AccordionControl = forwardRef<\n HTMLButtonElement,\n RecursicaAccordionControlProps\n>(function AccordionControl({ leftIcon, children, ...rest }, ref) {\n return (\n <MantineAccordion.Control\n ref={ref}\n icon={\n leftIcon ? (\n <span className={styles.iconLeftWrapper} aria-hidden>\n {leftIcon}\n </span>\n ) : undefined\n }\n {...rest}\n >\n {children}\n </MantineAccordion.Control>\n );\n});\nAccordionControl.displayName = \"AccordionControl\";\n\n// ==== ACCORDION PANEL ====\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n return <MantineAccordion.Panel ref={ref} {...props} />;\n },\n);\nAccordionPanel.displayName = \"AccordionPanel\";\n\n// ==== DOT NOTATION EXPORT ====\ntype AccordionComponent = typeof AccordionBase & {\n Item: typeof AccordionItem;\n Control: typeof AccordionControl;\n Panel: typeof AccordionPanel;\n};\n\nexport const Accordion = AccordionBase as AccordionComponent;\nAccordion.Item = AccordionItem;\nAccordion.Control = AccordionControl;\nAccordion.Panel = AccordionPanel;\n","import React, { forwardRef } from \"react\";\nimport {\n Avatar as MantineAvatar,\n type AvatarProps as MantineAvatarProps,\n} from \"@mantine/core\";\nimport styles from \"./Avatar.module.css\";\n\nexport interface RecursicaAvatarProps {\n size?: \"small\" | \"default\" | \"large\";\n variant?: \"solid\" | \"outline\" | \"ghost\";\n icon?: React.ReactNode;\n}\n\nexport type AvatarProps = Omit<\n MantineAvatarProps,\n \"variant\" | \"size\" | \"color\" | \"radius\"\n> &\n RecursicaAvatarProps;\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n size = \"default\",\n variant = \"solid\",\n icon,\n className,\n classNames,\n children,\n style,\n src,\n ...rest\n },\n ref,\n) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n ghost: \"transparent\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n large: \"lg\",\n } as const;\n\n // Determine semantic style based on provided props\n let computedStyle = \"text\";\n if (src) {\n computedStyle = \"image\";\n } else if (icon) {\n computedStyle = \"icon\";\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n image: styles.image,\n placeholder: styles.placeholder,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.image = o.image\n ? `${styles.image} ${o.image}`\n : styles.image;\n mergedClassNames.placeholder = o.placeholder\n ? `${styles.placeholder} ${o.placeholder}`\n : styles.placeholder;\n }\n\n return (\n <MantineAvatar\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n src={src}\n data-variant={variant}\n data-size={size}\n data-style={computedStyle}\n {...rest}\n >\n {icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : children != null ? (\n <span className={styles.textWrapper}>{children}</span>\n ) : undefined}\n </MantineAvatar>\n );\n});\n\nAvatar.displayName = \"Avatar\";\n","\"use client\";\n\nimport { useEffect } from \"react\";\n\nconst THEME_ATTRIBUTE = \"data-recursica-theme\";\n\nexport interface RecursicaThemeProviderProps {\n /** 'light' | 'dark'. Defaults to 'light' when omitted. */\n theme?: \"light\" | \"dark\";\n children: React.ReactNode;\n}\n\n/**\n * Sets data-recursica-theme on document.documentElement so Recursica scoped CSS\n * (e.g. recursica_variables_scoped.css) applies the correct theme and layer-0 variables.\n * Default is light theme.\n */\nexport function RecursicaThemeProvider({\n children,\n theme = \"light\",\n}: RecursicaThemeProviderProps) {\n useEffect(() => {\n const root = document.documentElement;\n root.setAttribute(THEME_ATTRIBUTE, theme);\n return () => {\n root.removeAttribute(THEME_ATTRIBUTE);\n };\n }, [theme]);\n\n return <>{children}</>;\n}\n"],"names":["Layer","forwardRef","layer","contentsOnly","children","className","style","rest","ref","rootClassName","styles","jsx","hasVisibleChildren","Button","variant","size","icon","classNames","mapVariant","mapSize","restRecord","hasLeftSection","hasRightSection","isIconOnly","mergedClassNames","o","MantineButton","AccordionBase","key","MantineAccordion","AccordionItem","title","leftIcon","divider","jsxs","Fragment","AccordionControl","AccordionPanel","props","Accordion","Avatar","src","computedStyle","MantineAvatar","THEME_ATTRIBUTE","RecursicaThemeProvider","theme","useEffect","root"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mantine-adapter.cjs","sources":["../src/components/Button/Button.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Avatar/Avatar.tsx","../../adapter-common/dist/adapter-common.js"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport {\n Button as MantineButton,\n type ButtonProps as MantineButtonProps,\n} from \"@mantine/core\";\nimport styles from \"./Button.module.css\";\n\nexport interface RecursicaButtonProps {\n variant?: \"solid\" | \"outline\" | \"text\";\n size?: \"default\" | \"small\";\n icon?: React.ReactNode;\n}\n\nexport type ButtonProps = Omit<\n MantineButtonProps,\n \"variant\" | \"size\" | \"leftSection\"\n> &\n RecursicaButtonProps;\n\nfunction hasVisibleChildren(children: React.ReactNode): boolean {\n if (children == null || children === \"\") return false;\n if (typeof children === \"string\") return children.trim() !== \"\";\n return true;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n variant = \"solid\",\n size = \"default\",\n icon,\n className,\n classNames,\n children,\n style,\n ...rest\n },\n ref,\n ) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n text: \"subtle\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n } as const;\n\n const restRecord = rest as Record<string, unknown>;\n const hasLeftSection = !!icon || !!restRecord[\"leftSection\"];\n const hasRightSection = !!restRecord[\"rightSection\"];\n const isIconOnly =\n (hasLeftSection || hasRightSection) && !hasVisibleChildren(children);\n\n if (\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV !== \"production\" &&\n isIconOnly &&\n !restRecord[\"aria-label\"]\n ) {\n console.warn(\n '[Recursica Button] Icon-only buttons must provide an accessible name. Pass aria-label (e.g. aria-label=\"Submit\").',\n );\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n section: styles.section,\n label: styles.label,\n };\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.section = o.section ?? styles.section;\n mergedClassNames.label = o.label ?? styles.label;\n }\n\n return (\n <MantineButton\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n leftSection={\n icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : undefined\n }\n data-variant={variant}\n data-size={size}\n {...(isIconOnly ? { \"data-icon-only\": \"\" } : {})}\n {...rest}\n >\n <span className={styles.labelText}>{children}</span>\n </MantineButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\n","import React, { forwardRef } from \"react\";\nimport {\n Accordion as MantineAccordion,\n type AccordionProps as MantineAccordionProps,\n type AccordionItemProps,\n type AccordionControlProps,\n type AccordionPanelProps,\n} from \"@mantine/core\";\nimport styles from \"./Accordion.module.css\";\n\n// ==== ACCORDION CONTAINER ====\nexport type AccordionProps = MantineAccordionProps;\n\nconst AccordionBase = function Accordion({\n className,\n classNames,\n variant = \"unstyled\",\n ...rest\n}: AccordionProps) {\n // Bind all deep CSS module references natively into the global class mapping schema\n const mergedClassNames: Record<string, string> = {\n root: styles.root,\n item: styles.item,\n control: styles.control,\n label: styles.label,\n chevron: styles.chevron,\n panel: styles.panel,\n content: styles.content,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Record<string, string>;\n Object.keys(o).forEach((key) => {\n if (mergedClassNames[key]) {\n mergedClassNames[key] = `${mergedClassNames[key]} ${o[key]}`;\n } else {\n mergedClassNames[key] = o[key];\n }\n });\n }\n\n return (\n <MantineAccordion\n variant={variant}\n className={className}\n classNames={mergedClassNames}\n {...rest}\n />\n );\n};\nAccordionBase.displayName = \"Accordion\";\n\n// ==== ACCORDION ITEM ====\nexport type RecursicaAccordionItemProps = AccordionItemProps & {\n /**\n * When provided alongside `leftIcon` or independently, this auto-generates the Accordion Control and Panel DOM layers natively.\n */\n title?: React.ReactNode;\n\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n\n /**\n * Toggles the presence of the bottom trailing divider native to AccordionItems.\n * @default true\n */\n divider?: boolean;\n\n // Note on `open` property:\n // Recursica structurally maps an `open` property for active state tracking. However, Mantine inherently demands array-driven states\n // managed by the parent `<Accordion value=\"...\">` wrapper logic to accurately sequence expanding DOM animations. Attempting to force\n // an isolated `open` boolean natively corrupts Mantine's transition observers, so no `open` prop is directly preserved on this wrapper.\n};\n\nexport const AccordionItem = forwardRef<\n HTMLDivElement,\n RecursicaAccordionItemProps\n>(function AccordionItem(\n { title, leftIcon, divider = true, children, ...rest },\n ref,\n) {\n // If the user utilizes the explicit 'title' prop from Recursica, we securely auto-construct the Mantine sub-hierarchy natively!\n // If not, we defer to raw composable children (meaning the integrator maps `<Accordion.Control>` manually).\n return (\n <MantineAccordion.Item\n ref={ref}\n className={divider ? undefined : styles.noDivider}\n {...rest}\n >\n {title ? (\n <>\n <AccordionControl leftIcon={leftIcon}>{title}</AccordionControl>\n <AccordionPanel>{children}</AccordionPanel>\n </>\n ) : (\n children\n )}\n </MantineAccordion.Item>\n );\n});\nAccordionItem.displayName = \"AccordionItem\";\n\n// ==== ACCORDION CONTROL ====\nexport type RecursicaAccordionControlProps = AccordionControlProps & {\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n};\n\nexport const AccordionControl = forwardRef<\n HTMLButtonElement,\n RecursicaAccordionControlProps\n>(function AccordionControl({ leftIcon, children, ...rest }, ref) {\n return (\n <MantineAccordion.Control\n ref={ref}\n icon={\n leftIcon ? (\n <span className={styles.iconLeftWrapper} aria-hidden>\n {leftIcon}\n </span>\n ) : undefined\n }\n {...rest}\n >\n {children}\n </MantineAccordion.Control>\n );\n});\nAccordionControl.displayName = \"AccordionControl\";\n\n// ==== ACCORDION PANEL ====\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n return <MantineAccordion.Panel ref={ref} {...props} />;\n },\n);\nAccordionPanel.displayName = \"AccordionPanel\";\n\n// ==== DOT NOTATION EXPORT ====\ntype AccordionComponent = typeof AccordionBase & {\n Item: typeof AccordionItem;\n Control: typeof AccordionControl;\n Panel: typeof AccordionPanel;\n};\n\nexport const Accordion = AccordionBase as AccordionComponent;\nAccordion.Item = AccordionItem;\nAccordion.Control = AccordionControl;\nAccordion.Panel = AccordionPanel;\n","import React, { forwardRef } from \"react\";\nimport {\n Avatar as MantineAvatar,\n type AvatarProps as MantineAvatarProps,\n} from \"@mantine/core\";\nimport styles from \"./Avatar.module.css\";\n\nexport interface RecursicaAvatarProps {\n size?: \"small\" | \"default\" | \"large\";\n variant?: \"solid\" | \"outline\" | \"ghost\";\n icon?: React.ReactNode;\n}\n\nexport type AvatarProps = Omit<\n MantineAvatarProps,\n \"variant\" | \"size\" | \"color\" | \"radius\"\n> &\n RecursicaAvatarProps;\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n size = \"default\",\n variant = \"solid\",\n icon,\n className,\n classNames,\n children,\n style,\n src,\n ...rest\n },\n ref,\n) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n ghost: \"transparent\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n large: \"lg\",\n } as const;\n\n // Determine semantic style based on provided props\n let computedStyle = \"text\";\n if (src) {\n computedStyle = \"image\";\n } else if (icon) {\n computedStyle = \"icon\";\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n image: styles.image,\n placeholder: styles.placeholder,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.image = o.image\n ? `${styles.image} ${o.image}`\n : styles.image;\n mergedClassNames.placeholder = o.placeholder\n ? `${styles.placeholder} ${o.placeholder}`\n : styles.placeholder;\n }\n\n return (\n <MantineAvatar\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n src={src}\n data-variant={variant}\n data-size={size}\n data-style={computedStyle}\n {...rest}\n >\n {icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : children != null ? (\n <span className={styles.textWrapper}>{children}</span>\n ) : undefined}\n </MantineAvatar>\n );\n});\n\nAvatar.displayName = \"Avatar\";\n","import { jsx as s, Fragment as f } from \"react/jsx-runtime\";\nimport { forwardRef as _, useEffect as $ } from \"react\";\nconst y = \"_root_1qhn7_3\", E = \"_contents_1qhn7_18\", t = {\n root: y,\n contents: E\n}, T = _(function({ layer: r, contentsOnly: o, children: i, className: e, style: a, ...u }, m) {\n const d = o ? e ? `${t.root} ${t.contents} ${e}` : `${t.root} ${t.contents}` : e ? `${t.root} ${e}` : t.root;\n return /* @__PURE__ */ s(\n \"div\",\n {\n ref: m,\n className: d,\n style: a,\n ...o ? {} : { \"data-recursica-layer\": String(r) },\n ...u,\n children: i\n }\n );\n});\nT.displayName = \"Layer\";\nconst c = \"data-recursica-theme\";\nfunction g({\n children: n,\n theme: r = \"light\"\n}) {\n return $(() => {\n const o = document.documentElement;\n return o.setAttribute(c, r), () => {\n o.removeAttribute(c);\n };\n }, [r]), /* @__PURE__ */ s(f, { children: n });\n}\nexport {\n T as Layer,\n g as RecursicaThemeProvider\n};\n//# sourceMappingURL=adapter-common.js.map\n"],"names":["hasVisibleChildren","children","Button","forwardRef","variant","size","icon","className","classNames","style","rest","ref","mapVariant","mapSize","restRecord","hasLeftSection","hasRightSection","isIconOnly","mergedClassNames","styles","o","jsx","MantineButton","AccordionBase","key","MantineAccordion","AccordionItem","title","leftIcon","divider","jsxs","Fragment","AccordionControl","AccordionPanel","props","Accordion","Avatar","src","computedStyle","MantineAvatar","y","E","t","T","_","r","i","e","a","u","m","d","s","c","g","n","$","f"],"mappings":"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"}
|
package/dist/mantine-adapter.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Layer-module__root___uz07-{display:block;border-style:solid}.Layer-module__root___uz07-.Layer-module__contents___A7K56{display:contents;border-style:unset}.Layer-module__root___uz07-[data-recursica-layer="0"]{background-color:var(--recursica_brand_layer_0_properties_surface);color:var(--recursica_brand_layer_0_elements_text_color);border-color:var(--recursica_brand_layer_0_properties_border-color);border-width:var(--recursica_brand_layer_0_properties_border-size);border-radius:var(--recursica_brand_layer_0_properties_border-radius);box-shadow:var(--recursica_brand_layer_0_properties_elevation);padding:var(--recursica_brand_layer_0_properties_padding)}.Layer-module__root___uz07-[data-recursica-layer="1"]{background-color:var(--recursica_brand_layer_1_properties_surface);color:var(--recursica_brand_layer_1_elements_text_color);border-color:var(--recursica_brand_layer_1_properties_border-color);border-width:var(--recursica_brand_layer_1_properties_border-size);border-radius:var(--recursica_brand_layer_1_properties_border-radius);box-shadow:var(--recursica_brand_layer_1_properties_elevation);padding:var(--recursica_brand_layer_1_properties_padding)}.Layer-module__root___uz07-[data-recursica-layer="2"]{background-color:var(--recursica_brand_layer_2_properties_surface);color:var(--recursica_brand_layer_2_elements_text_color);border-color:var(--recursica_brand_layer_2_properties_border-color);border-width:var(--recursica_brand_layer_2_properties_border-size);border-radius:var(--recursica_brand_layer_2_properties_border-radius);box-shadow:var(--recursica_brand_layer_2_properties_elevation);padding:var(--recursica_brand_layer_2_properties_padding)}.Layer-module__root___uz07-[data-recursica-layer="3"]{background-color:var(--recursica_brand_layer_3_properties_surface);color:var(--recursica_brand_layer_3_elements_text_color);border-color:var(--recursica_brand_layer_3_properties_border-color);border-width:var(--recursica_brand_layer_3_properties_border-size);border-radius:var(--recursica_brand_layer_3_properties_border-radius);box-shadow:var(--recursica_brand_layer_3_properties_elevation);padding:var(--recursica_brand_layer_3_properties_padding)}.Button-module__root___Q2R8-{box-sizing:border-box;margin:0;border-style:solid;overflow:hidden;position:relative;transition:all .2s ease;font-family:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-family );font-size:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-size );font-style:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_text-transform )}.Button-module__root___Q2R8->*{min-width:0;width:100%;position:relative;z-index:1}.Button-module__label___UJ3Zt{display:flex;align-items:center;min-width:0;flex:1 1 0}.Button-module__labelText___rFV5p{display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;line-height:inherit}.Button-module__root___Q2R8-[data-size=default]{border-radius:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_border-radius );height:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_height );min-width:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_min-width );max-width:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_max-width );padding:0 var( --recursica_ui-kit_components_button_variants_sizes_default_properties_horizontal-padding )}.Button-module__root___Q2R8-[data-size=small]{border-radius:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_border-radius );height:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_height );min-width:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_min-width );max-width:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_max-width );padding:0 var( --recursica_ui-kit_components_button_variants_sizes_small_properties_horizontal-padding );font-family:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_text_font-family, var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-family ) );font-size:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_text_font-size, var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-size ) );font-weight:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_text_font-weight, var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-weight ) )}.Button-module__iconWrapper___uEKPa{display:flex;align-items:center;justify-content:center;flex-shrink:0}.Button-module__iconWrapper___uEKPa>*{width:100%;height:100%;object-fit:contain}.Button-module__root___Q2R8-[data-size=default] .Button-module__iconWrapper___uEKPa{width:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_icon );height:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_icon )}.Button-module__root___Q2R8-[data-size=small] .Button-module__iconWrapper___uEKPa{width:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_icon );height:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_icon )}.Button-module__section___f2mKr{min-width:0}.Button-module__root___Q2R8-[data-size=default] .Button-module__section___f2mKr{gap:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_icon-text-gap )}.Button-module__root___Q2R8-[data-size=small] .Button-module__section___f2mKr{gap:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_icon-text-gap )}.Button-module__root___Q2R8-[data-icon-only] .Button-module__section___f2mKr{gap:0}.Button-module__root___Q2R8-[data-icon-only] .Button-module__section___f2mKr[data-position=left]{margin-inline-end:0}.Button-module__root___Q2R8-[data-icon-only] .Button-module__section___f2mKr[data-position=right]{margin-inline-start:0}.Button-module__root___Q2R8-:disabled{opacity:var(--recursica_brand_states_disabled);cursor:not-allowed}.Button-module__root___Q2R8-:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:0;pointer-events:none;transition:opacity .15s ease;opacity:0}.Button-module__root___Q2R8-[data-size=default]:after{background-color:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-color )}.Button-module__root___Q2R8-[data-size=small]:after{background-color:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_hover-color )}.Button-module__root___Q2R8-:hover:not(:disabled):after{opacity:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-opacity, .1 )}.Button-module__root___Q2R8-[data-variant=solid]{border-width:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_border-size );box-shadow:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_elevation );background-color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_background );border-color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_border-color );color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text )}.Button-module__root___Q2R8-[data-variant=solid]:hover:not(:disabled){color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text-hover )}.Button-module__root___Q2R8-[data-variant=outline]{border-width:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_border-size );box-shadow:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_elevation );background-color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_background );border-color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_border-color );color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text )}.Button-module__root___Q2R8-[data-variant=outline]:hover:not(:disabled){color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text-hover )}.Button-module__root___Q2R8-[data-variant=text]{border-width:var( --recursica_ui-kit_components_button_variants_styles_text_properties_border-size );box-shadow:var( --recursica_ui-kit_components_button_variants_styles_text_properties_elevation );background-color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_background );border-color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_border-color );color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text )}.Button-module__root___Q2R8-[data-variant=text]:hover:not(:disabled){color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text-hover )}.Accordion-module__root___Dem6d{box-sizing:border-box;margin:0;display:flex;flex-direction:column;border-style:solid;border-width:var( --recursica_ui-kit_components_accordion_properties_border-size );border-radius:var( --recursica_ui-kit_components_accordion_properties_border-radius );border-color:var( --recursica_ui-kit_components_accordion_properties_colors_border-color );background-color:var( --recursica_ui-kit_components_accordion_properties_colors_background );box-shadow:var(--recursica_ui-kit_components_accordion_properties_elevation);max-width:var(--recursica_ui-kit_components_accordion_properties_max-width);min-width:var(--recursica_ui-kit_components_accordion_properties_min-width);padding:var(--recursica_ui-kit_components_accordion_properties_padding);gap:var(--recursica_ui-kit_components_accordion_properties_item-gap)}.Accordion-module__item___7ryVk{box-sizing:border-box;margin:0;position:relative;transition:all .2s ease;border-bottom:none;border-style:solid;border-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_divider );border-width:var( --recursica_ui-kit_components_accordion-item_properties_divider-size );border-radius:var( --recursica_ui-kit_components_accordion-item_properties_border-radius );box-shadow:var( --recursica_ui-kit_components_accordion-item_properties_elevation );background-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_background-collapsed )}.Accordion-module__item___7ryVk[data-active]{background-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_background-expanded )}.Accordion-module__noDivider___Ni2tT{border-bottom:none!important;border-bottom-width:0!important}.Accordion-module__control___b4wgX{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--recursica_ui-kit_components_accordion-item_properties_icon-gap);padding:var( --recursica_ui-kit_components_accordion-item_properties_padding-vertical ) var( --recursica_ui-kit_components_accordion-item_properties_padding-horizontal );background-color:transparent;transition:background-color .15s ease;position:relative;z-index:1;color:var( --recursica_ui-kit_components_accordion-item_properties_colors_text );font-family:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-family );font-size:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-size );font-weight:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-weight );font-style:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-style );letter-spacing:var( --recursica_ui-kit_components_accordion-item_properties_header-text_letter-spacing );line-height:var( --recursica_ui-kit_components_accordion-item_properties_header-text_line-height );text-decoration:var( --recursica_ui-kit_components_accordion-item_properties_header-text_text-decoration );text-transform:var( --recursica_ui-kit_components_accordion-item_properties_header-text_text-transform )}.Accordion-module__control___b4wgX:hover{background-color:transparent}.Accordion-module__control___b4wgX:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background-color:var( --recursica_ui-kit_components_accordion-item_properties_hover-color );opacity:0;transition:opacity .15s ease}.Accordion-module__control___b4wgX:hover:not(:disabled):after{opacity:var( --recursica_ui-kit_components_accordion-item_properties_hover-opacity, .1 )}.Accordion-module__label___Ss7uW{flex:1;text-align:left;color:inherit;padding:0}.Accordion-module__chevron___i-HVZ{flex-shrink:0;width:var( --recursica_ui-kit_components_accordion-item_properties_icon-right-size );height:var( --recursica_ui-kit_components_accordion-item_properties_icon-right-size );color:var( --recursica_ui-kit_components_accordion-item_properties_colors_icon );margin:0;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.Accordion-module__chevron___i-HVZ>*{width:100%;height:100%;object-fit:contain}.Accordion-module__item___7ryVk[data-active] .Accordion-module__chevron___i-HVZ{transform:rotate(180deg)}.Accordion-module__iconLeftWrapper___5oLen{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var( --recursica_ui-kit_components_accordion-item_properties_icon-left-size );height:var( --recursica_ui-kit_components_accordion-item_properties_icon-left-size );color:var( --recursica_ui-kit_components_accordion-item_properties_colors_icon )}.Accordion-module__iconLeftWrapper___5oLen>*{width:100%;height:100%;object-fit:contain}.Accordion-module__panel___Wx50w{box-sizing:border-box;margin:0;padding:0;background-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_content-background )}.Accordion-module__content___PEM9t{box-sizing:border-box;padding:0 var( --recursica_ui-kit_components_accordion-item_properties_padding-horizontal ) var( --recursica_ui-kit_components_accordion-item_properties_content-bottom-padding );padding-top:var( --recursica_ui-kit_components_accordion-item_properties_header-content-gap );color:var( --recursica_ui-kit_components_accordion-item_properties_colors_content-text );font-family:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-family );font-size:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-size );font-weight:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-weight );font-style:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-style );letter-spacing:var( --recursica_ui-kit_components_accordion-item_properties_content-text_letter-spacing );line-height:var( --recursica_ui-kit_components_accordion-item_properties_content-text_line-height );text-decoration:var( --recursica_ui-kit_components_accordion-item_properties_content-text_text-decoration );text-transform:var( --recursica_ui-kit_components_accordion-item_properties_content-text_text-transform )}.Avatar-module__root___fXu-J{box-sizing:border-box;margin:0;border-style:solid;overflow:hidden;position:relative;transition:all .2s ease;--avatar-bd: none;--avatar-bg: transparent;--avatar-color: inherit}.Avatar-module__root___fXu-J[data-size=small]{width:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_width );height:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_height );border-width:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_border-size )}.Avatar-module__root___fXu-J[data-size=small] .Avatar-module__iconWrapper___ojly2{width:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_icon-size );height:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_icon-size )}.Avatar-module__root___fXu-J[data-size=small] .Avatar-module__textWrapper___zp-jD{font-family:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-family );font-size:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-size );font-style:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_text-transform )}.Avatar-module__root___fXu-J[data-size=default]{width:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_width );height:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_height );border-width:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_border-size )}.Avatar-module__root___fXu-J[data-size=default] .Avatar-module__iconWrapper___ojly2{width:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_icon-size );height:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_icon-size )}.Avatar-module__root___fXu-J[data-size=default] .Avatar-module__textWrapper___zp-jD{font-family:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-family );font-size:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-size );font-style:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_text-transform )}.Avatar-module__root___fXu-J[data-size=large]{width:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_width );height:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_height );border-width:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_border-size )}.Avatar-module__root___fXu-J[data-size=large] .Avatar-module__iconWrapper___ojly2{width:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_icon-size );height:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_icon-size )}.Avatar-module__root___fXu-J[data-size=large] .Avatar-module__textWrapper___zp-jD{font-family:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-family );font-size:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-size );font-style:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_text-transform )}.Avatar-module__root___fXu-J[data-style=image]{border-radius:var( --recursica_ui-kit_components_avatar_variants_styles_image_properties_border-radius );border-width:var( --recursica_ui-kit_components_avatar_variants_styles_image_properties_border-size );padding:var( --recursica_ui-kit_components_avatar_variants_styles_image_properties_padding );background-color:transparent;border-color:transparent}.Avatar-module__image___ieqGp{object-fit:cover;width:100%;height:100%}.Avatar-module__placeholder___IDW7-{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit;background-color:transparent}.Avatar-module__iconWrapper___ojly2{display:flex;align-items:center;justify-content:center;flex-shrink:0}.Avatar-module__iconWrapper___ojly2>*{width:100%;height:100%;object-fit:contain}.Avatar-module__textWrapper___zp-jD{display:inline-flex;align-items:center;justify-content:center}.Avatar-module__root___fXu-J[data-style=icon]{border-radius:var( --recursica_ui-kit_components_avatar_variants_styles_icon_properties_border-radius );padding:var( --recursica_ui-kit_components_avatar_variants_styles_icon_properties_padding )}.Avatar-module__root___fXu-J[data-style=icon][data-variant=solid]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_icon-color, var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_text-color ) )}.Avatar-module__root___fXu-J[data-style=icon][data-variant=outline]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_icon-color, var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_text-color ) )}.Avatar-module__root___fXu-J[data-style=icon][data-variant=ghost]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_icon-color, var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_text-color ) )}.Avatar-module__root___fXu-J[data-style=text]{border-radius:var( --recursica_ui-kit_components_avatar_variants_styles_text_properties_border-radius );padding:var( --recursica_ui-kit_components_avatar_variants_styles_text_properties_padding )}.Avatar-module__root___fXu-J[data-style=text][data-variant=solid]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_colors_text-color )}.Avatar-module__root___fXu-J[data-style=text][data-variant=outline]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_colors_text-color )}.Avatar-module__root___fXu-J[data-style=text][data-variant=ghost]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_colors_text-color )}
|
|
1
|
+
._root_1qhn7_3{display:block;border-style:solid}._root_1qhn7_3._contents_1qhn7_18{display:contents;border-style:unset}._root_1qhn7_3[data-recursica-layer="0"]{background-color:var(--recursica_brand_layer_0_properties_surface);color:var(--recursica_brand_layer_0_elements_text_color);border-color:var(--recursica_brand_layer_0_properties_border-color);border-width:var(--recursica_brand_layer_0_properties_border-size);border-radius:var(--recursica_brand_layer_0_properties_border-radius);box-shadow:var(--recursica_brand_layer_0_properties_elevation);padding:var(--recursica_brand_layer_0_properties_padding)}._root_1qhn7_3[data-recursica-layer="1"]{background-color:var(--recursica_brand_layer_1_properties_surface);color:var(--recursica_brand_layer_1_elements_text_color);border-color:var(--recursica_brand_layer_1_properties_border-color);border-width:var(--recursica_brand_layer_1_properties_border-size);border-radius:var(--recursica_brand_layer_1_properties_border-radius);box-shadow:var(--recursica_brand_layer_1_properties_elevation);padding:var(--recursica_brand_layer_1_properties_padding)}._root_1qhn7_3[data-recursica-layer="2"]{background-color:var(--recursica_brand_layer_2_properties_surface);color:var(--recursica_brand_layer_2_elements_text_color);border-color:var(--recursica_brand_layer_2_properties_border-color);border-width:var(--recursica_brand_layer_2_properties_border-size);border-radius:var(--recursica_brand_layer_2_properties_border-radius);box-shadow:var(--recursica_brand_layer_2_properties_elevation);padding:var(--recursica_brand_layer_2_properties_padding)}._root_1qhn7_3[data-recursica-layer="3"]{background-color:var(--recursica_brand_layer_3_properties_surface);color:var(--recursica_brand_layer_3_elements_text_color);border-color:var(--recursica_brand_layer_3_properties_border-color);border-width:var(--recursica_brand_layer_3_properties_border-size);border-radius:var(--recursica_brand_layer_3_properties_border-radius);box-shadow:var(--recursica_brand_layer_3_properties_elevation);padding:var(--recursica_brand_layer_3_properties_padding)}.Button-module__root___Q2R8-{box-sizing:border-box;margin:0;border-style:solid;overflow:hidden;position:relative;transition:all .2s ease;font-family:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-family );font-size:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-size );font-style:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_text-transform )}.Button-module__root___Q2R8->*{min-width:0;width:100%;position:relative;z-index:1}.Button-module__label___UJ3Zt{display:flex;align-items:center;min-width:0;flex:1 1 0}.Button-module__labelText___rFV5p{display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;line-height:inherit}.Button-module__root___Q2R8-[data-size=default]{border-radius:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_border-radius );height:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_height );min-width:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_min-width );max-width:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_max-width );padding:0 var( --recursica_ui-kit_components_button_variants_sizes_default_properties_horizontal-padding )}.Button-module__root___Q2R8-[data-size=small]{border-radius:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_border-radius );height:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_height );min-width:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_min-width );max-width:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_max-width );padding:0 var( --recursica_ui-kit_components_button_variants_sizes_small_properties_horizontal-padding );font-family:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_text_font-family, var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-family ) );font-size:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_text_font-size, var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-size ) );font-weight:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_text_font-weight, var( --recursica_ui-kit_components_button_variants_sizes_default_properties_text_font-weight ) )}.Button-module__iconWrapper___uEKPa{display:flex;align-items:center;justify-content:center;flex-shrink:0}.Button-module__iconWrapper___uEKPa>*{width:100%;height:100%;object-fit:contain}.Button-module__root___Q2R8-[data-size=default] .Button-module__iconWrapper___uEKPa{width:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_icon );height:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_icon )}.Button-module__root___Q2R8-[data-size=small] .Button-module__iconWrapper___uEKPa{width:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_icon );height:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_icon )}.Button-module__section___f2mKr{min-width:0}.Button-module__root___Q2R8-[data-size=default] .Button-module__section___f2mKr{gap:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_icon-text-gap )}.Button-module__root___Q2R8-[data-size=small] .Button-module__section___f2mKr{gap:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_icon-text-gap )}.Button-module__root___Q2R8-[data-icon-only] .Button-module__section___f2mKr{gap:0}.Button-module__root___Q2R8-[data-icon-only] .Button-module__section___f2mKr[data-position=left]{margin-inline-end:0}.Button-module__root___Q2R8-[data-icon-only] .Button-module__section___f2mKr[data-position=right]{margin-inline-start:0}.Button-module__root___Q2R8-:disabled{opacity:var(--recursica_brand_states_disabled);cursor:not-allowed}.Button-module__root___Q2R8-:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:0;pointer-events:none;transition:opacity .15s ease;opacity:0}.Button-module__root___Q2R8-[data-size=default]:after{background-color:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-color )}.Button-module__root___Q2R8-[data-size=small]:after{background-color:var( --recursica_ui-kit_components_button_variants_sizes_small_properties_hover-color )}.Button-module__root___Q2R8-:hover:not(:disabled):after{opacity:var( --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-opacity, .1 )}.Button-module__root___Q2R8-[data-variant=solid]{border-width:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_border-size );box-shadow:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_elevation );background-color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_background );border-color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_border-color );color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text )}.Button-module__root___Q2R8-[data-variant=solid]:hover:not(:disabled){color:var( --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text-hover )}.Button-module__root___Q2R8-[data-variant=outline]{border-width:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_border-size );box-shadow:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_elevation );background-color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_background );border-color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_border-color );color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text )}.Button-module__root___Q2R8-[data-variant=outline]:hover:not(:disabled){color:var( --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text-hover )}.Button-module__root___Q2R8-[data-variant=text]{border-width:var( --recursica_ui-kit_components_button_variants_styles_text_properties_border-size );box-shadow:var( --recursica_ui-kit_components_button_variants_styles_text_properties_elevation );background-color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_background );border-color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_border-color );color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text )}.Button-module__root___Q2R8-[data-variant=text]:hover:not(:disabled){color:var( --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text-hover )}.Accordion-module__root___Dem6d{box-sizing:border-box;margin:0;display:flex;flex-direction:column;border-style:solid;border-width:var( --recursica_ui-kit_components_accordion_properties_border-size );border-radius:var( --recursica_ui-kit_components_accordion_properties_border-radius );border-color:var( --recursica_ui-kit_components_accordion_properties_colors_border-color );background-color:var( --recursica_ui-kit_components_accordion_properties_colors_background );box-shadow:var(--recursica_ui-kit_components_accordion_properties_elevation);max-width:var(--recursica_ui-kit_components_accordion_properties_max-width);min-width:var(--recursica_ui-kit_components_accordion_properties_min-width);padding:var(--recursica_ui-kit_components_accordion_properties_padding);gap:var(--recursica_ui-kit_components_accordion_properties_item-gap)}.Accordion-module__item___7ryVk{box-sizing:border-box;margin:0;position:relative;transition:all .2s ease;border-bottom:none;border-style:solid;border-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_divider );border-width:var( --recursica_ui-kit_components_accordion-item_properties_divider-size );border-radius:var( --recursica_ui-kit_components_accordion-item_properties_border-radius );box-shadow:var( --recursica_ui-kit_components_accordion-item_properties_elevation );background-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_background-collapsed )}.Accordion-module__item___7ryVk[data-active]{background-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_background-expanded )}.Accordion-module__noDivider___Ni2tT{border-bottom:none!important;border-bottom-width:0!important}.Accordion-module__control___b4wgX{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--recursica_ui-kit_components_accordion-item_properties_icon-gap);padding:var( --recursica_ui-kit_components_accordion-item_properties_padding-vertical ) var( --recursica_ui-kit_components_accordion-item_properties_padding-horizontal );background-color:transparent;transition:background-color .15s ease;position:relative;z-index:1;color:var( --recursica_ui-kit_components_accordion-item_properties_colors_text );font-family:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-family );font-size:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-size );font-weight:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-weight );font-style:var( --recursica_ui-kit_components_accordion-item_properties_header-text_font-style );letter-spacing:var( --recursica_ui-kit_components_accordion-item_properties_header-text_letter-spacing );line-height:var( --recursica_ui-kit_components_accordion-item_properties_header-text_line-height );text-decoration:var( --recursica_ui-kit_components_accordion-item_properties_header-text_text-decoration );text-transform:var( --recursica_ui-kit_components_accordion-item_properties_header-text_text-transform )}.Accordion-module__control___b4wgX:hover{background-color:transparent}.Accordion-module__control___b4wgX:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background-color:var( --recursica_ui-kit_components_accordion-item_properties_hover-color );opacity:0;transition:opacity .15s ease}.Accordion-module__control___b4wgX:hover:not(:disabled):after{opacity:var( --recursica_ui-kit_components_accordion-item_properties_hover-opacity, .1 )}.Accordion-module__label___Ss7uW{flex:1;text-align:left;color:inherit;padding:0}.Accordion-module__chevron___i-HVZ{flex-shrink:0;width:var( --recursica_ui-kit_components_accordion-item_properties_icon-right-size );height:var( --recursica_ui-kit_components_accordion-item_properties_icon-right-size );color:var( --recursica_ui-kit_components_accordion-item_properties_colors_icon );margin:0;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.Accordion-module__chevron___i-HVZ>*{width:100%;height:100%;object-fit:contain}.Accordion-module__item___7ryVk[data-active] .Accordion-module__chevron___i-HVZ{transform:rotate(180deg)}.Accordion-module__iconLeftWrapper___5oLen{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var( --recursica_ui-kit_components_accordion-item_properties_icon-left-size );height:var( --recursica_ui-kit_components_accordion-item_properties_icon-left-size );color:var( --recursica_ui-kit_components_accordion-item_properties_colors_icon )}.Accordion-module__iconLeftWrapper___5oLen>*{width:100%;height:100%;object-fit:contain}.Accordion-module__panel___Wx50w{box-sizing:border-box;margin:0;padding:0;background-color:var( --recursica_ui-kit_components_accordion-item_properties_colors_content-background )}.Accordion-module__content___PEM9t{box-sizing:border-box;padding:0 var( --recursica_ui-kit_components_accordion-item_properties_padding-horizontal ) var( --recursica_ui-kit_components_accordion-item_properties_content-bottom-padding );padding-top:var( --recursica_ui-kit_components_accordion-item_properties_header-content-gap );color:var( --recursica_ui-kit_components_accordion-item_properties_colors_content-text );font-family:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-family );font-size:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-size );font-weight:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-weight );font-style:var( --recursica_ui-kit_components_accordion-item_properties_content-text_font-style );letter-spacing:var( --recursica_ui-kit_components_accordion-item_properties_content-text_letter-spacing );line-height:var( --recursica_ui-kit_components_accordion-item_properties_content-text_line-height );text-decoration:var( --recursica_ui-kit_components_accordion-item_properties_content-text_text-decoration );text-transform:var( --recursica_ui-kit_components_accordion-item_properties_content-text_text-transform )}.Avatar-module__root___fXu-J{box-sizing:border-box;margin:0;border-style:solid;overflow:hidden;position:relative;transition:all .2s ease;--avatar-bd: none;--avatar-bg: transparent;--avatar-color: inherit}.Avatar-module__root___fXu-J[data-size=small]{width:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_width );height:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_height );border-width:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_border-size )}.Avatar-module__root___fXu-J[data-size=small] .Avatar-module__iconWrapper___ojly2{width:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_icon-size );height:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_icon-size )}.Avatar-module__root___fXu-J[data-size=small] .Avatar-module__textWrapper___zp-jD{font-family:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-family );font-size:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-size );font-style:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_avatar_variants_sizes_small_properties_text_text-transform )}.Avatar-module__root___fXu-J[data-size=default]{width:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_width );height:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_height );border-width:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_border-size )}.Avatar-module__root___fXu-J[data-size=default] .Avatar-module__iconWrapper___ojly2{width:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_icon-size );height:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_icon-size )}.Avatar-module__root___fXu-J[data-size=default] .Avatar-module__textWrapper___zp-jD{font-family:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-family );font-size:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-size );font-style:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_avatar_variants_sizes_default_properties_text_text-transform )}.Avatar-module__root___fXu-J[data-size=large]{width:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_width );height:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_height );border-width:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_border-size )}.Avatar-module__root___fXu-J[data-size=large] .Avatar-module__iconWrapper___ojly2{width:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_icon-size );height:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_icon-size )}.Avatar-module__root___fXu-J[data-size=large] .Avatar-module__textWrapper___zp-jD{font-family:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-family );font-size:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-size );font-style:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-style );font-weight:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_font-weight );letter-spacing:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_letter-spacing );line-height:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_line-height );text-decoration:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_text-decoration );text-transform:var( --recursica_ui-kit_components_avatar_variants_sizes_large_properties_text_text-transform )}.Avatar-module__root___fXu-J[data-style=image]{border-radius:var( --recursica_ui-kit_components_avatar_variants_styles_image_properties_border-radius );border-width:var( --recursica_ui-kit_components_avatar_variants_styles_image_properties_border-size );padding:var( --recursica_ui-kit_components_avatar_variants_styles_image_properties_padding );background-color:transparent;border-color:transparent}.Avatar-module__image___ieqGp{object-fit:cover;width:100%;height:100%}.Avatar-module__placeholder___IDW7-{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit;background-color:transparent}.Avatar-module__iconWrapper___ojly2{display:flex;align-items:center;justify-content:center;flex-shrink:0}.Avatar-module__iconWrapper___ojly2>*{width:100%;height:100%;object-fit:contain}.Avatar-module__textWrapper___zp-jD{display:inline-flex;align-items:center;justify-content:center}.Avatar-module__root___fXu-J[data-style=icon]{border-radius:var( --recursica_ui-kit_components_avatar_variants_styles_icon_properties_border-radius );padding:var( --recursica_ui-kit_components_avatar_variants_styles_icon_properties_padding )}.Avatar-module__root___fXu-J[data-style=icon][data-variant=solid]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_icon-color, var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_solid_properties_colors_text-color ) )}.Avatar-module__root___fXu-J[data-style=icon][data-variant=outline]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_icon-color, var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_outline_properties_colors_text-color ) )}.Avatar-module__root___fXu-J[data-style=icon][data-variant=ghost]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_icon-color, var( --recursica_ui-kit_components_avatar_variants_styles_icon_variants_ghost_properties_colors_text-color ) )}.Avatar-module__root___fXu-J[data-style=text]{border-radius:var( --recursica_ui-kit_components_avatar_variants_styles_text_properties_border-radius );padding:var( --recursica_ui-kit_components_avatar_variants_styles_text_properties_padding )}.Avatar-module__root___fXu-J[data-style=text][data-variant=solid]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_solid_properties_colors_text-color )}.Avatar-module__root___fXu-J[data-style=text][data-variant=outline]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_outline_properties_colors_text-color )}.Avatar-module__root___fXu-J[data-style=text][data-variant=ghost]{border-width:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_border-size );background-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_colors_background );border-color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_colors_border-color );color:var( --recursica_ui-kit_components_avatar_variants_styles_text_variants_ghost_properties_colors_text-color )}
|
package/dist/mantine-adapter.js
CHANGED
|
@@ -1,100 +1,82 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { Button as
|
|
4
|
-
const R = "
|
|
5
|
-
root:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"div",
|
|
11
|
-
{
|
|
12
|
-
ref: i,
|
|
13
|
-
className: m,
|
|
14
|
-
style: e,
|
|
15
|
-
...o ? {} : { "data-recursica-layer": String(t) },
|
|
16
|
-
...l,
|
|
17
|
-
children: n
|
|
18
|
-
}
|
|
19
|
-
);
|
|
20
|
-
});
|
|
21
|
-
z.displayName = "Layer";
|
|
22
|
-
const w = "Button-module__root___Q2R8-", K = "Button-module__label___UJ3Zt", F = "Button-module__labelText___rFV5p", H = "Button-module__iconWrapper___uEKPa", J = "Button-module__section___f2mKr", _ = {
|
|
23
|
-
root: w,
|
|
24
|
-
label: K,
|
|
25
|
-
labelText: F,
|
|
26
|
-
iconWrapper: H,
|
|
27
|
-
section: J
|
|
1
|
+
import { jsx as r, jsxs as E, Fragment as P } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as f, useEffect as L } from "react";
|
|
3
|
+
import { Button as I, Accordion as g, Avatar as T } from "@mantine/core";
|
|
4
|
+
const V = "Button-module__root___Q2R8-", R = "Button-module__label___UJ3Zt", z = "Button-module__labelText___rFV5p", w = "Button-module__iconWrapper___uEKPa", O = "Button-module__section___f2mKr", _ = {
|
|
5
|
+
root: V,
|
|
6
|
+
label: R,
|
|
7
|
+
labelText: z,
|
|
8
|
+
iconWrapper: w,
|
|
9
|
+
section: O
|
|
28
10
|
};
|
|
29
|
-
function
|
|
30
|
-
return
|
|
11
|
+
function q(a) {
|
|
12
|
+
return a == null || a === "" ? !1 : typeof a == "string" ? a.trim() !== "" : !0;
|
|
31
13
|
}
|
|
32
|
-
const
|
|
14
|
+
const F = f(
|
|
33
15
|
function({
|
|
34
|
-
variant:
|
|
35
|
-
size:
|
|
16
|
+
variant: o = "solid",
|
|
17
|
+
size: t = "default",
|
|
36
18
|
icon: n,
|
|
37
|
-
className:
|
|
19
|
+
className: l,
|
|
38
20
|
classNames: e,
|
|
39
|
-
children:
|
|
21
|
+
children: c,
|
|
40
22
|
style: i,
|
|
41
|
-
...
|
|
42
|
-
},
|
|
23
|
+
...A
|
|
24
|
+
}, $) {
|
|
43
25
|
const W = {
|
|
44
26
|
solid: "filled",
|
|
45
27
|
outline: "outline",
|
|
46
28
|
text: "subtle"
|
|
47
|
-
},
|
|
29
|
+
}, N = {
|
|
48
30
|
default: "md",
|
|
49
31
|
small: "sm"
|
|
50
|
-
},
|
|
51
|
-
typeof process < "u" && process.env.NODE_ENV !== "production" && d && !
|
|
32
|
+
}, h = A, y = !!n || !!h.leftSection, m = !!h.rightSection, d = (y || m) && !q(c);
|
|
33
|
+
typeof process < "u" && process.env.NODE_ENV !== "production" && d && !h["aria-label"] && console.warn(
|
|
52
34
|
'[Recursica Button] Icon-only buttons must provide an accessible name. Pass aria-label (e.g. aria-label="Submit").'
|
|
53
35
|
);
|
|
54
|
-
const
|
|
36
|
+
const b = {
|
|
55
37
|
root: _.root,
|
|
56
38
|
section: _.section,
|
|
57
39
|
label: _.label
|
|
58
40
|
};
|
|
59
41
|
if (e && typeof e == "object" && !Array.isArray(e)) {
|
|
60
42
|
const v = e;
|
|
61
|
-
|
|
43
|
+
b.root = v.root ? `${_.root} ${v.root}` : _.root, b.section = v.section ?? _.section, b.label = v.label ?? _.label;
|
|
62
44
|
}
|
|
63
|
-
return /* @__PURE__ */
|
|
64
|
-
|
|
45
|
+
return /* @__PURE__ */ r(
|
|
46
|
+
I,
|
|
65
47
|
{
|
|
66
|
-
ref:
|
|
67
|
-
className:
|
|
68
|
-
classNames:
|
|
69
|
-
variant: W[
|
|
70
|
-
size:
|
|
48
|
+
ref: $,
|
|
49
|
+
className: l,
|
|
50
|
+
classNames: b,
|
|
51
|
+
variant: W[o],
|
|
52
|
+
size: N[t],
|
|
71
53
|
style: i,
|
|
72
|
-
leftSection: n != null ? /* @__PURE__ */
|
|
73
|
-
"data-variant":
|
|
74
|
-
"data-size":
|
|
54
|
+
leftSection: n != null ? /* @__PURE__ */ r("span", { className: _.iconWrapper, "aria-hidden": !0, children: n }) : void 0,
|
|
55
|
+
"data-variant": o,
|
|
56
|
+
"data-size": t,
|
|
75
57
|
...d ? { "data-icon-only": "" } : {},
|
|
76
|
-
...
|
|
77
|
-
children: /* @__PURE__ */
|
|
58
|
+
...A,
|
|
59
|
+
children: /* @__PURE__ */ r("span", { className: _.labelText, children: c })
|
|
78
60
|
}
|
|
79
61
|
);
|
|
80
62
|
}
|
|
81
63
|
);
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
root:
|
|
85
|
-
item:
|
|
86
|
-
noDivider:
|
|
87
|
-
control:
|
|
64
|
+
F.displayName = "Button";
|
|
65
|
+
const J = "Accordion-module__root___Dem6d", K = "Accordion-module__item___7ryVk", X = "Accordion-module__noDivider___Ni2tT", Z = "Accordion-module__control___b4wgX", G = "Accordion-module__label___Ss7uW", H = "Accordion-module__chevron___i-HVZ", M = "Accordion-module__iconLeftWrapper___5oLen", Q = "Accordion-module__panel___Wx50w", U = "Accordion-module__content___PEM9t", u = {
|
|
66
|
+
root: J,
|
|
67
|
+
item: K,
|
|
68
|
+
noDivider: X,
|
|
69
|
+
control: Z,
|
|
88
70
|
label: G,
|
|
89
|
-
chevron:
|
|
90
|
-
iconLeftWrapper:
|
|
91
|
-
panel:
|
|
92
|
-
content:
|
|
93
|
-
},
|
|
94
|
-
className:
|
|
95
|
-
classNames:
|
|
71
|
+
chevron: H,
|
|
72
|
+
iconLeftWrapper: M,
|
|
73
|
+
panel: Q,
|
|
74
|
+
content: U
|
|
75
|
+
}, j = function({
|
|
76
|
+
className: o,
|
|
77
|
+
classNames: t,
|
|
96
78
|
variant: n = "unstyled",
|
|
97
|
-
...
|
|
79
|
+
...l
|
|
98
80
|
}) {
|
|
99
81
|
const e = {
|
|
100
82
|
root: u.root,
|
|
@@ -105,136 +87,154 @@ const U = "Accordion-module__root___Dem6d", X = "Accordion-module__item___7ryVk"
|
|
|
105
87
|
panel: u.panel,
|
|
106
88
|
content: u.content
|
|
107
89
|
};
|
|
108
|
-
if (
|
|
109
|
-
const
|
|
110
|
-
Object.keys(
|
|
111
|
-
e[i] ? e[i] = `${e[i]} ${
|
|
90
|
+
if (t && typeof t == "object" && !Array.isArray(t)) {
|
|
91
|
+
const c = t;
|
|
92
|
+
Object.keys(c).forEach((i) => {
|
|
93
|
+
e[i] ? e[i] = `${e[i]} ${c[i]}` : e[i] = c[i];
|
|
112
94
|
});
|
|
113
95
|
}
|
|
114
|
-
return /* @__PURE__ */
|
|
115
|
-
|
|
96
|
+
return /* @__PURE__ */ r(
|
|
97
|
+
g,
|
|
116
98
|
{
|
|
117
99
|
variant: n,
|
|
118
|
-
className:
|
|
100
|
+
className: o,
|
|
119
101
|
classNames: e,
|
|
120
|
-
...
|
|
102
|
+
...l
|
|
121
103
|
}
|
|
122
104
|
);
|
|
123
105
|
};
|
|
124
|
-
|
|
125
|
-
const
|
|
126
|
-
return /* @__PURE__ */
|
|
127
|
-
|
|
106
|
+
j.displayName = "Accordion";
|
|
107
|
+
const D = f(function({ title: o, leftIcon: t, divider: n = !0, children: l, ...e }, c) {
|
|
108
|
+
return /* @__PURE__ */ r(
|
|
109
|
+
g.Item,
|
|
128
110
|
{
|
|
129
|
-
ref:
|
|
111
|
+
ref: c,
|
|
130
112
|
className: n ? void 0 : u.noDivider,
|
|
131
113
|
...e,
|
|
132
|
-
children:
|
|
133
|
-
/* @__PURE__ */
|
|
134
|
-
/* @__PURE__ */
|
|
135
|
-
] }) :
|
|
114
|
+
children: o ? /* @__PURE__ */ E(P, { children: [
|
|
115
|
+
/* @__PURE__ */ r(x, { leftIcon: t, children: o }),
|
|
116
|
+
/* @__PURE__ */ r(B, { children: l })
|
|
117
|
+
] }) : l
|
|
136
118
|
}
|
|
137
119
|
);
|
|
138
120
|
});
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
return /* @__PURE__ */
|
|
142
|
-
|
|
121
|
+
D.displayName = "AccordionItem";
|
|
122
|
+
const x = f(function({ leftIcon: o, children: t, ...n }, l) {
|
|
123
|
+
return /* @__PURE__ */ r(
|
|
124
|
+
g.Control,
|
|
143
125
|
{
|
|
144
|
-
ref:
|
|
145
|
-
icon:
|
|
126
|
+
ref: l,
|
|
127
|
+
icon: o ? /* @__PURE__ */ r("span", { className: u.iconLeftWrapper, "aria-hidden": !0, children: o }) : void 0,
|
|
146
128
|
...n,
|
|
147
|
-
children:
|
|
129
|
+
children: t
|
|
148
130
|
}
|
|
149
131
|
);
|
|
150
132
|
});
|
|
151
|
-
|
|
152
|
-
const
|
|
153
|
-
function(
|
|
154
|
-
return /* @__PURE__ */
|
|
133
|
+
x.displayName = "AccordionControl";
|
|
134
|
+
const B = f(
|
|
135
|
+
function(o, t) {
|
|
136
|
+
return /* @__PURE__ */ r(g.Panel, { ref: t, ...o });
|
|
155
137
|
}
|
|
156
138
|
);
|
|
157
|
-
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
root:
|
|
164
|
-
iconWrapper:
|
|
165
|
-
textWrapper:
|
|
166
|
-
image:
|
|
167
|
-
placeholder:
|
|
168
|
-
},
|
|
169
|
-
size:
|
|
170
|
-
variant:
|
|
139
|
+
B.displayName = "AccordionPanel";
|
|
140
|
+
const S = j;
|
|
141
|
+
S.Item = D;
|
|
142
|
+
S.Control = x;
|
|
143
|
+
S.Panel = B;
|
|
144
|
+
const Y = "Avatar-module__root___fXu-J", k = "Avatar-module__iconWrapper___ojly2", oo = "Avatar-module__textWrapper___zp-jD", to = "Avatar-module__image___ieqGp", eo = "Avatar-module__placeholder___IDW7-", s = {
|
|
145
|
+
root: Y,
|
|
146
|
+
iconWrapper: k,
|
|
147
|
+
textWrapper: oo,
|
|
148
|
+
image: to,
|
|
149
|
+
placeholder: eo
|
|
150
|
+
}, no = f(function({
|
|
151
|
+
size: o = "default",
|
|
152
|
+
variant: t = "solid",
|
|
171
153
|
icon: n,
|
|
172
|
-
className:
|
|
154
|
+
className: l,
|
|
173
155
|
classNames: e,
|
|
174
|
-
children:
|
|
156
|
+
children: c,
|
|
175
157
|
style: i,
|
|
176
|
-
src:
|
|
177
|
-
|
|
158
|
+
src: A,
|
|
159
|
+
...$
|
|
178
160
|
}, W) {
|
|
179
|
-
const
|
|
161
|
+
const N = {
|
|
180
162
|
solid: "filled",
|
|
181
163
|
outline: "outline",
|
|
182
164
|
ghost: "transparent"
|
|
183
|
-
},
|
|
165
|
+
}, h = {
|
|
184
166
|
default: "md",
|
|
185
167
|
small: "sm",
|
|
186
168
|
large: "lg"
|
|
187
169
|
};
|
|
188
170
|
let y = "text";
|
|
189
|
-
|
|
190
|
-
const
|
|
171
|
+
A ? y = "image" : n && (y = "icon");
|
|
172
|
+
const m = {
|
|
191
173
|
root: s.root,
|
|
192
174
|
image: s.image,
|
|
193
175
|
placeholder: s.placeholder
|
|
194
176
|
};
|
|
195
177
|
if (e && typeof e == "object" && !Array.isArray(e)) {
|
|
196
178
|
const d = e;
|
|
197
|
-
|
|
179
|
+
m.root = d.root ? `${s.root} ${d.root}` : s.root, m.image = d.image ? `${s.image} ${d.image}` : s.image, m.placeholder = d.placeholder ? `${s.placeholder} ${d.placeholder}` : s.placeholder;
|
|
198
180
|
}
|
|
199
|
-
return /* @__PURE__ */
|
|
200
|
-
|
|
181
|
+
return /* @__PURE__ */ r(
|
|
182
|
+
T,
|
|
201
183
|
{
|
|
202
184
|
ref: W,
|
|
203
|
-
className:
|
|
204
|
-
classNames:
|
|
205
|
-
variant:
|
|
206
|
-
size:
|
|
185
|
+
className: l,
|
|
186
|
+
classNames: m,
|
|
187
|
+
variant: N[t],
|
|
188
|
+
size: h[o],
|
|
207
189
|
style: i,
|
|
208
|
-
src:
|
|
209
|
-
"data-variant":
|
|
210
|
-
"data-size":
|
|
190
|
+
src: A,
|
|
191
|
+
"data-variant": t,
|
|
192
|
+
"data-size": o,
|
|
211
193
|
"data-style": y,
|
|
212
|
-
|
|
213
|
-
children: n != null ? /* @__PURE__ */
|
|
194
|
+
...$,
|
|
195
|
+
children: n != null ? /* @__PURE__ */ r("span", { className: s.iconWrapper, "aria-hidden": !0, children: n }) : c != null ? /* @__PURE__ */ r("span", { className: s.textWrapper, children: c }) : void 0
|
|
214
196
|
}
|
|
215
197
|
);
|
|
216
198
|
});
|
|
217
|
-
|
|
218
|
-
const
|
|
199
|
+
no.displayName = "Avatar";
|
|
200
|
+
const ro = "_root_1qhn7_3", ao = "_contents_1qhn7_18", p = {
|
|
201
|
+
root: ro,
|
|
202
|
+
contents: ao
|
|
203
|
+
}, co = f(function({ layer: a, contentsOnly: o, children: t, className: n, style: l, ...e }, c) {
|
|
204
|
+
const i = o ? n ? `${p.root} ${p.contents} ${n}` : `${p.root} ${p.contents}` : n ? `${p.root} ${n}` : p.root;
|
|
205
|
+
return /* @__PURE__ */ r(
|
|
206
|
+
"div",
|
|
207
|
+
{
|
|
208
|
+
ref: c,
|
|
209
|
+
className: i,
|
|
210
|
+
style: l,
|
|
211
|
+
...o ? {} : { "data-recursica-layer": String(a) },
|
|
212
|
+
...e,
|
|
213
|
+
children: t
|
|
214
|
+
}
|
|
215
|
+
);
|
|
216
|
+
});
|
|
217
|
+
co.displayName = "Layer";
|
|
218
|
+
const C = "data-recursica-theme";
|
|
219
219
|
function _o({
|
|
220
|
-
children:
|
|
221
|
-
theme:
|
|
220
|
+
children: a,
|
|
221
|
+
theme: o = "light"
|
|
222
222
|
}) {
|
|
223
|
-
return
|
|
224
|
-
const
|
|
225
|
-
return
|
|
226
|
-
|
|
223
|
+
return L(() => {
|
|
224
|
+
const t = document.documentElement;
|
|
225
|
+
return t.setAttribute(C, o), () => {
|
|
226
|
+
t.removeAttribute(C);
|
|
227
227
|
};
|
|
228
|
-
}, [
|
|
228
|
+
}, [o]), /* @__PURE__ */ r(P, { children: a });
|
|
229
229
|
}
|
|
230
230
|
export {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
231
|
+
S as Accordion,
|
|
232
|
+
x as AccordionControl,
|
|
233
|
+
D as AccordionItem,
|
|
234
|
+
B as AccordionPanel,
|
|
235
|
+
no as Avatar,
|
|
236
|
+
F as Button,
|
|
237
|
+
co as Layer,
|
|
238
238
|
_o as RecursicaThemeProvider
|
|
239
239
|
};
|
|
240
240
|
//# sourceMappingURL=mantine-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mantine-adapter.js","sources":["../src/components/Layer/Layer.tsx","../src/components/Button/Button.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Avatar/Avatar.tsx","../src/RecursicaThemeProvider/RecursicaThemeProvider.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport styles from \"./Layer.module.css\";\n\n/**\n * Recursica design-system props for Layer.\n * Sets data-recursica-layer so scoped CSS theme+layer blocks apply that layer's\n * generic brand vars (e.g. --recursica_brand_layer_N_properties_surface) to this element\n * and descendants. Theme is set on the document root (e.g. via RecursicaThemeProvider).\n * See recursica_variables_scoped.css header.\n */\nexport interface RecursicaLayerProps {\n /** Layer (0–3). Sets data-recursica-layer on the root so descendants use this layer's styles. */\n layer: 0 | 1 | 2 | 3;\n /**\n * When true, the root uses display: contents (no box, not styled) and data-recursica-layer\n * is omitted so Recursica layer styling is not applied. Children still participate in the cascade.\n */\n contentsOnly?: boolean;\n children?: React.ReactNode;\n}\n\nexport type LayerProps = RecursicaLayerProps &\n React.HTMLAttributes<HTMLDivElement>;\n\n/**\n * Applies a Recursica layer context. Root has data-recursica-layer so scoped CSS\n * theme+layer blocks (e.g. [data-recursica-theme=\"light\"] [data-recursica-layer=\"1\"])\n * set generic brand vars on this element; descendants inherit. Use with theme on\n * document root (RecursicaThemeProvider). Root is display: block so padding/background apply.\n */\nexport const Layer = forwardRef<HTMLDivElement, LayerProps>(function Layer(\n { layer, contentsOnly, children, className, style, ...rest },\n ref,\n) {\n const rootClassName = contentsOnly\n ? className\n ? `${styles.root} ${styles.contents} ${className}`\n : `${styles.root} ${styles.contents}`\n : className\n ? `${styles.root} ${className}`\n : styles.root;\n return (\n <div\n ref={ref}\n className={rootClassName}\n style={style}\n {...(contentsOnly ? {} : { \"data-recursica-layer\": String(layer) })}\n {...rest}\n >\n {children}\n </div>\n );\n});\n\nLayer.displayName = \"Layer\";\n","import React, { forwardRef } from \"react\";\nimport {\n Button as MantineButton,\n type ButtonProps as MantineButtonProps,\n} from \"@mantine/core\";\nimport styles from \"./Button.module.css\";\n\nexport interface RecursicaButtonProps {\n variant?: \"solid\" | \"outline\" | \"text\";\n size?: \"default\" | \"small\";\n icon?: React.ReactNode;\n}\n\nexport type ButtonProps = Omit<\n MantineButtonProps,\n \"variant\" | \"size\" | \"leftSection\"\n> &\n RecursicaButtonProps;\n\nfunction hasVisibleChildren(children: React.ReactNode): boolean {\n if (children == null || children === \"\") return false;\n if (typeof children === \"string\") return children.trim() !== \"\";\n return true;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n variant = \"solid\",\n size = \"default\",\n icon,\n className,\n classNames,\n children,\n style,\n ...rest\n },\n ref,\n ) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n text: \"subtle\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n } as const;\n\n const restRecord = rest as Record<string, unknown>;\n const hasLeftSection = !!icon || !!restRecord[\"leftSection\"];\n const hasRightSection = !!restRecord[\"rightSection\"];\n const isIconOnly =\n (hasLeftSection || hasRightSection) && !hasVisibleChildren(children);\n\n if (\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV !== \"production\" &&\n isIconOnly &&\n !restRecord[\"aria-label\"]\n ) {\n console.warn(\n '[Recursica Button] Icon-only buttons must provide an accessible name. Pass aria-label (e.g. aria-label=\"Submit\").',\n );\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n section: styles.section,\n label: styles.label,\n };\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.section = o.section ?? styles.section;\n mergedClassNames.label = o.label ?? styles.label;\n }\n\n return (\n <MantineButton\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n leftSection={\n icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : undefined\n }\n data-variant={variant}\n data-size={size}\n {...(isIconOnly ? { \"data-icon-only\": \"\" } : {})}\n {...rest}\n >\n <span className={styles.labelText}>{children}</span>\n </MantineButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\n","import React, { forwardRef } from \"react\";\nimport {\n Accordion as MantineAccordion,\n type AccordionProps as MantineAccordionProps,\n type AccordionItemProps,\n type AccordionControlProps,\n type AccordionPanelProps,\n} from \"@mantine/core\";\nimport styles from \"./Accordion.module.css\";\n\n// ==== ACCORDION CONTAINER ====\nexport type AccordionProps = MantineAccordionProps;\n\nconst AccordionBase = function Accordion({\n className,\n classNames,\n variant = \"unstyled\",\n ...rest\n}: AccordionProps) {\n // Bind all deep CSS module references natively into the global class mapping schema\n const mergedClassNames: Record<string, string> = {\n root: styles.root,\n item: styles.item,\n control: styles.control,\n label: styles.label,\n chevron: styles.chevron,\n panel: styles.panel,\n content: styles.content,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Record<string, string>;\n Object.keys(o).forEach((key) => {\n if (mergedClassNames[key]) {\n mergedClassNames[key] = `${mergedClassNames[key]} ${o[key]}`;\n } else {\n mergedClassNames[key] = o[key];\n }\n });\n }\n\n return (\n <MantineAccordion\n variant={variant}\n className={className}\n classNames={mergedClassNames}\n {...rest}\n />\n );\n};\nAccordionBase.displayName = \"Accordion\";\n\n// ==== ACCORDION ITEM ====\nexport type RecursicaAccordionItemProps = AccordionItemProps & {\n /**\n * When provided alongside `leftIcon` or independently, this auto-generates the Accordion Control and Panel DOM layers natively.\n */\n title?: React.ReactNode;\n\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n\n /**\n * Toggles the presence of the bottom trailing divider native to AccordionItems.\n * @default true\n */\n divider?: boolean;\n\n // Note on `open` property:\n // Recursica structurally maps an `open` property for active state tracking. However, Mantine inherently demands array-driven states\n // managed by the parent `<Accordion value=\"...\">` wrapper logic to accurately sequence expanding DOM animations. Attempting to force\n // an isolated `open` boolean natively corrupts Mantine's transition observers, so no `open` prop is directly preserved on this wrapper.\n};\n\nexport const AccordionItem = forwardRef<\n HTMLDivElement,\n RecursicaAccordionItemProps\n>(function AccordionItem(\n { title, leftIcon, divider = true, children, ...rest },\n ref,\n) {\n // If the user utilizes the explicit 'title' prop from Recursica, we securely auto-construct the Mantine sub-hierarchy natively!\n // If not, we defer to raw composable children (meaning the integrator maps `<Accordion.Control>` manually).\n return (\n <MantineAccordion.Item\n ref={ref}\n className={divider ? undefined : styles.noDivider}\n {...rest}\n >\n {title ? (\n <>\n <AccordionControl leftIcon={leftIcon}>{title}</AccordionControl>\n <AccordionPanel>{children}</AccordionPanel>\n </>\n ) : (\n children\n )}\n </MantineAccordion.Item>\n );\n});\nAccordionItem.displayName = \"AccordionItem\";\n\n// ==== ACCORDION CONTROL ====\nexport type RecursicaAccordionControlProps = AccordionControlProps & {\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n};\n\nexport const AccordionControl = forwardRef<\n HTMLButtonElement,\n RecursicaAccordionControlProps\n>(function AccordionControl({ leftIcon, children, ...rest }, ref) {\n return (\n <MantineAccordion.Control\n ref={ref}\n icon={\n leftIcon ? (\n <span className={styles.iconLeftWrapper} aria-hidden>\n {leftIcon}\n </span>\n ) : undefined\n }\n {...rest}\n >\n {children}\n </MantineAccordion.Control>\n );\n});\nAccordionControl.displayName = \"AccordionControl\";\n\n// ==== ACCORDION PANEL ====\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n return <MantineAccordion.Panel ref={ref} {...props} />;\n },\n);\nAccordionPanel.displayName = \"AccordionPanel\";\n\n// ==== DOT NOTATION EXPORT ====\ntype AccordionComponent = typeof AccordionBase & {\n Item: typeof AccordionItem;\n Control: typeof AccordionControl;\n Panel: typeof AccordionPanel;\n};\n\nexport const Accordion = AccordionBase as AccordionComponent;\nAccordion.Item = AccordionItem;\nAccordion.Control = AccordionControl;\nAccordion.Panel = AccordionPanel;\n","import React, { forwardRef } from \"react\";\nimport {\n Avatar as MantineAvatar,\n type AvatarProps as MantineAvatarProps,\n} from \"@mantine/core\";\nimport styles from \"./Avatar.module.css\";\n\nexport interface RecursicaAvatarProps {\n size?: \"small\" | \"default\" | \"large\";\n variant?: \"solid\" | \"outline\" | \"ghost\";\n icon?: React.ReactNode;\n}\n\nexport type AvatarProps = Omit<\n MantineAvatarProps,\n \"variant\" | \"size\" | \"color\" | \"radius\"\n> &\n RecursicaAvatarProps;\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n size = \"default\",\n variant = \"solid\",\n icon,\n className,\n classNames,\n children,\n style,\n src,\n ...rest\n },\n ref,\n) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n ghost: \"transparent\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n large: \"lg\",\n } as const;\n\n // Determine semantic style based on provided props\n let computedStyle = \"text\";\n if (src) {\n computedStyle = \"image\";\n } else if (icon) {\n computedStyle = \"icon\";\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n image: styles.image,\n placeholder: styles.placeholder,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.image = o.image\n ? `${styles.image} ${o.image}`\n : styles.image;\n mergedClassNames.placeholder = o.placeholder\n ? `${styles.placeholder} ${o.placeholder}`\n : styles.placeholder;\n }\n\n return (\n <MantineAvatar\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n src={src}\n data-variant={variant}\n data-size={size}\n data-style={computedStyle}\n {...rest}\n >\n {icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : children != null ? (\n <span className={styles.textWrapper}>{children}</span>\n ) : undefined}\n </MantineAvatar>\n );\n});\n\nAvatar.displayName = \"Avatar\";\n","\"use client\";\n\nimport { useEffect } from \"react\";\n\nconst THEME_ATTRIBUTE = \"data-recursica-theme\";\n\nexport interface RecursicaThemeProviderProps {\n /** 'light' | 'dark'. Defaults to 'light' when omitted. */\n theme?: \"light\" | \"dark\";\n children: React.ReactNode;\n}\n\n/**\n * Sets data-recursica-theme on document.documentElement so Recursica scoped CSS\n * (e.g. recursica_variables_scoped.css) applies the correct theme and layer-0 variables.\n * Default is light theme.\n */\nexport function RecursicaThemeProvider({\n children,\n theme = \"light\",\n}: RecursicaThemeProviderProps) {\n useEffect(() => {\n const root = document.documentElement;\n root.setAttribute(THEME_ATTRIBUTE, theme);\n return () => {\n root.removeAttribute(THEME_ATTRIBUTE);\n };\n }, [theme]);\n\n return <>{children}</>;\n}\n"],"names":["Layer","forwardRef","layer","contentsOnly","children","className","style","rest","ref","rootClassName","styles","jsx","hasVisibleChildren","Button","variant","size","icon","classNames","mapVariant","mapSize","restRecord","hasLeftSection","hasRightSection","isIconOnly","mergedClassNames","o","MantineButton","AccordionBase","key","MantineAccordion","AccordionItem","title","leftIcon","divider","jsxs","Fragment","AccordionControl","AccordionPanel","props","Accordion","Avatar","src","computedStyle","MantineAvatar","THEME_ATTRIBUTE","RecursicaThemeProvider","theme","useEffect","root"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mantine-adapter.js","sources":["../src/components/Button/Button.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Avatar/Avatar.tsx","../../adapter-common/dist/adapter-common.js"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport {\n Button as MantineButton,\n type ButtonProps as MantineButtonProps,\n} from \"@mantine/core\";\nimport styles from \"./Button.module.css\";\n\nexport interface RecursicaButtonProps {\n variant?: \"solid\" | \"outline\" | \"text\";\n size?: \"default\" | \"small\";\n icon?: React.ReactNode;\n}\n\nexport type ButtonProps = Omit<\n MantineButtonProps,\n \"variant\" | \"size\" | \"leftSection\"\n> &\n RecursicaButtonProps;\n\nfunction hasVisibleChildren(children: React.ReactNode): boolean {\n if (children == null || children === \"\") return false;\n if (typeof children === \"string\") return children.trim() !== \"\";\n return true;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n variant = \"solid\",\n size = \"default\",\n icon,\n className,\n classNames,\n children,\n style,\n ...rest\n },\n ref,\n ) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n text: \"subtle\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n } as const;\n\n const restRecord = rest as Record<string, unknown>;\n const hasLeftSection = !!icon || !!restRecord[\"leftSection\"];\n const hasRightSection = !!restRecord[\"rightSection\"];\n const isIconOnly =\n (hasLeftSection || hasRightSection) && !hasVisibleChildren(children);\n\n if (\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV !== \"production\" &&\n isIconOnly &&\n !restRecord[\"aria-label\"]\n ) {\n console.warn(\n '[Recursica Button] Icon-only buttons must provide an accessible name. Pass aria-label (e.g. aria-label=\"Submit\").',\n );\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n section: styles.section,\n label: styles.label,\n };\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.section = o.section ?? styles.section;\n mergedClassNames.label = o.label ?? styles.label;\n }\n\n return (\n <MantineButton\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n leftSection={\n icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : undefined\n }\n data-variant={variant}\n data-size={size}\n {...(isIconOnly ? { \"data-icon-only\": \"\" } : {})}\n {...rest}\n >\n <span className={styles.labelText}>{children}</span>\n </MantineButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\n","import React, { forwardRef } from \"react\";\nimport {\n Accordion as MantineAccordion,\n type AccordionProps as MantineAccordionProps,\n type AccordionItemProps,\n type AccordionControlProps,\n type AccordionPanelProps,\n} from \"@mantine/core\";\nimport styles from \"./Accordion.module.css\";\n\n// ==== ACCORDION CONTAINER ====\nexport type AccordionProps = MantineAccordionProps;\n\nconst AccordionBase = function Accordion({\n className,\n classNames,\n variant = \"unstyled\",\n ...rest\n}: AccordionProps) {\n // Bind all deep CSS module references natively into the global class mapping schema\n const mergedClassNames: Record<string, string> = {\n root: styles.root,\n item: styles.item,\n control: styles.control,\n label: styles.label,\n chevron: styles.chevron,\n panel: styles.panel,\n content: styles.content,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Record<string, string>;\n Object.keys(o).forEach((key) => {\n if (mergedClassNames[key]) {\n mergedClassNames[key] = `${mergedClassNames[key]} ${o[key]}`;\n } else {\n mergedClassNames[key] = o[key];\n }\n });\n }\n\n return (\n <MantineAccordion\n variant={variant}\n className={className}\n classNames={mergedClassNames}\n {...rest}\n />\n );\n};\nAccordionBase.displayName = \"Accordion\";\n\n// ==== ACCORDION ITEM ====\nexport type RecursicaAccordionItemProps = AccordionItemProps & {\n /**\n * When provided alongside `leftIcon` or independently, this auto-generates the Accordion Control and Panel DOM layers natively.\n */\n title?: React.ReactNode;\n\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n\n /**\n * Toggles the presence of the bottom trailing divider native to AccordionItems.\n * @default true\n */\n divider?: boolean;\n\n // Note on `open` property:\n // Recursica structurally maps an `open` property for active state tracking. However, Mantine inherently demands array-driven states\n // managed by the parent `<Accordion value=\"...\">` wrapper logic to accurately sequence expanding DOM animations. Attempting to force\n // an isolated `open` boolean natively corrupts Mantine's transition observers, so no `open` prop is directly preserved on this wrapper.\n};\n\nexport const AccordionItem = forwardRef<\n HTMLDivElement,\n RecursicaAccordionItemProps\n>(function AccordionItem(\n { title, leftIcon, divider = true, children, ...rest },\n ref,\n) {\n // If the user utilizes the explicit 'title' prop from Recursica, we securely auto-construct the Mantine sub-hierarchy natively!\n // If not, we defer to raw composable children (meaning the integrator maps `<Accordion.Control>` manually).\n return (\n <MantineAccordion.Item\n ref={ref}\n className={divider ? undefined : styles.noDivider}\n {...rest}\n >\n {title ? (\n <>\n <AccordionControl leftIcon={leftIcon}>{title}</AccordionControl>\n <AccordionPanel>{children}</AccordionPanel>\n </>\n ) : (\n children\n )}\n </MantineAccordion.Item>\n );\n});\nAccordionItem.displayName = \"AccordionItem\";\n\n// ==== ACCORDION CONTROL ====\nexport type RecursicaAccordionControlProps = AccordionControlProps & {\n /**\n * Leading icon explicitly mapped into the Mantine `Accordion.Control` leftSection boundary natively.\n */\n leftIcon?: React.ReactNode;\n};\n\nexport const AccordionControl = forwardRef<\n HTMLButtonElement,\n RecursicaAccordionControlProps\n>(function AccordionControl({ leftIcon, children, ...rest }, ref) {\n return (\n <MantineAccordion.Control\n ref={ref}\n icon={\n leftIcon ? (\n <span className={styles.iconLeftWrapper} aria-hidden>\n {leftIcon}\n </span>\n ) : undefined\n }\n {...rest}\n >\n {children}\n </MantineAccordion.Control>\n );\n});\nAccordionControl.displayName = \"AccordionControl\";\n\n// ==== ACCORDION PANEL ====\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n return <MantineAccordion.Panel ref={ref} {...props} />;\n },\n);\nAccordionPanel.displayName = \"AccordionPanel\";\n\n// ==== DOT NOTATION EXPORT ====\ntype AccordionComponent = typeof AccordionBase & {\n Item: typeof AccordionItem;\n Control: typeof AccordionControl;\n Panel: typeof AccordionPanel;\n};\n\nexport const Accordion = AccordionBase as AccordionComponent;\nAccordion.Item = AccordionItem;\nAccordion.Control = AccordionControl;\nAccordion.Panel = AccordionPanel;\n","import React, { forwardRef } from \"react\";\nimport {\n Avatar as MantineAvatar,\n type AvatarProps as MantineAvatarProps,\n} from \"@mantine/core\";\nimport styles from \"./Avatar.module.css\";\n\nexport interface RecursicaAvatarProps {\n size?: \"small\" | \"default\" | \"large\";\n variant?: \"solid\" | \"outline\" | \"ghost\";\n icon?: React.ReactNode;\n}\n\nexport type AvatarProps = Omit<\n MantineAvatarProps,\n \"variant\" | \"size\" | \"color\" | \"radius\"\n> &\n RecursicaAvatarProps;\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n size = \"default\",\n variant = \"solid\",\n icon,\n className,\n classNames,\n children,\n style,\n src,\n ...rest\n },\n ref,\n) {\n const mapVariant = {\n solid: \"filled\",\n outline: \"outline\",\n ghost: \"transparent\",\n } as const;\n\n const mapSize = {\n default: \"md\",\n small: \"sm\",\n large: \"lg\",\n } as const;\n\n // Determine semantic style based on provided props\n let computedStyle = \"text\";\n if (src) {\n computedStyle = \"image\";\n } else if (icon) {\n computedStyle = \"icon\";\n }\n\n const mergedClassNames: Partial<Record<string, string>> = {\n root: styles.root,\n image: styles.image,\n placeholder: styles.placeholder,\n };\n\n if (\n classNames &&\n typeof classNames === \"object\" &&\n !Array.isArray(classNames)\n ) {\n const o = classNames as Partial<Record<string, string>>;\n mergedClassNames.root = o.root ? `${styles.root} ${o.root}` : styles.root;\n mergedClassNames.image = o.image\n ? `${styles.image} ${o.image}`\n : styles.image;\n mergedClassNames.placeholder = o.placeholder\n ? `${styles.placeholder} ${o.placeholder}`\n : styles.placeholder;\n }\n\n return (\n <MantineAvatar\n ref={ref}\n className={className}\n classNames={mergedClassNames}\n variant={mapVariant[variant]}\n size={mapSize[size]}\n style={style}\n src={src}\n data-variant={variant}\n data-size={size}\n data-style={computedStyle}\n {...rest}\n >\n {icon != null ? (\n <span className={styles.iconWrapper} aria-hidden>\n {icon}\n </span>\n ) : children != null ? (\n <span className={styles.textWrapper}>{children}</span>\n ) : undefined}\n </MantineAvatar>\n );\n});\n\nAvatar.displayName = \"Avatar\";\n","import { jsx as s, Fragment as f } from \"react/jsx-runtime\";\nimport { forwardRef as _, useEffect as $ } from \"react\";\nconst y = \"_root_1qhn7_3\", E = \"_contents_1qhn7_18\", t = {\n root: y,\n contents: E\n}, T = _(function({ layer: r, contentsOnly: o, children: i, className: e, style: a, ...u }, m) {\n const d = o ? e ? `${t.root} ${t.contents} ${e}` : `${t.root} ${t.contents}` : e ? `${t.root} ${e}` : t.root;\n return /* @__PURE__ */ s(\n \"div\",\n {\n ref: m,\n className: d,\n style: a,\n ...o ? {} : { \"data-recursica-layer\": String(r) },\n ...u,\n children: i\n }\n );\n});\nT.displayName = \"Layer\";\nconst c = \"data-recursica-theme\";\nfunction g({\n children: n,\n theme: r = \"light\"\n}) {\n return $(() => {\n const o = document.documentElement;\n return o.setAttribute(c, r), () => {\n o.removeAttribute(c);\n };\n }, [r]), /* @__PURE__ */ s(f, { children: n });\n}\nexport {\n T as Layer,\n g as RecursicaThemeProvider\n};\n//# sourceMappingURL=adapter-common.js.map\n"],"names":["hasVisibleChildren","children","Button","forwardRef","variant","size","icon","className","classNames","style","rest","ref","mapVariant","mapSize","restRecord","hasLeftSection","hasRightSection","isIconOnly","mergedClassNames","styles","o","jsx","MantineButton","AccordionBase","key","MantineAccordion","AccordionItem","title","leftIcon","divider","jsxs","Fragment","AccordionControl","AccordionPanel","props","Accordion","Avatar","src","computedStyle","MantineAvatar","y","E","t","T","_","r","i","e","a","u","m","d","s","c","g","n","$","f"],"mappings":"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"}
|
|
@@ -6,4 +6,4 @@ export interface RecursicaAvatarProps {
|
|
|
6
6
|
icon?: React.ReactNode;
|
|
7
7
|
}
|
|
8
8
|
export type AvatarProps = Omit<MantineAvatarProps, "variant" | "size" | "color" | "radius"> & RecursicaAvatarProps;
|
|
9
|
-
export declare const Avatar: React.ForwardRefExoticComponent<Omit<MantineAvatarProps, "
|
|
9
|
+
export declare const Avatar: React.ForwardRefExoticComponent<Omit<MantineAvatarProps, "variant" | "size" | "color" | "radius"> & RecursicaAvatarProps & React.RefAttributes<HTMLDivElement>>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './components';
|
|
2
|
-
export * from '
|
|
2
|
+
export * from '@recursica/adapter-common';
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "git+https://github.com/borderux/recursica.git"
|
|
13
13
|
},
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.4.0",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"main": "./dist/mantine-adapter.cjs",
|
|
17
17
|
"module": "./dist/mantine-adapter.js",
|
|
@@ -47,7 +47,9 @@
|
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@chromatic-com/storybook": "^5.1.1",
|
|
49
49
|
"@eslint/js": "^9.25.0",
|
|
50
|
+
"@recursica/adapter-common": "*",
|
|
50
51
|
"@recursica/recursica-postcss-vars": "*",
|
|
52
|
+
"@recursica/storybook-template": "*",
|
|
51
53
|
"@repo/typescript-config": "*",
|
|
52
54
|
"@storybook/addon-a11y": "^10.3.3",
|
|
53
55
|
"@storybook/addon-docs": "^10.3.3",
|
|
@@ -66,6 +68,7 @@
|
|
|
66
68
|
"eslint-plugin-storybook": "^10.3.3",
|
|
67
69
|
"globals": "^16.0.0",
|
|
68
70
|
"playwright": "^1.53.0",
|
|
71
|
+
"react-markdown": "^10.1.0",
|
|
69
72
|
"sass": "^1.89.2",
|
|
70
73
|
"sirv": "^3.0.2",
|
|
71
74
|
"storybook": "^10.3.3",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface RecursicaThemeProviderProps {
|
|
2
|
-
/** 'light' | 'dark'. Defaults to 'light' when omitted. */
|
|
3
|
-
theme?: "light" | "dark";
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Sets data-recursica-theme on document.documentElement so Recursica scoped CSS
|
|
8
|
-
* (e.g. recursica_variables_scoped.css) applies the correct theme and layer-0 variables.
|
|
9
|
-
* Default is light theme.
|
|
10
|
-
*/
|
|
11
|
-
export declare function RecursicaThemeProvider({ children, theme, }: RecursicaThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Recursica design-system props for Layer.
|
|
3
|
-
* Sets data-recursica-layer so scoped CSS theme+layer blocks apply that layer's
|
|
4
|
-
* generic brand vars (e.g. --recursica_brand_layer_N_properties_surface) to this element
|
|
5
|
-
* and descendants. Theme is set on the document root (e.g. via RecursicaThemeProvider).
|
|
6
|
-
* See recursica_variables_scoped.css header.
|
|
7
|
-
*/
|
|
8
|
-
export interface RecursicaLayerProps {
|
|
9
|
-
/** Layer (0–3). Sets data-recursica-layer on the root so descendants use this layer's styles. */
|
|
10
|
-
layer: 0 | 1 | 2 | 3;
|
|
11
|
-
/**
|
|
12
|
-
* When true, the root uses display: contents (no box, not styled) and data-recursica-layer
|
|
13
|
-
* is omitted so Recursica layer styling is not applied. Children still participate in the cascade.
|
|
14
|
-
*/
|
|
15
|
-
contentsOnly?: boolean;
|
|
16
|
-
children?: React.ReactNode;
|
|
17
|
-
}
|
|
18
|
-
export type LayerProps = RecursicaLayerProps & React.HTMLAttributes<HTMLDivElement>;
|
|
19
|
-
/**
|
|
20
|
-
* Applies a Recursica layer context. Root has data-recursica-layer so scoped CSS
|
|
21
|
-
* theme+layer blocks (e.g. [data-recursica-theme="light"] [data-recursica-layer="1"])
|
|
22
|
-
* set generic brand vars on this element; descendants inherit. Use with theme on
|
|
23
|
-
* document root (RecursicaThemeProvider). Root is display: block so padding/background apply.
|
|
24
|
-
*/
|
|
25
|
-
export declare const Layer: import('react').ForwardRefExoticComponent<RecursicaLayerProps & import('react').HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Layer, type LayerProps, type RecursicaLayerProps } from './Layer';
|