@lilydesignsystem/react-headless 0.4.0 → 0.5.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.
package/dist/index.js CHANGED
@@ -2971,22 +2971,29 @@ function ContentBlock({
2971
2971
  }
2972
2972
 
2973
2973
  // components/ContentsLink.tsx
2974
- import { jsx as jsx120 } from "react/jsx-runtime";
2974
+ import { jsx as jsx120, jsxs as jsxs30 } from "react/jsx-runtime";
2975
2975
  function ContentsLink({
2976
2976
  className = "",
2977
2977
  href,
2978
2978
  label = void 0,
2979
+ count = void 0,
2980
+ countLabel = void 0,
2979
2981
  children,
2980
2982
  ...restProps
2981
2983
  }) {
2982
- return /* @__PURE__ */ jsx120(
2984
+ return /* @__PURE__ */ jsxs30(
2983
2985
  "a",
2984
2986
  {
2985
2987
  className: `contents-link ${className}`,
2986
2988
  href,
2987
2989
  "aria-label": label,
2990
+ "data-count": count,
2991
+ "data-complete": count === 0 ? "" : void 0,
2988
2992
  ...restProps,
2989
- children
2993
+ children: [
2994
+ children,
2995
+ countLabel ? /* @__PURE__ */ jsx120("span", { className: "contents-link-count", children: countLabel }) : null
2996
+ ]
2990
2997
  }
2991
2998
  );
2992
2999
  }
@@ -3019,16 +3026,162 @@ function ContentsListItem({
3019
3026
  }
3020
3027
 
3021
3028
  // components/ContentsNav.tsx
3029
+ import React11 from "react";
3022
3030
  import { jsx as jsx123 } from "react/jsx-runtime";
3031
+ function activeSectionIndex(tops, offset, atBottom) {
3032
+ if (tops.length === 0) return -1;
3033
+ if (atBottom) return tops.length - 1;
3034
+ let index = 0;
3035
+ for (let i = 0; i < tops.length; i++) {
3036
+ if (tops[i] <= offset + 1) index = i;
3037
+ }
3038
+ return index;
3039
+ }
3040
+ function contentsLinks(nav) {
3041
+ return Array.from(nav.querySelectorAll('a[href^="#"]')).filter(
3042
+ (a) => a.getAttribute("href").length > 1
3043
+ );
3044
+ }
3045
+ function contentsLinkId(link) {
3046
+ return decodeURIComponent((link.getAttribute("href") ?? "").slice(1));
3047
+ }
3048
+ function contentsTarget(link, doc) {
3049
+ return doc.getElementById(contentsLinkId(link));
3050
+ }
3051
+ function startScrollspy(nav, options = {}) {
3052
+ if (typeof window === "undefined") return () => {
3053
+ };
3054
+ const offset = options.offset ?? 0;
3055
+ const spyRoot = options.root ?? null;
3056
+ const token = options.current ?? "true";
3057
+ const scroller = spyRoot ?? window;
3058
+ let locked = false;
3059
+ let lockTimer;
3060
+ let frame = 0;
3061
+ let last = "";
3062
+ let hashPending = false;
3063
+ function mark(link) {
3064
+ for (const a of contentsLinks(nav)) {
3065
+ if (a === link) {
3066
+ a.setAttribute("aria-current", token);
3067
+ a.setAttribute("data-active", "");
3068
+ } else {
3069
+ a.removeAttribute("aria-current");
3070
+ a.removeAttribute("data-active");
3071
+ }
3072
+ }
3073
+ for (const li of nav.querySelectorAll("li")) {
3074
+ if (link && li.contains(link) && li.querySelector(":scope > a") !== link) {
3075
+ li.setAttribute("data-descendant-active", "");
3076
+ } else {
3077
+ li.removeAttribute("data-descendant-active");
3078
+ }
3079
+ }
3080
+ const id = link ? contentsLinkId(link) : "";
3081
+ if (id !== last) {
3082
+ last = id;
3083
+ if (id) options.onChange?.(id);
3084
+ }
3085
+ }
3086
+ function update() {
3087
+ if (locked) return;
3088
+ if (hashPending) {
3089
+ const id = decodeURIComponent(window.location.hash.slice(1));
3090
+ const hashed = id ? contentsLinks(nav).find((a) => contentsLinkId(a) === id) : void 0;
3091
+ if (hashed) {
3092
+ mark(hashed);
3093
+ return;
3094
+ }
3095
+ }
3096
+ const pairs = contentsLinks(nav).map((a) => ({ a, el: contentsTarget(a, nav.ownerDocument) })).filter((p) => p.el !== null);
3097
+ if (pairs.length === 0) {
3098
+ mark(void 0);
3099
+ return;
3100
+ }
3101
+ const base = spyRoot ? spyRoot.getBoundingClientRect().top : 0;
3102
+ const tops = pairs.map((p) => p.el.getBoundingClientRect().top - base);
3103
+ const atBottom = spyRoot ? spyRoot.scrollTop + spyRoot.clientHeight >= spyRoot.scrollHeight - 1 : window.innerHeight + window.scrollY >= document.documentElement.scrollHeight - 1;
3104
+ mark(pairs[activeSectionIndex(tops, offset, atBottom)].a);
3105
+ }
3106
+ function schedule() {
3107
+ if (frame) return;
3108
+ frame = requestAnimationFrame(() => {
3109
+ frame = 0;
3110
+ update();
3111
+ });
3112
+ }
3113
+ function onScroll() {
3114
+ hashPending = false;
3115
+ schedule();
3116
+ }
3117
+ function release() {
3118
+ locked = false;
3119
+ if (lockTimer) clearTimeout(lockTimer);
3120
+ update();
3121
+ }
3122
+ function onClick(event) {
3123
+ const link = event.target?.closest?.("a");
3124
+ if (!link || !nav.contains(link) || !contentsTarget(link, nav.ownerDocument)) return;
3125
+ mark(link);
3126
+ locked = true;
3127
+ if (lockTimer) clearTimeout(lockTimer);
3128
+ lockTimer = setTimeout(release, 1e3);
3129
+ }
3130
+ function onHashChange() {
3131
+ const id = decodeURIComponent(window.location.hash.slice(1));
3132
+ const link = contentsLinks(nav).find((a) => contentsLinkId(a) === id);
3133
+ if (link) mark(link);
3134
+ }
3135
+ scroller.addEventListener("scroll", onScroll, { passive: true });
3136
+ scroller.addEventListener("scrollend", release);
3137
+ window.addEventListener("resize", schedule);
3138
+ window.addEventListener("hashchange", onHashChange);
3139
+ nav.addEventListener("click", onClick);
3140
+ const mutations = typeof MutationObserver === "undefined" ? null : new MutationObserver(schedule);
3141
+ mutations?.observe(nav, { childList: true, subtree: true, attributes: true, attributeFilter: ["href"] });
3142
+ const initial = decodeURIComponent(window.location.hash.slice(1));
3143
+ hashPending = initial !== "";
3144
+ const hashLink = initial ? contentsLinks(nav).find((a) => contentsLinkId(a) === initial) : void 0;
3145
+ if (hashLink) mark(hashLink);
3146
+ else update();
3147
+ return () => {
3148
+ scroller.removeEventListener("scroll", onScroll);
3149
+ scroller.removeEventListener("scrollend", release);
3150
+ window.removeEventListener("resize", schedule);
3151
+ window.removeEventListener("hashchange", onHashChange);
3152
+ nav.removeEventListener("click", onClick);
3153
+ mutations?.disconnect();
3154
+ if (frame) cancelAnimationFrame(frame);
3155
+ if (lockTimer) clearTimeout(lockTimer);
3156
+ };
3157
+ }
3023
3158
  function ContentsNav({
3024
3159
  className = "",
3025
3160
  label,
3026
3161
  children,
3162
+ spy = false,
3163
+ offset = 0,
3164
+ root = null,
3165
+ current = "true",
3166
+ onActiveChange,
3027
3167
  ...restProps
3028
3168
  }) {
3169
+ const navRef = React11.useRef(null);
3170
+ const onChangeRef = React11.useRef(onActiveChange);
3171
+ onChangeRef.current = onActiveChange;
3172
+ React11.useEffect(() => {
3173
+ if (!spy || !navRef.current) return;
3174
+ return startScrollspy(navRef.current, {
3175
+ offset,
3176
+ root,
3177
+ current,
3178
+ onChange: (id) => onChangeRef.current?.(id)
3179
+ });
3180
+ }, [spy, offset, root, current]);
3029
3181
  return /* @__PURE__ */ jsx123(
3030
3182
  "nav",
3031
3183
  {
3184
+ ref: navRef,
3032
3185
  className: `contents-nav ${className}`,
3033
3186
  "aria-label": label,
3034
3187
  ...restProps,
@@ -3121,7 +3274,7 @@ function ContextMenuItem({
3121
3274
 
3122
3275
  // components/ContextualHelp.tsx
3123
3276
  import { useId as useId5 } from "react";
3124
- import { jsx as jsx126, jsxs as jsxs30 } from "react/jsx-runtime";
3277
+ import { jsx as jsx126, jsxs as jsxs31 } from "react/jsx-runtime";
3125
3278
  function ContextualHelp({
3126
3279
  className = "",
3127
3280
  label,
@@ -3132,7 +3285,7 @@ function ContextualHelp({
3132
3285
  }) {
3133
3286
  const reactId = useId5();
3134
3287
  const panelId = `contextual-help-${reactId}-panel`;
3135
- return /* @__PURE__ */ jsxs30("div", { className: `contextual-help ${className}`, ...restProps, children: [
3288
+ return /* @__PURE__ */ jsxs31("div", { className: `contextual-help ${className}`, ...restProps, children: [
3136
3289
  /* @__PURE__ */ jsx126(
3137
3290
  "button",
3138
3291
  {
@@ -3322,7 +3475,7 @@ function DataFilterForm({
3322
3475
  }
3323
3476
 
3324
3477
  // components/DataTable.tsx
3325
- import { Fragment as Fragment12, jsx as jsx133, jsxs as jsxs31 } from "react/jsx-runtime";
3478
+ import { Fragment as Fragment12, jsx as jsx133, jsxs as jsxs32 } from "react/jsx-runtime";
3326
3479
  function DataTable({
3327
3480
  className = "",
3328
3481
  label,
@@ -3330,7 +3483,7 @@ function DataTable({
3330
3483
  children,
3331
3484
  ...restProps
3332
3485
  }) {
3333
- return /* @__PURE__ */ jsxs31(
3486
+ return /* @__PURE__ */ jsxs32(
3334
3487
  "table",
3335
3488
  {
3336
3489
  className: `data-table ${className}`,
@@ -3426,7 +3579,6 @@ function DataTableTD({
3426
3579
  {
3427
3580
  className: `data-table-td ${className}`,
3428
3581
  role: "gridcell",
3429
- "aria-selected": active || void 0,
3430
3582
  tabIndex: active ? 0 : -1,
3431
3583
  ...restProps,
3432
3584
  children
@@ -3459,7 +3611,7 @@ function DataTableTH({
3459
3611
 
3460
3612
  // components/DateField.tsx
3461
3613
  import { useId as useId6 } from "react";
3462
- import { Fragment as Fragment13, jsx as jsx140, jsxs as jsxs32 } from "react/jsx-runtime";
3614
+ import { Fragment as Fragment13, jsx as jsx140, jsxs as jsxs33 } from "react/jsx-runtime";
3463
3615
  function DateField({
3464
3616
  className = "",
3465
3617
  label,
@@ -3476,7 +3628,7 @@ function DateField({
3476
3628
  const inputId = id ?? generatedId;
3477
3629
  const descriptionId = `${inputId}-desc`;
3478
3630
  const errorId = `${inputId}-error`;
3479
- return /* @__PURE__ */ jsxs32(
3631
+ return /* @__PURE__ */ jsxs33(
3480
3632
  "div",
3481
3633
  {
3482
3634
  className: `date-field ${className}`,
@@ -3543,7 +3695,7 @@ function DateInput({
3543
3695
  }
3544
3696
 
3545
3697
  // components/DateRange.tsx
3546
- import { jsx as jsx142, jsxs as jsxs33 } from "react/jsx-runtime";
3698
+ import { jsx as jsx142, jsxs as jsxs34 } from "react/jsx-runtime";
3547
3699
  function DateRange({
3548
3700
  className = "",
3549
3701
  label,
@@ -3555,7 +3707,7 @@ function DateRange({
3555
3707
  onEndChange,
3556
3708
  ...restProps
3557
3709
  }) {
3558
- return /* @__PURE__ */ jsxs33(
3710
+ return /* @__PURE__ */ jsxs34(
3559
3711
  "fieldset",
3560
3712
  {
3561
3713
  className: `date-range ${className}`,
@@ -3618,7 +3770,7 @@ function DateTimeLocalInput({
3618
3770
  }
3619
3771
 
3620
3772
  // components/DateTimeNowInput.tsx
3621
- import { jsx as jsx144, jsxs as jsxs34 } from "react/jsx-runtime";
3773
+ import { jsx as jsx144, jsxs as jsxs35 } from "react/jsx-runtime";
3622
3774
  function DateTimeNowInput({
3623
3775
  className = "",
3624
3776
  label,
@@ -3643,7 +3795,7 @@ function DateTimeNowInput({
3643
3795
  onDateChange?.(`${year}-${month}-${day}`);
3644
3796
  onTimeChange?.(`${hours}:${minutes}`);
3645
3797
  }
3646
- return /* @__PURE__ */ jsxs34(
3798
+ return /* @__PURE__ */ jsxs35(
3647
3799
  "div",
3648
3800
  {
3649
3801
  className: `date-time-now-input ${className}`,
@@ -3751,7 +3903,7 @@ function DescriptionListItem({
3751
3903
 
3752
3904
  // components/Details.tsx
3753
3905
  import { useState as useState8 } from "react";
3754
- import { jsx as jsx148, jsxs as jsxs35 } from "react/jsx-runtime";
3906
+ import { jsx as jsx148, jsxs as jsxs36 } from "react/jsx-runtime";
3755
3907
  function Details({
3756
3908
  className = "",
3757
3909
  summary,
@@ -3766,7 +3918,7 @@ function Details({
3766
3918
  setOpen(newOpen);
3767
3919
  onChange?.(newOpen);
3768
3920
  };
3769
- return /* @__PURE__ */ jsxs35(
3921
+ return /* @__PURE__ */ jsxs36(
3770
3922
  "details",
3771
3923
  {
3772
3924
  className: `details ${className}`,
@@ -4193,7 +4345,7 @@ function Drawer({
4193
4345
 
4194
4346
  // components/DropdownMenu.tsx
4195
4347
  import { useState as useState12, useRef as useRef2 } from "react";
4196
- import { jsx as jsx165, jsxs as jsxs36 } from "react/jsx-runtime";
4348
+ import { jsx as jsx165, jsxs as jsxs37 } from "react/jsx-runtime";
4197
4349
  function DropdownMenu({
4198
4350
  className = "",
4199
4351
  label,
@@ -4247,7 +4399,7 @@ function DropdownMenu({
4247
4399
  }
4248
4400
  }
4249
4401
  }
4250
- return /* @__PURE__ */ jsxs36(
4402
+ return /* @__PURE__ */ jsxs37(
4251
4403
  "div",
4252
4404
  {
4253
4405
  className: `dropdown-menu ${className}`,
@@ -4730,7 +4882,7 @@ function ErrorMessage({
4730
4882
 
4731
4883
  // components/ErrorSummary.tsx
4732
4884
  import { useId as useId7 } from "react";
4733
- import { jsx as jsx183, jsxs as jsxs37 } from "react/jsx-runtime";
4885
+ import { jsx as jsx183, jsxs as jsxs38 } from "react/jsx-runtime";
4734
4886
  function ErrorSummary({
4735
4887
  className = "",
4736
4888
  title,
@@ -4738,7 +4890,7 @@ function ErrorSummary({
4738
4890
  ...restProps
4739
4891
  }) {
4740
4892
  const titleId = `error-summary-${useId7()}`;
4741
- return /* @__PURE__ */ jsxs37(
4893
+ return /* @__PURE__ */ jsxs38(
4742
4894
  "div",
4743
4895
  {
4744
4896
  className: `error-summary ${className}`,
@@ -4867,7 +5019,7 @@ function Event({
4867
5019
 
4868
5020
  // components/Expander.tsx
4869
5021
  import { useState as useState14, useId as useId8 } from "react";
4870
- import { jsx as jsx189, jsxs as jsxs38 } from "react/jsx-runtime";
5022
+ import { jsx as jsx189, jsxs as jsxs39 } from "react/jsx-runtime";
4871
5023
  function Expander({
4872
5024
  className = "",
4873
5025
  label,
@@ -4883,7 +5035,7 @@ function Expander({
4883
5035
  setExpanded(newExpanded);
4884
5036
  onChange?.(newExpanded);
4885
5037
  };
4886
- return /* @__PURE__ */ jsxs38(
5038
+ return /* @__PURE__ */ jsxs39(
4887
5039
  "div",
4888
5040
  {
4889
5041
  className: `expander ${className}`,
@@ -4914,7 +5066,7 @@ function Expander({
4914
5066
  }
4915
5067
 
4916
5068
  // components/FeatureCard.tsx
4917
- import { jsx as jsx190, jsxs as jsxs39 } from "react/jsx-runtime";
5069
+ import { jsx as jsx190, jsxs as jsxs40 } from "react/jsx-runtime";
4918
5070
  function FeatureCard({
4919
5071
  className = "",
4920
5072
  heading,
@@ -4926,7 +5078,7 @@ function FeatureCard({
4926
5078
  children,
4927
5079
  ...restProps
4928
5080
  }) {
4929
- return /* @__PURE__ */ jsxs39(
5081
+ return /* @__PURE__ */ jsxs40(
4930
5082
  "article",
4931
5083
  {
4932
5084
  className: `feature-card ${className}`,
@@ -4951,7 +5103,7 @@ function FeatureCard({
4951
5103
  }
4952
5104
 
4953
5105
  // components/FeaturePhoto.tsx
4954
- import { jsx as jsx191, jsxs as jsxs40 } from "react/jsx-runtime";
5106
+ import { jsx as jsx191, jsxs as jsxs41 } from "react/jsx-runtime";
4955
5107
  function FeaturePhoto({
4956
5108
  className = "",
4957
5109
  src,
@@ -4964,7 +5116,7 @@ function FeaturePhoto({
4964
5116
  ...restProps
4965
5117
  }) {
4966
5118
  const hasCaption = caption !== void 0 || credit !== void 0;
4967
- return /* @__PURE__ */ jsxs40(
5119
+ return /* @__PURE__ */ jsxs41(
4968
5120
  "figure",
4969
5121
  {
4970
5122
  className: `feature-photo ${className}`,
@@ -4981,7 +5133,7 @@ function FeaturePhoto({
4981
5133
  height
4982
5134
  }
4983
5135
  ),
4984
- hasCaption && /* @__PURE__ */ jsxs40("figcaption", { className: "feature-photo-caption", children: [
5136
+ hasCaption && /* @__PURE__ */ jsxs41("figcaption", { className: "feature-photo-caption", children: [
4985
5137
  caption !== void 0 && /* @__PURE__ */ jsx191("span", { className: "feature-photo-caption-text", children: caption }),
4986
5138
  credit !== void 0 && /* @__PURE__ */ jsx191("span", { className: "feature-photo-credit", children: credit })
4987
5139
  ] })
@@ -4992,7 +5144,7 @@ function FeaturePhoto({
4992
5144
 
4993
5145
  // components/Field.tsx
4994
5146
  import { useId as useId9 } from "react";
4995
- import { Fragment as Fragment18, jsx as jsx192, jsxs as jsxs41 } from "react/jsx-runtime";
5147
+ import { Fragment as Fragment18, jsx as jsx192, jsxs as jsxs42 } from "react/jsx-runtime";
4996
5148
  function Field({
4997
5149
  className = "",
4998
5150
  label,
@@ -5007,14 +5159,14 @@ function Field({
5007
5159
  const fieldId = inputId ?? generatedId;
5008
5160
  const descId = `${fieldId}-desc`;
5009
5161
  const errorId = `${fieldId}-error`;
5010
- return /* @__PURE__ */ jsxs41(
5162
+ return /* @__PURE__ */ jsxs42(
5011
5163
  "div",
5012
5164
  {
5013
5165
  className: `field ${className}`,
5014
5166
  "data-required": required || void 0,
5015
5167
  ...restProps,
5016
5168
  children: [
5017
- /* @__PURE__ */ jsxs41(
5169
+ /* @__PURE__ */ jsxs42(
5018
5170
  "label",
5019
5171
  {
5020
5172
  htmlFor: fieldId,
@@ -5040,7 +5192,7 @@ function Field({
5040
5192
  }
5041
5193
 
5042
5194
  // components/Fieldset.tsx
5043
- import { jsx as jsx193, jsxs as jsxs42 } from "react/jsx-runtime";
5195
+ import { jsx as jsx193, jsxs as jsxs43 } from "react/jsx-runtime";
5044
5196
  function Fieldset({
5045
5197
  className = "",
5046
5198
  legend,
@@ -5048,7 +5200,7 @@ function Fieldset({
5048
5200
  children,
5049
5201
  ...restProps
5050
5202
  }) {
5051
- return /* @__PURE__ */ jsxs42(
5203
+ return /* @__PURE__ */ jsxs43(
5052
5204
  "fieldset",
5053
5205
  {
5054
5206
  className: `fieldset ${className}`,
@@ -5318,7 +5470,7 @@ function FileTree({
5318
5470
 
5319
5471
  // components/FileUpload.tsx
5320
5472
  import { useRef as useRef4, useState as useState15 } from "react";
5321
- import { Fragment as Fragment20, jsx as jsx199, jsxs as jsxs43 } from "react/jsx-runtime";
5473
+ import { Fragment as Fragment20, jsx as jsx199, jsxs as jsxs44 } from "react/jsx-runtime";
5322
5474
  function FileUpload({
5323
5475
  className = "",
5324
5476
  label,
@@ -5338,7 +5490,7 @@ function FileUpload({
5338
5490
  setFileCount(input.files?.length ?? 0);
5339
5491
  onInputChange?.(input.files);
5340
5492
  }
5341
- return /* @__PURE__ */ jsxs43(
5493
+ return /* @__PURE__ */ jsxs44(
5342
5494
  "div",
5343
5495
  {
5344
5496
  className: `file-upload ${className}`,
@@ -5370,7 +5522,7 @@ function FileUpload({
5370
5522
  {
5371
5523
  "aria-live": "polite",
5372
5524
  "data-file-count": fileCount,
5373
- children: fileCount > 0 && /* @__PURE__ */ jsxs43(Fragment20, { children: [
5525
+ children: fileCount > 0 && /* @__PURE__ */ jsxs44(Fragment20, { children: [
5374
5526
  fileCount,
5375
5527
  " ",
5376
5528
  fileCount === 1 ? "file" : "files",
@@ -5384,19 +5536,48 @@ function FileUpload({
5384
5536
  }
5385
5537
 
5386
5538
  // components/FiveFaceRatingPicker.tsx
5387
- import React25, { useState as useState16 } from "react";
5388
- import { jsx as jsx200, jsxs as jsxs44 } from "react/jsx-runtime";
5539
+ import React26, { useEffect as useEffect4, useRef as useRef5, useState as useState16 } from "react";
5540
+ import { jsx as jsx200, jsxs as jsxs45 } from "react/jsx-runtime";
5389
5541
  function FiveFaceRatingPicker({
5390
5542
  className = "",
5391
5543
  label,
5392
5544
  value: valueProp = 0,
5393
5545
  name = "face-rating",
5394
- labels = ["Very bad", "Bad", "Okay", "Good", "Very good"],
5546
+ // The numbers, not English words: the words are the consumer's to supply.
5547
+ labels = ["1", "2", "3", "4", "5"],
5395
5548
  disabled = false,
5396
5549
  onChange,
5397
5550
  ...restProps
5398
5551
  }) {
5399
5552
  const [value, setValue] = useState16(valueProp);
5553
+ const initialValue = useRef5(valueProp);
5554
+ const onChangeRef = useRef5(onChange);
5555
+ onChangeRef.current = onChange;
5556
+ const rootRef = useRef5(null);
5557
+ useEffect4(() => {
5558
+ const root = rootRef.current;
5559
+ const form = root?.closest("form");
5560
+ if (!root || !form) return;
5561
+ let timer;
5562
+ const onReset = (event) => {
5563
+ clearTimeout(timer);
5564
+ timer = setTimeout(() => {
5565
+ if (event.defaultPrevented) return;
5566
+ setValue((current) => {
5567
+ if (current !== initialValue.current) onChangeRef.current?.(initialValue.current);
5568
+ return initialValue.current;
5569
+ });
5570
+ for (const input of root.querySelectorAll('input[type="radio"]')) {
5571
+ input.checked = input.value === String(initialValue.current);
5572
+ }
5573
+ }, 0);
5574
+ };
5575
+ form.addEventListener("reset", onReset);
5576
+ return () => {
5577
+ clearTimeout(timer);
5578
+ form.removeEventListener("reset", onReset);
5579
+ };
5580
+ }, []);
5400
5581
  const faces = [1, 2, 3, 4, 5];
5401
5582
  const handleChange = (face) => {
5402
5583
  setValue(face);
@@ -5405,12 +5586,13 @@ function FiveFaceRatingPicker({
5405
5586
  return /* @__PURE__ */ jsx200(
5406
5587
  "fieldset",
5407
5588
  {
5589
+ ref: rootRef,
5408
5590
  className: `five-face-rating-picker ${className}`,
5409
5591
  role: "radiogroup",
5410
5592
  "aria-label": label,
5411
5593
  disabled,
5412
5594
  ...restProps,
5413
- children: faces.map((face, i) => /* @__PURE__ */ jsx200(React25.Fragment, { children: /* @__PURE__ */ jsxs44("label", { children: [
5595
+ children: faces.map((face, i) => /* @__PURE__ */ jsx200(React26.Fragment, { children: /* @__PURE__ */ jsxs45("label", { children: [
5414
5596
  /* @__PURE__ */ jsx200(
5415
5597
  "input",
5416
5598
  {
@@ -5460,7 +5642,8 @@ function FiveFaceRatingView({
5460
5642
  className = "",
5461
5643
  value,
5462
5644
  label,
5463
- labels = ["Very bad", "Bad", "Okay", "Good", "Very good"],
5645
+ // The numbers, not English words: the words are the consumer's to supply.
5646
+ labels = ["1", "2", "3", "4", "5"],
5464
5647
  ...restProps
5465
5648
  }) {
5466
5649
  const faceLabel = labels[value - 1] ?? "";
@@ -5478,18 +5661,47 @@ function FiveFaceRatingView({
5478
5661
  }
5479
5662
 
5480
5663
  // components/FiveStarRatingPicker.tsx
5481
- import React26, { useState as useState17 } from "react";
5482
- import { jsx as jsx203, jsxs as jsxs45 } from "react/jsx-runtime";
5664
+ import React27, { useEffect as useEffect5, useRef as useRef6, useState as useState17 } from "react";
5665
+ import { jsx as jsx203, jsxs as jsxs46 } from "react/jsx-runtime";
5483
5666
  function FiveStarRatingPicker({
5484
5667
  className = "",
5485
5668
  label,
5486
5669
  value: valueProp = 0,
5487
5670
  name = "rating",
5671
+ starLabel,
5488
5672
  disabled = false,
5489
5673
  onChange,
5490
5674
  ...restProps
5491
5675
  }) {
5492
5676
  const [value, setValue] = useState17(valueProp);
5677
+ const initialValue = useRef6(valueProp);
5678
+ const onChangeRef = useRef6(onChange);
5679
+ onChangeRef.current = onChange;
5680
+ const rootRef = useRef6(null);
5681
+ useEffect5(() => {
5682
+ const root = rootRef.current;
5683
+ const form = root?.closest("form");
5684
+ if (!root || !form) return;
5685
+ let timer;
5686
+ const onReset = (event) => {
5687
+ clearTimeout(timer);
5688
+ timer = setTimeout(() => {
5689
+ if (event.defaultPrevented) return;
5690
+ setValue((current) => {
5691
+ if (current !== initialValue.current) onChangeRef.current?.(initialValue.current);
5692
+ return initialValue.current;
5693
+ });
5694
+ for (const input of root.querySelectorAll('input[type="radio"]')) {
5695
+ input.checked = input.value === String(initialValue.current);
5696
+ }
5697
+ }, 0);
5698
+ };
5699
+ form.addEventListener("reset", onReset);
5700
+ return () => {
5701
+ clearTimeout(timer);
5702
+ form.removeEventListener("reset", onReset);
5703
+ };
5704
+ }, []);
5493
5705
  const stars = [1, 2, 3, 4, 5];
5494
5706
  const handleChange = (star) => {
5495
5707
  setValue(star);
@@ -5498,12 +5710,13 @@ function FiveStarRatingPicker({
5498
5710
  return /* @__PURE__ */ jsx203(
5499
5711
  "fieldset",
5500
5712
  {
5713
+ ref: rootRef,
5501
5714
  className: `five-star-rating-picker ${className}`,
5502
5715
  role: "radiogroup",
5503
5716
  "aria-label": label,
5504
5717
  disabled,
5505
5718
  ...restProps,
5506
- children: stars.map((star) => /* @__PURE__ */ jsx203(React26.Fragment, { children: /* @__PURE__ */ jsxs45("label", { children: [
5719
+ children: stars.map((star) => /* @__PURE__ */ jsx203(React27.Fragment, { children: /* @__PURE__ */ jsxs46("label", { children: [
5507
5720
  /* @__PURE__ */ jsx203(
5508
5721
  "input",
5509
5722
  {
@@ -5514,8 +5727,7 @@ function FiveStarRatingPicker({
5514
5727
  onChange: () => handleChange(star)
5515
5728
  }
5516
5729
  ),
5517
- star,
5518
- star === 1 ? " star" : " stars"
5730
+ starLabel ? starLabel(star) : star
5519
5731
  ] }) }, star))
5520
5732
  }
5521
5733
  );
@@ -5829,7 +6041,7 @@ function FranceNumeroDIdentificationAuRepertoireView({
5829
6041
  }
5830
6042
 
5831
6043
  // components/FunnelChart.tsx
5832
- import { jsx as jsx216, jsxs as jsxs46 } from "react/jsx-runtime";
6044
+ import { jsx as jsx216, jsxs as jsxs47 } from "react/jsx-runtime";
5833
6045
  function FunnelChart({
5834
6046
  className = "",
5835
6047
  label = void 0,
@@ -5837,7 +6049,7 @@ function FunnelChart({
5837
6049
  dataTable,
5838
6050
  ...restProps
5839
6051
  }) {
5840
- return /* @__PURE__ */ jsxs46(
6052
+ return /* @__PURE__ */ jsxs47(
5841
6053
  "figure",
5842
6054
  {
5843
6055
  className: `funnel-chart ${className}`,
@@ -5851,7 +6063,7 @@ function FunnelChart({
5851
6063
  }
5852
6064
 
5853
6065
  // components/GanttTable.tsx
5854
- import { Fragment as Fragment22, jsx as jsx217, jsxs as jsxs47 } from "react/jsx-runtime";
6066
+ import { Fragment as Fragment22, jsx as jsx217, jsxs as jsxs48 } from "react/jsx-runtime";
5855
6067
  function GanttTable({
5856
6068
  className = "",
5857
6069
  label,
@@ -5859,7 +6071,7 @@ function GanttTable({
5859
6071
  children,
5860
6072
  ...restProps
5861
6073
  }) {
5862
- return /* @__PURE__ */ jsxs47(
6074
+ return /* @__PURE__ */ jsxs48(
5863
6075
  "table",
5864
6076
  {
5865
6077
  className: `gantt-table ${className}`,
@@ -5887,7 +6099,6 @@ function GanttTableTD({
5887
6099
  {
5888
6100
  className: `gantt-table-td ${className}`,
5889
6101
  role: "gridcell",
5890
- "aria-selected": active || void 0,
5891
6102
  tabIndex: active ? 0 : -1,
5892
6103
  ...restProps,
5893
6104
  children: children && /* @__PURE__ */ jsx218(Fragment23, { children })
@@ -5987,7 +6198,7 @@ function GanttTableTr({
5987
6198
  }
5988
6199
 
5989
6200
  // components/GaugeChart.tsx
5990
- import { jsx as jsx224, jsxs as jsxs48 } from "react/jsx-runtime";
6201
+ import { jsx as jsx224, jsxs as jsxs49 } from "react/jsx-runtime";
5991
6202
  function GaugeChart({
5992
6203
  className = "",
5993
6204
  label,
@@ -5995,7 +6206,7 @@ function GaugeChart({
5995
6206
  dataTable,
5996
6207
  ...restProps
5997
6208
  }) {
5998
- return /* @__PURE__ */ jsxs48(
6209
+ return /* @__PURE__ */ jsxs49(
5999
6210
  "figure",
6000
6211
  {
6001
6212
  className: `gauge-chart ${className}`,
@@ -6051,7 +6262,7 @@ function GoToTop({
6051
6262
 
6052
6263
  // components/GovernmentBanner.tsx
6053
6264
  import { useId as useId10 } from "react";
6054
- import { jsx as jsx228, jsxs as jsxs49 } from "react/jsx-runtime";
6265
+ import { jsx as jsx228, jsxs as jsxs50 } from "react/jsx-runtime";
6055
6266
  function GovernmentBanner({
6056
6267
  className = "",
6057
6268
  label,
@@ -6063,14 +6274,14 @@ function GovernmentBanner({
6063
6274
  ...restProps
6064
6275
  }) {
6065
6276
  const panelId = useId10();
6066
- return /* @__PURE__ */ jsxs49(
6277
+ return /* @__PURE__ */ jsxs50(
6067
6278
  "aside",
6068
6279
  {
6069
6280
  className: `government-banner ${className}`,
6070
6281
  "aria-label": label,
6071
6282
  ...restProps,
6072
6283
  children: [
6073
- /* @__PURE__ */ jsxs49("header", { className: "government-banner-header", children: [
6284
+ /* @__PURE__ */ jsxs50("header", { className: "government-banner-header", children: [
6074
6285
  /* @__PURE__ */ jsx228("span", { className: "government-banner-text", children: headerText }),
6075
6286
  /* @__PURE__ */ jsx228(
6076
6287
  "button",
@@ -6099,7 +6310,7 @@ function GovernmentBanner({
6099
6310
  }
6100
6311
 
6101
6312
  // components/GovernmentIdentifier.tsx
6102
- import { jsx as jsx229, jsxs as jsxs50 } from "react/jsx-runtime";
6313
+ import { jsx as jsx229, jsxs as jsxs51 } from "react/jsx-runtime";
6103
6314
  function GovernmentIdentifier({
6104
6315
  className = "",
6105
6316
  label,
@@ -6111,14 +6322,14 @@ function GovernmentIdentifier({
6111
6322
  children,
6112
6323
  ...restProps
6113
6324
  }) {
6114
- return /* @__PURE__ */ jsxs50(
6325
+ return /* @__PURE__ */ jsxs51(
6115
6326
  "section",
6116
6327
  {
6117
6328
  className: `government-identifier ${className}`,
6118
6329
  "aria-label": label,
6119
6330
  ...restProps,
6120
6331
  children: [
6121
- /* @__PURE__ */ jsxs50("div", { className: "government-identifier-masthead", children: [
6332
+ /* @__PURE__ */ jsxs51("div", { className: "government-identifier-masthead", children: [
6122
6333
  logoUrl && /* @__PURE__ */ jsx229(
6123
6334
  "img",
6124
6335
  {
@@ -6246,7 +6457,7 @@ function GrailLayoutTopHeader({
6246
6457
  }
6247
6458
 
6248
6459
  // components/GraphicBlock.tsx
6249
- import { jsx as jsx236, jsxs as jsxs51 } from "react/jsx-runtime";
6460
+ import { jsx as jsx236, jsxs as jsxs52 } from "react/jsx-runtime";
6250
6461
  function GraphicBlock({
6251
6462
  className = "",
6252
6463
  label,
@@ -6257,7 +6468,7 @@ function GraphicBlock({
6257
6468
  ...restProps
6258
6469
  }) {
6259
6470
  const hasCaption = title !== void 0 || description !== void 0 || notes !== void 0;
6260
- return /* @__PURE__ */ jsxs51(
6471
+ return /* @__PURE__ */ jsxs52(
6261
6472
  "figure",
6262
6473
  {
6263
6474
  className: `graphic-block ${className}`,
@@ -6265,7 +6476,7 @@ function GraphicBlock({
6265
6476
  "aria-label": label,
6266
6477
  ...restProps,
6267
6478
  children: [
6268
- hasCaption && /* @__PURE__ */ jsxs51("figcaption", { className: "graphic-block-caption", children: [
6479
+ hasCaption && /* @__PURE__ */ jsxs52("figcaption", { className: "graphic-block-caption", children: [
6269
6480
  title !== void 0 && /* @__PURE__ */ jsx236("div", { className: "graphic-block-title", children: title }),
6270
6481
  description !== void 0 && /* @__PURE__ */ jsx236("div", { className: "graphic-block-description", children: description }),
6271
6482
  notes !== void 0 && /* @__PURE__ */ jsx236("div", { className: "graphic-block-notes", children: notes })
@@ -6300,7 +6511,7 @@ function Grid({
6300
6511
 
6301
6512
  // components/HamburgerMenu.tsx
6302
6513
  import { useState as useState18, useId as useId11 } from "react";
6303
- import { jsx as jsx238, jsxs as jsxs52 } from "react/jsx-runtime";
6514
+ import { jsx as jsx238, jsxs as jsxs53 } from "react/jsx-runtime";
6304
6515
  function HamburgerMenu({
6305
6516
  className = "",
6306
6517
  label = "Menu",
@@ -6316,7 +6527,7 @@ function HamburgerMenu({
6316
6527
  setOpen(newOpen);
6317
6528
  onChange?.(newOpen);
6318
6529
  };
6319
- return /* @__PURE__ */ jsxs52(
6530
+ return /* @__PURE__ */ jsxs53(
6320
6531
  "div",
6321
6532
  {
6322
6533
  className: `hamburger-menu ${className}`,
@@ -6412,7 +6623,7 @@ function Header({
6412
6623
  }
6413
6624
 
6414
6625
  // components/Headline.tsx
6415
- import { jsx as jsx242, jsxs as jsxs53 } from "react/jsx-runtime";
6626
+ import { jsx as jsx242, jsxs as jsxs54 } from "react/jsx-runtime";
6416
6627
  function Headline({
6417
6628
  className = "",
6418
6629
  level = 1,
@@ -6422,7 +6633,7 @@ function Headline({
6422
6633
  ...restProps
6423
6634
  }) {
6424
6635
  const Heading = `h${level}`;
6425
- return /* @__PURE__ */ jsxs53(
6636
+ return /* @__PURE__ */ jsxs54(
6426
6637
  "div",
6427
6638
  {
6428
6639
  className: `headline ${className}`,
@@ -6437,7 +6648,7 @@ function Headline({
6437
6648
  }
6438
6649
 
6439
6650
  // components/HeatmapChart.tsx
6440
- import { jsx as jsx243, jsxs as jsxs54 } from "react/jsx-runtime";
6651
+ import { jsx as jsx243, jsxs as jsxs55 } from "react/jsx-runtime";
6441
6652
  function HeatmapChart({
6442
6653
  className = "",
6443
6654
  label,
@@ -6445,7 +6656,7 @@ function HeatmapChart({
6445
6656
  dataTable,
6446
6657
  ...restProps
6447
6658
  }) {
6448
- return /* @__PURE__ */ jsxs54(
6659
+ return /* @__PURE__ */ jsxs55(
6449
6660
  "figure",
6450
6661
  {
6451
6662
  className: `heatmap-chart ${className}`,
@@ -6478,7 +6689,7 @@ function Hero({
6478
6689
  }
6479
6690
 
6480
6691
  // components/HeroHeadline.tsx
6481
- import { jsxs as jsxs55 } from "react/jsx-runtime";
6692
+ import { jsxs as jsxs56 } from "react/jsx-runtime";
6482
6693
  function HeroHeadline({
6483
6694
  className = "",
6484
6695
  label,
@@ -6486,7 +6697,7 @@ function HeroHeadline({
6486
6697
  children,
6487
6698
  ...restProps
6488
6699
  }) {
6489
- return /* @__PURE__ */ jsxs55(
6700
+ return /* @__PURE__ */ jsxs56(
6490
6701
  "div",
6491
6702
  {
6492
6703
  className: `hero-headline ${className}`,
@@ -6540,7 +6751,7 @@ function Hint({
6540
6751
  }
6541
6752
 
6542
6753
  // components/HorizontalScroller.tsx
6543
- import { useRef as useRef5 } from "react";
6754
+ import { useRef as useRef7 } from "react";
6544
6755
  import { jsx as jsx247 } from "react/jsx-runtime";
6545
6756
  function HorizontalScroller({
6546
6757
  className = "",
@@ -6549,7 +6760,7 @@ function HorizontalScroller({
6549
6760
  children,
6550
6761
  ...restProps
6551
6762
  }) {
6552
- const ref = useRef5(null);
6763
+ const ref = useRef7(null);
6553
6764
  const handleKeyDown = (event) => {
6554
6765
  if (event.key === "ArrowRight") {
6555
6766
  event.preventDefault();
@@ -6672,9 +6883,9 @@ function Icon({
6672
6883
  }
6673
6884
 
6674
6885
  // components/IconButton.tsx
6675
- import React30 from "react";
6886
+ import React31 from "react";
6676
6887
  import { jsx as jsx252 } from "react/jsx-runtime";
6677
- var IconButton = React30.forwardRef(
6888
+ var IconButton = React31.forwardRef(
6678
6889
  function IconButton2({
6679
6890
  className = "",
6680
6891
  baseClass = "icon-button",
@@ -6724,14 +6935,14 @@ function IconList({
6724
6935
  }
6725
6936
 
6726
6937
  // components/IconListItem.tsx
6727
- import { jsx as jsx254, jsxs as jsxs56 } from "react/jsx-runtime";
6938
+ import { jsx as jsx254, jsxs as jsxs57 } from "react/jsx-runtime";
6728
6939
  function IconListItem({
6729
6940
  className = "",
6730
6941
  icon,
6731
6942
  children,
6732
6943
  ...restProps
6733
6944
  }) {
6734
- return /* @__PURE__ */ jsxs56(
6945
+ return /* @__PURE__ */ jsxs57(
6735
6946
  "li",
6736
6947
  {
6737
6948
  className: `icon-list-item ${className}`,
@@ -6745,7 +6956,7 @@ function IconListItem({
6745
6956
  }
6746
6957
 
6747
6958
  // components/Image.tsx
6748
- import { Fragment as Fragment25, jsx as jsx255, jsxs as jsxs57 } from "react/jsx-runtime";
6959
+ import { Fragment as Fragment25, jsx as jsx255, jsxs as jsxs58 } from "react/jsx-runtime";
6749
6960
  function Image({
6750
6961
  className = "",
6751
6962
  src,
@@ -6754,7 +6965,7 @@ function Image({
6754
6965
  loading = void 0,
6755
6966
  ...restProps
6756
6967
  }) {
6757
- return /* @__PURE__ */ jsx255(Fragment25, { children: caption ? /* @__PURE__ */ jsx255(Fragment25, { children: /* @__PURE__ */ jsxs57(
6968
+ return /* @__PURE__ */ jsx255(Fragment25, { children: caption ? /* @__PURE__ */ jsx255(Fragment25, { children: /* @__PURE__ */ jsxs58(
6758
6969
  "figure",
6759
6970
  {
6760
6971
  className: `image ${className}`,
@@ -6900,7 +7111,7 @@ function IndonesiaNomorIndukKependudukanView({
6900
7111
  }
6901
7112
 
6902
7113
  // components/InfoState.tsx
6903
- import { Fragment as Fragment26, jsx as jsx261, jsxs as jsxs58 } from "react/jsx-runtime";
7114
+ import { Fragment as Fragment26, jsx as jsx261, jsxs as jsxs59 } from "react/jsx-runtime";
6904
7115
  function InfoState({
6905
7116
  className = "",
6906
7117
  level = "info",
@@ -6920,7 +7131,7 @@ function InfoState({
6920
7131
  "aria-label": label ?? title,
6921
7132
  "data-level": level,
6922
7133
  ...restProps,
6923
- children: children !== void 0 ? children : /* @__PURE__ */ jsxs58(Fragment26, { children: [
7134
+ children: children !== void 0 ? children : /* @__PURE__ */ jsxs59(Fragment26, { children: [
6924
7135
  illustration !== void 0 ? illustration : null,
6925
7136
  /* @__PURE__ */ jsx261("h2", { children: title }),
6926
7137
  description !== void 0 ? /* @__PURE__ */ jsx261("p", { children: description }) : null,
@@ -6978,7 +7189,7 @@ function Input({
6978
7189
  }
6979
7190
 
6980
7191
  // components/InputGroup.tsx
6981
- import { jsx as jsx264, jsxs as jsxs59 } from "react/jsx-runtime";
7192
+ import { jsx as jsx264, jsxs as jsxs60 } from "react/jsx-runtime";
6982
7193
  function InputGroup({
6983
7194
  className = "",
6984
7195
  label = void 0,
@@ -6987,7 +7198,7 @@ function InputGroup({
6987
7198
  children,
6988
7199
  ...restProps
6989
7200
  }) {
6990
- return /* @__PURE__ */ jsxs59(
7201
+ return /* @__PURE__ */ jsxs60(
6991
7202
  "div",
6992
7203
  {
6993
7204
  className: `input-group ${className}`,
@@ -7004,7 +7215,7 @@ function InputGroup({
7004
7215
  }
7005
7216
 
7006
7217
  // components/InputWithMask.tsx
7007
- import { jsx as jsx265, jsxs as jsxs60 } from "react/jsx-runtime";
7218
+ import { jsx as jsx265, jsxs as jsxs61 } from "react/jsx-runtime";
7008
7219
  function InputWithMask({
7009
7220
  className = "",
7010
7221
  label,
@@ -7015,7 +7226,7 @@ function InputWithMask({
7015
7226
  onInput,
7016
7227
  ...restProps
7017
7228
  }) {
7018
- return /* @__PURE__ */ jsxs60(
7229
+ return /* @__PURE__ */ jsxs61(
7019
7230
  "div",
7020
7231
  {
7021
7232
  className: `input-with-mask ${className}`,
@@ -7153,7 +7364,7 @@ function ItaliaCodiceFiscaleView({
7153
7364
  }
7154
7365
 
7155
7366
  // components/KanbanTable.tsx
7156
- import { Fragment as Fragment27, jsx as jsx271, jsxs as jsxs61 } from "react/jsx-runtime";
7367
+ import { Fragment as Fragment27, jsx as jsx271, jsxs as jsxs62 } from "react/jsx-runtime";
7157
7368
  function KanbanTable({
7158
7369
  className = "",
7159
7370
  label,
@@ -7161,7 +7372,7 @@ function KanbanTable({
7161
7372
  children,
7162
7373
  ...restProps
7163
7374
  }) {
7164
- return /* @__PURE__ */ jsxs61(
7375
+ return /* @__PURE__ */ jsxs62(
7165
7376
  "table",
7166
7377
  {
7167
7378
  className: `kanban-table ${className}`,
@@ -7258,7 +7469,6 @@ function KanbanTableTD({
7258
7469
  {
7259
7470
  className: `kanban-table-td ${className}`,
7260
7471
  role: "gridcell",
7261
- "aria-selected": active || void 0,
7262
7472
  tabIndex: active ? 0 : -1,
7263
7473
  "aria-label": label,
7264
7474
  ...restProps,
@@ -7310,8 +7520,8 @@ function Kbd({
7310
7520
  }
7311
7521
 
7312
7522
  // components/KbdShortcut.tsx
7313
- import React31 from "react";
7314
- import { jsx as jsx279, jsxs as jsxs62 } from "react/jsx-runtime";
7523
+ import React32 from "react";
7524
+ import { jsx as jsx279, jsxs as jsxs63 } from "react/jsx-runtime";
7315
7525
  function KbdShortcut({
7316
7526
  className = "",
7317
7527
  keys,
@@ -7319,7 +7529,7 @@ function KbdShortcut({
7319
7529
  label = void 0,
7320
7530
  ...restProps
7321
7531
  }) {
7322
- return /* @__PURE__ */ jsx279("kbd", { className: `kbd-shortcut ${className}`, "aria-label": label, ...restProps, children: keys.map((key, i) => /* @__PURE__ */ jsxs62(React31.Fragment, { children: [
7532
+ return /* @__PURE__ */ jsx279("kbd", { className: `kbd-shortcut ${className}`, "aria-label": label, ...restProps, children: keys.map((key, i) => /* @__PURE__ */ jsxs63(React32.Fragment, { children: [
7323
7533
  i > 0 && /* @__PURE__ */ jsx279("span", { className: "kbd-shortcut-separator", "aria-hidden": "true", children: separator }),
7324
7534
  /* @__PURE__ */ jsx279("kbd", { className: "kbd-shortcut-key", children: key })
7325
7535
  ] }, i)) });
@@ -7621,7 +7831,7 @@ function LietuvaPasasView({
7621
7831
  }
7622
7832
 
7623
7833
  // components/LineChart.tsx
7624
- import { jsx as jsx293, jsxs as jsxs63 } from "react/jsx-runtime";
7834
+ import { jsx as jsx293, jsxs as jsxs64 } from "react/jsx-runtime";
7625
7835
  function LineChart({
7626
7836
  className = "",
7627
7837
  label = void 0,
@@ -7629,7 +7839,7 @@ function LineChart({
7629
7839
  dataTable,
7630
7840
  ...restProps
7631
7841
  }) {
7632
- return /* @__PURE__ */ jsxs63(
7842
+ return /* @__PURE__ */ jsxs64(
7633
7843
  "figure",
7634
7844
  {
7635
7845
  className: `line-chart ${className}`,
@@ -7643,9 +7853,9 @@ function LineChart({
7643
7853
  }
7644
7854
 
7645
7855
  // components/Listbox.tsx
7646
- import React32, { useLayoutEffect, useRef as useRef6, useState as useState19 } from "react";
7856
+ import React33, { useLayoutEffect, useRef as useRef8, useState as useState19 } from "react";
7647
7857
  import { jsx as jsx294 } from "react/jsx-runtime";
7648
- var Listbox = React32.forwardRef(function Listbox2({
7858
+ var Listbox = React33.forwardRef(function Listbox2({
7649
7859
  className = "",
7650
7860
  baseClass = "listbox",
7651
7861
  as: Tag2 = "div",
@@ -7663,11 +7873,11 @@ var Listbox = React32.forwardRef(function Listbox2({
7663
7873
  onTabOut,
7664
7874
  ...restProps
7665
7875
  }, forwardedRef) {
7666
- const listRef = useRef6(null);
7876
+ const listRef = useRef8(null);
7667
7877
  const [uncontrolledActiveIndex, setUncontrolledActiveIndex] = useState19(defaultActiveIndex);
7668
7878
  const activeIndex = controlledActiveIndex ?? uncontrolledActiveIndex;
7669
- const typeaheadBuffer = useRef6("");
7670
- const typeaheadTimer = useRef6(void 0);
7879
+ const typeaheadBuffer = useRef8("");
7880
+ const typeaheadTimer = useRef8(void 0);
7671
7881
  function setRef(node) {
7672
7882
  listRef.current = node;
7673
7883
  if (typeof forwardedRef === "function") forwardedRef(node);
@@ -8187,7 +8397,7 @@ function MeasurementUnitView({
8187
8397
 
8188
8398
  // components/MedicalBanner.tsx
8189
8399
  import { useState as useState20 } from "react";
8190
- import { Fragment as Fragment29, jsx as jsx312, jsxs as jsxs64 } from "react/jsx-runtime";
8400
+ import { Fragment as Fragment29, jsx as jsx312, jsxs as jsxs65 } from "react/jsx-runtime";
8191
8401
  function MedicalBanner({
8192
8402
  className = "",
8193
8403
  label,
@@ -8203,7 +8413,7 @@ function MedicalBanner({
8203
8413
  setVisible(false);
8204
8414
  onClose?.();
8205
8415
  }
8206
- return /* @__PURE__ */ jsx312(Fragment29, { children: visible && /* @__PURE__ */ jsx312(Fragment29, { children: /* @__PURE__ */ jsxs64(
8416
+ return /* @__PURE__ */ jsx312(Fragment29, { children: visible && /* @__PURE__ */ jsx312(Fragment29, { children: /* @__PURE__ */ jsxs65(
8207
8417
  "div",
8208
8418
  {
8209
8419
  className: `medical-banner ${className}`,
@@ -8291,7 +8501,7 @@ function MedicalBannerBoxForDanger({
8291
8501
  }
8292
8502
 
8293
8503
  // components/MentionsInput.tsx
8294
- import { jsx as jsx316, jsxs as jsxs65 } from "react/jsx-runtime";
8504
+ import { jsx as jsx316, jsxs as jsxs66 } from "react/jsx-runtime";
8295
8505
  function MentionsInput({
8296
8506
  className = "",
8297
8507
  label,
@@ -8304,7 +8514,7 @@ function MentionsInput({
8304
8514
  children,
8305
8515
  ...restProps
8306
8516
  }) {
8307
- return /* @__PURE__ */ jsxs65(
8517
+ return /* @__PURE__ */ jsxs66(
8308
8518
  "div",
8309
8519
  {
8310
8520
  className: `mentions-input ${className}`,
@@ -8336,7 +8546,7 @@ function MentionsInput({
8336
8546
  }
8337
8547
 
8338
8548
  // components/Menu.tsx
8339
- import { useRef as useRef7 } from "react";
8549
+ import { useRef as useRef9 } from "react";
8340
8550
  import { jsx as jsx317 } from "react/jsx-runtime";
8341
8551
  function Menu({
8342
8552
  className = "",
@@ -8344,7 +8554,7 @@ function Menu({
8344
8554
  children,
8345
8555
  ...restProps
8346
8556
  }) {
8347
- const menuRef = useRef7(null);
8557
+ const menuRef = useRef9(null);
8348
8558
  function handleKeyDown(event) {
8349
8559
  if (!menuRef.current) return;
8350
8560
  const items = Array.from(
@@ -8392,7 +8602,7 @@ function Menu({
8392
8602
  }
8393
8603
 
8394
8604
  // components/MenuBar.tsx
8395
- import { useRef as useRef8 } from "react";
8605
+ import { useRef as useRef10 } from "react";
8396
8606
  import { jsx as jsx318 } from "react/jsx-runtime";
8397
8607
  function MenuBar({
8398
8608
  className = "",
@@ -8400,7 +8610,7 @@ function MenuBar({
8400
8610
  children,
8401
8611
  ...restProps
8402
8612
  }) {
8403
- const barRef = useRef8(null);
8613
+ const barRef = useRef10(null);
8404
8614
  function handleKeyDown(event) {
8405
8615
  if (!barRef.current) return;
8406
8616
  const items = Array.from(
@@ -8468,14 +8678,14 @@ function MenuBarButton({
8468
8678
  }
8469
8679
 
8470
8680
  // components/MenuGroup.tsx
8471
- import { jsx as jsx320, jsxs as jsxs66 } from "react/jsx-runtime";
8681
+ import { jsx as jsx320, jsxs as jsxs67 } from "react/jsx-runtime";
8472
8682
  function MenuGroup({
8473
8683
  className = "",
8474
8684
  label,
8475
8685
  children = void 0,
8476
8686
  ...restProps
8477
8687
  }) {
8478
- return /* @__PURE__ */ jsxs66(
8688
+ return /* @__PURE__ */ jsxs67(
8479
8689
  "div",
8480
8690
  {
8481
8691
  className: `menu-group ${className}`,
@@ -8805,7 +9015,7 @@ function MonthInput({
8805
9015
  }
8806
9016
 
8807
9017
  // components/MultiSelect.tsx
8808
- import { useEffect as useEffect4, useState as useState21 } from "react";
9018
+ import { useEffect as useEffect6, useState as useState21 } from "react";
8809
9019
  import { jsx as jsx337 } from "react/jsx-runtime";
8810
9020
  function MultiSelect({
8811
9021
  className = "",
@@ -8820,7 +9030,7 @@ function MultiSelect({
8820
9030
  }) {
8821
9031
  const [value, setValue] = useState21(valueProp);
8822
9032
  const key = valueProp.join("\0");
8823
- useEffect4(() => {
9033
+ useEffect6(() => {
8824
9034
  setValue(valueProp);
8825
9035
  }, [key]);
8826
9036
  return /* @__PURE__ */ jsx337(
@@ -8845,8 +9055,8 @@ function MultiSelect({
8845
9055
  }
8846
9056
 
8847
9057
  // components/MultiSelectWithExtras.tsx
8848
- import { useEffect as useEffect5, useState as useState22 } from "react";
8849
- import { jsx as jsx338, jsxs as jsxs67 } from "react/jsx-runtime";
9058
+ import { useEffect as useEffect7, useState as useState22 } from "react";
9059
+ import { jsx as jsx338, jsxs as jsxs68 } from "react/jsx-runtime";
8850
9060
  function MultiSelectWithExtras({
8851
9061
  className = "",
8852
9062
  label,
@@ -8862,10 +9072,10 @@ function MultiSelectWithExtras({
8862
9072
  }) {
8863
9073
  const [value, setValue] = useState22(valueProp);
8864
9074
  const key = valueProp.join("\0");
8865
- useEffect5(() => {
9075
+ useEffect7(() => {
8866
9076
  setValue(valueProp);
8867
9077
  }, [key]);
8868
- return /* @__PURE__ */ jsxs67("div", { className: `multi-select-with-extras ${className}`, ...restProps, children: [
9078
+ return /* @__PURE__ */ jsxs68("div", { className: `multi-select-with-extras ${className}`, ...restProps, children: [
8869
9079
  before && before,
8870
9080
  /* @__PURE__ */ jsx338(
8871
9081
  "select",
@@ -9065,7 +9275,8 @@ function NederlandPaspoortNummerView({
9065
9275
  }
9066
9276
 
9067
9277
  // components/NetPromoterScorePicker.tsx
9068
- import { jsx as jsx347, jsxs as jsxs68 } from "react/jsx-runtime";
9278
+ import { useEffect as useEffect8, useRef as useRef11 } from "react";
9279
+ import { jsx as jsx347, jsxs as jsxs69 } from "react/jsx-runtime";
9069
9280
  function NetPromoterScorePicker({
9070
9281
  className = "",
9071
9282
  label,
@@ -9074,14 +9285,40 @@ function NetPromoterScorePicker({
9074
9285
  onChange,
9075
9286
  ...restProps
9076
9287
  }) {
9288
+ const initialValue = useRef11(value);
9289
+ const onChangeRef = useRef11(onChange);
9290
+ onChangeRef.current = onChange;
9291
+ const rootRef = useRef11(null);
9292
+ useEffect8(() => {
9293
+ const root = rootRef.current;
9294
+ const form = root?.closest("form");
9295
+ if (!root || !form) return;
9296
+ let timer;
9297
+ const onReset = (event) => {
9298
+ clearTimeout(timer);
9299
+ timer = setTimeout(() => {
9300
+ if (event.defaultPrevented) return;
9301
+ if (value !== initialValue.current) onChangeRef.current?.(initialValue.current);
9302
+ for (const input of root.querySelectorAll('input[type="radio"]')) {
9303
+ input.checked = input.value === String(initialValue.current);
9304
+ }
9305
+ }, 0);
9306
+ };
9307
+ form.addEventListener("reset", onReset);
9308
+ return () => {
9309
+ clearTimeout(timer);
9310
+ form.removeEventListener("reset", onReset);
9311
+ };
9312
+ }, [value]);
9077
9313
  return /* @__PURE__ */ jsx347(
9078
9314
  "fieldset",
9079
9315
  {
9316
+ ref: rootRef,
9080
9317
  className: `net-promoter-score-picker ${className}`,
9081
9318
  role: "radiogroup",
9082
9319
  "aria-label": label,
9083
9320
  ...restProps,
9084
- children: Array.from({ length: 11 }, (_, i) => i).map((score) => /* @__PURE__ */ jsxs68("label", { children: [
9321
+ children: Array.from({ length: 11 }, (_, i) => i).map((score) => /* @__PURE__ */ jsxs69("label", { children: [
9085
9322
  /* @__PURE__ */ jsx347(
9086
9323
  "input",
9087
9324
  {
@@ -9148,7 +9385,7 @@ function NetPromoterScoreView({
9148
9385
  }
9149
9386
 
9150
9387
  // components/NewsletterSignup.tsx
9151
- import { jsx as jsx350, jsxs as jsxs69 } from "react/jsx-runtime";
9388
+ import { jsx as jsx350, jsxs as jsxs70 } from "react/jsx-runtime";
9152
9389
  function NewsletterSignup({
9153
9390
  className = "",
9154
9391
  label,
@@ -9164,7 +9401,7 @@ function NewsletterSignup({
9164
9401
  ...restProps
9165
9402
  }) {
9166
9403
  const submitting = state === "submitting";
9167
- return /* @__PURE__ */ jsxs69(
9404
+ return /* @__PURE__ */ jsxs70(
9168
9405
  "form",
9169
9406
  {
9170
9407
  className: `newsletter-signup ${className}`,
@@ -9173,11 +9410,11 @@ function NewsletterSignup({
9173
9410
  onSubmit,
9174
9411
  ...restProps,
9175
9412
  children: [
9176
- (heading || description) && /* @__PURE__ */ jsxs69("header", { className: "newsletter-signup-header", children: [
9413
+ (heading || description) && /* @__PURE__ */ jsxs70("header", { className: "newsletter-signup-header", children: [
9177
9414
  heading && /* @__PURE__ */ jsx350("h3", { className: "newsletter-signup-heading", children: heading }),
9178
9415
  description && /* @__PURE__ */ jsx350("p", { className: "newsletter-signup-description", children: description })
9179
9416
  ] }),
9180
- /* @__PURE__ */ jsxs69("label", { className: "newsletter-signup-label", children: [
9417
+ /* @__PURE__ */ jsxs70("label", { className: "newsletter-signup-label", children: [
9181
9418
  emailLabel,
9182
9419
  /* @__PURE__ */ jsx350(
9183
9420
  "input",
@@ -9662,7 +9899,7 @@ function PasswordInput({
9662
9899
 
9663
9900
  // components/PasswordInputOrTextInputDiv.tsx
9664
9901
  import { useState as useState23 } from "react";
9665
- import { jsx as jsx370, jsxs as jsxs70 } from "react/jsx-runtime";
9902
+ import { jsx as jsx370, jsxs as jsxs71 } from "react/jsx-runtime";
9666
9903
  function PasswordInputOrTextInputDiv({
9667
9904
  className = "",
9668
9905
  label,
@@ -9675,7 +9912,7 @@ function PasswordInputOrTextInputDiv({
9675
9912
  ...restProps
9676
9913
  }) {
9677
9914
  const [visible, setVisible] = useState23(false);
9678
- return /* @__PURE__ */ jsxs70(
9915
+ return /* @__PURE__ */ jsxs71(
9679
9916
  "div",
9680
9917
  {
9681
9918
  className: `password-input-or-text-input-div ${className}`,
@@ -9767,7 +10004,7 @@ function PhotoPack({
9767
10004
  }
9768
10005
 
9769
10006
  // components/Pictogram.tsx
9770
- import { jsx as jsx374, jsxs as jsxs71 } from "react/jsx-runtime";
10007
+ import { jsx as jsx374, jsxs as jsxs72 } from "react/jsx-runtime";
9771
10008
  function Pictogram({
9772
10009
  className = "",
9773
10010
  layout = "centered",
@@ -9778,7 +10015,7 @@ function Pictogram({
9778
10015
  children,
9779
10016
  ...restProps
9780
10017
  }) {
9781
- return /* @__PURE__ */ jsxs71(
10018
+ return /* @__PURE__ */ jsxs72(
9782
10019
  "figure",
9783
10020
  {
9784
10021
  className: `pictogram ${className}`,
@@ -9787,7 +10024,7 @@ function Pictogram({
9787
10024
  ...restProps,
9788
10025
  children: [
9789
10026
  /* @__PURE__ */ jsx374("div", { className: "pictogram-icon", "aria-hidden": "true", children: icon }),
9790
- /* @__PURE__ */ jsxs71("figcaption", { className: "pictogram-caption", children: [
10027
+ /* @__PURE__ */ jsxs72("figcaption", { className: "pictogram-caption", children: [
9791
10028
  heading && /* @__PURE__ */ jsx374("h3", { className: "pictogram-heading", children: heading }),
9792
10029
  children ? children : description && /* @__PURE__ */ jsx374("p", { className: "pictogram-description", children: description })
9793
10030
  ] })
@@ -9797,7 +10034,7 @@ function Pictogram({
9797
10034
  }
9798
10035
 
9799
10036
  // components/PieChart.tsx
9800
- import { jsx as jsx375, jsxs as jsxs72 } from "react/jsx-runtime";
10037
+ import { jsx as jsx375, jsxs as jsxs73 } from "react/jsx-runtime";
9801
10038
  function PieChart({
9802
10039
  className = "",
9803
10040
  label = void 0,
@@ -9805,7 +10042,7 @@ function PieChart({
9805
10042
  dataTable,
9806
10043
  ...restProps
9807
10044
  }) {
9808
- return /* @__PURE__ */ jsxs72(
10045
+ return /* @__PURE__ */ jsxs73(
9809
10046
  "figure",
9810
10047
  {
9811
10048
  className: `pie-chart ${className}`,
@@ -9865,20 +10102,46 @@ function PilipinasPhilhealthIdentificationNumberView({
9865
10102
  }
9866
10103
 
9867
10104
  // components/PinInputDiv.tsx
9868
- import { useState as useState24, useRef as useRef9, useEffect as useEffect6 } from "react";
10105
+ import { useState as useState24, useRef as useRef12, useEffect as useEffect9 } from "react";
9869
10106
  import { jsx as jsx378 } from "react/jsx-runtime";
9870
10107
  function PinInputDiv({
9871
10108
  className = "",
9872
10109
  label,
9873
10110
  length = 4,
10111
+ digitLabel,
9874
10112
  value = "",
9875
10113
  disabled = false,
9876
10114
  onChange,
9877
10115
  ...restProps
9878
10116
  }) {
9879
- const [digits, setDigits] = useState24(() => Array.from({ length }, () => ""));
9880
- const inputRefs = useRef9([]);
9881
- useEffect6(() => {
10117
+ const initialDigits = useRef12(
10118
+ Array.from({ length }, (_, i) => /^[0-9]$/.test(value[i] ?? "") ? value[i] : "")
10119
+ );
10120
+ const [digits, setDigits] = useState24(() => [...initialDigits.current]);
10121
+ const inputRefs = useRef12([]);
10122
+ const rootRef = useRef12(null);
10123
+ useEffect9(() => {
10124
+ const root = rootRef.current;
10125
+ const form = root?.closest("form");
10126
+ if (!root || !form) return;
10127
+ let timer;
10128
+ const onReset = (event) => {
10129
+ clearTimeout(timer);
10130
+ timer = setTimeout(() => {
10131
+ if (event.defaultPrevented) return;
10132
+ setDigits([...initialDigits.current]);
10133
+ inputRefs.current.forEach((input, i) => {
10134
+ if (input) input.value = initialDigits.current[i];
10135
+ });
10136
+ }, 0);
10137
+ };
10138
+ form.addEventListener("reset", onReset);
10139
+ return () => {
10140
+ clearTimeout(timer);
10141
+ form.removeEventListener("reset", onReset);
10142
+ };
10143
+ }, []);
10144
+ useEffect9(() => {
9882
10145
  const combined = digits.join("");
9883
10146
  if (combined !== value) {
9884
10147
  onChange?.(combined);
@@ -9920,6 +10183,7 @@ function PinInputDiv({
9920
10183
  return /* @__PURE__ */ jsx378(
9921
10184
  "div",
9922
10185
  {
10186
+ ref: rootRef,
9923
10187
  className: `pin-input-div ${className}`,
9924
10188
  role: "group",
9925
10189
  "aria-label": label,
@@ -9933,7 +10197,7 @@ function PinInputDiv({
9933
10197
  type: "text",
9934
10198
  inputMode: "numeric",
9935
10199
  maxLength: 1,
9936
- "aria-label": `Digit ${index + 1} of ${length}`,
10200
+ "aria-label": digitLabel ? digitLabel(index + 1, length) : label,
9937
10201
  value: digits[index],
9938
10202
  disabled,
9939
10203
  onInput: (e) => handleInput(index, e),
@@ -10058,7 +10322,7 @@ function PolskaPeselView({
10058
10322
 
10059
10323
  // components/PopconfirmDialog.tsx
10060
10324
  import { useId as useId12 } from "react";
10061
- import { jsx as jsx384, jsxs as jsxs73 } from "react/jsx-runtime";
10325
+ import { jsx as jsx384, jsxs as jsxs74 } from "react/jsx-runtime";
10062
10326
  function PopconfirmDialog({
10063
10327
  className = "",
10064
10328
  open = false,
@@ -10073,7 +10337,7 @@ function PopconfirmDialog({
10073
10337
  const reactId = useId12();
10074
10338
  const titleId = `popconfirm-${reactId}-title`;
10075
10339
  const descId = `popconfirm-${reactId}-desc`;
10076
- return /* @__PURE__ */ jsxs73(
10340
+ return /* @__PURE__ */ jsxs74(
10077
10341
  "div",
10078
10342
  {
10079
10343
  className: `popconfirm-dialog ${className}`,
@@ -10336,7 +10600,7 @@ function PrathetThaiLekPrajamTuaPrachachonView({
10336
10600
  }
10337
10601
 
10338
10602
  // components/ProductCard.tsx
10339
- import { jsx as jsx395, jsxs as jsxs74 } from "react/jsx-runtime";
10603
+ import { jsx as jsx395, jsxs as jsxs75 } from "react/jsx-runtime";
10340
10604
  function ProductCard({
10341
10605
  className = "",
10342
10606
  name,
@@ -10347,7 +10611,7 @@ function ProductCard({
10347
10611
  children = void 0,
10348
10612
  ...restProps
10349
10613
  }) {
10350
- return /* @__PURE__ */ jsxs74(
10614
+ return /* @__PURE__ */ jsxs75(
10351
10615
  "article",
10352
10616
  {
10353
10617
  className: `product-card ${className}`,
@@ -10362,7 +10626,7 @@ function ProductCard({
10362
10626
  alt: imageAlt ?? ""
10363
10627
  }
10364
10628
  ) : null,
10365
- /* @__PURE__ */ jsxs74("header", { className: "product-card-header", children: [
10629
+ /* @__PURE__ */ jsxs75("header", { className: "product-card-header", children: [
10366
10630
  /* @__PURE__ */ jsx395("h3", { className: "product-card-name", children: name }),
10367
10631
  /* @__PURE__ */ jsx395("p", { className: "product-card-price", children: price })
10368
10632
  ] }),
@@ -10493,7 +10757,7 @@ function Question({
10493
10757
  }
10494
10758
 
10495
10759
  // components/RadarChart.tsx
10496
- import { jsx as jsx402, jsxs as jsxs75 } from "react/jsx-runtime";
10760
+ import { jsx as jsx402, jsxs as jsxs76 } from "react/jsx-runtime";
10497
10761
  function RadarChart({
10498
10762
  className = "",
10499
10763
  label,
@@ -10501,7 +10765,7 @@ function RadarChart({
10501
10765
  dataTable,
10502
10766
  ...restProps
10503
10767
  }) {
10504
- return /* @__PURE__ */ jsxs75(
10768
+ return /* @__PURE__ */ jsxs76(
10505
10769
  "figure",
10506
10770
  {
10507
10771
  className: `radar-chart ${className}`,
@@ -10599,7 +10863,7 @@ function RangeInput({
10599
10863
  }
10600
10864
 
10601
10865
  // components/RedAmberGreenPicker.tsx
10602
- import { jsx as jsx406, jsxs as jsxs76 } from "react/jsx-runtime";
10866
+ import { jsx as jsx406, jsxs as jsxs77 } from "react/jsx-runtime";
10603
10867
  function RedAmberGreenPicker({
10604
10868
  className = "",
10605
10869
  label,
@@ -10607,7 +10871,7 @@ function RedAmberGreenPicker({
10607
10871
  onChange,
10608
10872
  ...restProps
10609
10873
  }) {
10610
- return /* @__PURE__ */ jsxs76(
10874
+ return /* @__PURE__ */ jsxs77(
10611
10875
  "select",
10612
10876
  {
10613
10877
  className: `red-amber-green-picker ${className}`,
@@ -10671,7 +10935,7 @@ function RedAmberGreenView({
10671
10935
  }
10672
10936
 
10673
10937
  // components/RedOrangeYellowGreenBluePicker.tsx
10674
- import { jsx as jsx409, jsxs as jsxs77 } from "react/jsx-runtime";
10938
+ import { jsx as jsx409, jsxs as jsxs78 } from "react/jsx-runtime";
10675
10939
  function RedOrangeYellowGreenBluePicker({
10676
10940
  className = "",
10677
10941
  label,
@@ -10679,7 +10943,7 @@ function RedOrangeYellowGreenBluePicker({
10679
10943
  onChange,
10680
10944
  ...restProps
10681
10945
  }) {
10682
- return /* @__PURE__ */ jsxs77(
10946
+ return /* @__PURE__ */ jsxs78(
10683
10947
  "select",
10684
10948
  {
10685
10949
  className: `red-orange-yellow-green-blue-picker ${className}`,
@@ -10828,7 +11092,7 @@ function ReviewDate({
10828
11092
  }
10829
11093
 
10830
11094
  // components/RingChart.tsx
10831
- import { jsx as jsx416, jsxs as jsxs78 } from "react/jsx-runtime";
11095
+ import { jsx as jsx416, jsxs as jsxs79 } from "react/jsx-runtime";
10832
11096
  function RingChart({
10833
11097
  className = "",
10834
11098
  label = void 0,
@@ -10836,7 +11100,7 @@ function RingChart({
10836
11100
  dataTable,
10837
11101
  ...restProps
10838
11102
  }) {
10839
- return /* @__PURE__ */ jsxs78(
11103
+ return /* @__PURE__ */ jsxs79(
10840
11104
  "figure",
10841
11105
  {
10842
11106
  className: `ring-chart ${className}`,
@@ -10988,7 +11252,7 @@ function RossiyaSnilsView({
10988
11252
  }
10989
11253
 
10990
11254
  // components/SankeyChart.tsx
10991
- import { jsx as jsx423, jsxs as jsxs79 } from "react/jsx-runtime";
11255
+ import { jsx as jsx423, jsxs as jsxs80 } from "react/jsx-runtime";
10992
11256
  function SankeyChart({
10993
11257
  className = "",
10994
11258
  label,
@@ -10996,7 +11260,7 @@ function SankeyChart({
10996
11260
  dataTable,
10997
11261
  ...restProps
10998
11262
  }) {
10999
- return /* @__PURE__ */ jsxs79(
11263
+ return /* @__PURE__ */ jsxs80(
11000
11264
  "figure",
11001
11265
  {
11002
11266
  className: `sankey-chart ${className}`,
@@ -11010,7 +11274,7 @@ function SankeyChart({
11010
11274
  }
11011
11275
 
11012
11276
  // components/ScatterChart.tsx
11013
- import { jsx as jsx424, jsxs as jsxs80 } from "react/jsx-runtime";
11277
+ import { jsx as jsx424, jsxs as jsxs81 } from "react/jsx-runtime";
11014
11278
  function ScatterChart({
11015
11279
  className = "",
11016
11280
  label = void 0,
@@ -11018,7 +11282,7 @@ function ScatterChart({
11018
11282
  dataTable,
11019
11283
  ...restProps
11020
11284
  }) {
11021
- return /* @__PURE__ */ jsxs80(
11285
+ return /* @__PURE__ */ jsxs81(
11022
11286
  "figure",
11023
11287
  {
11024
11288
  className: `scatter-chart ${className}`,
@@ -11143,7 +11407,7 @@ function ScrollBar({
11143
11407
  }
11144
11408
 
11145
11409
  // components/ScrollerBase.tsx
11146
- import { useEffect as useEffect7, useRef as useRef10 } from "react";
11410
+ import { useEffect as useEffect10, useRef as useRef13 } from "react";
11147
11411
  import { jsx as jsx430 } from "react/jsx-runtime";
11148
11412
  function ScrollerBase({
11149
11413
  className = "",
@@ -11154,8 +11418,8 @@ function ScrollerBase({
11154
11418
  children,
11155
11419
  ...restProps
11156
11420
  }) {
11157
- const ref = useRef10(null);
11158
- useEffect7(() => {
11421
+ const ref = useRef13(null);
11422
+ useEffect10(() => {
11159
11423
  const root = ref.current;
11160
11424
  if (!root || typeof IntersectionObserver === "undefined") return;
11161
11425
  const steps = Array.from(root.children);
@@ -11203,7 +11467,7 @@ function ScrollerBase({
11203
11467
  }
11204
11468
 
11205
11469
  // components/Scroller.tsx
11206
- import { jsx as jsx431, jsxs as jsxs81 } from "react/jsx-runtime";
11470
+ import { jsx as jsx431, jsxs as jsxs82 } from "react/jsx-runtime";
11207
11471
  function Scroller({
11208
11472
  className = "",
11209
11473
  label = void 0,
@@ -11214,7 +11478,7 @@ function Scroller({
11214
11478
  background,
11215
11479
  ...restProps
11216
11480
  }) {
11217
- return /* @__PURE__ */ jsxs81(
11481
+ return /* @__PURE__ */ jsxs82(
11218
11482
  "div",
11219
11483
  {
11220
11484
  className: `scroller ${className}`,
@@ -11245,8 +11509,8 @@ function Scroller({
11245
11509
  }
11246
11510
 
11247
11511
  // components/ScrollerVideo.tsx
11248
- import { useEffect as useEffect8, useRef as useRef11 } from "react";
11249
- import { jsx as jsx432, jsxs as jsxs82 } from "react/jsx-runtime";
11512
+ import { useEffect as useEffect11, useRef as useRef14 } from "react";
11513
+ import { jsx as jsx432, jsxs as jsxs83 } from "react/jsx-runtime";
11250
11514
  function ScrollerVideo({
11251
11515
  className = "",
11252
11516
  src,
@@ -11258,7 +11522,7 @@ function ScrollerVideo({
11258
11522
  children,
11259
11523
  ...restProps
11260
11524
  }) {
11261
- const videoRef = useRef11(null);
11525
+ const videoRef = useRef14(null);
11262
11526
  const handleProgress = (progress) => {
11263
11527
  const video = videoRef.current;
11264
11528
  if (video && Number.isFinite(video.duration) && video.duration > 0) {
@@ -11266,14 +11530,14 @@ function ScrollerVideo({
11266
11530
  }
11267
11531
  onProgressChange?.(progress);
11268
11532
  };
11269
- useEffect8(() => {
11533
+ useEffect11(() => {
11270
11534
  const video = videoRef.current;
11271
11535
  if (video) {
11272
11536
  video.muted = true;
11273
11537
  video.playsInline = true;
11274
11538
  }
11275
11539
  }, []);
11276
- return /* @__PURE__ */ jsxs82(
11540
+ return /* @__PURE__ */ jsxs83(
11277
11541
  "div",
11278
11542
  {
11279
11543
  className: `scroller-video ${className}`,
@@ -11342,7 +11606,7 @@ function SearchInput({
11342
11606
  }
11343
11607
 
11344
11608
  // components/SectionHeading.tsx
11345
- import { jsx as jsx434, jsxs as jsxs83 } from "react/jsx-runtime";
11609
+ import { jsx as jsx434, jsxs as jsxs84 } from "react/jsx-runtime";
11346
11610
  function SectionHeading({
11347
11611
  className = "",
11348
11612
  heading,
@@ -11352,7 +11616,7 @@ function SectionHeading({
11352
11616
  ...restProps
11353
11617
  }) {
11354
11618
  const HeadingTag = `h${level}`;
11355
- return /* @__PURE__ */ jsxs83("header", { className: `section-heading ${className}`, ...restProps, children: [
11619
+ return /* @__PURE__ */ jsxs84("header", { className: `section-heading ${className}`, ...restProps, children: [
11356
11620
  eyebrow && /* @__PURE__ */ jsx434("p", { className: "section-heading-eyebrow", children: eyebrow }),
11357
11621
  /* @__PURE__ */ jsx434(HeadingTag, { className: "section-heading-heading", children: heading }),
11358
11622
  subtitle && /* @__PURE__ */ jsx434("p", { className: "section-heading-subtitle", children: subtitle })
@@ -11508,7 +11772,7 @@ function Select({
11508
11772
  }
11509
11773
 
11510
11774
  // components/SelectWithExtras.tsx
11511
- import { jsx as jsx442, jsxs as jsxs84 } from "react/jsx-runtime";
11775
+ import { jsx as jsx442, jsxs as jsxs85 } from "react/jsx-runtime";
11512
11776
  function SelectWithExtras({
11513
11777
  className = "",
11514
11778
  label,
@@ -11521,7 +11785,7 @@ function SelectWithExtras({
11521
11785
  children,
11522
11786
  ...restProps
11523
11787
  }) {
11524
- return /* @__PURE__ */ jsxs84(
11788
+ return /* @__PURE__ */ jsxs85(
11525
11789
  "div",
11526
11790
  {
11527
11791
  className: `select-with-extras ${className}`,
@@ -11619,8 +11883,8 @@ function Sheet({
11619
11883
  }
11620
11884
 
11621
11885
  // components/ShowMore.tsx
11622
- import { useEffect as useEffect9, useId as useId13, useState as useState27 } from "react";
11623
- import { jsx as jsx446, jsxs as jsxs85 } from "react/jsx-runtime";
11886
+ import { useEffect as useEffect12, useId as useId13, useState as useState27 } from "react";
11887
+ import { jsx as jsx446, jsxs as jsxs86 } from "react/jsx-runtime";
11624
11888
  function ShowMore({
11625
11889
  className = "",
11626
11890
  moreLabel,
@@ -11631,9 +11895,9 @@ function ShowMore({
11631
11895
  ...restProps
11632
11896
  }) {
11633
11897
  const [expanded, setExpanded] = useState27(expandedProp);
11634
- useEffect9(() => setExpanded(expandedProp), [expandedProp]);
11898
+ useEffect12(() => setExpanded(expandedProp), [expandedProp]);
11635
11899
  const contentId = `show-more-${useId13()}`;
11636
- return /* @__PURE__ */ jsxs85("div", { className: `show-more ${className}`, ...restProps, children: [
11900
+ return /* @__PURE__ */ jsxs86("div", { className: `show-more ${className}`, ...restProps, children: [
11637
11901
  /* @__PURE__ */ jsx446("div", { className: "show-more-content", id: contentId, "data-expanded": expanded, children }),
11638
11902
  /* @__PURE__ */ jsx446(
11639
11903
  "button",
@@ -12130,7 +12394,7 @@ function Sparkline({
12130
12394
  }
12131
12395
 
12132
12396
  // components/SplitButton.tsx
12133
- import { jsx as jsx466, jsxs as jsxs86 } from "react/jsx-runtime";
12397
+ import { jsx as jsx466, jsxs as jsxs87 } from "react/jsx-runtime";
12134
12398
  function SplitButton({
12135
12399
  className = "",
12136
12400
  label,
@@ -12143,7 +12407,7 @@ function SplitButton({
12143
12407
  children = void 0,
12144
12408
  ...restProps
12145
12409
  }) {
12146
- return /* @__PURE__ */ jsxs86(
12410
+ return /* @__PURE__ */ jsxs87(
12147
12411
  "div",
12148
12412
  {
12149
12413
  className: `split-button ${className}`,
@@ -12180,7 +12444,7 @@ function SplitButton({
12180
12444
  }
12181
12445
 
12182
12446
  // components/SplitView.tsx
12183
- import { jsx as jsx467, jsxs as jsxs87 } from "react/jsx-runtime";
12447
+ import { jsx as jsx467, jsxs as jsxs88 } from "react/jsx-runtime";
12184
12448
  function SplitView({
12185
12449
  className = "",
12186
12450
  label,
@@ -12191,7 +12455,7 @@ function SplitView({
12191
12455
  splitPercent = 50,
12192
12456
  ...restProps
12193
12457
  }) {
12194
- return /* @__PURE__ */ jsxs87(
12458
+ return /* @__PURE__ */ jsxs88(
12195
12459
  "div",
12196
12460
  {
12197
12461
  className: `split-view ${className}`,
@@ -12244,7 +12508,7 @@ function Splitter({
12244
12508
  }
12245
12509
 
12246
12510
  // components/Statistic.tsx
12247
- import { jsx as jsx469, jsxs as jsxs88 } from "react/jsx-runtime";
12511
+ import { jsx as jsx469, jsxs as jsxs89 } from "react/jsx-runtime";
12248
12512
  function Statistic({
12249
12513
  className = "",
12250
12514
  title,
@@ -12255,7 +12519,7 @@ function Statistic({
12255
12519
  ...restProps
12256
12520
  }) {
12257
12521
  const ariaLabel = label ?? `${title}: ${value}`;
12258
- return /* @__PURE__ */ jsxs88(
12522
+ return /* @__PURE__ */ jsxs89(
12259
12523
  "div",
12260
12524
  {
12261
12525
  className: `statistic ${className}`,
@@ -12264,7 +12528,7 @@ function Statistic({
12264
12528
  ...restProps,
12265
12529
  children: [
12266
12530
  /* @__PURE__ */ jsx469("div", { className: "statistic-title", children: title }),
12267
- /* @__PURE__ */ jsxs88("div", { className: "statistic-value", children: [
12531
+ /* @__PURE__ */ jsxs89("div", { className: "statistic-value", children: [
12268
12532
  prefix !== void 0 && prefix !== null ? /* @__PURE__ */ jsx469("span", { className: "statistic-prefix", children: prefix }) : null,
12269
12533
  value,
12270
12534
  suffix !== void 0 && suffix !== null ? /* @__PURE__ */ jsx469("span", { className: "statistic-suffix", children: suffix }) : null
@@ -12275,14 +12539,14 @@ function Statistic({
12275
12539
  }
12276
12540
 
12277
12541
  // components/StatusLight.tsx
12278
- import { jsx as jsx470, jsxs as jsxs89 } from "react/jsx-runtime";
12542
+ import { jsx as jsx470, jsxs as jsxs90 } from "react/jsx-runtime";
12279
12543
  function StatusLight({
12280
12544
  className = "",
12281
12545
  variant = "neutral",
12282
12546
  label,
12283
12547
  ...restProps
12284
12548
  }) {
12285
- return /* @__PURE__ */ jsxs89(
12549
+ return /* @__PURE__ */ jsxs90(
12286
12550
  "span",
12287
12551
  {
12288
12552
  className: `status-light ${className}`,
@@ -12361,7 +12625,7 @@ function StepListItem({
12361
12625
  }
12362
12626
 
12363
12627
  // components/StickyPromoBanner.tsx
12364
- import { jsx as jsx474, jsxs as jsxs90 } from "react/jsx-runtime";
12628
+ import { jsx as jsx474, jsxs as jsxs91 } from "react/jsx-runtime";
12365
12629
  function StickyPromoBanner({
12366
12630
  className = "",
12367
12631
  label,
@@ -12373,7 +12637,7 @@ function StickyPromoBanner({
12373
12637
  ...restProps
12374
12638
  }) {
12375
12639
  const positionStyle = position === "top" ? { position: "fixed", top: 0, left: 0, right: 0 } : { position: "fixed", bottom: 0, left: 0, right: 0 };
12376
- return /* @__PURE__ */ jsxs90(
12640
+ return /* @__PURE__ */ jsxs91(
12377
12641
  "aside",
12378
12642
  {
12379
12643
  className: `sticky-promo-banner ${className}`,
@@ -12465,7 +12729,7 @@ function SuccessPanel({
12465
12729
  }
12466
12730
 
12467
12731
  // components/SummaryBox.tsx
12468
- import { jsx as jsx478, jsxs as jsxs91 } from "react/jsx-runtime";
12732
+ import { jsx as jsx478, jsxs as jsxs92 } from "react/jsx-runtime";
12469
12733
  function SummaryBox({
12470
12734
  className = "",
12471
12735
  heading,
@@ -12473,7 +12737,7 @@ function SummaryBox({
12473
12737
  children,
12474
12738
  ...restProps
12475
12739
  }) {
12476
- return /* @__PURE__ */ jsxs91(
12740
+ return /* @__PURE__ */ jsxs92(
12477
12741
  "aside",
12478
12742
  {
12479
12743
  className: `summary-box ${className}`,
@@ -12507,14 +12771,14 @@ function SummaryList({
12507
12771
  }
12508
12772
 
12509
12773
  // components/SummaryListItem.tsx
12510
- import { jsx as jsx480, jsxs as jsxs92 } from "react/jsx-runtime";
12774
+ import { jsx as jsx480, jsxs as jsxs93 } from "react/jsx-runtime";
12511
12775
  function SummaryListItem({
12512
12776
  className = "",
12513
12777
  term,
12514
12778
  children,
12515
12779
  ...restProps
12516
12780
  }) {
12517
- return /* @__PURE__ */ jsxs92(
12781
+ return /* @__PURE__ */ jsxs93(
12518
12782
  "div",
12519
12783
  {
12520
12784
  className: `summary-list-item ${className}`,
@@ -12528,7 +12792,7 @@ function SummaryListItem({
12528
12792
  }
12529
12793
 
12530
12794
  // components/SunburstChart.tsx
12531
- import { jsx as jsx481, jsxs as jsxs93 } from "react/jsx-runtime";
12795
+ import { jsx as jsx481, jsxs as jsxs94 } from "react/jsx-runtime";
12532
12796
  function SunburstChart({
12533
12797
  className = "",
12534
12798
  label = void 0,
@@ -12536,7 +12800,7 @@ function SunburstChart({
12536
12800
  dataTable,
12537
12801
  ...restProps
12538
12802
  }) {
12539
- return /* @__PURE__ */ jsxs93(
12803
+ return /* @__PURE__ */ jsxs94(
12540
12804
  "figure",
12541
12805
  {
12542
12806
  className: `sunburst-chart ${className}`,
@@ -12596,7 +12860,7 @@ function SuomiHenkilotunnusView({
12596
12860
  }
12597
12861
 
12598
12862
  // components/SuperBanner.tsx
12599
- import { jsx as jsx484, jsxs as jsxs94 } from "react/jsx-runtime";
12863
+ import { jsx as jsx484, jsxs as jsxs95 } from "react/jsx-runtime";
12600
12864
  function SuperBanner({
12601
12865
  className = "",
12602
12866
  label = void 0,
@@ -12606,7 +12870,7 @@ function SuperBanner({
12606
12870
  children,
12607
12871
  ...restProps
12608
12872
  }) {
12609
- return /* @__PURE__ */ jsxs94(
12873
+ return /* @__PURE__ */ jsxs95(
12610
12874
  "div",
12611
12875
  {
12612
12876
  className: `super-banner ${className}`,
@@ -12678,7 +12942,7 @@ function SverigePersonnummerView({
12678
12942
  }
12679
12943
 
12680
12944
  // components/SwitchButton.tsx
12681
- import { useEffect as useEffect10, useState as useState30 } from "react";
12945
+ import { useEffect as useEffect13, useState as useState30 } from "react";
12682
12946
  import { jsx as jsx487 } from "react/jsx-runtime";
12683
12947
  function SwitchButton({
12684
12948
  className = "",
@@ -12689,7 +12953,7 @@ function SwitchButton({
12689
12953
  ...restProps
12690
12954
  }) {
12691
12955
  const [checked, setChecked] = useState30(checkedProp);
12692
- useEffect10(() => {
12956
+ useEffect13(() => {
12693
12957
  setChecked(checkedProp);
12694
12958
  }, [checkedProp]);
12695
12959
  function toggle() {
@@ -12722,7 +12986,7 @@ function SwitchButton({
12722
12986
  }
12723
12987
 
12724
12988
  // components/TabBar.tsx
12725
- import { useRef as useRef12 } from "react";
12989
+ import { useRef as useRef15 } from "react";
12726
12990
  import { jsx as jsx488 } from "react/jsx-runtime";
12727
12991
  function TabBar({
12728
12992
  className = "",
@@ -12730,7 +12994,7 @@ function TabBar({
12730
12994
  children,
12731
12995
  ...restProps
12732
12996
  }) {
12733
- const barRef = useRef12(null);
12997
+ const barRef = useRef15(null);
12734
12998
  function handleKeyDown(event) {
12735
12999
  if (!barRef.current) return;
12736
13000
  const items = Array.from(
@@ -12957,23 +13221,21 @@ function TableTH({
12957
13221
  }
12958
13222
 
12959
13223
  // components/Tag.tsx
12960
- import { jsx as jsx498 } from "react/jsx-runtime";
13224
+ import { jsx as jsx498, jsxs as jsxs96 } from "react/jsx-runtime";
12961
13225
  function Tag({
12962
13226
  className = "",
12963
13227
  label,
13228
+ live = false,
12964
13229
  children,
12965
13230
  ...restProps
12966
13231
  }) {
12967
- return /* @__PURE__ */ jsx498(
12968
- "span",
12969
- {
12970
- className: `tag ${className}`,
12971
- role: "status",
12972
- "aria-label": label,
12973
- ...restProps,
12974
- children
12975
- }
12976
- );
13232
+ if (live) {
13233
+ return /* @__PURE__ */ jsx498("span", { className: `tag ${className}`, role: "status", "aria-label": label, ...restProps, children });
13234
+ }
13235
+ return /* @__PURE__ */ jsxs96("span", { className: `tag ${className}`, ...restProps, children: [
13236
+ children,
13237
+ label ? /* @__PURE__ */ jsx498("span", { className: "screen-reader-span", children: label }) : null
13238
+ ] });
12977
13239
  }
12978
13240
 
12979
13241
  // components/TagGroup.tsx
@@ -13030,7 +13292,7 @@ function TagInput({
13030
13292
  }
13031
13293
 
13032
13294
  // components/TaskBar.tsx
13033
- import { useRef as useRef13 } from "react";
13295
+ import { useRef as useRef16 } from "react";
13034
13296
  import { jsx as jsx501 } from "react/jsx-runtime";
13035
13297
  function TaskBar({
13036
13298
  className = "",
@@ -13038,7 +13300,7 @@ function TaskBar({
13038
13300
  children,
13039
13301
  ...restProps
13040
13302
  }) {
13041
- const barRef = useRef13(null);
13303
+ const barRef = useRef16(null);
13042
13304
  function handleKeyDown(event) {
13043
13305
  if (!barRef.current) return;
13044
13306
  const items = Array.from(
@@ -13129,7 +13391,7 @@ function TaskList({
13129
13391
 
13130
13392
  // components/TaskListItem.tsx
13131
13393
  import { useState as useState31 } from "react";
13132
- import { jsx as jsx504, jsxs as jsxs95 } from "react/jsx-runtime";
13394
+ import { jsx as jsx504, jsxs as jsxs97 } from "react/jsx-runtime";
13133
13395
  function TaskListItem({
13134
13396
  className = "",
13135
13397
  label,
@@ -13151,7 +13413,7 @@ function TaskListItem({
13151
13413
  "data-checked": checked,
13152
13414
  "data-disabled": disabled || void 0,
13153
13415
  ...restProps,
13154
- children: /* @__PURE__ */ jsxs95("label", { children: [
13416
+ children: /* @__PURE__ */ jsxs97("label", { children: [
13155
13417
  /* @__PURE__ */ jsx504(
13156
13418
  "input",
13157
13419
  {
@@ -13243,7 +13505,7 @@ function TextAreaInput({
13243
13505
 
13244
13506
  // components/TextAreaInputWithCharacterCounter.tsx
13245
13507
  import { useId as useId14 } from "react";
13246
- import { jsx as jsx508, jsxs as jsxs96 } from "react/jsx-runtime";
13508
+ import { jsx as jsx508, jsxs as jsxs98 } from "react/jsx-runtime";
13247
13509
  function TextAreaInputWithCharacterCounter({
13248
13510
  className = "",
13249
13511
  label,
@@ -13259,7 +13521,7 @@ function TextAreaInputWithCharacterCounter({
13259
13521
  }) {
13260
13522
  const counterId = useId14();
13261
13523
  const counterText = counterTemplate.replace("{count}", String(value.length)).replace("{max}", String(maxLength));
13262
- return /* @__PURE__ */ jsxs96(
13524
+ return /* @__PURE__ */ jsxs98(
13263
13525
  "div",
13264
13526
  {
13265
13527
  className: `text-area-input-with-character-counter ${className}`,
@@ -13319,7 +13581,7 @@ function TextInput({
13319
13581
  }
13320
13582
 
13321
13583
  // components/TextInputWithSearch.tsx
13322
- import { jsx as jsx510, jsxs as jsxs97 } from "react/jsx-runtime";
13584
+ import { jsx as jsx510, jsxs as jsxs99 } from "react/jsx-runtime";
13323
13585
  function TextInputWithSearch({
13324
13586
  className = "",
13325
13587
  label,
@@ -13342,7 +13604,7 @@ function TextInputWithSearch({
13342
13604
  handleSearch();
13343
13605
  }
13344
13606
  }
13345
- return /* @__PURE__ */ jsxs97(
13607
+ return /* @__PURE__ */ jsxs99(
13346
13608
  "div",
13347
13609
  {
13348
13610
  className: `text-input-with-search ${className}`,
@@ -13479,8 +13741,8 @@ function ThemeView({
13479
13741
  }
13480
13742
 
13481
13743
  // components/Thinking.tsx
13482
- import { useEffect as useEffect11, useState as useState32 } from "react";
13483
- import { jsx as jsx515, jsxs as jsxs98 } from "react/jsx-runtime";
13744
+ import { useEffect as useEffect14, useState as useState32 } from "react";
13745
+ import { jsx as jsx515, jsxs as jsxs100 } from "react/jsx-runtime";
13484
13746
  function Thinking({
13485
13747
  className = "",
13486
13748
  label,
@@ -13491,8 +13753,8 @@ function Thinking({
13491
13753
  ...restProps
13492
13754
  }) {
13493
13755
  const [open, setOpen] = useState32(openProp);
13494
- useEffect11(() => setOpen(openProp), [openProp]);
13495
- return /* @__PURE__ */ jsxs98(
13756
+ useEffect14(() => setOpen(openProp), [openProp]);
13757
+ return /* @__PURE__ */ jsxs100(
13496
13758
  "details",
13497
13759
  {
13498
13760
  className: `thinking ${className}`,
@@ -13534,7 +13796,7 @@ function Tile({
13534
13796
  }
13535
13797
 
13536
13798
  // components/TileMap.tsx
13537
- import { useRef as useRef14 } from "react";
13799
+ import { useRef as useRef17 } from "react";
13538
13800
  import { jsx as jsx517 } from "react/jsx-runtime";
13539
13801
  function TileMap({
13540
13802
  className = "",
@@ -13542,7 +13804,7 @@ function TileMap({
13542
13804
  children,
13543
13805
  ...restProps
13544
13806
  }) {
13545
- const ref = useRef14(null);
13807
+ const ref = useRef17(null);
13546
13808
  const handleKeyDown = (event) => {
13547
13809
  const root = ref.current;
13548
13810
  if (!root) return;
@@ -13678,7 +13940,7 @@ function TimelineList({
13678
13940
  }
13679
13941
 
13680
13942
  // components/TimelineListItem.tsx
13681
- import { jsx as jsx521, jsxs as jsxs99 } from "react/jsx-runtime";
13943
+ import { jsx as jsx521, jsxs as jsxs101 } from "react/jsx-runtime";
13682
13944
  function TimelineListItem({
13683
13945
  className = "",
13684
13946
  datetime = "",
@@ -13686,7 +13948,7 @@ function TimelineListItem({
13686
13948
  children,
13687
13949
  ...restProps
13688
13950
  }) {
13689
- return /* @__PURE__ */ jsxs99(
13951
+ return /* @__PURE__ */ jsxs101(
13690
13952
  "li",
13691
13953
  {
13692
13954
  className: `timeline-list-item ${className}`,
@@ -13740,7 +14002,7 @@ function Timer({
13740
14002
  }
13741
14003
 
13742
14004
  // components/TimerButton.tsx
13743
- import { useEffect as useEffect12, useRef as useRef15, useState as useState33 } from "react";
14005
+ import { useEffect as useEffect15, useRef as useRef18, useState as useState33 } from "react";
13744
14006
  import { jsx as jsx524 } from "react/jsx-runtime";
13745
14007
  function TimerButton({
13746
14008
  className = "",
@@ -13752,8 +14014,8 @@ function TimerButton({
13752
14014
  ...restProps
13753
14015
  }) {
13754
14016
  const [remainingSeconds, setRemainingSeconds] = useState33(duration);
13755
- const firedRef = useRef15(false);
13756
- useEffect12(() => {
14017
+ const firedRef = useRef18(false);
14018
+ useEffect15(() => {
13757
14019
  if (disabled) return;
13758
14020
  const start = Date.now();
13759
14021
  const interval = setInterval(() => {
@@ -13875,7 +14137,7 @@ function ToggleGroup({
13875
14137
  }
13876
14138
 
13877
14139
  // components/ToolBar.tsx
13878
- import { useRef as useRef16 } from "react";
14140
+ import { useRef as useRef19 } from "react";
13879
14141
  import { jsx as jsx528 } from "react/jsx-runtime";
13880
14142
  function ToolBar({
13881
14143
  className = "",
@@ -13883,7 +14145,7 @@ function ToolBar({
13883
14145
  children,
13884
14146
  ...restProps
13885
14147
  }) {
13886
- const toolbarRef = useRef16(null);
14148
+ const toolbarRef = useRef19(null);
13887
14149
  function handleKeyDown(event) {
13888
14150
  if (!toolbarRef.current) return;
13889
14151
  const items = Array.from(
@@ -13953,8 +14215,8 @@ function ToolBarButton({
13953
14215
  }
13954
14216
 
13955
14217
  // components/ToolCall.tsx
13956
- import { useEffect as useEffect13, useState as useState35 } from "react";
13957
- import { jsx as jsx530, jsxs as jsxs100 } from "react/jsx-runtime";
14218
+ import { useEffect as useEffect16, useState as useState35 } from "react";
14219
+ import { jsx as jsx530, jsxs as jsxs102 } from "react/jsx-runtime";
13958
14220
  function ToolCall({
13959
14221
  className = "",
13960
14222
  status = void 0,
@@ -13965,8 +14227,8 @@ function ToolCall({
13965
14227
  ...restProps
13966
14228
  }) {
13967
14229
  const [open, setOpen] = useState35(openProp);
13968
- useEffect13(() => setOpen(openProp), [openProp]);
13969
- return /* @__PURE__ */ jsxs100(
14230
+ useEffect16(() => setOpen(openProp), [openProp]);
14231
+ return /* @__PURE__ */ jsxs102(
13970
14232
  "details",
13971
14233
  {
13972
14234
  className: `tool-call ${className}`,
@@ -14192,7 +14454,7 @@ function TourListItem({
14192
14454
  }
14193
14455
 
14194
14456
  // components/TransferList.tsx
14195
- import { jsx as jsx540, jsxs as jsxs101 } from "react/jsx-runtime";
14457
+ import { jsx as jsx540, jsxs as jsxs103 } from "react/jsx-runtime";
14196
14458
  function TransferList({
14197
14459
  className = "",
14198
14460
  label,
@@ -14203,7 +14465,7 @@ function TransferList({
14203
14465
  actions = void 0,
14204
14466
  ...restProps
14205
14467
  }) {
14206
- return /* @__PURE__ */ jsxs101(
14468
+ return /* @__PURE__ */ jsxs103(
14207
14469
  "div",
14208
14470
  {
14209
14471
  className: `transfer-list ${className}`,
@@ -14241,7 +14503,7 @@ function TreeLink({
14241
14503
  }
14242
14504
 
14243
14505
  // components/TreeList.tsx
14244
- import { useRef as useRef17 } from "react";
14506
+ import { useRef as useRef20 } from "react";
14245
14507
  import { jsx as jsx542 } from "react/jsx-runtime";
14246
14508
  function TreeList({
14247
14509
  className = "",
@@ -14249,7 +14511,7 @@ function TreeList({
14249
14511
  children,
14250
14512
  ...restProps
14251
14513
  }) {
14252
- const treeRef = useRef17(null);
14514
+ const treeRef = useRef20(null);
14253
14515
  function handleKeyDown(event) {
14254
14516
  if (!treeRef.current) return;
14255
14517
  const items = Array.from(
@@ -14356,7 +14618,7 @@ function TreeNav({
14356
14618
  }
14357
14619
 
14358
14620
  // components/TreeSelect.tsx
14359
- import { jsx as jsx546, jsxs as jsxs102 } from "react/jsx-runtime";
14621
+ import { jsx as jsx546, jsxs as jsxs104 } from "react/jsx-runtime";
14360
14622
  function TreeSelect({
14361
14623
  className = "",
14362
14624
  label,
@@ -14369,7 +14631,7 @@ function TreeSelect({
14369
14631
  children,
14370
14632
  ...restProps
14371
14633
  }) {
14372
- return /* @__PURE__ */ jsxs102(
14634
+ return /* @__PURE__ */ jsxs104(
14373
14635
  "div",
14374
14636
  {
14375
14637
  className: `tree-select ${className}`,
@@ -14749,8 +15011,8 @@ function ValidationListItem({
14749
15011
  }
14750
15012
 
14751
15013
  // components/VideoPlayer.tsx
14752
- import { useEffect as useEffect14, useRef as useRef18 } from "react";
14753
- import { jsx as jsx562, jsxs as jsxs103 } from "react/jsx-runtime";
15014
+ import { useEffect as useEffect17, useRef as useRef21 } from "react";
15015
+ import { jsx as jsx562, jsxs as jsxs105 } from "react/jsx-runtime";
14754
15016
  function VideoPlayer({
14755
15017
  className = "",
14756
15018
  src,
@@ -14764,8 +15026,8 @@ function VideoPlayer({
14764
15026
  children,
14765
15027
  ...restProps
14766
15028
  }) {
14767
- const videoRef = useRef18(null);
14768
- useEffect14(() => {
15029
+ const videoRef = useRef21(null);
15030
+ useEffect17(() => {
14769
15031
  if (!autoplay) return;
14770
15032
  const video = videoRef.current;
14771
15033
  if (!video || typeof IntersectionObserver === "undefined") return;
@@ -14785,7 +15047,7 @@ function VideoPlayer({
14785
15047
  observer.observe(video);
14786
15048
  return () => observer.disconnect();
14787
15049
  }, [autoplay]);
14788
- return /* @__PURE__ */ jsxs103(
15050
+ return /* @__PURE__ */ jsxs105(
14789
15051
  "figure",
14790
15052
  {
14791
15053
  className: `video-player ${className}`,
@@ -14813,7 +15075,7 @@ function VideoPlayer({
14813
15075
  }
14814
15076
 
14815
15077
  // components/Visible.tsx
14816
- import { useEffect as useEffect15, useRef as useRef19, useState as useState36 } from "react";
15078
+ import { useEffect as useEffect18, useRef as useRef22, useState as useState36 } from "react";
14817
15079
  import { jsx as jsx563 } from "react/jsx-runtime";
14818
15080
  function Visible({
14819
15081
  className = "",
@@ -14823,9 +15085,9 @@ function Visible({
14823
15085
  children,
14824
15086
  ...restProps
14825
15087
  }) {
14826
- const ref = useRef19(null);
15088
+ const ref = useRef22(null);
14827
15089
  const [visible, setVisible] = useState36(false);
14828
- useEffect15(() => {
15090
+ useEffect18(() => {
14829
15091
  const el = ref.current;
14830
15092
  if (!el || typeof IntersectionObserver === "undefined") return;
14831
15093
  const observer = new IntersectionObserver(
@@ -14877,7 +15139,7 @@ function WarningCallout({
14877
15139
  }
14878
15140
 
14879
15141
  // components/Watermark.tsx
14880
- import { jsx as jsx565, jsxs as jsxs104 } from "react/jsx-runtime";
15142
+ import { jsx as jsx565, jsxs as jsxs106 } from "react/jsx-runtime";
14881
15143
  function Watermark({
14882
15144
  className = "",
14883
15145
  text = void 0,
@@ -14887,7 +15149,7 @@ function Watermark({
14887
15149
  children = void 0,
14888
15150
  ...restProps
14889
15151
  }) {
14890
- return /* @__PURE__ */ jsxs104(
15152
+ return /* @__PURE__ */ jsxs106(
14891
15153
  "div",
14892
15154
  {
14893
15155
  className: `watermark ${className}`,