@ttt-productions/ui-core 0.11.32 → 0.11.34

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 (218) hide show
  1. package/dist/browser/index.d.ts +2 -2
  2. package/dist/browser/index.js +1 -1
  3. package/dist/browser/index.js.map +1 -1
  4. package/dist/browser/reload-recovery-watch.d.ts +2 -2
  5. package/dist/browser/reload-recovery-watch.d.ts.map +1 -1
  6. package/dist/browser/reload-recovery-watch.js +5 -5
  7. package/dist/browser/reload-recovery-watch.js.map +1 -1
  8. package/dist/index.d.ts +3 -3
  9. package/dist/index.js +3 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/format-numbers.js +2 -2
  12. package/dist/lib/format-numbers.js.map +1 -1
  13. package/dist/lib/reload-recovery.js +13 -13
  14. package/dist/lib/reload-recovery.js.map +1 -1
  15. package/dist/lib/utils.js.map +1 -1
  16. package/dist/react/components/accordion.d.ts +2 -2
  17. package/dist/react/components/accordion.d.ts.map +1 -1
  18. package/dist/react/components/accordion.js +8 -8
  19. package/dist/react/components/accordion.js.map +1 -1
  20. package/dist/react/components/action-row.d.ts +32 -0
  21. package/dist/react/components/action-row.d.ts.map +1 -0
  22. package/dist/react/components/action-row.js +16 -0
  23. package/dist/react/components/action-row.js.map +1 -0
  24. package/dist/react/components/alert-dialog.d.ts +2 -2
  25. package/dist/react/components/alert-dialog.d.ts.map +1 -1
  26. package/dist/react/components/alert-dialog.js +15 -15
  27. package/dist/react/components/alert-dialog.js.map +1 -1
  28. package/dist/react/components/alert.d.ts +2 -2
  29. package/dist/react/components/alert.d.ts.map +1 -1
  30. package/dist/react/components/alert.js +12 -12
  31. package/dist/react/components/alert.js.map +1 -1
  32. package/dist/react/components/avatar.d.ts +2 -2
  33. package/dist/react/components/avatar.d.ts.map +1 -1
  34. package/dist/react/components/avatar.js +7 -7
  35. package/dist/react/components/avatar.js.map +1 -1
  36. package/dist/react/components/badge.d.ts +2 -2
  37. package/dist/react/components/badge.d.ts.map +1 -1
  38. package/dist/react/components/badge.js +9 -9
  39. package/dist/react/components/badge.js.map +1 -1
  40. package/dist/react/components/button.d.ts +2 -2
  41. package/dist/react/components/button.d.ts.map +1 -1
  42. package/dist/react/components/button.js +28 -28
  43. package/dist/react/components/button.js.map +1 -1
  44. package/dist/react/components/card.d.ts +1 -1
  45. package/dist/react/components/card.d.ts.map +1 -1
  46. package/dist/react/components/card.js +15 -15
  47. package/dist/react/components/card.js.map +1 -1
  48. package/dist/react/components/checkbox.d.ts +2 -2
  49. package/dist/react/components/checkbox.d.ts.map +1 -1
  50. package/dist/react/components/checkbox.js +6 -6
  51. package/dist/react/components/checkbox.js.map +1 -1
  52. package/dist/react/components/collapsible.d.ts +1 -1
  53. package/dist/react/components/collapsible.d.ts.map +1 -1
  54. package/dist/react/components/collapsible.js +2 -2
  55. package/dist/react/components/collapsible.js.map +1 -1
  56. package/dist/react/components/consequence-dialog.d.ts.map +1 -1
  57. package/dist/react/components/consequence-dialog.js +4 -2
  58. package/dist/react/components/consequence-dialog.js.map +1 -1
  59. package/dist/react/components/date-picker.d.ts +1 -1
  60. package/dist/react/components/date-picker.d.ts.map +1 -1
  61. package/dist/react/components/date-picker.js +102 -66
  62. package/dist/react/components/date-picker.js.map +1 -1
  63. package/dist/react/components/date-time-picker.d.ts +1 -1
  64. package/dist/react/components/date-time-picker.d.ts.map +1 -1
  65. package/dist/react/components/date-time-picker.js +20 -18
  66. package/dist/react/components/date-time-picker.js.map +1 -1
  67. package/dist/react/components/dialog.d.ts +2 -2
  68. package/dist/react/components/dialog.d.ts.map +1 -1
  69. package/dist/react/components/dialog.js +14 -14
  70. package/dist/react/components/dialog.js.map +1 -1
  71. package/dist/react/components/dropdown-menu.d.ts +2 -2
  72. package/dist/react/components/dropdown-menu.d.ts.map +1 -1
  73. package/dist/react/components/dropdown-menu.js +23 -18
  74. package/dist/react/components/dropdown-menu.js.map +1 -1
  75. package/dist/react/components/end-of-list-indicator.d.ts +1 -1
  76. package/dist/react/components/end-of-list-indicator.js +3 -3
  77. package/dist/react/components/end-of-list-indicator.js.map +1 -1
  78. package/dist/react/components/form.d.ts +3 -3
  79. package/dist/react/components/form.d.ts.map +1 -1
  80. package/dist/react/components/form.js +17 -17
  81. package/dist/react/components/form.js.map +1 -1
  82. package/dist/react/components/format-control.d.ts +12 -5
  83. package/dist/react/components/format-control.d.ts.map +1 -1
  84. package/dist/react/components/format-control.js +23 -7
  85. package/dist/react/components/format-control.js.map +1 -1
  86. package/dist/react/components/input.d.ts +10 -10
  87. package/dist/react/components/input.d.ts.map +1 -1
  88. package/dist/react/components/input.js +11 -7
  89. package/dist/react/components/input.js.map +1 -1
  90. package/dist/react/components/label.d.ts +3 -3
  91. package/dist/react/components/label.d.ts.map +1 -1
  92. package/dist/react/components/label.js +6 -6
  93. package/dist/react/components/label.js.map +1 -1
  94. package/dist/react/components/layout/screen-adaptive-view.d.ts +2 -2
  95. package/dist/react/components/layout/screen-adaptive-view.d.ts.map +1 -1
  96. package/dist/react/components/layout/screen-adaptive-view.js +39 -35
  97. package/dist/react/components/layout/screen-adaptive-view.js.map +1 -1
  98. package/dist/react/components/list-pagination.d.ts +1 -1
  99. package/dist/react/components/list-pagination.js +10 -10
  100. package/dist/react/components/list-pagination.js.map +1 -1
  101. package/dist/react/components/menubar.d.ts +2 -2
  102. package/dist/react/components/menubar.d.ts.map +1 -1
  103. package/dist/react/components/menubar.js +17 -17
  104. package/dist/react/components/menubar.js.map +1 -1
  105. package/dist/react/components/opener-focus.d.ts +1 -1
  106. package/dist/react/components/opener-focus.d.ts.map +1 -1
  107. package/dist/react/components/opener-focus.js +3 -3
  108. package/dist/react/components/opener-focus.js.map +1 -1
  109. package/dist/react/components/pending-guard.d.ts +1 -1
  110. package/dist/react/components/pending-guard.d.ts.map +1 -1
  111. package/dist/react/components/pending-guard.js +1 -1
  112. package/dist/react/components/pending-guard.js.map +1 -1
  113. package/dist/react/components/popover.d.ts +2 -2
  114. package/dist/react/components/popover.d.ts.map +1 -1
  115. package/dist/react/components/popover.js +5 -5
  116. package/dist/react/components/popover.js.map +1 -1
  117. package/dist/react/components/progress.d.ts +2 -2
  118. package/dist/react/components/progress.d.ts.map +1 -1
  119. package/dist/react/components/progress.js +5 -5
  120. package/dist/react/components/progress.js.map +1 -1
  121. package/dist/react/components/radio-group.d.ts +2 -2
  122. package/dist/react/components/radio-group.d.ts.map +1 -1
  123. package/dist/react/components/radio-group.js +7 -7
  124. package/dist/react/components/radio-group.js.map +1 -1
  125. package/dist/react/components/relative-time.d.ts +1 -1
  126. package/dist/react/components/relative-time.d.ts.map +1 -1
  127. package/dist/react/components/relative-time.js +8 -7
  128. package/dist/react/components/relative-time.js.map +1 -1
  129. package/dist/react/components/reload-recovery-notice.d.ts +3 -3
  130. package/dist/react/components/reload-recovery-notice.js +7 -7
  131. package/dist/react/components/reload-recovery-notice.js.map +1 -1
  132. package/dist/react/components/scroll-area.d.ts +2 -2
  133. package/dist/react/components/scroll-area.d.ts.map +1 -1
  134. package/dist/react/components/scroll-area.js +6 -8
  135. package/dist/react/components/scroll-area.js.map +1 -1
  136. package/dist/react/components/scroll-to-top-button.d.ts +5 -5
  137. package/dist/react/components/scroll-to-top-button.js +9 -9
  138. package/dist/react/components/scroll-to-top-button.js.map +1 -1
  139. package/dist/react/components/search-dropdown.d.ts.map +1 -1
  140. package/dist/react/components/search-dropdown.js +8 -3
  141. package/dist/react/components/search-dropdown.js.map +1 -1
  142. package/dist/react/components/select.d.ts +2 -2
  143. package/dist/react/components/select.d.ts.map +1 -1
  144. package/dist/react/components/select.js +19 -19
  145. package/dist/react/components/select.js.map +1 -1
  146. package/dist/react/components/separator.d.ts +2 -2
  147. package/dist/react/components/separator.d.ts.map +1 -1
  148. package/dist/react/components/separator.js +5 -5
  149. package/dist/react/components/separator.js.map +1 -1
  150. package/dist/react/components/sheet.d.ts +3 -3
  151. package/dist/react/components/sheet.d.ts.map +1 -1
  152. package/dist/react/components/sheet.js +21 -21
  153. package/dist/react/components/sheet.js.map +1 -1
  154. package/dist/react/components/show-more-toggle.d.ts +2 -2
  155. package/dist/react/components/show-more-toggle.d.ts.map +1 -1
  156. package/dist/react/components/show-more-toggle.js +6 -6
  157. package/dist/react/components/show-more-toggle.js.map +1 -1
  158. package/dist/react/components/skeleton.d.ts +1 -1
  159. package/dist/react/components/skeleton.d.ts.map +1 -1
  160. package/dist/react/components/skeleton.js +3 -3
  161. package/dist/react/components/skeleton.js.map +1 -1
  162. package/dist/react/components/slider.d.ts +2 -2
  163. package/dist/react/components/slider.d.ts.map +1 -1
  164. package/dist/react/components/slider.js +5 -5
  165. package/dist/react/components/slider.js.map +1 -1
  166. package/dist/react/components/spinner.d.ts +1 -1
  167. package/dist/react/components/spinner.d.ts.map +1 -1
  168. package/dist/react/components/spinner.js +10 -10
  169. package/dist/react/components/spinner.js.map +1 -1
  170. package/dist/react/components/switch.d.ts +2 -2
  171. package/dist/react/components/switch.d.ts.map +1 -1
  172. package/dist/react/components/switch.js +13 -8
  173. package/dist/react/components/switch.js.map +1 -1
  174. package/dist/react/components/table.d.ts +2 -2
  175. package/dist/react/components/table.d.ts.map +1 -1
  176. package/dist/react/components/table.js +24 -24
  177. package/dist/react/components/table.js.map +1 -1
  178. package/dist/react/components/tabs.d.ts +2 -2
  179. package/dist/react/components/tabs.d.ts.map +1 -1
  180. package/dist/react/components/tabs.js +7 -7
  181. package/dist/react/components/tabs.js.map +1 -1
  182. package/dist/react/components/textarea.d.ts +5 -5
  183. package/dist/react/components/textarea.d.ts.map +1 -1
  184. package/dist/react/components/textarea.js +11 -7
  185. package/dist/react/components/textarea.js.map +1 -1
  186. package/dist/react/components/toast.d.ts +4 -4
  187. package/dist/react/components/toast.d.ts.map +1 -1
  188. package/dist/react/components/toast.js +25 -25
  189. package/dist/react/components/toast.js.map +1 -1
  190. package/dist/react/components/toaster.d.ts.map +1 -1
  191. package/dist/react/components/toaster.js +5 -5
  192. package/dist/react/components/toaster.js.map +1 -1
  193. package/dist/react/components/tooltip.d.ts +2 -2
  194. package/dist/react/components/tooltip.d.ts.map +1 -1
  195. package/dist/react/components/tooltip.js +5 -5
  196. package/dist/react/components/tooltip.js.map +1 -1
  197. package/dist/react/hooks/use-async-action.js +2 -2
  198. package/dist/react/hooks/use-async-action.js.map +1 -1
  199. package/dist/react/hooks/use-cursor-page.d.ts +1 -1
  200. package/dist/react/hooks/use-cursor-page.js +2 -2
  201. package/dist/react/hooks/use-cursor-page.js.map +1 -1
  202. package/dist/react/hooks/use-media-query.js +5 -5
  203. package/dist/react/hooks/use-media-query.js.map +1 -1
  204. package/dist/react/hooks/use-paged-list.js +2 -2
  205. package/dist/react/hooks/use-paged-list.js.map +1 -1
  206. package/dist/react/hooks/use-return-scroll.d.ts +1 -1
  207. package/dist/react/hooks/use-return-scroll.d.ts.map +1 -1
  208. package/dist/react/hooks/use-return-scroll.js +11 -11
  209. package/dist/react/hooks/use-return-scroll.js.map +1 -1
  210. package/dist/react/hooks/use-toast.d.ts +3 -3
  211. package/dist/react/hooks/use-toast.d.ts.map +1 -1
  212. package/dist/react/hooks/use-toast.js +17 -17
  213. package/dist/react/hooks/use-toast.js.map +1 -1
  214. package/dist/react/index.d.ts +74 -72
  215. package/dist/react/index.d.ts.map +1 -1
  216. package/dist/react/index.js +51 -50
  217. package/dist/react/index.js.map +1 -1
  218. package/package.json +8 -6
@@ -1,4 +1,4 @@
1
- "use client";
1
+ 'use client';
2
2
  // Return-scroll: bring a list back to where the user left it after a REAL route change.
3
3
  //
4
4
  // A same-page view swap keeps its component mounted and can restore from a ref; a list
@@ -19,14 +19,14 @@
19
19
  // React Strict Mode's mount/unmount/mount cancels and reschedules, so exactly one
20
20
  // scroll happens and the entry is consumed exactly once.
21
21
  // - Blocked, unavailable, or malformed storage is a silent no-op.
22
- import * as React from "react";
23
- const STORAGE_PREFIX = "return-scroll:";
22
+ import * as React from 'react';
23
+ const STORAGE_PREFIX = 'return-scroll:';
24
24
  function storageKey(key) {
25
25
  return `${STORAGE_PREFIX}${key}`;
26
26
  }
27
27
  function sessionStorageOrNull() {
28
28
  try {
29
- if (typeof window === "undefined")
29
+ if (typeof window === 'undefined')
30
30
  return null;
31
31
  return window.sessionStorage ?? null;
32
32
  }
@@ -44,12 +44,12 @@ export function readReturnScroll(key) {
44
44
  if (!raw)
45
45
  return null;
46
46
  const parsed = JSON.parse(raw);
47
- if (typeof parsed !== "object" || parsed === null)
47
+ if (typeof parsed !== 'object' || parsed === null)
48
48
  return null;
49
49
  const { y, savedAt } = parsed;
50
- if (typeof y !== "number" || !Number.isFinite(y) || y < 0)
50
+ if (typeof y !== 'number' || !Number.isFinite(y) || y < 0)
51
51
  return null;
52
- return { y, savedAt: typeof savedAt === "number" ? savedAt : 0 };
52
+ return { y, savedAt: typeof savedAt === 'number' ? savedAt : 0 };
53
53
  }
54
54
  catch {
55
55
  return null;
@@ -61,7 +61,7 @@ export function saveReturnScroll(key, y) {
61
61
  if (!storage)
62
62
  return;
63
63
  try {
64
- const offset = typeof y === "number" ? y : window.scrollY;
64
+ const offset = typeof y === 'number' ? y : window.scrollY;
65
65
  const entry = { y: offset, savedAt: Date.now() };
66
66
  storage.setItem(storageKey(key), JSON.stringify(entry));
67
67
  }
@@ -81,7 +81,7 @@ export function clearReturnScroll(key) {
81
81
  /* nothing to clear */
82
82
  }
83
83
  }
84
- export function useReturnScroll({ key, eligible, ready }) {
84
+ export function useReturnScroll({ key, eligible, ready, }) {
85
85
  const decisionRef = React.useRef(null);
86
86
  // Decide ONCE per key, the first time the hook sees it. Effects may read and write refs;
87
87
  // the decision is latched, so a later `eligible` flip finds it already made and returns.
@@ -107,11 +107,11 @@ export function useReturnScroll({ key, eligible, ready }) {
107
107
  const decision = decisionRef.current;
108
108
  if (!decision || decision.key !== key || decision.y === null || decision.done || !ready)
109
109
  return;
110
- if (typeof window === "undefined")
110
+ if (typeof window === 'undefined')
111
111
  return;
112
112
  const y = decision.y;
113
113
  const frame = window.requestAnimationFrame(() => {
114
- window.scrollTo({ top: y, left: 0, behavior: "instant" });
114
+ window.scrollTo({ top: y, left: 0, behavior: 'instant' });
115
115
  clearReturnScroll(key);
116
116
  decision.done = true;
117
117
  });
@@ -1 +1 @@
1
- {"version":3,"file":"use-return-scroll.js","sourceRoot":"","sources":["../../../src/react/hooks/use-return-scroll.ts"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\n// Return-scroll: bring a list back to where the user left it after a REAL route change.\n//\n// A same-page view swap keeps its component mounted and can restore from a ref; a list\n// whose detail pages have their own URLs unmounts, so the offset has to survive in\n// per-tab storage and the restore has to wait until the list is displayed at its real\n// height again. This hook is the ONE owner of that mechanism. It knows nothing about\n// what the list is — the caller supplies a canonical key, decides eligibility once at\n// mount, and reports readiness.\n//\n// Contract (every rule below is tested):\n// - `save()` writes { y, savedAt } for `key` — call it immediately before navigating\n// away (inside any guarded-navigation callback, so a cancelled leave writes nothing).\n// - `eligible` is latched per key the first time the hook sees that key. Not eligible\n// ⇒ the entry is deleted immediately and permanently for that key; a later flip\n// of `eligible` or `ready` never re-arms the restore.\n// - `ready` ⇒ the restore fires ONCE, in a requestAnimationFrame, `behavior: \"instant\"`,\n// then consumes the entry. The scheduled frame is cancelled on unmount or key change.\n// React Strict Mode's mount/unmount/mount cancels and reschedules, so exactly one\n// scroll happens and the entry is consumed exactly once.\n// - Blocked, unavailable, or malformed storage is a silent no-op.\n\nimport * as React from \"react\";\n\nconst STORAGE_PREFIX = \"return-scroll:\";\n\nexport interface ReturnScrollEntry {\n /** The saved `window.scrollY`. */\n y: number;\n /** Epoch ms at save time (diagnostic; the caller decides eligibility, not the hook). */\n savedAt: number;\n}\n\nexport interface UseReturnScrollOptions {\n /** The caller's CANONICAL list URL — equivalent list states must give the same key. */\n key: string;\n /** Decided by the caller ONCE at mount (e.g. \"the list's data was already cached on first render\"). */\n eligible: boolean;\n /** The list is displayed at its real height: data present, no error surface in its place. */\n ready: boolean;\n}\n\nexport interface UseReturnScrollResult {\n /** Record the current window offset for `key`. Call right before navigating away. */\n save: () => void;\n}\n\nfunction storageKey(key: string): string {\n return `${STORAGE_PREFIX}${key}`;\n}\n\nfunction sessionStorageOrNull(): Storage | null {\n try {\n if (typeof window === \"undefined\") return null;\n return window.sessionStorage ?? null;\n } catch {\n return null;\n }\n}\n\n/** The stored entry for `key`, or null when absent, unreadable, or malformed. */\nexport function readReturnScroll(key: string): ReturnScrollEntry | null {\n const storage = sessionStorageOrNull();\n if (!storage) return null;\n try {\n const raw = storage.getItem(storageKey(key));\n if (!raw) return null;\n const parsed: unknown = JSON.parse(raw);\n if (typeof parsed !== \"object\" || parsed === null) return null;\n const { y, savedAt } = parsed as { y?: unknown; savedAt?: unknown };\n if (typeof y !== \"number\" || !Number.isFinite(y) || y < 0) return null;\n return { y, savedAt: typeof savedAt === \"number\" ? savedAt : 0 };\n } catch {\n return null;\n }\n}\n\n/** Record `y` (default: the current `window.scrollY`) for `key`. No-op without storage. */\nexport function saveReturnScroll(key: string, y?: number): void {\n const storage = sessionStorageOrNull();\n if (!storage) return;\n try {\n const offset = typeof y === \"number\" ? y : window.scrollY;\n const entry: ReturnScrollEntry = { y: offset, savedAt: Date.now() };\n storage.setItem(storageKey(key), JSON.stringify(entry));\n } catch {\n /* storage blocked or full — nothing to restore later, which is the honest outcome */\n }\n}\n\n/** Drop the entry for `key` (e.g. the list changed underneath the saved offset). */\nexport function clearReturnScroll(key: string): void {\n const storage = sessionStorageOrNull();\n if (!storage) return;\n try {\n storage.removeItem(storageKey(key));\n } catch {\n /* nothing to clear */\n }\n}\n\ninterface Decision {\n key: string;\n /** The offset to restore, or null when this key's return is not restorable. */\n y: number | null;\n done: boolean;\n}\n\nexport function useReturnScroll({ key, eligible, ready }: UseReturnScrollOptions): UseReturnScrollResult {\n const decisionRef = React.useRef<Decision | null>(null);\n\n // Decide ONCE per key, the first time the hook sees it. Effects may read and write refs;\n // the decision is latched, so a later `eligible` flip finds it already made and returns.\n React.useEffect(() => {\n if (decisionRef.current?.key === key) return;\n const entry = readReturnScroll(key);\n if (!entry) {\n decisionRef.current = { key, y: null, done: true };\n return;\n }\n if (!eligible) {\n // A cold return: nothing cached to restore against. Discard permanently for this visit.\n clearReturnScroll(key);\n decisionRef.current = { key, y: null, done: true };\n return;\n }\n decisionRef.current = { key, y: entry.y, done: false };\n }, [key, eligible]);\n\n // Restore once the list is displayed at its real height. The frame is cancelled on unmount\n // or key change; Strict Mode's re-run reschedules it, so exactly one scroll happens.\n React.useEffect(() => {\n const decision = decisionRef.current;\n if (!decision || decision.key !== key || decision.y === null || decision.done || !ready) return;\n if (typeof window === \"undefined\") return;\n const y = decision.y;\n const frame = window.requestAnimationFrame(() => {\n window.scrollTo({ top: y, left: 0, behavior: \"instant\" as ScrollBehavior });\n clearReturnScroll(key);\n decision.done = true;\n });\n return () => window.cancelAnimationFrame(frame);\n }, [key, ready]);\n\n const save = React.useCallback(() => saveReturnScroll(key), [key]);\n\n return { save };\n}\n"]}
1
+ {"version":3,"file":"use-return-scroll.js","sourceRoot":"","sources":["../../../src/react/hooks/use-return-scroll.ts"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\n// Return-scroll: bring a list back to where the user left it after a REAL route change.\n//\n// A same-page view swap keeps its component mounted and can restore from a ref; a list\n// whose detail pages have their own URLs unmounts, so the offset has to survive in\n// per-tab storage and the restore has to wait until the list is displayed at its real\n// height again. This hook is the ONE owner of that mechanism. It knows nothing about\n// what the list is — the caller supplies a canonical key, decides eligibility once at\n// mount, and reports readiness.\n//\n// Contract (every rule below is tested):\n// - `save()` writes { y, savedAt } for `key` — call it immediately before navigating\n// away (inside any guarded-navigation callback, so a cancelled leave writes nothing).\n// - `eligible` is latched per key the first time the hook sees that key. Not eligible\n// ⇒ the entry is deleted immediately and permanently for that key; a later flip\n// of `eligible` or `ready` never re-arms the restore.\n// - `ready` ⇒ the restore fires ONCE, in a requestAnimationFrame, `behavior: \"instant\"`,\n// then consumes the entry. The scheduled frame is cancelled on unmount or key change.\n// React Strict Mode's mount/unmount/mount cancels and reschedules, so exactly one\n// scroll happens and the entry is consumed exactly once.\n// - Blocked, unavailable, or malformed storage is a silent no-op.\n\nimport * as React from 'react';\n\nconst STORAGE_PREFIX = 'return-scroll:';\n\nexport interface ReturnScrollEntry {\n /** The saved `window.scrollY`. */\n y: number;\n /** Epoch ms at save time (diagnostic; the caller decides eligibility, not the hook). */\n savedAt: number;\n}\n\nexport interface UseReturnScrollOptions {\n /** The caller's CANONICAL list URL — equivalent list states must give the same key. */\n key: string;\n /** Decided by the caller ONCE at mount (e.g. \"the list's data was already cached on first render\"). */\n eligible: boolean;\n /** The list is displayed at its real height: data present, no error surface in its place. */\n ready: boolean;\n}\n\nexport interface UseReturnScrollResult {\n /** Record the current window offset for `key`. Call right before navigating away. */\n save: () => void;\n}\n\nfunction storageKey(key: string): string {\n return `${STORAGE_PREFIX}${key}`;\n}\n\nfunction sessionStorageOrNull(): Storage | null {\n try {\n if (typeof window === 'undefined') return null;\n return window.sessionStorage ?? null;\n } catch {\n return null;\n }\n}\n\n/** The stored entry for `key`, or null when absent, unreadable, or malformed. */\nexport function readReturnScroll(key: string): ReturnScrollEntry | null {\n const storage = sessionStorageOrNull();\n if (!storage) return null;\n try {\n const raw = storage.getItem(storageKey(key));\n if (!raw) return null;\n const parsed: unknown = JSON.parse(raw);\n if (typeof parsed !== 'object' || parsed === null) return null;\n const { y, savedAt } = parsed as { y?: unknown; savedAt?: unknown };\n if (typeof y !== 'number' || !Number.isFinite(y) || y < 0) return null;\n return { y, savedAt: typeof savedAt === 'number' ? savedAt : 0 };\n } catch {\n return null;\n }\n}\n\n/** Record `y` (default: the current `window.scrollY`) for `key`. No-op without storage. */\nexport function saveReturnScroll(key: string, y?: number): void {\n const storage = sessionStorageOrNull();\n if (!storage) return;\n try {\n const offset = typeof y === 'number' ? y : window.scrollY;\n const entry: ReturnScrollEntry = { y: offset, savedAt: Date.now() };\n storage.setItem(storageKey(key), JSON.stringify(entry));\n } catch {\n /* storage blocked or full — nothing to restore later, which is the honest outcome */\n }\n}\n\n/** Drop the entry for `key` (e.g. the list changed underneath the saved offset). */\nexport function clearReturnScroll(key: string): void {\n const storage = sessionStorageOrNull();\n if (!storage) return;\n try {\n storage.removeItem(storageKey(key));\n } catch {\n /* nothing to clear */\n }\n}\n\ninterface Decision {\n key: string;\n /** The offset to restore, or null when this key's return is not restorable. */\n y: number | null;\n done: boolean;\n}\n\nexport function useReturnScroll({\n key,\n eligible,\n ready,\n}: UseReturnScrollOptions): UseReturnScrollResult {\n const decisionRef = React.useRef<Decision | null>(null);\n\n // Decide ONCE per key, the first time the hook sees it. Effects may read and write refs;\n // the decision is latched, so a later `eligible` flip finds it already made and returns.\n React.useEffect(() => {\n if (decisionRef.current?.key === key) return;\n const entry = readReturnScroll(key);\n if (!entry) {\n decisionRef.current = { key, y: null, done: true };\n return;\n }\n if (!eligible) {\n // A cold return: nothing cached to restore against. Discard permanently for this visit.\n clearReturnScroll(key);\n decisionRef.current = { key, y: null, done: true };\n return;\n }\n decisionRef.current = { key, y: entry.y, done: false };\n }, [key, eligible]);\n\n // Restore once the list is displayed at its real height. The frame is cancelled on unmount\n // or key change; Strict Mode's re-run reschedules it, so exactly one scroll happens.\n React.useEffect(() => {\n const decision = decisionRef.current;\n if (!decision || decision.key !== key || decision.y === null || decision.done || !ready) return;\n if (typeof window === 'undefined') return;\n const y = decision.y;\n const frame = window.requestAnimationFrame(() => {\n window.scrollTo({ top: y, left: 0, behavior: 'instant' as ScrollBehavior });\n clearReturnScroll(key);\n decision.done = true;\n });\n return () => window.cancelAnimationFrame(frame);\n }, [key, ready]);\n\n const save = React.useCallback(() => saveReturnScroll(key), [key]);\n\n return { save };\n}\n"]}
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
- export type ToastVariant = "default" | "destructive" | "success" | "warning" | "error";
1
+ import * as React from 'react';
2
+ export type ToastVariant = 'default' | 'destructive' | 'success' | 'warning' | 'error';
3
3
  export type ToasterToast = {
4
4
  id: string;
5
5
  title?: React.ReactNode;
@@ -21,7 +21,7 @@ export type ToasterToast = {
21
21
  persistent?: boolean;
22
22
  };
23
23
  type ToastProps = ToasterToast;
24
- export declare function toast(input: Omit<ToastProps, "id">): {
24
+ export declare function toast(input: Omit<ToastProps, 'id'>): {
25
25
  id: string;
26
26
  dismiss: () => void;
27
27
  update: (props: Partial<ToastProps>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,SAAS;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAuF/B,wBAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;;;oBAQ1B,OAAO,CAAC,UAAU,CAAC;EAwB3C;AAED,wBAAgB,QAAQ;;wBAcA,MAAM;YA9HpB,UAAU,EAAE;EAmIrB"}
1
+ {"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,SAAS;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAuF/B,wBAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;;;oBAQ1B,OAAO,CAAC,UAAU,CAAC;EAyB3C;AAED,wBAAgB,QAAQ;;wBAcA,MAAM;YA/HpB,UAAU,EAAE;EAoIrB"}
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import * as React from 'react';
2
2
  const TOAST_LIMIT = 3;
3
3
  // Time between Radix flipping `open=false` and the toast actually unmounting.
4
4
  // Just long enough for the close animation to finish. Larger values produce a
@@ -9,14 +9,14 @@ const listeners = [];
9
9
  let memoryState = { toasts: [] };
10
10
  const reducer = (state, action) => {
11
11
  switch (action.type) {
12
- case "ADD_TOAST":
12
+ case 'ADD_TOAST':
13
13
  return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) };
14
- case "UPDATE_TOAST":
14
+ case 'UPDATE_TOAST':
15
15
  return {
16
16
  ...state,
17
17
  toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),
18
18
  };
19
- case "DISMISS_TOAST": {
19
+ case 'DISMISS_TOAST': {
20
20
  const { toastId } = action;
21
21
  if (toastId) {
22
22
  return {
@@ -26,7 +26,7 @@ const reducer = (state, action) => {
26
26
  }
27
27
  return { ...state, toasts: state.toasts.map((t) => ({ ...t, open: false })) };
28
28
  }
29
- case "REMOVE_TOAST": {
29
+ case 'REMOVE_TOAST': {
30
30
  const { toastId } = action;
31
31
  if (!toastId)
32
32
  return { ...state, toasts: [] };
@@ -48,20 +48,20 @@ function addToRemoveQueue(toastId) {
48
48
  return;
49
49
  const timeout = setTimeout(() => {
50
50
  toastTimeouts.delete(toastId);
51
- dispatch({ type: "REMOVE_TOAST", toastId });
51
+ dispatch({ type: 'REMOVE_TOAST', toastId });
52
52
  }, TOAST_REMOVE_DELAY);
53
53
  toastTimeouts.set(toastId, timeout);
54
54
  }
55
55
  function defaultDurationForVariant(variant) {
56
56
  switch (variant) {
57
- case "success":
57
+ case 'success':
58
58
  return 3000;
59
- case "destructive":
60
- case "error":
59
+ case 'destructive':
60
+ case 'error':
61
61
  return 6000;
62
- case "warning":
62
+ case 'warning':
63
63
  return 5000;
64
- case "default":
64
+ case 'default':
65
65
  default:
66
66
  return 4000;
67
67
  }
@@ -69,17 +69,17 @@ function defaultDurationForVariant(variant) {
69
69
  export function toast(input) {
70
70
  const id = genId();
71
71
  const dismiss = () => {
72
- dispatch({ type: "DISMISS_TOAST", toastId: id });
72
+ dispatch({ type: 'DISMISS_TOAST', toastId: id });
73
73
  addToRemoveQueue(id);
74
74
  };
75
- const update = (props) => dispatch({ type: "UPDATE_TOAST", toast: { ...props, id } });
76
- const variant = input.variant ?? "default";
75
+ const update = (props) => dispatch({ type: 'UPDATE_TOAST', toast: { ...props, id } });
76
+ const variant = input.variant ?? 'default';
77
77
  // Persistent toasts disable auto-dismiss entirely; Radix accepts `Infinity`.
78
78
  const duration = input.persistent
79
79
  ? Infinity
80
- : input.duration ?? defaultDurationForVariant(variant);
80
+ : (input.duration ?? defaultDurationForVariant(variant));
81
81
  dispatch({
82
- type: "ADD_TOAST",
82
+ type: 'ADD_TOAST',
83
83
  toast: {
84
84
  id,
85
85
  open: true,
@@ -109,7 +109,7 @@ export function useToast() {
109
109
  ...state,
110
110
  toast,
111
111
  dismiss: (toastId) => {
112
- dispatch({ type: "DISMISS_TOAST", toastId });
112
+ dispatch({ type: 'DISMISS_TOAST', toastId });
113
113
  if (toastId)
114
114
  addToRemoveQueue(toastId);
115
115
  },
@@ -1 +1 @@
1
- {"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\n\nconst TOAST_LIMIT = 3;\n// Time between Radix flipping `open=false` and the toast actually unmounting.\n// Just long enough for the close animation to finish. Larger values produce a\n// visible dead-air gap after the countdown bar reaches empty.\nconst TOAST_REMOVE_DELAY = 150;\n\nexport type ToastVariant = \"default\" | \"destructive\" | \"success\" | \"warning\" | \"error\";\n\nexport type ToasterToast = {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: React.ReactNode;\n variant?: ToastVariant;\n\n /** Radix controlled open state */\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n /** ms */\n duration?: number;\n\n /** show X button */\n dismissible?: boolean;\n\n /**\n * When `true`, the toast does not auto-dismiss and renders no countdown bar.\n * `duration` is ignored. The user must click the X (or programmatic `dismiss`)\n * to remove it.\n */\n persistent?: boolean;\n};\n\ntype ToastProps = ToasterToast;\n\ntype Action =\n | { type: \"ADD_TOAST\"; toast: ToastProps }\n | { type: \"UPDATE_TOAST\"; toast: Partial<ToastProps> & { id: string } }\n | { type: \"DISMISS_TOAST\"; toastId?: string }\n | { type: \"REMOVE_TOAST\"; toastId?: string };\n\ninterface State {\n toasts: ToastProps[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n if (toastId) {\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === toastId ? { ...t, open: false } : t)),\n };\n }\n\n return { ...state, toasts: state.toasts.map((t) => ({ ...t, open: false })) };\n }\n\n case \"REMOVE_TOAST\": {\n const { toastId } = action;\n if (!toastId) return { ...state, toasts: [] };\n return { ...state, toasts: state.toasts.filter((t) => t.id !== toastId) };\n }\n\n default:\n return state;\n }\n};\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => listener(memoryState));\n}\n\nfunction genId() {\n return Math.random().toString(36).slice(2, 10);\n}\n\nfunction addToRemoveQueue(toastId: string) {\n if (toastTimeouts.has(toastId)) return;\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({ type: \"REMOVE_TOAST\", toastId });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n}\n\nfunction defaultDurationForVariant(variant: ToastVariant | undefined): number {\n switch (variant) {\n case \"success\":\n return 3000;\n case \"destructive\":\n case \"error\":\n return 6000;\n case \"warning\":\n return 5000;\n case \"default\":\n default:\n return 4000;\n }\n}\n\nexport function toast(input: Omit<ToastProps, \"id\">) {\n const id = genId();\n\n const dismiss = () => {\n dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n addToRemoveQueue(id);\n };\n\n const update = (props: Partial<ToastProps>) => dispatch({ type: \"UPDATE_TOAST\", toast: { ...props, id } });\n\n const variant = input.variant ?? \"default\";\n // Persistent toasts disable auto-dismiss entirely; Radix accepts `Infinity`.\n const duration = input.persistent\n ? Infinity\n : input.duration ?? defaultDurationForVariant(variant);\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n dismissible: true,\n ...input,\n variant,\n duration,\n },\n });\n\n return { id, dismiss, update };\n}\n\nexport function useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) listeners.splice(index, 1);\n };\n }, []);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => {\n dispatch({ type: \"DISMISS_TOAST\", toastId });\n if (toastId) addToRemoveQueue(toastId);\n },\n };\n}\n"]}
1
+ {"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nconst TOAST_LIMIT = 3;\n// Time between Radix flipping `open=false` and the toast actually unmounting.\n// Just long enough for the close animation to finish. Larger values produce a\n// visible dead-air gap after the countdown bar reaches empty.\nconst TOAST_REMOVE_DELAY = 150;\n\nexport type ToastVariant = 'default' | 'destructive' | 'success' | 'warning' | 'error';\n\nexport type ToasterToast = {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: React.ReactNode;\n variant?: ToastVariant;\n\n /** Radix controlled open state */\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n /** ms */\n duration?: number;\n\n /** show X button */\n dismissible?: boolean;\n\n /**\n * When `true`, the toast does not auto-dismiss and renders no countdown bar.\n * `duration` is ignored. The user must click the X (or programmatic `dismiss`)\n * to remove it.\n */\n persistent?: boolean;\n};\n\ntype ToastProps = ToasterToast;\n\ntype Action =\n | { type: 'ADD_TOAST'; toast: ToastProps }\n | { type: 'UPDATE_TOAST'; toast: Partial<ToastProps> & { id: string } }\n | { type: 'DISMISS_TOAST'; toastId?: string }\n | { type: 'REMOVE_TOAST'; toastId?: string };\n\ninterface State {\n toasts: ToastProps[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'ADD_TOAST':\n return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) };\n\n case 'UPDATE_TOAST':\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case 'DISMISS_TOAST': {\n const { toastId } = action;\n\n if (toastId) {\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === toastId ? { ...t, open: false } : t)),\n };\n }\n\n return { ...state, toasts: state.toasts.map((t) => ({ ...t, open: false })) };\n }\n\n case 'REMOVE_TOAST': {\n const { toastId } = action;\n if (!toastId) return { ...state, toasts: [] };\n return { ...state, toasts: state.toasts.filter((t) => t.id !== toastId) };\n }\n\n default:\n return state;\n }\n};\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => listener(memoryState));\n}\n\nfunction genId() {\n return Math.random().toString(36).slice(2, 10);\n}\n\nfunction addToRemoveQueue(toastId: string) {\n if (toastTimeouts.has(toastId)) return;\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({ type: 'REMOVE_TOAST', toastId });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n}\n\nfunction defaultDurationForVariant(variant: ToastVariant | undefined): number {\n switch (variant) {\n case 'success':\n return 3000;\n case 'destructive':\n case 'error':\n return 6000;\n case 'warning':\n return 5000;\n case 'default':\n default:\n return 4000;\n }\n}\n\nexport function toast(input: Omit<ToastProps, 'id'>) {\n const id = genId();\n\n const dismiss = () => {\n dispatch({ type: 'DISMISS_TOAST', toastId: id });\n addToRemoveQueue(id);\n };\n\n const update = (props: Partial<ToastProps>) =>\n dispatch({ type: 'UPDATE_TOAST', toast: { ...props, id } });\n\n const variant = input.variant ?? 'default';\n // Persistent toasts disable auto-dismiss entirely; Radix accepts `Infinity`.\n const duration = input.persistent\n ? Infinity\n : (input.duration ?? defaultDurationForVariant(variant));\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n dismissible: true,\n ...input,\n variant,\n duration,\n },\n });\n\n return { id, dismiss, update };\n}\n\nexport function useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) listeners.splice(index, 1);\n };\n }, []);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => {\n dispatch({ type: 'DISMISS_TOAST', toastId });\n if (toastId) addToRemoveQueue(toastId);\n },\n };\n}\n"]}
@@ -1,73 +1,75 @@
1
- export type { ButtonProps } from "./components/button.js";
2
- export { Button, buttonVariants } from "./components/button.js";
3
- export type { SpinnerProps, SpinnerSize } from "./components/spinner.js";
4
- export { Spinner } from "./components/spinner.js";
5
- export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from "./components/card.js";
6
- export { Label } from "./components/label.js";
7
- export type { TextareaProps, FreeTextTextareaProps, NonFreeTextTextareaProps, NonFreeTextareaEntry } from "./components/textarea.js";
8
- export { Textarea } from "./components/textarea.js";
9
- export { Skeleton } from "./components/skeleton.js";
10
- export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from "./components/dialog.js";
11
- export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from "./components/popover.js";
12
- export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup } from "./components/dropdown-menu.js";
13
- export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut } from "./components/menubar.js";
14
- export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel } from "./components/alert-dialog.js";
15
- export { Alert, AlertTitle, AlertDescription } from "./components/alert.js";
16
- export type { ToastProps, ToastActionElement } from "./components/toast.js";
17
- export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction } from "./components/toast.js";
18
- export { Toaster } from "./components/toaster.js";
19
- export type { ToastVariant, ToasterToast } from "./hooks/use-toast.js";
20
- export { toast, useToast } from "./hooks/use-toast.js";
21
- export type { InputProps, FreeTextInputProps, NonFreeTextInputProps, NonFreeTextEntry, BuiltInFormatInputProps, BuiltInFormatInputType } from "./components/input.js";
22
- export { Input } from "./components/input.js";
23
- export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton } from "./components/select.js";
24
- export { Tabs, TabsList, TabsTrigger, TabsContent } from "./components/tabs.js";
25
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from "./components/tooltip.js";
26
- export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField } from "./components/form.js";
27
- export { Checkbox } from "./components/checkbox.js";
28
- export { Switch } from "./components/switch.js";
29
- export type { BadgeProps } from "./components/badge.js";
30
- export { Badge, badgeVariants } from "./components/badge.js";
31
- export { Avatar, AvatarImage, AvatarFallback } from "./components/avatar.js";
32
- export { Separator } from "./components/separator.js";
33
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "./components/accordion.js";
34
- export { RadioGroup, RadioGroupItem } from "./components/radio-group.js";
35
- export { Progress } from "./components/progress.js";
36
- export { Slider } from "./components/slider.js";
37
- export type { DatePickerProps } from "./components/date-picker.js";
38
- export { DatePicker } from "./components/date-picker.js";
39
- export type { DateTimePickerProps, DateTimePickerTime } from "./components/date-time-picker.js";
40
- export { DateTimePicker } from "./components/date-time-picker.js";
41
- export { ScrollArea, ScrollBar } from "./components/scroll-area.js";
42
- export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption } from "./components/table.js";
43
- export type { SortableTableHeadProps, SortDirection } from "./components/table.js";
44
- export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from "./components/sheet.js";
45
- export { Collapsible, CollapsibleTrigger, CollapsibleContent } from "./components/collapsible.js";
46
- export type { SearchDropdownProps } from "./components/search-dropdown.js";
47
- export { SearchDropdown } from "./components/search-dropdown.js";
48
- export type { ConsequenceDialogProps, ConsequenceDialogReason, ConsequenceDialogTypedConfirmation } from "./components/consequence-dialog.js";
49
- export { ConsequenceDialog } from "./components/consequence-dialog.js";
50
- export type { MaxWidthOption, ScreenAdaptiveViewProps } from "./components/layout/screen-adaptive-view.js";
51
- export { ScreenAdaptiveView } from "./components/layout/screen-adaptive-view.js";
52
- export { useMediaQuery } from "./hooks/use-media-query.js";
53
- export { useAsyncAction } from "./hooks/use-async-action.js";
54
- export type { AsyncAction, UseAsyncActionOptions } from "./hooks/use-async-action.js";
55
- export { RelativeTime } from "./components/relative-time.js";
56
- export type { RelativeTimeProps } from "./components/relative-time.js";
57
- export { EndOfListIndicator } from "./components/end-of-list-indicator.js";
58
- export type { EndOfListIndicatorProps } from "./components/end-of-list-indicator.js";
59
- export { ScrollToTopButton } from "./components/scroll-to-top-button.js";
60
- export type { ScrollToTopButtonProps } from "./components/scroll-to-top-button.js";
61
- export { ShowMoreToggle } from "./components/show-more-toggle.js";
62
- export type { ShowMoreToggleProps } from "./components/show-more-toggle.js";
63
- export { ReloadRecoveryNotice } from "./components/reload-recovery-notice.js";
64
- export type { ReloadRecoveryNoticeProps } from "./components/reload-recovery-notice.js";
65
- export { ListPagination } from "./components/list-pagination.js";
66
- export type { ListPaginationProps } from "./components/list-pagination.js";
67
- export { usePagedList } from "./hooks/use-paged-list.js";
68
- export type { ListPaginationState, PagedList, UsePagedListOptions } from "./hooks/use-paged-list.js";
69
- export { useCursorPage } from "./hooks/use-cursor-page.js";
70
- export type { CursorPage, CursorPager, UseCursorPageOptions } from "./hooks/use-cursor-page.js";
71
- export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll } from "./hooks/use-return-scroll.js";
72
- export type { ReturnScrollEntry, UseReturnScrollOptions, UseReturnScrollResult } from "./hooks/use-return-scroll.js";
1
+ export type { ButtonProps } from './components/button.js';
2
+ export { Button, buttonVariants } from './components/button.js';
3
+ export type { SpinnerProps, SpinnerSize } from './components/spinner.js';
4
+ export { Spinner } from './components/spinner.js';
5
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, } from './components/card.js';
6
+ export { Label } from './components/label.js';
7
+ export type { TextareaProps, FreeTextTextareaProps, NonFreeTextTextareaProps, NonFreeTextareaEntry, } from './components/textarea.js';
8
+ export { Textarea } from './components/textarea.js';
9
+ export { Skeleton } from './components/skeleton.js';
10
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './components/dialog.js';
11
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/popover.js';
12
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, } from './components/dropdown-menu.js';
13
+ export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut, } from './components/menubar.js';
14
+ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, } from './components/alert-dialog.js';
15
+ export { Alert, AlertTitle, AlertDescription } from './components/alert.js';
16
+ export type { ToastProps, ToastActionElement } from './components/toast.js';
17
+ export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, } from './components/toast.js';
18
+ export { Toaster } from './components/toaster.js';
19
+ export type { ToastVariant, ToasterToast } from './hooks/use-toast.js';
20
+ export { toast, useToast } from './hooks/use-toast.js';
21
+ export type { InputProps, FreeTextInputProps, NonFreeTextInputProps, NonFreeTextEntry, BuiltInFormatInputProps, BuiltInFormatInputType, } from './components/input.js';
22
+ export { Input } from './components/input.js';
23
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, } from './components/select.js';
24
+ export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/tabs.js';
25
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/tooltip.js';
26
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './components/form.js';
27
+ export { Checkbox } from './components/checkbox.js';
28
+ export { Switch } from './components/switch.js';
29
+ export type { BadgeProps } from './components/badge.js';
30
+ export { Badge, badgeVariants } from './components/badge.js';
31
+ export { Avatar, AvatarImage, AvatarFallback } from './components/avatar.js';
32
+ export { Separator } from './components/separator.js';
33
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './components/accordion.js';
34
+ export { RadioGroup, RadioGroupItem } from './components/radio-group.js';
35
+ export { Progress } from './components/progress.js';
36
+ export { Slider } from './components/slider.js';
37
+ export type { DatePickerProps } from './components/date-picker.js';
38
+ export { DatePicker } from './components/date-picker.js';
39
+ export type { DateTimePickerProps, DateTimePickerTime } from './components/date-time-picker.js';
40
+ export { DateTimePicker } from './components/date-time-picker.js';
41
+ export { ScrollArea, ScrollBar } from './components/scroll-area.js';
42
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption, } from './components/table.js';
43
+ export type { SortableTableHeadProps, SortDirection } from './components/table.js';
44
+ export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, } from './components/sheet.js';
45
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './components/collapsible.js';
46
+ export type { SearchDropdownProps } from './components/search-dropdown.js';
47
+ export { SearchDropdown } from './components/search-dropdown.js';
48
+ export type { ConsequenceDialogProps, ConsequenceDialogReason, ConsequenceDialogTypedConfirmation, } from './components/consequence-dialog.js';
49
+ export { ConsequenceDialog } from './components/consequence-dialog.js';
50
+ export type { MaxWidthOption, ScreenAdaptiveViewProps, } from './components/layout/screen-adaptive-view.js';
51
+ export { ScreenAdaptiveView } from './components/layout/screen-adaptive-view.js';
52
+ export { useMediaQuery } from './hooks/use-media-query.js';
53
+ export { useAsyncAction } from './hooks/use-async-action.js';
54
+ export type { AsyncAction, UseAsyncActionOptions } from './hooks/use-async-action.js';
55
+ export { RelativeTime } from './components/relative-time.js';
56
+ export type { RelativeTimeProps } from './components/relative-time.js';
57
+ export { EndOfListIndicator } from './components/end-of-list-indicator.js';
58
+ export type { EndOfListIndicatorProps } from './components/end-of-list-indicator.js';
59
+ export { ScrollToTopButton } from './components/scroll-to-top-button.js';
60
+ export type { ScrollToTopButtonProps } from './components/scroll-to-top-button.js';
61
+ export { ActionRow } from './components/action-row.js';
62
+ export type { ActionRowProps, ActionRowButtonProps, ActionRowLinkProps, ActionRowLinkTargetProps, } from './components/action-row.js';
63
+ export { ShowMoreToggle } from './components/show-more-toggle.js';
64
+ export type { ShowMoreToggleProps } from './components/show-more-toggle.js';
65
+ export { ReloadRecoveryNotice } from './components/reload-recovery-notice.js';
66
+ export type { ReloadRecoveryNoticeProps } from './components/reload-recovery-notice.js';
67
+ export { ListPagination } from './components/list-pagination.js';
68
+ export type { ListPaginationProps } from './components/list-pagination.js';
69
+ export { usePagedList } from './hooks/use-paged-list.js';
70
+ export type { ListPaginationState, PagedList, UsePagedListOptions, } from './hooks/use-paged-list.js';
71
+ export { useCursorPage } from './hooks/use-cursor-page.js';
72
+ export type { CursorPage, CursorPager, UseCursorPageOptions } from './hooks/use-cursor-page.js';
73
+ export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll, } from './hooks/use-return-scroll.js';
74
+ export type { ReturnScrollEntry, UseReturnScrollOptions, UseReturnScrollResult, } from './hooks/use-return-scroll.js';
73
75
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAClG,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,YAAY,EACV,cAAc,EACd,uBAAuB,GACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,YAAY,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,YAAY,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAIxF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKhG,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC"}
@@ -1,57 +1,58 @@
1
- "use client";
2
- export { Button, buttonVariants } from "./components/button.js";
3
- export { Spinner } from "./components/spinner.js";
4
- export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from "./components/card.js";
5
- export { Label } from "./components/label.js";
6
- export { Textarea } from "./components/textarea.js";
7
- export { Skeleton } from "./components/skeleton.js";
8
- export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from "./components/dialog.js";
9
- export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from "./components/popover.js";
10
- export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup } from "./components/dropdown-menu.js";
11
- export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut } from "./components/menubar.js";
12
- export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel } from "./components/alert-dialog.js";
13
- export { Alert, AlertTitle, AlertDescription } from "./components/alert.js";
14
- export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction } from "./components/toast.js";
15
- export { Toaster } from "./components/toaster.js";
16
- export { toast, useToast } from "./hooks/use-toast.js";
17
- export { Input } from "./components/input.js";
18
- export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton } from "./components/select.js";
19
- export { Tabs, TabsList, TabsTrigger, TabsContent } from "./components/tabs.js";
20
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from "./components/tooltip.js";
21
- export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField } from "./components/form.js";
22
- export { Checkbox } from "./components/checkbox.js";
23
- export { Switch } from "./components/switch.js";
24
- export { Badge, badgeVariants } from "./components/badge.js";
25
- export { Avatar, AvatarImage, AvatarFallback } from "./components/avatar.js";
26
- export { Separator } from "./components/separator.js";
27
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "./components/accordion.js";
28
- export { RadioGroup, RadioGroupItem } from "./components/radio-group.js";
29
- export { Progress } from "./components/progress.js";
30
- export { Slider } from "./components/slider.js";
31
- export { DatePicker } from "./components/date-picker.js";
32
- export { DateTimePicker } from "./components/date-time-picker.js";
33
- export { ScrollArea, ScrollBar } from "./components/scroll-area.js";
34
- export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption } from "./components/table.js";
35
- export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from "./components/sheet.js";
36
- export { Collapsible, CollapsibleTrigger, CollapsibleContent } from "./components/collapsible.js";
37
- export { SearchDropdown } from "./components/search-dropdown.js";
38
- export { ConsequenceDialog } from "./components/consequence-dialog.js";
39
- export { ScreenAdaptiveView } from "./components/layout/screen-adaptive-view.js";
40
- export { useMediaQuery } from "./hooks/use-media-query.js";
41
- export { useAsyncAction } from "./hooks/use-async-action.js";
1
+ 'use client';
2
+ export { Button, buttonVariants } from './components/button.js';
3
+ export { Spinner } from './components/spinner.js';
4
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, } from './components/card.js';
5
+ export { Label } from './components/label.js';
6
+ export { Textarea } from './components/textarea.js';
7
+ export { Skeleton } from './components/skeleton.js';
8
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './components/dialog.js';
9
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/popover.js';
10
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, } from './components/dropdown-menu.js';
11
+ export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut, } from './components/menubar.js';
12
+ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, } from './components/alert-dialog.js';
13
+ export { Alert, AlertTitle, AlertDescription } from './components/alert.js';
14
+ export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, } from './components/toast.js';
15
+ export { Toaster } from './components/toaster.js';
16
+ export { toast, useToast } from './hooks/use-toast.js';
17
+ export { Input } from './components/input.js';
18
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, } from './components/select.js';
19
+ export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/tabs.js';
20
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/tooltip.js';
21
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './components/form.js';
22
+ export { Checkbox } from './components/checkbox.js';
23
+ export { Switch } from './components/switch.js';
24
+ export { Badge, badgeVariants } from './components/badge.js';
25
+ export { Avatar, AvatarImage, AvatarFallback } from './components/avatar.js';
26
+ export { Separator } from './components/separator.js';
27
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './components/accordion.js';
28
+ export { RadioGroup, RadioGroupItem } from './components/radio-group.js';
29
+ export { Progress } from './components/progress.js';
30
+ export { Slider } from './components/slider.js';
31
+ export { DatePicker } from './components/date-picker.js';
32
+ export { DateTimePicker } from './components/date-time-picker.js';
33
+ export { ScrollArea, ScrollBar } from './components/scroll-area.js';
34
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption, } from './components/table.js';
35
+ export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, } from './components/sheet.js';
36
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './components/collapsible.js';
37
+ export { SearchDropdown } from './components/search-dropdown.js';
38
+ export { ConsequenceDialog } from './components/consequence-dialog.js';
39
+ export { ScreenAdaptiveView } from './components/layout/screen-adaptive-view.js';
40
+ export { useMediaQuery } from './hooks/use-media-query.js';
41
+ export { useAsyncAction } from './hooks/use-async-action.js';
42
42
  // Shared building blocks
43
- export { RelativeTime } from "./components/relative-time.js";
44
- export { EndOfListIndicator } from "./components/end-of-list-indicator.js";
45
- export { ScrollToTopButton } from "./components/scroll-to-top-button.js";
46
- export { ShowMoreToggle } from "./components/show-more-toggle.js";
47
- export { ReloadRecoveryNotice } from "./components/reload-recovery-notice.js";
43
+ export { RelativeTime } from './components/relative-time.js';
44
+ export { EndOfListIndicator } from './components/end-of-list-indicator.js';
45
+ export { ScrollToTopButton } from './components/scroll-to-top-button.js';
46
+ export { ActionRow } from './components/action-row.js';
47
+ export { ShowMoreToggle } from './components/show-more-toggle.js';
48
+ export { ReloadRecoveryNotice } from './components/reload-recovery-notice.js';
48
49
  // List pagination — the one Previous / counter / Next control plus the page-state
49
50
  // hooks for its two flavors (known total, and cursor/`hasMore`).
50
- export { ListPagination } from "./components/list-pagination.js";
51
- export { usePagedList } from "./hooks/use-paged-list.js";
52
- export { useCursorPage } from "./hooks/use-cursor-page.js";
51
+ export { ListPagination } from './components/list-pagination.js';
52
+ export { usePagedList } from './hooks/use-paged-list.js';
53
+ export { useCursorPage } from './hooks/use-cursor-page.js';
53
54
  // Return-scroll: restore a list's window offset when the user comes back to it after a
54
55
  // route change (save on leave, restore once on an eligible + ready return, keyed by the
55
56
  // caller's canonical list URL).
56
- export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll } from "./hooks/use-return-scroll.js";
57
+ export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll, } from './hooks/use-return-scroll.js';
57
58
  //# sourceMappingURL=index.js.map