Minor Changes
-
727163c: feat([DST-1134]): add
<RangeCalendar>component (alpha)Adds a new
<RangeCalendar>for selecting a contiguous or non-contiguous date range, built on react-aria's<RangeCalendar>with Marigold conventions (disabled,readOnly,error,dateUnavailable,allowsNonContiguousRanges). Supports up to three side-by-side months viavisibleDuration, stacking vertically below thesmbreakpoint; the same responsive stacking now applies to multi-month<Calendar>for parity.descriptionanderrorMessageroute through<FieldBase>so the help/error UI matches the rest of the form-component family (TriangleAlert icon + HelpText container). Ships as an alpha component with a stub docs page under the form section. -
4742e8e: feat([DST-901]): styleProps for
width,maxWidth,height,space,spaceX,spaceY,pr,pl,pt,pbnow accept both numeric scale values (4) and their string equivalents ("4"). The public types are now declarative (Scale | Fraction | WidthKeyword, etc.) instead of being derived from the internal class-name maps.Components that previously resolved
width,maxWidth, andheightvia class-name lookup (Form, Calendar, legacy Table column header / select-all cell, Slider, Scrollable, Switch, Grid) now resolve them through CSS custom properties (createWidthVar/createHeightVar) targeting--width,--max-width,--height. Those variables — along with--container-widthand--field-widthalready used byFieldBase— are registered as non-inheriting (@property … inherits: false) in the RUI theme so they cannot leak into descendants.createWidthVargained support for the previously missing keywords (svh,lvh,dvh,px,container), and a newcreateHeightVarhelper was added. Both share a common factory and a base keyword set, so they remain trivially in sync.The runtime class-name maps
width,maxWidth,height,gapSpace,paddingSpace,paddingSpaceX,paddingSpaceY,paddingRight,paddingLeft,paddingTop,paddingBottomare no longer exported from@marigold/system. These were internal utilities consumed only by@marigold/components. Use the prop types (WidthProp,HeightProp, …) and the CSS-var helpers (createWidthVar,createHeightVar,createSpacingVar) instead. The corresponding TypeScript prop types are unchanged. -
6587493: refa([DST-1298]): Refactor Divider component: API, styling, and docs
We fixed the vertical orientation of the divider, which previously didn't work.
Added new Divider stories and updated the Divider docs. -
e33a1e7: feat(DST-1322): add
currentprop toSidebar.Navfor automatic active item detectionSidebar.Navnow accepts acurrentprop that resolves the active leaf automatically — pass the current pathname (string) for smart segment-aware matching, or a predicate(href, key) => booleanfor full control. Removes the per-itemactive={pathname === '/...'}boilerplate. The per-itemactiveprop onSidebar.Itemstill works as a local override. -
2ff7bda: feat(DST-1098): persistent idle sort indicator on sortable columns
Table.ColumnwithallowsSortingnow shows a Lucidearrow-down-upicon when the column is sortable but not currently the active sort column. The active ascending/descending icons (SortAscending/SortDescending) are unchanged.
Patch Changes
-
3c6a943: fix([DST-1410]): restore RangeCalendar build by using
createWidthVarfor the width prop. The component still imported thewidthruntime map from@marigold/system, which DST-901 removed when it migrated dimension props to CSS variables. This brokemainfor everyone — typecheck, unit tests, and Storybook tests all failed on every open PR. Apply the same migration pattern Calendar already uses:w-(--width)className plusstyle={createWidthVar('width', width)}. -
b7c132d: fix(DST-1354): restore collapsing
Table.EditableCelledit triggerThe overlay/ring affordance introduced in #5250 (DST-1275) did not read as editable in user testing: sighted users did not associate the hover ring with inline editing, and there was no discoverable trigger for keyboard or touch. This change reverts that approach and restores the explicit pencil edit button.
The trigger collapses to zero layout space at rest (
w-0 overflow-hidden) and expands on row hover or keyboard focus, so static layout remains clean while the affordance is discoverable the moment the user interacts with the row. When expanded, the wrapper switches tooverflow-visibleso the button's focus outline is not clipped. The cell itself stays clickable as a touch target. Enabled editable cells always truncate their content to stay aligned with column headers and match the single-line editing controls; disabled cells behave like a regularTable.Cell. -
f16b887: fix(DST-1352): use correct outline for focus + error state in compound fields
-
1cac70d: docs: improve
AutoTypeTableprop renderingCentralizes the display of design-system aliases in the component docs'
prop tables. Props whose types reference aliases from@marigold/system
or@marigold/types(e.g.SpacingTokens,Scale,WidthProp,
NonZeroPercentage) now render with a meaningful summary in the main
cell and the full list of resolvable literal values on row expand —
instead of a wall of literals in the cell and a redundant alias name on
expand.Before:
-
Cell:
SpacingTokens<Tokens>(a fabricated generic, inconsistent across components) -
Expand:
SpacingTokens | Scale | undefined(same alias names, no new info)After:
-
Cell:
SpacingTokens | Scale(accurate, derived from the real type) -
Expand:
"96" | "80" | ... | "tight" | "related" | 0(every concrete value)Under the hood this replaces 27 per-prop
@remarks \TypeName`JSDoc overrides with a single fumadocs-typescript transform in the docs site, so future components pick up the same behavior automatically. A@remarks` tag on a prop still wins as an escape hatch.Multiselect.widthandComboBox.widthnow useWidthProp['width']
directly instead ofFieldBaseProps<'label'>['width']— structurally
identical, no runtime change.
-
-
5744bbf: feat([DST-1396]): mobile-optimized pagination layout
Paginationnow hides the numbered page buttons on small viewports (max-sm) and spreads the previous/next navigation buttons across the full width usingjustify-between. This produces a cleaner, touch-friendly pagination on mobile while preserving the full layout on larger screens. -
c2a1c72: fix: apply
alignXfromTable.Columnto first column cellsTableCellContentused a truthy check oncolumnIndex, causing it to skip thealignXlookup whencolumnIndexwas0(first column). Replaced with a nullish check so all columns correctly inherit their alignment. -
de34b15: chore(deps): update
react-aria-components,@react-aria/*,@react-stately/*,@react-types/*, and@internationalized/*packages to their latest versions. -
04111ca: fix(DST-1355): widen
variantandsizeprop types onLoaderandProgressCircleto accept arbitrary strings via| (string & {}). Matches the pattern already used byButton,Panel, and other components, and lets consumer themes register their own variant/size tokens without TypeScript errors while preserving IDE autocomplete for the built-in RUI values. -
Updated dependencies [727163c]
-
Updated dependencies [4742e8e]
-
Updated dependencies [de34b15]
- @marigold/system@17.5.0