laif-ds 0.2.76 → 0.2.78

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.
@@ -27,7 +27,7 @@ const s = n.createContext({
27
27
  gap: ""
28
28
  }
29
29
  };
30
- function x({ className: r, size: t = "default", ...e }) {
30
+ function f({ className: r, size: t = "default", ...e }) {
31
31
  return /* @__PURE__ */ a(s.Provider, { value: { size: t }, children: /* @__PURE__ */ a(
32
32
  "div",
33
33
  {
@@ -47,7 +47,7 @@ function x({ className: r, size: t = "default", ...e }) {
47
47
  }
48
48
  ) });
49
49
  }
50
- function f({ className: r, ...t }) {
50
+ function x({ className: r, ...t }) {
51
51
  const { size: e } = n.useContext(s);
52
52
  return /* @__PURE__ */ a(
53
53
  "div",
@@ -81,6 +81,19 @@ function g({ className: r, ...t }) {
81
81
  }
82
82
  );
83
83
  }
84
+ function C({ className: r, ...t }) {
85
+ return /* @__PURE__ */ a(
86
+ "div",
87
+ {
88
+ "data-slot": "card-action",
89
+ className: o(
90
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
91
+ r
92
+ ),
93
+ ...t
94
+ }
95
+ );
96
+ }
84
97
  function b({ className: r, ...t }) {
85
98
  const { size: e } = n.useContext(s);
86
99
  return /* @__PURE__ */ a(
@@ -92,7 +105,7 @@ function b({ className: r, ...t }) {
92
105
  }
93
106
  );
94
107
  }
95
- function C({ className: r, ...t }) {
108
+ function y({ className: r, ...t }) {
96
109
  const { size: e } = n.useContext(s);
97
110
  return /* @__PURE__ */ a(
98
111
  "div",
@@ -107,10 +120,11 @@ function C({ className: r, ...t }) {
107
120
  );
108
121
  }
109
122
  export {
110
- x as Card,
123
+ f as Card,
124
+ C as CardAction,
111
125
  b as CardContent,
112
126
  g as CardDescription,
113
- C as CardFooter,
114
- f as CardHeader,
127
+ y as CardFooter,
128
+ x as CardHeader,
115
129
  m as CardTitle
116
130
  };
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ import { Command as Command_2 } from 'cmdk';
11
11
  import { ComponentProps } from 'react';
12
12
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
13
13
  import { ControllerProps } from 'react-hook-form';
14
+ import { ControllerRenderProps } from 'react-hook-form';
14
15
  import { DateRange } from 'react-day-picker';
15
16
  import { DayPicker } from 'react-day-picker';
16
17
  import { default as default_2 } from 'react';
@@ -145,6 +146,50 @@ declare const alertVariants: (props?: ({
145
146
 
146
147
  declare type Animation_2 = VariantProps<typeof chatBubbleVariants>["animation"];
147
148
 
149
+ export declare function AppCard({ header, title, description, body, actions, footer, variant, size, isLoading, showHeaderBorder, showFooterBorder, className, headerClassName, bodyClassName, footerClassName, children, ...props }: Readonly<AppCardProps>): JSX.Element;
150
+
151
+ export declare interface AppCardProps extends Omit<React_2.ComponentProps<"div">, "title"> {
152
+ /** Header content (title and/or description) */
153
+ header?: React_2.ReactNode;
154
+ /** Card title displayed in the header */
155
+ title?: string | React_2.ReactNode;
156
+ /** Card description displayed below the title */
157
+ description?: string | React_2.ReactNode;
158
+ /** Main content of the card */
159
+ body?: React_2.ReactNode;
160
+ /**
161
+ * Fallback body content when `body` is not provided.
162
+ * `body` takes precedence over `children` if both are passed.
163
+ */
164
+ children?: React_2.ReactNode;
165
+ /** Action buttons typically displayed in the header (right-aligned) */
166
+ actions?: React_2.ReactNode;
167
+ /** Footer content (typically action buttons) */
168
+ footer?: React_2.ReactNode;
169
+ /** Visual variant of the card */
170
+ variant?: AppCardVariant;
171
+ /** Controls internal padding via the base Card component */
172
+ size?: AppCardSize;
173
+ /** When true, renders skeleton placeholders instead of content */
174
+ isLoading?: boolean;
175
+ /** Whether to show a border between header and body */
176
+ showHeaderBorder?: boolean;
177
+ /** Whether to show a border between body and footer */
178
+ showFooterBorder?: boolean;
179
+ /** Additional className for the card container */
180
+ className?: string;
181
+ /** Additional className for the header section */
182
+ headerClassName?: string;
183
+ /** Additional className for the body section */
184
+ bodyClassName?: string;
185
+ /** Additional className for the footer section */
186
+ footerClassName?: string;
187
+ }
188
+
189
+ declare type AppCardSize = "sm" | "default" | "lg" | "none";
190
+
191
+ export declare type AppCardVariant = "default" | "elevated" | "outlined" | "ghost" | "flat" | "interactive" | "success" | "warning" | "destructive" | "info";
192
+
148
193
  export declare function AppCheckbox({ options, value, defaultValue, onValueChange, label, description, disabled, required, name, orientation, className, wrpClassName, optionClassName, layout, error, id, "data-testid": dataTestId, }: AppCheckboxProps): JSX.Element;
149
194
 
150
195
  export declare interface AppCheckboxOption {
@@ -233,39 +278,164 @@ declare type AppEditorToolbar = "block-format" | "font-format" | "history";
233
278
 
234
279
  export declare const AppForm: <TFormValues extends FieldValues = FieldValues, TAsyncOption = unknown>({ items, cols, form, submitText, onSubmit, isSubmitting, showSubmitButton, }: AppFormProps<TFormValues, TAsyncOption>) => JSX.Element;
235
280
 
236
- export declare interface AppFormItem<TAsyncOption = unknown> {
281
+ declare type AppFormComponentType = "input" | "select" | "textarea" | "checkbox" | "multiselect" | "datepicker" | "radio" | "switch" | "slider" | "async" | "async-multiple" | "custom";
282
+
283
+ export declare type AppFormItem<TAsyncOption = unknown, TComponent extends AppFormComponentType = AppFormComponentType> = {
284
+ /** Field label displayed above the component. */
237
285
  label: string;
238
- component: "input" | "select" | "textarea" | "checkbox" | "multiselect" | "datepicker" | "radio" | "switch" | "slider" | "async" | "async-multiple";
286
+ /** The type of form component to render. */
287
+ component: TComponent;
288
+ /** Field name used for React Hook Form state binding and validation. */
239
289
  name: string;
290
+ /**
291
+ * HTML input type. Only applies when `component` is `"input"`.
292
+ * @example "text" | "email" | "password" | "number" | "url" | "search" | "tel"
293
+ */
240
294
  inputType?: ComponentProps<"input">["type"];
295
+ /** Initial value for the field. */
241
296
  defaultValue?: string | boolean | number | string[] | Date | number[];
297
+ /** Options list for `select`, `multiselect`, and `radio` components. */
242
298
  options?: AppSelectOption[];
299
+ /**
300
+ * Disables the field, preventing user interaction.
301
+ * @default false
302
+ */
243
303
  disabled?: boolean;
304
+ /** Placeholder text shown when no value is selected or entered. */
244
305
  placeholder?: string;
306
+ /** Helper text displayed below the field. */
245
307
  caption?: string;
308
+ /**
309
+ * Enables range mode on the `datepicker` component when provided.
310
+ * The two dates define the selectable calendar boundaries.
311
+ */
246
312
  calendarRange?: [Date, Date];
313
+ /** Minimum value for the `slider` component. @default 0 */
247
314
  min?: number;
315
+ /** Maximum value for the `slider` component. @default 100 */
248
316
  max?: number;
317
+ /** Step increment for the `slider` component. @default 1 */
249
318
  step?: number;
319
+ /**
320
+ * Async data loader for `async` and `async-multiple` components.
321
+ * Called with the current search query; must return a promise of options.
322
+ */
250
323
  fetcher?: (query?: string) => Promise<TAsyncOption[]>;
324
+ /**
325
+ * Custom render function for each option item in the async dropdown.
326
+ * Required for `async` and `async-multiple` components.
327
+ */
251
328
  renderOptionItem?: (option: TAsyncOption) => React.ReactNode;
329
+ /**
330
+ * Extracts the unique string value from an async option object.
331
+ * Required for `async` and `async-multiple` components.
332
+ */
252
333
  resolveOptionValue?: (option: TAsyncOption) => string;
334
+ /**
335
+ * Custom render function for the selected value chip/label.
336
+ * Required for `async` and `async-multiple` components.
337
+ */
253
338
  renderSelectedValue?: (option: TAsyncOption) => React.ReactNode;
339
+ /**
340
+ * Pre-loaded options used to hydrate the async select on mount,
341
+ * avoiding an initial fetch when the value is already known.
342
+ */
254
343
  initialOptions?: TAsyncOption[];
344
+ /** Custom node displayed when the async fetcher returns no results at all. */
255
345
  notFound?: React.ReactNode;
346
+ /** Message shown when the async search query returns no matching results. */
256
347
  noResultsMessage?: string;
348
+ /**
349
+ * Debounce delay in milliseconds for the async search input.
350
+ * @default 300
351
+ */
257
352
  debounce?: number;
353
+ /**
354
+ * Allows the user to clear the selected value in the async select.
355
+ * @default false
356
+ */
258
357
  clearable?: boolean;
259
- datePickerProps?: Partial<ComponentProps<typeof DatePicker>>;
358
+ /** Extra props forwarded directly to the `DatePicker` component. */
359
+ datePickerProps?: Partial<DatePickerProps>;
360
+ /**
361
+ * Column span for the item in the grid.
362
+ * @default undefined (auto, or `"full"` for the last item)
363
+ */
364
+ colSpan?: "1" | "2" | "3" | "full";
365
+ /**
366
+ * Icon to display on the left side of the input.
367
+ * Only applies when `component` is `"input"`.
368
+ */
369
+ iconLeft?: IconName;
370
+ /**
371
+ * Icon to display on the right side of the input.
372
+ * Only applies when `component` is `"input"`.
373
+ */
374
+ iconRight?: IconName;
375
+ /**
376
+ * Enables search/filter functionality inside `select` and `multiselect` dropdowns.
377
+ * @default true
378
+ */
379
+ searchable?: boolean;
380
+ /**
381
+ * Custom render function for the component.
382
+ * Required when `component` is `"custom"`.
383
+ */
384
+ render?: (props: {
385
+ field: ControllerRenderProps<FieldValues, string>;
386
+ error?: string;
387
+ label: React.ReactNode;
388
+ }) => React.ReactNode;
389
+ /**
390
+ * Hides the label above the field.
391
+ * @default false
392
+ */
393
+ hideLabel?: boolean;
394
+ /**
395
+ * Additional props forwarded to the underlying UI component.
396
+ * Strongly typed based on the chosen `component` value.
397
+ */
398
+ componentProps?: AppFormItemComponentProps<TAsyncOption>[TComponent];
399
+ /** Additional CSS class name applied to the item container div. */
400
+ className?: string;
401
+ };
402
+
403
+ declare interface AppFormItemComponentProps<TAsyncOption = unknown> {
404
+ input: Omit<InputProps, "name" | "value" | "onChange" | "onBlur" | "disabled" | "placeholder" | "type" | "iconLeft" | "iconRight" | "label">;
405
+ select: Omit<SingleSelectProps, "options" | "placeholder" | "disabled" | "searchable" | "value" | "onValueChange" | "multiple" | "label">;
406
+ multiselect: Omit<MultiSelectProps, "options" | "placeholder" | "disabled" | "searchable" | "value" | "onValueChange" | "multiple" | "label">;
407
+ textarea: Omit<ComponentProps<typeof Textarea>, "name" | "value" | "onChange" | "onBlur" | "disabled" | "placeholder" | "label">;
408
+ checkbox: Omit<ComponentProps<typeof Checkbox>, "checked" | "onCheckedChange" | "disabled" | "id" | "name">;
409
+ datepicker: Omit<DatePickerProps, "mode" | "value" | "onChange" | "placeholder" | "disabled" | "label">;
410
+ radio: Omit<ComponentProps<typeof RadioGroup>, "value" | "onValueChange" | "disabled" | "name">;
411
+ switch: Omit<ComponentProps<typeof Switch>, "checked" | "onCheckedChange" | "disabled" | "id" | "name">;
412
+ slider: Omit<ComponentProps<typeof Slider>, "value" | "onValueChange" | "min" | "max" | "step" | "disabled">;
413
+ async: Omit<AsyncSelectProps<TAsyncOption>, "multiple" | "fetcher" | "initialOptions" | "renderOptionItem" | "resolveOptionValue" | "renderSelectedValue" | "value" | "onChange" | "placeholder" | "disabled" | "notFound" | "noResultsMessage" | "debounce" | "clearable" | "label">;
414
+ "async-multiple": Omit<AsyncSelectProps<TAsyncOption>, "multiple" | "fetcher" | "initialOptions" | "renderOptionItem" | "resolveOptionValue" | "renderSelectedValue" | "value" | "onChange" | "placeholder" | "disabled" | "notFound" | "noResultsMessage" | "debounce" | "clearable" | "label">;
415
+ custom: Record<string, unknown>;
260
416
  }
261
417
 
262
418
  declare interface AppFormProps<TFormValues extends FieldValues = FieldValues, TAsyncOption = unknown> {
419
+ /** Number of grid columns for the form layout. @default "2" */
263
420
  cols?: "1" | "2" | "3";
264
- items: AppFormItem<TAsyncOption>[];
421
+ /** Array of field configurations describing each form field. */
422
+ items: AppFormItem<TAsyncOption, AppFormComponentType>[];
423
+ /** React Hook Form instance returned by `useForm`. */
265
424
  form: UseFormReturn<TFormValues>;
425
+ /** Text label for the internal submit button. @default "Invia" */
266
426
  submitText?: string;
427
+ /** Callback fired with validated form data on submission. */
267
428
  onSubmit?: (data: TFormValues) => void;
429
+ /**
430
+ * When `true`, shows a loading spinner on the submit button.
431
+ * @default false
432
+ */
268
433
  isSubmitting?: boolean;
434
+ /**
435
+ * When `true`, renders an internal submit button at the bottom of the form.
436
+ * The button is disabled while the form is invalid or pristine.
437
+ * @default false
438
+ */
269
439
  showSubmitButton?: boolean;
270
440
  }
271
441
 
@@ -628,7 +798,7 @@ declare type BaseProps = {
628
798
  disabled?: boolean;
629
799
  maxSelected?: number;
630
800
  showChipsInsteadOfCount?: boolean;
631
- size?: SelectSizeType_2;
801
+ size?: SelectSizeType;
632
802
  onClear?: () => void;
633
803
  id?: string;
634
804
  "data-testid"?: string;
@@ -2682,7 +2852,7 @@ export declare function SelectItem({ className, children, ...props }: React_2.Co
2682
2852
  export declare function SelectLabel({ className, ...props }: React_2.ComponentProps<typeof SelectPrimitive.Label>): JSX.Element;
2683
2853
 
2684
2854
  declare interface SelectProps extends React_2.ComponentProps<typeof SelectPrimitive.Root> {
2685
- size?: SelectSizeType;
2855
+ size?: SelectSizeType_2;
2686
2856
  label?: string | React_2.ReactNode;
2687
2857
  className?: string;
2688
2858
  labelClassName?: string;
@@ -2695,7 +2865,7 @@ declare type SelectSizeType = "sm" | "default" | "lg";
2695
2865
  declare type SelectSizeType_2 = "sm" | "default" | "lg";
2696
2866
 
2697
2867
  export declare function SelectTrigger({ className, size: sizeProp, children, ...props }: React_2.ComponentProps<typeof SelectPrimitive.Trigger> & {
2698
- size?: SelectSizeType;
2868
+ size?: SelectSizeType_2;
2699
2869
  }): JSX.Element;
2700
2870
 
2701
2871
  declare const selectTriggerVariants: (props?: ({
package/dist/index.js CHANGED
@@ -90,19 +90,20 @@ import { ELogicalFilterOperator as Un } from "./components/ui/tables/data-table/
90
90
  import { toast as qn } from "./node_modules/sonner/dist/index.js";
91
91
  import { Toaster as Qn } from "./components/ui/toaster.js";
92
92
  import { cn as Yn, downloadFile as Zn, hexContrast as _n, hexToRgba as $n, previewFile as ei, stringToHexColor as ri } from "./lib/utils.js";
93
- import { AppDialog as ti } from "./components/ui/app-dialog.js";
94
- import { AppKanban as ni } from "./components/ui/app-kanban.js";
95
- import { AppStepper as pi } from "./components/ui/app-stepper.js";
96
- import { AppTimePicker as mi } from "./components/ui/app-time-picker.js";
97
- import { AppTooltip as xi } from "./components/ui/app-tooltip.js";
98
- import { WeeklyCalendar as Ci } from "./components/ui/weekly-calendar/weekly-calendar.js";
99
- import { createActionColumn as gi, createBooleanColumn as bi, createBooleanFilter as si, createComputedColumn as ci, createDateColumn as Si, createDateFilter as Mi, createDateTimeColumn as Ti, createDateTimeFilter as Di, createDisplayColumn as Ai, createFilterBadge as Fi, createFilterBadges as Ii, createInitialState as wi, createListFilter as Pi, createMultiSelectColumn as hi, createNumberColumn as vi, createNumberFilter as Gi, createSingleSelectColumn as Bi, createSorting as Li, createStringColumn as Ri, createStringFilter as ki, getColumnIds as Hi, isValidOperatorForType as yi, pinColumns as Ni, toSelectOptions as Oi, toSelectOptionsFromObjects as Vi, updateColumnListOptions as zi } from "./components/ui/tables/data-table/data-table.utils.js";
100
- import { useAudioRecording as ji } from "./hooks/use-audio-recording.js";
101
- import { useAutoScroll as Ui } from "./hooks/use-auto-scroll.js";
102
- import { useAutosizeTextArea as qi } from "./hooks/use-autosize-textarea.js";
103
- import { useCopyToClipboard as Qi } from "./hooks/use-copy-to-clipboard.js";
104
- import { useDebounce as Yi } from "./hooks/use-debounce.js";
105
- import { useIsMobile as _i } from "./hooks/use-mobile.js";
93
+ import { AppCard as ti } from "./components/ui/app-card.js";
94
+ import { AppDialog as ni } from "./components/ui/app-dialog.js";
95
+ import { AppKanban as pi } from "./components/ui/app-kanban.js";
96
+ import { AppStepper as mi } from "./components/ui/app-stepper.js";
97
+ import { AppTimePicker as xi } from "./components/ui/app-time-picker.js";
98
+ import { AppTooltip as Ci } from "./components/ui/app-tooltip.js";
99
+ import { WeeklyCalendar as gi } from "./components/ui/weekly-calendar/weekly-calendar.js";
100
+ import { createActionColumn as si, createBooleanColumn as ci, createBooleanFilter as Si, createComputedColumn as Mi, createDateColumn as Ti, createDateFilter as Di, createDateTimeColumn as Ai, createDateTimeFilter as Fi, createDisplayColumn as Ii, createFilterBadge as wi, createFilterBadges as Pi, createInitialState as hi, createListFilter as vi, createMultiSelectColumn as Gi, createNumberColumn as Bi, createNumberFilter as Li, createSingleSelectColumn as Ri, createSorting as ki, createStringColumn as Hi, createStringFilter as yi, getColumnIds as Ni, isValidOperatorForType as Oi, pinColumns as Vi, toSelectOptions as zi, toSelectOptionsFromObjects as Ei, updateColumnListOptions as ji } from "./components/ui/tables/data-table/data-table.utils.js";
101
+ import { useAudioRecording as Ui } from "./hooks/use-audio-recording.js";
102
+ import { useAutoScroll as qi } from "./hooks/use-auto-scroll.js";
103
+ import { useAutosizeTextArea as Qi } from "./hooks/use-autosize-textarea.js";
104
+ import { useCopyToClipboard as Yi } from "./hooks/use-copy-to-clipboard.js";
105
+ import { useDebounce as _i } from "./hooks/use-debounce.js";
106
+ import { useIsMobile as ep } from "./hooks/use-mobile.js";
106
107
  export {
107
108
  pe as Accordion,
108
109
  le as AccordionContent,
@@ -120,18 +121,19 @@ export {
120
121
  Ae as AlertDialogTitle,
121
122
  Fe as AlertDialogTrigger,
122
123
  fe as AlertTitle,
124
+ ti as AppCard,
123
125
  Yt as AppCheckbox,
124
- ti as AppDialog,
126
+ ni as AppDialog,
125
127
  _t as AppEditor,
126
128
  we as AppForm,
127
- ni as AppKanban,
129
+ pi as AppKanban,
128
130
  ea as AppMultipleSelectDropdown,
129
131
  oa as AppRadioGroup,
130
132
  aa as AppSelect,
131
133
  ia as AppSidebar,
132
- pi as AppStepper,
133
- mi as AppTimePicker,
134
- xi as AppTooltip,
134
+ mi as AppStepper,
135
+ xi as AppTimePicker,
136
+ Ci as AppTooltip,
135
137
  a as AspectRatio,
136
138
  he as AsyncSelect,
137
139
  la as AudioVisualizer,
@@ -379,53 +381,53 @@ export {
379
381
  te as TruncatedCell,
380
382
  ne as TypingIndicator,
381
383
  qt as Typo,
382
- Ci as WeeklyCalendar,
384
+ gi as WeeklyCalendar,
383
385
  x as badgeVariants,
384
386
  f as buttonVariants,
385
387
  Yn as cn,
386
388
  Ba as confirm,
387
- gi as createActionColumn,
388
- bi as createBooleanColumn,
389
- si as createBooleanFilter,
390
- ci as createComputedColumn,
391
- Si as createDateColumn,
392
- Mi as createDateFilter,
393
- Ti as createDateTimeColumn,
394
- Di as createDateTimeFilter,
395
- Ai as createDisplayColumn,
396
- Fi as createFilterBadge,
397
- Ii as createFilterBadges,
398
- wi as createInitialState,
399
- Pi as createListFilter,
400
- hi as createMultiSelectColumn,
401
- vi as createNumberColumn,
402
- Gi as createNumberFilter,
403
- Bi as createSingleSelectColumn,
404
- Li as createSorting,
405
- Ri as createStringColumn,
406
- ki as createStringFilter,
389
+ si as createActionColumn,
390
+ ci as createBooleanColumn,
391
+ Si as createBooleanFilter,
392
+ Mi as createComputedColumn,
393
+ Ti as createDateColumn,
394
+ Di as createDateFilter,
395
+ Ai as createDateTimeColumn,
396
+ Fi as createDateTimeFilter,
397
+ Ii as createDisplayColumn,
398
+ wi as createFilterBadge,
399
+ Pi as createFilterBadges,
400
+ hi as createInitialState,
401
+ vi as createListFilter,
402
+ Gi as createMultiSelectColumn,
403
+ Bi as createNumberColumn,
404
+ Li as createNumberFilter,
405
+ Ri as createSingleSelectColumn,
406
+ ki as createSorting,
407
+ Hi as createStringColumn,
408
+ yi as createStringFilter,
407
409
  Zn as downloadFile,
408
- Hi as getColumnIds,
410
+ Ni as getColumnIds,
409
411
  _n as hexContrast,
410
412
  $n as hexToRgba,
411
- yi as isValidOperatorForType,
412
- Ni as pinColumns,
413
+ Oi as isValidOperatorForType,
414
+ Vi as pinColumns,
413
415
  ei as previewFile,
414
416
  ka as previewFileModal,
415
417
  Ha as safePreviewFileModal,
416
418
  ri as stringToHexColor,
417
- Oi as toSelectOptions,
418
- Vi as toSelectOptionsFromObjects,
419
+ zi as toSelectOptions,
420
+ Ei as toSelectOptionsFromObjects,
419
421
  qn as toast,
420
422
  Y as toggleVariants,
421
- zi as updateColumnListOptions,
422
- ji as useAudioRecording,
423
- Ui as useAutoScroll,
424
- qi as useAutosizeTextArea,
425
- Qi as useCopyToClipboard,
426
- Yi as useDebounce,
423
+ ji as updateColumnListOptions,
424
+ Ui as useAudioRecording,
425
+ qi as useAutoScroll,
426
+ Qi as useAutosizeTextArea,
427
+ Yi as useCopyToClipboard,
428
+ _i as useDebounce,
427
429
  Qt as useEditorModal,
428
430
  fo as useFormField,
429
- _i as useIsMobile,
431
+ ep as useIsMobile,
430
432
  kn as useSidebar
431
433
  };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import e from "../../_virtual/index3.js";
2
+ import e from "../../_virtual/index5.js";
3
3
  export {
4
4
  e as EventEmitter,
5
5
  e as default
@@ -3,7 +3,7 @@ import { stringify as w } from "../../comma-separated-tokens/index.js";
3
3
  import { ok as u } from "../../devlop/lib/default.js";
4
4
  import { svg as m, html as C } from "../../property-information/index.js";
5
5
  import { stringify as N } from "../../space-separated-tokens/index.js";
6
- import S from "../../../_virtual/index4.js";
6
+ import S from "../../../_virtual/index3.js";
7
7
  import { whitespace as j } from "../../hast-util-whitespace/lib/index.js";
8
8
  import { name as x } from "../../estree-util-is-identifier-name/lib/index.js";
9
9
  import { VFileMessage as h } from "../../vfile-message/lib/index.js";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import e from "../../../../_virtual/index3.js";
2
+ import e from "../../../../_virtual/index5.js";
3
3
  var r = new e(), n = "recharts.syncEvent.tooltip";
4
4
  export {
5
5
  n as TOOLTIP_SYNC_EVENT,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { bail as P } from "../../bail/index.js";
3
- import y from "../../../_virtual/index5.js";
3
+ import y from "../../../_virtual/index4.js";
4
4
  import z from "../../is-plain-obj/index.js";
5
5
  import { CallableInstance as C } from "./callable-instance.js";
6
6
  import { trough as A } from "../../trough/lib/index.js";