@donotdev/components 0.0.12 → 0.0.13

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 (151) hide show
  1. package/dist/advanced/Bento/Bento.d.ts +0 -9
  2. package/dist/advanced/Bento/Bento.d.ts.map +1 -1
  3. package/dist/advanced/Bento/Bento.js +10 -0
  4. package/dist/advanced/Code/Code.d.ts +1 -9
  5. package/dist/advanced/Code/Code.d.ts.map +1 -1
  6. package/dist/atomic/Accordion/index.d.ts.map +1 -1
  7. package/dist/atomic/Accordion/index.js +1 -1
  8. package/dist/atomic/ActionButton/index.d.ts.map +1 -1
  9. package/dist/atomic/AlertDialog/AlertDialogPrimitive.d.ts.map +1 -1
  10. package/dist/atomic/AlertDialog/index.js +2 -2
  11. package/dist/atomic/Avatar/AvatarPrimitive.d.ts +1 -1
  12. package/dist/atomic/Avatar/AvatarPrimitive.d.ts.map +1 -1
  13. package/dist/atomic/Avatar/AvatarPrimitive.js +0 -1
  14. package/dist/atomic/Blockquote/index.d.ts +1 -9
  15. package/dist/atomic/Blockquote/index.d.ts.map +1 -1
  16. package/dist/atomic/Button/index.d.ts +18 -1
  17. package/dist/atomic/Button/index.d.ts.map +1 -1
  18. package/dist/atomic/Button/index.js +15 -5
  19. package/dist/atomic/Calendar/index.d.ts.map +1 -1
  20. package/dist/atomic/Calendar/index.js +3 -2
  21. package/dist/atomic/Checkbox/CheckboxPrimitive.d.ts +1 -1
  22. package/dist/atomic/Checkbox/CheckboxPrimitive.d.ts.map +1 -1
  23. package/dist/atomic/Checkbox/CheckboxPrimitive.js +0 -1
  24. package/dist/atomic/Checkbox/index.d.ts +1 -1
  25. package/dist/atomic/Checkbox/index.d.ts.map +1 -1
  26. package/dist/atomic/Checkbox/index.js +2 -2
  27. package/dist/atomic/Collapsible/CollapsiblePrimitive.d.ts +1 -1
  28. package/dist/atomic/Collapsible/CollapsiblePrimitive.d.ts.map +1 -1
  29. package/dist/atomic/Collapsible/CollapsiblePrimitive.js +0 -1
  30. package/dist/atomic/Collapsible/index.d.ts.map +1 -1
  31. package/dist/atomic/Collapsible/index.js +2 -2
  32. package/dist/atomic/Combobox/index.d.ts.map +1 -1
  33. package/dist/atomic/Combobox/index.js +4 -4
  34. package/dist/atomic/CommandDialog/index.d.ts.map +1 -1
  35. package/dist/atomic/CommandDialog/index.js +1 -1
  36. package/dist/atomic/ContextMenu/ContextMenuPrimitive.d.ts +1 -1
  37. package/dist/atomic/ContextMenu/ContextMenuPrimitive.d.ts.map +1 -1
  38. package/dist/atomic/ContextMenu/ContextMenuPrimitive.js +0 -1
  39. package/dist/atomic/ContextMenu/index.d.ts.map +1 -1
  40. package/dist/atomic/Dialog/DialogPrimitive.d.ts.map +1 -1
  41. package/dist/atomic/Dialog/index.d.ts.map +1 -1
  42. package/dist/atomic/Dialog/index.js +1 -1
  43. package/dist/atomic/DropdownMenu/index.d.ts.map +1 -1
  44. package/dist/atomic/DropdownMenu/index.js +17 -3
  45. package/dist/atomic/DualCard/index.d.ts +10 -2
  46. package/dist/atomic/DualCard/index.d.ts.map +1 -1
  47. package/dist/atomic/DualCard/index.js +3 -3
  48. package/dist/atomic/FeatureFallback/index.js +1 -1
  49. package/dist/atomic/HoverCard/HoverCardPrimitive.d.ts +1 -1
  50. package/dist/atomic/HoverCard/HoverCardPrimitive.d.ts.map +1 -1
  51. package/dist/atomic/HoverCard/HoverCardPrimitive.js +0 -1
  52. package/dist/atomic/HoverCard/index.js +1 -1
  53. package/dist/atomic/Input/index.d.ts.map +1 -1
  54. package/dist/atomic/Input/index.js +8 -1
  55. package/dist/atomic/Label/FloatingLabel.d.ts +24 -10
  56. package/dist/atomic/Label/FloatingLabel.d.ts.map +1 -1
  57. package/dist/atomic/Label/FloatingLabel.js +14 -14
  58. package/dist/atomic/Label/index.d.ts +1 -1
  59. package/dist/atomic/Label/index.d.ts.map +1 -1
  60. package/dist/atomic/Label/index.js +1 -1
  61. package/dist/atomic/List/index.d.ts +8 -0
  62. package/dist/atomic/List/index.d.ts.map +1 -1
  63. package/dist/atomic/List/index.js +1 -1
  64. package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.d.ts +1 -1
  65. package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.d.ts.map +1 -1
  66. package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.js +0 -1
  67. package/dist/atomic/NavigationMenu/index.d.ts +1 -1
  68. package/dist/atomic/NavigationMenu/index.d.ts.map +1 -1
  69. package/dist/atomic/NavigationMenu/index.js +10 -1
  70. package/dist/atomic/Pagination/index.d.ts +1 -1
  71. package/dist/atomic/Pagination/index.d.ts.map +1 -1
  72. package/dist/atomic/PasswordInput/index.d.ts +1 -1
  73. package/dist/atomic/PasswordInput/index.d.ts.map +1 -1
  74. package/dist/atomic/PasswordInput/index.js +5 -1
  75. package/dist/atomic/Popover/index.d.ts +0 -8
  76. package/dist/atomic/Popover/index.d.ts.map +1 -1
  77. package/dist/atomic/Popover/index.js +1 -1
  78. package/dist/atomic/PortalButton/index.d.ts +8 -0
  79. package/dist/atomic/PortalButton/index.d.ts.map +1 -1
  80. package/dist/atomic/PortalButton/index.js +1 -1
  81. package/dist/atomic/Progress/ProgressPrimitive.d.ts +1 -1
  82. package/dist/atomic/Progress/ProgressPrimitive.d.ts.map +1 -1
  83. package/dist/atomic/Progress/ProgressPrimitive.js +0 -1
  84. package/dist/atomic/Progress/index.d.ts +8 -0
  85. package/dist/atomic/Progress/index.d.ts.map +1 -1
  86. package/dist/atomic/Progress/index.js +1 -1
  87. package/dist/atomic/RadioGroup/index.d.ts +0 -9
  88. package/dist/atomic/RadioGroup/index.d.ts.map +1 -1
  89. package/dist/atomic/RadioGroup/index.js +2 -2
  90. package/dist/atomic/ScrollArea/ScrollAreaPrimitive.d.ts +1 -1
  91. package/dist/atomic/ScrollArea/ScrollAreaPrimitive.d.ts.map +1 -1
  92. package/dist/atomic/ScrollArea/ScrollAreaPrimitive.js +0 -1
  93. package/dist/atomic/Section/index.d.ts +0 -32
  94. package/dist/atomic/Section/index.d.ts.map +1 -1
  95. package/dist/atomic/Section/index.js +4 -4
  96. package/dist/atomic/Select/SelectPrimitive.d.ts +1 -1
  97. package/dist/atomic/Select/SelectPrimitive.d.ts.map +1 -1
  98. package/dist/atomic/Select/SelectPrimitive.js +0 -1
  99. package/dist/atomic/Select/index.d.ts.map +1 -1
  100. package/dist/atomic/Select/index.js +2 -1
  101. package/dist/atomic/Separator/SeparatorPrimitive.d.ts +1 -1
  102. package/dist/atomic/Separator/SeparatorPrimitive.d.ts.map +1 -1
  103. package/dist/atomic/Separator/SeparatorPrimitive.js +0 -1
  104. package/dist/atomic/Separator/index.d.ts +1 -1
  105. package/dist/atomic/Separator/index.d.ts.map +1 -1
  106. package/dist/atomic/Separator/index.js +0 -1
  107. package/dist/atomic/Sheet/index.d.ts +3 -1
  108. package/dist/atomic/Sheet/index.d.ts.map +1 -1
  109. package/dist/atomic/Sheet/index.js +3 -3
  110. package/dist/atomic/Slider/SliderPrimitive.d.ts +1 -1
  111. package/dist/atomic/Slider/SliderPrimitive.d.ts.map +1 -1
  112. package/dist/atomic/Slider/SliderPrimitive.js +0 -1
  113. package/dist/atomic/Slider/index.d.ts +3 -2
  114. package/dist/atomic/Slider/index.d.ts.map +1 -1
  115. package/dist/atomic/Slider/index.js +2 -3
  116. package/dist/atomic/Slot/index.d.ts.map +1 -1
  117. package/dist/atomic/Stepper/index.js +1 -1
  118. package/dist/atomic/Switch/SwitchPrimitive.d.ts +1 -1
  119. package/dist/atomic/Switch/SwitchPrimitive.d.ts.map +1 -1
  120. package/dist/atomic/Switch/SwitchPrimitive.js +0 -1
  121. package/dist/atomic/Switch/index.d.ts +3 -2
  122. package/dist/atomic/Switch/index.d.ts.map +1 -1
  123. package/dist/atomic/Switch/index.js +2 -3
  124. package/dist/atomic/Table/index.d.ts +3 -1
  125. package/dist/atomic/Table/index.d.ts.map +1 -1
  126. package/dist/atomic/Table/index.js +13 -3
  127. package/dist/atomic/Tabs/TabsPrimitive.d.ts +1 -1
  128. package/dist/atomic/Tabs/TabsPrimitive.d.ts.map +1 -1
  129. package/dist/atomic/Tabs/TabsPrimitive.js +0 -1
  130. package/dist/atomic/Tabs/index.js +1 -1
  131. package/dist/atomic/Tag/index.d.ts +8 -0
  132. package/dist/atomic/Tag/index.d.ts.map +1 -1
  133. package/dist/atomic/Tag/index.js +1 -1
  134. package/dist/atomic/Text/index.js +1 -1
  135. package/dist/atomic/Textarea/index.d.ts.map +1 -1
  136. package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.d.ts +1 -1
  137. package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.d.ts.map +1 -1
  138. package/dist/atomic/Tooltip/TooltipPrimitive.d.ts +1 -1
  139. package/dist/atomic/Tooltip/TooltipPrimitive.d.ts.map +1 -1
  140. package/dist/atomic/Tooltip/TooltipPrimitive.js +0 -1
  141. package/dist/atomic/Tooltip/index.d.ts +6 -12
  142. package/dist/atomic/Tooltip/index.d.ts.map +1 -1
  143. package/dist/atomic/Tooltip/index.js +13 -23
  144. package/dist/atomic/VideoPlayer/index.js +1 -1
  145. package/dist/atomic/VisuallyHidden/VisuallyHiddenPrimitive.d.ts.map +1 -1
  146. package/dist/hooks/useToast.d.ts +1 -25
  147. package/dist/hooks/useToast.d.ts.map +1 -1
  148. package/dist/index.js +4 -4
  149. package/dist/styles/index.css +328 -48
  150. package/dist/utils/variants.d.ts.map +1 -1
  151. package/package.json +1 -1
@@ -9,7 +9,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
12
- import {} from 'react';
13
12
  import { cn } from '../../utils/helpers';
14
13
  const TooltipProvider = TooltipPrimitive.Provider;
15
14
  const TooltipPrimitiveComponent = TooltipPrimitive.Root;
@@ -1,14 +1,3 @@
1
- /**
2
- * @fileoverview Tooltip component
3
- * @description Accessible tooltip built on Radix UI primitives.
4
- *
5
- * Positioning: prop > CSS --tooltip-side > 'bottom'
6
- * Smart hiding: Tooltip auto-hides when trigger has visible label
7
- *
8
- * @version 0.0.6
9
- * @since 0.0.1
10
- * @author AMBROISE PARK Consulting
11
- */
12
1
  import { TooltipProvider } from './TooltipPrimitive';
13
2
  import { type FloatingVariant } from '../../utils/constants';
14
3
  import type { ReactNode } from 'react';
@@ -28,6 +17,11 @@ export interface TooltipProps {
28
17
  * Auto-hides when trigger has visible label (e.g., button not in compact mode).
29
18
  * Only shows tooltip when label is hidden, avoiding redundant information.
30
19
  *
20
+ * Positioning priority:
21
+ * 1. Explicit `side` prop
22
+ * 2. CSS `--tooltip-side` property (set by container like Sidebar)
23
+ * 3. Default 'bottom'
24
+ *
31
25
  * @example
32
26
  * // Explicit side
33
27
  * <Tooltip content="Help" side="right">...</Tooltip>
@@ -36,7 +30,7 @@ export interface TooltipProps {
36
30
  * // Container-aware (sidebar sets --tooltip-side: right)
37
31
  * <Tooltip content="Help">...</Tooltip>
38
32
  */
39
- declare const Tooltip: ({ content, children, side, align, delayDuration, variant, }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
33
+ declare function Tooltip({ content, children, side, align, delayDuration, variant, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
40
34
  export default Tooltip;
41
35
  export { TooltipProvider };
42
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Tooltip/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAyB,EAGvB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,KAAK,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AA4BD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,OAAO,GAAI,6DAOd,YAAY,4CA0Dd,CAAC;AAEF,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Tooltip/index.tsx"],"names":[],"mappings":"AAiBA,OAAyB,EAGvB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,KAAK,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,OAAO,CAAC,EACf,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAgB,EAChB,aAAmB,EACnB,OAAO,GACR,EAAE,YAAY,2CAqDd;AAED,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  // packages/components/src/atomic/Tooltip/index.tsx
3
4
  /**
@@ -7,36 +8,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  * Positioning: prop > CSS --tooltip-side > 'bottom'
8
9
  * Smart hiding: Tooltip auto-hides when trigger has visible label
9
10
  *
10
- * @version 0.0.6
11
+ * @version 0.0.7
11
12
  * @since 0.0.1
12
13
  * @author AMBROISE PARK Consulting
13
14
  */
15
+ import { useCallback, useRef, useState } from 'react';
14
16
  import TooltipPrimitive, { TooltipTrigger, TooltipContent, TooltipProvider, } from './TooltipPrimitive';
15
17
  import { FLOATING_VARIANT } from '../../utils/constants';
16
18
  import { getVariantDataAttrs } from '../../utils/helpers';
17
- import { useCallback, useRef, useState } from 'react';
18
19
  /**
19
20
  * Check if trigger element has a visible label.
20
- * Uses checkVisibility() API when available (lighter than offsetWidth),
21
- * falls back to checking if label has content and isn't hidden.
21
+ * Returns true if label exists and has width (not hidden).
22
22
  */
23
23
  function hasVisibleLabel(element) {
24
24
  if (!element)
25
25
  return false;
26
26
  const label = element.querySelector('.dndev-interactive-label');
27
- if (!(label instanceof HTMLElement))
28
- return false;
29
- // Modern browsers: use checkVisibility() - avoids forced reflow
30
- if ('checkVisibility' in label &&
31
- typeof label.checkVisibility === 'function') {
32
- return label.checkVisibility({
33
- checkOpacity: true,
34
- checkVisibilityCSS: true,
35
- });
36
- }
37
- // Fallback: check if element is in DOM and not display:none
38
- // offsetParent is null for hidden elements (still forces reflow but only in older browsers)
39
- return label.offsetParent !== null;
27
+ return label instanceof HTMLElement && label.offsetWidth > 0;
40
28
  }
41
29
  /**
42
30
  * Accessible tooltip component.
@@ -44,6 +32,11 @@ function hasVisibleLabel(element) {
44
32
  * Auto-hides when trigger has visible label (e.g., button not in compact mode).
45
33
  * Only shows tooltip when label is hidden, avoiding redundant information.
46
34
  *
35
+ * Positioning priority:
36
+ * 1. Explicit `side` prop
37
+ * 2. CSS `--tooltip-side` property (set by container like Sidebar)
38
+ * 3. Default 'bottom'
39
+ *
47
40
  * @example
48
41
  * // Explicit side
49
42
  * <Tooltip content="Help" side="right">...</Tooltip>
@@ -52,7 +45,7 @@ function hasVisibleLabel(element) {
52
45
  * // Container-aware (sidebar sets --tooltip-side: right)
53
46
  * <Tooltip content="Help">...</Tooltip>
54
47
  */
55
- const Tooltip = ({ content, children, side, align = 'center', delayDuration = 300, variant, }) => {
48
+ function Tooltip({ content, children, side, align = 'center', delayDuration = 300, variant, }) {
56
49
  const [mounted, setMounted] = useState(false);
57
50
  const [cssSide, setCssSide] = useState(null);
58
51
  const [open, setOpen] = useState(false);
@@ -71,13 +64,11 @@ const Tooltip = ({ content, children, side, align = 'center', delayDuration = 30
71
64
  }, []);
72
65
  // Handle open change - skip if label is visible
73
66
  const handleOpenChange = useCallback((nextOpen) => {
74
- if (!mounted)
75
- return; // SSR: no-op
76
67
  if (nextOpen && hasVisibleLabel(triggerElement.current)) {
77
68
  return; // Label visible, don't show tooltip
78
69
  }
79
70
  setOpen(nextOpen);
80
- }, [mounted]);
71
+ }, []);
81
72
  // Priority: prop > CSS > 'bottom'
82
73
  const finalSide = side ?? cssSide ?? 'bottom';
83
74
  const variantAttrs = getVariantDataAttrs({
@@ -85,8 +76,7 @@ const Tooltip = ({ content, children, side, align = 'center', delayDuration = 30
85
76
  });
86
77
  // Always pass open/onOpenChange to avoid controlled/uncontrolled switch
87
78
  // During SSR (!mounted), open=false keeps it controlled but closed
88
- // Wrap with TooltipProvider for SSR/static generation safety (nesting is fine)
89
79
  return (_jsx(TooltipProvider, { children: _jsxs(TooltipPrimitive, { delayDuration: delayDuration, open: mounted ? open : false, onOpenChange: handleOpenChange, children: [_jsx(TooltipTrigger, { asChild: true, ref: triggerRef, children: children }), mounted && (_jsx(TooltipContent, { side: finalSide, align: align, ...variantAttrs, children: content }))] }) }));
90
- };
80
+ }
91
81
  export default Tooltip;
92
82
  export { TooltipProvider };
@@ -10,8 +10,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  */
11
11
  import { Play } from 'lucide-react';
12
12
  import { useState, useEffect, useRef } from 'react';
13
- import { useTranslation } from '@donotdev/core';
14
13
  import { useIntersectionObserver } from '@donotdev/components';
14
+ import { useTranslation } from '@donotdev/core';
15
15
  import { cn } from '../../utils/helpers';
16
16
  import Button, { BUTTON_VARIANT } from '../Button';
17
17
  import Dialog from '../Dialog';
@@ -1 +1 @@
1
- {"version":3,"file":"VisuallyHiddenPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/VisuallyHidden/VisuallyHiddenPrimitive.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,mBAAmB,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,QAAA,MAAM,uBAAuB,GAAI,yBAG9B,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,4CAEjD,CAAC;AAEF,eAAe,uBAAuB,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"VisuallyHiddenPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/VisuallyHidden/VisuallyHiddenPrimitive.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,mBAAmB,MAAM,iCAAiC,CAAC;AAIvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,QAAA,MAAM,uBAAuB,GAAI,yBAG9B,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,4CAEjD,CAAC;AAEF,eAAe,uBAAuB,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,29 +1,5 @@
1
- /**
2
- * @fileoverview Industry-standard toast notification system
3
- * @description React 19+ compatible, CSR/SSR safe toast implementation
4
- *
5
- * **Architecture:**
6
- * - Singleton pub-sub pattern with module-level state
7
- * - Zero React Context overhead
8
- * - Works across component boundaries
9
- * - Can be called from anywhere (even non-React code)
10
- *
11
- * **React 19 Compatibility:**
12
- * - Uses stable setState functions (no re-subscription needed)
13
- * - Empty dependency array in useEffect (best practice)
14
- * - 'use client' directive for Next.js App Router
15
- *
16
- * **CSR/SSR Safety:**
17
- * - Client-only execution via 'use client'
18
- * - No hydration mismatches (toasts are ephemeral)
19
- * - Module state resets on navigation (expected behavior)
20
- *
21
- * @version 0.0.1
22
- * @since 0.0.1
23
- * @author AMBROISE PARK Consulting
24
- */
25
- import { type ReactNode } from 'react';
26
1
  import type { ToastActionElement, ToastProps as ToastPrimitiveProps } from '../atomic/Toaster/ToastPrimitive';
2
+ import type { ReactNode } from 'react';
27
3
  /**
28
4
  * Toast type variants
29
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.d.ts","sourceRoot":"","sources":["../../src/hooks/useToast.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useToast.d.ts","sourceRoot":"","sources":["../../src/hooks/useToast.tsx"],"names":[],"mappings":"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"}