@viraui/react 0.0.23 → 0.0.24

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/catalog.json CHANGED
@@ -23,7 +23,7 @@
23
23
  {
24
24
  "id": "dialog",
25
25
  "name": "Dialog",
26
- "summary": "Compound drawer sheet with `Dialog.Trigger`, `Dialog.Sheet`, and `Dialog.Close`, Surface panel, scrim backdrop, title, description, and swipe-to-dismiss.",
26
+ "summary": "Compound drawer sheet with `Dialog.Trigger`, `Dialog.Sheet`, `Dialog.Close`, and Base UI pass-through `Dialog.Provider`, `Dialog.Indent`, and `Dialog.IndentBackground` for app-shell indent effects.",
27
27
  "guidePath": "./components/dialog/dialog.guide.json"
28
28
  },
29
29
  {
@@ -110,6 +110,12 @@
110
110
  "summary": "Field-wrapped single-select dropdown with grouped options and field copy.",
111
111
  "guidePath": "./components/select/select.guide.json"
112
112
  },
113
+ {
114
+ "id": "separator",
115
+ "name": "Separator",
116
+ "summary": "Thematic or content divider with horizontal or vertical orientation, token padding, and preset line thickness.",
117
+ "guidePath": "./components/separator/separator.guide.json"
118
+ },
113
119
  {
114
120
  "id": "icon",
115
121
  "name": "Icon",
@@ -0,0 +1,12 @@
1
+ import { DrawerIndentBackground } from '@base-ui/react';
2
+ import type * as React from 'react';
3
+ /**
4
+ * Public Dialog.IndentBackground props.
5
+ *
6
+ * Pass-through to Base UI `Drawer.IndentBackground` with Vira-owned root class applied.
7
+ * Place before `Dialog.Indent` inside `Dialog.Provider` for the indent background layer.
8
+ *
9
+ * @default Base UI pass-through props keep upstream defaults.
10
+ */
11
+ export type DialogIndentBackgroundProps = DrawerIndentBackground.Props;
12
+ export declare const DialogIndentBackground: React.FC<DialogIndentBackgroundProps>;
@@ -0,0 +1,11 @@
1
+ import { clsx } from "../../core/clsx.js";
2
+ import dialog_module_default from "./dialog.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Drawer } from "@base-ui/react";
5
+ //#region src/components/dialog/dialog-indent-background.tsx
6
+ var DialogIndentBackground = ({ className, ...props }) => /* @__PURE__ */ jsx(Drawer.IndentBackground, {
7
+ ...props,
8
+ className: clsx(dialog_module_default.IndentBackground, className)
9
+ });
10
+ //#endregion
11
+ export { DialogIndentBackground };
@@ -0,0 +1,12 @@
1
+ import { DrawerIndent } from '@base-ui/react';
2
+ import type * as React from 'react';
3
+ /**
4
+ * Public Dialog.Indent props.
5
+ *
6
+ * Pass-through to Base UI `Drawer.Indent` with Vira-owned root class applied.
7
+ * Wrap app shell content inside `Dialog.Provider` to receive `data-active` when a sheet opens.
8
+ *
9
+ * @default Base UI pass-through props keep upstream defaults.
10
+ */
11
+ export type DialogIndentProps = DrawerIndent.Props;
12
+ export declare const DialogIndent: React.FC<DialogIndentProps>;
@@ -0,0 +1,11 @@
1
+ import { clsx } from "../../core/clsx.js";
2
+ import dialog_module_default from "./dialog.module.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Drawer } from "@base-ui/react";
5
+ //#region src/components/dialog/dialog-indent.tsx
6
+ var DialogIndent = ({ className, ...props }) => /* @__PURE__ */ jsx(Drawer.Indent, {
7
+ ...props,
8
+ className: clsx(dialog_module_default.Indent, className)
9
+ });
10
+ //#endregion
11
+ export { DialogIndent };
@@ -1 +1 @@
1
- .viraui__dialog-module__Backdrop_xgFhs{position:fixed;inset:0;z-index:0;transition:opacity var(--duration-fast) var(--easing-standard);backdrop-filter:brightness(90%) blur(5px);opacity:1;&[data-ending-style],&[data-starting-style]{opacity:0}&[data-swiping]{opacity:calc(1 - var(--drawer-swipe-progress, 0));transition-duration:0s}@media (prefers-reduced-motion:reduce){transition:none}}.viraui__dialog-module__Viewport_kmZN1{position:fixed;inset:0;z-index:4;pointer-events:none;touch-action:none}.viraui__dialog-module__Popup_5qIyj{--bleed:var(--space-wide);--peek:var(--space-medium);--stack-step:0.05;--stack-progress:clamp(0,var(--drawer-swipe-progress,0),1);--stack-peek-offset:max(0px,calc((var(--nested-drawers, 0) - var(--stack-progress)) * var(--peek)));--stack-scale-base:max(0,calc(1 - var(--nested-drawers, 0) * var(--stack-step)));--stack-scale:clamp(0,calc(var(--stack-scale-base) + var(--stack-step) * var(--stack-progress)),1);--stack-shrink:calc(1 - var(--stack-scale));--stack-height:max(0px,calc(var(--drawer-frontmost-height, var(--drawer-height, 0px)) - var(--bleed)));--translate-y:calc(var(--drawer-snap-point-offset, 0px) + var(--drawer-swipe-movement-y, 0px) - var(--stack-peek-offset) - var(--stack-shrink) * var(--stack-height));max-block-size:var(--dialog-max-block-size,97dvh);outline:none;pointer-events:auto;touch-action:none;height:var(--drawer-height,auto);transform-origin:50% calc(100% - var(--bleed));transition:opacity var(--duration-fast) var(--easing-entrance),transform var(--duration-fast) var(--easing-entrance),height var(--duration-fast) var(--easing-entrance);transform:translateY(var(--translate-y)) scale(var(--stack-scale));&[data-nested-drawer-open]{height:calc(var(--stack-height) + var(--bleed));overflow:hidden}&[data-starting-style]{opacity:0}&[data-ending-style][data-swipe-direction=down],&[data-starting-style]{transform:translateY(100%)}&[data-nested-drawer-swiping],&[data-swiping]{transition-duration:0s}@media (prefers-reduced-motion:reduce){transition:none;&[data-ending-style][data-swipe-direction=down],&[data-starting-style]{opacity:1;transform:translateY(0)}}}.viraui__dialog-module__Handle_nd9SN{margin:0 auto}.viraui__dialog-module__HandleShape_mEg8R{inline-size:var(--space-x-small);block-size:var(--space-x-small);background-color:var(--global-contrast);border-radius:var(--radius-infinite)}.viraui__dialog-module__Header_WnBly{flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none}.viraui__dialog-module__Body_9-UgN{min-block-size:0}.viraui__dialog-module__Content_r8lJc{min-block-size:0;overflow:auto;overscroll-behavior:contain;touch-action:auto;padding-block-end:calc(env(safe-area-inset-bottom) + var(--space-medium));transition:opacity var(--duration-fast) var(--easing-standard);@media (prefers-reduced-motion:reduce){transition:none}.viraui__dialog-module__Popup_5qIyj[data-nested-drawer-open] &{opacity:0}.viraui__dialog-module__Popup_5qIyj[data-nested-drawer-open][data-nested-drawer-swiping] &{opacity:1}}.viraui__dialog-module__CloseButton_U-B1r.viraui__dialog-module__CloseButton_U-B1r{position:absolute;top:1rem;right:1rem}
1
+ .viraui__dialog-module__Backdrop_xgFhs{position:fixed;inset:0;z-index:0;transition:opacity var(--duration-fast) var(--easing-standard);backdrop-filter:brightness(90%) blur(5px);opacity:1;&[data-ending-style],&[data-starting-style]{opacity:0}&[data-swiping]{opacity:calc(1 - var(--drawer-swipe-progress, 0));transition-duration:0s}@media (prefers-reduced-motion:reduce){transition:none}}.viraui__dialog-module__Viewport_kmZN1{position:fixed;inset:0;z-index:4;pointer-events:none;touch-action:none}.viraui__dialog-module__Popup_5qIyj{--bleed:var(--space-wide);--peek:var(--space-medium);--stack-step:0.05;--stack-progress:clamp(0,var(--drawer-swipe-progress,0),1);--stack-peek-offset:max(0px,calc((var(--nested-drawers, 0) - var(--stack-progress)) * var(--peek)));--stack-scale-base:max(0,calc(1 - var(--nested-drawers, 0) * var(--stack-step)));--stack-scale:clamp(0,calc(var(--stack-scale-base) + var(--stack-step) * var(--stack-progress)),1);--stack-shrink:calc(1 - var(--stack-scale));--stack-height:max(0px,calc(var(--drawer-frontmost-height, var(--drawer-height, 0px)) - var(--bleed)));--translate-y:calc(var(--drawer-snap-point-offset, 0px) + var(--drawer-swipe-movement-y, 0px) - var(--stack-peek-offset) - var(--stack-shrink) * var(--stack-height));max-block-size:var(--dialog-max-block-size,97dvh);outline:none;pointer-events:auto;touch-action:none;height:var(--drawer-height,auto);transform-origin:50% calc(100% - var(--bleed));transition:opacity var(--duration-fast) var(--easing-entrance),transform var(--duration-fast) var(--easing-entrance),height var(--duration-fast) var(--easing-entrance);transform:translateY(var(--translate-y)) scale(var(--stack-scale));&[data-nested-drawer-open]{height:calc(var(--stack-height) + var(--bleed));overflow:hidden}&[data-starting-style]{opacity:0}&[data-ending-style][data-swipe-direction=down],&[data-starting-style]{transform:translateY(100%)}&[data-nested-drawer-swiping],&[data-swiping]{transition-duration:0s}@media (prefers-reduced-motion:reduce){transition:none;&[data-ending-style][data-swipe-direction=down],&[data-starting-style]{opacity:1;transform:translateY(0)}}}.viraui__dialog-module__Handle_nd9SN{margin:0 auto}.viraui__dialog-module__HandleShape_mEg8R{inline-size:var(--space-x-small);block-size:var(--space-x-small);background-color:oklab(from var(--global-contrast) l a b/.3);border-radius:var(--radius-infinite)}.viraui__dialog-module__Header_WnBly{flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none}.viraui__dialog-module__Body_9-UgN{min-block-size:0}.viraui__dialog-module__Content_r8lJc{min-block-size:0;overflow:auto;overscroll-behavior:contain;touch-action:auto;padding-block-end:calc(env(safe-area-inset-bottom) + var(--space-medium));transition:opacity var(--duration-fast) var(--easing-standard);@media (prefers-reduced-motion:reduce){transition:none}.viraui__dialog-module__Popup_5qIyj[data-nested-drawer-open] &{opacity:0}.viraui__dialog-module__Popup_5qIyj[data-nested-drawer-open][data-nested-drawer-swiping] &{opacity:1}}.viraui__dialog-module__CloseButton_U-B1r.viraui__dialog-module__CloseButton_U-B1r{position:absolute;top:1rem;right:1rem}.viraui__dialog-module__IndentBackground_OEfbh{position:absolute;inset:0}.viraui__dialog-module__Indent_qfiNW{--indent-radius:calc(1rem * (1 - var(--drawer-swipe-progress)));--indent-transition:calc(1 - clamp(0, calc(var(--drawer-swipe-progress) * 100000), 1));transition:transform .4s cubic-bezier(.32,.72,0,1),border-radius .25s cubic-bezier(.32,.72,0,1);transition-duration:calc(.4s * var(--indent-transition)),calc(.25s * var(--indent-transition));transform-origin:center top;will-change:transform;&[data-active]{transform:scale(calc(.98 + (.02 * var(--drawer-swipe-progress)))) translateY(calc(.5rem * (1 - var(--drawer-swipe-progress))));border-top-left-radius:var(--indent-radius);border-top-right-radius:var(--indent-radius)}}
@@ -1,21 +1,28 @@
1
- import { DrawerRoot } from '@base-ui/react';
1
+ import { Drawer as PrimitiveDrawer, DrawerProvider, DrawerRoot } from '@base-ui/react';
2
2
  import { DialogCloseProps } from './dialog-close';
3
+ import { DialogIndentProps } from './dialog-indent';
4
+ import { DialogIndentBackgroundProps } from './dialog-indent-background';
3
5
  import { DialogSheetProps } from './dialog-sheet';
4
6
  import { DialogTriggerProps } from './dialog-trigger';
5
7
  import type * as React from 'react';
6
8
  /**
7
9
  * Public Dialog root props.
8
10
  *
9
- * Groups `Dialog.Trigger`, `Dialog.Sheet`, and `Dialog.Close` under a Base UI `Drawer.Root`.
11
+ * Groups `Dialog.Trigger`, `Dialog.Sheet`, `Dialog.Close`, `Dialog.Provider`,
12
+ * `Dialog.Indent`, and `Dialog.IndentBackground` under Base UI Drawer parts.
10
13
  *
11
14
  * @default Base UI pass-through props keep upstream defaults.
12
15
  */
13
16
  export type DialogProps = DrawerRoot.Props;
14
17
  export type DialogSnapPoint = DrawerRoot.SnapPoint;
18
+ export type DialogProviderProps = DrawerProvider.Props;
15
19
  type DialogComponent = React.FC<DialogProps> & {
16
20
  Trigger: React.FC<DialogTriggerProps>;
17
21
  Sheet: React.FC<DialogSheetProps>;
18
22
  Close: React.FC<DialogCloseProps>;
23
+ Provider: typeof PrimitiveDrawer.Provider;
24
+ Indent: React.FC<DialogIndentProps>;
25
+ IndentBackground: React.FC<DialogIndentBackgroundProps>;
19
26
  };
20
27
  export declare const Dialog: DialogComponent;
21
28
  export {};
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "Dialog",
3
- "summary": "Compound drawer sheet with `Dialog.Trigger`, `Dialog.Sheet`, and `Dialog.Close`, Surface panel, scrim backdrop, title, description, and swipe-to-dismiss.",
3
+ "summary": "Compound drawer sheet with `Dialog.Trigger`, `Dialog.Sheet`, `Dialog.Close`, and Base UI pass-through `Dialog.Provider`, `Dialog.Indent`, and `Dialog.IndentBackground` for app-shell indent effects.",
4
4
  "whenToUse": [
5
5
  "Focused tasks or confirmations that interrupt the current page without navigation",
6
6
  "Short forms or read-only content that needs a modal layer above the app",
7
7
  "Bottom sheets where swipe dismissal or snap points are useful (pass `snapPoints`, `snapPoint`/`onSnapPointChange`, or `defaultSnapPoint` directly on `Dialog`)",
8
- "Drill-down sheet flows (for example settings sub-pages) by nesting a `Dialog` inside `Dialog.Sheet` children"
8
+ "Drill-down sheet flows (for example settings sub-pages) by nesting a `Dialog` inside `Dialog.Sheet` children",
9
+ "App-shell indent effects by wrapping page content in `Dialog.Provider`, `Dialog.IndentBackground`, and `Dialog.Indent`"
9
10
  ],
10
11
  "whenNotToUse": [
11
12
  "Small anchored hints or quick actions that should use Popover or Menu",
@@ -1,5 +1,7 @@
1
1
  import './dialog.css';
2
2
  import { DialogClose } from "./dialog-close.js";
3
+ import { DialogIndent } from "./dialog-indent.js";
4
+ import { DialogIndentBackground } from "./dialog-indent-background.js";
3
5
  import { DialogSheet } from "./dialog-sheet.js";
4
6
  import { DialogTrigger } from "./dialog-trigger.js";
5
7
  import { jsx } from "react/jsx-runtime";
@@ -12,7 +14,10 @@ var DialogRootComponent = ({ children, ...props }) => /* @__PURE__ */ jsx(Drawer
12
14
  var Dialog = Object.assign(DialogRootComponent, {
13
15
  Trigger: DialogTrigger,
14
16
  Sheet: DialogSheet,
15
- Close: DialogClose
17
+ Close: DialogClose,
18
+ Provider: Drawer.Provider,
19
+ Indent: DialogIndent,
20
+ IndentBackground: DialogIndentBackground
16
21
  });
17
22
  //#endregion
18
23
  export { Dialog };
@@ -7,7 +7,9 @@ var dialog_module_default = {
7
7
  Header: "viraui__dialog-module__Header_WnBly",
8
8
  Body: "viraui__dialog-module__Body_9-UgN",
9
9
  Content: "viraui__dialog-module__Content_r8lJc",
10
- CloseButton: "viraui__dialog-module__CloseButton_U-B1r"
10
+ CloseButton: "viraui__dialog-module__CloseButton_U-B1r",
11
+ IndentBackground: "viraui__dialog-module__IndentBackground_OEfbh",
12
+ Indent: "viraui__dialog-module__Indent_qfiNW"
11
13
  };
12
14
  //#endregion
13
15
  export { dialog_module_default as default };
@@ -1,7 +1,11 @@
1
1
  export { Dialog } from './dialog';
2
- export type { DialogProps, DialogSnapPoint } from './dialog';
2
+ export type { DialogProps, DialogProviderProps, DialogSnapPoint } from './dialog';
3
3
  export { DialogClose } from './dialog-close';
4
4
  export type { DialogCloseProps } from './dialog-close';
5
+ export { DialogIndent } from './dialog-indent';
6
+ export type { DialogIndentProps } from './dialog-indent';
7
+ export { DialogIndentBackground } from './dialog-indent-background';
8
+ export type { DialogIndentBackgroundProps } from './dialog-indent-background';
5
9
  export { DialogSheet } from './dialog-sheet';
6
10
  export type { DialogSheetProps } from './dialog-sheet';
7
11
  export { DialogTrigger } from './dialog-trigger';
@@ -16,6 +16,7 @@ export * from './checkbox';
16
16
  export * from './fieldset';
17
17
  export * from './radio';
18
18
  export * from './select';
19
+ export * from './separator';
19
20
  export * from './icon';
20
21
  export * from './skeleton';
21
22
  export * from './stack';
@@ -0,0 +1,2 @@
1
+ export { Separator } from './separator';
2
+ export type { SeparatorProps } from './separator';
@@ -0,0 +1 @@
1
+ .viraui__separator-module__Line_xXOe9{--separator-size:1px;border:0;margin:0;background:oklab(from var(--global-contrast) l a b/20%);&[data-separator-orientation=horizontal]{inline-size:100%;block-size:var(--separator-size)}&[data-separator-orientation=vertical]{inline-size:var(--separator-size);block-size:100%}}
@@ -0,0 +1,54 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
+ import { ThemeTypes } from '@viraui/foundation/vira/types';
4
+ import type * as React from 'react';
5
+ type SeparatorAxisPadding = ThemeTypes['space'] | [ThemeTypes['space'] | 0, ThemeTypes['space'] | 0];
6
+ type SeparatorSize = 'small' | 'medium' | 'large';
7
+ /**
8
+ * Public Separator props.
9
+ *
10
+ * Includes standard `hr` attributes such as `id`, `title`, and event handlers,
11
+ * plus Vira-owned orientation, line thickness, Stack padding, and Base UI `render` support for replacing the line root.
12
+ *
13
+ * @default Native hr pass-through props keep React defaults.
14
+ */
15
+ export type SeparatorProps = Omit<React.ComponentPropsWithoutRef<'hr'>, 'size'> & IntrinsicViraProps & {
16
+ /**
17
+ * Replaces the default `hr` line root using Base UI render semantics.
18
+ *
19
+ * @default The separator renders an `hr` line root.
20
+ */
21
+ render?: useRender.RenderProp;
22
+ /**
23
+ * Ref forwarded to the rendered line root element.
24
+ *
25
+ * @default No ref is attached.
26
+ */
27
+ ref?: React.Ref<HTMLElement>;
28
+ /**
29
+ * Sets the separator line direction.
30
+ *
31
+ * @default 'horizontal'
32
+ */
33
+ orientation?: 'horizontal' | 'vertical';
34
+ /**
35
+ * Sets inline padding on the Stack wrapper using one token for both sides or a `[start, end]` tuple.
36
+ *
37
+ * @default No inline padding.
38
+ */
39
+ hPadding?: SeparatorAxisPadding;
40
+ /**
41
+ * Sets block padding on the Stack wrapper using one token for both sides or a `[start, end]` tuple.
42
+ *
43
+ * @default No block padding.
44
+ */
45
+ vPadding?: SeparatorAxisPadding;
46
+ /**
47
+ * Sets the line thickness preset.
48
+ *
49
+ * @default 'small'
50
+ */
51
+ size?: SeparatorSize;
52
+ };
53
+ export declare const Separator: React.FC<SeparatorProps>;
54
+ export {};
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "Separator",
3
+ "summary": "Thematic or content divider with horizontal or vertical orientation, token padding, and preset line thickness.",
4
+ "whenToUse": [
5
+ "Dividing sections within a page or panel",
6
+ "Vertical dividers in toolbars, menus, or button groups",
7
+ "Separating list items or stacked content blocks"
8
+ ],
9
+ "whenNotToUse": [
10
+ "Select dropdown option dividers — use Select.Separator",
11
+ "Surface borders or card outlines — use Surface border props"
12
+ ],
13
+ "accessibility": [
14
+ "Default hr provides a native thematic break for horizontal dividers",
15
+ "Vertical separators expose aria-orientation=\"vertical\" on the line root",
16
+ "Use render to swap the line root when a thematic break is not appropriate",
17
+ "Do not force aria-hidden — consumer decides decorative vs structural role"
18
+ ],
19
+ "antiPatterns": [
20
+ "Using Select.Separator for general layout dividers",
21
+ "Replacing Surface borders with Separator for container chrome"
22
+ ],
23
+ "related": ["Stack", "Surface", "Select"]
24
+ }
@@ -0,0 +1,43 @@
1
+ import './separator.css';
2
+ import { clsx } from "../../core/clsx.js";
3
+ import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
+ import { Stack } from "../stack/stack.js";
5
+ import separator_module_default from "./separator.module.js";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { useRender } from "@base-ui/react/use-render";
8
+ //#region src/components/separator/separator.tsx
9
+ var separatorSizeValues = {
10
+ small: 1,
11
+ medium: 2,
12
+ large: 3
13
+ };
14
+ var Separator = ({ className, hPadding, orientation = "horizontal", ref, render, size = "small", style, vPadding, ...otherProps }) => {
15
+ const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
16
+ const dynamicStyle = {
17
+ "--separator-size": `${separatorSizeValues[size]}px`,
18
+ ...style
19
+ };
20
+ const line = useRender({
21
+ defaultTagName: "hr",
22
+ render,
23
+ ref,
24
+ props: {
25
+ ...componentProps,
26
+ "data-separator-orientation": orientation,
27
+ "aria-orientation": orientation,
28
+ className: clsx(separator_module_default.Line, className),
29
+ style: dynamicStyle
30
+ }
31
+ });
32
+ return /* @__PURE__ */ jsx(Stack, {
33
+ direction: orientation === "vertical" ? "row" : "column",
34
+ fillChildren: false,
35
+ hPadding,
36
+ vAlign: orientation === "vertical" ? "stretch" : "initial",
37
+ vPadding,
38
+ ...intrinsicAttributes,
39
+ children: line
40
+ });
41
+ };
42
+ //#endregion
43
+ export { Separator };
@@ -0,0 +1,3 @@
1
+ var separator_module_default = { Line: "viraui__separator-module__Line_xXOe9" };
2
+ //#endregion
3
+ export { separator_module_default as default };
package/dist/index.js CHANGED
@@ -3,6 +3,8 @@ import { AvatarGroup } from "./components/avatar-group/avatar-group.js";
3
3
  import { Stack } from "./components/stack/stack.js";
4
4
  import { Chip } from "./components/chip/chip.js";
5
5
  import { DialogClose } from "./components/dialog/dialog-close.js";
6
+ import { DialogIndent } from "./components/dialog/dialog-indent.js";
7
+ import { DialogIndentBackground } from "./components/dialog/dialog-indent-background.js";
6
8
  import { DialogSheet } from "./components/dialog/dialog-sheet.js";
7
9
  import { DialogTrigger } from "./components/dialog/dialog-trigger.js";
8
10
  import { Dialog } from "./components/dialog/dialog.js";
@@ -26,6 +28,7 @@ import { Fieldset } from "./components/fieldset/fieldset.js";
26
28
  import { Radio } from "./components/radio/radio.js";
27
29
  import { RadioGroup } from "./components/radio/radio-group.js";
28
30
  import { Select } from "./components/select/select.js";
31
+ import { Separator } from "./components/separator/separator.js";
29
32
  import { Icon } from "./components/icon/icon.js";
30
33
  import { Skeleton } from "./components/skeleton/skeleton.js";
31
34
  import { Surface } from "./components/surface/surface.js";
@@ -33,4 +36,4 @@ import { Tabs } from "./components/tabs/tabs.js";
33
36
  import { StaticNoise } from "./components/static-noise/static-noise.js";
34
37
  import { ProgressiveBlur } from "./components/progressive-blur/progressive-blur.js";
35
38
  import { Title } from "./components/title/title.js";
36
- export { Avatar, AvatarGroup, Button, Checkbox, CheckboxGroup, Chip, ClampText, Dialog, DialogClose, DialogSheet, DialogTrigger, ELEVATION_DEFAULTS, Elevator, Fieldset, Icon, IconButton, LinearProgress, Masonry, ProgressiveBlur, Radio, RadioGroup, Select, Skeleton, Slider, Spinner, Stack, StaticNoise, Surface, Switch, Tabs, Text, Textarea, Textfield, Title, getElevationProps };
39
+ export { Avatar, AvatarGroup, Button, Checkbox, CheckboxGroup, Chip, ClampText, Dialog, DialogClose, DialogIndent, DialogIndentBackground, DialogSheet, DialogTrigger, ELEVATION_DEFAULTS, Elevator, Fieldset, Icon, IconButton, LinearProgress, Masonry, ProgressiveBlur, Radio, RadioGroup, Select, Separator, Skeleton, Slider, Spinner, Stack, StaticNoise, Surface, Switch, Tabs, Text, Textarea, Textfield, Title, getElevationProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viraui/react",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist"
@@ -42,9 +42,9 @@
42
42
  "vite": "8.0.16",
43
43
  "vite-plugin-dts": "4.5.4",
44
44
  "vite-plugin-static-copy": "2.3.0",
45
- "@viraui/foundation": "0.0.23",
46
- "@viraui/icons": "0.0.15",
45
+ "@viraui/foundation": "0.0.24",
47
46
  "@viraui/postcss-config": "0.0.16",
47
+ "@viraui/icons": "0.0.15",
48
48
  "@viraui/tsconfig": "0.0.17"
49
49
  },
50
50
  "peerDependencies": {