@elmethis/qwik 1.0.0-alpha.29 → 1.0.0-alpha.31

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.
@@ -20,15 +20,15 @@ import { zodToJsonSchema } from "zod-to-json-schema";
20
20
  import { v7 } from "uuid";
21
21
  import autoAnimate from "@formkit/auto-animate";
22
22
  import { cloneDeep, isEqual } from "es-toolkit";
23
- const tab = "_tab_1fco0_14";
24
- const active$3 = "_active_1fco0_37";
23
+ const tab = "_tab_fka8s_14";
24
+ const active$3 = "_active_fka8s_42";
25
25
  const styles$S = {
26
- "elm-tabs": "_elm-tabs_1fco0_1",
27
- "tab-container": "_tab-container_1fco0_14",
26
+ "elm-tabs": "_elm-tabs_fka8s_1",
27
+ "tab-container": "_tab-container_fka8s_14",
28
28
  tab,
29
29
  active: active$3,
30
- "tab-content": "_tab-content_1fco0_48",
31
- "tab-content-inner": "_tab-content-inner_1fco0_53"
30
+ "tab-content": "_tab-content_fka8s_53",
31
+ "tab-content-inner": "_tab-content-inner_fka8s_58"
32
32
  };
33
33
  const row$2 = "_row_12wiu_5";
34
34
  const open$1 = "_open_12wiu_11";
@@ -43,7 +43,7 @@ const styles$R = {
43
43
  both,
44
44
  inner
45
45
  };
46
- const _hf0$B = (p0) => ({
46
+ const _hf0$C = (p0) => ({
47
47
  "--elmethis-scoped-transition-timing-function": p0.transitionTimingFunction ?? "ease-in-out"
48
48
  });
49
49
  const ElmCollapse = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawProps) => {
@@ -64,7 +64,7 @@ const ElmCollapse = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_ra
64
64
  },
65
65
  _rawProps.class
66
66
  ],
67
- style: _fnSignal(_hf0$B, [
67
+ style: _fnSignal(_hf0$C, [
68
68
  _rawProps
69
69
  ]),
70
70
  ..._getVarProps(props)
@@ -76,7 +76,7 @@ function useBindableSignal({ signal, defaultValue }) {
76
76
  const internal = useSignal(defaultValue);
77
77
  return signal ?? internal;
78
78
  }
79
- const _hf0$A = (p0, p1) => p0.selectedValue.value === p1.value;
79
+ const _hf0$B = (p0, p1) => p0.selectedValue.value === p1.value;
80
80
  const ElmTabsContext = createContextId("elmethis.tabs");
81
81
  const ElmTabs = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
82
82
  const rest = _restProps(props, [
@@ -152,7 +152,7 @@ const ElmTabPanel = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pro
152
152
  ..._getVarProps(rest)
153
153
  }, _getConstProps(rest), /* @__PURE__ */ _jsxSorted(ElmCollapse, null, {
154
154
  direction: "row",
155
- isOpen: _fnSignal(_hf0$A, [
155
+ isOpen: _fnSignal(_hf0$B, [
156
156
  ctx,
157
157
  props
158
158
  ]),
@@ -271,8 +271,8 @@ const styles$O = {
271
271
  const styles$N = {
272
272
  "elm-inline-icon": "_elm-inline-icon_1qs0i_1"
273
273
  };
274
- const _hf0$z = (p0) => p0.width ?? p0.size ?? 16;
275
- const _hf1$j = (p0) => p0.height ?? p0.size ?? 16;
274
+ const _hf0$A = (p0) => p0.width ?? p0.size ?? 16;
275
+ const _hf1$k = (p0) => p0.height ?? p0.size ?? 16;
276
276
  const ElmInlineIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawProps) => {
277
277
  const props = _restProps(_rawProps, [
278
278
  "class",
@@ -290,18 +290,18 @@ const ElmInlineIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_
290
290
  ..._getVarProps(props)
291
291
  }, _getConstProps(props), /* @__PURE__ */ _jsxSorted("img", {
292
292
  alt: _wrapProp(_rawProps, "alt"),
293
- height: _fnSignal(_hf1$j, [
293
+ height: _fnSignal(_hf1$k, [
294
294
  _rawProps
295
295
  ]),
296
296
  src: _wrapProp(_rawProps, "src"),
297
- width: _fnSignal(_hf0$z, [
297
+ width: _fnSignal(_hf0$A, [
298
298
  _rawProps
299
299
  ])
300
300
  }, {
301
301
  class: styles$N["elm-inline-icon"]
302
302
  }, null, 3, null), 0, "D4_0");
303
303
  }, "ElmInlineIcon_component_9LkENpSGozA"));
304
- const _hf0$y = (p0) => ({
304
+ const _hf0$z = (p0) => ({
305
305
  ...p0.style,
306
306
  "--elmethis-scoped-color": p0.color,
307
307
  "--elmethis-scoped-font-size": p0.size ?? "1em",
@@ -364,7 +364,7 @@ const ElmInlineText = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_
364
364
  textStyles.text,
365
365
  _rawProps.class
366
366
  ],
367
- style: _fnSignal(_hf0$y, [
367
+ style: _fnSignal(_hf0$z, [
368
368
  _rawProps
369
369
  ]),
370
370
  ..._getVarProps(rest)
@@ -373,7 +373,7 @@ const ElmInlineText = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_
373
373
  const styles$M = {
374
374
  "elm-paragraph": "_elm-paragraph_rbsk5_1"
375
375
  };
376
- const _hf0$x = (p0) => ({
376
+ const _hf0$y = (p0) => ({
377
377
  ...p0.style,
378
378
  "--elmethis-scoped-color": p0.color,
379
379
  "--elmethis-scoped-background-color": p0.backgroundColor
@@ -391,7 +391,7 @@ const ElmParagraph = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_r
391
391
  textStyles.text,
392
392
  _rawProps.class
393
393
  ],
394
- style: _fnSignal(_hf0$x, [
394
+ style: _fnSignal(_hf0$y, [
395
395
  _rawProps
396
396
  ]),
397
397
  ..._getVarProps(props)
@@ -511,8 +511,8 @@ function firstChildMargin(index) {
511
511
  marginBlockStart: 0
512
512
  } : void 0;
513
513
  }
514
- const _hf0$w = (p0) => p0.props.min ?? 0;
515
- const _hf1$i = (p0) => p0.props.max;
514
+ const _hf0$x = (p0) => p0.props.min ?? 0;
515
+ const _hf1$j = (p0) => p0.props.max;
516
516
  const textFieldInputType = {
517
517
  shortText: "text",
518
518
  number: "number",
@@ -669,10 +669,10 @@ const basicCatalog = new CatalogRenderer([
669
669
  defineRenderer(SliderApi, (_rawProps) => {
670
670
  const value = typeof _rawProps.props.value === "number" ? _rawProps.props.value : Number(_rawProps.ctx.dataContext.resolveDynamicValue(_rawProps.props.value) ?? 0);
671
671
  return /* @__PURE__ */ _jsxSorted("input", {
672
- max: _fnSignal(_hf1$i, [
672
+ max: _fnSignal(_hf1$j, [
673
673
  _rawProps
674
674
  ]),
675
- min: _fnSignal(_hf0$w, [
675
+ min: _fnSignal(_hf0$x, [
676
676
  _rawProps
677
677
  ]),
678
678
  "q-e:change": /* @__PURE__ */ inlinedQrl((_e, el, _rawProps2) => _rawProps2.setBinding$("value", Number(el.value)), "basicCatalog_defineRenderer_input_q_e_change_U0Dwvjz0O9o"),
@@ -1168,7 +1168,7 @@ const ElmA2ui = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
1168
1168
  const styles$K = {
1169
1169
  "elm-katex": "_elm-katex_189xe_1"
1170
1170
  };
1171
- const _hf0$v = (p0) => p0.value ?? "";
1171
+ const _hf0$w = (p0) => p0.value ?? "";
1172
1172
  const ElmKatex = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
1173
1173
  const rest = _restProps(props, [
1174
1174
  "class",
@@ -1190,7 +1190,7 @@ const ElmKatex = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
1190
1190
  props.block ? styles$K["elm-katex"] : void 0,
1191
1191
  props.class
1192
1192
  ],
1193
- dangerouslySetInnerHTML: _fnSignal(_hf0$v, [
1193
+ dangerouslySetInnerHTML: _fnSignal(_hf0$w, [
1194
1194
  html
1195
1195
  ]),
1196
1196
  ..._getVarProps(rest)
@@ -1207,8 +1207,8 @@ const styles$J = {
1207
1207
  divider: divider$1,
1208
1208
  code
1209
1209
  };
1210
- const _hf0$u = (p0) => p0.icon.viewBox;
1211
- const _hf1$h = (p0) => p0.size ?? 24;
1210
+ const _hf0$v = (p0) => p0.icon.viewBox;
1211
+ const _hf1$i = (p0) => p0.size ?? 24;
1212
1212
  const scopeId = (value, key2, suffix) => key2 === "id" ? `${value}-${suffix}` : value.replace(/url\(#([^)]+)\)/g, `url(#$1-${suffix})`);
1213
1213
  const renderNode = (node, suffix, key2) => {
1214
1214
  const attrs = {};
@@ -1227,13 +1227,13 @@ const LanguageGlyph = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_
1227
1227
  const suffix = useId();
1228
1228
  return /* @__PURE__ */ _jsxSplit("svg", {
1229
1229
  xmlns: "http://www.w3.org/2000/svg",
1230
- viewBox: _fnSignal(_hf0$u, [
1230
+ viewBox: _fnSignal(_hf0$v, [
1231
1231
  _rawProps
1232
1232
  ]),
1233
- width: _fnSignal(_hf1$h, [
1233
+ width: _fnSignal(_hf1$i, [
1234
1234
  _rawProps
1235
1235
  ]),
1236
- height: _fnSignal(_hf1$h, [
1236
+ height: _fnSignal(_hf1$i, [
1237
1237
  _rawProps
1238
1238
  ]),
1239
1239
  class: _wrapProp(_rawProps, "class"),
@@ -1244,13 +1244,13 @@ const LanguageGlyph = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_
1244
1244
  const styles$I = {
1245
1245
  "elm-mdi-icon": "_elm-mdi-icon_ihskx_1"
1246
1246
  };
1247
- const _hf0$t = (p0) => ({
1247
+ const _hf0$u = (p0) => ({
1248
1248
  "--elmethis-scoped-color": p0.lightColor ?? p0.color ?? "currentColor",
1249
1249
  "--dark-color": p0.darkColor ?? p0.color ?? "currentColor",
1250
1250
  ...p0.style
1251
1251
  });
1252
- const _hf1$g = (p0) => p0.size ?? "1em";
1253
- const _hf2$b = (p0) => p0.color ?? "currentColor";
1252
+ const _hf1$h = (p0) => p0.size ?? "1em";
1253
+ const _hf2$c = (p0) => p0.color ?? "currentColor";
1254
1254
  const ElmMdiIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawProps) => {
1255
1255
  const props = _restProps(_rawProps, [
1256
1256
  "class",
@@ -1266,17 +1266,17 @@ const ElmMdiIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_raw
1266
1266
  styles$I["elm-mdi-icon"],
1267
1267
  _rawProps.class
1268
1268
  ],
1269
- style: _fnSignal(_hf0$t, [
1269
+ style: _fnSignal(_hf0$u, [
1270
1270
  _rawProps
1271
1271
  ]),
1272
- width: _fnSignal(_hf1$g, [
1272
+ width: _fnSignal(_hf1$h, [
1273
1273
  _rawProps
1274
1274
  ]),
1275
- height: _fnSignal(_hf1$g, [
1275
+ height: _fnSignal(_hf1$h, [
1276
1276
  _rawProps
1277
1277
  ]),
1278
1278
  viewBox: "0 0 24 24",
1279
- fill: _fnSignal(_hf2$b, [
1279
+ fill: _fnSignal(_hf2$c, [
1280
1280
  _rawProps
1281
1281
  ]),
1282
1282
  xmlns: "http://www.w3.org/2000/svg",
@@ -1287,7 +1287,7 @@ const ElmMdiIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_raw
1287
1287
  d: _wrapProp(_rawProps, "d")
1288
1288
  }, null, null, 3, null), 0, "IA_0");
1289
1289
  }, "ElmMdiIcon_component_AUxPCIu3tI0"));
1290
- const _hf0$s = (p0) => p0.size ?? 24;
1290
+ const _hf0$t = (p0) => p0.size ?? 24;
1291
1291
  const ElmLanguageIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawProps) => {
1292
1292
  const normalized = normalizeLanguage(_rawProps.language);
1293
1293
  if (normalized === "file") {
@@ -1300,7 +1300,7 @@ const ElmLanguageIcon = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
1300
1300
  return /* @__PURE__ */ _jsxSorted(LanguageGlyph, {
1301
1301
  icon: languageIcons[normalized]
1302
1302
  }, {
1303
- size: _fnSignal(_hf0$s, [
1303
+ size: _fnSignal(_hf0$t, [
1304
1304
  _rawProps
1305
1305
  ]),
1306
1306
  class: _wrapProp(_rawProps, "class"),
@@ -1419,8 +1419,8 @@ const useClipboard = (options) => {
1419
1419
  copy
1420
1420
  };
1421
1421
  };
1422
- const _hf0$r = (p0) => p0.language ?? "txt";
1423
- const _hf1$f = (p0) => p0.caption || (p0.language ?? "txt");
1422
+ const _hf0$s = (p0) => p0.language ?? "txt";
1423
+ const _hf1$g = (p0) => p0.caption || (p0.language ?? "txt");
1424
1424
  const ElmCodeBlock = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawProps) => {
1425
1425
  const props = _restProps(_rawProps, [
1426
1426
  "class",
@@ -1441,14 +1441,14 @@ const ElmCodeBlock = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_r
1441
1441
  /* @__PURE__ */ _jsxSorted("span", null, {
1442
1442
  class: styles$J["language-icon"]
1443
1443
  }, /* @__PURE__ */ _jsxSorted(ElmLanguageIcon, null, {
1444
- language: _fnSignal(_hf0$r, [
1444
+ language: _fnSignal(_hf0$s, [
1445
1445
  _rawProps
1446
1446
  ])
1447
1447
  }, null, 3, "sK_0"), 1, null),
1448
1448
  /* @__PURE__ */ _jsxSorted("span", null, {
1449
1449
  class: styles$J.caption
1450
1450
  }, /* @__PURE__ */ _jsxSorted(ElmInlineText, null, null, [
1451
- _fnSignal(_hf1$f, [
1451
+ _fnSignal(_hf1$g, [
1452
1452
  _rawProps
1453
1453
  ]),
1454
1454
  /* @__PURE__ */ _jsxSorted(Slot, null, null, null, 3, "sK_1")
@@ -1463,7 +1463,7 @@ const ElmCodeBlock = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_r
1463
1463
  class: styles$J.code
1464
1464
  }, /* @__PURE__ */ _jsxSorted(ElmShikiHighlighter, null, {
1465
1465
  code: _wrapProp(_rawProps, "code"),
1466
- language: _fnSignal(_hf0$r, [
1466
+ language: _fnSignal(_hf0$s, [
1467
1467
  _rawProps
1468
1468
  ])
1469
1469
  }, null, 3, "sK_4"), 1, null)
@@ -1515,13 +1515,13 @@ const styles$F = {
1515
1515
  "error-notice": "_error-notice_p7xym_421",
1516
1516
  "error-message": "_error-message_p7xym_431"
1517
1517
  };
1518
- const _hf0$q = (p0, p1) => ({
1518
+ const _hf0$r = (p0, p1) => ({
1519
1519
  "--elmethis-scoped-progress": p1.value,
1520
1520
  "--elmethis-scoped-hover": p0.value ?? 0
1521
1521
  });
1522
- const _hf1$e = (p0) => p0.errorMessage ?? "This audio couldn't be loaded.";
1523
- const _hf2$a = (p0) => p0.value ? "Pause" : "Play";
1524
- const _hf3$9 = (p0) => p0.value ? "Unmute" : "Mute";
1522
+ const _hf1$f = (p0) => p0.errorMessage ?? "This audio couldn't be loaded.";
1523
+ const _hf2$b = (p0) => p0.value ? "Pause" : "Play";
1524
+ const _hf3$a = (p0) => p0.value ? "Unmute" : "Mute";
1525
1525
  const _hf4$5 = (p0, p1) => p0.value ? 0 : p1.value;
1526
1526
  const _hf5$3 = (p0, p1) => ({
1527
1527
  "--elmethis-scoped-volume": p0.value ? 0 : p1.value
@@ -1680,7 +1680,7 @@ const ElmAudioPlayer = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1680
1680
  hasError.value && styles$F.errored,
1681
1681
  props.class
1682
1682
  ],
1683
- style: _fnSignal(_hf0$q, [
1683
+ style: _fnSignal(_hf0$r, [
1684
1684
  hoverRatio,
1685
1685
  progress
1686
1686
  ]),
@@ -1785,7 +1785,7 @@ const ElmAudioPlayer = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1785
1785
  }, null, 3, "CY_2"),
1786
1786
  /* @__PURE__ */ _jsxSorted("span", null, {
1787
1787
  class: styles$F["error-message"]
1788
- }, _fnSignal(_hf1$e, [
1788
+ }, _fnSignal(_hf1$f, [
1789
1789
  props
1790
1790
  ]), 1, null)
1791
1791
  ], 1, "CY_3") : /* @__PURE__ */ _jsxSorted(Fragment, null, null, [
@@ -1883,7 +1883,7 @@ const ElmAudioPlayer = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1883
1883
  type: "button",
1884
1884
  class: styles$F["play-button"],
1885
1885
  "q-e:click": togglePlay,
1886
- "aria-label": _fnSignal(_hf2$a, [
1886
+ "aria-label": _fnSignal(_hf2$b, [
1887
1887
  isPlaying
1888
1888
  ]),
1889
1889
  "aria-pressed": _wrapProp(isPlaying)
@@ -1915,7 +1915,7 @@ const ElmAudioPlayer = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((
1915
1915
  type: "button",
1916
1916
  class: styles$F["icon-button"],
1917
1917
  "q-e:click": toggleMute,
1918
- "aria-label": _fnSignal(_hf3$9, [
1918
+ "aria-label": _fnSignal(_hf3$a, [
1919
1919
  isMuted
1920
1920
  ]),
1921
1921
  "aria-pressed": _wrapProp(isMuted)
@@ -2088,10 +2088,10 @@ const useModal = (options = {}) => {
2088
2088
  toggle
2089
2089
  };
2090
2090
  };
2091
- const _hf0$p = (p0) => p0.alt ?? p0.caption ?? "Image";
2092
- const _hf1$d = (p0, p1) => p0 ? void 0 : p1.srcset;
2093
- const _hf2$9 = (p0, p1) => p0 ? void 0 : p1.sizes;
2094
- const _hf3$8 = (p0) => ({
2091
+ const _hf0$q = (p0) => p0.alt ?? p0.caption ?? "Image";
2092
+ const _hf1$e = (p0, p1) => p0 ? void 0 : p1.srcset;
2093
+ const _hf2$a = (p0, p1) => p0 ? void 0 : p1.sizes;
2094
+ const _hf3$9 = (p0) => ({
2095
2095
  "--elmethis-scoped-opacity": p0.value ? 1 : 0.01
2096
2096
  });
2097
2097
  const _hf4$4 = (p0) => ({
@@ -2144,7 +2144,7 @@ const ElmBlockImage = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((p
2144
2144
  isLoading
2145
2145
  ]));
2146
2146
  const ImageComponent = (isModal) => /* @__PURE__ */ _jsxSorted("img", {
2147
- alt: _fnSignal(_hf0$p, [
2147
+ alt: _fnSignal(_hf0$q, [
2148
2148
  props
2149
2149
  ]),
2150
2150
  fetchPriority: isModal ? "low" : "auto",
@@ -2154,12 +2154,12 @@ const ElmBlockImage = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((p
2154
2154
  // Only the inline image owns imgRef; the modal image must not steal it
2155
2155
  // (ElmModal keeps its slot mounted, so both can coexist in the DOM).
2156
2156
  ref: isModal ? void 0 : imgRef,
2157
- sizes: _fnSignal(_hf2$9, [
2157
+ sizes: _fnSignal(_hf2$a, [
2158
2158
  isModal,
2159
2159
  props
2160
2160
  ]),
2161
2161
  src: _wrapProp(props, "src"),
2162
- srcset: _fnSignal(_hf1$d, [
2162
+ srcset: _fnSignal(_hf1$e, [
2163
2163
  isModal,
2164
2164
  props
2165
2165
  ]),
@@ -2182,7 +2182,7 @@ const ElmBlockImage = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((p
2182
2182
  }, _getConstProps(rest), [
2183
2183
  /* @__PURE__ */ _jsxSorted("div", null, {
2184
2184
  class: styles$E["image-container"],
2185
- style: _fnSignal(_hf3$8, [
2185
+ style: _fnSignal(_hf3$9, [
2186
2186
  isLoading
2187
2187
  ]),
2188
2188
  "q-e:click": handleOpenModal
@@ -2286,7 +2286,7 @@ const styles$A = {
2286
2286
  description,
2287
2287
  link
2288
2288
  };
2289
- const _hf0$o = (p0, p1, p2) => p2.value || p0.image == null ? p1 : {};
2289
+ const _hf0$p = (p0, p1, p2) => p2.value || p0.image == null ? p1 : {};
2290
2290
  const ElmBookmark = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawProps) => {
2291
2291
  const props = _restProps(_rawProps, [
2292
2292
  "class",
@@ -2322,7 +2322,7 @@ const ElmBookmark = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_ra
2322
2322
  }, [
2323
2323
  /* @__PURE__ */ _jsxSorted("img", {
2324
2324
  src: _wrapProp(_rawProps, "image"),
2325
- style: _fnSignal(_hf0$o, [
2325
+ style: _fnSignal(_hf0$p, [
2326
2326
  _rawProps,
2327
2327
  hiddenStyle,
2328
2328
  isError
@@ -2379,8 +2379,8 @@ const styles$z = {
2379
2379
  border,
2380
2380
  content: content$1
2381
2381
  };
2382
- const _hf0$n = (p0) => p0.monochrome ? "var(--elmethis-color-neutral-weak)" : "var(--elmethis-color-primary)";
2383
- const _hf1$c = (p0, p1) => p1.monochrome ? "var(--elmethis-color-neutral-weak)" : p0.value ? "var(--elmethis-color-accent-error)" : "var(--elmethis-color-primary)";
2382
+ const _hf0$o = (p0) => p0.monochrome ? "var(--elmethis-color-neutral-weak)" : "var(--elmethis-color-primary)";
2383
+ const _hf1$d = (p0, p1) => p1.monochrome ? "var(--elmethis-color-neutral-weak)" : p0.value ? "var(--elmethis-color-accent-error)" : "var(--elmethis-color-primary)";
2384
2384
  const ElmToggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
2385
2385
  const rest = _restProps(props, [
2386
2386
  "class",
@@ -2428,7 +2428,7 @@ const ElmToggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props
2428
2428
  ]
2429
2429
  }, null, /* @__PURE__ */ _jsxSorted(ElmMdiIcon, null, {
2430
2430
  d: mdiChevronRight,
2431
- color: _fnSignal(_hf0$n, [
2431
+ color: _fnSignal(_hf0$o, [
2432
2432
  props
2433
2433
  ]),
2434
2434
  size: "1rem"
@@ -2450,7 +2450,7 @@ const ElmToggle = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props
2450
2450
  }, null, /* @__PURE__ */ _jsxSorted(ElmMdiIcon, null, {
2451
2451
  d: mdiPlus,
2452
2452
  size: "1rem",
2453
- color: _fnSignal(_hf1$c, [
2453
+ color: _fnSignal(_hf1$d, [
2454
2454
  isOpen,
2455
2455
  props
2456
2456
  ])
@@ -2530,7 +2530,7 @@ const styles$x = {
2530
2530
  warning,
2531
2531
  caution
2532
2532
  };
2533
- const _hf0$m = (p0) => p0.type ?? "note";
2533
+ const _hf0$n = (p0) => p0.type ?? "note";
2534
2534
  const ICON_MAP = Object.freeze({
2535
2535
  note: mdiInformation,
2536
2536
  tip: mdiLightbulbOn,
@@ -2562,7 +2562,7 @@ const ElmCallout = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_raw
2562
2562
  class: styles$x.icon,
2563
2563
  size: "1.25rem"
2564
2564
  }, null, 3, "qp_0"),
2565
- /* @__PURE__ */ _jsxSorted("span", null, null, _fnSignal(_hf0$m, [
2565
+ /* @__PURE__ */ _jsxSorted("span", null, null, _fnSignal(_hf0$n, [
2566
2566
  _rawProps
2567
2567
  ]), 1, null)
2568
2568
  ], 1, null),
@@ -2623,16 +2623,23 @@ const ElmList = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((_rawPro
2623
2623
  }, _getConstProps(props), /* @__PURE__ */ _jsxSorted(Slot, null, null, null, 3, "jF_2"), 0, "jF_3");
2624
2624
  }
2625
2625
  }, "ElmList_component_aFEzPziW6Gs"));
2626
- const caption = "_caption_14qfo_8";
2627
- const spacing = "_spacing_14qfo_25";
2626
+ const caption = "_caption_wl7v3_68";
2627
+ const spacing = "_spacing_wl7v3_85";
2628
2628
  const styles$u = {
2629
- "elm-table": "_elm-table_14qfo_1",
2629
+ "elm-table-frame": "_elm-table-frame_wl7v3_3",
2630
+ "elm-table-scroll": "_elm-table-scroll_wl7v3_50",
2631
+ "elm-table": "_elm-table_wl7v3_3",
2630
2632
  caption,
2631
- "caption-inner": "_caption-inner_14qfo_18",
2632
- spacing
2633
+ "caption-inner": "_caption-inner_wl7v3_78",
2634
+ spacing,
2635
+ "sticky-row-header": "_sticky-row-header_wl7v3_96"
2633
2636
  };
2634
2637
  const HasRowHeaderContext = createContextId("elm.table.HasRowHeader");
2635
2638
  const TableSectionContext = createContextId("elm.table.Section");
2639
+ const _hf0$m = (p0, p1) => p1.value && !p0.value ? "" : void 0;
2640
+ const _hf1$c = (p0) => p0.value ? 0 : void 0;
2641
+ const _hf2$9 = (p0, p1) => p0.value && p1.caption != null ? "region" : void 0;
2642
+ const _hf3$8 = (p0, p1) => p0.value && p1.caption != null ? p1.caption : void 0;
2636
2643
  const ElmTable = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
2637
2644
  const rest = _restProps(props, [
2638
2645
  "class",
@@ -2648,10 +2655,68 @@ const ElmTable = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
2648
2655
  props
2649
2656
  ]));
2650
2657
  useContextProvider(HasRowHeaderContext, hasRowHeader);
2651
- return /* @__PURE__ */ _jsxSplit("table", {
2658
+ const scrollRef = useSignal();
2659
+ const canScroll = useSignal(false);
2660
+ const atStart = useSignal(true);
2661
+ const atEnd = useSignal(true);
2662
+ useVisibleTaskQrl(/* @__PURE__ */ inlinedQrl(({ cleanup }) => {
2663
+ const atEnd2 = _captures[0], atStart2 = _captures[1], canScroll2 = _captures[2], scrollRef2 = _captures[3];
2664
+ const el = scrollRef2.value;
2665
+ if (el == null) return;
2666
+ const measure = () => {
2667
+ const max = el.scrollWidth - el.clientWidth;
2668
+ canScroll2.value = max > 1;
2669
+ atStart2.value = el.scrollLeft <= 1;
2670
+ atEnd2.value = el.scrollLeft >= max - 1;
2671
+ };
2672
+ measure();
2673
+ el.addEventListener("scroll", measure, {
2674
+ passive: true
2675
+ });
2676
+ cleanup(() => el.removeEventListener("scroll", measure));
2677
+ if (typeof ResizeObserver !== "undefined") {
2678
+ const observer = new ResizeObserver(measure);
2679
+ observer.observe(el);
2680
+ cleanup(() => observer.disconnect());
2681
+ }
2682
+ }, "ElmTable_component_useVisibleTask_93J4bNO5KnI", [
2683
+ atEnd,
2684
+ atStart,
2685
+ canScroll,
2686
+ scrollRef
2687
+ ]), {
2688
+ strategy: "document-ready"
2689
+ });
2690
+ return /* @__PURE__ */ _jsxSorted("div", null, {
2691
+ class: styles$u["elm-table-frame"],
2692
+ "data-overflow-start": _fnSignal(_hf0$m, [
2693
+ atStart,
2694
+ canScroll
2695
+ ]),
2696
+ "data-overflow-end": _fnSignal(_hf0$m, [
2697
+ atEnd,
2698
+ canScroll
2699
+ ])
2700
+ }, /* @__PURE__ */ _jsxSorted("div", {
2701
+ "aria-label": _fnSignal(_hf3$8, [
2702
+ canScroll,
2703
+ props
2704
+ ]),
2705
+ ref: scrollRef,
2706
+ role: _fnSignal(_hf2$9, [
2707
+ canScroll,
2708
+ props
2709
+ ])
2710
+ }, {
2711
+ class: styles$u["elm-table-scroll"],
2712
+ tabIndex: _fnSignal(_hf1$c, [
2713
+ canScroll
2714
+ ])
2715
+ }, /* @__PURE__ */ _jsxSplit("table", {
2652
2716
  class: [
2653
2717
  styles$u["elm-table"],
2654
2718
  textStyles.text,
2719
+ hasRowHeader.value && styles$u["sticky-row-header"],
2655
2720
  props.class
2656
2721
  ],
2657
2722
  ..._getVarProps(rest)
@@ -2670,7 +2735,7 @@ const ElmTable = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
2670
2735
  }, null, 3, null)
2671
2736
  ], 1, null), 1, "Yw_1"),
2672
2737
  /* @__PURE__ */ _jsxSorted(Slot, null, null, null, 3, "Yw_2")
2673
- ], 0, "Yw_3");
2738
+ ], 0, null), 1, null), 1, "Yw_3");
2674
2739
  }, "ElmTable_component_UT2AChu46oY"));
2675
2740
  const styles$t = {
2676
2741
  "elm-table-header": "_elm-table-header_jhft7_1"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1",
3
- "manifestHash": "w0o7qg",
3
+ "manifestHash": "6qicfm",
4
4
  "options": {
5
5
  "target": "lib",
6
6
  "buildMode": "development",
@@ -30,8 +30,8 @@
30
30
  "mapping": {},
31
31
  "bundles": {
32
32
  "../index.qwik.cjs": {
33
- "size": 489408,
34
- "total": 489408,
33
+ "size": 491664,
34
+ "total": 491664,
35
35
  "origins": [
36
36
  "src/components/a2ui/catalog/basic-catalog.tsx",
37
37
  "src/components/a2ui/catalog/block-catalog.tsx",
@@ -187,7 +187,7 @@
187
187
  "assets": {
188
188
  "style.css": {
189
189
  "name": "style.css.css",
190
- "size": 79234
190
+ "size": 81961
191
191
  },
192
192
  "assets/bundle-graph.BqrDAOEV.json": {
193
193
  "name": "bundle-graph.json",