@recursica/mantine-adapter 0.55.0 → 0.55.2
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 +26 -0
- package/dist/index.d.ts +34 -9
- package/dist/mantine-adapter.cjs +2 -2
- package/dist/mantine-adapter.cjs.map +1 -1
- package/dist/mantine-adapter.css +1 -1
- package/dist/mantine-adapter.js +1767 -1728
- package/dist/mantine-adapter.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Accordion/Accordion.stories.tsx +0 -24
- package/src/components/AssistiveElement/AssistiveElement.stories.tsx +3 -9
- package/src/components/Avatar/Avatar.stories.tsx +0 -15
- package/src/components/Breadcrumb/BREADCRUMB_IMPLEMENTATION_NOTES.md +33 -0
- package/src/components/Breadcrumb/Breadcrumb.module.css +20 -0
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +55 -5
- package/src/components/Breadcrumb/Breadcrumb.tsx +17 -3
- package/src/components/Breadcrumb/markCurrentPageItem.test.ts +49 -0
- package/src/components/Button/Button.module.css +16 -0
- package/src/components/Button/Button.tsx +14 -1
- package/src/components/Button/IMPLEMENTATION_NOTES.md +31 -5
- package/src/components/DatePicker/DATEPICKER_IMPLEMENTATION_NOTES.md +2 -1
- package/src/components/DatePicker/DatePicker.tsx +22 -8
- package/src/components/Dropdown/Dropdown.stories.tsx +2 -8
- package/src/components/Dropdown/Dropdown.tsx +2 -1
- package/src/components/FormControlLayout/FormControlLayout.stories.tsx +1 -1
- package/src/components/Grid/GRID_IMPLEMENTATION_NOTES.md +9 -0
- package/src/components/Grid/Grid.stories.tsx +24 -0
- package/src/components/Label/Label.stories.tsx +1 -1
- package/src/components/Link/IMPLEMENTATION_NOTES.md +1 -1
- package/src/components/Link/Link.module.css +20 -0
- package/src/components/NumberInput/NUMBER_INPUT_IMPLEMENTATION_NOTES.md +6 -0
- package/src/components/NumberInput/NumberInput.module.css +11 -0
- package/src/components/Panel/Panel.tsx +1 -1
- package/src/components/Stepper/IMPLEMENTATION_NOTES.md +28 -0
- package/src/components/Stepper/Stepper.module.css +6 -6
- package/src/components/Tabs/IMPLEMENTATION_NOTES.md +27 -0
- package/src/components/Tabs/Tabs.module.css +30 -9
- package/src/components/TimePicker/TIMEPICKER_IMPLEMENTATION_NOTES.md +31 -0
- package/src/components/TimePicker/TimePicker.module.css +30 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @recursica/mantine-adapter
|
|
2
2
|
|
|
3
|
+
## 0.55.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 46b123a: Breadcrumb now marks its last child `aria-current="page"` and, if it looks interactive (has `href`/`onClick`), strips both and drops it from the tab order — best-effort, not a guarantee for custom Link components with their own internal navigation. Backed by a CSS reset (no color/underline/pointer-events) and the current item now picks up Link's font-family. New shared `markCurrentPageItem` util in adapter-common. mui-adapter's story also gets parity with mantine-adapter's: the last crumb renders as plain text, not a `Link`.
|
|
8
|
+
- 39de7b2: mui-adapter: Dropdown now renders its `placeholder` prop and gains a matching `.placeholder` style; Autocomplete's open menu now has the same input-to-menu gap as mantine; TimePicker's leading icon is no longer offset too far right.
|
|
9
|
+
mantine-adapter: DatePicker's read-only value is now formatted via `valueFormat` instead of a raw `Date.toString()`; TimePicker's leading icon no longer overlaps the field text.
|
|
10
|
+
- 46b123a: Link now replaces the browser's native focus outline with the recursica focus ring (`--recursica_brand_states_focus_*`), matching Button/every other interactive component instead of falling back to the browser default. Fixes the same incorrect ring on Breadcrumb, since its items are typically Links.
|
|
11
|
+
- 39de7b2: Breadcrumb story: last crumb is now plain text instead of a `Link` — it represents the current page and shouldn't be clickable.
|
|
12
|
+
- 39de7b2: mui-adapter: Stepper's connector gap, description content, and button spacing now match mantine; Stepper vertical spacing now matches mantine; Timeline's connector now reaches the next bullet; Tree's chevron-to-label gap now uses the right token; Pagination is now fully wired up (circle size/colors/outline, chevron colors/hover, ripple removed, ellipsis centering, text labels).
|
|
13
|
+
mantine-adapter: Stepper's completed/current label and description colors now apply (were silently falling back to Mantine's own default gray/black).
|
|
14
|
+
- 39de7b2: mui-adapter: Switch's read-only label and static-variations spacing now match mantine; Label's right-alignment and optional-text parentheses now work; Button's loading state shows only a centered loader (no label); Text's static-variations spacing matches mantine; Tabs' `inverted` variant now actually renders the tab list below the content.
|
|
15
|
+
mantine-adapter: Button's loader color now matches its label text color; Tabs' `inverted` variant now actually renders the tab list below the content; Grid gains a `ResponsiveSizes` story mirroring mui-adapter's.
|
|
16
|
+
- Updated dependencies [46b123a]
|
|
17
|
+
- @recursica/adapter-common@0.28.2
|
|
18
|
+
|
|
19
|
+
## 0.55.1
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- a104e8a: Removed `searchable` from `Dropdown`'s shared contract — not a supported feature (that's `AutoComplete`'s job). mantine-adapter now strips it at runtime like its other unsupported native props; mui-adapter never wired it up.
|
|
24
|
+
- a104e8a: Fixed `Panel`'s `wrapHeaderText` default (was `false`, contract documents `true`) in both adapters.
|
|
25
|
+
- Updated dependencies [a104e8a]
|
|
26
|
+
- Updated dependencies [a104e8a]
|
|
27
|
+
- @recursica/adapter-common@0.28.1
|
|
28
|
+
|
|
3
29
|
## 0.55.0
|
|
4
30
|
|
|
5
31
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -71,6 +71,7 @@ import { PopoverProps as PopoverProps_2 } from '@mantine/core';
|
|
|
71
71
|
import { PopoverTargetProps as PopoverTargetProps_2 } from '@mantine/core';
|
|
72
72
|
import { RadioGroupProps as RadioGroupProps_2 } from '@mantine/core';
|
|
73
73
|
import { RadioProps } from '@mantine/core';
|
|
74
|
+
import { ReactNode } from 'react';
|
|
74
75
|
import { RefAttributes } from 'react';
|
|
75
76
|
import { SegmentedControlProps as SegmentedControlProps_2 } from '@mantine/core';
|
|
76
77
|
import { SelectProps } from '@mantine/core';
|
|
@@ -196,6 +197,14 @@ export declare type BlockedStylingKeys = "className" | "classNames" | "classes"
|
|
|
196
197
|
|
|
197
198
|
export declare const Breadcrumb: typeof rawComponents.Breadcrumb;
|
|
198
199
|
|
|
200
|
+
/**
|
|
201
|
+
* The last child should always be plain, non-interactive text (e.g. a `<span>`) — it represents
|
|
202
|
+
* the current page and shouldn't be a link. Breadcrumb tries to correct for a Link/anchor passed
|
|
203
|
+
* there anyway via `markCurrentPageItem` (aria-current, stripped href/onClick, CSS reset in
|
|
204
|
+
* Breadcrumb.module.css), but that's a best-effort safety net, not a guarantee — it can't stop a
|
|
205
|
+
* custom Link component (e.g. a router Link) that navigates from its own internal handler. See
|
|
206
|
+
* BREADCRUMB_IMPLEMENTATION_NOTES.md.
|
|
207
|
+
*/
|
|
199
208
|
declare const Breadcrumb_2: ForwardRefExoticComponent<BreadcrumbProps & RefAttributes<HTMLDivElement>>;
|
|
200
209
|
|
|
201
210
|
declare type BreadcrumbProps = RecursicaOverStyled<Omit<BreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps>;
|
|
@@ -883,6 +892,18 @@ declare const Loader_2: ForwardRefExoticComponent<LoaderProps & RefAttributes<HT
|
|
|
883
892
|
|
|
884
893
|
declare type LoaderProps = RecursicaOverStyled<Omit<LoaderProps_2, "variant" | "size" | "type"> & RecursicaLoaderProps>;
|
|
885
894
|
|
|
895
|
+
/**
|
|
896
|
+
* Marks the last Breadcrumb child as the current page: adds `aria-current="page"`, and — if the
|
|
897
|
+
* element looks interactive (has `href` or `onClick`) — strips those props and sets `tabIndex={-1}`
|
|
898
|
+
* so it drops out of the tab order.
|
|
899
|
+
*
|
|
900
|
+
* This is best-effort, not a guarantee. `cloneElement` can only override props the element
|
|
901
|
+
* actually reads. A custom Link component (e.g. React Router's) that drives navigation from its
|
|
902
|
+
* own internal handler rather than a passed-through `onClick` will keep navigating regardless.
|
|
903
|
+
* The last crumb should really just be plain text — see BREADCRUMB_IMPLEMENTATION_NOTES.md.
|
|
904
|
+
*/
|
|
905
|
+
export declare function markCurrentPageItem(children: ReactNode): ReactNode;
|
|
906
|
+
|
|
886
907
|
export declare const Menu: typeof rawComponents.Menu;
|
|
887
908
|
|
|
888
909
|
declare const Menu_2: MenuComponent;
|
|
@@ -1727,8 +1748,11 @@ export declare interface RecursicaAccordionItemProps {
|
|
|
1727
1748
|
leftIcon?: default_2.ReactNode;
|
|
1728
1749
|
/** Toggle visibility of the divider below the item */
|
|
1729
1750
|
divider?: boolean;
|
|
1730
|
-
/** Unique value identifier for this item
|
|
1731
|
-
|
|
1751
|
+
/** Unique value identifier for this item. Required — omitting it on multiple items collapses
|
|
1752
|
+
* them to the same identity and they toggle together (see beam-adapter's
|
|
1753
|
+
* docs/OPEN_DECISIONS.md #23b). Was optional in the type until 2026-08-29 even though every
|
|
1754
|
+
* real consumer already supplied it. */
|
|
1755
|
+
value: string;
|
|
1732
1756
|
/** Disables interaction with this item — it can't be expanded or collapsed, and is dimmed */
|
|
1733
1757
|
disabled?: boolean;
|
|
1734
1758
|
}
|
|
@@ -1978,7 +2002,7 @@ export declare interface RecursicaDatePickerProps extends Omit<DatePickerInputPr
|
|
|
1978
2002
|
declare interface RecursicaDatePickerProps_2 {
|
|
1979
2003
|
}
|
|
1980
2004
|
|
|
1981
|
-
export declare interface RecursicaDropdownProps extends Omit<SelectProps, "size" | "variant" | "radius" | "wrapperProps" | "data">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps, RecursicaDropdownProps_2 {
|
|
2005
|
+
export declare interface RecursicaDropdownProps extends Omit<SelectProps, "size" | "variant" | "radius" | "wrapperProps" | "data" | "searchable">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps, RecursicaDropdownProps_2 {
|
|
1982
2006
|
}
|
|
1983
2007
|
|
|
1984
2008
|
/**
|
|
@@ -1991,8 +2015,6 @@ declare interface RecursicaDropdownProps_2 {
|
|
|
1991
2015
|
* selected display text — stays a real string (a whole subtree can't be matched/written),
|
|
1992
2016
|
* unlike the `ReactNode` this was previously typed as. Falls back to `value` when omitted. */
|
|
1993
2017
|
data?: RecursicaComboboxData;
|
|
1994
|
-
/** Enable autocomplete search functionality */
|
|
1995
|
-
searchable?: boolean;
|
|
1996
2018
|
/** Show input clear option button */
|
|
1997
2019
|
clearable?: boolean;
|
|
1998
2020
|
/** Marks field with visual asterisk */
|
|
@@ -2195,8 +2217,9 @@ declare interface RecursicaFileUploadProps_2 extends Omit<default_2.HTMLAttribut
|
|
|
2195
2217
|
export declare interface RecursicaFormControlLayoutProps {
|
|
2196
2218
|
/** Layout structure direction */
|
|
2197
2219
|
formLayout?: "stacked" | "side-by-side";
|
|
2198
|
-
/** Label sizing constraint
|
|
2199
|
-
|
|
2220
|
+
/** Label sizing constraint. Only `small`/`default` are defined by Recursica's Label tokens —
|
|
2221
|
+
* `md` was never a real design size and has been removed. */
|
|
2222
|
+
labelSize?: "small" | "default";
|
|
2200
2223
|
/** Optional left section element (usually Label) */
|
|
2201
2224
|
leftSection?: default_2.ReactNode;
|
|
2202
2225
|
/** Main wrapper bounding maximum width */
|
|
@@ -2268,8 +2291,10 @@ export declare interface RecursicaHoverCardProps {
|
|
|
2268
2291
|
* Base properties for Recursica label indicators.
|
|
2269
2292
|
*/
|
|
2270
2293
|
export declare interface RecursicaLabelProps {
|
|
2271
|
-
/** Specifies the sizing metrics natively mapping the Label boundaries.
|
|
2272
|
-
|
|
2294
|
+
/** Specifies the sizing metrics natively mapping the Label boundaries. Only `default`/`small`
|
|
2295
|
+
* are defined by Recursica's Label tokens — `md` was never a real design size (no adapter had
|
|
2296
|
+
* a width rule for it) and has been removed; see docs/OPEN_DECISIONS.md #41 in beam-adapter. */
|
|
2297
|
+
labelSize?: "default" | "small";
|
|
2273
2298
|
/**
|
|
2274
2299
|
* Overall alignment directive for the label strings natively forcing Left/Right justification.
|
|
2275
2300
|
* Not renamed to Forge's `labelAlign`: our own vocabulary, not either kit's native term.
|