@recursica/mui-adapter 0.1.0 → 0.2.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/CHANGELOG.md +10 -0
- package/dist/mui-adapter.cjs.map +1 -1
- package/dist/mui-adapter.js.map +1 -1
- package/dist/src/OverStyling.d.ts +1 -0
- package/dist/src/Version.d.ts +1 -0
- package/package.json +4 -3
- package/src/Introduction.stories.tsx +180 -0
- package/src/{OverStyling.stories.tsx → OverStyling.tsx} +1 -11
- package/src/{Version.stories.tsx → Version.tsx} +1 -13
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
7
|
+
- 72174fc: Add MUI adapter, reworked storybook for adapter switching
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 72174fc: Updated docs and README.md links
|
|
12
|
+
|
|
13
|
+
## 0.2.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
7
17
|
- 0f7ca8b: Scaffolding and Box component
|
|
8
18
|
|
|
9
19
|
## 0.0.1
|
package/dist/mui-adapter.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui-adapter.cjs","sources":["../src/components/Accordion/Accordion.tsx","../src/components/AssistiveElement/AssistiveElement.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Badge/Badge.tsx","../src/utils/filterStylingProps.ts","../src/components/Box/Box.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Chip/Chip.tsx","../src/components/Container/Container.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/FileInput/FileInput.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Flex/Flex.tsx","../src/components/FormControlLayout/FormControlLayout.tsx","../src/components/FormControlWrapper/FormControlWrapper.tsx","../src/components/Group/Group.tsx","../src/components/HoverCard/HoverCard.tsx","../src/components/Label/Label.tsx","../src/components/Link/Link.tsx","../src/components/Loader/Loader.tsx","../src/components/Menu/Menu.tsx","../src/components/Modal/Modal.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Panel/Panel.tsx","../src/components/Radio/Radio.tsx","../src/components/ReadOnlyField/ReadOnlyField.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Slider/Slider.tsx","../src/components/Stack/Stack.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Switch/Switch.tsx","../src/components/Table/Table.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Text/Text.tsx","../src/components/TextArea/TextArea.tsx","../src/components/TextField/TextField.tsx","../src/components/TimePicker/TimePicker.tsx","../src/components/Timeline/Timeline.tsx","../src/components/Title/Title.tsx","../src/components/Toast/Toast.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/TransferList/TransferList.tsx","../../adapter-common/dist/adapter-common.js"],"sourcesContent":["import React from \"react\";\n\nexport type AccordionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Accordion: React.FC<AccordionProps> = (props) => {\n return <div {...props}>Accordion</div>;\n};\n","import React from \"react\";\n\nexport type AssistiveElementProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const AssistiveElement: React.FC<AssistiveElementProps> = (props) => {\n return <div {...props}>AssistiveElement</div>;\n};\n","import React from \"react\";\n\nexport type AvatarProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n return <div {...props}>Avatar</div>;\n};\n","import React from \"react\";\n\nexport type BadgeProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Badge: React.FC<BadgeProps> = (props) => {\n return <div {...props}>Badge</div>;\n};\n","/**\n * filterStylingProps\n *\n * This utility acts as the central gatekeeper for strict design-system adherence across\n * all Recursica components mapped over MUI.\n *\n * PHILOSOPHY:\n * Recursica components are designed to be explicitly sandboxed tokens. Allowing external\n * `className` or MUI style props (`sx`, `classes`, etc.) breaks the design system by\n * allowing developers to leak arbitrary designs into components.\n *\n * By default (`overStyled=false`), this utility actively prevents developers from overriding\n * internal component styles (such as background, colors, typography, or internal classes).\n * It safely *permits* external layout overrides (like `margin` / `m`) so that components can\n * easily be spaced alongside other DOM elements.\n *\n * If a developer passes `overStyled={true}`, this filter allows all styling properties to\n * flow through to the underlying MUI component natively, at the developer's own risk.\n *\n * @param props - The raw component props passed down to the wrapper\n * @param overStyled - Boolean toggle to allow raw external styling. Defaults to false.\n * @returns Sanitized component props safe for internal styling merging\n */\n\nexport const BLOCKED_STYLING_KEYS = [\n \"className\",\n \"classes\", // MUI specific nested class overrides\n \"style\",\n \"sx\", // MUI's primary system style prop\n\n // Potential Box/Typography system props to block (if we wrap those)\n \"color\",\n \"bgcolor\",\n \"backgroundColor\",\n \"typography\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textAlign\",\n \"border\",\n \"borderTop\",\n \"borderBottom\",\n \"borderLeft\",\n \"borderRight\",\n \"borderColor\",\n \"borderRadius\",\n \"boxShadow\",\n \"display\",\n \"position\",\n \"zIndex\",\n] as const;\n\nexport type BlockedStylingKeys = (typeof BLOCKED_STYLING_KEYS)[number];\n\nexport type RecursicaSpacing =\n | \"rec-none\"\n | \"rec-sm\"\n | \"rec-default\"\n | \"rec-md\"\n | \"rec-lg\"\n | \"rec-xl\"\n | \"rec-2xl\";\n\nexport type RecursicaSize = \"small\" | \"default\" | \"large\";\n\nconst LAYOUT_PROPS = new Set([\n \"m\",\n \"my\",\n \"mx\",\n \"mt\",\n \"mb\",\n \"ml\",\n \"mr\",\n \"p\",\n \"py\",\n \"px\",\n \"pt\",\n \"pb\",\n \"pl\",\n \"pr\",\n \"gap\",\n \"rowGap\",\n \"columnGap\",\n \"top\",\n \"left\",\n \"bottom\",\n \"right\",\n]);\n\nconst SPACING_MAP: Record<string, string> = {\n \"rec-none\": \"var(--recursica_brand_dimensions_general_none)\",\n \"rec-sm\": \"var(--recursica_brand_dimensions_general_sm)\",\n \"rec-default\": \"var(--recursica_brand_dimensions_general_default)\",\n \"rec-md\": \"var(--recursica_brand_dimensions_general_md)\",\n \"rec-lg\": \"var(--recursica_brand_dimensions_general_lg)\",\n \"rec-xl\": \"var(--recursica_brand_dimensions_general_xl)\",\n \"rec-2xl\": \"var(--recursica_brand_dimensions_general_2xl)\",\n};\n\nexport type ForbiddenStyles = { [K in BlockedStylingKeys]?: never };\n\nexport type RecursicaOverStyled<T> =\n | (Omit<T, BlockedStylingKeys> &\n ForbiddenStyles & { overStyled?: false | undefined })\n | (T & { overStyled: true });\n\nexport function filterStylingProps<T extends Record<string, unknown>>(\n props: T,\n overStyled?: boolean,\n): Partial<T> {\n if (overStyled) {\n return props;\n }\n\n const sanitized = { ...props };\n\n for (const prop of BLOCKED_STYLING_KEYS) {\n if (prop in sanitized) {\n delete sanitized[prop];\n }\n }\n\n // Intercept Recursica spacing tokens for valid layout properties\n for (const [key, value] of Object.entries(sanitized)) {\n if (\n typeof value === \"string\" &&\n value.startsWith(\"rec-\") &&\n LAYOUT_PROPS.has(key)\n ) {\n if (value in SPACING_MAP) {\n (sanitized as Record<string, unknown>)[key] = SPACING_MAP[value];\n }\n }\n }\n\n return sanitized;\n}\n","import React, { forwardRef } from \"react\";\nimport { Box as MUIBox, type BoxProps as MUIBoxProps } from \"@mui/material\";\nimport {\n filterStylingProps,\n type RecursicaOverStyled,\n} from \"../../utils/filterStylingProps\";\n\nexport type BoxProps<C extends React.ElementType = \"div\"> = RecursicaOverStyled<\n MUIBoxProps<C, { component?: C }>\n>;\n\nexport const Box = forwardRef(function Box<C extends React.ElementType = \"div\">(\n props: BoxProps<C>,\n ref: React.Ref<Element>\n) {\n const { overStyled = false, ...rest } = props;\n\n const sanitizedProps = filterStylingProps(\n rest as Record<string, unknown>,\n overStyled\n );\n\n return <MUIBox ref={ref} {...sanitizedProps} />;\n}) as <C extends React.ElementType = \"div\">(\n props: BoxProps<C> & { ref?: React.ForwardedRef<any> }\n) => React.ReactElement | null;\n","import React from \"react\";\n\nexport type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = (props) => {\n return <div {...props}>Breadcrumb</div>;\n};\n","import React from \"react\";\n\nexport type ButtonProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Button: React.FC<ButtonProps> = (props) => {\n return <div {...props}>Button</div>;\n};\n","import React from \"react\";\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Card: React.FC<CardProps> = (props) => {\n return <div {...props}>Card</div>;\n};\n","import React from \"react\";\n\nexport type CheckboxProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Checkbox: React.FC<CheckboxProps> = (props) => {\n return <div {...props}>Checkbox</div>;\n};\n","import React from \"react\";\n\nexport type ChipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Chip: React.FC<ChipProps> = (props) => {\n return <div {...props}>Chip</div>;\n};\n","import React from \"react\";\n\nexport type ContainerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Container: React.FC<ContainerProps> = (props) => {\n return <div {...props}>Container</div>;\n};\n","import React from \"react\";\n\nexport type DatePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n return <div {...props}>DatePicker</div>;\n};\n","import React from \"react\";\n\nexport type DropdownProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Dropdown: React.FC<DropdownProps> = (props) => {\n return <div {...props}>Dropdown</div>;\n};\n","import React from \"react\";\n\nexport type FileInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileInput: React.FC<FileInputProps> = (props) => {\n return <div {...props}>FileInput</div>;\n};\n","import React from \"react\";\n\nexport type FileUploadProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileUpload: React.FC<FileUploadProps> = (props) => {\n return <div {...props}>FileUpload</div>;\n};\n","import React from \"react\";\n\nexport type FlexProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Flex: React.FC<FlexProps> = (props) => {\n return <div {...props}>Flex</div>;\n};\n","import React from \"react\";\n\nexport type FormControlLayoutProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlLayout: React.FC<FormControlLayoutProps> = (props) => {\n return <div {...props}>FormControlLayout</div>;\n};\n","import React from \"react\";\n\nexport type FormControlWrapperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlWrapper: React.FC<FormControlWrapperProps> = (\n props,\n) => {\n return <div {...props}>FormControlWrapper</div>;\n};\n","import React from \"react\";\n\nexport type GroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Group: React.FC<GroupProps> = (props) => {\n return <div {...props}>Group</div>;\n};\n","import React from \"react\";\n\nexport type HoverCardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const HoverCard: React.FC<HoverCardProps> = (props) => {\n return <div {...props}>HoverCard</div>;\n};\n","import React from \"react\";\n\nexport type LabelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Label: React.FC<LabelProps> = (props) => {\n return <div {...props}>Label</div>;\n};\n","import React from \"react\";\n\nexport type LinkProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Link: React.FC<LinkProps> = (props) => {\n return <div {...props}>Link</div>;\n};\n","import React from \"react\";\n\nexport type LoaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Loader: React.FC<LoaderProps> = (props) => {\n return <div {...props}>Loader</div>;\n};\n","import React from \"react\";\n\nexport type MenuProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Menu: React.FC<MenuProps> = (props) => {\n return <div {...props}>Menu</div>;\n};\n","import React from \"react\";\n\nexport type ModalProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Modal: React.FC<ModalProps> = (props) => {\n return <div {...props}>Modal</div>;\n};\n","import React from \"react\";\n\nexport type NumberInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const NumberInput: React.FC<NumberInputProps> = (props) => {\n return <div {...props}>NumberInput</div>;\n};\n","import React from \"react\";\n\nexport type PaginationProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n return <div {...props}>Pagination</div>;\n};\n","import React from \"react\";\n\nexport type PanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Panel: React.FC<PanelProps> = (props) => {\n return <div {...props}>Panel</div>;\n};\n","import React from \"react\";\n\nexport type RadioProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Radio: React.FC<RadioProps> = (props) => {\n return <div {...props}>Radio</div>;\n};\n","import React from \"react\";\n\nexport type ReadOnlyFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ReadOnlyField: React.FC<ReadOnlyFieldProps> = (props) => {\n return <div {...props}>ReadOnlyField</div>;\n};\n","import React from \"react\";\n\nexport type SegmentedControlProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const SegmentedControl: React.FC<SegmentedControlProps> = (props) => {\n return <div {...props}>SegmentedControl</div>;\n};\n","import React from \"react\";\n\nexport type SliderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Slider: React.FC<SliderProps> = (props) => {\n return <div {...props}>Slider</div>;\n};\n","import React from \"react\";\n\nexport type StackProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stack: React.FC<StackProps> = (props) => {\n return <div {...props}>Stack</div>;\n};\n","import React from \"react\";\n\nexport type StepperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stepper: React.FC<StepperProps> = (props) => {\n return <div {...props}>Stepper</div>;\n};\n","import React from \"react\";\n\nexport type SwitchProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Switch: React.FC<SwitchProps> = (props) => {\n return <div {...props}>Switch</div>;\n};\n","import React from \"react\";\n\nexport type TableProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Table: React.FC<TableProps> = (props) => {\n return <div {...props}>Table</div>;\n};\n","import React from \"react\";\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tabs: React.FC<TabsProps> = (props) => {\n return <div {...props}>Tabs</div>;\n};\n","import React from \"react\";\n\nexport type TextProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Text: React.FC<TextProps> = (props) => {\n return <div {...props}>Text</div>;\n};\n","import React from \"react\";\n\nexport type TextAreaProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextArea: React.FC<TextAreaProps> = (props) => {\n return <div {...props}>TextArea</div>;\n};\n","import React from \"react\";\n\nexport type TextFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextField: React.FC<TextFieldProps> = (props) => {\n return <div {...props}>TextField</div>;\n};\n","import React from \"react\";\n\nexport type TimePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TimePicker: React.FC<TimePickerProps> = (props) => {\n return <div {...props}>TimePicker</div>;\n};\n","import React from \"react\";\n\nexport type TimelineProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Timeline: React.FC<TimelineProps> = (props) => {\n return <div {...props}>Timeline</div>;\n};\n","import React from \"react\";\n\nexport type TitleProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Title: React.FC<TitleProps> = (props) => {\n return <div {...props}>Title</div>;\n};\n","import React from \"react\";\n\nexport type ToastProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Toast: React.FC<ToastProps> = (props) => {\n return <div {...props}>Toast</div>;\n};\n","import React from \"react\";\n\nexport type TooltipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tooltip: React.FC<TooltipProps> = (props) => {\n return <div {...props}>Tooltip</div>;\n};\n","import React from \"react\";\n\nexport type TransferListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TransferList: React.FC<TransferListProps> = (props) => {\n return <div {...props}>TransferList</div>;\n};\n","import { jsx as c, Fragment as f } from \"react/jsx-runtime\";\nimport h, { forwardRef as l, useEffect as p } from \"react\";\nconst E = \"_root_1qhn7_3\", _ = \"_contents_1qhn7_18\", r = {\n root: E,\n contents: _\n}, $ = l(function({ layer: o, contentsOnly: e, children: i, className: n, style: u, ...m }, d) {\n const y = e ? n ? `${r.root} ${r.contents} ${n}` : `${r.root} ${r.contents}` : n ? `${r.root} ${n}` : r.root;\n return /* @__PURE__ */ c(\n \"div\",\n {\n ref: d,\n className: y,\n style: u,\n ...e ? {} : { \"data-recursica-layer\": String(o) },\n ...m,\n children: i\n }\n );\n});\n$.displayName = \"Layer\";\nconst a = ({ emptyText: t = \"N/A\" }) => /* @__PURE__ */ c(h.Fragment, { children: t });\na.displayName = \"EmptyValueRenderer\";\na.check = (t) => t == null || t === \"\" || Array.isArray(t) && t.length === 0;\nconst s = \"data-recursica-theme\";\nfunction g({\n children: t,\n theme: o = \"light\"\n}) {\n return p(() => {\n const e = document.documentElement;\n return e.setAttribute(s, o), () => {\n e.removeAttribute(s);\n };\n }, [o]), /* @__PURE__ */ c(f, { children: t });\n}\nexport {\n a as EmptyValueRenderer,\n $ as Layer,\n g as RecursicaThemeProvider\n};\n//# sourceMappingURL=adapter-common.js.map\n"],"names":["Accordion","props","jsx","AssistiveElement","Avatar","Badge","BLOCKED_STYLING_KEYS","LAYOUT_PROPS","SPACING_MAP","filterStylingProps","overStyled","sanitized","prop","key","value","Box","forwardRef","ref","rest","sanitizedProps","MUIBox","Breadcrumb","Button","Card","Checkbox","Chip","Container","DatePicker","Dropdown","FileInput","FileUpload","Flex","FormControlLayout","FormControlWrapper","Group","HoverCard","Label","Link","Loader","Menu","Modal","NumberInput","Pagination","Panel","Radio","ReadOnlyField","SegmentedControl","Slider","Stack","Stepper","Switch","Table","Tabs","Text","TextArea","TextField","TimePicker","Timeline","Title","Toast","Tooltip","TransferList","E","_","r","$","l","o","e","i","n","u","m","d","y","c","a","t","h","s","g","p","f"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mui-adapter.cjs","sources":["../src/components/Accordion/Accordion.tsx","../src/components/AssistiveElement/AssistiveElement.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Badge/Badge.tsx","../src/utils/filterStylingProps.ts","../src/components/Box/Box.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Chip/Chip.tsx","../src/components/Container/Container.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/FileInput/FileInput.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Flex/Flex.tsx","../src/components/FormControlLayout/FormControlLayout.tsx","../src/components/FormControlWrapper/FormControlWrapper.tsx","../src/components/Group/Group.tsx","../src/components/HoverCard/HoverCard.tsx","../src/components/Label/Label.tsx","../src/components/Link/Link.tsx","../src/components/Loader/Loader.tsx","../src/components/Menu/Menu.tsx","../src/components/Modal/Modal.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Panel/Panel.tsx","../src/components/Radio/Radio.tsx","../src/components/ReadOnlyField/ReadOnlyField.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Slider/Slider.tsx","../src/components/Stack/Stack.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Switch/Switch.tsx","../src/components/Table/Table.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Text/Text.tsx","../src/components/TextArea/TextArea.tsx","../src/components/TextField/TextField.tsx","../src/components/TimePicker/TimePicker.tsx","../src/components/Timeline/Timeline.tsx","../src/components/Title/Title.tsx","../src/components/Toast/Toast.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/TransferList/TransferList.tsx","../../adapter-common/dist/adapter-common.js"],"sourcesContent":["import React from \"react\";\n\nexport type AccordionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Accordion: React.FC<AccordionProps> = (props) => {\n return <div {...props}>Accordion</div>;\n};\n","import React from \"react\";\n\nexport type AssistiveElementProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const AssistiveElement: React.FC<AssistiveElementProps> = (props) => {\n return <div {...props}>AssistiveElement</div>;\n};\n","import React from \"react\";\n\nexport type AvatarProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n return <div {...props}>Avatar</div>;\n};\n","import React from \"react\";\n\nexport type BadgeProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Badge: React.FC<BadgeProps> = (props) => {\n return <div {...props}>Badge</div>;\n};\n","/**\n * filterStylingProps\n *\n * This utility acts as the central gatekeeper for strict design-system adherence across\n * all Recursica components mapped over MUI.\n *\n * PHILOSOPHY:\n * Recursica components are designed to be explicitly sandboxed tokens. Allowing external\n * `className` or MUI style props (`sx`, `classes`, etc.) breaks the design system by\n * allowing developers to leak arbitrary designs into components.\n *\n * By default (`overStyled=false`), this utility actively prevents developers from overriding\n * internal component styles (such as background, colors, typography, or internal classes).\n * It safely *permits* external layout overrides (like `margin` / `m`) so that components can\n * easily be spaced alongside other DOM elements.\n *\n * If a developer passes `overStyled={true}`, this filter allows all styling properties to\n * flow through to the underlying MUI component natively, at the developer's own risk.\n *\n * @param props - The raw component props passed down to the wrapper\n * @param overStyled - Boolean toggle to allow raw external styling. Defaults to false.\n * @returns Sanitized component props safe for internal styling merging\n */\n\nexport const BLOCKED_STYLING_KEYS = [\n \"className\",\n \"classes\", // MUI specific nested class overrides\n \"style\",\n \"sx\", // MUI's primary system style prop\n\n // Potential Box/Typography system props to block (if we wrap those)\n \"color\",\n \"bgcolor\",\n \"backgroundColor\",\n \"typography\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textAlign\",\n \"border\",\n \"borderTop\",\n \"borderBottom\",\n \"borderLeft\",\n \"borderRight\",\n \"borderColor\",\n \"borderRadius\",\n \"boxShadow\",\n \"display\",\n \"position\",\n \"zIndex\",\n] as const;\n\nexport type BlockedStylingKeys = (typeof BLOCKED_STYLING_KEYS)[number];\n\nexport type RecursicaSpacing =\n | \"rec-none\"\n | \"rec-sm\"\n | \"rec-default\"\n | \"rec-md\"\n | \"rec-lg\"\n | \"rec-xl\"\n | \"rec-2xl\";\n\nexport type RecursicaSize = \"small\" | \"default\" | \"large\";\n\nconst LAYOUT_PROPS = new Set([\n \"m\",\n \"my\",\n \"mx\",\n \"mt\",\n \"mb\",\n \"ml\",\n \"mr\",\n \"p\",\n \"py\",\n \"px\",\n \"pt\",\n \"pb\",\n \"pl\",\n \"pr\",\n \"gap\",\n \"rowGap\",\n \"columnGap\",\n \"top\",\n \"left\",\n \"bottom\",\n \"right\",\n]);\n\nconst SPACING_MAP: Record<string, string> = {\n \"rec-none\": \"var(--recursica_brand_dimensions_general_none)\",\n \"rec-sm\": \"var(--recursica_brand_dimensions_general_sm)\",\n \"rec-default\": \"var(--recursica_brand_dimensions_general_default)\",\n \"rec-md\": \"var(--recursica_brand_dimensions_general_md)\",\n \"rec-lg\": \"var(--recursica_brand_dimensions_general_lg)\",\n \"rec-xl\": \"var(--recursica_brand_dimensions_general_xl)\",\n \"rec-2xl\": \"var(--recursica_brand_dimensions_general_2xl)\",\n};\n\nexport type ForbiddenStyles = { [K in BlockedStylingKeys]?: never };\n\nexport type RecursicaOverStyled<T> =\n | (Omit<T, BlockedStylingKeys> &\n ForbiddenStyles & { overStyled?: false | undefined })\n | (T & { overStyled: true });\n\nexport function filterStylingProps<T extends Record<string, unknown>>(\n props: T,\n overStyled?: boolean,\n): Partial<T> {\n if (overStyled) {\n return props;\n }\n\n const sanitized = { ...props };\n\n for (const prop of BLOCKED_STYLING_KEYS) {\n if (prop in sanitized) {\n delete sanitized[prop];\n }\n }\n\n // Intercept Recursica spacing tokens for valid layout properties\n for (const [key, value] of Object.entries(sanitized)) {\n if (\n typeof value === \"string\" &&\n value.startsWith(\"rec-\") &&\n LAYOUT_PROPS.has(key)\n ) {\n if (value in SPACING_MAP) {\n (sanitized as Record<string, unknown>)[key] = SPACING_MAP[value];\n }\n }\n }\n\n return sanitized;\n}\n","import React, { forwardRef } from \"react\";\nimport { Box as MUIBox, type BoxProps as MUIBoxProps } from \"@mui/material\";\nimport {\n filterStylingProps,\n type RecursicaOverStyled,\n} from \"../../utils/filterStylingProps\";\n\nexport type BoxProps<C extends React.ElementType = \"div\"> = RecursicaOverStyled<\n MUIBoxProps<C, { component?: C }>\n>;\n\nexport const Box = forwardRef(function Box<C extends React.ElementType = \"div\">(\n props: BoxProps<C>,\n ref: React.Ref<Element>,\n) {\n const { overStyled = false, ...rest } = props;\n\n const sanitizedProps = filterStylingProps(\n rest as Record<string, unknown>,\n overStyled,\n );\n\n return <MUIBox ref={ref} {...sanitizedProps} />;\n}) as <C extends React.ElementType = \"div\">(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: BoxProps<C> & { ref?: React.ForwardedRef<any> },\n) => React.ReactElement | null;\n","import React from \"react\";\n\nexport type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = (props) => {\n return <div {...props}>Breadcrumb</div>;\n};\n","import React from \"react\";\n\nexport type ButtonProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Button: React.FC<ButtonProps> = (props) => {\n return <div {...props}>Button</div>;\n};\n","import React from \"react\";\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Card: React.FC<CardProps> = (props) => {\n return <div {...props}>Card</div>;\n};\n","import React from \"react\";\n\nexport type CheckboxProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Checkbox: React.FC<CheckboxProps> = (props) => {\n return <div {...props}>Checkbox</div>;\n};\n","import React from \"react\";\n\nexport type ChipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Chip: React.FC<ChipProps> = (props) => {\n return <div {...props}>Chip</div>;\n};\n","import React from \"react\";\n\nexport type ContainerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Container: React.FC<ContainerProps> = (props) => {\n return <div {...props}>Container</div>;\n};\n","import React from \"react\";\n\nexport type DatePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n return <div {...props}>DatePicker</div>;\n};\n","import React from \"react\";\n\nexport type DropdownProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Dropdown: React.FC<DropdownProps> = (props) => {\n return <div {...props}>Dropdown</div>;\n};\n","import React from \"react\";\n\nexport type FileInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileInput: React.FC<FileInputProps> = (props) => {\n return <div {...props}>FileInput</div>;\n};\n","import React from \"react\";\n\nexport type FileUploadProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileUpload: React.FC<FileUploadProps> = (props) => {\n return <div {...props}>FileUpload</div>;\n};\n","import React from \"react\";\n\nexport type FlexProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Flex: React.FC<FlexProps> = (props) => {\n return <div {...props}>Flex</div>;\n};\n","import React from \"react\";\n\nexport type FormControlLayoutProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlLayout: React.FC<FormControlLayoutProps> = (props) => {\n return <div {...props}>FormControlLayout</div>;\n};\n","import React from \"react\";\n\nexport type FormControlWrapperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlWrapper: React.FC<FormControlWrapperProps> = (\n props,\n) => {\n return <div {...props}>FormControlWrapper</div>;\n};\n","import React from \"react\";\n\nexport type GroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Group: React.FC<GroupProps> = (props) => {\n return <div {...props}>Group</div>;\n};\n","import React from \"react\";\n\nexport type HoverCardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const HoverCard: React.FC<HoverCardProps> = (props) => {\n return <div {...props}>HoverCard</div>;\n};\n","import React from \"react\";\n\nexport type LabelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Label: React.FC<LabelProps> = (props) => {\n return <div {...props}>Label</div>;\n};\n","import React from \"react\";\n\nexport type LinkProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Link: React.FC<LinkProps> = (props) => {\n return <div {...props}>Link</div>;\n};\n","import React from \"react\";\n\nexport type LoaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Loader: React.FC<LoaderProps> = (props) => {\n return <div {...props}>Loader</div>;\n};\n","import React from \"react\";\n\nexport type MenuProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Menu: React.FC<MenuProps> = (props) => {\n return <div {...props}>Menu</div>;\n};\n","import React from \"react\";\n\nexport type ModalProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Modal: React.FC<ModalProps> = (props) => {\n return <div {...props}>Modal</div>;\n};\n","import React from \"react\";\n\nexport type NumberInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const NumberInput: React.FC<NumberInputProps> = (props) => {\n return <div {...props}>NumberInput</div>;\n};\n","import React from \"react\";\n\nexport type PaginationProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n return <div {...props}>Pagination</div>;\n};\n","import React from \"react\";\n\nexport type PanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Panel: React.FC<PanelProps> = (props) => {\n return <div {...props}>Panel</div>;\n};\n","import React from \"react\";\n\nexport type RadioProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Radio: React.FC<RadioProps> = (props) => {\n return <div {...props}>Radio</div>;\n};\n","import React from \"react\";\n\nexport type ReadOnlyFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ReadOnlyField: React.FC<ReadOnlyFieldProps> = (props) => {\n return <div {...props}>ReadOnlyField</div>;\n};\n","import React from \"react\";\n\nexport type SegmentedControlProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const SegmentedControl: React.FC<SegmentedControlProps> = (props) => {\n return <div {...props}>SegmentedControl</div>;\n};\n","import React from \"react\";\n\nexport type SliderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Slider: React.FC<SliderProps> = (props) => {\n return <div {...props}>Slider</div>;\n};\n","import React from \"react\";\n\nexport type StackProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stack: React.FC<StackProps> = (props) => {\n return <div {...props}>Stack</div>;\n};\n","import React from \"react\";\n\nexport type StepperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stepper: React.FC<StepperProps> = (props) => {\n return <div {...props}>Stepper</div>;\n};\n","import React from \"react\";\n\nexport type SwitchProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Switch: React.FC<SwitchProps> = (props) => {\n return <div {...props}>Switch</div>;\n};\n","import React from \"react\";\n\nexport type TableProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Table: React.FC<TableProps> = (props) => {\n return <div {...props}>Table</div>;\n};\n","import React from \"react\";\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tabs: React.FC<TabsProps> = (props) => {\n return <div {...props}>Tabs</div>;\n};\n","import React from \"react\";\n\nexport type TextProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Text: React.FC<TextProps> = (props) => {\n return <div {...props}>Text</div>;\n};\n","import React from \"react\";\n\nexport type TextAreaProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextArea: React.FC<TextAreaProps> = (props) => {\n return <div {...props}>TextArea</div>;\n};\n","import React from \"react\";\n\nexport type TextFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextField: React.FC<TextFieldProps> = (props) => {\n return <div {...props}>TextField</div>;\n};\n","import React from \"react\";\n\nexport type TimePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TimePicker: React.FC<TimePickerProps> = (props) => {\n return <div {...props}>TimePicker</div>;\n};\n","import React from \"react\";\n\nexport type TimelineProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Timeline: React.FC<TimelineProps> = (props) => {\n return <div {...props}>Timeline</div>;\n};\n","import React from \"react\";\n\nexport type TitleProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Title: React.FC<TitleProps> = (props) => {\n return <div {...props}>Title</div>;\n};\n","import React from \"react\";\n\nexport type ToastProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Toast: React.FC<ToastProps> = (props) => {\n return <div {...props}>Toast</div>;\n};\n","import React from \"react\";\n\nexport type TooltipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tooltip: React.FC<TooltipProps> = (props) => {\n return <div {...props}>Tooltip</div>;\n};\n","import React from \"react\";\n\nexport type TransferListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TransferList: React.FC<TransferListProps> = (props) => {\n return <div {...props}>TransferList</div>;\n};\n","import { jsx as c, Fragment as f } from \"react/jsx-runtime\";\nimport h, { forwardRef as l, useEffect as p } from \"react\";\nconst E = \"_root_1qhn7_3\", _ = \"_contents_1qhn7_18\", r = {\n root: E,\n contents: _\n}, $ = l(function({ layer: o, contentsOnly: e, children: i, className: n, style: u, ...m }, d) {\n const y = e ? n ? `${r.root} ${r.contents} ${n}` : `${r.root} ${r.contents}` : n ? `${r.root} ${n}` : r.root;\n return /* @__PURE__ */ c(\n \"div\",\n {\n ref: d,\n className: y,\n style: u,\n ...e ? {} : { \"data-recursica-layer\": String(o) },\n ...m,\n children: i\n }\n );\n});\n$.displayName = \"Layer\";\nconst a = ({ emptyText: t = \"N/A\" }) => /* @__PURE__ */ c(h.Fragment, { children: t });\na.displayName = \"EmptyValueRenderer\";\na.check = (t) => t == null || t === \"\" || Array.isArray(t) && t.length === 0;\nconst s = \"data-recursica-theme\";\nfunction g({\n children: t,\n theme: o = \"light\"\n}) {\n return p(() => {\n const e = document.documentElement;\n return e.setAttribute(s, o), () => {\n e.removeAttribute(s);\n };\n }, [o]), /* @__PURE__ */ c(f, { children: t });\n}\nexport {\n a as EmptyValueRenderer,\n $ as Layer,\n g as RecursicaThemeProvider\n};\n//# sourceMappingURL=adapter-common.js.map\n"],"names":["Accordion","props","jsx","AssistiveElement","Avatar","Badge","BLOCKED_STYLING_KEYS","LAYOUT_PROPS","SPACING_MAP","filterStylingProps","overStyled","sanitized","prop","key","value","Box","forwardRef","ref","rest","sanitizedProps","MUIBox","Breadcrumb","Button","Card","Checkbox","Chip","Container","DatePicker","Dropdown","FileInput","FileUpload","Flex","FormControlLayout","FormControlWrapper","Group","HoverCard","Label","Link","Loader","Menu","Modal","NumberInput","Pagination","Panel","Radio","ReadOnlyField","SegmentedControl","Slider","Stack","Stepper","Switch","Table","Tabs","Text","TextArea","TextField","TimePicker","Timeline","Title","Toast","Tooltip","TransferList","E","_","r","$","l","o","e","i","n","u","m","d","y","c","a","t","h","s","g","p","f"],"mappings":"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"}
|
package/dist/mui-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui-adapter.js","sources":["../src/components/Accordion/Accordion.tsx","../src/components/AssistiveElement/AssistiveElement.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Badge/Badge.tsx","../src/utils/filterStylingProps.ts","../src/components/Box/Box.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Chip/Chip.tsx","../src/components/Container/Container.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/FileInput/FileInput.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Flex/Flex.tsx","../src/components/FormControlLayout/FormControlLayout.tsx","../src/components/FormControlWrapper/FormControlWrapper.tsx","../src/components/Group/Group.tsx","../src/components/HoverCard/HoverCard.tsx","../src/components/Label/Label.tsx","../src/components/Link/Link.tsx","../src/components/Loader/Loader.tsx","../src/components/Menu/Menu.tsx","../src/components/Modal/Modal.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Panel/Panel.tsx","../src/components/Radio/Radio.tsx","../src/components/ReadOnlyField/ReadOnlyField.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Slider/Slider.tsx","../src/components/Stack/Stack.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Switch/Switch.tsx","../src/components/Table/Table.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Text/Text.tsx","../src/components/TextArea/TextArea.tsx","../src/components/TextField/TextField.tsx","../src/components/TimePicker/TimePicker.tsx","../src/components/Timeline/Timeline.tsx","../src/components/Title/Title.tsx","../src/components/Toast/Toast.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/TransferList/TransferList.tsx","../../adapter-common/dist/adapter-common.js"],"sourcesContent":["import React from \"react\";\n\nexport type AccordionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Accordion: React.FC<AccordionProps> = (props) => {\n return <div {...props}>Accordion</div>;\n};\n","import React from \"react\";\n\nexport type AssistiveElementProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const AssistiveElement: React.FC<AssistiveElementProps> = (props) => {\n return <div {...props}>AssistiveElement</div>;\n};\n","import React from \"react\";\n\nexport type AvatarProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n return <div {...props}>Avatar</div>;\n};\n","import React from \"react\";\n\nexport type BadgeProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Badge: React.FC<BadgeProps> = (props) => {\n return <div {...props}>Badge</div>;\n};\n","/**\n * filterStylingProps\n *\n * This utility acts as the central gatekeeper for strict design-system adherence across\n * all Recursica components mapped over MUI.\n *\n * PHILOSOPHY:\n * Recursica components are designed to be explicitly sandboxed tokens. Allowing external\n * `className` or MUI style props (`sx`, `classes`, etc.) breaks the design system by\n * allowing developers to leak arbitrary designs into components.\n *\n * By default (`overStyled=false`), this utility actively prevents developers from overriding\n * internal component styles (such as background, colors, typography, or internal classes).\n * It safely *permits* external layout overrides (like `margin` / `m`) so that components can\n * easily be spaced alongside other DOM elements.\n *\n * If a developer passes `overStyled={true}`, this filter allows all styling properties to\n * flow through to the underlying MUI component natively, at the developer's own risk.\n *\n * @param props - The raw component props passed down to the wrapper\n * @param overStyled - Boolean toggle to allow raw external styling. Defaults to false.\n * @returns Sanitized component props safe for internal styling merging\n */\n\nexport const BLOCKED_STYLING_KEYS = [\n \"className\",\n \"classes\", // MUI specific nested class overrides\n \"style\",\n \"sx\", // MUI's primary system style prop\n\n // Potential Box/Typography system props to block (if we wrap those)\n \"color\",\n \"bgcolor\",\n \"backgroundColor\",\n \"typography\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textAlign\",\n \"border\",\n \"borderTop\",\n \"borderBottom\",\n \"borderLeft\",\n \"borderRight\",\n \"borderColor\",\n \"borderRadius\",\n \"boxShadow\",\n \"display\",\n \"position\",\n \"zIndex\",\n] as const;\n\nexport type BlockedStylingKeys = (typeof BLOCKED_STYLING_KEYS)[number];\n\nexport type RecursicaSpacing =\n | \"rec-none\"\n | \"rec-sm\"\n | \"rec-default\"\n | \"rec-md\"\n | \"rec-lg\"\n | \"rec-xl\"\n | \"rec-2xl\";\n\nexport type RecursicaSize = \"small\" | \"default\" | \"large\";\n\nconst LAYOUT_PROPS = new Set([\n \"m\",\n \"my\",\n \"mx\",\n \"mt\",\n \"mb\",\n \"ml\",\n \"mr\",\n \"p\",\n \"py\",\n \"px\",\n \"pt\",\n \"pb\",\n \"pl\",\n \"pr\",\n \"gap\",\n \"rowGap\",\n \"columnGap\",\n \"top\",\n \"left\",\n \"bottom\",\n \"right\",\n]);\n\nconst SPACING_MAP: Record<string, string> = {\n \"rec-none\": \"var(--recursica_brand_dimensions_general_none)\",\n \"rec-sm\": \"var(--recursica_brand_dimensions_general_sm)\",\n \"rec-default\": \"var(--recursica_brand_dimensions_general_default)\",\n \"rec-md\": \"var(--recursica_brand_dimensions_general_md)\",\n \"rec-lg\": \"var(--recursica_brand_dimensions_general_lg)\",\n \"rec-xl\": \"var(--recursica_brand_dimensions_general_xl)\",\n \"rec-2xl\": \"var(--recursica_brand_dimensions_general_2xl)\",\n};\n\nexport type ForbiddenStyles = { [K in BlockedStylingKeys]?: never };\n\nexport type RecursicaOverStyled<T> =\n | (Omit<T, BlockedStylingKeys> &\n ForbiddenStyles & { overStyled?: false | undefined })\n | (T & { overStyled: true });\n\nexport function filterStylingProps<T extends Record<string, unknown>>(\n props: T,\n overStyled?: boolean,\n): Partial<T> {\n if (overStyled) {\n return props;\n }\n\n const sanitized = { ...props };\n\n for (const prop of BLOCKED_STYLING_KEYS) {\n if (prop in sanitized) {\n delete sanitized[prop];\n }\n }\n\n // Intercept Recursica spacing tokens for valid layout properties\n for (const [key, value] of Object.entries(sanitized)) {\n if (\n typeof value === \"string\" &&\n value.startsWith(\"rec-\") &&\n LAYOUT_PROPS.has(key)\n ) {\n if (value in SPACING_MAP) {\n (sanitized as Record<string, unknown>)[key] = SPACING_MAP[value];\n }\n }\n }\n\n return sanitized;\n}\n","import React, { forwardRef } from \"react\";\nimport { Box as MUIBox, type BoxProps as MUIBoxProps } from \"@mui/material\";\nimport {\n filterStylingProps,\n type RecursicaOverStyled,\n} from \"../../utils/filterStylingProps\";\n\nexport type BoxProps<C extends React.ElementType = \"div\"> = RecursicaOverStyled<\n MUIBoxProps<C, { component?: C }>\n>;\n\nexport const Box = forwardRef(function Box<C extends React.ElementType = \"div\">(\n props: BoxProps<C>,\n ref: React.Ref<Element>\n) {\n const { overStyled = false, ...rest } = props;\n\n const sanitizedProps = filterStylingProps(\n rest as Record<string, unknown>,\n overStyled\n );\n\n return <MUIBox ref={ref} {...sanitizedProps} />;\n}) as <C extends React.ElementType = \"div\">(\n props: BoxProps<C> & { ref?: React.ForwardedRef<any> }\n) => React.ReactElement | null;\n","import React from \"react\";\n\nexport type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = (props) => {\n return <div {...props}>Breadcrumb</div>;\n};\n","import React from \"react\";\n\nexport type ButtonProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Button: React.FC<ButtonProps> = (props) => {\n return <div {...props}>Button</div>;\n};\n","import React from \"react\";\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Card: React.FC<CardProps> = (props) => {\n return <div {...props}>Card</div>;\n};\n","import React from \"react\";\n\nexport type CheckboxProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Checkbox: React.FC<CheckboxProps> = (props) => {\n return <div {...props}>Checkbox</div>;\n};\n","import React from \"react\";\n\nexport type ChipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Chip: React.FC<ChipProps> = (props) => {\n return <div {...props}>Chip</div>;\n};\n","import React from \"react\";\n\nexport type ContainerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Container: React.FC<ContainerProps> = (props) => {\n return <div {...props}>Container</div>;\n};\n","import React from \"react\";\n\nexport type DatePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n return <div {...props}>DatePicker</div>;\n};\n","import React from \"react\";\n\nexport type DropdownProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Dropdown: React.FC<DropdownProps> = (props) => {\n return <div {...props}>Dropdown</div>;\n};\n","import React from \"react\";\n\nexport type FileInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileInput: React.FC<FileInputProps> = (props) => {\n return <div {...props}>FileInput</div>;\n};\n","import React from \"react\";\n\nexport type FileUploadProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileUpload: React.FC<FileUploadProps> = (props) => {\n return <div {...props}>FileUpload</div>;\n};\n","import React from \"react\";\n\nexport type FlexProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Flex: React.FC<FlexProps> = (props) => {\n return <div {...props}>Flex</div>;\n};\n","import React from \"react\";\n\nexport type FormControlLayoutProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlLayout: React.FC<FormControlLayoutProps> = (props) => {\n return <div {...props}>FormControlLayout</div>;\n};\n","import React from \"react\";\n\nexport type FormControlWrapperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlWrapper: React.FC<FormControlWrapperProps> = (\n props,\n) => {\n return <div {...props}>FormControlWrapper</div>;\n};\n","import React from \"react\";\n\nexport type GroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Group: React.FC<GroupProps> = (props) => {\n return <div {...props}>Group</div>;\n};\n","import React from \"react\";\n\nexport type HoverCardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const HoverCard: React.FC<HoverCardProps> = (props) => {\n return <div {...props}>HoverCard</div>;\n};\n","import React from \"react\";\n\nexport type LabelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Label: React.FC<LabelProps> = (props) => {\n return <div {...props}>Label</div>;\n};\n","import React from \"react\";\n\nexport type LinkProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Link: React.FC<LinkProps> = (props) => {\n return <div {...props}>Link</div>;\n};\n","import React from \"react\";\n\nexport type LoaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Loader: React.FC<LoaderProps> = (props) => {\n return <div {...props}>Loader</div>;\n};\n","import React from \"react\";\n\nexport type MenuProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Menu: React.FC<MenuProps> = (props) => {\n return <div {...props}>Menu</div>;\n};\n","import React from \"react\";\n\nexport type ModalProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Modal: React.FC<ModalProps> = (props) => {\n return <div {...props}>Modal</div>;\n};\n","import React from \"react\";\n\nexport type NumberInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const NumberInput: React.FC<NumberInputProps> = (props) => {\n return <div {...props}>NumberInput</div>;\n};\n","import React from \"react\";\n\nexport type PaginationProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n return <div {...props}>Pagination</div>;\n};\n","import React from \"react\";\n\nexport type PanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Panel: React.FC<PanelProps> = (props) => {\n return <div {...props}>Panel</div>;\n};\n","import React from \"react\";\n\nexport type RadioProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Radio: React.FC<RadioProps> = (props) => {\n return <div {...props}>Radio</div>;\n};\n","import React from \"react\";\n\nexport type ReadOnlyFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ReadOnlyField: React.FC<ReadOnlyFieldProps> = (props) => {\n return <div {...props}>ReadOnlyField</div>;\n};\n","import React from \"react\";\n\nexport type SegmentedControlProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const SegmentedControl: React.FC<SegmentedControlProps> = (props) => {\n return <div {...props}>SegmentedControl</div>;\n};\n","import React from \"react\";\n\nexport type SliderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Slider: React.FC<SliderProps> = (props) => {\n return <div {...props}>Slider</div>;\n};\n","import React from \"react\";\n\nexport type StackProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stack: React.FC<StackProps> = (props) => {\n return <div {...props}>Stack</div>;\n};\n","import React from \"react\";\n\nexport type StepperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stepper: React.FC<StepperProps> = (props) => {\n return <div {...props}>Stepper</div>;\n};\n","import React from \"react\";\n\nexport type SwitchProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Switch: React.FC<SwitchProps> = (props) => {\n return <div {...props}>Switch</div>;\n};\n","import React from \"react\";\n\nexport type TableProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Table: React.FC<TableProps> = (props) => {\n return <div {...props}>Table</div>;\n};\n","import React from \"react\";\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tabs: React.FC<TabsProps> = (props) => {\n return <div {...props}>Tabs</div>;\n};\n","import React from \"react\";\n\nexport type TextProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Text: React.FC<TextProps> = (props) => {\n return <div {...props}>Text</div>;\n};\n","import React from \"react\";\n\nexport type TextAreaProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextArea: React.FC<TextAreaProps> = (props) => {\n return <div {...props}>TextArea</div>;\n};\n","import React from \"react\";\n\nexport type TextFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextField: React.FC<TextFieldProps> = (props) => {\n return <div {...props}>TextField</div>;\n};\n","import React from \"react\";\n\nexport type TimePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TimePicker: React.FC<TimePickerProps> = (props) => {\n return <div {...props}>TimePicker</div>;\n};\n","import React from \"react\";\n\nexport type TimelineProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Timeline: React.FC<TimelineProps> = (props) => {\n return <div {...props}>Timeline</div>;\n};\n","import React from \"react\";\n\nexport type TitleProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Title: React.FC<TitleProps> = (props) => {\n return <div {...props}>Title</div>;\n};\n","import React from \"react\";\n\nexport type ToastProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Toast: React.FC<ToastProps> = (props) => {\n return <div {...props}>Toast</div>;\n};\n","import React from \"react\";\n\nexport type TooltipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tooltip: React.FC<TooltipProps> = (props) => {\n return <div {...props}>Tooltip</div>;\n};\n","import React from \"react\";\n\nexport type TransferListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TransferList: React.FC<TransferListProps> = (props) => {\n return <div {...props}>TransferList</div>;\n};\n","import { jsx as c, Fragment as f } from \"react/jsx-runtime\";\nimport h, { forwardRef as l, useEffect as p } from \"react\";\nconst E = \"_root_1qhn7_3\", _ = \"_contents_1qhn7_18\", r = {\n root: E,\n contents: _\n}, $ = l(function({ layer: o, contentsOnly: e, children: i, className: n, style: u, ...m }, d) {\n const y = e ? n ? `${r.root} ${r.contents} ${n}` : `${r.root} ${r.contents}` : n ? `${r.root} ${n}` : r.root;\n return /* @__PURE__ */ c(\n \"div\",\n {\n ref: d,\n className: y,\n style: u,\n ...e ? {} : { \"data-recursica-layer\": String(o) },\n ...m,\n children: i\n }\n );\n});\n$.displayName = \"Layer\";\nconst a = ({ emptyText: t = \"N/A\" }) => /* @__PURE__ */ c(h.Fragment, { children: t });\na.displayName = \"EmptyValueRenderer\";\na.check = (t) => t == null || t === \"\" || Array.isArray(t) && t.length === 0;\nconst s = \"data-recursica-theme\";\nfunction g({\n children: t,\n theme: o = \"light\"\n}) {\n return p(() => {\n const e = document.documentElement;\n return e.setAttribute(s, o), () => {\n e.removeAttribute(s);\n };\n }, [o]), /* @__PURE__ */ c(f, { children: t });\n}\nexport {\n a as EmptyValueRenderer,\n $ as Layer,\n g as RecursicaThemeProvider\n};\n//# sourceMappingURL=adapter-common.js.map\n"],"names":["Accordion","props","jsx","AssistiveElement","Avatar","Badge","BLOCKED_STYLING_KEYS","LAYOUT_PROPS","SPACING_MAP","filterStylingProps","overStyled","sanitized","prop","key","value","Box","forwardRef","ref","rest","sanitizedProps","MUIBox","Breadcrumb","Button","Card","Checkbox","Chip","Container","DatePicker","Dropdown","FileInput","FileUpload","Flex","FormControlLayout","FormControlWrapper","Group","HoverCard","Label","Link","Loader","Menu","Modal","NumberInput","Pagination","Panel","Radio","ReadOnlyField","SegmentedControl","Slider","Stack","Stepper","Switch","Table","Tabs","Text","TextArea","TextField","TimePicker","Timeline","Title","Toast","Tooltip","TransferList","E","_","r","$","l","o","e","i","n","u","m","d","y","c","a","t","h","g","p","f"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mui-adapter.js","sources":["../src/components/Accordion/Accordion.tsx","../src/components/AssistiveElement/AssistiveElement.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Badge/Badge.tsx","../src/utils/filterStylingProps.ts","../src/components/Box/Box.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Chip/Chip.tsx","../src/components/Container/Container.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/FileInput/FileInput.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Flex/Flex.tsx","../src/components/FormControlLayout/FormControlLayout.tsx","../src/components/FormControlWrapper/FormControlWrapper.tsx","../src/components/Group/Group.tsx","../src/components/HoverCard/HoverCard.tsx","../src/components/Label/Label.tsx","../src/components/Link/Link.tsx","../src/components/Loader/Loader.tsx","../src/components/Menu/Menu.tsx","../src/components/Modal/Modal.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Panel/Panel.tsx","../src/components/Radio/Radio.tsx","../src/components/ReadOnlyField/ReadOnlyField.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Slider/Slider.tsx","../src/components/Stack/Stack.tsx","../src/components/Stepper/Stepper.tsx","../src/components/Switch/Switch.tsx","../src/components/Table/Table.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Text/Text.tsx","../src/components/TextArea/TextArea.tsx","../src/components/TextField/TextField.tsx","../src/components/TimePicker/TimePicker.tsx","../src/components/Timeline/Timeline.tsx","../src/components/Title/Title.tsx","../src/components/Toast/Toast.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/TransferList/TransferList.tsx","../../adapter-common/dist/adapter-common.js"],"sourcesContent":["import React from \"react\";\n\nexport type AccordionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Accordion: React.FC<AccordionProps> = (props) => {\n return <div {...props}>Accordion</div>;\n};\n","import React from \"react\";\n\nexport type AssistiveElementProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const AssistiveElement: React.FC<AssistiveElementProps> = (props) => {\n return <div {...props}>AssistiveElement</div>;\n};\n","import React from \"react\";\n\nexport type AvatarProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n return <div {...props}>Avatar</div>;\n};\n","import React from \"react\";\n\nexport type BadgeProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Badge: React.FC<BadgeProps> = (props) => {\n return <div {...props}>Badge</div>;\n};\n","/**\n * filterStylingProps\n *\n * This utility acts as the central gatekeeper for strict design-system adherence across\n * all Recursica components mapped over MUI.\n *\n * PHILOSOPHY:\n * Recursica components are designed to be explicitly sandboxed tokens. Allowing external\n * `className` or MUI style props (`sx`, `classes`, etc.) breaks the design system by\n * allowing developers to leak arbitrary designs into components.\n *\n * By default (`overStyled=false`), this utility actively prevents developers from overriding\n * internal component styles (such as background, colors, typography, or internal classes).\n * It safely *permits* external layout overrides (like `margin` / `m`) so that components can\n * easily be spaced alongside other DOM elements.\n *\n * If a developer passes `overStyled={true}`, this filter allows all styling properties to\n * flow through to the underlying MUI component natively, at the developer's own risk.\n *\n * @param props - The raw component props passed down to the wrapper\n * @param overStyled - Boolean toggle to allow raw external styling. Defaults to false.\n * @returns Sanitized component props safe for internal styling merging\n */\n\nexport const BLOCKED_STYLING_KEYS = [\n \"className\",\n \"classes\", // MUI specific nested class overrides\n \"style\",\n \"sx\", // MUI's primary system style prop\n\n // Potential Box/Typography system props to block (if we wrap those)\n \"color\",\n \"bgcolor\",\n \"backgroundColor\",\n \"typography\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textAlign\",\n \"border\",\n \"borderTop\",\n \"borderBottom\",\n \"borderLeft\",\n \"borderRight\",\n \"borderColor\",\n \"borderRadius\",\n \"boxShadow\",\n \"display\",\n \"position\",\n \"zIndex\",\n] as const;\n\nexport type BlockedStylingKeys = (typeof BLOCKED_STYLING_KEYS)[number];\n\nexport type RecursicaSpacing =\n | \"rec-none\"\n | \"rec-sm\"\n | \"rec-default\"\n | \"rec-md\"\n | \"rec-lg\"\n | \"rec-xl\"\n | \"rec-2xl\";\n\nexport type RecursicaSize = \"small\" | \"default\" | \"large\";\n\nconst LAYOUT_PROPS = new Set([\n \"m\",\n \"my\",\n \"mx\",\n \"mt\",\n \"mb\",\n \"ml\",\n \"mr\",\n \"p\",\n \"py\",\n \"px\",\n \"pt\",\n \"pb\",\n \"pl\",\n \"pr\",\n \"gap\",\n \"rowGap\",\n \"columnGap\",\n \"top\",\n \"left\",\n \"bottom\",\n \"right\",\n]);\n\nconst SPACING_MAP: Record<string, string> = {\n \"rec-none\": \"var(--recursica_brand_dimensions_general_none)\",\n \"rec-sm\": \"var(--recursica_brand_dimensions_general_sm)\",\n \"rec-default\": \"var(--recursica_brand_dimensions_general_default)\",\n \"rec-md\": \"var(--recursica_brand_dimensions_general_md)\",\n \"rec-lg\": \"var(--recursica_brand_dimensions_general_lg)\",\n \"rec-xl\": \"var(--recursica_brand_dimensions_general_xl)\",\n \"rec-2xl\": \"var(--recursica_brand_dimensions_general_2xl)\",\n};\n\nexport type ForbiddenStyles = { [K in BlockedStylingKeys]?: never };\n\nexport type RecursicaOverStyled<T> =\n | (Omit<T, BlockedStylingKeys> &\n ForbiddenStyles & { overStyled?: false | undefined })\n | (T & { overStyled: true });\n\nexport function filterStylingProps<T extends Record<string, unknown>>(\n props: T,\n overStyled?: boolean,\n): Partial<T> {\n if (overStyled) {\n return props;\n }\n\n const sanitized = { ...props };\n\n for (const prop of BLOCKED_STYLING_KEYS) {\n if (prop in sanitized) {\n delete sanitized[prop];\n }\n }\n\n // Intercept Recursica spacing tokens for valid layout properties\n for (const [key, value] of Object.entries(sanitized)) {\n if (\n typeof value === \"string\" &&\n value.startsWith(\"rec-\") &&\n LAYOUT_PROPS.has(key)\n ) {\n if (value in SPACING_MAP) {\n (sanitized as Record<string, unknown>)[key] = SPACING_MAP[value];\n }\n }\n }\n\n return sanitized;\n}\n","import React, { forwardRef } from \"react\";\nimport { Box as MUIBox, type BoxProps as MUIBoxProps } from \"@mui/material\";\nimport {\n filterStylingProps,\n type RecursicaOverStyled,\n} from \"../../utils/filterStylingProps\";\n\nexport type BoxProps<C extends React.ElementType = \"div\"> = RecursicaOverStyled<\n MUIBoxProps<C, { component?: C }>\n>;\n\nexport const Box = forwardRef(function Box<C extends React.ElementType = \"div\">(\n props: BoxProps<C>,\n ref: React.Ref<Element>,\n) {\n const { overStyled = false, ...rest } = props;\n\n const sanitizedProps = filterStylingProps(\n rest as Record<string, unknown>,\n overStyled,\n );\n\n return <MUIBox ref={ref} {...sanitizedProps} />;\n}) as <C extends React.ElementType = \"div\">(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: BoxProps<C> & { ref?: React.ForwardedRef<any> },\n) => React.ReactElement | null;\n","import React from \"react\";\n\nexport type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = (props) => {\n return <div {...props}>Breadcrumb</div>;\n};\n","import React from \"react\";\n\nexport type ButtonProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Button: React.FC<ButtonProps> = (props) => {\n return <div {...props}>Button</div>;\n};\n","import React from \"react\";\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Card: React.FC<CardProps> = (props) => {\n return <div {...props}>Card</div>;\n};\n","import React from \"react\";\n\nexport type CheckboxProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Checkbox: React.FC<CheckboxProps> = (props) => {\n return <div {...props}>Checkbox</div>;\n};\n","import React from \"react\";\n\nexport type ChipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Chip: React.FC<ChipProps> = (props) => {\n return <div {...props}>Chip</div>;\n};\n","import React from \"react\";\n\nexport type ContainerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Container: React.FC<ContainerProps> = (props) => {\n return <div {...props}>Container</div>;\n};\n","import React from \"react\";\n\nexport type DatePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n return <div {...props}>DatePicker</div>;\n};\n","import React from \"react\";\n\nexport type DropdownProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Dropdown: React.FC<DropdownProps> = (props) => {\n return <div {...props}>Dropdown</div>;\n};\n","import React from \"react\";\n\nexport type FileInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileInput: React.FC<FileInputProps> = (props) => {\n return <div {...props}>FileInput</div>;\n};\n","import React from \"react\";\n\nexport type FileUploadProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FileUpload: React.FC<FileUploadProps> = (props) => {\n return <div {...props}>FileUpload</div>;\n};\n","import React from \"react\";\n\nexport type FlexProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Flex: React.FC<FlexProps> = (props) => {\n return <div {...props}>Flex</div>;\n};\n","import React from \"react\";\n\nexport type FormControlLayoutProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlLayout: React.FC<FormControlLayoutProps> = (props) => {\n return <div {...props}>FormControlLayout</div>;\n};\n","import React from \"react\";\n\nexport type FormControlWrapperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const FormControlWrapper: React.FC<FormControlWrapperProps> = (\n props,\n) => {\n return <div {...props}>FormControlWrapper</div>;\n};\n","import React from \"react\";\n\nexport type GroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Group: React.FC<GroupProps> = (props) => {\n return <div {...props}>Group</div>;\n};\n","import React from \"react\";\n\nexport type HoverCardProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const HoverCard: React.FC<HoverCardProps> = (props) => {\n return <div {...props}>HoverCard</div>;\n};\n","import React from \"react\";\n\nexport type LabelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Label: React.FC<LabelProps> = (props) => {\n return <div {...props}>Label</div>;\n};\n","import React from \"react\";\n\nexport type LinkProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Link: React.FC<LinkProps> = (props) => {\n return <div {...props}>Link</div>;\n};\n","import React from \"react\";\n\nexport type LoaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Loader: React.FC<LoaderProps> = (props) => {\n return <div {...props}>Loader</div>;\n};\n","import React from \"react\";\n\nexport type MenuProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Menu: React.FC<MenuProps> = (props) => {\n return <div {...props}>Menu</div>;\n};\n","import React from \"react\";\n\nexport type ModalProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Modal: React.FC<ModalProps> = (props) => {\n return <div {...props}>Modal</div>;\n};\n","import React from \"react\";\n\nexport type NumberInputProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const NumberInput: React.FC<NumberInputProps> = (props) => {\n return <div {...props}>NumberInput</div>;\n};\n","import React from \"react\";\n\nexport type PaginationProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n return <div {...props}>Pagination</div>;\n};\n","import React from \"react\";\n\nexport type PanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Panel: React.FC<PanelProps> = (props) => {\n return <div {...props}>Panel</div>;\n};\n","import React from \"react\";\n\nexport type RadioProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Radio: React.FC<RadioProps> = (props) => {\n return <div {...props}>Radio</div>;\n};\n","import React from \"react\";\n\nexport type ReadOnlyFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ReadOnlyField: React.FC<ReadOnlyFieldProps> = (props) => {\n return <div {...props}>ReadOnlyField</div>;\n};\n","import React from \"react\";\n\nexport type SegmentedControlProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const SegmentedControl: React.FC<SegmentedControlProps> = (props) => {\n return <div {...props}>SegmentedControl</div>;\n};\n","import React from \"react\";\n\nexport type SliderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Slider: React.FC<SliderProps> = (props) => {\n return <div {...props}>Slider</div>;\n};\n","import React from \"react\";\n\nexport type StackProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stack: React.FC<StackProps> = (props) => {\n return <div {...props}>Stack</div>;\n};\n","import React from \"react\";\n\nexport type StepperProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Stepper: React.FC<StepperProps> = (props) => {\n return <div {...props}>Stepper</div>;\n};\n","import React from \"react\";\n\nexport type SwitchProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Switch: React.FC<SwitchProps> = (props) => {\n return <div {...props}>Switch</div>;\n};\n","import React from \"react\";\n\nexport type TableProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Table: React.FC<TableProps> = (props) => {\n return <div {...props}>Table</div>;\n};\n","import React from \"react\";\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tabs: React.FC<TabsProps> = (props) => {\n return <div {...props}>Tabs</div>;\n};\n","import React from \"react\";\n\nexport type TextProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Text: React.FC<TextProps> = (props) => {\n return <div {...props}>Text</div>;\n};\n","import React from \"react\";\n\nexport type TextAreaProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextArea: React.FC<TextAreaProps> = (props) => {\n return <div {...props}>TextArea</div>;\n};\n","import React from \"react\";\n\nexport type TextFieldProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TextField: React.FC<TextFieldProps> = (props) => {\n return <div {...props}>TextField</div>;\n};\n","import React from \"react\";\n\nexport type TimePickerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TimePicker: React.FC<TimePickerProps> = (props) => {\n return <div {...props}>TimePicker</div>;\n};\n","import React from \"react\";\n\nexport type TimelineProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Timeline: React.FC<TimelineProps> = (props) => {\n return <div {...props}>Timeline</div>;\n};\n","import React from \"react\";\n\nexport type TitleProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Title: React.FC<TitleProps> = (props) => {\n return <div {...props}>Title</div>;\n};\n","import React from \"react\";\n\nexport type ToastProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Toast: React.FC<ToastProps> = (props) => {\n return <div {...props}>Toast</div>;\n};\n","import React from \"react\";\n\nexport type TooltipProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Tooltip: React.FC<TooltipProps> = (props) => {\n return <div {...props}>Tooltip</div>;\n};\n","import React from \"react\";\n\nexport type TransferListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const TransferList: React.FC<TransferListProps> = (props) => {\n return <div {...props}>TransferList</div>;\n};\n","import { jsx as c, Fragment as f } from \"react/jsx-runtime\";\nimport h, { forwardRef as l, useEffect as p } from \"react\";\nconst E = \"_root_1qhn7_3\", _ = \"_contents_1qhn7_18\", r = {\n root: E,\n contents: _\n}, $ = l(function({ layer: o, contentsOnly: e, children: i, className: n, style: u, ...m }, d) {\n const y = e ? n ? `${r.root} ${r.contents} ${n}` : `${r.root} ${r.contents}` : n ? `${r.root} ${n}` : r.root;\n return /* @__PURE__ */ c(\n \"div\",\n {\n ref: d,\n className: y,\n style: u,\n ...e ? {} : { \"data-recursica-layer\": String(o) },\n ...m,\n children: i\n }\n );\n});\n$.displayName = \"Layer\";\nconst a = ({ emptyText: t = \"N/A\" }) => /* @__PURE__ */ c(h.Fragment, { children: t });\na.displayName = \"EmptyValueRenderer\";\na.check = (t) => t == null || t === \"\" || Array.isArray(t) && t.length === 0;\nconst s = \"data-recursica-theme\";\nfunction g({\n children: t,\n theme: o = \"light\"\n}) {\n return p(() => {\n const e = document.documentElement;\n return e.setAttribute(s, o), () => {\n e.removeAttribute(s);\n };\n }, [o]), /* @__PURE__ */ c(f, { children: t });\n}\nexport {\n a as EmptyValueRenderer,\n $ as Layer,\n g as RecursicaThemeProvider\n};\n//# sourceMappingURL=adapter-common.js.map\n"],"names":["Accordion","props","jsx","AssistiveElement","Avatar","Badge","BLOCKED_STYLING_KEYS","LAYOUT_PROPS","SPACING_MAP","filterStylingProps","overStyled","sanitized","prop","key","value","Box","forwardRef","ref","rest","sanitizedProps","MUIBox","Breadcrumb","Button","Card","Checkbox","Chip","Container","DatePicker","Dropdown","FileInput","FileUpload","Flex","FormControlLayout","FormControlWrapper","Group","HoverCard","Label","Link","Loader","Menu","Modal","NumberInput","Pagination","Panel","Radio","ReadOnlyField","SegmentedControl","Slider","Stack","Stepper","Switch","Table","Tabs","Text","TextArea","TextField","TimePicker","Timeline","Title","Toast","Tooltip","TransferList","E","_","r","$","l","o","e","i","n","u","m","d","y","c","a","t","h","g","p","f"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const OverStylingInfo: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VersionInfo: () => import("react/jsx-runtime").JSX.Element;
|
package/package.json
CHANGED
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
"private": false,
|
|
5
5
|
"homepage": "https://github.com/borderux/recursica/tree/main/packages/mui-adapter",
|
|
6
6
|
"author": "hi@borderux.com",
|
|
7
|
+
"license": "MIT",
|
|
7
8
|
"bugs": {
|
|
8
9
|
"url": "https://github.com/borderux/recursica/issues"
|
|
9
10
|
},
|
|
10
11
|
"repository": {
|
|
11
12
|
"type": "git",
|
|
12
|
-
"url": "git+https://github.com/borderux/recursica.git"
|
|
13
|
+
"url": "git+https://github.com/borderux/recursica.git",
|
|
14
|
+
"directory": "packages/mui-adapter"
|
|
13
15
|
},
|
|
14
|
-
"version": "0.
|
|
16
|
+
"version": "0.2.0",
|
|
15
17
|
"publishConfig": {
|
|
16
18
|
"access": "public"
|
|
17
19
|
},
|
|
@@ -61,7 +63,6 @@
|
|
|
61
63
|
"@storybook/addon-a11y": "^10.3.3",
|
|
62
64
|
"@storybook/addon-docs": "^10.3.3",
|
|
63
65
|
"@storybook/addon-mcp": "^0.4.2",
|
|
64
|
-
"@storybook/addon-onboarding": "^10.3.3",
|
|
65
66
|
"@storybook/addon-vitest": "^10.3.3",
|
|
66
67
|
"@storybook/react-vite": "^10.3.3",
|
|
67
68
|
"@types/react": "^19.1.2",
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { Meta } from "@storybook/react-vite";
|
|
2
|
+
import { AdaptersContent, MuiLogo } from "@recursica/storybook-template";
|
|
3
|
+
import { Button } from "./components/Button/Button";
|
|
4
|
+
import { VersionInfo } from "./Version";
|
|
5
|
+
import { OverStylingInfo } from "./OverStyling";
|
|
6
|
+
|
|
7
|
+
const DOCS_URL = "https://recursica.com";
|
|
8
|
+
const FORGE_URL = "https://forge.recursica.com";
|
|
9
|
+
|
|
10
|
+
const sectionStyle: React.CSSProperties = {
|
|
11
|
+
marginBottom: 32,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const headingStyle: React.CSSProperties = {
|
|
15
|
+
fontSize: 14,
|
|
16
|
+
fontWeight: 600,
|
|
17
|
+
color: "#333",
|
|
18
|
+
marginBottom: 8,
|
|
19
|
+
marginTop: 0,
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const bodyStyle: React.CSSProperties = {
|
|
23
|
+
fontSize: 14,
|
|
24
|
+
lineHeight: 1.6,
|
|
25
|
+
color: "#444",
|
|
26
|
+
margin: 0,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const linkStyle: React.CSSProperties = {
|
|
30
|
+
color: "#0066cc",
|
|
31
|
+
textDecoration: "none",
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function IntroductionContent() {
|
|
35
|
+
return (
|
|
36
|
+
<div style={{ padding: 24, maxWidth: 640 }}>
|
|
37
|
+
<div
|
|
38
|
+
style={{
|
|
39
|
+
display: "flex",
|
|
40
|
+
alignItems: "center",
|
|
41
|
+
gap: "16px",
|
|
42
|
+
marginBottom: "16px",
|
|
43
|
+
}}
|
|
44
|
+
>
|
|
45
|
+
<MuiLogo width={40} height={40} />
|
|
46
|
+
<div>
|
|
47
|
+
<h1 style={{ fontSize: 24, fontWeight: 700, margin: 0 }}>
|
|
48
|
+
Recursica Design System (MUI Adapter)
|
|
49
|
+
</h1>
|
|
50
|
+
<a
|
|
51
|
+
href="https://mui.com"
|
|
52
|
+
target="_blank"
|
|
53
|
+
rel="noreferrer"
|
|
54
|
+
style={linkStyle}
|
|
55
|
+
>
|
|
56
|
+
mui.com
|
|
57
|
+
</a>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<p style={{ ...bodyStyle, marginBottom: 24 }}>
|
|
61
|
+
This Storybook showcases the Recursica design system implemented for the{" "}
|
|
62
|
+
<strong>Material UI (MUI) Kit</strong>. It provides reusable components
|
|
63
|
+
that map our design tokens to MUI's robust component layer.
|
|
64
|
+
</p>
|
|
65
|
+
|
|
66
|
+
<section style={sectionStyle}>
|
|
67
|
+
<h2 style={headingStyle}>Looking for another UI Kit?</h2>
|
|
68
|
+
<p style={bodyStyle}>
|
|
69
|
+
Are you using a different UI Kit (like Mantine)? Recursica provides
|
|
70
|
+
multiple adapters for different frameworks.
|
|
71
|
+
</p>
|
|
72
|
+
<div style={{ marginTop: "16px" }}>
|
|
73
|
+
<Button
|
|
74
|
+
href="./?path=/story/introduction--adapters"
|
|
75
|
+
target="_parent"
|
|
76
|
+
variant="solid"
|
|
77
|
+
>
|
|
78
|
+
View Supported Adapters
|
|
79
|
+
</Button>
|
|
80
|
+
</div>
|
|
81
|
+
</section>
|
|
82
|
+
|
|
83
|
+
<section style={sectionStyle}>
|
|
84
|
+
<h2 style={headingStyle}>Installation</h2>
|
|
85
|
+
<p style={bodyStyle}>
|
|
86
|
+
To install the MUI adapter in your project, run:
|
|
87
|
+
</p>
|
|
88
|
+
<pre
|
|
89
|
+
style={{
|
|
90
|
+
padding: 12,
|
|
91
|
+
backgroundColor: "#f5f5f5",
|
|
92
|
+
borderRadius: 6,
|
|
93
|
+
fontSize: 13,
|
|
94
|
+
marginTop: 8,
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
<code>
|
|
98
|
+
npm install @recursica/mui-adapter @mui/material @emotion/react
|
|
99
|
+
@emotion/styled
|
|
100
|
+
</code>
|
|
101
|
+
</pre>
|
|
102
|
+
</section>
|
|
103
|
+
|
|
104
|
+
<section style={sectionStyle}>
|
|
105
|
+
<h2 style={headingStyle}>Tokens</h2>
|
|
106
|
+
<p style={bodyStyle}>
|
|
107
|
+
Raw design tokens (colors, sizes, font weights, opacities, etc.) that
|
|
108
|
+
feed the theme and components. These are the primitive values defined
|
|
109
|
+
in your token set and exposed as CSS custom properties.
|
|
110
|
+
</p>
|
|
111
|
+
</section>
|
|
112
|
+
|
|
113
|
+
<section style={sectionStyle}>
|
|
114
|
+
<h2 style={headingStyle}>Theme</h2>
|
|
115
|
+
<p style={bodyStyle}>
|
|
116
|
+
Brand and theme layer built on top of tokens. Typography types,
|
|
117
|
+
dimensions, and layout grids are defined here. Theme uses the tokens
|
|
118
|
+
and exposes both CSS variables and helper classes (e.g. typography
|
|
119
|
+
classes) for consistent styling across the product.
|
|
120
|
+
</p>
|
|
121
|
+
</section>
|
|
122
|
+
|
|
123
|
+
<section style={sectionStyle}>
|
|
124
|
+
<h2 style={headingStyle}>Configuring Recursica</h2>
|
|
125
|
+
<p style={bodyStyle}>
|
|
126
|
+
To modify the Recursica configuration (tokens, brand, theme), go to{" "}
|
|
127
|
+
<a
|
|
128
|
+
href={FORGE_URL}
|
|
129
|
+
target="_blank"
|
|
130
|
+
rel="noopener noreferrer"
|
|
131
|
+
style={linkStyle}
|
|
132
|
+
>
|
|
133
|
+
{FORGE_URL}
|
|
134
|
+
</a>
|
|
135
|
+
. Changes there drive the tokens and theme you see in this Storybook.
|
|
136
|
+
</p>
|
|
137
|
+
</section>
|
|
138
|
+
|
|
139
|
+
<section style={sectionStyle}>
|
|
140
|
+
<h2 style={headingStyle}>Documentation</h2>
|
|
141
|
+
<p style={bodyStyle}>
|
|
142
|
+
For full documentation, guides, and API reference, visit{" "}
|
|
143
|
+
<a
|
|
144
|
+
href={DOCS_URL}
|
|
145
|
+
target="_blank"
|
|
146
|
+
rel="noopener noreferrer"
|
|
147
|
+
style={linkStyle}
|
|
148
|
+
>
|
|
149
|
+
{DOCS_URL}
|
|
150
|
+
</a>
|
|
151
|
+
.
|
|
152
|
+
</p>
|
|
153
|
+
</section>
|
|
154
|
+
</div>
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const meta = {
|
|
159
|
+
title: "Introduction",
|
|
160
|
+
} satisfies Meta;
|
|
161
|
+
|
|
162
|
+
export default meta;
|
|
163
|
+
|
|
164
|
+
export const Welcome = {
|
|
165
|
+
render: () => <IntroductionContent />,
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
export const Adapters = {
|
|
169
|
+
render: () => <AdaptersContent />,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export const OverStyling = {
|
|
173
|
+
name: "Over Styling",
|
|
174
|
+
render: () => <OverStylingInfo />,
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export const VersionInfoStory = {
|
|
178
|
+
name: "Version Info",
|
|
179
|
+
render: () => <VersionInfo />,
|
|
180
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
1
|
import {
|
|
3
2
|
Container,
|
|
4
3
|
Paper,
|
|
@@ -9,7 +8,7 @@ import {
|
|
|
9
8
|
} from "@mui/material";
|
|
10
9
|
import { Button } from "./components/Button/Button";
|
|
11
10
|
|
|
12
|
-
const OverStylingInfo = () => {
|
|
11
|
+
export const OverStylingInfo = () => {
|
|
13
12
|
return (
|
|
14
13
|
<Container maxWidth="md" sx={{ py: 4 }}>
|
|
15
14
|
<Paper variant="outlined" sx={{ p: 4, borderRadius: 2 }}>
|
|
@@ -224,12 +223,3 @@ const OverStylingInfo = () => {
|
|
|
224
223
|
</Container>
|
|
225
224
|
);
|
|
226
225
|
};
|
|
227
|
-
|
|
228
|
-
const meta: Meta<typeof OverStylingInfo> = {
|
|
229
|
-
title: "Introduction/Over Styling",
|
|
230
|
-
component: OverStylingInfo,
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
export default meta;
|
|
234
|
-
|
|
235
|
-
export const Default: StoryObj<typeof OverStylingInfo> = {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
1
|
import ReactMarkdown from "react-markdown";
|
|
3
2
|
import {
|
|
4
3
|
Container,
|
|
@@ -12,7 +11,7 @@ import {
|
|
|
12
11
|
import pkg from "../package.json";
|
|
13
12
|
import changelog from "../CHANGELOG.md?raw";
|
|
14
13
|
|
|
15
|
-
const VersionInfo = () => {
|
|
14
|
+
export const VersionInfo = () => {
|
|
16
15
|
return (
|
|
17
16
|
<Container size="md" py="xl">
|
|
18
17
|
<Paper withBorder p="xl" radius="md">
|
|
@@ -43,14 +42,3 @@ const VersionInfo = () => {
|
|
|
43
42
|
</Container>
|
|
44
43
|
);
|
|
45
44
|
};
|
|
46
|
-
|
|
47
|
-
const meta: Meta<typeof VersionInfo> = {
|
|
48
|
-
title: "Introduction/Version Info",
|
|
49
|
-
component: VersionInfo,
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export default meta;
|
|
53
|
-
|
|
54
|
-
type Story = StoryObj<typeof VersionInfo>;
|
|
55
|
-
|
|
56
|
-
export const Default: Story = {};
|