@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.
Files changed (135) hide show
  1. package/README.md +183 -111
  2. package/dist/accordion/accordion.css +6 -10
  3. package/dist/accordion/accordion.module.js.map +1 -1
  4. package/dist/alert-dialog/alert-dialog.css +84 -0
  5. package/dist/alert-dialog/alert-dialog.d.ts +44 -0
  6. package/dist/alert-dialog/alert-dialog.d.ts.map +1 -0
  7. package/dist/alert-dialog/alert-dialog.js +46 -0
  8. package/dist/alert-dialog/alert-dialog.js.map +1 -0
  9. package/dist/alert-dialog/alert-dialog.module.css.d.ts +2 -0
  10. package/dist/alert-dialog/alert-dialog.module.js +14 -0
  11. package/dist/alert-dialog/alert-dialog.module.js.map +1 -0
  12. package/dist/alert-dialog/index.d.ts +3 -0
  13. package/dist/alert-dialog/index.js +4 -0
  14. package/dist/alert-dialog/parts.d.ts +28 -0
  15. package/dist/alert-dialog/parts.d.ts.map +1 -0
  16. package/dist/alert-dialog/parts.js +62 -0
  17. package/dist/alert-dialog/parts.js.map +1 -0
  18. package/dist/badge/badge.css +3 -7
  19. package/dist/badge/badge.module.js.map +1 -1
  20. package/dist/button/button.css +14 -14
  21. package/dist/button/button.module.js.map +1 -1
  22. package/dist/card/card.css +5 -9
  23. package/dist/card/card.module.js.map +1 -1
  24. package/dist/checkbox/checkbox.css +3 -7
  25. package/dist/checkbox/checkbox.module.js.map +1 -1
  26. package/dist/collapsible/collapsible.css +7 -11
  27. package/dist/collapsible/collapsible.module.js.map +1 -1
  28. package/dist/context-menu/context-menu.css +151 -0
  29. package/dist/context-menu/context-menu.d.ts +36 -0
  30. package/dist/context-menu/context-menu.d.ts.map +1 -0
  31. package/dist/context-menu/context-menu.js +54 -0
  32. package/dist/context-menu/context-menu.js.map +1 -0
  33. package/dist/context-menu/context-menu.module.css.d.ts +2 -0
  34. package/dist/context-menu/context-menu.module.js +18 -0
  35. package/dist/context-menu/context-menu.module.js.map +1 -0
  36. package/dist/context-menu/index.d.ts +3 -0
  37. package/dist/context-menu/index.js +4 -0
  38. package/dist/context-menu/parts.d.ts +38 -0
  39. package/dist/context-menu/parts.d.ts.map +1 -0
  40. package/dist/context-menu/parts.js +91 -0
  41. package/dist/context-menu/parts.js.map +1 -0
  42. package/dist/dialog/dialog.css +27 -22
  43. package/dist/dialog/dialog.d.ts +8 -0
  44. package/dist/dialog/dialog.d.ts.map +1 -1
  45. package/dist/dialog/dialog.js +7 -4
  46. package/dist/dialog/dialog.js.map +1 -1
  47. package/dist/dialog/dialog.module.js +2 -0
  48. package/dist/dialog/dialog.module.js.map +1 -1
  49. package/dist/drawer/drawer.css +9 -13
  50. package/dist/drawer/drawer.module.js.map +1 -1
  51. package/dist/index.css +1630 -1353
  52. package/dist/index.d.ts +24 -18
  53. package/dist/index.js +10 -1
  54. package/dist/input/input.css +5 -9
  55. package/dist/input/input.module.js.map +1 -1
  56. package/dist/layer-order.css +22 -0
  57. package/dist/menu/menu.css +13 -17
  58. package/dist/menu/menu.module.js.map +1 -1
  59. package/dist/number-field/number-field.css +12 -16
  60. package/dist/number-field/number-field.module.js.map +1 -1
  61. package/dist/progress/progress.css +1 -5
  62. package/dist/progress/progress.module.js.map +1 -1
  63. package/dist/reset.css +6 -6
  64. package/dist/select/select.css +14 -16
  65. package/dist/select/select.d.ts +5 -2
  66. package/dist/select/select.d.ts.map +1 -1
  67. package/dist/select/select.js +11 -2
  68. package/dist/select/select.js.map +1 -1
  69. package/dist/select/select.module.js.map +1 -1
  70. package/dist/separator/separator.css +1 -5
  71. package/dist/separator/separator.module.js.map +1 -1
  72. package/dist/slider/index.d.ts +3 -0
  73. package/dist/slider/index.js +4 -0
  74. package/dist/slider/parts.d.ts +38 -0
  75. package/dist/slider/parts.d.ts.map +1 -0
  76. package/dist/slider/parts.js +69 -0
  77. package/dist/slider/parts.js.map +1 -0
  78. package/dist/slider/slider.css +97 -0
  79. package/dist/slider/slider.d.ts +38 -0
  80. package/dist/slider/slider.d.ts.map +1 -0
  81. package/dist/slider/slider.js +41 -0
  82. package/dist/slider/slider.js.map +1 -0
  83. package/dist/slider/slider.module.css.d.ts +2 -0
  84. package/dist/slider/slider.module.js +15 -0
  85. package/dist/slider/slider.module.js.map +1 -0
  86. package/dist/styles/reset.css +6 -6
  87. package/dist/styles/tokens.css +73 -71
  88. package/dist/switch/switch.css +2 -6
  89. package/dist/switch/switch.module.js.map +1 -1
  90. package/dist/tabs/tabs.css +5 -9
  91. package/dist/tabs/tabs.module.js.map +1 -1
  92. package/dist/tailwind-theme.css +23 -23
  93. package/dist/toast/toast.css +11 -15
  94. package/dist/toast/toast.module.js.map +1 -1
  95. package/dist/tokens.css +79 -75
  96. package/dist/tooltip/tooltip.css +7 -11
  97. package/dist/tooltip/tooltip.module.js.map +1 -1
  98. package/package.json +17 -1
  99. package/src/accordion/accordion.module.css +6 -20
  100. package/src/alert-dialog/alert-dialog.module.css +91 -0
  101. package/src/alert-dialog/alert-dialog.tsx +69 -0
  102. package/src/alert-dialog/index.ts +7 -0
  103. package/src/alert-dialog/parts.tsx +73 -0
  104. package/src/badge/badge.module.css +3 -13
  105. package/src/button/button.module.css +15 -51
  106. package/src/card/card.module.css +5 -16
  107. package/src/checkbox/checkbox.module.css +3 -14
  108. package/src/collapsible/collapsible.module.css +7 -20
  109. package/src/context-menu/context-menu.module.css +168 -0
  110. package/src/context-menu/context-menu.tsx +75 -0
  111. package/src/context-menu/index.ts +21 -0
  112. package/src/context-menu/parts.tsx +99 -0
  113. package/src/dialog/dialog.module.css +26 -33
  114. package/src/dialog/dialog.tsx +14 -1
  115. package/src/drawer/drawer.module.css +9 -58
  116. package/src/index.ts +48 -0
  117. package/src/input/input.module.css +5 -21
  118. package/src/menu/menu.module.css +13 -43
  119. package/src/number-field/number-field.module.css +12 -28
  120. package/src/progress/progress.module.css +1 -10
  121. package/src/select/select.module.css +14 -35
  122. package/src/select/select.tsx +14 -5
  123. package/src/separator/separator.module.css +1 -5
  124. package/src/slider/index.ts +14 -0
  125. package/src/slider/parts.tsx +90 -0
  126. package/src/slider/slider.module.css +110 -0
  127. package/src/slider/slider.tsx +68 -0
  128. package/src/styles/layer-order.css +22 -0
  129. package/src/styles/reset.css +6 -6
  130. package/src/styles/tailwind-theme.css +23 -23
  131. package/src/styles/tokens.css +79 -75
  132. package/src/switch/switch.module.css +2 -12
  133. package/src/tabs/tabs.module.css +5 -18
  134. package/src/toast/toast.module.css +11 -51
  135. package/src/tooltip/tooltip.module.css +7 -18
@@ -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__ */ jsx("div", {
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":";;;;AAkBA,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,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;IACzD,UAAU,oBAAC,OAAD;KAAK,WAAWA,sBAAO;eAAS;KAAa,CAAA;IACvC;MACC,CAAA,CACJ,EAAA,CAAA,CACJ"}
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 theme, base, components, utilities;\n\n@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\n .backdrop[data-starting-style],\n .backdrop[data-ending-style] {\n opacity: 0;\n }\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-bg-elevated);\n border: var(--border-width-base) solid var(--color-border-base);\n border-radius: var(--radius-2xl);\n box-shadow: var(--shadow-xl);\n padding: var(--space-6);\n width: min(480px, 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-4);\n outline: none;\n overflow: hidden;\n\n transition:\n opacity 200ms var(--easing-ease-out),\n transform 200ms var(--easing-spring);\n }\n\n .popup[data-starting-style] {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.96);\n }\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\n .header {\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n }\n\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-text-primary);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tight);\n padding-right: var(--space-6);\n }\n\n .description {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n color: var(--color-text-secondary);\n line-height: var(--line-height-relaxed);\n }\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-text-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\n .close:hover {\n background-color: var(--color-surface-hover);\n color: var(--color-text-primary);\n }\n\n .close:focus-visible {\n box-shadow: var(--shadow-focus);\n }\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-text-secondary);\n line-height: var(--line-height-relaxed);\n }\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 border-top: var(--border-width-base) solid var(--color-border-subtle);\n }\n}\n"],"mappings":";AAgBA,IAAA,wBAAS;CAAA,YAAA;CAAA,QAAA;CAAA,SAAA;CAAA,eAAA;CAAA,UAAA;CAAA,UAAA;CAAA,SAAA;CAAA,SAAA;CAAA"}
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"}
@@ -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-bg-elevated);
77
- border: var(--border-width-base) solid var(--color-border-base);
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-border-strong);
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-text-primary);
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-text-secondary);
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-text-tertiary);
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-surface-hover);
239
- color: var(--color-text-primary);
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-border-subtle);
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 theme, base, components, utilities;\n\n@layer components {\n /* ── Backdrop ──────────────────────────────────────────────────── */\n\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\n transition-property: opacity;\n transition-duration: 450ms;\n transition-timing-function: cubic-bezier(0.32, 0.72, 0, 1);\n\n /* iOS 26+: cover the full visual viewport even when scrolled */\n @supports (-webkit-touch-callout: none) {\n position: absolute;\n }\n }\n\n .backdrop[data-starting-style],\n .backdrop[data-ending-style] {\n opacity: 0;\n }\n\n .backdrop[data-swiping] {\n transition-duration: 0ms;\n }\n\n .backdrop[data-ending-style] {\n transition-duration: calc(var(--drawer-swipe-strength) * 400ms);\n }\n\n /* ── Viewport ──────────────────────────────────────────────────── */\n\n .viewport {\n position: fixed;\n inset: 0;\n z-index: var(--z-modal);\n display: flex;\n }\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\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\n .viewport[data-side=\"bottom\"] {\n padding: 0 0.625rem 0.625rem;\n }\n\n .viewport[data-side=\"top\"] {\n padding: 0.625rem 0.625rem 0;\n }\n }\n\n /* ── Popup — shared ────────────────────────────────────────────── */\n\n .popup {\n box-sizing: border-box;\n background-color: var(--color-bg-elevated);\n border: var(--border-width-base) solid var(--color-border-base);\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\n .popup[data-swiping] {\n user-select: none;\n transition-duration: 0ms;\n }\n\n .popup[data-ending-style] {\n transition-duration: calc(var(--drawer-swipe-strength) * 400ms);\n }\n\n /* ── Popup — right side (default) ─────────────────────────────── */\n\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\n @supports (-webkit-touch-callout: none) {\n --bleed: 0px;\n margin-right: 0;\n border-radius: var(--radius-xl);\n }\n }\n\n .popup-right[data-starting-style],\n .popup-right[data-ending-style] {\n transform: translateX(calc(100% - var(--bleed) + 2px));\n }\n\n /* ── Popup — left side ─────────────────────────────────────────── */\n\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\n @supports (-webkit-touch-callout: none) {\n --bleed: 0px;\n margin-left: 0;\n border-radius: var(--radius-xl);\n }\n }\n\n .popup-left[data-starting-style],\n .popup-left[data-ending-style] {\n transform: translateX(calc(-100% + var(--bleed) - 2px));\n }\n\n /* ── Popup — bottom ────────────────────────────────────────────── */\n\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\n @supports (-webkit-touch-callout: none) {\n border-radius: var(--radius-2xl);\n }\n }\n\n .popup-bottom[data-starting-style],\n .popup-bottom[data-ending-style] {\n transform: translateY(calc(100% + 2px));\n }\n\n /* ── Popup — top ───────────────────────────────────────────────── */\n\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\n @supports (-webkit-touch-callout: none) {\n border-radius: var(--radius-2xl);\n }\n }\n\n .popup-top[data-starting-style],\n .popup-top[data-ending-style] {\n transform: translateY(calc(-100% - 2px));\n }\n\n /* ── Handle bar (bottom/top drawers) ───────────────────────────── */\n\n .handle-bar {\n width: 2.5rem;\n height: 4px;\n border-radius: 9999px;\n background-color: var(--color-border-strong);\n margin: 0 auto var(--space-4);\n flex-shrink: 0;\n }\n\n .popup-top .handle-bar {\n margin: var(--space-4) auto 0;\n order: 1; /* push to bottom in top drawer */\n }\n\n /* ── Content ───────────────────────────────────────────────────── */\n\n .content {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n height: 100%;\n }\n\n /* ── Title ─────────────────────────────────────────────────────── */\n\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-text-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\n /* ── Description ───────────────────────────────────────────────── */\n\n .description {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n color: var(--color-text-secondary);\n line-height: var(--line-height-relaxed);\n margin: 0;\n }\n\n /* ── Close button ──────────────────────────────────────────────── */\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-text-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\n .close:hover {\n background-color: var(--color-surface-hover);\n color: var(--color-text-primary);\n }\n\n .close:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n\n /* ── Footer ────────────────────────────────────────────────────── */\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-4);\n margin-top: auto;\n border-top: var(--border-width-base) solid var(--color-border-subtle);\n }\n}\n"],"mappings":";AA0BA,IAAA,wBAAc;CAAA,YAAA;CAAA,SAAA;CAAA,WAAA;CAAA,eAAA;CAAA,UAAA;CAAA,cAAA;CAAA,SAAA;CAAA,gBAAA;CAAA,cAAA;CAAA,eAAA;CAAA,aAAA;CAAA,SAAA;CAAA,YAAA;CAAA"}
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"}