@brosco/ui 0.0.31 → 0.0.33

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 CHANGED
@@ -1 +1 @@
1
- ## UI Components based on Base UI
1
+ #### UI Components based on Base UI
@@ -1,3 +1,2 @@
1
- import "./styles.css";
2
1
  import type { ButtonProps } from "./types.ts";
3
2
  export declare const Button: ({ children, icon, className, variant, color, rounded, size, isIconOnly, fullWidth, isPending, ...props }: ButtonProps) => import("react").JSX.Element;
@@ -3,7 +3,7 @@ import { Button as t } from "@base-ui/react";
3
3
  import { cn as n } from "cn";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  import { tv as a } from "tailwind-variants";
6
- import './button.css';//#region src/button/variants.ts
6
+ //#region src/button/variants.ts
7
7
  var o = a({
8
8
  base: "button--base",
9
9
  variants: {
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ import "./css/styles.css";
1
2
  export * from "./button";
2
3
  export * from "./spinner";
package/dist/styles.css CHANGED
@@ -1,2 +1,338 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- :root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-red-500:oklch(63.7% .237 25.331);--color-green-600:oklch(62.7% .194 149.214);--color-blue-500:oklch(62.3% .214 259.815);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-900:oklch(21% .006 285.885);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite}.m-4{margin:calc(var(--spacing) * 4)}.flex{display:flex}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.shrink-0{flex-shrink:0}.animate-spin{animation:var(--animate-spin)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.px-4{padding-inline:calc(var(--spacing) * 4)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}:root{--eclipse:var(--color-zinc-900);--background:var(--color-white);--foreground:var(--eclipse);--muted:var(--color-zinc-500);--primary:var(--color-blue-500);--secondary:var(--eclipse);--success:var(--color-green-600);--danger:var(--color-red-500)}@keyframes spin{to{transform:rotate(360deg)}}
2
+ @layer properties {
3
+ @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
4
+ ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
5
+ *,
6
+ :before,
7
+ :after,
8
+ ::backdrop {
9
+ --tw-border-style: solid;
10
+ --tw-font-weight: initial;
11
+ --tw-scale-x: 1;
12
+ --tw-scale-y: 1;
13
+ --tw-scale-z: 1;
14
+ --tw-shadow: 0 0 #0000;
15
+ --tw-shadow-color: initial;
16
+ --tw-shadow-alpha: 100%;
17
+ --tw-inset-shadow: 0 0 #0000;
18
+ --tw-inset-shadow-color: initial;
19
+ --tw-inset-shadow-alpha: 100%;
20
+ --tw-ring-color: initial;
21
+ --tw-ring-shadow: 0 0 #0000;
22
+ --tw-inset-ring-color: initial;
23
+ --tw-inset-ring-shadow: 0 0 #0000;
24
+ --tw-ring-inset: initial;
25
+ --tw-ring-offset-width: 0px;
26
+ --tw-ring-offset-color: #fff;
27
+ --tw-ring-offset-shadow: 0 0 #0000;
28
+ }
29
+ }
30
+ }
31
+ @layer theme {
32
+ :root {
33
+ --eclipse: var(--color-zinc-900);
34
+ --background: var(--color-white);
35
+ --foreground: var(--eclipse);
36
+ --muted: var(--color-zinc-500);
37
+ --primary: var(--color-blue-500);
38
+ --secondary: var(--eclipse);
39
+ --success: var(--color-green-600);
40
+ --danger: var(--color-red-500);
41
+ }
42
+ }
43
+ @layer base;
44
+ @layer components {
45
+ .button--base {
46
+ --color: transparent;
47
+ --bg: transparent;
48
+ --bg-hover: var(--bg);
49
+ --bg-active: var(--bg-hover);
50
+ --fg: currentColor;
51
+ }
52
+ .button--primary {
53
+ --color: var(--primary);
54
+ }
55
+ .button--secondary {
56
+ --color: var(--secondary);
57
+ }
58
+ .button--success {
59
+ --color: var(--success);
60
+ }
61
+ .button--danger {
62
+ --color: var(--danger);
63
+ }
64
+ .button--solid {
65
+ --bg: var(--color);
66
+ --bg-hover: var(--bg);
67
+ }
68
+ @supports (color: color-mix(in lab, red, red)) {
69
+ .button--solid {
70
+ --bg-hover: color-mix(in oklab, var(--bg) 90%, var(--eclipse) 10%);
71
+ }
72
+ }
73
+ .button--solid {
74
+ --bg-active: var(--bg);
75
+ }
76
+ @supports (color: color-mix(in lab, red, red)) {
77
+ .button--solid {
78
+ --bg-active: color-mix(in oklab, var(--bg) 80%, var(--eclipse) 20%);
79
+ }
80
+ }
81
+ .button--solid {
82
+ --fg: var(--color-white);
83
+ }
84
+ .button--solid.button--secondary {
85
+ --bg: var(--color);
86
+ }
87
+ @supports (color: color-mix(in lab, red, red)) {
88
+ .button--solid.button--secondary {
89
+ --bg: color-mix(in oklab, var(--color) 5%, transparent);
90
+ }
91
+ }
92
+ .button--solid.button--secondary {
93
+ --bg-hover: var(--bg);
94
+ }
95
+ @supports (color: color-mix(in lab, red, red)) {
96
+ .button--solid.button--secondary {
97
+ --bg-hover: color-mix(in oklab, var(--bg) 95%, var(--eclipse) 5%);
98
+ }
99
+ }
100
+ .button--solid.button--secondary {
101
+ --bg-active: var(--bg);
102
+ }
103
+ @supports (color: color-mix(in lab, red, red)) {
104
+ .button--solid.button--secondary {
105
+ --bg-active: color-mix(in oklab, var(--bg) 90%, var(--eclipse) 10%);
106
+ }
107
+ }
108
+ .button--solid.button--secondary {
109
+ --fg: var(--color);
110
+ }
111
+ .button--bordered,
112
+ .button--light {
113
+ --fg: var(--color);
114
+ --bg-hover: var(--fg);
115
+ }
116
+ @supports (color: color-mix(in lab, red, red)) {
117
+ .button--bordered,
118
+ .button--light {
119
+ --bg-hover: color-mix(in oklab, var(--fg) 5%, transparent);
120
+ }
121
+ }
122
+ .button--base {
123
+ box-sizing: border-box;
124
+ appearance: none;
125
+ border-style: var(--tw-border-style);
126
+ color: var(--fg);
127
+ font: inherit;
128
+ justify-content: center;
129
+ align-items: center;
130
+ gap: calc(var(--spacing, 0.25rem) * 2);
131
+ --tw-font-weight: var(--font-weight-medium, 500);
132
+ font-weight: var(--font-weight-medium, 500);
133
+ white-space: nowrap;
134
+ transition-property:
135
+ color,
136
+ background-color,
137
+ border-color,
138
+ outline-color,
139
+ text-decoration-color,
140
+ fill,
141
+ stroke,
142
+ --tw-gradient-from,
143
+ --tw-gradient-via,
144
+ --tw-gradient-to,
145
+ opacity,
146
+ box-shadow,
147
+ transform,
148
+ translate,
149
+ scale,
150
+ rotate,
151
+ filter,
152
+ -webkit-backdrop-filter,
153
+ backdrop-filter,
154
+ display,
155
+ content-visibility,
156
+ overlay,
157
+ pointer-events;
158
+ transition-timing-function: var(
159
+ --tw-ease,
160
+ var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1))
161
+ );
162
+ transition-duration: var(
163
+ --tw-duration,
164
+ var(--default-transition-duration, 0.15s)
165
+ );
166
+ -webkit-user-select: none;
167
+ user-select: none;
168
+ background-color: #0000;
169
+ border-width: 0;
170
+ margin: 0;
171
+ padding: 0;
172
+ display: inline-flex;
173
+ }
174
+ .button--base:focus-visible {
175
+ --tw-outline-style: none;
176
+ outline-style: none;
177
+ }
178
+ .button--base:enabled {
179
+ cursor: pointer;
180
+ }
181
+ .button--base:disabled {
182
+ pointer-events: none;
183
+ opacity: 0.5;
184
+ }
185
+ .button--base:hover {
186
+ background-color: var(--bg-hover);
187
+ }
188
+ .button--base:active {
189
+ --tw-scale-x: 95%;
190
+ --tw-scale-y: 95%;
191
+ --tw-scale-z: 95%;
192
+ scale: var(--tw-scale-x) var(--tw-scale-y);
193
+ background-color: var(--bg-active);
194
+ }
195
+ .button--base[data-pending="true"] {
196
+ pointer-events: none;
197
+ }
198
+ .button--solid {
199
+ background-color: var(--bg);
200
+ }
201
+ .button--solid:focus-visible:not([data-pending]) {
202
+ --tw-ring-color: var(--color);
203
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
204
+ calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
205
+ box-shadow:
206
+ var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
207
+ var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
208
+ --tw-ring-offset-width: 2px;
209
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0
210
+ var(--tw-ring-offset-width) var(--tw-ring-offset-color);
211
+ }
212
+ .button--bordered {
213
+ border-style: var(--tw-border-style);
214
+ border-width: 2px;
215
+ border-color: var(--fg);
216
+ }
217
+ .button--bordered:focus-visible:not([data-pending]) {
218
+ --tw-ring-color: currentcolor;
219
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
220
+ calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
221
+ box-shadow:
222
+ var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
223
+ var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
224
+ --tw-ring-offset-width: 2px;
225
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0
226
+ var(--tw-ring-offset-width) var(--tw-ring-offset-color);
227
+ }
228
+ .button--light {
229
+ text-underline-offset: 6px;
230
+ text-decoration-line: underline;
231
+ position: relative;
232
+ }
233
+ @media (hover: hover) {
234
+ .button--light:hover {
235
+ text-decoration-line: none;
236
+ }
237
+ }
238
+ .button--light:focus-visible:not([data-pending]):after {
239
+ top: calc(var(--spacing, 0.25rem) * 2);
240
+ right: calc(var(--spacing, 0.25rem) * 3);
241
+ left: calc(var(--spacing, 0.25rem) * 3);
242
+ height: calc(var(--spacing, 0.25rem) * 0.5);
243
+ content: "";
244
+ background-color: currentColor;
245
+ position: absolute;
246
+ }
247
+ }
248
+ @layer utilities;
249
+ @property --tw-border-style {
250
+ syntax: "*";
251
+ inherits: false;
252
+ initial-value: solid;
253
+ }
254
+ @property --tw-font-weight {
255
+ syntax: "*";
256
+ inherits: false;
257
+ }
258
+ @property --tw-scale-x {
259
+ syntax: "*";
260
+ inherits: false;
261
+ initial-value: 1;
262
+ }
263
+ @property --tw-scale-y {
264
+ syntax: "*";
265
+ inherits: false;
266
+ initial-value: 1;
267
+ }
268
+ @property --tw-scale-z {
269
+ syntax: "*";
270
+ inherits: false;
271
+ initial-value: 1;
272
+ }
273
+ @property --tw-shadow {
274
+ syntax: "*";
275
+ inherits: false;
276
+ initial-value: 0 0 #0000;
277
+ }
278
+ @property --tw-shadow-color {
279
+ syntax: "*";
280
+ inherits: false;
281
+ }
282
+ @property --tw-shadow-alpha {
283
+ syntax: "<percentage>";
284
+ inherits: false;
285
+ initial-value: 100%;
286
+ }
287
+ @property --tw-inset-shadow {
288
+ syntax: "*";
289
+ inherits: false;
290
+ initial-value: 0 0 #0000;
291
+ }
292
+ @property --tw-inset-shadow-color {
293
+ syntax: "*";
294
+ inherits: false;
295
+ }
296
+ @property --tw-inset-shadow-alpha {
297
+ syntax: "<percentage>";
298
+ inherits: false;
299
+ initial-value: 100%;
300
+ }
301
+ @property --tw-ring-color {
302
+ syntax: "*";
303
+ inherits: false;
304
+ }
305
+ @property --tw-ring-shadow {
306
+ syntax: "*";
307
+ inherits: false;
308
+ initial-value: 0 0 #0000;
309
+ }
310
+ @property --tw-inset-ring-color {
311
+ syntax: "*";
312
+ inherits: false;
313
+ }
314
+ @property --tw-inset-ring-shadow {
315
+ syntax: "*";
316
+ inherits: false;
317
+ initial-value: 0 0 #0000;
318
+ }
319
+ @property --tw-ring-inset {
320
+ syntax: "*";
321
+ inherits: false;
322
+ }
323
+ @property --tw-ring-offset-width {
324
+ syntax: "<length>";
325
+ inherits: false;
326
+ initial-value: 0;
327
+ }
328
+ @property --tw-ring-offset-color {
329
+ syntax: "*";
330
+ inherits: false;
331
+ initial-value: #fff;
332
+ }
333
+ @property --tw-ring-offset-shadow {
334
+ syntax: "*";
335
+ inherits: false;
336
+ initial-value: 0 0 #0000;
337
+ }
338
+ /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brosco/ui",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "scripts": {
16
16
  "dev": "vite",
17
- "build": "vite build && vite build --config vite.css.config.ts && tsc -p tsconfig.build.json",
17
+ "build": "vite build && tsc -p tsconfig.build.json",
18
18
  "lint": "eslint --fix",
19
19
  "preview": "vite preview",
20
20
  "format": "prettier --write \"**/*.{js,ts,jsx,tsx,md,mdx,mjs,css,json}\"",
@@ -1,2 +0,0 @@
1
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.button--base{--color:transparent;--bg:transparent;--bg-hover:var(--bg);--bg-active:var(--bg-hover);--fg:currentColor}.button--primary{--color:var(--primary)}.button--secondary{--color:var(--secondary)}.button--success{--color:var(--success)}.button--danger{--color:var(--danger)}.button--solid{--bg:var(--color);--bg-hover:var(--bg)}@supports (color:color-mix(in lab, red, red)){.button--solid{--bg-hover:color-mix(in oklab, var(--bg) 90%, var(--eclipse) 10%)}}.button--solid{--bg-active:var(--bg)}@supports (color:color-mix(in lab, red, red)){.button--solid{--bg-active:color-mix(in oklab, var(--bg) 80%, var(--eclipse) 20%)}}.button--solid{--fg:var(--color-white)}.button--solid.button--secondary{--bg:var(--color)}@supports (color:color-mix(in lab, red, red)){.button--solid.button--secondary{--bg:color-mix(in oklab, var(--color) 5%, transparent)}}.button--solid.button--secondary{--bg-hover:var(--bg)}@supports (color:color-mix(in lab, red, red)){.button--solid.button--secondary{--bg-hover:color-mix(in oklab, var(--bg) 95%, var(--eclipse) 5%)}}.button--solid.button--secondary{--bg-active:var(--bg)}@supports (color:color-mix(in lab, red, red)){.button--solid.button--secondary{--bg-active:color-mix(in oklab, var(--bg) 90%, var(--eclipse) 10%)}}.button--solid.button--secondary{--fg:var(--color)}.button--bordered,.button--light{--fg:var(--color);--bg-hover:var(--fg)}@supports (color:color-mix(in lab, red, red)){.button--bordered,.button--light{--bg-hover:color-mix(in oklab, var(--fg) 5%, transparent)}}.button--base:enabled{cursor:pointer}.button--base:disabled{pointer-events:none;opacity:.5}.button--base:hover{background-color:var(--bg-hover)}.button--base:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y);background-color:var(--bg-active)}.button--base[data-pending=true]{pointer-events:none}.button--base{box-sizing:border-box;appearance:none;border-style:var(--tw-border-style);color:var(--fg);font:inherit;justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 2);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));-webkit-user-select:none;user-select:none;background-color:#0000;border-width:0;margin:0;padding:0;display:inline-flex}.button--base:focus-visible{--tw-outline-style:none;outline-style:none}.button--solid{background-color:var(--bg)}.button--solid:focus-visible:not([data-pending]){--tw-ring-color:var(--color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.button--bordered{border-style:var(--tw-border-style);border-width:2px;border-color:var(--fg)}.button--bordered:focus-visible:not([data-pending]){--tw-ring-color:currentcolor;--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.button--light{text-underline-offset:6px;text-decoration-line:underline;position:relative}@media (hover:hover){.button--light:hover{text-decoration-line:none}}.button--light:focus-visible:not([data-pending]):after{top:calc(var(--spacing,.25rem) * 2);right:calc(var(--spacing,.25rem) * 3);left:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * .5);content:"";background-color:currentColor;position:absolute}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}