@zvoove/unity-ui 2.44.0 → 2.45.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/dist/bin/cli.mjs CHANGED
@@ -423,6 +423,7 @@ Load the matching skill for full props, examples, and rules:
423
423
  | PopUpMenu | \`unity-ui-pop-up-menu\` |
424
424
  | ProgressIndicator | \`unity-ui-progress-indicator\` |
425
425
  | Radio / RadioGroup | \`unity-ui-radio\` |
426
+ | ScrollableArea | \`unity-ui-scrollable-area\` |
426
427
  | Segment / SegmentGroup | \`unity-ui-segment\` |
427
428
  | Select | \`unity-ui-select\` |
428
429
  | Sheet | \`unity-ui-sheet\` |
@@ -482,6 +483,7 @@ When a component is requested by a name not listed above, resolve it using this
482
483
  | Label tag, Status tag, Status label, Category label | **Tag** |
483
484
  | Flexbox container, HStack, VStack, Flex, Box | **Stack** |
484
485
  | Grid layout, CSS grid, Masonry (equal columns) | **Grid** |
486
+ | Scroll area, ScrollArea, Overflow container, Custom scrollbar | **ScrollableArea** |
485
487
  | Menu list, Navigation list, Action list, Vertical menu | **ListMenu** |
486
488
  | Tab navigation, Sub navigation, Section tabs, Tab bar (secondary) | **MidSectionMenus** |
487
489
  | Content section, Page section, Content container, Content area | **ContentBlock** |
@@ -624,6 +626,10 @@ var SHADCN_MAP = {
624
626
  url: "https://ui.shadcn.com/docs/components/radio-group"
625
627
  },
626
628
  ScoreCard: null,
629
+ ScrollableArea: {
630
+ name: "ScrollArea",
631
+ url: "https://ui.shadcn.com/docs/components/scroll-area"
632
+ },
627
633
  Segment: {
628
634
  name: "ToggleGroup",
629
635
  url: "https://ui.shadcn.com/docs/components/toggle-group"
@@ -723,6 +729,11 @@ var MUI_MAP = {
723
729
  },
724
730
  Radio: { name: "RadioGroup", url: `${MUI_BASE}radio-button/` },
725
731
  ScoreCard: null,
732
+ ScrollableArea: {
733
+ name: "Box (overflow)",
734
+ url: `${MUI_BASE}box/`,
735
+ note: "MUI has no dedicated scroll area. Use Box with overflow, or a custom scrollbar."
736
+ },
726
737
  Segment: {
727
738
  name: "ToggleButtonGroup",
728
739
  url: `${MUI_BASE}toggle-button/`
@@ -811,6 +822,7 @@ var STORYBOOK_MAP = {
811
822
  ProgressIndicator: "Components/ProgressIndicator",
812
823
  Radio: "Forms/Radio/RadioGroup",
813
824
  ScoreCard: "Components/ScoreCard",
825
+ ScrollableArea: "Layout/ScrollableArea",
814
826
  Segment: "Components/Buttons/Segment/SegmentGroup",
815
827
  Select: "Forms/Select",
816
828
  Sheet: "Components/Sheet",
@@ -840,6 +852,7 @@ function storybookUrl(name) {
840
852
  var CATEGORIES = {
841
853
  Stack: "layout",
842
854
  Grid: "layout",
855
+ ScrollableArea: "layout",
843
856
  Card: "layout",
844
857
  Divider: "layout",
845
858
  Expandable: "layout",
@@ -178,6 +178,10 @@ var SHADCN_MAP = {
178
178
  url: "https://ui.shadcn.com/docs/components/radio-group"
179
179
  },
180
180
  ScoreCard: null,
181
+ ScrollableArea: {
182
+ name: "ScrollArea",
183
+ url: "https://ui.shadcn.com/docs/components/scroll-area"
184
+ },
181
185
  Segment: {
182
186
  name: "ToggleGroup",
183
187
  url: "https://ui.shadcn.com/docs/components/toggle-group"
@@ -277,6 +281,11 @@ var MUI_MAP = {
277
281
  },
278
282
  Radio: { name: "RadioGroup", url: `${MUI_BASE}radio-button/` },
279
283
  ScoreCard: null,
284
+ ScrollableArea: {
285
+ name: "Box (overflow)",
286
+ url: `${MUI_BASE}box/`,
287
+ note: "MUI has no dedicated scroll area. Use Box with overflow, or a custom scrollbar."
288
+ },
280
289
  Segment: {
281
290
  name: "ToggleButtonGroup",
282
291
  url: `${MUI_BASE}toggle-button/`
@@ -365,6 +374,7 @@ var STORYBOOK_MAP = {
365
374
  ProgressIndicator: "Components/ProgressIndicator",
366
375
  Radio: "Forms/Radio/RadioGroup",
367
376
  ScoreCard: "Components/ScoreCard",
377
+ ScrollableArea: "Layout/ScrollableArea",
368
378
  Segment: "Components/Buttons/Segment/SegmentGroup",
369
379
  Select: "Forms/Select",
370
380
  Sheet: "Components/Sheet",
@@ -394,6 +404,7 @@ function storybookUrl(name) {
394
404
  var CATEGORIES = {
395
405
  Stack: "layout",
396
406
  Grid: "layout",
407
+ ScrollableArea: "layout",
397
408
  Card: "layout",
398
409
  Divider: "layout",
399
410
  Expandable: "layout",
package/dist/llms.txt CHANGED
@@ -189,6 +189,25 @@ Common patterns:
189
189
  </Grid>
190
190
  ```
191
191
 
192
+ ### ScrollableArea
193
+ Overflow container with an Apple-like overlay scrollbar. Use it when content may exceed its parent. When `height` and `width` are omitted, the area fills its parent (`size-full`).
194
+ ```tsx
195
+ import { ScrollableArea } from '@zvoove/unity-ui';
196
+
197
+ <ScrollableArea
198
+ height={240} // ResponsiveType<number | string> — omit to fill parent height
199
+ width="100%" // ResponsiveType<number | string> — omit to fill parent width
200
+ hideScrollbar={false} // boolean — hide the scrollbar entirely (wins over useDefaultScrollbar)
201
+ useDefaultScrollbar={false} // boolean — use the browser native scrollbar instead of the overlay style
202
+ addFade={false} // boolean | { top?, bottom?, left?, right?, block?, inline? } — show edge fades while there is remaining overflow
203
+ bgColor="surface" // BackgroundColors — wrapper background and fade gradient source
204
+ >
205
+ {children}
206
+ </ScrollableArea>
207
+ ```
208
+
209
+ The default overlay scrollbar is a thin, rounded thumb that uses `on-surface` so it works in light and dark mode, and appears on hover or while scrolling. `addFade` shows a gradient on any enabled edge (top, bottom, left, right) that still has remaining overflow; the fade disappears when that edge of the container is reached. Pass `true` for all edges, or an object to pick sides (`block` = top and bottom, `inline` = left and right; explicit sides override the matching axis). Pass `bgColor` so the gradient matches the surrounding surface.
210
+
192
211
  ### Card
193
212
  **Visual container** with background, elevation, and border. Use Card to group content visually (e.g., a profile card, a settings panel, a content section). Do NOT use Card for layout — use Stack or Grid instead. Card is a surface, not a layout tool.
194
213
  ```tsx