analytica-frontend-lib 1.2.21 → 1.2.22

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.mjs CHANGED
@@ -2772,13 +2772,12 @@ var Divider_default = Divider;
2772
2772
 
2773
2773
  // src/components/Table/Table.tsx
2774
2774
  import {
2775
- forwardRef as forwardRef8,
2775
+ forwardRef as forwardRef9,
2776
2776
  useState as useState8,
2777
2777
  useMemo as useMemo6,
2778
2778
  useEffect as useEffect7,
2779
2779
  Children as Children2,
2780
- isValidElement as isValidElement2,
2781
- cloneElement as cloneElement2
2780
+ isValidElement as isValidElement2
2782
2781
  } from "react";
2783
2782
  import { CaretUp, CaretDown as CaretDown2 } from "phosphor-react";
2784
2783
 
@@ -2811,9 +2810,161 @@ var NoSearchResult = ({ image, title, description }) => {
2811
2810
  };
2812
2811
  var NoSearchResult_default = NoSearchResult;
2813
2812
 
2813
+ // src/components/Skeleton/Skeleton.tsx
2814
+ import { forwardRef as forwardRef8 } from "react";
2815
+ import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
2816
+ var SKELETON_ANIMATION_CLASSES = {
2817
+ pulse: "animate-pulse",
2818
+ none: ""
2819
+ };
2820
+ var SKELETON_VARIANT_CLASSES = {
2821
+ text: "h-4 bg-background-200 rounded",
2822
+ circular: "bg-background-200 rounded-full",
2823
+ rectangular: "bg-background-200",
2824
+ rounded: "bg-background-200 rounded-lg"
2825
+ };
2826
+ var SPACING_CLASSES = {
2827
+ none: "",
2828
+ small: "space-y-1",
2829
+ medium: "space-y-2",
2830
+ large: "space-y-3"
2831
+ };
2832
+ var Skeleton = forwardRef8(
2833
+ ({
2834
+ variant = "text",
2835
+ width,
2836
+ height,
2837
+ animation = "pulse",
2838
+ lines = 1,
2839
+ spacing = "none",
2840
+ className = "",
2841
+ children,
2842
+ ...props
2843
+ }, ref) => {
2844
+ const animationClass = SKELETON_ANIMATION_CLASSES[animation];
2845
+ const variantClass = SKELETON_VARIANT_CLASSES[variant];
2846
+ const spacingClass = SPACING_CLASSES[spacing];
2847
+ const style = {
2848
+ width: typeof width === "number" ? `${width}px` : width,
2849
+ height: typeof height === "number" ? `${height}px` : height
2850
+ };
2851
+ if (variant === "text" && lines > 1) {
2852
+ return /* @__PURE__ */ jsx23(
2853
+ "div",
2854
+ {
2855
+ ref,
2856
+ className: cn("flex flex-col", spacingClass, className),
2857
+ ...props,
2858
+ children: Array.from({ length: lines }, (_, index) => /* @__PURE__ */ jsx23(
2859
+ "div",
2860
+ {
2861
+ className: cn(variantClass, animationClass),
2862
+ style: index === lines - 1 ? { width: "60%" } : void 0
2863
+ },
2864
+ index
2865
+ ))
2866
+ }
2867
+ );
2868
+ }
2869
+ return /* @__PURE__ */ jsx23(
2870
+ "div",
2871
+ {
2872
+ ref,
2873
+ className: cn(variantClass, animationClass, className),
2874
+ style,
2875
+ ...props,
2876
+ children
2877
+ }
2878
+ );
2879
+ }
2880
+ );
2881
+ var SkeletonText = forwardRef8(
2882
+ (props, ref) => /* @__PURE__ */ jsx23(Skeleton, { ref, variant: "text", ...props })
2883
+ );
2884
+ var SkeletonCircle = forwardRef8((props, ref) => /* @__PURE__ */ jsx23(Skeleton, { ref, variant: "circular", ...props }));
2885
+ var SkeletonRectangle = forwardRef8((props, ref) => /* @__PURE__ */ jsx23(Skeleton, { ref, variant: "rectangular", ...props }));
2886
+ var SkeletonRounded = forwardRef8((props, ref) => /* @__PURE__ */ jsx23(Skeleton, { ref, variant: "rounded", ...props }));
2887
+ var SkeletonCard = forwardRef8(
2888
+ ({
2889
+ showAvatar = true,
2890
+ showTitle = true,
2891
+ showDescription = true,
2892
+ showActions = true,
2893
+ lines = 2,
2894
+ className = "",
2895
+ ...props
2896
+ }, ref) => {
2897
+ return /* @__PURE__ */ jsxs18(
2898
+ "div",
2899
+ {
2900
+ ref,
2901
+ className: cn(
2902
+ "w-full p-4 bg-background border border-border-200 rounded-lg",
2903
+ className
2904
+ ),
2905
+ ...props,
2906
+ children: [
2907
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-start space-x-3", children: [
2908
+ showAvatar && /* @__PURE__ */ jsx23(SkeletonCircle, { width: 40, height: 40 }),
2909
+ /* @__PURE__ */ jsxs18("div", { className: "flex-1 space-y-2", children: [
2910
+ showTitle && /* @__PURE__ */ jsx23(SkeletonText, { width: "60%", height: 20 }),
2911
+ showDescription && /* @__PURE__ */ jsx23(SkeletonText, { lines, spacing: "small" })
2912
+ ] })
2913
+ ] }),
2914
+ showActions && /* @__PURE__ */ jsxs18("div", { className: "flex justify-end space-x-2 mt-4", children: [
2915
+ /* @__PURE__ */ jsx23(SkeletonRectangle, { width: 80, height: 32 }),
2916
+ /* @__PURE__ */ jsx23(SkeletonRectangle, { width: 80, height: 32 })
2917
+ ] })
2918
+ ]
2919
+ }
2920
+ );
2921
+ }
2922
+ );
2923
+ var SkeletonList = forwardRef8(
2924
+ ({
2925
+ items = 3,
2926
+ showAvatar = true,
2927
+ showTitle = true,
2928
+ showDescription = true,
2929
+ lines = 1,
2930
+ className = "",
2931
+ ...props
2932
+ }, ref) => {
2933
+ return /* @__PURE__ */ jsx23("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ jsxs18("div", { className: "flex items-start space-x-3 p-3", children: [
2934
+ showAvatar && /* @__PURE__ */ jsx23(SkeletonCircle, { width: 32, height: 32 }),
2935
+ /* @__PURE__ */ jsxs18("div", { className: "flex-1 space-y-2", children: [
2936
+ showTitle && /* @__PURE__ */ jsx23(SkeletonText, { width: "40%", height: 16 }),
2937
+ showDescription && /* @__PURE__ */ jsx23(SkeletonText, { lines, spacing: "small" })
2938
+ ] })
2939
+ ] }, index)) });
2940
+ }
2941
+ );
2942
+ var SkeletonTable = forwardRef8(
2943
+ ({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
2944
+ return /* @__PURE__ */ jsxs18("div", { ref, className: cn("w-full", className), ...props, children: [
2945
+ showHeader && /* @__PURE__ */ jsx23("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ jsx23(
2946
+ SkeletonText,
2947
+ {
2948
+ width: `${100 / columns}%`,
2949
+ height: 20
2950
+ },
2951
+ index
2952
+ )) }),
2953
+ /* @__PURE__ */ jsx23("div", { className: "space-y-2", children: Array.from({ length: rows }, (_, rowIndex) => /* @__PURE__ */ jsx23("div", { className: "flex space-x-2", children: Array.from({ length: columns }, (_2, colIndex) => /* @__PURE__ */ jsx23(
2954
+ SkeletonText,
2955
+ {
2956
+ width: `${100 / columns}%`,
2957
+ height: 16
2958
+ },
2959
+ colIndex
2960
+ )) }, rowIndex)) })
2961
+ ] });
2962
+ }
2963
+ );
2964
+
2814
2965
  // src/components/Table/TablePagination.tsx
2815
2966
  import { CaretLeft as CaretLeft2, CaretRight as CaretRight2, CaretDown } from "phosphor-react";
2816
- import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
2967
+ import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
2817
2968
  var TablePagination = ({
2818
2969
  totalItems,
2819
2970
  currentPage,
@@ -2844,7 +2995,7 @@ var TablePagination = ({
2844
2995
  };
2845
2996
  const isFirstPage = currentPage === 1;
2846
2997
  const isLastPage = currentPage === totalPages;
2847
- return /* @__PURE__ */ jsxs18(
2998
+ return /* @__PURE__ */ jsxs19(
2848
2999
  "div",
2849
3000
  {
2850
3001
  className: cn(
@@ -2854,29 +3005,29 @@ var TablePagination = ({
2854
3005
  ),
2855
3006
  ...props,
2856
3007
  children: [
2857
- /* @__PURE__ */ jsxs18("span", { className: "font-normal text-xs leading-[14px] text-text-800", children: [
3008
+ /* @__PURE__ */ jsxs19("span", { className: "font-normal text-xs leading-[14px] text-text-800", children: [
2858
3009
  startItem,
2859
3010
  " de ",
2860
3011
  totalItems,
2861
3012
  " ",
2862
3013
  itemLabel
2863
3014
  ] }),
2864
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-wrap sm:flex-nowrap items-center gap-2 sm:gap-4 justify-center sm:justify-start", children: [
2865
- onItemsPerPageChange && /* @__PURE__ */ jsxs18("div", { className: "relative", children: [
2866
- /* @__PURE__ */ jsx23(
3015
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-wrap sm:flex-nowrap items-center gap-2 sm:gap-4 justify-center sm:justify-start", children: [
3016
+ onItemsPerPageChange && /* @__PURE__ */ jsxs19("div", { className: "relative", children: [
3017
+ /* @__PURE__ */ jsx24(
2867
3018
  "select",
2868
3019
  {
2869
3020
  value: itemsPerPage,
2870
3021
  onChange: handleItemsPerPageChange,
2871
3022
  className: "w-24 h-9 py-0 px-3 pr-8 bg-background border border-border-300 rounded appearance-none cursor-pointer font-normal text-sm leading-[21px] text-text-900",
2872
3023
  "aria-label": "Items por p\xE1gina",
2873
- children: itemsPerPageOptions.map((option) => /* @__PURE__ */ jsxs18("option", { value: option, children: [
3024
+ children: itemsPerPageOptions.map((option) => /* @__PURE__ */ jsxs19("option", { value: option, children: [
2874
3025
  option,
2875
3026
  " itens"
2876
3027
  ] }, option))
2877
3028
  }
2878
3029
  ),
2879
- /* @__PURE__ */ jsx23(
3030
+ /* @__PURE__ */ jsx24(
2880
3031
  CaretDown,
2881
3032
  {
2882
3033
  size: 14,
@@ -2885,13 +3036,13 @@ var TablePagination = ({
2885
3036
  }
2886
3037
  )
2887
3038
  ] }),
2888
- /* @__PURE__ */ jsxs18("span", { className: "font-normal text-xs leading-[14px] text-text-950", children: [
3039
+ /* @__PURE__ */ jsxs19("span", { className: "font-normal text-xs leading-[14px] text-text-950", children: [
2889
3040
  "P\xE1gina ",
2890
3041
  currentPage,
2891
3042
  " de ",
2892
3043
  totalPages
2893
3044
  ] }),
2894
- /* @__PURE__ */ jsxs18(
3045
+ /* @__PURE__ */ jsxs19(
2895
3046
  "button",
2896
3047
  {
2897
3048
  onClick: handlePrevious,
@@ -2902,12 +3053,12 @@ var TablePagination = ({
2902
3053
  ),
2903
3054
  "aria-label": "P\xE1gina anterior",
2904
3055
  children: [
2905
- /* @__PURE__ */ jsx23(CaretLeft2, { size: 12, weight: "bold", className: "text-primary-950" }),
2906
- /* @__PURE__ */ jsx23("span", { className: "font-medium text-xs leading-[14px] text-primary-950", children: "Anterior" })
3056
+ /* @__PURE__ */ jsx24(CaretLeft2, { size: 12, weight: "bold", className: "text-primary-950" }),
3057
+ /* @__PURE__ */ jsx24("span", { className: "font-medium text-xs leading-[14px] text-primary-950", children: "Anterior" })
2907
3058
  ]
2908
3059
  }
2909
3060
  ),
2910
- /* @__PURE__ */ jsxs18(
3061
+ /* @__PURE__ */ jsxs19(
2911
3062
  "button",
2912
3063
  {
2913
3064
  onClick: handleNext2,
@@ -2918,8 +3069,8 @@ var TablePagination = ({
2918
3069
  ),
2919
3070
  "aria-label": "Pr\xF3xima p\xE1gina",
2920
3071
  children: [
2921
- /* @__PURE__ */ jsx23("span", { className: "font-medium text-xs leading-[14px] text-primary-950", children: "Pr\xF3xima" }),
2922
- /* @__PURE__ */ jsx23(CaretRight2, { size: 12, weight: "bold", className: "text-primary-950" })
3072
+ /* @__PURE__ */ jsx24("span", { className: "font-medium text-xs leading-[14px] text-primary-950", children: "Pr\xF3xima" }),
3073
+ /* @__PURE__ */ jsx24(CaretRight2, { size: 12, weight: "bold", className: "text-primary-950" })
2923
3074
  ]
2924
3075
  }
2925
3076
  )
@@ -2932,7 +3083,7 @@ TablePagination.displayName = "TablePagination";
2932
3083
  var TablePagination_default = TablePagination;
2933
3084
 
2934
3085
  // src/components/Table/Table.tsx
2935
- import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
3086
+ import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
2936
3087
  function useTableSort(data, options = {}) {
2937
3088
  const { syncWithUrl = false } = options;
2938
3089
  const getInitialState = () => {
@@ -3002,121 +3153,157 @@ function useTableSort(data, options = {}) {
3002
3153
  }, [data, sortColumn, sortDirection]);
3003
3154
  return { sortedData, sortColumn, sortDirection, handleSort };
3004
3155
  }
3005
- var Table = forwardRef8(
3156
+ var renderHeaderElements = (children) => {
3157
+ return Children2.map(children, (child) => {
3158
+ if (isValidElement2(child) && (child.type === TableCaption || child.type === TableHeader)) {
3159
+ return child;
3160
+ }
3161
+ return null;
3162
+ });
3163
+ };
3164
+ var getNoSearchResultContent = (config, defaultTitle, defaultDescription) => {
3165
+ if (config.component) {
3166
+ return config.component;
3167
+ }
3168
+ if (config.image) {
3169
+ return /* @__PURE__ */ jsx25(
3170
+ NoSearchResult_default,
3171
+ {
3172
+ image: config.image,
3173
+ title: config.title || defaultTitle,
3174
+ description: config.description || defaultDescription
3175
+ }
3176
+ );
3177
+ }
3178
+ return /* @__PURE__ */ jsxs20("div", { className: "text-center", children: [
3179
+ /* @__PURE__ */ jsx25("p", { className: "text-text-600 text-lg font-semibold mb-2", children: config.title || defaultTitle }),
3180
+ /* @__PURE__ */ jsx25("p", { className: "text-text-500 text-sm", children: config.description || defaultDescription })
3181
+ ] });
3182
+ };
3183
+ var getEmptyStateContent = (config, defaultMessage, defaultButtonText, onButtonClick) => {
3184
+ if (config?.component) {
3185
+ return config.component;
3186
+ }
3187
+ return /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center justify-center gap-4", children: [
3188
+ config?.image && /* @__PURE__ */ jsx25(
3189
+ "img",
3190
+ {
3191
+ src: config.image,
3192
+ alt: "Empty state",
3193
+ className: "w-auto h-auto max-w-full"
3194
+ }
3195
+ ),
3196
+ /* @__PURE__ */ jsx25("p", { className: "text-text-600 text-base font-normal", children: config?.message || defaultMessage }),
3197
+ (config?.onButtonClick || onButtonClick) && /* @__PURE__ */ jsx25(
3198
+ Button_default,
3199
+ {
3200
+ variant: "solid",
3201
+ action: "primary",
3202
+ size: "medium",
3203
+ onClick: config?.onButtonClick || onButtonClick,
3204
+ children: config?.buttonText || defaultButtonText
3205
+ }
3206
+ )
3207
+ ] });
3208
+ };
3209
+ var renderTableWrapper = (variant, tableRef, className, children, stateContent, tableProps) => {
3210
+ return /* @__PURE__ */ jsxs20(
3211
+ "div",
3212
+ {
3213
+ className: cn(
3214
+ "relative w-full overflow-x-auto",
3215
+ variant === "default" && "border border-border-200 rounded-xl"
3216
+ ),
3217
+ children: [
3218
+ /* @__PURE__ */ jsx25(
3219
+ "table",
3220
+ {
3221
+ ref: tableRef,
3222
+ className: cn(
3223
+ "analytica-table w-full caption-bottom text-sm border-separate border-spacing-0",
3224
+ className
3225
+ ),
3226
+ ...tableProps,
3227
+ children: renderHeaderElements(children)
3228
+ }
3229
+ ),
3230
+ /* @__PURE__ */ jsx25("div", { className: "py-8 flex justify-center", children: stateContent })
3231
+ ]
3232
+ }
3233
+ );
3234
+ };
3235
+ var Table = forwardRef9(
3006
3236
  ({
3007
3237
  variant = "default",
3008
3238
  className,
3009
3239
  children,
3010
- searchTerm,
3011
- noSearchResultImage,
3012
- noSearchResultTitle = "Nenhum resultado encontrado",
3013
- noSearchResultDescription = "N\xE3o encontramos nenhum resultado com esse nome. Tente revisar a busca ou usar outra palavra-chave.",
3014
- emptyStateMessage = "Nenhum dado dispon\xEDvel no momento.",
3015
- emptyStateButtonText = "Adicionar item",
3016
- onEmptyStateButtonClick,
3240
+ showLoading = false,
3241
+ loadingState,
3242
+ showNoSearchResult = false,
3243
+ noSearchResultState,
3244
+ showEmpty = false,
3245
+ emptyState,
3017
3246
  ...props
3018
3247
  }, ref) => {
3019
- const isTableBodyEmpty = useMemo6(() => {
3020
- let foundBody = false;
3021
- let empty = true;
3022
- Children2.forEach(children, (child) => {
3023
- if (isValidElement2(child) && child.type === TableBody) {
3024
- foundBody = true;
3025
- const bodyProps = child.props;
3026
- if (Children2.count(bodyProps?.children) > 0) {
3027
- empty = false;
3028
- }
3029
- }
3030
- });
3031
- return foundBody ? empty : false;
3032
- }, [children]);
3033
- const columnCount = useMemo6(() => {
3034
- let count = 0;
3035
- Children2.forEach(children, (child) => {
3036
- if (isValidElement2(child) && child.type === TableHeader) {
3037
- const headerProps = child.props;
3038
- Children2.forEach(headerProps.children, (row) => {
3039
- if (isValidElement2(row) && row.type === TableRow) {
3040
- const rowProps = row.props;
3041
- count = Children2.count(rowProps.children);
3042
- }
3043
- });
3044
- }
3045
- });
3046
- return count || 1;
3047
- }, [children]);
3048
- const hasSearchTerm = searchTerm && searchTerm.trim() !== "";
3049
- const showNoSearchResult = hasSearchTerm && isTableBodyEmpty;
3050
- const showEmptyState = !hasSearchTerm && isTableBodyEmpty;
3248
+ const defaultNoSearchResultState = {
3249
+ title: "Nenhum resultado encontrado",
3250
+ description: "N\xE3o encontramos nenhum resultado com esse nome. Tente revisar a busca ou usar outra palavra-chave."
3251
+ };
3252
+ const defaultEmptyState = {
3253
+ message: "Nenhum dado dispon\xEDvel no momento.",
3254
+ buttonText: "Adicionar item"
3255
+ };
3256
+ const finalNoSearchResultState = noSearchResultState || defaultNoSearchResultState;
3257
+ const finalEmptyState = emptyState || defaultEmptyState;
3258
+ if (showLoading) {
3259
+ const loadingContent = loadingState?.component || /* @__PURE__ */ jsx25(SkeletonTable, { rows: 5, columns: 4, showHeader: false });
3260
+ return renderTableWrapper(
3261
+ variant,
3262
+ ref,
3263
+ className,
3264
+ children,
3265
+ loadingContent,
3266
+ props
3267
+ );
3268
+ }
3051
3269
  if (showNoSearchResult) {
3052
- return /* @__PURE__ */ jsxs19(
3053
- "div",
3054
- {
3055
- className: cn(
3056
- "relative w-full overflow-x-auto",
3057
- variant === "default" && "border border-border-200 rounded-xl"
3058
- ),
3059
- children: [
3060
- /* @__PURE__ */ jsx24(
3061
- "table",
3062
- {
3063
- ref,
3064
- className: cn(
3065
- "analytica-table w-full caption-bottom text-sm border-separate border-spacing-0",
3066
- className
3067
- ),
3068
- ...props,
3069
- children: Children2.map(children, (child) => {
3070
- if (isValidElement2(child) && (child.type === TableCaption || child.type === TableHeader)) {
3071
- return child;
3072
- }
3073
- return null;
3074
- })
3075
- }
3076
- ),
3077
- /* @__PURE__ */ jsx24("div", { className: "py-8 flex justify-center", children: noSearchResultImage ? /* @__PURE__ */ jsx24(
3078
- NoSearchResult_default,
3079
- {
3080
- image: noSearchResultImage,
3081
- title: noSearchResultTitle,
3082
- description: noSearchResultDescription
3083
- }
3084
- ) : /* @__PURE__ */ jsxs19("div", { className: "text-center", children: [
3085
- /* @__PURE__ */ jsx24("p", { className: "text-text-600 text-lg font-semibold mb-2", children: noSearchResultTitle }),
3086
- /* @__PURE__ */ jsx24("p", { className: "text-text-500 text-sm", children: noSearchResultDescription })
3087
- ] }) })
3088
- ]
3089
- }
3270
+ const noSearchContent = getNoSearchResultContent(
3271
+ finalNoSearchResultState,
3272
+ defaultNoSearchResultState.title || "",
3273
+ defaultNoSearchResultState.description || ""
3274
+ );
3275
+ return renderTableWrapper(
3276
+ variant,
3277
+ ref,
3278
+ className,
3279
+ children,
3280
+ noSearchContent,
3281
+ props
3090
3282
  );
3091
3283
  }
3092
- const modifiedChildren = Children2.map(children, (child) => {
3093
- if (isValidElement2(child) && child.type === TableBody && showEmptyState) {
3094
- return cloneElement2(child, {
3095
- children: /* @__PURE__ */ jsx24(TableRow, { variant, children: /* @__PURE__ */ jsx24(TableCell, { colSpan: columnCount, children: /* @__PURE__ */ jsxs19("div", { className: "flex flex-col items-center justify-center py-12 gap-4", children: [
3096
- /* @__PURE__ */ jsx24("p", { className: "text-text-600 text-base font-normal", children: emptyStateMessage }),
3097
- onEmptyStateButtonClick && /* @__PURE__ */ jsx24(
3098
- Button_default,
3099
- {
3100
- variant: "solid",
3101
- action: "primary",
3102
- size: "medium",
3103
- onClick: onEmptyStateButtonClick,
3104
- children: emptyStateButtonText
3105
- }
3106
- )
3107
- ] }) }) })
3108
- });
3109
- }
3110
- return child;
3111
- });
3112
- return /* @__PURE__ */ jsx24(
3284
+ if (showEmpty) {
3285
+ const emptyContent = getEmptyStateContent(
3286
+ finalEmptyState,
3287
+ defaultEmptyState.message || "Nenhum dado dispon\xEDvel no momento.",
3288
+ defaultEmptyState.buttonText || "Adicionar item"
3289
+ );
3290
+ return renderTableWrapper(
3291
+ variant,
3292
+ ref,
3293
+ className,
3294
+ children,
3295
+ emptyContent,
3296
+ props
3297
+ );
3298
+ }
3299
+ return /* @__PURE__ */ jsx25(
3113
3300
  "div",
3114
3301
  {
3115
3302
  className: cn(
3116
3303
  "relative w-full overflow-x-auto",
3117
3304
  variant === "default" && "border border-border-200 rounded-xl"
3118
3305
  ),
3119
- children: /* @__PURE__ */ jsxs19(
3306
+ children: /* @__PURE__ */ jsxs20(
3120
3307
  "table",
3121
3308
  {
3122
3309
  ref,
@@ -3130,8 +3317,8 @@ var Table = forwardRef8(
3130
3317
  children: [
3131
3318
  !Children2.toArray(children).some(
3132
3319
  (child) => isValidElement2(child) && child.type === TableCaption
3133
- ) && /* @__PURE__ */ jsx24("caption", { className: "sr-only", children: "My Table" }),
3134
- modifiedChildren
3320
+ ) && /* @__PURE__ */ jsx25("caption", { className: "sr-only", children: "My Table" }),
3321
+ children
3135
3322
  ]
3136
3323
  }
3137
3324
  )
@@ -3140,7 +3327,7 @@ var Table = forwardRef8(
3140
3327
  }
3141
3328
  );
3142
3329
  Table.displayName = "Table";
3143
- var TableHeader = forwardRef8(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
3330
+ var TableHeader = forwardRef9(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
3144
3331
  "thead",
3145
3332
  {
3146
3333
  ref,
@@ -3149,8 +3336,8 @@ var TableHeader = forwardRef8(({ className, ...props }, ref) => /* @__PURE__ */
3149
3336
  }
3150
3337
  ));
3151
3338
  TableHeader.displayName = "TableHeader";
3152
- var TableBody = forwardRef8(
3153
- ({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx24(
3339
+ var TableBody = forwardRef9(
3340
+ ({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx25(
3154
3341
  "tbody",
3155
3342
  {
3156
3343
  ref,
@@ -3164,8 +3351,8 @@ var TableBody = forwardRef8(
3164
3351
  )
3165
3352
  );
3166
3353
  TableBody.displayName = "TableBody";
3167
- var TableFooter = forwardRef8(
3168
- ({ variant = "default", className, ...props }, ref) => /* @__PURE__ */ jsx24(
3354
+ var TableFooter = forwardRef9(
3355
+ ({ variant = "default", className, ...props }, ref) => /* @__PURE__ */ jsx25(
3169
3356
  "tfoot",
3170
3357
  {
3171
3358
  ref,
@@ -3201,7 +3388,7 @@ var VARIANT_STATES_ROW = {
3201
3388
  borderless: "bg-background-50 opacity-50 cursor-not-allowed"
3202
3389
  }
3203
3390
  };
3204
- var TableRow = forwardRef8(
3391
+ var TableRow = forwardRef9(
3205
3392
  ({
3206
3393
  variant = "default",
3207
3394
  state = "default",
@@ -3209,7 +3396,7 @@ var TableRow = forwardRef8(
3209
3396
  className,
3210
3397
  ...props
3211
3398
  }, ref) => {
3212
- return /* @__PURE__ */ jsx24(
3399
+ return /* @__PURE__ */ jsx25(
3213
3400
  "tr",
3214
3401
  {
3215
3402
  ref,
@@ -3227,7 +3414,7 @@ var TableRow = forwardRef8(
3227
3414
  }
3228
3415
  );
3229
3416
  TableRow.displayName = "TableRow";
3230
- var TableHead = forwardRef8(
3417
+ var TableHead = forwardRef9(
3231
3418
  ({
3232
3419
  className,
3233
3420
  sortable = true,
@@ -3241,7 +3428,7 @@ var TableHead = forwardRef8(
3241
3428
  onSort();
3242
3429
  }
3243
3430
  };
3244
- return /* @__PURE__ */ jsx24(
3431
+ return /* @__PURE__ */ jsx25(
3245
3432
  "th",
3246
3433
  {
3247
3434
  ref,
@@ -3252,11 +3439,11 @@ var TableHead = forwardRef8(
3252
3439
  ),
3253
3440
  onClick: handleClick,
3254
3441
  ...props,
3255
- children: /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2", children: [
3442
+ children: /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2", children: [
3256
3443
  children,
3257
- sortable && /* @__PURE__ */ jsxs19("div", { className: "flex flex-col", children: [
3258
- sortDirection === "asc" && /* @__PURE__ */ jsx24(CaretUp, { size: 16, weight: "fill", className: "text-text-800" }),
3259
- sortDirection === "desc" && /* @__PURE__ */ jsx24(CaretDown2, { size: 16, weight: "fill", className: "text-text-800" })
3444
+ sortable && /* @__PURE__ */ jsxs20("div", { className: "flex flex-col", children: [
3445
+ sortDirection === "asc" && /* @__PURE__ */ jsx25(CaretUp, { size: 16, weight: "fill", className: "text-text-800" }),
3446
+ sortDirection === "desc" && /* @__PURE__ */ jsx25(CaretDown2, { size: 16, weight: "fill", className: "text-text-800" })
3260
3447
  ] })
3261
3448
  ] })
3262
3449
  }
@@ -3264,7 +3451,7 @@ var TableHead = forwardRef8(
3264
3451
  }
3265
3452
  );
3266
3453
  TableHead.displayName = "TableHead";
3267
- var TableCell = forwardRef8(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
3454
+ var TableCell = forwardRef9(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
3268
3455
  "td",
3269
3456
  {
3270
3457
  ref,
@@ -3276,7 +3463,7 @@ var TableCell = forwardRef8(({ className, ...props }, ref) => /* @__PURE__ */ js
3276
3463
  }
3277
3464
  ));
3278
3465
  TableCell.displayName = "TableCell";
3279
- var TableCaption = forwardRef8(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
3466
+ var TableCaption = forwardRef9(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
3280
3467
  "caption",
3281
3468
  {
3282
3469
  ref,
@@ -3292,7 +3479,7 @@ var Table_default = Table;
3292
3479
 
3293
3480
  // src/components/AlertManagerView/AlertsManagerView.tsx
3294
3481
  import { CaretLeft as CaretLeft3, CaretRight as CaretRight3, User } from "phosphor-react";
3295
- import { Fragment, jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
3482
+ import { Fragment, jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
3296
3483
  var AlertsManagerView = ({
3297
3484
  alertData,
3298
3485
  isOpen = false,
@@ -3321,7 +3508,7 @@ var AlertsManagerView = ({
3321
3508
  year: "numeric"
3322
3509
  });
3323
3510
  };
3324
- return /* @__PURE__ */ jsx25(
3511
+ return /* @__PURE__ */ jsx26(
3325
3512
  Modal_default,
3326
3513
  {
3327
3514
  isOpen,
@@ -3329,59 +3516,59 @@ var AlertsManagerView = ({
3329
3516
  title: alertData.title,
3330
3517
  size: "md",
3331
3518
  contentClassName: "p-0",
3332
- children: /* @__PURE__ */ jsx25("div", { className: "flex flex-col h-[calc(100vh-8rem)] max-h-[700px]", children: /* @__PURE__ */ jsxs20("div", { className: "flex-1 overflow-y-auto px-6 py-4", children: [
3333
- /* @__PURE__ */ jsxs20("div", { className: "bg-background-50 px-5 py-6 flex flex-col items-center gap-4 rounded-xl mb-4", children: [
3334
- (imageLink || alertData.image || defaultImage) && /* @__PURE__ */ jsx25(
3519
+ children: /* @__PURE__ */ jsx26("div", { className: "flex flex-col h-[calc(100vh-8rem)] max-h-[700px]", children: /* @__PURE__ */ jsxs21("div", { className: "flex-1 overflow-y-auto px-6 py-4", children: [
3520
+ /* @__PURE__ */ jsxs21("div", { className: "bg-background-50 px-5 py-6 flex flex-col items-center gap-4 rounded-xl mb-4", children: [
3521
+ (imageLink || alertData.image || defaultImage) && /* @__PURE__ */ jsx26(
3335
3522
  "img",
3336
3523
  {
3337
3524
  src: imageLink || alertData.image || defaultImage || void 0,
3338
3525
  alt: alertData.title || "Imagem do alerta"
3339
3526
  }
3340
3527
  ),
3341
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center text-center gap-3", children: [
3342
- /* @__PURE__ */ jsx25(Text_default, { size: "lg", weight: "semibold", children: alertData.title || "Sem T\xEDtulo" }),
3343
- /* @__PURE__ */ jsx25(Text_default, { size: "sm", weight: "normal", className: "text-text-500", children: alertData.message || "Sem mensagem" })
3528
+ /* @__PURE__ */ jsxs21("div", { className: "flex flex-col items-center text-center gap-3", children: [
3529
+ /* @__PURE__ */ jsx26(Text_default, { size: "lg", weight: "semibold", children: alertData.title || "Sem T\xEDtulo" }),
3530
+ /* @__PURE__ */ jsx26(Text_default, { size: "sm", weight: "normal", className: "text-text-500", children: alertData.message || "Sem mensagem" })
3344
3531
  ] })
3345
3532
  ] }),
3346
- /* @__PURE__ */ jsx25(Divider_default, { className: "my-4" }),
3347
- /* @__PURE__ */ jsxs20("div", { className: "flex justify-between items-center mb-4 px-2", children: [
3348
- /* @__PURE__ */ jsx25(Text_default, { size: "sm", weight: "bold", className: "text-text-700", children: "Enviado em" }),
3349
- /* @__PURE__ */ jsx25(Text_default, { size: "sm", weight: "medium", className: "text-text-900", children: formatDate(alertData.sentAt) })
3533
+ /* @__PURE__ */ jsx26(Divider_default, { className: "my-4" }),
3534
+ /* @__PURE__ */ jsxs21("div", { className: "flex justify-between items-center mb-4 px-2", children: [
3535
+ /* @__PURE__ */ jsx26(Text_default, { size: "sm", weight: "bold", className: "text-text-700", children: "Enviado em" }),
3536
+ /* @__PURE__ */ jsx26(Text_default, { size: "sm", weight: "medium", className: "text-text-900", children: formatDate(alertData.sentAt) })
3350
3537
  ] }),
3351
- /* @__PURE__ */ jsx25(Divider_default, { className: "my-4" }),
3352
- /* @__PURE__ */ jsx25("div", { className: "mb-4", children: /* @__PURE__ */ jsxs20(Table_default, { variant: "borderless", className: "table-fixed", children: [
3353
- /* @__PURE__ */ jsx25(TableHeader, { children: /* @__PURE__ */ jsxs20(TableRow, { variant: "borderless", children: [
3354
- /* @__PURE__ */ jsx25(TableHead, { className: "py-2 px-3.5 text-start", children: "Destinat\xE1rio" }),
3355
- /* @__PURE__ */ jsx25(TableHead, { className: "py-2 px-3.5 w-[120px] text-start", children: "Status" })
3538
+ /* @__PURE__ */ jsx26(Divider_default, { className: "my-4" }),
3539
+ /* @__PURE__ */ jsx26("div", { className: "mb-4", children: /* @__PURE__ */ jsxs21(Table_default, { variant: "borderless", className: "table-fixed", children: [
3540
+ /* @__PURE__ */ jsx26(TableHeader, { children: /* @__PURE__ */ jsxs21(TableRow, { variant: "borderless", children: [
3541
+ /* @__PURE__ */ jsx26(TableHead, { className: "py-2 px-3.5 text-start", children: "Destinat\xE1rio" }),
3542
+ /* @__PURE__ */ jsx26(TableHead, { className: "py-2 px-3.5 w-[120px] text-start", children: "Status" })
3356
3543
  ] }) }),
3357
- /* @__PURE__ */ jsx25(TableBody, { variant: "borderless", children: paginatedRecipients.map((recipient) => /* @__PURE__ */ jsxs20(TableRow, { children: [
3358
- /* @__PURE__ */ jsxs20(TableCell, { className: "py-2 px-3.5 flex flex-row gap-2 text-start truncate", children: [
3359
- /* @__PURE__ */ jsx25("div", { className: "rounded-full size-6 bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ jsx25(User, { className: "text-primary-950", size: 18 }) }),
3544
+ /* @__PURE__ */ jsx26(TableBody, { variant: "borderless", children: paginatedRecipients.map((recipient) => /* @__PURE__ */ jsxs21(TableRow, { children: [
3545
+ /* @__PURE__ */ jsxs21(TableCell, { className: "py-2 px-3.5 flex flex-row gap-2 text-start truncate", children: [
3546
+ /* @__PURE__ */ jsx26("div", { className: "rounded-full size-6 bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ jsx26(User, { className: "text-primary-950", size: 18 }) }),
3360
3547
  recipient.name
3361
3548
  ] }),
3362
- /* @__PURE__ */ jsx25(TableCell, { className: "py-2 px-3.5 text-center", children: /* @__PURE__ */ jsx25("div", { className: "flex justify-center items-center gap-1", children: recipient.status === "viewed" ? /* @__PURE__ */ jsx25(Badge_default, { variant: "solid", action: "success", children: "Visualizado" }) : /* @__PURE__ */ jsx25(Badge_default, { variant: "solid", action: "error", children: "Pendente" }) }) })
3549
+ /* @__PURE__ */ jsx26(TableCell, { className: "py-2 px-3.5 text-center", children: /* @__PURE__ */ jsx26("div", { className: "flex justify-center items-center gap-1", children: recipient.status === "viewed" ? /* @__PURE__ */ jsx26(Badge_default, { variant: "solid", action: "success", children: "Visualizado" }) : /* @__PURE__ */ jsx26(Badge_default, { variant: "solid", action: "error", children: "Pendente" }) }) })
3363
3550
  ] }, recipient.id)) })
3364
3551
  ] }) }),
3365
- totalPages > 1 && /* @__PURE__ */ jsxs20("div", { className: "flex justify-end items-center gap-2 bg-background-50 border border-border-200 py-3.5 px-2 rounded-b-2xl", children: [
3366
- /* @__PURE__ */ jsxs20(Text_default, { size: "sm", className: "text-text-600", children: [
3552
+ totalPages > 1 && /* @__PURE__ */ jsxs21("div", { className: "flex justify-end items-center gap-2 bg-background-50 border border-border-200 py-3.5 px-2 rounded-b-2xl", children: [
3553
+ /* @__PURE__ */ jsxs21(Text_default, { size: "sm", className: "text-text-600", children: [
3367
3554
  "P\xE1gina ",
3368
3555
  effectiveCurrentPage,
3369
3556
  " de ",
3370
3557
  totalPages
3371
3558
  ] }),
3372
- /* @__PURE__ */ jsx25("div", { className: "flex gap-2", children: onPageChange ? /* @__PURE__ */ jsxs20(Fragment, { children: [
3373
- /* @__PURE__ */ jsx25(
3559
+ /* @__PURE__ */ jsx26("div", { className: "flex gap-2", children: onPageChange ? /* @__PURE__ */ jsxs21(Fragment, { children: [
3560
+ /* @__PURE__ */ jsx26(
3374
3561
  Button_default,
3375
3562
  {
3376
3563
  variant: "link",
3377
3564
  size: "extra-small",
3378
3565
  onClick: () => onPageChange(Math.max(1, effectiveCurrentPage - 1)),
3379
3566
  disabled: effectiveCurrentPage === 1,
3380
- iconLeft: /* @__PURE__ */ jsx25(CaretLeft3, {}),
3567
+ iconLeft: /* @__PURE__ */ jsx26(CaretLeft3, {}),
3381
3568
  children: "Anterior"
3382
3569
  }
3383
3570
  ),
3384
- /* @__PURE__ */ jsx25(
3571
+ /* @__PURE__ */ jsx26(
3385
3572
  Button_default,
3386
3573
  {
3387
3574
  variant: "link",
@@ -3390,28 +3577,28 @@ var AlertsManagerView = ({
3390
3577
  Math.min(totalPages, effectiveCurrentPage + 1)
3391
3578
  ),
3392
3579
  disabled: effectiveCurrentPage === totalPages,
3393
- iconRight: /* @__PURE__ */ jsx25(CaretRight3, {}),
3580
+ iconRight: /* @__PURE__ */ jsx26(CaretRight3, {}),
3394
3581
  children: "Pr\xF3ximo"
3395
3582
  }
3396
3583
  )
3397
- ] }) : /* @__PURE__ */ jsxs20(Fragment, { children: [
3398
- /* @__PURE__ */ jsx25(
3584
+ ] }) : /* @__PURE__ */ jsxs21(Fragment, { children: [
3585
+ /* @__PURE__ */ jsx26(
3399
3586
  Button_default,
3400
3587
  {
3401
3588
  variant: "link",
3402
3589
  size: "extra-small",
3403
3590
  disabled: effectiveCurrentPage === 1,
3404
- iconLeft: /* @__PURE__ */ jsx25(CaretLeft3, {}),
3591
+ iconLeft: /* @__PURE__ */ jsx26(CaretLeft3, {}),
3405
3592
  children: "Anterior"
3406
3593
  }
3407
3594
  ),
3408
- /* @__PURE__ */ jsx25(
3595
+ /* @__PURE__ */ jsx26(
3409
3596
  Button_default,
3410
3597
  {
3411
3598
  variant: "link",
3412
3599
  size: "extra-small",
3413
3600
  disabled: effectiveCurrentPage === totalPages,
3414
- iconRight: /* @__PURE__ */ jsx25(CaretRight3, {}),
3601
+ iconRight: /* @__PURE__ */ jsx26(CaretRight3, {}),
3415
3602
  children: "Pr\xF3ximo"
3416
3603
  }
3417
3604
  )
@@ -3424,17 +3611,17 @@ var AlertsManagerView = ({
3424
3611
 
3425
3612
  // src/components/Radio/Radio.tsx
3426
3613
  import {
3427
- forwardRef as forwardRef9,
3614
+ forwardRef as forwardRef10,
3428
3615
  useState as useState9,
3429
3616
  useId as useId6,
3430
3617
  useEffect as useEffect8,
3431
3618
  useRef as useRef4,
3432
3619
  Children as Children3,
3433
- cloneElement as cloneElement3,
3620
+ cloneElement as cloneElement2,
3434
3621
  isValidElement as isValidElement3
3435
3622
  } from "react";
3436
3623
  import { create as create3, useStore as useStore2 } from "zustand";
3437
- import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
3624
+ import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
3438
3625
  var SIZE_CLASSES7 = {
3439
3626
  small: {
3440
3627
  radio: "w-5 h-5",
@@ -3499,7 +3686,7 @@ var DOT_CLASSES = {
3499
3686
  invalid: "bg-primary-950",
3500
3687
  disabled: "bg-primary-950"
3501
3688
  };
3502
- var Radio = forwardRef9(
3689
+ var Radio = forwardRef10(
3503
3690
  ({
3504
3691
  label,
3505
3692
  size = "medium",
@@ -3573,8 +3760,8 @@ var Radio = forwardRef9(
3573
3760
  const getCursorClass = () => {
3574
3761
  return currentState === "disabled" ? "cursor-not-allowed" : "cursor-pointer";
3575
3762
  };
3576
- return /* @__PURE__ */ jsxs21("div", { className: "flex flex-col", children: [
3577
- /* @__PURE__ */ jsxs21(
3763
+ return /* @__PURE__ */ jsxs22("div", { className: "flex flex-col", children: [
3764
+ /* @__PURE__ */ jsxs22(
3578
3765
  "div",
3579
3766
  {
3580
3767
  className: cn(
@@ -3583,7 +3770,7 @@ var Radio = forwardRef9(
3583
3770
  disabled ? "opacity-40" : ""
3584
3771
  ),
3585
3772
  children: [
3586
- /* @__PURE__ */ jsx26(
3773
+ /* @__PURE__ */ jsx27(
3587
3774
  "input",
3588
3775
  {
3589
3776
  ref: (node) => {
@@ -3607,7 +3794,7 @@ var Radio = forwardRef9(
3607
3794
  ...props
3608
3795
  }
3609
3796
  ),
3610
- /* @__PURE__ */ jsx26(
3797
+ /* @__PURE__ */ jsx27(
3611
3798
  "button",
3612
3799
  {
3613
3800
  type: "button",
@@ -3632,10 +3819,10 @@ var Radio = forwardRef9(
3632
3819
  }
3633
3820
  }
3634
3821
  },
3635
- children: checked && /* @__PURE__ */ jsx26("div", { className: dotClasses })
3822
+ children: checked && /* @__PURE__ */ jsx27("div", { className: dotClasses })
3636
3823
  }
3637
3824
  ),
3638
- label && /* @__PURE__ */ jsx26(
3825
+ label && /* @__PURE__ */ jsx27(
3639
3826
  "div",
3640
3827
  {
3641
3828
  className: cn(
@@ -3643,7 +3830,7 @@ var Radio = forwardRef9(
3643
3830
  sizeClasses.labelHeight,
3644
3831
  "flex-1 min-w-0"
3645
3832
  ),
3646
- children: /* @__PURE__ */ jsx26(
3833
+ children: /* @__PURE__ */ jsx27(
3647
3834
  Text_default,
3648
3835
  {
3649
3836
  as: "label",
@@ -3664,7 +3851,7 @@ var Radio = forwardRef9(
3664
3851
  ]
3665
3852
  }
3666
3853
  ),
3667
- errorMessage && /* @__PURE__ */ jsx26(
3854
+ errorMessage && /* @__PURE__ */ jsx27(
3668
3855
  Text_default,
3669
3856
  {
3670
3857
  size: "sm",
@@ -3674,7 +3861,7 @@ var Radio = forwardRef9(
3674
3861
  children: errorMessage
3675
3862
  }
3676
3863
  ),
3677
- helperText && !errorMessage && /* @__PURE__ */ jsx26(
3864
+ helperText && !errorMessage && /* @__PURE__ */ jsx27(
3678
3865
  Text_default,
3679
3866
  {
3680
3867
  size: "sm",
@@ -3710,12 +3897,12 @@ var injectStore2 = (children, store) => Children3.map(children, (child) => {
3710
3897
  if (!isValidElement3(child)) return child;
3711
3898
  const typedChild = child;
3712
3899
  const shouldInject = typedChild.type === RadioGroupItem;
3713
- return cloneElement3(typedChild, {
3900
+ return cloneElement2(typedChild, {
3714
3901
  ...shouldInject ? { store } : {},
3715
3902
  ...typedChild.props.children ? { children: injectStore2(typedChild.props.children, store) } : {}
3716
3903
  });
3717
3904
  });
3718
- var RadioGroup = forwardRef9(
3905
+ var RadioGroup = forwardRef10(
3719
3906
  ({
3720
3907
  value: propValue,
3721
3908
  defaultValue = "",
@@ -3751,7 +3938,7 @@ var RadioGroup = forwardRef9(
3751
3938
  useEffect8(() => {
3752
3939
  store.setState({ disabled });
3753
3940
  }, [disabled, store]);
3754
- return /* @__PURE__ */ jsx26(
3941
+ return /* @__PURE__ */ jsx27(
3755
3942
  "div",
3756
3943
  {
3757
3944
  ref,
@@ -3765,7 +3952,7 @@ var RadioGroup = forwardRef9(
3765
3952
  }
3766
3953
  );
3767
3954
  RadioGroup.displayName = "RadioGroup";
3768
- var RadioGroupItem = forwardRef9(
3955
+ var RadioGroupItem = forwardRef10(
3769
3956
  ({
3770
3957
  value,
3771
3958
  store: externalStore,
@@ -3788,7 +3975,7 @@ var RadioGroupItem = forwardRef9(
3788
3975
  const isChecked = groupValue === value;
3789
3976
  const isDisabled = groupDisabled || itemDisabled;
3790
3977
  const currentState = isDisabled ? "disabled" : state;
3791
- return /* @__PURE__ */ jsx26(
3978
+ return /* @__PURE__ */ jsx27(
3792
3979
  Radio,
3793
3980
  {
3794
3981
  ref,
@@ -3815,7 +4002,7 @@ var Radio_default = Radio;
3815
4002
 
3816
4003
  // src/components/Toast/Toast.tsx
3817
4004
  import { CheckCircle as CheckCircle2, WarningCircle as WarningCircle4, Info as Info2, X as X3 } from "phosphor-react";
3818
- import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
4005
+ import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
3819
4006
  var VARIANT_ACTION_CLASSES4 = {
3820
4007
  solid: {
3821
4008
  warning: "bg-warning text-warning-600 border-none focus-visible:outline-none",
@@ -3855,7 +4042,7 @@ var Toast = ({
3855
4042
  };
3856
4043
  const IconAction = iconMap[action] || iconMap["success"];
3857
4044
  const baseClasses = "max-w-[390px] w-full flex flex-row items-start justify-between shadow-lg rounded-lg border p-4 gap-6 group";
3858
- return /* @__PURE__ */ jsxs22(
4045
+ return /* @__PURE__ */ jsxs23(
3859
4046
  "div",
3860
4047
  {
3861
4048
  role: "alert",
@@ -3869,20 +4056,20 @@ var Toast = ({
3869
4056
  ),
3870
4057
  ...props,
3871
4058
  children: [
3872
- /* @__PURE__ */ jsxs22("div", { className: "flex flex-row items-start gap-3", children: [
3873
- /* @__PURE__ */ jsx27("span", { className: "mt-1", "data-testid": `toast-icon-${action}`, children: /* @__PURE__ */ jsx27(IconAction, {}) }),
3874
- /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-start justify-start", children: [
3875
- /* @__PURE__ */ jsx27("p", { className: "font-semibold text-md", children: title }),
3876
- description && /* @__PURE__ */ jsx27("p", { className: "text-md text-text-900", children: description })
4059
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-row items-start gap-3", children: [
4060
+ /* @__PURE__ */ jsx28("span", { className: "mt-1", "data-testid": `toast-icon-${action}`, children: /* @__PURE__ */ jsx28(IconAction, {}) }),
4061
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-start justify-start", children: [
4062
+ /* @__PURE__ */ jsx28("p", { className: "font-semibold text-md", children: title }),
4063
+ description && /* @__PURE__ */ jsx28("p", { className: "text-md text-text-900", children: description })
3877
4064
  ] })
3878
4065
  ] }),
3879
- /* @__PURE__ */ jsx27(
4066
+ /* @__PURE__ */ jsx28(
3880
4067
  "button",
3881
4068
  {
3882
4069
  onClick: onClose,
3883
4070
  "aria-label": "Dismiss notification",
3884
4071
  className: "text-background-500 cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity",
3885
- children: /* @__PURE__ */ jsx27(X3, {})
4072
+ children: /* @__PURE__ */ jsx28(X3, {})
3886
4073
  }
3887
4074
  )
3888
4075
  ]
@@ -3910,11 +4097,11 @@ var useToastStore = create4((set) => ({
3910
4097
  var ToastStore_default = useToastStore;
3911
4098
 
3912
4099
  // src/components/Toast/utils/Toaster.tsx
3913
- import { Fragment as Fragment2, jsx as jsx28 } from "react/jsx-runtime";
4100
+ import { Fragment as Fragment2, jsx as jsx29 } from "react/jsx-runtime";
3914
4101
  var Toaster = () => {
3915
4102
  const toasts = ToastStore_default((state) => state.toasts);
3916
4103
  const removeToast = ToastStore_default((state) => state.removeToast);
3917
- return /* @__PURE__ */ jsx28(Fragment2, { children: toasts.map((toast) => /* @__PURE__ */ jsx28(
4104
+ return /* @__PURE__ */ jsx29(Fragment2, { children: toasts.map((toast) => /* @__PURE__ */ jsx29(
3918
4105
  Toast_default,
3919
4106
  {
3920
4107
  title: toast.title,
@@ -3932,7 +4119,7 @@ var Toaster_default = Toaster;
3932
4119
  // src/components/Search/Search.tsx
3933
4120
  import { X as X4, MagnifyingGlass } from "phosphor-react";
3934
4121
  import {
3935
- forwardRef as forwardRef11,
4122
+ forwardRef as forwardRef12,
3936
4123
  useState as useState12,
3937
4124
  useId as useId7,
3938
4125
  useMemo as useMemo7,
@@ -3943,12 +4130,12 @@ import {
3943
4130
  // src/components/DropdownMenu/DropdownMenu.tsx
3944
4131
  import { CaretRight as CaretRight4, SignOut, User as User2 } from "phosphor-react";
3945
4132
  import {
3946
- forwardRef as forwardRef10,
4133
+ forwardRef as forwardRef11,
3947
4134
  useEffect as useEffect11,
3948
4135
  useRef as useRef5,
3949
4136
  isValidElement as isValidElement4,
3950
4137
  Children as Children4,
3951
- cloneElement as cloneElement4,
4138
+ cloneElement as cloneElement3,
3952
4139
  useState as useState11
3953
4140
  } from "react";
3954
4141
  import { create as create6, useStore as useStore3 } from "zustand";
@@ -4079,7 +4266,7 @@ var useTheme = () => {
4079
4266
  };
4080
4267
 
4081
4268
  // src/components/ThemeToggle/ThemeToggle.tsx
4082
- import { jsx as jsx29 } from "react/jsx-runtime";
4269
+ import { jsx as jsx30 } from "react/jsx-runtime";
4083
4270
  var ThemeToggle = ({
4084
4271
  variant = "default",
4085
4272
  onToggle
@@ -4093,17 +4280,17 @@ var ThemeToggle = ({
4093
4280
  {
4094
4281
  id: "light",
4095
4282
  title: "Claro",
4096
- icon: /* @__PURE__ */ jsx29(Sun, { size: 24 })
4283
+ icon: /* @__PURE__ */ jsx30(Sun, { size: 24 })
4097
4284
  },
4098
4285
  {
4099
4286
  id: "dark",
4100
4287
  title: "Escuro",
4101
- icon: /* @__PURE__ */ jsx29(Moon, { size: 24 })
4288
+ icon: /* @__PURE__ */ jsx30(Moon, { size: 24 })
4102
4289
  },
4103
4290
  {
4104
4291
  id: "system",
4105
4292
  title: "Sistema",
4106
- icon: /* @__PURE__ */ jsx29(
4293
+ icon: /* @__PURE__ */ jsx30(
4107
4294
  "svg",
4108
4295
  {
4109
4296
  width: "25",
@@ -4111,7 +4298,7 @@ var ThemeToggle = ({
4111
4298
  viewBox: "0 0 25 25",
4112
4299
  fill: "none",
4113
4300
  xmlns: "http://www.w3.org/2000/svg",
4114
- children: /* @__PURE__ */ jsx29(
4301
+ children: /* @__PURE__ */ jsx30(
4115
4302
  "path",
4116
4303
  {
4117
4304
  d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
@@ -4133,7 +4320,7 @@ var ThemeToggle = ({
4133
4320
  }
4134
4321
  };
4135
4322
  const currentTheme = variant === "with-save" ? tempTheme : themeMode;
4136
- return /* @__PURE__ */ jsx29("div", { className: "flex flex-row gap-2 sm:gap-4 py-2", children: problemTypes.map((type) => /* @__PURE__ */ jsx29(
4323
+ return /* @__PURE__ */ jsx30("div", { className: "flex flex-row gap-2 sm:gap-4 py-2", children: problemTypes.map((type) => /* @__PURE__ */ jsx30(
4137
4324
  SelectionButton_default,
4138
4325
  {
4139
4326
  icon: type.icon,
@@ -4147,7 +4334,7 @@ var ThemeToggle = ({
4147
4334
  };
4148
4335
 
4149
4336
  // src/components/DropdownMenu/DropdownMenu.tsx
4150
- import { Fragment as Fragment3, jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
4337
+ import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
4151
4338
  function createDropdownStore() {
4152
4339
  return create6((set) => ({
4153
4340
  open: false,
@@ -4186,7 +4373,7 @@ var injectStore3 = (children, store) => {
4186
4373
  if (typedChild.props.children) {
4187
4374
  newProps.children = injectStore3(typedChild.props.children, store);
4188
4375
  }
4189
- return cloneElement4(typedChild, newProps);
4376
+ return cloneElement3(typedChild, newProps);
4190
4377
  }
4191
4378
  return child;
4192
4379
  });
@@ -4255,7 +4442,7 @@ var DropdownMenu = ({
4255
4442
  setOpen(propOpen);
4256
4443
  }
4257
4444
  }, [propOpen]);
4258
- return /* @__PURE__ */ jsx30("div", { className: "relative", ref: menuRef, children: injectStore3(children, store) });
4445
+ return /* @__PURE__ */ jsx31("div", { className: "relative", ref: menuRef, children: injectStore3(children, store) });
4259
4446
  };
4260
4447
  var DropdownMenuTrigger = ({
4261
4448
  className,
@@ -4267,7 +4454,7 @@ var DropdownMenuTrigger = ({
4267
4454
  const store = useDropdownStore(externalStore);
4268
4455
  const open = useStore3(store, (s) => s.open);
4269
4456
  const toggleOpen = () => store.setState({ open: !open });
4270
- return /* @__PURE__ */ jsx30(
4457
+ return /* @__PURE__ */ jsx31(
4271
4458
  "div",
4272
4459
  {
4273
4460
  onClick: (e) => {
@@ -4311,8 +4498,8 @@ var MENUCONTENT_VARIANT_CLASSES = {
4311
4498
  menu: "p-1",
4312
4499
  profile: "p-6"
4313
4500
  };
4314
- var MenuLabel = forwardRef10(({ className, inset, store: _store, ...props }, ref) => {
4315
- return /* @__PURE__ */ jsx30(
4501
+ var MenuLabel = forwardRef11(({ className, inset, store: _store, ...props }, ref) => {
4502
+ return /* @__PURE__ */ jsx31(
4316
4503
  "div",
4317
4504
  {
4318
4505
  ref,
@@ -4322,7 +4509,7 @@ var MenuLabel = forwardRef10(({ className, inset, store: _store, ...props }, ref
4322
4509
  );
4323
4510
  });
4324
4511
  MenuLabel.displayName = "MenuLabel";
4325
- var DropdownMenuContent = forwardRef10(
4512
+ var DropdownMenuContent = forwardRef11(
4326
4513
  ({
4327
4514
  className,
4328
4515
  align = "start",
@@ -4351,7 +4538,7 @@ var DropdownMenuContent = forwardRef10(
4351
4538
  return `absolute ${vertical} ${horizontal}`;
4352
4539
  };
4353
4540
  const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
4354
- return /* @__PURE__ */ jsx30(
4541
+ return /* @__PURE__ */ jsx31(
4355
4542
  "div",
4356
4543
  {
4357
4544
  ref,
@@ -4376,7 +4563,7 @@ var DropdownMenuContent = forwardRef10(
4376
4563
  }
4377
4564
  );
4378
4565
  DropdownMenuContent.displayName = "DropdownMenuContent";
4379
- var DropdownMenuItem = forwardRef10(
4566
+ var DropdownMenuItem = forwardRef11(
4380
4567
  ({
4381
4568
  className,
4382
4569
  size = "small",
@@ -4420,7 +4607,7 @@ var DropdownMenuItem = forwardRef10(
4420
4607
  const getVariantProps = () => {
4421
4608
  return variant === "profile" ? { "data-variant": "profile" } : {};
4422
4609
  };
4423
- return /* @__PURE__ */ jsxs23(
4610
+ return /* @__PURE__ */ jsxs24(
4424
4611
  "div",
4425
4612
  {
4426
4613
  ref,
@@ -4446,7 +4633,7 @@ var DropdownMenuItem = forwardRef10(
4446
4633
  ...props,
4447
4634
  children: [
4448
4635
  iconLeft,
4449
- /* @__PURE__ */ jsx30("div", { className: "w-full", children }),
4636
+ /* @__PURE__ */ jsx31("div", { className: "w-full", children }),
4450
4637
  iconRight
4451
4638
  ]
4452
4639
  }
@@ -4454,7 +4641,7 @@ var DropdownMenuItem = forwardRef10(
4454
4641
  }
4455
4642
  );
4456
4643
  DropdownMenuItem.displayName = "DropdownMenuItem";
4457
- var DropdownMenuSeparator = forwardRef10(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ jsx30(
4644
+ var DropdownMenuSeparator = forwardRef11(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ jsx31(
4458
4645
  "div",
4459
4646
  {
4460
4647
  ref,
@@ -4463,11 +4650,11 @@ var DropdownMenuSeparator = forwardRef10(({ className, store: _store, ...props }
4463
4650
  }
4464
4651
  ));
4465
4652
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
4466
- var ProfileMenuTrigger = forwardRef10(({ className, onClick, store: externalStore, ...props }, ref) => {
4653
+ var ProfileMenuTrigger = forwardRef11(({ className, onClick, store: externalStore, ...props }, ref) => {
4467
4654
  const store = useDropdownStore(externalStore);
4468
4655
  const open = useStore3(store, (s) => s.open);
4469
4656
  const toggleOpen = () => store.setState({ open: !open });
4470
- return /* @__PURE__ */ jsx30(
4657
+ return /* @__PURE__ */ jsx31(
4471
4658
  "button",
4472
4659
  {
4473
4660
  ref,
@@ -4482,13 +4669,13 @@ var ProfileMenuTrigger = forwardRef10(({ className, onClick, store: externalStor
4482
4669
  },
4483
4670
  "aria-expanded": open,
4484
4671
  ...props,
4485
- children: /* @__PURE__ */ jsx30("span", { className: "size-6 rounded-full bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ jsx30(User2, { className: "text-primary-950", size: 18 }) })
4672
+ children: /* @__PURE__ */ jsx31("span", { className: "size-6 rounded-full bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ jsx31(User2, { className: "text-primary-950", size: 18 }) })
4486
4673
  }
4487
4674
  );
4488
4675
  });
4489
4676
  ProfileMenuTrigger.displayName = "ProfileMenuTrigger";
4490
- var ProfileMenuHeader = forwardRef10(({ className, name, email, photoUrl, store: _store, ...props }, ref) => {
4491
- return /* @__PURE__ */ jsxs23(
4677
+ var ProfileMenuHeader = forwardRef11(({ className, name, email, photoUrl, store: _store, ...props }, ref) => {
4678
+ return /* @__PURE__ */ jsxs24(
4492
4679
  "div",
4493
4680
  {
4494
4681
  ref,
@@ -4499,16 +4686,16 @@ var ProfileMenuHeader = forwardRef10(({ className, name, email, photoUrl, store:
4499
4686
  ),
4500
4687
  ...props,
4501
4688
  children: [
4502
- /* @__PURE__ */ jsx30("span", { className: "w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center overflow-hidden flex-shrink-0", children: photoUrl ? /* @__PURE__ */ jsx30(
4689
+ /* @__PURE__ */ jsx31("span", { className: "w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center overflow-hidden flex-shrink-0", children: photoUrl ? /* @__PURE__ */ jsx31(
4503
4690
  "img",
4504
4691
  {
4505
4692
  src: photoUrl,
4506
4693
  alt: "Foto de perfil",
4507
4694
  className: "w-full h-full object-cover"
4508
4695
  }
4509
- ) : /* @__PURE__ */ jsx30(User2, { size: 34, className: "text-primary-800" }) }),
4510
- /* @__PURE__ */ jsxs23("div", { className: "flex flex-col min-w-0", children: [
4511
- /* @__PURE__ */ jsx30(
4696
+ ) : /* @__PURE__ */ jsx31(User2, { size: 34, className: "text-primary-800" }) }),
4697
+ /* @__PURE__ */ jsxs24("div", { className: "flex flex-col min-w-0", children: [
4698
+ /* @__PURE__ */ jsx31(
4512
4699
  Text_default,
4513
4700
  {
4514
4701
  size: "xl",
@@ -4518,14 +4705,14 @@ var ProfileMenuHeader = forwardRef10(({ className, name, email, photoUrl, store:
4518
4705
  children: name
4519
4706
  }
4520
4707
  ),
4521
- /* @__PURE__ */ jsx30(Text_default, { size: "md", color: "text-text-600", className: "truncate", children: email })
4708
+ /* @__PURE__ */ jsx31(Text_default, { size: "md", color: "text-text-600", className: "truncate", children: email })
4522
4709
  ] })
4523
4710
  ]
4524
4711
  }
4525
4712
  );
4526
4713
  });
4527
4714
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
4528
- var ProfileMenuInfo = forwardRef10(
4715
+ var ProfileMenuInfo = forwardRef11(
4529
4716
  ({
4530
4717
  className,
4531
4718
  schoolName,
@@ -4534,7 +4721,7 @@ var ProfileMenuInfo = forwardRef10(
4534
4721
  store: _store,
4535
4722
  ...props
4536
4723
  }, ref) => {
4537
- return /* @__PURE__ */ jsxs23(
4724
+ return /* @__PURE__ */ jsxs24(
4538
4725
  "div",
4539
4726
  {
4540
4727
  ref,
@@ -4542,13 +4729,13 @@ var ProfileMenuInfo = forwardRef10(
4542
4729
  className: cn("flex flex-row gap-4 items-center", className),
4543
4730
  ...props,
4544
4731
  children: [
4545
- /* @__PURE__ */ jsx30("span", { className: "w-16 h-16" }),
4546
- /* @__PURE__ */ jsxs23("div", { className: "flex flex-col ", children: [
4547
- /* @__PURE__ */ jsx30(Text_default, { size: "md", color: "text-text-600", children: schoolName }),
4548
- /* @__PURE__ */ jsxs23("span", { className: "flex flex-row items-center gap-2", children: [
4549
- /* @__PURE__ */ jsx30(Text_default, { size: "md", color: "text-text-600", children: classYearName }),
4550
- /* @__PURE__ */ jsx30("p", { className: "text-text-600 text-xs align-middle", children: "\u25CF" }),
4551
- /* @__PURE__ */ jsx30(Text_default, { size: "md", color: "text-text-600", children: schoolYearName })
4732
+ /* @__PURE__ */ jsx31("span", { className: "w-16 h-16" }),
4733
+ /* @__PURE__ */ jsxs24("div", { className: "flex flex-col ", children: [
4734
+ /* @__PURE__ */ jsx31(Text_default, { size: "md", color: "text-text-600", children: schoolName }),
4735
+ /* @__PURE__ */ jsxs24("span", { className: "flex flex-row items-center gap-2", children: [
4736
+ /* @__PURE__ */ jsx31(Text_default, { size: "md", color: "text-text-600", children: classYearName }),
4737
+ /* @__PURE__ */ jsx31("p", { className: "text-text-600 text-xs align-middle", children: "\u25CF" }),
4738
+ /* @__PURE__ */ jsx31(Text_default, { size: "md", color: "text-text-600", children: schoolYearName })
4552
4739
  ] })
4553
4740
  ] })
4554
4741
  ]
@@ -4583,14 +4770,14 @@ var ProfileToggleTheme = ({
4583
4770
  setModalThemeToggle(false);
4584
4771
  setOpen(false);
4585
4772
  };
4586
- return /* @__PURE__ */ jsxs23(Fragment3, { children: [
4587
- /* @__PURE__ */ jsx30(
4773
+ return /* @__PURE__ */ jsxs24(Fragment3, { children: [
4774
+ /* @__PURE__ */ jsx31(
4588
4775
  DropdownMenuItem,
4589
4776
  {
4590
4777
  variant: "profile",
4591
4778
  preventClose: true,
4592
4779
  store,
4593
- iconLeft: /* @__PURE__ */ jsx30(
4780
+ iconLeft: /* @__PURE__ */ jsx31(
4594
4781
  "svg",
4595
4782
  {
4596
4783
  width: "24",
@@ -4598,7 +4785,7 @@ var ProfileToggleTheme = ({
4598
4785
  viewBox: "0 0 25 25",
4599
4786
  fill: "none",
4600
4787
  xmlns: "http://www.w3.org/2000/svg",
4601
- children: /* @__PURE__ */ jsx30(
4788
+ children: /* @__PURE__ */ jsx31(
4602
4789
  "path",
4603
4790
  {
4604
4791
  d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
@@ -4607,7 +4794,7 @@ var ProfileToggleTheme = ({
4607
4794
  )
4608
4795
  }
4609
4796
  ),
4610
- iconRight: /* @__PURE__ */ jsx30(CaretRight4, {}),
4797
+ iconRight: /* @__PURE__ */ jsx31(CaretRight4, {}),
4611
4798
  onClick: handleClick,
4612
4799
  onKeyDown: (e) => {
4613
4800
  if (e.key === "Enter" || e.key === " ") {
@@ -4617,31 +4804,31 @@ var ProfileToggleTheme = ({
4617
4804
  }
4618
4805
  },
4619
4806
  ...props,
4620
- children: /* @__PURE__ */ jsx30(Text_default, { size: "md", color: "text-text-700", children: "Apar\xEAncia" })
4807
+ children: /* @__PURE__ */ jsx31(Text_default, { size: "md", color: "text-text-700", children: "Apar\xEAncia" })
4621
4808
  }
4622
4809
  ),
4623
- /* @__PURE__ */ jsx30(
4810
+ /* @__PURE__ */ jsx31(
4624
4811
  Modal_default,
4625
4812
  {
4626
4813
  isOpen: modalThemeToggle,
4627
4814
  onClose: handleCancel,
4628
4815
  title: "Apar\xEAncia",
4629
4816
  size: "md",
4630
- footer: /* @__PURE__ */ jsxs23("div", { className: "flex gap-3", children: [
4631
- /* @__PURE__ */ jsx30(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
4632
- /* @__PURE__ */ jsx30(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
4817
+ footer: /* @__PURE__ */ jsxs24("div", { className: "flex gap-3", children: [
4818
+ /* @__PURE__ */ jsx31(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
4819
+ /* @__PURE__ */ jsx31(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
4633
4820
  ] }),
4634
- children: /* @__PURE__ */ jsxs23("div", { className: "flex flex-col", children: [
4635
- /* @__PURE__ */ jsx30("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
4636
- /* @__PURE__ */ jsx30(ThemeToggle, { variant: "with-save", onToggle: setSelectedTheme })
4821
+ children: /* @__PURE__ */ jsxs24("div", { className: "flex flex-col", children: [
4822
+ /* @__PURE__ */ jsx31("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
4823
+ /* @__PURE__ */ jsx31(ThemeToggle, { variant: "with-save", onToggle: setSelectedTheme })
4637
4824
  ] })
4638
4825
  }
4639
4826
  )
4640
4827
  ] });
4641
4828
  };
4642
4829
  ProfileToggleTheme.displayName = "ProfileToggleTheme";
4643
- var ProfileMenuSection = forwardRef10(({ className, children, store: _store, ...props }, ref) => {
4644
- return /* @__PURE__ */ jsx30("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
4830
+ var ProfileMenuSection = forwardRef11(({ className, children, store: _store, ...props }, ref) => {
4831
+ return /* @__PURE__ */ jsx31("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
4645
4832
  });
4646
4833
  ProfileMenuSection.displayName = "ProfileMenuSection";
4647
4834
  var ProfileMenuFooter = ({
@@ -4653,7 +4840,7 @@ var ProfileMenuFooter = ({
4653
4840
  }) => {
4654
4841
  const store = useDropdownStore(externalStore);
4655
4842
  const setOpen = useStore3(store, (s) => s.setOpen);
4656
- return /* @__PURE__ */ jsxs23(
4843
+ return /* @__PURE__ */ jsxs24(
4657
4844
  Button_default,
4658
4845
  {
4659
4846
  variant: "outline",
@@ -4665,8 +4852,8 @@ var ProfileMenuFooter = ({
4665
4852
  },
4666
4853
  ...props,
4667
4854
  children: [
4668
- /* @__PURE__ */ jsx30("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ jsx30(SignOut, { className: "text-inherit" }) }),
4669
- /* @__PURE__ */ jsx30(Text_default, { color: "inherit", children: "Sair" })
4855
+ /* @__PURE__ */ jsx31("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ jsx31(SignOut, { className: "text-inherit" }) }),
4856
+ /* @__PURE__ */ jsx31(Text_default, { color: "inherit", children: "Sair" })
4670
4857
  ]
4671
4858
  }
4672
4859
  );
@@ -4675,7 +4862,7 @@ ProfileMenuFooter.displayName = "ProfileMenuFooter";
4675
4862
  var DropdownMenu_default = DropdownMenu;
4676
4863
 
4677
4864
  // src/components/Search/Search.tsx
4678
- import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
4865
+ import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
4679
4866
  var filterOptions = (options, query) => {
4680
4867
  if (!query || query.length < 1) return [];
4681
4868
  return options.filter(
@@ -4700,7 +4887,7 @@ var updateInputValue = (value, ref, onChange) => {
4700
4887
  onChange(event);
4701
4888
  }
4702
4889
  };
4703
- var Search = forwardRef11(
4890
+ var Search = forwardRef12(
4704
4891
  ({
4705
4892
  options = [],
4706
4893
  onSelect,
@@ -4821,14 +5008,14 @@ var Search = forwardRef11(
4821
5008
  const hasValue = String(value ?? "").length > 0;
4822
5009
  const showClearButton = hasValue && !disabled && !readOnly;
4823
5010
  const showSearchIcon = !hasValue && !disabled && !readOnly;
4824
- return /* @__PURE__ */ jsxs24(
5011
+ return /* @__PURE__ */ jsxs25(
4825
5012
  "div",
4826
5013
  {
4827
5014
  ref: dropdownRef,
4828
5015
  className: `w-full max-w-lg md:w-[488px] ${containerClassName}`,
4829
5016
  children: [
4830
- /* @__PURE__ */ jsxs24("div", { className: "relative flex items-center", children: [
4831
- /* @__PURE__ */ jsx31(
5017
+ /* @__PURE__ */ jsxs25("div", { className: "relative flex items-center", children: [
5018
+ /* @__PURE__ */ jsx32(
4832
5019
  "input",
4833
5020
  {
4834
5021
  ref: (node) => {
@@ -4856,35 +5043,35 @@ var Search = forwardRef11(
4856
5043
  ...props
4857
5044
  }
4858
5045
  ),
4859
- showClearButton && /* @__PURE__ */ jsx31("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ jsx31(
5046
+ showClearButton && /* @__PURE__ */ jsx32("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ jsx32(
4860
5047
  "button",
4861
5048
  {
4862
5049
  type: "button",
4863
5050
  className: "p-0 border-0 bg-transparent cursor-pointer",
4864
5051
  onMouseDown: handleClearClick,
4865
5052
  "aria-label": "Limpar busca",
4866
- children: /* @__PURE__ */ jsx31("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ jsx31(X4, {}) })
5053
+ children: /* @__PURE__ */ jsx32("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ jsx32(X4, {}) })
4867
5054
  }
4868
5055
  ) }),
4869
- showSearchIcon && /* @__PURE__ */ jsx31("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ jsx31(
5056
+ showSearchIcon && /* @__PURE__ */ jsx32("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ jsx32(
4870
5057
  "button",
4871
5058
  {
4872
5059
  type: "button",
4873
5060
  className: "p-0 border-0 bg-transparent cursor-pointer",
4874
5061
  onMouseDown: handleSearchIconClick,
4875
5062
  "aria-label": "Buscar",
4876
- children: /* @__PURE__ */ jsx31("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ jsx31(MagnifyingGlass, {}) })
5063
+ children: /* @__PURE__ */ jsx32("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ jsx32(MagnifyingGlass, {}) })
4877
5064
  }
4878
5065
  ) })
4879
5066
  ] }),
4880
- showDropdown && /* @__PURE__ */ jsx31(DropdownMenu_default, { open: showDropdown, onOpenChange: setDropdownOpen, children: /* @__PURE__ */ jsx31(
5067
+ showDropdown && /* @__PURE__ */ jsx32(DropdownMenu_default, { open: showDropdown, onOpenChange: setDropdownOpen, children: /* @__PURE__ */ jsx32(
4881
5068
  DropdownMenuContent,
4882
5069
  {
4883
5070
  id: dropdownId,
4884
5071
  className: "w-full mt-1",
4885
5072
  style: { maxHeight: dropdownMaxHeight },
4886
5073
  align: "start",
4887
- children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ jsx31(
5074
+ children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ jsx32(
4888
5075
  DropdownMenuItem,
4889
5076
  {
4890
5077
  onClick: () => handleSelectOption(option),
@@ -4892,7 +5079,7 @@ var Search = forwardRef11(
4892
5079
  children: option
4893
5080
  },
4894
5081
  option
4895
- )) : /* @__PURE__ */ jsx31("div", { className: "px-3 py-3 text-text-700 text-base", children: noResultsText })
5082
+ )) : /* @__PURE__ */ jsx32("div", { className: "px-3 py-3 text-text-700 text-base", children: noResultsText })
4896
5083
  }
4897
5084
  ) })
4898
5085
  ]
@@ -4905,7 +5092,7 @@ var Search_default = Search;
4905
5092
 
4906
5093
  // src/components/Chips/Chips.tsx
4907
5094
  import { Check as Check2 } from "phosphor-react";
4908
- import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
5095
+ import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
4909
5096
  var STATE_CLASSES5 = {
4910
5097
  default: "bg-background text-text-950 border border-border-100 hover:bg-secondary-50 hover:border-border-300",
4911
5098
  selected: "bg-info-background text-primary-950 border-2 border-primary-950 hover:bg-secondary-50 focus-visible:border-0"
@@ -4920,7 +5107,7 @@ var Chips = ({
4920
5107
  }) => {
4921
5108
  const stateClasses = selected ? STATE_CLASSES5.selected : STATE_CLASSES5.default;
4922
5109
  const baseClasses = "inline-flex items-center justify-center rounded-full cursor-pointer font-normal text-sm px-4 py-2 gap-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-primary-600 disabled:opacity-40 disabled:cursor-not-allowed";
4923
- return /* @__PURE__ */ jsxs25(
5110
+ return /* @__PURE__ */ jsxs26(
4924
5111
  "button",
4925
5112
  {
4926
5113
  className: cn(baseClasses, stateClasses, className),
@@ -4928,8 +5115,8 @@ var Chips = ({
4928
5115
  type,
4929
5116
  ...props,
4930
5117
  children: [
4931
- selected && /* @__PURE__ */ jsx32("span", { className: `flex items-center`, children: /* @__PURE__ */ jsx32(Check2, { weight: "bold", size: 16 }) }),
4932
- /* @__PURE__ */ jsx32("span", { className: "flex-1", children })
5118
+ selected && /* @__PURE__ */ jsx33("span", { className: `flex items-center`, children: /* @__PURE__ */ jsx33(Check2, { weight: "bold", size: 16 }) }),
5119
+ /* @__PURE__ */ jsx33("span", { className: "flex-1", children })
4933
5120
  ]
4934
5121
  }
4935
5122
  );
@@ -4937,7 +5124,7 @@ var Chips = ({
4937
5124
  var Chips_default = Chips;
4938
5125
 
4939
5126
  // src/components/ProgressBar/ProgressBar.tsx
4940
- import { Fragment as Fragment4, jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
5127
+ import { Fragment as Fragment4, jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
4941
5128
  var SIZE_CLASSES8 = {
4942
5129
  small: {
4943
5130
  container: "h-1",
@@ -5049,20 +5236,20 @@ var renderStackedHitCountDisplay = (showHitCount, showPercentage, clampedValue,
5049
5236
  max,
5050
5237
  percentage
5051
5238
  );
5052
- return /* @__PURE__ */ jsx33(
5239
+ return /* @__PURE__ */ jsx34(
5053
5240
  "div",
5054
5241
  {
5055
5242
  className: cn(
5056
5243
  "text-xs font-medium leading-[14px] text-right",
5057
5244
  percentageClassName
5058
5245
  ),
5059
- children: displayPriority.type === "hitCount" ? /* @__PURE__ */ jsxs26(Fragment4, { children: [
5060
- /* @__PURE__ */ jsx33("span", { className: "text-success-200", children: Math.round(clampedValue) }),
5061
- /* @__PURE__ */ jsxs26("span", { className: "text-text-600", children: [
5246
+ children: displayPriority.type === "hitCount" ? /* @__PURE__ */ jsxs27(Fragment4, { children: [
5247
+ /* @__PURE__ */ jsx34("span", { className: "text-success-200", children: Math.round(clampedValue) }),
5248
+ /* @__PURE__ */ jsxs27("span", { className: "text-text-600", children: [
5062
5249
  " de ",
5063
5250
  max
5064
5251
  ] })
5065
- ] }) : /* @__PURE__ */ jsxs26(Text_default, { size: "xs", weight: "medium", className: "text-success-200", children: [
5252
+ ] }) : /* @__PURE__ */ jsxs27(Text_default, { size: "xs", weight: "medium", className: "text-success-200", children: [
5066
5253
  Math.round(percentage),
5067
5254
  "%"
5068
5255
  ] })
@@ -5077,7 +5264,7 @@ var ProgressBarBase = ({
5077
5264
  variantClasses,
5078
5265
  containerClassName,
5079
5266
  fillClassName
5080
- }) => /* @__PURE__ */ jsxs26(
5267
+ }) => /* @__PURE__ */ jsxs27(
5081
5268
  "div",
5082
5269
  {
5083
5270
  className: cn(
@@ -5086,7 +5273,7 @@ var ProgressBarBase = ({
5086
5273
  "overflow-hidden relative"
5087
5274
  ),
5088
5275
  children: [
5089
- /* @__PURE__ */ jsx33(
5276
+ /* @__PURE__ */ jsx34(
5090
5277
  "progress",
5091
5278
  {
5092
5279
  value: clampedValue,
@@ -5095,7 +5282,7 @@ var ProgressBarBase = ({
5095
5282
  className: "absolute inset-0 w-full h-full opacity-0"
5096
5283
  }
5097
5284
  ),
5098
- /* @__PURE__ */ jsx33(
5285
+ /* @__PURE__ */ jsx34(
5099
5286
  "div",
5100
5287
  {
5101
5288
  className: cn(
@@ -5121,7 +5308,7 @@ var StackedLayout = ({
5121
5308
  percentage,
5122
5309
  variantClasses,
5123
5310
  dimensions
5124
- }) => /* @__PURE__ */ jsxs26(
5311
+ }) => /* @__PURE__ */ jsxs27(
5125
5312
  "div",
5126
5313
  {
5127
5314
  className: cn(
@@ -5131,8 +5318,8 @@ var StackedLayout = ({
5131
5318
  className
5132
5319
  ),
5133
5320
  children: [
5134
- shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ jsxs26("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
5135
- label && /* @__PURE__ */ jsx33(
5321
+ shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ jsxs27("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
5322
+ label && /* @__PURE__ */ jsx34(
5136
5323
  Text_default,
5137
5324
  {
5138
5325
  as: "div",
@@ -5151,7 +5338,7 @@ var StackedLayout = ({
5151
5338
  percentageClassName
5152
5339
  )
5153
5340
  ] }),
5154
- /* @__PURE__ */ jsx33(
5341
+ /* @__PURE__ */ jsx34(
5155
5342
  ProgressBarBase,
5156
5343
  {
5157
5344
  clampedValue,
@@ -5193,7 +5380,7 @@ var CompactLayout = ({
5193
5380
  percentageClassName,
5194
5381
  labelClassName
5195
5382
  });
5196
- return /* @__PURE__ */ jsxs26(
5383
+ return /* @__PURE__ */ jsxs27(
5197
5384
  "div",
5198
5385
  {
5199
5386
  className: cn(
@@ -5203,7 +5390,7 @@ var CompactLayout = ({
5203
5390
  className
5204
5391
  ),
5205
5392
  children: [
5206
- shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ jsx33(
5393
+ shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ jsx34(
5207
5394
  Text_default,
5208
5395
  {
5209
5396
  as: "div",
@@ -5214,7 +5401,7 @@ var CompactLayout = ({
5214
5401
  children: content
5215
5402
  }
5216
5403
  ),
5217
- /* @__PURE__ */ jsx33(
5404
+ /* @__PURE__ */ jsx34(
5218
5405
  ProgressBarBase,
5219
5406
  {
5220
5407
  clampedValue,
@@ -5250,9 +5437,9 @@ var DefaultLayout = ({
5250
5437
  label,
5251
5438
  showPercentage
5252
5439
  );
5253
- return /* @__PURE__ */ jsxs26("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
5254
- displayConfig.showHeader && /* @__PURE__ */ jsxs26("div", { className: "flex flex-row items-center justify-between w-full", children: [
5255
- label && /* @__PURE__ */ jsx33(
5440
+ return /* @__PURE__ */ jsxs27("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
5441
+ displayConfig.showHeader && /* @__PURE__ */ jsxs27("div", { className: "flex flex-row items-center justify-between w-full", children: [
5442
+ label && /* @__PURE__ */ jsx34(
5256
5443
  Text_default,
5257
5444
  {
5258
5445
  as: "div",
@@ -5265,7 +5452,7 @@ var DefaultLayout = ({
5265
5452
  children: label
5266
5453
  }
5267
5454
  ),
5268
- showPercentage && /* @__PURE__ */ jsxs26(
5455
+ showPercentage && /* @__PURE__ */ jsxs27(
5269
5456
  Text_default,
5270
5457
  {
5271
5458
  size: "xs",
@@ -5281,7 +5468,7 @@ var DefaultLayout = ({
5281
5468
  }
5282
5469
  )
5283
5470
  ] }),
5284
- /* @__PURE__ */ jsx33(
5471
+ /* @__PURE__ */ jsx34(
5285
5472
  ProgressBarBase,
5286
5473
  {
5287
5474
  clampedValue,
@@ -5301,7 +5488,7 @@ var DefaultLayout = ({
5301
5488
  )
5302
5489
  }
5303
5490
  ),
5304
- displayConfig.showPercentage && /* @__PURE__ */ jsxs26(
5491
+ displayConfig.showPercentage && /* @__PURE__ */ jsxs27(
5305
5492
  Text_default,
5306
5493
  {
5307
5494
  size: "xs",
@@ -5316,7 +5503,7 @@ var DefaultLayout = ({
5316
5503
  ]
5317
5504
  }
5318
5505
  ),
5319
- displayConfig.showLabel && /* @__PURE__ */ jsx33(
5506
+ displayConfig.showLabel && /* @__PURE__ */ jsx34(
5320
5507
  Text_default,
5321
5508
  {
5322
5509
  as: "div",
@@ -5352,7 +5539,7 @@ var ProgressBar = ({
5352
5539
  const sizeClasses = SIZE_CLASSES8[size];
5353
5540
  const variantClasses = VARIANT_CLASSES2[variant];
5354
5541
  if (layout === "stacked") {
5355
- return /* @__PURE__ */ jsx33(
5542
+ return /* @__PURE__ */ jsx34(
5356
5543
  StackedLayout,
5357
5544
  {
5358
5545
  className,
@@ -5373,7 +5560,7 @@ var ProgressBar = ({
5373
5560
  );
5374
5561
  }
5375
5562
  if (layout === "compact") {
5376
- return /* @__PURE__ */ jsx33(
5563
+ return /* @__PURE__ */ jsx34(
5377
5564
  CompactLayout,
5378
5565
  {
5379
5566
  className,
@@ -5393,7 +5580,7 @@ var ProgressBar = ({
5393
5580
  }
5394
5581
  );
5395
5582
  }
5396
- return /* @__PURE__ */ jsx33(
5583
+ return /* @__PURE__ */ jsx34(
5397
5584
  DefaultLayout,
5398
5585
  {
5399
5586
  className,
@@ -5413,7 +5600,7 @@ var ProgressBar = ({
5413
5600
  var ProgressBar_default = ProgressBar;
5414
5601
 
5415
5602
  // src/components/ProgressCircle/ProgressCircle.tsx
5416
- import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
5603
+ import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
5417
5604
  var SIZE_CLASSES9 = {
5418
5605
  small: {
5419
5606
  container: "w-[90px] h-[90px]",
@@ -5495,7 +5682,7 @@ var ProgressCircle = ({
5495
5682
  const strokeDashoffset = circumference - percentage / 100 * circumference;
5496
5683
  const center = size === "small" ? 45 : 76;
5497
5684
  const svgSize = size === "small" ? 90 : 152;
5498
- return /* @__PURE__ */ jsxs27(
5685
+ return /* @__PURE__ */ jsxs28(
5499
5686
  "div",
5500
5687
  {
5501
5688
  className: cn(
@@ -5505,7 +5692,7 @@ var ProgressCircle = ({
5505
5692
  className
5506
5693
  ),
5507
5694
  children: [
5508
- /* @__PURE__ */ jsxs27(
5695
+ /* @__PURE__ */ jsxs28(
5509
5696
  "svg",
5510
5697
  {
5511
5698
  className: "absolute inset-0 transform -rotate-90",
@@ -5514,7 +5701,7 @@ var ProgressCircle = ({
5514
5701
  viewBox: `0 0 ${svgSize} ${svgSize}`,
5515
5702
  "aria-hidden": "true",
5516
5703
  children: [
5517
- /* @__PURE__ */ jsx34(
5704
+ /* @__PURE__ */ jsx35(
5518
5705
  "circle",
5519
5706
  {
5520
5707
  cx: center,
@@ -5525,7 +5712,7 @@ var ProgressCircle = ({
5525
5712
  className: cn(variantClasses.background, "rounded-lg")
5526
5713
  }
5527
5714
  ),
5528
- /* @__PURE__ */ jsx34(
5715
+ /* @__PURE__ */ jsx35(
5529
5716
  "circle",
5530
5717
  {
5531
5718
  cx: center,
@@ -5545,7 +5732,7 @@ var ProgressCircle = ({
5545
5732
  ]
5546
5733
  }
5547
5734
  ),
5548
- /* @__PURE__ */ jsx34(
5735
+ /* @__PURE__ */ jsx35(
5549
5736
  "progress",
5550
5737
  {
5551
5738
  value: clampedValue,
@@ -5554,7 +5741,7 @@ var ProgressCircle = ({
5554
5741
  className: "absolute opacity-0 w-0 h-0"
5555
5742
  }
5556
5743
  ),
5557
- /* @__PURE__ */ jsxs27(
5744
+ /* @__PURE__ */ jsxs28(
5558
5745
  "div",
5559
5746
  {
5560
5747
  className: cn(
@@ -5563,7 +5750,7 @@ var ProgressCircle = ({
5563
5750
  sizeClasses.contentWidth
5564
5751
  ),
5565
5752
  children: [
5566
- showPercentage && /* @__PURE__ */ jsxs27(
5753
+ showPercentage && /* @__PURE__ */ jsxs28(
5567
5754
  Text_default,
5568
5755
  {
5569
5756
  size: sizeClasses.textSize,
@@ -5579,7 +5766,7 @@ var ProgressCircle = ({
5579
5766
  ]
5580
5767
  }
5581
5768
  ),
5582
- label && /* @__PURE__ */ jsx34(
5769
+ label && /* @__PURE__ */ jsx35(
5583
5770
  Text_default,
5584
5771
  {
5585
5772
  as: "span",
@@ -5604,7 +5791,7 @@ var ProgressCircle_default = ProgressCircle;
5604
5791
 
5605
5792
  // src/components/Stepper/Stepper.tsx
5606
5793
  import { Check as Check3 } from "phosphor-react";
5607
- import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
5794
+ import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
5608
5795
  var SIZE_CLASSES10 = {
5609
5796
  small: {
5610
5797
  container: "gap-2",
@@ -5731,7 +5918,7 @@ var Step = ({
5731
5918
  }
5732
5919
  return `${step.label}${suffix}`;
5733
5920
  };
5734
- return /* @__PURE__ */ jsxs28(
5921
+ return /* @__PURE__ */ jsxs29(
5735
5922
  "div",
5736
5923
  {
5737
5924
  className: `
@@ -5744,7 +5931,7 @@ var Step = ({
5744
5931
  overflow-visible
5745
5932
  `,
5746
5933
  children: [
5747
- /* @__PURE__ */ jsx35(
5934
+ /* @__PURE__ */ jsx36(
5748
5935
  "div",
5749
5936
  {
5750
5937
  className: `
@@ -5753,7 +5940,7 @@ var Step = ({
5753
5940
  `
5754
5941
  }
5755
5942
  ),
5756
- /* @__PURE__ */ jsxs28(
5943
+ /* @__PURE__ */ jsxs29(
5757
5944
  "div",
5758
5945
  {
5759
5946
  className: `
@@ -5763,7 +5950,7 @@ var Step = ({
5763
5950
  overflow-visible
5764
5951
  `,
5765
5952
  children: [
5766
- /* @__PURE__ */ jsx35(
5953
+ /* @__PURE__ */ jsx36(
5767
5954
  "div",
5768
5955
  {
5769
5956
  className: `
@@ -5772,7 +5959,7 @@ var Step = ({
5772
5959
  flex-none transition-all duration-300 ease-out
5773
5960
  `,
5774
5961
  "aria-label": getAriaLabel(),
5775
- children: isCompleted ? /* @__PURE__ */ jsx35(
5962
+ children: isCompleted ? /* @__PURE__ */ jsx36(
5776
5963
  Check3,
5777
5964
  {
5778
5965
  weight: "bold",
@@ -5781,7 +5968,7 @@ var Step = ({
5781
5968
  w-2.5 h-2.5 sm:w-3 sm:h-3 md:w-3 md:h-3 lg:w-3.5 lg:h-3.5
5782
5969
  `
5783
5970
  }
5784
- ) : /* @__PURE__ */ jsx35(
5971
+ ) : /* @__PURE__ */ jsx36(
5785
5972
  Text_default,
5786
5973
  {
5787
5974
  size: sizeClasses.indicatorTextSize,
@@ -5793,7 +5980,7 @@ var Step = ({
5793
5980
  )
5794
5981
  }
5795
5982
  ),
5796
- /* @__PURE__ */ jsx35(
5983
+ /* @__PURE__ */ jsx36(
5797
5984
  Text_default,
5798
5985
  {
5799
5986
  size: sizeClasses.labelTextSize,
@@ -5845,7 +6032,7 @@ var Stepper = ({
5845
6032
  }) => {
5846
6033
  const sizeClasses = SIZE_CLASSES10[size];
5847
6034
  const steps = currentStep !== void 0 ? calculateStepStates(initialSteps, currentStep) : initialSteps;
5848
- return /* @__PURE__ */ jsxs28(
6035
+ return /* @__PURE__ */ jsxs29(
5849
6036
  "fieldset",
5850
6037
  {
5851
6038
  className: cn(
@@ -5854,8 +6041,8 @@ var Stepper = ({
5854
6041
  "border-0 p-0 m-0"
5855
6042
  ),
5856
6043
  children: [
5857
- /* @__PURE__ */ jsx35("legend", { className: "absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children: "Stepper de formul\xE1rio" }),
5858
- showProgress && currentStep !== void 0 && /* @__PURE__ */ jsx35(
6044
+ /* @__PURE__ */ jsx36("legend", { className: "absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children: "Stepper de formul\xE1rio" }),
6045
+ showProgress && currentStep !== void 0 && /* @__PURE__ */ jsx36(
5859
6046
  Text_default,
5860
6047
  {
5861
6048
  size: "sm",
@@ -5864,7 +6051,7 @@ var Stepper = ({
5864
6051
  children: getProgressText(currentStep, steps.length, progressText)
5865
6052
  }
5866
6053
  ),
5867
- /* @__PURE__ */ jsx35(
6054
+ /* @__PURE__ */ jsx36(
5868
6055
  "div",
5869
6056
  {
5870
6057
  className: cn(
@@ -5877,7 +6064,7 @@ var Stepper = ({
5877
6064
  "aria-label": "Progress steps",
5878
6065
  children: steps.map((step, index) => {
5879
6066
  const stateClasses = STATE_CLASSES6[step.state];
5880
- return /* @__PURE__ */ jsx35(
6067
+ return /* @__PURE__ */ jsx36(
5881
6068
  Step,
5882
6069
  {
5883
6070
  step,
@@ -5906,7 +6093,7 @@ import {
5906
6093
  useEffect as useEffect13,
5907
6094
  useRef as useRef7
5908
6095
  } from "react";
5909
- import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
6096
+ import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
5910
6097
  var WEEK_DAYS = ["SEG", "TER", "QUA", "QUI", "SEX", "S\xC1B", "DOM"];
5911
6098
  var WEEK_DAYS_SHORT = ["S", "T", "Q", "Q", "S", "S", "D"];
5912
6099
  var MONTH_NAMES = [
@@ -5929,15 +6116,15 @@ var MonthYearPicker = ({
5929
6116
  currentDate,
5930
6117
  onYearChange,
5931
6118
  onMonthChange
5932
- }) => /* @__PURE__ */ jsxs29(
6119
+ }) => /* @__PURE__ */ jsxs30(
5933
6120
  "div",
5934
6121
  {
5935
6122
  ref: monthPickerRef,
5936
6123
  className: "absolute top-full left-0 z-50 mt-1 bg-background rounded-lg shadow-lg border border-border-200 p-4 min-w-[280px]",
5937
6124
  children: [
5938
- /* @__PURE__ */ jsxs29("div", { className: "mb-4", children: [
5939
- /* @__PURE__ */ jsx36("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
5940
- /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ jsx36(
6125
+ /* @__PURE__ */ jsxs30("div", { className: "mb-4", children: [
6126
+ /* @__PURE__ */ jsx37("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
6127
+ /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ jsx37(
5941
6128
  "button",
5942
6129
  {
5943
6130
  onClick: () => onYearChange(year),
@@ -5950,9 +6137,9 @@ var MonthYearPicker = ({
5950
6137
  year
5951
6138
  )) })
5952
6139
  ] }),
5953
- /* @__PURE__ */ jsxs29("div", { children: [
5954
- /* @__PURE__ */ jsx36("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
5955
- /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ jsx36(
6140
+ /* @__PURE__ */ jsxs30("div", { children: [
6141
+ /* @__PURE__ */ jsx37("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
6142
+ /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ jsx37(
5956
6143
  "button",
5957
6144
  {
5958
6145
  onClick: () => onMonthChange(index, currentDate.getFullYear()),
@@ -6084,28 +6271,28 @@ var Calendar = ({
6084
6271
  onDateSelect?.(day.date);
6085
6272
  };
6086
6273
  if (variant === "navigation") {
6087
- return /* @__PURE__ */ jsxs29("div", { className: cn("bg-background rounded-xl pt-6", className), children: [
6088
- /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between mb-4 px-6", children: [
6089
- /* @__PURE__ */ jsxs29("div", { className: "relative", ref: monthPickerContainerRef, children: [
6090
- /* @__PURE__ */ jsxs29(
6274
+ return /* @__PURE__ */ jsxs30("div", { className: cn("bg-background rounded-xl pt-6", className), children: [
6275
+ /* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between mb-4 px-6", children: [
6276
+ /* @__PURE__ */ jsxs30("div", { className: "relative", ref: monthPickerContainerRef, children: [
6277
+ /* @__PURE__ */ jsxs30(
6091
6278
  "button",
6092
6279
  {
6093
6280
  onClick: toggleMonthPicker,
6094
6281
  className: "flex items-center group gap-1 rounded transition-colors cursor-pointer",
6095
6282
  children: [
6096
- /* @__PURE__ */ jsxs29("span", { className: "text-sm font-medium text-text-600 group-hover:text-primary-950", children: [
6283
+ /* @__PURE__ */ jsxs30("span", { className: "text-sm font-medium text-text-600 group-hover:text-primary-950", children: [
6097
6284
  MONTH_NAMES[currentDate.getMonth()],
6098
6285
  " ",
6099
6286
  currentDate.getFullYear()
6100
6287
  ] }),
6101
- /* @__PURE__ */ jsx36(
6288
+ /* @__PURE__ */ jsx37(
6102
6289
  "svg",
6103
6290
  {
6104
6291
  className: `w-4 h-4 text-primary-950 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
6105
6292
  fill: "none",
6106
6293
  stroke: "currentColor",
6107
6294
  viewBox: "0 0 24 24",
6108
- children: /* @__PURE__ */ jsx36(
6295
+ children: /* @__PURE__ */ jsx37(
6109
6296
  "path",
6110
6297
  {
6111
6298
  strokeLinecap: "round",
@@ -6119,7 +6306,7 @@ var Calendar = ({
6119
6306
  ]
6120
6307
  }
6121
6308
  ),
6122
- isMonthPickerOpen && /* @__PURE__ */ jsx36(
6309
+ isMonthPickerOpen && /* @__PURE__ */ jsx37(
6123
6310
  MonthYearPicker,
6124
6311
  {
6125
6312
  monthPickerRef,
@@ -6130,21 +6317,21 @@ var Calendar = ({
6130
6317
  }
6131
6318
  )
6132
6319
  ] }),
6133
- /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-10", children: [
6134
- /* @__PURE__ */ jsx36(
6320
+ /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-10", children: [
6321
+ /* @__PURE__ */ jsx37(
6135
6322
  "button",
6136
6323
  {
6137
6324
  onClick: goToPreviousMonth,
6138
6325
  className: "p-1 rounded hover:bg-background-100 transition-colors",
6139
6326
  "aria-label": "M\xEAs anterior",
6140
- children: /* @__PURE__ */ jsx36(
6327
+ children: /* @__PURE__ */ jsx37(
6141
6328
  "svg",
6142
6329
  {
6143
6330
  className: "w-6 h-6 text-primary-950",
6144
6331
  fill: "none",
6145
6332
  stroke: "currentColor",
6146
6333
  viewBox: "0 0 24 24",
6147
- children: /* @__PURE__ */ jsx36(
6334
+ children: /* @__PURE__ */ jsx37(
6148
6335
  "path",
6149
6336
  {
6150
6337
  strokeLinecap: "round",
@@ -6157,20 +6344,20 @@ var Calendar = ({
6157
6344
  )
6158
6345
  }
6159
6346
  ),
6160
- /* @__PURE__ */ jsx36(
6347
+ /* @__PURE__ */ jsx37(
6161
6348
  "button",
6162
6349
  {
6163
6350
  onClick: goToNextMonth,
6164
6351
  className: "p-1 rounded hover:bg-background-100 transition-colors",
6165
6352
  "aria-label": "Pr\xF3ximo m\xEAs",
6166
- children: /* @__PURE__ */ jsx36(
6353
+ children: /* @__PURE__ */ jsx37(
6167
6354
  "svg",
6168
6355
  {
6169
6356
  className: "w-6 h-6 text-primary-950",
6170
6357
  fill: "none",
6171
6358
  stroke: "currentColor",
6172
6359
  viewBox: "0 0 24 24",
6173
- children: /* @__PURE__ */ jsx36(
6360
+ children: /* @__PURE__ */ jsx37(
6174
6361
  "path",
6175
6362
  {
6176
6363
  strokeLinecap: "round",
@@ -6185,7 +6372,7 @@ var Calendar = ({
6185
6372
  )
6186
6373
  ] })
6187
6374
  ] }),
6188
- /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-7 gap-1 mb-2 px-3", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ jsx36(
6375
+ /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-7 gap-1 mb-2 px-3", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ jsx37(
6189
6376
  "div",
6190
6377
  {
6191
6378
  className: "h-9 flex items-center justify-center text-xs font-normal text-text-600",
@@ -6193,13 +6380,13 @@ var Calendar = ({
6193
6380
  },
6194
6381
  `${day}-${index}`
6195
6382
  )) }),
6196
- /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-7 gap-1 px-3", children: calendarData.map((day) => {
6383
+ /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-7 gap-1 px-3", children: calendarData.map((day) => {
6197
6384
  if (!day.isCurrentMonth) {
6198
- return /* @__PURE__ */ jsx36(
6385
+ return /* @__PURE__ */ jsx37(
6199
6386
  "div",
6200
6387
  {
6201
6388
  className: "flex items-center justify-center",
6202
- children: /* @__PURE__ */ jsx36("div", { className: "w-9 h-9" })
6389
+ children: /* @__PURE__ */ jsx37("div", { className: "w-9 h-9" })
6203
6390
  },
6204
6391
  day.date.getTime()
6205
6392
  );
@@ -6215,11 +6402,11 @@ var Calendar = ({
6215
6402
  } else if (day.isSelected) {
6216
6403
  spanClass = "h-6 w-6 rounded-full bg-primary-950 text-text";
6217
6404
  }
6218
- return /* @__PURE__ */ jsx36(
6405
+ return /* @__PURE__ */ jsx37(
6219
6406
  "div",
6220
6407
  {
6221
6408
  className: "flex items-center justify-center",
6222
- children: /* @__PURE__ */ jsx36(
6409
+ children: /* @__PURE__ */ jsx37(
6223
6410
  "button",
6224
6411
  {
6225
6412
  className: `
@@ -6235,7 +6422,7 @@ var Calendar = ({
6235
6422
  "aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
6236
6423
  "aria-current": day.isToday ? "date" : void 0,
6237
6424
  tabIndex: 0,
6238
- children: /* @__PURE__ */ jsx36("span", { className: spanClass, children: day.date.getDate() })
6425
+ children: /* @__PURE__ */ jsx37("span", { className: spanClass, children: day.date.getDate() })
6239
6426
  }
6240
6427
  )
6241
6428
  },
@@ -6244,28 +6431,28 @@ var Calendar = ({
6244
6431
  }) })
6245
6432
  ] });
6246
6433
  }
6247
- return /* @__PURE__ */ jsxs29("div", { className: cn("bg-background rounded-xl p-4", className), children: [
6248
- /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between mb-3.5", children: [
6249
- /* @__PURE__ */ jsxs29("div", { className: "relative", ref: monthPickerContainerRef, children: [
6250
- /* @__PURE__ */ jsxs29(
6434
+ return /* @__PURE__ */ jsxs30("div", { className: cn("bg-background rounded-xl p-4", className), children: [
6435
+ /* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between mb-3.5", children: [
6436
+ /* @__PURE__ */ jsxs30("div", { className: "relative", ref: monthPickerContainerRef, children: [
6437
+ /* @__PURE__ */ jsxs30(
6251
6438
  "button",
6252
6439
  {
6253
6440
  onClick: toggleMonthPicker,
6254
6441
  className: "flex items-center gap-2 hover:bg-background-100 rounded px-2 py-1 transition-colors",
6255
6442
  children: [
6256
- /* @__PURE__ */ jsxs29("h2", { className: "text-lg font-semibold text-text-950", children: [
6443
+ /* @__PURE__ */ jsxs30("h2", { className: "text-lg font-semibold text-text-950", children: [
6257
6444
  MONTH_NAMES[currentDate.getMonth()],
6258
6445
  " ",
6259
6446
  currentDate.getFullYear()
6260
6447
  ] }),
6261
- /* @__PURE__ */ jsx36(
6448
+ /* @__PURE__ */ jsx37(
6262
6449
  "svg",
6263
6450
  {
6264
6451
  className: `w-4 h-4 text-text-400 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
6265
6452
  fill: "none",
6266
6453
  stroke: "currentColor",
6267
6454
  viewBox: "0 0 24 24",
6268
- children: /* @__PURE__ */ jsx36(
6455
+ children: /* @__PURE__ */ jsx37(
6269
6456
  "path",
6270
6457
  {
6271
6458
  strokeLinecap: "round",
@@ -6279,7 +6466,7 @@ var Calendar = ({
6279
6466
  ]
6280
6467
  }
6281
6468
  ),
6282
- isMonthPickerOpen && /* @__PURE__ */ jsx36(
6469
+ isMonthPickerOpen && /* @__PURE__ */ jsx37(
6283
6470
  MonthYearPicker,
6284
6471
  {
6285
6472
  monthPickerRef,
@@ -6290,21 +6477,21 @@ var Calendar = ({
6290
6477
  }
6291
6478
  )
6292
6479
  ] }),
6293
- /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1", children: [
6294
- /* @__PURE__ */ jsx36(
6480
+ /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-1", children: [
6481
+ /* @__PURE__ */ jsx37(
6295
6482
  "button",
6296
6483
  {
6297
6484
  onClick: goToPreviousMonth,
6298
6485
  className: "p-1 rounded-md hover:bg-background-100 transition-colors",
6299
6486
  "aria-label": "M\xEAs anterior",
6300
- children: /* @__PURE__ */ jsx36(
6487
+ children: /* @__PURE__ */ jsx37(
6301
6488
  "svg",
6302
6489
  {
6303
6490
  className: "w-6 h-6 text-primary-950",
6304
6491
  fill: "none",
6305
6492
  stroke: "currentColor",
6306
6493
  viewBox: "0 0 24 24",
6307
- children: /* @__PURE__ */ jsx36(
6494
+ children: /* @__PURE__ */ jsx37(
6308
6495
  "path",
6309
6496
  {
6310
6497
  strokeLinecap: "round",
@@ -6317,20 +6504,20 @@ var Calendar = ({
6317
6504
  )
6318
6505
  }
6319
6506
  ),
6320
- /* @__PURE__ */ jsx36(
6507
+ /* @__PURE__ */ jsx37(
6321
6508
  "button",
6322
6509
  {
6323
6510
  onClick: goToNextMonth,
6324
6511
  className: "p-1 rounded-md hover:bg-background-100 transition-colors",
6325
6512
  "aria-label": "Pr\xF3ximo m\xEAs",
6326
- children: /* @__PURE__ */ jsx36(
6513
+ children: /* @__PURE__ */ jsx37(
6327
6514
  "svg",
6328
6515
  {
6329
6516
  className: "w-6 h-6 text-primary-950",
6330
6517
  fill: "none",
6331
6518
  stroke: "currentColor",
6332
6519
  viewBox: "0 0 24 24",
6333
- children: /* @__PURE__ */ jsx36(
6520
+ children: /* @__PURE__ */ jsx37(
6334
6521
  "path",
6335
6522
  {
6336
6523
  strokeLinecap: "round",
@@ -6345,7 +6532,7 @@ var Calendar = ({
6345
6532
  )
6346
6533
  ] })
6347
6534
  ] }),
6348
- /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-7 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ jsx36(
6535
+ /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-7 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ jsx37(
6349
6536
  "div",
6350
6537
  {
6351
6538
  className: "h-4 flex items-center justify-center text-xs font-semibold text-text-500",
@@ -6353,13 +6540,13 @@ var Calendar = ({
6353
6540
  },
6354
6541
  day
6355
6542
  )) }),
6356
- /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-7", children: calendarData.map((day) => {
6543
+ /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-7", children: calendarData.map((day) => {
6357
6544
  if (!day.isCurrentMonth) {
6358
- return /* @__PURE__ */ jsx36(
6545
+ return /* @__PURE__ */ jsx37(
6359
6546
  "div",
6360
6547
  {
6361
6548
  className: "flex items-center justify-center",
6362
- children: /* @__PURE__ */ jsx36("div", { className: "w-10 h-10" })
6549
+ children: /* @__PURE__ */ jsx37("div", { className: "w-10 h-10" })
6363
6550
  },
6364
6551
  day.date.getTime()
6365
6552
  );
@@ -6369,11 +6556,11 @@ var Calendar = ({
6369
6556
  variant,
6370
6557
  showActivities
6371
6558
  );
6372
- return /* @__PURE__ */ jsx36(
6559
+ return /* @__PURE__ */ jsx37(
6373
6560
  "div",
6374
6561
  {
6375
6562
  className: "flex items-center justify-center",
6376
- children: /* @__PURE__ */ jsx36(
6563
+ children: /* @__PURE__ */ jsx37(
6377
6564
  "button",
6378
6565
  {
6379
6566
  className: `
@@ -6403,10 +6590,10 @@ var Calendar_default = Calendar;
6403
6590
 
6404
6591
  // src/components/AlertDialog/AlertDialog.tsx
6405
6592
  import {
6406
- forwardRef as forwardRef12,
6593
+ forwardRef as forwardRef13,
6407
6594
  useEffect as useEffect14
6408
6595
  } from "react";
6409
- import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
6596
+ import { Fragment as Fragment5, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
6410
6597
  var SIZE_CLASSES11 = {
6411
6598
  "extra-small": "w-screen max-w-[324px]",
6412
6599
  small: "w-screen max-w-[378px]",
@@ -6414,7 +6601,7 @@ var SIZE_CLASSES11 = {
6414
6601
  large: "w-screen max-w-[578px]",
6415
6602
  "extra-large": "w-screen max-w-[912px]"
6416
6603
  };
6417
- var AlertDialog = forwardRef12(
6604
+ var AlertDialog = forwardRef13(
6418
6605
  ({
6419
6606
  description,
6420
6607
  cancelButtonLabel = "Cancelar",
@@ -6471,14 +6658,14 @@ var AlertDialog = forwardRef12(
6471
6658
  onCancel?.(cancelValue);
6472
6659
  };
6473
6660
  const sizeClasses = SIZE_CLASSES11[size];
6474
- return /* @__PURE__ */ jsx37(Fragment5, { children: isOpen && /* @__PURE__ */ jsx37(
6661
+ return /* @__PURE__ */ jsx38(Fragment5, { children: isOpen && /* @__PURE__ */ jsx38(
6475
6662
  "div",
6476
6663
  {
6477
6664
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",
6478
6665
  onClick: handleBackdropClick,
6479
6666
  onKeyDown: handleBackdropKeyDown,
6480
6667
  "data-testid": "alert-dialog-overlay",
6481
- children: /* @__PURE__ */ jsxs30(
6668
+ children: /* @__PURE__ */ jsxs31(
6482
6669
  "div",
6483
6670
  {
6484
6671
  ref,
@@ -6489,7 +6676,7 @@ var AlertDialog = forwardRef12(
6489
6676
  ),
6490
6677
  ...props,
6491
6678
  children: [
6492
- /* @__PURE__ */ jsx37(
6679
+ /* @__PURE__ */ jsx38(
6493
6680
  "h2",
6494
6681
  {
6495
6682
  id: "alert-dialog-title",
@@ -6497,7 +6684,7 @@ var AlertDialog = forwardRef12(
6497
6684
  children: title
6498
6685
  }
6499
6686
  ),
6500
- /* @__PURE__ */ jsx37(
6687
+ /* @__PURE__ */ jsx38(
6501
6688
  "p",
6502
6689
  {
6503
6690
  id: "alert-dialog-description",
@@ -6505,9 +6692,9 @@ var AlertDialog = forwardRef12(
6505
6692
  children: description
6506
6693
  }
6507
6694
  ),
6508
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center justify-end pt-4 gap-3", children: [
6509
- /* @__PURE__ */ jsx37(Button_default, { variant: "outline", size: "small", onClick: handleCancel, children: cancelButtonLabel }),
6510
- /* @__PURE__ */ jsx37(
6695
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center justify-end pt-4 gap-3", children: [
6696
+ /* @__PURE__ */ jsx38(Button_default, { variant: "outline", size: "small", onClick: handleCancel, children: cancelButtonLabel }),
6697
+ /* @__PURE__ */ jsx38(
6511
6698
  Button_default,
6512
6699
  {
6513
6700
  variant: "solid",
@@ -6528,12 +6715,12 @@ var AlertDialog = forwardRef12(
6528
6715
  AlertDialog.displayName = "AlertDialog";
6529
6716
 
6530
6717
  // src/components/LoadingModal/loadingModal.tsx
6531
- import { forwardRef as forwardRef13 } from "react";
6532
- import { jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
6533
- var LoadingModal = forwardRef13(
6718
+ import { forwardRef as forwardRef14 } from "react";
6719
+ import { jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
6720
+ var LoadingModal = forwardRef14(
6534
6721
  ({ open, title = "Titulo...", subtitle = "Subtitulo...", ...props }, ref) => {
6535
6722
  if (!open) return null;
6536
- return /* @__PURE__ */ jsx38(
6723
+ return /* @__PURE__ */ jsx39(
6537
6724
  "div",
6538
6725
  {
6539
6726
  ref,
@@ -6542,8 +6729,8 @@ var LoadingModal = forwardRef13(
6542
6729
  "aria-describedby": "loading-modal-subtitle",
6543
6730
  className: "fixed inset-0 z-50 flex items-center justify-center bg-background/90 backdrop-blur-xs",
6544
6731
  ...props,
6545
- children: /* @__PURE__ */ jsxs31("div", { className: "w-full max-w-[364px] flex flex-col items-center justify-center gap-14", children: [
6546
- /* @__PURE__ */ jsx38("span", { className: "animate-spin", "aria-hidden": "true", children: /* @__PURE__ */ jsxs31(
6732
+ children: /* @__PURE__ */ jsxs32("div", { className: "w-full max-w-[364px] flex flex-col items-center justify-center gap-14", children: [
6733
+ /* @__PURE__ */ jsx39("span", { className: "animate-spin", "aria-hidden": "true", children: /* @__PURE__ */ jsxs32(
6547
6734
  "svg",
6548
6735
  {
6549
6736
  width: "102",
@@ -6554,14 +6741,14 @@ var LoadingModal = forwardRef13(
6554
6741
  "aria-hidden": "true",
6555
6742
  focusable: false,
6556
6743
  children: [
6557
- /* @__PURE__ */ jsx38(
6744
+ /* @__PURE__ */ jsx39(
6558
6745
  "path",
6559
6746
  {
6560
6747
  d: "M101.5 51C101.5 78.8904 78.8904 101.5 51 101.5C23.1096 101.5 0.5 78.8904 0.5 51C0.5 23.1096 23.1096 0.5 51 0.5C78.8904 0.5 101.5 23.1096 101.5 51ZM8.62286 51C8.62286 74.4043 27.5957 93.3771 51 93.3771C74.4043 93.3771 93.3771 74.4043 93.3771 51C93.3771 27.5957 74.4043 8.62286 51 8.62286C27.5957 8.62286 8.62286 27.5957 8.62286 51Z",
6561
6748
  className: "fill-primary-100"
6562
6749
  }
6563
6750
  ),
6564
- /* @__PURE__ */ jsx38(
6751
+ /* @__PURE__ */ jsx39(
6565
6752
  "path",
6566
6753
  {
6567
6754
  d: "M97.4386 51C99.6816 51 101.517 52.8213 101.337 55.0571C100.754 62.2833 98.6212 69.3162 95.0643 75.6696C90.8444 83.207 84.7616 89.536 77.3975 94.0514C70.0333 98.5668 61.6339 101.118 53.0024 101.46C44.371 101.803 35.7959 99.9255 28.0971 96.0078C20.3982 92.0902 13.833 86.2631 9.02917 79.0838C4.22529 71.9045 1.34332 63.6129 0.658804 55.0017C-0.0257159 46.3906 1.51009 37.7479 5.1194 29.8997C8.16173 23.2845 12.5915 17.4202 18.0904 12.6959C19.7917 11.2341 22.3444 11.6457 23.6647 13.459C24.9851 15.2723 24.5702 17.7988 22.8916 19.2866C18.5048 23.1747 14.9608 27.9413 12.4992 33.2937C9.47048 39.8794 8.1817 47.132 8.75612 54.3581C9.33053 61.5841 11.7489 68.542 15.7801 74.5666C19.8113 80.5911 25.3205 85.4809 31.781 88.7684C38.2414 92.0559 45.4372 93.6312 52.6804 93.3438C59.9235 93.0564 66.9718 90.9158 73.1515 87.1267C79.3311 83.3375 84.4355 78.0266 87.9766 71.7015C90.8546 66.561 92.6217 60.8903 93.1827 55.0553C93.3973 52.8225 95.1955 51 97.4386 51Z",
@@ -6571,9 +6758,9 @@ var LoadingModal = forwardRef13(
6571
6758
  ]
6572
6759
  }
6573
6760
  ) }),
6574
- /* @__PURE__ */ jsxs31("span", { className: "flex flex-col gap-4 text-center", children: [
6575
- /* @__PURE__ */ jsx38("p", { id: "loading-modal-title", className: "text-text-950 text-lg", children: title }),
6576
- /* @__PURE__ */ jsx38("p", { id: "loading-modal-subtitle", className: "text-text-600 text-lg", children: subtitle })
6761
+ /* @__PURE__ */ jsxs32("span", { className: "flex flex-col gap-4 text-center", children: [
6762
+ /* @__PURE__ */ jsx39("p", { id: "loading-modal-title", className: "text-text-950 text-lg", children: title }),
6763
+ /* @__PURE__ */ jsx39("p", { id: "loading-modal-subtitle", className: "text-text-600 text-lg", children: subtitle })
6577
6764
  ] })
6578
6765
  ] })
6579
6766
  }
@@ -6586,158 +6773,6 @@ var loadingModal_default = LoadingModal;
6586
6773
  import { DotsThreeVertical, Bell as Bell2 } from "phosphor-react";
6587
6774
  import { useState as useState15, useEffect as useEffect16 } from "react";
6588
6775
 
6589
- // src/components/Skeleton/Skeleton.tsx
6590
- import { forwardRef as forwardRef14 } from "react";
6591
- import { jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
6592
- var SKELETON_ANIMATION_CLASSES = {
6593
- pulse: "animate-pulse",
6594
- none: ""
6595
- };
6596
- var SKELETON_VARIANT_CLASSES = {
6597
- text: "h-4 bg-background-200 rounded",
6598
- circular: "bg-background-200 rounded-full",
6599
- rectangular: "bg-background-200",
6600
- rounded: "bg-background-200 rounded-lg"
6601
- };
6602
- var SPACING_CLASSES = {
6603
- none: "",
6604
- small: "space-y-1",
6605
- medium: "space-y-2",
6606
- large: "space-y-3"
6607
- };
6608
- var Skeleton = forwardRef14(
6609
- ({
6610
- variant = "text",
6611
- width,
6612
- height,
6613
- animation = "pulse",
6614
- lines = 1,
6615
- spacing = "none",
6616
- className = "",
6617
- children,
6618
- ...props
6619
- }, ref) => {
6620
- const animationClass = SKELETON_ANIMATION_CLASSES[animation];
6621
- const variantClass = SKELETON_VARIANT_CLASSES[variant];
6622
- const spacingClass = SPACING_CLASSES[spacing];
6623
- const style = {
6624
- width: typeof width === "number" ? `${width}px` : width,
6625
- height: typeof height === "number" ? `${height}px` : height
6626
- };
6627
- if (variant === "text" && lines > 1) {
6628
- return /* @__PURE__ */ jsx39(
6629
- "div",
6630
- {
6631
- ref,
6632
- className: cn("flex flex-col", spacingClass, className),
6633
- ...props,
6634
- children: Array.from({ length: lines }, (_, index) => /* @__PURE__ */ jsx39(
6635
- "div",
6636
- {
6637
- className: cn(variantClass, animationClass),
6638
- style: index === lines - 1 ? { width: "60%" } : void 0
6639
- },
6640
- index
6641
- ))
6642
- }
6643
- );
6644
- }
6645
- return /* @__PURE__ */ jsx39(
6646
- "div",
6647
- {
6648
- ref,
6649
- className: cn(variantClass, animationClass, className),
6650
- style,
6651
- ...props,
6652
- children
6653
- }
6654
- );
6655
- }
6656
- );
6657
- var SkeletonText = forwardRef14(
6658
- (props, ref) => /* @__PURE__ */ jsx39(Skeleton, { ref, variant: "text", ...props })
6659
- );
6660
- var SkeletonCircle = forwardRef14((props, ref) => /* @__PURE__ */ jsx39(Skeleton, { ref, variant: "circular", ...props }));
6661
- var SkeletonRectangle = forwardRef14((props, ref) => /* @__PURE__ */ jsx39(Skeleton, { ref, variant: "rectangular", ...props }));
6662
- var SkeletonRounded = forwardRef14((props, ref) => /* @__PURE__ */ jsx39(Skeleton, { ref, variant: "rounded", ...props }));
6663
- var SkeletonCard = forwardRef14(
6664
- ({
6665
- showAvatar = true,
6666
- showTitle = true,
6667
- showDescription = true,
6668
- showActions = true,
6669
- lines = 2,
6670
- className = "",
6671
- ...props
6672
- }, ref) => {
6673
- return /* @__PURE__ */ jsxs32(
6674
- "div",
6675
- {
6676
- ref,
6677
- className: cn(
6678
- "w-full p-4 bg-background border border-border-200 rounded-lg",
6679
- className
6680
- ),
6681
- ...props,
6682
- children: [
6683
- /* @__PURE__ */ jsxs32("div", { className: "flex items-start space-x-3", children: [
6684
- showAvatar && /* @__PURE__ */ jsx39(SkeletonCircle, { width: 40, height: 40 }),
6685
- /* @__PURE__ */ jsxs32("div", { className: "flex-1 space-y-2", children: [
6686
- showTitle && /* @__PURE__ */ jsx39(SkeletonText, { width: "60%", height: 20 }),
6687
- showDescription && /* @__PURE__ */ jsx39(SkeletonText, { lines, spacing: "small" })
6688
- ] })
6689
- ] }),
6690
- showActions && /* @__PURE__ */ jsxs32("div", { className: "flex justify-end space-x-2 mt-4", children: [
6691
- /* @__PURE__ */ jsx39(SkeletonRectangle, { width: 80, height: 32 }),
6692
- /* @__PURE__ */ jsx39(SkeletonRectangle, { width: 80, height: 32 })
6693
- ] })
6694
- ]
6695
- }
6696
- );
6697
- }
6698
- );
6699
- var SkeletonList = forwardRef14(
6700
- ({
6701
- items = 3,
6702
- showAvatar = true,
6703
- showTitle = true,
6704
- showDescription = true,
6705
- lines = 1,
6706
- className = "",
6707
- ...props
6708
- }, ref) => {
6709
- return /* @__PURE__ */ jsx39("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ jsxs32("div", { className: "flex items-start space-x-3 p-3", children: [
6710
- showAvatar && /* @__PURE__ */ jsx39(SkeletonCircle, { width: 32, height: 32 }),
6711
- /* @__PURE__ */ jsxs32("div", { className: "flex-1 space-y-2", children: [
6712
- showTitle && /* @__PURE__ */ jsx39(SkeletonText, { width: "40%", height: 16 }),
6713
- showDescription && /* @__PURE__ */ jsx39(SkeletonText, { lines, spacing: "small" })
6714
- ] })
6715
- ] }, index)) });
6716
- }
6717
- );
6718
- var SkeletonTable = forwardRef14(
6719
- ({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
6720
- return /* @__PURE__ */ jsxs32("div", { ref, className: cn("w-full", className), ...props, children: [
6721
- showHeader && /* @__PURE__ */ jsx39("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ jsx39(
6722
- SkeletonText,
6723
- {
6724
- width: `${100 / columns}%`,
6725
- height: 20
6726
- },
6727
- index
6728
- )) }),
6729
- /* @__PURE__ */ jsx39("div", { className: "space-y-2", children: Array.from({ length: rows }, (_, rowIndex) => /* @__PURE__ */ jsx39("div", { className: "flex space-x-2", children: Array.from({ length: columns }, (_2, colIndex) => /* @__PURE__ */ jsx39(
6730
- SkeletonText,
6731
- {
6732
- width: `${100 / columns}%`,
6733
- height: 16
6734
- },
6735
- colIndex
6736
- )) }, rowIndex)) })
6737
- ] });
6738
- }
6739
- );
6740
-
6741
6776
  // src/hooks/useMobile.ts
6742
6777
  import { useState as useState14, useEffect as useEffect15 } from "react";
6743
6778
  var MOBILE_WIDTH = 500;
@@ -8237,7 +8272,9 @@ function TableProvider({
8237
8272
  initialFilters = [],
8238
8273
  paginationConfig = {},
8239
8274
  searchPlaceholder = "Buscar...",
8240
- noSearchResultImage,
8275
+ emptyState,
8276
+ loadingState,
8277
+ noSearchResultState,
8241
8278
  rowKey,
8242
8279
  onParamsChange,
8243
8280
  onRowClick,
@@ -8356,7 +8393,10 @@ function TableProvider({
8356
8393
  const start = (currentPage - 1) * itemsPerPage;
8357
8394
  return sortedData.slice(start, start + itemsPerPage);
8358
8395
  }, [useInternalPagination, sortedData, currentPage, itemsPerPage]);
8359
- const isEmpty = sortedData.length === 0;
8396
+ const isEmpty = data.length === 0;
8397
+ const showLoading = loading;
8398
+ const showNoSearchResult = !loading && data.length === 0 && searchQuery.trim() !== "";
8399
+ const showEmpty = !loading && data.length === 0 && searchQuery.trim() === "";
8360
8400
  const controls = (enableSearch || enableFilters) && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-4", children: [
8361
8401
  enableFilters && /* @__PURE__ */ jsxs38(
8362
8402
  Button_default,
@@ -8386,8 +8426,12 @@ function TableProvider({
8386
8426
  Table_default,
8387
8427
  {
8388
8428
  variant,
8389
- searchTerm: enableSearch ? searchQuery : void 0,
8390
- noSearchResultImage,
8429
+ showLoading,
8430
+ loadingState,
8431
+ showNoSearchResult,
8432
+ noSearchResultState,
8433
+ showEmpty,
8434
+ emptyState,
8391
8435
  children: [
8392
8436
  /* @__PURE__ */ jsx49("thead", { children: /* @__PURE__ */ jsx49(
8393
8437
  TableRow,
@@ -8515,7 +8559,7 @@ import {
8515
8559
  forwardRef as forwardRef15,
8516
8560
  isValidElement as isValidElement5,
8517
8561
  Children as Children5,
8518
- cloneElement as cloneElement5,
8562
+ cloneElement as cloneElement4,
8519
8563
  useId as useId8
8520
8564
  } from "react";
8521
8565
  import { CaretDown as CaretDown3, Check as Check4, WarningCircle as WarningCircle5 } from "phosphor-react";
@@ -8600,7 +8644,7 @@ var injectStore4 = (children, store, size, selectId) => {
8600
8644
  selectId
8601
8645
  );
8602
8646
  }
8603
- return cloneElement5(typedChild, newProps);
8647
+ return cloneElement4(typedChild, newProps);
8604
8648
  }
8605
8649
  return child;
8606
8650
  });
@@ -8868,7 +8912,7 @@ import {
8868
8912
  forwardRef as forwardRef16,
8869
8913
  isValidElement as isValidElement6,
8870
8914
  Children as Children6,
8871
- cloneElement as cloneElement6,
8915
+ cloneElement as cloneElement5,
8872
8916
  useState as useState18
8873
8917
  } from "react";
8874
8918
  import { CaretLeft as CaretLeft4, CaretRight as CaretRight5 } from "phosphor-react";
@@ -9173,7 +9217,7 @@ var injectStore5 = (children, store) => Children6.map(children, (child) => {
9173
9217
  if (!isValidElement6(child)) return child;
9174
9218
  const typedChild = child;
9175
9219
  const shouldInject = typedChild.type === MenuItem;
9176
- return cloneElement6(typedChild, {
9220
+ return cloneElement5(typedChild, {
9177
9221
  ...shouldInject ? { store } : {},
9178
9222
  ...typedChild.props.children ? { children: injectStore5(typedChild.props.children, store) } : {}
9179
9223
  });
@@ -9202,7 +9246,7 @@ import {
9202
9246
  } from "phosphor-react";
9203
9247
 
9204
9248
  // src/components/IconRender/IconRender.tsx
9205
- import { cloneElement as cloneElement7 } from "react";
9249
+ import { cloneElement as cloneElement6 } from "react";
9206
9250
  import * as PhosphorIcons from "phosphor-react";
9207
9251
  import { jsx as jsx52 } from "react/jsx-runtime";
9208
9252
  var IconRender = ({
@@ -9225,7 +9269,7 @@ var IconRender = ({
9225
9269
  }
9226
9270
  }
9227
9271
  } else {
9228
- return cloneElement7(iconName, {
9272
+ return cloneElement6(iconName, {
9229
9273
  size,
9230
9274
  color: "currentColor"
9231
9275
  });
@@ -12238,7 +12282,7 @@ CardAccordation.displayName = "CardAccordation";
12238
12282
  // src/components/Accordation/AccordionGroup.tsx
12239
12283
  import {
12240
12284
  Children as Children7,
12241
- cloneElement as cloneElement8,
12285
+ cloneElement as cloneElement7,
12242
12286
  forwardRef as forwardRef19,
12243
12287
  isValidElement as isValidElement7,
12244
12288
  useEffect as useEffect25,
@@ -12292,11 +12336,11 @@ var injectStore6 = (children, store, indexRef, onItemToggle) => {
12292
12336
  if (displayName === "CardAccordation") {
12293
12337
  newProps.children = processedChildren;
12294
12338
  } else if (processedChildren !== typedChild.props.children) {
12295
- return cloneElement8(typedChild, { children: processedChildren });
12339
+ return cloneElement7(typedChild, { children: processedChildren });
12296
12340
  }
12297
12341
  }
12298
12342
  if (Object.keys(newProps).length > 0) {
12299
- return cloneElement8(typedChild, newProps);
12343
+ return cloneElement7(typedChild, newProps);
12300
12344
  }
12301
12345
  return child;
12302
12346
  });