@db-ux/v-core-components 5.6.0 → 5.6.3-icon-font-fallback01-130f6dc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @db-ux/v-core-components
2
2
 
3
+ ## 5.6.2
4
+
5
+ ### Patch Changes
6
+
7
+ - fix(DBInput): keep a partially typed date that the browser cannot parse - [see commit 4ab2aaa](https://github.com/db-ux-design-system/core-web/commit/4ab2aaa9cc652823f0b467d6d8048b6a48d36748)
8
+ - fix(DBControlPanelNavigationItemGroup): correct drilldown and popover z-index layering - [see commit 1e855b9](https://github.com/db-ux-design-system/core-web/commit/1e855b9cc207d82458bb27033f642a79f480b7ee)
9
+ - fix(DBShellSubNavigation): keep the left border above the drilldown navigation overlay - [see commit 8992130](https://github.com/db-ux-design-system/core-web/commit/89921307a2f5fe928302d3d9eab0cbc9f11b0c4a)
10
+
11
+ ## 5.6.1
12
+
13
+ ### Patch Changes
14
+
15
+ - fix(DBControlPanel): open drilldown with a transition instead of a clip-path - [see commit b4165ee](https://github.com/db-ux-design-system/core-web/commit/b4165ee83c5c8ae14bfd3b4755c48d8b99bae1a6):
16
+ - open the navigation drilldown with a transition instead of a `clip-path`
17
+ - pin the drilldown overlay to the scroll viewport so it is not shifted up by an existing scroll offset
18
+ - restore the flat-icon navigation indicator and the drilldown group icons
19
+ - recompute the navigation variant on viewport resize so it no longer sticks to popover after switching from drilldown
20
+ - reduce the navigation item and expand button gap to fix wrong icon spacing
21
+ - move `data-icon` / `data-show-icon` for a navigation item group from the group `<li>` to its expand button (CSS-only consumers who hand-write the markup have to move these attributes onto the `.db-control-panel-navigation-item-group-expand-button`)
22
+ - fix(DBPopover): a controlled `open` no longer freezes the page in Angular - [see commit 2f14f69](https://github.com/db-ux-design-system/core-web/commit/2f14f69919bd57853661e90edc8f36915974e306)
23
+ - fix(DBFooterMeta): remove double space before the copyright holder in Angular - [see commit bc83f12](https://github.com/db-ux-design-system/core-web/commit/bc83f1280911791ff8c4a7ab611589825109f332):
24
+ - The copyright sign and its non-breaking space were a text node next to the `copyright` interpolation. For Angular that generated `©&nbsp; {{copyright()}}`, and Angular does not collapse whitespace next to a `&nbsp;`, so the Angular output rendered the line about 3px wider than React and Vue. Sign and space are now part of the interpolated expression, so every target renders the same text.
25
+ - docs(DBIcon): document that the icon is always decorative - [see commit 6d48a36](https://github.com/db-ux-design-system/core-web/commit/6d48a366bf7078e52e029e73103d686a36198bb8):
26
+ - The usage examples showed `<DBIcon icon="x_placeholder">Icon</DBIcon>`, which suggests the child text is rendered somewhere. It is not: the component renders `aria-hidden="true"` and `font-size: 0`, so `text` and children are hidden both visually and from the accessibility tree, and `role` / `aria-label` on the component have no effect either. The examples now show the icon without content, and a new accessibility page explains how to label an informative icon (named wrapper, the parent component's `icon` property, or the `data-icon` attribute).
27
+ - fix(DBShell): stop reserving an empty sub-navigation row on mobile - [see commit bc83f12](https://github.com/db-ux-design-system/core-web/commit/bc83f1280911791ff8c4a7ab611589825109f332):
28
+ - The mobile grid templates declared the `sub-navigation` row unconditionally, while the desktop templates guard it with `:has()`. Without a sub-navigation the empty row captured any unplaced child of `DBShell` -- a `DBFooter` added as a direct child was rendered between the control panel and the content instead of below it. The mobile templates now add the row only when a sub-navigation is present, matching desktop.
29
+ - Also documents the supported composition: a footer belongs in the `endSlot` of `DBShellContent`, not in `DBShell`.
30
+ - fix(DBShell): prevent logo position jump between expanded and collapsed state - [see commit 2fe98a8](https://github.com/db-ux-design-system/core-web/commit/2fe98a82a6a52f40f41593bd437945795f30a7b8)
31
+ - style(Dialog & Drawer): corrected the headlines `font-family` (regular, instead of heading) - [see commit 2938761](https://github.com/db-ux-design-system/core-web/commit/29387612c7834664dbd93102dc09141c021fa159)
32
+
3
33
  ## 5.6.0
4
34
 
5
35
  ### Minor Changes
package/agent/Icon.md CHANGED
@@ -5,19 +5,20 @@
5
5
  ```vue
6
6
  <template>
7
7
  <h1>DBIcon Documentation Examples</h1>
8
- <h2>1. Default Icon</h2>
9
- <DBIcon>Default Icon</DBIcon>
10
- <h2>2. Icon Variants</h2>
11
- <DBIcon icon="user">User Icon</DBIcon>
12
- <DBIcon icon="settings">Settings Icon</DBIcon>
13
- <h2>3. Icon Weights</h2>
14
- <DBIcon weight="16">16px Icon</DBIcon>
15
- <DBIcon weight="24">24px Icon</DBIcon>
16
- <DBIcon weight="32">32px Icon</DBIcon>
17
- <h2>4. Custom Class</h2>
18
- <DBIcon>Custom Class Icon</DBIcon>
19
- <h2>5. Text Content</h2>
20
- <DBIcon text="Icon with Text">Icon with Text</DBIcon>
8
+ <h2>1. Icon Variants</h2>
9
+ <DBIcon icon="user"></DBIcon>
10
+ <DBIcon icon="settings"></DBIcon>
11
+ <h2>2. Icon Weights</h2>
12
+ <DBIcon icon="user" weight="16"></DBIcon>
13
+ <DBIcon icon="user" weight="24"></DBIcon>
14
+ <DBIcon icon="user" weight="32"></DBIcon>
15
+ <h2>3. Custom Class</h2>
16
+ <DBIcon icon="user"></DBIcon>
17
+ <h2>
18
+ 4. Informative icon: DBIcon always renders aria-hidden, so the accessible
19
+ name goes on a wrapper
20
+ </h2>
21
+ <span role="img" aria-label="Coach"><DBIcon icon="coach"></DBIcon></span>
21
22
  </template>
22
23
 
23
24
  <script setup lang="ts">
@@ -38,5 +38,30 @@ export type DBControlPanelNavigationItemGroupDefaultState = {
38
38
  _handleMouseEnter: () => void;
39
39
  _handleMouseLeave: () => void;
40
40
  _setSiblingsInert: (inert: boolean) => void;
41
+ /**
42
+ * The overlay is position: absolute; inset: 0 and anchors to the
43
+ * nearest positioned scroll owner. Which element scrolls depends on
44
+ * the layout (desktop scroll container, mobile drawer scroll
45
+ * container, or the left sub-navigation) and, for a nested level,
46
+ * it is the parent drilldown overlay menu. Rather than guess the
47
+ * owner per layout, walk up from this group and reset the scrollTop
48
+ * of every ancestor that currently has one. That clears the offset
49
+ * on whichever ancestor actually scrolled so the inset:0 overlay
50
+ * aligns with the visible scrollport.
51
+ *
52
+ * The walk stops at the outermost element for the current layout:
53
+ * - desktop main panel: the desktop scroll container
54
+ * - mobile drawer: the mobile drawer scroll container
55
+ * - left sub-navigation: the shell-sub-navigation wrapper, which
56
+ * sits directly above the scroll owner
57
+ * (.db-control-panel-navigation)
58
+ *
59
+ * .db-control-panel-navigation is intentionally NOT a boundary: in
60
+ * the desktop/mobile layouts it is only a descendant of the real
61
+ * scroll container, so stopping there would miss the element that
62
+ * actually scrolled. The document body is the hard backstop and is
63
+ * never itself reset, so the walk can never touch page-level scroll.
64
+ */
65
+ _resetScrollOwner: () => void;
41
66
  };
42
67
  export type DBControlPanelNavigationItemGroupState = DBControlPanelNavigationItemGroupDefaultState & ClickEventState<HTMLButtonElement> & GlobalState & NavigationBehaviorState & InitializedState;
package/dist/db-ux.es.js CHANGED
@@ -1914,7 +1914,7 @@ var S = () => {
1914
1914
  h.value
1915
1915
  ], () => {
1916
1916
  if (T.value && E.value && h.value && (requestAnimationFrame(() => {
1917
- M(), y.value ||= new $().observe(E.value, () => {
1917
+ M(), y.value ||= new $().observe(T.value, () => {
1918
1918
  M();
1919
1919
  });
1920
1920
  }), !C.value)) {
@@ -2294,14 +2294,14 @@ var S = () => {
2294
2294
  }), kn = [
2295
2295
  "id",
2296
2296
  "role",
2297
- "data-icon",
2298
- "data-show-icon",
2299
2297
  "data-active",
2300
2298
  "aria-disabled"
2301
2299
  ], An = [
2302
2300
  "aria-haspopup",
2303
2301
  "aria-controls",
2304
2302
  "aria-expanded",
2303
+ "data-icon",
2304
+ "data-show-icon",
2305
2305
  "disabled"
2306
2306
  ], jn = { class: "db-control-panel-navigation-item-group-expand-button-end-slot-container" }, Mn = [
2307
2307
  "data-initialized",
@@ -2351,7 +2351,7 @@ var S = () => {
2351
2351
  u(() => {
2352
2352
  h.value = !0;
2353
2353
  }), d(() => {
2354
- U(), V(!1), C.value?.disconnect(), C.value = void 0, T.value?.disconnect(), T.value = void 0;
2354
+ W(), V(!1), C.value?.disconnect(), C.value = void 0, T.value?.disconnect(), T.value = void 0;
2355
2355
  }), b(() => [N.value, h.value], () => {
2356
2356
  if (!h.value || !N.value || C.value) return;
2357
2357
  let e = N.value.getAttribute("role") ?? void 0;
@@ -2410,7 +2410,7 @@ var S = () => {
2410
2410
  if (!e || !e.hasAttribute("data-variant")) return;
2411
2411
  let t = e.getAttribute("data-variant"), n = t === "popover";
2412
2412
  if (t === "drilldown" && s.value) {
2413
- if (V(!0), P.value) {
2413
+ if (V(!0), H(), P.value) {
2414
2414
  let e = P.value.querySelector(".db-control-panel-navigation-item a");
2415
2415
  e && e.focus();
2416
2416
  }
@@ -2418,7 +2418,7 @@ var S = () => {
2418
2418
  Yt({
2419
2419
  element: P.value,
2420
2420
  isPopover: n
2421
- }), f.value !== t && (f.value = t, n ? H() : U());
2421
+ }), f.value !== t && (f.value = t, n ? U() : W());
2422
2422
  }
2423
2423
  function L() {
2424
2424
  s.value = !0;
@@ -2455,9 +2455,18 @@ var S = () => {
2455
2455
  }
2456
2456
  }
2457
2457
  function H() {
2458
+ if (!N.value) return;
2459
+ let e = [
2460
+ "db-control-panel-desktop-scroll-container",
2461
+ "db-control-panel-mobile-drawer-scroll-container",
2462
+ "db-shell-sub-navigation"
2463
+ ], t = N.value;
2464
+ for (; t && t !== document.body && (t.scrollTop > 0 && (t.scrollTop = 0), !e.some((e) => t.classList.contains(e)));) t = t.parentElement;
2465
+ }
2466
+ function U() {
2458
2467
  if (O.value || !N.value) return;
2459
2468
  A.value ||= new qt(N.value, P.value), D.value ||= new Nt().observe(F.value, (e) => {
2460
- e.isIntersecting || G();
2469
+ e.isIntersecting || te();
2461
2470
  });
2462
2471
  let e = () => {
2463
2472
  z();
@@ -2475,36 +2484,36 @@ var S = () => {
2475
2484
  focusOut: r
2476
2485
  }, N.value.addEventListener("mouseenter", e), N.value.addEventListener("mouseleave", t), N.value.addEventListener("focusin", n), N.value.addEventListener("focusout", r), O.value = !0;
2477
2486
  }
2478
- function U() {
2487
+ function W() {
2479
2488
  if (!O.value || !N.value) return;
2480
2489
  let e = N.value.__popoverListeners;
2481
2490
  e && (N.value.removeEventListener("mouseenter", e.mouseEnter), N.value.removeEventListener("mouseleave", e.mouseLeave), N.value.removeEventListener("focusin", e.focusIn), N.value.removeEventListener("focusout", e.focusOut), N.value.__popoverListeners = void 0), s.value = !1, O.value = !1, A.value = void 0, D.value &&= (new Nt().unobserve(D.value), void 0);
2482
2491
  }
2483
- function W() {
2492
+ function ee() {
2484
2493
  P.value && I();
2485
2494
  }
2486
- function ee(e) {
2487
- e?.target?.nodeName === "A" && G();
2495
+ function G(e) {
2496
+ e?.target?.nodeName === "A" && te();
2488
2497
  }
2489
- function G() {
2498
+ function te() {
2490
2499
  l.value = !0, k(() => {
2491
2500
  l.value = !1;
2492
2501
  }, 300);
2493
2502
  }
2494
- function te(e) {
2503
+ function ne(e) {
2495
2504
  if (f.value !== "popover" && (s.value = !s.value), F.value && F.value.dataset.isCollapsing === "true") {
2496
2505
  F.value.removeAttribute("data-is-collapsing"), e.stopPropagation();
2497
2506
  return;
2498
2507
  }
2499
2508
  n.onClick && (e.stopPropagation(), n.onClick(e));
2500
2509
  }
2501
- function ne(e) {
2510
+ function K(e) {
2502
2511
  e.stopPropagation(), s.value = !1, k(() => {
2503
2512
  F.value && F.value.focus();
2504
2513
  }, 1);
2505
2514
  }
2506
- function K(e) {
2507
- (!e || e.key === "Escape") && (e?.stopPropagation(), s.value = !1, G(), k(() => {
2515
+ function re(e) {
2516
+ (!e || e.key === "Escape") && (e?.stopPropagation(), s.value = !1, te(), k(() => {
2508
2517
  F.value && F.value.focus();
2509
2518
  }, 1));
2510
2519
  }
@@ -2516,10 +2525,8 @@ var S = () => {
2516
2525
  onMouseover: u[3] ||= async (e) => A.value?.enableFollow(),
2517
2526
  onMouseleave: u[4] ||= async (e) => A.value?.disableFollow(),
2518
2527
  onMousemove: u[5] ||= async (e) => A.value?.followByMouseEvent(e),
2519
- onKeydown: u[6] ||= async (e) => K(e),
2528
+ onKeydown: u[6] ||= async (e) => re(e),
2520
2529
  class: c(v(w)("db-control-panel-navigation-item-group", n.class)),
2521
- "data-icon": e.icon,
2522
- "data-show-icon": v(j)(e.showIcon, "showIcon"),
2523
2530
  "data-active": v(j)(e.active, "active"),
2524
2531
  "aria-disabled": v(j)(e.disabled, "disabled")
2525
2532
  }, [i("button", {
@@ -2530,8 +2537,10 @@ var S = () => {
2530
2537
  "aria-haspopup": v(j)(f.value === "popover" || void 0),
2531
2538
  "aria-controls": e.menuId ?? E.value,
2532
2539
  "aria-expanded": v(j)(s.value),
2540
+ "data-icon": e.icon,
2541
+ "data-show-icon": v(j)(e.showIcon, "showIcon"),
2533
2542
  disabled: v(M)(e.disabled, "disabled"),
2534
- onClick: u[0] ||= async (e) => te(e)
2543
+ onClick: u[0] ||= async (e) => ne(e)
2535
2544
  }, [a(_(e.text) + " ", 1), i("div", jn, [g(t.$slots, "end-slot")])], 8, An), i("menu", {
2536
2545
  class: "db-control-panel-navigation-item-group-menu",
2537
2546
  ref_key: "_menuRef",
@@ -2539,14 +2548,14 @@ var S = () => {
2539
2548
  "data-initialized": v(j)(h.value),
2540
2549
  "data-force-close": v(j)(l.value),
2541
2550
  id: e.menuId ?? E.value,
2542
- onScroll: u[1] ||= async (e) => W(),
2543
- onClick: u[2] ||= async (e) => ee(e)
2551
+ onScroll: u[1] ||= async (e) => ee(),
2552
+ onClick: u[2] ||= async (e) => G(e)
2544
2553
  }, [i("li", Nn, [o(Xe, {
2545
2554
  icon: "arrow_left",
2546
2555
  variant: "ghost",
2547
2556
  id: e.backButtonId,
2548
2557
  noText: !0,
2549
- onClick: (e) => ne(e)
2558
+ onClick: (e) => K(e)
2550
2559
  }, {
2551
2560
  default: x(() => [a(_(e.backButtonText ?? v("Back")), 1), o(Ft, {
2552
2561
  placement: "bottom-start",
@@ -2813,7 +2822,7 @@ var S = () => {
2813
2822
  "data-icon-trailing",
2814
2823
  "data-hide-asterisk",
2815
2824
  "data-show-icon-trailing"
2816
- ], Qn = ["for"], $n = /* @__PURE__ */ "aria-invalid.data-custom-validity.data-field-sizing.id.name.type.multiple.accept.placeholder.disabled.required.step.value.maxLength.minLength.max.min.readOnly.form.pattern.size.autoComplete.autoFocus.enterKeyHint.inputMode.list.aria-describedby.role".split("."), er = ["id"], tr = ["value"], nr = {
2825
+ ], Qn = ["for"], $n = /* @__PURE__ */ "aria-invalid.data-custom-validity.data-field-sizing.id.name.type.multiple.accept.placeholder.disabled.required.step.maxLength.minLength.max.min.readOnly.form.pattern.size.autoComplete.autoFocus.enterKeyHint.inputMode.list.aria-describedby.role.value".split("."), er = ["id"], tr = ["value"], nr = {
2817
2826
  "data-visually-hidden": "true",
2818
2827
  role: "status"
2819
2828
  }, rr = /* @__PURE__ */ s({
@@ -2935,7 +2944,7 @@ var S = () => {
2935
2944
  },
2936
2945
  emits: ["update:value"],
2937
2946
  setup(s, { emit: l }) {
2938
- let f = y(), S = l, C = s, E = m(void 0), A = m(void 0), I = m(void 0), z = m(void 0), B = m(void 0), V = m(void 0), H = m(void 0), U = m(""), W = m(""), ee = m(void 0), G = m(null);
2947
+ let f = y(), S = l, C = s, E = m(void 0), A = m(void 0), I = m(void 0), z = m(void 0), B = m(void 0), V = m(void 0), H = m(void 0), U = m(void 0), W = m(""), ee = m(void 0), G = m(null);
2939
2948
  u(() => {
2940
2949
  ae(), B.value = C.invalidMessage || "TODO: Add an invalidMessage";
2941
2950
  }), d(() => {
@@ -3032,7 +3041,6 @@ var S = () => {
3032
3041
  disabled: v(M)(s.disabled, "disabled"),
3033
3042
  required: v(M)(s.required, "required"),
3034
3043
  step: v(P)(s.step),
3035
- value: s.value ?? U.value ?? "",
3036
3044
  maxLength: v(N)(s.maxLength, s.maxlength),
3037
3045
  minLength: v(N)(s.minLength, s.minlength),
3038
3046
  max: v(F)(s.max, s.type),
@@ -3058,7 +3066,8 @@ var S = () => {
3058
3066
  "week",
3059
3067
  "month",
3060
3068
  "color"
3061
- ].includes(s.type ?? "") && v(O)() ? "textbox" : void 0
3069
+ ].includes(s.type ?? "") && v(O)() ? "textbox" : void 0,
3070
+ value: s.value ?? U.value ?? ""
3062
3071
  }, null, 40, $n),
3063
3072
  s.dataList ? (p(), r("datalist", {
3064
3073
  key: 0,
@@ -3754,29 +3763,14 @@ var S = () => {
3754
3763
  let t = self.document.activeElement;
3755
3764
  if (t) {
3756
3765
  if (t.getAttribute("type") === "checkbox" || t.getAttribute("type") === "radio") {
3757
- let n = t?.closest("li");
3766
+ let n = Array.from(X.value.querySelectorAll("input.db-custom-select-list-item-checkbox")), r = n.indexOf(t);
3758
3767
  if (e.key === "ArrowDown" || e.key === "ArrowRight") {
3759
- let e = n?.nextElementSibling;
3760
- for (; e;) {
3761
- let t = e.querySelector("input");
3762
- if (t) {
3763
- t.focus();
3764
- break;
3765
- }
3766
- e = e.nextElementSibling;
3767
- }
3768
- e || We(t);
3768
+ let e = r >= 0 ? n.at(r + 1) : void 0;
3769
+ e ? e.focus() : We(t);
3769
3770
  } else {
3770
- let e = n?.previousElementSibling;
3771
- for (; e;) {
3772
- let t = e.querySelector("input");
3773
- if (t) {
3774
- t.focus();
3775
- break;
3776
- }
3777
- e = e.previousElementSibling;
3778
- }
3779
- if (!e) {
3771
+ let e = r > 0 ? n.at(r - 1) : void 0;
3772
+ if (e) e.focus();
3773
+ else {
3780
3774
  let e = X.value.querySelector("input[type=\"checkbox\"]");
3781
3775
  if (e && e !== t) We(t);
3782
3776
  else {
@@ -4259,7 +4253,9 @@ var S = () => {
4259
4253
  setup(e) {
4260
4254
  let t = y(), n = e, s = m(void 0), l = m(void 0), f = m(null);
4261
4255
  u(() => {
4262
- h();
4256
+ requestAnimationFrame(() => {
4257
+ h();
4258
+ });
4263
4259
  }), d(() => {
4264
4260
  b();
4265
4261
  });
@@ -4425,7 +4421,7 @@ var S = () => {
4425
4421
  ref: a,
4426
4422
  id: e.id ?? e.propOverrides?.id,
4427
4423
  class: c(v(w)("db-footer-meta", t.class))
4428
- }, [i("div", si, [e.copyright ? (p(), r("p", ci, "©\xA0" + _(e.copyright), 1)) : n("", !0), i("div", li, [g(o.$slots, "default")])])], 10, oi));
4424
+ }, [i("div", si, [e.copyright ? (p(), r("p", ci, _("©\xA0" + e.copyright), 1)) : n("", !0), i("div", li, [g(o.$slots, "default")])])], 10, oi));
4429
4425
  }
4430
4426
  }), di = [
4431
4427
  "id",
@@ -5607,7 +5603,11 @@ var S = () => {
5607
5603
  immediate: !0,
5608
5604
  flush: "post"
5609
5605
  }), b(() => [t.open], () => {
5610
- t.open != null && (M(t.open, "open") ? x(void 0, !0) : S(void 0, !0));
5606
+ if (t.open == null) return;
5607
+ let e = M(t.open, "open");
5608
+ k(() => {
5609
+ e ? x(void 0, !0) : S(void 0, !0);
5610
+ }, 1);
5611
5611
  }, {
5612
5612
  immediate: !0,
5613
5613
  flush: "post"
@@ -5870,10 +5870,10 @@ var S = () => {
5870
5870
  "id",
5871
5871
  "name",
5872
5872
  "size",
5873
- "value",
5874
5873
  "autocomplete",
5875
5874
  "multiple",
5876
- "aria-describedby"
5875
+ "aria-describedby",
5876
+ "value"
5877
5877
  ], La = ["data-show-empty-option"], Ra = ["label"], za = [
5878
5878
  "value",
5879
5879
  "selected",
@@ -6067,7 +6067,6 @@ var S = () => {
6067
6067
  id: T.value,
6068
6068
  name: s.name,
6069
6069
  size: s.size,
6070
- value: s.value ?? I.value ?? "",
6071
6070
  autocomplete: s.autoComplete ?? s.autocomplete,
6072
6071
  multiple: s.multiple,
6073
6072
  onInput: u[0] ||= async (e) => G(e),
@@ -6075,7 +6074,8 @@ var S = () => {
6075
6074
  onChange: u[2] ||= async (e) => te(e),
6076
6075
  onBlur: u[3] ||= async (e) => ne(e),
6077
6076
  onFocus: u[4] ||= async (e) => K(e),
6078
- "aria-describedby": s.ariaDescribedBy ?? F.value
6077
+ "aria-describedby": s.ariaDescribedBy ?? F.value,
6078
+ value: s.value ?? I.value ?? ""
6079
6079
  }, [s.variant === "floating" || s.placeholder ? (p(), r("option", {
6080
6080
  key: 0,
6081
6081
  class: "placeholder",
@@ -7766,11 +7766,11 @@ var S = () => {
7766
7766
  "wrap",
7767
7767
  "spellcheck",
7768
7768
  "autocomplete",
7769
- "value",
7770
7769
  "aria-describedby",
7771
7770
  "placeholder",
7772
7771
  "rows",
7773
- "cols"
7772
+ "cols",
7773
+ "value"
7774
7774
  ], ts = {
7775
7775
  "data-visually-hidden": "true",
7776
7776
  role: "status"
@@ -7963,11 +7963,11 @@ var S = () => {
7963
7963
  onChange: l[1] ||= async (e) => V(e),
7964
7964
  onBlur: l[2] ||= async (e) => H(e),
7965
7965
  onFocus: l[3] ||= async (e) => U(e),
7966
- value: e.value ?? A.value ?? "",
7967
7966
  "aria-describedby": e.ariaDescribedBy ?? O.value,
7968
7967
  placeholder: e.placeholder ?? v(" "),
7969
7968
  rows: v(N)(e.rows, v(4)),
7970
- cols: v(N)(e.cols)
7969
+ cols: v(N)(e.cols),
7970
+ value: e.value ?? A.value ?? ""
7971
7971
  }, _(e.value), 41, es),
7972
7972
  v(R)(e.message, e.showMessage) ? (p(), t(Q, {
7973
7973
  key: 0,