@luminescent/ui 0.6.0 → 0.7.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.
@@ -58,28 +58,6 @@ const ButtonAnchor = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inli
58
58
  children: /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "7H_2")
59
59
  }, null, 0, "7H_3");
60
60
  }, "ButtonAnchor_component_vQT9xS0lqew"));
61
- const LoadingIcon = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
62
- const props1 = qwik._restProps(props, [
63
- "width",
64
- "speed"
65
- ]);
66
- return /* @__PURE__ */ qwik._jsxS("div", {
67
- ...props1,
68
- class: {
69
- "animate-spin rounded-full border-transparent border-l-current border-t-current": true,
70
- ...props1.class
71
- }
72
- }, {
73
- style: qwik._fnSignal((p0) => ({
74
- borderWidth: p0.width / 8,
75
- width: p0.width,
76
- height: p0.width,
77
- animation: `spin ${p0.speed ?? "0.6s"} ease-in-out infinite`
78
- }), [
79
- props
80
- ], '{borderWidth:p0.width/8,width:p0.width,height:p0.width,animation:`spin ${p0.speed??"0.6s"} ease-in-out infinite`}')
81
- }, 0, "1A_0");
82
- }, "LoadingIcon_component_QMsA9D0RcAM"));
83
61
  const cardColorClasses = {
84
62
  pink: {
85
63
  card: {
@@ -187,28 +165,28 @@ const cardColorClasses = {
187
165
  },
188
166
  darkgray: {
189
167
  card: {
190
- bg_blobs: "bg-gray-800/10 border-gray-800/20",
168
+ bg_blobs: "bg-gray-800/10 border-gray-800/40",
191
169
  bg: "bg-gray-800/60 border-gray-800",
192
- hover: "hover:bg-gray-800/20",
193
- click: "active:bg-gray-700/20"
170
+ hover: "hover:bg-gray-800/40",
171
+ click: "active:bg-gray-700/40"
194
172
  },
195
173
  blobs: [
196
- "bg-gray-400",
197
174
  "bg-gray-500",
198
- "bg-gray-600"
175
+ "bg-gray-600",
176
+ "bg-gray-700"
199
177
  ]
200
178
  },
201
179
  darkergray: {
202
180
  card: {
203
- bg_blobs: "bg-gray-900/10 border-gray-900/20",
181
+ bg_blobs: "bg-gray-900/10 border-gray-900/50",
204
182
  bg: "bg-gray-900/60 border-gray-900",
205
- hover: "hover:bg-gray-900/20",
206
- click: "active:bg-gray-800/20"
183
+ hover: "hover:bg-gray-900/50",
184
+ click: "active:bg-gray-800/50"
207
185
  },
208
186
  blobs: [
209
- "bg-gray-400",
210
- "bg-gray-500",
211
- "bg-gray-600"
187
+ "bg-gray-600",
188
+ "bg-gray-700",
189
+ "bg-gray-800"
212
190
  ]
213
191
  }
214
192
  };
@@ -225,36 +203,30 @@ const Card = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((
225
203
  const props1 = qwik._restProps(props, [
226
204
  "color",
227
205
  "hover",
228
- "href",
229
206
  "row",
230
207
  "blobs"
231
208
  ]);
232
209
  const blob = Math.round(Math.random() * 6);
233
- return /* @__PURE__ */ qwik._jsxS("div", {
210
+ let Component = /* @__PURE__ */ qwik._jsxS("div", {
234
211
  ...props1,
235
- children: /* @__PURE__ */ qwik._jsxQ("div", null, {
236
- class: {
237
- "p-8": true
238
- }
212
+ children: /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "OW_0"),
213
+ class: {
214
+ "flex gap-4 p-8 border rounded-lg transition-all": true,
215
+ [cardColorClasses[props.color ?? "darkgray"].card.bg]: !props.blobs,
216
+ [cardColorClasses[props.color ?? "darkgray"].card.bg_blobs]: props.blobs,
217
+ [cardColorClasses[props.color ?? "darkgray"].card.hover + " hover:shadow-lg"]: props.hover,
218
+ [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer select-none"]: props.hover == "clickable",
219
+ "flex-col": !props.row,
220
+ "flex-row items-center": props.row,
221
+ ...props1.class
222
+ }
223
+ }, null, 0, "OW_1");
224
+ if (props.blobs)
225
+ Component = /* @__PURE__ */ qwik._jsxQ("div", null, {
226
+ class: "relative"
239
227
  }, [
240
- props.href && /* @__PURE__ */ qwik._jsxQ("a", null, {
241
- class: "absolute inset-0 z-20",
242
- href: qwik._fnSignal((p0) => p0.href, [
243
- props
244
- ], "p0.href")
245
- }, null, 3, "OW_0"),
228
+ Component,
246
229
  /* @__PURE__ */ qwik._jsxQ("div", null, {
247
- class: "relative"
248
- }, /* @__PURE__ */ qwik._jsxQ("div", null, {
249
- class: qwik._fnSignal((p0) => ({
250
- "flex gap-4": true,
251
- "flex-col": !p0.row,
252
- "flex-row items-center": p0.row
253
- }), [
254
- props
255
- ], '{"flex gap-4":true,"flex-col":!p0.row,"flex-row items-center":p0.row}')
256
- }, /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "OW_1"), 1, null), 1, null),
257
- props.blobs && /* @__PURE__ */ qwik._jsxQ("div", null, {
258
230
  class: "absolute -z-10 inset-0 w-full h-full transition-all overflow-clip animate-in fade-in anim-duration-[2s]",
259
231
  style: {
260
232
  containerType: "size"
@@ -283,64 +255,14 @@ const Card = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((
283
255
  [cardColorClasses[props.color ?? "darkgray"].blobs[2]]: true
284
256
  }
285
257
  }, null, null, 3, null)
286
- ], 1, "OW_2")
287
- ], 1, null),
288
- class: {
289
- "flex-1 relative border rounded-lg group transition-all": true,
290
- [cardColorClasses[props.color ?? "darkgray"].card.bg]: !props.blobs,
291
- [cardColorClasses[props.color ?? "darkgray"].card.bg_blobs]: props.blobs,
292
- [cardColorClasses[props.color ?? "darkgray"].card.hover + " hover:shadow-lg"]: props.hover,
293
- [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer"]: props.hover == "clickable",
294
- ...props1.class
295
- }
296
- }, null, 0, "OW_3");
258
+ ], 1, null)
259
+ ], 1, "OW_2");
260
+ if (props1.href)
261
+ Component = /* @__PURE__ */ qwik._jsxQ("a", {
262
+ href: qwik._wrapSignal(props1, "href")
263
+ }, null, Component, 1, "OW_3");
264
+ return Component;
297
265
  }, "Card_component_DlkkcTEVka4"));
298
- const CardHeader = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
299
- qwik._jsxBranch();
300
- return /* @__PURE__ */ qwik._jsxQ("h1", null, {
301
- class: "flex font-bold text-gray-100 text-2xl"
302
- }, [
303
- props.id && /* @__PURE__ */ qwik._jsxC(Anchor, {
304
- get id() {
305
- return props.id;
306
- },
307
- [qwik._IMMUTABLE]: {
308
- id: qwik._fnSignal((p0) => p0.id, [
309
- props
310
- ], "p0.id")
311
- }
312
- }, 3, "OW_4"),
313
- /* @__PURE__ */ qwik._jsxQ("div", null, {
314
- class: "flex flex-1"
315
- }, /* @__PURE__ */ qwik._jsxQ("div", null, {
316
- class: "flex flex-col"
317
- }, [
318
- /* @__PURE__ */ qwik._jsxQ("div", null, {
319
- class: "flex items-center gap-3"
320
- }, /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "OW_5"), 1, null),
321
- /* @__PURE__ */ qwik._jsxC(qwik.Slot, {
322
- name: "subheader",
323
- [qwik._IMMUTABLE]: {
324
- name: qwik._IMMUTABLE
325
- }
326
- }, 3, "OW_6")
327
- ], 1, null), 1, null),
328
- (props.loading ?? false) && /* @__PURE__ */ qwik._jsxQ("div", null, {
329
- class: qwik._fnSignal((p0) => ({
330
- "transition-all": true,
331
- "opacity-0": !(p0.loading ?? false),
332
- "opacity-100": p0.loading ?? false
333
- }), [
334
- props
335
- ], '{"transition-all":true,"opacity-0":!(p0.loading??false),"opacity-100":p0.loading??false}')
336
- }, /* @__PURE__ */ qwik._jsxC(LoadingIcon, {
337
- width: 24,
338
- [qwik._IMMUTABLE]: {
339
- width: qwik._IMMUTABLE
340
- }
341
- }, 3, "OW_7"), 1, "OW_8")
342
- ], 1, "OW_9");
343
- }, "CardHeader_component_2xQZ6Uv7R4A"));
344
266
  const InputClasses = "transition ease-in-out text-lg border border-gray-700 bg-gray-800 text-gray-50 hover:bg-gray-700 hover:shadow-lg focus:bg-gray-700 focus:outline-none focus:border-gray-400 rounded-md px-3 py-2";
345
267
  const TextInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
346
268
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
@@ -1050,6 +972,80 @@ const ColorInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inline
1050
972
  }, null, 3, null)
1051
973
  ], 1, "0s_2");
1052
974
  }, "ColorInput_component_jilGo0Bn3Ps"));
975
+ const LoadingIcon = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
976
+ const props1 = qwik._restProps(props, [
977
+ "width",
978
+ "speed"
979
+ ]);
980
+ return /* @__PURE__ */ qwik._jsxS("div", {
981
+ ...props1,
982
+ class: {
983
+ "animate-spin rounded-full border-transparent border-l-current border-t-current": true,
984
+ ...props1.class
985
+ }
986
+ }, {
987
+ style: qwik._fnSignal((p0) => ({
988
+ borderWidth: p0.width / 8,
989
+ width: p0.width,
990
+ height: p0.width,
991
+ animation: `spin ${p0.speed ?? "0.6s"} ease-in-out infinite`
992
+ }), [
993
+ props
994
+ ], '{borderWidth:p0.width/8,width:p0.width,height:p0.width,animation:`spin ${p0.speed??"0.6s"} ease-in-out infinite`}')
995
+ }, 0, "1A_0");
996
+ }, "LoadingIcon_component_QMsA9D0RcAM"));
997
+ const Header = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
998
+ qwik._jsxBranch();
999
+ let Component = /* @__PURE__ */ qwik._jsxC(jsxRuntime.Fragment, {
1000
+ children: /* @__PURE__ */ qwik._jsxQ("h2", null, {
1001
+ class: "flex items-center font-bold text-2xl"
1002
+ }, [
1003
+ props.id && /* @__PURE__ */ qwik._jsxC(Anchor, {
1004
+ get id() {
1005
+ return props.id;
1006
+ },
1007
+ [qwik._IMMUTABLE]: {
1008
+ id: qwik._fnSignal((p0) => p0.id, [
1009
+ props
1010
+ ], "p0.id")
1011
+ }
1012
+ }, 3, "dL_0"),
1013
+ /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "dL_1")
1014
+ ], 1, null)
1015
+ }, 1, "dL_2");
1016
+ if (props.subheader)
1017
+ Component = /* @__PURE__ */ qwik._jsxQ("div", null, {
1018
+ class: "flex flex-1 flex-col gap-1"
1019
+ }, [
1020
+ Component,
1021
+ /* @__PURE__ */ qwik._jsxQ("h3", null, {
1022
+ class: "flex items-center text-gray-400"
1023
+ }, qwik._fnSignal((p0) => p0.subheader, [
1024
+ props
1025
+ ], "p0.subheader"), 3, null)
1026
+ ], 1, "dL_3");
1027
+ if (props.loading !== void 0)
1028
+ Component = /* @__PURE__ */ qwik._jsxQ("div", null, {
1029
+ class: "flex"
1030
+ }, [
1031
+ Component,
1032
+ /* @__PURE__ */ qwik._jsxQ("div", null, {
1033
+ class: qwik._fnSignal((p0) => ({
1034
+ "transition-all duration-200": true,
1035
+ "opacity-0": !p0.loading,
1036
+ "opacity-100": p0.loading
1037
+ }), [
1038
+ props
1039
+ ], '{"transition-all duration-200":true,"opacity-0":!p0.loading,"opacity-100":p0.loading}')
1040
+ }, /* @__PURE__ */ qwik._jsxC(LoadingIcon, {
1041
+ width: 24,
1042
+ [qwik._IMMUTABLE]: {
1043
+ width: qwik._IMMUTABLE
1044
+ }
1045
+ }, 3, "dL_4"), 1, null)
1046
+ ], 1, "dL_5");
1047
+ return Component;
1048
+ }, "Header_component_FfGOhhBNG5k"));
1053
1049
  const Plus = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
1054
1050
  return /* @__PURE__ */ qwik._jsxS("svg", {
1055
1051
  ...props,
@@ -1271,7 +1267,8 @@ const SelectInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlin
1271
1267
  const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
1272
1268
  const props1 = qwik._restProps(props, [
1273
1269
  "id",
1274
- "values"
1270
+ "values",
1271
+ "class"
1275
1272
  ]);
1276
1273
  const store = qwik.useStore({
1277
1274
  opened: false
@@ -1295,6 +1292,12 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1295
1292
  ], "p0.id")
1296
1293
  }, 0, null),
1297
1294
  /* @__PURE__ */ qwik._jsxC(Button, {
1295
+ get class() {
1296
+ return {
1297
+ "flex focus:bg-gray-700": true,
1298
+ ...props.class
1299
+ };
1300
+ },
1298
1301
  children: [
1299
1302
  /* @__PURE__ */ qwik._jsxQ("span", null, {
1300
1303
  class: "flex-1 text-left",
@@ -1321,10 +1324,6 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1321
1324
  }
1322
1325
  }, 3, "cA_3")
1323
1326
  ],
1324
- class: {
1325
- "flex": true,
1326
- ...props1.class
1327
- },
1328
1327
  onClick$: /* @__PURE__ */ qwik.inlinedQrl(() => {
1329
1328
  const [store2] = qwik.useLexicalScope();
1330
1329
  store2.opened = !store2.opened;
@@ -1332,6 +1331,12 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1332
1331
  store
1333
1332
  ]),
1334
1333
  [qwik._IMMUTABLE]: {
1334
+ class: qwik._fnSignal((p0) => ({
1335
+ "flex focus:bg-gray-700": true,
1336
+ ...p0.class
1337
+ }), [
1338
+ props
1339
+ ], '{"flex focus:bg-gray-700":true,...p0.class}'),
1335
1340
  onClick$: qwik._IMMUTABLE
1336
1341
  }
1337
1342
  }, 1, "cA_4"),
@@ -1425,7 +1430,8 @@ const TextAreaRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlin
1425
1430
  }, "TextAreaRaw_component_PZiPScYxgNk"));
1426
1431
  const Toggle = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
1427
1432
  const props1 = qwik._restProps(props, [
1428
- "center"
1433
+ "center",
1434
+ "label"
1429
1435
  ]);
1430
1436
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
1431
1437
  class: qwik._fnSignal((p0) => ({
@@ -1458,11 +1464,13 @@ const Toggle = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl
1458
1464
  }
1459
1465
  }, null, 3, null)
1460
1466
  ], 1, null),
1461
- /* @__PURE__ */ qwik._jsxQ("label", {
1467
+ props.label && /* @__PURE__ */ qwik._jsxQ("label", {
1462
1468
  for: qwik._wrapSignal(props1, "id")
1463
1469
  }, {
1464
1470
  class: "text-gray-100"
1465
- }, /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "yu_0"), 1, null)
1471
+ }, qwik._fnSignal((p0) => p0.label, [
1472
+ props
1473
+ ], "p0.label"), 3, "yu_0")
1466
1474
  ], 1, "yu_1");
1467
1475
  }, "Toggle_component_ujuOvR082hY"));
1468
1476
  const LogoBirdflop = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
@@ -1904,8 +1912,8 @@ exports.Anchor = Anchor;
1904
1912
  exports.Button = Button;
1905
1913
  exports.ButtonAnchor = ButtonAnchor;
1906
1914
  exports.Card = Card;
1907
- exports.CardHeader = CardHeader;
1908
1915
  exports.ColorInput = ColorInput;
1916
+ exports.Header = Header;
1909
1917
  exports.InputClasses = InputClasses;
1910
1918
  exports.LoadingIcon = LoadingIcon;
1911
1919
  exports.LogoBirdflop = LogoBirdflop;
@@ -1,4 +1,4 @@
1
- import { componentQrl, inlinedQrl, _jsxQ, _fnSignal, _restProps, _jsxS, _jsxC, Slot, _jsxBranch, _IMMUTABLE, useStylesQrl, _wrapSignal, useLexicalScope, useStore } from "@builder.io/qwik";
1
+ import { componentQrl, inlinedQrl, _jsxQ, _fnSignal, _restProps, _jsxS, _jsxC, Slot, _wrapSignal, useStylesQrl, useLexicalScope, _IMMUTABLE, _jsxBranch, useStore } from "@builder.io/qwik";
2
2
  import { isServer } from "@builder.io/qwik/build";
3
3
  import { Fragment } from "@builder.io/qwik/jsx-runtime";
4
4
  const Anchor = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => /* @__PURE__ */ _jsxQ("span", null, {
@@ -56,28 +56,6 @@ const ButtonAnchor = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
56
56
  children: /* @__PURE__ */ _jsxC(Slot, null, 3, "7H_2")
57
57
  }, null, 0, "7H_3");
58
58
  }, "ButtonAnchor_component_vQT9xS0lqew"));
59
- const LoadingIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
60
- const props1 = _restProps(props, [
61
- "width",
62
- "speed"
63
- ]);
64
- return /* @__PURE__ */ _jsxS("div", {
65
- ...props1,
66
- class: {
67
- "animate-spin rounded-full border-transparent border-l-current border-t-current": true,
68
- ...props1.class
69
- }
70
- }, {
71
- style: _fnSignal((p0) => ({
72
- borderWidth: p0.width / 8,
73
- width: p0.width,
74
- height: p0.width,
75
- animation: `spin ${p0.speed ?? "0.6s"} ease-in-out infinite`
76
- }), [
77
- props
78
- ], '{borderWidth:p0.width/8,width:p0.width,height:p0.width,animation:`spin ${p0.speed??"0.6s"} ease-in-out infinite`}')
79
- }, 0, "1A_0");
80
- }, "LoadingIcon_component_QMsA9D0RcAM"));
81
59
  const cardColorClasses = {
82
60
  pink: {
83
61
  card: {
@@ -185,28 +163,28 @@ const cardColorClasses = {
185
163
  },
186
164
  darkgray: {
187
165
  card: {
188
- bg_blobs: "bg-gray-800/10 border-gray-800/20",
166
+ bg_blobs: "bg-gray-800/10 border-gray-800/40",
189
167
  bg: "bg-gray-800/60 border-gray-800",
190
- hover: "hover:bg-gray-800/20",
191
- click: "active:bg-gray-700/20"
168
+ hover: "hover:bg-gray-800/40",
169
+ click: "active:bg-gray-700/40"
192
170
  },
193
171
  blobs: [
194
- "bg-gray-400",
195
172
  "bg-gray-500",
196
- "bg-gray-600"
173
+ "bg-gray-600",
174
+ "bg-gray-700"
197
175
  ]
198
176
  },
199
177
  darkergray: {
200
178
  card: {
201
- bg_blobs: "bg-gray-900/10 border-gray-900/20",
179
+ bg_blobs: "bg-gray-900/10 border-gray-900/50",
202
180
  bg: "bg-gray-900/60 border-gray-900",
203
- hover: "hover:bg-gray-900/20",
204
- click: "active:bg-gray-800/20"
181
+ hover: "hover:bg-gray-900/50",
182
+ click: "active:bg-gray-800/50"
205
183
  },
206
184
  blobs: [
207
- "bg-gray-400",
208
- "bg-gray-500",
209
- "bg-gray-600"
185
+ "bg-gray-600",
186
+ "bg-gray-700",
187
+ "bg-gray-800"
210
188
  ]
211
189
  }
212
190
  };
@@ -223,36 +201,30 @@ const Card = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
223
201
  const props1 = _restProps(props, [
224
202
  "color",
225
203
  "hover",
226
- "href",
227
204
  "row",
228
205
  "blobs"
229
206
  ]);
230
207
  const blob = Math.round(Math.random() * 6);
231
- return /* @__PURE__ */ _jsxS("div", {
208
+ let Component = /* @__PURE__ */ _jsxS("div", {
232
209
  ...props1,
233
- children: /* @__PURE__ */ _jsxQ("div", null, {
234
- class: {
235
- "p-8": true
236
- }
210
+ children: /* @__PURE__ */ _jsxC(Slot, null, 3, "OW_0"),
211
+ class: {
212
+ "flex gap-4 p-8 border rounded-lg transition-all": true,
213
+ [cardColorClasses[props.color ?? "darkgray"].card.bg]: !props.blobs,
214
+ [cardColorClasses[props.color ?? "darkgray"].card.bg_blobs]: props.blobs,
215
+ [cardColorClasses[props.color ?? "darkgray"].card.hover + " hover:shadow-lg"]: props.hover,
216
+ [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer select-none"]: props.hover == "clickable",
217
+ "flex-col": !props.row,
218
+ "flex-row items-center": props.row,
219
+ ...props1.class
220
+ }
221
+ }, null, 0, "OW_1");
222
+ if (props.blobs)
223
+ Component = /* @__PURE__ */ _jsxQ("div", null, {
224
+ class: "relative"
237
225
  }, [
238
- props.href && /* @__PURE__ */ _jsxQ("a", null, {
239
- class: "absolute inset-0 z-20",
240
- href: _fnSignal((p0) => p0.href, [
241
- props
242
- ], "p0.href")
243
- }, null, 3, "OW_0"),
226
+ Component,
244
227
  /* @__PURE__ */ _jsxQ("div", null, {
245
- class: "relative"
246
- }, /* @__PURE__ */ _jsxQ("div", null, {
247
- class: _fnSignal((p0) => ({
248
- "flex gap-4": true,
249
- "flex-col": !p0.row,
250
- "flex-row items-center": p0.row
251
- }), [
252
- props
253
- ], '{"flex gap-4":true,"flex-col":!p0.row,"flex-row items-center":p0.row}')
254
- }, /* @__PURE__ */ _jsxC(Slot, null, 3, "OW_1"), 1, null), 1, null),
255
- props.blobs && /* @__PURE__ */ _jsxQ("div", null, {
256
228
  class: "absolute -z-10 inset-0 w-full h-full transition-all overflow-clip animate-in fade-in anim-duration-[2s]",
257
229
  style: {
258
230
  containerType: "size"
@@ -281,64 +253,14 @@ const Card = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
281
253
  [cardColorClasses[props.color ?? "darkgray"].blobs[2]]: true
282
254
  }
283
255
  }, null, null, 3, null)
284
- ], 1, "OW_2")
285
- ], 1, null),
286
- class: {
287
- "flex-1 relative border rounded-lg group transition-all": true,
288
- [cardColorClasses[props.color ?? "darkgray"].card.bg]: !props.blobs,
289
- [cardColorClasses[props.color ?? "darkgray"].card.bg_blobs]: props.blobs,
290
- [cardColorClasses[props.color ?? "darkgray"].card.hover + " hover:shadow-lg"]: props.hover,
291
- [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer"]: props.hover == "clickable",
292
- ...props1.class
293
- }
294
- }, null, 0, "OW_3");
256
+ ], 1, null)
257
+ ], 1, "OW_2");
258
+ if (props1.href)
259
+ Component = /* @__PURE__ */ _jsxQ("a", {
260
+ href: _wrapSignal(props1, "href")
261
+ }, null, Component, 1, "OW_3");
262
+ return Component;
295
263
  }, "Card_component_DlkkcTEVka4"));
296
- const CardHeader = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
297
- _jsxBranch();
298
- return /* @__PURE__ */ _jsxQ("h1", null, {
299
- class: "flex font-bold text-gray-100 text-2xl"
300
- }, [
301
- props.id && /* @__PURE__ */ _jsxC(Anchor, {
302
- get id() {
303
- return props.id;
304
- },
305
- [_IMMUTABLE]: {
306
- id: _fnSignal((p0) => p0.id, [
307
- props
308
- ], "p0.id")
309
- }
310
- }, 3, "OW_4"),
311
- /* @__PURE__ */ _jsxQ("div", null, {
312
- class: "flex flex-1"
313
- }, /* @__PURE__ */ _jsxQ("div", null, {
314
- class: "flex flex-col"
315
- }, [
316
- /* @__PURE__ */ _jsxQ("div", null, {
317
- class: "flex items-center gap-3"
318
- }, /* @__PURE__ */ _jsxC(Slot, null, 3, "OW_5"), 1, null),
319
- /* @__PURE__ */ _jsxC(Slot, {
320
- name: "subheader",
321
- [_IMMUTABLE]: {
322
- name: _IMMUTABLE
323
- }
324
- }, 3, "OW_6")
325
- ], 1, null), 1, null),
326
- (props.loading ?? false) && /* @__PURE__ */ _jsxQ("div", null, {
327
- class: _fnSignal((p0) => ({
328
- "transition-all": true,
329
- "opacity-0": !(p0.loading ?? false),
330
- "opacity-100": p0.loading ?? false
331
- }), [
332
- props
333
- ], '{"transition-all":true,"opacity-0":!(p0.loading??false),"opacity-100":p0.loading??false}')
334
- }, /* @__PURE__ */ _jsxC(LoadingIcon, {
335
- width: 24,
336
- [_IMMUTABLE]: {
337
- width: _IMMUTABLE
338
- }
339
- }, 3, "OW_7"), 1, "OW_8")
340
- ], 1, "OW_9");
341
- }, "CardHeader_component_2xQZ6Uv7R4A"));
342
264
  const InputClasses = "transition ease-in-out text-lg border border-gray-700 bg-gray-800 text-gray-50 hover:bg-gray-700 hover:shadow-lg focus:bg-gray-700 focus:outline-none focus:border-gray-400 rounded-md px-3 py-2";
343
265
  const TextInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
344
266
  return /* @__PURE__ */ _jsxQ("div", null, {
@@ -1048,6 +970,80 @@ const ColorInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((prop
1048
970
  }, null, 3, null)
1049
971
  ], 1, "0s_2");
1050
972
  }, "ColorInput_component_jilGo0Bn3Ps"));
973
+ const LoadingIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
974
+ const props1 = _restProps(props, [
975
+ "width",
976
+ "speed"
977
+ ]);
978
+ return /* @__PURE__ */ _jsxS("div", {
979
+ ...props1,
980
+ class: {
981
+ "animate-spin rounded-full border-transparent border-l-current border-t-current": true,
982
+ ...props1.class
983
+ }
984
+ }, {
985
+ style: _fnSignal((p0) => ({
986
+ borderWidth: p0.width / 8,
987
+ width: p0.width,
988
+ height: p0.width,
989
+ animation: `spin ${p0.speed ?? "0.6s"} ease-in-out infinite`
990
+ }), [
991
+ props
992
+ ], '{borderWidth:p0.width/8,width:p0.width,height:p0.width,animation:`spin ${p0.speed??"0.6s"} ease-in-out infinite`}')
993
+ }, 0, "1A_0");
994
+ }, "LoadingIcon_component_QMsA9D0RcAM"));
995
+ const Header = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
996
+ _jsxBranch();
997
+ let Component = /* @__PURE__ */ _jsxC(Fragment, {
998
+ children: /* @__PURE__ */ _jsxQ("h2", null, {
999
+ class: "flex items-center font-bold text-2xl"
1000
+ }, [
1001
+ props.id && /* @__PURE__ */ _jsxC(Anchor, {
1002
+ get id() {
1003
+ return props.id;
1004
+ },
1005
+ [_IMMUTABLE]: {
1006
+ id: _fnSignal((p0) => p0.id, [
1007
+ props
1008
+ ], "p0.id")
1009
+ }
1010
+ }, 3, "dL_0"),
1011
+ /* @__PURE__ */ _jsxC(Slot, null, 3, "dL_1")
1012
+ ], 1, null)
1013
+ }, 1, "dL_2");
1014
+ if (props.subheader)
1015
+ Component = /* @__PURE__ */ _jsxQ("div", null, {
1016
+ class: "flex flex-1 flex-col gap-1"
1017
+ }, [
1018
+ Component,
1019
+ /* @__PURE__ */ _jsxQ("h3", null, {
1020
+ class: "flex items-center text-gray-400"
1021
+ }, _fnSignal((p0) => p0.subheader, [
1022
+ props
1023
+ ], "p0.subheader"), 3, null)
1024
+ ], 1, "dL_3");
1025
+ if (props.loading !== void 0)
1026
+ Component = /* @__PURE__ */ _jsxQ("div", null, {
1027
+ class: "flex"
1028
+ }, [
1029
+ Component,
1030
+ /* @__PURE__ */ _jsxQ("div", null, {
1031
+ class: _fnSignal((p0) => ({
1032
+ "transition-all duration-200": true,
1033
+ "opacity-0": !p0.loading,
1034
+ "opacity-100": p0.loading
1035
+ }), [
1036
+ props
1037
+ ], '{"transition-all duration-200":true,"opacity-0":!p0.loading,"opacity-100":p0.loading}')
1038
+ }, /* @__PURE__ */ _jsxC(LoadingIcon, {
1039
+ width: 24,
1040
+ [_IMMUTABLE]: {
1041
+ width: _IMMUTABLE
1042
+ }
1043
+ }, 3, "dL_4"), 1, null)
1044
+ ], 1, "dL_5");
1045
+ return Component;
1046
+ }, "Header_component_FfGOhhBNG5k"));
1051
1047
  const Plus = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
1052
1048
  return /* @__PURE__ */ _jsxS("svg", {
1053
1049
  ...props,
@@ -1269,7 +1265,8 @@ const SelectInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pro
1269
1265
  const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
1270
1266
  const props1 = _restProps(props, [
1271
1267
  "id",
1272
- "values"
1268
+ "values",
1269
+ "class"
1273
1270
  ]);
1274
1271
  const store = useStore({
1275
1272
  opened: false
@@ -1293,6 +1290,12 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1293
1290
  ], "p0.id")
1294
1291
  }, 0, null),
1295
1292
  /* @__PURE__ */ _jsxC(Button, {
1293
+ get class() {
1294
+ return {
1295
+ "flex focus:bg-gray-700": true,
1296
+ ...props.class
1297
+ };
1298
+ },
1296
1299
  children: [
1297
1300
  /* @__PURE__ */ _jsxQ("span", null, {
1298
1301
  class: "flex-1 text-left",
@@ -1319,10 +1322,6 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1319
1322
  }
1320
1323
  }, 3, "cA_3")
1321
1324
  ],
1322
- class: {
1323
- "flex": true,
1324
- ...props1.class
1325
- },
1326
1325
  onClick$: /* @__PURE__ */ inlinedQrl(() => {
1327
1326
  const [store2] = useLexicalScope();
1328
1327
  store2.opened = !store2.opened;
@@ -1330,6 +1329,12 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1330
1329
  store
1331
1330
  ]),
1332
1331
  [_IMMUTABLE]: {
1332
+ class: _fnSignal((p0) => ({
1333
+ "flex focus:bg-gray-700": true,
1334
+ ...p0.class
1335
+ }), [
1336
+ props
1337
+ ], '{"flex focus:bg-gray-700":true,...p0.class}'),
1333
1338
  onClick$: _IMMUTABLE
1334
1339
  }
1335
1340
  }, 1, "cA_4"),
@@ -1423,7 +1428,8 @@ const TextAreaRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pro
1423
1428
  }, "TextAreaRaw_component_PZiPScYxgNk"));
1424
1429
  const Toggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
1425
1430
  const props1 = _restProps(props, [
1426
- "center"
1431
+ "center",
1432
+ "label"
1427
1433
  ]);
1428
1434
  return /* @__PURE__ */ _jsxQ("div", null, {
1429
1435
  class: _fnSignal((p0) => ({
@@ -1456,11 +1462,13 @@ const Toggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
1456
1462
  }
1457
1463
  }, null, 3, null)
1458
1464
  ], 1, null),
1459
- /* @__PURE__ */ _jsxQ("label", {
1465
+ props.label && /* @__PURE__ */ _jsxQ("label", {
1460
1466
  for: _wrapSignal(props1, "id")
1461
1467
  }, {
1462
1468
  class: "text-gray-100"
1463
- }, /* @__PURE__ */ _jsxC(Slot, null, 3, "yu_0"), 1, null)
1469
+ }, _fnSignal((p0) => p0.label, [
1470
+ props
1471
+ ], "p0.label"), 3, "yu_0")
1464
1472
  ], 1, "yu_1");
1465
1473
  }, "Toggle_component_ujuOvR082hY"));
1466
1474
  const LogoBirdflop = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
@@ -1903,8 +1911,8 @@ export {
1903
1911
  Button,
1904
1912
  ButtonAnchor,
1905
1913
  Card,
1906
- CardHeader,
1907
1914
  ColorInput,
1915
+ Header,
1908
1916
  InputClasses,
1909
1917
  LoadingIcon,
1910
1918
  LogoBirdflop,
@@ -9,10 +9,6 @@ interface CardProps extends Omit<PropsOf<'div'>, 'class'> {
9
9
  [key: string]: boolean;
10
10
  };
11
11
  }
12
- interface CardHeaderProps {
13
- id?: string;
14
- loading?: boolean;
15
- }
16
12
  export declare const cardColorClasses: {
17
13
  pink: {
18
14
  card: {
@@ -106,5 +102,4 @@ export declare const cardColorClasses: {
106
102
  };
107
103
  };
108
104
  export declare const Card: import("@builder.io/qwik").Component<CardProps>;
109
- export declare const CardHeader: import("@builder.io/qwik").Component<CardHeaderProps>;
110
105
  export {};
@@ -0,0 +1,8 @@
1
+ import type { JSXOutput } from '@builder.io/qwik';
2
+ interface HeaderProps {
3
+ id?: string;
4
+ loading?: boolean;
5
+ subheader?: string | JSXOutput;
6
+ }
7
+ export declare const Header: import("@builder.io/qwik").Component<HeaderProps>;
8
+ export {};
@@ -6,6 +6,7 @@ interface ToggleProps extends Omit<(PropsOf<'input'> & {
6
6
  [key: string]: boolean;
7
7
  };
8
8
  center?: boolean;
9
+ label?: string;
9
10
  }
10
11
  export declare const Toggle: import("@builder.io/qwik").Component<ToggleProps>;
11
12
  export {};
@@ -2,6 +2,7 @@ export * from './elements/Anchor';
2
2
  export * from './elements/Button';
3
3
  export * from './elements/Card';
4
4
  export * from './elements/ColorInput';
5
+ export * from './elements/Header';
5
6
  export * from './elements/LoadingIcon';
6
7
  export * from './elements/NumberInput';
7
8
  export * from './elements/SelectInput';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luminescent/ui",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Luminescent UI library",
5
5
  "main": "./lib/index.qwik.mjs",
6
6
  "qwik": "./lib/index.qwik.mjs",