@viraui/react 0.0.22 → 0.0.23
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 +20 -2
- package/dist/components/avatar/avatar.css +1 -1
- package/dist/components/avatar/avatar.module.js +3 -3
- package/dist/components/avatar-group/avatar-group.css +1 -1
- package/dist/components/avatar-group/avatar-group.module.js +5 -5
- package/dist/components/basic-input/basic-input.css +1 -1
- package/dist/components/basic-input/basic-input.js +0 -1
- package/dist/components/basic-input/basic-input.module.js +1 -1
- package/dist/components/basic-input/field-helper-copy.d.ts +1 -1
- package/dist/components/basic-input/field-helper-copy.js +0 -1
- package/dist/components/basic-input/field-label.css +1 -1
- package/dist/components/basic-input/field-label.js +0 -1
- package/dist/components/basic-input/field-label.module.js +1 -1
- package/dist/components/basic-input/input-control-group.js +0 -1
- package/dist/components/button/button.css +1 -1
- package/dist/components/button/button.d.ts +13 -7
- package/dist/components/button/button.guide.json +7 -5
- package/dist/components/button/button.js +11 -10
- package/dist/components/button/button.module.js +3 -3
- package/dist/components/checkbox/checkbox-group.d.ts +12 -0
- package/dist/components/checkbox/checkbox-group.js +15 -0
- package/dist/components/checkbox/checkbox.css +1 -1
- package/dist/components/checkbox/checkbox.d.ts +6 -21
- package/dist/components/checkbox/checkbox.guide.json +10 -5
- package/dist/components/checkbox/checkbox.js +45 -59
- package/dist/components/checkbox/checkbox.module.js +7 -6
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/chip/chip.css +1 -1
- package/dist/components/chip/chip.js +0 -2
- package/dist/components/chip/chip.module.js +4 -4
- package/dist/components/clamp-text/clamp-text.css +1 -1
- package/dist/components/clamp-text/clamp-text.module.js +1 -1
- package/dist/components/dialog/dialog-close.d.ts +15 -0
- package/dist/components/dialog/dialog-close.js +9 -0
- package/dist/components/dialog/dialog-sheet.d.ts +66 -0
- package/dist/components/dialog/dialog-sheet.js +80 -0
- package/dist/components/dialog/dialog-trigger.d.ts +13 -0
- package/dist/components/dialog/dialog-trigger.js +9 -0
- package/dist/components/dialog/dialog.css +1 -0
- package/dist/components/dialog/dialog.d.ts +21 -0
- package/dist/components/dialog/dialog.guide.json +26 -0
- package/dist/components/dialog/dialog.js +18 -0
- package/dist/components/dialog/dialog.module.js +13 -0
- package/dist/components/dialog/index.d.ts +8 -0
- package/dist/components/elevator/elevator.js +4 -4
- package/dist/components/fieldset/fieldset.d.ts +35 -0
- package/dist/components/fieldset/fieldset.guide.json +28 -0
- package/dist/components/fieldset/fieldset.js +30 -0
- package/dist/components/fieldset/index.d.ts +2 -0
- package/dist/components/icon/icon.css +1 -1
- package/dist/components/icon/icon.module.js +1 -1
- package/dist/components/icon-button/icon-button.d.ts +1 -1
- package/dist/components/icon-button/icon-button.guide.json +1 -1
- package/dist/components/icon-button/icon-button.js +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/linear-progress/linear-progress.css +1 -1
- package/dist/components/linear-progress/linear-progress.js +0 -1
- package/dist/components/linear-progress/linear-progress.module.js +4 -4
- package/dist/components/masonry/masonry-item.js +0 -1
- package/dist/components/masonry/masonry.css +1 -1
- package/dist/components/masonry/masonry.js +2 -3
- package/dist/components/masonry/masonry.module.js +2 -2
- package/dist/components/progressive-blur/progressive-blur.css +1 -1
- package/dist/components/progressive-blur/progressive-blur.module.js +2 -2
- package/dist/components/radio/radio-group.d.ts +5 -38
- package/dist/components/radio/radio-group.js +12 -50
- package/dist/components/radio/radio.css +1 -1
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/radio/radio.guide.json +12 -8
- package/dist/components/radio/radio.js +31 -29
- package/dist/components/radio/radio.module.js +3 -5
- package/dist/components/select/select-group.js +1 -1
- package/dist/components/select/select-indicator-slot.js +0 -1
- package/dist/components/select/select-option.d.ts +9 -2
- package/dist/components/select/select-option.js +32 -31
- package/dist/components/select/select-separator.js +0 -1
- package/dist/components/select/select.css +1 -1
- package/dist/components/select/select.guide.json +8 -3
- package/dist/components/select/select.js +3 -2
- package/dist/components/select/select.module.js +17 -16
- package/dist/components/skeleton/skeleton.css +1 -1
- package/dist/components/skeleton/skeleton.module.js +2 -2
- package/dist/components/slider/slider-control.js +0 -1
- package/dist/components/slider/slider.css +1 -1
- package/dist/components/slider/slider.js +1 -3
- package/dist/components/slider/slider.module.js +9 -8
- package/dist/components/spinner/spinner.css +1 -1
- package/dist/components/spinner/spinner.js +2 -2
- package/dist/components/spinner/spinner.module.js +3 -3
- package/dist/components/stack/stack.css +1 -1
- package/dist/components/stack/stack.d.ts +2 -2
- package/dist/components/stack/stack.js +0 -1
- package/dist/components/stack/stack.module.js +1 -1
- package/dist/components/static-noise/static-noise.css +1 -1
- package/dist/components/static-noise/static-noise.d.ts +1 -1
- package/dist/components/static-noise/static-noise.js +2 -1
- package/dist/components/static-noise/static-noise.module.js +2 -2
- package/dist/components/surface/surface-radius-context.d.ts +9 -1
- package/dist/components/surface/surface-radius-context.js +17 -6
- package/dist/components/surface/surface.css +1 -1
- package/dist/components/surface/surface.d.ts +9 -3
- package/dist/components/surface/surface.guide.json +3 -1
- package/dist/components/surface/surface.js +3 -3
- package/dist/components/surface/surface.module.js +1 -4
- package/dist/components/switch/switch.css +1 -1
- package/dist/components/switch/switch.js +31 -29
- package/dist/components/switch/switch.module.js +4 -3
- package/dist/components/tabs/index.d.ts +6 -0
- package/dist/components/tabs/tabs-indicator.d.ts +9 -0
- package/dist/components/tabs/tabs-indicator.js +16 -0
- package/dist/components/tabs/tabs-list.d.ts +12 -0
- package/dist/components/tabs/tabs-list.js +29 -0
- package/dist/components/tabs/tabs-panel.d.ts +11 -0
- package/dist/components/tabs/tabs-panel.js +13 -0
- package/dist/components/tabs/tabs-tab.d.ts +24 -0
- package/dist/components/tabs/tabs-tab.js +24 -0
- package/dist/components/tabs/tabs-viewport.d.ts +8 -0
- package/dist/components/tabs/tabs-viewport.js +11 -0
- package/dist/components/tabs/tabs.css +1 -0
- package/dist/components/tabs/tabs.d.ts +31 -0
- package/dist/components/tabs/tabs.guide.json +23 -0
- package/dist/components/tabs/tabs.js +30 -0
- package/dist/components/tabs/tabs.module.js +11 -0
- package/dist/components/text/text.css +1 -1
- package/dist/components/text/text.d.ts +2 -2
- package/dist/components/text/text.js +2 -3
- package/dist/components/text/text.module.js +1 -1
- package/dist/components/textarea/textarea.css +1 -1
- package/dist/components/textarea/textarea.guide.json +8 -3
- package/dist/components/textarea/textarea.js +1 -3
- package/dist/components/textarea/textarea.module.js +4 -3
- package/dist/components/textfield/textfield.css +1 -1
- package/dist/components/textfield/textfield.guide.json +9 -3
- package/dist/components/textfield/textfield.js +1 -3
- package/dist/components/textfield/textfield.module.js +6 -5
- package/dist/components/title/title.css +1 -1
- package/dist/components/title/title.js +2 -3
- package/dist/components/title/title.module.js +1 -1
- package/dist/core/elevation/get-elevation-props.js +2 -2
- package/dist/core/props/intrinsic-vira-props.d.ts +3 -3
- package/dist/index.js +8 -1
- package/dist/internal-icons/icon-registry.d.ts +4 -1
- package/dist/internal-icons/icon-registry.js +9 -0
- package/dist/internal-icons/icons/duo/ArrowDown.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowDownLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowDownRight.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowRight.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUp.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUpLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUpRight.js +1 -1
- package/dist/internal-icons/icons/duo/ChevronExpandY.js +2 -2
- package/dist/internal-icons/icons/duo/CircleCheck.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleCheck.js +13 -0
- package/dist/internal-icons/icons/duo/Duplicate.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Duplicate.js +13 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwise.js +1 -1
- package/dist/internal-icons/icons/duo/ShieldCheck.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ShieldCheck.js +13 -0
- package/dist/internal-icons/icons/duo/index.d.ts +3 -0
- package/dist/internal-icons/icons/duo/index.js +3 -0
- package/dist/preflight-surface.json +15 -1
- package/dist/preflight.css +1 -1
- package/dist/theme-surface.json +0 -5
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__chip-module__Chip_2D18T{--chip-background:var(--global-primary);--chip-border-color:transparent;--chip-color:contrast-color(var(--global-primary));--chip-height:var(--space-large);--chip-icon-size:0.9em;--chip-color-bg-opacity:13%;--chip-color-border-opacity:0%;min-block-size:var(--chip-height);block-size:var(--chip-height);border:1px solid var(--chip-border-color);border-radius:var(--radius-infinite);background:var(--chip-background);color:var(--chip-color);font-size:var(--font-scale-body-small);font-variation-settings:"wght" 400;text-decoration:none;white-space:nowrap;overflow:hidden;&[data-variant=primary]{--chip-background:var(--global-primary);--chip-color:contrast-color(var(--global-primary))}&[data-variant=secondary]{--chip-background:var(--global-contrast);--chip-color:var(--base-6)}&[data-variant=outline]{--chip-background:transparent;--chip-border-color:oklab(from var(--global-contrast) l a b/0.2);--chip-color:var(--base-6)}&[data-variant=gray]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-gray)}&[data-variant=slate]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-slate)}&[data-variant=yellow]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-yellow)}&[data-variant=green]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-green)}&[data-variant=blue]{--chip-color:var(--highlight-blue)}&[data-variant=blue],&[data-variant=red]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity))}&[data-variant=red]{--chip-color:var(--highlight-red)}&[data-variant=cyan]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-cyan)}&[data-variant=purple]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-purple)}&[data-variant=indigo]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-indigo)}&[data-variant=acid]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-acid)}&[data-variant=salmon]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-salmon)}&[data-variant=magenta]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-magenta)}}.viraui__chip-module__Content_7mLuL{min-inline-size:0;min-block-size:100%}.viraui__chip-module__IconSlot_9N5vD{display:inline-grid;place-items:center;flex-shrink:0;>svg{inline-size:var(--chip-icon-size);block-size:var(--chip-icon-size)}}.viraui__chip-module__Label_Hdx7l{display:inline-block;min-inline-size:0;overflow:hidden;text-overflow:ellipsis}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import './chip.css';
|
|
3
2
|
import { clsx } from "../../core/clsx.js";
|
|
4
3
|
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
@@ -39,7 +38,6 @@ var Chip = ({ addon, addonPosition = "start", children, className, ref, render,
|
|
|
39
38
|
children: content,
|
|
40
39
|
className: clsx(chip_module_default.Chip, className),
|
|
41
40
|
"data-has-icon": addon ? "true" : void 0,
|
|
42
|
-
"data-icon-position": addon ? addonPosition : void 0,
|
|
43
41
|
"data-variant": variant
|
|
44
42
|
}
|
|
45
43
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var chip_module_default = {
|
|
2
|
-
Chip: "
|
|
3
|
-
Content: "
|
|
4
|
-
IconSlot: "
|
|
5
|
-
Label: "
|
|
2
|
+
Chip: "viraui__chip-module__Chip_2D18T",
|
|
3
|
+
Content: "viraui__chip-module__Content_7mLuL",
|
|
4
|
+
IconSlot: "viraui__chip-module__IconSlot_9N5vD",
|
|
5
|
+
Label: "viraui__chip-module__Label_Hdx7l"
|
|
6
6
|
};
|
|
7
7
|
//#endregion
|
|
8
8
|
export { chip_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__clamp-text-module__ClampText_Whnkd{display:-webkit-box;-webkit-line-clamp:var(--clamp-text-rows,1);-webkit-box-orient:vertical;overflow:hidden;&[data-clamp-text-inline=true]{display:-webkit-inline-box}}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DrawerClose } from '@base-ui/react';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Public Dialog.Close props.
|
|
5
|
+
*
|
|
6
|
+
* Pass-through to Base UI `Drawer.Close`. Use `render` for the visible control
|
|
7
|
+
* (`Button`, `IconButton`, or another element) and set `nativeButton` when the
|
|
8
|
+
* rendered root is not a native `<button>`.
|
|
9
|
+
*
|
|
10
|
+
* Compose inside `Dialog.Sheet` so the control closes the open drawer.
|
|
11
|
+
*
|
|
12
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
13
|
+
*/
|
|
14
|
+
export type DialogCloseProps = DrawerClose.Props;
|
|
15
|
+
export declare const DialogClose: React.FC<DialogCloseProps>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Drawer } from "@base-ui/react";
|
|
3
|
+
//#region src/components/dialog/dialog-close.tsx
|
|
4
|
+
var DialogClose = ({ ref, ...props }) => /* @__PURE__ */ jsx(Drawer.Close, {
|
|
5
|
+
ref,
|
|
6
|
+
...props
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { DialogClose };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { StackProps } from '..';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Public Dialog.Sheet props.
|
|
5
|
+
*
|
|
6
|
+
* Renders the drawer portal, scrim, bottom `Surface` panel, title, description,
|
|
7
|
+
* and optional body content. Compose `Dialog.Close` inside `children` when a
|
|
8
|
+
* close control is needed.
|
|
9
|
+
*
|
|
10
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
11
|
+
*/
|
|
12
|
+
export type DialogSheetProps = {
|
|
13
|
+
/**
|
|
14
|
+
* Accessible dialog title rendered as the modal heading.
|
|
15
|
+
*/
|
|
16
|
+
title: React.ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* Supporting copy announced with the title.
|
|
19
|
+
*
|
|
20
|
+
* @default No description is rendered.
|
|
21
|
+
*/
|
|
22
|
+
description?: React.ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* Optional body content rendered below the description.
|
|
25
|
+
*
|
|
26
|
+
* @default No extra body content is rendered.
|
|
27
|
+
*/
|
|
28
|
+
children?: React.ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Optional maximum width of the content area.
|
|
31
|
+
*
|
|
32
|
+
* @default `50ch`
|
|
33
|
+
*/
|
|
34
|
+
maxContentWidth?: StackProps['maxWidth'];
|
|
35
|
+
/**
|
|
36
|
+
* Aligns the header content.
|
|
37
|
+
*
|
|
38
|
+
* @default `start`
|
|
39
|
+
*/
|
|
40
|
+
headerAlign?: StackProps['hAlign'];
|
|
41
|
+
/**
|
|
42
|
+
* Whether to show the close button.
|
|
43
|
+
*
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
showCloseButton?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Centers the sheet horizontally within the viewport.
|
|
49
|
+
*
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
fitContent?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to show the drag handle above the sheet header.
|
|
55
|
+
*
|
|
56
|
+
* @default true
|
|
57
|
+
*/
|
|
58
|
+
showHandle?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Maximum block size of the sheet panel.
|
|
61
|
+
*
|
|
62
|
+
* @default `97dvh`
|
|
63
|
+
*/
|
|
64
|
+
maxHeight?: string;
|
|
65
|
+
};
|
|
66
|
+
export declare const DialogSheet: React.FC<DialogSheetProps>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Stack } from "../stack/stack.js";
|
|
2
|
+
import dialog_module_default from "./dialog.module.js";
|
|
3
|
+
import { IconButton } from "../icon-button/icon-button.js";
|
|
4
|
+
import { Text } from "../text/text.js";
|
|
5
|
+
import { Icon } from "../icon/icon.js";
|
|
6
|
+
import { Surface } from "../surface/surface.js";
|
|
7
|
+
import { Title } from "../title/title.js";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Drawer } from "@base-ui/react";
|
|
10
|
+
//#region src/components/dialog/dialog-sheet.tsx
|
|
11
|
+
var DialogSheet = ({ children, description, title, showCloseButton = false, fitContent = false, showHandle = true, headerAlign = "start", maxContentWidth = "50ch", maxHeight = "97dvh" }) => /* @__PURE__ */ jsxs(Drawer.Portal, { children: [/* @__PURE__ */ jsx(Drawer.Backdrop, { className: dialog_module_default.Backdrop }), /* @__PURE__ */ jsx(Drawer.Viewport, {
|
|
12
|
+
render: /* @__PURE__ */ jsx(Stack, {
|
|
13
|
+
vAlign: "end",
|
|
14
|
+
hPadding: "small",
|
|
15
|
+
vPadding: "small",
|
|
16
|
+
fillChildren: false,
|
|
17
|
+
hAlign: fitContent ? "center" : void 0
|
|
18
|
+
}),
|
|
19
|
+
className: dialog_module_default.Viewport,
|
|
20
|
+
children: /* @__PURE__ */ jsxs(Drawer.Popup, {
|
|
21
|
+
className: dialog_module_default.Popup,
|
|
22
|
+
style: { "--dialog-max-block-size": maxHeight },
|
|
23
|
+
render: /* @__PURE__ */ jsx(Surface, {
|
|
24
|
+
border: "top",
|
|
25
|
+
render: /* @__PURE__ */ jsx(Stack, { hAlign: "center" }),
|
|
26
|
+
color: 1,
|
|
27
|
+
vibrant: true,
|
|
28
|
+
radius: "large",
|
|
29
|
+
vPadding: ["medium", 0]
|
|
30
|
+
}),
|
|
31
|
+
children: [showHandle && /* @__PURE__ */ jsxs(Stack, {
|
|
32
|
+
className: dialog_module_default.Handle,
|
|
33
|
+
inline: true,
|
|
34
|
+
direction: "row",
|
|
35
|
+
vPadding: [0, "medium"],
|
|
36
|
+
columnGap: "small",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx("div", { className: dialog_module_default.HandleShape }),
|
|
39
|
+
/* @__PURE__ */ jsx("div", { className: dialog_module_default.HandleShape }),
|
|
40
|
+
/* @__PURE__ */ jsx("div", { className: dialog_module_default.HandleShape })
|
|
41
|
+
]
|
|
42
|
+
}), /* @__PURE__ */ jsxs(Stack, {
|
|
43
|
+
maxWidth: maxContentWidth,
|
|
44
|
+
rowGap: "large",
|
|
45
|
+
className: dialog_module_default.Body,
|
|
46
|
+
children: [/* @__PURE__ */ jsxs(Stack, {
|
|
47
|
+
className: dialog_module_default.Header,
|
|
48
|
+
hAlign: headerAlign,
|
|
49
|
+
hPadding: "medium",
|
|
50
|
+
fillChildren: false,
|
|
51
|
+
children: [/* @__PURE__ */ jsx(Drawer.Title, {
|
|
52
|
+
render: /* @__PURE__ */ jsx(Title, { level: "h4" }),
|
|
53
|
+
children: title
|
|
54
|
+
}), description && /* @__PURE__ */ jsx(Drawer.Description, {
|
|
55
|
+
render: /* @__PURE__ */ jsx(Text, {
|
|
56
|
+
tone: "muted",
|
|
57
|
+
render: /* @__PURE__ */ jsx("p", {})
|
|
58
|
+
}),
|
|
59
|
+
children: description
|
|
60
|
+
})]
|
|
61
|
+
}), /* @__PURE__ */ jsxs(Drawer.Content, {
|
|
62
|
+
render: /* @__PURE__ */ jsx(Stack, {
|
|
63
|
+
vAlign: "start",
|
|
64
|
+
fillChildren: false,
|
|
65
|
+
className: dialog_module_default.Content
|
|
66
|
+
}),
|
|
67
|
+
children: [showCloseButton && /* @__PURE__ */ jsx(Drawer.Close, {
|
|
68
|
+
className: dialog_module_default.CloseButton,
|
|
69
|
+
render: /* @__PURE__ */ jsx(IconButton, {
|
|
70
|
+
"aria-label": "Close dialog",
|
|
71
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "Xmark" }),
|
|
72
|
+
variant: "flat"
|
|
73
|
+
})
|
|
74
|
+
}), children]
|
|
75
|
+
})]
|
|
76
|
+
})]
|
|
77
|
+
})
|
|
78
|
+
})] });
|
|
79
|
+
//#endregion
|
|
80
|
+
export { DialogSheet };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DrawerTrigger } from '@base-ui/react';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Public Dialog.Trigger props.
|
|
5
|
+
*
|
|
6
|
+
* Pass-through to Base UI `Drawer.Trigger`. Use `render` for the visible control
|
|
7
|
+
* (`Button`, `IconButton`, or another element) and set `nativeButton` when the
|
|
8
|
+
* rendered root is not a native `<button>`.
|
|
9
|
+
*
|
|
10
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
11
|
+
*/
|
|
12
|
+
export type DialogTriggerProps = DrawerTrigger.Props;
|
|
13
|
+
export declare const DialogTrigger: React.FC<DialogTriggerProps>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Drawer } from "@base-ui/react";
|
|
3
|
+
//#region src/components/dialog/dialog-trigger.tsx
|
|
4
|
+
var DialogTrigger = ({ ref, ...props }) => /* @__PURE__ */ jsx(Drawer.Trigger, {
|
|
5
|
+
ref,
|
|
6
|
+
...props
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { DialogTrigger };
|
|
@@ -0,0 +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}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DrawerRoot } from '@base-ui/react';
|
|
2
|
+
import { DialogCloseProps } from './dialog-close';
|
|
3
|
+
import { DialogSheetProps } from './dialog-sheet';
|
|
4
|
+
import { DialogTriggerProps } from './dialog-trigger';
|
|
5
|
+
import type * as React from 'react';
|
|
6
|
+
/**
|
|
7
|
+
* Public Dialog root props.
|
|
8
|
+
*
|
|
9
|
+
* Groups `Dialog.Trigger`, `Dialog.Sheet`, and `Dialog.Close` under a Base UI `Drawer.Root`.
|
|
10
|
+
*
|
|
11
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
12
|
+
*/
|
|
13
|
+
export type DialogProps = DrawerRoot.Props;
|
|
14
|
+
export type DialogSnapPoint = DrawerRoot.SnapPoint;
|
|
15
|
+
type DialogComponent = React.FC<DialogProps> & {
|
|
16
|
+
Trigger: React.FC<DialogTriggerProps>;
|
|
17
|
+
Sheet: React.FC<DialogSheetProps>;
|
|
18
|
+
Close: React.FC<DialogCloseProps>;
|
|
19
|
+
};
|
|
20
|
+
export declare const Dialog: DialogComponent;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
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.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Focused tasks or confirmations that interrupt the current page without navigation",
|
|
6
|
+
"Short forms or read-only content that needs a modal layer above the app",
|
|
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"
|
|
9
|
+
],
|
|
10
|
+
"whenNotToUse": [
|
|
11
|
+
"Small anchored hints or quick actions that should use Popover or Menu",
|
|
12
|
+
"Highly custom sheet anatomy that needs primitive-level composition",
|
|
13
|
+
"Centered modal layouts that should not slide from the screen edge"
|
|
14
|
+
],
|
|
15
|
+
"accessibility": [
|
|
16
|
+
"Always pass `title`; add `description` when the heading alone is not enough context",
|
|
17
|
+
"Compose `Dialog.Close` with an accessible name when a visible close control is needed",
|
|
18
|
+
"Use `Dialog.Close` for footer actions that should dismiss the sheet"
|
|
19
|
+
],
|
|
20
|
+
"antiPatterns": [
|
|
21
|
+
"Opening a sheet without `title` copy for assistive technologies",
|
|
22
|
+
"Relying only on backdrop press or swipe when a footer action is the primary close path",
|
|
23
|
+
"Using Dialog when a centered non-gesture modal is enough and a future Dialog primitive is available"
|
|
24
|
+
],
|
|
25
|
+
"related": ["Surface", "Button", "IconButton", "Stack", "Elevator"]
|
|
26
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import './dialog.css';
|
|
2
|
+
import { DialogClose } from "./dialog-close.js";
|
|
3
|
+
import { DialogSheet } from "./dialog-sheet.js";
|
|
4
|
+
import { DialogTrigger } from "./dialog-trigger.js";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Drawer } from "@base-ui/react";
|
|
7
|
+
//#region src/components/dialog/dialog.tsx
|
|
8
|
+
var DialogRootComponent = ({ children, ...props }) => /* @__PURE__ */ jsx(Drawer.Root, {
|
|
9
|
+
...props,
|
|
10
|
+
children
|
|
11
|
+
});
|
|
12
|
+
var Dialog = Object.assign(DialogRootComponent, {
|
|
13
|
+
Trigger: DialogTrigger,
|
|
14
|
+
Sheet: DialogSheet,
|
|
15
|
+
Close: DialogClose
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { Dialog };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var dialog_module_default = {
|
|
2
|
+
Backdrop: "viraui__dialog-module__Backdrop_xgFhs",
|
|
3
|
+
Viewport: "viraui__dialog-module__Viewport_kmZN1",
|
|
4
|
+
Popup: "viraui__dialog-module__Popup_5qIyj",
|
|
5
|
+
Handle: "viraui__dialog-module__Handle_nd9SN",
|
|
6
|
+
HandleShape: "viraui__dialog-module__HandleShape_mEg8R",
|
|
7
|
+
Header: "viraui__dialog-module__Header_WnBly",
|
|
8
|
+
Body: "viraui__dialog-module__Body_9-UgN",
|
|
9
|
+
Content: "viraui__dialog-module__Content_r8lJc",
|
|
10
|
+
CloseButton: "viraui__dialog-module__CloseButton_U-B1r"
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { dialog_module_default as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { Dialog } from './dialog';
|
|
2
|
+
export type { DialogProps, DialogSnapPoint } from './dialog';
|
|
3
|
+
export { DialogClose } from './dialog-close';
|
|
4
|
+
export type { DialogCloseProps } from './dialog-close';
|
|
5
|
+
export { DialogSheet } from './dialog-sheet';
|
|
6
|
+
export type { DialogSheetProps } from './dialog-sheet';
|
|
7
|
+
export { DialogTrigger } from './dialog-trigger';
|
|
8
|
+
export type { DialogTriggerProps } from './dialog-trigger';
|
|
@@ -11,10 +11,10 @@ var Elevator = ({ children, resting, hover, direction, shadowColor, extraShadow,
|
|
|
11
11
|
const { intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
|
|
12
12
|
const elevation = getElevationProps({
|
|
13
13
|
resting,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
hover,
|
|
15
|
+
direction,
|
|
16
|
+
shadowColor,
|
|
17
|
+
extraShadow
|
|
18
18
|
});
|
|
19
19
|
return Children.map(children, (child) => {
|
|
20
20
|
if (!isValidElement(child)) return child;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { FieldsetRoot } from '@base-ui/react';
|
|
2
|
+
import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Public Fieldset props.
|
|
6
|
+
*
|
|
7
|
+
* Thin wrapper around Base UI `Fieldset.Root` and `Fieldset.Legend` with shared Vira
|
|
8
|
+
* legend typography and optional group helper copy. Pass `render` to merge the fieldset
|
|
9
|
+
* root with `RadioGroup`, `CheckboxGroup`, or another compatible root.
|
|
10
|
+
*
|
|
11
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
12
|
+
*/
|
|
13
|
+
export type FieldsetProps = FieldsetRoot.Props & IntrinsicViraProps & {
|
|
14
|
+
/**
|
|
15
|
+
* Visible legend copy rendered with shared internal `FieldLabel`.
|
|
16
|
+
*
|
|
17
|
+
* @default No legend is rendered.
|
|
18
|
+
*/
|
|
19
|
+
label?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Group helper copy rendered below the legend while valid.
|
|
22
|
+
* Requires a `Field.Root` ancestor for `FieldHelperCopy`.
|
|
23
|
+
*
|
|
24
|
+
* @default No description is rendered.
|
|
25
|
+
*/
|
|
26
|
+
description?: React.ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Group error copy rendered below the legend when invalid.
|
|
29
|
+
* Requires a `Field.Root` ancestor.
|
|
30
|
+
*
|
|
31
|
+
* @default No static error copy is rendered.
|
|
32
|
+
*/
|
|
33
|
+
error?: React.ReactNode;
|
|
34
|
+
};
|
|
35
|
+
export declare const Fieldset: React.FC<FieldsetProps>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Fieldset",
|
|
3
|
+
"summary": "Semantic field grouping with shared legend and optional group helper copy.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Section legends for multiple related fields — billing details with Textfield, Textarea, or Select children",
|
|
6
|
+
"Choice groups that need a shared legend, group description, or group error — Field.Root > Fieldset render={<RadioGroup<Value> />} or render={<CheckboxGroup />}",
|
|
7
|
+
"Group validation and helper copy that require a Field.Root ancestor plus Fieldset description or error",
|
|
8
|
+
"Type-safe radio unions via RadioGroup<'ssd' | 'hdd'> merged through Fieldset render",
|
|
9
|
+
"Visual section chrome (legend + bordered content) for a form block"
|
|
10
|
+
],
|
|
11
|
+
"whenNotToUse": [
|
|
12
|
+
"Every RadioGroup or CheckboxGroup by default — Fieldset is optional when options already have labels and no group copy is needed",
|
|
13
|
+
"Single Textfield, Textarea, Select, Radio, or Checkbox that already exposes its own label",
|
|
14
|
+
"Standalone RadioGroup or CheckboxGroup inside Field.Root with no shared legend — primitives are enough",
|
|
15
|
+
"Group legend, description, or validation on RadioGroup or CheckboxGroup props — those belong on Fieldset (with Field.Root when validating)"
|
|
16
|
+
],
|
|
17
|
+
"accessibility": [
|
|
18
|
+
"Map visible label to Fieldset.Legend so grouped controls share an accessible section name",
|
|
19
|
+
"Keep group invalid state on Field.Root and surface group error copy through Fieldset error",
|
|
20
|
+
"Pass disabled to Fieldset.Root when the whole section should ignore interaction"
|
|
21
|
+
],
|
|
22
|
+
"antiPatterns": [
|
|
23
|
+
"Wrapping Fieldset.Root in Stack render — breaks Base UI render merge with RadioGroup or CheckboxGroup",
|
|
24
|
+
"Expecting description or error on Fieldset without a Field.Root ancestor",
|
|
25
|
+
"Omitting RadioGroup<Value> generics when option values are a restricted union"
|
|
26
|
+
],
|
|
27
|
+
"related": ["RadioGroup", "CheckboxGroup", "Textfield", "Textarea", "Select", "Stack"]
|
|
28
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
2
|
+
import { Stack } from "../stack/stack.js";
|
|
3
|
+
import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
|
|
4
|
+
import { FieldLabel } from "../basic-input/field-label.js";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { Fieldset } from "@base-ui/react";
|
|
7
|
+
//#region src/components/fieldset/fieldset.tsx
|
|
8
|
+
var Fieldset$1 = ({ children, className, description, disabled, error, label, render, ...fieldsetRootProps }) => {
|
|
9
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(fieldsetRootProps);
|
|
10
|
+
return /* @__PURE__ */ jsxs(Fieldset.Root, {
|
|
11
|
+
...intrinsicAttributes,
|
|
12
|
+
...componentProps,
|
|
13
|
+
className,
|
|
14
|
+
disabled,
|
|
15
|
+
render,
|
|
16
|
+
children: [/* @__PURE__ */ jsxs(Stack, {
|
|
17
|
+
vPadding: [0, "small"],
|
|
18
|
+
rowGap: "small",
|
|
19
|
+
children: [label ? /* @__PURE__ */ jsx(Fieldset.Legend, {
|
|
20
|
+
render: /* @__PURE__ */ jsx(FieldLabel, {}),
|
|
21
|
+
children: label
|
|
22
|
+
}) : null, description || error ? /* @__PURE__ */ jsx(FieldHelperCopy, {
|
|
23
|
+
description,
|
|
24
|
+
error
|
|
25
|
+
}) : null]
|
|
26
|
+
}), children]
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { Fieldset$1 as Fieldset };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__icon-module__Icon_6DoBq{display:inline-flex;flex:none;vertical-align:middle;& [fill]{fill:currentcolor}& [stroke]{stroke:currentcolor}& [fill=none][stroke]{fill:none;stroke:currentcolor}}
|
|
@@ -13,7 +13,7 @@ type AccessibleNameProps = {
|
|
|
13
13
|
* Typed wrapper over `Button` for icon-only actions. Requires an accessible name
|
|
14
14
|
* via `aria-label` or `aria-labelledby`.
|
|
15
15
|
*/
|
|
16
|
-
export type IconButtonProps = Omit<ButtonProps, 'children' | '
|
|
16
|
+
export type IconButtonProps = Omit<ButtonProps, 'children' | 'addonPosition' | 'size'> & AccessibleNameProps & {
|
|
17
17
|
/**
|
|
18
18
|
* Controls the visual button size.
|
|
19
19
|
*
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"Keep the accessible name stable when loading state changes"
|
|
14
14
|
],
|
|
15
15
|
"antiPatterns": [
|
|
16
|
-
"Passing children or
|
|
16
|
+
"Passing children or addonPosition — not part of the public API",
|
|
17
17
|
"Using icon-only Button instead of IconButton"
|
|
18
18
|
],
|
|
19
19
|
"related": ["Button", "Icon", "Spinner"]
|
|
@@ -2,7 +2,7 @@ import { Button } from "../button/button.js";
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/icon-button/icon-button.tsx
|
|
4
4
|
var IconButton = ({ icon, size = "medium", ...props }) => /* @__PURE__ */ jsx(Button, {
|
|
5
|
-
icon,
|
|
5
|
+
addon: icon,
|
|
6
6
|
size,
|
|
7
7
|
...props
|
|
8
8
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './avatar';
|
|
2
2
|
export * from './avatar-group';
|
|
3
3
|
export * from './chip';
|
|
4
|
+
export * from './dialog';
|
|
4
5
|
export * from './clamp-text';
|
|
5
6
|
export * from './elevator';
|
|
6
7
|
export * from './button';
|
|
@@ -12,12 +13,14 @@ export * from './textarea';
|
|
|
12
13
|
export * from './slider';
|
|
13
14
|
export * from './switch';
|
|
14
15
|
export * from './checkbox';
|
|
16
|
+
export * from './fieldset';
|
|
15
17
|
export * from './radio';
|
|
16
18
|
export * from './select';
|
|
17
19
|
export * from './icon';
|
|
18
20
|
export * from './skeleton';
|
|
19
21
|
export * from './stack';
|
|
20
22
|
export * from './surface';
|
|
23
|
+
export * from './tabs';
|
|
21
24
|
export * from './spinner';
|
|
22
25
|
export * from './static-noise';
|
|
23
26
|
export * from './progressive-blur';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__linear-progress-module__LinearProgress_-KN0j{--linear-progress-track-size:var(--space-x-small);--linear-progress-track-background:var(--global-contrast);--linear-progress-indicator-color:var(--global-primary);& .viraui__linear-progress-module__Track_qUz8P{position:relative;overflow:hidden;block-size:var(--linear-progress-track-size);background:var(--linear-progress-track-background);border-radius:var(--radius-infinite)}& .viraui__linear-progress-module__Indicator_maaZF{block-size:100%;background:var(--linear-progress-indicator-color);border-radius:inherit;&[data-indeterminate]{position:absolute;inset:0;inline-size:100%;background:transparent;&:before{position:absolute;inset-block:0;inline-size:40%;background:var(--linear-progress-indicator-color);border-radius:inherit;animation:viraui__linear-progress-module__linear-progress-indeterminate_g0cSO 1.4s var(--easing-standard) infinite;content:""}}}}@keyframes viraui__linear-progress-module__linear-progress-indeterminate_g0cSO{0%{transform:translateX(-120%)}to{transform:translateX(260%)}}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var linear_progress_module_default = {
|
|
2
|
-
LinearProgress: "
|
|
3
|
-
"linear-progress-indeterminate": "
|
|
4
|
-
Track: "
|
|
5
|
-
Indicator: "
|
|
2
|
+
LinearProgress: "viraui__linear-progress-module__LinearProgress_-KN0j",
|
|
3
|
+
"linear-progress-indeterminate": "viraui__linear-progress-module__linear-progress-indeterminate_g0cSO",
|
|
4
|
+
Track: "viraui__linear-progress-module__Track_qUz8P",
|
|
5
|
+
Indicator: "viraui__linear-progress-module__Indicator_maaZF"
|
|
6
6
|
};
|
|
7
7
|
//#endregion
|
|
8
8
|
export { linear_progress_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__masonry-module__Masonry_l7c8U{--masonry-gap:var(--space-large);--masonry-column-fill:balance;--masonry-column-rule-color:var(--global-contrast);display:block;column-gap:var(--masonry-gap);column-fill:var(--masonry-column-fill);column-rule-color:var(--masonry-column-rule-color);columns:var(--masonry-column-width,auto) var(--masonry-column-count,auto)}.viraui__masonry-module__Item_ywXwo{display:block;break-inside:avoid;margin:0;padding-block-end:var(--masonry-gap);&[data-masonry-item-span-all=true]{column-span:all}}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import './masonry.css';
|
|
3
2
|
import { clsx } from "../../core/clsx.js";
|
|
4
3
|
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
@@ -14,8 +13,8 @@ var MasonryRoot = ({ children, className, columnCount = 4, columnFill = "balance
|
|
|
14
13
|
"--masonry-gap": resolveThemeValue(gap, "space", "var(--space-large)"),
|
|
15
14
|
"--masonry-column-fill": columnFill,
|
|
16
15
|
...usesColumnWidth ? { "--masonry-column-width": columnWidth } : { "--masonry-column-count": `${columnCount}` },
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
columnRuleWidth,
|
|
17
|
+
columnRuleStyle,
|
|
19
18
|
...style
|
|
20
19
|
};
|
|
21
20
|
return useRender({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var masonry_module_default = {
|
|
2
|
-
Masonry: "
|
|
3
|
-
Item: "
|
|
2
|
+
Masonry: "viraui__masonry-module__Masonry_l7c8U",
|
|
3
|
+
Item: "viraui__masonry-module__Item_ywXwo"
|
|
4
4
|
};
|
|
5
5
|
//#endregion
|
|
6
6
|
export { masonry_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__progressive-blur-module__ProgressiveBlur_eIxTK{--progressive-blur:16px;pointer-events:none}.viraui__progressive-blur-module__Layer_zbzMS{position:absolute;inset:0;backdrop-filter:blur(calc(var(--progressive-blur) * var(--progressive-blur-factor)));mask-image:var(--progressive-blur-mask-image);.viraui__progressive-blur-module__ProgressiveBlur_eIxTK[data-direction=top] &{--progressive-blur-mask-image:linear-gradient(to top,var(--progressive-blur-mask-gradient))}.viraui__progressive-blur-module__ProgressiveBlur_eIxTK[data-direction=right] &{--progressive-blur-mask-image:linear-gradient(to right,var(--progressive-blur-mask-gradient))}.viraui__progressive-blur-module__ProgressiveBlur_eIxTK[data-direction=bottom] &{--progressive-blur-mask-image:linear-gradient(to bottom,var(--progressive-blur-mask-gradient))}.viraui__progressive-blur-module__ProgressiveBlur_eIxTK[data-direction=left] &{--progressive-blur-mask-image:linear-gradient(to left,var(--progressive-blur-mask-gradient))}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var progressive_blur_module_default = {
|
|
2
|
-
ProgressiveBlur: "
|
|
3
|
-
Layer: "
|
|
2
|
+
ProgressiveBlur: "viraui__progressive-blur-module__ProgressiveBlur_eIxTK",
|
|
3
|
+
Layer: "viraui__progressive-blur-module__Layer_zbzMS"
|
|
4
4
|
};
|
|
5
5
|
//#endregion
|
|
6
6
|
export { progressive_blur_module_default as default };
|