@brijbyte/agentic-ui 0.0.1 → 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 +183 -111
- package/dist/accordion/accordion.css +6 -10
- package/dist/accordion/accordion.module.js.map +1 -1
- 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.module.js.map +1 -1
- package/dist/button/button.css +14 -14
- package/dist/button/button.module.js.map +1 -1
- package/dist/card/card.css +5 -9
- package/dist/card/card.module.js.map +1 -1
- package/dist/checkbox/checkbox.css +3 -7
- package/dist/checkbox/checkbox.module.js.map +1 -1
- package/dist/collapsible/collapsible.css +7 -11
- package/dist/collapsible/collapsible.module.js.map +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 +8 -0
- 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/drawer/drawer.css +9 -13
- package/dist/drawer/drawer.module.js.map +1 -1
- package/dist/index.css +1630 -1353
- package/dist/index.d.ts +24 -18
- package/dist/index.js +10 -1
- package/dist/input/input.css +5 -9
- 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.module.js.map +1 -1
- package/dist/number-field/number-field.css +12 -16
- package/dist/number-field/number-field.module.js.map +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/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.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 +73 -71
- package/dist/switch/switch.css +2 -6
- package/dist/switch/switch.module.js.map +1 -1
- package/dist/tabs/tabs.css +5 -9
- package/dist/tabs/tabs.module.js.map +1 -1
- package/dist/tailwind-theme.css +23 -23
- package/dist/toast/toast.css +11 -15
- package/dist/toast/toast.module.js.map +1 -1
- package/dist/tokens.css +79 -75
- package/dist/tooltip/tooltip.css +7 -11
- package/dist/tooltip/tooltip.module.js.map +1 -1
- package/package.json +17 -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 +15 -51
- 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 +48 -0
- 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 +79 -75
- 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
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/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;
|
|
@@ -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"}
|