@konstructio/ui 0.1.7 → 0.1.8

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.
Files changed (68) hide show
  1. package/dist/check-Bekes_eB.js +14 -0
  2. package/dist/components/CopyButton/CopyButton.js +12 -12
  3. package/dist/components/DateRangePicker/DateRangePicker.js +58 -57
  4. package/dist/components/DateRangePicker/DateRangePicker.variants.js +1 -0
  5. package/dist/components/DateRangePicker/components/CalendarPanel/CalendarPanel.js +55 -54
  6. package/dist/components/DateRangePicker/components/CalendarPanel/components/CalendarMonth/CalendarMonth.js +17 -17
  7. package/dist/components/DateRangePicker/components/CalendarPanel/components/CalendarMonth/components/CalendarMonthContent/CalendarMonthContent.js +15 -14
  8. package/dist/components/DateRangePicker/components/CalendarPanel/components/IndependentModeCalendar/IndependentModeCalendar.js +1 -1
  9. package/dist/components/DateRangePicker/components/CalendarPanel/components/TogetherModeCalendar/TogetherModeCalendar.js +74 -55
  10. package/dist/components/DateRangePicker/components/CalendarPanel/constants/dayPickerClassNames.js +1 -1
  11. package/dist/components/DateRangePicker/components/CalendarPanel/constants/index.js +1 -1
  12. package/dist/components/DateRangePicker/components/CalendarPanel/hooks/index.js +1 -1
  13. package/dist/components/DateRangePicker/components/CalendarPanel/hooks/useIndependentCarousel.js +1 -1
  14. package/dist/components/DateRangePicker/components/CalendarPanel/hooks/useTogetherCarousel.js +38 -38
  15. package/dist/components/DateRangePicker/components/CalendarPanel/utils/index.js +1 -1
  16. package/dist/components/DateRangePicker/components/DateTimeInputs/DateTimeInputs.js +60 -56
  17. package/dist/components/DateRangePicker/components/PresetPanel/PresetPanel.variants.js +21 -14
  18. package/dist/components/DateRangePicker/components/RightPanel/RightPanel.js +41 -25
  19. package/dist/components/DateRangePicker/contexts/date-range-picker/date-range-picker.provider.js +15 -14
  20. package/dist/components/Filter/Filter.variants.js +12 -7
  21. package/dist/components/Filter/components/CustomDateRangeFilterDropdown/components/MobilePresets/MobilePresets.js +39 -0
  22. package/dist/components/Filter/components/CustomDateRangeFilterDropdown/components/PanelActions/PanelActions.js +17 -14
  23. package/dist/components/Filter/components/CustomDateRangeFilterDropdown/components/Picker/Picker.js +48 -27
  24. package/dist/components/Filter/components/CustomDateRangeFilterDropdown/components/Trigger/Trigger.js +13 -12
  25. package/dist/components/Filter/components/CustomDateRangeFilterDropdown/components/Wrapper/Wrapper.js +53 -17
  26. package/dist/components/Filter/components/CustomDateRangeFilterDropdown/contexts/custom-date-range-filter-dropdown/custom-date-range-filter-dropdown.provider.js +87 -78
  27. package/dist/components/Filter/components/FilterDropdown/FilterDropdown.js +44 -20
  28. package/dist/components/Filter/components/TextMultiSelect/TextMultiSelect.js +58 -50
  29. package/dist/components/Filter/hooks/index.js +5 -2
  30. package/dist/components/Filter/hooks/useFilterSheet.js +6 -0
  31. package/dist/components/PhoneNumberInput/components/TruncateText/TruncateText.js +18 -18
  32. package/dist/components/Sheet/Sheet.js +143 -139
  33. package/dist/components/Sheet/components/SheetStep/SheetStep.js +57 -55
  34. package/dist/components/Sidebar/components/NavigationOption/NavigationOption.js +1 -1
  35. package/dist/components/Stepper/components/HorizontalStepItem/HorizontalStepItem.js +42 -42
  36. package/dist/components/Stepper/components/StepIndicatorContent/StepIndicatorContent.js +25 -2
  37. package/dist/components/Stepper/components/VerticalStepItem/VerticalStepItem.js +1 -1
  38. package/dist/components/Tooltip/Tooltip.js +17 -17
  39. package/dist/components/VirtualizedTable/components/Filter/Filter.js +40 -39
  40. package/dist/components/VirtualizedTable/components/Header/Header.js +1 -1
  41. package/dist/components/VirtualizedTable/constants/index.js +6 -5
  42. package/dist/components/VirtualizedTable/constants/responsive.js +2 -1
  43. package/dist/{constants-YCGllWdf.js → constants-Cw00eFTQ.js} +13 -13
  44. package/dist/lib/components/DateRangePicker/DateRangePicker.types.d.ts +6 -0
  45. package/dist/lib/components/DateRangePicker/components/CalendarPanel/components/CalendarMonth/CalendarMonth.types.d.ts +2 -0
  46. package/dist/lib/components/DateRangePicker/components/CalendarPanel/components/TogetherModeCalendar/TogetherModeCalendar.types.d.ts +2 -0
  47. package/dist/lib/components/DateRangePicker/components/CalendarPanel/constants/dayPickerClassNames.d.ts +1 -1
  48. package/dist/lib/components/DateRangePicker/components/CalendarPanel/hooks/useTogetherCarousel.d.ts +3 -1
  49. package/dist/lib/components/DateRangePicker/contexts/date-range-picker/date-range-picker.context.d.ts +2 -0
  50. package/dist/lib/components/DateRangePicker/contexts/date-range-picker/date-range-picker.types.d.ts +1 -0
  51. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/components/MobilePresets/MobilePresets.d.ts +3 -0
  52. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/components/MobilePresets/MobilePresets.types.d.ts +3 -0
  53. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/components/PanelActions/PanelActions.d.ts +2 -1
  54. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/components/PanelActions/PanelActions.types.d.ts +4 -0
  55. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/components/Picker/Picker.d.ts +2 -1
  56. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/components/Picker/Picker.types.d.ts +4 -0
  57. package/dist/lib/components/Filter/components/CustomDateRangeFilterDropdown/contexts/custom-date-range-filter-dropdown/custom-date-range-filter-dropdown.types.d.ts +2 -0
  58. package/dist/lib/components/Filter/components/FilterDropdown/FilterDropdown.types.d.ts +8 -0
  59. package/dist/lib/components/Filter/hooks/index.d.ts +1 -0
  60. package/dist/lib/components/Filter/hooks/useFilterSheet.d.ts +2 -0
  61. package/dist/lib/components/Sheet/Sheet.types.d.ts +12 -0
  62. package/dist/lib/components/Sheet/components/SheetStep/SheetStep.d.ts +21 -3
  63. package/dist/lib/components/VirtualizedTable/constants/responsive.d.ts +1 -0
  64. package/dist/package.json +18 -18
  65. package/dist/styles.css +1 -1
  66. package/dist/ui/utilities.css +23 -0
  67. package/package.json +18 -18
  68. package/dist/StepIndicatorContent-C6MILk4c.js +0 -36
@@ -1,12 +1,12 @@
1
1
  import { t } from "./utils-DnIJruo0.js";
2
- var o = (e) => ({
3
- root: t("w-fit", e?.root),
2
+ var a = (e, r = !1) => ({
3
+ root: t(r ? "w-full" : "w-fit", e?.root),
4
4
  months: t("flex", e?.months),
5
- month: t("flex flex-col w-[259px]", e?.month),
5
+ month: t("flex flex-col", r ? "w-full" : "w-[259px]", e?.month),
6
6
  month_caption: "hidden",
7
7
  nav: "hidden",
8
- day_button: t("size-7.5", "flex", "items-center", "justify-center", "text-sm", "font-semibold", "cursor-pointer", "rounded-full", "hover:bg-slate-100", "dark:hover:bg-metal-700", "transition-colors", "text-slate-700", "dark:text-white", "focus:outline-none", "focus-visible:outline-none", "focus-visible:ring-1", "focus-visible:ring-aurora-500", e?.dayButton),
9
- day: t("p-0", "w-[37px]", "h-9.5", "text-center", "align-middle", e?.day),
8
+ day_button: t("size-7.5", "mx-auto", "flex", "items-center", "justify-center", "text-sm", "font-semibold", "cursor-pointer", "rounded-full", "hover:bg-slate-100", "dark:hover:bg-metal-700", "transition-colors", "text-slate-700", "dark:text-white", "focus:outline-none", "focus-visible:outline-none", "focus-visible:ring-1", "focus-visible:ring-aurora-500", e?.dayButton),
9
+ day: t("p-0", !r && "w-[37px]", "h-9.5", "text-center", "align-middle", e?.day),
10
10
  selected: t("[&>button]:bg-blue-600", "[&>button]:text-white", "[&>button]:hover:bg-blue-700", "dark:[&>button]:bg-aurora-500", "dark:[&>button]:hover:bg-aurora-500", "dark:[&>button]:text-metal-900", e?.selected),
11
11
  range_start: t("drp-range-start", "[&>button]:!bg-blue-600", "[&>button]:!text-white", "[&>button]:!rounded-full", "[&>button]:hover:!bg-blue-700", "[&>button]:relative", "[&>button]:z-10", "dark:[&>button]:!bg-aurora-500", "dark:[&>button]:hover:!bg-aurora-500", "dark:[&>button]:!text-metal-900", "!relative", "before:absolute", "before:top-1", "before:bottom-1", "before:left-1/2", "before:right-0", "before:!bg-blue-50", "dark:before:!bg-aurora-500/10", "last:before:!hidden", e?.rangeStart),
12
12
  range_end: t("drp-range-end", "[&>button]:!bg-blue-600", "[&>button]:!text-white", "[&>button]:!rounded-full", "[&>button]:hover:!bg-blue-700", "[&>button]:relative", "[&>button]:z-10", "dark:[&>button]:!bg-aurora-500", "dark:[&>button]:hover:!bg-aurora-500", "dark:[&>button]:!text-metal-900", "!relative", "before:absolute", "before:top-1", "before:bottom-1", "before:left-0", "before:right-1/2", "before:!bg-blue-50", "dark:before:!bg-aurora-500/10", "first:before:!hidden", e?.rangeEnd),
@@ -14,18 +14,18 @@ var o = (e) => ({
14
14
  table: t("w-full border-collapse table-fixed", e?.table),
15
15
  weekdays: t("text-slate-500", "dark:text-metal-400", e?.weekdays),
16
16
  weeks: t("[&>tr>td]:p-0", "[&>tr]:h-9.5", e?.weeks),
17
- weekday: t("font-semibold", "text-xs", "uppercase", "text-slate-500", "dark:text-metal-400", "pb-4", "w-[37px]", e?.weekday),
17
+ weekday: t("font-semibold", "text-xs", "uppercase", "text-slate-500", "dark:text-metal-400", "pb-4", !r && "w-[37px]", e?.weekday),
18
18
  today: t("[&>button]:text-blue-600", "dark:[&>button]:text-aurora-500", e?.today),
19
19
  month_grid: "w-full",
20
20
  disabled: t("[&>button]:opacity-50", "[&>button]:cursor-not-allowed", e?.disabled),
21
21
  outside: t("[&>button]:!text-slate-400", "dark:[&>button]:!text-metal-500", e?.outside)
22
- }), a = 259, b = 32, n = 2592e6, l = 56, d = 28, u = 38;
22
+ }), b = 259, n = 32, l = 2592e6, u = 56, d = 28, f = 38;
23
23
  export {
24
24
  d as a,
25
- a as i,
26
- l as n,
27
- u as o,
28
- n as r,
29
- o as s,
30
- b as t
25
+ b as i,
26
+ u as n,
27
+ f as o,
28
+ l as r,
29
+ a as s,
30
+ n as t
31
31
  };
@@ -89,6 +89,12 @@ export type Props = VariantProps<typeof dateRangePickerVariants> & {
89
89
  */
90
90
  navigationMode?: 'independent' | 'together';
91
91
  numberOfMonths?: 1 | 2;
92
+ /**
93
+ * Stretch to the container instead of sizing to the content: the date inputs
94
+ * share its width and a single month spans it, for narrow layouts such as a
95
+ * phone sheet (default: false)
96
+ */
97
+ fluid?: boolean;
92
98
  dateDisplayFormat?: DateDisplayFormat;
93
99
  /** Aria label for the calendar container (default: 'Date range picker calendar') */
94
100
  ariaLabelCalendar?: string;
@@ -2,6 +2,8 @@ import { DateRange, Matcher } from 'react-day-picker';
2
2
  import { DayPickerClassNames } from '../../CalendarPanel.types';
3
3
  export type Props = {
4
4
  month: Date;
5
+ /** Width in pixels; a fluid calendar passes the one it measured */
6
+ monthWidth?: number;
5
7
  range: {
6
8
  from?: Date;
7
9
  to?: Date;
@@ -4,6 +4,8 @@ import { UseTogetherCarouselProps } from '../../hooks';
4
4
  export type Props = {
5
5
  className?: string;
6
6
  calendarWidth?: number;
7
+ /** The month spans the container's width instead of its fixed one */
8
+ fluid?: boolean;
7
9
  ariaLabelCalendar?: string;
8
10
  ariaLabelPrevMonth?: string;
9
11
  ariaLabelNextMonth?: string;
@@ -1,5 +1,5 @@
1
1
  import { DayPickerClassNames } from '../CalendarPanel.types';
2
- export declare const createDayPickerClassNames: (custom?: DayPickerClassNames) => {
2
+ export declare const createDayPickerClassNames: (custom?: DayPickerClassNames, fluid?: boolean) => {
3
3
  root: string;
4
4
  months: string;
5
5
  month: string;
@@ -6,10 +6,12 @@ export type UseTogetherCarouselProps = {
6
6
  canNavigateNext: boolean;
7
7
  navigationMode: 'together' | 'independent';
8
8
  numberOfMonths?: 1 | 2;
9
+ /** Width of one month in pixels; a fluid calendar passes the one it measured */
10
+ monthWidth?: number;
9
11
  navigatePrevMonth: () => void;
10
12
  navigateNextMonth: () => void;
11
13
  };
12
- export declare const useTogetherCarousel: ({ displayedMonths, animationDuration, disabled, canNavigatePrev, canNavigateNext, navigationMode, numberOfMonths, navigatePrevMonth, navigateNextMonth, }: UseTogetherCarouselProps) => {
14
+ export declare const useTogetherCarousel: ({ displayedMonths, animationDuration, disabled, canNavigatePrev, canNavigateNext, navigationMode, numberOfMonths, monthWidth, navigatePrevMonth, navigateNextMonth, }: UseTogetherCarouselProps) => {
13
15
  carouselRef: import('react').RefObject<HTMLDivElement | null>;
14
16
  isAnimating: boolean;
15
17
  enableTransition: boolean;
@@ -75,6 +75,8 @@ export type DateRangePickerContextValue = {
75
75
  /** Navigation mode: 'together' or 'independent' */
76
76
  navigationMode: 'together' | 'independent';
77
77
  numberOfMonths: 1 | 2;
78
+ /** Whether the picker stretches to its container instead of sizing to the content */
79
+ fluid: boolean;
78
80
  dateDisplayFormat: DateDisplayFormat;
79
81
  /** Whether the inputs and calendar only show for the manual-selection preset */
80
82
  revealCalendarOnCustom: boolean;
@@ -15,6 +15,7 @@ export type Props = PropsWithChildren<{
15
15
  name?: string;
16
16
  navigationMode?: 'together' | 'independent';
17
17
  numberOfMonths?: 1 | 2;
18
+ fluid?: boolean;
18
19
  presets?: DateRangePresetOption[];
19
20
  revealCalendarOnCustom?: boolean;
20
21
  showOutsideDays?: boolean;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { Props } from './MobilePresets.types';
3
+ export declare const MobilePresets: FC<Props>;
@@ -1,2 +1,3 @@
1
1
  import { FC } from 'react';
2
- export declare const PanelActions: FC;
2
+ import { Props } from './PanelActions.types';
3
+ export declare const PanelActions: FC<Props>;
@@ -0,0 +1,4 @@
1
+ export type Props = {
2
+ /** Full-width, full-height buttons for the phone sheet footer */
3
+ isSheet?: boolean;
4
+ };
@@ -1,2 +1,3 @@
1
1
  import { FC } from 'react';
2
- export declare const Picker: FC;
2
+ import { Props } from './Picker.types';
3
+ export declare const Picker: FC<Props>;
@@ -0,0 +1,4 @@
1
+ export type Props = {
2
+ /** Calendar only, for the second step of the phone sheet */
3
+ isSheet?: boolean;
4
+ };
@@ -18,6 +18,8 @@ export type State = Config & {
18
18
  selectedRange?: DateRange;
19
19
  showsCalendar: boolean;
20
20
  onApply: () => void;
21
+ /** Applies a preset's window in one go and closes, as a tap on a phone does */
22
+ onApplyPreset: (preset: string, range: DateRange) => void;
21
23
  onClear: () => void;
22
24
  onOpenChange: (open: boolean) => void;
23
25
  onPresetChange: (preset: string | null, range: DateRange) => void;
@@ -5,5 +5,13 @@ export type Props = PropsWithChildren & {
5
5
  triggerClassName?: string;
6
6
  position?: 'left' | 'right';
7
7
  contentClassName?: string;
8
+ /** Heading of the phone sheet used below md */
9
+ sheetTitle?: ReactNode;
10
+ /** Step shown by the phone sheet; changing it slides the content */
11
+ sheetStep?: number;
12
+ /** What the previous sheet step shows now, for the back preview */
13
+ sheetPreviousContent?: ReactNode;
14
+ /** Goes back one step in the phone sheet */
15
+ onSheetBack?: () => void;
8
16
  onOpenChange: (open: boolean) => void;
9
17
  };
@@ -1,2 +1,3 @@
1
1
  export * from './useFilterDropdownSync';
2
2
  export * from './useLocale';
3
+ export { FILTER_SHEET_QUERY, useFilterSheet } from './useFilterSheet';
@@ -0,0 +1,2 @@
1
+ export declare const FILTER_SHEET_QUERY = "(max-width: 767.98px)";
2
+ export declare const useFilterSheet: () => boolean;
@@ -42,6 +42,18 @@ export type Props = PropsWithChildren<{
42
42
  * height to the new content.
43
43
  */
44
44
  step?: number;
45
+ /**
46
+ * Fade the bottom edge while the panel grows to a taller step, so the
47
+ * incoming rows come in behind a soft edge instead of being cut by it
48
+ * (default: false, the edge cuts).
49
+ */
50
+ softReveal?: boolean;
51
+ /**
52
+ * What the previous step shows right now. The back gesture and control
53
+ * preview that step with its last render; pass this when its content can
54
+ * change while a later step is open.
55
+ */
56
+ previousContent?: ReactNode;
45
57
  /** Additional CSS classes for the panel */
46
58
  className?: string;
47
59
  /** Additional CSS classes for the scrolling body */
@@ -1,8 +1,26 @@
1
- import { FC } from 'react';
2
- import { Props } from './SheetStep.types';
1
+ import { PanInfo } from 'motion/react';
3
2
  /**
4
3
  * One step of a sheet's content. It owns its horizontal offset so a step that
5
4
  * was swiped away keeps that offset while it unmounts and the next step mounts
6
5
  * in place.
6
+ *
7
+ * The ref is forwarded because AnimatePresence's popLayout attaches one to
8
+ * take the leaving step out of the flow; without it the step keeps its space
9
+ * while it slides out and the sheet grows to the height of both steps.
7
10
  */
8
- export declare const SheetStep: FC<Props>;
11
+ export declare const SheetStep: import('react').ForwardRefExoticComponent<{
12
+ step: number;
13
+ direction: number;
14
+ animated: boolean;
15
+ canSwipeBack: boolean;
16
+ isArmed: (info: PanInfo) => boolean;
17
+ onBackStart: () => void;
18
+ onBackMove: (offset: number) => void;
19
+ onBackEnd: (info: PanInfo) => import('./SheetStep.types').BackOutcome;
20
+ onMount: (height: number) => void;
21
+ commitSignal: number;
22
+ onBackCommit: () => void;
23
+ onBackCancel: () => void;
24
+ } & {
25
+ children?: import('react').ReactNode | undefined;
26
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -10,3 +10,4 @@ export type ResponsiveEdgeClasses = {
10
10
  export declare const BORDER_EDGE_CLASSES: ResponsiveEdgeClasses;
11
11
  export declare const ROUNDED_TOP_EDGE_CLASSES: ResponsiveEdgeClasses;
12
12
  export declare const ROUNDED_BOTTOM_EDGE_CLASSES: ResponsiveEdgeClasses;
13
+ export declare const MOBILE_FILTER_QUERY = "(max-width: 767.98px)";
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@konstructio/ui",
3
3
  "description": "A set of reusable and customizable React components built for konstruct.io",
4
4
  "private": false,
5
- "version": "0.1.6",
5
+ "version": "0.1.7",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "main": "dist/index.js",
@@ -102,7 +102,7 @@
102
102
  "google-libphonenumber": "^3.2.48",
103
103
  "i18n-iso-countries": "^7.14.0",
104
104
  "js-cookie": "^3.0.8",
105
- "lucide-react": "^1.68.0",
105
+ "lucide-react": "^1.71.0",
106
106
  "react-chartjs-2": "^5.3.1",
107
107
  "react-day-picker": "^10.0.2",
108
108
  "react-feather": "^2.0.10",
@@ -111,7 +111,7 @@
111
111
  "tailwind-merge": "^3.7.0"
112
112
  },
113
113
  "peerDependencies": {
114
- "@tanstack/react-query": "^5.105",
114
+ "@tanstack/react-query": "^5.107",
115
115
  "@types/react": "*",
116
116
  "@types/react-dom": "*",
117
117
  "motion": "^14",
@@ -146,22 +146,22 @@
146
146
  "devDependencies": {
147
147
  "@faker-js/faker": "^10.6.0",
148
148
  "@rollup/plugin-alias": "^6.0.1",
149
- "@storybook/addon-docs": "^10.6.5",
150
- "@storybook/addon-links": "^10.6.5",
151
- "@storybook/react-vite": "^10.6.5",
152
- "@tailwindcss/vite": "^4.3.4",
153
- "@tanstack/react-query": "^5.105.3",
149
+ "@storybook/addon-docs": "^10.6.7",
150
+ "@storybook/addon-links": "^10.6.7",
151
+ "@storybook/react-vite": "^10.6.7",
152
+ "@tailwindcss/vite": "^4.3.5",
153
+ "@tanstack/react-query": "^5.107.1",
154
154
  "@testing-library/jest-dom": "^7.0.1",
155
155
  "@testing-library/react": "^16.3.3",
156
- "@testing-library/user-event": "^14.6.8",
156
+ "@testing-library/user-event": "^14.6.9",
157
157
  "@types/google-libphonenumber": "^7.4.31",
158
158
  "@types/jest-axe": "^3.5.9",
159
159
  "@types/js-cookie": "^3.0.6",
160
160
  "@types/lodash": "^4.17.27",
161
161
  "@types/react": "^19.3.0",
162
162
  "@types/react-dom": "^19.3.0",
163
- "@typescript-eslint/eslint-plugin": "^8.72.1",
164
- "@typescript-eslint/parser": "^8.72.1",
163
+ "@typescript-eslint/eslint-plugin": "^8.72.2",
164
+ "@typescript-eslint/parser": "^8.72.2",
165
165
  "@vitejs/plugin-react": "^6.2.1",
166
166
  "@vitest/coverage-v8": "^5.1.0",
167
167
  "autoprefixer": "^10.6.2",
@@ -169,22 +169,22 @@
169
169
  "eslint-plugin-react": "^7.37.5",
170
170
  "eslint-plugin-react-hooks": "^7.1.1",
171
171
  "eslint-plugin-react-refresh": "^0.5.7",
172
- "eslint-plugin-storybook": "^10.6.5",
172
+ "eslint-plugin-storybook": "^10.6.7",
173
173
  "eslint-plugin-vitest": "^0.5.4",
174
- "glob": "^14.0.3",
174
+ "glob": "^14.0.4",
175
175
  "husky": "^9.1.7",
176
176
  "jest-axe": "^11.0.0",
177
- "jsdom": "^30.1.3",
177
+ "jsdom": "^31.0.0",
178
178
  "lodash": "^4.18.1",
179
- "motion": "^14.9.1",
179
+ "motion": "^14.12.0",
180
180
  "postcss": "^8.5.32",
181
181
  "prettier": "^3.9.10",
182
182
  "rimraf": "^6.1.4",
183
- "storybook": "^10.6.5",
184
- "tailwindcss": "^4.3.4",
183
+ "storybook": "^10.6.7",
184
+ "tailwindcss": "^4.3.5",
185
185
  "ts-node": "^10.9.2",
186
186
  "typescript": "^6.0.3",
187
- "vite": "^8.3.5",
187
+ "vite": "^8.3.7",
188
188
  "vite-plugin-dts": "^5.1.2",
189
189
  "vite-plugin-lib-inject-css": "^2.2.2",
190
190
  "vite-plugin-svgr": "^5.2.0",