@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.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({ className, placeholder, label, ...props }: SliderProps & {
25
- placeholder?: string;
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
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Button, Item, Label, ProgressBar, Radio, RadioGroup, SearchField, Select, Slider, Switch, TextField };
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-[#1e2328] transition-colors duration-200",
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-[#f0e6d2]",
44
- values.isPressed && "text-[#5c5b57]",
45
- values.isDisabled && "text-[#5c5b57]",
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-[#5a401f] via-[#47341B] to-[#332717]",
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-[#1e2328] px-2 py-1 text-[#a09b8c] text-xs font-normal tracking-wide pr-6 bg-no-repeat"
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-[#1e2328] text-[#f0e6d2]",
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(props, values) {
156
- return typeof props.className === "function" ? props.className(values) : props.className;
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 = typeof props.className === "function" ? props.className(values) : props.className;
169
+ const finalClassName = resolveClassname(props.className, values);
170
170
  return twMerge3(
171
- "flex flex-col outline-none [webkit-search-cancel-button]:hidden",
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-[#000000] flex flex-row focus-within:from-[#071019] focus-within:to-[#20272c] focus-within:bg-gradient-to-b",
184
- props.isDisabled && "text-[#5c5b57] bg-[#1e2328]"
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(inputProps, values);
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-[#f0e6d2]",
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
- className,
245
- placeholder,
246
- label,
248
+ children,
249
+ sliderThumbProps = {},
250
+ sliderTrackProps = {},
251
+ sliderTrackBackgroundClassName,
252
+ sliderTrackForegroundClassName,
247
253
  ...props
248
254
  }) {
249
- return /* @__PURE__ */ jsx4(AriaSlider, { ...props, className: "", children: ({ state }) => /* @__PURE__ */ jsxs3(Fragment2, { children: [
250
- /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between font-spiegel text-xs text-[#a09b8c] font-normal tracking-wide", children: [
251
- /* @__PURE__ */ jsx4(Label, { className: "", children: label }),
252
- /* @__PURE__ */ jsx4(AriaSliderOutput, { className: "", children: state.values.map((_, i) => state.getThumbValueLabel(i)).join(" \u2013 ") })
253
- ] }),
254
- /* @__PURE__ */ jsx4(AriaSliderTrack, { className: "relative w-full h-7 group", children: ({ state: state2 }) => {
255
- const left = state2.values.length === 1 ? 0 : state2.getThumbPercent(0) * 100;
256
- const width = state2.values.length === 1 ? state2.getThumbPercent(0) * 100 : (state2.getThumbPercent(1) - state2.getThumbPercent(0)) * 100;
257
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
258
- /* @__PURE__ */ jsx4("div", { className: "absolute h-0.5 top-[50%] transform translate-y-[-50%] w-full rounded-full bg-[#1e2328]" }),
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
- "div",
266
+ AriaSliderTrack,
261
267
  {
262
- className: twMerge4(
263
- "absolute h-0.5 top-[50%] transform translate-y-[-50%] from-[#463714] to-[#695625] bg-gradient-to-r",
264
- state2.isDisabled ? "from-transparent via-transparent to-transparent bg-[#5C5B57]" : [
265
- "group-hover:from-[#785a28] group-hover:via-[#c89b3c] group-hover:to-[#c8aa6e]",
266
- "group-active:from-[#695625] group-active:via-[#463714] group-active:to-[#463714]"
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
- i
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-[#1e2328] transition-colors duration-200 ease-in-out",
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-[#1e2328]" })
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-[#f0e6d2]", children: [
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("div", { className: twMerge6("h-full w-full rounded-full bg-[#1e2328]"), children: /* @__PURE__ */ jsx6(
444
+ children: /* @__PURE__ */ jsx6(
390
445
  "div",
391
446
  {
392
- className: twMerge6(
393
- "h-full rounded-full bg-gradient-to-r from-[#005A82] via-[#067F9B] to-[#73CCD5]"
394
- ),
395
- style: { width: `${percentage}%` }
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 = typeof props.className === "function" ? props.className(values) : props.className;
559
+ const finalClassName = resolveClassname(props.className, values);
499
560
  return twMerge8(
500
- "flex flex-col outline-none [webkit-search-cancel-button]:hidden",
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 && "text-[#5c5b57] bg-lol-gray-950"
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 = typeof inputProps.className === "function" ? inputProps.className(values) : inputProps.className;
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
  };