@epicbagel/saas-kit 1.5.0 → 1.6.0

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 (128) hide show
  1. package/README.md +22 -0
  2. package/dist/{chunk-GFG2R5BZ.js → chunk-2V7AVB2U.js} +1 -1
  3. package/dist/{chunk-LI5EOSQG.js → chunk-43UMPZWD.js} +1 -1
  4. package/dist/{chunk-XABXUP6L.cjs → chunk-5VMKDVB6.cjs} +2 -2
  5. package/dist/{chunk-QNZYQLNP.js → chunk-6S6GD43V.js} +1 -1
  6. package/dist/{chunk-WQJKUKBL.cjs → chunk-6YXKFVZU.cjs} +4 -4
  7. package/dist/{chunk-RIWLAMME.cjs → chunk-7LDJAXRX.cjs} +2 -2
  8. package/dist/{chunk-FNDBM67K.cjs → chunk-7YCKII7G.cjs} +2 -2
  9. package/dist/{chunk-2TKLS73N.js → chunk-C3VZMTVB.js} +1 -1
  10. package/dist/{chunk-G54TQV2R.cjs → chunk-CLYAASFN.cjs} +2 -2
  11. package/dist/{chunk-SGW4FWBX.cjs → chunk-CRTH5GJ5.cjs} +13 -13
  12. package/dist/{chunk-EZCKWTH7.js → chunk-CYDICVH2.js} +1 -1
  13. package/dist/{chunk-J3GQXM37.js → chunk-EEHIMPD7.js} +1 -1
  14. package/dist/{chunk-4NN7EA3W.js → chunk-ET4THLFX.js} +1 -1
  15. package/dist/{chunk-PNWNU6JW.cjs → chunk-EUFV25KL.cjs} +4 -4
  16. package/dist/{chunk-HHV4G77I.js → chunk-F3B4M6DU.js} +1 -1
  17. package/dist/{chunk-32Q4XOTU.cjs → chunk-FYRQFEU4.cjs} +2 -2
  18. package/dist/{chunk-VLXPLKFR.cjs → chunk-GTVSRRE3.cjs} +2 -2
  19. package/dist/{chunk-RRRD5EUI.js → chunk-H2CCBRVG.js} +1 -1
  20. package/dist/{chunk-FGISSYXG.js → chunk-H4XH2PPU.js} +1 -1
  21. package/dist/{chunk-M7FYGAGO.js → chunk-HBRVOGLA.js} +1 -1
  22. package/dist/{chunk-NW3OWKBN.js → chunk-HREEZUKL.js} +1 -1
  23. package/dist/{chunk-THWIJG5C.js → chunk-IJG2B3Y2.js} +1 -1
  24. package/dist/{chunk-L4DH72UF.cjs → chunk-JDEXZGIY.cjs} +2 -1
  25. package/dist/{chunk-HRLP4BHJ.js → chunk-JN6JOSZG.js} +4 -4
  26. package/dist/{chunk-NE3ZVJ6G.cjs → chunk-KM5FHCXU.cjs} +8 -8
  27. package/dist/{chunk-MLHNYRFX.js → chunk-KNKV25WS.js} +2 -2
  28. package/dist/{chunk-23UMHZ4S.cjs → chunk-LIUYHYFN.cjs} +3 -3
  29. package/dist/{chunk-EOUO3ORO.cjs → chunk-LKPM6DQP.cjs} +3 -3
  30. package/dist/{chunk-SUB4BAYE.cjs → chunk-M4V7OJNF.cjs} +2 -2
  31. package/dist/{chunk-VKIGJNJR.cjs → chunk-MU4F3DSW.cjs} +2 -2
  32. package/dist/{chunk-LAN3K2JI.cjs → chunk-NWDPH2Z7.cjs} +2 -2
  33. package/dist/{chunk-MHYAVXOE.js → chunk-QTPPNK6F.js} +1 -1
  34. package/dist/{chunk-IH3COANJ.cjs → chunk-QTWJQQDH.cjs} +12 -12
  35. package/dist/chunk-QZBPZLAB.js +24 -0
  36. package/dist/{chunk-HAC32ALJ.js → chunk-TI57GAQP.js} +1 -1
  37. package/dist/{chunk-GRY77463.cjs → chunk-TP74SBRH.cjs} +3 -3
  38. package/dist/chunk-VMXKT67E.cjs +24 -0
  39. package/dist/{chunk-R5L4CM6V.cjs → chunk-VOTCYG3F.cjs} +4 -4
  40. package/dist/{chunk-HQRWRRZJ.js → chunk-W326GKML.js} +2 -1
  41. package/dist/{chunk-HYSWE75T.js → chunk-WL73DFE3.js} +1 -1
  42. package/dist/{chunk-KADJ56AH.cjs → chunk-Z3JJSNR5.cjs} +2 -2
  43. package/dist/{chunk-FLPYZNWZ.js → chunk-ZLU32SRP.js} +1 -1
  44. package/dist/primitives/activity-feed.cjs +3 -3
  45. package/dist/primitives/activity-feed.js +2 -2
  46. package/dist/primitives/activity-log.cjs +3 -3
  47. package/dist/primitives/activity-log.js +2 -2
  48. package/dist/primitives/alert-dialog.cjs +3 -3
  49. package/dist/primitives/alert-dialog.js +2 -2
  50. package/dist/primitives/alert.d.cts +1 -1
  51. package/dist/primitives/alert.d.ts +1 -1
  52. package/dist/primitives/archive-confirmation-dialog.cjs +4 -4
  53. package/dist/primitives/archive-confirmation-dialog.js +3 -3
  54. package/dist/primitives/attachment.cjs +3 -3
  55. package/dist/primitives/attachment.js +2 -2
  56. package/dist/primitives/badge.d.cts +1 -1
  57. package/dist/primitives/badge.d.ts +1 -1
  58. package/dist/primitives/board-view.cjs +7 -7
  59. package/dist/primitives/board-view.js +6 -6
  60. package/dist/primitives/bubble.d.cts +1 -1
  61. package/dist/primitives/bubble.d.ts +1 -1
  62. package/dist/primitives/button.cjs +2 -2
  63. package/dist/primitives/button.d.cts +3 -3
  64. package/dist/primitives/button.d.ts +3 -3
  65. package/dist/primitives/button.js +1 -1
  66. package/dist/primitives/calendar.cjs +3 -3
  67. package/dist/primitives/calendar.js +2 -2
  68. package/dist/primitives/chat.cjs +85 -58
  69. package/dist/primitives/chat.d.cts +13 -1
  70. package/dist/primitives/chat.d.ts +13 -1
  71. package/dist/primitives/chat.js +50 -23
  72. package/dist/primitives/code-block.cjs +4 -4
  73. package/dist/primitives/code-block.js +3 -3
  74. package/dist/primitives/confirm-bar.cjs +3 -3
  75. package/dist/primitives/confirm-bar.js +1 -1
  76. package/dist/primitives/connection-status-bar.cjs +4 -4
  77. package/dist/primitives/connection-status-bar.js +1 -1
  78. package/dist/primitives/connection.cjs +13 -13
  79. package/dist/primitives/connection.js +3 -3
  80. package/dist/primitives/copy-button.cjs +3 -3
  81. package/dist/primitives/copy-button.js +2 -2
  82. package/dist/primitives/decision-actions.cjs +2 -2
  83. package/dist/primitives/decision-actions.js +1 -1
  84. package/dist/primitives/delete-confirmation-dialog.cjs +4 -4
  85. package/dist/primitives/delete-confirmation-dialog.js +3 -3
  86. package/dist/primitives/document-preview.cjs +4 -4
  87. package/dist/primitives/document-preview.js +2 -2
  88. package/dist/primitives/editable-list.cjs +6 -6
  89. package/dist/primitives/editable-list.js +1 -1
  90. package/dist/primitives/empty-state.cjs +3 -3
  91. package/dist/primitives/empty-state.js +2 -2
  92. package/dist/primitives/file-dropzone.cjs +3 -3
  93. package/dist/primitives/file-dropzone.js +2 -2
  94. package/dist/primitives/file-preview-internals.cjs +3 -3
  95. package/dist/primitives/file-preview-internals.js +2 -2
  96. package/dist/primitives/file-preview.cjs +15 -15
  97. package/dist/primitives/file-preview.js +4 -4
  98. package/dist/primitives/filter-bar.cjs +4 -4
  99. package/dist/primitives/filter-bar.js +3 -3
  100. package/dist/primitives/input-group.cjs +3 -3
  101. package/dist/primitives/input-group.js +2 -2
  102. package/dist/primitives/load-more-button.cjs +3 -3
  103. package/dist/primitives/load-more-button.js +2 -2
  104. package/dist/primitives/message-scroller.cjs +3 -3
  105. package/dist/primitives/message-scroller.js +2 -2
  106. package/dist/primitives/message.cjs +3 -3
  107. package/dist/primitives/message.js +2 -2
  108. package/dist/primitives/page-header-actions.cjs +3 -3
  109. package/dist/primitives/page-header-actions.js +2 -2
  110. package/dist/primitives/quick-filters.cjs +3 -3
  111. package/dist/primitives/quick-filters.js +2 -2
  112. package/dist/primitives/resource-list.cjs +7 -7
  113. package/dist/primitives/resource-list.js +6 -6
  114. package/dist/primitives/search-input.cjs +101 -0
  115. package/dist/primitives/search-input.d.cts +23 -0
  116. package/dist/primitives/search-input.d.ts +23 -0
  117. package/dist/primitives/search-input.js +101 -0
  118. package/dist/primitives/spinner.cjs +3 -18
  119. package/dist/primitives/spinner.js +3 -18
  120. package/dist/primitives/split-action-button.cjs +3 -3
  121. package/dist/primitives/split-action-button.js +1 -1
  122. package/dist/primitives/suggestion.cjs +3 -3
  123. package/dist/primitives/suggestion.js +2 -2
  124. package/dist/primitives/tag-input.cjs +3 -3
  125. package/dist/primitives/tag-input.js +1 -1
  126. package/dist/primitives/voice-dictation-button.cjs +3 -3
  127. package/dist/primitives/voice-dictation-button.js +2 -2
  128. package/package.json +11 -1
@@ -5,14 +5,14 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkKADJ56AHcjs = require('../chunk-KADJ56AH.cjs');
8
+ var _chunkZ3JJSNR5cjs = require('../chunk-Z3JJSNR5.cjs');
9
9
  require('../chunk-373W6VAD.cjs');
10
10
  require('../chunk-U2NES7VR.cjs');
11
- require('../chunk-L4DH72UF.cjs');
11
+ require('../chunk-JDEXZGIY.cjs');
12
12
  require('../chunk-KWLSBTB2.cjs');
13
13
 
14
14
 
15
15
 
16
16
 
17
17
 
18
- exports.FileDropArea = _chunkKADJ56AHcjs.FileDropArea; exports.FileDropzone = _chunkKADJ56AHcjs.FileDropzone; exports.installFileDropGuard = _chunkKADJ56AHcjs.installFileDropGuard; exports.useFileDropGuard = _chunkKADJ56AHcjs.useFileDropGuard;
18
+ exports.FileDropArea = _chunkZ3JJSNR5cjs.FileDropArea; exports.FileDropzone = _chunkZ3JJSNR5cjs.FileDropzone; exports.installFileDropGuard = _chunkZ3JJSNR5cjs.installFileDropGuard; exports.useFileDropGuard = _chunkZ3JJSNR5cjs.useFileDropGuard;
@@ -5,10 +5,10 @@ import {
5
5
  FileDropzone,
6
6
  installFileDropGuard,
7
7
  useFileDropGuard
8
- } from "../chunk-M7FYGAGO.js";
8
+ } from "../chunk-HBRVOGLA.js";
9
9
  import "../chunk-EIY5LLSP.js";
10
10
  import "../chunk-ZRLUUZHK.js";
11
- import "../chunk-HQRWRRZJ.js";
11
+ import "../chunk-W326GKML.js";
12
12
  import "../chunk-G6SRSWXB.js";
13
13
  export {
14
14
  FileDropArea,
@@ -5,16 +5,16 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkGRY77463cjs = require('../chunk-GRY77463.cjs');
8
+ var _chunkTP74SBRHcjs = require('../chunk-TP74SBRH.cjs');
9
9
  require('../chunk-BTHYGHOH.cjs');
10
10
  require('../chunk-2BHI5ZWJ.cjs');
11
11
  require('../chunk-WDXEJDMO.cjs');
12
12
  require('../chunk-T2ZFSPE4.cjs');
13
- require('../chunk-L4DH72UF.cjs');
13
+ require('../chunk-JDEXZGIY.cjs');
14
14
  require('../chunk-KWLSBTB2.cjs');
15
15
 
16
16
 
17
17
 
18
18
 
19
19
 
20
- exports.PreviewDialog = _chunkGRY77463cjs.PreviewDialog; exports.PreviewLoading = _chunkGRY77463cjs.PreviewLoading; exports.PreviewNotice = _chunkGRY77463cjs.PreviewNotice; exports.PreviewStage = _chunkGRY77463cjs.PreviewStage;
20
+ exports.PreviewDialog = _chunkTP74SBRHcjs.PreviewDialog; exports.PreviewLoading = _chunkTP74SBRHcjs.PreviewLoading; exports.PreviewNotice = _chunkTP74SBRHcjs.PreviewNotice; exports.PreviewStage = _chunkTP74SBRHcjs.PreviewStage;
@@ -5,12 +5,12 @@ import {
5
5
  PreviewLoading,
6
6
  PreviewNotice,
7
7
  PreviewStage
8
- } from "../chunk-2TKLS73N.js";
8
+ } from "../chunk-C3VZMTVB.js";
9
9
  import "../chunk-JTI4244T.js";
10
10
  import "../chunk-4HWCNRK4.js";
11
11
  import "../chunk-3QT5VYZ3.js";
12
12
  import "../chunk-KN4RPX35.js";
13
- import "../chunk-HQRWRRZJ.js";
13
+ import "../chunk-W326GKML.js";
14
14
  import "../chunk-G6SRSWXB.js";
15
15
  export {
16
16
  PreviewDialog,
@@ -8,14 +8,14 @@ var _chunk4UUTKR3Vcjs = require('../chunk-4UUTKR3V.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkGRY77463cjs = require('../chunk-GRY77463.cjs');
11
+ var _chunkTP74SBRHcjs = require('../chunk-TP74SBRH.cjs');
12
12
  require('../chunk-BTHYGHOH.cjs');
13
13
  require('../chunk-2BHI5ZWJ.cjs');
14
14
  require('../chunk-WDXEJDMO.cjs');
15
15
 
16
16
 
17
- var _chunkVLXPLKFRcjs = require('../chunk-VLXPLKFR.cjs');
18
- require('../chunk-VKIGJNJR.cjs');
17
+ var _chunkGTVSRRE3cjs = require('../chunk-GTVSRRE3.cjs');
18
+ require('../chunk-MU4F3DSW.cjs');
19
19
 
20
20
 
21
21
  var _chunkKENBU3NVcjs = require('../chunk-KENBU3NV.cjs');
@@ -28,7 +28,7 @@ var _chunk373W6VADcjs = require('../chunk-373W6VAD.cjs');
28
28
  var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
29
29
 
30
30
 
31
- var _chunkL4DH72UFcjs = require('../chunk-L4DH72UF.cjs');
31
+ var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
32
32
  require('../chunk-4LXN6GLZ.cjs');
33
33
  require('../chunk-KWLSBTB2.cjs');
34
34
 
@@ -155,7 +155,7 @@ function FilePreview({
155
155
  truncatedLabel = "Showing the start of this file. Download it to see the rest."
156
156
  }) {
157
157
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
158
- _chunkGRY77463cjs.PreviewDialog,
158
+ _chunkTP74SBRHcjs.PreviewDialog,
159
159
  {
160
160
  open,
161
161
  onOpenChange,
@@ -176,7 +176,7 @@ function FilePreview({
176
176
  download: onDownload ? (
177
177
  // Under a muted message: the action keeps the foreground colour.
178
178
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
179
- _chunkL4DH72UFcjs.Button,
179
+ _chunkJDEXZGIYcjs.Button,
180
180
  {
181
181
  type: "button",
182
182
  variant: "outline",
@@ -266,22 +266,22 @@ function FilePreviewBody({
266
266
  const reads = kind === "text" || kind === "markdown";
267
267
  const text = useFileText(ready && reads ? file : null, ready && reads ? src : null);
268
268
  const objectUrl = useObjectUrl(ready && !reads ? file : null, kind === "pdf" ? "application/pdf" : void 0);
269
- const pending = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewLoading, { label: loadingLabel }) });
270
- const failed = (message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewNotice, { icon: _lucidereact.FileWarning, alert: true, message, children: _nullishCoalesce(fallback, () => ( download)) }) });
269
+ const pending = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewLoading, { label: loadingLabel }) });
270
+ const failed = (message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewNotice, { icon: _lucidereact.FileWarning, alert: true, message, children: _nullishCoalesce(fallback, () => ( download)) }) });
271
271
  if (loading) return pending;
272
272
  if (error) return failed(error);
273
273
  if (kind === "none" || !file && !src) {
274
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: _nullishCoalesce(fallback, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewNotice, { icon: _lucidereact.FileQuestion, message: unavailableLabel, children: download }))) });
274
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: _nullishCoalesce(fallback, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewNotice, { icon: _lucidereact.FileQuestion, message: unavailableLabel, children: download }))) });
275
275
  }
276
276
  if (reads) {
277
277
  if (!text || text.status === "reading") return pending;
278
278
  if (text.status === "failed") return failed(failedLabel);
279
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRY77463cjs.PreviewStage, { layout: "scroll", label: `Preview of ${title}`, children: [
279
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { layout: "scroll", label: `Preview of ${title}`, children: [
280
280
  text.truncated && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk373W6VADcjs.Text, { variant: "caption", marginBottom: "sm", children: truncatedLabel }),
281
281
  kind === "markdown" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKENBU3NVcjs.LazyMarkdown, { components: { a: NewTabLink, ...markdownComponents }, children: text.text }) : (
282
282
  // The theme's relaxed leading is a fixed 1.8rem, which spaces a
283
283
  // file's small monospace lines apart; read it at 20px lines.
284
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLXPLKFRcjs.CodeBlock, { wrap: true, className: "[&>pre]:leading-5", children: text.text })
284
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGTVSRRE3cjs.CodeBlock, { wrap: true, className: "[&>pre]:leading-5", children: text.text })
285
285
  )
286
286
  ] });
287
287
  }
@@ -300,13 +300,13 @@ function ShownFile({
300
300
  const fail = () => setBroken(true);
301
301
  const label = `Preview of ${title}`;
302
302
  if (kind === "image") {
303
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UUTKR3Vcjs.Image, { src: url, alt: title, fit: "contain", radius: "sm", className: "max-h-full max-w-full", onError: fail }) }) });
303
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UUTKR3Vcjs.Image, { src: url, alt: title, fit: "contain", radius: "sm", className: "max-h-full max-w-full", onError: fail }) }) });
304
304
  }
305
305
  if (kind === "audio") {
306
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-md p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "audio", { src: url, controls: true, preload: "metadata", "aria-label": label, className: "w-full", onError: fail }) }) });
306
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-md p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "audio", { src: url, controls: true, preload: "metadata", "aria-label": label, className: "w-full", onError: fail }) }) });
307
307
  }
308
308
  if (kind === "video") {
309
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
309
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
310
310
  "video",
311
311
  {
312
312
  src: url,
@@ -319,7 +319,7 @@ function ShownFile({
319
319
  }
320
320
  ) }) });
321
321
  }
322
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRY77463cjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { src: url, title: label, referrerPolicy: "no-referrer", className: "h-full w-full border-0 bg-background" }) });
322
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { src: url, title: label, referrerPolicy: "no-referrer", className: "h-full w-full border-0 bg-background" }) });
323
323
  }
324
324
 
325
325
 
@@ -8,14 +8,14 @@ import {
8
8
  PreviewLoading,
9
9
  PreviewNotice,
10
10
  PreviewStage
11
- } from "../chunk-2TKLS73N.js";
11
+ } from "../chunk-C3VZMTVB.js";
12
12
  import "../chunk-JTI4244T.js";
13
13
  import "../chunk-4HWCNRK4.js";
14
14
  import "../chunk-3QT5VYZ3.js";
15
15
  import {
16
16
  CodeBlock
17
- } from "../chunk-HHV4G77I.js";
18
- import "../chunk-NW3OWKBN.js";
17
+ } from "../chunk-F3B4M6DU.js";
18
+ import "../chunk-HREEZUKL.js";
19
19
  import {
20
20
  LazyMarkdown
21
21
  } from "../chunk-VY5U4VGV.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "../chunk-KN4RPX35.js";
29
29
  import {
30
30
  Button
31
- } from "../chunk-HQRWRRZJ.js";
31
+ } from "../chunk-W326GKML.js";
32
32
  import "../chunk-ZWZAAGQF.js";
33
33
  import "../chunk-G6SRSWXB.js";
34
34
 
@@ -2,19 +2,19 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkSGW4FWBXcjs = require('../chunk-SGW4FWBX.cjs');
5
+ var _chunkCRTH5GJ5cjs = require('../chunk-CRTH5GJ5.cjs');
6
6
  require('../chunk-PPX2VPGI.cjs');
7
7
  require('../chunk-WNXVGUBF.cjs');
8
8
  require('../chunk-IQZLUT2Y.cjs');
9
- require('../chunk-R5L4CM6V.cjs');
9
+ require('../chunk-VOTCYG3F.cjs');
10
10
  require('../chunk-JH4GAGOQ.cjs');
11
11
  require('../chunk-V5SPFLKW.cjs');
12
12
  require('../chunk-PQUSJEXL.cjs');
13
13
  require('../chunk-VGTINL5Q.cjs');
14
14
  require('../chunk-I6GUOEBO.cjs');
15
- require('../chunk-L4DH72UF.cjs');
15
+ require('../chunk-JDEXZGIY.cjs');
16
16
  require('../chunk-R35FT53G.cjs');
17
17
  require('../chunk-KWLSBTB2.cjs');
18
18
 
19
19
 
20
- exports.FilterBar = _chunkSGW4FWBXcjs.FilterBar;
20
+ exports.FilterBar = _chunkCRTH5GJ5cjs.FilterBar;
@@ -2,17 +2,17 @@
2
2
  "use client";
3
3
  import {
4
4
  FilterBar
5
- } from "../chunk-MLHNYRFX.js";
5
+ } from "../chunk-KNKV25WS.js";
6
6
  import "../chunk-G76JANB4.js";
7
7
  import "../chunk-YG7FBJRM.js";
8
8
  import "../chunk-E2TQMDO7.js";
9
- import "../chunk-RRRD5EUI.js";
9
+ import "../chunk-H2CCBRVG.js";
10
10
  import "../chunk-OICAYRVH.js";
11
11
  import "../chunk-J6NXDZR5.js";
12
12
  import "../chunk-QMA3WVB7.js";
13
13
  import "../chunk-H7TETFLB.js";
14
14
  import "../chunk-D4ZL2OEQ.js";
15
- import "../chunk-HQRWRRZJ.js";
15
+ import "../chunk-W326GKML.js";
16
16
  import "../chunk-PIU5SSUV.js";
17
17
  import "../chunk-G6SRSWXB.js";
18
18
  export {
@@ -6,10 +6,10 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkRIWLAMMEcjs = require('../chunk-RIWLAMME.cjs');
9
+ var _chunk7LDJAXRXcjs = require('../chunk-7LDJAXRX.cjs');
10
10
  require('../chunk-2HV2KKOE.cjs');
11
11
  require('../chunk-PQUSJEXL.cjs');
12
- require('../chunk-L4DH72UF.cjs');
12
+ require('../chunk-JDEXZGIY.cjs');
13
13
  require('../chunk-KWLSBTB2.cjs');
14
14
 
15
15
 
@@ -18,4 +18,4 @@ require('../chunk-KWLSBTB2.cjs');
18
18
 
19
19
 
20
20
 
21
- exports.InputGroup = _chunkRIWLAMMEcjs.InputGroup; exports.InputGroupAddon = _chunkRIWLAMMEcjs.InputGroupAddon; exports.InputGroupButton = _chunkRIWLAMMEcjs.InputGroupButton; exports.InputGroupInput = _chunkRIWLAMMEcjs.InputGroupInput; exports.InputGroupText = _chunkRIWLAMMEcjs.InputGroupText; exports.InputGroupTextarea = _chunkRIWLAMMEcjs.InputGroupTextarea;
21
+ exports.InputGroup = _chunk7LDJAXRXcjs.InputGroup; exports.InputGroupAddon = _chunk7LDJAXRXcjs.InputGroupAddon; exports.InputGroupButton = _chunk7LDJAXRXcjs.InputGroupButton; exports.InputGroupInput = _chunk7LDJAXRXcjs.InputGroupInput; exports.InputGroupText = _chunk7LDJAXRXcjs.InputGroupText; exports.InputGroupTextarea = _chunk7LDJAXRXcjs.InputGroupTextarea;
@@ -6,10 +6,10 @@ import {
6
6
  InputGroupInput,
7
7
  InputGroupText,
8
8
  InputGroupTextarea
9
- } from "../chunk-MHYAVXOE.js";
9
+ } from "../chunk-QTPPNK6F.js";
10
10
  import "../chunk-6FC65AZQ.js";
11
11
  import "../chunk-QMA3WVB7.js";
12
- import "../chunk-HQRWRRZJ.js";
12
+ import "../chunk-W326GKML.js";
13
13
  import "../chunk-G6SRSWXB.js";
14
14
  export {
15
15
  InputGroup,
@@ -2,9 +2,9 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkFNDBM67Kcjs = require('../chunk-FNDBM67K.cjs');
6
- require('../chunk-L4DH72UF.cjs');
5
+ var _chunk7YCKII7Gcjs = require('../chunk-7YCKII7G.cjs');
6
+ require('../chunk-JDEXZGIY.cjs');
7
7
  require('../chunk-KWLSBTB2.cjs');
8
8
 
9
9
 
10
- exports.LoadMoreButton = _chunkFNDBM67Kcjs.LoadMoreButton;
10
+ exports.LoadMoreButton = _chunk7YCKII7Gcjs.LoadMoreButton;
@@ -2,8 +2,8 @@
2
2
  "use client";
3
3
  import {
4
4
  LoadMoreButton
5
- } from "../chunk-J3GQXM37.js";
6
- import "../chunk-HQRWRRZJ.js";
5
+ } from "../chunk-EEHIMPD7.js";
6
+ import "../chunk-W326GKML.js";
7
7
  import "../chunk-G6SRSWXB.js";
8
8
  export {
9
9
  LoadMoreButton
@@ -10,8 +10,8 @@
10
10
 
11
11
 
12
12
 
13
- var _chunkXABXUP6Lcjs = require('../chunk-XABXUP6L.cjs');
14
- require('../chunk-L4DH72UF.cjs');
13
+ var _chunk5VMKDVB6cjs = require('../chunk-5VMKDVB6.cjs');
14
+ require('../chunk-JDEXZGIY.cjs');
15
15
  require('../chunk-KWLSBTB2.cjs');
16
16
 
17
17
 
@@ -23,4 +23,4 @@ require('../chunk-KWLSBTB2.cjs');
23
23
 
24
24
 
25
25
 
26
- exports.MessageScroller = _chunkXABXUP6Lcjs.MessageScroller; exports.MessageScrollerButton = _chunkXABXUP6Lcjs.MessageScrollerButton; exports.MessageScrollerContent = _chunkXABXUP6Lcjs.MessageScrollerContent; exports.MessageScrollerItem = _chunkXABXUP6Lcjs.MessageScrollerItem; exports.MessageScrollerProvider = _chunkXABXUP6Lcjs.MessageScrollerProvider; exports.MessageScrollerViewport = _chunkXABXUP6Lcjs.MessageScrollerViewport; exports.useMessageScroller = _chunkXABXUP6Lcjs.useMessageScroller; exports.useMessageScrollerScrollable = _chunkXABXUP6Lcjs.useMessageScrollerScrollable; exports.useMessageScrollerVisibility = _chunkXABXUP6Lcjs.useMessageScrollerVisibility;
26
+ exports.MessageScroller = _chunk5VMKDVB6cjs.MessageScroller; exports.MessageScrollerButton = _chunk5VMKDVB6cjs.MessageScrollerButton; exports.MessageScrollerContent = _chunk5VMKDVB6cjs.MessageScrollerContent; exports.MessageScrollerItem = _chunk5VMKDVB6cjs.MessageScrollerItem; exports.MessageScrollerProvider = _chunk5VMKDVB6cjs.MessageScrollerProvider; exports.MessageScrollerViewport = _chunk5VMKDVB6cjs.MessageScrollerViewport; exports.useMessageScroller = _chunk5VMKDVB6cjs.useMessageScroller; exports.useMessageScrollerScrollable = _chunk5VMKDVB6cjs.useMessageScrollerScrollable; exports.useMessageScrollerVisibility = _chunk5VMKDVB6cjs.useMessageScrollerVisibility;
@@ -10,8 +10,8 @@ import {
10
10
  useMessageScroller,
11
11
  useMessageScrollerScrollable,
12
12
  useMessageScrollerVisibility
13
- } from "../chunk-GFG2R5BZ.js";
14
- import "../chunk-HQRWRRZJ.js";
13
+ } from "../chunk-2V7AVB2U.js";
14
+ import "../chunk-W326GKML.js";
15
15
  import "../chunk-G6SRSWXB.js";
16
16
  export {
17
17
  MessageScroller,
@@ -8,9 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- var _chunkLAN3K2JIcjs = require('../chunk-LAN3K2JI.cjs');
11
+ var _chunkNWDPH2Z7cjs = require('../chunk-NWDPH2Z7.cjs');
12
12
  require('../chunk-U2NES7VR.cjs');
13
- require('../chunk-L4DH72UF.cjs');
13
+ require('../chunk-JDEXZGIY.cjs');
14
14
  require('../chunk-KWLSBTB2.cjs');
15
15
 
16
16
 
@@ -21,4 +21,4 @@ require('../chunk-KWLSBTB2.cjs');
21
21
 
22
22
 
23
23
 
24
- exports.Message = _chunkLAN3K2JIcjs.Message; exports.MessageAction = _chunkLAN3K2JIcjs.MessageAction; exports.MessageActions = _chunkLAN3K2JIcjs.MessageActions; exports.MessageAvatar = _chunkLAN3K2JIcjs.MessageAvatar; exports.MessageContent = _chunkLAN3K2JIcjs.MessageContent; exports.MessageFooter = _chunkLAN3K2JIcjs.MessageFooter; exports.MessageGroup = _chunkLAN3K2JIcjs.MessageGroup; exports.MessageHeader = _chunkLAN3K2JIcjs.MessageHeader;
24
+ exports.Message = _chunkNWDPH2Z7cjs.Message; exports.MessageAction = _chunkNWDPH2Z7cjs.MessageAction; exports.MessageActions = _chunkNWDPH2Z7cjs.MessageActions; exports.MessageAvatar = _chunkNWDPH2Z7cjs.MessageAvatar; exports.MessageContent = _chunkNWDPH2Z7cjs.MessageContent; exports.MessageFooter = _chunkNWDPH2Z7cjs.MessageFooter; exports.MessageGroup = _chunkNWDPH2Z7cjs.MessageGroup; exports.MessageHeader = _chunkNWDPH2Z7cjs.MessageHeader;
@@ -8,9 +8,9 @@ import {
8
8
  MessageFooter,
9
9
  MessageGroup,
10
10
  MessageHeader
11
- } from "../chunk-FGISSYXG.js";
11
+ } from "../chunk-H4XH2PPU.js";
12
12
  import "../chunk-ZRLUUZHK.js";
13
- import "../chunk-HQRWRRZJ.js";
13
+ import "../chunk-W326GKML.js";
14
14
  import "../chunk-G6SRSWXB.js";
15
15
  export {
16
16
  Message,
@@ -2,10 +2,10 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkWQJKUKBLcjs = require('../chunk-WQJKUKBL.cjs');
5
+ var _chunk6YXKFVZUcjs = require('../chunk-6YXKFVZU.cjs');
6
6
  require('../chunk-ZAITUDYD.cjs');
7
- require('../chunk-L4DH72UF.cjs');
7
+ require('../chunk-JDEXZGIY.cjs');
8
8
  require('../chunk-KWLSBTB2.cjs');
9
9
 
10
10
 
11
- exports.PageHeaderActions = _chunkWQJKUKBLcjs.PageHeaderActions;
11
+ exports.PageHeaderActions = _chunk6YXKFVZUcjs.PageHeaderActions;
@@ -2,9 +2,9 @@
2
2
  "use client";
3
3
  import {
4
4
  PageHeaderActions
5
- } from "../chunk-QNZYQLNP.js";
5
+ } from "../chunk-6S6GD43V.js";
6
6
  import "../chunk-V4LE2HWP.js";
7
- import "../chunk-HQRWRRZJ.js";
7
+ import "../chunk-W326GKML.js";
8
8
  import "../chunk-G6SRSWXB.js";
9
9
  export {
10
10
  PageHeaderActions
@@ -2,9 +2,9 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkPNWNU6JWcjs = require('../chunk-PNWNU6JW.cjs');
6
- require('../chunk-L4DH72UF.cjs');
5
+ var _chunkEUFV25KLcjs = require('../chunk-EUFV25KL.cjs');
6
+ require('../chunk-JDEXZGIY.cjs');
7
7
  require('../chunk-KWLSBTB2.cjs');
8
8
 
9
9
 
10
- exports.QuickFilters = _chunkPNWNU6JWcjs.QuickFilters;
10
+ exports.QuickFilters = _chunkEUFV25KLcjs.QuickFilters;
@@ -2,8 +2,8 @@
2
2
  "use client";
3
3
  import {
4
4
  QuickFilters
5
- } from "../chunk-LI5EOSQG.js";
6
- import "../chunk-HQRWRRZJ.js";
5
+ } from "../chunk-43UMPZWD.js";
6
+ import "../chunk-W326GKML.js";
7
7
  import "../chunk-G6SRSWXB.js";
8
8
  export {
9
9
  QuickFilters
@@ -2,15 +2,15 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkIH3COANJcjs = require('../chunk-IH3COANJ.cjs');
6
- require('../chunk-PNWNU6JW.cjs');
7
- require('../chunk-FNDBM67K.cjs');
8
- require('../chunk-SGW4FWBX.cjs');
5
+ var _chunkQTWJQQDHcjs = require('../chunk-QTWJQQDH.cjs');
6
+ require('../chunk-EUFV25KL.cjs');
7
+ require('../chunk-7YCKII7G.cjs');
8
+ require('../chunk-CRTH5GJ5.cjs');
9
9
  require('../chunk-PPX2VPGI.cjs');
10
10
  require('../chunk-WNXVGUBF.cjs');
11
11
  require('../chunk-IQZLUT2Y.cjs');
12
12
  require('../chunk-LELBCBDT.cjs');
13
- require('../chunk-R5L4CM6V.cjs');
13
+ require('../chunk-VOTCYG3F.cjs');
14
14
  require('../chunk-U2NES7VR.cjs');
15
15
  require('../chunk-JH4GAGOQ.cjs');
16
16
  require('../chunk-YYFVG5A6.cjs');
@@ -20,9 +20,9 @@ require('../chunk-PQUSJEXL.cjs');
20
20
  require('../chunk-VGTINL5Q.cjs');
21
21
  require('../chunk-I6GUOEBO.cjs');
22
22
  require('../chunk-VBPPFC7X.cjs');
23
- require('../chunk-L4DH72UF.cjs');
23
+ require('../chunk-JDEXZGIY.cjs');
24
24
  require('../chunk-R35FT53G.cjs');
25
25
  require('../chunk-KWLSBTB2.cjs');
26
26
 
27
27
 
28
- exports.ResourceList = _chunkIH3COANJcjs.ResourceList;
28
+ exports.ResourceList = _chunkQTWJQQDHcjs.ResourceList;
@@ -2,15 +2,15 @@
2
2
  "use client";
3
3
  import {
4
4
  ResourceList
5
- } from "../chunk-HRLP4BHJ.js";
6
- import "../chunk-LI5EOSQG.js";
7
- import "../chunk-J3GQXM37.js";
8
- import "../chunk-MLHNYRFX.js";
5
+ } from "../chunk-JN6JOSZG.js";
6
+ import "../chunk-43UMPZWD.js";
7
+ import "../chunk-EEHIMPD7.js";
8
+ import "../chunk-KNKV25WS.js";
9
9
  import "../chunk-G76JANB4.js";
10
10
  import "../chunk-YG7FBJRM.js";
11
11
  import "../chunk-E2TQMDO7.js";
12
12
  import "../chunk-H2O6NMLZ.js";
13
- import "../chunk-RRRD5EUI.js";
13
+ import "../chunk-H2CCBRVG.js";
14
14
  import "../chunk-ZRLUUZHK.js";
15
15
  import "../chunk-OICAYRVH.js";
16
16
  import "../chunk-62UTAG2C.js";
@@ -20,7 +20,7 @@ import "../chunk-QMA3WVB7.js";
20
20
  import "../chunk-H7TETFLB.js";
21
21
  import "../chunk-D4ZL2OEQ.js";
22
22
  import "../chunk-YEW65ASC.js";
23
- import "../chunk-HQRWRRZJ.js";
23
+ import "../chunk-W326GKML.js";
24
24
  import "../chunk-PIU5SSUV.js";
25
25
  import "../chunk-G6SRSWXB.js";
26
26
  export {
@@ -0,0 +1,101 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+ "use client";
3
+
4
+
5
+ var _chunkVMXKT67Ecjs = require('../chunk-VMXKT67E.cjs');
6
+
7
+
8
+
9
+
10
+
11
+ var _chunk7LDJAXRXcjs = require('../chunk-7LDJAXRX.cjs');
12
+ require('../chunk-2HV2KKOE.cjs');
13
+ require('../chunk-PQUSJEXL.cjs');
14
+ require('../chunk-JDEXZGIY.cjs');
15
+
16
+
17
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
18
+
19
+ // src/primitives/search-input.tsx
20
+ var _react = require('react');
21
+ var _lucidereact = require('lucide-react');
22
+ var _jsxruntime = require('react/jsx-runtime');
23
+ var SearchInput = _react.forwardRef.call(void 0, function SearchInput2({
24
+ label,
25
+ value,
26
+ onValueChange,
27
+ loading = false,
28
+ loadingLabel = "Searching\u2026",
29
+ clearLabel = "Clear search",
30
+ controlSize = "default",
31
+ placeholder = label,
32
+ disabled = false,
33
+ readOnly = false,
34
+ className,
35
+ onKeyDown,
36
+ ...inputProps
37
+ }, ref) {
38
+ const inputRef = _react.useRef.call(void 0, null);
39
+ _react.useImperativeHandle.call(void 0, ref, () => inputRef.current);
40
+ const canClear = value.length > 0 && !disabled && !readOnly;
41
+ const clear = () => {
42
+ if (!canClear) return;
43
+ onValueChange("");
44
+ _optionalChain([inputRef, 'access', _ => _.current, 'optionalAccess', _2 => _2.focus, 'call', _3 => _3()]);
45
+ };
46
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
47
+ _chunk7LDJAXRXcjs.InputGroup,
48
+ {
49
+ "data-slot": "search-input",
50
+ "data-disabled": disabled || void 0,
51
+ "aria-busy": loading || void 0,
52
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
53
+ "w-full rounded-full border-0 bg-muted px-1 shadow-none dark:bg-muted",
54
+ "has-[[data-slot=input-group-control]:focus-visible]:ring-2",
55
+ controlSize === "lg" ? "h-[48px]" : "h-[44px]",
56
+ disabled ? "opacity-60" : "hover:bg-muted/80",
57
+ className
58
+ ),
59
+ children: [
60
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7LDJAXRXcjs.InputGroupAddon, { align: "inline-start", className: "shrink-0 pl-3", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVMXKT67Ecjs.Spinner, { "aria-label": loadingLabel, className: "size-5" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Search, { "aria-hidden": true, className: "size-5" }) }),
61
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
62
+ _chunk7LDJAXRXcjs.InputGroupInput,
63
+ {
64
+ ...inputProps,
65
+ ref: inputRef,
66
+ type: "search",
67
+ "aria-label": label,
68
+ value,
69
+ placeholder,
70
+ disabled,
71
+ readOnly,
72
+ onChange: (event) => onValueChange(event.target.value),
73
+ onKeyDown: (event) => {
74
+ _optionalChain([onKeyDown, 'optionalCall', _4 => _4(event)]);
75
+ if (event.defaultPrevented || event.nativeEvent.isComposing || event.key !== "Escape" || !canClear) return;
76
+ event.preventDefault();
77
+ event.stopPropagation();
78
+ clear();
79
+ },
80
+ className: "h-full rounded-none pe-3 [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden"
81
+ }
82
+ ),
83
+ value.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7LDJAXRXcjs.InputGroupAddon, { align: "inline-end", className: "shrink-0 p-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
84
+ _chunk7LDJAXRXcjs.InputGroupButton,
85
+ {
86
+ size: "icon-sm",
87
+ shape: "circle",
88
+ "aria-label": clearLabel,
89
+ disabled: disabled || readOnly,
90
+ onClick: clear,
91
+ className: "size-[44px] shrink-0",
92
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { "aria-hidden": true })
93
+ }
94
+ ) })
95
+ ]
96
+ }
97
+ );
98
+ });
99
+
100
+
101
+ exports.SearchInput = SearchInput;
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import { InputHTMLAttributes } from 'react';
3
+
4
+ interface SearchInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "defaultValue" | "onChange" | "size"> {
5
+ /** Accessible name, also used as the placeholder unless one is supplied. */
6
+ label: string;
7
+ value: string;
8
+ onValueChange: (value: string) => void;
9
+ /** Replaces the search icon with an accessible loading indicator. */
10
+ loading?: boolean;
11
+ loadingLabel?: string;
12
+ clearLabel?: string;
13
+ /** Fixed pixel heights keep touch targets usable with any root font size. */
14
+ controlSize?: "default" | "lg";
15
+ }
16
+ /**
17
+ * A full-width search field on a quiet, rounded surface. The clear control
18
+ * and Escape clear its controlled value while keeping focus in the input.
19
+ * Fetching, debouncing and result ownership remain with the caller.
20
+ */
21
+ declare const SearchInput: React.ForwardRefExoticComponent<SearchInputProps & React.RefAttributes<HTMLInputElement>>;
22
+
23
+ export { SearchInput, type SearchInputProps };
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import { InputHTMLAttributes } from 'react';
3
+
4
+ interface SearchInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "defaultValue" | "onChange" | "size"> {
5
+ /** Accessible name, also used as the placeholder unless one is supplied. */
6
+ label: string;
7
+ value: string;
8
+ onValueChange: (value: string) => void;
9
+ /** Replaces the search icon with an accessible loading indicator. */
10
+ loading?: boolean;
11
+ loadingLabel?: string;
12
+ clearLabel?: string;
13
+ /** Fixed pixel heights keep touch targets usable with any root font size. */
14
+ controlSize?: "default" | "lg";
15
+ }
16
+ /**
17
+ * A full-width search field on a quiet, rounded surface. The clear control
18
+ * and Escape clear its controlled value while keeping focus in the input.
19
+ * Fetching, debouncing and result ownership remain with the caller.
20
+ */
21
+ declare const SearchInput: React.ForwardRefExoticComponent<SearchInputProps & React.RefAttributes<HTMLInputElement>>;
22
+
23
+ export { SearchInput, type SearchInputProps };