@brijbyte/agentic-ui 0.0.1 → 0.0.3
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/README.md +183 -111
- package/dist/accordion/accordion.css +6 -10
- package/dist/accordion/accordion.d.ts +1 -1
- package/dist/accordion/accordion.js +1 -1
- package/dist/accordion/accordion.module.js.map +1 -1
- package/dist/accordion/parts.d.ts +1 -1
- package/dist/accordion/parts.js +2 -2
- package/dist/alert-dialog/alert-dialog.css +84 -0
- package/dist/alert-dialog/alert-dialog.d.ts +44 -0
- package/dist/alert-dialog/alert-dialog.d.ts.map +1 -0
- package/dist/alert-dialog/alert-dialog.js +46 -0
- package/dist/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/alert-dialog/alert-dialog.module.css.d.ts +2 -0
- package/dist/alert-dialog/alert-dialog.module.js +14 -0
- package/dist/alert-dialog/alert-dialog.module.js.map +1 -0
- package/dist/alert-dialog/index.d.ts +3 -0
- package/dist/alert-dialog/index.js +4 -0
- package/dist/alert-dialog/parts.d.ts +28 -0
- package/dist/alert-dialog/parts.d.ts.map +1 -0
- package/dist/alert-dialog/parts.js +62 -0
- package/dist/alert-dialog/parts.js.map +1 -0
- package/dist/badge/badge.css +3 -7
- package/dist/badge/badge.d.ts +1 -1
- package/dist/badge/badge.module.js.map +1 -1
- package/dist/button/button.css +36 -22
- package/dist/button/button.d.ts +7 -7
- package/dist/button/button.js +1 -1
- package/dist/button/button.js.map +1 -1
- package/dist/button/button.module.js.map +1 -1
- package/dist/card/card.css +5 -9
- package/dist/card/card.d.ts +1 -1
- package/dist/card/card.module.js.map +1 -1
- package/dist/checkbox/checkbox.css +3 -7
- package/dist/checkbox/checkbox.d.ts +1 -1
- package/dist/checkbox/checkbox.js +1 -1
- package/dist/checkbox/checkbox.module.js.map +1 -1
- package/dist/checkbox/parts.js +1 -1
- package/dist/collapsible/collapsible.css +7 -11
- package/dist/collapsible/collapsible.d.ts +1 -1
- package/dist/collapsible/collapsible.module.js.map +1 -1
- package/dist/collapsible/parts.js +1 -1
- package/dist/context-menu/context-menu.css +151 -0
- package/dist/context-menu/context-menu.d.ts +36 -0
- package/dist/context-menu/context-menu.d.ts.map +1 -0
- package/dist/context-menu/context-menu.js +54 -0
- package/dist/context-menu/context-menu.js.map +1 -0
- package/dist/context-menu/context-menu.module.css.d.ts +2 -0
- package/dist/context-menu/context-menu.module.js +18 -0
- package/dist/context-menu/context-menu.module.js.map +1 -0
- package/dist/context-menu/index.d.ts +3 -0
- package/dist/context-menu/index.js +4 -0
- package/dist/context-menu/parts.d.ts +38 -0
- package/dist/context-menu/parts.d.ts.map +1 -0
- package/dist/context-menu/parts.js +91 -0
- package/dist/context-menu/parts.js.map +1 -0
- package/dist/dialog/dialog.css +27 -22
- package/dist/dialog/dialog.d.ts +9 -1
- package/dist/dialog/dialog.d.ts.map +1 -1
- package/dist/dialog/dialog.js +7 -4
- package/dist/dialog/dialog.js.map +1 -1
- package/dist/dialog/dialog.module.js +2 -0
- package/dist/dialog/dialog.module.js.map +1 -1
- package/dist/dialog/parts.js +1 -1
- package/dist/drawer/drawer.css +9 -13
- package/dist/drawer/drawer.d.ts +1 -1
- package/dist/drawer/drawer.module.js.map +1 -1
- package/dist/drawer/parts.d.ts +1 -1
- package/dist/drawer/parts.js +1 -1
- package/dist/index.css +1603 -1299
- package/dist/index.d.ts +30 -24
- package/dist/index.js +41 -32
- package/dist/input/input.css +5 -9
- package/dist/input/input.js +1 -1
- package/dist/input/input.module.js.map +1 -1
- package/dist/layer-order.css +22 -0
- package/dist/menu/menu.css +13 -17
- package/dist/menu/menu.d.ts +1 -1
- package/dist/menu/menu.module.js.map +1 -1
- package/dist/menu/menuitemshortcut.js +1 -1
- package/dist/menu/parts.js +1 -1
- package/dist/number-field/number-field.css +12 -16
- package/dist/number-field/number-field.d.ts +1 -1
- package/dist/number-field/number-field.js +1 -1
- package/dist/number-field/number-field.module.js.map +1 -1
- package/dist/number-field/parts.js +1 -1
- package/dist/progress/parts.js +1 -1
- package/dist/progress/progress.css +1 -5
- package/dist/progress/progress.module.js.map +1 -1
- package/dist/reset.css +6 -6
- package/dist/select/parts.js +1 -1
- package/dist/select/select.css +14 -16
- package/dist/select/select.d.ts +5 -2
- package/dist/select/select.d.ts.map +1 -1
- package/dist/select/select.js +11 -2
- package/dist/select/select.js.map +1 -1
- package/dist/select/select.module.js.map +1 -1
- package/dist/separator/separator.css +1 -5
- package/dist/separator/separator.js +1 -1
- package/dist/separator/separator.module.js.map +1 -1
- package/dist/slider/index.d.ts +3 -0
- package/dist/slider/index.js +4 -0
- package/dist/slider/parts.d.ts +38 -0
- package/dist/slider/parts.d.ts.map +1 -0
- package/dist/slider/parts.js +69 -0
- package/dist/slider/parts.js.map +1 -0
- package/dist/slider/slider.css +97 -0
- package/dist/slider/slider.d.ts +38 -0
- package/dist/slider/slider.d.ts.map +1 -0
- package/dist/slider/slider.js +41 -0
- package/dist/slider/slider.js.map +1 -0
- package/dist/slider/slider.module.css.d.ts +2 -0
- package/dist/slider/slider.module.js +15 -0
- package/dist/slider/slider.module.js.map +1 -0
- package/dist/styles/reset.css +6 -6
- package/dist/styles/tokens.css +91 -76
- package/dist/switch/parts.js +1 -1
- package/dist/switch/switch.css +2 -6
- package/dist/switch/switch.d.ts +1 -1
- package/dist/switch/switch.js +1 -1
- package/dist/switch/switch.module.js.map +1 -1
- package/dist/tabs/parts.js +1 -1
- package/dist/tabs/tabs.css +5 -9
- package/dist/tabs/tabs.d.ts +1 -1
- package/dist/tabs/tabs.module.js.map +1 -1
- package/dist/tailwind-theme.css +23 -23
- package/dist/toast/parts.js +1 -1
- package/dist/toast/toast.css +11 -15
- package/dist/toast/toast.d.ts +1 -1
- package/dist/toast/toast.module.js.map +1 -1
- package/dist/tokens.css +98 -82
- package/dist/tooltip/parts.js +1 -1
- package/dist/tooltip/tooltip.css +7 -11
- package/dist/tooltip/tooltip.d.ts +1 -1
- package/dist/tooltip/tooltip.module.js.map +1 -1
- package/package.json +18 -1
- package/src/accordion/accordion.module.css +6 -20
- package/src/alert-dialog/alert-dialog.module.css +91 -0
- package/src/alert-dialog/alert-dialog.tsx +69 -0
- package/src/alert-dialog/index.ts +7 -0
- package/src/alert-dialog/parts.tsx +73 -0
- package/src/badge/badge.module.css +3 -13
- package/src/button/button.module.css +44 -64
- package/src/button/button.tsx +7 -7
- package/src/card/card.module.css +5 -16
- package/src/checkbox/checkbox.module.css +3 -14
- package/src/collapsible/collapsible.module.css +7 -20
- package/src/context-menu/context-menu.module.css +168 -0
- package/src/context-menu/context-menu.tsx +75 -0
- package/src/context-menu/index.ts +21 -0
- package/src/context-menu/parts.tsx +99 -0
- package/src/dialog/dialog.module.css +26 -33
- package/src/dialog/dialog.tsx +14 -1
- package/src/drawer/drawer.module.css +9 -58
- package/src/index.ts +21 -185
- package/src/input/input.module.css +5 -21
- package/src/menu/menu.module.css +13 -43
- package/src/number-field/number-field.module.css +12 -28
- package/src/progress/progress.module.css +1 -10
- package/src/select/select.module.css +14 -35
- package/src/select/select.tsx +14 -5
- package/src/separator/separator.module.css +1 -5
- package/src/slider/index.ts +14 -0
- package/src/slider/parts.tsx +90 -0
- package/src/slider/slider.module.css +110 -0
- package/src/slider/slider.tsx +68 -0
- package/src/styles/layer-order.css +22 -0
- package/src/styles/reset.css +6 -6
- package/src/styles/tailwind-theme.css +23 -23
- package/src/styles/tokens.css +98 -82
- package/src/switch/switch.module.css +2 -12
- package/src/tabs/tabs.module.css +5 -18
- package/src/toast/toast.module.css +11 -51
- package/src/tooltip/tooltip.module.css +7 -18
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import context_menu_module_default from "./context-menu.module.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { ContextMenu } from "@base-ui/react/context-menu";
|
|
5
|
+
//#region src/context-menu/parts.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Styled primitives for ContextMenu.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* import { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';
|
|
12
|
+
* import { ContextMenuPopup, ContextMenuItem, ContextMenuSeparator } from '@brijbyte/agentic-ui/context-menu';
|
|
13
|
+
*
|
|
14
|
+
* <BaseContextMenu.Root>
|
|
15
|
+
* <BaseContextMenu.Trigger render={<div>Right click me</div>} />
|
|
16
|
+
* <BaseContextMenu.Portal>
|
|
17
|
+
* <BaseContextMenu.Positioner>
|
|
18
|
+
* <ContextMenuPopup>
|
|
19
|
+
* <ContextMenuItem>Cut</ContextMenuItem>
|
|
20
|
+
* <ContextMenuItem>Copy</ContextMenuItem>
|
|
21
|
+
* <ContextMenuSeparator />
|
|
22
|
+
* <ContextMenuItem>Paste</ContextMenuItem>
|
|
23
|
+
* </ContextMenuPopup>
|
|
24
|
+
* </BaseContextMenu.Positioner>
|
|
25
|
+
* </BaseContextMenu.Portal>
|
|
26
|
+
* </BaseContextMenu.Root>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
const ContextMenuPopup = forwardRef(function ContextMenuPopup({ className, ...props }, ref) {
|
|
30
|
+
return /* @__PURE__ */ jsx(ContextMenu.Popup, {
|
|
31
|
+
ref,
|
|
32
|
+
className: `${context_menu_module_default.popup} ${className ?? ""}`,
|
|
33
|
+
...props
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
const ContextMenuItem = forwardRef(function ContextMenuItem({ className, ...props }, ref) {
|
|
37
|
+
return /* @__PURE__ */ jsx(ContextMenu.Item, {
|
|
38
|
+
ref,
|
|
39
|
+
className: `${context_menu_module_default.item} ${className ?? ""}`,
|
|
40
|
+
...props
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
const ContextMenuSeparator = forwardRef(function ContextMenuSeparator({ className, ...props }, ref) {
|
|
44
|
+
return /* @__PURE__ */ jsx(ContextMenu.Separator, {
|
|
45
|
+
ref,
|
|
46
|
+
className: `${context_menu_module_default.separator} ${className ?? ""}`,
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
const ContextMenuGroup = forwardRef(function ContextMenuGroup({ className, ...props }, ref) {
|
|
51
|
+
return /* @__PURE__ */ jsx(ContextMenu.Group, {
|
|
52
|
+
ref,
|
|
53
|
+
className,
|
|
54
|
+
...props
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
const ContextMenuGroupLabel = forwardRef(function ContextMenuGroupLabel({ className, ...props }, ref) {
|
|
58
|
+
return /* @__PURE__ */ jsx(ContextMenu.GroupLabel, {
|
|
59
|
+
ref,
|
|
60
|
+
className: `${context_menu_module_default["group-label"]} ${className ?? ""}`,
|
|
61
|
+
...props
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
const ContextMenuSubmenuTrigger = forwardRef(function ContextMenuSubmenuTrigger({ className, children, ...props }, ref) {
|
|
65
|
+
return /* @__PURE__ */ jsxs(ContextMenu.SubmenuTrigger, {
|
|
66
|
+
ref,
|
|
67
|
+
className: `${context_menu_module_default["submenu-trigger"]} ${className ?? ""}`,
|
|
68
|
+
...props,
|
|
69
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
70
|
+
style: { flex: 1 },
|
|
71
|
+
children
|
|
72
|
+
}), /* @__PURE__ */ jsx("svg", {
|
|
73
|
+
width: "10",
|
|
74
|
+
height: "10",
|
|
75
|
+
viewBox: "0 0 10 10",
|
|
76
|
+
fill: "none",
|
|
77
|
+
className: context_menu_module_default["submenu-icon"],
|
|
78
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
79
|
+
d: "M3.5 9L7.5 5L3.5 1",
|
|
80
|
+
stroke: "currentColor",
|
|
81
|
+
strokeWidth: "1.5",
|
|
82
|
+
strokeLinecap: "round",
|
|
83
|
+
strokeLinejoin: "round"
|
|
84
|
+
})
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
//#endregion
|
|
89
|
+
export { ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuPopup, ContextMenuSeparator, ContextMenuSubmenuTrigger };
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=parts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.js","names":["BaseContextMenu","styles"],"sources":["../../src/context-menu/parts.tsx"],"sourcesContent":["/**\n * Styled primitives for ContextMenu.\n *\n * @example\n * ```tsx\n * import { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';\n * import { ContextMenuPopup, ContextMenuItem, ContextMenuSeparator } from '@brijbyte/agentic-ui/context-menu';\n *\n * <BaseContextMenu.Root>\n * <BaseContextMenu.Trigger render={<div>Right click me</div>} />\n * <BaseContextMenu.Portal>\n * <BaseContextMenu.Positioner>\n * <ContextMenuPopup>\n * <ContextMenuItem>Cut</ContextMenuItem>\n * <ContextMenuItem>Copy</ContextMenuItem>\n * <ContextMenuSeparator />\n * <ContextMenuItem>Paste</ContextMenuItem>\n * </ContextMenuPopup>\n * </BaseContextMenu.Positioner>\n * </BaseContextMenu.Portal>\n * </BaseContextMenu.Root>\n * ```\n */\nimport { forwardRef } from \"react\";\nimport type { ComponentRef, ComponentPropsWithoutRef } from \"react\";\nimport { ContextMenu as BaseContextMenu } from \"@base-ui/react/context-menu\";\nimport styles from \"./context-menu.module.css\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Popup>;\ntype BaseItemProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Item>;\ntype BaseSeparatorProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Separator>;\ntype BaseGroupProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Group>;\ntype BaseGroupLabelProps = ComponentPropsWithoutRef<typeof BaseContextMenu.GroupLabel>;\ntype BaseSubmenuTriggerProps = ComponentPropsWithoutRef<typeof BaseContextMenu.SubmenuTrigger>;\n\nexport interface ContextMenuPopupProps extends Omit<BasePopupProps, \"className\"> {\n className?: string;\n}\nexport interface ContextMenuItemProps extends Omit<BaseItemProps, \"className\"> {\n className?: string;\n}\nexport interface ContextMenuSeparatorProps extends Omit<BaseSeparatorProps, \"className\"> {\n className?: string;\n}\nexport interface ContextMenuGroupProps extends Omit<BaseGroupProps, \"className\"> {\n className?: string;\n}\nexport interface ContextMenuGroupLabelProps extends Omit<BaseGroupLabelProps, \"className\"> {\n className?: string;\n}\nexport interface ContextMenuSubmenuTriggerProps extends Omit<BaseSubmenuTriggerProps, \"className\"> {\n className?: string;\n}\n\nexport const ContextMenuPopup = forwardRef<ComponentRef<typeof BaseContextMenu.Popup>, ContextMenuPopupProps>(function ContextMenuPopup(\n { className, ...props },\n ref,\n) {\n return <BaseContextMenu.Popup ref={ref} className={`${styles.popup} ${className ?? \"\"}`} {...props} />;\n});\n\nexport const ContextMenuItem = forwardRef<ComponentRef<typeof BaseContextMenu.Item>, ContextMenuItemProps>(function ContextMenuItem(\n { className, ...props },\n ref,\n) {\n return <BaseContextMenu.Item ref={ref} className={`${styles.item} ${className ?? \"\"}`} {...props} />;\n});\n\nexport const ContextMenuSeparator = forwardRef<ComponentRef<typeof BaseContextMenu.Separator>, ContextMenuSeparatorProps>(\n function ContextMenuSeparator({ className, ...props }, ref) {\n return <BaseContextMenu.Separator ref={ref} className={`${styles.separator} ${className ?? \"\"}`} {...props} />;\n },\n);\n\nexport const ContextMenuGroup = forwardRef<ComponentRef<typeof BaseContextMenu.Group>, ContextMenuGroupProps>(function ContextMenuGroup(\n { className, ...props },\n ref,\n) {\n return <BaseContextMenu.Group ref={ref} className={className} {...props} />;\n});\n\nexport const ContextMenuGroupLabel = forwardRef<ComponentRef<typeof BaseContextMenu.GroupLabel>, ContextMenuGroupLabelProps>(\n function ContextMenuGroupLabel({ className, ...props }, ref) {\n return <BaseContextMenu.GroupLabel ref={ref} className={`${styles[\"group-label\"]} ${className ?? \"\"}`} {...props} />;\n },\n);\n\nexport const ContextMenuSubmenuTrigger = forwardRef<ComponentRef<typeof BaseContextMenu.SubmenuTrigger>, ContextMenuSubmenuTriggerProps>(\n function ContextMenuSubmenuTrigger({ className, children, ...props }, ref) {\n return (\n <BaseContextMenu.SubmenuTrigger ref={ref} className={`${styles[\"submenu-trigger\"]} ${className ?? \"\"}`} {...props}>\n <span style={{ flex: 1 }}>{children}</span>\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" className={styles[\"submenu-icon\"]}>\n <path d=\"M3.5 9L7.5 5L3.5 1\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </BaseContextMenu.SubmenuTrigger>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,MAAa,mBAAmB,WAA8E,SAAS,iBACrH,EAAE,WAAW,GAAG,SAChB,KACA;AACA,QAAO,oBAACA,YAAgB,OAAjB;EAA4B;EAAK,WAAW,GAAGC,4BAAO,MAAM,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EACtG;AAEF,MAAa,kBAAkB,WAA4E,SAAS,gBAClH,EAAE,WAAW,GAAG,SAChB,KACA;AACA,QAAO,oBAACD,YAAgB,MAAjB;EAA2B;EAAK,WAAW,GAAGC,4BAAO,KAAK,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EACpG;AAEF,MAAa,uBAAuB,WAClC,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAAS,KAAK;AAC1D,QAAO,oBAACD,YAAgB,WAAjB;EAAgC;EAAK,WAAW,GAAGC,4BAAO,UAAU,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EAEjH;AAED,MAAa,mBAAmB,WAA8E,SAAS,iBACrH,EAAE,WAAW,GAAG,SAChB,KACA;AACA,QAAO,oBAACD,YAAgB,OAAjB;EAA4B;EAAgB;EAAW,GAAI;EAAS,CAAA;EAC3E;AAEF,MAAa,wBAAwB,WACnC,SAAS,sBAAsB,EAAE,WAAW,GAAG,SAAS,KAAK;AAC3D,QAAO,oBAACA,YAAgB,YAAjB;EAAiC;EAAK,WAAW,GAAGC,4BAAO,eAAe,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EAEvH;AAED,MAAa,4BAA4B,WACvC,SAAS,0BAA0B,EAAE,WAAW,UAAU,GAAG,SAAS,KAAK;AACzE,QACE,qBAACD,YAAgB,gBAAjB;EAAqC;EAAK,WAAW,GAAGC,4BAAO,mBAAmB,GAAG,aAAa;EAAM,GAAI;YAA5G,CACE,oBAAC,QAAD;GAAM,OAAO,EAAE,MAAM,GAAG;GAAG;GAAgB,CAAA,EAC3C,oBAAC,OAAD;GAAK,OAAM;GAAK,QAAO;GAAK,SAAQ;GAAY,MAAK;GAAO,WAAWA,4BAAO;aAC5E,oBAAC,QAAD;IAAM,GAAE;IAAqB,QAAO;IAAe,aAAY;IAAM,eAAc;IAAQ,gBAAe;IAAU,CAAA;GAChH,CAAA,CACyB;;EAGtC"}
|
package/dist/dialog/dialog.css
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
@layer theme, base;
|
|
2
|
-
|
|
3
1
|
@layer components {
|
|
4
2
|
.backdrop_VsZA5W {
|
|
5
3
|
z-index: var(--z-overlay);
|
|
@@ -15,14 +13,14 @@
|
|
|
15
13
|
|
|
16
14
|
.popup_VsZA5W {
|
|
17
15
|
z-index: var(--z-modal);
|
|
18
|
-
background-color: var(--color-
|
|
19
|
-
border: var(--border-width-base) solid var(--color-
|
|
16
|
+
background-color: var(--color-elevated);
|
|
17
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
20
18
|
border-radius: var(--radius-2xl);
|
|
21
19
|
box-shadow: var(--shadow-xl);
|
|
22
|
-
padding: var(--space-6);
|
|
23
|
-
width: min(
|
|
20
|
+
padding: var(--space-5) var(--space-6) var(--space-5);
|
|
21
|
+
width: min(440px, calc(100vw - var(--space-8)));
|
|
24
22
|
max-height: min(640px, calc(100vh - var(--space-8)));
|
|
25
|
-
gap: var(--space-
|
|
23
|
+
gap: var(--space-3);
|
|
26
24
|
transition: opacity .2s var(--easing-ease-out),
|
|
27
25
|
transform .2s var(--easing-spring);
|
|
28
26
|
outline: none;
|
|
@@ -48,25 +46,25 @@
|
|
|
48
46
|
}
|
|
49
47
|
|
|
50
48
|
.header_VsZA5W {
|
|
51
|
-
gap: var(--space-
|
|
49
|
+
gap: var(--space-2);
|
|
50
|
+
text-align: center;
|
|
52
51
|
flex-direction: column;
|
|
53
52
|
display: flex;
|
|
54
53
|
}
|
|
55
54
|
|
|
56
55
|
.title_VsZA5W {
|
|
57
|
-
font-family: var(--font-
|
|
56
|
+
font-family: var(--font-sans);
|
|
58
57
|
font-size: var(--font-size-lg);
|
|
59
|
-
font-weight: var(--font-weight-
|
|
60
|
-
color: var(--color-
|
|
58
|
+
font-weight: var(--font-weight-bold);
|
|
59
|
+
color: var(--color-primary);
|
|
61
60
|
line-height: var(--line-height-tight);
|
|
62
61
|
letter-spacing: var(--letter-spacing-tight);
|
|
63
|
-
padding-right: var(--space-6);
|
|
64
62
|
}
|
|
65
63
|
|
|
66
64
|
.description_VsZA5W {
|
|
67
|
-
font-family: var(--font-
|
|
68
|
-
font-size: var(--font-size-
|
|
69
|
-
color: var(--color-
|
|
65
|
+
font-family: var(--font-sans);
|
|
66
|
+
font-size: var(--font-size-md);
|
|
67
|
+
color: var(--color-secondary);
|
|
70
68
|
line-height: var(--line-height-relaxed);
|
|
71
69
|
}
|
|
72
70
|
|
|
@@ -76,7 +74,7 @@
|
|
|
76
74
|
border-radius: var(--radius-sm);
|
|
77
75
|
width: 24px;
|
|
78
76
|
height: 24px;
|
|
79
|
-
color: var(--color-
|
|
77
|
+
color: var(--color-tertiary);
|
|
80
78
|
cursor: pointer;
|
|
81
79
|
transition: background-color var(--duration-fast) var(--easing-standard),
|
|
82
80
|
color var(--duration-fast) var(--easing-standard);
|
|
@@ -90,8 +88,8 @@
|
|
|
90
88
|
}
|
|
91
89
|
|
|
92
90
|
.close_VsZA5W:hover {
|
|
93
|
-
background-color: var(--color-
|
|
94
|
-
color: var(--color-
|
|
91
|
+
background-color: var(--color-hover);
|
|
92
|
+
color: var(--color-primary);
|
|
95
93
|
}
|
|
96
94
|
|
|
97
95
|
.close_VsZA5W:focus-visible {
|
|
@@ -101,7 +99,7 @@
|
|
|
101
99
|
.body_VsZA5W {
|
|
102
100
|
font-family: var(--font-mono);
|
|
103
101
|
font-size: var(--font-size-sm);
|
|
104
|
-
color: var(--color-
|
|
102
|
+
color: var(--color-secondary);
|
|
105
103
|
line-height: var(--line-height-relaxed);
|
|
106
104
|
flex: 1;
|
|
107
105
|
overflow-y: auto;
|
|
@@ -112,9 +110,16 @@
|
|
|
112
110
|
align-items: center;
|
|
113
111
|
gap: var(--space-2);
|
|
114
112
|
padding-top: var(--space-2);
|
|
115
|
-
border-top: var(--border-width-base) solid var(--color-border-subtle);
|
|
116
113
|
display: flex;
|
|
117
114
|
}
|
|
118
|
-
}
|
|
119
115
|
|
|
120
|
-
|
|
116
|
+
.footer-split_VsZA5W {
|
|
117
|
+
justify-content: space-between;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.footer-end_VsZA5W {
|
|
121
|
+
align-items: center;
|
|
122
|
+
gap: var(--space-2);
|
|
123
|
+
display: flex;
|
|
124
|
+
}
|
|
125
|
+
}
|
package/dist/dialog/dialog.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ReactElement, ReactNode } from "react";
|
|
2
1
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
import { ReactElement, ReactNode } from "react";
|
|
3
3
|
import styles from "./dialog.module.css";
|
|
4
4
|
|
|
5
5
|
//#region src/dialog/dialog.d.ts
|
|
@@ -12,7 +12,14 @@ interface DialogProps {
|
|
|
12
12
|
title?: ReactNode;
|
|
13
13
|
description?: ReactNode;
|
|
14
14
|
children?: ReactNode;
|
|
15
|
+
/** Buttons aligned to the right (cancel, confirm). */
|
|
15
16
|
footer?: ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* Content anchored to the left of the footer — intended for a destructive
|
|
19
|
+
* action (e.g. Delete). When present the footer switches to space-between
|
|
20
|
+
* layout, matching the macOS dialog pattern.
|
|
21
|
+
*/
|
|
22
|
+
footerStart?: ReactNode;
|
|
16
23
|
className?: string;
|
|
17
24
|
dismissible?: boolean;
|
|
18
25
|
}
|
|
@@ -22,6 +29,7 @@ declare function Dialog({
|
|
|
22
29
|
description,
|
|
23
30
|
children,
|
|
24
31
|
footer,
|
|
32
|
+
footerStart,
|
|
25
33
|
className,
|
|
26
34
|
dismissible,
|
|
27
35
|
onOpenChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","names":[],"sources":["../../src/dialog/dialog.tsx"],"mappings":";;;;;UAIiB,WAAA;EACf,IAAA;EACA,WAAA;EAFe;EAIf,YAAA,IAAgB,IAAA,WAAe,YAAA;EAC/B,OAAA,GAAU,YAAA;EACV,KAAA,GAAQ,SAAA;EACR,WAAA,GAAc,SAAA;EACd,QAAA,GAAW,SAAA;
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","names":[],"sources":["../../src/dialog/dialog.tsx"],"mappings":";;;;;UAIiB,WAAA;EACf,IAAA;EACA,WAAA;EAFe;EAIf,YAAA,IAAgB,IAAA,WAAe,YAAA;EAC/B,OAAA,GAAU,YAAA;EACV,KAAA,GAAQ,SAAA;EACR,WAAA,GAAc,SAAA;EACd,QAAA,GAAW,SAAA;EAAA;EAEX,MAAA,GAAS,SAAA;EAMK;;;;;EAAd,WAAA,GAAc,SAAA;EACd,SAAA;EACA,WAAA;AAAA;AAAA,iBAWc,MAAA,CAAA;EACd,OAAA;EACA,KAAA;EACA,WAAA;EACA,QAAA;EACA,MAAA;EACA,WAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EAAA,GACG;AAAA,GACF,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/dialog/dialog.js
CHANGED
|
@@ -16,7 +16,7 @@ function XIcon() {
|
|
|
16
16
|
})
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
function Dialog$1({ trigger, title, description, children, footer, className, dismissible = true, onOpenChange, ...props }) {
|
|
19
|
+
function Dialog$1({ trigger, title, description, children, footer, footerStart, className, dismissible = true, onOpenChange, ...props }) {
|
|
20
20
|
return /* @__PURE__ */ jsxs(Dialog.Root, {
|
|
21
21
|
onOpenChange,
|
|
22
22
|
...props,
|
|
@@ -40,9 +40,12 @@ function Dialog$1({ trigger, title, description, children, footer, className, di
|
|
|
40
40
|
className: dialog_module_default.body,
|
|
41
41
|
children
|
|
42
42
|
}),
|
|
43
|
-
footer && /* @__PURE__ */
|
|
44
|
-
className: dialog_module_default.footer
|
|
45
|
-
children: footer
|
|
43
|
+
(footer || footerStart) && /* @__PURE__ */ jsxs("div", {
|
|
44
|
+
className: `${dialog_module_default.footer} ${footerStart ? dialog_module_default["footer-split"] : ""}`,
|
|
45
|
+
children: [footerStart && /* @__PURE__ */ jsx("div", { children: footerStart }), footer && /* @__PURE__ */ jsx("div", {
|
|
46
|
+
className: dialog_module_default["footer-end"],
|
|
47
|
+
children: footer
|
|
48
|
+
})]
|
|
46
49
|
})
|
|
47
50
|
]
|
|
48
51
|
}) })] })]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","names":["Dialog","BaseDialog","styles"],"sources":["../../src/dialog/dialog.tsx"],"sourcesContent":["import type { ReactNode, ReactElement } from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport styles from \"./dialog.module.css\";\n\nexport interface DialogProps {\n open?: boolean;\n defaultOpen?: boolean;\n /** `eventDetails` is the base-ui event details object. */\n onOpenChange?: (open: boolean, eventDetails: unknown) => void;\n trigger?: ReactElement;\n title?: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n footer?: ReactNode;\n className?: string;\n dismissible?: boolean;\n}\n\nfunction XIcon() {\n return (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M2 2L10 10M10 2L2 10\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport function Dialog({\n trigger,\n title,\n description,\n children,\n footer,\n className,\n dismissible = true,\n onOpenChange,\n ...props\n}: DialogProps) {\n return (\n <BaseDialog.Root onOpenChange={onOpenChange as never} {...props}>\n {trigger && <BaseDialog.Trigger render={trigger} />}\n <BaseDialog.Portal>\n <BaseDialog.Backdrop className={styles.backdrop} />\n <BaseDialog.Viewport>\n <BaseDialog.Popup className={`${styles.popup} ${className ?? \"\"}`}>\n {title && <BaseDialog.Title className={styles.title}>{title}</BaseDialog.Title>}\n {description && <BaseDialog.Description className={styles.description}>{description}</BaseDialog.Description>}\n {dismissible && (\n <BaseDialog.Close className={styles.close} aria-label=\"Close dialog\">\n <XIcon />\n </BaseDialog.Close>\n )}\n {children && <div className={styles.body}>{children}</div>}\n {footer && <div className={styles.footer}>{footer}</div>}\n </BaseDialog.Popup>\n </BaseDialog.Viewport>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n}\nexport { styles as DialogStyles };\n"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"dialog.js","names":["Dialog","BaseDialog","styles"],"sources":["../../src/dialog/dialog.tsx"],"sourcesContent":["import type { ReactNode, ReactElement } from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport styles from \"./dialog.module.css\";\n\nexport interface DialogProps {\n open?: boolean;\n defaultOpen?: boolean;\n /** `eventDetails` is the base-ui event details object. */\n onOpenChange?: (open: boolean, eventDetails: unknown) => void;\n trigger?: ReactElement;\n title?: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n /** Buttons aligned to the right (cancel, confirm). */\n footer?: ReactNode;\n /**\n * Content anchored to the left of the footer — intended for a destructive\n * action (e.g. Delete). When present the footer switches to space-between\n * layout, matching the macOS dialog pattern.\n */\n footerStart?: ReactNode;\n className?: string;\n dismissible?: boolean;\n}\n\nfunction XIcon() {\n return (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M2 2L10 10M10 2L2 10\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport function Dialog({\n trigger,\n title,\n description,\n children,\n footer,\n footerStart,\n className,\n dismissible = true,\n onOpenChange,\n ...props\n}: DialogProps) {\n return (\n <BaseDialog.Root onOpenChange={onOpenChange as never} {...props}>\n {trigger && <BaseDialog.Trigger render={trigger} />}\n <BaseDialog.Portal>\n <BaseDialog.Backdrop className={styles.backdrop} />\n <BaseDialog.Viewport>\n <BaseDialog.Popup className={`${styles.popup} ${className ?? \"\"}`}>\n {title && <BaseDialog.Title className={styles.title}>{title}</BaseDialog.Title>}\n {description && <BaseDialog.Description className={styles.description}>{description}</BaseDialog.Description>}\n {dismissible && (\n <BaseDialog.Close className={styles.close} aria-label=\"Close dialog\">\n <XIcon />\n </BaseDialog.Close>\n )}\n {children && <div className={styles.body}>{children}</div>}\n {(footer || footerStart) && (\n <div className={`${styles.footer} ${footerStart ? styles[\"footer-split\"] : \"\"}`}>\n {footerStart && <div>{footerStart}</div>}\n {footer && <div className={styles[\"footer-end\"]}>{footer}</div>}\n </div>\n )}\n </BaseDialog.Popup>\n </BaseDialog.Viewport>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n}\nexport { styles as DialogStyles };\n"],"mappings":";;;;AAyBA,SAAS,QAAQ;AACf,QACE,oBAAC,OAAD;EAAK,OAAM;EAAK,QAAO;EAAK,SAAQ;EAAY,MAAK;YACnD,oBAAC,QAAD;GAAM,GAAE;GAAuB,QAAO;GAAe,aAAY;GAAM,eAAc;GAAU,CAAA;EAC3F,CAAA;;AAIV,SAAgBA,SAAO,EACrB,SACA,OACA,aACA,UACA,QACA,aACA,WACA,cAAc,MACd,cACA,GAAG,SACW;AACd,QACE,qBAACC,OAAW,MAAZ;EAA+B;EAAuB,GAAI;YAA1D,CACG,WAAW,oBAACA,OAAW,SAAZ,EAAoB,QAAQ,SAAW,CAAA,EACnD,qBAACA,OAAW,QAAZ,EAAA,UAAA,CACE,oBAACA,OAAW,UAAZ,EAAqB,WAAWC,sBAAO,UAAY,CAAA,EACnD,oBAACD,OAAW,UAAZ,EAAA,UACE,qBAACA,OAAW,OAAZ;GAAkB,WAAW,GAAGC,sBAAO,MAAM,GAAG,aAAa;aAA7D;IACG,SAAS,oBAACD,OAAW,OAAZ;KAAkB,WAAWC,sBAAO;eAAQ;KAAyB,CAAA;IAC9E,eAAe,oBAACD,OAAW,aAAZ;KAAwB,WAAWC,sBAAO;eAAc;KAAqC,CAAA;IAC5G,eACC,oBAACD,OAAW,OAAZ;KAAkB,WAAWC,sBAAO;KAAO,cAAW;eACpD,oBAAC,OAAD,EAAS,CAAA;KACQ,CAAA;IAEpB,YAAY,oBAAC,OAAD;KAAK,WAAWA,sBAAO;KAAO;KAAe,CAAA;KACxD,UAAU,gBACV,qBAAC,OAAD;KAAK,WAAW,GAAGA,sBAAO,OAAO,GAAG,cAAcA,sBAAO,kBAAkB;eAA3E,CACG,eAAe,oBAAC,OAAD,EAAA,UAAM,aAAkB,CAAA,EACvC,UAAU,oBAAC,OAAD;MAAK,WAAWA,sBAAO;gBAAgB;MAAa,CAAA,CAC3D;;IAES;MACC,CAAA,CACJ,EAAA,CAAA,CACJ"}
|
|
@@ -5,6 +5,8 @@ var dialog_module_default = {
|
|
|
5
5
|
"close": "close_VsZA5W",
|
|
6
6
|
"description": "description_VsZA5W",
|
|
7
7
|
"footer": "footer_VsZA5W",
|
|
8
|
+
"footer-end": "footer-end_VsZA5W",
|
|
9
|
+
"footer-split": "footer-split_VsZA5W",
|
|
8
10
|
"header": "header_VsZA5W",
|
|
9
11
|
"popup": "popup_VsZA5W",
|
|
10
12
|
"title": "title_VsZA5W"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.module.js","names":[],"sources":["../../src/dialog/dialog.module.css"],"sourcesContent":["@layer
|
|
1
|
+
{"version":3,"file":"dialog.module.js","names":[],"sources":["../../src/dialog/dialog.module.css"],"sourcesContent":["@layer components {\n .backdrop {\n position: fixed;\n inset: 0;\n background-color: rgba(0, 0, 0, 0.48);\n z-index: var(--z-overlay);\n transition: opacity var(--duration-slow) var(--easing-standard);\n }\n .backdrop[data-starting-style],\n .backdrop[data-ending-style] {\n opacity: 0;\n }\n .popup {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: var(--z-modal);\n background-color: var(--color-elevated);\n border: var(--border-width-base) solid var(--color-line);\n border-radius: var(--radius-2xl);\n box-shadow: var(--shadow-xl);\n padding: var(--space-5) var(--space-6) var(--space-5);\n width: min(440px, calc(100vw - var(--space-8)));\n max-height: min(640px, calc(100vh - var(--space-8)));\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n outline: none;\n overflow: hidden;\n transition:\n opacity 200ms var(--easing-ease-out),\n transform 200ms var(--easing-spring);\n }\n .popup[data-starting-style] {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.96);\n }\n .popup[data-ending-style] {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.98);\n transition:\n opacity 150ms var(--easing-ease-in),\n transform 150ms var(--easing-ease-in);\n }\n .header {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n text-align: center;\n }\n .title {\n font-family: var(--font-sans);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-bold);\n color: var(--color-primary);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tight);\n }\n .description {\n font-family: var(--font-sans);\n font-size: var(--font-size-md);\n color: var(--color-secondary);\n line-height: var(--line-height-relaxed);\n }\n .close {\n position: absolute;\n top: var(--space-4);\n right: var(--space-4);\n width: 24px;\n height: 24px;\n border-radius: var(--radius-sm);\n border: none;\n background: transparent;\n color: var(--color-tertiary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n transition:\n background-color var(--duration-fast) var(--easing-standard),\n color var(--duration-fast) var(--easing-standard);\n }\n .close:hover {\n background-color: var(--color-hover);\n color: var(--color-primary);\n }\n .close:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n .body {\n flex: 1;\n overflow-y: auto;\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n color: var(--color-secondary);\n line-height: var(--line-height-relaxed);\n }\n .footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--space-2);\n padding-top: var(--space-2);\n }\n /* When a footerStart slot is present, space-between pushes it left */\n .footer-split {\n justify-content: space-between;\n }\n .footer-end {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n }\n}\n"],"mappings":";AAoBA,IAAA,wBAAW;CAAA,YAAc;CAAW,QAAA;CAAA,SAAA;CAAA,eAAA;CAAA,UAAA;CAAA,cAAA;CAAA,gBAAA;CAAA,UAAA;CAAA,SAAA;CAAA,SAAA;CAAA"}
|
package/dist/dialog/parts.js
CHANGED
package/dist/drawer/drawer.css
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
@layer theme, base;
|
|
2
|
-
|
|
3
1
|
@layer components {
|
|
4
2
|
.backdrop_JNKGQq {
|
|
5
3
|
--backdrop-opacity: .48;
|
|
@@ -73,8 +71,8 @@
|
|
|
73
71
|
|
|
74
72
|
.popup_JNKGQq {
|
|
75
73
|
box-sizing: border-box;
|
|
76
|
-
background-color: var(--color-
|
|
77
|
-
border: var(--border-width-base) solid var(--color-
|
|
74
|
+
background-color: var(--color-elevated);
|
|
75
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
78
76
|
overscroll-behavior: contain;
|
|
79
77
|
touch-action: auto;
|
|
80
78
|
will-change: transform;
|
|
@@ -176,7 +174,7 @@
|
|
|
176
174
|
}
|
|
177
175
|
|
|
178
176
|
.handle-bar_JNKGQq {
|
|
179
|
-
background-color: var(--color-
|
|
177
|
+
background-color: var(--color-line-strong);
|
|
180
178
|
width: 2.5rem;
|
|
181
179
|
height: 4px;
|
|
182
180
|
margin: 0 auto var(--space-4);
|
|
@@ -200,7 +198,7 @@
|
|
|
200
198
|
font-family: var(--font-mono);
|
|
201
199
|
font-size: var(--font-size-lg);
|
|
202
200
|
font-weight: var(--font-weight-semibold);
|
|
203
|
-
color: var(--color-
|
|
201
|
+
color: var(--color-primary);
|
|
204
202
|
line-height: var(--line-height-tight);
|
|
205
203
|
letter-spacing: var(--letter-spacing-tight);
|
|
206
204
|
padding-right: var(--space-6);
|
|
@@ -210,7 +208,7 @@
|
|
|
210
208
|
.description_JNKGQq {
|
|
211
209
|
font-family: var(--font-mono);
|
|
212
210
|
font-size: var(--font-size-sm);
|
|
213
|
-
color: var(--color-
|
|
211
|
+
color: var(--color-secondary);
|
|
214
212
|
line-height: var(--line-height-relaxed);
|
|
215
213
|
margin: 0;
|
|
216
214
|
}
|
|
@@ -221,7 +219,7 @@
|
|
|
221
219
|
border-radius: var(--radius-sm);
|
|
222
220
|
width: 24px;
|
|
223
221
|
height: 24px;
|
|
224
|
-
color: var(--color-
|
|
222
|
+
color: var(--color-tertiary);
|
|
225
223
|
cursor: pointer;
|
|
226
224
|
transition: background-color var(--duration-fast) var(--easing-standard),
|
|
227
225
|
color var(--duration-fast) var(--easing-standard);
|
|
@@ -235,8 +233,8 @@
|
|
|
235
233
|
}
|
|
236
234
|
|
|
237
235
|
.close_JNKGQq:hover {
|
|
238
|
-
background-color: var(--color-
|
|
239
|
-
color: var(--color-
|
|
236
|
+
background-color: var(--color-hover);
|
|
237
|
+
color: var(--color-primary);
|
|
240
238
|
}
|
|
241
239
|
|
|
242
240
|
.close_JNKGQq:focus-visible {
|
|
@@ -248,10 +246,8 @@
|
|
|
248
246
|
align-items: center;
|
|
249
247
|
gap: var(--space-2);
|
|
250
248
|
padding-top: var(--space-4);
|
|
251
|
-
border-top: var(--border-width-base) solid var(--color-
|
|
249
|
+
border-top: var(--border-width-base) solid var(--color-line-subtle);
|
|
252
250
|
margin-top: auto;
|
|
253
251
|
display: flex;
|
|
254
252
|
}
|
|
255
253
|
}
|
|
256
|
-
|
|
257
|
-
@layer utilities;
|
package/dist/drawer/drawer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.module.js","names":[],"sources":["../../src/drawer/drawer.module.css"],"sourcesContent":["@layer
|
|
1
|
+
{"version":3,"file":"drawer.module.js","names":[],"sources":["../../src/drawer/drawer.module.css"],"sourcesContent":["@layer components {\n /* ── Backdrop ──────────────────────────────────────────────────── */\n .backdrop {\n --backdrop-opacity: 0.48;\n position: fixed;\n inset: 0;\n min-height: 100dvh;\n background-color: black;\n opacity: calc(var(--backdrop-opacity) * (1 - var(--drawer-swipe-progress)));\n z-index: var(--z-overlay);\n transition-property: opacity;\n transition-duration: 450ms;\n transition-timing-function: cubic-bezier(0.32, 0.72, 0, 1);\n /* iOS 26+: cover the full visual viewport even when scrolled */\n @supports (-webkit-touch-callout: none) {\n position: absolute;\n }\n }\n .backdrop[data-starting-style],\n .backdrop[data-ending-style] {\n opacity: 0;\n }\n .backdrop[data-swiping] {\n transition-duration: 0ms;\n }\n .backdrop[data-ending-style] {\n transition-duration: calc(var(--drawer-swipe-strength) * 400ms);\n }\n /* ── Viewport ──────────────────────────────────────────────────── */\n .viewport {\n position: fixed;\n inset: 0;\n z-index: var(--z-modal);\n display: flex;\n }\n /* side drawers sit against their respective edge */\n .viewport[data-side=\"left\"] {\n justify-content: flex-start;\n align-items: stretch;\n }\n .viewport[data-side=\"right\"] {\n justify-content: flex-end;\n align-items: stretch;\n }\n .viewport[data-side=\"bottom\"] {\n align-items: flex-end;\n justify-content: center;\n }\n .viewport[data-side=\"top\"] {\n align-items: flex-start;\n justify-content: center;\n }\n /* iOS rounded inset padding */\n @supports (-webkit-touch-callout: none) {\n .viewport[data-side=\"left\"],\n .viewport[data-side=\"right\"] {\n padding: 0.625rem;\n }\n .viewport[data-side=\"bottom\"] {\n padding: 0 0.625rem 0.625rem;\n }\n .viewport[data-side=\"top\"] {\n padding: 0.625rem 0.625rem 0;\n }\n }\n /* ── Popup — shared ────────────────────────────────────────────── */\n .popup {\n box-sizing: border-box;\n background-color: var(--color-elevated);\n border: var(--border-width-base) solid var(--color-line);\n outline: none;\n overflow-y: auto;\n overscroll-behavior: contain;\n touch-action: auto;\n will-change: transform;\n transition-timing-function: cubic-bezier(0.32, 0.72, 0, 1);\n transition-duration: 450ms;\n }\n .popup[data-swiping] {\n user-select: none;\n transition-duration: 0ms;\n }\n .popup[data-ending-style] {\n transition-duration: calc(var(--drawer-swipe-strength) * 400ms);\n }\n /* ── Popup — right side (default) ─────────────────────────────── */\n .popup-right {\n --bleed: 3rem;\n height: 100%;\n width: calc(var(--drawer-width, 20rem) + var(--bleed));\n max-width: calc(100vw - 3rem + var(--bleed));\n padding: var(--space-6);\n padding-right: calc(var(--space-6) + var(--bleed));\n margin-right: calc(-1 * var(--bleed));\n transform: translateX(var(--drawer-swipe-movement-x));\n transition-property: transform;\n @supports (-webkit-touch-callout: none) {\n --bleed: 0px;\n margin-right: 0;\n border-radius: var(--radius-xl);\n }\n }\n .popup-right[data-starting-style],\n .popup-right[data-ending-style] {\n transform: translateX(calc(100% - var(--bleed) + 2px));\n }\n /* ── Popup — left side ─────────────────────────────────────────── */\n .popup-left {\n --bleed: 3rem;\n height: 100%;\n width: calc(var(--drawer-width, 20rem) + var(--bleed));\n max-width: calc(100vw - 3rem + var(--bleed));\n padding: var(--space-6);\n padding-left: calc(var(--space-6) + var(--bleed));\n margin-left: calc(-1 * var(--bleed));\n transform: translateX(var(--drawer-swipe-movement-x));\n transition-property: transform;\n @supports (-webkit-touch-callout: none) {\n --bleed: 0px;\n margin-left: 0;\n border-radius: var(--radius-xl);\n }\n }\n .popup-left[data-starting-style],\n .popup-left[data-ending-style] {\n transform: translateX(calc(-100% + var(--bleed) - 2px));\n }\n /* ── Popup — bottom ────────────────────────────────────────────── */\n .popup-bottom {\n width: 100%;\n max-width: var(--drawer-max-width, 480px);\n max-height: 90dvh;\n padding: var(--space-5) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom, 0px));\n border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;\n border-bottom: none;\n transform: translateY(var(--drawer-swipe-movement-y));\n transition-property: transform;\n @supports (-webkit-touch-callout: none) {\n border-radius: var(--radius-2xl);\n }\n }\n .popup-bottom[data-starting-style],\n .popup-bottom[data-ending-style] {\n transform: translateY(calc(100% + 2px));\n }\n /* ── Popup — top ───────────────────────────────────────────────── */\n .popup-top {\n width: 100%;\n max-width: var(--drawer-max-width, 480px);\n max-height: 90dvh;\n padding: calc(var(--space-5) + env(safe-area-inset-top, 0px)) var(--space-5) var(--space-5);\n border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);\n border-top: none;\n transform: translateY(var(--drawer-swipe-movement-y));\n transition-property: transform;\n @supports (-webkit-touch-callout: none) {\n border-radius: var(--radius-2xl);\n }\n }\n .popup-top[data-starting-style],\n .popup-top[data-ending-style] {\n transform: translateY(calc(-100% - 2px));\n }\n /* ── Handle bar (bottom/top drawers) ───────────────────────────── */\n .handle-bar {\n width: 2.5rem;\n height: 4px;\n border-radius: 9999px;\n background-color: var(--color-line-strong);\n margin: 0 auto var(--space-4);\n flex-shrink: 0;\n }\n .popup-top .handle-bar {\n margin: var(--space-4) auto 0;\n order: 1; /* push to bottom in top drawer */\n }\n /* ── Content ───────────────────────────────────────────────────── */\n .content {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n height: 100%;\n }\n /* ── Title ─────────────────────────────────────────────────────── */\n .title {\n font-family: var(--font-mono);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--color-primary);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tight);\n margin: 0;\n padding-right: var(--space-6);\n }\n /* ── Description ───────────────────────────────────────────────── */\n .description {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n color: var(--color-secondary);\n line-height: var(--line-height-relaxed);\n margin: 0;\n }\n /* ── Close button ──────────────────────────────────────────────── */\n .close {\n position: absolute;\n top: var(--space-4);\n right: var(--space-4);\n width: 24px;\n height: 24px;\n border-radius: var(--radius-sm);\n border: none;\n background: transparent;\n color: var(--color-tertiary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n transition:\n background-color var(--duration-fast) var(--easing-standard),\n color var(--duration-fast) var(--easing-standard);\n }\n .close:hover {\n background-color: var(--color-hover);\n color: var(--color-primary);\n }\n .close:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n /* ── Footer ────────────────────────────────────────────────────── */\n .footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--space-2);\n padding-top: var(--space-4);\n margin-top: auto;\n border-top: var(--border-width-base) solid var(--color-line-subtle);\n }\n}\n"],"mappings":";AA0BA,IAAA,wBAAe;CAAA,YAAU;CAAkB,SAAM;CAAkB,WAAA;CAAA,eAAA;CAAA,UAAA;CAAA,cAAA;CAAA,SAAA;CAAA,gBAAA;CAAA,cAAA;CAAA,eAAA;CAAA,aAAA;CAAA,SAAA;CAAA,YAAA;CAAA"}
|
package/dist/drawer/parts.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DrawerSide } from "./drawer.js";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
3
|
import * as react from "react";
|
|
3
4
|
import { ComponentPropsWithoutRef } from "react";
|
|
4
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
import { Drawer } from "@base-ui/react/drawer";
|
|
6
6
|
|
|
7
7
|
//#region src/drawer/parts.d.ts
|
package/dist/drawer/parts.js
CHANGED