@burnt-labs/ui 0.1.0-alpha.10 → 0.1.0-alpha.12

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.
@@ -1,8 +1,8 @@
1
1
 
2
- > @burnt-labs/ui@0.1.0-alpha.10 build /home/runner/work/xion.js/xion.js/packages/ui
2
+ > @burnt-labs/ui@0.1.0-alpha.12 build /home/runner/work/xion.js/xion.js/packages/ui
3
3
  > tsup
4
4
 
5
- CLI Building entry: src/button.tsx, src/dialog.tsx, src/index.tsx, src/input.tsx, src/modal.tsx, src/pinInput.tsx, src/icons/accountWalletLogo.tsx, src/icons/browser.tsx, src/icons/chevronDown.tsx, src/icons/close.tsx, src/icons/email.tsx, src/icons/ethereumLogo.tsx, src/icons/keplr.tsx, src/icons/metamask.tsx, src/icons/passkey.tsx, src/icons/spinner.tsx
5
+ CLI Building entry: src/button.tsx, src/dialog.tsx, src/index.tsx, src/input.tsx, src/modal.tsx, src/pinInput.tsx, src/popover.tsx, src/icons/accountWalletLogo.tsx, src/icons/browser.tsx, src/icons/chevronDown.tsx, src/icons/close.tsx, src/icons/email.tsx, src/icons/ethereumLogo.tsx, src/icons/keplr.tsx, src/icons/metamask.tsx, src/icons/passkey.tsx, src/icons/spinner.tsx
6
6
  CLI Using tsconfig: tsconfig.json
7
7
  CLI tsup v6.7.0
8
8
  CLI Using tsup config: /home/runner/work/xion.js/xion.js/packages/ui/tsup.config.ts
@@ -12,25 +12,26 @@
12
12
  CJS Build start
13
13
  DTS Build start
14
14
  CJS dist/AkkuratLLWeb-Thin-HVY6MUDE.woff2 112.96 KB
15
+ CJS dist/icons/spinner.js 231.00 B
16
+ CJS dist/AkkuratLLWeb-Thin-B3VOUNQC.woff 161.92 KB
15
17
  CJS dist/AkkuratLLWeb-ThinItalic-TLRSU3GY.woff2 112.27 KB
16
- CJS dist/AkkuratLLWeb-ThinItalic-VHHG6JUR.woff 160.44 KB
17
18
  CJS dist/AkkuratLLWeb-Light-EHI2GDZ3.woff2 107.88 KB
18
- CJS dist/AkkuratLLWeb-Light-BGKFIWYH.woff 155.01 KB
19
+ CJS dist/AkkuratLLWeb-ThinItalic-VHHG6JUR.woff 160.44 KB
19
20
  CJS dist/AkkuratLLWeb-LightItalic-GEL2FLE3.woff2 105.68 KB
20
- CJS dist/AkkuratLLWeb-LightItalic-FXIWIHPX.woff 151.81 KB
21
+ CJS dist/AkkuratLLWeb-Light-BGKFIWYH.woff 155.01 KB
21
22
  CJS dist/AkkuratLLWeb-Regular-Y25WHQIH.woff2 107.39 KB
23
+ CJS dist/AkkuratLLWeb-LightItalic-FXIWIHPX.woff 151.81 KB
22
24
  CJS dist/AkkuratLLWeb-Regular-M4AOR5FQ.woff 152.99 KB
23
- CJS dist/AkkuratLLWeb-Italic-3OFHOG35.woff2 106.87 KB
24
25
  CJS dist/AkkuratLLWeb-Italic-TXVXRVFQ.woff 153.06 KB
25
26
  CJS dist/AkkuratLLWeb-Bold-KUOGWC36.woff2 110.63 KB
27
+ CJS dist/AkkuratLLWeb-Italic-3OFHOG35.woff2 106.87 KB
26
28
  CJS dist/AkkuratLLWeb-Bold-AXCMLMSS.woff 157.63 KB
27
29
  CJS dist/AkkuratLLWeb-BoldItalic-FGK4XHSY.woff2 110.59 KB
28
- CJS dist/AkkuratLLWeb-BoldItalic-QKG5TZJY.woff 157.86 KB
29
- CJS dist/AkkuratLLWeb-Black-HD4CTN3S.woff2 112.19 KB
30
30
  CJS dist/AkkuratLLWeb-Black-22NQUHG5.woff 159.99 KB
31
- CJS dist/AkkuratLLWeb-BlackItalic-LV4PULUE.woff2 102.86 KB
32
31
  CJS dist/AkkuratLLWeb-BlackItalic-LRO3TGMB.woff 142.28 KB
32
+ CJS dist/index.css 184.20 KB
33
33
  CJS dist/chunk-PKUHTIDK.js 1.37 KB
34
+ CJS dist/icons/browser.js 272.00 B
34
35
  CJS dist/icons/chevronDown.js 239.00 B
35
36
  CJS dist/icons/close.js 268.00 B
36
37
  CJS dist/icons/email.js 268.00 B
@@ -38,10 +39,11 @@
38
39
  CJS dist/icons/keplr.js 235.00 B
39
40
  CJS dist/icons/metamask.js 241.00 B
40
41
  CJS dist/icons/passkey.js 272.00 B
41
- CJS dist/icons/spinner.js 231.00 B
42
- CJS dist/button.js 227.00 B
42
+ CJS dist/AkkuratLLWeb-BoldItalic-QKG5TZJY.woff 157.86 KB
43
43
  CJS dist/dialog.js 1.44 KB
44
- CJS dist/index.js 4.34 KB
44
+ CJS dist/index.js 4.79 KB
45
+ CJS dist/chunk-CRNDRPTL.js 1015.00 B
46
+ CJS dist/chunk-AEW7GOE6.js 1.88 KB
45
47
  CJS dist/chunk-RDYVRQBK.js 741.00 B
46
48
  CJS dist/chunk-FNTBL45H.js 704.00 B
47
49
  CJS dist/chunk-PNDEO36E.js 779.00 B
@@ -49,52 +51,59 @@
49
51
  CJS dist/chunk-NHBX6Q3P.js 4.64 KB
50
52
  CJS dist/chunk-YHUCPUS3.js 4.35 KB
51
53
  CJS dist/chunk-7UK6EE2I.js 13.91 KB
52
- CJS dist/chunk-CRNDRPTL.js 1015.00 B
53
- CJS dist/chunk-UNPP7H5Q.js 1.88 KB
54
- CJS dist/chunk-AODSKYMI.js 5.34 KB
54
+ CJS dist/chunk-PQ4RAOPA.js 2.02 KB
55
+ CJS dist/chunk-BO3GGGHL.js 5.44 KB
55
56
  CJS dist/input.js 225.00 B
56
- CJS dist/chunk-5KA4BYO5.js 1.67 KB
57
+ CJS dist/chunk-RIB2OC5P.js 1.98 KB
57
58
  CJS dist/modal.js 653.00 B
58
- CJS dist/chunk-42VYSY7W.js 2.71 KB
59
+ CJS dist/chunk-TJTFUJK4.js 2.71 KB
60
+ CJS dist/chunk-74MKQUE2.js 68.21 KB
59
61
  CJS dist/pinInput.js 231.00 B
60
62
  CJS dist/chunk-KOR2D6S4.js 2.47 KB
61
- CJS dist/chunk-AEW7GOE6.js 1.88 KB
62
- CJS dist/chunk-74MKQUE2.js 68.21 KB
63
- CJS dist/AkkuratLLWeb-Thin-B3VOUNQC.woff 161.92 KB
64
- CJS dist/index.css 183.61 KB
65
- CJS dist/icons/browser.js 272.00 B
66
- CJS dist/chunk-NINTZKIZ.js 1.21 KB
63
+ CJS dist/popover.js 505.00 B
64
+ CJS dist/chunk-KVSERZUE.js 2.07 KB
67
65
  CJS dist/icons/accountWalletLogo.js 251.00 B
68
- CJS ⚡️ Build success in 3038ms
66
+ CJS dist/chunk-NINTZKIZ.js 1.21 KB
67
+ CJS dist/button.js 227.00 B
68
+ CJS dist/AkkuratLLWeb-BlackItalic-LV4PULUE.woff2 102.86 KB
69
+ CJS dist/AkkuratLLWeb-Black-HD4CTN3S.woff2 112.19 KB
70
+ CJS ⚡️ Build success in 3125ms
69
71
  ESM dist/AkkuratLLWeb-Thin-HVY6MUDE.woff2 112.96 KB
70
- ESM dist/icons/chevronDown.mjs 85.00 B
71
72
  ESM dist/AkkuratLLWeb-Thin-B3VOUNQC.woff 161.92 KB
72
73
  ESM dist/AkkuratLLWeb-ThinItalic-TLRSU3GY.woff2 112.27 KB
73
74
  ESM dist/AkkuratLLWeb-ThinItalic-VHHG6JUR.woff 160.44 KB
74
75
  ESM dist/AkkuratLLWeb-Light-EHI2GDZ3.woff2 107.88 KB
76
+ ESM dist/AkkuratLLWeb-Light-BGKFIWYH.woff 155.01 KB
75
77
  ESM dist/AkkuratLLWeb-LightItalic-GEL2FLE3.woff2 105.68 KB
76
78
  ESM dist/AkkuratLLWeb-LightItalic-FXIWIHPX.woff 151.81 KB
77
- ESM dist/AkkuratLLWeb-Light-BGKFIWYH.woff 155.01 KB
78
79
  ESM dist/AkkuratLLWeb-Regular-Y25WHQIH.woff2 107.39 KB
79
80
  ESM dist/AkkuratLLWeb-Regular-M4AOR5FQ.woff 152.99 KB
81
+ ESM dist/AkkuratLLWeb-Italic-3OFHOG35.woff2 106.87 KB
80
82
  ESM dist/AkkuratLLWeb-Italic-TXVXRVFQ.woff 153.06 KB
83
+ ESM dist/AkkuratLLWeb-Bold-KUOGWC36.woff2 110.63 KB
84
+ ESM dist/AkkuratLLWeb-Bold-AXCMLMSS.woff 157.63 KB
81
85
  ESM dist/AkkuratLLWeb-BoldItalic-FGK4XHSY.woff2 110.59 KB
82
- ESM dist/AkkuratLLWeb-BoldItalic-QKG5TZJY.woff 157.86 KB
83
86
  ESM dist/AkkuratLLWeb-Black-HD4CTN3S.woff2 112.19 KB
87
+ ESM dist/AkkuratLLWeb-BoldItalic-QKG5TZJY.woff 157.86 KB
84
88
  ESM dist/AkkuratLLWeb-Black-22NQUHG5.woff 159.99 KB
85
- ESM dist/AkkuratLLWeb-Bold-KUOGWC36.woff2 110.63 KB
86
- ESM dist/AkkuratLLWeb-Bold-AXCMLMSS.woff 157.63 KB
89
+ ESM dist/AkkuratLLWeb-BlackItalic-LV4PULUE.woff2 102.86 KB
90
+ ESM dist/AkkuratLLWeb-BlackItalic-LRO3TGMB.woff 142.28 KB
91
+ ESM dist/index.css 184.20 KB
87
92
  ESM dist/chunk-3TCQU24P.mjs 1.30 KB
93
+ ESM dist/icons/spinner.mjs 81.00 B
94
+ ESM dist/icons/browser.mjs 117.00 B
95
+ ESM dist/icons/chevronDown.mjs 85.00 B
88
96
  ESM dist/icons/close.mjs 115.00 B
89
97
  ESM dist/icons/email.mjs 115.00 B
90
98
  ESM dist/icons/ethereumLogo.mjs 118.00 B
91
99
  ESM dist/icons/keplr.mjs 83.00 B
92
100
  ESM dist/icons/metamask.mjs 86.00 B
93
101
  ESM dist/icons/passkey.mjs 117.00 B
94
- ESM dist/icons/spinner.mjs 81.00 B
95
102
  ESM dist/button.mjs 78.00 B
96
103
  ESM dist/dialog.mjs 241.00 B
97
- ESM dist/index.mjs 986.00 B
104
+ ESM dist/index.mjs 1.04 KB
105
+ ESM dist/chunk-OXW4BQPJ.mjs 954.00 B
106
+ ESM dist/chunk-Y3OSOP6I.mjs 1.75 KB
98
107
  ESM dist/chunk-HZWJQRFF.mjs 687.00 B
99
108
  ESM dist/chunk-SYOTT65J.mjs 618.00 B
100
109
  ESM dist/chunk-IR4FC2P3.mjs 698.00 B
@@ -102,32 +111,28 @@
102
111
  ESM dist/chunk-KZ3C2OHV.mjs 4.38 KB
103
112
  ESM dist/chunk-BTRAYQSX.mjs 4.18 KB
104
113
  ESM dist/chunk-ERKL3SY4.mjs 13.56 KB
105
- ESM dist/chunk-OXW4BQPJ.mjs 954.00 B
106
- ESM dist/chunk-RRNLHIXE.mjs 1.82 KB
107
- ESM dist/chunk-DUBSDTTD.mjs 3.98 KB
114
+ ESM dist/chunk-HCWJO67P.mjs 1.96 KB
115
+ ESM dist/chunk-TM5VKEWC.mjs 4.07 KB
108
116
  ESM dist/input.mjs 77.00 B
109
- ESM dist/chunk-C2KDWV5Z.mjs 1.58 KB
110
- ESM dist/modal.mjs 147.00 B
111
- ESM dist/chunk-OVQCCXBH.mjs 2.32 KB
117
+ ESM dist/chunk-JQRAYL7A.mjs 1.89 KB
112
118
  ESM dist/pinInput.mjs 80.00 B
113
119
  ESM dist/chunk-VSTH5YAB.mjs 2.43 KB
120
+ ESM dist/popover.mjs 111.00 B
121
+ ESM dist/chunk-DUSUIS3M.mjs 1.30 KB
114
122
  ESM dist/icons/accountWalletLogo.mjs 91.00 B
115
123
  ESM dist/chunk-ESZY3JBH.mjs 1.15 KB
116
- ESM dist/icons/browser.mjs 117.00 B
117
- ESM dist/chunk-Y3OSOP6I.mjs 1.75 KB
118
124
  ESM dist/chunk-FLJKIDRT.mjs 68.18 KB
119
- ESM dist/AkkuratLLWeb-BlackItalic-LV4PULUE.woff2 102.86 KB
120
- ESM dist/AkkuratLLWeb-BlackItalic-LRO3TGMB.woff 142.28 KB
121
- ESM dist/index.css 183.61 KB
122
- ESM dist/AkkuratLLWeb-Italic-3OFHOG35.woff2 106.87 KB
123
- ESM ⚡️ Build success in 3040ms
124
- DTS ⚡️ Build success in 4546ms
125
- DTS dist/index.d.ts 967.00 B
126
- DTS dist/button.d.ts 366.00 B
125
+ ESM dist/chunk-E5I7SWUP.mjs 2.32 KB
126
+ ESM dist/modal.mjs 147.00 B
127
+ ESM ⚡️ Build success in 3133ms
128
+ DTS ⚡️ Build success in 4805ms
129
+ DTS dist/index.d.ts 1.05 KB
130
+ DTS dist/button.d.ts 390.00 B
127
131
  DTS dist/dialog.d.ts 1.81 KB
128
- DTS dist/input.d.ts 444.00 B
132
+ DTS dist/input.d.ts 559.00 B
129
133
  DTS dist/modal.d.ts 763.00 B
130
134
  DTS dist/pinInput.d.ts 303.00 B
135
+ DTS dist/popover.d.ts 543.00 B
131
136
  DTS dist/icons/accountWalletLogo.d.ts 158.00 B
132
137
  DTS dist/icons/browser.d.ts 200.00 B
133
138
  DTS dist/icons/chevronDown.d.ts 191.00 B
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @burnt-labs/ui
2
2
 
3
+ ## 0.1.0-alpha.12
4
+
5
+ ### Minor Changes
6
+
7
+ - [#176](https://github.com/burnt-labs/xion.js/pull/176) [`a80ed9c`](https://github.com/burnt-labs/xion.js/commit/a80ed9c32f0c5c91a8ec7aacfba5bddddfc43f84) Thanks [@BurntNerve](https://github.com/BurntNerve)! - Added UI Fixes and new button style
8
+
9
+ ## 0.1.0-alpha.11
10
+
11
+ ### Minor Changes
12
+
13
+ - [#165](https://github.com/burnt-labs/xion.js/pull/165) [`e53a5bd`](https://github.com/burnt-labs/xion.js/commit/e53a5bd382481001f1968d3314c858de0fe2b5ea) Thanks [@BurntNerve](https://github.com/BurntNerve)! - Added prop for more direct access to input styles
14
+
15
+ - [#167](https://github.com/burnt-labs/xion.js/pull/167) [`1cddf5b`](https://github.com/burnt-labs/xion.js/commit/1cddf5bd9c91393b93e177d8f625ab00d3d284c5) Thanks [@BurntNerve](https://github.com/BurntNerve)! - Added mobile UI fixes for dashboard
16
+
3
17
  ## 0.1.0-alpha.10
4
18
 
5
19
  ### Minor Changes
package/dist/button.d.ts CHANGED
@@ -2,7 +2,7 @@ import React__default from 'react';
2
2
 
3
3
  interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  fullWidth?: boolean;
5
- structure?: "base" | "outlined" | "naked" | "destructive";
5
+ structure?: "base" | "outlined" | "naked" | "destructive" | "destructive-outline";
6
6
  disabled?: boolean;
7
7
  onClick?: (e: React__default.MouseEvent) => void;
8
8
  }
package/dist/button.js CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkUNPP7H5Q_js = require('./chunk-UNPP7H5Q.js');
3
+ var chunkPQ4RAOPA_js = require('./chunk-PQ4RAOPA.js');
4
4
  require('./chunk-PKUHTIDK.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, 'Button', {
9
9
  enumerable: true,
10
- get: function () { return chunkUNPP7H5Q_js.Button; }
10
+ get: function () { return chunkPQ4RAOPA_js.Button; }
11
11
  });
package/dist/button.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { Button } from './chunk-RRNLHIXE.mjs';
1
+ export { Button } from './chunk-HCWJO67P.mjs';
2
2
  import './chunk-3TCQU24P.mjs';
@@ -54,7 +54,7 @@ var DialogContent = React__namespace.forwardRef((_a, ref) => {
54
54
  DialogPrimitive__namespace.Content,
55
55
  chunkPKUHTIDK_js.__spreadProps(chunkPKUHTIDK_js.__spreadValues({
56
56
  className: chunk74MKQUE2_js.cn(
57
- "sm:ui-bg-black/20 sm:ui-backdrop-blur-2xl ui-data-[state=open]:ui-animate-in ui-data-[state=closed]:ui-animate-out ui-data-[state=closed]:ui-fade-out-0 ui-data-[state=open]:ui-fade-in-0 ui-data-[state=closed]:ui-zoom-out-95 ui-data-[state=open]:ui-zoom-in-95 ui-data-[state=closed]:ui-slide-out-to-left-1/2 ui-data-[state=closed]:ui-slide-out-to-top-[48%] ui-data-[state=open]:ui-slide-in-from-left-1/2 ui-data-[state=open]:ui-slide-in-from-top-[48%] ui-fixed ui-z-[70] ui-grid ui-w-full ui-max-w-lg ui-gap-4 ui-p-6 ui-duration-200 sm:ui-rounded-[48px] ui-left-[50%] ui-top-[50%] ui-translate-x-[-50%] ui-translate-y-[-50%]",
57
+ "sm:ui-bg-black/20 !ui-flex ui-justify-center ui-flex-col sm:ui-block sm:ui-flex-none ui-h-screen sm:ui-h-auto sm:ui-backdrop-blur-2xl ui-data-[state=open]:ui-animate-in ui-data-[state=closed]:ui-animate-out ui-data-[state=closed]:ui-fade-out-0 ui-data-[state=open]:ui-fade-in-0 ui-data-[state=closed]:ui-zoom-out-95 ui-data-[state=open]:ui-zoom-in-95 ui-data-[state=closed]:ui-slide-out-to-left-1/2 ui-data-[state=closed]:ui-slide-out-to-top-[48%] ui-data-[state=open]:ui-slide-in-from-left-1/2 ui-data-[state=open]:ui-slide-in-from-top-[48%] ui-fixed ui-z-[70] ui-grid ui-w-full ui-max-w-lg ui-gap-4 ui-p-10 ui-duration-200 sm:ui-rounded-[48px] ui-left-[50%] ui-top-[50%] ui-translate-x-[-50%] ui-translate-y-[-50%]",
58
58
  className
59
59
  ),
60
60
  ref
@@ -0,0 +1,28 @@
1
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-3TCQU24P.mjs';
2
+ import * as React from 'react';
3
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var Popover = PopoverPrimitive.Root;
7
+ var PopoverTrigger = PopoverPrimitive.Trigger;
8
+ var PopoverContent = React.forwardRef((_a, forwardedRef) => {
9
+ var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
10
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
11
+ PopoverPrimitive.Content,
12
+ __spreadProps(__spreadValues({
13
+ className: `${className} ui-rounded ui-text-white ui-p-2 ui-bg-[#434040] ui-data-[state=open]:ui-data-[side=top]:ui-animate-slideDownAndFade ui-data-[state=open]:ui-data-[side=right]:ui-animate-slideLeftAndFade ui-data-[state=open]:ui-data-[side=bottom]:ui-animate-slideUpAndFade ui-data-[state=open]:ui-data-[side=left]:ui-animate-slideRightAndFade
14
+ `,
15
+ ref: forwardedRef,
16
+ side: "top",
17
+ sideOffset: 10
18
+ }, props), {
19
+ children: [
20
+ children,
21
+ /* @__PURE__ */ jsx(PopoverPrimitive.Arrow, { className: "ui-fill-[#434040]" })
22
+ ]
23
+ })
24
+ ) });
25
+ });
26
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
27
+
28
+ export { Popover, PopoverContent, PopoverTrigger };
@@ -36,7 +36,7 @@ function Modal(_a) {
36
36
  "div",
37
37
  __spreadProps(__spreadValues({
38
38
  className: cn(
39
- "ui-relative ui-w-full ui-max-w-[465px] ui-text-black ui-rounded ui-z-[1000] ui-bg-black/25 backdrop-blur-xl",
39
+ "ui-relative ui-h-full ui-w-full ui-max-w-[465px] ui-text-black ui-rounded ui-z-[1000] ui-bg-black/25 backdrop-blur-xl",
40
40
  className
41
41
  )
42
42
  }, props), {
@@ -77,7 +77,7 @@ function ModalSection(_a) {
77
77
  "div",
78
78
  __spreadProps(__spreadValues({
79
79
  className: cn(
80
- "ui-inline-flex ui-w-full ui-h-full sm:ui-p-10 ui-flex-col ui-items-start ui-justify-between ui-gap-8",
80
+ "ui-inline-flex ui-w-full ui-h-full ui-flex-col ui-items-start ui-justify-between ui-gap-8",
81
81
  className
82
82
  )
83
83
  }, props), {
@@ -37,6 +37,8 @@ var Button = (_a) => {
37
37
  return "ui-border-none ui-bg-transparent ui-text-white ui-underline ui-font-normal";
38
38
  case "destructive":
39
39
  return "ui-bg-red-500 ui-text-white hover:ui-bg-red-400";
40
+ case "destructive-outline":
41
+ return "ui-border ui-border-red-500 ui-bg-transparent ui-text-red-500 hover:ui-bg-red-500/5";
40
42
  default:
41
43
  return "ui-bg-white ui-text-black hover:ui-bg-neutral-100";
42
44
  }
@@ -6,15 +6,20 @@ function Input(_a) {
6
6
  var _b = _a, {
7
7
  className,
8
8
  placeholder,
9
+ baseInputClassName: baseInputClassName,
9
10
  value,
10
11
  error,
11
- onBlur
12
+ onBlur,
13
+ onKeyDown
12
14
  } = _b, props = __objRest(_b, [
13
15
  "className",
14
16
  "placeholder",
17
+ // This should only be used for specific classes that can't override the base input styles.
18
+ "baseInputClassName",
15
19
  "value",
16
20
  "error",
17
- "onBlur"
21
+ "onBlur",
22
+ "onKeyDown"
18
23
  ]);
19
24
  const [isInputFocused, setIsInputFocused] = useState(false);
20
25
  const handleFocus = () => {
@@ -38,9 +43,13 @@ function Input(_a) {
38
43
  /* @__PURE__ */ jsx(
39
44
  "input",
40
45
  __spreadProps(__spreadValues({}, props), {
41
- className: `ui-z-10 ui-block ui-h-8 ui-w-full ui-border-b ui-relative ${error ? "ui-border-red-400" : ""} ui-bg-transparent ui-font-akkuratLL ui-text-sm ui-text-zinc-100 ui-font-normal ui-leading-tight ui-outline-none`,
46
+ className: `${baseInputClassName || ""} ui-z-10 ui-block ui-h-8 ui-w-full ui-border-b ui-relative ${error ? "ui-border-red-400" : ""} ui-bg-transparent ui-font-akkuratLL ui-py-5 !ui-text-sm ui-text-zinc-100 ui-font-normal ui-leading-tight ui-outline-none`,
42
47
  onBlur: handleBlur,
43
48
  onFocus: handleFocus,
49
+ onKeyDown,
50
+ style: {
51
+ WebkitBorderRadius: "none"
52
+ },
44
53
  value
45
54
  })
46
55
  )
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var chunkPKUHTIDK_js = require('./chunk-PKUHTIDK.js');
4
+ var React = require('react');
5
+ var PopoverPrimitive = require('@radix-ui/react-popover');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+ var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
28
+
29
+ var Popover = PopoverPrimitive__namespace.Root;
30
+ var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
31
+ var PopoverContent = React__namespace.forwardRef((_a, forwardedRef) => {
32
+ var _b = _a, { className, children } = _b, props = chunkPKUHTIDK_js.__objRest(_b, ["className", "children"]);
33
+ return /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
34
+ PopoverPrimitive__namespace.Content,
35
+ chunkPKUHTIDK_js.__spreadProps(chunkPKUHTIDK_js.__spreadValues({
36
+ className: `${className} ui-rounded ui-text-white ui-p-2 ui-bg-[#434040] ui-data-[state=open]:ui-data-[side=top]:ui-animate-slideDownAndFade ui-data-[state=open]:ui-data-[side=right]:ui-animate-slideLeftAndFade ui-data-[state=open]:ui-data-[side=bottom]:ui-animate-slideUpAndFade ui-data-[state=open]:ui-data-[side=left]:ui-animate-slideRightAndFade
37
+ `,
38
+ ref: forwardedRef,
39
+ side: "top",
40
+ sideOffset: 10
41
+ }, props), {
42
+ children: [
43
+ children,
44
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Arrow, { className: "ui-fill-[#434040]" })
45
+ ]
46
+ })
47
+ ) });
48
+ });
49
+ PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
50
+
51
+ exports.Popover = Popover;
52
+ exports.PopoverContent = PopoverContent;
53
+ exports.PopoverTrigger = PopoverTrigger;
@@ -39,6 +39,8 @@ var Button = (_a) => {
39
39
  return "ui-border-none ui-bg-transparent ui-text-white ui-underline ui-font-normal";
40
40
  case "destructive":
41
41
  return "ui-bg-red-500 ui-text-white hover:ui-bg-red-400";
42
+ case "destructive-outline":
43
+ return "ui-border ui-border-red-500 ui-bg-transparent ui-text-red-500 hover:ui-bg-red-500/5";
42
44
  default:
43
45
  return "ui-bg-white ui-text-black hover:ui-bg-neutral-100";
44
46
  }
@@ -8,15 +8,20 @@ function Input(_a) {
8
8
  var _b = _a, {
9
9
  className,
10
10
  placeholder,
11
+ baseInputClassName: baseInputClassName,
11
12
  value,
12
13
  error,
13
- onBlur
14
+ onBlur,
15
+ onKeyDown
14
16
  } = _b, props = chunkPKUHTIDK_js.__objRest(_b, [
15
17
  "className",
16
18
  "placeholder",
19
+ // This should only be used for specific classes that can't override the base input styles.
20
+ "baseInputClassName",
17
21
  "value",
18
22
  "error",
19
- "onBlur"
23
+ "onBlur",
24
+ "onKeyDown"
20
25
  ]);
21
26
  const [isInputFocused, setIsInputFocused] = react.useState(false);
22
27
  const handleFocus = () => {
@@ -40,9 +45,13 @@ function Input(_a) {
40
45
  /* @__PURE__ */ jsxRuntime.jsx(
41
46
  "input",
42
47
  chunkPKUHTIDK_js.__spreadProps(chunkPKUHTIDK_js.__spreadValues({}, props), {
43
- className: `ui-z-10 ui-block ui-h-8 ui-w-full ui-border-b ui-relative ${error ? "ui-border-red-400" : ""} ui-bg-transparent ui-font-akkuratLL ui-text-sm ui-text-zinc-100 ui-font-normal ui-leading-tight ui-outline-none`,
48
+ className: `${baseInputClassName || ""} ui-z-10 ui-block ui-h-8 ui-w-full ui-border-b ui-relative ${error ? "ui-border-red-400" : ""} ui-bg-transparent ui-font-akkuratLL ui-py-5 !ui-text-sm ui-text-zinc-100 ui-font-normal ui-leading-tight ui-outline-none`,
44
49
  onBlur: handleBlur,
45
50
  onFocus: handleFocus,
51
+ onKeyDown,
52
+ style: {
53
+ WebkitBorderRadius: "none"
54
+ },
46
55
  value
47
56
  })
48
57
  )
@@ -38,7 +38,7 @@ function Modal(_a) {
38
38
  "div",
39
39
  chunkPKUHTIDK_js.__spreadProps(chunkPKUHTIDK_js.__spreadValues({
40
40
  className: chunk74MKQUE2_js.cn(
41
- "ui-relative ui-w-full ui-max-w-[465px] ui-text-black ui-rounded ui-z-[1000] ui-bg-black/25 backdrop-blur-xl",
41
+ "ui-relative ui-h-full ui-w-full ui-max-w-[465px] ui-text-black ui-rounded ui-z-[1000] ui-bg-black/25 backdrop-blur-xl",
42
42
  className
43
43
  )
44
44
  }, props), {
@@ -79,7 +79,7 @@ function ModalSection(_a) {
79
79
  "div",
80
80
  chunkPKUHTIDK_js.__spreadProps(chunkPKUHTIDK_js.__spreadValues({
81
81
  className: chunk74MKQUE2_js.cn(
82
- "ui-inline-flex ui-w-full ui-h-full sm:ui-p-10 ui-flex-col ui-items-start ui-justify-between ui-gap-8",
82
+ "ui-inline-flex ui-w-full ui-h-full ui-flex-col ui-items-start ui-justify-between ui-gap-8",
83
83
  className
84
84
  )
85
85
  }, props), {
@@ -31,7 +31,7 @@ var DialogContent = React.forwardRef((_a, ref) => {
31
31
  DialogPrimitive.Content,
32
32
  __spreadProps(__spreadValues({
33
33
  className: cn(
34
- "sm:ui-bg-black/20 sm:ui-backdrop-blur-2xl ui-data-[state=open]:ui-animate-in ui-data-[state=closed]:ui-animate-out ui-data-[state=closed]:ui-fade-out-0 ui-data-[state=open]:ui-fade-in-0 ui-data-[state=closed]:ui-zoom-out-95 ui-data-[state=open]:ui-zoom-in-95 ui-data-[state=closed]:ui-slide-out-to-left-1/2 ui-data-[state=closed]:ui-slide-out-to-top-[48%] ui-data-[state=open]:ui-slide-in-from-left-1/2 ui-data-[state=open]:ui-slide-in-from-top-[48%] ui-fixed ui-z-[70] ui-grid ui-w-full ui-max-w-lg ui-gap-4 ui-p-6 ui-duration-200 sm:ui-rounded-[48px] ui-left-[50%] ui-top-[50%] ui-translate-x-[-50%] ui-translate-y-[-50%]",
34
+ "sm:ui-bg-black/20 !ui-flex ui-justify-center ui-flex-col sm:ui-block sm:ui-flex-none ui-h-screen sm:ui-h-auto sm:ui-backdrop-blur-2xl ui-data-[state=open]:ui-animate-in ui-data-[state=closed]:ui-animate-out ui-data-[state=closed]:ui-fade-out-0 ui-data-[state=open]:ui-fade-in-0 ui-data-[state=closed]:ui-zoom-out-95 ui-data-[state=open]:ui-zoom-in-95 ui-data-[state=closed]:ui-slide-out-to-left-1/2 ui-data-[state=closed]:ui-slide-out-to-top-[48%] ui-data-[state=open]:ui-slide-in-from-left-1/2 ui-data-[state=open]:ui-slide-in-from-top-[48%] ui-fixed ui-z-[70] ui-grid ui-w-full ui-max-w-lg ui-gap-4 ui-p-10 ui-duration-200 sm:ui-rounded-[48px] ui-left-[50%] ui-top-[50%] ui-translate-x-[-50%] ui-translate-y-[-50%]",
35
35
  className
36
36
  ),
37
37
  ref
package/dist/dialog.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkAODSKYMI_js = require('./chunk-AODSKYMI.js');
3
+ var chunkBO3GGGHL_js = require('./chunk-BO3GGGHL.js');
4
4
  require('./chunk-74MKQUE2.js');
5
5
  require('./chunk-PKUHTIDK.js');
6
6
 
@@ -8,41 +8,41 @@ require('./chunk-PKUHTIDK.js');
8
8
 
9
9
  Object.defineProperty(exports, 'Dialog', {
10
10
  enumerable: true,
11
- get: function () { return chunkAODSKYMI_js.Dialog; }
11
+ get: function () { return chunkBO3GGGHL_js.Dialog; }
12
12
  });
13
13
  Object.defineProperty(exports, 'DialogClose', {
14
14
  enumerable: true,
15
- get: function () { return chunkAODSKYMI_js.DialogClose; }
15
+ get: function () { return chunkBO3GGGHL_js.DialogClose; }
16
16
  });
17
17
  Object.defineProperty(exports, 'DialogContent', {
18
18
  enumerable: true,
19
- get: function () { return chunkAODSKYMI_js.DialogContent; }
19
+ get: function () { return chunkBO3GGGHL_js.DialogContent; }
20
20
  });
21
21
  Object.defineProperty(exports, 'DialogDescription', {
22
22
  enumerable: true,
23
- get: function () { return chunkAODSKYMI_js.DialogDescription; }
23
+ get: function () { return chunkBO3GGGHL_js.DialogDescription; }
24
24
  });
25
25
  Object.defineProperty(exports, 'DialogFooter', {
26
26
  enumerable: true,
27
- get: function () { return chunkAODSKYMI_js.DialogFooter; }
27
+ get: function () { return chunkBO3GGGHL_js.DialogFooter; }
28
28
  });
29
29
  Object.defineProperty(exports, 'DialogHeader', {
30
30
  enumerable: true,
31
- get: function () { return chunkAODSKYMI_js.DialogHeader; }
31
+ get: function () { return chunkBO3GGGHL_js.DialogHeader; }
32
32
  });
33
33
  Object.defineProperty(exports, 'DialogOverlay', {
34
34
  enumerable: true,
35
- get: function () { return chunkAODSKYMI_js.DialogOverlay; }
35
+ get: function () { return chunkBO3GGGHL_js.DialogOverlay; }
36
36
  });
37
37
  Object.defineProperty(exports, 'DialogPortal', {
38
38
  enumerable: true,
39
- get: function () { return chunkAODSKYMI_js.DialogPortal; }
39
+ get: function () { return chunkBO3GGGHL_js.DialogPortal; }
40
40
  });
41
41
  Object.defineProperty(exports, 'DialogTitle', {
42
42
  enumerable: true,
43
- get: function () { return chunkAODSKYMI_js.DialogTitle; }
43
+ get: function () { return chunkBO3GGGHL_js.DialogTitle; }
44
44
  });
45
45
  Object.defineProperty(exports, 'DialogTrigger', {
46
46
  enumerable: true,
47
- get: function () { return chunkAODSKYMI_js.DialogTrigger; }
47
+ get: function () { return chunkBO3GGGHL_js.DialogTrigger; }
48
48
  });
package/dist/dialog.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-DUBSDTTD.mjs';
1
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-TM5VKEWC.mjs';
2
2
  import './chunk-FLJKIDRT.mjs';
3
3
  import './chunk-3TCQU24P.mjs';
package/dist/index.css CHANGED
@@ -394,6 +394,9 @@ input[type=number]::-webkit-outer-spin-button {
394
394
  .ui-block {
395
395
  display: block;
396
396
  }
397
+ .\!ui-flex {
398
+ display: flex !important;
399
+ }
397
400
  .ui-flex {
398
401
  display: flex;
399
402
  }
@@ -537,6 +540,10 @@ input[type=number]::-webkit-outer-spin-button {
537
540
  .ui-border-opacity-50 {
538
541
  --tw-border-opacity: 0.5;
539
542
  }
543
+ .ui-bg-\[\#434040\] {
544
+ --tw-bg-opacity: 1;
545
+ background-color: rgb(67 64 64 / var(--tw-bg-opacity));
546
+ }
540
547
  .ui-bg-black\/25 {
541
548
  background-color: rgb(0 0 0 / 0.25);
542
549
  }
@@ -575,15 +582,18 @@ input[type=number]::-webkit-outer-spin-button {
575
582
  .ui-bg-no-repeat {
576
583
  background-repeat: no-repeat;
577
584
  }
585
+ .ui-fill-\[\#434040\] {
586
+ fill: #434040;
587
+ }
588
+ .ui-p-10 {
589
+ padding: 2.5rem;
590
+ }
578
591
  .ui-p-2 {
579
592
  padding: 0.5rem;
580
593
  }
581
594
  .ui-p-4 {
582
595
  padding: 1rem;
583
596
  }
584
- .ui-p-6 {
585
- padding: 1.5rem;
586
- }
587
597
  .ui-px-5 {
588
598
  padding-left: 1.25rem;
589
599
  padding-right: 1.25rem;
@@ -596,6 +606,10 @@ input[type=number]::-webkit-outer-spin-button {
596
606
  padding-top: 0.875rem;
597
607
  padding-bottom: 0.875rem;
598
608
  }
609
+ .ui-py-5 {
610
+ padding-top: 1.25rem;
611
+ padding-bottom: 1.25rem;
612
+ }
599
613
  .ui-text-left {
600
614
  text-align: left;
601
615
  }
@@ -605,6 +619,10 @@ input[type=number]::-webkit-outer-spin-button {
605
619
  .ui-font-akkuratLL {
606
620
  font-family: Akkurat, sans-serif;
607
621
  }
622
+ .\!ui-text-sm {
623
+ font-size: 0.875rem !important;
624
+ line-height: 1.25rem !important;
625
+ }
608
626
  .ui-text-lg {
609
627
  font-size: 1.125rem;
610
628
  line-height: 1.75rem;
@@ -658,6 +676,10 @@ input[type=number]::-webkit-outer-spin-button {
658
676
  --tw-text-opacity: 1;
659
677
  color: rgb(248 113 113 / var(--tw-text-opacity));
660
678
  }
679
+ .ui-text-red-500 {
680
+ --tw-text-opacity: 1;
681
+ color: rgb(239 68 68 / var(--tw-text-opacity));
682
+ }
661
683
  .ui-text-white {
662
684
  --tw-text-opacity: 1;
663
685
  color: rgb(255 255 255 / var(--tw-text-opacity));
@@ -799,6 +821,9 @@ input[type=number]::-webkit-outer-spin-button {
799
821
  --tw-bg-opacity: 1;
800
822
  background-color: rgb(248 113 113 / var(--tw-bg-opacity));
801
823
  }
824
+ .hover\:ui-bg-red-500\/5:hover {
825
+ background-color: rgb(239 68 68 / 0.05);
826
+ }
802
827
  .hover\:ui-bg-red-600:hover {
803
828
  --tw-bg-opacity: 1;
804
829
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
@@ -825,6 +850,15 @@ input[type=number]::-webkit-outer-spin-button {
825
850
  opacity: 0.5;
826
851
  }
827
852
  @media (min-width: 640px) {
853
+ .sm\:ui-block {
854
+ display: block;
855
+ }
856
+ .sm\:ui-h-auto {
857
+ height: auto;
858
+ }
859
+ .sm\:ui-flex-none {
860
+ flex: none;
861
+ }
828
862
  .sm\:ui-flex-row {
829
863
  flex-direction: row;
830
864
  }
@@ -842,9 +876,6 @@ input[type=number]::-webkit-outer-spin-button {
842
876
  .sm\:ui-bg-black\/20 {
843
877
  background-color: rgb(0 0 0 / 0.2);
844
878
  }
845
- .sm\:ui-p-10 {
846
- padding: 2.5rem;
847
- }
848
879
  .sm\:ui-text-left {
849
880
  text-align: left;
850
881
  }
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { PinInput } from './pinInput.js';
3
3
  export { Button } from './button.js';
4
4
  export { Modal, ModalAnchor, ModalClose, ModalSection } from './modal.js';
5
5
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './dialog.js';
6
+ export { Popover, PopoverContent, PopoverTrigger } from './popover.js';
6
7
  export { ChevronDown } from './icons/chevronDown.js';
7
8
  export { CloseIcon } from './icons/close.js';
8
9
  export { AccountWalletLogo } from './icons/accountWalletLogo.js';
@@ -16,3 +17,4 @@ export { EthereumLogo } from './icons/ethereumLogo.js';
16
17
  import 'react/jsx-runtime';
17
18
  import 'react';
18
19
  import '@radix-ui/react-dialog';
20
+ import '@radix-ui/react-popover';
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var chunkCRNDRPTL_js = require('./chunk-CRNDRPTL.js');
4
+ var chunkAEW7GOE6_js = require('./chunk-AEW7GOE6.js');
3
5
  var chunkRDYVRQBK_js = require('./chunk-RDYVRQBK.js');
4
6
  var chunkFNTBL45H_js = require('./chunk-FNTBL45H.js');
5
7
  var chunkPNDEO36E_js = require('./chunk-PNDEO36E.js');
@@ -7,19 +9,26 @@ var chunkMGPRA5XK_js = require('./chunk-MGPRA5XK.js');
7
9
  var chunkNHBX6Q3P_js = require('./chunk-NHBX6Q3P.js');
8
10
  var chunkYHUCPUS3_js = require('./chunk-YHUCPUS3.js');
9
11
  var chunk7UK6EE2I_js = require('./chunk-7UK6EE2I.js');
10
- var chunkCRNDRPTL_js = require('./chunk-CRNDRPTL.js');
11
- var chunkUNPP7H5Q_js = require('./chunk-UNPP7H5Q.js');
12
- var chunkAODSKYMI_js = require('./chunk-AODSKYMI.js');
13
- var chunk5KA4BYO5_js = require('./chunk-5KA4BYO5.js');
14
- var chunk42VYSY7W_js = require('./chunk-42VYSY7W.js');
12
+ var chunkPQ4RAOPA_js = require('./chunk-PQ4RAOPA.js');
13
+ var chunkBO3GGGHL_js = require('./chunk-BO3GGGHL.js');
14
+ var chunkRIB2OC5P_js = require('./chunk-RIB2OC5P.js');
15
+ var chunkTJTFUJK4_js = require('./chunk-TJTFUJK4.js');
16
+ require('./chunk-74MKQUE2.js');
15
17
  var chunkKOR2D6S4_js = require('./chunk-KOR2D6S4.js');
18
+ var chunkKVSERZUE_js = require('./chunk-KVSERZUE.js');
16
19
  var chunkNINTZKIZ_js = require('./chunk-NINTZKIZ.js');
17
- var chunkAEW7GOE6_js = require('./chunk-AEW7GOE6.js');
18
- require('./chunk-74MKQUE2.js');
19
20
  require('./chunk-PKUHTIDK.js');
20
21
 
21
22
 
22
23
 
24
+ Object.defineProperty(exports, 'Spinner', {
25
+ enumerable: true,
26
+ get: function () { return chunkCRNDRPTL_js.Spinner; }
27
+ });
28
+ Object.defineProperty(exports, 'BrowserIcon', {
29
+ enumerable: true,
30
+ get: function () { return chunkAEW7GOE6_js.BrowserIcon; }
31
+ });
23
32
  Object.defineProperty(exports, 'ChevronDown', {
24
33
  enumerable: true,
25
34
  get: function () { return chunkRDYVRQBK_js.ChevronDown; }
@@ -48,83 +57,87 @@ Object.defineProperty(exports, 'PasskeyIcon', {
48
57
  enumerable: true,
49
58
  get: function () { return chunk7UK6EE2I_js.PasskeyIcon; }
50
59
  });
51
- Object.defineProperty(exports, 'Spinner', {
52
- enumerable: true,
53
- get: function () { return chunkCRNDRPTL_js.Spinner; }
54
- });
55
60
  Object.defineProperty(exports, 'Button', {
56
61
  enumerable: true,
57
- get: function () { return chunkUNPP7H5Q_js.Button; }
62
+ get: function () { return chunkPQ4RAOPA_js.Button; }
58
63
  });
59
64
  Object.defineProperty(exports, 'Dialog', {
60
65
  enumerable: true,
61
- get: function () { return chunkAODSKYMI_js.Dialog; }
66
+ get: function () { return chunkBO3GGGHL_js.Dialog; }
62
67
  });
63
68
  Object.defineProperty(exports, 'DialogClose', {
64
69
  enumerable: true,
65
- get: function () { return chunkAODSKYMI_js.DialogClose; }
70
+ get: function () { return chunkBO3GGGHL_js.DialogClose; }
66
71
  });
67
72
  Object.defineProperty(exports, 'DialogContent', {
68
73
  enumerable: true,
69
- get: function () { return chunkAODSKYMI_js.DialogContent; }
74
+ get: function () { return chunkBO3GGGHL_js.DialogContent; }
70
75
  });
71
76
  Object.defineProperty(exports, 'DialogDescription', {
72
77
  enumerable: true,
73
- get: function () { return chunkAODSKYMI_js.DialogDescription; }
78
+ get: function () { return chunkBO3GGGHL_js.DialogDescription; }
74
79
  });
75
80
  Object.defineProperty(exports, 'DialogFooter', {
76
81
  enumerable: true,
77
- get: function () { return chunkAODSKYMI_js.DialogFooter; }
82
+ get: function () { return chunkBO3GGGHL_js.DialogFooter; }
78
83
  });
79
84
  Object.defineProperty(exports, 'DialogHeader', {
80
85
  enumerable: true,
81
- get: function () { return chunkAODSKYMI_js.DialogHeader; }
86
+ get: function () { return chunkBO3GGGHL_js.DialogHeader; }
82
87
  });
83
88
  Object.defineProperty(exports, 'DialogOverlay', {
84
89
  enumerable: true,
85
- get: function () { return chunkAODSKYMI_js.DialogOverlay; }
90
+ get: function () { return chunkBO3GGGHL_js.DialogOverlay; }
86
91
  });
87
92
  Object.defineProperty(exports, 'DialogPortal', {
88
93
  enumerable: true,
89
- get: function () { return chunkAODSKYMI_js.DialogPortal; }
94
+ get: function () { return chunkBO3GGGHL_js.DialogPortal; }
90
95
  });
91
96
  Object.defineProperty(exports, 'DialogTitle', {
92
97
  enumerable: true,
93
- get: function () { return chunkAODSKYMI_js.DialogTitle; }
98
+ get: function () { return chunkBO3GGGHL_js.DialogTitle; }
94
99
  });
95
100
  Object.defineProperty(exports, 'DialogTrigger', {
96
101
  enumerable: true,
97
- get: function () { return chunkAODSKYMI_js.DialogTrigger; }
102
+ get: function () { return chunkBO3GGGHL_js.DialogTrigger; }
98
103
  });
99
104
  Object.defineProperty(exports, 'Input', {
100
105
  enumerable: true,
101
- get: function () { return chunk5KA4BYO5_js.Input; }
106
+ get: function () { return chunkRIB2OC5P_js.Input; }
102
107
  });
103
108
  Object.defineProperty(exports, 'Modal', {
104
109
  enumerable: true,
105
- get: function () { return chunk42VYSY7W_js.Modal; }
110
+ get: function () { return chunkTJTFUJK4_js.Modal; }
106
111
  });
107
112
  Object.defineProperty(exports, 'ModalAnchor', {
108
113
  enumerable: true,
109
- get: function () { return chunk42VYSY7W_js.ModalAnchor; }
114
+ get: function () { return chunkTJTFUJK4_js.ModalAnchor; }
110
115
  });
111
116
  Object.defineProperty(exports, 'ModalClose', {
112
117
  enumerable: true,
113
- get: function () { return chunk42VYSY7W_js.ModalClose; }
118
+ get: function () { return chunkTJTFUJK4_js.ModalClose; }
114
119
  });
115
120
  Object.defineProperty(exports, 'ModalSection', {
116
121
  enumerable: true,
117
- get: function () { return chunk42VYSY7W_js.ModalSection; }
122
+ get: function () { return chunkTJTFUJK4_js.ModalSection; }
118
123
  });
119
124
  Object.defineProperty(exports, 'PinInput', {
120
125
  enumerable: true,
121
126
  get: function () { return chunkKOR2D6S4_js.PinInput; }
122
127
  });
123
- Object.defineProperty(exports, 'AccountWalletLogo', {
128
+ Object.defineProperty(exports, 'Popover', {
124
129
  enumerable: true,
125
- get: function () { return chunkNINTZKIZ_js.AccountWalletLogo; }
130
+ get: function () { return chunkKVSERZUE_js.Popover; }
126
131
  });
127
- Object.defineProperty(exports, 'BrowserIcon', {
132
+ Object.defineProperty(exports, 'PopoverContent', {
128
133
  enumerable: true,
129
- get: function () { return chunkAEW7GOE6_js.BrowserIcon; }
134
+ get: function () { return chunkKVSERZUE_js.PopoverContent; }
135
+ });
136
+ Object.defineProperty(exports, 'PopoverTrigger', {
137
+ enumerable: true,
138
+ get: function () { return chunkKVSERZUE_js.PopoverTrigger; }
139
+ });
140
+ Object.defineProperty(exports, 'AccountWalletLogo', {
141
+ enumerable: true,
142
+ get: function () { return chunkNINTZKIZ_js.AccountWalletLogo; }
130
143
  });
package/dist/index.mjs CHANGED
@@ -1,3 +1,5 @@
1
+ export { Spinner } from './chunk-OXW4BQPJ.mjs';
2
+ export { BrowserIcon } from './chunk-Y3OSOP6I.mjs';
1
3
  export { ChevronDown } from './chunk-HZWJQRFF.mjs';
2
4
  export { CloseIcon } from './chunk-SYOTT65J.mjs';
3
5
  export { EmailIcon } from './chunk-IR4FC2P3.mjs';
@@ -5,13 +7,12 @@ export { EthereumLogo } from './chunk-TKCFH3O5.mjs';
5
7
  export { KeplrLogo } from './chunk-KZ3C2OHV.mjs';
6
8
  export { MetamaskLogo } from './chunk-BTRAYQSX.mjs';
7
9
  export { PasskeyIcon } from './chunk-ERKL3SY4.mjs';
8
- export { Spinner } from './chunk-OXW4BQPJ.mjs';
9
- export { Button } from './chunk-RRNLHIXE.mjs';
10
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-DUBSDTTD.mjs';
11
- export { Input } from './chunk-C2KDWV5Z.mjs';
12
- export { Modal, ModalAnchor, ModalClose, ModalSection } from './chunk-OVQCCXBH.mjs';
10
+ export { Button } from './chunk-HCWJO67P.mjs';
11
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-TM5VKEWC.mjs';
12
+ export { Input } from './chunk-JQRAYL7A.mjs';
13
+ export { Modal, ModalAnchor, ModalClose, ModalSection } from './chunk-E5I7SWUP.mjs';
14
+ import './chunk-FLJKIDRT.mjs';
13
15
  export { PinInput } from './chunk-VSTH5YAB.mjs';
16
+ export { Popover, PopoverContent, PopoverTrigger } from './chunk-DUSUIS3M.mjs';
14
17
  export { AccountWalletLogo } from './chunk-ESZY3JBH.mjs';
15
- export { BrowserIcon } from './chunk-Y3OSOP6I.mjs';
16
- import './chunk-FLJKIDRT.mjs';
17
18
  import './chunk-3TCQU24P.mjs';
package/dist/input.d.ts CHANGED
@@ -5,7 +5,9 @@ type BaseInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "prefix">;
5
5
  interface ITextFieldProps extends BaseInputProps {
6
6
  className?: string;
7
7
  error?: string;
8
+ baseInputClassName?: string;
9
+ onKeyDown?: (e: any) => false | Promise<void>;
8
10
  }
9
- declare function Input({ className, placeholder, value, error, onBlur, ...props }: ITextFieldProps): react_jsx_runtime.JSX.Element;
11
+ declare function Input({ className, placeholder, baseInputClassName, value, error, onBlur, onKeyDown, ...props }: ITextFieldProps): react_jsx_runtime.JSX.Element;
10
12
 
11
13
  export { ITextFieldProps, Input };
package/dist/input.js CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk5KA4BYO5_js = require('./chunk-5KA4BYO5.js');
3
+ var chunkRIB2OC5P_js = require('./chunk-RIB2OC5P.js');
4
4
  require('./chunk-PKUHTIDK.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, 'Input', {
9
9
  enumerable: true,
10
- get: function () { return chunk5KA4BYO5_js.Input; }
10
+ get: function () { return chunkRIB2OC5P_js.Input; }
11
11
  });
package/dist/input.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { Input } from './chunk-C2KDWV5Z.mjs';
1
+ export { Input } from './chunk-JQRAYL7A.mjs';
2
2
  import './chunk-3TCQU24P.mjs';
package/dist/modal.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk42VYSY7W_js = require('./chunk-42VYSY7W.js');
3
+ var chunkTJTFUJK4_js = require('./chunk-TJTFUJK4.js');
4
4
  require('./chunk-74MKQUE2.js');
5
5
  require('./chunk-PKUHTIDK.js');
6
6
 
@@ -8,17 +8,17 @@ require('./chunk-PKUHTIDK.js');
8
8
 
9
9
  Object.defineProperty(exports, 'Modal', {
10
10
  enumerable: true,
11
- get: function () { return chunk42VYSY7W_js.Modal; }
11
+ get: function () { return chunkTJTFUJK4_js.Modal; }
12
12
  });
13
13
  Object.defineProperty(exports, 'ModalAnchor', {
14
14
  enumerable: true,
15
- get: function () { return chunk42VYSY7W_js.ModalAnchor; }
15
+ get: function () { return chunkTJTFUJK4_js.ModalAnchor; }
16
16
  });
17
17
  Object.defineProperty(exports, 'ModalClose', {
18
18
  enumerable: true,
19
- get: function () { return chunk42VYSY7W_js.ModalClose; }
19
+ get: function () { return chunkTJTFUJK4_js.ModalClose; }
20
20
  });
21
21
  Object.defineProperty(exports, 'ModalSection', {
22
22
  enumerable: true,
23
- get: function () { return chunk42VYSY7W_js.ModalSection; }
23
+ get: function () { return chunkTJTFUJK4_js.ModalSection; }
24
24
  });
package/dist/modal.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { Modal, ModalAnchor, ModalClose, ModalSection } from './chunk-OVQCCXBH.mjs';
1
+ export { Modal, ModalAnchor, ModalClose, ModalSection } from './chunk-E5I7SWUP.mjs';
2
2
  import './chunk-FLJKIDRT.mjs';
3
3
  import './chunk-3TCQU24P.mjs';
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+
4
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
5
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+
8
+ export { Popover, PopoverContent, PopoverTrigger };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var chunkKVSERZUE_js = require('./chunk-KVSERZUE.js');
4
+ require('./chunk-PKUHTIDK.js');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, 'Popover', {
9
+ enumerable: true,
10
+ get: function () { return chunkKVSERZUE_js.Popover; }
11
+ });
12
+ Object.defineProperty(exports, 'PopoverContent', {
13
+ enumerable: true,
14
+ get: function () { return chunkKVSERZUE_js.PopoverContent; }
15
+ });
16
+ Object.defineProperty(exports, 'PopoverTrigger', {
17
+ enumerable: true,
18
+ get: function () { return chunkKVSERZUE_js.PopoverTrigger; }
19
+ });
@@ -0,0 +1,2 @@
1
+ export { Popover, PopoverContent, PopoverTrigger } from './chunk-DUSUIS3M.mjs';
2
+ import './chunk-3TCQU24P.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burnt-labs/ui",
3
- "version": "0.1.0-alpha.10",
3
+ "version": "0.1.0-alpha.12",
4
4
  "sideEffects": [
5
5
  "**/*.css"
6
6
  ],
@@ -29,6 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@radix-ui/react-dialog": "^1.0.5",
32
+ "@radix-ui/react-popover": "^1.0.7",
32
33
  "@types/react-dom": "^18.2.18"
33
34
  },
34
35
  "scripts": {
package/src/button.tsx CHANGED
@@ -2,7 +2,12 @@ import React from "react";
2
2
 
3
3
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  fullWidth?: boolean;
5
- structure?: "base" | "outlined" | "naked" | "destructive";
5
+ structure?:
6
+ | "base"
7
+ | "outlined"
8
+ | "naked"
9
+ | "destructive"
10
+ | "destructive-outline";
6
11
  disabled?: boolean;
7
12
  onClick?: (e: React.MouseEvent) => void;
8
13
  }
@@ -37,6 +42,8 @@ export const Button: React.FC<ButtonProps> = ({
37
42
  return "ui-border-none ui-bg-transparent ui-text-white ui-underline ui-font-normal";
38
43
  case "destructive":
39
44
  return "ui-bg-red-500 ui-text-white hover:ui-bg-red-400";
45
+ case "destructive-outline":
46
+ return "ui-border ui-border-red-500 ui-bg-transparent ui-text-red-500 hover:ui-bg-red-500/5";
40
47
  default:
41
48
  return "ui-bg-white ui-text-black hover:ui-bg-neutral-100";
42
49
  }
package/src/dialog.tsx CHANGED
@@ -34,7 +34,7 @@ const DialogContent = React.forwardRef<
34
34
  <div className="ui-absolute ui-h-screen ui-w-screen ui-inset-0 ui-bg-modal-overlay ui-backdrop-blur-3xl ui-opacity-40 ui-bg-no-repeat ui-bg-cover ui-bg-center ui-bg-fixed ui-z-[60]" />
35
35
  <DialogPrimitive.Content
36
36
  className={cn(
37
- "sm:ui-bg-black/20 sm:ui-backdrop-blur-2xl ui-data-[state=open]:ui-animate-in ui-data-[state=closed]:ui-animate-out ui-data-[state=closed]:ui-fade-out-0 ui-data-[state=open]:ui-fade-in-0 ui-data-[state=closed]:ui-zoom-out-95 ui-data-[state=open]:ui-zoom-in-95 ui-data-[state=closed]:ui-slide-out-to-left-1/2 ui-data-[state=closed]:ui-slide-out-to-top-[48%] ui-data-[state=open]:ui-slide-in-from-left-1/2 ui-data-[state=open]:ui-slide-in-from-top-[48%] ui-fixed ui-z-[70] ui-grid ui-w-full ui-max-w-lg ui-gap-4 ui-p-6 ui-duration-200 sm:ui-rounded-[48px] ui-left-[50%] ui-top-[50%] ui-translate-x-[-50%] ui-translate-y-[-50%]",
37
+ "sm:ui-bg-black/20 !ui-flex ui-justify-center ui-flex-col sm:ui-block sm:ui-flex-none ui-h-screen sm:ui-h-auto sm:ui-backdrop-blur-2xl ui-data-[state=open]:ui-animate-in ui-data-[state=closed]:ui-animate-out ui-data-[state=closed]:ui-fade-out-0 ui-data-[state=open]:ui-fade-in-0 ui-data-[state=closed]:ui-zoom-out-95 ui-data-[state=open]:ui-zoom-in-95 ui-data-[state=closed]:ui-slide-out-to-left-1/2 ui-data-[state=closed]:ui-slide-out-to-top-[48%] ui-data-[state=open]:ui-slide-in-from-left-1/2 ui-data-[state=open]:ui-slide-in-from-top-[48%] ui-fixed ui-z-[70] ui-grid ui-w-full ui-max-w-lg ui-gap-4 ui-p-10 ui-duration-200 sm:ui-rounded-[48px] ui-left-[50%] ui-top-[50%] ui-translate-x-[-50%] ui-translate-y-[-50%]",
38
38
  className,
39
39
  )}
40
40
  ref={ref}
package/src/index.tsx CHANGED
@@ -7,6 +7,7 @@ export * from "./pinInput";
7
7
  export * from "./button";
8
8
  export * from "./modal";
9
9
  export * from "./dialog";
10
+ export * from "./popover";
10
11
 
11
12
  // icons
12
13
  export * from "./icons/chevronDown";
package/src/input.tsx CHANGED
@@ -6,13 +6,18 @@ type BaseInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "prefix">;
6
6
  export interface ITextFieldProps extends BaseInputProps {
7
7
  className?: string;
8
8
  error?: string;
9
+ baseInputClassName?: string;
10
+ onKeyDown?: (e: any) => false | Promise<void>;
9
11
  }
10
12
  export function Input({
11
13
  className,
12
14
  placeholder,
15
+ // This should only be used for specific classes that can't override the base input styles.
16
+ baseInputClassName,
13
17
  value,
14
18
  error,
15
19
  onBlur,
20
+ onKeyDown,
16
21
  ...props
17
22
  }: ITextFieldProps) {
18
23
  const [isInputFocused, setIsInputFocused] = useState(false);
@@ -46,11 +51,17 @@ export function Input({
46
51
  </label>
47
52
  <input
48
53
  {...props}
49
- className={`ui-z-10 ui-block ui-h-8 ui-w-full ui-border-b ui-relative ${
54
+ className={`${
55
+ baseInputClassName || ""
56
+ } ui-z-10 ui-block ui-h-8 ui-w-full ui-border-b ui-relative ${
50
57
  error ? "ui-border-red-400" : ""
51
- } ui-bg-transparent ui-font-akkuratLL ui-text-sm ui-text-zinc-100 ui-font-normal ui-leading-tight ui-outline-none`}
58
+ } ui-bg-transparent ui-font-akkuratLL ui-py-5 !ui-text-sm ui-text-zinc-100 ui-font-normal ui-leading-tight ui-outline-none`}
52
59
  onBlur={handleBlur}
53
60
  onFocus={handleFocus}
61
+ onKeyDown={onKeyDown}
62
+ style={{
63
+ WebkitBorderRadius: "none",
64
+ }}
54
65
  value={value}
55
66
  />
56
67
  </div>
package/src/modal.tsx CHANGED
@@ -34,7 +34,7 @@ export function Modal({
34
34
  return (
35
35
  <div
36
36
  className={cn(
37
- "ui-relative ui-w-full ui-max-w-[465px] ui-text-black ui-rounded ui-z-[1000] ui-bg-black/25 backdrop-blur-xl",
37
+ "ui-relative ui-h-full ui-w-full ui-max-w-[465px] ui-text-black ui-rounded ui-z-[1000] ui-bg-black/25 backdrop-blur-xl",
38
38
  className,
39
39
  )}
40
40
  {...props}
@@ -75,7 +75,7 @@ export function ModalSection({
75
75
  return (
76
76
  <div
77
77
  className={cn(
78
- "ui-inline-flex ui-w-full ui-h-full sm:ui-p-10 ui-flex-col ui-items-start ui-justify-between ui-gap-8",
78
+ "ui-inline-flex ui-w-full ui-h-full ui-flex-col ui-items-start ui-justify-between ui-gap-8",
79
79
  className,
80
80
  )}
81
81
  {...props}
@@ -0,0 +1,28 @@
1
+ import * as React from "react";
2
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
3
+
4
+ const Popover = PopoverPrimitive.Root;
5
+
6
+ const PopoverTrigger = PopoverPrimitive.Trigger;
7
+
8
+ const PopoverContent = React.forwardRef<
9
+ React.ElementRef<typeof PopoverPrimitive.Content>,
10
+ React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>
11
+ >(({ className, children, ...props }, forwardedRef) => (
12
+ <PopoverPrimitive.Portal>
13
+ <PopoverPrimitive.Content
14
+ className={`${className} ui-rounded ui-text-white ui-p-2 ui-bg-[#434040] ui-data-[state=open]:ui-data-[side=top]:ui-animate-slideDownAndFade ui-data-[state=open]:ui-data-[side=right]:ui-animate-slideLeftAndFade ui-data-[state=open]:ui-data-[side=bottom]:ui-animate-slideUpAndFade ui-data-[state=open]:ui-data-[side=left]:ui-animate-slideRightAndFade
15
+ `}
16
+ ref={forwardedRef}
17
+ side="top"
18
+ sideOffset={10}
19
+ {...props}
20
+ >
21
+ {children}
22
+ <PopoverPrimitive.Arrow className="ui-fill-[#434040]" />
23
+ </PopoverPrimitive.Content>
24
+ </PopoverPrimitive.Portal>
25
+ ));
26
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
27
+
28
+ export { Popover, PopoverTrigger, PopoverContent };