@etus/ui 0.4.0-beta.1 → 0.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -7510,6 +7510,11 @@ interface SheetOverlayProps extends ComponentProps<typeof SheetPrimitive.Overlay
7510
7510
  * Sheet content component props with variant and size support
7511
7511
  */
7512
7512
  interface SheetContentProps extends ComponentProps<typeof SheetPrimitive.Content>, VariantProps<typeof sheetContentVariants> {
7513
+ /**
7514
+ * Background overlay style
7515
+ * @default "default"
7516
+ */
7517
+ overlayVariant?: SheetOverlayVariant;
7513
7518
  /**
7514
7519
  * Whether to show the close button
7515
7520
  * @default true
@@ -7554,7 +7559,7 @@ declare function SheetTrigger({ ...props }: SheetTriggerProps): react_jsx_runtim
7554
7559
  declare function SheetClose({ ...props }: SheetCloseProps): react_jsx_runtime.JSX.Element;
7555
7560
  declare function SheetPortal({ ...props }: SheetPortalProps): react_jsx_runtime.JSX.Element;
7556
7561
  declare function SheetOverlay({ className, variant, ...props }: SheetOverlayProps): react_jsx_runtime.JSX.Element;
7557
- declare function SheetContent({ className, children, side, size, showCloseButton, ...props }: SheetContentProps): react_jsx_runtime.JSX.Element;
7562
+ declare function SheetContent({ className, children, side, size, showCloseButton, overlayVariant, ...props }: SheetContentProps): react_jsx_runtime.JSX.Element;
7558
7563
  declare function SheetHeader({ className, ...props }: SheetHeaderProps): react_jsx_runtime.JSX.Element;
7559
7564
  declare function SheetBody({ className, ...props }: SheetBodyProps): react_jsx_runtime.JSX.Element;
7560
7565
  declare function SheetFooter({ className, ...props }: SheetFooterProps): react_jsx_runtime.JSX.Element;
package/dist/index.js CHANGED
@@ -4435,7 +4435,7 @@ function StatusIndicator({
4435
4435
  const defaultAriaLabel = `Status: ${variant ?? "neutral"}`;
4436
4436
  const accessibleLabel = ariaLabel ?? (label ? void 0 : defaultAriaLabel);
4437
4437
  const isBar = shape === "bar-vertical" || shape === "bar-horizontal";
4438
- const isProd = process.env["NODE_ENV"] === "production";
4438
+ const isProd = typeof process !== "undefined" && process.env["NODE_ENV"] === "production";
4439
4439
  if (isBar && label && !isProd) {
4440
4440
  console.warn(
4441
4441
  `<StatusIndicator shape="${shape}"> ignores the \`label\` prop. Use shape="dot" to combine with label, or move the label to surrounding context.`
@@ -13672,7 +13672,7 @@ var timePickerTriggerVariants = cva71(
13672
13672
  );
13673
13673
  var timeScrollListVariants = cva71(
13674
13674
  [
13675
- "flex flex-col overflow-y-auto scrollbar-thin scrollbar-thumb-muted scrollbar-track-transparent",
13675
+ "flex flex-col overflow-y-auto",
13676
13676
  "max-h-60 min-w-12"
13677
13677
  ],
13678
13678
  {
@@ -15376,10 +15376,11 @@ function SheetContent({
15376
15376
  side = "right",
15377
15377
  size = "default",
15378
15378
  showCloseButton = true,
15379
+ overlayVariant,
15379
15380
  ...props
15380
15381
  }) {
15381
15382
  return /* @__PURE__ */ jsxs63(SheetPortal, { children: [
15382
- /* @__PURE__ */ jsx93(SheetOverlay, {}),
15383
+ /* @__PURE__ */ jsx93(SheetOverlay, { variant: overlayVariant }),
15383
15384
  /* @__PURE__ */ jsxs63(
15384
15385
  SheetPrimitive.Content,
15385
15386
  {
@@ -20704,9 +20705,26 @@ function ChartContainer({
20704
20705
  }) {
20705
20706
  const uniqueId = React72.useId();
20706
20707
  const chartId = `chart-${id ?? uniqueId.replaceAll(":", "")}`;
20708
+ const wrapperRef = React72.useRef(null);
20709
+ const [hasSize, setHasSize] = React72.useState(false);
20710
+ React72.useEffect(() => {
20711
+ const el = wrapperRef.current;
20712
+ if (!el) return;
20713
+ const observer = new ResizeObserver(([entry]) => {
20714
+ if (!entry) return;
20715
+ if (entry.contentRect.width > 8 && entry.contentRect.height > 8) {
20716
+ setHasSize(true);
20717
+ }
20718
+ });
20719
+ observer.observe(el);
20720
+ return () => {
20721
+ observer.disconnect();
20722
+ };
20723
+ }, []);
20707
20724
  return /* @__PURE__ */ jsx115(ChartContext, { value: { config }, children: /* @__PURE__ */ jsxs77(
20708
20725
  "div",
20709
20726
  {
20727
+ ref: wrapperRef,
20710
20728
  className: cn(
20711
20729
  chartContainerVariants(),
20712
20730
  className
@@ -20716,7 +20734,7 @@ function ChartContainer({
20716
20734
  ...props,
20717
20735
  children: [
20718
20736
  /* @__PURE__ */ jsx115(ChartStyle, { config, id: chartId }),
20719
- /* @__PURE__ */ jsx115(RechartsPrimitive.ResponsiveContainer, { height: "100%", minHeight: 1, minWidth: 1, width: "100%", children })
20737
+ hasSize && /* @__PURE__ */ jsx115(RechartsPrimitive.ResponsiveContainer, { height: "100%", minHeight: 1, minWidth: 1, width: "100%", children })
20720
20738
  ]
20721
20739
  }
20722
20740
  ) });
@@ -20923,7 +20941,7 @@ function ChartLegendContent({
20923
20941
  ref: scrollRef,
20924
20942
  className: cn(
20925
20943
  chartLegendVariants({ position: verticalAlign === "top" ? "top" : "bottom" }),
20926
- enableSlider && "overflow-x-auto scrollbar-thin scrollbar-thumb-muted scrollbar-track-transparent",
20944
+ enableSlider && "overflow-x-auto",
20927
20945
  className
20928
20946
  ),
20929
20947
  "aria-label": isInteractive ? "Chart legend filters" : void 0,
@@ -32147,7 +32165,7 @@ function ScatterChart({
32147
32165
  ScatterChart.displayName = "ScatterChart";
32148
32166
 
32149
32167
  // src/components/data-display/SingleStat/SingleStat.tsx
32150
- import { useEffect as useEffect26, useRef as useRef37, useState as useState49 } from "react";
32168
+ import { useEffect as useEffect27, useRef as useRef37, useState as useState50 } from "react";
32151
32169
  import { jsx as jsx163, jsxs as jsxs119 } from "react/jsx-runtime";
32152
32170
  var sizeClasses = {
32153
32171
  lg: "text-4xl",
@@ -32164,10 +32182,10 @@ var skeletonSizes = {
32164
32182
  xs: "h-6"
32165
32183
  };
32166
32184
  function useAnimatedCounter(targetValue, duration, enabled) {
32167
- const [count, setCount] = useState49(0);
32185
+ const [count, setCount] = useState50(0);
32168
32186
  const animationFrameRef = useRef37(0);
32169
32187
  const startTimeRef = useRef37(null);
32170
- useEffect26(() => {
32188
+ useEffect27(() => {
32171
32189
  if (!enabled) {
32172
32190
  return;
32173
32191
  }
@@ -33820,18 +33838,18 @@ import { jsx as jsx170, jsxs as jsxs125 } from "react/jsx-runtime";
33820
33838
  var errorDefaults = {
33821
33839
  "401": {
33822
33840
  code: "401",
33823
- description: "Faca login para acessar este conteudo.",
33824
- title: "Nao autenticado"
33841
+ description: "Fa\xE7a login para acessar este conte\xFAdo.",
33842
+ title: "N\xE3o autenticado"
33825
33843
  },
33826
33844
  "403": {
33827
33845
  code: "403",
33828
- description: "Voce nao tem permissao para acessar este recurso.",
33846
+ description: "Voc\xEA n\xE3o tem permiss\xE3o para acessar este recurso.",
33829
33847
  title: "Acesso negado"
33830
33848
  },
33831
33849
  "404": {
33832
33850
  code: "404",
33833
- description: "A pagina que voce esta procurando nao existe ou foi movida.",
33834
- title: "Pagina nao encontrada"
33851
+ description: "A p\xE1gina que voc\xEA est\xE1 procurando n\xE3o existe ou foi movida.",
33852
+ title: "P\xE1gina n\xE3o encontrada"
33835
33853
  },
33836
33854
  "500": {
33837
33855
  code: "500",
@@ -33846,12 +33864,12 @@ var errorDefaults = {
33846
33864
  maintenance: {
33847
33865
  code: "",
33848
33866
  description: "Estamos realizando melhorias. Voltamos em breve!",
33849
- title: "Em manutencao"
33867
+ title: "Em manuten\xE7\xE3o"
33850
33868
  },
33851
33869
  offline: {
33852
33870
  code: "",
33853
- description: "Verifique sua conexao com a internet e tente novamente.",
33854
- title: "Sem conexao"
33871
+ description: "Verifique sua conex\xE3o com a internet e tente novamente.",
33872
+ title: "Sem conex\xE3o"
33855
33873
  }
33856
33874
  };
33857
33875
  function getDefaultIcon(type) {
@@ -41816,6 +41834,7 @@ function Search2({
41816
41834
  const debounceTimerRef = React134.useRef(
41817
41835
  null
41818
41836
  );
41837
+ const blurTimerRef = React134.useRef(null);
41819
41838
  const inputRef = React134.useRef(null);
41820
41839
  const flatResults = React134.useMemo(() => {
41821
41840
  return results;
@@ -41923,7 +41942,7 @@ function Search2({
41923
41942
  onOpenChange?.(true);
41924
41943
  }, [isOpenControlled, onOpenChange]);
41925
41944
  const handleBlur = React134.useCallback(() => {
41926
- setTimeout(() => {
41945
+ blurTimerRef.current = setTimeout(() => {
41927
41946
  if (!isOpenControlled) {
41928
41947
  setInternalOpen(false);
41929
41948
  }
@@ -41938,6 +41957,9 @@ function Search2({
41938
41957
  if (debounceTimerRef.current) {
41939
41958
  clearTimeout(debounceTimerRef.current);
41940
41959
  }
41960
+ if (blurTimerRef.current) {
41961
+ clearTimeout(blurTimerRef.current);
41962
+ }
41941
41963
  };
41942
41964
  }, []);
41943
41965
  const hasValue = currentValue.length > 0;
@@ -42715,7 +42737,7 @@ function SortableListDragHandle({
42715
42737
 
42716
42738
  // src/components/advanced/VersionControl/VersionControl.tsx
42717
42739
  import { Edit3, GitCompare, Loader2 as Loader23, Minus as Minus2, Plus as Plus4, RotateCcw as RotateCcw2 } from "lucide-react";
42718
- import { useCallback as useCallback69, useState as useState58 } from "react";
42740
+ import { useCallback as useCallback69, useState as useState59 } from "react";
42719
42741
 
42720
42742
  // src/components/advanced/VersionControl/VersionControl.variants.ts
42721
42743
  import { cva as cva143 } from "class-variance-authority";
@@ -43367,10 +43389,10 @@ function VersionControl({
43367
43389
  className,
43368
43390
  ...props
43369
43391
  }) {
43370
- const [selectedVersionId, setSelectedVersionId] = useState58();
43371
- const [compareVersion, setCompareVersion] = useState58();
43372
- const [diffLines, setDiffLines] = useState58([]);
43373
- const [isDiffLoading, setIsDiffLoading] = useState58(false);
43392
+ const [selectedVersionId, setSelectedVersionId] = useState59();
43393
+ const [compareVersion, setCompareVersion] = useState59();
43394
+ const [diffLines, setDiffLines] = useState59([]);
43395
+ const [isDiffLoading, setIsDiffLoading] = useState59(false);
43374
43396
  const displayVersions = maxVersions ? versions.slice(0, maxVersions) : versions;
43375
43397
  const handleVersionSelect = useCallback69(
43376
43398
  (version) => {
@@ -43499,7 +43521,7 @@ import {
43499
43521
  User,
43500
43522
  X as X14
43501
43523
  } from "lucide-react";
43502
- import { useId as useId20, useState as useState59 } from "react";
43524
+ import { useId as useId20, useState as useState60 } from "react";
43503
43525
 
43504
43526
  // src/components/workflow/ApprovalFlow/ApprovalFlow.variants.ts
43505
43527
  import { cva as cva144 } from "class-variance-authority";
@@ -43972,7 +43994,7 @@ function ApprovalFlow({
43972
43994
  onComplete: _onComplete,
43973
43995
  ...props
43974
43996
  }) {
43975
- const [_activeStepIndex, setActiveStepIndex] = useState59(currentStep);
43997
+ const [_activeStepIndex, setActiveStepIndex] = useState60(currentStep);
43976
43998
  const effectiveLayout = layout;
43977
43999
  const handleApprove = (stepId) => {
43978
44000
  onApprove?.({ stepId });
@@ -44348,7 +44370,7 @@ import {
44348
44370
  Trash2 as Trash23,
44349
44371
  X as X15
44350
44372
  } from "lucide-react";
44351
- import { useCallback as useCallback70, useId as useId21, useMemo as useMemo35, useRef as useRef43, useState as useState60 } from "react";
44373
+ import { useCallback as useCallback70, useId as useId21, useMemo as useMemo35, useRef as useRef43, useState as useState61 } from "react";
44352
44374
 
44353
44375
  // src/components/workflow/CommentSystem/CommentSystem.types.ts
44354
44376
  var defaultReactions = [
@@ -44689,11 +44711,11 @@ function CommentInput({
44689
44711
  }) {
44690
44712
  const inputId = useId21();
44691
44713
  const textareaRef = useRef43(null);
44692
- const [content, setContent] = useState60(initialContent);
44693
- const [isFocused, setIsFocused] = useState60(false);
44694
- const [showMentions, setShowMentions] = useState60(false);
44695
- const [mentionSearch, setMentionSearch] = useState60("");
44696
- const [selectedMentionIndex, setSelectedMentionIndex] = useState60(0);
44714
+ const [content, setContent] = useState61(initialContent);
44715
+ const [isFocused, setIsFocused] = useState61(false);
44716
+ const [showMentions, setShowMentions] = useState61(false);
44717
+ const [mentionSearch, setMentionSearch] = useState61("");
44718
+ const [selectedMentionIndex, setSelectedMentionIndex] = useState61(0);
44697
44719
  const filteredUsers = useMemo35(() => {
44698
44720
  if (!mentionSearch) return mentionableUsers.slice(0, 5);
44699
44721
  return mentionableUsers.filter((u) => u.name.toLowerCase().includes(mentionSearch.toLowerCase())).slice(0, 5);
@@ -44927,7 +44949,7 @@ function CommentReactions({
44927
44949
  readOnly = false,
44928
44950
  onReact
44929
44951
  }) {
44930
- const [showPicker, setShowPicker] = useState60(false);
44952
+ const [showPicker, setShowPicker] = useState61(false);
44931
44953
  const handleReact = (emoji) => {
44932
44954
  onReact?.({ commentId, reaction: emoji });
44933
44955
  setShowPicker(false);
@@ -45012,9 +45034,9 @@ function CommentItem({
45012
45034
  ...props
45013
45035
  }) {
45014
45036
  const commentId = useId21();
45015
- const [isReplying, setIsReplying] = useState60(false);
45016
- const [isEditing, setIsEditing] = useState60(false);
45017
- const [showActions, setShowActions] = useState60(false);
45037
+ const [isReplying, setIsReplying] = useState61(false);
45038
+ const [isEditing, setIsEditing] = useState61(false);
45039
+ const [showActions, setShowActions] = useState61(false);
45018
45040
  const isOwn = currentUser?.id === comment.author.id;
45019
45041
  const canReply = allowReplies && depth < maxDepth && !readOnly;
45020
45042
  const canEdit = allowEditing && isOwn && !readOnly && !comment.isDeleted;
@@ -45421,7 +45443,7 @@ function CommentSystem({
45421
45443
 
45422
45444
  // src/components/workflow/Dashboard/Dashboard.tsx
45423
45445
  import { LayoutGrid, Loader2 as Loader25, RefreshCw as RefreshCw2, X as X16 } from "lucide-react";
45424
- import { useCallback as useCallback71, useEffect as useEffect32, useId as useId22, useRef as useRef44 } from "react";
45446
+ import { useCallback as useCallback71, useEffect as useEffect33, useId as useId22, useRef as useRef44 } from "react";
45425
45447
 
45426
45448
  // src/components/workflow/Dashboard/Dashboard.variants.ts
45427
45449
  import { cva as cva147 } from "class-variance-authority";
@@ -45814,7 +45836,7 @@ function Dashboard({
45814
45836
  },
45815
45837
  [onWidgetClick]
45816
45838
  );
45817
- useEffect32(() => {
45839
+ useEffect33(() => {
45818
45840
  if (refreshInterval && refreshInterval > 0 && onRefresh) {
45819
45841
  refreshTimerRef.current = setInterval(() => {
45820
45842
  onRefresh({ timestamp: Date.now() });
@@ -45950,7 +45972,7 @@ import {
45950
45972
  Undo2,
45951
45973
  X as X17
45952
45974
  } from "lucide-react";
45953
- import { useCallback as useCallback72, useId as useId23, useMemo as useMemo36, useRef as useRef45, useState as useState61 } from "react";
45975
+ import { useCallback as useCallback72, useId as useId23, useMemo as useMemo36, useRef as useRef45, useState as useState62 } from "react";
45954
45976
 
45955
45977
  // src/components/workflow/DashboardBuilder/DashboardBuilder.variants.ts
45956
45978
  import { cva as cva148 } from "class-variance-authority";
@@ -46320,7 +46342,7 @@ function DashboardBuilderToolbar({
46320
46342
  function DashboardBuilderWidgetLibrary({
46321
46343
  widgets
46322
46344
  }) {
46323
- const [collapsed, setCollapsed] = useState61(false);
46345
+ const [collapsed, setCollapsed] = useState62(false);
46324
46346
  const groupedWidgets = useMemo36(() => {
46325
46347
  return widgets.reduce((acc, widget) => {
46326
46348
  const category = widget.category || "default";
@@ -46392,7 +46414,7 @@ function DashboardBuilderCanvas({
46392
46414
  widgets
46393
46415
  }) {
46394
46416
  const canvasRef = useRef45(null);
46395
- const [isDragOver, setIsDragOver] = useState61(false);
46417
+ const [isDragOver, setIsDragOver] = useState62(false);
46396
46418
  const handleDragOver = (e) => {
46397
46419
  e.preventDefault();
46398
46420
  e.dataTransfer.dropEffect = "copy";
@@ -46648,12 +46670,12 @@ function DashboardBuilder({
46648
46670
  ...props
46649
46671
  }) {
46650
46672
  const builderId = useId23();
46651
- const [widgets, setWidgets] = useState61(initialWidgets);
46652
- const [selectedWidgetId, setSelectedWidgetId] = useState61(null);
46653
- const [_builderMode, setBuilderMode] = useState61("edit");
46654
- const [_builderState, setBuilderState] = useState61("idle");
46655
- const [history, setHistory] = useState61([initialWidgets]);
46656
- const [historyIndex, setHistoryIndex] = useState61(0);
46673
+ const [widgets, setWidgets] = useState62(initialWidgets);
46674
+ const [selectedWidgetId, setSelectedWidgetId] = useState62(null);
46675
+ const [_builderMode, setBuilderMode] = useState62("edit");
46676
+ const [_builderState, setBuilderState] = useState62("idle");
46677
+ const [history, setHistory] = useState62([initialWidgets]);
46678
+ const [historyIndex, setHistoryIndex] = useState62(0);
46657
46679
  void snapToGrid;
46658
46680
  void allowOverlap;
46659
46681
  void enableAutoSave;
@@ -46886,13 +46908,15 @@ import {
46886
46908
  Plus as Plus5,
46887
46909
  Search as Search3
46888
46910
  } from "lucide-react";
46889
- import { useId as useId24, useMemo as useMemo37, useState as useState62 } from "react";
46911
+ import { useId as useId24, useMemo as useMemo37, useState as useState63 } from "react";
46890
46912
 
46891
46913
  // src/components/workflow/KanbanBoard/KanbanBoard.variants.ts
46892
46914
  import { cva as cva149 } from "class-variance-authority";
46893
46915
  var kanbanBoardVariants = cva149(
46894
46916
  [
46895
46917
  "flex",
46918
+ "w-full",
46919
+ "min-w-0",
46896
46920
  "gap-4",
46897
46921
  "p-4",
46898
46922
  "bg-muted/30",
@@ -47488,9 +47512,9 @@ function KanbanBoard({
47488
47512
  ...props
47489
47513
  }) {
47490
47514
  const _boardId = useId24();
47491
- const [searchQuery, setSearchQuery] = useState62("");
47492
- const [activeId, setActiveId] = useState62(null);
47493
- const [collapsedColumns, setCollapsedColumns] = useState62(() => /* @__PURE__ */ new Set());
47515
+ const [searchQuery, setSearchQuery] = useState63("");
47516
+ const [activeId, setActiveId] = useState63(null);
47517
+ const [collapsedColumns, setCollapsedColumns] = useState63(() => /* @__PURE__ */ new Set());
47494
47518
  const filteredItems = useMemo37(() => {
47495
47519
  let result = [...items];
47496
47520
  if (searchQuery) {
@@ -48592,7 +48616,7 @@ import {
48592
48616
  Settings2,
48593
48617
  Table2 as Table22
48594
48618
  } from "lucide-react";
48595
- import { useCallback as useCallback73, useId as useId25, useMemo as useMemo38, useState as useState63 } from "react";
48619
+ import { useCallback as useCallback73, useId as useId25, useMemo as useMemo38, useState as useState64 } from "react";
48596
48620
  import { jsx as jsx199, jsxs as jsxs150 } from "react/jsx-runtime";
48597
48621
  var STEPS = [
48598
48622
  { label: "Selecionar Template", description: "Escolha o tipo de relat\xF3rio" },
@@ -49008,15 +49032,15 @@ function ReportGenerator({
49008
49032
  layout
49009
49033
  }) {
49010
49034
  const componentId = useId25();
49011
- const [currentStep, setCurrentStep] = useState63(0);
49012
- const [completedSteps, setCompletedSteps] = useState63([]);
49013
- const [generatorState, setGeneratorState] = useState63("idle");
49014
- const [selectedTemplateId, setSelectedTemplateId] = useState63(
49035
+ const [currentStep, setCurrentStep] = useState64(0);
49036
+ const [completedSteps, setCompletedSteps] = useState64([]);
49037
+ const [generatorState, setGeneratorState] = useState64("idle");
49038
+ const [selectedTemplateId, setSelectedTemplateId] = useState64(
49015
49039
  defaultTemplate
49016
49040
  );
49017
- const [config, setConfig] = useState63({});
49018
- const [previewData, setPreviewData] = useState63([]);
49019
- const [error, setError] = useState63(null);
49041
+ const [config, setConfig] = useState64({});
49042
+ const [previewData, setPreviewData] = useState64([]);
49043
+ const [error, setError] = useState64(null);
49020
49044
  const selectedTemplate = useMemo38(
49021
49045
  () => templates.find((t) => t.id === selectedTemplateId),
49022
49046
  [templates, selectedTemplateId]
@@ -49931,7 +49955,7 @@ function TaskCard({
49931
49955
 
49932
49956
  // src/components/workflow/TaskList/TaskList.tsx
49933
49957
  import { Check as Check13, ChevronDown as ChevronDown8, ChevronUp as ChevronUp2, Filter, X as X20 } from "lucide-react";
49934
- import { useCallback as useCallback74, useMemo as useMemo39, useState as useState64 } from "react";
49958
+ import { useCallback as useCallback74, useMemo as useMemo39, useState as useState65 } from "react";
49935
49959
 
49936
49960
  // src/components/workflow/TaskList/TaskList.variants.ts
49937
49961
  import { cva as cva154 } from "class-variance-authority";
@@ -50275,10 +50299,10 @@ function TaskList2({
50275
50299
  variant = "default",
50276
50300
  ...props
50277
50301
  }) {
50278
- const [selectedIds, setSelectedIds] = useState64(() => /* @__PURE__ */ new Set());
50279
- const [sortField, setSortField] = useState64("title");
50280
- const [sortDirection, setSortDirection] = useState64("asc");
50281
- const [filterStatus, setFilterStatus] = useState64(null);
50302
+ const [selectedIds, setSelectedIds] = useState65(() => /* @__PURE__ */ new Set());
50303
+ const [sortField, setSortField] = useState65("title");
50304
+ const [sortDirection, setSortDirection] = useState65("asc");
50305
+ const [filterStatus, setFilterStatus] = useState65(null);
50282
50306
  const filteredTasks = useMemo39(() => {
50283
50307
  if (!filterStatus) return tasks;
50284
50308
  return tasks.filter((task) => task.status === filterStatus);
@@ -50467,7 +50491,7 @@ import {
50467
50491
  ClockIcon as ClockIcon3,
50468
50492
  EyeIcon as EyeIcon2
50469
50493
  } from "lucide-react";
50470
- import { useId as useId26, useMemo as useMemo40, useState as useState65 } from "react";
50494
+ import { useId as useId26, useMemo as useMemo40, useState as useState66 } from "react";
50471
50495
 
50472
50496
  // src/components/workflow/TaskStatus/TaskStatus.variants.ts
50473
50497
  import { cva as cva155 } from "class-variance-authority";
@@ -50641,7 +50665,7 @@ function TaskStatus({
50641
50665
  ...props
50642
50666
  }) {
50643
50667
  const id = useId26();
50644
- const [isOpen, setIsOpen] = useState65(false);
50668
+ const [isOpen, setIsOpen] = useState66(false);
50645
50669
  const statusConfigs = useMemo40(
50646
50670
  () => ({
50647
50671
  ...DEFAULT_STATUS_CONFIGS,
@@ -50751,7 +50775,7 @@ function TaskStatus({
50751
50775
  }
50752
50776
 
50753
50777
  // src/components/workflow/Wizard/Wizard.tsx
50754
- import { useCallback as useCallback75, useEffect as useEffect33, useRef as useRef46, useState as useState66 } from "react";
50778
+ import { useCallback as useCallback75, useEffect as useEffect34, useRef as useRef46, useState as useState67 } from "react";
50755
50779
 
50756
50780
  // src/components/workflow/Wizard/Wizard.variants.ts
50757
50781
  import { cva as cva156 } from "class-variance-authority";
@@ -50872,7 +50896,7 @@ function Wizard({
50872
50896
  variant = "default",
50873
50897
  ...props
50874
50898
  }) {
50875
- const [isValidating, setIsValidating] = useState66(false);
50899
+ const [isValidating, setIsValidating] = useState67(false);
50876
50900
  const contentRef = useRef46(null);
50877
50901
  const isLastStep = currentStep >= steps.length - 1;
50878
50902
  const isFirstStep = currentStep === 0;
@@ -50880,7 +50904,7 @@ function Wizard({
50880
50904
  const stepperSteps = steps.map(
50881
50905
  (step, index) => convertToStepItem(step, index, currentStep)
50882
50906
  );
50883
- useEffect33(() => {
50907
+ useEffect34(() => {
50884
50908
  if (contentRef.current) {
50885
50909
  contentRef.current.focus();
50886
50910
  }