react-ui-suite 1.1.1 → 1.1.3

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
@@ -2790,30 +2790,214 @@ var Disclosure = React14.forwardRef(function Disclosure2({ title, children, clas
2790
2790
  );
2791
2791
  });
2792
2792
 
2793
- // components/InputField/InputField.tsx
2793
+ // components/FilePicker/FilePicker.tsx
2794
2794
  import * as React15 from "react";
2795
2795
  import clsx16 from "clsx";
2796
- import "./InputField-TKTNGOH3.css";
2796
+ import "./FilePicker-N72M7PZO.css";
2797
2797
  import { jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
2798
- var InputField = React15.forwardRef(function InputField2({ label, description, error, leadingIcon, trailingLabel, className, id, disabled, ...rest }, ref) {
2798
+ function matchesAcceptToken(file, token) {
2799
+ const normalizedToken = token.trim().toLowerCase();
2800
+ if (!normalizedToken) return true;
2801
+ const fileName = file.name.toLowerCase();
2802
+ const fileType = file.type.toLowerCase();
2803
+ if (normalizedToken.startsWith(".")) {
2804
+ return fileName.endsWith(normalizedToken);
2805
+ }
2806
+ if (normalizedToken.endsWith("/*")) {
2807
+ const prefix = normalizedToken.slice(0, -1);
2808
+ return fileType.startsWith(prefix);
2809
+ }
2810
+ return fileType === normalizedToken;
2811
+ }
2812
+ function filterFilesByAccept(files, accept) {
2813
+ if (!(accept == null ? void 0 : accept.trim())) return files;
2814
+ const tokens = accept.split(",").map((token) => token.trim()).filter(Boolean);
2815
+ if (!tokens.length) return files;
2816
+ return files.filter((file) => tokens.some((token) => matchesAcceptToken(file, token)));
2817
+ }
2818
+ function formatBytes(bytes) {
2819
+ if (bytes < 1024) return `${bytes} B`;
2820
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
2821
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
2822
+ }
2823
+ var FilePicker = React15.forwardRef(function FilePicker2({
2824
+ label,
2825
+ description,
2826
+ error,
2827
+ dropzoneLabel = "Drop files here or click to browse",
2828
+ maxFiles,
2829
+ id,
2830
+ className,
2831
+ accept,
2832
+ disabled,
2833
+ multiple,
2834
+ onFilesChange,
2835
+ onChange,
2836
+ ...rest
2837
+ }, forwardedRef) {
2799
2838
  const generatedId = React15.useId();
2800
2839
  const inputId = id != null ? id : generatedId;
2801
2840
  const descriptionId = React15.useId();
2802
2841
  const errorId = React15.useId();
2842
+ const [isDragActive, setIsDragActive] = React15.useState(false);
2843
+ const [selectedFiles, setSelectedFiles] = React15.useState([]);
2844
+ const [restrictedCount, setRestrictedCount] = React15.useState(0);
2845
+ const inputRef = React15.useRef(null);
2846
+ const setRefs = React15.useCallback(
2847
+ (node) => {
2848
+ inputRef.current = node;
2849
+ if (typeof forwardedRef === "function") {
2850
+ forwardedRef(node);
2851
+ } else if (forwardedRef) {
2852
+ forwardedRef.current = node;
2853
+ }
2854
+ },
2855
+ [forwardedRef]
2856
+ );
2857
+ const hintIds = [description ? descriptionId : null, error ? errorId : null].filter(Boolean);
2858
+ const resolvedAriaDescribedBy = hintIds.length ? hintIds.join(" ") : void 0;
2859
+ const resolvedMaxFiles = React15.useMemo(() => {
2860
+ if (typeof maxFiles !== "number" || !Number.isFinite(maxFiles)) return void 0;
2861
+ return Math.max(1, Math.floor(maxFiles));
2862
+ }, [maxFiles]);
2863
+ const applySelectedFiles = React15.useCallback(
2864
+ (files) => {
2865
+ const acceptedFiles = filterFilesByAccept(files, accept);
2866
+ const selectionLimit = multiple ? resolvedMaxFiles != null ? resolvedMaxFiles : Infinity : 1;
2867
+ const nextFiles = acceptedFiles.slice(0, selectionLimit);
2868
+ const nextRestrictedCount = files.length - nextFiles.length;
2869
+ setSelectedFiles(nextFiles);
2870
+ setRestrictedCount(nextRestrictedCount);
2871
+ onFilesChange == null ? void 0 : onFilesChange(nextFiles);
2872
+ return nextFiles;
2873
+ },
2874
+ [accept, multiple, onFilesChange, resolvedMaxFiles]
2875
+ );
2876
+ const handleInputChange = (event) => {
2877
+ var _a;
2878
+ const incomingFiles = Array.from((_a = event.target.files) != null ? _a : []);
2879
+ applySelectedFiles(incomingFiles);
2880
+ onChange == null ? void 0 : onChange(event);
2881
+ };
2882
+ const openFileDialog = () => {
2883
+ if (disabled) return;
2884
+ if (inputRef.current) {
2885
+ inputRef.current.value = "";
2886
+ inputRef.current.click();
2887
+ }
2888
+ };
2889
+ const handleDrop = (event) => {
2890
+ var _a;
2891
+ event.preventDefault();
2892
+ if (disabled) return;
2893
+ setIsDragActive(false);
2894
+ const files = Array.from((_a = event.dataTransfer.files) != null ? _a : []);
2895
+ applySelectedFiles(files);
2896
+ };
2897
+ const hasSelection = selectedFiles.length > 0;
2898
+ return /* @__PURE__ */ jsxs15("div", { className: "rui-file-picker rui-root", children: [
2899
+ label ? /* @__PURE__ */ jsx17("label", { htmlFor: inputId, className: "rui-file-picker__label rui-text-wrap", children: label }) : null,
2900
+ /* @__PURE__ */ jsxs15(
2901
+ "div",
2902
+ {
2903
+ className: clsx16(
2904
+ "rui-file-picker__dropzone",
2905
+ isDragActive && "rui-file-picker__dropzone--active",
2906
+ disabled && "rui-file-picker__dropzone--disabled",
2907
+ error && "rui-file-picker__dropzone--error"
2908
+ ),
2909
+ role: "button",
2910
+ tabIndex: disabled ? -1 : 0,
2911
+ "aria-label": label ? `${label} file picker` : "File picker",
2912
+ "aria-disabled": disabled ? true : void 0,
2913
+ onClick: openFileDialog,
2914
+ onKeyDown: (event) => {
2915
+ if (event.key === "Enter" || event.key === " ") {
2916
+ event.preventDefault();
2917
+ openFileDialog();
2918
+ }
2919
+ },
2920
+ onDragEnter: (event) => {
2921
+ event.preventDefault();
2922
+ if (!disabled) setIsDragActive(true);
2923
+ },
2924
+ onDragOver: (event) => {
2925
+ event.preventDefault();
2926
+ if (!disabled) setIsDragActive(true);
2927
+ },
2928
+ onDragLeave: (event) => {
2929
+ event.preventDefault();
2930
+ if (event.currentTarget.contains(event.relatedTarget)) return;
2931
+ setIsDragActive(false);
2932
+ },
2933
+ onDrop: handleDrop,
2934
+ children: [
2935
+ /* @__PURE__ */ jsx17(
2936
+ "input",
2937
+ {
2938
+ ...rest,
2939
+ id: inputId,
2940
+ ref: setRefs,
2941
+ type: "file",
2942
+ className: clsx16("rui-file-picker__input", className),
2943
+ accept,
2944
+ disabled,
2945
+ multiple,
2946
+ onChange: handleInputChange,
2947
+ "aria-invalid": error ? true : void 0,
2948
+ "aria-describedby": resolvedAriaDescribedBy
2949
+ }
2950
+ ),
2951
+ /* @__PURE__ */ jsx17("p", { className: "rui-file-picker__prompt rui-text-wrap", children: dropzoneLabel }),
2952
+ /* @__PURE__ */ jsx17("p", { className: "rui-file-picker__hint rui-text-wrap", children: (accept == null ? void 0 : accept.trim()) ? `Accepted: ${accept}` : "Accepted: all file types" }),
2953
+ resolvedMaxFiles ? /* @__PURE__ */ jsxs15("p", { className: "rui-file-picker__hint rui-text-wrap", children: [
2954
+ "Maximum files: ",
2955
+ resolvedMaxFiles
2956
+ ] }) : null,
2957
+ hasSelection ? /* @__PURE__ */ jsx17("ul", { className: "rui-file-picker__list", "aria-label": "Selected files", children: selectedFiles.map((file) => /* @__PURE__ */ jsxs15("li", { className: "rui-file-picker__item", children: [
2958
+ /* @__PURE__ */ jsx17("span", { className: "rui-file-picker__file-name rui-text-wrap", children: file.name }),
2959
+ /* @__PURE__ */ jsx17("span", { className: "rui-file-picker__file-meta", children: formatBytes(file.size) })
2960
+ ] }, `${file.name}-${file.size}-${file.lastModified}`)) }) : null
2961
+ ]
2962
+ }
2963
+ ),
2964
+ description ? /* @__PURE__ */ jsx17("p", { id: descriptionId, className: "rui-file-picker__description rui-text-wrap", children: description }) : null,
2965
+ restrictedCount > 0 ? /* @__PURE__ */ jsxs15("p", { className: "rui-file-picker__warning rui-text-wrap", children: [
2966
+ restrictedCount,
2967
+ " file",
2968
+ restrictedCount === 1 ? "" : "s",
2969
+ " ",
2970
+ restrictedCount === 1 ? "was" : "were",
2971
+ " ignored due to selection restrictions."
2972
+ ] }) : null,
2973
+ error ? /* @__PURE__ */ jsx17("p", { id: errorId, className: "rui-file-picker__error rui-text-wrap", children: error }) : null
2974
+ ] });
2975
+ });
2976
+
2977
+ // components/InputField/InputField.tsx
2978
+ import * as React16 from "react";
2979
+ import clsx17 from "clsx";
2980
+ import "./InputField-TKTNGOH3.css";
2981
+ import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
2982
+ var InputField = React16.forwardRef(function InputField2({ label, description, error, leadingIcon, trailingLabel, className, id, disabled, ...rest }, ref) {
2983
+ const generatedId = React16.useId();
2984
+ const inputId = id != null ? id : generatedId;
2985
+ const descriptionId = React16.useId();
2986
+ const errorId = React16.useId();
2803
2987
  const hintIds = [description ? descriptionId : null, error ? errorId : null].filter(Boolean);
2804
2988
  const resolvedAriaDescribedBy = hintIds.length ? hintIds.join(" ") : void 0;
2805
- const containerClasses = clsx16(
2989
+ const containerClasses = clsx17(
2806
2990
  disabled && "rui-input-field__shell--disabled",
2807
2991
  error && "rui-input-field__shell--error"
2808
2992
  );
2809
- const inputClasses = clsx16(
2993
+ const inputClasses = clsx17(
2810
2994
  "rui-input-field__input",
2811
2995
  className
2812
2996
  );
2813
- const leadingElm = leadingIcon ? /* @__PURE__ */ jsx17("span", { className: "rui-input-field__leading", "aria-hidden": "true", children: leadingIcon }) : null;
2814
- const trailingElm = trailingLabel ? /* @__PURE__ */ jsx17("span", { className: "rui-input-field__trailing rui-text-wrap", children: trailingLabel }) : null;
2815
- return /* @__PURE__ */ jsxs15("div", { className: "rui-input-field rui-root", children: [
2816
- label ? /* @__PURE__ */ jsx17(
2997
+ const leadingElm = leadingIcon ? /* @__PURE__ */ jsx18("span", { className: "rui-input-field__leading", "aria-hidden": "true", children: leadingIcon }) : null;
2998
+ const trailingElm = trailingLabel ? /* @__PURE__ */ jsx18("span", { className: "rui-input-field__trailing rui-text-wrap", children: trailingLabel }) : null;
2999
+ return /* @__PURE__ */ jsxs16("div", { className: "rui-input-field rui-root", children: [
3000
+ label ? /* @__PURE__ */ jsx18(
2817
3001
  "label",
2818
3002
  {
2819
3003
  htmlFor: inputId,
@@ -2821,9 +3005,9 @@ var InputField = React15.forwardRef(function InputField2({ label, description, e
2821
3005
  children: label
2822
3006
  }
2823
3007
  ) : null,
2824
- /* @__PURE__ */ jsxs15("div", { className: clsx16("rui-input-field__shell", containerClasses), children: [
3008
+ /* @__PURE__ */ jsxs16("div", { className: clsx17("rui-input-field__shell", containerClasses), children: [
2825
3009
  leadingElm,
2826
- /* @__PURE__ */ jsx17(
3010
+ /* @__PURE__ */ jsx18(
2827
3011
  "input",
2828
3012
  {
2829
3013
  ...rest,
@@ -2837,17 +3021,17 @@ var InputField = React15.forwardRef(function InputField2({ label, description, e
2837
3021
  ),
2838
3022
  trailingElm
2839
3023
  ] }),
2840
- description ? /* @__PURE__ */ jsx17("p", { id: descriptionId, className: "rui-input-field__description rui-text-wrap", children: description }) : null,
2841
- error ? /* @__PURE__ */ jsx17("p", { id: errorId, className: "rui-input-field__error rui-text-wrap", children: error }) : null
3024
+ description ? /* @__PURE__ */ jsx18("p", { id: descriptionId, className: "rui-input-field__description rui-text-wrap", children: description }) : null,
3025
+ error ? /* @__PURE__ */ jsx18("p", { id: errorId, className: "rui-input-field__error rui-text-wrap", children: error }) : null
2842
3026
  ] });
2843
3027
  });
2844
3028
 
2845
3029
  // components/NumberInput/NumberInput.tsx
2846
- import * as React16 from "react";
2847
- import clsx17 from "clsx";
3030
+ import * as React17 from "react";
3031
+ import clsx18 from "clsx";
2848
3032
  import "./NumberInput-KTYVXS7K.css";
2849
- import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
2850
- var NumberInput = React16.forwardRef(
3033
+ import { jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
3034
+ var NumberInput = React17.forwardRef(
2851
3035
  function NumberInput2({
2852
3036
  label,
2853
3037
  description,
@@ -2864,7 +3048,7 @@ var NumberInput = React16.forwardRef(
2864
3048
  max,
2865
3049
  scale = 1
2866
3050
  }, ref) {
2867
- const [internal, setInternal] = React16.useState(defaultValue);
3051
+ const [internal, setInternal] = React17.useState(defaultValue);
2868
3052
  const isControlled = typeof value === "number";
2869
3053
  const resolved = isControlled ? value != null ? value : 0 : internal;
2870
3054
  const update = (next) => {
@@ -2874,7 +3058,7 @@ var NumberInput = React16.forwardRef(
2874
3058
  };
2875
3059
  const resolvedText = `${resolved}`;
2876
3060
  const valueChars = Math.max(resolvedText.length, 1);
2877
- const rootStyle = React16.useMemo(
3061
+ const rootStyle = React17.useMemo(
2878
3062
  () => ({
2879
3063
  "--rui-number-input-scale": scale,
2880
3064
  "--rui-number-input-value-ch": valueChars,
@@ -2882,19 +3066,19 @@ var NumberInput = React16.forwardRef(
2882
3066
  }),
2883
3067
  [scale, style, valueChars]
2884
3068
  );
2885
- return /* @__PURE__ */ jsxs16("div", { className: "rui-number-input rui-root", style: rootStyle, children: [
2886
- label ? /* @__PURE__ */ jsx18("p", { className: "rui-number-input__label rui-text-wrap", children: label }) : null,
2887
- /* @__PURE__ */ jsxs16(
3069
+ return /* @__PURE__ */ jsxs17("div", { className: "rui-number-input rui-root", style: rootStyle, children: [
3070
+ label ? /* @__PURE__ */ jsx19("p", { className: "rui-number-input__label rui-text-wrap", children: label }) : null,
3071
+ /* @__PURE__ */ jsxs17(
2888
3072
  "div",
2889
3073
  {
2890
- className: clsx17(
3074
+ className: clsx18(
2891
3075
  "rui-number-input__shell",
2892
3076
  disabled && "rui-number-input__shell--disabled",
2893
3077
  error && "rui-number-input__shell--error"
2894
3078
  ),
2895
3079
  children: [
2896
- /* @__PURE__ */ jsxs16("div", { className: "rui-number-input__stepper", children: [
2897
- /* @__PURE__ */ jsx18(
3080
+ /* @__PURE__ */ jsxs17("div", { className: "rui-number-input__stepper", children: [
3081
+ /* @__PURE__ */ jsx19(
2898
3082
  Button,
2899
3083
  {
2900
3084
  type: "button",
@@ -2902,7 +3086,7 @@ var NumberInput = React16.forwardRef(
2902
3086
  onClick: () => update(resolved + step),
2903
3087
  className: "rui-number-input__step-button",
2904
3088
  disabled,
2905
- children: /* @__PURE__ */ jsx18(
3089
+ children: /* @__PURE__ */ jsx19(
2906
3090
  "svg",
2907
3091
  {
2908
3092
  viewBox: "0 0 20 20",
@@ -2910,7 +3094,7 @@ var NumberInput = React16.forwardRef(
2910
3094
  "aria-hidden": "true",
2911
3095
  width: "1.1em",
2912
3096
  height: "1.1em",
2913
- children: /* @__PURE__ */ jsx18(
3097
+ children: /* @__PURE__ */ jsx19(
2914
3098
  "path",
2915
3099
  {
2916
3100
  fillRule: "evenodd",
@@ -2922,7 +3106,7 @@ var NumberInput = React16.forwardRef(
2922
3106
  )
2923
3107
  }
2924
3108
  ),
2925
- /* @__PURE__ */ jsx18(
3109
+ /* @__PURE__ */ jsx19(
2926
3110
  Button,
2927
3111
  {
2928
3112
  type: "button",
@@ -2930,7 +3114,7 @@ var NumberInput = React16.forwardRef(
2930
3114
  onClick: () => update(resolved - step),
2931
3115
  className: "rui-number-input__step-button",
2932
3116
  disabled,
2933
- children: /* @__PURE__ */ jsx18(
3117
+ children: /* @__PURE__ */ jsx19(
2934
3118
  "svg",
2935
3119
  {
2936
3120
  viewBox: "0 0 20 20",
@@ -2938,7 +3122,7 @@ var NumberInput = React16.forwardRef(
2938
3122
  "aria-hidden": "true",
2939
3123
  width: "1.1em",
2940
3124
  height: "1.1em",
2941
- children: /* @__PURE__ */ jsx18(
3125
+ children: /* @__PURE__ */ jsx19(
2942
3126
  "path",
2943
3127
  {
2944
3128
  fillRule: "evenodd",
@@ -2951,7 +3135,7 @@ var NumberInput = React16.forwardRef(
2951
3135
  }
2952
3136
  )
2953
3137
  ] }),
2954
- /* @__PURE__ */ jsx18(
3138
+ /* @__PURE__ */ jsx19(
2955
3139
  "input",
2956
3140
  {
2957
3141
  ref,
@@ -2962,47 +3146,47 @@ var NumberInput = React16.forwardRef(
2962
3146
  max,
2963
3147
  step,
2964
3148
  disabled,
2965
- className: clsx17(
3149
+ className: clsx18(
2966
3150
  "rui-number-input__input",
2967
3151
  className
2968
3152
  )
2969
3153
  }
2970
3154
  ),
2971
- suffix ? /* @__PURE__ */ jsx18("span", { className: "rui-number-input__suffix rui-text-wrap", children: suffix }) : null
3155
+ suffix ? /* @__PURE__ */ jsx19("span", { className: "rui-number-input__suffix rui-text-wrap", children: suffix }) : null
2972
3156
  ]
2973
3157
  }
2974
3158
  ),
2975
- description ? /* @__PURE__ */ jsx18("p", { className: "rui-number-input__helper rui-number-input__helper--description rui-text-wrap", children: description }) : null,
2976
- error ? /* @__PURE__ */ jsx18("p", { className: "rui-number-input__helper rui-number-input__helper--error rui-text-wrap", children: error }) : null
3159
+ description ? /* @__PURE__ */ jsx19("p", { className: "rui-number-input__helper rui-number-input__helper--description rui-text-wrap", children: description }) : null,
3160
+ error ? /* @__PURE__ */ jsx19("p", { className: "rui-number-input__helper rui-number-input__helper--error rui-text-wrap", children: error }) : null
2977
3161
  ] });
2978
3162
  }
2979
3163
  );
2980
3164
 
2981
3165
  // components/OutputChip/OutputChip.tsx
2982
- import * as React17 from "react";
2983
- import clsx18 from "clsx";
3166
+ import * as React18 from "react";
3167
+ import clsx19 from "clsx";
2984
3168
  import "./OutputChip-CN7R243G.css";
2985
- import { jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
2986
- var OutputChip = React17.forwardRef(function OutputChip2({ children, className, tone = "neutral", label, ...rest }, ref) {
2987
- return /* @__PURE__ */ jsxs17(
3169
+ import { jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
3170
+ var OutputChip = React18.forwardRef(function OutputChip2({ children, className, tone = "neutral", label, ...rest }, ref) {
3171
+ return /* @__PURE__ */ jsxs18(
2988
3172
  "output",
2989
3173
  {
2990
3174
  ...rest,
2991
3175
  ref,
2992
3176
  "data-tone": tone,
2993
- className: clsx18("rui-root", "rui-output-chip", className),
3177
+ className: clsx19("rui-root", "rui-output-chip", className),
2994
3178
  children: [
2995
- label ? /* @__PURE__ */ jsx19("span", { className: "rui-output-chip__label rui-text-wrap", children: label }) : null,
2996
- /* @__PURE__ */ jsx19("span", { className: "rui-output-chip__value rui-text-wrap", children })
3179
+ label ? /* @__PURE__ */ jsx20("span", { className: "rui-output-chip__label rui-text-wrap", children: label }) : null,
3180
+ /* @__PURE__ */ jsx20("span", { className: "rui-output-chip__value rui-text-wrap", children })
2997
3181
  ]
2998
3182
  }
2999
3183
  );
3000
3184
  });
3001
3185
 
3002
3186
  // components/ProgressMeter/ProgressMeter.tsx
3003
- import clsx19 from "clsx";
3187
+ import clsx20 from "clsx";
3004
3188
  import "./ProgressMeter-6EOIFB3Y.css";
3005
- import { jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
3189
+ import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
3006
3190
  function Progress({
3007
3191
  label,
3008
3192
  description,
@@ -3013,17 +3197,17 @@ function Progress({
3013
3197
  }) {
3014
3198
  const clamped = Math.min(max, Math.max(0, value));
3015
3199
  const percent = max === 0 ? 0 : Math.round(clamped / max * 100);
3016
- return /* @__PURE__ */ jsxs18("div", { className: clsx19("rui-progress-meter rui-root", className), children: [
3017
- label ? /* @__PURE__ */ jsxs18("div", { className: "rui-progress-meter__header", children: [
3018
- /* @__PURE__ */ jsx20("p", { className: "rui-progress-meter__label rui-text-wrap", children: label }),
3019
- showValue ? /* @__PURE__ */ jsxs18("span", { className: "rui-progress-meter__value", children: [
3200
+ return /* @__PURE__ */ jsxs19("div", { className: clsx20("rui-progress-meter rui-root", className), children: [
3201
+ label ? /* @__PURE__ */ jsxs19("div", { className: "rui-progress-meter__header", children: [
3202
+ /* @__PURE__ */ jsx21("p", { className: "rui-progress-meter__label rui-text-wrap", children: label }),
3203
+ showValue ? /* @__PURE__ */ jsxs19("span", { className: "rui-progress-meter__value", children: [
3020
3204
  percent,
3021
3205
  "%"
3022
3206
  ] }) : null
3023
3207
  ] }) : null,
3024
- description ? /* @__PURE__ */ jsx20("p", { className: "rui-progress-meter__description rui-text-wrap", children: description }) : null,
3025
- /* @__PURE__ */ jsxs18("div", { className: "rui-progress-meter__track", children: [
3026
- /* @__PURE__ */ jsx20(
3208
+ description ? /* @__PURE__ */ jsx21("p", { className: "rui-progress-meter__description rui-text-wrap", children: description }) : null,
3209
+ /* @__PURE__ */ jsxs19("div", { className: "rui-progress-meter__track", children: [
3210
+ /* @__PURE__ */ jsx21(
3027
3211
  "progress",
3028
3212
  {
3029
3213
  value: clamped,
@@ -3032,7 +3216,7 @@ function Progress({
3032
3216
  "aria-label": label
3033
3217
  }
3034
3218
  ),
3035
- /* @__PURE__ */ jsx20(
3219
+ /* @__PURE__ */ jsx21(
3036
3220
  "div",
3037
3221
  {
3038
3222
  className: "rui-progress-meter__fill rui-progress-meter__fill--gradient",
@@ -3058,14 +3242,14 @@ function Meter({
3058
3242
  (acc, t) => clamped >= t.value ? t.color : acc,
3059
3243
  (_b = (_a = thresholds[0]) == null ? void 0 : _a.color) != null ? _b : "linear-gradient(90deg, #22c55e, #0ea5e9)"
3060
3244
  ) : "linear-gradient(90deg, #22c55e, #0ea5e9)";
3061
- return /* @__PURE__ */ jsxs18("div", { className: clsx19("rui-progress-meter rui-root", className), children: [
3062
- label ? /* @__PURE__ */ jsxs18("div", { className: "rui-progress-meter__header", children: [
3063
- /* @__PURE__ */ jsx20("p", { className: "rui-progress-meter__label rui-text-wrap", children: label }),
3064
- /* @__PURE__ */ jsx20("span", { className: "rui-progress-meter__value", children: clamped })
3245
+ return /* @__PURE__ */ jsxs19("div", { className: clsx20("rui-progress-meter rui-root", className), children: [
3246
+ label ? /* @__PURE__ */ jsxs19("div", { className: "rui-progress-meter__header", children: [
3247
+ /* @__PURE__ */ jsx21("p", { className: "rui-progress-meter__label rui-text-wrap", children: label }),
3248
+ /* @__PURE__ */ jsx21("span", { className: "rui-progress-meter__value", children: clamped })
3065
3249
  ] }) : null,
3066
- description ? /* @__PURE__ */ jsx20("p", { className: "rui-progress-meter__description rui-text-wrap", children: description }) : null,
3067
- /* @__PURE__ */ jsxs18("div", { className: "rui-progress-meter__track", children: [
3068
- /* @__PURE__ */ jsx20(
3250
+ description ? /* @__PURE__ */ jsx21("p", { className: "rui-progress-meter__description rui-text-wrap", children: description }) : null,
3251
+ /* @__PURE__ */ jsxs19("div", { className: "rui-progress-meter__track", children: [
3252
+ /* @__PURE__ */ jsx21(
3069
3253
  "meter",
3070
3254
  {
3071
3255
  value: clamped,
@@ -3075,7 +3259,7 @@ function Meter({
3075
3259
  "aria-label": label
3076
3260
  }
3077
3261
  ),
3078
- /* @__PURE__ */ jsx20(
3262
+ /* @__PURE__ */ jsx21(
3079
3263
  "div",
3080
3264
  {
3081
3265
  className: "rui-progress-meter__fill",
@@ -3087,11 +3271,11 @@ function Meter({
3087
3271
  }
3088
3272
 
3089
3273
  // components/Radio/Radio.tsx
3090
- import * as React18 from "react";
3091
- import clsx20 from "clsx";
3274
+ import * as React19 from "react";
3275
+ import clsx21 from "clsx";
3092
3276
  import "./Radio-K6CDDBCQ.css";
3093
- import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
3094
- var Radio = React18.forwardRef(function Radio2({
3277
+ import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
3278
+ var Radio = React19.forwardRef(function Radio2({
3095
3279
  label,
3096
3280
  description,
3097
3281
  color,
@@ -3104,11 +3288,11 @@ var Radio = React18.forwardRef(function Radio2({
3104
3288
  id,
3105
3289
  ...rest
3106
3290
  }, forwardedRef) {
3107
- const generatedId = React18.useId();
3291
+ const generatedId = React19.useId();
3108
3292
  const radioId = id != null ? id : generatedId;
3109
- const descriptionId = React18.useId();
3293
+ const descriptionId = React19.useId();
3110
3294
  const isControlled = typeof checked === "boolean";
3111
- const [internalChecked, setInternalChecked] = React18.useState(defaultChecked);
3295
+ const [internalChecked, setInternalChecked] = React19.useState(defaultChecked);
3112
3296
  const resolvedChecked = isControlled ? !!checked : internalChecked;
3113
3297
  const handleChange = (event) => {
3114
3298
  const next = event.target.checked;
@@ -3117,20 +3301,20 @@ var Radio = React18.forwardRef(function Radio2({
3117
3301
  }
3118
3302
  onChange == null ? void 0 : onChange(next);
3119
3303
  };
3120
- return /* @__PURE__ */ jsxs19(
3304
+ return /* @__PURE__ */ jsxs20(
3121
3305
  "label",
3122
3306
  {
3123
3307
  htmlFor: radioId,
3124
- className: clsx20(
3308
+ className: clsx21(
3125
3309
  "rui-radio rui-root",
3126
3310
  color && `rui-radio--color-${color}`,
3127
3311
  disabled && "rui-radio--disabled",
3128
3312
  className
3129
3313
  ),
3130
3314
  children: [
3131
- /* @__PURE__ */ jsxs19("span", { className: "rui-radio__content", children: [
3132
- /* @__PURE__ */ jsxs19("span", { className: "rui-radio__indicator", children: [
3133
- /* @__PURE__ */ jsx21(
3315
+ /* @__PURE__ */ jsxs20("span", { className: "rui-radio__content", children: [
3316
+ /* @__PURE__ */ jsxs20("span", { className: "rui-radio__indicator", children: [
3317
+ /* @__PURE__ */ jsx22(
3134
3318
  "input",
3135
3319
  {
3136
3320
  ...rest,
@@ -3144,7 +3328,7 @@ var Radio = React18.forwardRef(function Radio2({
3144
3328
  disabled
3145
3329
  }
3146
3330
  ),
3147
- /* @__PURE__ */ jsx21(
3331
+ /* @__PURE__ */ jsx22(
3148
3332
  "span",
3149
3333
  {
3150
3334
  className: "rui-radio__control",
@@ -3152,22 +3336,22 @@ var Radio = React18.forwardRef(function Radio2({
3152
3336
  }
3153
3337
  )
3154
3338
  ] }),
3155
- /* @__PURE__ */ jsxs19("span", { className: "rui-radio__meta", children: [
3156
- /* @__PURE__ */ jsx21("span", { className: "rui-radio__label rui-text-wrap", children: label }),
3157
- description ? /* @__PURE__ */ jsx21("span", { id: descriptionId, className: "rui-radio__description rui-text-wrap", children: description }) : null
3339
+ /* @__PURE__ */ jsxs20("span", { className: "rui-radio__meta", children: [
3340
+ /* @__PURE__ */ jsx22("span", { className: "rui-radio__label rui-text-wrap", children: label }),
3341
+ description ? /* @__PURE__ */ jsx22("span", { id: descriptionId, className: "rui-radio__description rui-text-wrap", children: description }) : null
3158
3342
  ] })
3159
3343
  ] }),
3160
- extra ? /* @__PURE__ */ jsx21("span", { className: "rui-radio__extra rui-text-wrap", children: extra }) : null
3344
+ extra ? /* @__PURE__ */ jsx22("span", { className: "rui-radio__extra rui-text-wrap", children: extra }) : null
3161
3345
  ]
3162
3346
  }
3163
3347
  );
3164
3348
  });
3165
3349
 
3166
3350
  // components/Slider/Slider.tsx
3167
- import * as React19 from "react";
3168
- import clsx21 from "clsx";
3351
+ import * as React20 from "react";
3352
+ import clsx22 from "clsx";
3169
3353
  import "./Slider-KHMHINU4.css";
3170
- import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
3354
+ import { jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
3171
3355
  function clampValue(value, min, max) {
3172
3356
  return Math.min(max, Math.max(min, value));
3173
3357
  }
@@ -3181,7 +3365,7 @@ function snapToStep(value, min, max, step) {
3181
3365
  const stepped = Math.round((limited - min) / safeStep) * safeStep + min;
3182
3366
  return clampValue(Number(stepped.toFixed(6)), min, max);
3183
3367
  }
3184
- var Slider = React19.forwardRef(function Slider2({
3368
+ var Slider = React20.forwardRef(function Slider2({
3185
3369
  label,
3186
3370
  value,
3187
3371
  defaultValue,
@@ -3206,31 +3390,31 @@ var Slider = React19.forwardRef(function Slider2({
3206
3390
  }, forwardedRef) {
3207
3391
  const isControlled = typeof value === "number";
3208
3392
  const initialValue = typeof defaultValue === "number" ? defaultValue : min;
3209
- const [internalValue, setInternalValue] = React19.useState(
3393
+ const [internalValue, setInternalValue] = React20.useState(
3210
3394
  () => snapToStep(initialValue, min, max, step)
3211
3395
  );
3212
- const [focused, setFocused] = React19.useState(false);
3213
- const [dragging, setDragging] = React19.useState(false);
3214
- const [trackMetrics, setTrackMetrics] = React19.useState({
3396
+ const [focused, setFocused] = React20.useState(false);
3397
+ const [dragging, setDragging] = React20.useState(false);
3398
+ const [trackMetrics, setTrackMetrics] = React20.useState({
3215
3399
  length: 0,
3216
3400
  mainOffset: 0,
3217
3401
  crossOffset: 0,
3218
3402
  thickness: 0
3219
3403
  });
3220
- const generatedId = React19.useId();
3404
+ const generatedId = React20.useId();
3221
3405
  const inputId = id != null ? id : generatedId;
3222
- const inputRef = React19.useRef(null);
3223
- const interactionRef = React19.useRef(null);
3224
- const trackContainerRef = React19.useRef(null);
3225
- const trackRef = React19.useRef(null);
3226
- const mergedRef = React19.useCallback(
3406
+ const inputRef = React20.useRef(null);
3407
+ const interactionRef = React20.useRef(null);
3408
+ const trackContainerRef = React20.useRef(null);
3409
+ const trackRef = React20.useRef(null);
3410
+ const mergedRef = React20.useCallback(
3227
3411
  (node) => {
3228
3412
  inputRef.current = node;
3229
3413
  assignRef(forwardedRef, node);
3230
3414
  },
3231
3415
  [forwardedRef]
3232
3416
  );
3233
- React19.useEffect(() => {
3417
+ React20.useEffect(() => {
3234
3418
  setInternalValue((prev) => snapToStep(prev, min, max, step));
3235
3419
  }, [min, max, step]);
3236
3420
  const resolvedValue = snapToStep(
@@ -3243,7 +3427,7 @@ var Slider = React19.forwardRef(function Slider2({
3243
3427
  const isVertical = orientation === "vertical";
3244
3428
  const thumbDiameter = Math.max(thumbSize, 2);
3245
3429
  const thumbRadius = thumbDiameter / 2;
3246
- React19.useLayoutEffect(() => {
3430
+ React20.useLayoutEffect(() => {
3247
3431
  const track = trackRef.current;
3248
3432
  const container = trackContainerRef.current;
3249
3433
  if (!track || !container) return;
@@ -3279,17 +3463,17 @@ var Slider = React19.forwardRef(function Slider2({
3279
3463
  return reversed ? 1 - logicalRatio : logicalRatio;
3280
3464
  })();
3281
3465
  const positionPx = minCenter + usableLength * positionRatio;
3282
- const gradientSize = React19.useMemo(() => {
3466
+ const gradientSize = React20.useMemo(() => {
3283
3467
  if (fillMode === "stretch" || trackLength === 0) return "100% 100%";
3284
3468
  return isVertical ? `100% ${trackLength}px` : `${trackLength}px 100%`;
3285
3469
  }, [fillMode, isVertical, trackLength]);
3286
- const gradientPosition = React19.useMemo(() => {
3470
+ const gradientPosition = React20.useMemo(() => {
3287
3471
  if (fillMode === "stretch") return void 0;
3288
3472
  if (!isVertical && reversed) return "right center";
3289
3473
  if (isVertical && !reversed) return "center bottom";
3290
3474
  return "left top";
3291
3475
  }, [fillMode, isVertical, reversed]);
3292
- const progressStyle = React19.useMemo(() => {
3476
+ const progressStyle = React20.useMemo(() => {
3293
3477
  if (trackLength === 0) return {};
3294
3478
  const half = thumbRadius;
3295
3479
  if (!isVertical && !reversed) {
@@ -3309,25 +3493,25 @@ var Slider = React19.forwardRef(function Slider2({
3309
3493
  const height = Math.max(Math.min(trackLength - start, trackLength), 0);
3310
3494
  return { bottom: 0, height, left: 0, right: 0 };
3311
3495
  }, [isVertical, reversed, positionPx, trackLength, thumbRadius]);
3312
- const trackGradient = React19.useMemo(() => {
3496
+ const trackGradient = React20.useMemo(() => {
3313
3497
  if (!isVertical && !reversed) return "linear-gradient(90deg, #e2e8f0, #fff, #e2e8f0)";
3314
3498
  if (!isVertical && reversed) return "linear-gradient(270deg, #e2e8f0, #fff, #e2e8f0)";
3315
3499
  if (isVertical && reversed) return "linear-gradient(180deg, #e2e8f0, #fff, #e2e8f0)";
3316
3500
  return "linear-gradient(0deg, #e2e8f0, #fff, #e2e8f0)";
3317
3501
  }, [isVertical, reversed]);
3318
- const fillGradient = React19.useMemo(() => {
3502
+ const fillGradient = React20.useMemo(() => {
3319
3503
  if (!isVertical && !reversed) return "linear-gradient(90deg, #38bdf8, #6366f1)";
3320
3504
  if (!isVertical && reversed) return "linear-gradient(270deg, #38bdf8, #6366f1)";
3321
3505
  if (isVertical && reversed) return "linear-gradient(180deg, #38bdf8, #6366f1)";
3322
3506
  return "linear-gradient(0deg, #38bdf8, #6366f1)";
3323
3507
  }, [isVertical, reversed]);
3324
- const thumbStyle = React19.useMemo(() => {
3508
+ const thumbStyle = React20.useMemo(() => {
3325
3509
  if (isVertical) {
3326
3510
  return { top: trackOffset + positionPx, left: trackCrossOffset + trackThickness / 2 };
3327
3511
  }
3328
3512
  return { left: trackOffset + positionPx, top: trackCrossOffset + trackThickness / 2 };
3329
3513
  }, [isVertical, positionPx, trackOffset, trackCrossOffset, trackThickness]);
3330
- const renderProps = React19.useMemo(
3514
+ const renderProps = React20.useMemo(
3331
3515
  () => ({
3332
3516
  value: resolvedValue,
3333
3517
  min,
@@ -3361,7 +3545,7 @@ var Slider = React19.forwardRef(function Slider2({
3361
3545
  trackThickness
3362
3546
  ]
3363
3547
  );
3364
- const commitValue = React19.useCallback(
3548
+ const commitValue = React20.useCallback(
3365
3549
  (next) => {
3366
3550
  const snapped = snapToStep(next, min, max, step);
3367
3551
  if (!isControlled) {
@@ -3383,7 +3567,7 @@ var Slider = React19.forwardRef(function Slider2({
3383
3567
  applyInputValue(event.currentTarget.value);
3384
3568
  };
3385
3569
  const formattedValue = formatValue(resolvedValue);
3386
- const setValueFromPointer = React19.useCallback(
3570
+ const setValueFromPointer = React20.useCallback(
3387
3571
  (clientX, clientY) => {
3388
3572
  var _a;
3389
3573
  const rect = (_a = trackRef.current) == null ? void 0 : _a.getBoundingClientRect();
@@ -3409,7 +3593,7 @@ var Slider = React19.forwardRef(function Slider2({
3409
3593
  },
3410
3594
  [commitValue, isVertical, max, min, overlap, reversed, thumbRadius]
3411
3595
  );
3412
- const handlePointerDown = React19.useCallback(
3596
+ const handlePointerDown = React20.useCallback(
3413
3597
  (event) => {
3414
3598
  var _a, _b;
3415
3599
  event.preventDefault();
@@ -3436,11 +3620,11 @@ var Slider = React19.forwardRef(function Slider2({
3436
3620
  },
3437
3621
  [setValueFromPointer]
3438
3622
  );
3439
- const defaultTrack = /* @__PURE__ */ jsxs20(
3623
+ const defaultTrack = /* @__PURE__ */ jsxs21(
3440
3624
  "div",
3441
3625
  {
3442
3626
  ref: trackRef,
3443
- className: clsx21(
3627
+ className: clsx22(
3444
3628
  "rui-slider__track",
3445
3629
  isVertical && "rui-slider__track--vertical",
3446
3630
  disabled && "rui-slider__track--disabled",
@@ -3449,10 +3633,10 @@ var Slider = React19.forwardRef(function Slider2({
3449
3633
  style: { backgroundImage: trackGradient },
3450
3634
  "aria-hidden": "true",
3451
3635
  children: [
3452
- /* @__PURE__ */ jsx22(
3636
+ /* @__PURE__ */ jsx23(
3453
3637
  "div",
3454
3638
  {
3455
- className: clsx21(
3639
+ className: clsx22(
3456
3640
  "rui-slider__track-fill",
3457
3641
  dragging && "rui-slider__track-fill--dragging",
3458
3642
  isVertical ? "rui-slider__track-fill--vertical" : "rui-slider__track-fill--horizontal"
@@ -3465,14 +3649,14 @@ var Slider = React19.forwardRef(function Slider2({
3465
3649
  }
3466
3650
  }
3467
3651
  ),
3468
- /* @__PURE__ */ jsx22("div", { className: "rui-slider__track-overlay" })
3652
+ /* @__PURE__ */ jsx23("div", { className: "rui-slider__track-overlay" })
3469
3653
  ]
3470
3654
  }
3471
3655
  );
3472
- const defaultThumb = /* @__PURE__ */ jsx22(
3656
+ const defaultThumb = /* @__PURE__ */ jsx23(
3473
3657
  "span",
3474
3658
  {
3475
- className: clsx21(
3659
+ className: clsx22(
3476
3660
  "rui-slider__thumb",
3477
3661
  focused && "rui-slider__thumb--focused",
3478
3662
  disabled && "rui-slider__thumb--disabled",
@@ -3480,23 +3664,23 @@ var Slider = React19.forwardRef(function Slider2({
3480
3664
  ),
3481
3665
  style: { ...thumbStyle, width: thumbDiameter, height: thumbDiameter },
3482
3666
  "aria-hidden": "true",
3483
- children: /* @__PURE__ */ jsxs20("span", { className: "rui-slider__thumb-core", children: [
3484
- /* @__PURE__ */ jsx22("span", { className: "rui-slider__thumb-gradient" }),
3485
- /* @__PURE__ */ jsx22("span", { className: "rui-slider__thumb-overlay" })
3667
+ children: /* @__PURE__ */ jsxs21("span", { className: "rui-slider__thumb-core", children: [
3668
+ /* @__PURE__ */ jsx23("span", { className: "rui-slider__thumb-gradient" }),
3669
+ /* @__PURE__ */ jsx23("span", { className: "rui-slider__thumb-overlay" })
3486
3670
  ] })
3487
3671
  }
3488
3672
  );
3489
- return /* @__PURE__ */ jsxs20(
3673
+ return /* @__PURE__ */ jsxs21(
3490
3674
  "div",
3491
3675
  {
3492
- className: clsx21(
3676
+ className: clsx22(
3493
3677
  "rui-root rui-slider",
3494
3678
  isVertical && "rui-slider--vertical",
3495
3679
  className
3496
3680
  ),
3497
3681
  children: [
3498
- label ? /* @__PURE__ */ jsxs20("div", { className: "rui-slider__header", children: [
3499
- /* @__PURE__ */ jsx22(
3682
+ label ? /* @__PURE__ */ jsxs21("div", { className: "rui-slider__header", children: [
3683
+ /* @__PURE__ */ jsx23(
3500
3684
  "label",
3501
3685
  {
3502
3686
  htmlFor: inputId,
@@ -3504,13 +3688,13 @@ var Slider = React19.forwardRef(function Slider2({
3504
3688
  children: label
3505
3689
  }
3506
3690
  ),
3507
- /* @__PURE__ */ jsx22("span", { className: "rui-slider__value", children: formattedValue })
3691
+ /* @__PURE__ */ jsx23("span", { className: "rui-slider__value", children: formattedValue })
3508
3692
  ] }) : null,
3509
- /* @__PURE__ */ jsxs20(
3693
+ /* @__PURE__ */ jsxs21(
3510
3694
  "div",
3511
3695
  {
3512
3696
  ref: trackContainerRef,
3513
- className: clsx21(
3697
+ className: clsx22(
3514
3698
  "rui-slider__track-container",
3515
3699
  isVertical && "rui-slider__track-container--vertical"
3516
3700
  ),
@@ -3518,7 +3702,7 @@ var Slider = React19.forwardRef(function Slider2({
3518
3702
  children: [
3519
3703
  renderTrack ? renderTrack({ ...renderProps, children: defaultTrack }) : defaultTrack,
3520
3704
  renderThumb ? renderThumb(renderProps) : defaultThumb,
3521
- /* @__PURE__ */ jsx22(
3705
+ /* @__PURE__ */ jsx23(
3522
3706
  "input",
3523
3707
  {
3524
3708
  ...rest,
@@ -3540,13 +3724,13 @@ var Slider = React19.forwardRef(function Slider2({
3540
3724
  className: "rui-slider__input"
3541
3725
  }
3542
3726
  ),
3543
- /* @__PURE__ */ jsx22(
3727
+ /* @__PURE__ */ jsx23(
3544
3728
  "div",
3545
3729
  {
3546
3730
  ref: interactionRef,
3547
3731
  "aria-hidden": "true",
3548
3732
  onPointerDown: handlePointerDown,
3549
- className: clsx21(
3733
+ className: clsx22(
3550
3734
  "rui-slider__interaction",
3551
3735
  isVertical ? "rui-slider__interaction--vertical" : "rui-slider__interaction--horizontal"
3552
3736
  )
@@ -3561,24 +3745,24 @@ var Slider = React19.forwardRef(function Slider2({
3561
3745
  });
3562
3746
 
3563
3747
  // components/StackedList/StackedList.tsx
3564
- import clsx22 from "clsx";
3748
+ import clsx23 from "clsx";
3565
3749
  import "./StackedList-QF5242GF.css";
3566
- import { jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
3750
+ import { jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
3567
3751
  function StackedList({ items, dense, className, ...rest }) {
3568
- return /* @__PURE__ */ jsx23(
3752
+ return /* @__PURE__ */ jsx24(
3569
3753
  "div",
3570
3754
  {
3571
3755
  ...rest,
3572
- className: clsx22(
3756
+ className: clsx23(
3573
3757
  "rui-stacked-list rui-root rui-surface",
3574
3758
  className
3575
3759
  ),
3576
- children: /* @__PURE__ */ jsx23("ul", { role: "list", className: "rui-stacked-list__list", children: items.map((item) => /* @__PURE__ */ jsxs21(
3760
+ children: /* @__PURE__ */ jsx24("ul", { role: "list", className: "rui-stacked-list__list", children: items.map((item) => /* @__PURE__ */ jsxs22(
3577
3761
  "li",
3578
3762
  {
3579
- className: clsx22("rui-stacked-list__item", dense && "rui-stacked-list__item--dense"),
3763
+ className: clsx23("rui-stacked-list__item", dense && "rui-stacked-list__item--dense"),
3580
3764
  children: [
3581
- item.icon ? /* @__PURE__ */ jsx23(
3765
+ item.icon ? /* @__PURE__ */ jsx24(
3582
3766
  "div",
3583
3767
  {
3584
3768
  className: "rui-stacked-list__icon",
@@ -3586,12 +3770,12 @@ function StackedList({ items, dense, className, ...rest }) {
3586
3770
  children: item.icon
3587
3771
  }
3588
3772
  ) : null,
3589
- /* @__PURE__ */ jsxs21("div", { className: "rui-stacked-list__content", children: [
3590
- /* @__PURE__ */ jsx23("p", { className: "rui-stacked-list__title rui-text-wrap", children: item.title }),
3591
- item.description ? /* @__PURE__ */ jsx23("p", { className: "rui-stacked-list__description rui-text-wrap", children: item.description }) : null
3773
+ /* @__PURE__ */ jsxs22("div", { className: "rui-stacked-list__content", children: [
3774
+ /* @__PURE__ */ jsx24("p", { className: "rui-stacked-list__title rui-text-wrap", children: item.title }),
3775
+ item.description ? /* @__PURE__ */ jsx24("p", { className: "rui-stacked-list__description rui-text-wrap", children: item.description }) : null
3592
3776
  ] }),
3593
- /* @__PURE__ */ jsxs21("div", { className: "rui-stacked-list__meta", children: [
3594
- item.meta ? /* @__PURE__ */ jsx23("span", { className: "rui-stacked-list__meta-text rui-text-wrap", children: item.meta }) : null,
3777
+ /* @__PURE__ */ jsxs22("div", { className: "rui-stacked-list__meta", children: [
3778
+ item.meta ? /* @__PURE__ */ jsx24("span", { className: "rui-stacked-list__meta-text rui-text-wrap", children: item.meta }) : null,
3595
3779
  item.action
3596
3780
  ] })
3597
3781
  ]
@@ -3603,9 +3787,9 @@ function StackedList({ items, dense, className, ...rest }) {
3603
3787
  }
3604
3788
 
3605
3789
  // components/TabGroup/TabGroup.tsx
3606
- import React20 from "react";
3790
+ import React21 from "react";
3607
3791
  import "./TabGroup-CV2AC3EO.css";
3608
- import { Fragment as Fragment2, jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
3792
+ import { Fragment as Fragment2, jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
3609
3793
  function TabGroup({
3610
3794
  align = "start",
3611
3795
  position = "top",
@@ -3618,14 +3802,14 @@ function TabGroup({
3618
3802
  onActiveChange
3619
3803
  }) {
3620
3804
  var _a, _b;
3621
- const rootRef = React20.useRef(null);
3622
- const tabStripRef = React20.useRef(null);
3623
- const idBase = React20.useId();
3624
- const [effectiveFill, setEffectiveFill] = React20.useState(fill);
3625
- const [availableMain, setAvailableMain] = React20.useState(0);
3626
- const [minMain, setMinMain] = React20.useState(32);
3805
+ const rootRef = React21.useRef(null);
3806
+ const tabStripRef = React21.useRef(null);
3807
+ const idBase = React21.useId();
3808
+ const [effectiveFill, setEffectiveFill] = React21.useState(fill);
3809
+ const [availableMain, setAvailableMain] = React21.useState(0);
3810
+ const [minMain, setMinMain] = React21.useState(32);
3627
3811
  const count = tabs.length;
3628
- const clampIndex = React20.useCallback(
3812
+ const clampIndex = React21.useCallback(
3629
3813
  (i) => {
3630
3814
  if (count <= 0) {
3631
3815
  return 0;
@@ -3638,14 +3822,14 @@ function TabGroup({
3638
3822
  [count]
3639
3823
  );
3640
3824
  const isControlled = active !== void 0;
3641
- const [activeInternal, setActiveInternal] = React20.useState(() => clampIndex(defaultActive));
3642
- React20.useEffect(() => {
3825
+ const [activeInternal, setActiveInternal] = React21.useState(() => clampIndex(defaultActive));
3826
+ React21.useEffect(() => {
3643
3827
  if (!isControlled) {
3644
3828
  setActiveInternal((i) => clampIndex(i));
3645
3829
  }
3646
3830
  }, [clampIndex, isControlled]);
3647
3831
  const currentActive = clampIndex(isControlled ? active : activeInternal);
3648
- const setActive = React20.useCallback(
3832
+ const setActive = React21.useCallback(
3649
3833
  (next) => {
3650
3834
  const i = clampIndex(next);
3651
3835
  if (!isControlled) {
@@ -3656,7 +3840,7 @@ function TabGroup({
3656
3840
  [clampIndex, isControlled, onActiveChange]
3657
3841
  );
3658
3842
  const tabsFirst = position === "top" || position === "left";
3659
- const updateEffectiveFill = React20.useCallback(() => {
3843
+ const updateEffectiveFill = React21.useCallback(() => {
3660
3844
  const root = rootRef.current;
3661
3845
  if (!root) {
3662
3846
  setEffectiveFill(fill);
@@ -3675,7 +3859,7 @@ function TabGroup({
3675
3859
  const shouldFill = available - 2 * radius - wiggle <= required;
3676
3860
  setEffectiveFill(shouldFill || hasOverflowControls ? "full" : "partial");
3677
3861
  }, [fill, position, size, tabs.length]);
3678
- React20.useLayoutEffect(() => {
3862
+ React21.useLayoutEffect(() => {
3679
3863
  if (fill === "full") {
3680
3864
  setEffectiveFill("full");
3681
3865
  return;
@@ -3690,14 +3874,14 @@ function TabGroup({
3690
3874
  return () => observer.disconnect();
3691
3875
  }, [fill, updateEffectiveFill]);
3692
3876
  const isVertical = position === "left" || position === "right";
3693
- React20.useLayoutEffect(() => {
3877
+ React21.useLayoutEffect(() => {
3694
3878
  const root = rootRef.current;
3695
3879
  if (!root) return;
3696
3880
  const computed = getComputedStyle(root);
3697
3881
  const cssMin = parseFloat(computed.getPropertyValue("--rui-tab-min-main"));
3698
3882
  setMinMain(Number.isFinite(cssMin) && cssMin > 0 ? cssMin : 32);
3699
3883
  }, [position]);
3700
- React20.useLayoutEffect(() => {
3884
+ React21.useLayoutEffect(() => {
3701
3885
  const node = tabStripRef.current;
3702
3886
  if (!node) return;
3703
3887
  const measure = () => {
@@ -3714,15 +3898,15 @@ function TabGroup({
3714
3898
  const overflow = slots < count;
3715
3899
  const windowSize = overflow ? Math.max(1, slots - 2) : count;
3716
3900
  const maxStart = Math.max(0, count - windowSize);
3717
- const [startIndex, setStartIndex] = React20.useState(0);
3718
- React20.useEffect(() => {
3901
+ const [startIndex, setStartIndex] = React21.useState(0);
3902
+ React21.useEffect(() => {
3719
3903
  if (!overflow) {
3720
3904
  setStartIndex(0);
3721
3905
  return;
3722
3906
  }
3723
3907
  setStartIndex((prev) => Math.min(Math.max(0, prev), maxStart));
3724
3908
  }, [overflow, maxStart]);
3725
- React20.useEffect(() => {
3909
+ React21.useEffect(() => {
3726
3910
  if (!overflow) return;
3727
3911
  setStartIndex((prev) => {
3728
3912
  if (currentActive < prev) return currentActive;
@@ -3738,16 +3922,16 @@ function TabGroup({
3738
3922
  const scrollLabels = isVertical ? { back: "Scroll tabs up", forward: "Scroll tabs down" } : { back: "Scroll tabs left", forward: "Scroll tabs right" };
3739
3923
  const scrollMainStyle = overflowMainStyle;
3740
3924
  const panelId = `${idBase}-panel`;
3741
- const getTabId = React20.useCallback(
3925
+ const getTabId = React21.useCallback(
3742
3926
  (index) => `${idBase}-tab-${index}`,
3743
3927
  [idBase]
3744
3928
  );
3745
- const focusTabAt = React20.useCallback((index) => {
3929
+ const focusTabAt = React21.useCallback((index) => {
3746
3930
  var _a2;
3747
3931
  const node = (_a2 = rootRef.current) == null ? void 0 : _a2.querySelector(`[data-tab-index="${index}"]`);
3748
3932
  node == null ? void 0 : node.focus();
3749
3933
  }, []);
3750
- const moveActiveBy = React20.useCallback(
3934
+ const moveActiveBy = React21.useCallback(
3751
3935
  (direction) => {
3752
3936
  var _a2;
3753
3937
  if (count === 0) return;
@@ -3762,7 +3946,7 @@ function TabGroup({
3762
3946
  },
3763
3947
  [count, currentActive, focusTabAt, setActive, tabs]
3764
3948
  );
3765
- const moveToEdge = React20.useCallback(
3949
+ const moveToEdge = React21.useCallback(
3766
3950
  (edge) => {
3767
3951
  var _a2;
3768
3952
  if (count === 0) return;
@@ -3777,7 +3961,7 @@ function TabGroup({
3777
3961
  },
3778
3962
  [count, focusTabAt, setActive, tabs]
3779
3963
  );
3780
- const handleTabListKeyDown = React20.useCallback(
3964
+ const handleTabListKeyDown = React21.useCallback(
3781
3965
  (event) => {
3782
3966
  const key = event.key;
3783
3967
  const prevKey = isVertical ? "ArrowUp" : "ArrowLeft";
@@ -3802,8 +3986,8 @@ function TabGroup({
3802
3986
  },
3803
3987
  [isVertical, moveActiveBy, moveToEdge]
3804
3988
  );
3805
- const tabList = /* @__PURE__ */ jsxs22("div", { className: "rui-tab-group__tabstrip", ref: tabStripRef, children: [
3806
- overflow && /* @__PURE__ */ jsx24(
3989
+ const tabList = /* @__PURE__ */ jsxs23("div", { className: "rui-tab-group__tabstrip", ref: tabStripRef, children: [
3990
+ overflow && /* @__PURE__ */ jsx25(
3807
3991
  "button",
3808
3992
  {
3809
3993
  type: "button",
@@ -3812,10 +3996,10 @@ function TabGroup({
3812
3996
  disabled: startIndex === 0,
3813
3997
  onClick: () => setStartIndex((i) => Math.max(0, i - 1)),
3814
3998
  style: scrollMainStyle,
3815
- children: /* @__PURE__ */ jsx24("span", { "aria-hidden": "true", className: "rui-tab-group__scrollIcon", children: isVertical ? "\u25B2" : "\u25C0" })
3999
+ children: /* @__PURE__ */ jsx25("span", { "aria-hidden": "true", className: "rui-tab-group__scrollIcon", children: isVertical ? "\u25B2" : "\u25C0" })
3816
4000
  }
3817
4001
  ),
3818
- /* @__PURE__ */ jsx24(
4002
+ /* @__PURE__ */ jsx25(
3819
4003
  "div",
3820
4004
  {
3821
4005
  className: "rui-tab-group__tablist",
@@ -3824,7 +4008,7 @@ function TabGroup({
3824
4008
  onKeyDown: handleTabListKeyDown,
3825
4009
  children: visibleTabs.map((tab, localIndex) => {
3826
4010
  const index = overflow ? startIndex + localIndex : localIndex;
3827
- return /* @__PURE__ */ jsx24(
4011
+ return /* @__PURE__ */ jsx25(
3828
4012
  "button",
3829
4013
  {
3830
4014
  type: "button",
@@ -3838,14 +4022,14 @@ function TabGroup({
3838
4022
  "data-tab-index": index,
3839
4023
  tabIndex: index === currentActive ? 0 : -1,
3840
4024
  onClick: () => !tab.disabled && setActive(index),
3841
- children: /* @__PURE__ */ jsx24("span", { className: "rui-tab-group__label", children: tab.label })
4025
+ children: /* @__PURE__ */ jsx25("span", { className: "rui-tab-group__label", children: tab.label })
3842
4026
  },
3843
4027
  index
3844
4028
  );
3845
4029
  })
3846
4030
  }
3847
4031
  ),
3848
- overflow && /* @__PURE__ */ jsx24(
4032
+ overflow && /* @__PURE__ */ jsx25(
3849
4033
  "button",
3850
4034
  {
3851
4035
  type: "button",
@@ -3854,11 +4038,11 @@ function TabGroup({
3854
4038
  disabled: startIndex === maxStart,
3855
4039
  onClick: () => setStartIndex((i) => Math.min(maxStart, i + 1)),
3856
4040
  style: scrollMainStyle,
3857
- children: /* @__PURE__ */ jsx24("span", { "aria-hidden": "true", className: "rui-tab-group__scrollIcon", children: isVertical ? "\u25BC" : "\u25B6" })
4041
+ children: /* @__PURE__ */ jsx25("span", { "aria-hidden": "true", className: "rui-tab-group__scrollIcon", children: isVertical ? "\u25BC" : "\u25B6" })
3858
4042
  }
3859
4043
  )
3860
4044
  ] });
3861
- const panel = /* @__PURE__ */ jsx24(
4045
+ const panel = /* @__PURE__ */ jsx25(
3862
4046
  "div",
3863
4047
  {
3864
4048
  className: "rui-tab-group__panel",
@@ -3869,7 +4053,7 @@ function TabGroup({
3869
4053
  children: (_b = (_a = tabs[currentActive]) == null ? void 0 : _a.content) != null ? _b : null
3870
4054
  }
3871
4055
  );
3872
- return /* @__PURE__ */ jsx24(
4056
+ return /* @__PURE__ */ jsx25(
3873
4057
  "div",
3874
4058
  {
3875
4059
  ref: rootRef,
@@ -3880,10 +4064,10 @@ function TabGroup({
3880
4064
  "data-requested-fill": fill,
3881
4065
  "data-rotation": rotation,
3882
4066
  "data-overflow": overflow ? "true" : "false",
3883
- children: tabsFirst ? /* @__PURE__ */ jsxs22(Fragment2, { children: [
4067
+ children: tabsFirst ? /* @__PURE__ */ jsxs23(Fragment2, { children: [
3884
4068
  tabList,
3885
4069
  panel
3886
- ] }) : /* @__PURE__ */ jsxs22(Fragment2, { children: [
4070
+ ] }) : /* @__PURE__ */ jsxs23(Fragment2, { children: [
3887
4071
  panel,
3888
4072
  tabList
3889
4073
  ] })
@@ -3892,22 +4076,22 @@ function TabGroup({
3892
4076
  }
3893
4077
 
3894
4078
  // components/Table/Table.tsx
3895
- import * as React21 from "react";
3896
- import clsx23 from "clsx";
4079
+ import * as React22 from "react";
4080
+ import clsx24 from "clsx";
3897
4081
  import "./Table-GHEVUAUZ.css";
3898
- import { jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
4082
+ import { jsx as jsx26, jsxs as jsxs24 } from "react/jsx-runtime";
3899
4083
  var MIN_THUMB = 24;
3900
4084
  var TRACK_PADDING2 = 6;
3901
4085
  var TRACK_THICKNESS = 6;
3902
4086
  var TRACK_INSET = 8;
3903
4087
  var V_TRACK_INSET = 10;
3904
4088
  function useScrollbarMetrics(ref, axis, extraSpace) {
3905
- const [state, setState] = React21.useState({
4089
+ const [state, setState] = React22.useState({
3906
4090
  visible: false,
3907
4091
  size: MIN_THUMB,
3908
4092
  offset: 0
3909
4093
  });
3910
- React21.useLayoutEffect(() => {
4094
+ React22.useLayoutEffect(() => {
3911
4095
  const el = ref.current;
3912
4096
  if (!el) return;
3913
4097
  let raf = 0;
@@ -3943,7 +4127,7 @@ function useScrollbarMetrics(ref, axis, extraSpace) {
3943
4127
  return state;
3944
4128
  }
3945
4129
  function useThumbDrag(ref, axis, thumbState, extraSpace) {
3946
- const startDrag = React21.useCallback(
4130
+ const startDrag = React22.useCallback(
3947
4131
  (event, startScrollOverride) => {
3948
4132
  var _a, _b;
3949
4133
  const el = ref.current;
@@ -3974,7 +4158,7 @@ function useThumbDrag(ref, axis, thumbState, extraSpace) {
3974
4158
  },
3975
4159
  [axis, ref, thumbState.size, extraSpace]
3976
4160
  );
3977
- const onThumbPointerDown = React21.useCallback(
4161
+ const onThumbPointerDown = React22.useCallback(
3978
4162
  (event) => {
3979
4163
  event.stopPropagation();
3980
4164
  startDrag(event);
@@ -3991,15 +4175,15 @@ function Table({
3991
4175
  scrollAreaStyle,
3992
4176
  style
3993
4177
  }) {
3994
- const scrollRef = React21.useRef(null);
3995
- const [padRight, setPadRight] = React21.useState(0);
3996
- const [padBottom, setPadBottom] = React21.useState(0);
4178
+ const scrollRef = React22.useRef(null);
4179
+ const [padRight, setPadRight] = React22.useState(0);
4180
+ const [padBottom, setPadBottom] = React22.useState(0);
3997
4181
  const vThumb = useScrollbarMetrics(scrollRef, "vertical", padBottom);
3998
4182
  const hThumb = useScrollbarMetrics(scrollRef, "horizontal", padRight);
3999
- React21.useEffect(() => {
4183
+ React22.useEffect(() => {
4000
4184
  setPadRight(vThumb.visible ? TRACK_PADDING2 + 10 : 0);
4001
4185
  }, [vThumb.visible]);
4002
- React21.useEffect(() => {
4186
+ React22.useEffect(() => {
4003
4187
  setPadBottom(hThumb.visible ? TRACK_PADDING2 + 10 : 0);
4004
4188
  }, [hThumb.visible]);
4005
4189
  const { onThumbPointerDown: handleVThumbDown, startDrag: startVDrag } = useThumbDrag(
@@ -4014,7 +4198,7 @@ function Table({
4014
4198
  hThumb,
4015
4199
  padRight
4016
4200
  );
4017
- const handleTrackPointerDown = React21.useCallback(
4201
+ const handleTrackPointerDown = React22.useCallback(
4018
4202
  (axis, thumb, startDrag, event) => {
4019
4203
  const el = scrollRef.current;
4020
4204
  if (!el) return;
@@ -4039,33 +4223,33 @@ function Table({
4039
4223
  const vOffset = Math.max(TRACK_PADDING2, (vSlot - TRACK_THICKNESS) / 2);
4040
4224
  const hOffset = Math.max(TRACK_PADDING2, (hSlot - TRACK_THICKNESS) / 2);
4041
4225
  const hBottom = Math.max(TRACK_PADDING2 / 2, (hSlot - TRACK_THICKNESS) / 2);
4042
- return /* @__PURE__ */ jsx25(
4226
+ return /* @__PURE__ */ jsx26(
4043
4227
  "div",
4044
4228
  {
4045
- className: clsx23(
4229
+ className: clsx24(
4046
4230
  "rui-table",
4047
4231
  className
4048
4232
  ),
4049
4233
  style,
4050
- children: /* @__PURE__ */ jsxs23(
4234
+ children: /* @__PURE__ */ jsxs24(
4051
4235
  "div",
4052
4236
  {
4053
4237
  className: "rui-table__container",
4054
4238
  style: { paddingRight: padRight, paddingBottom: padBottom },
4055
4239
  children: [
4056
- /* @__PURE__ */ jsx25(
4240
+ /* @__PURE__ */ jsx26(
4057
4241
  "div",
4058
4242
  {
4059
4243
  ref: scrollRef,
4060
4244
  className: "rui-table__scroll",
4061
4245
  style: { ...scrollAreaStyle },
4062
- children: /* @__PURE__ */ jsxs23("table", { className: "rui-table__table", children: [
4063
- caption ? /* @__PURE__ */ jsx25("caption", { className: "rui-table__caption rui-text-wrap", children: caption }) : null,
4064
- /* @__PURE__ */ jsx25("thead", { className: "rui-table__head", children: /* @__PURE__ */ jsx25("tr", { children: columns.map((col) => /* @__PURE__ */ jsx25(
4246
+ children: /* @__PURE__ */ jsxs24("table", { className: "rui-table__table", children: [
4247
+ caption ? /* @__PURE__ */ jsx26("caption", { className: "rui-table__caption rui-text-wrap", children: caption }) : null,
4248
+ /* @__PURE__ */ jsx26("thead", { className: "rui-table__head", children: /* @__PURE__ */ jsx26("tr", { children: columns.map((col) => /* @__PURE__ */ jsx26(
4065
4249
  "th",
4066
4250
  {
4067
4251
  scope: "col",
4068
- className: clsx23(
4252
+ className: clsx24(
4069
4253
  "rui-table__header-cell",
4070
4254
  col.align === "right" && "rui-table__header-cell--align-right",
4071
4255
  col.align === "center" && "rui-table__header-cell--align-center"
@@ -4074,17 +4258,17 @@ function Table({
4074
4258
  },
4075
4259
  String(col.key)
4076
4260
  )) }) }),
4077
- /* @__PURE__ */ jsx25("tbody", { children: data.map((row, rowIndex) => /* @__PURE__ */ jsx25(
4261
+ /* @__PURE__ */ jsx26("tbody", { children: data.map((row, rowIndex) => /* @__PURE__ */ jsx26(
4078
4262
  "tr",
4079
4263
  {
4080
- className: clsx23(
4264
+ className: clsx24(
4081
4265
  "rui-table__row",
4082
4266
  rowIndex % 2 === 0 && "rui-table__row--alt"
4083
4267
  ),
4084
- children: columns.map((col) => /* @__PURE__ */ jsx25(
4268
+ children: columns.map((col) => /* @__PURE__ */ jsx26(
4085
4269
  "td",
4086
4270
  {
4087
- className: clsx23(
4271
+ className: clsx24(
4088
4272
  "rui-table__cell",
4089
4273
  col.align === "right" && "rui-table__cell--align-right",
4090
4274
  col.align === "center" && "rui-table__cell--align-center"
@@ -4099,7 +4283,7 @@ function Table({
4099
4283
  ] })
4100
4284
  }
4101
4285
  ),
4102
- vThumb.visible ? /* @__PURE__ */ jsx25(
4286
+ vThumb.visible ? /* @__PURE__ */ jsx26(
4103
4287
  "div",
4104
4288
  {
4105
4289
  className: "rui-table__track rui-table__track--vertical",
@@ -4110,10 +4294,10 @@ function Table({
4110
4294
  width: TRACK_THICKNESS
4111
4295
  },
4112
4296
  onPointerDown: (e) => handleTrackPointerDown("vertical", vThumb, startVDrag, e),
4113
- children: /* @__PURE__ */ jsx25("div", { className: "rui-table__track-inner", children: /* @__PURE__ */ jsx25(
4297
+ children: /* @__PURE__ */ jsx26("div", { className: "rui-table__track-inner", children: /* @__PURE__ */ jsx26(
4114
4298
  "div",
4115
4299
  {
4116
- className: clsx23(
4300
+ className: clsx24(
4117
4301
  "rui-table__thumb rui-table__thumb--vertical"
4118
4302
  ),
4119
4303
  style: { height: `${vThumb.size}px`, top: `${vThumb.offset}px` },
@@ -4122,7 +4306,7 @@ function Table({
4122
4306
  ) })
4123
4307
  }
4124
4308
  ) : null,
4125
- hThumb.visible ? /* @__PURE__ */ jsx25(
4309
+ hThumb.visible ? /* @__PURE__ */ jsx26(
4126
4310
  "div",
4127
4311
  {
4128
4312
  className: "rui-table__track rui-table__track--horizontal",
@@ -4133,10 +4317,10 @@ function Table({
4133
4317
  height: TRACK_THICKNESS
4134
4318
  },
4135
4319
  onPointerDown: (e) => handleTrackPointerDown("horizontal", hThumb, startHDrag, e),
4136
- children: /* @__PURE__ */ jsx25("div", { className: "rui-table__track-inner", children: /* @__PURE__ */ jsx25(
4320
+ children: /* @__PURE__ */ jsx26("div", { className: "rui-table__track-inner", children: /* @__PURE__ */ jsx26(
4137
4321
  "div",
4138
4322
  {
4139
- className: clsx23(
4323
+ className: clsx24(
4140
4324
  "rui-table__thumb rui-table__thumb--horizontal"
4141
4325
  ),
4142
4326
  style: { width: `${hThumb.size}px`, left: `${hThumb.offset}px` },
@@ -4153,17 +4337,17 @@ function Table({
4153
4337
  }
4154
4338
 
4155
4339
  // components/Textarea/Textarea.tsx
4156
- import * as React22 from "react";
4157
- import clsx24 from "clsx";
4340
+ import * as React23 from "react";
4341
+ import clsx25 from "clsx";
4158
4342
  import "./Textarea-ETXFJO7T.css";
4159
- import { jsx as jsx26, jsxs as jsxs24 } from "react/jsx-runtime";
4343
+ import { jsx as jsx27, jsxs as jsxs25 } from "react/jsx-runtime";
4160
4344
  var MIN_THUMB2 = 24;
4161
4345
  var TRACK_THICKNESS2 = 6;
4162
4346
  var TRACK_TOP = 8;
4163
4347
  var TRACK_BOTTOM = 22;
4164
4348
  var TRACK_REDUCTION = 20;
4165
4349
  var TRACK_REDUCTION_HALF = TRACK_REDUCTION / 2;
4166
- var Textarea = React22.forwardRef(function Textarea2({
4350
+ var Textarea = React23.forwardRef(function Textarea2({
4167
4351
  label,
4168
4352
  description,
4169
4353
  error,
@@ -4176,24 +4360,24 @@ var Textarea = React22.forwardRef(function Textarea2({
4176
4360
  ...rest
4177
4361
  }, ref) {
4178
4362
  var _a, _b;
4179
- const generatedId = React22.useId();
4363
+ const generatedId = React23.useId();
4180
4364
  const textareaId = id != null ? id : generatedId;
4181
- const descriptionId = React22.useId();
4182
- const errorId = React22.useId();
4183
- const textareaRef = React22.useRef(null);
4184
- const shellRef = React22.useRef(null);
4185
- const resizeListenersRef = React22.useRef({});
4186
- const [thumb, setThumb] = React22.useState({
4365
+ const descriptionId = React23.useId();
4366
+ const errorId = React23.useId();
4367
+ const textareaRef = React23.useRef(null);
4368
+ const shellRef = React23.useRef(null);
4369
+ const resizeListenersRef = React23.useRef({});
4370
+ const [thumb, setThumb] = React23.useState({
4187
4371
  visible: false,
4188
4372
  size: MIN_THUMB2,
4189
4373
  offset: 0
4190
4374
  });
4191
4375
  const hintIds = [description ? descriptionId : null, error ? errorId : null].filter(Boolean);
4192
4376
  const resolvedAriaDescribedBy = hintIds.length ? hintIds.join(" ") : void 0;
4193
- const [value, setValue] = React22.useState((_b = (_a = rest.defaultValue) == null ? void 0 : _a.toString()) != null ? _b : "");
4194
- const [height, setHeight] = React22.useState(void 0);
4195
- const [width, setWidth] = React22.useState(void 0);
4196
- const setRefs = React22.useCallback(
4377
+ const [value, setValue] = React23.useState((_b = (_a = rest.defaultValue) == null ? void 0 : _a.toString()) != null ? _b : "");
4378
+ const [height, setHeight] = React23.useState(void 0);
4379
+ const [width, setWidth] = React23.useState(void 0);
4380
+ const setRefs = React23.useCallback(
4197
4381
  (node) => {
4198
4382
  textareaRef.current = node;
4199
4383
  if (typeof ref === "function") {
@@ -4204,17 +4388,17 @@ var Textarea = React22.forwardRef(function Textarea2({
4204
4388
  },
4205
4389
  [ref]
4206
4390
  );
4207
- React22.useEffect(() => {
4391
+ React23.useEffect(() => {
4208
4392
  if (typeof rest.value === "string") {
4209
4393
  setValue(rest.value);
4210
4394
  }
4211
4395
  }, [rest.value]);
4212
- React22.useLayoutEffect(() => {
4396
+ React23.useLayoutEffect(() => {
4213
4397
  if (textareaRef.current && height === void 0) {
4214
4398
  setHeight(textareaRef.current.offsetHeight);
4215
4399
  }
4216
4400
  }, [height]);
4217
- React22.useLayoutEffect(() => {
4401
+ React23.useLayoutEffect(() => {
4218
4402
  const el = textareaRef.current;
4219
4403
  if (!el) return;
4220
4404
  let raf = 0;
@@ -4249,7 +4433,7 @@ var Textarea = React22.forwardRef(function Textarea2({
4249
4433
  cancelAnimationFrame(raf);
4250
4434
  };
4251
4435
  }, [height]);
4252
- React22.useEffect(() => {
4436
+ React23.useEffect(() => {
4253
4437
  return () => {
4254
4438
  if (resizeListenersRef.current.move) {
4255
4439
  window.removeEventListener("pointermove", resizeListenersRef.current.move);
@@ -4297,7 +4481,7 @@ var Textarea = React22.forwardRef(function Textarea2({
4297
4481
  window.addEventListener("pointerup", onUp);
4298
4482
  window.addEventListener("pointercancel", onUp);
4299
4483
  };
4300
- const handleThumbDrag = React22.useCallback(
4484
+ const handleThumbDrag = React23.useCallback(
4301
4485
  (event, startScrollOverride) => {
4302
4486
  var _a2, _b2;
4303
4487
  const el = textareaRef.current;
@@ -4328,13 +4512,13 @@ var Textarea = React22.forwardRef(function Textarea2({
4328
4512
  },
4329
4513
  [thumb.size]
4330
4514
  );
4331
- const rootClasses = clsx24("rui-textarea", "rui-root", disabled && "rui-textarea--disabled");
4332
- const shellClasses = clsx24(
4515
+ const rootClasses = clsx25("rui-textarea", "rui-root", disabled && "rui-textarea--disabled");
4516
+ const shellClasses = clsx25(
4333
4517
  "rui-textarea__shell",
4334
4518
  disabled && "rui-textarea__shell--disabled",
4335
4519
  error && "rui-textarea__shell--error"
4336
4520
  );
4337
- const textareaClasses = clsx24(
4521
+ const textareaClasses = clsx25(
4338
4522
  "rui-textarea__control",
4339
4523
  `rui-textarea__control--resize-${resizeDirection}`,
4340
4524
  className
@@ -4348,8 +4532,8 @@ var Textarea = React22.forwardRef(function Textarea2({
4348
4532
  };
4349
4533
  const allowX = resizeDirection === "horizontal" || resizeDirection === "both";
4350
4534
  const shellStyle = width !== void 0 && allowX ? { width } : void 0;
4351
- return /* @__PURE__ */ jsxs24("div", { className: rootClasses, children: [
4352
- label ? /* @__PURE__ */ jsx26(
4535
+ return /* @__PURE__ */ jsxs25("div", { className: rootClasses, children: [
4536
+ label ? /* @__PURE__ */ jsx27(
4353
4537
  "label",
4354
4538
  {
4355
4539
  htmlFor: textareaId,
@@ -4357,8 +4541,8 @@ var Textarea = React22.forwardRef(function Textarea2({
4357
4541
  children: label
4358
4542
  }
4359
4543
  ) : null,
4360
- /* @__PURE__ */ jsxs24("div", { className: shellClasses, ref: shellRef, style: shellStyle, children: [
4361
- /* @__PURE__ */ jsx26(
4544
+ /* @__PURE__ */ jsxs25("div", { className: shellClasses, ref: shellRef, style: shellStyle, children: [
4545
+ /* @__PURE__ */ jsx27(
4362
4546
  "textarea",
4363
4547
  {
4364
4548
  ...restProps,
@@ -4377,7 +4561,7 @@ var Textarea = React22.forwardRef(function Textarea2({
4377
4561
  }
4378
4562
  }
4379
4563
  ),
4380
- thumb.visible ? /* @__PURE__ */ jsx26(
4564
+ thumb.visible ? /* @__PURE__ */ jsx27(
4381
4565
  "div",
4382
4566
  {
4383
4567
  className: "rui-textarea__scrollbar",
@@ -4403,7 +4587,7 @@ var Textarea = React22.forwardRef(function Textarea2({
4403
4587
  el.scrollTop = target;
4404
4588
  handleThumbDrag(event, target);
4405
4589
  },
4406
- children: /* @__PURE__ */ jsx26("div", { className: "rui-textarea__scrollbar-track", children: /* @__PURE__ */ jsx26(
4590
+ children: /* @__PURE__ */ jsx27("div", { className: "rui-textarea__scrollbar-track", children: /* @__PURE__ */ jsx27(
4407
4591
  "div",
4408
4592
  {
4409
4593
  className: "rui-textarea__scrollbar-thumb",
@@ -4416,13 +4600,13 @@ var Textarea = React22.forwardRef(function Textarea2({
4416
4600
  ) })
4417
4601
  }
4418
4602
  ) : null,
4419
- resizeDirection !== "none" ? /* @__PURE__ */ jsxs24("div", { className: "rui-textarea__footer", children: [
4420
- showCount && limit ? /* @__PURE__ */ jsxs24("div", { className: "rui-textarea__footer-count", children: [
4603
+ resizeDirection !== "none" ? /* @__PURE__ */ jsxs25("div", { className: "rui-textarea__footer", children: [
4604
+ showCount && limit ? /* @__PURE__ */ jsxs25("div", { className: "rui-textarea__footer-count", children: [
4421
4605
  count,
4422
4606
  "/",
4423
4607
  limit
4424
4608
  ] }) : null,
4425
- /* @__PURE__ */ jsx26(
4609
+ /* @__PURE__ */ jsx27(
4426
4610
  "button",
4427
4611
  {
4428
4612
  type: "button",
@@ -4435,7 +4619,7 @@ var Textarea = React22.forwardRef(function Textarea2({
4435
4619
  appearance: "none",
4436
4620
  background: "transparent"
4437
4621
  },
4438
- children: /* @__PURE__ */ jsx26(
4622
+ children: /* @__PURE__ */ jsx27(
4439
4623
  "svg",
4440
4624
  {
4441
4625
  viewBox: "0 0 16 16",
@@ -4445,23 +4629,23 @@ var Textarea = React22.forwardRef(function Textarea2({
4445
4629
  stroke: "currentColor",
4446
4630
  strokeWidth: "1.5",
4447
4631
  strokeLinecap: "round",
4448
- children: /* @__PURE__ */ jsx26("path", { d: "M7 15 L15 7 M11 15 L15 11 M3 15 L15 3" })
4632
+ children: /* @__PURE__ */ jsx27("path", { d: "M7 15 L15 7 M11 15 L15 11 M3 15 L15 3" })
4449
4633
  }
4450
4634
  )
4451
4635
  }
4452
4636
  )
4453
4637
  ] }) : null
4454
4638
  ] }),
4455
- description ? /* @__PURE__ */ jsx26("p", { id: descriptionId, className: "rui-textarea__description rui-text-wrap", children: description }) : null,
4456
- error ? /* @__PURE__ */ jsx26("p", { id: errorId, className: "rui-textarea__error rui-text-wrap", children: error }) : null
4639
+ description ? /* @__PURE__ */ jsx27("p", { id: descriptionId, className: "rui-textarea__description rui-text-wrap", children: description }) : null,
4640
+ error ? /* @__PURE__ */ jsx27("p", { id: errorId, className: "rui-textarea__error rui-text-wrap", children: error }) : null
4457
4641
  ] });
4458
4642
  });
4459
4643
 
4460
4644
  // components/ResizableContainer/ResizableContainer.tsx
4461
- import * as React23 from "react";
4462
- import clsx25 from "clsx";
4645
+ import * as React24 from "react";
4646
+ import clsx26 from "clsx";
4463
4647
  import "./ResizableContainer-KIX7YKZJ.css";
4464
- import { jsx as jsx27, jsxs as jsxs25 } from "react/jsx-runtime";
4648
+ import { jsx as jsx28, jsxs as jsxs26 } from "react/jsx-runtime";
4465
4649
  var DEFAULT_MIN_WIDTH = 240;
4466
4650
  var DEFAULT_MIN_HEIGHT = 120;
4467
4651
  var DEFAULT_STEP = 8;
@@ -4471,12 +4655,12 @@ var TRACK_THICKNESS3 = 6;
4471
4655
  var TRACK_INSET2 = 8;
4472
4656
  var V_TRACK_INSET2 = 10;
4473
4657
  function useScrollbarMetrics2(ref, axis, extraSpace) {
4474
- const [state, setState] = React23.useState({
4658
+ const [state, setState] = React24.useState({
4475
4659
  visible: false,
4476
4660
  size: MIN_THUMB3,
4477
4661
  offset: 0
4478
4662
  });
4479
- React23.useLayoutEffect(() => {
4663
+ React24.useLayoutEffect(() => {
4480
4664
  const el = ref.current;
4481
4665
  if (!el) return;
4482
4666
  let raf = 0;
@@ -4512,7 +4696,7 @@ function useScrollbarMetrics2(ref, axis, extraSpace) {
4512
4696
  return state;
4513
4697
  }
4514
4698
  function useThumbDrag2(ref, axis, thumbState, extraSpace) {
4515
- const startDrag = React23.useCallback(
4699
+ const startDrag = React24.useCallback(
4516
4700
  (event, startScrollOverride) => {
4517
4701
  var _a, _b;
4518
4702
  const el = ref.current;
@@ -4543,7 +4727,7 @@ function useThumbDrag2(ref, axis, thumbState, extraSpace) {
4543
4727
  },
4544
4728
  [axis, ref, thumbState.size, extraSpace]
4545
4729
  );
4546
- const onThumbPointerDown = React23.useCallback(
4730
+ const onThumbPointerDown = React24.useCallback(
4547
4731
  (event) => {
4548
4732
  event.stopPropagation();
4549
4733
  startDrag(event);
@@ -4552,7 +4736,7 @@ function useThumbDrag2(ref, axis, thumbState, extraSpace) {
4552
4736
  );
4553
4737
  return { onThumbPointerDown, startDrag };
4554
4738
  }
4555
- var ResizableContainer = React23.forwardRef(
4739
+ var ResizableContainer = React24.forwardRef(
4556
4740
  function ResizableContainer2({
4557
4741
  axis = "both",
4558
4742
  minWidth = DEFAULT_MIN_WIDTH,
@@ -4570,14 +4754,14 @@ var ResizableContainer = React23.forwardRef(
4570
4754
  onSizeChange,
4571
4755
  ...rest
4572
4756
  }, ref) {
4573
- const rootRef = React23.useRef(null);
4574
- const contentRef = React23.useRef(null);
4575
- const [internalWidth, setInternalWidth] = React23.useState(defaultWidth);
4576
- const [internalHeight, setInternalHeight] = React23.useState(defaultHeight);
4577
- const [isResizing, setIsResizing] = React23.useState(false);
4578
- const [padRight, setPadRight] = React23.useState(0);
4579
- const [padBottom, setPadBottom] = React23.useState(0);
4580
- const resizeStateRef = React23.useRef({
4757
+ const rootRef = React24.useRef(null);
4758
+ const contentRef = React24.useRef(null);
4759
+ const [internalWidth, setInternalWidth] = React24.useState(defaultWidth);
4760
+ const [internalHeight, setInternalHeight] = React24.useState(defaultHeight);
4761
+ const [isResizing, setIsResizing] = React24.useState(false);
4762
+ const [padRight, setPadRight] = React24.useState(0);
4763
+ const [padBottom, setPadBottom] = React24.useState(0);
4764
+ const resizeStateRef = React24.useRef({
4581
4765
  startX: 0,
4582
4766
  startY: 0,
4583
4767
  startWidth: 0,
@@ -4592,10 +4776,10 @@ var ResizableContainer = React23.forwardRef(
4592
4776
  const maxHeightLimit = maxHeight;
4593
4777
  const vThumb = useScrollbarMetrics2(contentRef, "vertical", padBottom);
4594
4778
  const hThumb = useScrollbarMetrics2(contentRef, "horizontal", padRight);
4595
- React23.useEffect(() => {
4779
+ React24.useEffect(() => {
4596
4780
  setPadRight(vThumb.visible ? TRACK_PADDING3 + 10 : 0);
4597
4781
  }, [vThumb.visible]);
4598
- React23.useEffect(() => {
4782
+ React24.useEffect(() => {
4599
4783
  setPadBottom(hThumb.visible ? TRACK_PADDING3 + 10 : 0);
4600
4784
  }, [hThumb.visible]);
4601
4785
  const { onThumbPointerDown: handleVThumbDown, startDrag: startVDrag } = useThumbDrag2(
@@ -4610,7 +4794,7 @@ var ResizableContainer = React23.forwardRef(
4610
4794
  hThumb,
4611
4795
  padRight
4612
4796
  );
4613
- const handleTrackPointerDown = React23.useCallback(
4797
+ const handleTrackPointerDown = React24.useCallback(
4614
4798
  (axis2, thumb, startDrag, event) => {
4615
4799
  const el = contentRef.current;
4616
4800
  if (!el) return;
@@ -4630,7 +4814,7 @@ var ResizableContainer = React23.forwardRef(
4630
4814
  },
4631
4815
  []
4632
4816
  );
4633
- const setRefs = React23.useCallback(
4817
+ const setRefs = React24.useCallback(
4634
4818
  (node) => {
4635
4819
  rootRef.current = node;
4636
4820
  if (typeof ref === "function") {
@@ -4641,7 +4825,7 @@ var ResizableContainer = React23.forwardRef(
4641
4825
  },
4642
4826
  [ref]
4643
4827
  );
4644
- const clamp2 = React23.useCallback((value, min, max) => {
4828
+ const clamp2 = React24.useCallback((value, min, max) => {
4645
4829
  return Math.max(min != null ? min : -Infinity, Math.min(max != null ? max : Infinity, value));
4646
4830
  }, []);
4647
4831
  const handlePointerDown = (event) => {
@@ -4664,7 +4848,7 @@ var ResizableContainer = React23.forwardRef(
4664
4848
  setIsResizing(true);
4665
4849
  (_b = (_a = event.currentTarget).setPointerCapture) == null ? void 0 : _b.call(_a, event.pointerId);
4666
4850
  };
4667
- const applySize = React23.useCallback(
4851
+ const applySize = React24.useCallback(
4668
4852
  (nextWidth, nextHeight) => {
4669
4853
  if (allowX && !widthControlled) {
4670
4854
  setInternalWidth(nextWidth);
@@ -4746,19 +4930,19 @@ var ResizableContainer = React23.forwardRef(
4746
4930
  const vOffset = Math.max(TRACK_PADDING3, (vSlot - TRACK_THICKNESS3) / 2);
4747
4931
  const hOffset = Math.max(TRACK_PADDING3, (hSlot - TRACK_THICKNESS3) / 2);
4748
4932
  const hBottom = Math.max(TRACK_PADDING3 / 2, (hSlot - TRACK_THICKNESS3) / 2);
4749
- return /* @__PURE__ */ jsxs25(
4933
+ return /* @__PURE__ */ jsxs26(
4750
4934
  "div",
4751
4935
  {
4752
4936
  ...rest,
4753
4937
  ref: setRefs,
4754
- className: clsx25("rui-resizable", "rui-root", className),
4938
+ className: clsx26("rui-resizable", "rui-root", className),
4755
4939
  style: { ...style, ...sizeStyle },
4756
4940
  "data-axis": axis,
4757
4941
  "data-resizing": isResizing ? "true" : void 0,
4758
4942
  "data-scrollbar-x": hThumb.visible ? "true" : void 0,
4759
4943
  "data-scrollbar-y": vThumb.visible ? "true" : void 0,
4760
4944
  children: [
4761
- /* @__PURE__ */ jsx27(
4945
+ /* @__PURE__ */ jsx28(
4762
4946
  "div",
4763
4947
  {
4764
4948
  ref: contentRef,
@@ -4770,7 +4954,7 @@ var ResizableContainer = React23.forwardRef(
4770
4954
  children
4771
4955
  }
4772
4956
  ),
4773
- vThumb.visible ? /* @__PURE__ */ jsx27(
4957
+ vThumb.visible ? /* @__PURE__ */ jsx28(
4774
4958
  "div",
4775
4959
  {
4776
4960
  className: "rui-resizable__scrollbar rui-resizable__scrollbar--vertical",
@@ -4781,7 +4965,7 @@ var ResizableContainer = React23.forwardRef(
4781
4965
  width: TRACK_THICKNESS3
4782
4966
  },
4783
4967
  onPointerDown: (e) => handleTrackPointerDown("vertical", vThumb, startVDrag, e),
4784
- children: /* @__PURE__ */ jsx27("div", { className: "rui-resizable__scrollbar-track", children: /* @__PURE__ */ jsx27(
4968
+ children: /* @__PURE__ */ jsx28("div", { className: "rui-resizable__scrollbar-track", children: /* @__PURE__ */ jsx28(
4785
4969
  "div",
4786
4970
  {
4787
4971
  className: "rui-resizable__scrollbar-thumb",
@@ -4791,7 +4975,7 @@ var ResizableContainer = React23.forwardRef(
4791
4975
  ) })
4792
4976
  }
4793
4977
  ) : null,
4794
- hThumb.visible ? /* @__PURE__ */ jsx27(
4978
+ hThumb.visible ? /* @__PURE__ */ jsx28(
4795
4979
  "div",
4796
4980
  {
4797
4981
  className: "rui-resizable__scrollbar rui-resizable__scrollbar--horizontal",
@@ -4802,7 +4986,7 @@ var ResizableContainer = React23.forwardRef(
4802
4986
  height: TRACK_THICKNESS3
4803
4987
  },
4804
4988
  onPointerDown: (e) => handleTrackPointerDown("horizontal", hThumb, startHDrag, e),
4805
- children: /* @__PURE__ */ jsx27("div", { className: "rui-resizable__scrollbar-track", children: /* @__PURE__ */ jsx27(
4989
+ children: /* @__PURE__ */ jsx28("div", { className: "rui-resizable__scrollbar-track", children: /* @__PURE__ */ jsx28(
4806
4990
  "div",
4807
4991
  {
4808
4992
  className: "rui-resizable__scrollbar-thumb",
@@ -4812,7 +4996,7 @@ var ResizableContainer = React23.forwardRef(
4812
4996
  ) })
4813
4997
  }
4814
4998
  ) : null,
4815
- /* @__PURE__ */ jsx27(
4999
+ /* @__PURE__ */ jsx28(
4816
5000
  "button",
4817
5001
  {
4818
5002
  type: "button",
@@ -4823,7 +5007,7 @@ var ResizableContainer = React23.forwardRef(
4823
5007
  onPointerUp: handlePointerUp,
4824
5008
  onPointerCancel: handlePointerUp,
4825
5009
  onKeyDown: handleKeyDown,
4826
- children: /* @__PURE__ */ jsx27(
5010
+ children: /* @__PURE__ */ jsx28(
4827
5011
  "svg",
4828
5012
  {
4829
5013
  viewBox: "0 0 16 16",
@@ -4833,7 +5017,7 @@ var ResizableContainer = React23.forwardRef(
4833
5017
  stroke: "currentColor",
4834
5018
  strokeWidth: "1.5",
4835
5019
  strokeLinecap: "round",
4836
- children: /* @__PURE__ */ jsx27("path", { d: "M7 15 L15 7 M11 15 L15 11 M3 15 L15 3" })
5020
+ children: /* @__PURE__ */ jsx28("path", { d: "M7 15 L15 7 M11 15 L15 11 M3 15 L15 3" })
4837
5021
  }
4838
5022
  )
4839
5023
  }
@@ -4845,13 +5029,13 @@ var ResizableContainer = React23.forwardRef(
4845
5029
  );
4846
5030
 
4847
5031
  // components/Toggle/Toggle.tsx
4848
- import * as React24 from "react";
4849
- import clsx26 from "clsx";
5032
+ import * as React25 from "react";
5033
+ import clsx27 from "clsx";
4850
5034
  import "./Toggle-H2VEMC4W.css";
4851
- import { jsx as jsx28 } from "react/jsx-runtime";
4852
- var Toggle = React24.forwardRef(function Toggle2({ checked, defaultChecked = false, onChange, disabled, className, onClick, ...rest }, ref) {
5035
+ import { jsx as jsx29 } from "react/jsx-runtime";
5036
+ var Toggle = React25.forwardRef(function Toggle2({ checked, defaultChecked = false, onChange, disabled, className, onClick, ...rest }, ref) {
4853
5037
  const isControlled = typeof checked === "boolean";
4854
- const [internalChecked, setInternalChecked] = React24.useState(defaultChecked);
5038
+ const [internalChecked, setInternalChecked] = React25.useState(defaultChecked);
4855
5039
  const resolvedChecked = isControlled ? !!checked : internalChecked;
4856
5040
  const handleClick = (event) => {
4857
5041
  if (disabled) {
@@ -4865,18 +5049,18 @@ var Toggle = React24.forwardRef(function Toggle2({ checked, defaultChecked = fal
4865
5049
  onChange == null ? void 0 : onChange(next);
4866
5050
  onClick == null ? void 0 : onClick(event);
4867
5051
  };
4868
- const buttonClasses = clsx26(
5052
+ const buttonClasses = clsx27(
4869
5053
  "rui-toggle__button rui-root",
4870
5054
  resolvedChecked && "rui-toggle__button--checked",
4871
5055
  disabled && "rui-toggle__button--disabled rui-toggle__is-disabled",
4872
5056
  className
4873
5057
  );
4874
- const thumbClasses = clsx26(
5058
+ const thumbClasses = clsx27(
4875
5059
  "rui-toggle__thumb",
4876
5060
  resolvedChecked ? "rui-toggle__thumb--checked" : "rui-toggle__thumb--unchecked",
4877
5061
  disabled && "rui-toggle__thumb--disabled"
4878
5062
  );
4879
- return /* @__PURE__ */ jsx28(
5063
+ return /* @__PURE__ */ jsx29(
4880
5064
  "button",
4881
5065
  {
4882
5066
  ...rest,
@@ -4888,7 +5072,7 @@ var Toggle = React24.forwardRef(function Toggle2({ checked, defaultChecked = fal
4888
5072
  "data-state": resolvedChecked ? "on" : "off",
4889
5073
  className: buttonClasses,
4890
5074
  onClick: handleClick,
4891
- children: /* @__PURE__ */ jsx28("span", { "aria-hidden": "true", className: thumbClasses })
5075
+ children: /* @__PURE__ */ jsx29("span", { "aria-hidden": "true", className: thumbClasses })
4892
5076
  }
4893
5077
  );
4894
5078
  });
@@ -4906,6 +5090,7 @@ export {
4906
5090
  Dialog,
4907
5091
  Disclosure,
4908
5092
  Dropdown,
5093
+ FilePicker,
4909
5094
  InputField,
4910
5095
  Meter,
4911
5096
  NumberInput,