@lolmath/ui 1.2.0 → 2.0.0
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/dist/index.cjs +202 -84
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -4
- package/dist/index.d.ts +16 -4
- package/dist/index.js +205 -84
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, ComponentProps } from 'react';
|
|
3
|
-
import { ButtonProps as ButtonProps$1, ItemProps, SelectProps as SelectProps$1, SearchFieldProps, Input, SliderProps, SwitchProps, ProgressBarProps as ProgressBarProps$1, TextFieldProps, RadioGroupProps, RadioProps, LabelProps } from 'react-aria-components';
|
|
3
|
+
import { ButtonProps as ButtonProps$1, ItemProps, SelectProps as SelectProps$1, SearchFieldProps, Input, SliderProps, SliderTrackProps, SliderThumbProps, SliderTrackRenderProps, SwitchProps, ProgressBarProps as ProgressBarProps$1, TextFieldProps, RadioGroupProps, RadioProps, LabelProps, NumberFieldProps, Group } from 'react-aria-components';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
interface ButtonProps extends ButtonProps$1 {
|
|
@@ -21,9 +21,16 @@ declare function SearchField({ inputProps, ...props }: SearchFieldProps & {
|
|
|
21
21
|
inputProps?: ComponentProps<typeof Input>;
|
|
22
22
|
}): react_jsx_runtime.JSX.Element;
|
|
23
23
|
|
|
24
|
-
declare function Slider({
|
|
25
|
-
|
|
24
|
+
declare function Slider({ children, sliderThumbProps, sliderTrackProps, sliderTrackBackgroundClassName, sliderTrackForegroundClassName, ...props }: SliderProps & {
|
|
25
|
+
sliderTrackProps?: SliderTrackProps;
|
|
26
|
+
sliderThumbProps?: SliderThumbProps;
|
|
27
|
+
sliderTrackBackgroundClassName?: string | ((values: SliderTrackRenderProps) => string);
|
|
28
|
+
sliderTrackForegroundClassName?: string | ((values: SliderTrackRenderProps) => string);
|
|
26
29
|
}): react_jsx_runtime.JSX.Element;
|
|
30
|
+
interface SliderLabelProps {
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
declare function SliderLabel({ children }: SliderLabelProps): react_jsx_runtime.JSX.Element;
|
|
27
34
|
|
|
28
35
|
declare function Switch({ className, placeholder, children, ...props }: SwitchProps & {
|
|
29
36
|
placeholder?: string;
|
|
@@ -63,4 +70,9 @@ declare function Radio({ ...props }: RadioProps): react_jsx_runtime.JSX.Element;
|
|
|
63
70
|
|
|
64
71
|
declare function Label({ ...props }: LabelProps): react_jsx_runtime.JSX.Element;
|
|
65
72
|
|
|
66
|
-
|
|
73
|
+
declare function NumberField({ inputProps, groupProps, ...props }: NumberFieldProps & {
|
|
74
|
+
inputProps?: ComponentProps<typeof Input>;
|
|
75
|
+
groupProps: ComponentProps<typeof Group>;
|
|
76
|
+
}): react_jsx_runtime.JSX.Element;
|
|
77
|
+
|
|
78
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Button, Item, Label, NumberField, ProgressBar, Radio, RadioGroup, SearchField, Select, Slider, SliderLabel, Switch, TextField };
|
package/dist/index.js
CHANGED
|
@@ -37,15 +37,15 @@ function _Button({ children, className, priority = "secondary", ...props }, ref)
|
|
|
37
37
|
"span",
|
|
38
38
|
{
|
|
39
39
|
className: twMerge(
|
|
40
|
-
"block m-0.5 px-4 py-2 bg-
|
|
40
|
+
"block m-0.5 px-4 py-2 bg-lol-gray-950 transition-colors duration-200",
|
|
41
41
|
priority === "primary" && "bg-gradient-to-b",
|
|
42
42
|
"text-[#cdbe91] tracking-wide",
|
|
43
|
-
values.isHovered && "text-
|
|
44
|
-
values.isPressed && "text-
|
|
45
|
-
values.isDisabled && "text-
|
|
43
|
+
values.isHovered && "text-lol-gold-100",
|
|
44
|
+
values.isPressed && "text-lol-gray-500",
|
|
45
|
+
values.isDisabled && "text-lol-gray-500",
|
|
46
46
|
values.isFocused && "",
|
|
47
47
|
values.isFocusVisible && "",
|
|
48
|
-
priority === "primary" && "from-
|
|
48
|
+
priority === "primary" && "from-lol-gold-700 via-lol-gold-800 to-lol-gold-900",
|
|
49
49
|
priority === "primary" && values.isHovered && "from-[#604522] via-[#846745] to-[#725634]",
|
|
50
50
|
priority === "primary" && values.isPressed && "from-[#261b0d] via-[#261b0d] to-[#261b0d] text-[#67604c]"
|
|
51
51
|
),
|
|
@@ -98,7 +98,7 @@ function Select({
|
|
|
98
98
|
"span",
|
|
99
99
|
{
|
|
100
100
|
className: twMerge2(
|
|
101
|
-
"block m-px bg-
|
|
101
|
+
"block m-px bg-lol-gray-950 px-2 py-1 text-[#a09b8c] text-xs font-normal tracking-wide pr-6 bg-no-repeat"
|
|
102
102
|
),
|
|
103
103
|
style: {
|
|
104
104
|
backgroundPosition: "right 0.5rem center",
|
|
@@ -132,7 +132,7 @@ function Item({ className, ...props }) {
|
|
|
132
132
|
const finalClassName = typeof className === "function" ? className(values) : className;
|
|
133
133
|
return twMerge2(
|
|
134
134
|
"px-2 py-0.5 border-b border-[#1f2123] text-[#cdbe91] text-sm font-spiegel font-bold outline-none",
|
|
135
|
-
values.isHovered && "bg-
|
|
135
|
+
values.isHovered && "bg-lol-gray-950 text-lol-gold-100",
|
|
136
136
|
values.isPressed && "bg-[#1e232880] text-[#463714]",
|
|
137
137
|
values.isFocusVisible && outlineClassName,
|
|
138
138
|
values.isFocused && "",
|
|
@@ -152,8 +152,8 @@ import {
|
|
|
152
152
|
import { twMerge as twMerge3 } from "tailwind-merge";
|
|
153
153
|
|
|
154
154
|
// src/utilities/resolve-classname.ts
|
|
155
|
-
function resolveClassname(
|
|
156
|
-
return typeof
|
|
155
|
+
function resolveClassname(className, values) {
|
|
156
|
+
return typeof className === "function" ? className(values) : className;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
// src/components/search-field.tsx
|
|
@@ -166,9 +166,9 @@ function SearchField({
|
|
|
166
166
|
AriaSearchField,
|
|
167
167
|
{
|
|
168
168
|
className: (values) => {
|
|
169
|
-
const finalClassName =
|
|
169
|
+
const finalClassName = resolveClassname(props.className, values);
|
|
170
170
|
return twMerge3(
|
|
171
|
-
"flex flex-col outline-none
|
|
171
|
+
"flex flex-col outline-none",
|
|
172
172
|
borderClassName,
|
|
173
173
|
"focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
|
|
174
174
|
props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
|
|
@@ -176,12 +176,12 @@ function SearchField({
|
|
|
176
176
|
);
|
|
177
177
|
},
|
|
178
178
|
...props,
|
|
179
|
-
children: ({ state }) => /* @__PURE__ */ jsxs2(
|
|
179
|
+
children: ({ state, isDisabled }) => /* @__PURE__ */ jsxs2(
|
|
180
180
|
"div",
|
|
181
181
|
{
|
|
182
182
|
className: twMerge3(
|
|
183
|
-
"m-px bg-
|
|
184
|
-
props.isDisabled && "
|
|
183
|
+
"m-px bg-black flex flex-row focus-within:from-lol-gray-950 focus-within:to-lol-gray-900 focus-within:bg-gradient-to-b",
|
|
184
|
+
props.isDisabled && "bg-lol-gray-950"
|
|
185
185
|
),
|
|
186
186
|
children: [
|
|
187
187
|
/* @__PURE__ */ jsx3(
|
|
@@ -189,9 +189,13 @@ function SearchField({
|
|
|
189
189
|
{
|
|
190
190
|
...inputProps,
|
|
191
191
|
className: (values) => {
|
|
192
|
-
const finalClassName = resolveClassname(
|
|
192
|
+
const finalClassName = resolveClassname(
|
|
193
|
+
inputProps.className,
|
|
194
|
+
values
|
|
195
|
+
);
|
|
193
196
|
return twMerge3(
|
|
194
|
-
"bg-transparent grow py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel tracking-wide",
|
|
197
|
+
"bg-transparent grow py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel tracking-wide pl-6",
|
|
198
|
+
props.isDisabled && "text-lol-gray-500",
|
|
195
199
|
finalClassName
|
|
196
200
|
);
|
|
197
201
|
},
|
|
@@ -204,12 +208,12 @@ function SearchField({
|
|
|
204
208
|
}
|
|
205
209
|
}
|
|
206
210
|
),
|
|
207
|
-
state.value.length > 0 && /* @__PURE__ */ jsx3(
|
|
211
|
+
state.value.length > 0 && !isDisabled && /* @__PURE__ */ jsx3(
|
|
208
212
|
AriaButton3,
|
|
209
213
|
{
|
|
210
214
|
className: (buttonValues) => twMerge3(
|
|
211
215
|
"font-black text-[#cdbe91] text-xs px-4",
|
|
212
|
-
buttonValues.isHovered && "text-
|
|
216
|
+
buttonValues.isHovered && "text-lol-gold-100",
|
|
213
217
|
buttonValues.isPressed && "text-[#463714]"
|
|
214
218
|
),
|
|
215
219
|
children: "\u2715"
|
|
@@ -241,62 +245,113 @@ var sliderDisabled = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAB
|
|
|
241
245
|
// src/components/slider.tsx
|
|
242
246
|
import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
243
247
|
function Slider({
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
248
|
+
children,
|
|
249
|
+
sliderThumbProps = {},
|
|
250
|
+
sliderTrackProps = {},
|
|
251
|
+
sliderTrackBackgroundClassName,
|
|
252
|
+
sliderTrackForegroundClassName,
|
|
247
253
|
...props
|
|
248
254
|
}) {
|
|
249
|
-
return /* @__PURE__ */ jsx4(
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
255
|
+
return /* @__PURE__ */ jsx4(
|
|
256
|
+
AriaSlider,
|
|
257
|
+
{
|
|
258
|
+
...props,
|
|
259
|
+
className: (values) => {
|
|
260
|
+
const resolvedClassName = resolveClassname(props.className, values);
|
|
261
|
+
return twMerge4("", resolvedClassName);
|
|
262
|
+
},
|
|
263
|
+
children: (values) => /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
264
|
+
typeof children === "function" ? children(values) : children,
|
|
259
265
|
/* @__PURE__ */ jsx4(
|
|
260
|
-
|
|
266
|
+
AriaSliderTrack,
|
|
261
267
|
{
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
style: { left: `${left}%`, width: `${width}%` }
|
|
270
|
-
}
|
|
271
|
-
),
|
|
272
|
-
state2.values.map((_, i) => {
|
|
273
|
-
let zIndex = state2.getThumbPercent(i === 1 ? 0 : 1) === (i === 1 ? 0 : 1) ? 2 : void 0;
|
|
274
|
-
return /* @__PURE__ */ jsx4(Fragment2, { children: /* @__PURE__ */ jsx4(
|
|
275
|
-
AriaSliderThumb,
|
|
276
|
-
{
|
|
277
|
-
index: i,
|
|
278
|
-
className: twMerge4(
|
|
279
|
-
"bg-contain h-7 w-7 top-[50%] outline-none",
|
|
280
|
-
"[background-image:var(--normal)]",
|
|
281
|
-
state2.isDisabled ? "[background-image:var(--disabled)]" : [
|
|
282
|
-
state2.isThumbDragging(i) && "[background-image:var(--active)]",
|
|
283
|
-
!state2.isThumbDragging(0) && !state2.isThumbDragging(1) && "group-hover:[background-image:var(--hover)]"
|
|
284
|
-
]
|
|
285
|
-
),
|
|
286
|
-
style: {
|
|
287
|
-
"--normal": sliderNormal,
|
|
288
|
-
"--hover": sliderHover,
|
|
289
|
-
"--active": sliderActive,
|
|
290
|
-
"--disabled": sliderDisabled,
|
|
291
|
-
zIndex
|
|
292
|
-
}
|
|
268
|
+
...sliderTrackProps,
|
|
269
|
+
className: (sliderTrackRenderProps) => {
|
|
270
|
+
const resolvedClassName = resolveClassname(
|
|
271
|
+
sliderTrackProps.className,
|
|
272
|
+
sliderTrackRenderProps
|
|
273
|
+
);
|
|
274
|
+
return twMerge4("relative w-full h-7 group", resolvedClassName);
|
|
293
275
|
},
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
276
|
+
children: (values2) => {
|
|
277
|
+
const left = values2.state.values.length === 1 ? 0 : values2.state.getThumbPercent(0) * 100;
|
|
278
|
+
const width = values2.state.values.length === 1 ? values2.state.getThumbPercent(0) * 100 : (values2.state.getThumbPercent(1) - values2.state.getThumbPercent(0)) * 100;
|
|
279
|
+
return /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
280
|
+
/* @__PURE__ */ jsx4(
|
|
281
|
+
"div",
|
|
282
|
+
{
|
|
283
|
+
className: twMerge4(
|
|
284
|
+
"absolute h-0.5 top-[50%] transform translate-y-[-50%] w-full rounded-full bg-lol-gray-950",
|
|
285
|
+
resolveClassname(sliderTrackBackgroundClassName, values2)
|
|
286
|
+
)
|
|
287
|
+
}
|
|
288
|
+
),
|
|
289
|
+
/* @__PURE__ */ jsx4(
|
|
290
|
+
"div",
|
|
291
|
+
{
|
|
292
|
+
className: twMerge4(
|
|
293
|
+
"absolute h-0.5 top-[50%] transform translate-y-[-50%] from-[#463714] to-[#695625] bg-gradient-to-r",
|
|
294
|
+
values2.state.isDisabled ? "from-transparent via-transparent to-transparent bg-[#5C5B57]" : [
|
|
295
|
+
"group-hover:from-[#785a28] group-hover:via-[#c89b3c] group-hover:to-[#c8aa6e]",
|
|
296
|
+
"group-active:from-[#695625] group-active:via-[#463714] group-active:to-[#463714]"
|
|
297
|
+
],
|
|
298
|
+
resolveClassname(sliderTrackForegroundClassName, values2)
|
|
299
|
+
),
|
|
300
|
+
style: { left: `${left}%`, width: `${width}%` }
|
|
301
|
+
}
|
|
302
|
+
),
|
|
303
|
+
values2.state.values.map((_, i) => {
|
|
304
|
+
let zIndex = values2.state.getThumbPercent(i === 1 ? 0 : 1) === (i === 1 ? 0 : 1) ? 2 : void 0;
|
|
305
|
+
return /* @__PURE__ */ jsx4(Fragment2, { children: /* @__PURE__ */ jsx4(
|
|
306
|
+
AriaSliderThumb,
|
|
307
|
+
{
|
|
308
|
+
index: i,
|
|
309
|
+
...sliderThumbProps,
|
|
310
|
+
className: (sliderThumbRenderProps) => {
|
|
311
|
+
const resolvedClassName = resolveClassname(
|
|
312
|
+
sliderThumbProps.className,
|
|
313
|
+
sliderThumbRenderProps
|
|
314
|
+
);
|
|
315
|
+
return twMerge4(
|
|
316
|
+
"bg-contain h-7 w-7 top-[50%] outline-none",
|
|
317
|
+
"[background-image:var(--normal)]",
|
|
318
|
+
sliderThumbRenderProps.isDisabled ? "[background-image:var(--disabled)]" : [
|
|
319
|
+
sliderThumbRenderProps.state.isThumbDragging(
|
|
320
|
+
i
|
|
321
|
+
) && "[background-image:var(--active)]",
|
|
322
|
+
!sliderThumbRenderProps.state.isThumbDragging(
|
|
323
|
+
0
|
|
324
|
+
) && !sliderThumbRenderProps.state.isThumbDragging(
|
|
325
|
+
1
|
|
326
|
+
) && "group-hover:[background-image:var(--hover)]"
|
|
327
|
+
],
|
|
328
|
+
resolvedClassName
|
|
329
|
+
);
|
|
330
|
+
},
|
|
331
|
+
style: {
|
|
332
|
+
"--normal": sliderNormal,
|
|
333
|
+
"--hover": sliderHover,
|
|
334
|
+
"--active": sliderActive,
|
|
335
|
+
"--disabled": sliderDisabled,
|
|
336
|
+
zIndex
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
i
|
|
340
|
+
) });
|
|
341
|
+
})
|
|
342
|
+
] });
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
)
|
|
346
|
+
] })
|
|
347
|
+
}
|
|
348
|
+
);
|
|
349
|
+
}
|
|
350
|
+
function SliderLabel({ children }) {
|
|
351
|
+
return /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between font-spiegel text-xs text-lol-gray-300 font-normal tracking-wide", children: [
|
|
352
|
+
/* @__PURE__ */ jsx4(Label, { className: "", children }),
|
|
353
|
+
/* @__PURE__ */ jsx4(AriaSliderOutput, { className: "", children: (sliderRenderProps) => sliderRenderProps.state.values.map((_, i) => sliderRenderProps.state.getThumbValueLabel(i)).join(" \u2013 ") })
|
|
354
|
+
] });
|
|
300
355
|
}
|
|
301
356
|
|
|
302
357
|
// src/components/switch.tsx
|
|
@@ -331,7 +386,7 @@ function Switch({
|
|
|
331
386
|
"div",
|
|
332
387
|
{
|
|
333
388
|
className: twMerge5(
|
|
334
|
-
"relative grid h-full w-full rounded-full bg-
|
|
389
|
+
"relative grid h-full w-full rounded-full bg-lol-gray-950 transition-colors duration-200 ease-in-out",
|
|
335
390
|
values.isPressed && "",
|
|
336
391
|
values.isSelected && "bg-green-800",
|
|
337
392
|
values.isSelected && values.isPressed && "bg-green-900",
|
|
@@ -349,7 +404,7 @@ function Switch({
|
|
|
349
404
|
values.isPressed && borderPressedClassName,
|
|
350
405
|
values.isDisabled && borderDisabledClassName
|
|
351
406
|
),
|
|
352
|
-
children: /* @__PURE__ */ jsx5("span", { className: "block h-full w-full rounded-full bg-
|
|
407
|
+
children: /* @__PURE__ */ jsx5("span", { className: "block h-full w-full rounded-full bg-lol-gray-950" })
|
|
353
408
|
}
|
|
354
409
|
)
|
|
355
410
|
}
|
|
@@ -375,7 +430,7 @@ function ProgressBar({
|
|
|
375
430
|
...props
|
|
376
431
|
}) {
|
|
377
432
|
return /* @__PURE__ */ jsx6(AriaProgressBar, { className: "flex w-56 flex-col gap-1 text-sm", ...props, children: ({ percentage, valueText }) => /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
378
|
-
/* @__PURE__ */ jsxs5("div", { className: "flex font-[beaufort] font-bold uppercase text-
|
|
433
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex font-[beaufort] font-bold uppercase text-lol-gold-100", children: [
|
|
379
434
|
/* @__PURE__ */ jsx6(Label2, { className: "flex-1 ", children: label ?? "Loading" }),
|
|
380
435
|
/* @__PURE__ */ jsx6("span", { children: valueText })
|
|
381
436
|
] }),
|
|
@@ -386,15 +441,21 @@ function ProgressBar({
|
|
|
386
441
|
borderClassName,
|
|
387
442
|
"-ml-0.5 -mr-1 h-3 rounded-full p-px"
|
|
388
443
|
),
|
|
389
|
-
children: /* @__PURE__ */ jsx6(
|
|
444
|
+
children: /* @__PURE__ */ jsx6(
|
|
390
445
|
"div",
|
|
391
446
|
{
|
|
392
|
-
className: twMerge6(
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
447
|
+
className: twMerge6("h-full w-full rounded-full bg-lol-gray-950"),
|
|
448
|
+
children: /* @__PURE__ */ jsx6(
|
|
449
|
+
"div",
|
|
450
|
+
{
|
|
451
|
+
className: twMerge6(
|
|
452
|
+
"h-full rounded-full bg-gradient-to-r from-[#005A82] via-[#067F9B] to-[#73CCD5]"
|
|
453
|
+
),
|
|
454
|
+
style: { width: `${percentage}%` }
|
|
455
|
+
}
|
|
456
|
+
)
|
|
396
457
|
}
|
|
397
|
-
)
|
|
458
|
+
)
|
|
398
459
|
}
|
|
399
460
|
)
|
|
400
461
|
] }) });
|
|
@@ -495,9 +556,9 @@ function TextField({
|
|
|
495
556
|
AriaTextField,
|
|
496
557
|
{
|
|
497
558
|
className: (values) => {
|
|
498
|
-
const finalClassName =
|
|
559
|
+
const finalClassName = resolveClassname(props.className, values);
|
|
499
560
|
return twMerge8(
|
|
500
|
-
"flex flex-col outline-none
|
|
561
|
+
"flex flex-col outline-none",
|
|
501
562
|
borderClassName,
|
|
502
563
|
"focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
|
|
503
564
|
props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
|
|
@@ -510,16 +571,20 @@ function TextField({
|
|
|
510
571
|
{
|
|
511
572
|
className: twMerge8(
|
|
512
573
|
"m-px bg-black flex flex-row focus-within:from-lol-gray-950 focus-within:to-lol-gray-900 focus-within:bg-gradient-to-b",
|
|
513
|
-
props.isDisabled && "
|
|
574
|
+
props.isDisabled && "bg-lol-gray-950"
|
|
514
575
|
),
|
|
515
576
|
children: /* @__PURE__ */ jsx8(
|
|
516
577
|
AriaInput2,
|
|
517
578
|
{
|
|
518
579
|
...inputProps,
|
|
519
580
|
className: (values) => {
|
|
520
|
-
const finalClassName =
|
|
581
|
+
const finalClassName = resolveClassname(
|
|
582
|
+
inputProps.className,
|
|
583
|
+
values
|
|
584
|
+
);
|
|
521
585
|
return twMerge8(
|
|
522
586
|
"bg-transparent grow py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel tracking-wide",
|
|
587
|
+
values.isDisabled && "text-lol-gray-500",
|
|
523
588
|
finalClassName
|
|
524
589
|
);
|
|
525
590
|
},
|
|
@@ -545,7 +610,7 @@ function RadioGroup({ ...props }) {
|
|
|
545
610
|
{
|
|
546
611
|
...props,
|
|
547
612
|
className: (values) => {
|
|
548
|
-
const finalClassName = resolveClassname(props, values);
|
|
613
|
+
const finalClassName = resolveClassname(props.className, values);
|
|
549
614
|
return twMerge9("flex flex-col items-start", finalClassName);
|
|
550
615
|
}
|
|
551
616
|
}
|
|
@@ -557,7 +622,7 @@ function Radio({ ...props }) {
|
|
|
557
622
|
{
|
|
558
623
|
...props,
|
|
559
624
|
className: (values) => {
|
|
560
|
-
const finalClassName = resolveClassname(props, values);
|
|
625
|
+
const finalClassName = resolveClassname(props.className, values);
|
|
561
626
|
return twMerge9(
|
|
562
627
|
"text-lol-gold-300 font-spiegel text-xs font-normal py-2 bg-no-repeat bg-[length:18px] bg-left pl-6 pr-4",
|
|
563
628
|
values.isDisabled ? "text-lol-gray-500" : values.isHovered || values.isSelected ? "text-lol-gold-50" : "",
|
|
@@ -596,6 +661,60 @@ function Label3({ ...props }) {
|
|
|
596
661
|
}
|
|
597
662
|
);
|
|
598
663
|
}
|
|
664
|
+
|
|
665
|
+
// src/components/number-field.tsx
|
|
666
|
+
import {
|
|
667
|
+
NumberField as AriaNumberField,
|
|
668
|
+
Input as AriaInput3,
|
|
669
|
+
Group,
|
|
670
|
+
Button as Button2
|
|
671
|
+
} from "react-aria-components";
|
|
672
|
+
import { twMerge as twMerge11 } from "tailwind-merge";
|
|
673
|
+
import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
674
|
+
function NumberField({
|
|
675
|
+
inputProps = {},
|
|
676
|
+
groupProps = {},
|
|
677
|
+
...props
|
|
678
|
+
}) {
|
|
679
|
+
return /* @__PURE__ */ jsx11(AriaNumberField, { ...props, children: /* @__PURE__ */ jsxs7(
|
|
680
|
+
Group,
|
|
681
|
+
{
|
|
682
|
+
...groupProps,
|
|
683
|
+
className: (values) => {
|
|
684
|
+
const finalClassName = resolveClassname(groupProps.className, values);
|
|
685
|
+
return twMerge11(
|
|
686
|
+
"grid grid-cols-[auto_1fr_auto] outline-none gap-px p-px",
|
|
687
|
+
borderClassName,
|
|
688
|
+
"focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
|
|
689
|
+
props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
|
|
690
|
+
finalClassName
|
|
691
|
+
);
|
|
692
|
+
},
|
|
693
|
+
children: [
|
|
694
|
+
/* @__PURE__ */ jsx11(Button2, { className: "text-lol-gray-50 px-2.5 bg-black", slot: "decrement", children: "-" }),
|
|
695
|
+
/* @__PURE__ */ jsx11(
|
|
696
|
+
AriaInput3,
|
|
697
|
+
{
|
|
698
|
+
...inputProps,
|
|
699
|
+
className: (values) => {
|
|
700
|
+
const finalClassName = resolveClassname(
|
|
701
|
+
inputProps.className,
|
|
702
|
+
values
|
|
703
|
+
);
|
|
704
|
+
return twMerge11(
|
|
705
|
+
"bg-black w-full py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel",
|
|
706
|
+
values.isDisabled && "text-lol-gray-500 bg-lol-gray-950",
|
|
707
|
+
values.isFocused && "from-lol-gray-950 to-lol-gray-900 bg-gradient-to-b",
|
|
708
|
+
finalClassName
|
|
709
|
+
);
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
),
|
|
713
|
+
/* @__PURE__ */ jsx11(Button2, { className: "text-lol-gray-50 px-2.5 bg-black", slot: "increment", children: "+" })
|
|
714
|
+
]
|
|
715
|
+
}
|
|
716
|
+
) });
|
|
717
|
+
}
|
|
599
718
|
export {
|
|
600
719
|
Accordion,
|
|
601
720
|
AccordionContent,
|
|
@@ -604,12 +723,14 @@ export {
|
|
|
604
723
|
Button,
|
|
605
724
|
Item,
|
|
606
725
|
Label3 as Label,
|
|
726
|
+
NumberField,
|
|
607
727
|
ProgressBar,
|
|
608
728
|
Radio,
|
|
609
729
|
RadioGroup,
|
|
610
730
|
SearchField,
|
|
611
731
|
Select,
|
|
612
732
|
Slider,
|
|
733
|
+
SliderLabel,
|
|
613
734
|
Switch,
|
|
614
735
|
TextField
|
|
615
736
|
};
|