@cognite/aura 0.3.5 → 1.46104.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 (446) hide show
  1. package/CHANGELOG.md +264 -0
  2. package/DESIGN.md +638 -281
  3. package/LICENSE +21 -0
  4. package/README.md +21 -13
  5. package/dist/colors-deprecated.css +587 -0
  6. package/dist/colors.css +803 -830
  7. package/dist/components/index.d.ts +63 -57
  8. package/dist/components/index.js +62 -59
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/components/ui/core/accordion/accordion.d.ts +19 -18
  11. package/dist/components/ui/core/accordion/accordion.js +99 -78
  12. package/dist/components/ui/core/accordion/accordion.js.map +1 -0
  13. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.d.ts +8 -0
  14. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js +125 -0
  15. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js.map +1 -0
  16. package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +31 -31
  17. package/dist/components/ui/core/action-toolbar/action-toolbar.js +156 -106
  18. package/dist/components/ui/core/action-toolbar/action-toolbar.js.map +1 -0
  19. package/dist/components/ui/core/alert/alert.d.ts +25 -25
  20. package/dist/components/ui/core/alert/alert.js +181 -152
  21. package/dist/components/ui/core/alert/alert.js.map +1 -0
  22. package/dist/components/ui/core/avatar/avatar.d.ts +10 -9
  23. package/dist/components/ui/core/avatar/avatar.js +75 -65
  24. package/dist/components/ui/core/avatar/avatar.js.map +1 -0
  25. package/dist/components/ui/core/badge/badge.d.ts +13 -12
  26. package/dist/components/ui/core/badge/badge.js +88 -72
  27. package/dist/components/ui/core/badge/badge.js.map +1 -0
  28. package/dist/components/ui/core/banner/banner.d.ts +18 -18
  29. package/dist/components/ui/core/banner/banner.js +179 -142
  30. package/dist/components/ui/core/banner/banner.js.map +1 -0
  31. package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +12 -12
  32. package/dist/components/ui/core/breadcrumb/breadcrumb.js +139 -104
  33. package/dist/components/ui/core/breadcrumb/breadcrumb.js.map +1 -0
  34. package/dist/components/ui/core/button/button.d.ts +7 -7
  35. package/dist/components/ui/core/button/button.gallery.d.ts +2 -0
  36. package/dist/components/ui/core/button/button.gallery.js +76 -0
  37. package/dist/components/ui/core/button/button.gallery.js.map +1 -0
  38. package/dist/components/ui/core/button/button.js +57 -47
  39. package/dist/components/ui/core/button/button.js.map +1 -0
  40. package/dist/components/ui/core/button-group/button-group.d.ts +9 -9
  41. package/dist/components/ui/core/button-group/button-group.js +50 -40
  42. package/dist/components/ui/core/button-group/button-group.js.map +1 -0
  43. package/dist/components/ui/core/calendar/calendar-header.d.ts +7 -7
  44. package/dist/components/ui/core/calendar/calendar-header.js +102 -63
  45. package/dist/components/ui/core/calendar/calendar-header.js.map +1 -0
  46. package/dist/components/ui/core/calendar/calendar-utils.d.ts +30 -30
  47. package/dist/components/ui/core/calendar/calendar-utils.js +116 -39
  48. package/dist/components/ui/core/calendar/calendar-utils.js.map +1 -0
  49. package/dist/components/ui/core/calendar/calendar.d.ts +10 -10
  50. package/dist/components/ui/core/calendar/calendar.js +95 -66
  51. package/dist/components/ui/core/calendar/calendar.js.map +1 -0
  52. package/dist/components/ui/core/calendar/constants.js +3 -0
  53. package/dist/components/ui/core/calendar/constants.js.map +1 -0
  54. package/dist/components/ui/core/card/card.d.ts +20 -20
  55. package/dist/components/ui/core/card/card.js +133 -104
  56. package/dist/components/ui/core/card/card.js.map +1 -0
  57. package/dist/components/ui/core/chart/chart.d.ts +55 -53
  58. package/dist/components/ui/core/chart/chart.js +196 -116
  59. package/dist/components/ui/core/chart/chart.js.map +1 -0
  60. package/dist/components/ui/core/chart/index.d.ts +2 -2
  61. package/dist/components/ui/core/chart/index.js +3 -2
  62. package/dist/components/ui/core/chart/index.js.map +1 -0
  63. package/dist/components/ui/core/checkbox/checkbox.d.ts +9 -9
  64. package/dist/components/ui/core/checkbox/checkbox.js +88 -68
  65. package/dist/components/ui/core/checkbox/checkbox.js.map +1 -0
  66. package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +1 -1
  67. package/dist/components/ui/core/checkbox/checkbox.metadata.js +6 -7
  68. package/dist/components/ui/core/checkbox/checkbox.metadata.js.map +1 -0
  69. package/dist/components/ui/core/code-block/code-block.d.ts +19 -19
  70. package/dist/components/ui/core/code-block/code-block.js +259 -175
  71. package/dist/components/ui/core/code-block/code-block.js.map +1 -0
  72. package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -5
  73. package/dist/components/ui/core/collapsible/collapsible.js +36 -30
  74. package/dist/components/ui/core/collapsible/collapsible.js.map +1 -0
  75. package/dist/components/ui/core/combobox/combobox.d.ts +13 -13
  76. package/dist/components/ui/core/combobox/combobox.js +89 -40
  77. package/dist/components/ui/core/combobox/combobox.js.map +1 -0
  78. package/dist/components/ui/core/command/command.d.ts +20 -18
  79. package/dist/components/ui/core/command/command.js +137 -85
  80. package/dist/components/ui/core/command/command.js.map +1 -0
  81. package/dist/components/ui/core/conversation/conversation.d.ts +14 -0
  82. package/dist/components/ui/core/conversation/conversation.js +51 -0
  83. package/dist/components/ui/core/conversation/conversation.js.map +1 -0
  84. package/dist/components/ui/core/count/count.d.ts +8 -6
  85. package/dist/components/ui/core/count/count.js +51 -21
  86. package/dist/components/ui/core/count/count.js.map +1 -0
  87. package/dist/components/ui/core/data-grid/data-grid-cell.d.ts +7 -7
  88. package/dist/components/ui/core/data-grid/data-grid-cell.js +22 -22
  89. package/dist/components/ui/core/data-grid/data-grid-cell.js.map +1 -0
  90. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.d.ts +14 -0
  91. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js +36 -0
  92. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js.map +1 -0
  93. package/dist/components/ui/core/data-grid/data-grid-filter-panel.d.ts +41 -0
  94. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js +273 -0
  95. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js.map +1 -0
  96. package/dist/components/ui/core/data-grid/data-grid-footer.d.ts +6 -0
  97. package/dist/components/ui/core/data-grid/data-grid-footer.js +34 -0
  98. package/dist/components/ui/core/data-grid/data-grid-footer.js.map +1 -0
  99. package/dist/components/ui/core/data-grid/data-grid-header-row.d.ts +10 -10
  100. package/dist/components/ui/core/data-grid/data-grid-header-row.js +69 -55
  101. package/dist/components/ui/core/data-grid/data-grid-header-row.js.map +1 -0
  102. package/dist/components/ui/core/data-grid/data-grid-header.d.ts +11 -0
  103. package/dist/components/ui/core/data-grid/data-grid-header.js +67 -0
  104. package/dist/components/ui/core/data-grid/data-grid-header.js.map +1 -0
  105. package/dist/components/ui/core/data-grid/data-grid-row.d.ts +15 -15
  106. package/dist/components/ui/core/data-grid/data-grid-row.js +104 -76
  107. package/dist/components/ui/core/data-grid/data-grid-row.js.map +1 -0
  108. package/dist/components/ui/core/data-grid/data-grid.d.ts +85 -35
  109. package/dist/components/ui/core/data-grid/data-grid.fixtures.d.ts +7 -7
  110. package/dist/components/ui/core/data-grid/data-grid.fixtures.js +139 -0
  111. package/dist/components/ui/core/data-grid/data-grid.fixtures.js.map +1 -0
  112. package/dist/components/ui/core/data-grid/data-grid.js +402 -132
  113. package/dist/components/ui/core/data-grid/data-grid.js.map +1 -0
  114. package/dist/components/ui/core/data-grid/data-grid.utils.d.ts +3 -3
  115. package/dist/components/ui/core/data-grid/data-grid.utils.js +44 -33
  116. package/dist/components/ui/core/data-grid/data-grid.utils.js.map +1 -0
  117. package/dist/components/ui/core/data-grid/index.d.ts +4 -1
  118. package/dist/components/ui/core/data-grid/index.js +5 -2
  119. package/dist/components/ui/core/data-grid/index.js.map +1 -0
  120. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +11 -13
  121. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +85 -61
  122. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js.map +1 -0
  123. package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -3
  124. package/dist/components/ui/core/date-time-pickers/date-picker/index.js +3 -0
  125. package/dist/components/ui/core/date-time-pickers/date-picker/index.js.map +1 -0
  126. package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +14 -14
  127. package/dist/components/ui/core/date-time-pickers/date-picker/types.js +3 -0
  128. package/dist/components/ui/core/date-time-pickers/date-picker/types.js.map +1 -0
  129. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +2 -2
  130. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +51 -36
  131. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js.map +1 -0
  132. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +11 -13
  133. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +89 -64
  134. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js.map +1 -0
  135. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -3
  136. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js +3 -0
  137. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js.map +1 -0
  138. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +20 -20
  139. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js +3 -0
  140. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js.map +1 -0
  141. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -4
  142. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +95 -60
  143. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map +1 -0
  144. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.d.ts +15 -0
  145. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js +120 -0
  146. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js.map +1 -0
  147. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.d.ts +3 -1
  148. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js +3 -0
  149. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js.map +1 -0
  150. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.d.ts +25 -32
  151. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js +3 -0
  152. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js.map +1 -0
  153. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.d.ts +2 -2
  154. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js +78 -0
  155. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js.map +1 -0
  156. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +13 -15
  157. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +165 -119
  158. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js.map +1 -0
  159. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -3
  160. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js +3 -0
  161. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js.map +1 -0
  162. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +37 -37
  163. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js +3 -0
  164. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js.map +1 -0
  165. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -3
  166. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +163 -104
  167. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js.map +1 -0
  168. package/dist/components/ui/core/date-time-pickers/index.d.ts +17 -12
  169. package/dist/components/ui/core/date-time-pickers/index.js +10 -6
  170. package/dist/components/ui/core/date-time-pickers/index.js.map +1 -0
  171. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +5 -5
  172. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +52 -42
  173. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js.map +1 -0
  174. package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +6 -1
  175. package/dist/components/ui/core/date-time-pickers/shared/constants.js +23 -0
  176. package/dist/components/ui/core/date-time-pickers/shared/constants.js.map +1 -0
  177. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +16 -15
  178. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +87 -64
  179. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map +1 -0
  180. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +10 -9
  181. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +89 -38
  182. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map +1 -0
  183. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +5 -5
  184. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +34 -23
  185. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js.map +1 -0
  186. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +23 -23
  187. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +95 -52
  188. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js.map +1 -0
  189. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +5 -5
  190. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +22 -18
  191. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js.map +1 -0
  192. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +19 -19
  193. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +41 -24
  194. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js.map +1 -0
  195. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +13 -13
  196. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +33 -24
  197. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js.map +1 -0
  198. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +5 -5
  199. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +9 -4
  200. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js.map +1 -0
  201. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -9
  202. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +22 -17
  203. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js.map +1 -0
  204. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -2
  205. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js +3 -0
  206. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js.map +1 -0
  207. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +13 -13
  208. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +49 -40
  209. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js.map +1 -0
  210. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +7 -7
  211. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +41 -34
  212. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js.map +1 -0
  213. package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -3
  214. package/dist/components/ui/core/date-time-pickers/time-picker/index.js +3 -0
  215. package/dist/components/ui/core/date-time-pickers/time-picker/index.js.map +1 -0
  216. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +12 -14
  217. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +99 -79
  218. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js.map +1 -0
  219. package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +20 -20
  220. package/dist/components/ui/core/date-time-pickers/time-picker/types.js +3 -0
  221. package/dist/components/ui/core/date-time-pickers/time-picker/types.js.map +1 -0
  222. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +2 -2
  223. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +63 -41
  224. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js.map +1 -0
  225. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.d.ts +3 -1
  226. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js +3 -0
  227. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js.map +1 -0
  228. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.d.ts +14 -0
  229. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js +115 -0
  230. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js.map +1 -0
  231. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.d.ts +30 -36
  232. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js +3 -0
  233. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js.map +1 -0
  234. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.d.ts +2 -2
  235. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js +145 -0
  236. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js.map +1 -0
  237. package/dist/components/ui/core/date-time-pickers/utils/date-input.d.ts +56 -0
  238. package/dist/components/ui/core/date-time-pickers/utils/date-input.js +67 -0
  239. package/dist/components/ui/core/date-time-pickers/utils/date-input.js.map +1 -0
  240. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +18 -18
  241. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js +42 -0
  242. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js.map +1 -0
  243. package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +31 -29
  244. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js +56 -0
  245. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js.map +1 -0
  246. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +21 -21
  247. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js +170 -0
  248. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js.map +1 -0
  249. package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +28 -28
  250. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +88 -7
  251. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js.map +1 -0
  252. package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +17 -17
  253. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js +43 -0
  254. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js.map +1 -0
  255. package/dist/components/ui/core/dialog/dialog.d.ts +12 -9
  256. package/dist/components/ui/core/dialog/dialog.js +90 -82
  257. package/dist/components/ui/core/dialog/dialog.js.map +1 -0
  258. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +22 -19
  259. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +204 -149
  260. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js.map +1 -0
  261. package/dist/components/ui/core/empty-state/empty-state.context.d.ts +4 -4
  262. package/dist/components/ui/core/empty-state/empty-state.context.js +8 -5
  263. package/dist/components/ui/core/empty-state/empty-state.context.js.map +1 -0
  264. package/dist/components/ui/core/empty-state/empty-state.d.ts +14 -14
  265. package/dist/components/ui/core/empty-state/empty-state.js +96 -82
  266. package/dist/components/ui/core/empty-state/empty-state.js.map +1 -0
  267. package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -7
  268. package/dist/components/ui/core/helper-text/helper-text.js +55 -36
  269. package/dist/components/ui/core/helper-text/helper-text.js.map +1 -0
  270. package/dist/components/ui/core/hover-card/hover-card.d.ts +7 -6
  271. package/dist/components/ui/core/hover-card/hover-card.js +56 -52
  272. package/dist/components/ui/core/hover-card/hover-card.js.map +1 -0
  273. package/dist/components/ui/core/inline-citation/inline-citation.d.ts +26 -25
  274. package/dist/components/ui/core/inline-citation/inline-citation.js +121 -97
  275. package/dist/components/ui/core/inline-citation/inline-citation.js.map +1 -0
  276. package/dist/components/ui/core/input/input.d.ts +2 -2
  277. package/dist/components/ui/core/input/input.js +15 -13
  278. package/dist/components/ui/core/input/input.js.map +1 -0
  279. package/dist/components/ui/core/input-group/input-group.d.ts +25 -14
  280. package/dist/components/ui/core/input-group/input-group.js +149 -76
  281. package/dist/components/ui/core/input-group/input-group.js.map +1 -0
  282. package/dist/components/ui/core/item/item.d.ts +20 -0
  283. package/dist/components/ui/core/item/item.js +93 -0
  284. package/dist/components/ui/core/item/item.js.map +1 -0
  285. package/dist/components/ui/core/kbd/kbd.d.ts +3 -3
  286. package/dist/components/ui/core/kbd/kbd.js +24 -20
  287. package/dist/components/ui/core/kbd/kbd.js.map +1 -0
  288. package/dist/components/ui/core/label/label.d.ts +3 -3
  289. package/dist/components/ui/core/label/label.js +33 -26
  290. package/dist/components/ui/core/label/label.js.map +1 -0
  291. package/dist/components/ui/core/loader/loader.d.ts +6 -6
  292. package/dist/components/ui/core/loader/loader.js +97 -80
  293. package/dist/components/ui/core/loader/loader.js.map +1 -0
  294. package/dist/components/ui/core/message/message-response-default-streamdown-controls.d.ts +9 -9
  295. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +19 -12
  296. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js.map +1 -0
  297. package/dist/components/ui/core/message/message-response-math-plugin.d.ts +3 -0
  298. package/dist/components/ui/core/message/message-response-math-plugin.js +6 -0
  299. package/dist/components/ui/core/message/message-response-math-plugin.js.map +1 -0
  300. package/dist/components/ui/core/message/message.d.ts +27 -23
  301. package/dist/components/ui/core/message/message.js +453 -316
  302. package/dist/components/ui/core/message/message.js.map +1 -0
  303. package/dist/components/ui/core/overflow-list/overflow-list.d.ts +21 -0
  304. package/dist/components/ui/core/overflow-list/overflow-list.js +197 -0
  305. package/dist/components/ui/core/overflow-list/overflow-list.js.map +1 -0
  306. package/dist/components/ui/core/overflow-list/overflow-list.utils.d.ts +37 -35
  307. package/dist/components/ui/core/overflow-list/overflow-list.utils.js +206 -0
  308. package/dist/components/ui/core/overflow-list/overflow-list.utils.js.map +1 -0
  309. package/dist/components/ui/core/pagination/pagination-size-context.d.ts +2 -2
  310. package/dist/components/ui/core/pagination/pagination-size-context.js +6 -5
  311. package/dist/components/ui/core/pagination/pagination-size-context.js.map +1 -0
  312. package/dist/components/ui/core/pagination/pagination-teleport.d.ts +9 -9
  313. package/dist/components/ui/core/pagination/pagination-teleport.js +127 -84
  314. package/dist/components/ui/core/pagination/pagination-teleport.js.map +1 -0
  315. package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
  316. package/dist/components/ui/core/pagination/pagination-teleport.utils.js.map +1 -0
  317. package/dist/components/ui/core/pagination/pagination.d.ts +39 -39
  318. package/dist/components/ui/core/pagination/pagination.js +294 -234
  319. package/dist/components/ui/core/pagination/pagination.js.map +1 -0
  320. package/dist/components/ui/core/popover/popover.d.ts +12 -11
  321. package/dist/components/ui/core/popover/popover.js +104 -89
  322. package/dist/components/ui/core/popover/popover.js.map +1 -0
  323. package/dist/components/ui/core/progress/progress.d.ts +9 -8
  324. package/dist/components/ui/core/progress/progress.js +50 -35
  325. package/dist/components/ui/core/progress/progress.js.map +1 -0
  326. package/dist/components/ui/core/prompt-input/prompt-input.d.ts +27 -27
  327. package/dist/components/ui/core/prompt-input/prompt-input.js +342 -271
  328. package/dist/components/ui/core/prompt-input/prompt-input.js.map +1 -0
  329. package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -12
  330. package/dist/components/ui/core/radio-group/radio-group.js +88 -58
  331. package/dist/components/ui/core/radio-group/radio-group.js.map +1 -0
  332. package/dist/components/ui/core/reasoning/reasoning.d.ts +7 -7
  333. package/dist/components/ui/core/reasoning/reasoning.js +68 -56
  334. package/dist/components/ui/core/reasoning/reasoning.js.map +1 -0
  335. package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -4
  336. package/dist/components/ui/core/scroll-area/scroll-area.js +50 -40
  337. package/dist/components/ui/core/scroll-area/scroll-area.js.map +1 -0
  338. package/dist/components/ui/core/search/search.d.ts +8 -8
  339. package/dist/components/ui/core/search/search.js +122 -76
  340. package/dist/components/ui/core/search/search.js.map +1 -0
  341. package/dist/components/ui/core/segmented-control/segmented-control.d.ts +10 -10
  342. package/dist/components/ui/core/segmented-control/segmented-control.js +203 -149
  343. package/dist/components/ui/core/segmented-control/segmented-control.js.map +1 -0
  344. package/dist/components/ui/core/select/select.d.ts +27 -26
  345. package/dist/components/ui/core/select/select.js +213 -168
  346. package/dist/components/ui/core/select/select.js.map +1 -0
  347. package/dist/components/ui/core/separator/separator.d.ts +2 -2
  348. package/dist/components/ui/core/separator/separator.js +13 -13
  349. package/dist/components/ui/core/separator/separator.js.map +1 -0
  350. package/dist/components/ui/core/shimmer/shimmer.d.ts +8 -8
  351. package/dist/components/ui/core/shimmer/shimmer.js +64 -40
  352. package/dist/components/ui/core/shimmer/shimmer.js.map +1 -0
  353. package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -2
  354. package/dist/components/ui/core/skeleton/skeleton.js +13 -13
  355. package/dist/components/ui/core/skeleton/skeleton.js.map +1 -0
  356. package/dist/components/ui/core/slider/slider.d.ts +7 -7
  357. package/dist/components/ui/core/slider/slider.js +51 -39
  358. package/dist/components/ui/core/slider/slider.js.map +1 -0
  359. package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -2
  360. package/dist/components/ui/core/sonner-toast/sonner-toast.js +67 -54
  361. package/dist/components/ui/core/sonner-toast/sonner-toast.js.map +1 -0
  362. package/dist/components/ui/core/sources/sources.d.ts +12 -12
  363. package/dist/components/ui/core/sources/sources.js +87 -58
  364. package/dist/components/ui/core/sources/sources.js.map +1 -0
  365. package/dist/components/ui/core/switch/switch.d.ts +9 -9
  366. package/dist/components/ui/core/switch/switch.js +83 -61
  367. package/dist/components/ui/core/switch/switch.js.map +1 -0
  368. package/dist/components/ui/core/switch/switch.metadata.d.ts +1 -1
  369. package/dist/components/ui/core/switch/switch.metadata.js +8 -0
  370. package/dist/components/ui/core/switch/switch.metadata.js.map +1 -0
  371. package/dist/components/ui/core/tabs/tabs.d.ts +20 -18
  372. package/dist/components/ui/core/tabs/tabs.js +176 -147
  373. package/dist/components/ui/core/tabs/tabs.js.map +1 -0
  374. package/dist/components/ui/core/tabs/tabs.utils.d.ts +1 -1
  375. package/dist/components/ui/core/tabs/tabs.utils.js +10 -6
  376. package/dist/components/ui/core/tabs/tabs.utils.js.map +1 -0
  377. package/dist/components/ui/core/textarea/textarea.d.ts +2 -2
  378. package/dist/components/ui/core/textarea/textarea.js +13 -13
  379. package/dist/components/ui/core/textarea/textarea.js.map +1 -0
  380. package/dist/components/ui/core/toggle/toggle.d.ts +9 -9
  381. package/dist/components/ui/core/toggle/toggle.js +60 -54
  382. package/dist/components/ui/core/toggle/toggle.js.map +1 -0
  383. package/dist/components/ui/core/tool/tool.d.ts +18 -18
  384. package/dist/components/ui/core/tool/tool.js +167 -126
  385. package/dist/components/ui/core/tool/tool.js.map +1 -0
  386. package/dist/components/ui/core/toolbar/toolbar.d.ts +37 -0
  387. package/dist/components/ui/core/toolbar/toolbar.js +171 -0
  388. package/dist/components/ui/core/toolbar/toolbar.js.map +1 -0
  389. package/dist/components/ui/core/tooltip/tooltip.d.ts +8 -7
  390. package/dist/components/ui/core/tooltip/tooltip.js +53 -46
  391. package/dist/components/ui/core/tooltip/tooltip.js.map +1 -0
  392. package/dist/components/ui/core/topbar/topbar.d.ts +26 -26
  393. package/dist/components/ui/core/topbar/topbar.js +160 -105
  394. package/dist/components/ui/core/topbar/topbar.js.map +1 -0
  395. package/dist/components/ui/core/tree/tree.d.ts +20 -0
  396. package/dist/components/ui/core/tree/tree.js +100 -0
  397. package/dist/components/ui/core/tree/tree.js.map +1 -0
  398. package/dist/eslint/index.d.ts +5 -5
  399. package/dist/eslint/index.js +9 -5
  400. package/dist/eslint/index.js.map +1 -0
  401. package/dist/eslint/no-overriding-styles.d.ts +1 -1
  402. package/dist/eslint/no-overriding-styles.js +341 -201
  403. package/dist/eslint/no-overriding-styles.js.map +1 -0
  404. package/dist/icons/index.d.ts +1 -1
  405. package/dist/icons/index.js +2 -0
  406. package/dist/icons/index.js.map +1 -0
  407. package/dist/index.d.ts +1 -1
  408. package/dist/index.js +3 -0
  409. package/dist/index.js.map +1 -0
  410. package/dist/lib/ai/types.d.ts +43 -43
  411. package/dist/lib/ai/types.js +3 -0
  412. package/dist/lib/ai/types.js.map +1 -0
  413. package/dist/lib/decorative-variant-classes.d.ts +53 -0
  414. package/dist/lib/decorative-variant-classes.js +58 -0
  415. package/dist/lib/decorative-variant-classes.js.map +1 -0
  416. package/dist/lib/highlight-code.d.ts +11 -8
  417. package/dist/lib/highlight-code.js +58 -40
  418. package/dist/lib/highlight-code.js.map +1 -0
  419. package/dist/lib/portal-container-context.d.ts +1 -1
  420. package/dist/lib/portal-container-context.js +8 -8
  421. package/dist/lib/portal-container-context.js.map +1 -0
  422. package/dist/lib/shared-theme-from-url.d.ts +13 -0
  423. package/dist/lib/shared-theme-from-url.js +61 -0
  424. package/dist/lib/shared-theme-from-url.js.map +1 -0
  425. package/dist/lib/style-scope.d.ts +2 -2
  426. package/dist/lib/style-scope.js +6 -6
  427. package/dist/lib/style-scope.js.map +1 -0
  428. package/dist/lib/theme-share-url.d.ts +31 -0
  429. package/dist/lib/theme-share-url.js +116 -0
  430. package/dist/lib/theme-share-url.js.map +1 -0
  431. package/dist/lib/types.d.ts +39 -39
  432. package/dist/lib/types.js +3 -0
  433. package/dist/lib/types.js.map +1 -0
  434. package/dist/lib/use-controllable-state.d.ts +4 -7
  435. package/dist/lib/use-controllable-state.js +34 -21
  436. package/dist/lib/use-controllable-state.js.map +1 -0
  437. package/dist/lib/utils.d.ts +63 -34
  438. package/dist/lib/utils.js +134 -32
  439. package/dist/lib/utils.js.map +1 -0
  440. package/dist/styles.css +2 -1
  441. package/dist/styles.source.css +24 -12
  442. package/dist/utils/assign-ref.d.ts +3 -0
  443. package/dist/utils/assign-ref.js +13 -0
  444. package/dist/utils/assign-ref.js.map +1 -0
  445. package/package.json +46 -11
  446. package/src/components/ui/core/button/button.md +93 -0
@@ -1,10 +1,10 @@
1
- import { ForwardRefExoticComponent, RefAttributes, ComponentProps } from 'react';
2
- type SearchProps = Omit<ComponentProps<'input'>, 'type' | 'className'> & {
3
- className?: string;
4
- inputClassName?: string;
5
- clearLabel?: string;
6
- onClear?: () => void;
7
- 'data-slot'?: never;
1
+ import { type ForwardRefExoticComponent, type RefAttributes, type ComponentProps } from "react";
2
+ type SearchProps = Omit<ComponentProps<"input">, "type" | "className"> & {
3
+ className?: string;
4
+ inputClassName?: string;
5
+ clearLabel?: string;
6
+ onClear?: () => void;
7
+ "data-slot"?: never;
8
8
  };
9
- declare const Search: ForwardRefExoticComponent<Omit<SearchProps, 'ref'> & RefAttributes<HTMLInputElement | null>>;
9
+ declare const Search: ForwardRefExoticComponent<Omit<SearchProps, "ref"> & RefAttributes<HTMLInputElement | null>>;
10
10
  export { Search };
@@ -1,77 +1,123 @@
1
- import { cn as e } from "../../../../lib/utils.js";
2
- import { InputGroup as t, InputGroupAddon as n, InputGroupButton as r, InputGroupInput as i } from "../input-group/input-group.js";
3
- import { forwardRef as a, useImperativeHandle as o, useRef as s, useState as c } from "react";
4
- import { IconCircleXFilled as l, IconSearch as u } from "@tabler/icons-react";
5
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
6
- //#region libs/aura/src/components/ui/core/search/search.tsx
7
- var p = (e) => typeof e == "string" ? e.length > 0 : typeof e == "number" ? Number.isFinite(e) : Array.isArray(e) ? e.length > 0 : !1, m = a(({ className: a, inputClassName: m, clearLabel: h = "Clear search", onClear: g, value: _, defaultValue: v, onChange: y, onInput: b, onFocus: x, onBlur: S, disabled: C, readOnly: w, ...T }, E) => {
8
- let [D, O] = c(!1), [k, A] = c(() => p(_ ?? v)), j = s(null), M = _ != null, N = M ? p(_) : k;
9
- o(E, () => j.current, []);
10
- let P = () => {
11
- O(!0);
12
- }, F = (e) => {
13
- e.relatedTarget instanceof Node && e.currentTarget.contains(e.relatedTarget) || O(!1);
14
- }, I = () => {
15
- let e = j.current;
16
- e != null && (g?.(), !M && e.value !== "" && (Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value")?.set?.call(e, ""), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.dispatchEvent(new Event("change", { bubbles: !0 }))), e.focus());
17
- }, L = (e) => {
18
- M || A(p(e.currentTarget.value)), b?.(e);
19
- }, R = (e) => {
20
- M || A(p(e.currentTarget.value)), y?.(e);
21
- }, z = D && N && !C && !w && (!M || g != null);
22
- return /* @__PURE__ */ d("div", {
23
- "data-slot": "search",
24
- className: e("w-full cursor-text", a),
25
- onFocusCapture: P,
26
- onBlurCapture: F,
27
- onClick: () => j.current?.focus(),
28
- children: /* @__PURE__ */ f(t, {
29
- className: "w-full transition-none",
30
- children: [
31
- /* @__PURE__ */ d(n, {
32
- align: "inline-start",
33
- children: /* @__PURE__ */ d(u, {
34
- className: "size-4",
35
- "aria-hidden": !0
36
- })
37
- }),
38
- /* @__PURE__ */ d(i, {
39
- ...T,
40
- ref: j,
41
- type: "search",
42
- value: _,
43
- defaultValue: v,
44
- disabled: C,
45
- readOnly: w,
46
- onInput: L,
47
- onChange: R,
48
- onFocus: x,
49
- onBlur: S,
50
- className: e("placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none", m)
51
- }),
52
- /* @__PURE__ */ d(n, {
53
- align: "inline-end",
54
- "aria-hidden": !z || void 0,
55
- className: z ? void 0 : "invisible pointer-events-none",
56
- children: /* @__PURE__ */ d(r, {
57
- type: "button",
58
- variant: "ghost",
59
- size: "icon-sm",
60
- "aria-label": h,
61
- onMouseDown: (e) => {
62
- e.preventDefault();
63
- },
64
- onClick: I,
65
- children: /* @__PURE__ */ d(l, {
66
- className: "size-4",
67
- "aria-hidden": !0
68
- })
69
- })
70
- })
71
- ]
72
- })
73
- });
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useImperativeHandle, useRef, useState } from "react";
3
+ import { IconCircleXFilled, IconSearch } from "@tabler/icons-react";
4
+ import { cn } from "../../../../lib/utils.js";
5
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../input-group/input-group.js";
6
+ const hasInputValue = (value)=>{
7
+ if (typeof value === 'string') {
8
+ return value.length > 0;
9
+ }
10
+ if (typeof value === 'number') {
11
+ return Number.isFinite(value);
12
+ }
13
+ if (Array.isArray(value)) {
14
+ return value.length > 0;
15
+ }
16
+ return false;
17
+ };
18
+ const Search = /*#__PURE__*/ forwardRef(({ className, inputClassName, clearLabel = 'Clear search', onClear, value, defaultValue, onChange, onInput, onFocus, onBlur, disabled, readOnly, ...props }, ref)=>{
19
+ const [hasFocusWithin, setHasFocusWithin] = useState(false);
20
+ const [isUncontrolledInputFilled, setIsUncontrolledInputFilled] = useState(()=>hasInputValue(value ?? defaultValue));
21
+ const inputRef = useRef(null);
22
+ const isControlled = value != null;
23
+ const isInputFilled = isControlled ? hasInputValue(value) : isUncontrolledInputFilled;
24
+ useImperativeHandle(ref, ()=>inputRef.current, []);
25
+ const handleFocusCapture = ()=>{
26
+ setHasFocusWithin(true);
27
+ };
28
+ const handleBlurCapture = (event)=>{
29
+ if (event.relatedTarget instanceof Node && event.currentTarget.contains(event.relatedTarget)) {
30
+ return;
31
+ }
32
+ setHasFocusWithin(false);
33
+ };
34
+ const handleClear = ()=>{
35
+ const input = inputRef.current;
36
+ if (input == null) {
37
+ return;
38
+ }
39
+ onClear?.();
40
+ if (!isControlled && input.value !== '') {
41
+ // Use the native setter so React's synthetic event system detects the change.
42
+ Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set?.call(input, '');
43
+ input.dispatchEvent(new Event('input', {
44
+ bubbles: true
45
+ }));
46
+ input.dispatchEvent(new Event('change', {
47
+ bubbles: true
48
+ }));
49
+ }
50
+ input.focus();
51
+ };
52
+ const handleInput = (event)=>{
53
+ if (!isControlled) {
54
+ setIsUncontrolledInputFilled(hasInputValue(event.currentTarget.value));
55
+ }
56
+ onInput?.(event);
57
+ };
58
+ const handleChange = (event)=>{
59
+ if (!isControlled) {
60
+ setIsUncontrolledInputFilled(hasInputValue(event.currentTarget.value));
61
+ }
62
+ onChange?.(event);
63
+ };
64
+ const canClear = !isControlled || onClear != null;
65
+ const showClearButton = hasFocusWithin && isInputFilled && !disabled && !readOnly && canClear;
66
+ return /*#__PURE__*/ _jsx("div", {
67
+ "data-slot": "search",
68
+ className: cn('w-full cursor-text', className),
69
+ onFocusCapture: handleFocusCapture,
70
+ onBlurCapture: handleBlurCapture,
71
+ onClick: ()=>inputRef.current?.focus(),
72
+ children: /*#__PURE__*/ _jsxs(InputGroup, {
73
+ className: "w-full transition-none",
74
+ children: [
75
+ /*#__PURE__*/ _jsx(InputGroupAddon, {
76
+ align: "inline-start",
77
+ className: "[&_svg]:text-muted-foreground group-hover/input-group:[&_svg]:text-muted-foreground group-has-[[data-slot=input-group-control]:enabled:focus-visible:not(:read-only)]/input-group:[&_svg]:text-muted-foreground group-has-[[data-slot=input-group-control]:enabled:not(:placeholder-shown):not(:read-only)]/input-group:[&_svg]:text-muted-foreground",
78
+ children: /*#__PURE__*/ _jsx(IconSearch, {
79
+ className: "size-4",
80
+ "aria-hidden": true
81
+ })
82
+ }),
83
+ /*#__PURE__*/ _jsx(InputGroupInput, {
84
+ ...props,
85
+ ref: inputRef,
86
+ type: "search",
87
+ value: value,
88
+ defaultValue: defaultValue,
89
+ disabled: disabled,
90
+ readOnly: readOnly,
91
+ onInput: handleInput,
92
+ onChange: handleChange,
93
+ onFocus: onFocus,
94
+ onBlur: onBlur,
95
+ className: cn('placeholder:text-muted-foreground [&:not(:placeholder-shown):not(:read-only)]:text-base-foreground [&:not(:placeholder-shown):not(:read-only)]:hover:text-base-foreground [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none', inputClassName)
96
+ }),
97
+ /*#__PURE__*/ _jsx(InputGroupAddon, {
98
+ align: "inline-end",
99
+ "aria-hidden": showClearButton ? undefined : true,
100
+ className: showClearButton ? undefined : 'invisible pointer-events-none',
101
+ children: /*#__PURE__*/ _jsx(InputGroupButton, {
102
+ type: "button",
103
+ variant: "ghost",
104
+ size: "icon-sm",
105
+ "aria-label": clearLabel,
106
+ onMouseDown: (event)=>{
107
+ event.preventDefault();
108
+ },
109
+ onClick: handleClear,
110
+ children: /*#__PURE__*/ _jsx(IconCircleXFilled, {
111
+ className: "size-4",
112
+ "aria-hidden": true
113
+ })
114
+ })
115
+ })
116
+ ]
117
+ })
118
+ });
74
119
  });
75
- m.displayName = "Search";
76
- //#endregion
77
- export { m as Search };
120
+ Search.displayName = 'Search';
121
+ export { Search };
122
+
123
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/search/search.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ChangeEvent,\n type ComponentProps,\n type ComponentRef,\n type FocusEvent,\n type FormEvent,\n forwardRef,\n type MouseEvent,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport { IconCircleXFilled, IconSearch } from '@tabler/icons-react';\n\nimport { cn } from '../../../../lib/utils';\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from '../input-group/input-group';\n\ntype SearchProps = Omit<ComponentProps<'input'>, 'type' | 'className'> & {\n className?: string;\n inputClassName?: string;\n clearLabel?: string;\n onClear?: () => void;\n 'data-slot'?: never;\n};\n\nconst hasInputValue = (value: unknown): boolean => {\n if (typeof value === 'string') {\n return value.length > 0;\n }\n if (typeof value === 'number') {\n return Number.isFinite(value);\n }\n if (Array.isArray(value)) {\n return value.length > 0;\n }\n return false;\n};\n\nconst Search: ForwardRefExoticComponent<\n Omit<SearchProps, 'ref'> & RefAttributes<HTMLInputElement | null>\n> = forwardRef<ComponentRef<'input'> | null, SearchProps>(\n (\n {\n className,\n inputClassName,\n clearLabel = 'Clear search',\n onClear,\n value,\n defaultValue,\n onChange,\n onInput,\n onFocus,\n onBlur,\n disabled,\n readOnly,\n ...props\n },\n ref\n ) => {\n const [hasFocusWithin, setHasFocusWithin] = useState(false);\n const [isUncontrolledInputFilled, setIsUncontrolledInputFilled] =\n useState<boolean>(() => hasInputValue(value ?? defaultValue));\n const inputRef = useRef<ComponentRef<'input'>>(null);\n const isControlled = value != null;\n const isInputFilled = isControlled\n ? hasInputValue(value)\n : isUncontrolledInputFilled;\n\n useImperativeHandle<\n ComponentRef<'input'> | null,\n ComponentRef<'input'> | null\n >(ref, () => inputRef.current, []);\n\n const handleFocusCapture = (): void => {\n setHasFocusWithin(true);\n };\n\n const handleBlurCapture = (event: FocusEvent<HTMLDivElement>): void => {\n if (\n event.relatedTarget instanceof Node &&\n event.currentTarget.contains(event.relatedTarget)\n ) {\n return;\n }\n setHasFocusWithin(false);\n };\n\n const handleClear = (): void => {\n const input = inputRef.current;\n if (input == null) {\n return;\n }\n onClear?.();\n if (!isControlled && input.value !== '') {\n // Use the native setter so React's synthetic event system detects the change.\n Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value'\n )?.set?.call(input, '');\n input.dispatchEvent(new Event('input', { bubbles: true }));\n input.dispatchEvent(new Event('change', { bubbles: true }));\n }\n input.focus();\n };\n\n const handleInput = (event: FormEvent<HTMLInputElement>): void => {\n if (!isControlled) {\n setIsUncontrolledInputFilled(hasInputValue(event.currentTarget.value));\n }\n onInput?.(event);\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>): void => {\n if (!isControlled) {\n setIsUncontrolledInputFilled(hasInputValue(event.currentTarget.value));\n }\n onChange?.(event);\n };\n\n const canClear = !isControlled || onClear != null;\n const showClearButton =\n hasFocusWithin && isInputFilled && !disabled && !readOnly && canClear;\n\n return (\n <div\n data-slot=\"search\"\n className={cn('w-full cursor-text', className)}\n onFocusCapture={handleFocusCapture}\n onBlurCapture={handleBlurCapture}\n onClick={() => inputRef.current?.focus()}\n >\n <InputGroup className=\"w-full transition-none\">\n <InputGroupAddon\n align=\"inline-start\"\n className=\"[&_svg]:text-muted-foreground group-hover/input-group:[&_svg]:text-muted-foreground group-has-[[data-slot=input-group-control]:enabled:focus-visible:not(:read-only)]/input-group:[&_svg]:text-muted-foreground group-has-[[data-slot=input-group-control]:enabled:not(:placeholder-shown):not(:read-only)]/input-group:[&_svg]:text-muted-foreground\"\n >\n <IconSearch className=\"size-4\" aria-hidden />\n </InputGroupAddon>\n <InputGroupInput\n {...props}\n ref={inputRef}\n type=\"search\"\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n readOnly={readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cn(\n 'placeholder:text-muted-foreground [&:not(:placeholder-shown):not(:read-only)]:text-base-foreground [&:not(:placeholder-shown):not(:read-only)]:hover:text-base-foreground [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none',\n inputClassName\n )}\n />\n <InputGroupAddon\n align=\"inline-end\"\n aria-hidden={showClearButton ? undefined : true}\n className={\n showClearButton ? undefined : 'invisible pointer-events-none'\n }\n >\n <InputGroupButton\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={clearLabel}\n onMouseDown={(event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n }}\n onClick={handleClear}\n >\n <IconCircleXFilled className=\"size-4\" aria-hidden />\n </InputGroupButton>\n </InputGroupAddon>\n </InputGroup>\n </div>\n );\n }\n);\n\nSearch.displayName = 'Search';\n\nexport { Search };\n"],"names":["forwardRef","useImperativeHandle","useRef","useState","IconCircleXFilled","IconSearch","cn","InputGroup","InputGroupAddon","InputGroupButton","InputGroupInput","hasInputValue","value","length","Number","isFinite","Array","isArray","Search","className","inputClassName","clearLabel","onClear","defaultValue","onChange","onInput","onFocus","onBlur","disabled","readOnly","props","ref","hasFocusWithin","setHasFocusWithin","isUncontrolledInputFilled","setIsUncontrolledInputFilled","inputRef","isControlled","isInputFilled","current","handleFocusCapture","handleBlurCapture","event","relatedTarget","Node","currentTarget","contains","handleClear","input","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","dispatchEvent","Event","bubbles","focus","handleInput","handleChange","canClear","showClearButton","div","data-slot","onFocusCapture","onBlurCapture","onClick","align","aria-hidden","type","undefined","variant","size","aria-label","onMouseDown","preventDefault","displayName"],"mappings":";AAAA,SAQEA,UAAU,EAEVC,mBAAmB,EACnBC,MAAM,EACNC,QAAQ,QACH,QAAQ;AAEf,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,sBAAsB;AAEpE,SAASC,EAAE,QAAQ,2BAAwB;AAC3C,SACEC,UAAU,EACVC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,QACV,gCAA6B;AAUpC,MAAMC,gBAAgB,CAACC;IACrB,IAAI,OAAOA,UAAU,UAAU;QAC7B,OAAOA,MAAMC,MAAM,GAAG;IACxB;IACA,IAAI,OAAOD,UAAU,UAAU;QAC7B,OAAOE,OAAOC,QAAQ,CAACH;IACzB;IACA,IAAII,MAAMC,OAAO,CAACL,QAAQ;QACxB,OAAOA,MAAMC,MAAM,GAAG;IACxB;IACA,OAAO;AACT;AAEA,MAAMK,uBAEFlB,WACF,CACE,EACEmB,SAAS,EACTC,cAAc,EACdC,aAAa,cAAc,EAC3BC,OAAO,EACPV,KAAK,EACLW,YAAY,EACZC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACR,GAAGC,OACJ,EACDC;IAEA,MAAM,CAACC,gBAAgBC,kBAAkB,GAAG9B,SAAS;IACrD,MAAM,CAAC+B,2BAA2BC,6BAA6B,GAC7DhC,SAAkB,IAAMQ,cAAcC,SAASW;IACjD,MAAMa,WAAWlC,OAA8B;IAC/C,MAAMmC,eAAezB,SAAS;IAC9B,MAAM0B,gBAAgBD,eAClB1B,cAAcC,SACdsB;IAEJjC,oBAGE8B,KAAK,IAAMK,SAASG,OAAO,EAAE,EAAE;IAEjC,MAAMC,qBAAqB;QACzBP,kBAAkB;IACpB;IAEA,MAAMQ,oBAAoB,CAACC;QACzB,IACEA,MAAMC,aAAa,YAAYC,QAC/BF,MAAMG,aAAa,CAACC,QAAQ,CAACJ,MAAMC,aAAa,GAChD;YACA;QACF;QACAV,kBAAkB;IACpB;IAEA,MAAMc,cAAc;QAClB,MAAMC,QAAQZ,SAASG,OAAO;QAC9B,IAAIS,SAAS,MAAM;YACjB;QACF;QACA1B;QACA,IAAI,CAACe,gBAAgBW,MAAMpC,KAAK,KAAK,IAAI;YACvC,8EAA8E;YAC9EqC,OAAOC,wBAAwB,CAC7BC,iBAAiBC,SAAS,EAC1B,UACCC,KAAKC,KAAKN,OAAO;YACpBA,MAAMO,aAAa,CAAC,IAAIC,MAAM,SAAS;gBAAEC,SAAS;YAAK;YACvDT,MAAMO,aAAa,CAAC,IAAIC,MAAM,UAAU;gBAAEC,SAAS;YAAK;QAC1D;QACAT,MAAMU,KAAK;IACb;IAEA,MAAMC,cAAc,CAACjB;QACnB,IAAI,CAACL,cAAc;YACjBF,6BAA6BxB,cAAc+B,MAAMG,aAAa,CAACjC,KAAK;QACtE;QACAa,UAAUiB;IACZ;IAEA,MAAMkB,eAAe,CAAClB;QACpB,IAAI,CAACL,cAAc;YACjBF,6BAA6BxB,cAAc+B,MAAMG,aAAa,CAACjC,KAAK;QACtE;QACAY,WAAWkB;IACb;IAEA,MAAMmB,WAAW,CAACxB,gBAAgBf,WAAW;IAC7C,MAAMwC,kBACJ9B,kBAAkBM,iBAAiB,CAACV,YAAY,CAACC,YAAYgC;IAE/D,qBACE,KAACE;QACCC,aAAU;QACV7C,WAAWb,GAAG,sBAAsBa;QACpC8C,gBAAgBzB;QAChB0B,eAAezB;QACf0B,SAAS,IAAM/B,SAASG,OAAO,EAAEmB;kBAEjC,cAAA,MAACnD;YAAWY,WAAU;;8BACpB,KAACX;oBACC4D,OAAM;oBACNjD,WAAU;8BAEV,cAAA,KAACd;wBAAWc,WAAU;wBAASkD,aAAW;;;8BAE5C,KAAC3D;oBACE,GAAGoB,KAAK;oBACTC,KAAKK;oBACLkC,MAAK;oBACL1D,OAAOA;oBACPW,cAAcA;oBACdK,UAAUA;oBACVC,UAAUA;oBACVJ,SAASkC;oBACTnC,UAAUoC;oBACVlC,SAASA;oBACTC,QAAQA;oBACRR,WAAWb,GACT,8QACAc;;8BAGJ,KAACZ;oBACC4D,OAAM;oBACNC,eAAaP,kBAAkBS,YAAY;oBAC3CpD,WACE2C,kBAAkBS,YAAY;8BAGhC,cAAA,KAAC9D;wBACC6D,MAAK;wBACLE,SAAQ;wBACRC,MAAK;wBACLC,cAAYrD;wBACZsD,aAAa,CAACjC;4BACZA,MAAMkC,cAAc;wBACtB;wBACAT,SAASpB;kCAET,cAAA,KAAC3C;4BAAkBe,WAAU;4BAASkD,aAAW;;;;;;;AAM7D;AAGFnD,OAAO2D,WAAW,GAAG;AAErB,SAAS3D,MAAM,GAAG"}
@@ -1,26 +1,26 @@
1
- import { ComponentProps, ReactNode } from 'react';
2
- import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
3
- import { VariantProps } from 'class-variance-authority';
4
- import { ClassProp } from 'class-variance-authority/types';
1
+ import { type ComponentProps, type ReactNode } from "react";
2
+ import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ import type { ClassProp } from "class-variance-authority/types";
5
5
  declare function SegmentedControl({ className, ...props }: TabsPrimitive.Root.Props): ReactNode;
6
6
  interface SegmentedControlSizeVariantProps {
7
- size?: 'small' | 'default' | null;
7
+ size?: "small" | "default" | null;
8
8
  }
9
9
  declare const segmentedControlListVariants: (props?: (SegmentedControlSizeVariantProps & ClassProp) | undefined) => string;
10
- type SegmentedControlSize = NonNullable<VariantProps<typeof segmentedControlListVariants>['size']>;
10
+ type SegmentedControlSize = NonNullable<VariantProps<typeof segmentedControlListVariants>["size"]>;
11
11
  type SegmentedControlListProps = TabsPrimitive.List.Props & VariantProps<typeof segmentedControlListVariants>;
12
12
  declare function SegmentedControlList({ className, size, children, ...props }: SegmentedControlListProps): ReactNode;
13
13
  declare const segmentedControlIndicatorVariants: (props?: (SegmentedControlSizeVariantProps & ClassProp) | undefined) => string;
14
- type SegmentedControlIndicatorProps = ComponentProps<'div'> & VariantProps<typeof segmentedControlIndicatorVariants> & {
15
- activeSelector?: string;
14
+ type SegmentedControlIndicatorProps = ComponentProps<"div"> & VariantProps<typeof segmentedControlIndicatorVariants> & {
15
+ activeSelector?: string;
16
16
  };
17
17
  declare function SegmentedControlIndicator({ className, size, activeSelector, style, ...props }: SegmentedControlIndicatorProps): ReactNode;
18
18
  interface SegmentedControlButtonVariantProps extends SegmentedControlSizeVariantProps {
19
- tabContent?: 'icon-label' | 'label-only' | 'icon-only' | null;
19
+ tabContent?: "icon-label" | "label-only" | "icon-only" | null;
20
20
  }
21
21
  declare const segmentedControlButtonVariants: (props?: (SegmentedControlButtonVariantProps & ClassProp) | undefined) => string;
22
22
  type SegmentedControlButtonProps = TabsPrimitive.Tab.Props & VariantProps<typeof segmentedControlButtonVariants>;
23
23
  declare function SegmentedControlButton({ className, size, tabContent, ...props }: SegmentedControlButtonProps): ReactNode;
24
24
  declare function SegmentedControlContent({ className, ...props }: TabsPrimitive.Panel.Props): ReactNode;
25
- export { SegmentedControl, SegmentedControlButton, SegmentedControlContent, SegmentedControlIndicator, SegmentedControlList, segmentedControlButtonVariants, segmentedControlIndicatorVariants, segmentedControlListVariants, };
25
+ export { SegmentedControl, SegmentedControlButton, SegmentedControlContent, SegmentedControlIndicator, SegmentedControlList, segmentedControlButtonVariants, segmentedControlIndicatorVariants, segmentedControlListVariants };
26
26
  export type { SegmentedControlSize };