@epicbagel/saas-kit 1.5.0 → 1.7.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 (138) hide show
  1. package/README.md +33 -1
  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.d.cts +1 -1
  56. package/dist/primitives/attachment.d.ts +1 -1
  57. package/dist/primitives/attachment.js +2 -2
  58. package/dist/primitives/badge.d.cts +1 -1
  59. package/dist/primitives/badge.d.ts +1 -1
  60. package/dist/primitives/board-view.cjs +7 -7
  61. package/dist/primitives/board-view.js +6 -6
  62. package/dist/primitives/bubble.d.cts +1 -1
  63. package/dist/primitives/bubble.d.ts +1 -1
  64. package/dist/primitives/button.cjs +2 -2
  65. package/dist/primitives/button.d.cts +3 -3
  66. package/dist/primitives/button.d.ts +3 -3
  67. package/dist/primitives/button.js +1 -1
  68. package/dist/primitives/calendar.cjs +3 -3
  69. package/dist/primitives/calendar.js +2 -2
  70. package/dist/primitives/chat.cjs +155 -80
  71. package/dist/primitives/chat.d.cts +32 -3
  72. package/dist/primitives/chat.d.ts +32 -3
  73. package/dist/primitives/chat.js +120 -45
  74. package/dist/primitives/code-block.cjs +4 -4
  75. package/dist/primitives/code-block.js +3 -3
  76. package/dist/primitives/confirm-bar.cjs +3 -3
  77. package/dist/primitives/confirm-bar.js +1 -1
  78. package/dist/primitives/connection-status-bar.cjs +4 -4
  79. package/dist/primitives/connection-status-bar.js +1 -1
  80. package/dist/primitives/connection.cjs +13 -13
  81. package/dist/primitives/connection.js +3 -3
  82. package/dist/primitives/copy-button.cjs +3 -3
  83. package/dist/primitives/copy-button.js +2 -2
  84. package/dist/primitives/decision-actions.cjs +2 -2
  85. package/dist/primitives/decision-actions.js +1 -1
  86. package/dist/primitives/delete-confirmation-dialog.cjs +4 -4
  87. package/dist/primitives/delete-confirmation-dialog.js +3 -3
  88. package/dist/primitives/document-preview.cjs +4 -4
  89. package/dist/primitives/document-preview.js +2 -2
  90. package/dist/primitives/editable-list.cjs +6 -6
  91. package/dist/primitives/editable-list.js +1 -1
  92. package/dist/primitives/empty-state.cjs +3 -3
  93. package/dist/primitives/empty-state.js +2 -2
  94. package/dist/primitives/file-dropzone.cjs +3 -3
  95. package/dist/primitives/file-dropzone.js +2 -2
  96. package/dist/primitives/file-preview-internals.cjs +3 -3
  97. package/dist/primitives/file-preview-internals.js +2 -2
  98. package/dist/primitives/file-preview.cjs +15 -15
  99. package/dist/primitives/file-preview.js +4 -4
  100. package/dist/primitives/filter-bar.cjs +4 -4
  101. package/dist/primitives/filter-bar.js +3 -3
  102. package/dist/primitives/input-group.cjs +3 -3
  103. package/dist/primitives/input-group.js +2 -2
  104. package/dist/primitives/item.d.cts +2 -2
  105. package/dist/primitives/item.d.ts +2 -2
  106. package/dist/primitives/load-more-button.cjs +3 -3
  107. package/dist/primitives/load-more-button.js +2 -2
  108. package/dist/primitives/message-scroller.cjs +3 -3
  109. package/dist/primitives/message-scroller.js +2 -2
  110. package/dist/primitives/message.cjs +3 -3
  111. package/dist/primitives/message.js +2 -2
  112. package/dist/primitives/page-header-actions.cjs +3 -3
  113. package/dist/primitives/page-header-actions.js +2 -2
  114. package/dist/primitives/quick-filters.cjs +3 -3
  115. package/dist/primitives/quick-filters.js +2 -2
  116. package/dist/primitives/resource-list.cjs +7 -7
  117. package/dist/primitives/resource-list.js +6 -6
  118. package/dist/primitives/search-input.cjs +101 -0
  119. package/dist/primitives/search-input.d.cts +23 -0
  120. package/dist/primitives/search-input.d.ts +23 -0
  121. package/dist/primitives/search-input.js +101 -0
  122. package/dist/primitives/section-header.d.cts +1 -1
  123. package/dist/primitives/section-header.d.ts +1 -1
  124. package/dist/primitives/spinner.cjs +3 -18
  125. package/dist/primitives/spinner.js +3 -18
  126. package/dist/primitives/split-action-button.cjs +3 -3
  127. package/dist/primitives/split-action-button.js +1 -1
  128. package/dist/primitives/suggestion.cjs +3 -3
  129. package/dist/primitives/suggestion.js +2 -2
  130. package/dist/primitives/tag-input.cjs +3 -3
  131. package/dist/primitives/tag-input.js +1 -1
  132. package/dist/primitives/toggle-group.d.cts +2 -2
  133. package/dist/primitives/toggle-group.d.ts +2 -2
  134. package/dist/primitives/toggle.d.cts +2 -2
  135. package/dist/primitives/toggle.d.ts +2 -2
  136. package/dist/primitives/voice-dictation-button.cjs +3 -3
  137. package/dist/primitives/voice-dictation-button.js +2 -2
  138. package/package.json +11 -1
@@ -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 };
@@ -0,0 +1,101 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Spinner
5
+ } from "../chunk-QZBPZLAB.js";
6
+ import {
7
+ InputGroup,
8
+ InputGroupAddon,
9
+ InputGroupButton,
10
+ InputGroupInput
11
+ } from "../chunk-QTPPNK6F.js";
12
+ import "../chunk-6FC65AZQ.js";
13
+ import "../chunk-QMA3WVB7.js";
14
+ import "../chunk-W326GKML.js";
15
+ import {
16
+ cn
17
+ } from "../chunk-G6SRSWXB.js";
18
+
19
+ // src/primitives/search-input.tsx
20
+ import { forwardRef, useImperativeHandle, useRef } from "react";
21
+ import { Search, X } from "lucide-react";
22
+ import { jsx, jsxs } from "react/jsx-runtime";
23
+ var SearchInput = forwardRef(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 = useRef(null);
39
+ useImperativeHandle(ref, () => inputRef.current);
40
+ const canClear = value.length > 0 && !disabled && !readOnly;
41
+ const clear = () => {
42
+ if (!canClear) return;
43
+ onValueChange("");
44
+ inputRef.current?.focus();
45
+ };
46
+ return /* @__PURE__ */ jsxs(
47
+ InputGroup,
48
+ {
49
+ "data-slot": "search-input",
50
+ "data-disabled": disabled || void 0,
51
+ "aria-busy": loading || void 0,
52
+ className: cn(
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__ */ jsx(InputGroupAddon, { align: "inline-start", className: "shrink-0 pl-3", children: loading ? /* @__PURE__ */ jsx(Spinner, { "aria-label": loadingLabel, className: "size-5" }) : /* @__PURE__ */ jsx(Search, { "aria-hidden": true, className: "size-5" }) }),
61
+ /* @__PURE__ */ jsx(
62
+ 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
+ onKeyDown?.(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__ */ jsx(InputGroupAddon, { align: "inline-end", className: "shrink-0 p-0", children: /* @__PURE__ */ jsx(
84
+ 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__ */ jsx(X, { "aria-hidden": true })
93
+ }
94
+ ) })
95
+ ]
96
+ }
97
+ );
98
+ });
99
+ export {
100
+ SearchInput
101
+ };
@@ -5,7 +5,7 @@ import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const sectionHeaderVariants: (props?: ({
7
7
  variant?: "muted" | "plain" | null | undefined;
8
- spacing?: "none" | "tight" | "loose" | null | undefined;
8
+ spacing?: "tight" | "loose" | "none" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string;
10
10
  interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLHeadingElement>, "children">, VariantProps<typeof sectionHeaderVariants> {
11
11
  /** Pre-rendered icon node. Sized to match the header text. */
@@ -5,7 +5,7 @@ import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const sectionHeaderVariants: (props?: ({
7
7
  variant?: "muted" | "plain" | null | undefined;
8
- spacing?: "none" | "tight" | "loose" | null | undefined;
8
+ spacing?: "tight" | "loose" | "none" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string;
10
10
  interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLHeadingElement>, "children">, VariantProps<typeof sectionHeaderVariants> {
11
11
  /** Pre-rendered icon node. Sized to match the header text. */
@@ -1,23 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
4
+ var _chunkVMXKT67Ecjs = require('../chunk-VMXKT67E.cjs');
5
+ require('../chunk-KWLSBTB2.cjs');
5
6
 
6
- // src/primitives/spinner.tsx
7
- var _lucidereact = require('lucide-react');
8
- var _jsxruntime = require('react/jsx-runtime');
9
- function Spinner({ className, ...props }) {
10
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11
- _lucidereact.Loader2,
12
- {
13
- "data-slot": "spinner",
14
- role: "status",
15
- "aria-label": "Loading",
16
- className: _chunkKWLSBTB2cjs.cn.call(void 0, "size-4 animate-spin", className),
17
- ...props
18
- }
19
- );
20
- }
21
7
 
22
-
23
- exports.Spinner = Spinner;
8
+ exports.Spinner = _chunkVMXKT67Ecjs.Spinner;
@@ -1,23 +1,8 @@
1
1
  "use client";
2
2
  import {
3
- cn
4
- } from "../chunk-G6SRSWXB.js";
5
-
6
- // src/primitives/spinner.tsx
7
- import { Loader2 } from "lucide-react";
8
- import { jsx } from "react/jsx-runtime";
9
- function Spinner({ className, ...props }) {
10
- return /* @__PURE__ */ jsx(
11
- Loader2,
12
- {
13
- "data-slot": "spinner",
14
- role: "status",
15
- "aria-label": "Loading",
16
- className: cn("size-4 animate-spin", className),
17
- ...props
18
- }
19
- );
20
- }
3
+ Spinner
4
+ } from "../chunk-QZBPZLAB.js";
5
+ import "../chunk-G6SRSWXB.js";
21
6
  export {
22
7
  Spinner
23
8
  };
@@ -9,7 +9,7 @@
9
9
  var _chunkZAITUDYDcjs = require('../chunk-ZAITUDYD.cjs');
10
10
 
11
11
 
12
- var _chunkL4DH72UFcjs = require('../chunk-L4DH72UF.cjs');
12
+ var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
13
13
 
14
14
 
15
15
  var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
@@ -35,7 +35,7 @@ var SplitActionButton = _react.forwardRef.call(void 0, function SplitActionButto
35
35
  }, ref) {
36
36
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunkKWLSBTB2cjs.cn.call(void 0, "inline-flex items-stretch", className), children: [
37
37
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38
- _chunkL4DH72UFcjs.Button,
38
+ _chunkJDEXZGIYcjs.Button,
39
39
  {
40
40
  size,
41
41
  variant,
@@ -53,7 +53,7 @@ var SplitActionButton = _react.forwardRef.call(void 0, function SplitActionButto
53
53
  ),
54
54
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZAITUDYDcjs.DropdownMenu, { children: [
55
55
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZAITUDYDcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
56
- _chunkL4DH72UFcjs.Button,
56
+ _chunkJDEXZGIYcjs.Button,
57
57
  {
58
58
  size,
59
59
  variant,
@@ -9,7 +9,7 @@ import {
9
9
  } from "../chunk-V4LE2HWP.js";
10
10
  import {
11
11
  Button
12
- } from "../chunk-HQRWRRZJ.js";
12
+ } from "../chunk-W326GKML.js";
13
13
  import {
14
14
  cn
15
15
  } from "../chunk-G6SRSWXB.js";
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkSUB4BAYEcjs = require('../chunk-SUB4BAYE.cjs');
6
- require('../chunk-L4DH72UF.cjs');
5
+ var _chunkM4V7OJNFcjs = require('../chunk-M4V7OJNF.cjs');
6
+ require('../chunk-JDEXZGIY.cjs');
7
7
  require('../chunk-KWLSBTB2.cjs');
8
8
 
9
9
 
10
10
 
11
- exports.Suggestion = _chunkSUB4BAYEcjs.Suggestion; exports.Suggestions = _chunkSUB4BAYEcjs.Suggestions;
11
+ exports.Suggestion = _chunkM4V7OJNFcjs.Suggestion; exports.Suggestions = _chunkM4V7OJNFcjs.Suggestions;
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  Suggestion,
4
4
  Suggestions
5
- } from "../chunk-THWIJG5C.js";
6
- import "../chunk-HQRWRRZJ.js";
5
+ } from "../chunk-IJG2B3Y2.js";
6
+ import "../chunk-W326GKML.js";
7
7
  import "../chunk-G6SRSWXB.js";
8
8
  export {
9
9
  Suggestion,
@@ -11,7 +11,7 @@ var _chunkPQUSJEXLcjs = require('../chunk-PQUSJEXL.cjs');
11
11
  var _chunkI6GUOEBOcjs = require('../chunk-I6GUOEBO.cjs');
12
12
 
13
13
 
14
- var _chunkL4DH72UFcjs = require('../chunk-L4DH72UF.cjs');
14
+ var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
15
15
  require('../chunk-KWLSBTB2.cjs');
16
16
 
17
17
  // src/primitives/tag-input.tsx
@@ -48,7 +48,7 @@ function TagInput({
48
48
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: value.map((tag) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkI6GUOEBOcjs.Badge, { variant: "secondary", className: "text-sm", children: [
49
49
  tag,
50
50
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51
- _chunkL4DH72UFcjs.Button,
51
+ _chunkJDEXZGIYcjs.Button,
52
52
  {
53
53
  variant: "ghost",
54
54
  size: "sm",
@@ -72,7 +72,7 @@ function TagInput({
72
72
  }
73
73
  ),
74
74
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
75
- _chunkL4DH72UFcjs.Button,
75
+ _chunkJDEXZGIYcjs.Button,
76
76
  {
77
77
  type: "button",
78
78
  variant: "outline",
@@ -11,7 +11,7 @@ import {
11
11
  } from "../chunk-D4ZL2OEQ.js";
12
12
  import {
13
13
  Button
14
- } from "../chunk-HQRWRRZJ.js";
14
+ } from "../chunk-W326GKML.js";
15
15
  import "../chunk-G6SRSWXB.js";
16
16
 
17
17
  // src/primitives/tag-input.tsx
@@ -5,11 +5,11 @@ import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
7
7
  variant?: "default" | "outline" | null | undefined;
8
- size?: "sm" | "lg" | "default" | "icon" | "icon-lg" | "avatar" | "chip" | null | undefined;
8
+ size?: "icon" | "sm" | "lg" | "default" | "icon-lg" | "avatar" | "chip" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
10
10
  declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
11
11
  variant?: "default" | "outline" | null | undefined;
12
- size?: "sm" | "lg" | "default" | "icon" | "icon-lg" | "avatar" | "chip" | null | undefined;
12
+ size?: "icon" | "sm" | "lg" | "default" | "icon-lg" | "avatar" | "chip" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
14
14
  grow?: boolean;
15
15
  textSize?: "inherit" | "xs";