@texturehq/edges 2.2.7 → 2.3.1

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.
@@ -1,9 +1,9 @@
1
- import * as _visx_vendor_d3_scale from '@visx/vendor/d3-scale';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { ReactNode, ComponentType } from 'react';
4
- import { ScaleTime, ScaleLinear } from 'd3-scale';
5
- import * as react_jsx_runtime from 'react/jsx-runtime';
6
4
  import { d as IconName } from './RichTextEditor-BNXNpG4s.js';
5
+ import * as _visx_vendor_d3_scale from '@visx/vendor/d3-scale';
6
+ import { ScaleTime, ScaleLinear } from 'd3-scale';
7
7
  import * as react_map_gl from 'react-map-gl';
8
8
  import { ViewState, MapRef } from 'react-map-gl';
9
9
  import { MeterProps as MeterProps$1 } from 'react-aria-components';
@@ -195,173 +195,6 @@ declare function formatComponentValue({ value, formatter, emptyClassName, emptyT
195
195
  */
196
196
  declare function useComponentFormatter(formatter?: ComponentFormatter, emptyClassName?: string, emptyText?: React__default.ReactNode): (value: FieldValue) => React__default.ReactNode;
197
197
 
198
- /**
199
- * Chart Y-axis formatter type
200
- * Uses the main formatting system for consistency with Kpi, StatList, and DataTable
201
- */
202
- type YFormatType = ComponentFormatter;
203
- interface TooltipData {
204
- /** The x-axis value (Date for time-series charts) */
205
- xValue: Date;
206
- series: TooltipSeries[];
207
- x: number;
208
- y: number;
209
- position: "left" | "right";
210
- /** Whether this tooltip is for an event marker (vs data point) */
211
- isEvent?: boolean;
212
- /** Optional event metadata to display */
213
- eventMetadata?: Record<string, string | number>;
214
- /** Optional list of event items to display in event tooltips. */
215
- eventItems?: TooltipEventItem[];
216
- }
217
- interface TooltipEventItem {
218
- label: string;
219
- color: string;
220
- metadata?: Record<string, string | number>;
221
- }
222
- interface TooltipSeries {
223
- label: string;
224
- value: number;
225
- /**
226
- * Lower bound for a min–max band series. When set, the tooltip renders the
227
- * range `baselineValue–value` instead of a single value.
228
- */
229
- baselineValue?: number;
230
- /**
231
- * Optional y-axis coordinate (in data space) where the focus highlight
232
- * should be drawn for this series. Defaults to `value`. Used by stacked
233
- * series where the drawn position differs from the reported value.
234
- */
235
- chartY?: number;
236
- showMarker?: boolean;
237
- color: string;
238
- type?: "area" | "line" | "bar" | "event";
239
- category?: string;
240
- categoryColor?: string;
241
- /** Optional extra rows to display in the tooltip below the category row. */
242
- extraTooltipRows?: Array<{
243
- label: string;
244
- value: string;
245
- }>;
246
- }
247
- interface SeriesMetadata {
248
- label: string;
249
- color: string;
250
- }
251
- interface ChartContextType {
252
- xScale: ScaleTime<number, number>;
253
- yScale: ScaleLinear<number, number>;
254
- width: number;
255
- height: number;
256
- yFormatter: YFormatType;
257
- animationSettings: {
258
- duration: number;
259
- ease: string;
260
- };
261
- tooltip: {
262
- data: TooltipData | null;
263
- show: (data: TooltipData) => void;
264
- hide: () => void;
265
- };
266
- /** Series datasets for accessing underlying data */
267
- datasets?: BaseDataPoint[][];
268
- /** Series metadata for labels and colors */
269
- seriesMetadata?: SeriesMetadata[];
270
- /** Series types for proper tooltip rendering */
271
- seriesTypes?: ("area" | "line" | "bar")[];
272
- /** Category colors for bar charts */
273
- categoryColors?: Record<string, string>;
274
- /** Category labels for translating category values */
275
- categoryLabels?: Record<string, string>;
276
- }
277
- declare const ChartContext: React$1.Context<ChartContextType | null>;
278
-
279
- declare const useChartContext: () => ChartContextType;
280
-
281
- interface BaseDataPoint {
282
- xValue: Date;
283
- /**
284
- * The data value for this point. This is the value reported to tooltips and
285
- * CSV exports, and — by default — also the y-axis coordinate where the point
286
- * is drawn.
287
- *
288
- * For stacked or banded charts where the *drawn* position differs from the
289
- * data value (e.g. each band is drawn at its cumulative stack top), set
290
- * `chartYValue` on the point instead of mutating `yValue`. That keeps tooltip
291
- * and export output honest while letting the chart draw the visual stack.
292
- */
293
- yValue: number;
294
- /**
295
- * Optional render-only override for where to draw this point on the y-axis.
296
- * When set, series components (e.g. `AreaSeries`, `LineSeries`) draw the
297
- * point at `chartYValue` instead of `yValue`. Tooltip values and CSV exports
298
- * continue to use `yValue`, so the user-facing number reflects the underlying
299
- * data and not the stacked coordinate.
300
- *
301
- * Used for stacked area charts where each band's drawn y is the cumulative
302
- * top of the stack, but the displayed value should be the band's own
303
- * magnitude. Existing non-stacked consumers can leave this undefined and
304
- * behavior is unchanged.
305
- */
306
- chartYValue?: number;
307
- /**
308
- * Optional lower bound for a banded `AreaSeries` (e.g. a min–max envelope or a
309
- * stacked band's floor). Carried on the point so the floor stays bound to the
310
- * same sample as the ceiling and survives `ChartContainer`'s zoom-filtering —
311
- * a positional baseline array would desync once `data` is re-indexed. Read via
312
- * `baselineFromPoint`.
313
- */
314
- baselineValue?: number;
315
- /**
316
- * Optional render-only control for the tooltip focus marker. Defaults to true.
317
- * Useful for zero-height stacked bands: the tooltip row should still report
318
- * the zero value, but drawing a marker at the current stack baseline makes the
319
- * band look active when it is not.
320
- */
321
- showTooltipMarker?: boolean;
322
- category?: string;
323
- /**
324
- * Optional extra rows to display in the tooltip for this data point, below
325
- * the series value and category rows. Purely presentational — does not
326
- * affect chart drawing, scales, or CSV export. Used by consumers that need
327
- * to surface point-level context (e.g. per-sample geolocation status like
328
- * home/away). Each row is `{ label, value }` and rendered as
329
- * `<label>: <value>` in the tooltip.
330
- */
331
- extraTooltipRows?: Array<{
332
- label: string;
333
- value: string;
334
- }>;
335
- }
336
- /**
337
- * Canonical `AreaSeries` baseline accessor: the per-point band floor. Pass as
338
- * `baseline={baselineFromPoint}` for any banded area whose points carry a
339
- * `baselineValue`. Because the floor is read off the point, it stays correct
340
- * under zoom/pan where a positional baseline array would desync.
341
- */
342
- declare const baselineFromPoint: (point: BaseDataPoint) => number;
343
- interface ChartMargin {
344
- top: number;
345
- right: number;
346
- bottom: number;
347
- left: number;
348
- }
349
- declare const defaultMargin: ChartMargin;
350
- interface YFormatSettings {
351
- format: (value: number) => string;
352
- min?: number;
353
- max?: number;
354
- tickInterval?: number;
355
- tickFormat?: (value: number) => string;
356
- }
357
- /**
358
- * Get Y-axis format settings from a ComponentFormatter
359
- * Uses the main formatting system for consistency across all components
360
- */
361
- declare function getYFormatSettings(formatter?: YFormatType): YFormatSettings;
362
- declare const createXScale: (data: BaseDataPoint[], width: number) => _visx_vendor_d3_scale.ScaleTime<number, number, never>;
363
- declare const createYScale: (data: BaseDataPoint[], height: number, formatType: YFormatType, explicitDomain?: [number, number]) => _visx_vendor_d3_scale.ScaleLinear<number, number, never>;
364
-
365
198
  interface ActionItem {
366
199
  /**
367
200
  * Unique identifier for the action
@@ -391,6 +224,10 @@ interface ActionItem {
391
224
  * Handler for when the action is selected
392
225
  */
393
226
  onAction?: () => void;
227
+ /**
228
+ * Optional URL for navigation. When set, the menu item renders as a link.
229
+ */
230
+ href?: string;
394
231
  /**
395
232
  * Test ID for testing
396
233
  */
@@ -998,6 +835,173 @@ interface CodeEditorProps {
998
835
  */
999
836
  declare function CodeEditor({ value, readOnly, onChange, language, theme, height, width, className, lineHeight, minLines, maxLines, showLineNumbers, showGutter, fontSize, wrapEnabled, }: CodeEditorProps): react_jsx_runtime.JSX.Element;
1000
837
 
838
+ /**
839
+ * Chart Y-axis formatter type
840
+ * Uses the main formatting system for consistency with Kpi, StatList, and DataTable
841
+ */
842
+ type YFormatType = ComponentFormatter;
843
+ interface TooltipData {
844
+ /** The x-axis value (Date for time-series charts) */
845
+ xValue: Date;
846
+ series: TooltipSeries[];
847
+ x: number;
848
+ y: number;
849
+ position: "left" | "right";
850
+ /** Whether this tooltip is for an event marker (vs data point) */
851
+ isEvent?: boolean;
852
+ /** Optional event metadata to display */
853
+ eventMetadata?: Record<string, string | number>;
854
+ /** Optional list of event items to display in event tooltips. */
855
+ eventItems?: TooltipEventItem[];
856
+ }
857
+ interface TooltipEventItem {
858
+ label: string;
859
+ color: string;
860
+ metadata?: Record<string, string | number>;
861
+ }
862
+ interface TooltipSeries {
863
+ label: string;
864
+ value: number;
865
+ /**
866
+ * Lower bound for a min–max band series. When set, the tooltip renders the
867
+ * range `baselineValue–value` instead of a single value.
868
+ */
869
+ baselineValue?: number;
870
+ /**
871
+ * Optional y-axis coordinate (in data space) where the focus highlight
872
+ * should be drawn for this series. Defaults to `value`. Used by stacked
873
+ * series where the drawn position differs from the reported value.
874
+ */
875
+ chartY?: number;
876
+ showMarker?: boolean;
877
+ color: string;
878
+ type?: "area" | "line" | "bar" | "event";
879
+ category?: string;
880
+ categoryColor?: string;
881
+ /** Optional extra rows to display in the tooltip below the category row. */
882
+ extraTooltipRows?: Array<{
883
+ label: string;
884
+ value: string;
885
+ }>;
886
+ }
887
+ interface SeriesMetadata {
888
+ label: string;
889
+ color: string;
890
+ }
891
+ interface ChartContextType {
892
+ xScale: ScaleTime<number, number>;
893
+ yScale: ScaleLinear<number, number>;
894
+ width: number;
895
+ height: number;
896
+ yFormatter: YFormatType;
897
+ animationSettings: {
898
+ duration: number;
899
+ ease: string;
900
+ };
901
+ tooltip: {
902
+ data: TooltipData | null;
903
+ show: (data: TooltipData) => void;
904
+ hide: () => void;
905
+ };
906
+ /** Series datasets for accessing underlying data */
907
+ datasets?: BaseDataPoint[][];
908
+ /** Series metadata for labels and colors */
909
+ seriesMetadata?: SeriesMetadata[];
910
+ /** Series types for proper tooltip rendering */
911
+ seriesTypes?: ("area" | "line" | "bar")[];
912
+ /** Category colors for bar charts */
913
+ categoryColors?: Record<string, string>;
914
+ /** Category labels for translating category values */
915
+ categoryLabels?: Record<string, string>;
916
+ }
917
+ declare const ChartContext: React$1.Context<ChartContextType | null>;
918
+
919
+ declare const useChartContext: () => ChartContextType;
920
+
921
+ interface BaseDataPoint {
922
+ xValue: Date;
923
+ /**
924
+ * The data value for this point. This is the value reported to tooltips and
925
+ * CSV exports, and — by default — also the y-axis coordinate where the point
926
+ * is drawn.
927
+ *
928
+ * For stacked or banded charts where the *drawn* position differs from the
929
+ * data value (e.g. each band is drawn at its cumulative stack top), set
930
+ * `chartYValue` on the point instead of mutating `yValue`. That keeps tooltip
931
+ * and export output honest while letting the chart draw the visual stack.
932
+ */
933
+ yValue: number;
934
+ /**
935
+ * Optional render-only override for where to draw this point on the y-axis.
936
+ * When set, series components (e.g. `AreaSeries`, `LineSeries`) draw the
937
+ * point at `chartYValue` instead of `yValue`. Tooltip values and CSV exports
938
+ * continue to use `yValue`, so the user-facing number reflects the underlying
939
+ * data and not the stacked coordinate.
940
+ *
941
+ * Used for stacked area charts where each band's drawn y is the cumulative
942
+ * top of the stack, but the displayed value should be the band's own
943
+ * magnitude. Existing non-stacked consumers can leave this undefined and
944
+ * behavior is unchanged.
945
+ */
946
+ chartYValue?: number;
947
+ /**
948
+ * Optional lower bound for a banded `AreaSeries` (e.g. a min–max envelope or a
949
+ * stacked band's floor). Carried on the point so the floor stays bound to the
950
+ * same sample as the ceiling and survives `ChartContainer`'s zoom-filtering —
951
+ * a positional baseline array would desync once `data` is re-indexed. Read via
952
+ * `baselineFromPoint`.
953
+ */
954
+ baselineValue?: number;
955
+ /**
956
+ * Optional render-only control for the tooltip focus marker. Defaults to true.
957
+ * Useful for zero-height stacked bands: the tooltip row should still report
958
+ * the zero value, but drawing a marker at the current stack baseline makes the
959
+ * band look active when it is not.
960
+ */
961
+ showTooltipMarker?: boolean;
962
+ category?: string;
963
+ /**
964
+ * Optional extra rows to display in the tooltip for this data point, below
965
+ * the series value and category rows. Purely presentational — does not
966
+ * affect chart drawing, scales, or CSV export. Used by consumers that need
967
+ * to surface point-level context (e.g. per-sample geolocation status like
968
+ * home/away). Each row is `{ label, value }` and rendered as
969
+ * `<label>: <value>` in the tooltip.
970
+ */
971
+ extraTooltipRows?: Array<{
972
+ label: string;
973
+ value: string;
974
+ }>;
975
+ }
976
+ /**
977
+ * Canonical `AreaSeries` baseline accessor: the per-point band floor. Pass as
978
+ * `baseline={baselineFromPoint}` for any banded area whose points carry a
979
+ * `baselineValue`. Because the floor is read off the point, it stays correct
980
+ * under zoom/pan where a positional baseline array would desync.
981
+ */
982
+ declare const baselineFromPoint: (point: BaseDataPoint) => number;
983
+ interface ChartMargin {
984
+ top: number;
985
+ right: number;
986
+ bottom: number;
987
+ left: number;
988
+ }
989
+ declare const defaultMargin: ChartMargin;
990
+ interface YFormatSettings {
991
+ format: (value: number) => string;
992
+ min?: number;
993
+ max?: number;
994
+ tickInterval?: number;
995
+ tickFormat?: (value: number) => string;
996
+ }
997
+ /**
998
+ * Get Y-axis format settings from a ComponentFormatter
999
+ * Uses the main formatting system for consistency across all components
1000
+ */
1001
+ declare function getYFormatSettings(formatter?: YFormatType): YFormatSettings;
1002
+ declare const createXScale: (data: BaseDataPoint[], width: number) => _visx_vendor_d3_scale.ScaleTime<number, number, never>;
1003
+ declare const createYScale: (data: BaseDataPoint[], height: number, formatType: YFormatType, explicitDomain?: [number, number]) => _visx_vendor_d3_scale.ScaleLinear<number, number, never>;
1004
+
1001
1005
  declare const variantSizeMap: {
1002
1006
  readonly heading: {
1003
1007
  readonly sm: "text-heading-sm";
@@ -1,3 +1,3 @@
1
- 'use strict';var Go=require('react'),reactAriaComponents=require('react-aria-components'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),Ze=require('@phosphor-icons/react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Go__namespace=/*#__PURE__*/_interopNamespace(Go);var Ze__namespace=/*#__PURE__*/_interopNamespace(Ze);var It=Object.defineProperty;var Bt=(e,o,t)=>o in e?It(e,o,{enumerable:true,configurable:true,writable:true,value:t}):e[o]=t;var Me=(e,o,t)=>Bt(e,typeof o!="symbol"?o+"":o,t);function Ge(e,o=false){let[t,r]=Go.useState(o);return Go.useEffect(()=>{if(typeof window>"u")return;let n=window.matchMedia(e);r(n.matches);let a=l=>{r(l.matches);};return n.addEventListener("change",a),()=>{n.removeEventListener("change",a);}},[e]),t}function ve(e=true){let[o,t]=Go.useState(null);return Go.useEffect(()=>{if(!e){t(null);return}let r=typeof window<"u"?window.visualViewport:null;if(!r)return;let n=()=>{let a=Math.max(0,window.innerHeight-r.height-(r.offsetTop??0));t({height:r.height,keyboardOffset:a});};return n(),r.addEventListener("resize",n),r.addEventListener("scroll",n),()=>{r.removeEventListener("resize",n),r.removeEventListener("scroll",n);}},[e]),o}function ye(...e){return e.filter(Boolean).join(" ")}var H={displayXl:"text-display-xl",displayLg:"text-display-lg",displayMd:"text-display-md",displaySm:"text-display-sm",headingXl:"text-heading-xl",headingLg:"text-heading-lg",headingMd:"text-heading-md",headingSm:"text-heading-sm",bodyLg:"text-body-lg",bodyMd:"text-body-md",bodySm:"text-body-sm",labelLg:"text-label-lg",labelMd:"text-label-md",labelSm:"text-label-sm",code:"text-code",agent:"text-agent"};function qe(e,...o){return ye(H[e],...o)}function Xe(e=false){return `${e?"outline outline-1 outline-border-input data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2":"outline-none data-[focus-visible]:outline data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2"}`}var ee={sm:{text:"text-[length:var(--control-text-sm)]",height:"h-[var(--control-sm-height)]",padding:"px-[var(--control-padding-sm)]",paddingY:"py-[var(--control-gap-sm)]",gap:"gap-[var(--control-gap-sm)]"},md:{text:"text-[length:var(--control-text-md)]",height:"h-[var(--control-md-height)]",padding:"px-[var(--control-padding-md)]",paddingY:"py-[var(--control-gap-md)]",gap:"gap-[var(--control-gap-md)]"},lg:{text:"text-[length:var(--control-text-lg)]",height:"h-[var(--control-lg-height)]",padding:"px-[var(--control-padding-lg)]",paddingY:"py-[var(--control-gap-lg)]",gap:"gap-[var(--control-gap-lg)]"},xl:{text:"text-[length:var(--control-text-xl)]",height:"h-[var(--control-xl-height)]",padding:"px-[var(--control-padding-xl)]",paddingY:"py-[var(--control-gap-xl)]",gap:"gap-[var(--control-gap-xl)]"}};function h(e,o){let t=Go.forwardRef(({size:r=24,color:n="currentColor",className:a,mirrored:l,alt:i,...s},c)=>{let p=!!i||"aria-label"in s;return jsxRuntime.jsx("svg",{ref:c,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 256 256",fill:n,className:a,transform:l?"scale(-1, 1)":void 0,"aria-hidden":p?void 0:true,role:p?"img":void 0,"aria-label":i,...s,children:o})});return t.displayName=e,t}var Pe=()=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 128h44M200 128h44",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsxRuntime.jsx("circle",{cx:"76",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("circle",{cx:"180",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"})]}),Qe=()=>jsxRuntime.jsx("path",{d:"M166 120 88 70",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),Je=()=>jsxRuntime.jsx("path",{d:"M162 122 92 128",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),Ke=()=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M112 85.7 A32 32 0 1 1 144 85.7",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsxRuntime.jsx("circle",{cx:"128",cy:"58",r:"8",fill:"currentColor",stroke:"none"})]}),zt=h("TextureRecloser",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"R"})]})),Ot=h("TextureFuse",jsxRuntime.jsx("path",{d:"M20 128h72q18 -84 36 0q18 84 36 0h72",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})),Vt=h("TextureBreaker",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"B"})]})),Wt=h("TextureSource",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M4 128h40M212 128h40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsxRuntime.jsx("circle",{cx:"128",cy:"128",r:"84",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("path",{d:"M92 128q18 -84 36 0q18 84 36 0",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),_t=h("TextureCapacitor",jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("path",{d:"M4 128h106M146 128h106M110 72v112M146 72v112",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"})})),$t=h("TextureRegulator",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"128",cy:"128",r:"92",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"128",fontWeight:"700",fill:"currentColor",stroke:"none",children:"V"})]})),Yt=h("TextureSwitch",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Qe,{})]})),Ut=h("TextureSwitchClosed",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Je,{})]})),jt=h("TextureSectionalizerOpen",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Qe,{}),jsxRuntime.jsx(Ke,{})]})),Gt=h("TextureSectionalizerClosed",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Je,{}),jsxRuntime.jsx(Ke,{})]})),qt=h("TextureTransformer",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M40 64H88A22 22 0 0 1 88 108A22 22 0 0 1 88 152A22 22 0 0 1 88 196H40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx("path",{d:"M216 64H168A22 22 0 0 0 168 108A22 22 0 0 0 168 152A22 22 0 0 0 168 196H216",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),ie={1:[128],2:[110,146],3:[92,128,164]},Le=e=>jsxRuntime.jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"},e),Ee=e=>jsxRuntime.jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",pathLength:100,strokeDasharray:"20 20"},e),Xt=h("TextureSinglePhaseOverheadLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[1].map(Le)})),Qt=h("TextureTwoPhaseOverheadLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[2].map(Le)})),Jt=h("TextureThreePhaseOverheadLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[3].map(Le)})),Kt=h("TextureSinglePhaseUndergroundLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[1].map(Ee)})),Zt=h("TextureTwoPhaseUndergroundLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[2].map(Ee)})),eo=h("TextureThreePhaseUndergroundLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[3].map(Ee)})),to=h("TextureSupportStructure",jsxRuntime.jsx("circle",{cx:"128",cy:"128",r:"40",fill:"currentColor",stroke:"none"})),ke={TextureRecloser:zt,TextureFuse:Ot,TextureBreaker:Vt,TextureSource:Wt,TextureCapacitor:_t,TextureRegulator:$t,TextureSwitch:Yt,TextureSwitchClosed:Ut,TextureSectionalizerOpen:jt,TextureSectionalizerClosed:Gt,TextureTransformer:qt,TextureSinglePhaseOverheadLine:Xt,TextureTwoPhaseOverheadLine:Qt,TextureThreePhaseOverheadLine:Jt,TextureSinglePhaseUndergroundLine:Kt,TextureTwoPhaseUndergroundLine:Zt,TextureThreePhaseUndergroundLine:eo,TextureSupportStructure:to};if(process.env.NODE_ENV==="development")for(let e of Object.keys(ke))e in Ze__namespace&&console.error(`Custom icon "${e}" collides with a Phosphor icon of the same name. Rename it (use the "Texture" prefix) to keep the icon namespace unambiguous.`);var se={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},I=Go.memo(({name:e,size:o="md",color:t,weight:r="regular",className:n,ariaLabel:a,...l})=>{let i=ke[e]??Ze__namespace[e];if(!i)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react or the custom icon registry`),null;let s=typeof o=="string"&&o in se?se[o]:o,c=tailwindMerge.twMerge("inline-block flex-shrink-0",!t&&"text-current",n);return jsxRuntime.jsx(i,{...l,size:s,color:t,weight:r,className:c,"aria-label":a||`${e} icon`,"data-testid":`icon-${e}`})});I.displayName="Icon";var ot=Go.memo(({variant:e="subtle",shape:o="square",containerSize:t,containerClassName:r,size:n="md",className:a,name:l,color:i,weight:s,ariaLabel:c,ref:p,...u})=>{let x=typeof n=="string"&&n in se?se[n]:n,k=t?typeof t=="string"&&t in se?se[t]:t:x*1.75,b=tailwindMerge.twMerge("inline-flex items-center justify-center flex-shrink-0",o==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-background-muted",e==="solid"&&"bg-action-brand text-[color:var(--color-action-brand-text)]",e==="outline"&&"border-2 border-current",r);return jsxRuntime.jsx("div",{className:b,style:{width:k,height:k},children:jsxRuntime.jsx(I,{...u,name:l,size:n,color:i,weight:s,className:a,ariaLabel:c})})});ot.displayName="IconWithContainer";var no="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",ao="bg-action-primary text-[color:var(--color-action-primary-text)] hover:bg-action-primary-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",io={primary:ao,secondary:"bg-action-secondary text-[color:var(--color-action-secondary-text)] border-2 border-border-muted hover:bg-action-secondary-hover forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-primary hover:bg-text-primary/5 forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace]",destructive:"bg-transparent text-feedback-error-text border-2 border-border-muted hover:bg-feedback-error-background/50 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[Mark]",link:"!text-action-primary hover:text-action-primary/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-primary hover:bg-background-hover hover:text-text-primary forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},nt={full:"w-full",default:"w-fit"},so="opacity-50 cursor-not-allowed pointer-events-none",lo="opacity-100 cursor-pointer",co={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},uo={primary:"bg-action-primary text-[color:var(--color-action-primary-text)]",destructive:"bg-feedback-error-border text-text-inverse"};function po(e){return !e||e==="default"||e==="brand"?"primary":e}function fo(e){let{variant:o="primary",size:t="md",isDisabled:r,fullWidth:n=false,isLoading:a=false}=e,l=po(o),i=l==="unstyled"?"":`${no} ${io[l]}`;l!=="unstyled"&&(i+=` ${ee[t].text} ${ee[t].height} ${ee[t].padding} ${ee[t].gap}`),r||a?i+=` ${so}`:i+=` ${lo}`,n?i+=` ${nt.full}`:i+=` ${nt.default}`;let s=l==="primary"?"focus-visible:outline-action-primary":void 0;return [i,Xe(),s].filter(Boolean).join(" ")}function $(e){let{icon:o,children:t,isLoading:r=false,loadingText:n,loadingIndicator:a,size:l="md",iconPosition:i="left",iconWeight:s,href:c,className:p,badgeNumber:u,badgeVariant:x="primary",badgePosition:k="top-right",style:b,target:S,rel:M,...N}=e,m=o?jsxRuntime.jsx(I,{name:o,size:l,weight:s}):null,C=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,typeof t=="function"?null:t,i==="right"&&m]}),R=jsxRuntime.jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a||jsxRuntime.jsx(I,{name:"CircleNotch",size:l,className:"animate-spin","aria-hidden":"true"})}),jsxRuntime.jsx("div",{className:"invisible","aria-hidden":"true",children:C}),n&&jsxRuntime.jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:n})]}),v=(u??0)>0,w=tailwindMerge.twMerge(fo(e),p),j=c?{href:c,target:S,rel:M,...N}:{};if(c){let{onPress:V,onPressStart:E,onPressEnd:ce,onPressChange:G,onPressUp:re,onAuxClick:ue,onContextMenu:ne,onDoubleClick:W,...F}=N;Object.assign(j,F);}let L=c?jsxRuntime.jsx(reactAriaComponents.Link,{...j,...r&&{"aria-busy":true},style:v?void 0:b,className:w,children:r?R:typeof t=="function"?(function(V){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,t(V),i==="right"&&m]})}):C}):jsxRuntime.jsx(reactAriaComponents.Button,{...N,...r&&{"aria-busy":true},style:v?void 0:b,className:w,children:r?R:typeof t=="function"?(function(V){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,t(V),i==="right"&&m]})}):C});return v?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex",p),style:b,children:[L,jsxRuntime.jsx("span",{className:`absolute ${co[k]} flex h-5 w-5 items-center justify-center rounded-full ${uo[x]} text-xs font-medium`,"aria-label":`${u} items`,children:u})]}):L}function Ae({action:e,defaultVariant:o,defaultSize:t="lg"}){let r=!!e.formId;return jsxRuntime.jsx($,{type:r?"submit":"button",form:r?e.formId:void 0,size:e.size||t,variant:e.variant||o,onPress:r?void 0:e.onPress,isLoading:e.isLoading,isDisabled:e.isDisabled,children:e.label})}function X({primaryAction:e,secondaryAction:o,tertiaryAction:t,footerContent:r}){let n=e||o||t;return !n&&!r?null:jsxRuntime.jsxs("div",{className:`flex w-full flex-col items-center justify-center border-t p-4 ${r?"h-28":""}`,children:[r&&jsxRuntime.jsx("div",{className:"flex h-10 justify-center",children:r}),n&&jsxRuntime.jsxs("div",{className:"flex w-full items-center justify-between gap-3",children:[jsxRuntime.jsx("div",{children:t&&jsxRuntime.jsx(Ae,{action:t,defaultVariant:"destructive"})}),jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[o&&jsxRuntime.jsx(Ae,{action:o,defaultVariant:"secondary"}),e&&jsxRuntime.jsx(Ae,{action:e,defaultVariant:"primary"})]})]})]})}var mo={heading:{sm:H.headingSm,md:H.headingMd,lg:H.headingLg,xl:H.headingXl},display:{sm:H.displaySm,md:H.displayMd,lg:H.displayLg,xl:H.displayXl}},go={page:"h-16 leading-[62px]"};function te({tag:e="h1",variant:o="heading",size:t="lg",height:r,className:n="",children:a}){let l=t==="xs"?"sm":t,i=mo[o][l],s=r?go[r]:"";return jsxRuntime.jsx(e,{className:ye(i,"text-text-primary",s,n),children:a})}var T=({title:e,onClose:o,hideCloseIcon:t=false,titleAlign:r="left",hasBackArrow:n=false,onBack:a,headerContent:l})=>jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex h-16 w-full flex-shrink-0 items-center justify-between border-b px-6",e&&"border-b",r==="center"?"justify-center":""),children:[n&&jsxRuntime.jsx($,{variant:"icon",onPress:a,className:"absolute left-6","aria-label":"Go back",children:jsxRuntime.jsx(I,{name:"CaretLeft","data-testid":"back-arrow"})}),l||jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx(te,{size:"xs",children:e}),o&&!t&&jsxRuntime.jsx($,{variant:"icon",onPress:o,"aria-label":"Close dialog",children:jsxRuntime.jsx(I,{name:"X","data-testid":"close-button"})})]})]});var B=({width:e,height:o,variant:t="rect",animation:r="pulse",gradient:n=false,flex:a=false,stack:l,responsive:i,delay:s=0,adjustAnimationSpeedBasedOnWidth:c=false,ariaLabel:p,className:u,"data-testid":x})=>{let[k,b]=Go.useState(s===0);if(Go.useEffect(()=>{if(s>0){let v=setTimeout(()=>b(true),s);return ()=>clearTimeout(v)}},[s]),!k)return null;let S=n?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",M=c&&e?(()=>{let v=typeof e=="number"?e:parseFloat(String(e));return isNaN(v)?"":`animation-duration-[${Math.max(.8,v/100)}s]`})():"",N=r==="pulse"?`animate-pulse ${M}`:r==="wave"?`relative overflow-hidden before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-[var(--color-skeleton-wave)] before:to-transparent before:animate-wave ${M}`:"",m="rounded-sm";t==="circle"&&(m="rounded-full"),t==="text"&&(m="h-4 w-full rounded-sm");let C=a?"flex-1 min-w-0":"",R=i?Object.entries(i).map(([v,w])=>`${v}:w-[${w}]`).join(" "):"";return l?jsxRuntime.jsx("div",{className:"space-y-2","data-testid":x,children:l.map((v,w)=>jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(S,N,m,C,R,u),style:{width:v,height:o}},w))}):jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(S,N,m,C,R,u),style:{width:e,height:o},role:"presentation","aria-hidden":!p,"aria-label":p??void 0,"data-testid":x})};var Po={outlined:"bg-background-surface border border-border-default",elevated:"bg-background-surface border-0 shadow-md",filled:"bg-background-muted border-0",ghost:"bg-transparent border-0 shadow-none"},ko="rounded-lg",Ve={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},Co={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function Y({variant:e="outlined",className:o,children:t,isLoading:r=false,layout:n="default"}){return jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("w-full overflow-hidden",Po[e],ko,n==="flex"&&"flex flex-col",o),"data-testid":"card",children:r?jsxRuntime.jsx(B,{width:"100%",height:"100%",className:"rounded-none"}):t})}function st({title:e,subtitle:o,actions:t,className:r,isLoading:n=false}){return n?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsxRuntime.jsx(B,{width:120,height:20}),jsxRuntime.jsx(B,{width:24,height:24})]}),o&&jsxRuntime.jsx(B,{width:200,height:16})]}):!e&&!o&&!t?null:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:jsxRuntime.jsxs("div",{className:"flex justify-between items-start gap-4",children:[jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsxRuntime.jsx("div",{className:"mb-1",children:typeof e=="string"?jsxRuntime.jsx(te,{tag:"h3",size:"sm",className:"text-text-primary",children:e}):e}),o&&jsxRuntime.jsx("div",{className:qe("bodySm","text-text-secondary"),children:o})]}),t&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:t})]})})}function lt({src:e,alt:o,aspectRatio:t="auto",className:r,children:n,isLoading:a=false}){return a?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("bg-background-muted",Ve[t],r),children:jsxRuntime.jsx(B,{width:"100%",height:"100%"})}):n?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",Ve[t],r),children:n}):e?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",Ve[t],r),children:jsxRuntime.jsx("img",{src:e,alt:o||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function dt({className:e,children:o,isLoading:t=false,fill:r=false}){let a=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return t?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(a,r&&"flex-1 flex flex-col min-h-0",e),children:jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(B,{width:"100%",height:16}),jsxRuntime.jsx(B,{width:"80%",height:16}),jsxRuntime.jsx(B,{width:"60%",height:16})]})}):o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 text-text-primary",r&&"flex-1 flex flex-col min-h-0",e),children:o}):null}function ct({className:e,children:o,align:t="end",isLoading:r=false}){return r?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsxRuntime.jsx(B,{width:80,height:32}),jsxRuntime.jsx(B,{width:60,height:32})]}):o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 flex items-center gap-2",Co[t],e),children:o}):null}Y.Header=st;Y.Media=lt;Y.Content=dt;Y.Footer=ct;var z=class extends Go.Component{constructor(){super(...arguments);Me(this,"state",{hasError:false});Me(this,"handleRetry",()=>{this.setState({hasError:false,error:void 0}),typeof window<"u"&&window.location.reload();});}static getDerivedStateFromError(t){return {hasError:true,error:t}}componentDidCatch(t,r){console.error("Error Boundary caught an error:",t,r);}render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsxRuntime.jsxs(Y,{children:[this.props.title&&jsxRuntime.jsx(Y.Header,{title:this.props.title}),jsxRuntime.jsx(Y.Content,{children:jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center gap-4","data-testid":"error-boundary",children:[jsxRuntime.jsx("p",{className:"text-feedback-error-text",children:this.state.error?.message||"Something went wrong"}),jsxRuntime.jsx("button",{className:"rounded bg-action-default px-4 py-2 text-[color:var(--color-action-default-text)] hover:bg-action-default-hover",onClick:this.handleRetry,children:"Retry"})]})})]}):this.props.children}};function Q({transparent:e=false,className:o,children:t,...r}){return jsxRuntime.jsx(reactAriaComponents.ModalOverlay,{...r,className:reactAriaComponents.composeRenderProps(o,(n,a)=>tailwindMerge.twMerge("fixed inset-0 z-50","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",e?"bg-transparent":["bg-gradient-to-br from-background-modal/20 via-background-modal/15 to-background-modal/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-background-modal/15"].join(" "),a.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),a.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),n)),children:t})}var Bo=.3,Mo=.5;function Re({children:e,title:o,headerContent:t,titleAlign:r="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:l,isOpen:i,onClose:s,isDismissable:c=true,transparentOverlay:p=false,primaryAction:u,secondaryAction:x,footerContent:k,maxHeight:b="80vh",height:S,maxWidth:M="640px",contentPadding:N=true,showHandle:m=true,animationVariant:C="scale",className:R}){let[v,w]=Go.useState(false),[j,L]=Go.useState(0),[V,E]=Go.useState(false),ce=ve(i),G=ce?.height??null,re=ce?.keyboardOffset??0,ue=Go.useRef(null),ne=Go.useRef(null),W=Go.useRef(null),F=Go.useRef({isDragging:false,startY:0,startTime:0,pointerId:null});Go.useEffect(()=>{if(i){let g=setTimeout(()=>{w(true),setTimeout(()=>w(false),600);},400);return ()=>clearTimeout(g)}},[i]),Go.useEffect(()=>{i||(L(0),E(false),F.current={isDragging:false,startY:0,startTime:0,pointerId:null});},[i]),Go.useEffect(()=>{let g=ne.current;if(!g||!i)return;let _=null,ae=me=>{let Z=me.target;Z&&["INPUT","TEXTAREA","SELECT"].includes(Z.tagName)&&(_&&clearTimeout(_),_=setTimeout(()=>{Z.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return g.addEventListener("focusin",ae),()=>{g.removeEventListener("focusin",ae),_&&clearTimeout(_);}},[i]);let J=Go.useCallback(g=>{c&&(g.pointerType!=="touch"&&g.pointerType!=="pen"||(W.current&&(clearTimeout(W.current),W.current=null),F.current={isDragging:true,startY:g.clientY,startTime:Date.now(),pointerId:g.pointerId},E(false),g.currentTarget.setPointerCapture(g.pointerId)));},[c]),K=Go.useCallback(g=>{let{isDragging:_,startY:ae,pointerId:me}=F.current;if(!_||g.pointerId!==me)return;let Z=g.clientY-ae;L(Math.max(0,Z));},[]),pe=Go.useCallback(g=>{let{isDragging:_,startY:ae,startTime:me,pointerId:Z}=F.current;if(!_||g.pointerId!==Z)return;let Be=g.clientY-ae,St=Date.now()-me,Tt=Be/St;F.current={isDragging:false,startY:0,startTime:0,pointerId:null};let Dt=(ue.current?.getBoundingClientRect().height??0)*Bo;(Be>Dt||Tt>Mo&&Be>50)&&c?(s?.(),L(0)):(E(true),L(0),W.current=setTimeout(()=>{E(false),W.current=null;},200));},[c,s]);if(!i)return null;let Ie=o||t,fe=u||x||k;return jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{isOpen:i,onOpenChange:g=>{g||s?.();},isDismissable:c,transparent:p,style:{paddingBottom:re>0?`${re}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center p-0 sm:p-4",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full max-w-full p-0 sm:p-2 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",isDismissable:c,children:jsxRuntime.jsx("div",{ref:ue,className:tailwindMerge.twMerge("w-full",V&&"transition-transform duration-200"),style:{transform:j>0?`translateY(${j}px)`:void 0},children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("relative flex w-full flex-col overflow-hidden","bg-background-surface","shadow-2xl shadow-black/30 dark:shadow-black/60","border-t border-x border-border-default/40","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus:shadow-none","origin-bottom",C==="scale"?"animate-[tray-enter-scale_400ms_cubic-bezier(0.32,0.72,0,1)]":"animate-[tray-enter_400ms_cubic-bezier(0.32,0.72,0,1)]",C==="scale"?"data-[exiting]:animate-[tray-exit-scale_250ms_cubic-bezier(0.32,0,0.67,0)]":"data-[exiting]:animate-[tray-exit_250ms_cubic-bezier(0.32,0,0.67,0)]",R),style:{maxWidth:M,...S?{height:S}:{maxHeight:/\d/.test(b)?G!==null?`min(${b}, ${Math.max(G-8,0)}px, 100dvh)`:`min(${b}, 100dvh)`:b}},children:[m&&jsxRuntime.jsx("div",{className:"absolute top-0 left-0 right-0 h-8 z-10 flex justify-center items-start pt-2 touch-none cursor-grab active:cursor-grabbing",onPointerDown:J,onPointerMove:K,onPointerUp:pe,onPointerCancel:pe,children:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("h-1 w-12 rounded-full bg-border-muted transition-all duration-300","hover:bg-border-default hover:w-16",v&&"animate-[handle-wiggle_0.6s_ease-in-out]")})}),Ie&&(a?jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n||!s,hasBackArrow:true,onBack:l??(()=>{}),onClose:s||(()=>{})}):jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n||!s,onClose:s||(()=>{})})),jsxRuntime.jsx("div",{ref:ne,className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",N?"p-4":"p-0"),children:e}),fe&&jsxRuntime.jsx(X,{primaryAction:u,secondaryAction:x,footerContent:k})]})})})})})}Re.displayName="Tray";function Ue({isOpen:e,onClose:o,title:t,headerContent:r,titleAlign:n="left",hideCloseIcon:a=false,hasBackArrow:l=false,onBack:i,children:s,primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:x,transparentOverlay:k=false,maxWidth:b="600px",minWidth:S="400px",maxHeight:M="85vh",height:N,mobileMaxHeight:m="90vh",mobileHeight:C,contentPadding:R=true,className:v}){let w=Ge("(max-width: 767px)"),j=ve(w&&e===void 0),L=j?.height??null,V=j?.keyboardOffset??0,E=Go.useRef(null),ce=Go.useCallback(()=>{E.current&&E.current.scrollTop!==0&&(E.current.scrollTop=0);},[]),G=Go.useRef(null),re=Go.useRef(null);Go.useEffect(()=>{let J=re.current;if(!J||!w)return;let K=null,pe=Ie=>{let fe=Ie.target;fe&&["INPUT","TEXTAREA","SELECT"].includes(fe.tagName)&&(K&&clearTimeout(K),K=setTimeout(()=>{fe.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return J.addEventListener("focusin",pe),()=>{J.removeEventListener("focusin",pe),K&&clearTimeout(K);}},[w]);let ue=Go.useCallback(()=>{G.current&&G.current.scrollTop!==0&&(G.current.scrollTop=0);},[]);if(e===false)return null;let ne=t||r,W=c||p||u||x,F=e!==void 0;return w?F?jsxRuntime.jsx(Re,{isOpen:e,onClose:o,title:t,headerContent:r,titleAlign:n,hideCloseIcon:a,hasBackArrow:l,onBack:i,primaryAction:c,secondaryAction:p,footerContent:x,transparentOverlay:k,maxHeight:m,height:C,maxWidth:b,contentPadding:R,showHandle:true,animationVariant:"scale",className:v,children:s}):jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{isDismissable:true,transparent:k,style:{paddingBottom:V>0?`${V}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-0 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{ref:E,onScroll:ce,className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border-t border-x border-border-default/40","rounded-t-xl","overflow-hidden","animate-in slide-in-from-bottom","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:slide-out-to-bottom","data-[exiting]:duration-200 data-[exiting]:ease-in",v),style:{...C?{height:C}:{maxHeight:/\d/.test(m)?L!==null?`min(${m}, ${Math.max(L-8,0)}px, 100dvh)`:`min(${m}, 100dvh)`:m}},children:[jsxRuntime.jsx("div",{className:"flex justify-center pt-2",children:jsxRuntime.jsx("div",{className:"h-1.5 w-12 rounded-full bg-border-muted"})}),ne&&(l?jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,hasBackArrow:true,onBack:i,onClose:o||(()=>{})}):jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,onClose:o||(()=>{})})),jsxRuntime.jsx("div",{ref:re,className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",R?"px-6 py-6":"p-0"),children:s}),W&&jsxRuntime.jsx(X,{primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:x})]})})})}):jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{...F?{isOpen:e,onOpenChange:J=>{!J&&o&&o();}}:{},isDismissable:true,transparent:k,className:"flex items-center justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-4 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",style:{maxWidth:b},children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{ref:G,onScroll:ue,className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border border-border-default/50","rounded-md","overflow-hidden","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0","animate-in fade-in zoom-in-96 slide-in-from-bottom-2","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:fade-out data-[exiting]:zoom-out-95","data-[exiting]:duration-200 data-[exiting]:ease-in",v),style:{minWidth:S,...N?{height:N}:{maxHeight:M}},children:[ne&&(l?jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,hasBackArrow:true,onBack:i,onClose:o||(()=>{})}):jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,onClose:o||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto",R?"px-6 py-6":"p-0"),children:s}),W&&jsxRuntime.jsx(X,{primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:x})]})})})})}function xe(e){return jsxRuntime.jsx(reactAriaComponents.Form,{validationBehavior:"aria",...e,className:tailwindMerge.twMerge("flex flex-col gap-6",e.className)})}function ka({formId:e="dialog-form",onSubmit:o,primaryLabel:t="Save",secondaryLabel:r="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:l="secondary",children:i,title:s,...c}){return jsxRuntime.jsx(Ue,{title:s,primaryAction:{label:t,onPress:()=>{let u=document.getElementById(e);u&&u.requestSubmit();},variant:a},secondaryAction:n?{label:r,onPress:n,variant:l}:void 0,...c,children:jsxRuntime.jsx(xe,{id:e,onSubmit:o,children:i})})}function Te({children:e,title:o,headerContent:t,titleAlign:r="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:l,isOpen:i,slideInFrom:s="right",transparentOverlay:c=false,onClose:p,className:u,primaryAction:x,secondaryAction:k,tertiaryAction:b,footerContent:S,contentPadding:M=true,maxWidth:N="400px"}){if(!i)return null;let m=o||t,C=x||k||b||S;return jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{isOpen:i,onOpenChange:R=>!R&&p?.(),isDismissable:true,transparent:c,children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("fixed top-0 bottom-0 flex flex-col bg-background-surface shadow-xl overflow-hidden",s==="right"?"right-0":"left-0",s==="right"?"animate-in slide-in-from-right duration-300 ease-out":"animate-in slide-in-from-left duration-300 ease-out","data-[exiting]:animate-out",s==="right"?"data-[exiting]:slide-out-to-right":"data-[exiting]:slide-out-to-left","data-[exiting]:duration-200 data-[exiting]:ease-in","outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0",u),style:{maxWidth:N,width:"100%"},children:[m&&(a&&l?jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n,hasBackArrow:true,onBack:l,onClose:p}):jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n,onClose:p})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 overflow-y-auto overscroll-contain",M?"px-6 py-6":"p-0"),children:e}),C&&jsxRuntime.jsx(X,{primaryAction:x,secondaryAction:k,tertiaryAction:b,footerContent:S})]})})})})}Te.displayName="Drawer";function Aa({formId:e="drawer-form",onSubmit:o,primaryLabel:t="Save",secondaryLabel:r="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:l="secondary",children:i,...s}){return jsxRuntime.jsx(Te,{primaryAction:{label:t,onPress:()=>{let p=document.getElementById(e);p&&p.requestSubmit();},variant:a},secondaryAction:n?{label:r,onPress:n,variant:l}:void 0,...s,children:jsxRuntime.jsx(xe,{id:e,onSubmit:o,className:"mt-2",children:i})})}function Wa({align:e="end",className:o,...t}){return jsxRuntime.jsx("div",{...t,className:tailwindMerge.twMerge("flex gap-2",e==="start"?"justify-start":e==="between"?"justify-between":"justify-end",o)})}var Yo={sm:"gap-2",md:"gap-4",lg:"gap-6"};function Uo(e){if(!e)return "";let o=e.base?`grid-cols-${e.base}`:"",t=e.md?`md:grid-cols-${e.md}`:"",r=e.lg?`lg:grid-cols-${e.lg}`:"";return [o,t,r].filter(Boolean).join(" ")}function Ua({cols:e={base:1},gap:o="lg",className:t,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("grid",Uo(e),Yo[o],t)})}var qo=Go__namespace.default.forwardRef(({children:e,className:o},t)=>jsxRuntime.jsx("div",{ref:t,className:tailwindMerge.twMerge("relative w-full",o),children:e}));qo.displayName="InputWrapper";function yt({size:e="md",className:o,children:t,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("leading-[2.25] text-text-secondary",ee[e].text,o),children:t})}function ri({title:e,description:o,showDivider:t,className:r,children:n,...a}){return jsxRuntime.jsxs("section",{...a,className:tailwindMerge.twMerge("flex flex-col",r),children:[(e||o)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 mb-6",children:[typeof e=="string"?jsxRuntime.jsx(te,{tag:"h3",size:"sm",children:e}):e,o?jsxRuntime.jsx(yt,{size:"lg",children:o}):null]}),jsxRuntime.jsx("div",{className:"flex flex-col gap-6",children:n}),t&&jsxRuntime.jsx("hr",{className:"mt-2 border-border-muted"})]})}function ni(){return jsxRuntime.jsx("hr",{className:"border-border-muted"})}function di({steps:e,currentStepId:o,onStepClick:t,className:r}){let n=e.findIndex(a=>a.id===o);return jsxRuntime.jsx("nav",{"aria-label":"Progress",className:tailwindMerge.twMerge("w-full",r),children:jsxRuntime.jsx("div",{className:"relative mb-12",children:jsxRuntime.jsx("ol",{className:"relative flex items-start justify-between",children:e.map((a,l)=>{let i=a.id===o,s=l<n,c=t&&(s||i);return jsxRuntime.jsxs("li",{className:"relative flex flex-col items-center",style:{flex:`1 1 ${100/e.length}%`},children:[jsxRuntime.jsx("button",{type:"button",disabled:!c,onClick:()=>c&&t?.(a.id),className:tailwindMerge.twMerge("relative z-10 flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full border-2 transition-colors bg-background-body",s&&"border-action-primary bg-action-primary text-text-inverse hover:bg-action-primary/90",i&&"border-action-primary bg-background-body text-action-primary",!s&&!i&&"border-border-default bg-background-body text-text-secondary",c&&"cursor-pointer",!c&&"cursor-default"),"aria-current":i?"step":void 0,children:s?jsxRuntime.jsx(I,{name:"Check",size:20,weight:"bold"}):jsxRuntime.jsx("span",{className:"text-sm font-semibold",children:l+1})}),l<e.length-1&&jsxRuntime.jsx("div",{className:"absolute top-5 h-0.5 transition-colors",style:{left:"50%",width:"100%",marginLeft:"20px",backgroundColor:l<n?"var(--color-action-primary)":"var(--color-border-default)"}}),jsxRuntime.jsxs("div",{className:"mt-3 flex flex-col items-center text-center w-32",children:[jsxRuntime.jsx("span",{className:tailwindMerge.twMerge("text-sm font-medium",i&&"text-text-default",s&&"text-text-primary",!i&&!s&&"text-text-secondary"),children:a.title}),a.description&&jsxRuntime.jsx("span",{className:"mt-1 text-xs text-text-secondary",children:a.description})]})]},a.id)})})})})}function mi({formId:e,show:o,isSubmitting:t,onCancel:r,primaryLabel:n="Save changes",secondaryLabel:a="Cancel",className:l}){return o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("fixed inset-x-0 bottom-0 z-40 border-t border-border-muted bg-background-surface/95 backdrop-blur supports-[backdrop-filter]:bg-background-surface/70",l),children:jsxRuntime.jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsxRuntime.jsx("div",{className:"text-sm text-text-secondary",children:"You have unsaved changes"}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx($,{variant:"secondary",onPress:r,children:a}),jsxRuntime.jsx($,{type:"submit",form:e,isDisabled:!!t,children:t?"Saving...":n})]})]})}):null}function xi({when:e,message:o="You have unsaved changes. Leave anyway?"}){return Go__namespace.useEffect(()=>{if(!e)return;let t=r=>(r.preventDefault(),r.returnValue=o,o);return window.addEventListener("beforeunload",t),()=>window.removeEventListener("beforeunload",t)},[e,o]),null}function vi({steps:e,initialStepId:o,canNavigate:t}){if(e.length===0)throw new Error("useWizard: steps array cannot be empty");let[r,n]=Go__namespace.useState(o||e[0].id),a=e.findIndex(u=>u.id===r),l=a>0,i=a<e.length-1,s=async u=>u===r?true:t&&!await t(r,u)?false:(n(u),true);return {steps:e,currentStepId:r,setCurrentStepId:s,next:async()=>!i||a===-1?false:s(e[a+1].id),prev:async()=>!l||a===-1?false:s(e[a-1].id),hasNext:i,hasPrev:l,stepIndex:a}}
2
- exports.DialogForm=ka;exports.DrawerForm=Aa;exports.FormActions=Wa;exports.FormDivider=ni;exports.FormGrid=Ua;exports.FormSection=ri;exports.FormStepper=di;exports.SaveBar=mi;exports.UnsavedChangesPrompt=xi;exports.useWizard=vi;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var Go=require('react'),reactAriaComponents=require('react-aria-components'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),Ze=require('@phosphor-icons/react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Go__namespace=/*#__PURE__*/_interopNamespace(Go);var Ze__namespace=/*#__PURE__*/_interopNamespace(Ze);var Dt=Object.defineProperty;var It=(e,o,t)=>o in e?Dt(e,o,{enumerable:true,configurable:true,writable:true,value:t}):e[o]=t;var Me=(e,o,t)=>It(e,typeof o!="symbol"?o+"":o,t);function Ge(e,o=false){let[t,r]=Go.useState(o);return Go.useEffect(()=>{if(typeof window>"u")return;let n=window.matchMedia(e);r(n.matches);let a=l=>{r(l.matches);};return n.addEventListener("change",a),()=>{n.removeEventListener("change",a);}},[e]),t}function ve(e=true){let[o,t]=Go.useState(null);return Go.useEffect(()=>{if(!e){t(null);return}let r=typeof window<"u"?window.visualViewport:null;if(!r)return;let n=()=>{let a=Math.max(0,window.innerHeight-r.height-(r.offsetTop??0));t({height:r.height,keyboardOffset:a});};return n(),r.addEventListener("resize",n),r.addEventListener("scroll",n),()=>{r.removeEventListener("resize",n),r.removeEventListener("scroll",n);}},[e]),o}function ye(...e){return e.filter(Boolean).join(" ")}var H={displayXl:"text-display-xl",displayLg:"text-display-lg",displayMd:"text-display-md",displaySm:"text-display-sm",headingXl:"text-heading-xl",headingLg:"text-heading-lg",headingMd:"text-heading-md",headingSm:"text-heading-sm",bodyLg:"text-body-lg",bodyMd:"text-body-md",bodySm:"text-body-sm",labelLg:"text-label-lg",labelMd:"text-label-md",labelSm:"text-label-sm",code:"text-code",agent:"text-agent"};function qe(e,...o){return ye(H[e],...o)}function Xe(e=false){return `${e?"outline outline-1 outline-border-input data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2":"outline-none data-[focus-visible]:outline data-[focus-visible]:outline-2 data-[focus-visible]:outline-action-default data-[focus-visible]:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2"}`}var ee={sm:{text:"text-[length:var(--control-text-sm)]",height:"h-[var(--control-sm-height)]",padding:"px-[var(--control-padding-sm)]",paddingY:"py-[var(--control-gap-sm)]",gap:"gap-[var(--control-gap-sm)]"},md:{text:"text-[length:var(--control-text-md)]",height:"h-[var(--control-md-height)]",padding:"px-[var(--control-padding-md)]",paddingY:"py-[var(--control-gap-md)]",gap:"gap-[var(--control-gap-md)]"},lg:{text:"text-[length:var(--control-text-lg)]",height:"h-[var(--control-lg-height)]",padding:"px-[var(--control-padding-lg)]",paddingY:"py-[var(--control-gap-lg)]",gap:"gap-[var(--control-gap-lg)]"},xl:{text:"text-[length:var(--control-text-xl)]",height:"h-[var(--control-xl-height)]",padding:"px-[var(--control-padding-xl)]",paddingY:"py-[var(--control-gap-xl)]",gap:"gap-[var(--control-gap-xl)]"}};function h(e,o){let t=Go.forwardRef(({size:r=24,color:n="currentColor",className:a,mirrored:l,alt:i,...s},c)=>{let p=!!i||"aria-label"in s;return jsxRuntime.jsx("svg",{ref:c,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 256 256",fill:n,className:a,transform:l?"scale(-1, 1)":void 0,"aria-hidden":p?void 0:true,role:p?"img":void 0,"aria-label":i,...s,children:o})});return t.displayName=e,t}var Pe=()=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 128h44M200 128h44",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsxRuntime.jsx("circle",{cx:"76",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("circle",{cx:"180",cy:"128",r:"20",fill:"none",stroke:"currentColor",strokeWidth:"16"})]}),Qe=()=>jsxRuntime.jsx("path",{d:"M166 120 88 70",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),Je=()=>jsxRuntime.jsx("path",{d:"M162 122 92 128",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),Ke=()=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M112 85.7 A32 32 0 1 1 144 85.7",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsxRuntime.jsx("circle",{cx:"128",cy:"58",r:"8",fill:"currentColor",stroke:"none"})]}),At=h("TextureRecloser",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"R"})]})),zt=h("TextureFuse",jsxRuntime.jsx("path",{d:"M20 128h72q18 -84 36 0q18 84 36 0h72",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})),Ot=h("TextureBreaker",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("rect",{x:"36",y:"36",width:"184",height:"184",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"140",fontWeight:"700",fill:"currentColor",stroke:"none",children:"B"})]})),Vt=h("TextureSource",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M4 128h40M212 128h40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"}),jsxRuntime.jsx("circle",{cx:"128",cy:"128",r:"84",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("path",{d:"M92 128q18 -84 36 0q18 84 36 0",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),Wt=h("TextureCapacitor",jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("path",{d:"M4 128h106M146 128h106M110 72v112M146 72v112",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"})})),_t=h("TextureRegulator",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"128",cy:"128",r:"92",fill:"none",stroke:"currentColor",strokeWidth:"16"}),jsxRuntime.jsx("text",{x:"128",y:"126",textAnchor:"middle",dominantBaseline:"central",fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",fontSize:"128",fontWeight:"700",fill:"currentColor",stroke:"none",children:"V"})]})),$t=h("TextureSwitch",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Qe,{})]})),Yt=h("TextureSwitchClosed",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Je,{})]})),Ut=h("TextureSectionalizerOpen",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Qe,{}),jsxRuntime.jsx(Ke,{})]})),jt=h("TextureSectionalizerClosed",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pe,{}),jsxRuntime.jsx(Je,{}),jsxRuntime.jsx(Ke,{})]})),Gt=h("TextureTransformer",jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M40 64H88A22 22 0 0 1 88 108A22 22 0 0 1 88 152A22 22 0 0 1 88 196H40",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx("path",{d:"M216 64H168A22 22 0 0 0 168 108A22 22 0 0 0 168 152A22 22 0 0 0 168 196H216",fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",strokeLinejoin:"round"})]})),ie={1:[128],2:[110,146],3:[92,128,164]},Le=e=>jsxRuntime.jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round"},e),Ee=e=>jsxRuntime.jsx("path",{d:`M24 ${e}h208`,fill:"none",stroke:"currentColor",strokeWidth:"16",strokeLinecap:"round",pathLength:100,strokeDasharray:"20 20"},e),qt=h("TextureSinglePhaseOverheadLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[1].map(Le)})),Xt=h("TextureTwoPhaseOverheadLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[2].map(Le)})),Qt=h("TextureThreePhaseOverheadLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[3].map(Le)})),Jt=h("TextureSinglePhaseUndergroundLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[1].map(Ee)})),Kt=h("TextureTwoPhaseUndergroundLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[2].map(Ee)})),Zt=h("TextureThreePhaseUndergroundLine",jsxRuntime.jsx(jsxRuntime.Fragment,{children:ie[3].map(Ee)})),eo=h("TextureSupportStructure",jsxRuntime.jsx("circle",{cx:"128",cy:"128",r:"40",fill:"currentColor",stroke:"none"})),ke={TextureRecloser:At,TextureFuse:zt,TextureBreaker:Ot,TextureSource:Vt,TextureCapacitor:Wt,TextureRegulator:_t,TextureSwitch:$t,TextureSwitchClosed:Yt,TextureSectionalizerOpen:Ut,TextureSectionalizerClosed:jt,TextureTransformer:Gt,TextureSinglePhaseOverheadLine:qt,TextureTwoPhaseOverheadLine:Xt,TextureThreePhaseOverheadLine:Qt,TextureSinglePhaseUndergroundLine:Jt,TextureTwoPhaseUndergroundLine:Kt,TextureThreePhaseUndergroundLine:Zt,TextureSupportStructure:eo};if(process.env.NODE_ENV==="development")for(let e of Object.keys(ke))e in Ze__namespace&&console.error(`Custom icon "${e}" collides with a Phosphor icon of the same name. Rename it (use the "Texture" prefix) to keep the icon namespace unambiguous.`);var se={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},I=Go.memo(({name:e,size:o="md",color:t,weight:r="regular",className:n,ariaLabel:a,...l})=>{let i=ke[e]??Ze__namespace[e];if(!i)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react or the custom icon registry`),null;let s=typeof o=="string"&&o in se?se[o]:o,c=tailwindMerge.twMerge("inline-block flex-shrink-0",!t&&"text-current",n);return jsxRuntime.jsx(i,{...l,size:s,color:t,weight:r,className:c,"aria-label":a||`${e} icon`,"data-testid":`icon-${e}`})});I.displayName="Icon";var to=Go.memo(({variant:e="subtle",shape:o="square",containerSize:t,containerClassName:r,size:n="md",className:a,name:l,color:i,weight:s,ariaLabel:c,ref:p,...u})=>{let b=typeof n=="string"&&n in se?se[n]:n,k=t?typeof t=="string"&&t in se?se[t]:t:b*1.75,x=tailwindMerge.twMerge("inline-flex items-center justify-center flex-shrink-0",o==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-background-muted",e==="solid"&&"bg-action-brand text-[color:var(--color-action-brand-text)]",e==="outline"&&"border-2 border-current",r);return jsxRuntime.jsx("div",{className:x,style:{width:k,height:k},children:jsxRuntime.jsx(I,{...u,name:l,size:n,color:i,weight:s,className:a,ariaLabel:c})})});to.displayName="IconWithContainer";var no="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",ao="bg-action-primary text-[color:var(--color-action-primary-text)] hover:bg-action-primary-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",io={primary:ao,secondary:"bg-action-secondary text-[color:var(--color-action-secondary-text)] border-2 border-border-muted hover:bg-action-secondary-hover forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-primary hover:bg-text-primary/5 forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace]",destructive:"bg-transparent text-feedback-error-text border-2 border-border-muted hover:bg-feedback-error-background/50 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[Mark]",link:"!text-action-primary hover:text-action-primary/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-primary hover:bg-background-hover hover:text-text-primary forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},rt={full:"w-full",default:"w-fit"},so="opacity-50 cursor-not-allowed pointer-events-none",lo="opacity-100 cursor-pointer",co={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},uo={primary:"bg-action-primary text-[color:var(--color-action-primary-text)]",destructive:"bg-feedback-error-border text-text-inverse"};function po(e){return !e||e==="default"||e==="brand"?"primary":e}function fo(e){let{variant:o="primary",size:t="md",isDisabled:r,fullWidth:n=false,isLoading:a=false}=e,l=po(o),i=l==="unstyled"?"":`${no} ${io[l]}`;l!=="unstyled"&&(i+=` ${ee[t].text} ${ee[t].height} ${ee[t].padding} ${ee[t].gap}`),r||a?i+=` ${so}`:i+=` ${lo}`,n?i+=` ${rt.full}`:i+=` ${rt.default}`;let s=l==="primary"?"focus-visible:outline-action-primary":void 0;return [i,Xe(),s].filter(Boolean).join(" ")}function $(e){let{icon:o,children:t,isLoading:r=false,loadingText:n,loadingIndicator:a,size:l="md",iconPosition:i="left",iconWeight:s,href:c,className:p,badgeNumber:u,badgeVariant:b="primary",badgePosition:k="top-right",style:x,target:S,rel:M,...N}=e,m=o?jsxRuntime.jsx(I,{name:o,size:l,weight:s}):null,C=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,typeof t=="function"?null:t,i==="right"&&m]}),R=jsxRuntime.jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a||jsxRuntime.jsx(I,{name:"CircleNotch",size:l,className:"animate-spin","aria-hidden":"true"})}),jsxRuntime.jsx("div",{className:"invisible","aria-hidden":"true",children:C}),n&&jsxRuntime.jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:n})]}),v=(u??0)>0,w=tailwindMerge.twMerge(fo(e),p),j=c?{href:c,target:S,rel:M,...N}:{};if(c){let{onPress:V,onPressStart:E,onPressEnd:ce,onPressChange:G,onPressUp:re,onAuxClick:ue,onContextMenu:ne,onDoubleClick:W,...F}=N;Object.assign(j,F);}let L=c?jsxRuntime.jsx(reactAriaComponents.Link,{...j,...r&&{"aria-busy":true},style:v?void 0:x,className:w,children:r?R:typeof t=="function"?(function(V){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,t(V),i==="right"&&m]})}):C}):jsxRuntime.jsx(reactAriaComponents.Button,{...N,...r&&{"aria-busy":true},style:v?void 0:x,className:w,children:r?R:typeof t=="function"?(function(V){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[i==="left"&&m,t(V),i==="right"&&m]})}):C});return v?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex",p),style:x,children:[L,jsxRuntime.jsx("span",{className:`absolute ${co[k]} flex h-5 w-5 items-center justify-center rounded-full ${uo[b]} text-xs font-medium`,"aria-label":`${u} items`,children:u})]}):L}function Ae({action:e,defaultVariant:o,defaultSize:t="lg"}){let r=!!e.formId;return jsxRuntime.jsx($,{type:r?"submit":"button",form:r?e.formId:void 0,size:e.size||t,variant:e.variant||o,onPress:r?void 0:e.onPress,isLoading:e.isLoading,isDisabled:e.isDisabled,children:e.label})}function X({primaryAction:e,secondaryAction:o,tertiaryAction:t,footerContent:r}){let n=e||o||t;return !n&&!r?null:jsxRuntime.jsxs("div",{className:`flex w-full flex-col items-center justify-center border-t p-4 ${r?"h-28":""}`,children:[r&&jsxRuntime.jsx("div",{className:"flex h-10 justify-center",children:r}),n&&jsxRuntime.jsxs("div",{className:"flex w-full items-center justify-between gap-3",children:[jsxRuntime.jsx("div",{children:t&&jsxRuntime.jsx(Ae,{action:t,defaultVariant:"destructive"})}),jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[o&&jsxRuntime.jsx(Ae,{action:o,defaultVariant:"secondary"}),e&&jsxRuntime.jsx(Ae,{action:e,defaultVariant:"primary"})]})]})]})}var mo={heading:{sm:H.headingSm,md:H.headingMd,lg:H.headingLg,xl:H.headingXl},display:{sm:H.displaySm,md:H.displayMd,lg:H.displayLg,xl:H.displayXl}},go={page:"h-16 leading-[62px]"};function te({tag:e="h1",variant:o="heading",size:t="lg",height:r,className:n="",children:a}){let l=t==="xs"?"sm":t,i=mo[o][l],s=r?go[r]:"";return jsxRuntime.jsx(e,{className:ye(i,"text-text-primary",s,n),children:a})}var T=({title:e,onClose:o,hideCloseIcon:t=false,titleAlign:r="left",hasBackArrow:n=false,onBack:a,headerContent:l})=>jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("relative flex h-16 w-full flex-shrink-0 items-center justify-between border-b px-6",e&&"border-b",r==="center"?"justify-center":""),children:[n&&jsxRuntime.jsx($,{variant:"icon",onPress:a,className:"absolute left-6","aria-label":"Go back",children:jsxRuntime.jsx(I,{name:"CaretLeft","data-testid":"back-arrow"})}),l||jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx(te,{size:"xs",children:e}),o&&!t&&jsxRuntime.jsx($,{variant:"icon",onPress:o,"aria-label":"Close dialog",children:jsxRuntime.jsx(I,{name:"X","data-testid":"close-button"})})]})]});var B=({width:e,height:o,variant:t="rect",animation:r="pulse",gradient:n=false,flex:a=false,stack:l,responsive:i,delay:s=0,adjustAnimationSpeedBasedOnWidth:c=false,ariaLabel:p,className:u,"data-testid":b})=>{let[k,x]=Go.useState(s===0);if(Go.useEffect(()=>{if(s>0){let v=setTimeout(()=>x(true),s);return ()=>clearTimeout(v)}},[s]),!k)return null;let S=n?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",M=c&&e?(()=>{let v=typeof e=="number"?e:parseFloat(String(e));return isNaN(v)?"":`animation-duration-[${Math.max(.8,v/100)}s]`})():"",N=r==="pulse"?`animate-pulse ${M}`:r==="wave"?`relative overflow-hidden before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-[var(--color-skeleton-wave)] before:to-transparent before:animate-wave ${M}`:"",m="rounded-sm";t==="circle"&&(m="rounded-full"),t==="text"&&(m="h-4 w-full rounded-sm");let C=a?"flex-1 min-w-0":"",R=i?Object.entries(i).map(([v,w])=>`${v}:w-[${w}]`).join(" "):"";return l?jsxRuntime.jsx("div",{className:"space-y-2","data-testid":b,children:l.map((v,w)=>jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(S,N,m,C,R,u),style:{width:v,height:o}},w))}):jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(S,N,m,C,R,u),style:{width:e,height:o},role:"presentation","aria-hidden":!p,"aria-label":p??void 0,"data-testid":b})};var Po={outlined:"bg-background-surface border border-border-default",elevated:"bg-background-surface border-0 shadow-md",filled:"bg-background-muted border-0",ghost:"bg-transparent border-0 shadow-none"},ko="rounded-lg",Ve={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},Co={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function Y({variant:e="outlined",className:o,children:t,isLoading:r=false,layout:n="default"}){return jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("w-full overflow-hidden",Po[e],ko,n==="flex"&&"flex flex-col",o),"data-testid":"card",children:r?jsxRuntime.jsx(B,{width:"100%",height:"100%",className:"rounded-none"}):t})}function it({title:e,subtitle:o,actions:t,className:r,isLoading:n=false}){return n?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsxRuntime.jsx(B,{width:120,height:20}),jsxRuntime.jsx(B,{width:24,height:24})]}),o&&jsxRuntime.jsx(B,{width:200,height:16})]}):!e&&!o&&!t?null:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("p-6 pb-4",r),children:jsxRuntime.jsxs("div",{className:"flex justify-between items-start gap-4",children:[jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsxRuntime.jsx("div",{className:"mb-1",children:typeof e=="string"?jsxRuntime.jsx(te,{tag:"h3",size:"sm",className:"text-text-primary",children:e}):e}),o&&jsxRuntime.jsx("div",{className:qe("bodySm","text-text-secondary"),children:o})]}),t&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:t})]})})}function st({src:e,alt:o,aspectRatio:t="auto",className:r,children:n,isLoading:a=false}){return a?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("bg-background-muted",Ve[t],r),children:jsxRuntime.jsx(B,{width:"100%",height:"100%"})}):n?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",Ve[t],r),children:n}):e?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("overflow-hidden",Ve[t],r),children:jsxRuntime.jsx("img",{src:e,alt:o||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function lt({className:e,children:o,isLoading:t=false,fill:r=false}){let a=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return t?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge(a,r&&"flex-1 flex flex-col min-h-0",e),children:jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(B,{width:"100%",height:16}),jsxRuntime.jsx(B,{width:"80%",height:16}),jsxRuntime.jsx(B,{width:"60%",height:16})]})}):o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 text-text-primary",r&&"flex-1 flex flex-col min-h-0",e),children:o}):null}function dt({className:e,children:o,align:t="end",isLoading:r=false}){return r?jsxRuntime.jsxs("div",{className:tailwindMerge.twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsxRuntime.jsx(B,{width:80,height:32}),jsxRuntime.jsx(B,{width:60,height:32})]}):o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("px-6 py-4 flex items-center gap-2",Co[t],e),children:o}):null}Y.Header=it;Y.Media=st;Y.Content=lt;Y.Footer=dt;var z=class extends Go.Component{constructor(){super(...arguments);Me(this,"state",{hasError:false});Me(this,"handleRetry",()=>{this.setState({hasError:false,error:void 0}),typeof window<"u"&&window.location.reload();});}static getDerivedStateFromError(t){return {hasError:true,error:t}}componentDidCatch(t,r){console.error("Error Boundary caught an error:",t,r);}render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsxRuntime.jsxs(Y,{children:[this.props.title&&jsxRuntime.jsx(Y.Header,{title:this.props.title}),jsxRuntime.jsx(Y.Content,{children:jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center gap-4","data-testid":"error-boundary",children:[jsxRuntime.jsx("p",{className:"text-feedback-error-text",children:this.state.error?.message||"Something went wrong"}),jsxRuntime.jsx("button",{className:"rounded bg-action-default px-4 py-2 text-[color:var(--color-action-default-text)] hover:bg-action-default-hover",onClick:this.handleRetry,children:"Retry"})]})})]}):this.props.children}};function Q({transparent:e=false,className:o,children:t,...r}){return jsxRuntime.jsx(reactAriaComponents.ModalOverlay,{...r,className:reactAriaComponents.composeRenderProps(o,(n,a)=>tailwindMerge.twMerge("fixed inset-0 z-50","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",e?"bg-transparent":["bg-gradient-to-br from-background-modal/20 via-background-modal/15 to-background-modal/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-background-modal/15"].join(" "),a.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),a.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),n)),children:t})}var Bo=.3,Mo=.5;function Re({children:e,title:o,headerContent:t,titleAlign:r="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:l,isOpen:i,onClose:s,isDismissable:c=true,transparentOverlay:p=false,primaryAction:u,secondaryAction:b,footerContent:k,maxHeight:x="80vh",height:S,maxWidth:M="640px",contentPadding:N=true,showHandle:m=true,animationVariant:C="scale",className:R}){let[v,w]=Go.useState(false),[j,L]=Go.useState(0),[V,E]=Go.useState(false),ce=ve(i),G=ce?.height??null,re=ce?.keyboardOffset??0,ue=Go.useRef(null),ne=Go.useRef(null),W=Go.useRef(null),F=Go.useRef({isDragging:false,startY:0,startTime:0,pointerId:null});Go.useEffect(()=>{if(i){let g=setTimeout(()=>{w(true),setTimeout(()=>w(false),600);},400);return ()=>clearTimeout(g)}},[i]),Go.useEffect(()=>{i||(L(0),E(false),F.current={isDragging:false,startY:0,startTime:0,pointerId:null});},[i]),Go.useEffect(()=>{let g=ne.current;if(!g||!i)return;let _=null,ae=me=>{let Z=me.target;Z&&["INPUT","TEXTAREA","SELECT"].includes(Z.tagName)&&(_&&clearTimeout(_),_=setTimeout(()=>{Z.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return g.addEventListener("focusin",ae),()=>{g.removeEventListener("focusin",ae),_&&clearTimeout(_);}},[i]);let J=Go.useCallback(g=>{c&&(g.pointerType!=="touch"&&g.pointerType!=="pen"||(W.current&&(clearTimeout(W.current),W.current=null),F.current={isDragging:true,startY:g.clientY,startTime:Date.now(),pointerId:g.pointerId},E(false),g.currentTarget.setPointerCapture(g.pointerId)));},[c]),K=Go.useCallback(g=>{let{isDragging:_,startY:ae,pointerId:me}=F.current;if(!_||g.pointerId!==me)return;let Z=g.clientY-ae;L(Math.max(0,Z));},[]),pe=Go.useCallback(g=>{let{isDragging:_,startY:ae,startTime:me,pointerId:Z}=F.current;if(!_||g.pointerId!==Z)return;let Be=g.clientY-ae,Rt=Date.now()-me,St=Be/Rt;F.current={isDragging:false,startY:0,startTime:0,pointerId:null};let Tt=(ue.current?.getBoundingClientRect().height??0)*Bo;(Be>Tt||St>Mo&&Be>50)&&c?(s?.(),L(0)):(E(true),L(0),W.current=setTimeout(()=>{E(false),W.current=null;},200));},[c,s]);if(!i)return null;let Ie=o||t,fe=u||b||k;return jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{isOpen:i,onOpenChange:g=>{g||s?.();},isDismissable:c,transparent:p,style:{paddingBottom:re>0?`${re}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center p-0 sm:p-4",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full max-w-full p-0 sm:p-2 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",isDismissable:c,children:jsxRuntime.jsx("div",{ref:ue,className:tailwindMerge.twMerge("w-full",V&&"transition-transform duration-200"),style:{transform:j>0?`translateY(${j}px)`:void 0},children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("relative flex w-full flex-col overflow-hidden","bg-background-surface","shadow-2xl shadow-black/30 dark:shadow-black/60","border-t border-x border-border-default/40","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus:shadow-none","origin-bottom",C==="scale"?"animate-[tray-enter-scale_400ms_cubic-bezier(0.32,0.72,0,1)]":"animate-[tray-enter_400ms_cubic-bezier(0.32,0.72,0,1)]",C==="scale"?"data-[exiting]:animate-[tray-exit-scale_250ms_cubic-bezier(0.32,0,0.67,0)]":"data-[exiting]:animate-[tray-exit_250ms_cubic-bezier(0.32,0,0.67,0)]",R),style:{maxWidth:M,...S?{height:S}:{maxHeight:/\d/.test(x)?G!==null?`min(${x}, ${Math.max(G-8,0)}px, 100dvh)`:`min(${x}, 100dvh)`:x}},children:[m&&jsxRuntime.jsx("div",{className:"absolute top-0 left-0 right-0 h-8 z-10 flex justify-center items-start pt-2 touch-none cursor-grab active:cursor-grabbing",onPointerDown:J,onPointerMove:K,onPointerUp:pe,onPointerCancel:pe,children:jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("h-1 w-12 rounded-full bg-border-muted transition-all duration-300","hover:bg-border-default hover:w-16",v&&"animate-[handle-wiggle_0.6s_ease-in-out]")})}),Ie&&(a?jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n||!s,hasBackArrow:true,onBack:l??(()=>{}),onClose:s||(()=>{})}):jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n||!s,onClose:s||(()=>{})})),jsxRuntime.jsx("div",{ref:ne,className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",N?"p-4":"p-0"),children:e}),fe&&jsxRuntime.jsx(X,{primaryAction:u,secondaryAction:b,footerContent:k})]})})})})})}Re.displayName="Tray";function Ue({isOpen:e,onClose:o,title:t,headerContent:r,titleAlign:n="left",hideCloseIcon:a=false,hasBackArrow:l=false,onBack:i,children:s,primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:b,transparentOverlay:k=false,maxWidth:x="600px",minWidth:S="400px",maxHeight:M="85vh",height:N,mobileMaxHeight:m="90vh",mobileHeight:C,contentPadding:R=true,className:v}){let w=Ge("(max-width: 767px)"),j=ve(w&&e===void 0),L=j?.height??null,V=j?.keyboardOffset??0,E=Go.useRef(null),ce=Go.useCallback(()=>{E.current&&E.current.scrollTop!==0&&(E.current.scrollTop=0);},[]),G=Go.useRef(null),re=Go.useRef(null);Go.useEffect(()=>{let J=re.current;if(!J||!w)return;let K=null,pe=Ie=>{let fe=Ie.target;fe&&["INPUT","TEXTAREA","SELECT"].includes(fe.tagName)&&(K&&clearTimeout(K),K=setTimeout(()=>{fe.scrollIntoView({block:"nearest",behavior:"smooth"});},320));};return J.addEventListener("focusin",pe),()=>{J.removeEventListener("focusin",pe),K&&clearTimeout(K);}},[w]);let ue=Go.useCallback(()=>{G.current&&G.current.scrollTop!==0&&(G.current.scrollTop=0);},[]);if(e===false)return null;let ne=t||r,W=c||p||u||b,F=e!==void 0;return w?F?jsxRuntime.jsx(Re,{isOpen:e,onClose:o,title:t,headerContent:r,titleAlign:n,hideCloseIcon:a,hasBackArrow:l,onBack:i,primaryAction:c,secondaryAction:p,footerContent:b,transparentOverlay:k,maxHeight:m,height:C,maxWidth:x,contentPadding:R,showHandle:true,animationVariant:"scale",className:v,children:s}):jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{isDismissable:true,transparent:k,style:{paddingBottom:V>0?`${V}px`:void 0,transition:"padding-bottom 0.25s ease-out"},className:"flex items-end justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-0 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{ref:E,onScroll:ce,className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border-t border-x border-border-default/40","rounded-t-xl","overflow-hidden","animate-in slide-in-from-bottom","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:slide-out-to-bottom","data-[exiting]:duration-200 data-[exiting]:ease-in",v),style:{...C?{height:C}:{maxHeight:/\d/.test(m)?L!==null?`min(${m}, ${Math.max(L-8,0)}px, 100dvh)`:`min(${m}, 100dvh)`:m}},children:[jsxRuntime.jsx("div",{className:"flex justify-center pt-2",children:jsxRuntime.jsx("div",{className:"h-1.5 w-12 rounded-full bg-border-muted"})}),ne&&(l?jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,hasBackArrow:true,onBack:i,onClose:o||(()=>{})}):jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,onClose:o||(()=>{})})),jsxRuntime.jsx("div",{ref:re,className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto overscroll-contain",R?"px-6 py-6":"p-0"),children:s}),W&&jsxRuntime.jsx(X,{primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:b})]})})})}):jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{...F?{isOpen:e,onOpenChange:J=>{!J&&o&&o();}}:{},isDismissable:true,transparent:k,className:"flex items-center justify-center",children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"w-full p-4 outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",style:{maxWidth:x},children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{ref:G,onScroll:ue,className:tailwindMerge.twMerge("relative flex w-full flex-col","bg-background-surface","shadow-2xl shadow-black/20","border border-border-default/50","rounded-md","overflow-hidden","outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0","animate-in fade-in zoom-in-96 slide-in-from-bottom-2","duration-300 ease-out","data-[exiting]:animate-out data-[exiting]:fade-out data-[exiting]:zoom-out-95","data-[exiting]:duration-200 data-[exiting]:ease-in",v),style:{minWidth:S,...N?{height:N}:{maxHeight:M}},children:[ne&&(l?jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,hasBackArrow:true,onBack:i,onClose:o||(()=>{})}):jsxRuntime.jsx(T,{title:t,headerContent:r,titleAlign:n,hideCloseIcon:a||!o,onClose:o||(()=>{})})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 min-h-0 overflow-y-auto",R?"px-6 py-6":"p-0"),children:s}),W&&jsxRuntime.jsx(X,{primaryAction:c,secondaryAction:p,tertiaryAction:u,footerContent:b})]})})})})}function be(e){return jsxRuntime.jsx(reactAriaComponents.Form,{validationBehavior:"aria",...e,className:tailwindMerge.twMerge("flex flex-col gap-6",e.className)})}function ka({formId:e="dialog-form",onSubmit:o,primaryLabel:t="Save",secondaryLabel:r="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:l="secondary",children:i,title:s,...c}){return jsxRuntime.jsx(Ue,{title:s,primaryAction:{label:t,onPress:()=>{let u=document.getElementById(e);u&&u.requestSubmit();},variant:a},secondaryAction:n?{label:r,onPress:n,variant:l}:void 0,...c,children:jsxRuntime.jsx(be,{id:e,onSubmit:o,children:i})})}function Te({children:e,title:o,headerContent:t,titleAlign:r="left",hideCloseIcon:n=false,hasBackArrow:a=false,onBack:l,isOpen:i,slideInFrom:s="right",transparentOverlay:c=false,onClose:p,className:u,primaryAction:b,secondaryAction:k,tertiaryAction:x,footerContent:S,contentPadding:M=true,maxWidth:N="400px"}){if(!i)return null;let m=o||t,C=b||k||x||S;return jsxRuntime.jsx(z,{children:jsxRuntime.jsx(Q,{isOpen:i,onOpenChange:R=>!R&&p?.(),isDismissable:true,transparent:c,children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:"outline-none focus:outline-none focus-visible:outline-none ring-0 focus:ring-0 focus-visible:ring-0",children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:tailwindMerge.twMerge("fixed top-0 bottom-0 flex flex-col bg-background-surface shadow-xl overflow-hidden",s==="right"?"right-0":"left-0",s==="right"?"animate-in slide-in-from-right duration-300 ease-out":"animate-in slide-in-from-left duration-300 ease-out","data-[exiting]:animate-out",s==="right"?"data-[exiting]:slide-out-to-right":"data-[exiting]:slide-out-to-left","data-[exiting]:duration-200 data-[exiting]:ease-in","outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0",u),style:{maxWidth:N,width:"100%"},children:[m&&(a&&l?jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n,hasBackArrow:true,onBack:l,onClose:p}):jsxRuntime.jsx(T,{title:o,headerContent:t,titleAlign:r,hideCloseIcon:n,onClose:p})),jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("flex-1 overflow-y-auto overscroll-contain",M?"px-6 py-6":"p-0"),children:e}),C&&jsxRuntime.jsx(X,{primaryAction:b,secondaryAction:k,tertiaryAction:x,footerContent:S})]})})})})}Te.displayName="Drawer";function Aa({formId:e="drawer-form",onSubmit:o,primaryLabel:t="Save",secondaryLabel:r="Cancel",onCancel:n,primaryVariant:a,secondaryVariant:l="secondary",children:i,...s}){return jsxRuntime.jsx(Te,{primaryAction:{label:t,onPress:()=>{let p=document.getElementById(e);p&&p.requestSubmit();},variant:a},secondaryAction:n?{label:r,onPress:n,variant:l}:void 0,...s,children:jsxRuntime.jsx(be,{id:e,onSubmit:o,className:"mt-2",children:i})})}function Wa({align:e="end",className:o,...t}){return jsxRuntime.jsx("div",{...t,className:tailwindMerge.twMerge("flex gap-2",e==="start"?"justify-start":e==="between"?"justify-between":"justify-end",o)})}var Yo={sm:"gap-2",md:"gap-4",lg:"gap-6"};function Uo(e){if(!e)return "";let o=e.base?`grid-cols-${e.base}`:"",t=e.md?`md:grid-cols-${e.md}`:"",r=e.lg?`lg:grid-cols-${e.lg}`:"";return [o,t,r].filter(Boolean).join(" ")}function Ua({cols:e={base:1},gap:o="lg",className:t,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("grid",Uo(e),Yo[o],t)})}var qo=Go__namespace.default.forwardRef(({children:e,className:o},t)=>jsxRuntime.jsx("div",{ref:t,className:tailwindMerge.twMerge("relative w-full",o),children:e}));qo.displayName="InputWrapper";function vt({size:e="md",className:o,children:t,...r}){return jsxRuntime.jsx("div",{...r,className:tailwindMerge.twMerge("leading-[2.25] text-text-secondary",ee[e].text,o),children:t})}function ri({title:e,description:o,showDivider:t,className:r,children:n,...a}){return jsxRuntime.jsxs("section",{...a,className:tailwindMerge.twMerge("flex flex-col",r),children:[(e||o)&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 mb-6",children:[typeof e=="string"?jsxRuntime.jsx(te,{tag:"h3",size:"sm",children:e}):e,o?jsxRuntime.jsx(vt,{size:"lg",children:o}):null]}),jsxRuntime.jsx("div",{className:"flex flex-col gap-6",children:n}),t&&jsxRuntime.jsx("hr",{className:"mt-2 border-border-muted"})]})}function ni(){return jsxRuntime.jsx("hr",{className:"border-border-muted"})}function di({steps:e,currentStepId:o,onStepClick:t,className:r}){let n=e.findIndex(a=>a.id===o);return jsxRuntime.jsx("nav",{"aria-label":"Progress",className:tailwindMerge.twMerge("w-full",r),children:jsxRuntime.jsx("div",{className:"relative mb-12",children:jsxRuntime.jsx("ol",{className:"relative flex items-start justify-between",children:e.map((a,l)=>{let i=a.id===o,s=l<n,c=t&&(s||i);return jsxRuntime.jsxs("li",{className:"relative flex flex-col items-center",style:{flex:`1 1 ${100/e.length}%`},children:[jsxRuntime.jsx("button",{type:"button",disabled:!c,onClick:()=>c&&t?.(a.id),className:tailwindMerge.twMerge("relative z-10 flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full border-2 transition-colors bg-background-body",s&&"border-action-primary bg-action-primary text-text-inverse hover:bg-action-primary/90",i&&"border-action-primary bg-background-body text-action-primary",!s&&!i&&"border-border-default bg-background-body text-text-secondary",c&&"cursor-pointer",!c&&"cursor-default"),"aria-current":i?"step":void 0,children:s?jsxRuntime.jsx(I,{name:"Check",size:20,weight:"bold"}):jsxRuntime.jsx("span",{className:"text-sm font-semibold",children:l+1})}),l<e.length-1&&jsxRuntime.jsx("div",{className:"absolute top-5 h-0.5 transition-colors",style:{left:"50%",width:"100%",marginLeft:"20px",backgroundColor:l<n?"var(--color-action-primary)":"var(--color-border-default)"}}),jsxRuntime.jsxs("div",{className:"mt-3 flex flex-col items-center text-center w-32",children:[jsxRuntime.jsx("span",{className:tailwindMerge.twMerge("text-sm font-medium",i&&"text-text-default",s&&"text-text-primary",!i&&!s&&"text-text-secondary"),children:a.title}),a.description&&jsxRuntime.jsx("span",{className:"mt-1 text-xs text-text-secondary",children:a.description})]})]},a.id)})})})})}function mi({formId:e,show:o,isSubmitting:t,onCancel:r,primaryLabel:n="Save changes",secondaryLabel:a="Cancel",className:l}){return o?jsxRuntime.jsx("div",{className:tailwindMerge.twMerge("fixed inset-x-0 bottom-0 z-40 border-t border-border-muted bg-background-surface/95 backdrop-blur supports-[backdrop-filter]:bg-background-surface/70",l),children:jsxRuntime.jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsxRuntime.jsx("div",{className:"text-sm text-text-secondary",children:"You have unsaved changes"}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx($,{variant:"secondary",onPress:r,children:a}),jsxRuntime.jsx($,{type:"submit",form:e,isDisabled:!!t,children:t?"Saving...":n})]})]})}):null}function bi({when:e,message:o="You have unsaved changes. Leave anyway?"}){return Go__namespace.useEffect(()=>{if(!e)return;let t=r=>(r.preventDefault(),r.returnValue=o,o);return window.addEventListener("beforeunload",t),()=>window.removeEventListener("beforeunload",t)},[e,o]),null}function vi({steps:e,initialStepId:o,canNavigate:t}){if(e.length===0)throw new Error("useWizard: steps array cannot be empty");let[r,n]=Go__namespace.useState(o||e[0].id),a=e.findIndex(u=>u.id===r),l=a>0,i=a<e.length-1,s=async u=>u===r?true:t&&!await t(r,u)?false:(n(u),true);return {steps:e,currentStepId:r,setCurrentStepId:s,next:async()=>!i||a===-1?false:s(e[a+1].id),prev:async()=>!l||a===-1?false:s(e[a-1].id),hasNext:i,hasPrev:l,stepIndex:a}}
2
+ exports.DialogForm=ka;exports.DrawerForm=Aa;exports.FormActions=Wa;exports.FormDivider=ni;exports.FormGrid=Ua;exports.FormSection=ri;exports.FormStepper=di;exports.SaveBar=mi;exports.UnsavedChangesPrompt=bi;exports.useWizard=vi;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map