@brijbyte/agentic-ui 0.0.1-beta → 0.0.2
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 +808 -0
- package/dist/accordion/accordion.css +85 -0
- package/dist/accordion/accordion.d.ts +28 -0
- package/dist/accordion/accordion.d.ts.map +1 -0
- package/dist/accordion/accordion.js +51 -0
- package/dist/accordion/accordion.js.map +1 -0
- package/dist/accordion/accordion.module.css.d.ts +2 -0
- package/dist/accordion/accordion.module.js +14 -0
- package/dist/accordion/accordion.module.js.map +1 -0
- package/dist/accordion/index.d.ts +3 -0
- package/dist/accordion/index.js +4 -0
- package/dist/accordion/parts.d.ts +28 -0
- package/dist/accordion/parts.d.ts.map +1 -0
- package/dist/accordion/parts.js +55 -0
- package/dist/accordion/parts.js.map +1 -0
- 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 +66 -0
- package/dist/badge/badge.d.ts +20 -0
- package/dist/badge/badge.d.ts.map +1 -0
- package/dist/badge/badge.js +21 -0
- package/dist/badge/badge.js.map +1 -0
- package/dist/badge/badge.module.css.d.ts +2 -0
- package/dist/badge/badge.module.js +16 -0
- package/dist/badge/badge.module.js.map +1 -0
- package/dist/badge/index.d.ts +2 -0
- package/dist/badge/index.js +3 -0
- package/dist/button/button.css +242 -0
- package/dist/button/button.d.ts +28 -0
- package/dist/button/button.d.ts.map +1 -0
- package/dist/button/button.js +34 -0
- package/dist/button/button.js.map +1 -0
- package/dist/button/button.module.css.d.ts +2 -0
- package/dist/button/button.module.js +27 -0
- package/dist/button/button.module.js.map +1 -0
- package/dist/button/index.d.ts +2 -0
- package/dist/button/index.js +3 -0
- package/dist/card/card.css +64 -0
- package/dist/card/card.d.ts +41 -0
- package/dist/card/card.d.ts.map +1 -0
- package/dist/card/card.js +50 -0
- package/dist/card/card.js.map +1 -0
- package/dist/card/card.module.css.d.ts +2 -0
- package/dist/card/card.module.js +15 -0
- package/dist/card/card.module.js.map +1 -0
- package/dist/card/index.d.ts +2 -0
- package/dist/card/index.js +3 -0
- package/dist/checkbox/checkbox.css +72 -0
- package/dist/checkbox/checkbox.d.ts +29 -0
- package/dist/checkbox/checkbox.d.ts.map +1 -0
- package/dist/checkbox/checkbox.js +40 -0
- package/dist/checkbox/checkbox.js.map +1 -0
- package/dist/checkbox/checkbox.module.css.d.ts +2 -0
- package/dist/checkbox/checkbox.module.js +11 -0
- package/dist/checkbox/checkbox.module.js.map +1 -0
- package/dist/checkbox/index.d.ts +3 -0
- package/dist/checkbox/index.js +4 -0
- package/dist/checkbox/parts.d.ts +20 -0
- package/dist/checkbox/parts.d.ts.map +1 -0
- package/dist/checkbox/parts.js +51 -0
- package/dist/checkbox/parts.js.map +1 -0
- package/dist/collapsible/collapsible.css +88 -0
- package/dist/collapsible/collapsible.d.ts +24 -0
- package/dist/collapsible/collapsible.d.ts.map +1 -0
- package/dist/collapsible/collapsible.js +44 -0
- package/dist/collapsible/collapsible.js.map +1 -0
- package/dist/collapsible/collapsible.module.css.d.ts +2 -0
- package/dist/collapsible/collapsible.module.js +12 -0
- package/dist/collapsible/collapsible.module.js.map +1 -0
- package/dist/collapsible/index.d.ts +3 -0
- package/dist/collapsible/index.js +4 -0
- package/dist/collapsible/parts.d.ts +23 -0
- package/dist/collapsible/parts.d.ts.map +1 -0
- package/dist/collapsible/parts.js +44 -0
- package/dist/collapsible/parts.js.map +1 -0
- 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 +125 -0
- package/dist/dialog/dialog.d.ts +40 -0
- package/dist/dialog/dialog.d.ts.map +1 -0
- package/dist/dialog/dialog.js +57 -0
- package/dist/dialog/dialog.js.map +1 -0
- package/dist/dialog/dialog.module.css.d.ts +2 -0
- package/dist/dialog/dialog.module.js +17 -0
- package/dist/dialog/dialog.module.js.map +1 -0
- package/dist/dialog/index.d.ts +3 -0
- package/dist/dialog/index.js +4 -0
- package/dist/dialog/parts.d.ts +38 -0
- package/dist/dialog/parts.d.ts.map +1 -0
- package/dist/dialog/parts.js +75 -0
- package/dist/dialog/parts.js.map +1 -0
- package/dist/drawer/drawer.css +253 -0
- package/dist/drawer/drawer.d.ts +38 -0
- package/dist/drawer/drawer.d.ts.map +1 -0
- package/dist/drawer/drawer.js +87 -0
- package/dist/drawer/drawer.js.map +1 -0
- package/dist/drawer/drawer.module.css.d.ts +2 -0
- package/dist/drawer/drawer.module.js +20 -0
- package/dist/drawer/drawer.module.js.map +1 -0
- package/dist/drawer/index.d.ts +3 -0
- package/dist/drawer/index.js +4 -0
- package/dist/drawer/parts.d.ts +58 -0
- package/dist/drawer/parts.d.ts.map +1 -0
- package/dist/drawer/parts.js +107 -0
- package/dist/drawer/parts.js.map +1 -0
- package/dist/index.css +2701 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.js +62 -0
- package/dist/input/index.d.ts +2 -0
- package/dist/input/index.js +3 -0
- package/dist/input/input.css +103 -0
- package/dist/input/input.d.ts +17 -0
- package/dist/input/input.d.ts.map +1 -0
- package/dist/input/input.js +37 -0
- package/dist/input/input.js.map +1 -0
- package/dist/input/input.module.css.d.ts +2 -0
- package/dist/input/input.module.js +18 -0
- package/dist/input/input.module.js.map +1 -0
- package/dist/layer-order.css +22 -0
- package/dist/menu/index.d.ts +4 -0
- package/dist/menu/index.js +5 -0
- package/dist/menu/menu.css +154 -0
- package/dist/menu/menu.d.ts +50 -0
- package/dist/menu/menu.d.ts.map +1 -0
- package/dist/menu/menu.js +69 -0
- package/dist/menu/menu.js.map +1 -0
- package/dist/menu/menu.module.css.d.ts +2 -0
- package/dist/menu/menu.module.js +19 -0
- package/dist/menu/menu.module.js.map +1 -0
- package/dist/menu/menuitemshortcut.d.ts +9 -0
- package/dist/menu/menuitemshortcut.d.ts.map +1 -0
- package/dist/menu/menuitemshortcut.js +15 -0
- package/dist/menu/menuitemshortcut.js.map +1 -0
- package/dist/menu/parts.d.ts +39 -0
- package/dist/menu/parts.d.ts.map +1 -0
- package/dist/menu/parts.js +76 -0
- package/dist/menu/parts.js.map +1 -0
- package/dist/number-field/index.d.ts +3 -0
- package/dist/number-field/index.js +4 -0
- package/dist/number-field/number-field.css +111 -0
- package/dist/number-field/number-field.d.ts +31 -0
- package/dist/number-field/number-field.d.ts.map +1 -0
- package/dist/number-field/number-field.js +78 -0
- package/dist/number-field/number-field.js.map +1 -0
- package/dist/number-field/number-field.module.css.d.ts +2 -0
- package/dist/number-field/number-field.module.js +16 -0
- package/dist/number-field/number-field.module.js.map +1 -0
- package/dist/number-field/parts.d.ts +38 -0
- package/dist/number-field/parts.d.ts.map +1 -0
- package/dist/number-field/parts.js +74 -0
- package/dist/number-field/parts.js.map +1 -0
- package/dist/progress/index.d.ts +3 -0
- package/dist/progress/index.js +4 -0
- package/dist/progress/parts.d.ts +20 -0
- package/dist/progress/parts.d.ts.map +1 -0
- package/dist/progress/parts.js +42 -0
- package/dist/progress/parts.js.map +1 -0
- package/dist/progress/progress.css +71 -0
- package/dist/progress/progress.d.ts +27 -0
- package/dist/progress/progress.d.ts.map +1 -0
- package/dist/progress/progress.js +27 -0
- package/dist/progress/progress.js.map +1 -0
- package/dist/progress/progress.module.css.d.ts +2 -0
- package/dist/progress/progress.module.js +19 -0
- package/dist/progress/progress.module.js.map +1 -0
- package/dist/reset.css +91 -0
- package/dist/select/index.d.ts +3 -0
- package/dist/select/index.js +4 -0
- package/dist/select/parts.d.ts +65 -0
- package/dist/select/parts.d.ts.map +1 -0
- package/dist/select/parts.js +134 -0
- package/dist/select/parts.js.map +1 -0
- package/dist/select/select.css +157 -0
- package/dist/select/select.d.ts +41 -0
- package/dist/select/select.d.ts.map +1 -0
- package/dist/select/select.js +89 -0
- package/dist/select/select.js.map +1 -0
- package/dist/select/select.module.css.d.ts +2 -0
- package/dist/select/select.module.js +17 -0
- package/dist/select/select.module.js.map +1 -0
- package/dist/separator/index.d.ts +2 -0
- package/dist/separator/index.js +3 -0
- package/dist/separator/separator.css +16 -0
- package/dist/separator/separator.d.ts +16 -0
- package/dist/separator/separator.d.ts.map +1 -0
- package/dist/separator/separator.js +17 -0
- package/dist/separator/separator.js.map +1 -0
- package/dist/separator/separator.module.css.d.ts +2 -0
- package/dist/separator/separator.module.js +6 -0
- package/dist/separator/separator.module.js.map +1 -0
- 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 +69 -0
- package/dist/styles/tokens.css +276 -0
- package/dist/switch/index.d.ts +3 -0
- package/dist/switch/index.js +4 -0
- package/dist/switch/parts.d.ts +18 -0
- package/dist/switch/parts.d.ts.map +1 -0
- package/dist/switch/parts.js +39 -0
- package/dist/switch/parts.js.map +1 -0
- package/dist/switch/switch.css +64 -0
- package/dist/switch/switch.d.ts +28 -0
- package/dist/switch/switch.d.ts.map +1 -0
- package/dist/switch/switch.js +26 -0
- package/dist/switch/switch.js.map +1 -0
- package/dist/switch/switch.module.css.d.ts +2 -0
- package/dist/switch/switch.module.js +11 -0
- package/dist/switch/switch.module.js.map +1 -0
- package/dist/tabs/index.d.ts +3 -0
- package/dist/tabs/index.js +4 -0
- package/dist/tabs/parts.d.ts +23 -0
- package/dist/tabs/parts.d.ts.map +1 -0
- package/dist/tabs/parts.js +48 -0
- package/dist/tabs/parts.js.map +1 -0
- package/dist/tabs/tabs.css +86 -0
- package/dist/tabs/tabs.d.ts +28 -0
- package/dist/tabs/tabs.d.ts.map +1 -0
- package/dist/tabs/tabs.js +30 -0
- package/dist/tabs/tabs.js.map +1 -0
- package/dist/tabs/tabs.module.css.d.ts +2 -0
- package/dist/tabs/tabs.module.js +11 -0
- package/dist/tabs/tabs.module.js.map +1 -0
- package/dist/tailwind-theme.css +142 -0
- package/dist/toast/index.d.ts +3 -0
- package/dist/toast/index.js +4 -0
- package/dist/toast/parts.d.ts +33 -0
- package/dist/toast/parts.d.ts.map +1 -0
- package/dist/toast/parts.js +62 -0
- package/dist/toast/parts.js.map +1 -0
- package/dist/toast/toast.css +207 -0
- package/dist/toast/toast.d.ts +43 -0
- package/dist/toast/toast.d.ts.map +1 -0
- package/dist/toast/toast.js +156 -0
- package/dist/toast/toast.js.map +1 -0
- package/dist/toast/toast.module.css.d.ts +2 -0
- package/dist/toast/toast.module.js +25 -0
- package/dist/toast/toast.module.js.map +1 -0
- package/dist/tokens.css +404 -0
- package/dist/tooltip/index.d.ts +3 -0
- package/dist/tooltip/index.js +4 -0
- package/dist/tooltip/parts.d.ts +23 -0
- package/dist/tooltip/parts.d.ts.map +1 -0
- package/dist/tooltip/parts.js +53 -0
- package/dist/tooltip/parts.js.map +1 -0
- package/dist/tooltip/tooltip.css +60 -0
- package/dist/tooltip/tooltip.d.ts +22 -0
- package/dist/tooltip/tooltip.d.ts.map +1 -0
- package/dist/tooltip/tooltip.js +23 -0
- package/dist/tooltip/tooltip.js.map +1 -0
- package/dist/tooltip/tooltip.module.css.d.ts +2 -0
- package/dist/tooltip/tooltip.module.js +10 -0
- package/dist/tooltip/tooltip.module.js.map +1 -0
- package/package.json +153 -4
- package/src/accordion/accordion.module.css +75 -0
- package/src/accordion/accordion.tsx +50 -0
- package/src/accordion/index.ts +6 -0
- package/src/accordion/parts.tsx +68 -0
- 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 +60 -0
- package/src/badge/badge.tsx +19 -0
- package/src/badge/index.ts +3 -0
- package/src/button/button.module.css +229 -0
- package/src/button/button.tsx +67 -0
- package/src/button/index.ts +3 -0
- package/src/card/card.module.css +56 -0
- package/src/card/card.tsx +54 -0
- package/src/card/index.ts +3 -0
- package/src/checkbox/checkbox.module.css +69 -0
- package/src/checkbox/checkbox.tsx +38 -0
- package/src/checkbox/index.ts +6 -0
- package/src/checkbox/parts.tsx +54 -0
- package/src/collapsible/collapsible.module.css +81 -0
- package/src/collapsible/collapsible.tsx +38 -0
- package/src/collapsible/index.ts +6 -0
- package/src/collapsible/parts.tsx +52 -0
- 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/css.d.ts +8 -0
- package/src/dialog/dialog.module.css +116 -0
- package/src/dialog/dialog.tsx +73 -0
- package/src/dialog/index.ts +13 -0
- package/src/dialog/parts.tsx +96 -0
- package/src/drawer/drawer.module.css +240 -0
- package/src/drawer/drawer.tsx +96 -0
- package/src/drawer/index.ts +24 -0
- package/src/drawer/parts.tsx +122 -0
- package/src/index.ts +237 -0
- package/src/input/index.ts +3 -0
- package/src/input/input.module.css +93 -0
- package/src/input/input.tsx +39 -0
- package/src/menu/index.ts +7 -0
- package/src/menu/menu.module.css +142 -0
- package/src/menu/menu.tsx +108 -0
- package/src/menu/menuitemshortcut.tsx +9 -0
- package/src/menu/parts.tsx +90 -0
- package/src/number-field/index.ts +20 -0
- package/src/number-field/number-field.module.css +98 -0
- package/src/number-field/number-field.tsx +75 -0
- package/src/number-field/parts.tsx +91 -0
- package/src/progress/index.ts +6 -0
- package/src/progress/parts.tsx +51 -0
- package/src/progress/progress.module.css +61 -0
- package/src/progress/progress.tsx +42 -0
- package/src/select/index.ts +30 -0
- package/src/select/parts.tsx +171 -0
- package/src/select/select.module.css +146 -0
- package/src/select/select.tsx +98 -0
- package/src/separator/index.ts +3 -0
- package/src/separator/separator.module.css +14 -0
- package/src/separator/separator.tsx +20 -0
- 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 +91 -0
- package/src/styles/tailwind-theme.css +142 -0
- package/src/styles/tokens.css +404 -0
- package/src/switch/index.ts +6 -0
- package/src/switch/parts.tsx +44 -0
- package/src/switch/switch.module.css +57 -0
- package/src/switch/switch.tsx +33 -0
- package/src/tabs/index.ts +6 -0
- package/src/tabs/parts.tsx +48 -0
- package/src/tabs/tabs.module.css +79 -0
- package/src/tabs/tabs.tsx +48 -0
- package/src/toast/index.ts +6 -0
- package/src/toast/parts.tsx +76 -0
- package/src/toast/toast.module.css +212 -0
- package/src/toast/toast.tsx +129 -0
- package/src/tooltip/index.ts +6 -0
- package/src/tooltip/parts.tsx +62 -0
- package/src/tooltip/tooltip.module.css +56 -0
- package/src/tooltip/tooltip.tsx +30 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import collapsible_module_default from "./collapsible.module.js";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Collapsible } from "@base-ui/react/collapsible";
|
|
5
|
+
//#region src/collapsible/parts.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Styled primitives for Collapsible.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* import { Collapsible } from '@base-ui/react/collapsible';
|
|
12
|
+
* import { CollapsibleTrigger, CollapsiblePanel } from '@brijbyte/agentic-ui/collapsible';
|
|
13
|
+
*
|
|
14
|
+
* <Collapsible.Root>
|
|
15
|
+
* <CollapsibleTrigger>Toggle</CollapsibleTrigger>
|
|
16
|
+
* <CollapsiblePanel>Content</CollapsiblePanel>
|
|
17
|
+
* </Collapsible.Root>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
const CollapsibleRoot = forwardRef(function CollapsibleRoot({ className, ...props }, ref) {
|
|
21
|
+
return /* @__PURE__ */ jsx(Collapsible.Root, {
|
|
22
|
+
ref,
|
|
23
|
+
className: `${collapsible_module_default.root} ${className ?? ""}`,
|
|
24
|
+
...props
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
const CollapsibleTrigger = forwardRef(function CollapsibleTrigger({ className, ...props }, ref) {
|
|
28
|
+
return /* @__PURE__ */ jsx(Collapsible.Trigger, {
|
|
29
|
+
ref,
|
|
30
|
+
className: `${collapsible_module_default.trigger} ${className ?? ""}`,
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const CollapsiblePanel = forwardRef(function CollapsiblePanel({ className, ...props }, ref) {
|
|
35
|
+
return /* @__PURE__ */ jsx(Collapsible.Panel, {
|
|
36
|
+
ref,
|
|
37
|
+
className: `${collapsible_module_default.panel} ${className ?? ""}`,
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
42
|
+
export { CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=parts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.js","names":["BaseCollapsible","styles"],"sources":["../../src/collapsible/parts.tsx"],"sourcesContent":["/**\n * Styled primitives for Collapsible.\n *\n * @example\n * ```tsx\n * import { Collapsible } from '@base-ui/react/collapsible';\n * import { CollapsibleTrigger, CollapsiblePanel } from '@brijbyte/agentic-ui/collapsible';\n *\n * <Collapsible.Root>\n * <CollapsibleTrigger>Toggle</CollapsibleTrigger>\n * <CollapsiblePanel>Content</CollapsiblePanel>\n * </Collapsible.Root>\n * ```\n */\nimport { forwardRef } from \"react\";\nimport type { ComponentRef, ComponentPropsWithoutRef } from \"react\";\nimport { Collapsible as BaseCollapsible } from \"@base-ui/react/collapsible\";\nimport styles from \"./collapsible.module.css\";\n\ntype BaseRootProps = ComponentPropsWithoutRef<typeof BaseCollapsible.Root>;\ntype BaseTriggerProps = ComponentPropsWithoutRef<typeof BaseCollapsible.Trigger>;\ntype BasePanelProps = ComponentPropsWithoutRef<typeof BaseCollapsible.Panel>;\n\nexport interface CollapsibleRootProps extends Omit<BaseRootProps, \"className\"> {\n className?: string;\n}\nexport interface CollapsibleTriggerProps extends Omit<BaseTriggerProps, \"className\"> {\n className?: string;\n}\nexport interface CollapsiblePanelProps extends Omit<BasePanelProps, \"className\"> {\n className?: string;\n}\n\nexport const CollapsibleRoot = forwardRef<ComponentRef<typeof BaseCollapsible.Root>, CollapsibleRootProps>(function CollapsibleRoot(\n { className, ...props },\n ref,\n) {\n return <BaseCollapsible.Root ref={ref} className={`${styles.root} ${className ?? \"\"}`} {...props} />;\n});\n\nexport const CollapsibleTrigger = forwardRef<ComponentRef<typeof BaseCollapsible.Trigger>, CollapsibleTriggerProps>(\n function CollapsibleTrigger({ className, ...props }, ref) {\n return <BaseCollapsible.Trigger ref={ref} className={`${styles.trigger} ${className ?? \"\"}`} {...props} />;\n },\n);\n\nexport const CollapsiblePanel = forwardRef<ComponentRef<typeof BaseCollapsible.Panel>, CollapsiblePanelProps>(function CollapsiblePanel(\n { className, ...props },\n ref,\n) {\n return <BaseCollapsible.Panel ref={ref} className={`${styles.panel} ${className ?? \"\"}`} {...props} />;\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,MAAa,kBAAkB,WAA4E,SAAS,gBAClH,EAAE,WAAW,GAAG,SAChB,KACA;AACA,QAAO,oBAACA,YAAgB,MAAjB;EAA2B;EAAK,WAAW,GAAGC,2BAAO,KAAK,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EACpG;AAEF,MAAa,qBAAqB,WAChC,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAS,KAAK;AACxD,QAAO,oBAACD,YAAgB,SAAjB;EAA8B;EAAK,WAAW,GAAGC,2BAAO,QAAQ,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EAE7G;AAED,MAAa,mBAAmB,WAA8E,SAAS,iBACrH,EAAE,WAAW,GAAG,SAChB,KACA;AACA,QAAO,oBAACD,YAAgB,OAAjB;EAA4B;EAAK,WAAW,GAAGC,2BAAO,MAAM,GAAG,aAAa;EAAM,GAAI;EAAS,CAAA;EACtG"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.positioner_U19WMG {
|
|
3
|
+
z-index: var(--z-dropdown);
|
|
4
|
+
outline: none;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.popup_U19WMG {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
padding: var(--space-1) 0;
|
|
10
|
+
border-radius: var(--radius-lg);
|
|
11
|
+
background-color: var(--color-overlay);
|
|
12
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
13
|
+
box-shadow: var(--shadow-popover);
|
|
14
|
+
color: var(--color-primary);
|
|
15
|
+
font-family: var(--font-sans);
|
|
16
|
+
font-size: var(--font-size-md);
|
|
17
|
+
min-width: 220px;
|
|
18
|
+
transform-origin: var(--transform-origin);
|
|
19
|
+
transition: opacity .15s var(--easing-ease-out),
|
|
20
|
+
transform .15s var(--easing-ease-out);
|
|
21
|
+
outline: none;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@supports (backdrop-filter: blur(20px)) {
|
|
25
|
+
.popup_U19WMG {
|
|
26
|
+
-webkit-backdrop-filter: blur(20px) saturate(1.8);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.popup_U19WMG[data-starting-style] {
|
|
31
|
+
opacity: 0;
|
|
32
|
+
transform: scale(.97);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.popup_U19WMG[data-ending-style] {
|
|
36
|
+
opacity: 0;
|
|
37
|
+
transition: opacity 75ms var(--easing-ease-in),
|
|
38
|
+
transform 75ms var(--easing-ease-in);
|
|
39
|
+
transform: scale(.99);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.trigger_U19WMG {
|
|
43
|
+
-webkit-user-select: none;
|
|
44
|
+
user-select: none;
|
|
45
|
+
cursor: default;
|
|
46
|
+
outline: none;
|
|
47
|
+
display: block;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.item_U19WMG {
|
|
51
|
+
align-items: center;
|
|
52
|
+
gap: var(--space-2);
|
|
53
|
+
padding: var(--space-1) var(--space-4);
|
|
54
|
+
font-family: var(--font-sans);
|
|
55
|
+
font-size: var(--font-size-md);
|
|
56
|
+
color: var(--color-primary);
|
|
57
|
+
cursor: default;
|
|
58
|
+
user-select: none;
|
|
59
|
+
outline: none;
|
|
60
|
+
transition: none;
|
|
61
|
+
display: flex;
|
|
62
|
+
position: relative;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.item_U19WMG[data-highlighted] {
|
|
66
|
+
background-color: var(--color-accent);
|
|
67
|
+
color: var(--color-on-accent);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.item_U19WMG[data-disabled] {
|
|
71
|
+
opacity: .36;
|
|
72
|
+
cursor: not-allowed;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.item-icon_U19WMG {
|
|
76
|
+
width: 16px;
|
|
77
|
+
height: 16px;
|
|
78
|
+
color: inherit;
|
|
79
|
+
flex-shrink: 0;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
align-items: center;
|
|
82
|
+
display: flex;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.item-label_U19WMG {
|
|
86
|
+
flex: 1;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.item-shortcut_U19WMG {
|
|
90
|
+
margin-left: var(--space-8);
|
|
91
|
+
font-size: var(--font-size-sm);
|
|
92
|
+
color: var(--color-tertiary);
|
|
93
|
+
flex-shrink: 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.item_U19WMG[data-highlighted] .item-shortcut_U19WMG {
|
|
97
|
+
color: color-mix(in srgb, var(--color-on-accent) 60%, transparent);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.submenu-icon_U19WMG {
|
|
101
|
+
color: var(--color-tertiary);
|
|
102
|
+
flex-shrink: 0;
|
|
103
|
+
margin-left: auto;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.item_U19WMG[data-highlighted] .submenu-icon_U19WMG, .submenu-trigger_U19WMG[data-highlighted] .submenu-icon_U19WMG {
|
|
107
|
+
color: color-mix(in srgb, var(--color-on-accent) 70%, transparent);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.submenu-trigger_U19WMG {
|
|
111
|
+
align-items: center;
|
|
112
|
+
gap: var(--space-2);
|
|
113
|
+
padding: var(--space-1) var(--space-4);
|
|
114
|
+
font-family: var(--font-sans);
|
|
115
|
+
font-size: var(--font-size-md);
|
|
116
|
+
color: var(--color-primary);
|
|
117
|
+
cursor: default;
|
|
118
|
+
user-select: none;
|
|
119
|
+
outline: none;
|
|
120
|
+
transition: none;
|
|
121
|
+
display: flex;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.submenu-trigger_U19WMG[data-highlighted], .submenu-trigger_U19WMG[data-popup-open] {
|
|
125
|
+
background-color: var(--color-accent);
|
|
126
|
+
color: var(--color-on-accent);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.submenu-trigger_U19WMG[data-disabled] {
|
|
130
|
+
opacity: .36;
|
|
131
|
+
cursor: not-allowed;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.group-label_U19WMG {
|
|
135
|
+
padding: var(--space-1) var(--space-4) var(--space-0-5);
|
|
136
|
+
font-family: var(--font-sans);
|
|
137
|
+
font-size: var(--font-size-xs);
|
|
138
|
+
font-weight: var(--font-weight-semibold);
|
|
139
|
+
color: var(--color-tertiary);
|
|
140
|
+
text-transform: uppercase;
|
|
141
|
+
letter-spacing: var(--letter-spacing-wide);
|
|
142
|
+
cursor: default;
|
|
143
|
+
user-select: none;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.separator_U19WMG {
|
|
147
|
+
margin: var(--space-1) var(--space-4);
|
|
148
|
+
height: var(--border-width-base);
|
|
149
|
+
background-color: var(--color-line-subtle);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
import styles from "./context-menu.module.css";
|
|
4
|
+
|
|
5
|
+
//#region src/context-menu/context-menu.d.ts
|
|
6
|
+
interface ContextMenuItemDef {
|
|
7
|
+
type?: "item";
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
icon?: ReactNode;
|
|
10
|
+
shortcut?: string;
|
|
11
|
+
onSelect?: () => void;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface ContextMenuSeparatorDef {
|
|
15
|
+
type: "separator";
|
|
16
|
+
}
|
|
17
|
+
interface ContextMenuGroupDef {
|
|
18
|
+
type: "group";
|
|
19
|
+
label?: ReactNode;
|
|
20
|
+
items: ContextMenuItemDef[];
|
|
21
|
+
}
|
|
22
|
+
type ContextMenuEntry = ContextMenuItemDef | ContextMenuSeparatorDef | ContextMenuGroupDef;
|
|
23
|
+
interface ContextMenuProps {
|
|
24
|
+
/** The element that can be right-clicked / long-pressed to open the menu. */
|
|
25
|
+
children: ReactElement;
|
|
26
|
+
items: ContextMenuEntry[];
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
declare function ContextMenu({
|
|
30
|
+
children,
|
|
31
|
+
items,
|
|
32
|
+
className
|
|
33
|
+
}: ContextMenuProps): react_jsx_runtime0.JSX.Element;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { ContextMenu, ContextMenuEntry, ContextMenuGroupDef, ContextMenuItemDef, ContextMenuProps, ContextMenuSeparatorDef, styles };
|
|
36
|
+
//# sourceMappingURL=context-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.d.ts","names":[],"sources":["../../src/context-menu/context-menu.tsx"],"mappings":";;;;;UAIiB,kBAAA;EACf,IAAA;EACA,KAAA,EAAO,SAAA;EACP,IAAA,GAAO,SAAA;EACP,QAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,UAGe,uBAAA;EACf,IAAA;AAAA;AAAA,UAGe,mBAAA;EACf,IAAA;EACA,KAAA,GAAQ,SAAA;EACR,KAAA,EAAO,kBAAA;AAAA;AAAA,KAGG,gBAAA,GAAmB,kBAAA,GAAqB,uBAAA,GAA0B,mBAAA;AAAA,UAE7D,gBAAA;EAZuB;EActC,QAAA,EAAU,YAAA;EACV,KAAA,EAAO,gBAAA;EACP,SAAA;AAAA;AAAA,iBAac,WAAA,CAAA;EAAc,QAAA;EAAU,KAAA;EAAO;AAAA,GAAa,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import context_menu_module_default from "./context-menu.module.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ContextMenu } from "@base-ui/react/context-menu";
|
|
4
|
+
//#region src/context-menu/context-menu.tsx
|
|
5
|
+
function RenderItem({ item, i }) {
|
|
6
|
+
return /* @__PURE__ */ jsxs(ContextMenu.Item, {
|
|
7
|
+
className: context_menu_module_default.item,
|
|
8
|
+
disabled: item.disabled,
|
|
9
|
+
onClick: item.onSelect,
|
|
10
|
+
children: [
|
|
11
|
+
item.icon && /* @__PURE__ */ jsx("span", {
|
|
12
|
+
className: context_menu_module_default["item-icon"],
|
|
13
|
+
children: item.icon
|
|
14
|
+
}),
|
|
15
|
+
/* @__PURE__ */ jsx("span", {
|
|
16
|
+
className: context_menu_module_default["item-label"],
|
|
17
|
+
children: item.label
|
|
18
|
+
}),
|
|
19
|
+
item.shortcut && /* @__PURE__ */ jsx("span", {
|
|
20
|
+
className: context_menu_module_default["item-shortcut"],
|
|
21
|
+
children: item.shortcut
|
|
22
|
+
})
|
|
23
|
+
]
|
|
24
|
+
}, i);
|
|
25
|
+
}
|
|
26
|
+
function ContextMenu$1({ children, items, className }) {
|
|
27
|
+
return /* @__PURE__ */ jsxs(ContextMenu.Root, { children: [/* @__PURE__ */ jsx(ContextMenu.Trigger, {
|
|
28
|
+
className: `${context_menu_module_default.trigger} ${className ?? ""}`,
|
|
29
|
+
render: children
|
|
30
|
+
}), /* @__PURE__ */ jsx(ContextMenu.Portal, { children: /* @__PURE__ */ jsx(ContextMenu.Positioner, {
|
|
31
|
+
className: context_menu_module_default.positioner,
|
|
32
|
+
children: /* @__PURE__ */ jsx(ContextMenu.Popup, {
|
|
33
|
+
className: context_menu_module_default.popup,
|
|
34
|
+
children: items.map((entry, i) => {
|
|
35
|
+
if (entry.type === "separator") return /* @__PURE__ */ jsx(ContextMenu.Separator, { className: context_menu_module_default.separator }, i);
|
|
36
|
+
if (entry.type === "group") return /* @__PURE__ */ jsxs(ContextMenu.Group, { children: [entry.label && /* @__PURE__ */ jsx(ContextMenu.GroupLabel, {
|
|
37
|
+
className: context_menu_module_default["group-label"],
|
|
38
|
+
children: entry.label
|
|
39
|
+
}), entry.items.map((item, j) => /* @__PURE__ */ jsx(RenderItem, {
|
|
40
|
+
item,
|
|
41
|
+
i: j
|
|
42
|
+
}, j))] }, i);
|
|
43
|
+
return /* @__PURE__ */ jsx(RenderItem, {
|
|
44
|
+
item: entry,
|
|
45
|
+
i
|
|
46
|
+
}, i);
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
}) })] });
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { ContextMenu$1 as ContextMenu };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=context-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.js","names":["BaseContextMenu","styles","ContextMenu"],"sources":["../../src/context-menu/context-menu.tsx"],"sourcesContent":["import type { ReactNode, ReactElement } from \"react\";\nimport { ContextMenu as BaseContextMenu } from \"@base-ui/react/context-menu\";\nimport styles from \"./context-menu.module.css\";\n\nexport interface ContextMenuItemDef {\n type?: \"item\";\n label: ReactNode;\n icon?: ReactNode;\n shortcut?: string;\n onSelect?: () => void;\n disabled?: boolean;\n}\n\nexport interface ContextMenuSeparatorDef {\n type: \"separator\";\n}\n\nexport interface ContextMenuGroupDef {\n type: \"group\";\n label?: ReactNode;\n items: ContextMenuItemDef[];\n}\n\nexport type ContextMenuEntry = ContextMenuItemDef | ContextMenuSeparatorDef | ContextMenuGroupDef;\n\nexport interface ContextMenuProps {\n /** The element that can be right-clicked / long-pressed to open the menu. */\n children: ReactElement;\n items: ContextMenuEntry[];\n className?: string;\n}\n\nfunction RenderItem({ item, i }: { item: ContextMenuItemDef; i: number }) {\n return (\n <BaseContextMenu.Item key={i} className={styles.item} disabled={item.disabled} onClick={item.onSelect}>\n {item.icon && <span className={styles[\"item-icon\"]}>{item.icon}</span>}\n <span className={styles[\"item-label\"]}>{item.label}</span>\n {item.shortcut && <span className={styles[\"item-shortcut\"]}>{item.shortcut}</span>}\n </BaseContextMenu.Item>\n );\n}\n\nexport function ContextMenu({ children, items, className }: ContextMenuProps) {\n return (\n <BaseContextMenu.Root>\n <BaseContextMenu.Trigger className={`${styles.trigger} ${className ?? \"\"}`} render={children} />\n <BaseContextMenu.Portal>\n <BaseContextMenu.Positioner className={styles.positioner}>\n <BaseContextMenu.Popup className={styles.popup}>\n {items.map((entry, i) => {\n if (entry.type === \"separator\") {\n return <BaseContextMenu.Separator key={i} className={styles.separator} />;\n }\n if (entry.type === \"group\") {\n return (\n <BaseContextMenu.Group key={i}>\n {entry.label && (\n <BaseContextMenu.GroupLabel className={styles[\"group-label\"]}>{entry.label}</BaseContextMenu.GroupLabel>\n )}\n {entry.items.map((item, j) => (\n <RenderItem key={j} item={item} i={j} />\n ))}\n </BaseContextMenu.Group>\n );\n }\n return <RenderItem key={i} item={entry} i={i} />;\n })}\n </BaseContextMenu.Popup>\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n </BaseContextMenu.Root>\n );\n}\n\nexport { styles as ContextMenuStyles };\n"],"mappings":";;;;AAgCA,SAAS,WAAW,EAAE,MAAM,KAA8C;AACxE,QACE,qBAACA,YAAgB,MAAjB;EAA8B,WAAWC,4BAAO;EAAM,UAAU,KAAK;EAAU,SAAS,KAAK;YAA7F;GACG,KAAK,QAAQ,oBAAC,QAAD;IAAM,WAAWA,4BAAO;cAAe,KAAK;IAAY,CAAA;GACtE,oBAAC,QAAD;IAAM,WAAWA,4BAAO;cAAgB,KAAK;IAAa,CAAA;GACzD,KAAK,YAAY,oBAAC,QAAD;IAAM,WAAWA,4BAAO;cAAmB,KAAK;IAAgB,CAAA;GAC7D;IAJI,EAIJ;;AAI3B,SAAgBC,cAAY,EAAE,UAAU,OAAO,aAA+B;AAC5E,QACE,qBAACF,YAAgB,MAAjB,EAAA,UAAA,CACE,oBAACA,YAAgB,SAAjB;EAAyB,WAAW,GAAGC,4BAAO,QAAQ,GAAG,aAAa;EAAM,QAAQ;EAAY,CAAA,EAChG,oBAACD,YAAgB,QAAjB,EAAA,UACE,oBAACA,YAAgB,YAAjB;EAA4B,WAAWC,4BAAO;YAC5C,oBAACD,YAAgB,OAAjB;GAAuB,WAAWC,4BAAO;aACtC,MAAM,KAAK,OAAO,MAAM;AACvB,QAAI,MAAM,SAAS,YACjB,QAAO,oBAACD,YAAgB,WAAjB,EAAmC,WAAWC,4BAAO,WAAa,EAAlC,EAAkC;AAE3E,QAAI,MAAM,SAAS,QACjB,QACE,qBAACD,YAAgB,OAAjB,EAAA,UAAA,CACG,MAAM,SACL,oBAACA,YAAgB,YAAjB;KAA4B,WAAWC,4BAAO;eAAiB,MAAM;KAAmC,CAAA,EAEzG,MAAM,MAAM,KAAK,MAAM,MACtB,oBAAC,YAAD;KAA0B;KAAM,GAAG;KAAK,EAAvB,EAAuB,CACxC,CACoB,EAAA,EAPI,EAOJ;AAG5B,WAAO,oBAAC,YAAD;KAAoB,MAAM;KAAU;KAAK,EAAxB,EAAwB;KAChD;GACoB,CAAA;EACG,CAAA,EACN,CAAA,CACJ,EAAA,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/context-menu/context-menu.module.css
|
|
2
|
+
var context_menu_module_default = {
|
|
3
|
+
"group-label": "group-label_U19WMG",
|
|
4
|
+
"item": "item_U19WMG",
|
|
5
|
+
"item-icon": "item-icon_U19WMG",
|
|
6
|
+
"item-label": "item-label_U19WMG",
|
|
7
|
+
"item-shortcut": "item-shortcut_U19WMG",
|
|
8
|
+
"popup": "popup_U19WMG",
|
|
9
|
+
"positioner": "positioner_U19WMG",
|
|
10
|
+
"separator": "separator_U19WMG",
|
|
11
|
+
"submenu-icon": "submenu-icon_U19WMG",
|
|
12
|
+
"submenu-trigger": "submenu-trigger_U19WMG",
|
|
13
|
+
"trigger": "trigger_U19WMG"
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { context_menu_module_default as default };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=context-menu.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.module.js","names":[],"sources":["../../src/context-menu/context-menu.module.css"],"sourcesContent":["@layer components {\n .positioner {\n outline: none;\n z-index: var(--z-dropdown);\n }\n\n .popup {\n box-sizing: border-box;\n padding: var(--space-1) 0;\n border-radius: var(--radius-lg);\n background-color: var(--color-overlay);\n border: var(--border-width-base) solid var(--color-line);\n box-shadow: var(--shadow-popover);\n color: var(--color-primary);\n font-family: var(--font-sans);\n font-size: var(--font-size-md);\n min-width: 220px;\n transform-origin: var(--transform-origin);\n outline: none;\n transition:\n opacity 150ms var(--easing-ease-out),\n transform 150ms var(--easing-ease-out);\n }\n\n @supports (backdrop-filter: blur(20px)) {\n .popup {\n backdrop-filter: blur(20px) saturate(1.8);\n -webkit-backdrop-filter: blur(20px) saturate(1.8);\n }\n }\n\n .popup[data-starting-style] {\n opacity: 0;\n transform: scale(0.97);\n }\n\n .popup[data-ending-style] {\n opacity: 0;\n transform: scale(0.99);\n transition:\n opacity 75ms var(--easing-ease-in),\n transform 75ms var(--easing-ease-in);\n }\n\n /* ─── Trigger area ───────────────────────────────────────────── */\n\n .trigger {\n display: block;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n cursor: default;\n }\n\n /* ─── Item ───────────────────────────────────────────────────── */\n\n .item {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n /* Full-width — no inset margin */\n padding: var(--space-1) var(--space-4);\n font-family: var(--font-sans);\n font-size: var(--font-size-md);\n color: var(--color-primary);\n cursor: default;\n outline: none;\n user-select: none;\n position: relative;\n transition: none;\n }\n\n .item[data-highlighted] {\n background-color: var(--color-accent);\n color: var(--color-on-accent);\n }\n\n .item[data-disabled] {\n opacity: 0.36;\n cursor: not-allowed;\n }\n\n /* ─── Item internals ─────────────────────────────────────────── */\n\n .item-icon {\n width: 16px;\n height: 16px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: inherit;\n }\n\n .item-label {\n flex: 1;\n }\n\n .item-shortcut {\n margin-left: var(--space-8);\n font-size: var(--font-size-sm);\n color: var(--color-tertiary);\n flex-shrink: 0;\n }\n\n .item[data-highlighted] .item-shortcut {\n color: color-mix(in srgb, var(--color-on-accent) 60%, transparent);\n }\n\n .submenu-icon {\n margin-left: auto;\n color: var(--color-tertiary);\n flex-shrink: 0;\n }\n\n .item[data-highlighted] .submenu-icon,\n .submenu-trigger[data-highlighted] .submenu-icon {\n color: color-mix(in srgb, var(--color-on-accent) 70%, transparent);\n }\n\n /* ─── Submenu trigger ────────────────────────────────────────── */\n\n .submenu-trigger {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-1) var(--space-4);\n font-family: var(--font-sans);\n font-size: var(--font-size-md);\n color: var(--color-primary);\n cursor: default;\n outline: none;\n user-select: none;\n transition: none;\n }\n\n .submenu-trigger[data-highlighted],\n .submenu-trigger[data-popup-open] {\n background-color: var(--color-accent);\n color: var(--color-on-accent);\n }\n\n .submenu-trigger[data-disabled] {\n opacity: 0.36;\n cursor: not-allowed;\n }\n\n /* ─── Group label ────────────────────────────────────────────── */\n\n .group-label {\n padding: var(--space-1) var(--space-4) var(--space-0-5);\n font-family: var(--font-sans);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n color: var(--color-tertiary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n cursor: default;\n user-select: none;\n }\n\n /* ─── Separator ──────────────────────────────────────────────── */\n .separator {\n margin: var(--space-1) var(--space-4);\n height: var(--border-width-base);\n background-color: var(--color-line-subtle);\n }\n}\n"],"mappings":";AAsBA,IAAA,8BAAE;CAAA,eAAA;CAAA,QAAA;CAAA,aAAA;CAAA,cAAA;CAAA,iBAAA;CAAA,SAAA;CAAA,cAAA;CAAA,aAAA;CAAA,gBAAA;CAAA,mBAAA;CAAA,WAAA;CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ContextMenu, ContextMenuEntry, ContextMenuGroupDef, ContextMenuItemDef, ContextMenuProps, ContextMenuSeparatorDef, styles } from "./context-menu.js";
|
|
2
|
+
import { ContextMenuGroup, ContextMenuGroupLabel, ContextMenuGroupLabelProps, ContextMenuGroupProps, ContextMenuItem, ContextMenuItemProps, ContextMenuPopup, ContextMenuPopupProps, ContextMenuSeparator, ContextMenuSeparatorProps, ContextMenuSubmenuTrigger, ContextMenuSubmenuTriggerProps } from "./parts.js";
|
|
3
|
+
export { ContextMenu, type ContextMenuEntry, ContextMenuGroup, type ContextMenuGroupDef, ContextMenuGroupLabel, type ContextMenuGroupLabelProps, type ContextMenuGroupProps, ContextMenuItem, type ContextMenuItemDef, type ContextMenuItemProps, ContextMenuPopup, type ContextMenuPopupProps, type ContextMenuProps, ContextMenuSeparator, type ContextMenuSeparatorDef, type ContextMenuSeparatorProps, styles as ContextMenuStyles, ContextMenuSubmenuTrigger, type ContextMenuSubmenuTriggerProps };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import context_menu_module_default from "./context-menu.module.js";
|
|
2
|
+
import { ContextMenu } from "./context-menu.js";
|
|
3
|
+
import { ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuPopup, ContextMenuSeparator, ContextMenuSubmenuTrigger } from "./parts.js";
|
|
4
|
+
export { ContextMenu, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuPopup, ContextMenuSeparator, context_menu_module_default as ContextMenuStyles, ContextMenuSubmenuTrigger };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as react from "react";
|
|
2
|
+
import { ComponentPropsWithoutRef } from "react";
|
|
3
|
+
import { ContextMenu } from "@base-ui/react/context-menu";
|
|
4
|
+
|
|
5
|
+
//#region src/context-menu/parts.d.ts
|
|
6
|
+
type BasePopupProps = ComponentPropsWithoutRef<typeof ContextMenu.Popup>;
|
|
7
|
+
type BaseItemProps = ComponentPropsWithoutRef<typeof ContextMenu.Item>;
|
|
8
|
+
type BaseSeparatorProps = ComponentPropsWithoutRef<typeof ContextMenu.Separator>;
|
|
9
|
+
type BaseGroupProps = ComponentPropsWithoutRef<typeof ContextMenu.Group>;
|
|
10
|
+
type BaseGroupLabelProps = ComponentPropsWithoutRef<typeof ContextMenu.GroupLabel>;
|
|
11
|
+
type BaseSubmenuTriggerProps = ComponentPropsWithoutRef<typeof ContextMenu.SubmenuTrigger>;
|
|
12
|
+
interface ContextMenuPopupProps extends Omit<BasePopupProps, "className"> {
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
interface ContextMenuItemProps extends Omit<BaseItemProps, "className"> {
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
interface ContextMenuSeparatorProps extends Omit<BaseSeparatorProps, "className"> {
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
interface ContextMenuGroupProps extends Omit<BaseGroupProps, "className"> {
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
interface ContextMenuGroupLabelProps extends Omit<BaseGroupLabelProps, "className"> {
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
interface ContextMenuSubmenuTriggerProps extends Omit<BaseSubmenuTriggerProps, "className"> {
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
declare const ContextMenuPopup: react.ForwardRefExoticComponent<ContextMenuPopupProps & react.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
declare const ContextMenuItem: react.ForwardRefExoticComponent<ContextMenuItemProps & react.RefAttributes<HTMLElement>>;
|
|
32
|
+
declare const ContextMenuSeparator: react.ForwardRefExoticComponent<ContextMenuSeparatorProps & react.RefAttributes<HTMLDivElement>>;
|
|
33
|
+
declare const ContextMenuGroup: react.ForwardRefExoticComponent<ContextMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
declare const ContextMenuGroupLabel: react.ForwardRefExoticComponent<ContextMenuGroupLabelProps & react.RefAttributes<HTMLDivElement>>;
|
|
35
|
+
declare const ContextMenuSubmenuTrigger: react.ForwardRefExoticComponent<ContextMenuSubmenuTriggerProps & react.RefAttributes<HTMLElement>>;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { ContextMenuGroup, ContextMenuGroupLabel, ContextMenuGroupLabelProps, ContextMenuGroupProps, ContextMenuItem, ContextMenuItemProps, ContextMenuPopup, ContextMenuPopupProps, ContextMenuSeparator, ContextMenuSeparatorProps, ContextMenuSubmenuTrigger, ContextMenuSubmenuTriggerProps };
|
|
38
|
+
//# sourceMappingURL=parts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.d.ts","names":[],"sources":["../../src/context-menu/parts.tsx"],"mappings":";;;;;KA4BK,cAAA,GAAiB,wBAAA,QAAgC,WAAA,CAAgB,KAAA;AAAA,KACjE,aAAA,GAAgB,wBAAA,QAAgC,WAAA,CAAgB,IAAA;AAAA,KAChE,kBAAA,GAAqB,wBAAA,QAAgC,WAAA,CAAgB,SAAA;AAAA,KACrE,cAAA,GAAiB,wBAAA,QAAgC,WAAA,CAAgB,KAAA;AAAA,KACjE,mBAAA,GAAsB,wBAAA,QAAgC,WAAA,CAAgB,UAAA;AAAA,KACtE,uBAAA,GAA0B,wBAAA,QAAgC,WAAA,CAAgB,cAAA;AAAA,UAE9D,qBAAA,SAA8B,IAAA,CAAK,cAAA;EAClD,SAAA;AAAA;AAAA,UAEe,oBAAA,SAA6B,IAAA,CAAK,aAAA;EACjD,SAAA;AAAA;AAAA,UAEe,yBAAA,SAAkC,IAAA,CAAK,kBAAA;EACtD,SAAA;AAAA;AAAA,UAEe,qBAAA,SAA8B,IAAA,CAAK,cAAA;EAClD,SAAA;AAAA;AAAA,UAEe,0BAAA,SAAmC,IAAA,CAAK,mBAAA;EACvD,SAAA;AAAA;AAAA,UAEe,8BAAA,SAAuC,IAAA,CAAK,uBAAA;EAC3D,SAAA;AAAA;AAAA,cAGW,gBAAA,EAAgB,KAAA,CAAA,yBAAA,CAAA,qBAAA,GAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,cAOhB,eAAA,EAAe,KAAA,CAAA,yBAAA,CAAA,oBAAA,GAAA,KAAA,CAAA,aAAA,CAAA,WAAA;AAAA,cAOf,oBAAA,EAAoB,KAAA,CAAA,yBAAA,CAAA,yBAAA,GAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,cAMpB,gBAAA,EAAgB,KAAA,CAAA,yBAAA,CAAA,qBAAA,GAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,cAOhB,qBAAA,EAAqB,KAAA,CAAA,yBAAA,CAAA,0BAAA,GAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,cAMrB,yBAAA,EAAyB,KAAA,CAAA,yBAAA,CAAA,8BAAA,GAAA,KAAA,CAAA,aAAA,CAAA,WAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import context_menu_module_default from "./context-menu.module.js";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.backdrop_VsZA5W {
|
|
3
|
+
z-index: var(--z-overlay);
|
|
4
|
+
transition: opacity var(--duration-slow) var(--easing-standard);
|
|
5
|
+
background-color: #0000007a;
|
|
6
|
+
position: fixed;
|
|
7
|
+
inset: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.backdrop_VsZA5W[data-starting-style], .backdrop_VsZA5W[data-ending-style] {
|
|
11
|
+
opacity: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.popup_VsZA5W {
|
|
15
|
+
z-index: var(--z-modal);
|
|
16
|
+
background-color: var(--color-elevated);
|
|
17
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
18
|
+
border-radius: var(--radius-2xl);
|
|
19
|
+
box-shadow: var(--shadow-xl);
|
|
20
|
+
padding: var(--space-5) var(--space-6) var(--space-5);
|
|
21
|
+
width: min(440px, calc(100vw - var(--space-8)));
|
|
22
|
+
max-height: min(640px, calc(100vh - var(--space-8)));
|
|
23
|
+
gap: var(--space-3);
|
|
24
|
+
transition: opacity .2s var(--easing-ease-out),
|
|
25
|
+
transform .2s var(--easing-spring);
|
|
26
|
+
outline: none;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
display: flex;
|
|
29
|
+
position: fixed;
|
|
30
|
+
top: 50%;
|
|
31
|
+
left: 50%;
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
transform: translate(-50%, -50%);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.popup_VsZA5W[data-starting-style] {
|
|
37
|
+
opacity: 0;
|
|
38
|
+
transform: translate(-50%, -48%) scale(.96);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.popup_VsZA5W[data-ending-style] {
|
|
42
|
+
opacity: 0;
|
|
43
|
+
transition: opacity .15s var(--easing-ease-in),
|
|
44
|
+
transform .15s var(--easing-ease-in);
|
|
45
|
+
transform: translate(-50%, -50%) scale(.98);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.header_VsZA5W {
|
|
49
|
+
gap: var(--space-2);
|
|
50
|
+
text-align: center;
|
|
51
|
+
flex-direction: column;
|
|
52
|
+
display: flex;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.title_VsZA5W {
|
|
56
|
+
font-family: var(--font-sans);
|
|
57
|
+
font-size: var(--font-size-lg);
|
|
58
|
+
font-weight: var(--font-weight-bold);
|
|
59
|
+
color: var(--color-primary);
|
|
60
|
+
line-height: var(--line-height-tight);
|
|
61
|
+
letter-spacing: var(--letter-spacing-tight);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.description_VsZA5W {
|
|
65
|
+
font-family: var(--font-sans);
|
|
66
|
+
font-size: var(--font-size-md);
|
|
67
|
+
color: var(--color-secondary);
|
|
68
|
+
line-height: var(--line-height-relaxed);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.close_VsZA5W {
|
|
72
|
+
top: var(--space-4);
|
|
73
|
+
right: var(--space-4);
|
|
74
|
+
border-radius: var(--radius-sm);
|
|
75
|
+
width: 24px;
|
|
76
|
+
height: 24px;
|
|
77
|
+
color: var(--color-tertiary);
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
transition: background-color var(--duration-fast) var(--easing-standard),
|
|
80
|
+
color var(--duration-fast) var(--easing-standard);
|
|
81
|
+
background: none;
|
|
82
|
+
border: none;
|
|
83
|
+
outline: none;
|
|
84
|
+
justify-content: center;
|
|
85
|
+
align-items: center;
|
|
86
|
+
display: flex;
|
|
87
|
+
position: absolute;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.close_VsZA5W:hover {
|
|
91
|
+
background-color: var(--color-hover);
|
|
92
|
+
color: var(--color-primary);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.close_VsZA5W:focus-visible {
|
|
96
|
+
box-shadow: var(--shadow-focus);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.body_VsZA5W {
|
|
100
|
+
font-family: var(--font-mono);
|
|
101
|
+
font-size: var(--font-size-sm);
|
|
102
|
+
color: var(--color-secondary);
|
|
103
|
+
line-height: var(--line-height-relaxed);
|
|
104
|
+
flex: 1;
|
|
105
|
+
overflow-y: auto;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.footer_VsZA5W {
|
|
109
|
+
justify-content: flex-end;
|
|
110
|
+
align-items: center;
|
|
111
|
+
gap: var(--space-2);
|
|
112
|
+
padding-top: var(--space-2);
|
|
113
|
+
display: flex;
|
|
114
|
+
}
|
|
115
|
+
|
|
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
|
+
}
|