@lolmath/ui 2.7.0 → 2.8.1

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.js CHANGED
@@ -6,10 +6,10 @@ import {
6
6
  import { twMerge } from "tailwind-merge";
7
7
 
8
8
  // src/utilities/border.tsx
9
- var borderClassName = "from-[#785b28] via-[#c89c3c] to-[#c8aa6e] bg-gradient-to-t";
10
- var borderHoverClassName = "from-[#c89c3c] via-[#dcc188] to-[#f0e6d8]";
11
- var borderPressedClassName = "from-lol-gold-600 via-lol-gold-600 to-lol-gold-700";
12
- var borderDisabledClassName = "from-[#5c5b57] via-[#5c5b57] to-[#5c5b57]";
9
+ var borderGradient = "from-[#785b28] via-[#c89c3c] to-[#c8aa6e] bg-gradient-to-t";
10
+ var borderGradientHover = "from-[#c89c3c] via-[#dcc188] to-[#f0e6d8]";
11
+ var borderGradientPressed = "from-lol-gold-600 via-lol-gold-600 to-lol-gold-700";
12
+ var borderGradientDisabled = "from-[#5c5b57] via-[#5c5b57] to-[#5c5b57]";
13
13
 
14
14
  // src/utilities/resolve-classname.ts
15
15
  function resolveClassname(className, values) {
@@ -18,7 +18,14 @@ function resolveClassname(className, values) {
18
18
 
19
19
  // src/components/button.tsx
20
20
  import { jsx } from "react/jsx-runtime";
21
- function _Button({ children, className, priority = "secondary", ...props }, ref) {
21
+ function _Button({
22
+ children,
23
+ className,
24
+ priority = "secondary",
25
+ isRounded = false,
26
+ isSquared = false,
27
+ ...props
28
+ }, ref) {
22
29
  return /* @__PURE__ */ jsx(
23
30
  AriaButton,
24
31
  {
@@ -26,13 +33,18 @@ function _Button({ children, className, priority = "secondary", ...props }, ref)
26
33
  ...props,
27
34
  className: (values) => {
28
35
  return twMerge(
29
- "font-[beaufort] font-black uppercase transition-colors duration-200 outline-none bg-gradient-to-t",
30
- borderClassName,
31
- values.isHovered && borderHoverClassName,
32
- values.isPressed && borderPressedClassName,
33
- values.isDisabled && borderDisabledClassName,
34
- values.isFocused && "",
35
- values.isFocusVisible && "outline outline-yellow-50 outline-offset-2",
36
+ "transition-colors duration-200 outline-none",
37
+ (priority === "primary" || priority === "secondary") && [
38
+ "bg-gradient-to-t",
39
+ borderGradient,
40
+ values.isHovered && borderGradientHover,
41
+ values.isPressed && borderGradientPressed,
42
+ values.isDisabled && borderGradientDisabled,
43
+ values.isFocused && "",
44
+ values.isFocusVisible && "outline outline-yellow-50 outline-offset-2"
45
+ ],
46
+ isRounded && "rounded-full aspect-square",
47
+ isSquared && "aspect-square",
36
48
  resolveClassname(className, values)
37
49
  );
38
50
  },
@@ -41,17 +53,26 @@ function _Button({ children, className, priority = "secondary", ...props }, ref)
41
53
  "span",
42
54
  {
43
55
  className: twMerge(
44
- "block m-0.5 px-4 py-2 bg-lol-gray-950 transition-colors duration-200",
45
- priority === "primary" && "bg-gradient-to-b",
46
- "text-[#cdbe91] tracking-wide",
47
- values.isHovered && "text-lol-gold-100",
48
- values.isPressed && "text-lol-gray-500",
56
+ "block transition-colors duration-200 text-lol-gold-300 tracking-wide font-beaufort font-black uppercase",
57
+ (priority === "primary" || priority === "secondary") && [
58
+ "m-0.5 px-4 py-2 bg-lol-gray-950"
59
+ ],
60
+ priority === "primary" && "from-lol-gold-700 via-lol-gold-800 to-lol-gold-900 bg-gradient-to-b",
61
+ priority === "tertiary" && !isRounded && 'relative after:content-[""] after:absolute after:-top-2 after:-bottom-2 after:-left-2 after:-right-2',
62
+ (isSquared || isRounded) && "aspect-square p-1.5",
63
+ isRounded && "rounded-full",
64
+ values.isHovered && [
65
+ "text-lol-gold-100",
66
+ priority === "primary" && "from-lol-gold-700 via-lol-gold-600 to-lol-gold-600",
67
+ priority === "tertiary" && (isRounded || isSquared) && "bg-lol-gray-900"
68
+ ],
69
+ values.isPressed && [
70
+ "text-lol-gray-500",
71
+ priority === "primary" && "text-lol-gold-600 from-lol-gold-900 via-lol-gold-900 to-lol-gold-900"
72
+ ],
49
73
  values.isDisabled && "text-lol-gray-500",
50
74
  values.isFocused && "",
51
- values.isFocusVisible && "",
52
- priority === "primary" && "from-lol-gold-700 via-lol-gold-800 to-lol-gold-900",
53
- priority === "primary" && values.isHovered && "from-[#604522] via-[#846745] to-[#725634]",
54
- priority === "primary" && values.isPressed && "from-[#261b0d] via-[#261b0d] to-[#261b0d] text-[#67604c]"
75
+ values.isFocusVisible && ""
55
76
  ),
56
77
  children: typeof children === "function" ? children(values) : children
57
78
  }
@@ -96,10 +117,10 @@ function Select({
96
117
  {
97
118
  className: (buttonValues) => twMerge2(
98
119
  "inline-block outline-none",
99
- borderClassName,
100
- buttonValues.isHovered && borderHoverClassName,
101
- (buttonValues.isPressed || values.isOpen) && borderPressedClassName,
102
- buttonValues.isDisabled && borderDisabledClassName,
120
+ borderGradient,
121
+ buttonValues.isHovered && borderGradientHover,
122
+ (buttonValues.isPressed || values.isOpen) && borderGradientPressed,
123
+ buttonValues.isDisabled && borderGradientDisabled,
103
124
  buttonValues.isFocused && "",
104
125
  buttonValues.isFocusVisible && outlineClassName
105
126
  ),
@@ -161,72 +182,63 @@ import {
161
182
  Button as AriaButton3
162
183
  } from "react-aria-components";
163
184
  import { twMerge as twMerge3 } from "tailwind-merge";
164
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
185
+ import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
165
186
  function SearchField({
166
187
  inputProps = {},
188
+ borderProps = {},
189
+ children,
167
190
  ...props
168
191
  }) {
169
- return /* @__PURE__ */ jsx3(
170
- AriaSearchField,
171
- {
172
- ...props,
173
- className: (values) => {
174
- return twMerge3(
175
- "flex flex-col outline-none",
176
- borderClassName,
192
+ return /* @__PURE__ */ jsx3(AriaSearchField, { ...props, children: (values) => /* @__PURE__ */ jsxs2(Fragment2, { children: [
193
+ typeof children === "function" ? children(values) : children,
194
+ /* @__PURE__ */ jsxs2(
195
+ "div",
196
+ {
197
+ ...borderProps,
198
+ className: twMerge3(
199
+ "outline-none p-px flex",
200
+ borderGradient,
177
201
  "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
178
- props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
179
- resolveClassname(props.className, values)
180
- );
181
- },
182
- children: ({ state, isDisabled }) => /* @__PURE__ */ jsxs2(
183
- "div",
184
- {
185
- className: twMerge3(
186
- "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",
187
- props.isDisabled && "bg-lol-gray-950"
188
- ),
189
- children: [
190
- /* @__PURE__ */ jsx3(
191
- AriaInput,
192
- {
193
- ...inputProps,
194
- className: (values) => {
195
- const finalClassName = resolveClassname(
196
- inputProps.className,
197
- values
198
- );
199
- return twMerge3(
200
- "bg-transparent grow py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel tracking-wide pl-6",
201
- props.isDisabled && "text-lol-gray-500",
202
- finalClassName
203
- );
204
- },
205
- type: "text",
206
- style: {
207
- backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAERElEQVR42uycz0tVQRTH54lamBakLUStQKhEW6V/gC2qhRgRqJURVJj9oBL7oWVBWFj0O/pd2EbJ3ARt2uW6tFUWZkhkiYQVSBZk6esc7rkgkXfm3rkzb957c+CL8Obcc+d+5vcPjESjUWZtdkuxCCwgC8gCsoAsIAvIArKArFlAASzVj/P46KuE+OgFuSvVAJKsqWWgclApaBkoDzSP0n+ARkCDoD5QD6gXNB1XNSiA5YP2graACjz85oAWgrBoN9JvH0GdoBugT4nWB2XThw2BmjhwZrMCenaIYmUnCqAq0ABoDyg9hHjpFAtjVsczIGyut0CPQDkK8ooxu+gdqfEGKAP0GFSvIc/19K6MeAGEpfkQVKGx5lfQO1PjAdB1UGUM+s9KerfRgLDT3OXDfxh0FrSWRqm5oCxQEWgdpb33EQ/fvUkloIifTft/ZtLZNLLkCILBIbsbNCVQaNUEa7FA7G+gFaAxFTNpmRp0WhDOE1AJ9RlTAv7T5FtMf3mGE8xW05oYluwOAb+roA2g7wHeMUEz8MsCvtsFa5s2QLtBaRwfnA81SK6nsP03UiwvS6M8GQEIn6kV6HN20gfKWpRiDXP8alWsDIIELKNFqJc1UxMJyzDWUYGFcZkJgFZz0j/QkiBs66bYXlZuAqBVnPQuRfs40wLgS00AtJyT3qNw3tYjmTctgHI56f0KAfVL5k0LoCxO+heFgMYk8xaz7Y6EtSCAeLPiHIX5XSSZNy2ARjnpxQoBlUjmTQugt5LzJBkrl8ybFkAvOenVivo2dxvEy/pMAMSbiyxlzslG2FZFsbXOwYIAesH4B3nnQJkh5jOTYnoZ5qnXBEA45e/g+ODezD1QJIQ8RigWb7+nQ8USJ2hfgSedkxyfGuZsdqVIwjlPsbxskvLETAGE1fm+gN8B5pxhZQVsVlgrGgV825mi83uZ0j0J+irgV0lrqBrB96WQ72vQZgH/cVCLSTNp1xDOPkFf7D9wAx6PdNpAa5hz/SWNlEe/Ydo78hXdY54P2qoKkMyxj2u3mb+zMVWGTfGSiKOuYx/X9jPnaCfWdhF0yMTVPI4geLr51ABIOOIdMXG74ydoPeiOAZBwQtlkGiC038y5moK1ScWm2S8fvm1hjWwqFpW4sV5EnfdkSE0YYy0BPfDxXCtNRYwDxKgG4UlnIVX5kQAxRujZQor1mTkHiO0+YpwixXSYFy0IPNTDvSI8NsJrwPkzFrQTNBMepO2UZ2z2a8C4/LhLsEQNL1qcCDLM67rrhx/6nCRrWKJ1FLNO8JkWKqTjpjQx1RalAeGmj2eOgc4kCyAXEi51RK/h4d2kN8kEyIWEM/lrAnC2MefmflIBciEdBF0JG06iAHIhNfxnsSoFJ5EAzVzRXwgLjs5hXqcdBv1hziZdp2ywRASE1hxWoIj95ybJ1QdZQBaQBWQBWUAWkDULyAKygPTYXwEGAArW2QJagQgvAAAAAElFTkSuQmCC')",
208
- backgroundRepeat: "no-repeat",
209
- backgroundPosition: "5px center",
210
- backgroundSize: "16px"
211
- }
212
- }
213
- ),
214
- state.value.length > 0 && !isDisabled && /* @__PURE__ */ jsx3(
215
- AriaButton3,
216
- {
217
- className: (buttonValues) => twMerge3(
218
- "font-black text-[#cdbe91] text-xs px-4",
219
- buttonValues.isHovered && "text-lol-gold-100",
220
- buttonValues.isPressed && "text-[#463714]"
221
- ),
222
- children: "\u2715"
202
+ values.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
203
+ resolveClassname(borderProps?.className, values),
204
+ values.isDisabled && "bg-lol-gray-950"
205
+ ),
206
+ children: [
207
+ /* @__PURE__ */ jsx3(
208
+ AriaInput,
209
+ {
210
+ ...inputProps,
211
+ className: (values2) => twMerge3(
212
+ "bg-black w-full min-h-full py-2 px-3 outline-none pl-6",
213
+ "text-lol-gold-50 text-xs font-spiegel tracking-wide",
214
+ "focus-within:from-lol-gray-950 focus-within:to-lol-gray-900 focus-within:bg-gradient-to-b",
215
+ values2.isDisabled && "text-lol-gray-500",
216
+ resolveClassname(inputProps.className, values2)
217
+ ),
218
+ type: "text",
219
+ style: {
220
+ backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAERElEQVR42uycz0tVQRTH54lamBakLUStQKhEW6V/gC2qhRgRqJURVJj9oBL7oWVBWFj0O/pd2EbJ3ARt2uW6tFUWZkhkiYQVSBZk6esc7rkgkXfm3rkzb957c+CL8Obcc+d+5vcPjESjUWZtdkuxCCwgC8gCsoAsIAvIArKArFlAASzVj/P46KuE+OgFuSvVAJKsqWWgclApaBkoDzSP0n+ARkCDoD5QD6gXNB1XNSiA5YP2graACjz85oAWgrBoN9JvH0GdoBugT4nWB2XThw2BmjhwZrMCenaIYmUnCqAq0ABoDyg9hHjpFAtjVsczIGyut0CPQDkK8ooxu+gdqfEGKAP0GFSvIc/19K6MeAGEpfkQVKGx5lfQO1PjAdB1UGUM+s9KerfRgLDT3OXDfxh0FrSWRqm5oCxQEWgdpb33EQ/fvUkloIifTft/ZtLZNLLkCILBIbsbNCVQaNUEa7FA7G+gFaAxFTNpmRp0WhDOE1AJ9RlTAv7T5FtMf3mGE8xW05oYluwOAb+roA2g7wHeMUEz8MsCvtsFa5s2QLtBaRwfnA81SK6nsP03UiwvS6M8GQEIn6kV6HN20gfKWpRiDXP8alWsDIIELKNFqJc1UxMJyzDWUYGFcZkJgFZz0j/QkiBs66bYXlZuAqBVnPQuRfs40wLgS00AtJyT3qNw3tYjmTctgHI56f0KAfVL5k0LoCxO+heFgMYk8xaz7Y6EtSCAeLPiHIX5XSSZNy2ARjnpxQoBlUjmTQugt5LzJBkrl8ybFkAvOenVivo2dxvEy/pMAMSbiyxlzslG2FZFsbXOwYIAesH4B3nnQJkh5jOTYnoZ5qnXBEA45e/g+ODezD1QJIQ8RigWb7+nQ8USJ2hfgSedkxyfGuZsdqVIwjlPsbxskvLETAGE1fm+gN8B5pxhZQVsVlgrGgV825mi83uZ0j0J+irgV0lrqBrB96WQ72vQZgH/cVCLSTNp1xDOPkFf7D9wAx6PdNpAa5hz/SWNlEe/Ydo78hXdY54P2qoKkMyxj2u3mb+zMVWGTfGSiKOuYx/X9jPnaCfWdhF0yMTVPI4geLr51ABIOOIdMXG74ydoPeiOAZBwQtlkGiC038y5moK1ScWm2S8fvm1hjWwqFpW4sV5EnfdkSE0YYy0BPfDxXCtNRYwDxKgG4UlnIVX5kQAxRujZQor1mTkHiO0+YpwixXSYFy0IPNTDvSI8NsJrwPkzFrQTNBMepO2UZ2z2a8C4/LhLsEQNL1qcCDLM67rrhx/6nCRrWKJ1FLNO8JkWKqTjpjQx1RalAeGmj2eOgc4kCyAXEi51RK/h4d2kN8kEyIWEM/lrAnC2MefmflIBciEdBF0JG06iAHIhNfxnsSoFJ5EAzVzRXwgLjs5hXqcdBv1hziZdp2ywRASE1hxWoIj95ybJ1QdZQBaQBWQBWUAWkDULyAKygPTYXwEGAArW2QJagQgvAAAAAElFTkSuQmCC')",
221
+ backgroundRepeat: "no-repeat",
222
+ backgroundPosition: "5px center",
223
+ backgroundSize: "16px"
223
224
  }
224
- )
225
- ]
226
- }
227
- )
228
- }
229
- );
225
+ }
226
+ ),
227
+ values.state.value.length > 0 && !values.isDisabled && /* @__PURE__ */ jsx3(
228
+ AriaButton3,
229
+ {
230
+ className: (buttonValues) => twMerge3(
231
+ "font-black text-[#cdbe91] text-xs px-4 bg-black",
232
+ buttonValues.isHovered && "text-lol-gold-100",
233
+ buttonValues.isPressed && "text-[#463714]"
234
+ ),
235
+ children: "\u2715"
236
+ }
237
+ )
238
+ ]
239
+ }
240
+ )
241
+ ] }) });
230
242
  }
231
243
 
232
244
  // src/components/slider/slider.tsx
@@ -234,8 +246,7 @@ import {
234
246
  Slider as AriaSlider,
235
247
  SliderThumb as AriaSliderThumb,
236
248
  SliderTrack as AriaSliderTrack,
237
- SliderOutput as AriaSliderOutput,
238
- Label
249
+ SliderOutput as AriaSliderOutput
239
250
  } from "react-aria-components";
240
251
  import { twMerge as twMerge4 } from "tailwind-merge";
241
252
 
@@ -246,7 +257,7 @@ var sliderActive = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoC
246
257
  var sliderDisabled = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAYAAAAdHLWhAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFyWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDEgNzkuYzAyMDRiMiwgMjAyMy8wMi8wOS0wNjoyNjoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI0LjQgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0wNS0yNVQyMDo1ODozMSswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMDUtMjVUMjE6MjI6MzMrMDI6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMDUtMjVUMjE6MjI6MzMrMDI6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjViYzljZjk1LTNhMjMtODM0Ni05MmY0LTQyMjBmNDNhODQxZiIgeG1wTU06RG9jdW1lbnRJRD0i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')";
247
258
 
248
259
  // src/components/slider/slider.tsx
249
- import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
260
+ import { Fragment as Fragment3, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
250
261
  function Slider({
251
262
  children,
252
263
  sliderThumbProps = {},
@@ -263,7 +274,7 @@ function Slider({
263
274
  const resolvedClassName = resolveClassname(props.className, values);
264
275
  return twMerge4("", resolvedClassName);
265
276
  },
266
- children: (values) => /* @__PURE__ */ jsxs3(Fragment2, { children: [
277
+ children: (values) => /* @__PURE__ */ jsxs3(Fragment3, { children: [
267
278
  typeof children === "function" ? children(values) : children,
268
279
  /* @__PURE__ */ jsx4(
269
280
  AriaSliderTrack,
@@ -279,7 +290,7 @@ function Slider({
279
290
  children: (values2) => {
280
291
  const left = values2.state.values.length === 1 ? 0 : values2.state.getThumbPercent(0) * 100;
281
292
  const width = values2.state.values.length === 1 ? values2.state.getThumbPercent(0) * 100 : (values2.state.getThumbPercent(1) - values2.state.getThumbPercent(0)) * 100;
282
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
293
+ return /* @__PURE__ */ jsxs3(Fragment3, { children: [
283
294
  /* @__PURE__ */ jsx4(
284
295
  "div",
285
296
  {
@@ -305,7 +316,7 @@ function Slider({
305
316
  ),
306
317
  values2.state.values.map((_, i) => {
307
318
  let zIndex = values2.state.getThumbPercent(i === 1 ? 0 : 1) === (i === 1 ? 0 : 1) ? 2 : void 0;
308
- return /* @__PURE__ */ jsx4(Fragment2, { children: /* @__PURE__ */ jsx4(
319
+ return /* @__PURE__ */ jsx4(Fragment3, { children: /* @__PURE__ */ jsx4(
309
320
  AriaSliderThumb,
310
321
  {
311
322
  index: i,
@@ -350,17 +361,24 @@ function Slider({
350
361
  }
351
362
  );
352
363
  }
353
- function SliderLabel({ children }) {
354
- return /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between font-spiegel text-xs text-lol-gray-300 font-normal tracking-wide", children: [
355
- /* @__PURE__ */ jsx4(Label, { className: "", children }),
356
- /* @__PURE__ */ jsx4(AriaSliderOutput, { className: "", children: (sliderRenderProps) => sliderRenderProps.state.values.map((_, i) => sliderRenderProps.state.getThumbValueLabel(i)).join(" \u2013 ") })
357
- ] });
364
+ function SliderOutput(props) {
365
+ return /* @__PURE__ */ jsx4(
366
+ AriaSliderOutput,
367
+ {
368
+ className: (values) => twMerge4(
369
+ "font-spiegel text-xs text-lol-gray-300 font-normal tracking-wide",
370
+ resolveClassname(props.className, values)
371
+ ),
372
+ children: (sliderRenderProps) => sliderRenderProps.state.values.map((_, i) => sliderRenderProps.state.getThumbValueLabel(i)).join(" \u2013 "),
373
+ ...props
374
+ }
375
+ );
358
376
  }
359
377
 
360
378
  // src/components/switch.tsx
361
379
  import { Switch as AriaSwitch } from "react-aria-components";
362
380
  import { twMerge as twMerge5 } from "tailwind-merge";
363
- import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
381
+ import { Fragment as Fragment4, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
364
382
  function Switch({
365
383
  className,
366
384
  placeholder,
@@ -372,16 +390,16 @@ function Switch({
372
390
  {
373
391
  ...props,
374
392
  className: "group inline-flex items-center gap-2 p-1 text-sm font-semibold text-black",
375
- children: (values) => /* @__PURE__ */ jsxs4(Fragment3, { children: [
393
+ children: (values) => /* @__PURE__ */ jsxs4(Fragment4, { children: [
376
394
  /* @__PURE__ */ jsx5(
377
395
  "div",
378
396
  {
379
397
  className: twMerge5(
380
398
  "h-6 w-14 shrink-0 cursor-default rounded-full p-0.5",
381
- borderClassName,
382
- values.isHovered && borderHoverClassName,
383
- values.isPressed && borderPressedClassName,
384
- values.isDisabled && borderDisabledClassName,
399
+ borderGradient,
400
+ values.isHovered && borderGradientHover,
401
+ values.isPressed && borderGradientPressed,
402
+ values.isDisabled && borderGradientDisabled,
385
403
  values.isFocused && "",
386
404
  values.isFocusVisible && "outline outline-1 outline-offset-2 outline-yellow-50"
387
405
  ),
@@ -402,10 +420,10 @@ function Switch({
402
420
  className: twMerge5(
403
421
  "absolute -left-2 -top-1.5 h-8 w-8 rounded-full p-0.5 shadow-md ring-0 transition-[left] duration-200 ease-in-out",
404
422
  values.isSelected && "left-[calc(100%-1.75rem)]",
405
- borderClassName,
406
- values.isHovered && borderHoverClassName,
407
- values.isPressed && borderPressedClassName,
408
- values.isDisabled && borderDisabledClassName
423
+ borderGradient,
424
+ values.isHovered && borderGradientHover,
425
+ values.isPressed && borderGradientPressed,
426
+ values.isDisabled && borderGradientDisabled
409
427
  ),
410
428
  children: /* @__PURE__ */ jsx5("span", { className: "block h-full w-full rounded-full bg-lol-gray-950" })
411
429
  }
@@ -423,25 +441,25 @@ function Switch({
423
441
  // src/components/progress-bar.tsx
424
442
  import {
425
443
  ProgressBar as AriaProgressBar,
426
- Label as Label2
444
+ Label
427
445
  } from "react-aria-components";
428
446
  import { twMerge as twMerge6 } from "tailwind-merge";
429
- import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
447
+ import { Fragment as Fragment5, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
430
448
  function ProgressBar({
431
449
  className,
432
450
  label,
433
451
  ...props
434
452
  }) {
435
- return /* @__PURE__ */ jsx6(AriaProgressBar, { className: "flex w-56 flex-col gap-1 text-sm", ...props, children: ({ percentage, valueText }) => /* @__PURE__ */ jsxs5(Fragment4, { children: [
436
- /* @__PURE__ */ jsxs5("div", { className: "flex font-[beaufort] font-bold uppercase text-lol-gold-100", children: [
437
- /* @__PURE__ */ jsx6(Label2, { className: "flex-1 ", children: label ?? "Loading" }),
453
+ return /* @__PURE__ */ jsx6(AriaProgressBar, { className: "flex w-56 flex-col gap-1 text-sm", ...props, children: ({ percentage, valueText }) => /* @__PURE__ */ jsxs5(Fragment5, { children: [
454
+ /* @__PURE__ */ jsxs5("div", { className: "flex font-beaufort font-bold uppercase text-lol-gold-100", children: [
455
+ /* @__PURE__ */ jsx6(Label, { className: "flex-1 ", children: label ?? "Loading" }),
438
456
  /* @__PURE__ */ jsx6("span", { children: valueText })
439
457
  ] }),
440
458
  /* @__PURE__ */ jsx6(
441
459
  "div",
442
460
  {
443
461
  className: twMerge6(
444
- borderClassName,
462
+ borderGradient,
445
463
  "-ml-0.5 -mr-1 h-3 rounded-full p-px"
446
464
  ),
447
465
  children: /* @__PURE__ */ jsx6(
@@ -503,7 +521,7 @@ function Accordion({ children, className }) {
503
521
  "div",
504
522
  {
505
523
  className: twMerge7(
506
- "bg-lol-blue-950 border-lol-gold-500 rounded border overflow-hidden",
524
+ "bg-lol-blue-950 border-lol-gold-500 border",
507
525
  className
508
526
  ),
509
527
  style: {
@@ -580,47 +598,46 @@ import {
580
598
  Input as AriaInput2
581
599
  } from "react-aria-components";
582
600
  import { twMerge as twMerge8 } from "tailwind-merge";
583
- import { jsx as jsx8 } from "react/jsx-runtime";
601
+ import { Fragment as Fragment6, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
584
602
  function TextField({
585
603
  inputProps = {},
604
+ borderProps = {},
605
+ children,
586
606
  ...props
587
607
  }) {
588
- return /* @__PURE__ */ jsx8(
589
- AriaTextField,
590
- {
591
- ...props,
592
- className: (values) => twMerge8(
593
- "flex flex-col outline-none",
594
- borderClassName,
595
- "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
596
- props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
597
- resolveClassname(props.className, values)
598
- ),
599
- children: /* @__PURE__ */ jsx8(
600
- "div",
601
- {
602
- className: twMerge8(
603
- "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",
604
- props.isDisabled && "bg-lol-gray-950"
605
- ),
606
- children: /* @__PURE__ */ jsx8(
607
- AriaInput2,
608
- {
609
- ...inputProps,
610
- className: (values) => {
611
- return twMerge8(
612
- "bg-transparent grow py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel tracking-wide",
613
- values.isDisabled && "text-lol-gray-500",
614
- resolveClassname(inputProps.className, values)
615
- );
616
- },
617
- type: "text"
608
+ return /* @__PURE__ */ jsx8(AriaTextField, { ...props, children: (values) => /* @__PURE__ */ jsxs7(Fragment6, { children: [
609
+ typeof children === "function" ? children(values) : children,
610
+ /* @__PURE__ */ jsx8(
611
+ "div",
612
+ {
613
+ ...borderProps,
614
+ className: twMerge8(
615
+ "outline-none p-px",
616
+ borderGradient,
617
+ "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
618
+ values.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
619
+ resolveClassname(borderProps?.className, values),
620
+ values.isDisabled && "bg-lol-gray-950"
621
+ ),
622
+ children: /* @__PURE__ */ jsx8(
623
+ AriaInput2,
624
+ {
625
+ type: "text",
626
+ ...inputProps,
627
+ className: (values2) => {
628
+ return twMerge8(
629
+ "bg-black w-full min-h-full py-2 px-3 outline-none",
630
+ "text-lol-gold-50 text-xs font-spiegel tracking-wide",
631
+ "focus-within:from-lol-gray-950 focus-within:to-lol-gray-900 focus-within:bg-gradient-to-b",
632
+ values2.isDisabled && "text-lol-gray-500",
633
+ resolveClassname(inputProps.className, values2)
634
+ );
618
635
  }
619
- )
620
- }
621
- )
622
- }
623
- );
636
+ }
637
+ )
638
+ }
639
+ )
640
+ ] }) });
624
641
  }
625
642
 
626
643
  // src/components/radio-group.tsx
@@ -675,7 +692,7 @@ import {
675
692
  } from "react-aria-components";
676
693
  import { twMerge as twMerge10 } from "tailwind-merge";
677
694
  import { jsx as jsx10 } from "react/jsx-runtime";
678
- function Label3({ ...props }) {
695
+ function Label2({ ...props }) {
679
696
  return /* @__PURE__ */ jsx10(
680
697
  AriaLabel,
681
698
  {
@@ -696,50 +713,63 @@ import {
696
713
  Button as Button2
697
714
  } from "react-aria-components";
698
715
  import { twMerge as twMerge11 } from "tailwind-merge";
699
- import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
716
+ import { Fragment as Fragment7, jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
700
717
  function NumberField({
701
718
  inputProps = {},
702
719
  groupProps = {},
720
+ children,
703
721
  ...props
704
722
  }) {
705
- return /* @__PURE__ */ jsx11(AriaNumberField, { ...props, children: /* @__PURE__ */ jsxs7(
706
- Group,
707
- {
708
- ...groupProps,
709
- className: (values) => {
710
- const finalClassName = resolveClassname(groupProps.className, values);
711
- return twMerge11(
712
- "grid grid-cols-[auto_1fr_auto] outline-none gap-px p-px",
713
- borderClassName,
714
- "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
715
- props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
716
- finalClassName
717
- );
718
- },
719
- children: [
720
- /* @__PURE__ */ jsx11(Button2, { className: "text-lol-gray-50 px-2.5 bg-black", slot: "decrement", children: "-" }),
721
- /* @__PURE__ */ jsx11(
722
- AriaInput3,
723
- {
724
- ...inputProps,
725
- className: (values) => {
726
- const finalClassName = resolveClassname(
727
- inputProps.className,
728
- values
729
- );
730
- return twMerge11(
731
- "bg-black w-full py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel",
732
- values.isDisabled && "text-lol-gray-500 bg-lol-gray-950",
733
- values.isFocused && "from-lol-gray-950 to-lol-gray-900 bg-gradient-to-b",
734
- finalClassName
735
- );
723
+ return /* @__PURE__ */ jsx11(AriaNumberField, { ...props, children: (values) => /* @__PURE__ */ jsxs8(Fragment7, { children: [
724
+ typeof children === "function" ? children(values) : children,
725
+ /* @__PURE__ */ jsxs8(
726
+ Group,
727
+ {
728
+ ...groupProps,
729
+ className: (values2) => {
730
+ return twMerge11(
731
+ "grid grid-cols-[auto_1fr_auto] outline-none gap-px p-px",
732
+ borderGradient,
733
+ "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
734
+ props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
735
+ resolveClassname(groupProps.className, values2)
736
+ );
737
+ },
738
+ children: [
739
+ /* @__PURE__ */ jsx11(
740
+ Button2,
741
+ {
742
+ className: "text-lol-gray-50 px-2.5 bg-black",
743
+ slot: "decrement",
744
+ children: "-"
736
745
  }
737
- }
738
- ),
739
- /* @__PURE__ */ jsx11(Button2, { className: "text-lol-gray-50 px-2.5 bg-black", slot: "increment", children: "+" })
740
- ]
741
- }
742
- ) });
746
+ ),
747
+ /* @__PURE__ */ jsx11(
748
+ AriaInput3,
749
+ {
750
+ ...inputProps,
751
+ className: (values2) => {
752
+ return twMerge11(
753
+ "bg-black w-full py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel",
754
+ values2.isDisabled && "text-lol-gray-500 bg-lol-gray-950",
755
+ values2.isFocused && "from-lol-gray-950 to-lol-gray-900 bg-gradient-to-b",
756
+ resolveClassname(inputProps.className, values2)
757
+ );
758
+ }
759
+ }
760
+ ),
761
+ /* @__PURE__ */ jsx11(
762
+ Button2,
763
+ {
764
+ className: "text-lol-gray-50 px-2.5 bg-black",
765
+ slot: "increment",
766
+ children: "+"
767
+ }
768
+ )
769
+ ]
770
+ }
771
+ )
772
+ ] }) });
743
773
  }
744
774
 
745
775
  // src/components/spinner/spinner.tsx
@@ -772,7 +802,7 @@ import {
772
802
  ModalOverlay
773
803
  } from "react-aria-components";
774
804
  import { twMerge as twMerge13 } from "tailwind-merge";
775
- import { Fragment as Fragment5, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
805
+ import { Fragment as Fragment8, jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
776
806
  function Modal({
777
807
  modalOverlayClassName,
778
808
  dialogProps = {},
@@ -804,14 +834,14 @@ function Modal({
804
834
  "outline-none relative max-h-screen py-4",
805
835
  dialogProps.className
806
836
  ),
807
- children: (dialogRenderProps) => /* @__PURE__ */ jsxs8(Fragment5, { children: [
837
+ children: (dialogRenderProps) => /* @__PURE__ */ jsxs9(Fragment8, { children: [
808
838
  /* @__PURE__ */ jsx13("div", { className: "relative h-1", children: /* @__PURE__ */ jsx13("div", { className: "border-lol-gold-700 border bg-black absolute border-b-0 rounded-full h-full left-5 right-5" }) }),
809
839
  /* @__PURE__ */ jsx13(
810
840
  "div",
811
841
  {
812
842
  className: twMerge13(
813
843
  "text-left align-middle shadow-xl p-0.5 bg-gradient-to-t",
814
- borderPressedClassName
844
+ borderGradientPressed
815
845
  ),
816
846
  children: /* @__PURE__ */ jsx13("div", { className: "bg-black", children: typeof children === "function" ? children(dialogRenderProps) : children })
817
847
  }
@@ -853,7 +883,7 @@ import {
853
883
  } from "react-aria-components";
854
884
  import { twMerge as twMerge14 } from "tailwind-merge";
855
885
  import { createContext as createContext2, useContext as useContext2 } from "react";
856
- import { Fragment as Fragment6, jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
886
+ import { Fragment as Fragment9, jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
857
887
  function Tabs({ onSelectionChange, ...rest }) {
858
888
  const id = useCssId();
859
889
  return /* @__PURE__ */ jsx14(TabsContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx14(
@@ -894,7 +924,7 @@ function Tab({ children, className, ...rest }) {
894
924
  "focus:outline-none focus-visible:outline-1 focus-visible:outline-offset-4 focus-visible:outline-lol-gold-100",
895
925
  resolveClassname(className, values)
896
926
  ),
897
- children: (values) => /* @__PURE__ */ jsxs9(Fragment6, { children: [
927
+ children: (values) => /* @__PURE__ */ jsxs10(Fragment9, { children: [
898
928
  typeof children === "function" ? children(values) : children,
899
929
  values.isSelected && /* @__PURE__ */ jsx14(
900
930
  "div",
@@ -926,7 +956,7 @@ function useTabsContext() {
926
956
  // src/components/checkbox.tsx
927
957
  import { Checkbox as AriaCheckbox } from "react-aria-components";
928
958
  import { twMerge as twMerge15 } from "tailwind-merge";
929
- import { Fragment as Fragment7, jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
959
+ import { Fragment as Fragment10, jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
930
960
  function Checkbox({ children, className, ...props }) {
931
961
  return /* @__PURE__ */ jsx15(
932
962
  AriaCheckbox,
@@ -948,7 +978,7 @@ function Checkbox({ children, className, ...props }) {
948
978
  );
949
979
  },
950
980
  ...props,
951
- children: (values) => /* @__PURE__ */ jsxs10(Fragment7, { children: [
981
+ children: (values) => /* @__PURE__ */ jsxs11(Fragment10, { children: [
952
982
  /* @__PURE__ */ jsx15(
953
983
  "div",
954
984
  {
@@ -976,53 +1006,52 @@ import {
976
1006
  TextArea as AriaTextArea
977
1007
  } from "react-aria-components";
978
1008
  import { twMerge as twMerge16 } from "tailwind-merge";
979
- import { jsx as jsx16 } from "react/jsx-runtime";
1009
+ import { Fragment as Fragment11, jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
980
1010
  function TextArea({
981
1011
  textAreaProps = {},
1012
+ borderProps = {},
1013
+ children,
982
1014
  ...props
983
1015
  }) {
984
- return /* @__PURE__ */ jsx16(
985
- AriaTextField2,
986
- {
987
- ...props,
988
- className: (values) => twMerge16(
989
- "flex flex-col outline-none",
990
- borderClassName,
991
- "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
992
- props.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
993
- resolveClassname(props.className, values)
994
- ),
995
- children: /* @__PURE__ */ jsx16(
996
- "div",
997
- {
998
- className: twMerge16(
999
- "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",
1000
- props.isDisabled && "bg-lol-gray-950"
1001
- ),
1002
- children: /* @__PURE__ */ jsx16(
1003
- AriaTextArea,
1004
- {
1005
- ...textAreaProps,
1006
- className: (values) => {
1007
- return twMerge16(
1008
- "bg-transparent grow py-2 px-3 text-lol-gold-50 text-xs outline-none font-spiegel tracking-wide",
1009
- values.isDisabled && "text-lol-gray-500",
1010
- resolveClassname(textAreaProps.className, values)
1011
- );
1012
- }
1016
+ return /* @__PURE__ */ jsx16(AriaTextField2, { ...props, children: (values) => /* @__PURE__ */ jsxs12(Fragment11, { children: [
1017
+ typeof children === "function" ? children(values) : children,
1018
+ /* @__PURE__ */ jsx16(
1019
+ "div",
1020
+ {
1021
+ ...borderProps,
1022
+ className: twMerge16(
1023
+ "outline-none p-px flex",
1024
+ borderGradient,
1025
+ "focus-within:from-lol-gold-300 focus-within:via-lol-gold-200 focus-within:to-lol-gold-50",
1026
+ values.isDisabled && "from-lol-gray-700 via-lol-gray-700 to-lol-gray-700",
1027
+ resolveClassname(borderProps?.className, values),
1028
+ values.isDisabled && "bg-lol-gray-950"
1029
+ ),
1030
+ children: /* @__PURE__ */ jsx16(
1031
+ AriaTextArea,
1032
+ {
1033
+ ...textAreaProps,
1034
+ className: (values2) => {
1035
+ return twMerge16(
1036
+ "bg-black w-full min-h-full py-2 px-3 outline-none",
1037
+ "text-lol-gold-50 text-xs font-spiegel tracking-wide",
1038
+ "focus-within:from-lol-gray-950 focus-within:to-lol-gray-900 focus-within:bg-gradient-to-b",
1039
+ values2.isDisabled && "text-lol-gray-500",
1040
+ resolveClassname(textAreaProps.className, values2)
1041
+ );
1013
1042
  }
1014
- )
1015
- }
1016
- )
1017
- }
1018
- );
1043
+ }
1044
+ )
1045
+ }
1046
+ )
1047
+ ] }) });
1019
1048
  }
1020
1049
 
1021
1050
  // src/components/tooltip.tsx
1022
1051
  import { Tooltip as AriaTooltip, OverlayArrow } from "react-aria-components";
1023
1052
  import { twMerge as twMerge17 } from "tailwind-merge";
1024
1053
  import { TooltipTrigger } from "react-aria-components";
1025
- import { Fragment as Fragment8, jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1054
+ import { Fragment as Fragment12, jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
1026
1055
  function Tooltip({ children, ...props }) {
1027
1056
  return /* @__PURE__ */ jsx17(
1028
1057
  AriaTooltip,
@@ -1030,7 +1059,7 @@ function Tooltip({ children, ...props }) {
1030
1059
  ...props,
1031
1060
  className: (values) => twMerge17(
1032
1061
  `p-0.5 drop-shadow-lg bg-black`,
1033
- borderClassName,
1062
+ borderGradient,
1034
1063
  "w-[280px]",
1035
1064
  values.isEntering && "animate-in fade-in data-[placement=bottom]:slide-in-from-top-1 data-[placement=top]:slide-in-from-bottom-1 ease-out duration-200 fill-mode-forwards",
1036
1065
  values.isExiting && "animate-out fade-out data-[placement=bottom]:slide-out-to-top-1 data-[placement=top]:slide-out-to-bottom-1 ease-in duration-150 fill-mode-forwards",
@@ -1038,8 +1067,8 @@ function Tooltip({ children, ...props }) {
1038
1067
  values.placement === "top" && "mb-2",
1039
1068
  resolveClassname(props.className, values)
1040
1069
  ),
1041
- children: (values) => /* @__PURE__ */ jsxs11(Fragment8, { children: [
1042
- /* @__PURE__ */ jsx17(OverlayArrow, { className: "transform translate-y-1", children: (values2) => /* @__PURE__ */ jsxs11(Fragment8, { children: [
1070
+ children: (values) => /* @__PURE__ */ jsxs13(Fragment12, { children: [
1071
+ /* @__PURE__ */ jsx17(OverlayArrow, { className: "transform translate-y-1", children: (values2) => /* @__PURE__ */ jsxs13(Fragment12, { children: [
1043
1072
  /* @__PURE__ */ jsx17(
1044
1073
  "svg",
1045
1074
  {
@@ -1074,18 +1103,53 @@ function Tooltip({ children, ...props }) {
1074
1103
  }
1075
1104
  );
1076
1105
  }
1106
+
1107
+ // src/components/card.tsx
1108
+ import { twMerge as twMerge18 } from "tailwind-merge";
1109
+ import { jsx as jsx18 } from "react/jsx-runtime";
1110
+ function Card({ children, className, style, borderProps }) {
1111
+ const r = `1rem`;
1112
+ return /* @__PURE__ */ jsx18(
1113
+ "div",
1114
+ {
1115
+ ...borderProps ?? {},
1116
+ className: twMerge18("p-[3px]", borderGradient, borderProps?.className),
1117
+ style: {
1118
+ WebkitMask: borderInverted(r),
1119
+ mask: borderInverted(r),
1120
+ ...borderProps?.style ?? {}
1121
+ },
1122
+ children: /* @__PURE__ */ jsx18(
1123
+ "div",
1124
+ {
1125
+ className: twMerge18("bg-black w-full", className),
1126
+ style: {
1127
+ WebkitMask: borderInverted(r),
1128
+ mask: borderInverted(r),
1129
+ ...style ?? {}
1130
+ },
1131
+ children
1132
+ }
1133
+ )
1134
+ }
1135
+ );
1136
+ }
1137
+ function borderInverted(r) {
1138
+ return `radial-gradient(${r} at ${r} ${r},#0000 98%,#000) -${r} -${r}`;
1139
+ }
1077
1140
  export {
1078
1141
  Accordion,
1079
1142
  AccordionContent,
1080
1143
  AccordionItem,
1081
1144
  AccordionTrigger,
1082
1145
  Button,
1146
+ Card,
1083
1147
  Checkbox,
1084
1148
  DialogButtons,
1085
1149
  DialogTrigger,
1086
1150
  Heading,
1087
1151
  Item,
1088
- Label3 as Label,
1152
+ Label2 as Label,
1089
1153
  Modal,
1090
1154
  NumberField,
1091
1155
  ProgressBar,
@@ -1094,7 +1158,7 @@ export {
1094
1158
  SearchField,
1095
1159
  Select,
1096
1160
  Slider,
1097
- SliderLabel,
1161
+ SliderOutput,
1098
1162
  Spinner,
1099
1163
  Switch,
1100
1164
  Tab,
@@ -1104,6 +1168,7 @@ export {
1104
1168
  TextArea,
1105
1169
  TextField,
1106
1170
  Tooltip,
1107
- TooltipTrigger
1171
+ TooltipTrigger,
1172
+ borderInverted
1108
1173
  };
1109
1174
  //# sourceMappingURL=index.js.map