@luminescent/ui 0.10.0-1 → 0.10.0-2

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.
@@ -17,7 +17,7 @@ const buttonColorClasses = {
17
17
  yellow: "bg-yellow-700/90 border-yellow-600 hover:bg-yellow-600 active:bg-yellow-500 focus:border-yellow-500",
18
18
  gray: "bg-gray-700/90 border-gray-600 hover:bg-gray-600 active:bg-gray-500 focus:border-gray-500",
19
19
  darkgray: "bg-gray-800/90 border-gray-700 hover:bg-gray-700 active:bg-gray-600 focus:border-gray-600",
20
- transparent: "bg-transparent border-transparent hover:bg-gray-700/30 active:bg-gray-700/40 focus:border-gray-700/40"
20
+ transparent: "bg-transparent border-transparent hover:bg-gray-600/50 active:bg-gray-600/60 focus:border-gray-600/60"
21
21
  };
22
22
  const sizeClasses = {
23
23
  sm: {
@@ -41,7 +41,7 @@ const sizeClasses = {
41
41
  equal: "p-4"
42
42
  }
43
43
  };
44
- const buttonClass = "relative flex items-center gap-3 transition ease-in-out border text-gray-50 fill-gray-50 disabled:opacity-50 hover:shadow-lg active:scale-95 whitespace-nowrap";
44
+ const buttonClass = "relative flex items-center gap-3 motion-safe:transition ease-in-out border text-gray-50 fill-gray-50 disabled:opacity-50 hover:shadow-lg motion-safe:active:scale-95 whitespace-nowrap touch-manipulation select-none";
45
45
  const Button = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
46
46
  const props1 = qwik._restProps(props, [
47
47
  "color",
@@ -247,7 +247,7 @@ const Card = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((
247
247
  class: "absolute inset-0"
248
248
  }, null, 3, "OW_1"),
249
249
  props.blobs && /* @__PURE__ */ qwik._jsxQ("div", null, {
250
- class: "absolute -z-10 inset-0 transition-all overflow-clip animate-in fade-in anim-duration-[2s]",
250
+ class: "motion-reduce:hidden absolute -z-10 inset-0 transition-all overflow-clip animate-in fade-in anim-duration-[2s]",
251
251
  style: {
252
252
  containerType: "size"
253
253
  }
@@ -278,22 +278,22 @@ const Card = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((
278
278
  ], 1, "OW_2")
279
279
  ],
280
280
  class: {
281
- "relative p-8 border rounded-lg transition-all": true,
281
+ "relative p-8 border rounded-lg motion-safe:transition-all": true,
282
282
  [cardColorClasses[props.color ?? "darkgray"].card.bg]: !props.blobs,
283
283
  [cardColorClasses[props.color ?? "darkgray"].card.bg_blobs]: props.blobs,
284
284
  [cardColorClasses[props.color ?? "darkgray"].card.hover + " hover:shadow-lg"]: props.hover,
285
- [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer select-none"]: props.hover == "clickable",
285
+ [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer select-none touch-manipulation"]: props.hover == "clickable",
286
286
  ...props1.class
287
287
  }
288
288
  }, null, 0, "OW_3");
289
289
  }, "Card_component_DlkkcTEVka4"));
290
- const InputClasses = "transition ease-in-out 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-2.5 py-1.5";
290
+ const InputClasses = "motion-safe:transition ease-in-out 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-2.5 py-1.5 touch-manipulation";
291
291
  const TextInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
292
292
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
293
293
  class: "flex flex-col"
294
294
  }, [
295
295
  /* @__PURE__ */ qwik._jsxQ("label", null, {
296
- class: "text-gray-300 pb-1",
296
+ class: "text-gray-300 pb-1 select-none",
297
297
  for: qwik._fnSignal((p0) => p0.id, [
298
298
  props
299
299
  ], "p0.id")
@@ -438,7 +438,7 @@ const ColorInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inline
438
438
  /* @__PURE__ */ qwik._jsxQ("label", {
439
439
  for: qwik._wrapSignal(props1, "id")
440
440
  }, {
441
- class: "text-gray-300 pb-1 flex"
441
+ class: "text-gray-300 pb-1 flex select-none"
442
442
  }, /* @__PURE__ */ qwik._jsxC(qwik.Slot, null, 3, "0s_0"), 1, null),
443
443
  /* @__PURE__ */ qwik._jsxC(TextInputRaw, {
444
444
  ...props1,
@@ -511,7 +511,7 @@ const ColorInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inline
511
511
  },
512
512
  get class() {
513
513
  return {
514
- "transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
514
+ "motion-safe:transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
515
515
  "opacity-0 pointer-events-none scale-95": !store.opened
516
516
  };
517
517
  },
@@ -544,11 +544,11 @@ const ColorInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inline
544
544
  ]),
545
545
  [qwik._IMMUTABLE]: {
546
546
  class: qwik._fnSignal((p0) => ({
547
- "transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
547
+ "motion-safe:transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
548
548
  "opacity-0 pointer-events-none scale-95": !p0.opened
549
549
  }), [
550
550
  store
551
- ], '{"transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]":true,"opacity-0 pointer-events-none scale-95":!p0.opened}'),
551
+ ], '{"motion-safe:transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]":true,"opacity-0 pointer-events-none scale-95":!p0.opened}'),
552
552
  color: qwik._fnSignal((p0) => p0.value ?? "#000000", [
553
553
  props
554
554
  ], 'p0.value??"#000000"'),
@@ -702,7 +702,7 @@ const ColorPickerRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
702
702
  ]));
703
703
  return /* @__PURE__ */ qwik._jsxQ("div", {
704
704
  class: {
705
- "transition-all p-4 bg-gray-800/50 backdrop-blur-xl flex flex-col gap-6 rounded-lg border border-gray-700 touch-none": true,
705
+ "motion-safe:transition-all p-4 bg-gray-800/50 backdrop-blur-xl flex flex-col gap-6 rounded-lg border border-gray-700 touch-none": true,
706
706
  ...props1.class
707
707
  }
708
708
  }, {
@@ -779,7 +779,7 @@ const ColorPickerRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
779
779
  ]),
780
780
  style: `background: ${color}`
781
781
  }, {
782
- class: "w-[25px] h-[25px] border border-gray-700 rounded-md hover:scale-110 transition-all",
782
+ class: "w-[25px] h-[25px] border border-gray-700 rounded-md hover:scale-110 motion-safe:transition-all",
783
783
  "preventdefault:mousedown": true,
784
784
  "preventdefault:touchstart": true
785
785
  }, null, 2, i);
@@ -845,12 +845,12 @@ const Header = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl
845
845
  Component,
846
846
  /* @__PURE__ */ qwik._jsxQ("div", null, {
847
847
  class: qwik._fnSignal((p0) => ({
848
- "transition-all duration-200": true,
848
+ "motion-safe:transition-all duration-200": true,
849
849
  "opacity-0": !p0.loading,
850
850
  "opacity-100": p0.loading
851
851
  }), [
852
852
  props
853
- ], '{"transition-all duration-200":true,"opacity-0":!p0.loading,"opacity-100":p0.loading}')
853
+ ], '{"motion-safe:transition-all duration-200":true,"opacity-0":!p0.loading,"opacity-100":p0.loading}')
854
854
  }, /* @__PURE__ */ qwik._jsxC(LoadingIcon, {
855
855
  width: 24,
856
856
  [qwik._IMMUTABLE]: {
@@ -864,24 +864,24 @@ const Nav = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((p
864
864
  const menu = qwik.useSignal(false);
865
865
  return /* @__PURE__ */ qwik._jsxQ("nav", null, {
866
866
  class: qwik._fnSignal((p0) => ({
867
- "transition-all duration-200 flex flex-col top-0 left-0 w-full z-50": true,
867
+ "motion-safe:transition-all duration-200 flex flex-col top-0 left-0 w-full z-50": true,
868
868
  "fixed": p0.fixed,
869
869
  "absolute": !p0.fixed
870
870
  }), [
871
871
  props
872
- ], '{"transition-all duration-200 flex flex-col top-0 left-0 w-full z-50":true,"fixed":p0.fixed,"absolute":!p0.fixed}')
872
+ ], '{"motion-safe:transition-all duration-200 flex flex-col top-0 left-0 w-full z-50":true,"fixed":p0.fixed,"absolute":!p0.fixed}')
873
873
  }, [
874
874
  /* @__PURE__ */ qwik._jsxQ("div", null, {
875
875
  class: qwik._fnSignal((p0) => ({
876
- "sm:hidden transition-all flex flex-col px-4 items-center absolute w-full": true,
877
- "top-full mt-4": p0.value,
876
+ "sm:hidden motion-safe:transition-all flex flex-col px-2 items-center absolute w-full": true,
877
+ "top-full mt-2": p0.value,
878
878
  "opacity-0 top-0": !p0.value
879
879
  }), [
880
880
  menu
881
- ], '{"sm:hidden transition-all flex flex-col px-4 items-center absolute w-full":true,"top-full mt-4":p0.value,"opacity-0 top-0":!p0.value}')
881
+ ], '{"sm:hidden motion-safe:transition-all flex flex-col px-2 items-center absolute w-full":true,"top-full mt-2":p0.value,"opacity-0 top-0":!p0.value}')
882
882
  }, /* @__PURE__ */ qwik._jsxQ("div", null, {
883
883
  class: {
884
- "flex flex-col transition-all max-w-7xl w-full p-2 bg-gray-800/50 border border-gray-700/50 backdrop-blur-lg drop-shadow-xl rounded-lg": true
884
+ "flex flex-col motion-safe:transition-all max-w-7xl w-full p-2 bg-gray-800/50 border border-gray-700/50 backdrop-blur-lg drop-shadow-xl rounded-lg": true
885
885
  }
886
886
  }, /* @__PURE__ */ qwik._jsxC(qwik.Slot, {
887
887
  name: "mobile",
@@ -892,10 +892,10 @@ const Nav = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((p
892
892
  /* @__PURE__ */ qwik._jsxQ("div", null, {
893
893
  class: qwik._fnSignal((p0) => ({
894
894
  "bg-gray-800/50 border-b border-gray-700/50 backdrop-blur-lg drop-shadow-xl": !p0.floating,
895
- "p-4 pb-0": p0.floating
895
+ "p-2 pb-0": p0.floating
896
896
  }), [
897
897
  props
898
- ], '{"bg-gray-800/50 border-b border-gray-700/50 backdrop-blur-lg drop-shadow-xl":!p0.floating,"p-4 pb-0":p0.floating}')
898
+ ], '{"bg-gray-800/50 border-b border-gray-700/50 backdrop-blur-lg drop-shadow-xl":!p0.floating,"p-2 pb-0":p0.floating}')
899
899
  }, /* @__PURE__ */ qwik._jsxQ("div", {
900
900
  class: {
901
901
  "flex justify-evenly w-full mx-auto px-4 py-2 max-w-7xl": true,
@@ -1005,7 +1005,7 @@ const NumberInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlin
1005
1005
  class: "flex flex-col"
1006
1006
  }, [
1007
1007
  /* @__PURE__ */ qwik._jsxQ("label", null, {
1008
- class: "text-gray-300 pb-1",
1008
+ class: "text-gray-300 pb-1 select-none",
1009
1009
  for: qwik._fnSignal((p0) => p0.id, [
1010
1010
  props
1011
1011
  ], "p0.id")
@@ -1036,11 +1036,11 @@ const NumberInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1036
1036
  `, "NumberInputRaw_component_useStyles_v5EsWTMt0DU"));
1037
1037
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
1038
1038
  class: qwik._fnSignal((p0) => ({
1039
- "flex text-gray-50": true,
1039
+ "flex text-gray-50 touch-manipulation": true,
1040
1040
  "gap-2": !p0.input
1041
1041
  }), [
1042
1042
  props
1043
- ], '{"flex text-gray-50":true,"gap-2":!p0.input}')
1043
+ ], '{"flex text-gray-50 touch-manipulation":true,"gap-2":!p0.input}')
1044
1044
  }, [
1045
1045
  /* @__PURE__ */ qwik._jsxC(Button, {
1046
1046
  size: "sm",
@@ -1170,7 +1170,7 @@ const SelectInput = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlin
1170
1170
  class: "flex flex-col"
1171
1171
  }, [
1172
1172
  /* @__PURE__ */ qwik._jsxQ("label", null, {
1173
- class: "text-gray-300 pb-1",
1173
+ class: "text-gray-300 pb-1 select-none",
1174
1174
  for: qwik._fnSignal((p0) => p0.id, [
1175
1175
  props
1176
1176
  ], "p0.id")
@@ -1184,7 +1184,9 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1184
1184
  const props1 = qwik._restProps(props, [
1185
1185
  "id",
1186
1186
  "values",
1187
- "class"
1187
+ "class",
1188
+ "display",
1189
+ "color"
1188
1190
  ]);
1189
1191
  const store = qwik.useStore({
1190
1192
  opened: false
@@ -1212,7 +1214,7 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1212
1214
  }
1213
1215
  `, "SelectInputRaw_component_useStyles_Zc40Za0ngqc"));
1214
1216
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
1215
- class: "relative"
1217
+ class: "relative touch-manipulation"
1216
1218
  }, [
1217
1219
  /* @__PURE__ */ qwik._jsxS("select", {
1218
1220
  ...props1,
@@ -1230,38 +1232,44 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1230
1232
  ], "p0.id")
1231
1233
  }, 0, null),
1232
1234
  /* @__PURE__ */ qwik._jsxC(Button, {
1235
+ get color() {
1236
+ return props.color;
1237
+ },
1233
1238
  size: "sm",
1234
1239
  get class() {
1235
1240
  return {
1236
- "flex focus:bg-gray-700": true,
1241
+ "flex": true,
1237
1242
  ...props.class
1238
1243
  };
1239
1244
  },
1240
1245
  children: [
1241
- /* @__PURE__ */ qwik._jsxQ("span", null, {
1246
+ qwik._fnSignal((p0) => p0.display, [
1247
+ props
1248
+ ], "p0.display"),
1249
+ !props.display && /* @__PURE__ */ qwik._jsxQ("span", null, {
1242
1250
  class: "flex-1 text-left",
1243
1251
  id: qwik._fnSignal((p0) => `lui-${p0.id}-name`, [
1244
1252
  props
1245
1253
  ], "`lui-${p0.id}-name`")
1246
- }, props.values.find((value) => value.value.toString() === props1.value)?.name ?? props.values[0].name, 1, null),
1254
+ }, props.values.find((value) => value.value.toString() === props1.value)?.name ?? props.values[0].name, 1, "cA_3"),
1247
1255
  /* @__PURE__ */ qwik._jsxC(ChevronDown, {
1248
1256
  width: 16,
1249
1257
  get class() {
1250
1258
  return {
1251
- "transition-all duration-200": true,
1259
+ "motion-safe:transition-all duration-200": true,
1252
1260
  "transform rotate-180": store.opened
1253
1261
  };
1254
1262
  },
1255
1263
  [qwik._IMMUTABLE]: {
1256
1264
  class: qwik._fnSignal((p0) => ({
1257
- "transition-all duration-200": true,
1265
+ "motion-safe:transition-all duration-200": true,
1258
1266
  "transform rotate-180": p0.opened
1259
1267
  }), [
1260
1268
  store
1261
- ], '{"transition-all duration-200":true,"transform rotate-180":p0.opened}'),
1269
+ ], '{"motion-safe:transition-all duration-200":true,"transform rotate-180":p0.opened}'),
1262
1270
  width: qwik._IMMUTABLE
1263
1271
  }
1264
- }, 3, "cA_3")
1272
+ }, 3, "cA_4")
1265
1273
  ],
1266
1274
  onClick$: /* @__PURE__ */ qwik.inlinedQrl(() => {
1267
1275
  const [store2] = qwik.useLexicalScope();
@@ -1271,18 +1279,21 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1271
1279
  ]),
1272
1280
  [qwik._IMMUTABLE]: {
1273
1281
  class: qwik._fnSignal((p0) => ({
1274
- "flex focus:bg-gray-700": true,
1282
+ "flex": true,
1275
1283
  ...p0.class
1276
1284
  }), [
1277
1285
  props
1278
- ], '{"flex focus:bg-gray-700":true,...p0.class}'),
1286
+ ], '{"flex":true,...p0.class}'),
1287
+ color: qwik._fnSignal((p0) => p0.color, [
1288
+ props
1289
+ ], "p0.color"),
1279
1290
  onClick$: qwik._IMMUTABLE,
1280
1291
  size: qwik._IMMUTABLE
1281
1292
  }
1282
- }, 1, "cA_4"),
1293
+ }, 1, "cA_5"),
1283
1294
  /* @__PURE__ */ qwik._jsxQ("div", {
1284
1295
  class: {
1285
- "transition-all absolute top-full left-0 p-1 mt-2 gap-1 bg-gray-800/50 backdrop-blur-xl flex flex-col rounded-lg border border-gray-700 z-[1000] max-h-72 lui-scroll overflow-auto select-none": true,
1296
+ "motion-safe:transition-all absolute top-full left-0 p-1 mt-2 gap-1 bg-gray-800/50 backdrop-blur-xl flex flex-col rounded-lg border border-gray-700 z-[1000] max-h-72 lui-scroll overflow-auto select-none": true,
1286
1297
  "pointer-events-none opacity-0 scale-95": !store.opened
1287
1298
  }
1288
1299
  }, {
@@ -1291,6 +1302,7 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1291
1302
  ], "`lui-${p0.id}-opts`")
1292
1303
  }, props.values.map((value, i) => {
1293
1304
  return /* @__PURE__ */ qwik._jsxC(Button, {
1305
+ color: "transparent",
1294
1306
  onClick$: /* @__PURE__ */ qwik.inlinedQrl(() => {
1295
1307
  const [props2, store2, value2] = qwik.useLexicalScope();
1296
1308
  store2.opened = false;
@@ -1306,29 +1318,28 @@ const SelectInputRaw = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.in
1306
1318
  ]),
1307
1319
  get class() {
1308
1320
  return {
1309
- "border-0 bg-transparent": true,
1310
1321
  "opacity-0": !store.opened
1311
1322
  };
1312
1323
  },
1313
1324
  children: qwik._wrapSignal(value, "name"),
1314
1325
  [qwik._IMMUTABLE]: {
1315
1326
  class: qwik._fnSignal((p0) => ({
1316
- "border-0 bg-transparent": true,
1317
1327
  "opacity-0": !p0.opened
1318
1328
  }), [
1319
1329
  store
1320
- ], '{"border-0 bg-transparent":true,"opacity-0":!p0.opened}')
1330
+ ], '{"opacity-0":!p0.opened}'),
1331
+ color: qwik._IMMUTABLE
1321
1332
  }
1322
1333
  }, 1, i);
1323
1334
  }), 1, null)
1324
- ], 1, "cA_5");
1335
+ ], 1, "cA_6");
1325
1336
  }, "SelectInputRaw_component_Itdx5yPeQd4"));
1326
1337
  const TextArea = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl((props) => {
1327
1338
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
1328
1339
  class: "flex flex-col"
1329
1340
  }, [
1330
1341
  /* @__PURE__ */ qwik._jsxQ("label", null, {
1331
- class: "text-gray-300 pb-1",
1342
+ class: "text-gray-300 pb-1 select-none",
1332
1343
  for: qwik._fnSignal((p0) => p0.id, [
1333
1344
  props
1334
1345
  ], "p0.id")
@@ -1375,11 +1386,11 @@ const Toggle = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl
1375
1386
  ]);
1376
1387
  return /* @__PURE__ */ qwik._jsxQ("div", null, {
1377
1388
  class: qwik._fnSignal((p0) => ({
1378
- "flex gap-3 items-center": true,
1389
+ "flex gap-3 items-center touch-manipulation": true,
1379
1390
  "justify-center": p0.center
1380
1391
  }), [
1381
1392
  props
1382
- ], '{"flex gap-3 items-center":true,"justify-center":p0.center}')
1393
+ ], '{"flex gap-3 items-center touch-manipulation":true,"justify-center":p0.center}')
1383
1394
  }, [
1384
1395
  /* @__PURE__ */ qwik._jsxQ("label", null, {
1385
1396
  class: "inline-flex relative items-center cursor-pointer"
@@ -1395,9 +1406,9 @@ const Toggle = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl
1395
1406
  }, 0, null),
1396
1407
  /* @__PURE__ */ qwik._jsxQ("div", null, {
1397
1408
  class: {
1398
- "transition ease-in-out w-12 h-7 rounded-md peer border hover:shadow-lg": true,
1409
+ "motion-safe:transition ease-in-out w-12 h-7 rounded-md peer border hover:shadow-lg": true,
1399
1410
  "bg-gray-800 border-gray-700 hover:bg-gray-700 active:bg-gray-600": true,
1400
- "after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:border after:rounded-md after:h-5 after:w-5 after:transition-all after:ease-in-out": true,
1411
+ "after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:border after:rounded-md after:h-5 after:w-5 after:motion-safe:transition-all after:ease-in-out": true,
1401
1412
  "after:bg-gray-700 after:border-gray-600 after:hover:bg-gray-600 after:active:bg-gray-500": true,
1402
1413
  "peer-checked:bg-blue-700 peer-checked:border-blue-600 peer-checked:hover:bg-blue-600 peer-checked:active:bg-blue-500": true,
1403
1414
  "peer-checked:after:translate-x-full peer-checked:after:bg-blue-600 peer-checked:after:border-blue-500 peer-checked:after:hover:bg-blue-500 peer-checked:after:active:bg-blue-400": true
@@ -1407,7 +1418,7 @@ const Toggle = /* @__PURE__ */ qwik.componentQrl(/* @__PURE__ */ qwik.inlinedQrl
1407
1418
  props.label && /* @__PURE__ */ qwik._jsxQ("label", {
1408
1419
  for: qwik._wrapSignal(props1, "id")
1409
1420
  }, {
1410
- class: "text-gray-300 flex gap-2"
1421
+ class: "text-gray-300 flex gap-2 select-none"
1411
1422
  }, qwik._fnSignal((p0) => p0.label, [
1412
1423
  props
1413
1424
  ], "p0.label"), 3, "yu_0")
@@ -15,7 +15,7 @@ const buttonColorClasses = {
15
15
  yellow: "bg-yellow-700/90 border-yellow-600 hover:bg-yellow-600 active:bg-yellow-500 focus:border-yellow-500",
16
16
  gray: "bg-gray-700/90 border-gray-600 hover:bg-gray-600 active:bg-gray-500 focus:border-gray-500",
17
17
  darkgray: "bg-gray-800/90 border-gray-700 hover:bg-gray-700 active:bg-gray-600 focus:border-gray-600",
18
- transparent: "bg-transparent border-transparent hover:bg-gray-700/30 active:bg-gray-700/40 focus:border-gray-700/40"
18
+ transparent: "bg-transparent border-transparent hover:bg-gray-600/50 active:bg-gray-600/60 focus:border-gray-600/60"
19
19
  };
20
20
  const sizeClasses = {
21
21
  sm: {
@@ -39,7 +39,7 @@ const sizeClasses = {
39
39
  equal: "p-4"
40
40
  }
41
41
  };
42
- const buttonClass = "relative flex items-center gap-3 transition ease-in-out border text-gray-50 fill-gray-50 disabled:opacity-50 hover:shadow-lg active:scale-95 whitespace-nowrap";
42
+ const buttonClass = "relative flex items-center gap-3 motion-safe:transition ease-in-out border text-gray-50 fill-gray-50 disabled:opacity-50 hover:shadow-lg motion-safe:active:scale-95 whitespace-nowrap touch-manipulation select-none";
43
43
  const Button = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
44
44
  const props1 = _restProps(props, [
45
45
  "color",
@@ -245,7 +245,7 @@ const Card = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
245
245
  class: "absolute inset-0"
246
246
  }, null, 3, "OW_1"),
247
247
  props.blobs && /* @__PURE__ */ _jsxQ("div", null, {
248
- class: "absolute -z-10 inset-0 transition-all overflow-clip animate-in fade-in anim-duration-[2s]",
248
+ class: "motion-reduce:hidden absolute -z-10 inset-0 transition-all overflow-clip animate-in fade-in anim-duration-[2s]",
249
249
  style: {
250
250
  containerType: "size"
251
251
  }
@@ -276,22 +276,22 @@ const Card = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
276
276
  ], 1, "OW_2")
277
277
  ],
278
278
  class: {
279
- "relative p-8 border rounded-lg transition-all": true,
279
+ "relative p-8 border rounded-lg motion-safe:transition-all": true,
280
280
  [cardColorClasses[props.color ?? "darkgray"].card.bg]: !props.blobs,
281
281
  [cardColorClasses[props.color ?? "darkgray"].card.bg_blobs]: props.blobs,
282
282
  [cardColorClasses[props.color ?? "darkgray"].card.hover + " hover:shadow-lg"]: props.hover,
283
- [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer select-none"]: props.hover == "clickable",
283
+ [cardColorClasses[props.color ?? "darkgray"].card.click + " active:scale-[99%] cursor-pointer select-none touch-manipulation"]: props.hover == "clickable",
284
284
  ...props1.class
285
285
  }
286
286
  }, null, 0, "OW_3");
287
287
  }, "Card_component_DlkkcTEVka4"));
288
- const InputClasses = "transition ease-in-out 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-2.5 py-1.5";
288
+ const InputClasses = "motion-safe:transition ease-in-out 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-2.5 py-1.5 touch-manipulation";
289
289
  const TextInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
290
290
  return /* @__PURE__ */ _jsxQ("div", null, {
291
291
  class: "flex flex-col"
292
292
  }, [
293
293
  /* @__PURE__ */ _jsxQ("label", null, {
294
- class: "text-gray-300 pb-1",
294
+ class: "text-gray-300 pb-1 select-none",
295
295
  for: _fnSignal((p0) => p0.id, [
296
296
  props
297
297
  ], "p0.id")
@@ -436,7 +436,7 @@ const ColorInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((prop
436
436
  /* @__PURE__ */ _jsxQ("label", {
437
437
  for: _wrapSignal(props1, "id")
438
438
  }, {
439
- class: "text-gray-300 pb-1 flex"
439
+ class: "text-gray-300 pb-1 flex select-none"
440
440
  }, /* @__PURE__ */ _jsxC(Slot, null, 3, "0s_0"), 1, null),
441
441
  /* @__PURE__ */ _jsxC(TextInputRaw, {
442
442
  ...props1,
@@ -509,7 +509,7 @@ const ColorInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((prop
509
509
  },
510
510
  get class() {
511
511
  return {
512
- "transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
512
+ "motion-safe:transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
513
513
  "opacity-0 pointer-events-none scale-95": !store.opened
514
514
  };
515
515
  },
@@ -542,11 +542,11 @@ const ColorInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((prop
542
542
  ]),
543
543
  [_IMMUTABLE]: {
544
544
  class: _fnSignal((p0) => ({
545
- "transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
545
+ "motion-safe:transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]": true,
546
546
  "opacity-0 pointer-events-none scale-95": !p0.opened
547
547
  }), [
548
548
  store
549
- ], '{"transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]":true,"opacity-0 pointer-events-none scale-95":!p0.opened}'),
549
+ ], '{"motion-safe:transition-all absolute top-full mt-2 left-0 gap-1 z-[1000]":true,"opacity-0 pointer-events-none scale-95":!p0.opened}'),
550
550
  color: _fnSignal((p0) => p0.value ?? "#000000", [
551
551
  props
552
552
  ], 'p0.value??"#000000"'),
@@ -700,7 +700,7 @@ const ColorPickerRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
700
700
  ]));
701
701
  return /* @__PURE__ */ _jsxQ("div", {
702
702
  class: {
703
- "transition-all p-4 bg-gray-800/50 backdrop-blur-xl flex flex-col gap-6 rounded-lg border border-gray-700 touch-none": true,
703
+ "motion-safe:transition-all p-4 bg-gray-800/50 backdrop-blur-xl flex flex-col gap-6 rounded-lg border border-gray-700 touch-none": true,
704
704
  ...props1.class
705
705
  }
706
706
  }, {
@@ -777,7 +777,7 @@ const ColorPickerRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
777
777
  ]),
778
778
  style: `background: ${color}`
779
779
  }, {
780
- class: "w-[25px] h-[25px] border border-gray-700 rounded-md hover:scale-110 transition-all",
780
+ class: "w-[25px] h-[25px] border border-gray-700 rounded-md hover:scale-110 motion-safe:transition-all",
781
781
  "preventdefault:mousedown": true,
782
782
  "preventdefault:touchstart": true
783
783
  }, null, 2, i);
@@ -843,12 +843,12 @@ const Header = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
843
843
  Component,
844
844
  /* @__PURE__ */ _jsxQ("div", null, {
845
845
  class: _fnSignal((p0) => ({
846
- "transition-all duration-200": true,
846
+ "motion-safe:transition-all duration-200": true,
847
847
  "opacity-0": !p0.loading,
848
848
  "opacity-100": p0.loading
849
849
  }), [
850
850
  props
851
- ], '{"transition-all duration-200":true,"opacity-0":!p0.loading,"opacity-100":p0.loading}')
851
+ ], '{"motion-safe:transition-all duration-200":true,"opacity-0":!p0.loading,"opacity-100":p0.loading}')
852
852
  }, /* @__PURE__ */ _jsxC(LoadingIcon, {
853
853
  width: 24,
854
854
  [_IMMUTABLE]: {
@@ -862,24 +862,24 @@ const Nav = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
862
862
  const menu = useSignal(false);
863
863
  return /* @__PURE__ */ _jsxQ("nav", null, {
864
864
  class: _fnSignal((p0) => ({
865
- "transition-all duration-200 flex flex-col top-0 left-0 w-full z-50": true,
865
+ "motion-safe:transition-all duration-200 flex flex-col top-0 left-0 w-full z-50": true,
866
866
  "fixed": p0.fixed,
867
867
  "absolute": !p0.fixed
868
868
  }), [
869
869
  props
870
- ], '{"transition-all duration-200 flex flex-col top-0 left-0 w-full z-50":true,"fixed":p0.fixed,"absolute":!p0.fixed}')
870
+ ], '{"motion-safe:transition-all duration-200 flex flex-col top-0 left-0 w-full z-50":true,"fixed":p0.fixed,"absolute":!p0.fixed}')
871
871
  }, [
872
872
  /* @__PURE__ */ _jsxQ("div", null, {
873
873
  class: _fnSignal((p0) => ({
874
- "sm:hidden transition-all flex flex-col px-4 items-center absolute w-full": true,
875
- "top-full mt-4": p0.value,
874
+ "sm:hidden motion-safe:transition-all flex flex-col px-2 items-center absolute w-full": true,
875
+ "top-full mt-2": p0.value,
876
876
  "opacity-0 top-0": !p0.value
877
877
  }), [
878
878
  menu
879
- ], '{"sm:hidden transition-all flex flex-col px-4 items-center absolute w-full":true,"top-full mt-4":p0.value,"opacity-0 top-0":!p0.value}')
879
+ ], '{"sm:hidden motion-safe:transition-all flex flex-col px-2 items-center absolute w-full":true,"top-full mt-2":p0.value,"opacity-0 top-0":!p0.value}')
880
880
  }, /* @__PURE__ */ _jsxQ("div", null, {
881
881
  class: {
882
- "flex flex-col transition-all max-w-7xl w-full p-2 bg-gray-800/50 border border-gray-700/50 backdrop-blur-lg drop-shadow-xl rounded-lg": true
882
+ "flex flex-col motion-safe:transition-all max-w-7xl w-full p-2 bg-gray-800/50 border border-gray-700/50 backdrop-blur-lg drop-shadow-xl rounded-lg": true
883
883
  }
884
884
  }, /* @__PURE__ */ _jsxC(Slot, {
885
885
  name: "mobile",
@@ -890,10 +890,10 @@ const Nav = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
890
890
  /* @__PURE__ */ _jsxQ("div", null, {
891
891
  class: _fnSignal((p0) => ({
892
892
  "bg-gray-800/50 border-b border-gray-700/50 backdrop-blur-lg drop-shadow-xl": !p0.floating,
893
- "p-4 pb-0": p0.floating
893
+ "p-2 pb-0": p0.floating
894
894
  }), [
895
895
  props
896
- ], '{"bg-gray-800/50 border-b border-gray-700/50 backdrop-blur-lg drop-shadow-xl":!p0.floating,"p-4 pb-0":p0.floating}')
896
+ ], '{"bg-gray-800/50 border-b border-gray-700/50 backdrop-blur-lg drop-shadow-xl":!p0.floating,"p-2 pb-0":p0.floating}')
897
897
  }, /* @__PURE__ */ _jsxQ("div", {
898
898
  class: {
899
899
  "flex justify-evenly w-full mx-auto px-4 py-2 max-w-7xl": true,
@@ -1003,7 +1003,7 @@ const NumberInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pro
1003
1003
  class: "flex flex-col"
1004
1004
  }, [
1005
1005
  /* @__PURE__ */ _jsxQ("label", null, {
1006
- class: "text-gray-300 pb-1",
1006
+ class: "text-gray-300 pb-1 select-none",
1007
1007
  for: _fnSignal((p0) => p0.id, [
1008
1008
  props
1009
1009
  ], "p0.id")
@@ -1034,11 +1034,11 @@ const NumberInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1034
1034
  `, "NumberInputRaw_component_useStyles_v5EsWTMt0DU"));
1035
1035
  return /* @__PURE__ */ _jsxQ("div", null, {
1036
1036
  class: _fnSignal((p0) => ({
1037
- "flex text-gray-50": true,
1037
+ "flex text-gray-50 touch-manipulation": true,
1038
1038
  "gap-2": !p0.input
1039
1039
  }), [
1040
1040
  props
1041
- ], '{"flex text-gray-50":true,"gap-2":!p0.input}')
1041
+ ], '{"flex text-gray-50 touch-manipulation":true,"gap-2":!p0.input}')
1042
1042
  }, [
1043
1043
  /* @__PURE__ */ _jsxC(Button, {
1044
1044
  size: "sm",
@@ -1168,7 +1168,7 @@ const SelectInput = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pro
1168
1168
  class: "flex flex-col"
1169
1169
  }, [
1170
1170
  /* @__PURE__ */ _jsxQ("label", null, {
1171
- class: "text-gray-300 pb-1",
1171
+ class: "text-gray-300 pb-1 select-none",
1172
1172
  for: _fnSignal((p0) => p0.id, [
1173
1173
  props
1174
1174
  ], "p0.id")
@@ -1182,7 +1182,9 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1182
1182
  const props1 = _restProps(props, [
1183
1183
  "id",
1184
1184
  "values",
1185
- "class"
1185
+ "class",
1186
+ "display",
1187
+ "color"
1186
1188
  ]);
1187
1189
  const store = useStore({
1188
1190
  opened: false
@@ -1210,7 +1212,7 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1210
1212
  }
1211
1213
  `, "SelectInputRaw_component_useStyles_Zc40Za0ngqc"));
1212
1214
  return /* @__PURE__ */ _jsxQ("div", null, {
1213
- class: "relative"
1215
+ class: "relative touch-manipulation"
1214
1216
  }, [
1215
1217
  /* @__PURE__ */ _jsxS("select", {
1216
1218
  ...props1,
@@ -1228,38 +1230,44 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1228
1230
  ], "p0.id")
1229
1231
  }, 0, null),
1230
1232
  /* @__PURE__ */ _jsxC(Button, {
1233
+ get color() {
1234
+ return props.color;
1235
+ },
1231
1236
  size: "sm",
1232
1237
  get class() {
1233
1238
  return {
1234
- "flex focus:bg-gray-700": true,
1239
+ "flex": true,
1235
1240
  ...props.class
1236
1241
  };
1237
1242
  },
1238
1243
  children: [
1239
- /* @__PURE__ */ _jsxQ("span", null, {
1244
+ _fnSignal((p0) => p0.display, [
1245
+ props
1246
+ ], "p0.display"),
1247
+ !props.display && /* @__PURE__ */ _jsxQ("span", null, {
1240
1248
  class: "flex-1 text-left",
1241
1249
  id: _fnSignal((p0) => `lui-${p0.id}-name`, [
1242
1250
  props
1243
1251
  ], "`lui-${p0.id}-name`")
1244
- }, props.values.find((value) => value.value.toString() === props1.value)?.name ?? props.values[0].name, 1, null),
1252
+ }, props.values.find((value) => value.value.toString() === props1.value)?.name ?? props.values[0].name, 1, "cA_3"),
1245
1253
  /* @__PURE__ */ _jsxC(ChevronDown, {
1246
1254
  width: 16,
1247
1255
  get class() {
1248
1256
  return {
1249
- "transition-all duration-200": true,
1257
+ "motion-safe:transition-all duration-200": true,
1250
1258
  "transform rotate-180": store.opened
1251
1259
  };
1252
1260
  },
1253
1261
  [_IMMUTABLE]: {
1254
1262
  class: _fnSignal((p0) => ({
1255
- "transition-all duration-200": true,
1263
+ "motion-safe:transition-all duration-200": true,
1256
1264
  "transform rotate-180": p0.opened
1257
1265
  }), [
1258
1266
  store
1259
- ], '{"transition-all duration-200":true,"transform rotate-180":p0.opened}'),
1267
+ ], '{"motion-safe:transition-all duration-200":true,"transform rotate-180":p0.opened}'),
1260
1268
  width: _IMMUTABLE
1261
1269
  }
1262
- }, 3, "cA_3")
1270
+ }, 3, "cA_4")
1263
1271
  ],
1264
1272
  onClick$: /* @__PURE__ */ inlinedQrl(() => {
1265
1273
  const [store2] = useLexicalScope();
@@ -1269,18 +1277,21 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1269
1277
  ]),
1270
1278
  [_IMMUTABLE]: {
1271
1279
  class: _fnSignal((p0) => ({
1272
- "flex focus:bg-gray-700": true,
1280
+ "flex": true,
1273
1281
  ...p0.class
1274
1282
  }), [
1275
1283
  props
1276
- ], '{"flex focus:bg-gray-700":true,...p0.class}'),
1284
+ ], '{"flex":true,...p0.class}'),
1285
+ color: _fnSignal((p0) => p0.color, [
1286
+ props
1287
+ ], "p0.color"),
1277
1288
  onClick$: _IMMUTABLE,
1278
1289
  size: _IMMUTABLE
1279
1290
  }
1280
- }, 1, "cA_4"),
1291
+ }, 1, "cA_5"),
1281
1292
  /* @__PURE__ */ _jsxQ("div", {
1282
1293
  class: {
1283
- "transition-all absolute top-full left-0 p-1 mt-2 gap-1 bg-gray-800/50 backdrop-blur-xl flex flex-col rounded-lg border border-gray-700 z-[1000] max-h-72 lui-scroll overflow-auto select-none": true,
1294
+ "motion-safe:transition-all absolute top-full left-0 p-1 mt-2 gap-1 bg-gray-800/50 backdrop-blur-xl flex flex-col rounded-lg border border-gray-700 z-[1000] max-h-72 lui-scroll overflow-auto select-none": true,
1284
1295
  "pointer-events-none opacity-0 scale-95": !store.opened
1285
1296
  }
1286
1297
  }, {
@@ -1289,6 +1300,7 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1289
1300
  ], "`lui-${p0.id}-opts`")
1290
1301
  }, props.values.map((value, i) => {
1291
1302
  return /* @__PURE__ */ _jsxC(Button, {
1303
+ color: "transparent",
1292
1304
  onClick$: /* @__PURE__ */ inlinedQrl(() => {
1293
1305
  const [props2, store2, value2] = useLexicalScope();
1294
1306
  store2.opened = false;
@@ -1304,29 +1316,28 @@ const SelectInputRaw = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1304
1316
  ]),
1305
1317
  get class() {
1306
1318
  return {
1307
- "border-0 bg-transparent": true,
1308
1319
  "opacity-0": !store.opened
1309
1320
  };
1310
1321
  },
1311
1322
  children: _wrapSignal(value, "name"),
1312
1323
  [_IMMUTABLE]: {
1313
1324
  class: _fnSignal((p0) => ({
1314
- "border-0 bg-transparent": true,
1315
1325
  "opacity-0": !p0.opened
1316
1326
  }), [
1317
1327
  store
1318
- ], '{"border-0 bg-transparent":true,"opacity-0":!p0.opened}')
1328
+ ], '{"opacity-0":!p0.opened}'),
1329
+ color: _IMMUTABLE
1319
1330
  }
1320
1331
  }, 1, i);
1321
1332
  }), 1, null)
1322
- ], 1, "cA_5");
1333
+ ], 1, "cA_6");
1323
1334
  }, "SelectInputRaw_component_Itdx5yPeQd4"));
1324
1335
  const TextArea = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
1325
1336
  return /* @__PURE__ */ _jsxQ("div", null, {
1326
1337
  class: "flex flex-col"
1327
1338
  }, [
1328
1339
  /* @__PURE__ */ _jsxQ("label", null, {
1329
- class: "text-gray-300 pb-1",
1340
+ class: "text-gray-300 pb-1 select-none",
1330
1341
  for: _fnSignal((p0) => p0.id, [
1331
1342
  props
1332
1343
  ], "p0.id")
@@ -1373,11 +1384,11 @@ const Toggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
1373
1384
  ]);
1374
1385
  return /* @__PURE__ */ _jsxQ("div", null, {
1375
1386
  class: _fnSignal((p0) => ({
1376
- "flex gap-3 items-center": true,
1387
+ "flex gap-3 items-center touch-manipulation": true,
1377
1388
  "justify-center": p0.center
1378
1389
  }), [
1379
1390
  props
1380
- ], '{"flex gap-3 items-center":true,"justify-center":p0.center}')
1391
+ ], '{"flex gap-3 items-center touch-manipulation":true,"justify-center":p0.center}')
1381
1392
  }, [
1382
1393
  /* @__PURE__ */ _jsxQ("label", null, {
1383
1394
  class: "inline-flex relative items-center cursor-pointer"
@@ -1393,9 +1404,9 @@ const Toggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
1393
1404
  }, 0, null),
1394
1405
  /* @__PURE__ */ _jsxQ("div", null, {
1395
1406
  class: {
1396
- "transition ease-in-out w-12 h-7 rounded-md peer border hover:shadow-lg": true,
1407
+ "motion-safe:transition ease-in-out w-12 h-7 rounded-md peer border hover:shadow-lg": true,
1397
1408
  "bg-gray-800 border-gray-700 hover:bg-gray-700 active:bg-gray-600": true,
1398
- "after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:border after:rounded-md after:h-5 after:w-5 after:transition-all after:ease-in-out": true,
1409
+ "after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:border after:rounded-md after:h-5 after:w-5 after:motion-safe:transition-all after:ease-in-out": true,
1399
1410
  "after:bg-gray-700 after:border-gray-600 after:hover:bg-gray-600 after:active:bg-gray-500": true,
1400
1411
  "peer-checked:bg-blue-700 peer-checked:border-blue-600 peer-checked:hover:bg-blue-600 peer-checked:active:bg-blue-500": true,
1401
1412
  "peer-checked:after:translate-x-full peer-checked:after:bg-blue-600 peer-checked:after:border-blue-500 peer-checked:after:hover:bg-blue-500 peer-checked:after:active:bg-blue-400": true
@@ -1405,7 +1416,7 @@ const Toggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
1405
1416
  props.label && /* @__PURE__ */ _jsxQ("label", {
1406
1417
  for: _wrapSignal(props1, "id")
1407
1418
  }, {
1408
- class: "text-gray-300 flex gap-2"
1419
+ class: "text-gray-300 flex gap-2 select-none"
1409
1420
  }, _fnSignal((p0) => p0.label, [
1410
1421
  props
1411
1422
  ], "p0.label"), 3, "yu_0")
@@ -1,8 +1,11 @@
1
- import type { PropsOf } from '@builder.io/qwik';
1
+ import type { JSXChildren, PropsOf } from '@builder.io/qwik';
2
+ import type { buttonColorClasses } from './Button';
2
3
  interface SelectInputProps extends Omit<PropsOf<'select'>, 'class'> {
3
4
  class?: {
4
5
  [key: string]: boolean;
5
6
  };
7
+ display?: JSXChildren;
8
+ color?: keyof typeof buttonColorClasses;
6
9
  id: string;
7
10
  values: {
8
11
  name: string;
@@ -9,7 +9,7 @@ export interface TextInputRawProps extends Omit<(PropsOf<'input'> & {
9
9
  interface TextInputProps extends Omit<TextInputRawProps, 'children'> {
10
10
  id: string;
11
11
  }
12
- export declare const InputClasses = "transition ease-in-out 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-2.5 py-1.5";
12
+ export declare const InputClasses = "motion-safe:transition ease-in-out 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-2.5 py-1.5 touch-manipulation";
13
13
  export declare const TextInput: import("@builder.io/qwik").Component<TextInputProps>;
14
14
  export declare const TextInputRaw: import("@builder.io/qwik").Component<TextInputRawProps>;
15
15
  export {};
@@ -0,0 +1,36 @@
1
+ export declare const clamp: (value: number, min: number, max: number) => number;
2
+ export declare function getMousePosition(e: MouseEvent | TouchEvent): {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ export declare const pad2: (c: string) => string;
7
+ export type RGBAColor = {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a?: number;
12
+ };
13
+ export type HSVAColor = {
14
+ h: number;
15
+ s: number;
16
+ v: number;
17
+ a?: number;
18
+ };
19
+ export declare function getBrightness(color: RGBAColor): number;
20
+ export declare function hexNumberToRgb(color: number): {
21
+ r: number;
22
+ g: number;
23
+ b: number;
24
+ };
25
+ export declare function rgbToHex(color: RGBAColor): string;
26
+ export declare const hexStringToNumber: (color: string) => number;
27
+ export declare function hsvToRgb(color: HSVAColor): {
28
+ r: number;
29
+ g: number;
30
+ b: number;
31
+ };
32
+ export declare function rgbToHsv(color: RGBAColor): {
33
+ h: number;
34
+ s: number;
35
+ v: number;
36
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luminescent/ui",
3
- "version": "0.10.0-1",
3
+ "version": "0.10.0-2",
4
4
  "description": "Luminescent UI library",
5
5
  "main": "./lib/index.qwik.mjs",
6
6
  "qwik": "./lib/index.qwik.mjs",
@@ -43,12 +43,12 @@
43
43
  "@anuragroy/tailwindcss-animate": "^1.0.6",
44
44
  "@builder.io/qwik": "1.4.5",
45
45
  "@builder.io/qwik-city": "^1.4.5",
46
- "@types/eslint": "^8.56.4",
47
- "@types/node": "^20.11.21",
46
+ "@types/eslint": "^8.56.5",
47
+ "@types/node": "^20.11.24",
48
48
  "@typescript-eslint/eslint-plugin": "^7.1.0",
49
49
  "@typescript-eslint/parser": "^7.1.0",
50
- "autoprefixer": "^10.4.17",
51
- "chart.js": "^4.4.1",
50
+ "autoprefixer": "^10.4.18",
51
+ "chart.js": "^4.4.2",
52
52
  "eslint": "^8.57.0",
53
53
  "eslint-plugin-qwik": "latest",
54
54
  "np": "^10.0.0",